@charset "UTF-8";
/* ==========================================================================
   GENERAL
   ========================================================================== */
/* Imports
   -------------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap");
@font-face {
  font-family: 'fontello';
  src: url("/assets-fonts/fontello.woff2") format("woff2"), url("/assets-fonts/fontello.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
/* Fonts
   -------------------------------------------------------------------------- */
/* Nice Select (used as a <select> replacement)
   -------------------------------------------------------------------------- */
.nice-select__container {
  max-width: 100%; }

.nice-select {
  max-width: 100%;
  line-height: 30px;
  padding-left: 0;
  padding-right: 20px;
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #a9a9a9;
  border-radius: 0; }

.nice-select:after {
  border-bottom: 2px solid #a9a9a9;
  border-right: 2px solid #a9a9a9;
  right: 3px; }

.nice-select:hover,
.nice-select:active,
.nice-select.open,
.nice-select:focus {
  border-color: #a9a9a9; }

.nice-select .current {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis; }

.nice-select .list {
  margin-top: 1px !important;
  min-width: 100%;
  box-shadow: 0 0 0 1px #a9a9a9; }

.nice-select .option {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.nice-select .option:hover {
  color: #fff;
  background-color: #689b2f; }

.nice-select .option.focus {
  color: #000;
  background-color: #689b2f; }

.nice-select .option.selected.focus:hover {
  color: #fff;
  background-color: #689b2f; }

.basket-upselling .nice-select__container {
  width: 100%; }
.basket-upselling .nice-select {
  padding-left: 18px;
  padding-right: 30px;
  width: 100%;
  background-color: #fff;
  border: 1px solid #a9a9a9;
  border-radius: 0.7rem; }
.basket-upselling .nice-select:after {
  right: 12px; }
.basket-upselling .nice-select .list {
  height: 0;
  overflow: hidden; }
.basket-upselling .nice-select.open .list {
  max-width: 100%;
  width: 100%;
  height: auto; }

.product .nice-select__container {
  width: 100%; }
.product .nice-select {
  width: 100%; }
.product .nice-select .list {
  min-width: 100%; }

.clickable-promotion .nice-select .list {
  height: 0;
  overflow: hidden; }
.clickable-promotion .nice-select.open .list {
  max-width: 100%;
  height: auto; }

.popup .nice-select {
  min-width: 120px; }

.contact-form .nice-select {
  border: 1px solid #a9a9a9;
  padding-left: 18px;
  padding-right: 30px; }
.contact-form .nice-select:after {
  right: 12px; }

/* Base font
   -------------------------------------------------------------------------- */
body {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

input, select, textarea {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.page {
  background: #ebebeb url("/assets-images/page-bg.jpg") repeat center top; }

/* Content: basket dropdown support
   -------------------------------------------------------------------------- */
.content_no-ordering .content__side {
  display: none; }

.content__main {
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: 820px;
  max-width: 100%; }

.content_static .content__side {
  display: none; }
.content_static .content__main {
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: 860px;
  max-width: 100%; }

.content_static-wide .content__main {
  width: 990px; }

.page_categories .content__main,
.page_menu .content__main,
.page_deal_wizard .content__main {
  width: 100%; }

.page_cyo .content__main,
.page_half_half .content__main {
  width: 920px; }

/* Page header
   -------------------------------------------------------------------------- */
.header {
  padding: 3rem 0 1rem;
  background-color: #fff; }

.header__logo {
  margin-top: -2rem; }

.header__logo-image {
  width: 371px; }

@media screen and (max-width: 73.125em) {
  .header {
    padding: 2.3rem 0 1rem; }

  .header__logo {
    margin-top: -1.3rem; }

  .header__logo-image {
    width: 250px; } }
@media screen and (max-width: 62em) {
  .header {
    padding: 1.3rem 0 1rem; }

  .header__logo {
    margin-top: -.3rem; }

  .header__logo-image {
    width: 160px; } }
@media screen and (max-width: 52.5em) {
  .header {
    padding: .8rem 0;
    border-bottom: 1px solid #000; }

  .header__logo {
    margin-top: 0; }

  .header__logo-image {
    width: 211px; } }
/* Page footer
   -------------------------------------------------------------------------- */
.footer {
  color: #fff;
  background-color: #0a0a0a; }

.footer__wrapper {
  padding: 0;
  text-align: center;
  width: 100%;
  max-width: none; }

.footer__credits {
  float: none;
  padding: .9rem 0;
  color: #ccc;
  font-size: 1.3rem;
  background-color: #1c1c1c; }

.footer__credits-wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%; }
  .footer__credits-wrapper:before {
    display: table;
    content: ""; }
  .footer__credits-wrapper:after {
    display: table;
    content: "";
    clear: both; }

.footer__nav {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%;
  float: none;
  margin: 0 auto !important;
  padding: 0; }
  .footer__nav:before {
    display: table;
    content: ""; }
  .footer__nav:after {
    display: table;
    content: "";
    clear: both; }

.footer__links {
  float: none;
  margin: 2rem 0 !important;
  padding: 0; }

.footer__nav .footer__link {
  padding: .5rem; }

.footer .social-icons {
  float: none;
  margin: 2rem 0;
  padding: 0; }

.footer .social-icons__icon,
.footer .social-icons__icon:first-child {
  margin: 0 .5rem; }

.footer__link {
  color: #fff;
  transition: color .2s ease; }

.footer__credits .footer__link {
  color: #ccc; }

.footer__link:hover {
  color: #689b2f;
  text-decoration: underline; }

/*
@media screen and (max-width: 52.5em) {
  .footer__wrapper { padding: 0; }

  .footer__credits,
  .footer__nav,
  .footer__links { margin: 2rem 0 !important; padding: 0; }

  .footer .social-icons { margin: 0; padding: 0; }
  .footer .social-icons__icon,
  .footer .social-icons__icon:first-child { margin: .5rem; }
}
*/
/* Social icons
  -------------------------------------------------------------------------- */
.social-icons__email:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.social-icons__facebook:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.social-icons__google-plus:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.social-icons__instagram:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.social-icons__twitter:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.social-icons__youtube:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.social-icons__tiktok:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.social-icons .social-icons__link {
  width: 30px;
  height: 30px;
  font-size: 1.6rem;
  text-align: center;
  border-radius: .5rem;
  transition: background-color .2s ease, color .2s ease; }
.social-icons .social-icons__link i:before {
  line-height: 30px; }

.footer .social-icons__link {
  color: #000;
  background-color: #e1e1e1; }
.footer .social-icons__link:hover {
  color: #fff;
  background-color: #689b2f; }

/* Scroll up button
  -------------------------------------------------------------------------- */
.scroll-up {
  color: #fff;
  background-color: #689b2f;
  border-radius: 1rem; }

.scroll-up__icon:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0.4rem;
  margin-left: 0.4rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

/* GDPR consent
   -------------------------------------------------------------------------- */
.gdpr-consent {
  padding: 1.5rem 2rem;
  font-size: 1.3rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #f7f7f7;
  box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.2); }

.gdpr-consent__title {
  font-size: 1.8rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700;
  margin: 1.4rem 0 1rem;
  line-height: 1.2; }

.gdpr-consent__button {
  padding: 0 1.5rem;
  height: 3.8rem;
  line-height: 3.8rem;
  color: #fff;
  font-size: 1.4rem;
  background-color: #333; }

/* ==========================================================================
   NAVIGATION
   ========================================================================== */
/* Desktop navigation:
   * account pages
   * category pages (touch only)
   -------------------------------------------------------------------------- */
.category-navigation {
  background-color: #000; }

.category-navigation__item {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase; }

.category-navigation__link {
  padding: 1.7rem 1.5rem;
  transition: background-color .2s ease, color .2s ease; }

.category-navigation__link:hover,
.category-navigation__item_active .category-navigation__link {
  color: #fff;
  background-color: #689b2f; }

.category-navigation__favourite-icon {
  float: right;
  margin-left: .7rem; }
  .category-navigation__favourite-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0;
    margin-left: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

@media screen and (max-width: 63.75em) {
  .category-navigation__item {
    font-size: 1.3rem; }

  .category-navigation__link {
    padding: 1.7rem .9rem; } }
.category-navigation_mobile {
  background-color: #000; }
.category-navigation_mobile .category-navigation__item {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 400;
  text-transform: none; }
.category-navigation_mobile .category-navigation__item_active {
  color: #689b2f; }
.category-navigation_mobile .category-navigation__link {
  padding: .6rem .5rem; }
.category-navigation_mobile .category-navigation__link:hover,
.category-navigation_mobile .category-navigation__link:focus,
.category-navigation_mobile .category-navigation__item_active .category-navigation__link {
  color: #689b2f;
  background-color: transparent; }

.category-navigation_mobile {
  position: relative;
  z-index: 5; }
.category-navigation_mobile .category-navigation__wrapper {
  position: relative;
  z-index: 6; }
.category-navigation_mobile .category-navigation__list {
  position: relative;
  z-index: 7; }

.category-navigation_mobile-icon-left,
.category-navigation_mobile-icon-right {
  display: none;
  position: absolute;
  top: -1px;
  width: 23px;
  height: 100%;
  z-index: 20;
  box-sizing: content-box; }

.category-navigation_mobile-icon-left {
  left: 0;
  border-left: 7px solid transparent; }

.category-navigation_mobile-icon-right {
  right: 0;
  border-right: 7px solid transparent; }

.category-navigation_mobile-hidden-left .category-navigation_mobile-icon-left,
.category-navigation_mobile-hidden-right .category-navigation_mobile-icon-right {
  display: block; }

.category-navigation_mobile-icon-left,
.category-navigation_mobile-icon-right {
  color: #689b2f;
  font-size: 1.9rem; }

.category-navigation_mobile-icon-left {
  background: -webkit-linear-gradient(left, black 0%, transparent 100%);
  background: linear-gradient(to right, black 0%, transparent 100%); }
  .category-navigation_mobile-icon-left:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0;
    margin-left: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.category-navigation_mobile-icon-right {
  background: -webkit-linear-gradient(right, black 0%, transparent 100%);
  background: linear-gradient(to left, black 0%, transparent 100%); }
  .category-navigation_mobile-icon-right:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0;
    margin-left: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.category-navigation_mobile-icon-left:before,
.category-navigation_mobile-icon-right:before {
  position: absolute;
  top: 50%;
  margin-top: -.9rem;
  line-height: 1;
  z-index: 21; }

.category-navigation_mobile-icon-left:before {
  left: -1rem; }

.category-navigation_mobile-icon-right:before {
  right: -1rem; }

.account-navigation {
  background-color: #000; }

.account-navigation__item {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase; }

.account-navigation__link {
  padding: 1.7rem 1.5rem;
  transition: background-color .2s ease, color .2s ease; }

.account-navigation__link:hover,
.account-navigation__item_active .account-navigation__link {
  color: #fff;
  background-color: #689b2f; }

/* Desktop navigation:
   * checkout pages
   -------------------------------------------------------------------------- */
.checkout-navigation {
  background-color: #000; }

.checkout-navigation__item {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 600; }

.checkout-navigation__item_active {
  color: #fff;
  background-color: #689b2f; }

.checkout-navigation__list {
  font-size: 0; }

.checkout-navigation__item:nth-child(1) {
  z-index: 10; }

.checkout-navigation__item:nth-child(2) {
  z-index: 9; }

.checkout-navigation__item:nth-child(3) {
  z-index: 8; }

.checkout-navigation__item:nth-child(4) {
  z-index: 7; }

.checkout-navigation__item:nth-child(5) {
  z-index: 6; }

.checkout-navigation__item {
  background-color: #689b2f; }

.checkout-navigation__item:after {
  content: '';
  display: block;
  position: absolute;
  right: -19px;
  top: 0;
  width: 19px;
  height: 100%;
  background: url("/assets-images/checkout-nav-bg.png") no-repeat -114px 50%;
  overflow: hidden; }

.checkout-navigation__item_active:after {
  background-position: -230px 50%; }

.checkout-navigation__item {
  padding: 0 2.5rem 0 4rem; }

.checkout-navigation__item:first-child {
  padding: 0 2.5rem 0 3rem; }

.checkout-navigation__item_active + .checkout-navigation__item {
  padding: 0 2rem 0 4rem; }

.checkout-navigation__item_active + .checkout-navigation__item ~ .checkout-navigation__item {
  padding: 0 2rem; }

.checkout-navigation__item_active ~ .checkout-navigation__item {
  background-color: #000; }

.checkout-navigation__item_active ~ .checkout-navigation__item:after {
  content: none;
  display: none; }

.checkout-navigation__item:last-child:after {
  display: none; }

/* Desktop: user and shop menus
   -------------------------------------------------------------------------- */
.dropdown-menu__header-link {
  padding: .9rem 1.5rem;
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  transition: color .2s ease; }

.dropdown-menu__header-link:hover {
  color: #4b7b17; }

.dropdown-menu__header-icon:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: .2em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.dropdown-menu__body {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #fff;
  border: 1px solid #161616;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }
  .dropdown-menu__body:before, .dropdown-menu__body:after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0; }
  .dropdown-menu__body:before {
    top: -0.9rem;
    right: 1.6rem;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-bottom: 0.8rem solid #161616; }
  .dropdown-menu__body:after {
    top: -0.8rem;
    right: 1.6rem;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-bottom: 0.8rem solid #fff; }

.dropdown-menu__body-link {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif; }

.dropdown-menu__item-link {
  display: block;
  padding: 1rem 1.5rem;
  color: #000;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease; }

.dropdown-menu__item-link:hover {
  color: #fff;
  background-color: #4b7b17;
  text-decoration: none; }

.dropdown-menu_loyalty .dropdown-menu__body {
  border: 3px solid #689b2f; }
  .dropdown-menu_loyalty .dropdown-menu__body:before, .dropdown-menu_loyalty .dropdown-menu__body:after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0; }
  .dropdown-menu_loyalty .dropdown-menu__body:before {
    top: -1rem;
    right: 1.2rem;
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    border-bottom: 0.9rem solid #689b2f; }
  .dropdown-menu_loyalty .dropdown-menu__body:after {
    top: -0.6rem;
    right: 1.2rem;
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    border-bottom: 0.9rem solid #fff; }

@media screen and (max-width: 73.125em) {
  .dropdown-menu__header-link {
    padding: .9rem .7rem; }

  .dropdown-menu__body:before,
  .dropdown-menu__body:after {
    right: .8rem; }

  .dropdown-menu_loyalty .dropdown-menu__body:before,
  .dropdown-menu_loyalty .dropdown-menu__body:after {
    right: .5rem; } }
@media screen and (max-width: 68.125em) {
  .dropdown-menu_shop .dropdown-menu__body {
    right: -21rem; }
  .dropdown-menu_shop .dropdown-menu__body:before,
  .dropdown-menu_shop .dropdown-menu__body:after {
    right: 21.8rem; } }
@media screen and (max-width: 62em) {
  .dropdown-menu__header-link {
    padding: .9rem .5rem;
    font-size: 1.3rem; }

  .dropdown-menu__body:before,
  .dropdown-menu__body:after {
    right: .5rem; }

  .dropdown-menu_shop .dropdown-menu__body:before,
  .dropdown-menu_shop .dropdown-menu__body:after {
    right: 21.5rem; } }
/* Basket menu
   -------------------------------------------------------------------------- */
.header__basket-menu {
  display: block;
  margin-top: 0; }

.content_no-ordering .header__basket-menu {
  display: none; }

.mobile-basket-button {
  display: none; }

.basket-menu {
  display: block; }

@media screen and (max-width: 52.5em) {
  .mobile-basket-button {
    display: block; }

  .mobile-basket-button ~ .basket-menu {
    display: none; } }
.basket-menu__link {
  display: inline-block;
  padding: 0 1.7rem 0 1.5rem;
  height: 36px;
  line-height: 36px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.6rem;
  border-radius: .5rem;
  vertical-align: top; }
  .basket-menu__link:hover {
    color: #fff;
    background-color: #4b7b17; }
.basket-menu__basket-icon {
  display: inline-block;
  vertical-align: baseline;
  font-size: 2rem !important;
  line-height: inherit; }
  .basket-menu__basket-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0;
    margin-left: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }
.basket-menu__basket-icon:before {
  line-height: inherit; }
.basket-menu__items {
  display: inline-block;
  vertical-align: top;
  position: static;
  margin: 0 0 0 .7rem;
  width: auto;
  height: auto;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  font-family: inherit;
  background: none;
  border: none;
  border-radius: 0;
  overflow: visible; }

.basket-menu__link {
  display: none; }

.basket-menu__link_dropdown {
  display: block; }

.basket-menu__link_franchise {
  display: block; }

@media screen and (max-width: 52.5em) {
  .basket-menu__link_off-canvas {
    display: block; }

  .basket-menu__link_dropdown {
    display: none; } }
/* Basket dropdown
   -------------------------------------------------------------------------- */
.content__side {
  z-index: -100;
  opacity: 0;
  -webkit-transform: scale(0.75) translateY(-20px);
  -ms-transform: scale(0.75) translateY(-20px);
  transform: scale(0.75) translateY(-20px);
  -webkit-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition: all 0.15s ease-out, opacity 0.15s ease-out;
  -ms-transition: all 0.15s ease-out, opacity 0.15s ease-out;
  transition: all 0.15s ease-out, opacity 0.15s ease-out;
  position: fixed;
  top: 0;
  right: auto;
  width: 400px;
  max-width: 100%;
  box-sizing: border-box; }
.content__side.basket-dropdown-open {
  z-index: 991;
  opacity: 1;
  -webkit-transform: scale(1) translateY(0);
  -ms-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0); }
.content__side-wrapper {
  overflow-x: hidden;
  overflow-y: auto; }
@media screen and (max-width: 52.5em) {
  .content__side {
    position: static;
    float: none;
    width: 430px;
    z-index: auto;
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition: none;
    -ms-transition: none;
    transition: none; } }

.content__side {
  background-color: #fff; }
  .content__side:before, .content__side:after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0; }
  .content__side:before {
    top: -0.9rem;
    right: 2.5rem;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-bottom: 0.8rem solid #161616; }
  .content__side:after {
    top: -0.7rem;
    right: 2.5rem;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-bottom: 0.8rem solid #fff; }

.content__side.basket-dropdown-open {
  border: 2px solid #161616;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); }

.content__side.basket-dropdown-under-scroll:before,
.content__side.basket-dropdown-under-scroll:after {
  display: none; }

/* Mobile: off-canvas
   -------------------------------------------------------------------------- */
.off-canvas_open {
  background-color: #fff; }

/* Mobile: menu on the left (navigation)
   -------------------------------------------------------------------------- */
.burger-menu__line {
  height: 6px;
  border-top: 2px solid #000; }

.mobile-menu__header {
  background-color: #0a0a0a; }

.mobile-menu__close-icon {
  color: #fff;
  font-size: 2.5rem; }
  .mobile-menu__close-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: .2em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.mobile-menu__section_user {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #f3f3f3; }

.mobile-menu__section {
  border-bottom: 1px solid #eaeaea; }

.mobile-menu__section-link {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #fff; }

.mobile-menu__section_unfolded .mobile-menu__section-link {
  color: #fff;
  background-color: #689b2f; }

.mobile-menu__section-icon {
  -webkit-transition: 0.2s ease-in-out;
  -ms-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }
  .mobile-menu__section-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: .2em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.mobile-menu__section_unfolded .mobile-menu__section-icon {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.mobile-menu__item {
  border-top: 1px solid #eaeaea; }

.mobile-menu__item-link {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #fff; }

.mobile-menu__item_active .mobile-menu__item-link {
  color: #000;
  background-color: #f3f3f3; }

.mobile-menu__item_favourites .mobile-menu__item-link {
  overflow: hidden; }

.mobile-menu__favourite-icon:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.mobile-menu__favourite-name {
  float: left;
  margin-right: .5rem; }

.mobile-credits {
  color: #000;
  font-size: .8em;
  line-height: 1.4;
  text-align: center;
  background-color: #fff;
  box-shadow: -1px 0 0 1px #eaeaea; }

/* Shop info.
   * desktop: displayed in a popup
   * mobile: displayed in the left menu
   -------------------------------------------------------------------------- */
.shop-info {
  background-color: #ааа; }

.shop-info__title {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2;
  margin-top: .7rem; }

.shop-info__feature-title {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase; }

.shop-info__feature-content {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.shop-info__link {
  color: #000; }

.shop-info .social-icons__link {
  color: #000;
  background-color: #e1e1e1; }

.shop-info .social-icons__link:hover {
  color: #fff;
  background-color: #689b2f; }

/* ==========================================================================
   CATEGORY PAGE
   ========================================================================== */
/* Page header
   -------------------------------------------------------------------------- */
.category__header {
  margin-bottom: 2rem; }

.category__title {
  font-size: 3.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center; }

.category__description {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #0a0a0a;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 2rem; }

.category__subcategory-title {
  font-size: 2.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 2rem; }

.category__subcategory-title + .category__description {
  margin: -1rem 0 2rem; }

/* Products list up to 4 columns - wide page content with basket dropdown
   improved product layout as vertical card
   favourite product as vertical card
  ---------------------------------------------------------*/
.category_improved .category__products {
  font-size: 0; }
@media screen and (max-width: 32em) {
  .category_improved .category__products {
    margin-left: auto;
    margin-right: auto;
    max-width: 350px; } }

.product_improved-card {
  display: inline-block;
  float: none;
  margin-bottom: 2rem;
  width: 25%;
  vertical-align: top;
  font-size: 1.4rem; }
@media screen and (max-width: 60em) {
  .product_improved-card {
    width: 33.33%; } }
@media screen and (max-width: 48em) {
  .product_improved-card {
    width: 50%; } }
@media screen and (max-width: 32em) {
  .product_improved-card {
    width: 100%; } }

.product_improved-card .product__wrapper {
  position: relative; }
.product_improved-card .product__picture-container {
  margin: -1rem -1rem 1rem; }
.product_improved-card .product__picture {
  width: 100%; }
.product_improved-card .product__mobile-button {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9;
  padding: 0;
  width: 100%;
  height: 100%;
  border: none;
  background: transparent;
  cursor: pointer; }
.product_improved-card .product__mobile-price {
  display: none;
  margin: 1rem 0 .5rem; }
.product_improved-card .product__mobile-price-from,
.product_improved-card .product__mobile-price-value {
  display: inline-block;
  vertical-align: top;
  float: none;
  font-size: 1.6rem;
  font-weight: 600; }
.product_improved-card .product__counter {
  display: none;
  padding-right: .3rem;
  font-weight: 700;
  font-family: sans-serif; }
.product_improved-card .product__counter:not(:empty) {
  display: inline-block; }
.product_improved-card .product__counter:not(:empty):before {
  content: "x";
  display: inline-block;
  font-size: 1rem;
  font-style: normal; }
@media screen and (max-width: 52.5em) {
  .product_improved-card .product__price,
  .product_improved-card .product__sku-buttons,
  .product_improved-card .product__sku-list,
  .product_improved-card .product__bottom,
  .product_improved-card .product__buttons {
    display: none; }
  .product_improved-card .product__mobile-price,
  .product_improved-card .product__mobile-button {
    display: block; } }

.product_with-counter {
  position: relative; }
.product_with-counter:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px; }

/*
// Category 4 columns for wide screen

// grid arrangement to fix mixed product images sides fraction (4:3 or 3:2)
//.category__products { font-size: 0; }

.product {
  margin-bottom: 2rem;
  font-size: 1.4rem;
}

.page_categories,
.page_menu,
.page_deal_wizard {
  .product {
    display: inline-block;
    float: none;
    width: 25%;
    vertical-align: top;
  }

  .product:nth-child(3n+1) { clear: none; }

  @media screen and (max-width: 60em) {
    .product { width: 33.33%; }
    .product:nth-child(2n+1) { clear: none; }
  }

  @media screen and (max-width: 52.5em) {
    .product { width: 100%; }
  }
}

.page_favourites .product {
  width: 100%;
}
*/
/* Category banner
  -------------------------------------------------------------------------- */
.category-banner {
  text-align: center; }
.category-banner__image {
  display: block;
  margin: 0 auto; }
.category-banner__image_mobile {
  display: none; }

@media screen and (max-width: 52.5em) {
  .category-banner__image {
    display: none; }
  .category-banner__image_mobile {
    display: block;
    margin: 0 auto; } }
/* Product filter
  -------------------------------------------------------------------------- */
/* Grouped skus: product fileter theming
   *********************************************************/
.product-filter {
  margin-bottom: 2rem; }

.product-filter__default {
  display: block; }

.product-filter__mobile {
  display: none; }

@media screen and (max-width: 52.5em) {
  .product-filter__default {
    display: none; }

  .product-filter__mobile {
    display: block; } }
.product-filter__default .product-filter__wrapper {
  padding: .7rem 1rem;
  background-color: #000;
  border-radius: 0.5rem; }
.product-filter__default .product-filter__list {
  font-size: 0; }
.product-filter__default .product-filter__item {
  display: inline-block;
  padding: 0 1rem;
  box-sizing: border-box; }
.product-filter__default .product-filter__list {
  display: flex;
  flex-flow: wrap;
  justify-content: space-around; }
.product-filter__default .product-filter__item {
  flex: 0 0 auto; }

.product-filter__label {
  display: block;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer; }

.product-filter__input {
  position: absolute;
  left: 0;
  top: 0;
  clip: rect(0, 0, 0, 0);
  margin: 0; }

.product-filter__name {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  font-size: 1.4rem;
  line-height: 30px; }

.product-filter .product-picto {
  display: inline-block;
  vertical-align: top;
  margin-right: 1rem;
  width: 30px;
  height: 30px;
  color: #b3b3b3;
  font-size: 1.6rem;
  text-align: center;
  background-color: #fff;
  border: 2px solid #fff;
  border-radius: 50%;
  box-sizing: border-box; }
.product-filter .product-picto:before {
  line-height: 26px; }

.product-picto_all {
  display: inline-block;
  position: relative; }

.product-picto_all:after {
  content: "";
  display: none;
  position: absolute;
  left: 6px;
  top: 6px;
  width: 14px;
  height: 14px;
  background-color: #689b2f;
  border-radius: 50%; }

.product-filter__input:checked ~ .product-picto_all:after,
[data-filter-selected="true"] .product-picto_all:after {
  display: block; }

.product-filter__item,
.product-picto {
  transition: color .2s ease; }

.product-filter__item:hover .product-filter__name,
.product-filter__item:hover .product-picto,
.product-filter__input:checked ~ .product-filter__name {
  color: #689b2f; }

.product-filter__input:checked ~ .product-picto {
  color: #689b2f;
  border-color: #689b2f; }

[data-filter-selected="true"] .product-picto_all:after {
  display: block; }

[data-filter-selected="true"] .product-picto {
  color: #689b2f;
  border-color: #689b2f; }

.product-filter__mobile {
  position: fixed;
  top: 2rem;
  right: 2%;
  z-index: 900;
  box-sizing: border-box; }

.product-filter__mobile {
  /*
    .nice-select .option:hover,
    .nice-select .option.focus,
    .nice-select .option.selected.focus,
    .nice-select .option[data-filter-selected="true"] {
    }
  */ }
  .product-filter__mobile .product-picto {
    display: none; }
  .product-filter__mobile .nice-select {
    padding: 0 1.7rem 0 0;
    width: 100%;
    height: auto;
    line-height: 1;
    color: #689b2f;
    border: none; }
  .product-filter__mobile .nice-select .current {
    padding: .9rem 0;
    color: #689b2f;
    font-weight: 500;
    text-transform: capitalize; }
  .product-filter__mobile .nice-select::after {
    border-color: #689b2f; }
  .product-filter__mobile .nice-select .list {
    left: auto;
    right: 0;
    height: 0;
    padding: 0;
    border: 1px solid #161616;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }
    .product-filter__mobile .nice-select .list:before, .product-filter__mobile .nice-select .list:after {
      content: "";
      display: block;
      position: absolute;
      width: 0;
      height: 0; }
    .product-filter__mobile .nice-select .list:before {
      top: -0.9rem;
      right: 1.6rem;
      border-left: 0.8rem solid transparent;
      border-right: 0.8rem solid transparent;
      border-bottom: 0.8rem solid #161616; }
    .product-filter__mobile .nice-select .list:after {
      top: -0.8rem;
      right: 1.6rem;
      border-left: 0.8rem solid transparent;
      border-right: 0.8rem solid transparent;
      border-bottom: 0.8rem solid #fff; }
  .product-filter__mobile .nice-select.open .list {
    height: auto; }
  .product-filter__mobile .product-filter__name {
    color: inherit; }
  .product-filter__mobile [data-filter-selected="true"] {
    color: #000 !important; }
  .product-filter__mobile [data-filter-selected="true"] .product-filter__name {
    font-weight: 600; }
  .product-filter__mobile .product-filter__input:checked ~ .product-filter__name {
    color: #000;
    font-weight: 600; }

.product-filter__summary {
  margin: 1.5rem 0 0; }

.product-filter__summary-criteria {
  font-weight: 600; }

.product-filter__summary-link:hover {
  color: #007d6a; }

/* Product
   -------------------------------------------------------------------------- */
.product__wrapper {
  padding: 1rem;
  background-color: #fff;
  border-radius: 1rem; }

.product__picture-container {
  margin: -1rem -1rem 1.5rem; }

.product__picture {
  border-radius: 1rem 1rem 0 0; }

.product__name {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  overflow-x: hidden;
  text-overflow: ellipsis; }

.product__description {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  line-height: 1.5; }

.product__sku {
  padding-left: 5rem; }

.product__sku + .product__sku {
  margin-top: .7rem; }

.product__sku-label {
  display: none;
  float: left;
  margin-left: -5rem;
  line-height: 28px;
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600; }

.product__sku {
  padding-left: 0; }

.product__sku-label {
  display: none; }

/* product counter */
.product__counter {
  color: #000; }

.product_with-counter:after {
  display: none; }
.product_with-counter .product__content {
  position: relative; }
.product_with-counter .product__content:after {
  content: '';
  display: block;
  position: absolute;
  left: -1rem;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: #000;
  border-radius: 0 .5rem .5rem 0; }

/* Product zebra. Used in:
   * sidetouch categories page
   * touch & sidetouch favourites page
   -------------------------------------------------------------------------- */
.product_favourites {
  margin-bottom: 2rem;
  padding: 0;
  background: none !important; }
.product_favourites .product__wrapper {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 1rem; }
.product_favourites .product__picture-container {
  margin-top: 0;
  margin-left: 0;
  margin-bottom: .5rem; }
.product_favourites .product__buttons {
  margin-top: 1.5rem; }
.product_favourites .product__add .product__price {
  margin-right: 1.5rem;
  padding-right: 1.5rem;
  width: auto !important; }
.product_favourites .product__add .product__price + .product__add-text {
  width: auto !important; }
@media screen and (max-width: 52.5em) {
  .product_favourites .product__picture-container {
    margin: -1rem -1rem -1rem 1rem; } }

.product_favourites:nth-child(2n+1) {
  background-color: rgba(255, 255, 255, 0.8); }

/* Add & customise buttons
   -------------------------------------------------------------------------- */
.product__buttons {
  margin-top: 1rem;
  font-size: 0; }

.product__add {
  display: inline-block;
  padding: 0 0.5rem;
  height: 30px;
  line-height: 30px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.4rem;
  font-weight: 400;
  text-transform: none;
  white-space: nowrap;
  overflow: hidden; }
  .product__add:hover {
    color: #fff;
    background-color: #4b7b17; }
.product__add .product__add-text {
  display: block; }
.product__add .product__price {
  display: block;
  float: left;
  width: 50%;
  position: relative;
  overflow: hidden;
  white-space: nowrap; }
.product__add .product__price:after {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  border-left: 1px solid; }
.product__add .product__price + .product__add-text {
  float: right;
  width: 50%; }
.product__add .product__price:empty {
  width: 0; }
.product__add .product__price:empty + .product__add-text {
  float: none !important;
  width: 100% !important; }

.deal-wizard-sets .product__add .product__price + .product__price:after {
  display: none; }
.deal-wizard-sets .product__add .product__price {
  overflow: visible; }
.deal-wizard-sets .product__add .product__price:first-child:after {
  right: -2px; }
.deal-wizard-sets .product__add .product__price + .product__price + .product__add-text {
  display: none; }

.product__customise {
  display: inline-block;
  padding: 0;
  line-height: 30px;
  color: #000;
  font-size: 1.4rem;
  text-decoration: underline;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  transition: color .2s ease;
  width: auto;
  height: 30px; }
  .product__customise:hover {
    color: #4b7b17;
    text-decoration: underline; }

.product__customise + .product__add {
  width: 60%; }

@media screen and (max-width: 73.125em) and (min-width: 52.5625em) {
  .product__add {
    font-size: 1.3rem; }

  .product__customise + .product__add .product__price {
    width: 60%; }
  .product__customise + .product__add .product__price + .product__add-text {
    width: 40%; }

  .product__add span:nth-last-child(3):first-child,
  .product__add span:nth-last-child(3):first-child ~ * {
    width: 50%; } }
/* Favourite icon
   -------------------------------------------------------------------------- */
.product__favourite {
  text-decoration: none; }

.product__favourite_add .product__favourite-icon {
  color: #000; }
  .product__favourite_add .product__favourite-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: .2em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.product__favourite_remove .product__favourite-icon {
  color: #000; }
  .product__favourite_remove .product__favourite-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: .2em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

/* Deal wizard
   -------------------------------------------------------------------------- */
/* Deal wizard navigation 
   Touch: max 6 tabs per row
*/
.deal-wizard-navigation__tab:nth-child(6n+1) {
  z-index: 15; }

.deal-wizard-navigation__tab:nth-child(6n+2) {
  z-index: 14; }

.deal-wizard-navigation__tab:nth-child(6n+3) {
  z-index: 13; }

.deal-wizard-navigation__tab:nth-child(6n+4) {
  z-index: 12; }

.deal-wizard-navigation__tab:nth-child(6n+5) {
  z-index: 11; }

.deal-wizard-navigation__tab:nth-child(6n+6) {
  z-index: 10; }

/* Tabs number setup */
.deal-wizard-navigation__tab {
  width: 16.66%; }

.deal-wizard-navigation__tab:nth-child(6n-5):before {
  display: none; }

.deal-wizard-navigation__tab:last-child .deal-wizard-navigation__link {
  margin-right: 0;
  padding-right: 15px; }
.deal-wizard-navigation__tab:last-child .deal-wizard-navigation__link:before,
.deal-wizard-navigation__tab:last-child .deal-wizard-navigation__link:after {
  content: none;
  display: none; }

.deal-wizard-navigation__tab:nth-last-child(5):first-child,
.deal-wizard-navigation__tab:nth-last-child(5):first-child ~ * {
  width: 20%; }

.deal-wizard-navigation__tab:nth-last-child(4):first-child,
.deal-wizard-navigation__tab:nth-last-child(4):first-child ~ * {
  width: 25%; }

.deal-wizard-navigation__tab:nth-last-child(3):first-child,
.deal-wizard-navigation__tab:nth-last-child(3):first-child ~ * {
  width: 33.3%; }

@media screen and (max-width: 52.5em) {
  .deal-wizard-navigation__tab:nth-child(4n+1) {
    z-index: 15; }

  .deal-wizard-navigation__tab:nth-child(4n+2) {
    z-index: 14; }

  .deal-wizard-navigation__tab:nth-child(4n+3) {
    z-index: 13; }

  .deal-wizard-navigation__tab:nth-child(4n+4) {
    z-index: 12; }

  .deal-wizard-navigation__tab {
    width: 25%; }

  .deal-wizard-navigation__tab:nth-child(6n-5):before {
    display: block; }

  .deal-wizard-navigation__tab:nth-child(4n-3):before {
    display: none; }

  .deal-wizard-navigation__tab:nth-last-child(5):first-child,
  .deal-wizard-navigation__tab:nth-last-child(5):first-child ~ * {
    width: 25%; } }
@media screen and (max-width: 40em) {
  .deal-wizard-navigation__tab:nth-child(3n+1) {
    z-index: 15; }

  .deal-wizard-navigation__tab:nth-child(3n+2) {
    z-index: 14; }

  .deal-wizard-navigation__tab:nth-child(3n+3) {
    z-index: 13; }

  .deal-wizard-navigation__tab {
    width: 33.33%; }

  .deal-wizard-navigation__tab:nth-child(4n-3):before {
    display: block; }

  .deal-wizard-navigation__tab:nth-child(3n-2):before {
    display: none; }

  .deal-wizard-navigation__tab:nth-last-child(5):first-child,
  .deal-wizard-navigation__tab:nth-last-child(5):first-child ~ *,
  .deal-wizard-navigation__tab:nth-last-child(4):first-child,
  .deal-wizard-navigation__tab:nth-last-child(4):first-child ~ * {
    width: 33.33%; } }
@media screen and (max-width: 24em) {
  .deal-wizard-navigation__tab:nth-child(2n+1) {
    z-index: 15; }

  .deal-wizard-navigation__tab:nth-child(2n+2) {
    z-index: 14; }

  .deal-wizard-navigation__tab {
    width: 50%; }

  .deal-wizard-navigation__tab:nth-child(3n-2):before {
    display: block; }

  .deal-wizard-navigation__tab:nth-child(2n-1):before {
    display: none; }

  .deal-wizard-navigation__tab:nth-last-child(5):first-child,
  .deal-wizard-navigation__tab:nth-last-child(5):first-child ~ *,
  .deal-wizard-navigation__tab:nth-last-child(4):first-child,
  .deal-wizard-navigation__tab:nth-last-child(4):first-child ~ *,
  .deal-wizard-navigation__tab:nth-last-child(3):first-child,
  .deal-wizard-navigation__tab:nth-last-child(3):first-child ~ * {
    width: 50%; } }
/* Theming */
.deal-wizard-navigation__link {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 500; }

/* More accurate active tab shape*/
.deal-wizard-navigation__tab:before {
  content: '';
  display: block;
  position: absolute;
  right: 100%;
  top: 0;
  width: 15px;
  height: 100%; }

.deal-wizard-navigation__tab {
  background-color: transparent; }

.deal-wizard-navigation__tab:before {
  background-color: #689b2f; }

.deal-wizard-navigation__tab_active ~ .deal-wizard-navigation__tab:before {
  background-color: #fff; }

.deal-wizard-navigation__link {
  color: #fff;
  background-color: #689b2f; }

.deal-wizard-navigation__link:before {
  border-left-color: #fff; }

.deal-wizard-navigation__link:after {
  border-left-color: #689b2f; }

.deal-wizard-navigation__title:after {
  background: -webkit-linear-gradient(left, rgba(104, 155, 47, 0), #689b2f);
  background: linear-gradient(to right, rgba(104, 155, 47, 0), #689b2f); }

.deal-wizard-navigation__tab_active ~ .deal-wizard-navigation__tab .deal-wizard-navigation__link {
  color: #000;
  background-color: #fff; }
.deal-wizard-navigation__tab_active ~ .deal-wizard-navigation__tab .deal-wizard-navigation__link:before {
  border-left-color: #ccc; }
.deal-wizard-navigation__tab_active ~ .deal-wizard-navigation__tab .deal-wizard-navigation__link:after {
  border-left-color: #fff; }
.deal-wizard-navigation__tab_active ~ .deal-wizard-navigation__tab .deal-wizard-navigation__title:after {
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), #fff);
  background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff); }

/* Product tags / pictos
   -------------------------------------------------------------------------- */
.product-picto {
  display: inline-block;
  vertical-align: top;
  font-size: 2rem; }

.product-picto_vegan:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.product-picto_vegetarian:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.product-picto_gluten-free:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.product-picto_spicy:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: 0;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

/*
.product-picto_lightly-spiced { @include fontello-icon('spicy',0); }
.product-picto_moderately-spiced { @include fontello-icon('spicy2',0); }
.product-picto_moderately-spiced:before { width: 1.8em; }
.product-picto_highly-spiced { @include fontello-icon('spicy3',0); }
.product-picto_highly-spiced:before { width: 2.7em; }
.product-picto_organic { @include fontello-icon('organic',0); }
.product-picto_porc-free { @include fontello-icon('pork-free',0); }
.product-picto_halal { @include fontello-icon('halal',0); }
.product-picto_nut-free { @include fontello-icon('nut-free',0); }
.product-picto_lactose-free { @include fontello-icon('lactose-free',0); }
*/
.product-picto_new {
  display: inline-block;
  overflow: hidden; }

.product-picto_new:before {
  content: "New";
  display: inline-block;
  margin: 0 0 0 -2px;
  line-height: 1;
  font-size: 11px;
  font-weight: 600;
  font-family: Arial, Helvetica, sans-serif;
  -webkit-transform: rotate(-25deg);
  -ms-transform: rotate(-25deg);
  transform: rotate(-25deg); }

.product-pictos {
  margin-top: .5rem; }

.product-pictos .product-picto {
  margin: 0 .5rem .2rem 0; }

.product-legend {
  margin-top: 2rem; }

.product-legend__list {
  font-size: 0;
  text-align: center; }

.product-legend__item {
  display: inline-block;
  margin: 1rem 0;
  padding: 0 1rem;
  min-width: 20%;
  font-size: 1.4rem;
  box-sizing: border-box; }

.product-legend__item-name {
  display: inline-block;
  vertical-align: top;
  line-height: 20px;
  white-space: nowrap; }

.product-legend .product-picto {
  display: inline-block;
  vertical-align: top;
  margin-right: 1rem;
  line-height: 20px; }

/* Product allergens
  ---------------------------------------------*/
.product-allergens {
  font-size: 0; }
.product-allergens__item {
  display: inline-block;
  position: relative;
  margin-right: .5rem;
  width: 46px;
  height: 44px;
  overflow: hidden; }
.product-allergens__image {
  margin: -6px 0 0 -9px;
  max-width: none;
  height: 62px; }

.product__picture-container {
  position: relative; }
.product__picture-container .product__allergens {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0 1rem 1rem 0;
  text-align: right; }
.product__picture-container .product-allergens__item {
  margin: 0 0 0 .5rem; }

.popup .product-allergens {
  margin-top: 1rem; }

.popup__picture ~ .product-allergens {
  overflow: hidden; }

.product-allergen-legend {
  margin-top: 2rem; }

.product-allergen-legend__list {
  font-size: 0;
  text-align: center; }

.product-allergen-legend__item {
  display: inline-block;
  margin: 1rem 1.5%;
  width: 72px;
  height: 76px; }

.product-allergen-legend__image {
  margin: -11px 0 0 -12px;
  max-width: none;
  height: 98px; }

/* ==========================================================================
   BASKET
   ========================================================================== */
.off-canvas__wrapper {
  padding-bottom: 0; }

@media screen and (max-width: 52.5em) {
  .off-canvas__wrapper {
    padding-bottom: 4rem; } }
/* Basket header
   -------------------------------------------------------------------------- */
.basket__header {
  border-bottom: 1px solid #ccc; }

.basket__title {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  line-height: 1.8; }

.basket__repeat {
  font-size: 1.3rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.basket__close {
  margin: -.3rem -.8rem 0 0;
  color: #000; }

.basket__close-icon:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: .2em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

@media screen and (max-width: 52.5em) {
  .basket__repeat {
    padding-top: .2rem; } }
/* Basket item
   -------------------------------------------------------------------------- */
.basket__items {
  background-color: #fff; }

.basket-item__title {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.basket-item__link:hover {
  color: #000; }

.basket-item__option {
  font-size: 1.3rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #636363; }

.basket-item__delete-icon {
  color: #000; }
  .basket-item__delete-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0em;
    margin-left: 0em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.basket-item__delete:hover .basket-item__delete-icon {
  color: #000; }

.basket__empty {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #fff; }

/* Basket deal title
   -------------------------------------------------------------------------- */
.basket-deal__header {
  background-color: #000; }

.basket-deal__title {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff; }

.basket-deal__link:hover {
  color: #fff; }

.basket-deal__delete-icon {
  color: #fff; }
  .basket-deal__delete-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0em;
    margin-left: 0em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.basket-deal__delete:hover .basket-deal__delete-icon {
  color: #fff; }

/* Basket deal item
   -------------------------------------------------------------------------- */
.basket-deal__items {
  background-color: #e5f9cf; }

.basket-deal__item-title {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.basket-deal__item-link:hover {
  color: #000; }

.basket-deal__item-option {
  font-size: 1.3rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #636363; }

.basket-deal__item-delete-icon {
  color: #000; }
  .basket-deal__item-delete-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0em;
    margin-left: 0em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.basket-deal__item-delete:hover .basket-deal__item-delete-icon {
  color: #000; }

.basket__accessory-free-items {
  background-color: #e5f9cf; }

/* Basket accessory
   -------------------------------------------------------------------------- */
.basket__accessory-items__title {
  background-color: #000; }

.basket__accessory-free-items {
  background-color: #e5f9cf; }

/* Delivery method switcher
   -------------------------------------------------------------------------- */
.basket__delivery_radio {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  border: 1px solid #689b2f;
  border-radius: 0.7rem;
  overflow: hidden; }

.basket__delivery-method {
  padding: .7rem 0;
  background-color: #fff; }

.basket__delivery-radio:checked + .basket__delivery-method {
  color: #fff;
  background-color: #689b2f; }

/* Basket footer
   -------------------------------------------------------------------------- */
.basket__footer {
  color: #000;
  background-color: #fff; }

.basket__footer-red-message {
  color: #fff;
  background-color: #d61e1e; }

.basket__error {
  color: #fff;
  background-color: #d61e1e; }

.text-below-basket {
  color: #fff;
  background-color: #d61e1e; }

.basket__savings {
  color: #fff;
  background-color: #e5f9cf; }

.basket__charge-title,
.basket__charge-amount {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 500; }

.basket__total {
  padding: 1rem 1.2rem; }

.basket__total-title,
.basket__total-amount {
  font-size: 2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 500; }

.basket__button-link {
  display: inline-block;
  padding: 0 1rem;
  height: 30px;
  line-height: 30px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: none; }
  .basket__button-link:hover {
    color: #fff;
    background-color: #4b7b17; }

.basket__coupon {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.basket__coupon-link {
  color: #689b2f; }

.mobile-basket-button__nb-items {
  font-size: 1.8rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif; }

.mobile-basket-button__icon {
  border-bottom-color: #fff; }

.mobile-basket-button__icon:after {
  border-left-color: #fff; }

.mobile-basket-button__link {
  color: #fff;
  background-color: #689b2f;
  border: none;
  border-radius: 0;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.8rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif; }
  .mobile-basket-button__link:hover {
    color: #fff;
    background-color: #4b7b17; }

/* Basket upselling
   -------------------------------------------------------------------------- */
.basket-upselling {
  position: relative;
  margin: .9rem;
  padding: 2rem 1.5rem;
  color: #fff;
  text-align: center; }
.basket-upselling__image-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }
.basket-upselling__image {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  min-width: 100%;
  max-width: none;
  width: auto;
  min-height: 100%;
  height: auto; }
.basket-upselling__header {
  position: relative; }
.basket-upselling__title {
  margin: 0;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase; }
.basket-upselling__description {
  margin-top: 1rem;
  line-height: 1.5; }
.basket-upselling__footer {
  margin: 1rem 0 0; }
.basket-upselling__button {
  margin-top: 1.5rem;
  display: inline-block;
  padding: 0 1rem;
  height: 32px;
  line-height: 32px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: none;
  width: 100%; }
  .basket-upselling__button:hover {
    color: #fff;
    background-color: #4b7b17; }

.basket-upselling {
  position: relative;
  padding-bottom: 6rem;
  min-height: 300px;
  box-sizing: border-box; }

.basket-upselling__image {
  height: 100%;
  min-width: 100%; }

.basket-upselling__button {
  display: block;
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  padding: 0;
  width: calc(100% - 3rem);
  box-sizing: border-box; }

/* Basket clickable promotions
   -------------------------------------------------------------------------- */
.basket__clickable-promotions {
  margin: 1rem -0.5rem 0;
  font-size: 0; }

.clickable-promotion {
  display: inline-block;
  vertical-align: top;
  padding: 1rem 0.5rem 0;
  width: 50%;
  box-sizing: border-box; }

.clickable-promotion__form {
  display: block; }

.clickable-promotion__link {
  display: block;
  text-decoration: none; }

.clickable-promotion__image {
  display: block;
  width: 100%;
  border: none; }

@media screen and (max-width: 52.5em) {
  .basket__clickable-promotions {
    margin: 1rem .8rem 0; } }
/* ==========================================================================
   CUSTOMIZATION POPUP
   ========================================================================== */
.popup {
  background: #ebebeb url("/assets-images/page-bg.jpg") repeat center top; }

.popup__wrapper {
  background-color: rgba(255, 255, 255, 0.3); }

.popup__top-wrapper {
  margin: -2rem -2rem 0;
  padding: 2rem 2rem 0;
  background-color: rgba(255, 255, 255, 0.7); }
  .popup__top-wrapper:before {
    display: table;
    content: ""; }
  .popup__top-wrapper:after {
    display: table;
    content: "";
    clear: both; }

@media screen and (max-width: 52.5em) {
  .popup_improved .popup__top-wrapper {
    margin: -1rem -1.5rem 0;
    padding: 1rem 1.5rem 0; } }
.popup__buttons {
  background-color: rgba(255, 255, 255, 0.7); }

.popup__picture img {
  border-radius: 1rem; }

.popup__description {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.popup__close-icon:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: .2em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.popup__title,
.popup__price {
  font-size: 2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase; }

.popup_improved.popup_scrolled .popup__title {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }

.popup_improved .popup__title-mobile-close {
  padding-top: .3rem; }

.popup_improved .popup__title-mobile-close-icon {
  font-size: 2.5rem; }
  .popup_improved .popup__title-mobile-close-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0;
    margin-left: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

/* Popup group
   -------------------------------------------------------------------------- */
.popup-group__quantity-field {
  font-size: 2rem;
  font-weight: 500;
  background: transparent;
  border: none; }

.popup-group__quantity-minus-icon {
  color: #689b2f;
  margin-right: .5rem; }
  .popup-group__quantity-minus-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0;
    margin-left: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.popup-group__quantity-plus-icon {
  color: #689b2f;
  margin-left: .5rem; }
  .popup-group__quantity-plus-icon:before {
    font-family: 'fontello';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    min-width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-right: 0;
    margin-left: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.popup-group__quantity-minus-icon,
.popup-group__quantity-plus-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  line-height: 22px;
  font-size: 1.4rem;
  text-align: center;
  border: 1px solid #000;
  border-radius: 50%; }

.popup-group__label,
.popup-group__single-choice {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 32px; }

/* Popup row
   -------------------------------------------------------------------------- */
.popup-row + .popup-row {
  border-top: 1px solid #ccc; }

.popup-row__title {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600;
  text-transform: uppercase; }

.popup-row__description {
  color: #000; }

/* Popup enum
   -------------------------------------------------------------------------- */
.popup-enum__option {
  margin-right: .5rem;
  border: 1px solid #689b2f;
  border-radius: 0.7rem; }

.popup-enum__text {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  padding: .5rem 1.5rem;
  color: #000;
  background-color: transparent; }

.popup-enum__radio:checked + .popup-enum__text {
  color: #fff;
  background-color: #689b2f; }

.popup-enum__radio:disabled + .popup-enum__text {
  color: #999;
  background-color: #eee; }

/* Popup set
   -------------------------------------------------------------------------- */
.popup-set__group-title {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 500; }

.popup-set__title {
  color: #000; }

.popup-set__text {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.popup-set__text:before {
  top: 0;
  border-color: #000;
  background-color: #fff;
  border-radius: 4px; }

.popup-set__text:after {
  top: 0;
  margin: 4px;
  width: 8px;
  height: 8px;
  background-color: #689b2f; }

.popup-set__label input[type="checkbox"]:checked + .popup-set__text {
  font-weight: 500; }

.popup-set__option[data-double] .popup-set__label:before {
  border-color: #000;
  background-color: #fff; }

.popup-set__option[data-double] .popup-set__label .popup-set__phantom:after {
  background-color: #689b2f; }

/* Popup deal line
   -------------------------------------------------------------------------- */
.popup-deal-line__label {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700; }

.popup-deal-line__description {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.popup-deal-line__single-option {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

/* Popup buttons
   -------------------------------------------------------------------------- */
.popup-buttons__button {
  display: inline-block;
  padding: 0 1rem;
  height: 46px;
  line-height: 46px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  text-transform: none;
  font-weight: 500;
  border-radius: 0; }
  .popup-buttons__button:hover {
    color: #fff;
    background-color: #4b7b17; }

.popup-buttons__link {
  display: inline-block;
  padding: 0;
  line-height: 46px;
  color: #000;
  font-size: 1.4rem;
  text-decoration: underline;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  transition: color .2s ease; }
  .popup-buttons__link:hover {
    color: #4b7b17;
    text-decoration: underline; }

/* ==========================================================================
   CHECKOUT, ACCOUNT & ORDER PAGES
   ========================================================================== */
.page_login .content__main,
.page_order_step2 .content__main,
.page_order_step3 .content__main,
.page_order_step4 .content__main,
.page_order_step5 .content__main,
.page_reset_password .content__main,
.page_thank_you .content__main {
  float: none;
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  width: 100%; }

.checkout {
  padding: 3rem 2rem;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 1.5rem; }

.checkout__section + .checkout__section {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid #d1d1d1; }

.checkout__fieldset {
  max-width: 720px; }

.checkout-row {
  padding-left: 150px;
  padding-right: 150px; }

.checkout-variant {
  padding-left: 2.3rem; }

.checkout-row__label {
  padding-top: .9rem; }

.checkout-row__field-text,
.checkout-row__field-textarea {
  padding: .7rem .5rem;
  border: 1px solid #b9b9b9;
  border-radius: 0.7rem; }

@media screen and (max-width: 48em) {
  .checkout__fieldset {
    max-width: 550px; }

  .checkout-row {
    padding: 0; }

  .checkout-row__label {
    float: none;
    padding: 0;
    margin: 0 0 .3em 0;
    width: auto; } }
.checkout__title,
.credit-page__title {
  font-size: 2.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center; }

.checkout-row__label,
.checkout-row__group-label,
.checkout-variant__label,
.checkout-variant__select-label,
.card-entry__label,
.card-entry__saved-card-label {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #2a2a2a; }

.checkout-variant__helper,
.checkout-row__field-text,
.checkout-row__field-textarea,
.checkout__description,
.checkout-row__group,
.card-entry__instructions,
.card-entry__cvcode-label {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #2a2a2a; }

.card-entry__instructions:after {
  content: 'If you use Apple Pay or Google Pay please make sure to confirm twice.';
  display: block;
  font-weight: 700; }

.checkout-row__field-text[disabled],
.checkout-row__field-textarea[disabled] {
  border-color: rgba(185, 185, 185, 0.36); }

.checkout-row__group_emphisized {
  padding: 1rem;
  color: #000;
  background-color: #f9eeba; }

.checkout-row__group-item_description {
  line-height: 1.3; }

/* Form checkbox styling
  ---------------------------------------------------- */
.checkout-row__group-label_checkbox {
  display: block;
  position: relative;
  padding-left: 25px;
  cursor: pointer; }

.checkout-row__field-checkbox {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  opacity: 0; }

.checkout-row__field-checkbox .checkout-row__label-text {
  position: relative;
  display: block; }

.checkout-row__group-label_checkbox .checkout-row__label-text:before,
.checkout-row__group-label_checkbox .checkout-row__label-text:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  box-sizing: border-box; }

.checkout-row__group-label_checkbox .checkout-row__label-text:before {
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 4px; }

.checkout-row__group-label_checkbox .checkout-row__label-text:after {
  display: none;
  margin: 4px;
  width: 8px;
  height: 8px; }

.checkout-row__field-checkbox:checked + .checkout-row__label-text:after {
  display: block; }

.checkout-row__group-label_checkbox .checkout-row__label-text:before {
  border-color: #000;
  background-color: #fff; }

.checkout-row__group-label_checkbox .checkout-row__label-text:after {
  background-color: #689b2f; }

.checkout-variant__label {
  position: relative;
  line-height: 18px; }

.checkout-variant__radio {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  opacity: 0; }

.checkout-variant__text {
  position: relative;
  display: block; }

.checkout-variant__text:before,
.checkout-variant__text:after {
  content: "";
  display: block;
  position: absolute;
  left: -23px;
  top: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-sizing: border-box; }

.checkout-variant__text:before {
  width: 16px;
  height: 16px;
  border: 1px solid; }

.checkout-variant__text:after {
  display: none;
  margin: 4px;
  width: 8px;
  height: 8px; }

.checkout-variant__radio:checked + .checkout-variant__text:after {
  display: block; }

.card-entry__checkbox-wrapper {
  position: relative; }

.card-entry__checkbox {
  position: absolute;
  left: 0;
  top: 0;
  clip: rect(0, 0, 0, 0);
  opacity: 0; }

.card-entry__checkbox-helper {
  position: relative;
  display: block; }

.card-entry__checkbox-helper:before,
.card-entry__checkbox-helper:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 3px;
  width: 16px;
  height: 16px;
  box-sizing: border-box; }

.card-entry__checkbox-helper:before {
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  background-color: #fff; }

.card-entry__checkbox-helper:after {
  display: none;
  margin: 3px;
  width: 10px;
  height: 10px;
  background-color: #689b2f; }

.card-entry__checkbox:checked + .card-entry__checkbox-helper:after {
  display: block; }

.checkout-variant__text:before {
  border-color: #000;
  background-color: #fff; }

.checkout-variant__text:after {
  border-color: #000;
  background-color: #689b2f; }

.checkout-variant .nice-select {
  min-width: 160px; }

.card-entry .nice-select {
  min-width: 120px; }

/* Form buttons
   Contain a button on the right and a cancel link on the left.
   -------------------------------------------------------------------------- */
.form-buttons__button {
  display: inline-block;
  padding: 0 3rem;
  height: 42px;
  line-height: 42px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease; }
  .form-buttons__button:hover {
    color: #fff;
    background-color: #4b7b17; }

.form-buttons__link {
  display: inline-block;
  padding: 0;
  line-height: 42px;
  color: #000;
  font-size: 1.4rem;
  text-decoration: underline;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  transition: color .2s ease; }
  .form-buttons__link:hover {
    color: #4b7b17;
    text-decoration: underline; }

/* Loyalty (step4)
   -------------------------------------------------------------------------- */
.checkout-loyalty {
  margin-top: 4rem;
  padding: 3rem 0 0 25rem;
  border-top: 1px solid #d1d1d1; }
.checkout-loyalty__badge {
  float: left;
  margin-left: -21rem; }
.checkout-loyalty__balance {
  font-size: 2.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase; }
@media screen and (max-width: 48em) {
  .checkout-loyalty {
    padding-left: 15rem; }
  .checkout-loyalty__badge {
    margin-left: -15rem; } }
@media screen and (max-width: 30em) {
  .checkout-loyalty {
    padding-left: 0; }
  .checkout-loyalty__badge {
    float: none;
    margin: 0 0 2rem; } }

.checkout-loyalty__use-label_checkbox {
  display: block;
  position: relative;
  padding-left: 25px;
  cursor: pointer; }

.checkout-loyalty__use-input_checkbox {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  opacity: 0; }

.checkout-loyalty__use-input_checkbox .checkout-loyalty__use-text {
  position: relative;
  display: block; }

.checkout-loyalty__use-text:before,
.checkout-loyalty__use-text:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  box-sizing: border-box; }

.checkout-loyalty__use-text:before {
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 4px; }

.checkout-loyalty__use-text:after {
  display: none;
  margin: 4px;
  width: 8px;
  height: 8px; }

.checkout-loyalty__use-input_checkbox:checked + .checkout-loyalty__use-text:after {
  display: block; }

.checkout-loyalty__use-text:before {
  border-color: #000;
  background-color: #fff; }

.checkout-loyalty__use-text:after {
  background-color: #689b2f; }

/* Checkout confirmation page (step5)
   -------------------------------------------------------------------------- */
.checkout-confirm__title {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #2a2a2a;
  font-weight: 600; }

.checkout-confirm__content {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #2a2a2a; }

.checkout-terms-acceptance_error {
  color: #fff;
  background-color: #d61e1e; }

/* Checkout upselling
   -------------------------------------------------------------------------- */
.checkout__upselling {
  margin-top: 4rem;
  border-top: 1px solid #d1d1d1; }

.category_upselling .category__title {
  font-size: 2.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center; }

/* Facebook login
   -------------------------------------------------------------------------- */
.checkout__facebook-login-button {
  border-radius: 0em;
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif; }

.checkout__facebook-login-icon:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: .2em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.checkout__facebook-login-separator {
  margin-top: 1em;
  text-align: center;
  position: relative; }

.checkout__facebook-login-separator:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  height: 0;
  width: 100%;
  border-top: 1px solid #000; }

.checkout__facebook-login-separator-text {
  display: inline-block;
  position: relative;
  padding: 0 .5em;
  line-height: 20px;
  text-transform: uppercase;
  font-weight: 700;
  background-color: #fff; }

/* User registration error (invalid/empty fields)
   -------------------------------------------------------------------------- */
.checkout-error {
  color: #fff;
  background-color: #d61e1e; }

/* Checkout referral program
   -------------------------------------------------------------------------- */
.checkout-confirm_referral {
  margin-top: 3rem !important; }

.checkout-confirm__referral-banner {
  padding: 0;
  border-radius: 0;
  box-shadow: none; }

.referral-banner {
  display: inline-block;
  width: 161px;
  height: 90px;
  background: url("/assets-images/icon-refer.png") no-repeat 0 0; }
.referral-banner__icon, .referral-banner__text {
  display: none; }

/* Account referral program
   -------------------------------------------------------------------------- */
.checkout__referral-program-rules {
  font-size: 1.275rem; }

.checkout__referral-link {
  margin: 1rem 0;
  display: inline-block;
  padding: 0 2rem;
  height: 30px;
  line-height: 30px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  min-width: 15rem; }
  .checkout__referral-link:hover {
    color: #fff;
    background-color: #4b7b17; }

.checkout__referral-link span[data-copied] {
  display: inline-block;
  padding: 0;
  line-height: 30px;
  color: #000;
  font-size: 1.4rem;
  text-decoration: underline;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  transition: color .2s ease; }
  .checkout__referral-link span[data-copied]:hover {
    color: #4b7b17;
    text-decoration: underline; }

/* Order page
   -------------------------------------------------------------------------- */
.order-table {
  border: 2px solid #000; }

.order-table__header {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 600;
  background-color: #000; }

.order-row:nth-child(even) .order-row__header {
  color: #000;
  background-color: transparent; }

.order-row__header {
  color: #000;
  font-size: 1.3rem;
  background-color: #e8e8e8;
  border-top: 3px solid #fff; }

.order-row__header:hover {
  color: #000 !important;
  background-color: #ebebeb !important;
  transition: background-color .2s ease, color .2s ease; }

.order-row__order {
  border-top: 3px solid #fff; }

.order-table__header-item {
  font-weight: 400;
  text-transform: uppercase; }

.order {
  color: #000;
  font-size: 1.3rem;
  background-color: transparent; }

.order__group-title {
  color: #689b2f;
  font-size: 1.4rem;
  font-weight: 600;
  text-transform: uppercase; }

.order__add {
  padding-right: 0; }

.order__repeat-button {
  display: inline-block;
  padding: 0 2rem;
  height: 28px;
  line-height: 28px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.4rem; }
  .order__repeat-button:hover {
    color: #fff;
    background-color: #4b7b17; }

.order__add-button {
  display: inline-block;
  padding: 0 1rem;
  height: 24px;
  line-height: 24px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.3rem;
  font-weight: 500;
  margin-top: -.3rem; }
  .order__add-button:hover {
    color: #fff;
    background-color: #4b7b17; }

.order__repeat-empty-basket {
  display: inline-block;
  padding: 0;
  line-height: 28px;
  color: #000;
  font-size: 1.4rem;
  text-decoration: underline;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  transition: color .2s ease; }
  .order__repeat-empty-basket:hover {
    color: #4b7b17;
    text-decoration: underline; }

.order__items-container {
  border-top-color: #dcdcdc; }

.order__items-table {
  color: #000;
  font-size: 1.3rem;
  background-color: transparent;
  border: none; }

.order__items-deal {
  color: #000;
  background-color: #e5f9cf; }

.order__items-deal-title {
  color: #fff;
  font-size: 1.4rem;
  background-color: #000; }

.order__items-footer {
  border-top-color: #dcdcdc;
  font-size: 1.3rem;
  font-weight: 600;
  text-transform: uppercase; }

.order__total {
  font-size: 2rem;
  font-weight: 400;
  text-transform: none;
  border-top-color: #dcdcdc; }

/* Credit
   -------------------------------------------------------------------------- */
.credit-page__main {
  color: #000;
  background-color: #f4f5f6; }

.credit-page__status__balance {
  font-size: 2rem;
  font-weight: 400; }

.credit-page__status__balance-amount {
  font-size: 2.4rem;
  margin-top: .5rem; }

.credit-page__status__rules {
  font-size: 1.4rem;
  line-height: 1.4; }

.credit-page__form__teaser {
  font-size: 1.6rem;
  color: #3f3e3e;
  font-weight: 700; }

.credit-page__form__input {
  border: 1px solid #ddd;
  background-color: #fff; }

.credit-page__form__button {
  color: #fff;
  background-color: #000;
  border: none;
  border-radius: 0;
  font-size: 1.4rem;
  font-weight: 600;
  transition: background-color .2s ease, color .2s ease; }
  .credit-page__form__button:hover {
    color: #fff;
    background-color: #555; }

.credit-table__header {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 600;
  background-color: #000; }

.credit-table__row {
  background-color: #e8e8e8; }

.credit-table__row:nth-child(odd) {
  background-color: transparent; }

.credit-table__row:hover {
  background-color: #ebebeb; }

.credit-table td {
  font-size: 1.3rem;
  color: #000; }

/* ==========================================================================
   MESSAGES
   ========================================================================== */
/* Transient information message displayed at the top
   Eg. when a product has just been added
   -------------------------------------------------------------------------- */
.message_info {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #d0d0d0;
  opacity: 0.9; }

.message_info a,
.message_info a:hover {
  color: #000; }

@media screen and (max-width: 52.5em) {
  .page_menu.page_improved .message_info {
    bottom: auto;
    top: 0;
    text-align: center;
    background-color: transparent; }
  .page_menu.page_improved .message_info .message__wrapper {
    display: inline-block;
    background-color: #d0d0d0; } }
/* Important (warning/error) message displayed at the top
   Eg. someone tries to access /account without being logged in
   -------------------------------------------------------------------------- */
.message_error {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  background-color: #d61e1e;
  opacity: 1; }

.message_error a,
.message_error a:hover {
  color: #fff; }

/* ==========================================================================
   HOMEPAGE
   ========================================================================== */
.content_index {
  margin-top: 0;
  margin-bottom: 0; }

.content_index .content__wrapper {
  width: 100%;
  max-width: none; }

/* Homepage: slideshow at the top
   -------------------------------------------------------------------------- */
.slider {
  margin-bottom: 3rem; }

.slider__wrapper {
  width: 100%; }

.unslider-nav ol li {
  background-color: transparent;
  border: 2px solid #fff; }

.unslider-nav ol li.unslider-active {
  background-color: #fff;
  border-color: #fff; }

.category-navigation__order-button {
  float: right;
  margin: 6px 0 6px 5px;
  display: inline-block;
  padding: 0 2rem;
  height: 40px;
  line-height: 40px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease; }
  .category-navigation__order-button:hover {
    color: #fff;
    background-color: #4b7b17; }

.index-slideshow-links {
  display: none; }

/* Homepage: delivery buttons
   -------------------------------------------------------------------------- */
.index-delivery-links {
  padding: 3rem 0;
  font-size: 0;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.4); }
.index-delivery-links__wrapper {
  display: inline-block;
  position: relative;
  white-space: nowrap; }
.index-delivery-links__link {
  display: inline-block;
  vertical-align: top;
  padding: 2rem 3rem;
  min-width: 290px;
  color: #fff;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1;
  text-transform: capitalize;
  text-decoration: none;
  box-sizing: border-box; }
.index-delivery-links__link_delivery {
  background-color: #689b2f;
  border-radius: 0.7rem 0 0 0.7rem; }
.index-delivery-links__link_collection {
  background-color: #000;
  border-radius: 0 0.7rem 0.7rem 0; }
.index-delivery-links__icon {
  display: inline-block;
  vertical-align: top;
  height: 32px;
  background: url("/assets-images/index-delivery-icons.png") no-repeat;
  overflow: hidden; }
.index-delivery-links__icon_delivery {
  margin-right: 1rem;
  width: 56px;
  background-position: left top; }
.index-delivery-links__icon_collection {
  margin-left: 1rem;
  width: 32px;
  background-position: right top; }
.index-delivery-links__text {
  display: inline-block;
  vertical-align: top;
  line-height: 32px; }
.index-delivery-links__delimeter {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  line-height: 40px;
  color: #cc1417;
  font-size: 1.9rem;
  font-weight: 600;
  text-align: center;
  background-color: #fff;
  border-radius: 50%; }
@media screen and (max-width: 52.5em) {
  .index-delivery-links {
    padding: 0; }
  .index-delivery-links__wrapper {
    width: 100%; }
  .index-delivery-links__link {
    padding: 1.5rem 0;
    min-width: 0;
    width: 50%;
    font-size: 2rem;
    line-height: 20px;
    border-radius: 0; }
  .index-delivery-links__icon {
    height: 20px;
    background-size: auto 20px; }
  .index-delivery-links__icon_delivery {
    width: 35px; }
  .index-delivery-links__icon_collection {
    width: 20px; }
  .index-delivery-links__text {
    line-height: 20px; } }
@media screen and (max-width: 20em) {
  .index-delivery-links__link {
    font-size: 1.4rem; } }

.index-delivery_mobile {
  display: none; }

.slider__delivery {
  position: absolute;
  left: 0;
  right: 0;
  top: 0; }

@media screen and (max-width: 52.5em) {
  .index-delivery_mobile {
    display: block; }

  .slider__delivery {
    display: none; } }
/* Homepage: connected customer
   -------------------------------------------------------------------------- */
.index-connected-customer {
  margin: 2rem 0; }

.index-connected-customer__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%; }
  .index-connected-customer__wrapper:before {
    display: table;
    content: ""; }
  .index-connected-customer__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.index-connected-customer__item {
  padding: 2rem 2rem;
  text-align: center;
  color: #000;
  background-color: #f8f8f8;
  border-radius: 0.7rem; }

.index-connected-customer__title {
  margin-bottom: .5em;
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1; }

.index-connected-customer__content {
  min-height: 3.6rem; }

.index-connected-customer__buttons {
  margin-top: 1rem; }

.index-connected-customer__button {
  display: inline-block;
  padding: 0 2rem;
  height: 38px;
  line-height: 38px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease; }
  .index-connected-customer__button:hover {
    color: #fff;
    background-color: #4b7b17; }

.index-connected-customer__item:first-of-type {
  color: #fff;
  text-align: left;
  background-color: rgba(0, 0, 0, 0.7); }

.index-connected-customer__item:first-of-type .index-connected-customer__title {
  color: #fff; }

.index-connected-customer__item:first-of-type .index-connected-customer__button {
  min-width: 35%;
  text-align: center;
  padding: 0 .5rem; }

.index-connected-customer__item:first-of-type .index-connected-customer__button_other {
  margin-left: 1rem;
  color: #fff;
  background-color: transparent;
  border: 1px solid #689b2f; }

.index-connected-customer__item:first-of-type .index-connected-customer__button_other:hover {
  color: #fff;
  background-color: #4b7b17;
  border-color: #4b7b17; }

@media screen and (max-width: 52.5em) {
  .index-connected-customer__content {
    min-height: 0; } }
/* Homepage: microblog - a series of short blocks (image + text)
   -------------------------------------------------------------------------- */
.index-microblog {
  margin-bottom: 5rem; }

.index-microblog__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%; }
  .index-microblog__wrapper:before {
    display: table;
    content: ""; }
  .index-microblog__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.index-microblog__post {
  color: #000;
  background-color: #f8f8f8;
  position: relative;
  border-radius: 1rem; }

.index-microblog__image {
  border-radius: 1rem; }

.index-microblog__title {
  font-size: 2.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: .5rem;
  line-height: 1.2; }

.index-microblog__content {
  line-height: 1.7; }

.index-microblog__content p + p {
  margin-top: 1rem; }

.index-microblog__spacer {
  height: 6rem; }

.index-microblog__footer {
  position: absolute;
  bottom: 1.5rem;
  right: 2rem;
  left: 2rem;
  text-align: right; }

.index-microblog__link {
  display: inline-block;
  padding: 0 2rem;
  height: 40px;
  line-height: 40px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  white-space: nowrap;
  overflow-x: hidden;
  text-overflow: ellipsis; }
  .index-microblog__link:hover {
    color: #fff;
    background-color: #4b7b17; }

@media screen and (max-width: 52.5em) {
  .index-microblog__post {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 450px; } }
/* Homepage: About us
   -------------------------------------------------------------------------- */
.index-about {
  margin-bottom: 5rem;
  color: #000; }

.index-about__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%;
  padding: 3rem 5%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  background-color: #f7f7f7;
  box-sizing: border-box;
  border-radius: 1rem; }
  .index-about__wrapper:before {
    display: table;
    content: ""; }
  .index-about__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.index-about__title {
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #1c1c1c;
  font-weight: 600;
  text-transform: uppercase; }

/* Homepage: newsletter signup form
   -------------------------------------------------------------------------- */
.index-newsletter {
  margin-bottom: 0;
  padding: 2rem 1rem;
  color: #fff;
  background-color: #141414; }

.index-newsletter__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%; }
  .index-newsletter__wrapper:before {
    display: table;
    content: ""; }
  .index-newsletter__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.index-newsletter__title {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  margin-left: -300px;
  line-height: 36px; }

.index-newsletter__fieldset {
  padding: 0 120px 0 300px; }

.index-newsletter__field {
  border: 1px solid #fff;
  height: 36px;
  line-height: 36px;
  border-radius: 0.7rem; }

.index-newsletter__button {
  display: inline-block;
  padding: 0;
  height: 36px;
  line-height: 36px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  margin-right: -120px;
  width: 115px;
  height: 36px;
  line-height: 36px; }
  .index-newsletter__button:hover {
    color: #fff;
    background-color: #4b7b17; }

@media screen and (max-width: 52.5em) {
  .index-newsletter__title {
    text-align: center;
    margin: 0 0 1rem !important; } }
/* Homepage: list of restaurants (franchises only)
   -------------------------------------------------------------------------- */
.index-shop-list {
  margin: 0;
  padding: 5rem 0 3rem;
  background-color: #f7f7f7; }

.index-shop-list__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%; }
  .index-shop-list__wrapper:before {
    display: table;
    content: ""; }
  .index-shop-list__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.index-shop-list__header {
  margin-bottom: 3rem;
  text-align: center; }

.index-shop-list__title {
  font-size: 2.8rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #1c1c1c;
  font-weight: 600;
  text-transform: uppercase; }

.index-shop-list__filter {
  display: inline-block; }

.index-shop-list__shop {
  padding: 0 1rem 3rem;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center; }

.index-shop-list__shop-title {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2; }

.index-shop-list__page {
  margin: 1rem 0 2rem;
  text-align: center; }

.index-shop-list__page-link {
  display: inline-block;
  padding: 0 3rem;
  height: 40px;
  line-height: 40px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease; }
  .index-shop-list__page-link:hover {
    color: #fff;
    background-color: #4b7b17; }

@media screen and (max-width: 52.5em) {
  .index-shop-list {
    margin: 2rem 0 0; }

  .index-shop-list__header {
    margin-bottom: 2rem; } }
@media screen and (max-width: 40em) {
  .index-shop-list__title {
    font-size: 2.5rem; } }
/* ==========================================================================
   SPECIAL FEATURES
   ========================================================================== */
/* --------------------------------------------------------------------------
   SKU BUTTONS
   (optional feature, available on touch but NOT on sidetouch)
   --------------------------------------------------------------------------
   Shows product sizes (skus) as buttons instead of selects.
   To activate, create a 'size_buttons' tag and set it on the chosen products/categories
   -------------------------------------------------------------------------- */
.sku-buttons {
  border-radius: 0em; }

.sku-buttons__text {
  color: #000;
  background-color: #ddd;
  border-left: 1px solid #fff; }

.sku-buttons__radio:checked + .sku-buttons__text {
  color: #fff;
  background-color: #000; }

.sku-buttons__radio:disabled + .sku-buttons__text {
  color: #aaa;
  background-color: #ddd; }

.sku-buttons-summary__name {
  color: #555; }

.sku-buttons-summary__value {
  color: #000; }

.sku-buttons-summary__icon:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: .2em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

/* --------------------------------------------------------------------------
   GROUPED SKUS
   (optional feature)
   --------------------------------------------------------------------------
   Group size selection at the top of the page (instead of for every product).
   To activate, create a 'size_group' tag and set it on one or several main (topmost) categories.
   -------------------------------------------------------------------------- */
.grouped-skus__title {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700; }

.grouped-skus__list {
  border-radius: 0em; }

.grouped-skus__text {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 400;
  background-color: #ddd;
  border-left: 1px solid #fff; }

.grouped-skus__item:first-child .grouped-skus__text {
  border-left: none; }

.grouped-skus__radio:checked + .grouped-skus__text {
  color: #fff;
  background-color: #000; }

.grouped-skus__radio:disabled + .grouped-skus__text {
  color: #aaa;
  background-color: #ddd; }

/* --------------------------------------------------------------------------
   CYO
   (optional page)
   --------------------------------------------------------------------------
   Makes a product editable in its own page instead of a popup.
   To activate, create a 'cyo' tag in theme.xml and set this tag on the product.
   -------------------------------------------------------------------------- */
.cyo {
  margin-top: 2rem; }

.cyo__header-title {
  margin: 0;
  font-size: 3.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1; }

.cyo__description {
  color: #010101;
  font-weight: 1.6rem;
  line-height: 1.4; }

.cyo__add-button {
  display: inline-block;
  padding: 0 2rem;
  height: 36px;
  line-height: 36px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: none; }
  .cyo__add-button:hover {
    color: #fff;
    background-color: #4b7b17; }

.cyo__add-button-price {
  margin-right: 2rem;
  padding-right: 2rem;
  border-right: 1px solid; }

.cyo__add-button-price::after {
  content: none;
  display: none; }

.cyo__content {
  padding: 3rem 4%;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 1.5rem; }

.cyo__fieldset-title {
  font-size: 2.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  padding: 0;
  border-bottom: none; }

.cyo-enum__text {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  padding: .5rem 1.5rem;
  color: #000;
  background-color: transparent; }

.cyo-enum__option {
  margin-right: .5rem;
  margin-bottom: .5rem;
  border: 1px solid #689b2f;
  border-radius: 0.7rem; }

.cyo-enum__text {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  padding: .5rem 1.5rem;
  color: #000;
  background-color: transparent;
  border-radius: 0.7rem; }

.cyo-enum__radio:checked + .cyo-enum__text {
  color: #fff;
  background-color: #689b2f; }

.cyo-enum__radio:disabled + .cyo-enum__text {
  color: #999;
  background-color: #eee;
  cursor: default;
  opacity: .7; }

.cyo-set__group-title {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 500; }

.cyo-set__text {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.cyo-set__text:before {
  top: 0;
  border-color: #000;
  background-color: #fff;
  border-radius: 4px; }

.cyo-set__text:after {
  top: 0;
  margin: 4px;
  width: 8px;
  height: 8px;
  background-color: #689b2f; }

.cyo-icon-enum__text:before {
  width: 65px;
  height: 68px;
  background: url("/assets-images/cyo_sizes.png") no-repeat; }

.cyo-icon-enum__text_small:before {
  background-position: 10px 0; }

.cyo-icon-enum__text_medium:before {
  background-position: -73px 0; }

.cyo-icon-enum__text_large:before {
  background-position: -167px 0; }

.hh-side {
  padding: 2rem;
  background-color: #fff;
  border-radius: 1.5rem; }

.hh-side__label {
  font-size: 2.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase; }

.hh-side__product-picture img {
  border-radius: 1rem; }

.hh-side__product-name {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 1rem; }

.hh-side__product-description {
  margin-top: 1rem; }

.cyo-icon-enum {
  max-width: 580px;
  text-align: justify; }

.cyo-icon-enum::after {
  content: "";
  display: inline-block;
  width: 100%; }

.cyo-icon-enum__option {
  display: inline-block;
  float: none;
  margin: .5rem 0;
  /*min-width: 90px;*/ }

.cyo-icon-enum__text {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #6a6a6a;
  font-weight: 600;
  text-transform: uppercase;
  opacity: 1; }

.cyo-icon-enum__radio:checked + .cyo-icon-enum__text {
  color: #689b2f; }

.cyo-icon-enum__text:before {
  margin: 0 auto 1rem;
  height: 86px;
  background: url("/assets-images/icon-size.png") no-repeat;
  overflow: hidden; }

.cyo-icon-enum__text_ind:before {
  width: 46px;
  background-position: 0 0; }

.cyo-icon-enum__text_sml:before {
  width: 63px;
  background-position: -141px 0; }

.cyo-icon-enum__text_med:before {
  width: 78px;
  background-position: -293px 0; }

.cyo-icon-enum__text_lrg:before {
  width: 96px;
  background-position: -458px 0; }

.cyo-icon-enum__radio:checked + .cyo-icon-enum__text_ind:before {
  background-position: 0px -100px; }
.cyo-icon-enum__radio:checked + .cyo-icon-enum__text_sml:before {
  background-position: -141px -100px; }
.cyo-icon-enum__radio:checked + .cyo-icon-enum__text_med:before {
  background-position: -293px -100px; }
.cyo-icon-enum__radio:checked + .cyo-icon-enum__text_lrg:before {
  background-position: -458px -100px; }

/* --------------------------------------------------------------------------
   LOCATOR
   (optional page)
   --------------------------------------------------------------------------
   Page which lets the user pick a restaurant based on his address.
   Functionality is similar to index shop picker, but on its own page.
   -------------------------------------------------------------------------- */
.locator {
  max-width: 96%;
  color: #000;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 2rem; }

.locator__title {
  font-size: 3rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 2rem; }

.locator__methods {
  border: 1px solid #000;
  border-radius: 0.7rem;
  overflow: hidden; }

.locator__method {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.locator__method-name {
  background-color: #fff;
  height: 40px;
  line-height: 40px; }

.locator__method input[type=radio]:checked + span {
  color: #fff;
  background-color: #000; }

.locator__postcode-input-wrapper {
  padding-right: 70px; }

.locator__postcode-input {
  font-size: 1.7rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 400;
  height: 40px;
  line-height: 40px;
  border: 1px solid #689b2f;
  float: left;
  width: 100%;
  border-radius: 0.7rem 0 0 0.7rem;
  box-sizing: border-box; }

.locator__postcode-input-wrapper_no-button .locator__postcode-input {
  border-radius: 0.7rem; }

.locator__postcode-input:-webkit-input-placeholder {
  color: #959598;
  font-size: 1.5rem; }

.locator__postcode-input:-moz-placeholder {
  color: #959598;
  font-size: 1.5rem; }

.locator__postcode-input:-ms-input-placeholder {
  color: #959598;
  font-size: 1.5rem; }

.locator__postcode-input[data-locator-error] {
  background-color: #ffd3d3; }

.locator__postcode-button {
  display: inline-block;
  padding: 0;
  height: 40px;
  line-height: 40px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  border-radius: 0 0.7rem 0.7rem 0;
  float: left;
  margin-right: -70px;
  width: 70px; }
  .locator__postcode-button:hover {
    color: #fff;
    background-color: #4b7b17; }

.locator__search-icon:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  min-width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-right: .2em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

.locator__postcode-warning {
  padding: 0;
  color: #cc1318;
  font-size: 1.4rem; }

.locator__selected {
  font-size: 1.7rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.locator__selected-value {
  color: #000;
  font-weight: 600;
  text-transform: uppercase; }

.locator__selected-link {
  font-size: 1.3rem;
  font-weight: 400;
  text-decoration: underline;
  text-transform: none; }

.locator-restaurant {
  background-color: transparent;
  border-top: 1px solid #e9e9e9; }

.locator-restaurant + .locator-restaurant {
  margin-top: 0; }

.locator-restaurant__name {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 2rem;
  color: #689b2f; }

.locator-restaurant__toggle {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  line-height: 2rem; }

.locator-restaurant__content-name {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1;
  margin-top: 1rem; }

.locator-restaurant__opening-times {
  background-color: #eaeaea; }

.locator-restaurant__address {
  font-size: 1.4rem;
  line-height: 1.2; }

.locator-restaurant__phone {
  font-size: 1.7rem; }

.locator-restaurant__button {
  display: inline-block;
  padding: 0 2rem;
  height: 34px;
  line-height: 34px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: none; }
  .locator-restaurant__button:hover {
    color: #fff;
    background-color: #4b7b17; }

.locator-restaurant__name-distance,
.locator-restaurant__content-name-distance {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 400;
  text-transform: uppercase; }

/* --------------------------------------------------------------------------
   RESTAURANTS PAGE
   (optional page)
   -------------------------------------------------------------------------- */
.restaurants__panel {
  background-color: #fff; }

@media screen and (max-width: 52.5em) {
  .restaurants__panel {
    text-align: center; } }
@media screen and (max-width: 48em) {
  .restaurants__panel {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }
.restaurants__button {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 700;
  background-color: #689b2f; }

.restaurants-search__input-wrapper {
  border: 1px solid #000;
  border-radius: 0.7rem;
  overflow: hidden; }

.restaurants-search__input {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000; }

.restaurants-search__input:placeholder {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #888; }

.restaurants-search__buttons-wrapper:after {
  border-left-color: #000; }

.restaurants-search__button {
  color: #000;
  background-color: #fff; }

.restaurants-search__warning {
  color: #d61e1e; }

.restaurants-search__icon-search,
.restaurants-search__icon-reset {
  display: inline-block;
  vertical-align: top;
  color: #689b2f;
  line-height: 1;
  font-size: 1.6rem; }

.restaurant-summary {
  color: #000;
  font-size: 1.4rem;
  line-height: 1.4;
  border-bottom-color: #ebebeb; }

.restaurant-summary:hover {
  color: #689b2f; }

.restaurant-summary__name {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2; }

.restaurant-summary__distance {
  font-weight: bold; }

.restaurant-details {
  color: #000;
  font-size: 1.4rem;
  line-height: 1.4; }

.restaurant-details__name {
  font-size: 1.8rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2; }

.restaurant-details__item_phone {
  color: #000; }

.restaurant-details__item-icon {
  color: #888; }

.restaurant-details__order-button {
  display: inline-block;
  padding: 0 1rem;
  height: 44px;
  line-height: 44px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  width: 100%; }
  .restaurant-details__order-button:hover {
    color: #fff;
    background-color: #4b7b17; }

/* --------------------------------------------------------------------------
   PASSWORD STRENGTH CHECKER
   --------------------------------------------------------------------------
   On the 'register' and 'order_step2' pages
   -------------------------------------------------------------------------- */
.password-checker {
  background-color: #fff;
  border-color: #818181; }

.password-checker:before {
  border-left-color: #818181;
  border-right-color: #818181; }

.password-checker:after {
  border-left-color: #fff;
  border-right-color: #fff; }

.password-checker__label {
  font-size: 1rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff; }

.password-checker__text {
  font-size: 1.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  letter-spacing: -0.2px; }

.password-checker__bar {
  background-color: #e8e8e8; }

.password-checker__score {
  background-color: #c64c4a; }

.password-checker__score.weak {
  width: 30%;
  background-color: #c64c4a; }

.password-checker__score.medium {
  width: 60%;
  background-color: #e1aa17; }

.password-checker__score.strong {
  width: 100%;
  background-color: #558b2f; }

.password-checker__input-message {
  font-size: 1.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  background-color: #d61e1e; }

/* --------------------------------------------------------------------------
   ADVANCED LOYALTY
   (optional feature)
   --------------------------------------------------------------------------
   Can be activated by setting the "loyalty_page" boolean parameter
   - Adds a /loyalty page
   - Adds links to this page in user, account and mobile menus
   -------------------------------------------------------------------------- */
.loyalty-badge {
  display: block;
  width: 134px;
  height: 132px;
  text-align: center;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
  font-family: Arial, Helvetica, sans-serif;
  background: url("/assets-images/icon-loyalty.png") no-repeat;
  box-sizing: border-box; }
.loyalty-badge__value {
  display: block;
  padding: 3.5rem 0 .5rem;
  font-size: 4rem;
  font-weight: 700; }
.loyalty-badge__unit {
  display: block;
  font-size: 1.6rem;
  font-weight: 900; }
.loyalty-badge_small {
  width: 80px;
  height: 80px;
  background-image: url("/assets-images/icon-loyalty-sm.png"); }
.loyalty-badge_small .loyalty-badge__value {
  padding: 1.9rem 0 .5rem;
  font-size: 2.1rem; }
.loyalty-badge_small .loyalty-badge__unit {
  display: block;
  font-size: 1rem; }

.loyalty-dropdown {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #000;
  min-height: 8.5rem;
  box-sizing: content; }

.loyalty-dropdown:before {
  content: none;
  display: none; }

.loyalty-dropdown__title {
  font-size: 1.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase; }

.loyalty-dropdown__more-link {
  color: #000;
  text-decoration: underline;
  transition: color .2s ease; }

.loyalty-dropdown__more-link:hover {
  color: #4b7b17;
  text-decoration: underline; }

.loyalty-dropdown__badge {
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.loyalty-page__banner {
  border-radius: 1.5rem; }

.loyalty-page__banner__content {
  font-size: 1.4rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff; }

.loyalty-page__banner__title {
  font-size: 3.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase; }

.loyalty-page__banner__p {
  color: #fff; }

.loyalty-page__banner__points-value {
  color: #fff;
  font-weight: 600; }

.loyalty-page__banner__note {
  color: #fff;
  font-size: 1.3rem; }

.loyalty-page__howto {
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 1.5rem; }

.loyalty-page__howto:before {
  content: none;
  display: none; }

.loyalty-page__howto__wrapper {
  color: #000; }
  .loyalty-page__howto__wrapper:before {
    display: table;
    content: ""; }
  .loyalty-page__howto__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.loyalty-page__howto__title {
  font-size: 2.2rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase; }

.loyalty-page__howto-badge {
  float: right;
  margin-right: -16rem; }

@media screen and (max-width: 40em) {
  .loyalty-page__howto__wrapper {
    padding-right: 15rem; }

  .loyalty-page__howto-badge {
    margin-right: -15rem; } }
@media screen and (max-width: 30em) {
  .loyalty-page__howto {
    padding: 2rem 1.5rem; }

  .loyalty-page__howto__wrapper {
    padding: 0; }

  .loyalty-page__howto-badge {
    float: none;
    margin: 0 0 2rem; } }
.loyalty-table {
  background-color: rgba(255, 255, 255, 0.8);
  border: 2px solid #000; }

.loyalty-table__header {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 400;
  text-transform: uppercase;
  background-color: #000; }

.loyalty-table__header th {
  font-weight: 400; }

.loyalty-table__row {
  background-color: #e8e8e8; }

.loyalty-table__row:nth-child(odd) {
  background-color: transparent; }

.loyalty-table__row:hover {
  background-color: #ebebeb; }

.loyalty-table td {
  font-size: 1.3rem;
  color: #000; }

.loyalty-table__row plus {
  color: #689b2f;
  font-weight: 400; }

.loyalty-table__row minus {
  color: #c91818;
  font-weight: 400; }

/* --------------------------------------------------------------------------
  STATIC PAGES
  -------------------------------------------------------------------------- */
.content_static {
  margin: 3rem auto; }

.static-page {
  padding: 2rem 4%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 1.5rem; }
.static-page .static-page__title {
  margin: 0 0 2rem;
  font-size: 2.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase; }
.static-page h1, .static-page h2, .static-page h3, .static-page h4, .static-page h5, .static-page h6 {
  margin: 2rem 0 .7rem;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2; }
.static-page h1 {
  font-size: 2.3rem; }
.static-page h2 {
  color: #020202;
  font-size: 2.3rem; }
.static-page h3 {
  font-size: 2rem; }
.static-page h4 {
  font-size: 2rem;
  color: #020202; }
.static-page h5 {
  font-size: 1.8rem; }
.static-page h6 {
  color: #020202;
  font-size: 1.8rem; }
.static-page p, .static-page li {
  line-height: 2; }
.static-page p {
  margin-bottom: 1rem; }

/* 2 columns page (image + text)
-----------------------------------------------*/
.static-page-cols:before {
  display: table;
  content: ""; }
.static-page-cols:after {
  display: table;
  content: "";
  clear: both; }
.static-page-cols + .static-page-cols {
  margin-top: 3rem; }
.static-page-cols__image-wrapper {
  float: left;
  padding-right: 3%;
  max-width: 45%;
  box-sizing: border-box; }
.static-page-cols__image {
  width: 100%;
  border-radius: 1.5rem; }
.static-page-cols__content {
  overflow: hidden; }
.static-page-cols__content > *:first-child {
  margin-top: 0; }
@media screen and (max-width: 52.5em) {
  .static-page-cols__image-wrapper {
    float: none;
    margin-bottom: 2rem;
    padding: 0;
    max-width: 100%; }
  .static-page-cols__image {
    width: auto; } }

/* Custom form
  --------------------------------------------------------------------------*/
/* Custom form
  --------------------------------------------------------------------------*/
.form {
  margin: 2rem 0; }
.form__group {
  font-size: 0; }
.form__group-half {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  box-sizing: border-box; }
.form__group-half:first-child {
  padding-right: .5rem; }
.form__group-half:last-child {
  padding-left: .5rem; }
.form__footer {
  margin-top: 2rem; }
@media screen and (max-width: 30em) {
  .form__group-half {
    display: block;
    width: auto; }
  .form__group-half:first-child, .form__group-half:last-child {
    padding: 0; } }
.form [data-form-validation-message] {
  display: none; }
.form [data-form-row-invalid] [data-form-validation-message] {
  display: block; }

.form-row {
  margin-bottom: 1.7rem; }
.form-row__label {
  display: block;
  margin-bottom: .8rem; }
.form-row__field-text, .form-row__field-textarea {
  width: 100%;
  box-sizing: border-box; }
.form-row__field-textarea {
  height: 90px;
  line-height: 1.2; }
.form-row__message {
  margin-top: .5rem; }

.form .nice-select {
  min-width: 170px;
  border-radius: 0.7rem;
  background-color: #fff; }
.form .nice-select.open {
  border-radius: 0.7rem 0.7rem 0 0; }
.form .nice-select .list {
  margin: 0; }

.form-row__label {
  display: block;
  margin-bottom: .8rem;
  color: #2a2a2a;
  font-size: 1.4rem;
  line-height: 1; }
.form-row__label_required:after {
  content: '*';
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1rem; }
.form-row__field-text, .form-row__field-textarea {
  padding: .4rem .5rem;
  color: #2a2a2a;
  font-size: 1.6rem;
  background-color: #fff;
  border: 1px solid #d1d1d1;
  border-radius: 0.7rem;
  box-shadow: none !important; }
.form-row__field-textarea {
  height: 90px;
  line-height: 1.2; }
.form-row [class^="form-row__field-"]::-webkit-input-placeholder {
  color: #2d2d2d;
  font-size: 1.4rem;
  font-weight: 300; }
.form-row [class^="form-row__field-"]::-moz-placeholder {
  color: #2d2d2d;
  font-size: 1.4rem;
  font-weight: 300; }
.form-row [class^="form-row__field-"]::-ms-input-placeholder {
  color: #2d2d2d;
  font-size: 1.4rem;
  font-weight: 300; }
[data-form-row-invalid] .form-row__field-text, [data-form-row-invalid] .form-row__field-textarea {
  border-color: #f00; }
.form-row__message {
  color: #f00;
  font-size: 1.3rem;
  line-height: 1; }

.form .form-buttons {
  margin: 0; }

.form .form-buttons__button {
  float: none;
  margin: 0; }

.g-recaptcha,
.g-recaptcha > div,
.g-recaptcha iframe {
  width: 100% !important;
  max-width: 100% !important; }

/* Form sent response page
  --------------------------------------------------------------------------*/
.contact-response {
  margin: 3rem 2rem;
  text-align: center; }
.contact-response .contact-response__title {
  margin: 0 0 3rem;
  font-size: 2.6rem;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  color: #689b2f;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1; }
.contact-response__content {
  font-size: 1.8rem; }
.contact-response__buttons {
  margin-top: 3rem;
  text-align: center; }
.contact-response__button {
  display: inline-block;
  padding: 0 1rem;
  height: 40px;
  line-height: 40px;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #689b2f;
  border: none;
  transition: background-color .2s ease, color .2s ease;
  margin: 2rem 0 0;
  width: 220px;
  max-width: 100%; }
  .contact-response__button:hover {
    color: #fff;
    background-color: #4b7b17; }

.hybrid_app .burger-menu {
  display: none; }
@media screen and (max-width: 52.5em) {
  .hybrid_app .header__burger-menu--app-visible .burger-menu {
    display: block; } }
