@charset "UTF-8";
/* ==========================================================================
   GENERAL
   ========================================================================== */
/* Imports
   -------------------------------------------------------------------------- */
@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
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Arial';
  src: url("/assets-fonts/arial-webfont.woff2") format("woff2"), url("/assets-fonts/arial-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal; }
@font-face {
  font-family: 'Arial';
  src: url("/assets-fonts/arial_bold-webfont.woff2") format("woff2"), url("/assets-fonts/arial_bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal; }
@font-face {
  font-family: 'Arial';
  src: url("/assets-fonts/arial_black-webfont.woff2") format("woff2"), url("/assets-fonts/arial_black-webfont.woff") format("woff");
  font-weight: 900;
  font-style: normal; }
@font-face {
  font-family: 'Arial Narrow';
  src: url("/assets-fonts/arial_narrow-webfont.woff2") format("woff2"), url("/assets-fonts/arial_narrow-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal; }
@font-face {
  font-family: 'Arial Narrow';
  src: url("/assets-fonts/arial_narrow_bold-webfont.woff2") format("woff2"), url("/assets-fonts/arial_narrow_bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal; }
/* Base font
   -------------------------------------------------------------------------- */
body {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000; }

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

.content {
  margin-top: 0;
  padding-top: 75px;
  background: url("/assets-images/header-bg-pattern.png") repeat-x 50% 0; }
  .content_index {
    margin-bottom: 0; }
  .content__wrapper {
    display: flex;
    align-items: start;
    gap: 3%; }
    .content__wrapper:before, .content__wrapper:after {
      display: none; }
  .content__main {
    order: -1; }
  .content__side {
    float: none; }
    .content__side_hidden-on-desktop {
      display: none; }
  .content__primary, .content__secondary {
    display: inline-flex; }
  .content__primary {
    align-items: flex-start;
    width: calc(100% - 20rem); }
    .content__primary .content__side {
      width: 31rem;
      flex-shrink: 0; }
    .content__primary .content__main {
      width: calc(100% - 31rem);
      padding: 0 1rem;
      box-sizing: border-box; }
  .content__secondary, .content__secondary.floater-fixed {
    margin: 0;
    flex-shrink: 0;
    width: 20rem;
    border-right: solid 1px #bbb; }
    .content__secondary .category-navigation__wrapper, .content__secondary.floater-fixed .category-navigation__wrapper {
      width: 100%; }
  .content_no-ordering .content__side {
    display: none; }
  .content_no-ordering .content__main {
    width: 100%; }
  .content_menu-leftside .content__wrapper {
    gap: 0;
    justify-content: flex-end; }
  @media screen and (max-width: 52.5em) {
    .content_menu-leftside .content__primary {
      width: 100%;
      flex-direction: column; }
    .content_menu-leftside .content__main {
      width: 100%;
      padding: 0; }
    .content_menu-leftside .content__secondary {
      display: none; }
    .content__wrapper {
      gap: 0; }
    .content__main {
      width: 100%;
      padding: 0; }
    .content__side {
      width: 0; } }

/* Page header
   -------------------------------------------------------------------------- */
.header {
  padding: 0;
  height: 7rem;
  background-color: #fff;
  box-sizing: border-box; }

.header__logo {
  position: relative; }

.header__logo-link {
  display: block;
  position: absolute;
  left: -1rem;
  top: 1rem;
  width: 172px;
  max-width: none; }

.header__logo-image {
  width: 100%; }

.topbar-fixed .header__logo-link {
  position: fixed;
  left: auto;
  top: 0;
  margin-left: 32px;
  width: 80px;
  z-index: 901; }

.page_login .header,
.page_forgot_password .header,
.reset_password .header,
.page_menu:has(.content_menu-leftside) .header,
.page_categories:has(.content_menu-leftside) .header,
.page_cyo:has(.content_menu-leftside) .header,
.page_deal_wizard:has(.content_menu-leftside) .header,
.page_favourites:has(.content_menu-leftside) .header,
.page_half_half:has(.content_menu-leftside) .header {
  height: auto; }
  .page_login .header:after,
  .page_forgot_password .header:after,
  .reset_password .header:after,
  .page_menu:has(.content_menu-leftside) .header:after,
  .page_categories:has(.content_menu-leftside) .header:after,
  .page_cyo:has(.content_menu-leftside) .header:after,
  .page_deal_wizard:has(.content_menu-leftside) .header:after,
  .page_favourites:has(.content_menu-leftside) .header:after,
  .page_half_half:has(.content_menu-leftside) .header:after {
    content: "";
    display: block;
    height: 5.7rem;
    width: 100%;
    background-color: #ff001d; }
  @media screen and (max-width: 52.5em) {
    .page_login .header,
    .page_forgot_password .header,
    .reset_password .header,
    .page_menu:has(.content_menu-leftside) .header,
    .page_categories:has(.content_menu-leftside) .header,
    .page_cyo:has(.content_menu-leftside) .header,
    .page_deal_wizard:has(.content_menu-leftside) .header,
    .page_favourites:has(.content_menu-leftside) .header,
    .page_half_half:has(.content_menu-leftside) .header {
      height: 7rem; }
      .page_login .header:after,
      .page_forgot_password .header:after,
      .reset_password .header:after,
      .page_menu:has(.content_menu-leftside) .header:after,
      .page_categories:has(.content_menu-leftside) .header:after,
      .page_cyo:has(.content_menu-leftside) .header:after,
      .page_deal_wizard:has(.content_menu-leftside) .header:after,
      .page_favourites:has(.content_menu-leftside) .header:after,
      .page_half_half:has(.content_menu-leftside) .header:after {
        display: none; } }

@media screen and (max-width: 52.5em) {
  .header__logo {
    padding-top: .3rem; }

  .header__logo-link,
  .topbar-fixed .header__logo-link {
    position: static;
    margin: 0 auto;
    width: 90px;
    max-width: 100%; } }
/* Page footer
   -------------------------------------------------------------------------- */
.footer {
  color: #fff;
  background-color: #ff001d; }

.footer__nav {
  float: none;
  margin: 0;
  padding: 0; }

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

.footer__subscription {
  float: left; }

.footer__socials {
  float: right; }

.footer__nav-links {
  clear: both;
  float: left;
  width: 100%;
  text-align: center; }

@media screen and (max-width: 52.5em) {
  .footer__subscription,
  .footer__nav-links,
  .footer__socials {
    float: none;
    width: 100%; }

  .footer__subscription {
    margin-top: 1rem; }

  .footer__socials {
    margin: 2rem auto; } }
.footer-subscription {
  display: inline-block;
  margin: .5rem 1.7rem 1.5rem;
  background-color: #a62826;
  border-radius: .4rem; }
  .footer-subscription {
    position: relative; }
  .footer-subscription__wrapper {
    position: relative;
    z-index: 2; }
  .footer-subscription:before, .footer-subscription:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1; }
.footer-subscription::before, .footer-subscription::after {
  bottom: -1.5rem;
  width: 3.3rem;
  height: 3rem;
  background: url("/assets-images/button-bg.png") no-repeat; }
.footer-subscription::before {
  left: -1.7rem;
  background-position: 0 0; }
.footer-subscription::after {
  right: -1.7rem;
  background-position: -190px 0; }
.footer-subscription__label {
  display: inline-block;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2.3rem;
  vertical-align: top;
  cursor: pointer; }
.footer-subscription__link {
  display: inline-block;
  text-decoration: none;
  padding: .7rem 1.5rem;
  line-height: 1; }
.footer-subscription__icon {
  display: inline-block;
  margin-left: .7rem;
  width: 2.9rem;
  height: 2.3rem;
  background: url("/assets-images/icon-email.png") no-repeat 0 0;
  vertical-align: top; }
@media screen and (max-width: 52.5em) {
  .footer-subscription {
    margin-top: 0; } }

.footer-socials {
  margin: 0 1.7rem 1.5rem;
  background-color: #317636;
  border-radius: .4rem; }
  .footer-socials {
    position: relative; }
  .footer-socials__wrapper {
    position: relative;
    z-index: 2; }
  .footer-socials:before, .footer-socials:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1; }
.footer-socials__wrapper {
  padding: .7rem 1.5rem;
  text-align: center; }
.footer-socials::before, .footer-socials::after {
  bottom: -1.5rem;
  width: 3.3rem;
  height: 3rem;
  background: url("/assets-images/button-bg.png") no-repeat; }
.footer-socials::before {
  left: -1.7rem;
  background-position: 0 -40px; }
.footer-socials::after {
  right: -1.7rem;
  background-position: -190px -40px; }
.footer-socials__label {
  display: inline-block;
  vertical-align: top;
  padding: .3rem 0;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 2.3rem;
  text-transform: uppercase;
  font-family: "Arial Narrow", Helvetica, sans-serif; }
.footer-socials__icons {
  display: inline-block;
  vertical-align: top; }
.footer-socials .social-icons {
  float: none;
  margin: 0 0 0 .5rem;
  padding: 0; }
.footer-socials .social-icons__icon,
.footer-socials .social-icons__icon:first-child {
  vertical-align: top;
  margin: 0 .3rem; }
@media screen and (max-width: 52.5em) {
  .footer-socials {
    display: inline-block; }
  .footer-socials__label {
    font-size: 1.5rem; } }

.hybrid_app .index-info__item_app {
  display: none !important; }

.footer__nav-links {
  margin-top: 1.5rem;
  padding: 1.5rem 0 0;
  border-top: 2px solid #fff; }

.footer__links .footer__link {
  padding: .3rem .5rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none; }

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

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

@media screen and (max-width: 52.5em) {
  .footer__links {
    margin: 0; } }
.footer__credits {
  float: none;
  margin: 0 !important;
  padding: 0;
  width: 100%;
  font-size: 1.3rem;
  background-color: #ff001d; }

.footer__credits-wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%;
  padding: 1rem 0;
  text-align: center;
  line-height: 2;
  border-top: 1px solid rgba(255, 255, 255, 0.15); }
  .footer__credits-wrapper:before {
    display: table;
    content: ""; }
  .footer__credits-wrapper:after {
    display: table;
    content: "";
    clear: both; }

.footer__credits-copyright,
.footer__credits-powered-by {
  display: inline-block; }

/* Social icons
   -------------------------------------------------------------------------- */
.social-icons__icon {
  vertical-align: bottom; }

.social-icons__link {
  display: inline-block;
  color: #fff;
  font-size: 2.8rem;
  vertical-align: top;
  height: 30px; }

.shop-info__social-icons .social-icons__link {
  width: auto;
  height: 3rem;
  color: #317636;
  font-size: 2.8rem;
  background: none;
  border: none;
  border-radius: 0; }

.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__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__google-plus,
.social-icons__twitter,
.social-icons__youtube,
.social-icons__tiktok {
  display: inline-block;
  height: 3rem;
  overflow: hidden; }

.social-icons__google-plus::before,
.social-icons__twitter::before,
.social-icons__youtube::before,
.social-icons__tiktok::before {
  line-height: 3rem; }

.social-icons__email,
.social-icons__facebook,
.social-icons__instagram,
.social-icons__snapchat {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  background: url("/assets-images/icons-social.png") no-repeat; }

.social-icons__facebook {
  background-position: 0 0; }

.social-icons__instagram {
  background-position: -4.3rem 0; }

.social-icons__snapchat {
  background-position: -8.7rem 0; }

.social-icons__email {
  background: #317636 url("/assets-images/icon-email.png") no-repeat center center;
  border-radius: .4rem; }

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

.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: .2em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ""; }

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

.gdpr-consent__title {
  font-size: 1.8rem;
  font-family: 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: #317636;
  border-radius: .5rem; }

/* NiceSelect (used as a <select> replacement)
   -------------------------------------------------------------------------- */
.nice-select__container {
  max-width: 100%; }

.nice-select {
  max-width: 100%;
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  border: 1px solid #b5b5b5;
  border-radius: 0.5rem;
  box-sizing: border-box; }

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

.nice-select .list {
  min-width: 100%;
  box-sizing: border-box; }

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

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

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

/* ==========================================================================
   NAVIGATION
   ========================================================================== */
.category-navigation__wrapper,
.account-navigation__wrapper,
.checkout-navigation__wrapper {
  padding-left: 162px;
  box-sizing: border-box; }
  .category-navigation__wrapper:has(.category-navigation__link-icon),
  .account-navigation__wrapper:has(.category-navigation__link-icon),
  .checkout-navigation__wrapper:has(.category-navigation__link-icon) {
    padding-left: 172px; }

@media screen and (max-width: 52.5em) {
  .category-navigation__wrapper,
  .account-navigation__wrapper,
  .checkout-navigation__wrapper {
    padding-left: 0; }
    .category-navigation__wrapper:has(.category-navigation__link-icon),
    .account-navigation__wrapper:has(.category-navigation__link-icon),
    .checkout-navigation__wrapper:has(.category-navigation__link-icon) {
      padding-left: 0; } }
/* Desktop navigation:
   * account pages
   * category pages (touch only)
   -------------------------------------------------------------------------- */
.category-navigation {
  background-color: #ff001d; }
  .category-navigation__list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 1.5rem 0;
    position: relative;
    padding-right: 19rem; }
    .category-navigation__list:before, .category-navigation__list:after {
      display: none; }
    .category-navigation__list:has(.category-navigation__link-icon) .category-navigation__link {
      line-height: 3.6rem;
      padding-left: 4.6rem;
      padding-top: .7rem;
      padding-bottom: .7rem;
      position: relative;
      display: flex;
      align-items: center;
      transition: background-color .3s ease; }
    .category-navigation__list:has(.category-navigation__link-icon) .category-navigation__link:hover,
    .category-navigation__list:has(.category-navigation__link-icon) .category-navigation__item_active .category-navigation__link {
      color: #fff;
      background-color: #317636;
      border-radius: .5rem; }
    .category-navigation__list:has(.category-navigation__link-icon) .category-navigation__link-icon,
    .category-navigation__list:has(.category-navigation__link-icon) .category-navigation__favourite-icon {
      position: absolute;
      transform: translateY(-50%);
      top: 50%;
      left: .2rem;
      width: 3.6rem;
      height: 3.6rem;
      object-fit: contain;
      border-radius: .5rem; }
    .category-navigation__list:has(.category-navigation__link-icon) .category-navigation__favourite-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0; }
    @media screen and (max-width: 52.5em) {
      .category-navigation__list:has(.category-navigation__link-icon) {
        padding: 0; } }
  .category-navigation__item {
    font-size: 1.8rem;
    font-family: Arial, Helvetica, sans-serif;
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.2;
    vertical-align: top; }
  .category-navigation__link {
    padding: .3rem 1rem;
    color: #fff;
    background-color: transparent;
    transition: color .3s ease; }
  .category-navigation__link:hover, .category-navigation__item_active .category-navigation__link {
    color: #4a9f50; }

.category-navigation__item_favourites {
  position: absolute;
  right: 0;
  /*
  float: right;
  font-size: 1.4rem;
  line-height: 1.5; */ }

.category-navigation_mobile .category-navigation__list {
  padding-right: 0;
  flex-wrap: nowrap; }
.category-navigation_mobile .category-navigation__item {
  margin: 0; }
.category-navigation_mobile .category-navigation__item_favourites {
  float: none;
  position: static; }
.category-navigation_mobile .category-navigation__favourite-icon {
  float: none;
  margin: 0 .5rem 0 0; }

.category-navigation__favourite-icon {
  float: right;
  margin-left: 1rem; }
  .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: ""; }

.category-navigation_mobile {
  height: 5rem;
  background-color: #ff001d; }
.category-navigation_mobile .category-navigation__list {
  margin: 0; }
.category-navigation_mobile .category-navigation__item {
  color: #fff; }
.category-navigation_mobile .category-navigation__item_active {
  color: #4a9f50; }
.category-navigation_mobile .category-navigation__link {
  padding: 1rem 1rem; }
.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: #fff; }

.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: 0;
  width: 14px;
  height: 100%;
  z-index: 20; }

.category-navigation_mobile-icon-left {
  left: 0;
  background: -webkit-linear-gradient(left, #ff001d 0%, rgba(255, 0, 29, 0) 100%);
  background: linear-gradient(to right, #ff001d 0%, rgba(255, 0, 29, 0) 100%);
  border-left: 8px solid #ff001d; }

.category-navigation_mobile-icon-right {
  right: 0;
  background: -webkit-linear-gradient(right, #ff001d 0%, rgba(255, 0, 29, 0) 100%);
  background: linear-gradient(to left, #ff001d 0%, rgba(255, 0, 29, 0) 100%);
  border-right: 8px solid #ff001d; }

.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: #fff;
  font-size: 1.9rem; }

.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: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; }

.content_menu-leftside .category-navigation {
  background-color: transparent;
  margin-right: 1rem; }
  .content_menu-leftside .category-navigation__wrapper {
    padding-left: 0; }
    .content_menu-leftside .category-navigation__wrapper:before, .content_menu-leftside .category-navigation__wrapper:after {
      display: none; }
  .content_menu-leftside .category-navigation__list {
    display: flex;
    flex-direction: column;
    margin: 0;
    gap: .5rem;
    padding-right: 0; }
    .content_menu-leftside .category-navigation__list:before, .content_menu-leftside .category-navigation__list:after {
      display: none; }
    .content_menu-leftside .category-navigation__list:has(.category-navigation__link-icon) .category-navigation__link {
      line-height: 2rem; }
  .content_menu-leftside .category-navigation__item {
    font-size: 1.6rem;
    line-height: 2rem; }
    .content_menu-leftside .category-navigation__item_favourites {
      font-size: 1.6rem;
      position: static; }
  .content_menu-leftside .category-navigation__link {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    min-height: 4rem;
    color: #ff001d;
    box-sizing: border-box;
    transition: background-color .3s ease;
    border-radius: .5rem; }
  .content_menu-leftside .category-navigation .category-navigation__link:hover,
  .content_menu-leftside .category-navigation .category-navigation__item_active .category-navigation__link {
    color: #fff;
    background-color: #ff001d; }
  .content_menu-leftside .category-navigation__favourite-icon {
    float: none;
    margin-left: 0; }

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

.account-navigation__list {
  margin: 1.5rem 0; }

.account-navigation__item {
  font-size: 1.8rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.2;
  vertical-align: top; }

.account-navigation__link {
  padding: .3rem 1rem;
  transition: background-color .3s ease, color .3s ease; }

.account-navigation__link:hover,
.account-navigation__item_active .account-navigation__link {
  color: #4a9f50; }

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

.checkout-navigation__item {
  padding: 0 6rem 0 3rem;
  font-size: 2.3rem;
  font-family: "Arial Narrow", Helvetica, sans-serif;
  color: #fff;
  font-weight: 400;
  background: url("/assets-images/arrow.png") right center no-repeat; }

.checkout-navigation__item_active {
  color: #fff; }

.checkout-navigation__item_active ~ .checkout-navigation__item {
  padding: 0 0 0 4rem;
  background-image: none; }

.checkout-navigation__item_active:after,
.checkout-navigation__item_active:before {
  content: none;
  display: none; }

@media screen and (max-width: 65em) {
  .checkout-navigation__item {
    padding: 0 4rem 0 2rem;
    font-size: 2rem; }

  .checkout-navigation__item_active ~ .checkout-navigation__item {
    padding: 0 0 0 3rem; } }
@media screen and (max-width: 52.5em) {
  .checkout-navigation__item {
    padding: 0 3rem 0 1.5rem; }

  .checkout-navigation__item_active ~ .checkout-navigation__item {
    padding: 0 0 0 2rem; } }
@media screen and (max-width: 30em) {
  .checkout-navigation__item {
    padding: 0 2.7rem 0 1rem;
    font-size: 1.7rem; }

  .checkout-navigation__item_active ~ .checkout-navigation__item {
    padding: 0 0 0 1rem; } }
/* Desktop: user and shop menus
-------------------------------------------------------------------------- */
.dropdown-menu__header-link {
  display: block;
  position: relative;
  height: 7rem;
  padding: 1.9rem 1rem 0 4.8rem;
  color: #ff001d;
  line-height: 1.15;
  border-left: 1px solid #bababa;
  box-sizing: border-box;
  transition: color .3s ease; }
.dropdown-menu__header-icon {
  display: block;
  position: absolute;
  left: .9rem;
  top: 0;
  width: 3.2rem;
  height: 100%;
  background: url("/assets-images/icons-header.png") no-repeat; }
.dropdown-menu_loyalty .dropdown-menu__header-icon {
  background-position: 0 50%; }
.dropdown-menu_user .dropdown-menu__header-icon {
  background-position: -382px 50%; }
.dropdown-menu_shop .dropdown-menu__header-icon {
  background-position: -206px 50%; }
.dropdown-menu__header-title {
  display: block;
  white-space: nowrap;
  font-size: 1.4rem;
  font-weight: 900;
  text-transform: uppercase; }
.dropdown-menu__header-subtitle {
  display: block;
  white-space: nowrap;
  font-size: 1.4rem; }

.dropdown-menu__body {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #fff;
  border: 1px solid #ff001d;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  border-radius: 1rem;
  overflow: hidden; }

.dropdown-menu__body-link {
  color: #ff001d;
  text-decoration: underline; }

.dropdown-menu__body-link:hover {
  color: #000;
  text-decoration: underline; }

.dropdown-menu__item-link {
  display: block;
  padding: 1rem 1.5rem;
  color: #ff001d;
  font-size: 1.3rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .3s ease, color .3s ease; }

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

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

/* Mobile: menu on the left (navigation)
   -------------------------------------------------------------------------- */
.header__burger-menu {
  margin-top: 1rem; }

.burger-menu__line {
  height: 6px;
  border-top: 2px solid #ff001d; }

.mobile-menu__header {
  background-color: #ff001d; }

.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.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  background-color: #fff; }

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

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

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

.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 #efefef; }

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

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

.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-menu:has(.mobile-menu__item-link-icon) .mobile-menu__item-link {
  padding-left: 5.7rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  line-height: 3.8rem;
  position: relative; }
.mobile-menu:has(.mobile-menu__item-link-icon) .mobile-menu__favourite-icon,
.mobile-menu:has(.mobile-menu__item-link-icon) .mobile-menu__item-link-icon {
  display: block;
  position: absolute;
  height: 3.2rem;
  width: 3.2rem;
  left: 1.7rem;
  top: 50%;
  transform: translateY(-50%);
  object-fit: contain;
  border-radius: .5rem; }
.mobile-menu:has(.mobile-menu__item-link-icon) .mobile-menu__favourite-icon {
  display: flex;
  justify-content: center;
  align-items: center; }

.mobile-credits {
  color: #fff;
  font-size: .86em;
  background-color: #ff001d;
  box-shadow: none; }

/* Mobile: menu on the right (basket)
   -------------------------------------------------------------------------- */
.header__basket-menu {
  margin-top: 1.5rem; }

.basket-menu__basket-icon {
  color: #ff001d; }
  .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: .2em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.basket-menu__items {
  background-color: #fff;
  border: 2px solid #ff001d; }

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

.shop-info__title {
  margin-top: .6rem;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #317636;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2; }

.shop-info__feature-title {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700;
  text-transform: uppercase; }

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

.shop-info__link {
  color: #000; }

.shop-info_mobile .shop-info__title {
  float: none;
  margin: 0 0 1.5rem; }
.shop-info_mobile .shop-info__social-icons {
  float: none; }

/* ==========================================================================
   CATEGORY PAGE
   ========================================================================== */
/* Page header
   -------------------------------------------------------------------------- */
.category__title {
  font-size: 4.3rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1; }
  .category__title:has(.category__title-icon) .category__title-text {
    display: flex;
    align-items: center; }
  .category__title:has(.category__title-icon) .category__title-icon {
    width: 3.6rem;
    height: 3.6rem;
    object-fit: contain;
    margin-right: 1rem;
    border-radius: .5rem; }
.category__subcategory-title {
  font-size: 2rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 900; }
.category__subcategory-title ~ .category__description {
  margin: -1rem 0 2rem; }
.category__description {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000; }
.category__products {
  --gap: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  margin: 0;
  container-type: inline-size;
  container-name: product-container; }
  .category__products:before, .category__products:after {
    display: none; }
  .category__products:has(.product_monoblock) {
    --gap: 1rem;
    gap: var(--gap); }
.category__products_favourites {
  gap: 0; }
@media screen and (max-width: 52.5em) {
  .category__products {
    gap: 1rem; } }

/* Subcategory filter
   -------------------------------------------------------------------------- */
.category__subcategory {
  margin-top: 2.5rem; }

.category__subcategory + .category__subcategory {
  margin-top: 2.5rem; }

.category__subcategory_hidden {
  display: none; }

.subcategory-filter {
  margin: 3rem 0 2rem; }
.subcategory-filter_hidden {
  display: none; }
.subcategory-filter__list {
  text-align: center;
  display: flex;
  flex-flow: wrap;
  justify-content: space-around; }
.subcategory-filter__item {
  display: inline-block;
  margin: 0 .3rem 1rem; }
.subcategory-filter__link {
  text-decoration: none; }
.subcategory-filter__link-text {
  color: #317636;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap; }

.subcategory-filter__link {
  display: inline-block;
  position: relative;
  margin: 0 1.2rem 1.1rem; }
.subcategory-filter__link-text {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: .5rem 1.2rem;
  line-height: 1;
  border: 1px solid #317636;
  border-radius: .3rem; }
.subcategory-filter__link:before, .subcategory-filter__link:after {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  bottom: -1rem;
  height: 2.2rem;
  background: url("/assets-images/subcat-filter-bg.png") no-repeat; }
.subcategory-filter__link:before {
  left: -1.1rem;
  width: calc(100% + 2.4rem);
  background-position: 0 0; }
.subcategory-filter__link:after {
  right: -1.1rem;
  width: 2.4rem;
  background-position: 0 -35px; }

.subcategory-filter__item_active .subcategory-filter__link-text {
  color: #fff;
  background-color: #317636; }
.subcategory-filter__item_active .subcategory-filter__link:before, .subcategory-filter__item_active .subcategory-filter__link:after {
  bottom: -1rem;
  width: 2.3rem;
  height: 2rem; }
.subcategory-filter__item_active .subcategory-filter__link:before {
  left: -1.3rem;
  width: calc(100% + 2.6rem);
  background-position: 0 -70px; }
.subcategory-filter__item_active .subcategory-filter__link:after {
  right: -1.3rem;
  background-position: 0 -105px; }

/* Product
   -------------------------------------------------------------------------- */
.product {
  width: calc(25% - 3 * var(--gap)/4);
  border-radius: 1rem;
  padding: 0;
  margin: 0;
  float: none; }
  .product_favourites {
    padding: 1rem;
    width: 100%; }
  .product__name {
    font-size: 1.5rem;
    font-family: Arial, Helvetica, sans-serif;
    color: #ff001d;
    font-weight: 900; }
  .product__description {
    font-size: 1.3rem;
    font-family: Arial, Helvetica, sans-serif;
    color: #000;
    line-height: 1.2; }
  .product__price {
    font-size: 1.5rem;
    font-family: "Arial Narrow", Helvetica, sans-serif;
    color: #ff001d;
    font-weight: 700; }
  .product__sku-label {
    font-size: 1.3rem;
    font-family: Arial, Helvetica, sans-serif;
    color: #000; }
  .product__picture {
    border-radius: 1rem;
    overflow: hidden; }
@container product-container (max-width: 840px) {
  .product {
    width: calc(33.33% - 2 * var(--gap)/3); }
    .product:not(.product_monoblock).product_favourites {
      width: 100%; } }
@container product-container (max-width: 560px) {
  .product {
    width: calc(50% - var(--gap) / 2); }
    .product:not(.product_monoblock).product_favourites {
      width: 100%; } }
@container product-container (max-width: 350px) {
  .product {
    width: 100%; } }
  @media screen and (max-width: 52.5em) {
    .product:not(.product_monoblock) {
      width: 100%; }
    .product_favourites {
      padding: 0; }
    .product__name {
      font-size: 1.4rem; }
    .product__description {
      font-size: 1.3rem; } }

/* product counter */
.product_with-counter:after {
  background-color: #ff001d; }

.product__counter {
  color: #ff001d; }

.product__mobile-price {
  font-size: 0;
  box-sizing: border-box; }
  .product__mobile-price .product__price {
    display: block;
    font-size: 1.4rem;
    font-family: Arial, sans-serif;
    margin-left: .5rem; }

.product_improved .product__mobile-price-from,
.product_improved .product__mobile-price-value {
  color: #317636;
  font-size: 1.4rem;
  font-weight: 700;
  display: inline-block;
  vertical-align: top;
  line-height: 2rem; }

/* Product zebra. Used in:
   * sidetouch categories page
   * touch & sidetouch favourites page
   -------------------------------------------------------------------------- */
.product_sidetouch {
  background-color: #fafafa; }

.product_sidetouch:nth-child(2n+1) {
  background-color: #f0f0f0; }

.product_favourites {
  background-color: #fafafa; }
  .product_favourites:nth-child(2n+1) {
    background-color: #f0f0f0; }

@media screen and (max-width: 52.5em) {
  .product_improved {
    background-color: #fafafa; }

  .product_improved:nth-child(2n+1) {
    background-color: #f0f0f0; } }
/* Add & customise buttons
   -------------------------------------------------------------------------- */
.product__buttons {
  margin-top: 1rem;
  font-size: 0;
  text-align: center; }

.product__customise {
  display: inline-block;
  float: none;
  width: 45%;
  height: 2.6rem;
  line-height: 2.6rem;
  color: #317636;
  font-size: 1.3rem;
  line-height: 2;
  text-align: left;
  transition: color .3s ease;
  box-sizing: border-box; }

.product__customise:hover {
  color: #ff001d; }

.product__add {
  display: inline-block;
  font-size: 1.3rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  width: auto;
  min-width: 14rem;
  max-width: calc(100% - 2rem);
  height: auto;
  line-height: 1;
  background-color: #317636;
  border-radius: .3rem;
  box-sizing: border-box; }

.product__customise + .product__add {
  float: none;
  width: calc(55% - 2rem);
  min-width: 0; }

.product_favourites .product__add {
  padding: .3rem 1rem; }

.product__add {
  margin: 0 1rem .8rem;
  padding: .3rem 1rem; }
  .product__add {
    position: relative; }
  .product__add__wrapper {
    position: relative;
    z-index: 2; }
  .product__add:before, .product__add:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1; }
.product__add-wrapper {
  position: relative;
  z-index: 2; }
.product__add:before, .product__add:after {
  bottom: -.8rem;
  height: 1.6rem;
  background: url("/assets-images/button-bg-sm.png") no-repeat; }
.product__add:before {
  left: -1rem;
  width: calc(100% + 2rem);
  background-position: 0 0; }
.product__add:after {
  right: -1rem;
  width: 1.9rem;
  background-position: 0 -20px; }

/* Favourite icon
   -------------------------------------------------------------------------- */
.product__favourite {
  text-decoration: none; }

.product__favourite_add .product__favourite-icon {
  color: #ff001d; }
  .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: #ff001d; }
  .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 [Modified]
   -------------------------------------------------------------------------- */
.deal-wizard-navigation {
  background-color: transparent; }

.deal-wizard-navigation__tab {
  font-size: 1.3rem;
  background-color: #e8e8e8; }

.deal-wizard-navigation__tab:nth-child(3n),
.deal-wizard-navigation__tab:last-child {
  background-color: transparent; }

/* 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:nth-child(3n-2):before {
  display: none; }

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

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

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

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

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

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

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

.deal-wizard-navigation__tab_active ~ .deal-wizard-navigation__tab .deal-wizard-navigation__link {
  color: #000;
  background-color: #e8e8e8; }

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

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

.deal-wizard-navigation__tab_active ~ .deal-wizard-navigation__tab .deal-wizard-navigation__link:after {
  border-left-color: #e8e8e8; }

.deal-wizard-navigation__title:after {
  background: -webkit-linear-gradient(left, rgba(255, 0, 29, 0), #ff001d);
  background: linear-gradient(to right, rgba(255, 0, 29, 0), #ff001d); }

.deal-wizard-navigation__tab_active ~ .deal-wizard-navigation__tab .deal-wizard-navigation__title:after {
  background: -webkit-linear-gradient(left, rgba(232, 232, 232, 0), #e8e8e8);
  background: linear-gradient(to right, rgba(232, 232, 232, 0), #e8e8e8); }

.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:last-child:before,
.deal-wizard-navigation__tab:last-child .deal-wizard-navigation__link:last-child:after {
  content: none;
  display: none; }

/* Product tags / pictos
   -------------------------------------------------------------------------- */
.product-pictos {
  margin-top: .5rem; }

.product-pictos__info {
  text-align: right; }

.popup .product-pictos__info {
  text-align: left; }

.product-picto {
  display: inline-block;
  vertical-align: bottom;
  width: 26px;
  height: 26px;
  font-size: 2rem;
  background: url("/assets-images/pictos-sm.png") no-repeat; }

.product-picto_epice {
  background-position: -573px 0; }

.product-picto_vegetarian {
  background-position: -613px 0; }

.product-picto_vegan {
  background-position: -655px 0; }

.product-picto_sans-gluten {
  background-position: -695px 0; }

.product-picto_halal {
  background-position: -739px 0; }

.product-picto_gluten {
  background-position: 0 0; }

.product-picto_oeufs {
  background-position: -40px 0; }

.product-picto_lait {
  background-position: -81px 0; }

.product-picto_arachides {
  background-position: -122px 0; }

.product-picto_fruits-a-coques {
  background-position: -162px 0; }

.product-picto_soja {
  background-position: -203px 0; }

.product-picto_sesame {
  background-position: -245px 0; }

.product-picto_lupin {
  background-position: -285px 0; }

.product-picto_sulfites {
  background-position: -325px 0; }

.product-picto_moutardes {
  background-position: -368px 0; }

.product-picto_celeri {
  background-position: -409px 0; }

.product-picto_mollusques {
  background-position: -448px 0; }

.product-picto_crustaces {
  background-position: -489px 0; }

.product-picto_poissons {
  background-position: -531px 0; }

.product .product-pictos {
  margin: .5rem 0 .7rem;
  padding: 0 .5rem;
  text-align: center;
  box-sizing: border-box; }
.product .product-picto {
  width: 22px;
  height: 22px;
  background-image: url("/assets-images/pictos-sm-prod.png"); }
.product .product-picto_epice {
  background-position: -485px 0; }
.product .product-picto_vegetarian {
  background-position: -518px 0; }
.product .product-picto_vegan {
  background-position: -554px 0; }
.product .product-picto_sans-gluten {
  background-position: -588px 0; }
.product .product-picto_halal {
  background-position: -626px 0; }
.product .product-picto_gluten {
  background-position: 0 0; }
.product .product-picto_oeufs {
  background-position: -34px 0; }
.product .product-picto_lait {
  background-position: -69px 0; }
.product .product-picto_arachides {
  background-position: -103px 0; }
.product .product-picto_fruits-a-coques {
  background-position: -137px 0; }
.product .product-picto_soja {
  background-position: -171px 0; }
.product .product-picto_sesame {
  background-position: -207px 0; }
.product .product-picto_lupin {
  background-position: -241px 0; }
.product .product-picto_sulfites {
  background-position: -275px 0; }
.product .product-picto_moutardes {
  background-position: -311px 0; }
.product .product-picto_celeri {
  background-position: -346px 0; }
.product .product-picto_mollusques {
  background-position: -379px 0; }
.product .product-picto_crustaces {
  background-position: -414px 0; }
.product .product-picto_poissons {
  background-position: -450px 0; }

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

.product-legend__list {
  margin-top: 1rem;
  text-align: center; }

.product-legend__list_info {
  color: #077e36; }

.product-legend__list_warning {
  color: #ed1c24; }

.product-legend__item {
  display: inline-block;
  margin: .2rem .5rem;
  color: inherit;
  font-size: 1.4rem; }

.product-legend__item-name {
  display: inline-block;
  vertical-align: top;
  font-size: 1.3rem;
  line-height: 26px;
  white-space: nowrap; }

.product-legend .product-picto {
  vertical-align: top;
  margin-right: .2rem; }

/* PRODUCT MONOBLOCK */
.product_monoblock .product__wrapper {
  position: relative;
  overflow: hidden;
  background-color: transparent;
  border: 2px solid #f0f0f0;
  border-radius: 1rem;
  padding: 0 0 1rem;
  transition: all .4s ease;
  box-sizing: border-box; }
  .product_monoblock .product__wrapper:hover {
    border-color: #ff001d;
    transform: translate(0, -0.4rem);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4); }
.product_monoblock .product__picture-container {
  width: 100%;
  margin: 0 auto 1rem;
  border-radius: 0;
  position: relative;
  aspect-ratio: 800/580; }
.product_monoblock .product__picture {
  position: absolute;
  max-height: 100%;
  max-width: 100%;
  object-fit: cover; }
  .product_monoblock .product__picture_placeholder {
    opacity: 0; }
.product_monoblock.product_with-counter .product__wrapper {
  border-color: #ff001d; }
.product_monoblock.product_with-counter .product__counter {
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  color: #fff;
  background-color: #ff001d;
  border-radius: 0 0 0 0.5rem; }
.product_monoblock .product__bottom {
  display: none;
  margin-top: 0; }
.product_monoblock .product__buttons {
  float: none; }
.product_monoblock .product__add {
  margin: 0 1rem .8rem;
  padding: .3rem 1rem; }
.product_monoblock .product__mobile-button {
  display: block; }
.product_monoblock .product__top {
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 .5rem; }
.product_monoblock .product__name {
  order: -1;
  margin-bottom: 1rem;
  text-align: center; }
.product_monoblock .product__description {
  text-align: center; }
.product_monoblock.product_improved .product__favourite {
  position: relative;
  z-index: 10; }
.product_monoblock.product_favourites {
  background-color: transparent;
  padding: 0; }
  .product_monoblock.product_favourites:nth-child(2n+1) {
    background-color: transparent; }
  .product_monoblock.product_favourites .product__picture-container {
    width: 100%;
    margin: 0 auto 1rem; }
    .product_monoblock.product_favourites .product__picture-container ~ * {
      margin-left: 0; }
  .product_monoblock.product_favourites .product__buttons {
    margin-top: 1rem; }
  .product_monoblock.product_favourites .product__add {
    width: auto;
    padding: .5rem 1.5rem; }
@media screen and (max-width: 52.5em) {
  .product_monoblock.product_with-counter .product__counter {
    margin-right: 0; }
  .product_monoblock.product_with-counter:after {
    display: none; }
  .product_monoblock .product__top {
    display: block;
    margin-bottom: 2.9rem; }
    .product_monoblock .product__top:has(~ .product__mobile-price) {
      margin-bottom: 1rem; }
  .product_monoblock .product-pictos {
    text-align: center; }
  .product_monoblock .product__mobile-price {
    padding: 0 .5rem; } }
@media screen and (max-width: 30em) {
  .product_monoblock {
    width: calc(50% - var(--gap) / 2); } }

/* ==========================================================================
   BASKET
   ========================================================================== */
/* Basket header
   -------------------------------------------------------------------------- */
.basket__header {
  background-color: #c4c78b;
  border-radius: 1rem 1rem 0 0; }
  @media screen and (max-width: 52.5em) {
    .basket__header {
      border-radius: 0; } }

.basket__title {
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 900;
  text-transform: uppercase; }

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

.basket__close {
  margin: -.4rem -1rem 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: ""; }

/* Basket item
   -------------------------------------------------------------------------- */
.basket__items {
  background-color: #e5e8b7; }

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

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

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

.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: #ff001d; }

.basket__empty {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700;
  background-color: #e5e8b7; }

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

.basket-deal__title {
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 700; }

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

.basket-deal__delete {
  padding-top: .2rem; }

.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: 0;
    margin-left: 0;
    -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: #d4d7ab; }

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

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

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

.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: #ff001d; }

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

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

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

/* Delivery method switcher
   -------------------------------------------------------------------------- */
.basket__delivery {
  margin: .5rem 0 1.5rem; }

.basket__delivery_radio {
  font-size: 1.5rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 900;
  text-transform: uppercase;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  overflow: hidden; }

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

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

/* Basket footer
   -------------------------------------------------------------------------- */
.basket__footer {
  color: #000;
  background-color: #c4c78b;
  border-radius: 0 0 1rem 1rem; }
  @media screen and (max-width: 52.5em) {
    .basket__footer {
      border-radius: 0; } }

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

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

.text-below-basket {
  color: #000;
  background-color: #ffe480;
  border-radius: 1rem; }
  @media screen and (max-width: 52.5em) {
    .text-below-basket {
      border-radius: 0; } }

.basket__savings {
  color: #4a9f50;
  background-color: #e5e8b7; }

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

.basket__total {
  margin: .7rem 0; }

.basket__total-title,
.basket__total-amount {
  font-size: 2.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900; }

.basket__button-link {
  display: inline-block;
  padding: 0 1rem;
  height: 36px;
  line-height: 36px;
  font-size: 1.7rem;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  border-radius: .5rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #ff001d;
  border: none;
  transition: background-color .3s ease, color .3s ease; }
  .basket__button-link:hover {
    color: #fff;
    background-color: #317636; }

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

.basket__coupon-link {
  color: #ff001d; }

.mobile-basket-button__link {
  color: #fff;
  text-decoration: none;
  background-color: #ff001d; }
.mobile-basket-button .mobile-basket-button__link:after {
  top: 0;
  left: 50%;
  height: 100%;
  border-right: 2px solid; }
.mobile-basket-button__part:nth-child(2) {
  font-size: 0; }
.mobile-basket-button__part:nth-child(2):before {
  content: "+";
  display: inline-block;
  font-size: 4.6rem;
  line-height: 1; }
.mobile-basket-button .mobile-basket-button__items {
  display: inline-block;
  vertical-align: top;
  padding: 1rem 0 1rem 2.8rem;
  height: 2.6rem;
  line-height: 2.6rem;
  font-size: 2.6rem;
  background: url("/assets-images/icon-order.png") no-repeat 0 center; }
.mobile-basket-button .mobile-basket-button__icon {
  display: inline-block;
  vertical-align: inherit;
  float: none;
  margin: 0 .3rem 0 .7rem;
  padding: 0;
  width: auto;
  border: none; }
.mobile-basket-button .mobile-basket-button__icon:before, .mobile-basket-button .mobile-basket-button__icon:after {
  content: none;
  display: none; }
.mobile-basket-button .mobile-basket-button__nb-items {
  display: inline-block;
  vertical-align: inherit;
  font-size: 1.6rem;
  line-height: 2.6rem; }
.mobile-basket-button__nb-items:before {
  content: "(";
  display: inline-block; }
.mobile-basket-button__nb-items:after {
  content: ")";
  display: inline-block; }
.mobile-basket-button__total {
  display: inline-block;
  vertical-align: inherit; }

/* 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; } }
/* Basket upselling
   -------------------------------------------------------------------------- */
.basket__upselling {
  margin-top: 2rem; }

.basket-upselling {
  position: relative;
  padding: 2.5rem 1.2rem; }
.basket-upselling__image-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1rem; }
.basket-upselling__image {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: none;
  min-height: 100%;
  min-width: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }
.basket-upselling__header {
  position: relative;
  color: #fff;
  text-align: center; }
.basket-upselling__title {
  margin: 0;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase; }
.basket-upselling__description {
  margin-top: 1.5rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6; }
.basket-upselling__footer {
  position: relative;
  margin-top: 2rem; }
.basket-upselling__button {
  display: inline-block;
  padding: 0 1rem;
  height: 32px;
  line-height: 32px;
  font-size: 1.6rem;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  border-radius: .5rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #ff001d;
  border: none;
  transition: background-color .3s ease, color .3s ease;
  font-weight: 700;
  width: 100%;
  margin-top: 1rem; }
  .basket-upselling__button:hover {
    color: #fff;
    background-color: #317636; }
.basket-upselling .nice-select__container {
  width: 100%; }
.basket-upselling .nice-select {
  width: 100%; }
.basket-upselling .nice-select .list {
  max-height: 130px;
  overflow: auto; }
@media screen and (max-width: 52.5em) {
  .basket-upselling__image-wrapper {
    border-radius: 0; } }

/* ==========================================================================
   CUSTOMIZATION POPUP
   ========================================================================== */
.popup {
  border-radius: 1rem;
  overflow: hidden; }
  @media screen and (max-width: 52.5em) {
    .popup {
      border-radius: 0; }
      .popup.popup_improved.popup_full-height {
        height: 100%; } }

.popup__description {
  font-size: 1.4rem;
  font-family: 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: 2.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  line-height: 1; }

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

.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: 1rem;
  color: #317636; }

.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 .product-pictos {
  margin: 1rem 0 0; }

/* Popup group
   -------------------------------------------------------------------------- */
.popup-group_improved .popup-group__label,
.popup-group_improved .popup-group__single-choice {
  width: 110px; }

.popup-group__quantity-field {
  font-size: 1.6rem;
  border-radius: .5rem; }

.popup-group__quantity-minus-icon {
  margin-right: .7em;
  color: #ff001d; }
  .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: .2em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

.popup-group__quantity-plus-icon {
  margin-left: .7em;
  color: #ff001d; }
  .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: .2em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""; }

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

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

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

.popup-row__description {
  color: #777; }

/* Popup enum
   -------------------------------------------------------------------------- */
.popup-enum__text {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700;
  text-transform: uppercase;
  padding: .5rem 1rem;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
  box-sizing: border-box;
  border-radius: .5rem;
  overflow: hidden; }

.popup-enum__radio:checked + .popup-enum__text {
  color: #fff;
  background-color: #ff001d;
  border: 1px solid #ff001d; }

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

/* Popup set
   -------------------------------------------------------------------------- */
.popup-set__group-title {
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #777;
  font-weight: 700; }

.popup-set__title {
  color: #000; }

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

.popup-set__text:before {
  border-color: #000;
  background-color: #fff; }

.popup-set__text:after {
  background-color: #ff001d; }

.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: #ff001d; }

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

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

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

/* Popup buttons
   -------------------------------------------------------------------------- */
.popup-buttons__button {
  color: #fff;
  background-color: #ff001d;
  border: none;
  padding: 1rem 2rem;
  border-radius: 0;
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease;
  border-radius: 1rem 0 0 0; }
  .popup-buttons__button:hover {
    color: #fff;
    background-color: #317636; }
  @media screen and (max-width: 52.5em) {
    .popup-buttons__button {
      border-radius: 0; } }

.popup-buttons__button:hover {
  background-color: #317636; }

.popup-buttons_improved .popup-buttons__button {
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700; }

.popup-buttons__link {
  color: #317636;
  font-size: 1.6rem;
  font-weight: 900;
  text-decoration: underline;
  transition: color .3s ease; }
  .popup-buttons__link:hover {
    color: #ff001d;
    text-decoration: underline; }

.popup-buttons_improved .popup-buttons__button {
  min-width: 0;
  text-align: center; }
.popup-buttons_improved .popup-buttons__button-price {
  padding: 0 3rem;
  width: auto;
  font-size: 2.6rem;
  font-weight: 400;
  border-right: 2px solid #fff;
  box-sizing: border-box; }
.popup-buttons_improved .popup-buttons__button-price:before {
  content: '';
  display: inline-block;
  margin-right: 1rem;
  width: 28px;
  height: 46px;
  font-weight: 400;
  background: url("/assets-images/icon-order.png") no-repeat left center;
  vertical-align: top; }
.popup-buttons_improved .popup-buttons__button-price:after {
  content: none;
  display: none; }
.popup-buttons_improved .popup-buttons__button-price + .popup-buttons__button-text {
  padding: 0 3rem;
  width: auto;
  font-size: 1.8rem;
  font-weight: 400; }
@media screen and (max-width: 52.5em) {
  .popup-buttons_improved .popup-buttons__button-price {
    width: 50%;
    padding: 0; }
  .popup-buttons_improved .popup-buttons__button-price + .popup-buttons__button-text {
    width: 50%;
    padding: 0;
    font-size: 1.6rem; } }
@media screen and (max-width: 30em) {
  .popup-buttons_improved .popup-buttons__button-price {
    width: 40%;
    font-size: 2rem; }
  .popup-buttons_improved .popup-buttons__button-price:before {
    display: none; }
  .popup-buttons_improved .popup-buttons__button-price + .popup-buttons__button-text {
    width: 60%;
    font-size: 1.2rem; } }

/* ==========================================================================
   CHECKOUT, ACCOUNT & ORDER PAGES
   ========================================================================== */
.checkout {
  padding: 2rem;
  background-color: #e9e9e9;
  border-radius: 1rem; }

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

.checkout__title,
.credit-page__title {
  font-size: 2.2rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase; }

.page_login .checkout__title {
  text-align: center; }

.page_orders .checkout,
.page_account .checkout,
.page_edit_account .checkout,
.page_loyalty .checkout {
  padding: 0;
  background-color: #fff; }
.page_orders .checkout__title,
.page_account .checkout__title,
.page_edit_account .checkout__title,
.page_loyalty .checkout__title {
  font-size: 3rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1; }

.checkout-row__label,
.checkout-variant__label,
.checkout-variant__select-label,
.card-entry__label,
.card-entry__saved-card-label,
.checkout-row__group-atom:first-child .checkout-row__group-label_atom {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700;
  text-transform: uppercase; }

.checkout-row__group-label,
.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: Arial, Helvetica, sans-serif;
  color: #000; }

.checkout-row__label,
.checkout-row__group-atom:first-child .checkout-row__group-label_atom {
  padding: .8rem .5rem 0 0; }

@media screen and (max-width: 40em) {
  .checkout-row__label {
    padding: 0; } }
.checkout-row__field-text,
.checkout-row__field-textarea {
  padding: .7rem .5rem;
  font-size: 1.6rem;
  border: 1px solid #a7a7a7;
  border-radius: 0.4rem; }

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

.checkout-row__group-item_forgot-password a {
  color: #317636; }

.checkout-row__group-item_forgot-password a:hover {
  color: #ff001d; }

.checkout-row__group-item_register-phone input + .checkout-row__group-label_checkbox {
  margin-top: .5em; }

.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 #858585; }

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

.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: #ff001d; }

.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: 3px;
  width: 10px;
  height: 10px; }

.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: #ff001d; }

.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: #ff001d; }

.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 1rem;
  height: 42px;
  line-height: 42px;
  font-size: 1.6rem;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  border-radius: .5rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #ff001d;
  border: none;
  transition: background-color .3s ease, color .3s ease;
  padding: 0 2rem; }
  .form-buttons__button:hover {
    color: #fff;
    background-color: #317636; }

.form-buttons__link {
  color: #317636;
  font-size: 1.6rem;
  font-weight: 900;
  text-decoration: underline;
  transition: color .3s ease; }
  .form-buttons__link:hover {
    color: #ff001d;
    text-decoration: underline; }

/* Loyalty (step4)
   -------------------------------------------------------------------------- */
.checkout-loyalty {
  margin: 3rem 0 0;
  padding-left: 240px;
  min-height: 233px;
  max-width: none;
  background: url("/assets-images/loyalty-bg-fox.png") no-repeat left bottom;
  box-sizing: border-box; }

.checkout-loyalty__balance {
  font-size: 3rem;
  line-height: 1; }

@media screen and (max-width: 40em), screen and (max-width: 60em) and (min-width: 52.5125em) {
  .checkout-loyalty {
    min-height: 171px;
    padding-left: 170px;
    background-size: 150px auto; } }
@media screen and (max-width: 30em) {
  .checkout-loyalty {
    padding-left: 0;
    min-height: 0;
    background: none; } }
.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-label_checkbox .checkout-loyalty__use-text {
  position: relative;
  display: block; }

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

.checkout-loyalty__use-label_checkbox .checkout-loyalty__use-text:before {
  width: 16px;
  height: 16px;
  border: 1px solid; }

.checkout-loyalty__use-label_checkbox .checkout-loyalty__use-text:after {
  display: none;
  margin: 3px;
  width: 10px;
  height: 10px; }

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

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

.checkout-loyalty__use-label_checkbox .checkout-loyalty__use-text:after {
  background-color: #ff001d; }

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

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

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

/* Checkout upselling
   -------------------------------------------------------------------------- */
.category_upselling .category__title {
  font-size: 2.2rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase; }

/* Facebook login
   -------------------------------------------------------------------------- */
.checkout__facebook-login-button {
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  text-transform: uppercase; }

.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: #ff001d; }

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

.checkout__referral-link {
  margin: 1rem 0;
  color: #fff;
  background-color: #ff001d;
  border: none;
  padding: 1rem 2rem;
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  min-width: 15rem;
  text-align: center; }
  .checkout__referral-link:hover {
    color: #fff;
    background-color: #317636; }

.checkout__referral-link span[data-copied] {
  padding: 1rem 0;
  color: #000; }

/* Order page
   -------------------------------------------------------------------------- */
.order-table {
  border-radius: 1rem;
  overflow: hidden; }

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

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

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

.order-row__header_active {
  border-bottom: 1px solid #ccc; }

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

.order-row__order {
  border: none; }

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

.order__group-title {
  font-size: 1.3rem;
  font-weight: 700;
  text-transform: uppercase; }

.order__add {
  padding-right: 0; }

.order__add-button, .order__repeat-button {
  color: #fff;
  background-color: #317636;
  border: none;
  border-radius: 0.5rem;
  font-size: 1.3rem;
  line-height: 1.2;
  transition: background-color .3s ease, color .3s ease; }
  .order__add-button:hover, .order__repeat-button:hover {
    color: #fff;
    background-color: #ff001d; }

.order__repeat-empty-basket {
  line-height: 2.4rem; }

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

.order__items-table {
  color: #000;
  font-size: 1.3rem;
  background-color: #f1f1f1;
  border: none;
  border-radius: .5rem;
  overflow: hidden; }

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

.order__items-deal-title {
  color: #fff;
  background-color: #ff001d; }

.order__items-attribute {
  display: block;
  color: #919191;
  font-size: 1.3rem;
  font-style: normal; }

.order__items-footer {
  border-top-color: #e4e4e4;
  font-size: 1.8rem;
  font-weight: 400; }

.order__total {
  border-top-color: #e4e4e4; }

/* Login page
   -------------------------------------------------------------------------- */
.page_login .content__main {
  position: relative;
  float: none;
  margin-left: auto;
  margin-right: auto;
  padding-top: 185px;
  max-width: 800px;
  width: 100%;
  background: url("/assets-images/fox-head.png") no-repeat center top; }
.page_login .content__main:before,
.page_login .content__main:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 150px;
  width: 80px;
  height: 61px; }
.page_login .content__main:before {
  left: 10%;
  background: url("/assets-images/fox-right-hand.png") no-repeat 0 0;
  background-size: contain; }
.page_login .content__main:after {
  right: 10%;
  background: url("/assets-images/fox-left-hand.png") no-repeat 0 0;
  background-size: contain; }
.page_login .checkout {
  padding-top: 4rem; }
@media screen and (max-width: 40em) {
  .page_login .content__main:before {
    left: 1rem; }
  .page_login .content__main:after {
    right: 1rem; } }

/* Credit
   -------------------------------------------------------------------------- */
.credit-page__main {
  color: #0a0a0a;
  background-color: #f4f5f6;
  border-radius: 1rem; }

.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;
  border-radius: .5rem; }

.credit-page__form__button {
  color: #fff;
  background-color: #ff001d;
  border: none;
  border-radius: 0.5rem;
  font-size: 1.4rem;
  font-weight: 700;
  transition: background-color .3s ease, color .3s ease; }
  .credit-page__form__button:hover {
    color: #fff;
    background-color: #317636; }

.credit-table {
  border-radius: 1rem;
  overflow: hidden; }

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

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

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

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

.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: Arial, Helvetica, sans-serif;
  color: #fff;
  background-color: #555;
  opacity: 0.9; }

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

@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: #555; } }
/* 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: Arial, Helvetica, sans-serif;
  color: #fff;
  background-color: #ff001d;
  opacity: 1; }

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

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

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

.category-navigation_index .category-navigation__wrapper {
  font-size: 0; }
.category-navigation_index .category-navigation__list {
  float: right;
  padding-right: 0; }
.category-navigation_index .category-navigation__item_favourites {
  position: static; }

.category-navigation__order-button {
  display: inline-block;
  margin-left: 1.5rem;
  font-size: 2.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .3s ease;
  box-sizing: border-box; }

.category-navigation__order-button:hover {
  color: #4a9f50; }

.category-navigation__order-button-wrapper {
  display: inline-block;
  vertical-align: middle;
  padding: 0 0 0 40px;
  line-height: 57px;
  background: url("/assets-images/icon-order.png") no-repeat left center; }

.category-navigation__menu-link {
  display: none;
  width: 50%;
  line-height: 57px;
  font-size: 1.8rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  transition: color .3s ease;
  border-left: 1px solid #fff;
  box-sizing: border-box; }

.category-navigation__menu-link:hover {
  color: #4a9f50; }

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

  .category-navigation_index .category-navigation__list {
    display: none; }

  .category-navigation__menu-link {
    display: inline-block; }

  .category-navigation__order-button {
    margin: 0;
    width: 50%;
    font-size: 1.8rem;
    text-align: center;
    border-right: 1px solid #fff; } }
@media screen and (max-width: 48em) {
  .category-navigation__order-button,
  .category-navigation__menu-link {
    font-size: 1.6rem;
    white-space: nowrap; }

  .category-navigation__order-button-wrapper {
    padding-left: 30px;
    background-size: 23px auto; } }
@media screen and (max-width: 40em) {
  .category-navigation__order-button,
  .category-navigation__menu-link {
    font-size: 1.4rem; } }
@media screen and (max-width: 30em) {
  .category-navigation_index .category-navigation__wrapper {
    width: 100%; }

  .category-navigation__order-button,
  .category-navigation__menu-link {
    width: 100%;
    font-size: 1.6rem;
    border: none; }

  .category-navigation__order-button {
    border-bottom: 2px solid #fff; }

  .category-navigation__order-button-wrapper {
    padding-left: 40px;
    background-size: auto; } }
/* Homepage: slideshow at the top
   -------------------------------------------------------------------------- */
.slider {
  margin: 0 0 4rem; }

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

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

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

.index-slideshow__slide img {
  border-radius: 1rem;
  overflow: hidden; }

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

/* Homepage: shop picker above the slideshow
   -------------------------------------------------------------------------- */
.index-locator {
  color: #000;
  background-color: #ddd;
  border-radius: 1rem;
  overflow: hidden; }

@media screen and (max-width: 52.5em) {
  .index-locator__wrapper {
    padding-bottom: 2rem; } }
.index-locator__title {
  font-size: 1.8rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.2;
  text-align: center;
  background-color: #686868; }

.index-locator__method {
  font-size: 1.5rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #191919;
  font-weight: 600;
  text-transform: uppercase; }

.index-locator__method-name {
  background-color: #b6b6b6; }

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

.index-locator__postcode-input {
  font-size: 1.7rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 400;
  border: 1px solid #c6c6c6;
  border-radius: .5rem; }

.index-locator__postcode-button {
  color: #fff;
  background-color: #000;
  border: none;
  padding: 0;
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 400;
  text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease; }
  .index-locator__postcode-button:hover {
    color: #fff;
    background-color: #555; }

.index-locator__postcode-warning {
  color: #191919;
  font-size: 1.3rem; }

.index-locator__text {
  font-size: 1.3rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 400; }

.index-locator__postcode-selected {
  font-size: 1.5rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600;
  text-transform: uppercase; }

.index-locator__postcode-link {
  color: #000;
  font-weight: 400; }

.index-locator-restaurant {
  color: #000;
  font-size: 1.4rem;
  border-top: 1px solid #000; }

.index-locator-restaurant__name {
  font-size: 1.7rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600;
  line-height: 1; }

.index-locator-restaurant__phone {
  font-size: 1.7rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600;
  line-height: 1; }

.index-locator-restaurant__phone a {
  color: #000;
  text-decoration: none; }

.index-locator-restaurant__button {
  color: #fff;
  background-color: #000;
  border: none;
  padding: 0;
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 400;
  text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease; }
  .index-locator-restaurant__button:hover {
    color: #fff;
    background-color: #555; }

/* Homepage: connected customer
   -------------------------------------------------------------------------- */
.index-connected-customer {
  margin: 0 0 3rem 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: 1.5rem 2rem;
  text-align: center;
  color: #fff;
  background-color: #317636;
  border-radius: 1rem;
  overflow: hidden; }

.index-connected-customer__title {
  margin-bottom: .5em;
  font-size: 2.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 400;
  text-transform: capitalise;
  line-height: 1; }

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

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

.index-connected-customer__button {
  display: inline-block;
  color: #fff;
  background-color: #317636;
  border: none;
  padding: 0.7rem 2rem;
  border-radius: 0;
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  text-decoration: none;
  line-height: 1;
  -webkit-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
  border: 1px solid #fff;
  box-sizing: border-box;
  border-radius: .5rem;
  overflow: hidden; }
  .index-connected-customer__button:hover {
    color: #317636;
    background-color: #fff; }

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

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

.index-connected-customer__item:first-of-type .index-connected-customer__button {
  padding: 1rem .5rem;
  min-width: 35%;
  text-align: center;
  color: #fff;
  background-color: #317636;
  border: none;
  padding: 0.7rem 2rem;
  border-radius: 0.5rem;
  border: 1px solid #317636; }
  .index-connected-customer__item:first-of-type .index-connected-customer__button:hover {
    color: #317636;
    background-color: #fff; }

.index-connected-customer__item:first-of-type .index-connected-customer__button_other {
  margin-left: 1rem;
  background-color: #fff;
  color: #317636;
  background-color: #fff;
  border: none;
  padding: 0.7rem 2rem;
  border-radius: 0.5rem;
  border: 1px solid #317636; }
  .index-connected-customer__item:first-of-type .index-connected-customer__button_other:hover {
    color: #fff;
    background-color: #317636; }

@media screen and (max-width: 52.5em) {
  .index-connected-customer {
    margin: 0 0 3rem 0; }

  .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%;
  padding-top: 185px;
  background: url("/assets-images/fox-head.png") no-repeat center top; }
  .index-microblog__wrapper:before {
    display: table;
    content: ""; }
  .index-microblog__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.index-microblog__post:nth-child(1):before,
.index-microblog__post:nth-child(3):before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 80px;
  height: 61px; }

.index-microblog__post:nth-child(1):before {
  left: 40%;
  top: -43px;
  background: url("/assets-images/fox-right-hand.png") no-repeat 0 0;
  background-size: contain; }

.index-microblog__post:nth-child(3):before {
  right: 40%;
  top: -43px;
  background: url("/assets-images/fox-left-hand.png") no-repeat 0 0;
  background-size: contain; }

.index-microblog__post:nth-child(1):after {
  content: "";
  position: absolute;
  display: none;
  background: url("/assets-images/fox-left-hand.png") no-repeat 0 0;
  background-size: contain; }

@media screen and (max-width: 52.5em) {
  .index-microblog__wrapper {
    max-width: 40rem;
    padding-top: 100px;
    background-size: 98px auto; }

  .index-microblog__post:nth-child(3):before {
    display: none; }

  .index-microblog__post:nth-child(1):before,
  .index-microblog__post:nth-child(1):after {
    top: -12px;
    width: 42px;
    height: 32px; }

  .index-microblog__post:nth-child(1):before {
    left: 10%; }

  .index-microblog__post:nth-child(1):after {
    display: inline-block;
    right: 10%; } }
.index-microblog__helper {
  margin: 0 -2.2rem; }

.index-microblog__post {
  padding: 0 2rem;
  width: 33.3%;
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
  box-sizing: border-box; }

.index-microblog__post:nth-child(2) {
  margin: 0;
  border-left-color: #cfcfcf;
  border-right-color: #cfcfcf; }

@media screen and (max-width: 52.5em) {
  .index-microblog__helper {
    margin: 0; }

  .index-microblog__post {
    padding: 4rem 0 0;
    width: 100%;
    text-align: center;
    border: none; }

  .index-microblog__post:first-child {
    padding: 0; } }
.index-microblog__post {
  position: relative;
  color: #000;
  background-color: #fff;
  box-sizing: border-box;
  overflow: visible; }

.index-microblog__image-wrapper {
  margin: 0 0 2rem; }

.index-microblog__image {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden; }

.index-microblog__title {
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1;
  text-align: center; }

.index-microblog__content {
  font-size: 1.5rem;
  line-height: 1.4; }

.index-microblog__content p {
  line-height: inherit; }

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

.index-microblog__spacer {
  margin-top: 1rem;
  height: 5.5rem; }

.index-microblog__footer {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  text-align: center; }

.index-microblog__link {
  display: inline-block;
  margin: 0 1.9rem 1.5rem 1.8rem;
  padding: .7rem 1.5rem;
  min-width: calc(70% - 3.7rem);
  max-width: calc(100% - 3.7rem);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1.3rem;
  text-transform: uppercase;
  text-decoration: none;
  background-color: #317636;
  border-radius: .3rem; }
  .index-microblog__link {
    position: relative; }
  .index-microblog__link__wrapper {
    position: relative;
    z-index: 2; }
  .index-microblog__link:before, .index-microblog__link:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1; }
.index-microblog__link::before, .index-microblog__link::after {
  bottom: -1.5rem;
  width: 3.3rem;
  height: 3rem;
  background: url("/assets-images/button-bg.png") no-repeat; }
.index-microblog__link::before {
  left: -1.8rem;
  background-position: 0 -40px; }
.index-microblog__link::after {
  right: -1.9rem;
  background-position: -190px -40px; }

/* Index promo
   -------------------------------------------------------------------------- */
.index-promo {
  margin-top: 2.5rem;
  padding: 4rem 0;
  background-color: #e9e9e9; }

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

.index-promo__helper {
  margin: 0 -2.1rem; }

.index-promo__article {
  position: relative;
  float: left;
  padding: 0 2rem;
  width: 25%;
  text-align: center;
  border-left: 2px solid #cfcfcf;
  box-sizing: border-box; }

.index-promo__article:first-child {
  border-color: transparent; }

.index-promo__article-title {
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1; }

.index-promo__article-image {
  margin: 0 0 1.5rem;
  border-radius: 1rem;
  overflow: hidden; }

.index-promo__article-content {
  color: #000;
  font-size: 1.5rem;
  line-height: 1.4; }

.index-promo__article-content p {
  line-height: inherit; }

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

.index-promo__spacer {
  height: 60px; }

.index-promo__article-buttons {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center; }

.index-promo__article-button {
  display: inline-block;
  margin: 0 1.9rem 1.5rem 1.8rem;
  padding: .7rem 1.5rem;
  min-width: calc(70% - 3.7rem);
  max-width: calc(100% - 3.7rem);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1.3rem;
  text-transform: uppercase;
  text-decoration: none;
  background-color: #317636;
  border-radius: .3rem; }
  .index-promo__article-button {
    position: relative; }
  .index-promo__article-button__wrapper {
    position: relative;
    z-index: 2; }
  .index-promo__article-button:before, .index-promo__article-button:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1; }
.index-promo__article-button::before, .index-promo__article-button::after {
  bottom: -1.5rem;
  width: 3.3rem;
  height: 3rem;
  background: url("/assets-images/button-bg.png") no-repeat; }
.index-promo__article-button::before {
  left: -1.8rem;
  background-position: 0 -40px; }
.index-promo__article-button::after {
  right: -1.9rem;
  background-position: -190px -40px; }

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

  .index-promo__helper {
    margin: 0; }

  .index-promo__wrapper {
    max-width: 40rem; }

  .index-promo__article {
    float: none;
    padding: 0;
    width: 100%;
    text-align: center; }

  .index-promo__article {
    padding: 4rem 0 0;
    border: none; }

  .index-promo__article:first-child {
    padding: 0; }

  .index-promo__spacer {
    display: none; }

  .index-promo__article-buttons {
    position: static;
    margin-top: 2rem; } }
/* Homepage: About us
   -------------------------------------------------------------------------- */
.index-about {
  margin: 4rem 0;
  color: #000;
  background-color: #ddd; }

.index-about__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%;
  padding: 3rem 5%;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: center;
  box-sizing: border-box; }
  .index-about__wrapper:before {
    display: table;
    content: ""; }
  .index-about__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.index-about__title {
  margin-bottom: 2rem;
  font-size: 3.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1; }

@media screen and (max-width: 40em) {
  .index-about__title {
    font-size: 2.5rem; } }
/* Homepage: newsletter signup form
   -------------------------------------------------------------------------- */
.index-newsletter {
  margin: 4rem 0;
  padding: 2rem 1rem;
  color: #000;
  background-color: #e9e9e9; }

.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 {
  display: block;
  float: none;
  margin: 0 0 2rem 0;
  font-size: 3.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase;
  text-align: center;
  line-height: 1; }

.index-newsletter__fieldset {
  margin: 0 auto;
  padding: 0;
  max-width: 650px; }

.index-newsletter__field {
  border: 1px solid #000;
  height: 36px;
  line-height: 36px; }

.index-newsletter__button {
  float: left;
  margin: 1.5rem 0 0;
  width: 100%;
  color: #fff;
  background-color: #ff001d;
  border: none;
  padding: 0;
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 400;
  text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease;
  height: 36px;
  line-height: 36px; }
  .index-newsletter__button:hover {
    color: #fff;
    background-color: #317636; }

/* Homepage: map showing the position of the restaurant
   -------------------------------------------------------------------------- */
.index-map__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%; }
  .index-map__wrapper:before {
    display: table;
    content: ""; }
  .index-map__wrapper:after {
    display: table;
    content: "";
    clear: both; }

.index-map__shop {
  width: 350px;
  background-color: #fff;
  border: 1px solid #c6c6c6; }

.index-map__shop-title {
  margin-bottom: .5em;
  font-size: 1.8rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.1; }

.index-map__shop-phone {
  margin: .5em 0;
  font-size: 1.8rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 600; }

.index-map__shop-phone a {
  color: #000; }

.index-map__shop .social-icons__link {
  border: 1px solid #000; }

.index-map__order-button {
  color: #fff;
  background-color: #ff001d;
  border: none;
  padding: 0.7em 0;
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 400;
  text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease;
  display: block;
  margin-top: 1rem;
  width: 100%;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box; }
  .index-map__order-button:hover {
    color: #fff;
    background-color: #317636; }

.index-map__embed-image {
  left: 50%;
  top: 10%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

@media screen and (max-width: 40em) {
  .index-map__embed-image {
    -ms-transform: translate(-60%, -40%);
    -webkit-transform: translate(-60%, -40%);
    transform: translate(-60%, -40%); } }
/* Homepage: list of restaurants (franchises only)
   -------------------------------------------------------------------------- */
.index-shop-list {
  margin: 4rem 0; }

.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: 3.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1; }

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

.index-shop-list__shop {
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center; }

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

@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 {
  margin: 2.5rem 0;
  container-type: inline-size;
  container-name: grouped-skus-container; }
  .grouped-skus__part {
    padding-left: 0;
    display: flex;
    align-items: flex-start; }
    .grouped-skus__part:before, .grouped-skus__part:after {
      display: none; }
@container grouped-skus-container (max-width: 450px) {
  .grouped-skus__part {
    flex-direction: column; } }
  .grouped-skus__part + .grouped-skus__part {
    margin-top: 1em; }
  .grouped-skus__title {
    float: none;
    width: 180px;
    margin-left: 0;
    flex-shrink: 0;
    font-size: 1.6rem;
    font-family: Arial, Helvetica, sans-serif;
    color: #000;
    font-weight: 900;
    text-transform: uppercase; }
  .grouped-skus__list {
    width: 100%;
    border-radius: 0.4rem;
    overflow: hidden; }
  .grouped-skus__text {
    font-size: 1.4rem;
    font-family: Arial, Helvetica, sans-serif;
    color: #000;
    font-weight: 900;
    text-transform: uppercase;
    background-color: #e9e9e9;
    border-left: 1px solid #fff; }
  .grouped-skus__item:first-child .grouped-skus__text, .grouped-skus__radio:checked + .grouped-skus__text {
    border-left: none; }
  .grouped-skus__radio:checked + .grouped-skus__text {
    color: #fff;
    background-color: #ff001d; }
  .grouped-skus__radio:disabled + .grouped-skus__text {
    color: #aaa;
    background-color: #ddd; }
  @media screen and (max-width: 40em) {
    .grouped-skus__part {
      padding-left: 0;
      flex-direction: column; }
    .grouped-skus__title {
      width: 100%;
      margin: 0 0 1rem;
      text-align: center;
      line-height: 1; } }

/* --------------------------------------------------------------------------
   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__add-button {
  color: #fff;
  background-color: #ff001d;
  border: none;
  padding: 1rem 2rem;
  border-radius: 0;
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  text-transform: uppercase; }
  .cyo__add-button:hover {
    color: #fff;
    background-color: #317636; }

.cyo__fieldset-title {
  font-size: 1.5rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 900;
  text-transform: uppercase; }

.cyo__fieldset-description {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000; }

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

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

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

.cyo-set__label input[type=checkbox]:checked + .cyo-set__text:after {
  display: block;
  background-color: #ff001d; }

.cyo-set__group-title {
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #777;
  font-weight: 700; }

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

.cyo-set__text:before {
  border-color: #000;
  background-color: #fff; }

.cyo-set__text:after {
  color: #fff;
  background-color: #ff001d; }

.cyo-icon-enum__text:before {
  width: 65px;
  height: 68px;
  background: url("../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; }

/* --------------------------------------------------------------------------
   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.
   -------------------------------------------------------------------------- */
.page_locator {
  background: #b4242a url("/assets-images/locator-bg.png") no-repeat center top; }
.page_locator .page__header,
.page_locator .page__footer {
  display: none; }
.page_locator .page__content {
  padding-top: 54px;
  background: url("/assets-images/header-bg-pattern.png") repeat-x 50% 0; }

.locator {
  margin-top: 290px;
  color: #000;
  background-color: #fff;
  border-radius: 1rem; }

@media screen and (max-width: 52.5em) {
  .page_locator {
    background-size: 700px auto; }

  .locator {
    margin-top: 190px; } }
@media screen and (max-width: 40em) {
  .page_locator {
    background-size: 500px auto; }

  .locator {
    margin-top: 150px; } }
.locator__logo {
  margin: 0;
  width: 100%;
  text-align: center; }

.locator__logo-link {
  display: inline-block;
  margin: -115px 0 0;
  width: 230px; }

.locator__logo-image {
  width: 100%; }

.locator__title {
  font-size: 2.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 2.5rem; }

.locator__methods {
  border-radius: .4rem;
  overflow: hidden; }

.locator__method {
  font-size: 1.8rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 900;
  text-transform: uppercase; }

.locator__method-name {
  background-color: #e9e9e9;
  height: 46px;
  line-height: 46px; }

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

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

.locator__postcode-input {
  font-size: 1.7rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 400;
  height: 46px;
  line-height: 46px;
  border: 1px solid #ff001d;
  float: left;
  width: 100%;
  box-sizing: border-box;
  border-radius: .5rem; }

.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: #fbd6d2; }

.locator__postcode-button {
  color: #fff;
  background-color: #ff001d;
  border: none;
  padding: 0;
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  float: left;
  margin-right: -80px;
  width: 80px;
  height: 46px;
  line-height: 46px;
  transition: background-color .3s ease, color .3s ease; }
  .locator__postcode-button:hover {
    color: #fff;
    background-color: #317636; }

.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 {
  color: #191919;
  font-size: 1.4rem; }

.locator__selected {
  font-size: 2.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700; }

.locator__selected-value {
  color: #ff001d;
  font-weight: 700;
  text-transform: uppercase; }

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

.locator__restaurants {
  margin: 5rem 0 0 0; }

[data-locator-selected-method="delivery"] .locator__restaurants {
  padding: 0; }

.locator-restaurant {
  padding: 2rem 0 0;
  margin-top: 2rem;
  background-color: #fff;
  border-top: 2px solid #317636; }

.locator-restaurant__name {
  font-size: 2.4rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  line-height: 2.4rem;
  color: #000; }

.locator-restaurant__toggle {
  display: inline-block;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  line-height: 2.4rem; }

.locator-restaurant__content-name {
  font-size: 2.4rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  line-height: 1; }

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

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

.locator-restaurant__address p {
  margin-bottom: .5rem; }

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

.locator-restaurant__button {
  color: #fff;
  background-color: #ff001d;
  border: none;
  padding: 0.5rem 2rem;
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 2.4rem;
  transition: background-color .3s ease, color .3s ease;
  border-radius: .4rem; }
  .locator-restaurant__button:hover {
    color: #fff;
    background-color: #317636; }

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

/* --------------------------------------------------------------------------
   RESTAURANTS PAGE
   (optional page)
   -------------------------------------------------------------------------- */
.restaurants__button {
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 700;
  background-color: #ff001d; }

.restaurants-search__input-wrapper {
  border: 1px solid #ff001d; }

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

.restaurants-search__input::placeholder {
  font-size: 1.4rem;
  font-family: 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: #ff001d; }

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

.restaurant-summary:hover {
  color: #000; }

.restaurant-summary__name {
  font-size: 1.8rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  font-weight: 700;
  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: Arial, Helvetica, sans-serif;
  color: #000;
  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 {
  color: #fff;
  background-color: #ff001d;
  border: none;
  padding: 1rem 2rem;
  border-radius: 0;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 700; }
  .restaurant-details__order-button:hover {
    color: #fff;
    background-color: #317636; }

/* --------------------------------------------------------------------------
   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: Arial, Helvetica, sans-serif;
  color: #fff; }

.password-checker__text {
  font-size: 1.2rem;
  font-family: 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: Arial, Helvetica, sans-serif;
  color: #fff;
  background-color: #900; }

/* --------------------------------------------------------------------------
   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
   -------------------------------------------------------------------------- */
.dropdown-menu_loyalty .dropdown-menu__body {
  width: 300px; }

.loyalty-dropdown {
  padding: 1.4rem 2.1rem 2.1rem 2.1rem;
  font-size: 1.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  background: #fff; }

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

.loyalty-dropdown__title {
  font-size: 1.8rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 1rem; }

.loyalty-dropdown__more-link {
  color: #ff001d;
  text-decoration: underline; }

.loyalty-dropdown__more-link:hover {
  text-decoration: none; }

.loyalty-page__banner {
  background: url("/assets-images/loyalty-banner.jpg") no-repeat 50% 50%/cover;
  border-radius: 1rem;
  overflow: hidden; }

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

.loyalty-page__banner__title {
  font-size: 3.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-weight: 900; }

.loyalty-page__banner__p {
  color: #fff;
  font-size: 1.8rem; }

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

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

.loyalty-page__howto {
  padding: 3rem 2rem 0;
  background-color: #e9e9e9;
  border-radius: 1rem;
  overflow: hidden; }

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

.loyalty-page__howto__wrapper {
  color: #000;
  padding-right: 230px;
  min-height: 233px;
  background: url("/assets-images/loyalty-bg-fox.png") no-repeat right bottom;
  box-sizing: border-box; }

.loyalty-page__howto__title {
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase; }

@media screen and (max-width: 40em), screen and (max-width: 60em) and (min-width: 52.5125em) {
  .loyalty-page__howto__wrapper {
    min-height: 171px;
    padding-right: 170px;
    background-size: 150px auto; } }
@media screen and (max-width: 30em) {
  .loyalty-page__howto {
    padding: 2rem; }

  .loyalty-page__howto__wrapper {
    padding: 0;
    min-height: 0;
    background: none; } }
.loyalty-table {
  border-radius: 1rem;
  overflow: hidden; }

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

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

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

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

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

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

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

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

/* --------------------------------------------------------------------------
   STATIC PAGES
   -------------------------------------------------------------------------- */
.content_static .content__side {
  display: none; }
.content_static .content__main {
  float: none;
  margin: 0 auto;
  width: 920px;
  max-width: 100%; }

.static-page .static-page__title {
  margin-bottom: 2rem;
  font-size: 3.6rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase; }

/* Contact page
-----------------------------------------------*/
.contact-banner {
  margin-bottom: 3rem;
  text-align: center; }
.contact-banner__wrapper {
  position: relative;
  padding-top: 185px;
  background: url("/assets-images/fox-head.png") no-repeat center top; }
.contact-banner__wrapper:before, .contact-banner__wrapper:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 150px;
  width: 80px;
  height: 61px; }
.contact-banner__wrapper:before {
  left: 2rem;
  background: url("/assets-images/fox-right-hand.png") no-repeat 0 0;
  background-size: contain; }
.contact-banner__wrapper:after {
  right: 2rem;
  background: url("/assets-images/fox-left-hand.png") no-repeat 0 0;
  background-size: contain; }
.contact-banner img {
  border-radius: 1rem; }
@media screen and (max-width: 40em) {
  .contact-banner .content__main:before {
    left: 1rem; }
  .contact-banner .content__main:after {
    right: 1rem; } }

.contact {
  margin-bottom: 3rem;
  text-align: center; }
.contact .contact__title {
  margin-bottom: 2rem;
  font-size: 4.5rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase; }
.contact__content {
  padding: 3rem 5%;
  font-size: 1.6rem;
  line-height: 1.5;
  background-color: #e9e9e9;
  border-radius: 1rem; }
.contact__content p {
  margin: 0; }
.contact__content p + p {
  margin-top: 1.5rem; }

/* Contact form
   --------------------------------------------------------------------------*/
.contact-form {
  margin: 3rem auto;
  max-width: 550px; }

.form {
  margin: 2rem 0; }
  .form__box_info-image {
    border-radius: 1rem;
    overflow: hidden; }

.form-row {
  margin-bottom: 1.7rem; }

.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; }

@media screen and (max-width: 30em) {
  .form__group-half {
    display: block;
    padding: 0 !important;
    width: auto; } }
.form-row__label {
  display: block;
  margin-bottom: .8rem;
  color: #000;
  font-size: 1.6rem;
  line-height: 1; }

.form-row__label_select {
  margin-bottom: 1.2rem; }

.form-row__field-text,
.form-row__field-textarea {
  padding: .7rem .5rem;
  width: 100%;
  color: #000;
  font-size: 1.6rem;
  background-color: #fff;
  border: 1px solid #a7a7a7;
  border-radius: 0.4rem;
  box-sizing: border-box;
  box-shadow: none !important; }

.form-row__field-textarea {
  height: 90px;
  line-height: 1.2; }

[class^="form-row__field-"]::-webkit-input-placeholder {
  color: #2d2d2d;
  font-size: 1.4rem;
  font-weight: 300; }

[class^="form-row__field-"]::-moz-placeholder {
  color: #2d2d2d;
  font-size: 1.4rem;
  font-weight: 300; }

[class^="form-row__field-"]::-ms-input-placeholder {
  color: #2d2d2d;
  font-size: 1.4rem;
  font-weight: 300; }

.form__error {
  color: #ff001d;
  border-color: #ff001d; }

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

.form__error {
  margin-bottom: .5rem; }

.form-row__label_required:after {
  content: '*';
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1rem; }

.form__footer {
  margin-top: 2rem;
  text-align: center; }
.form__footer .form-buttons {
  margin: 0; }
.form__footer .form-buttons__button {
  float: none; }

/* Contact form validation
---------------------------------------------------*/
[data-form-validation-message] {
  display: none; }

[data-form-row-invalid] [data-form-validation-message] {
  display: block; }

[data-form-row-invalid] input,
[data-form-row-invalid] textarea {
  border-color: #ff001d; }

.form-row__message {
  margin-top: .5rem;
  color: #ff001d;
  font-size: 1.3rem;
  line-height: 1; }

.page_contact .form-row__group .nice-select,
.page_contact .form-row__group .nice-select__container {
  width: 100%; }
.page_contact .form-row__group .nice-select {
  height: 3.4rem; }
.page_contact .form-row__group .list {
  margin: 2px 0 0; }
  .page_contact .form-row__group .list li {
    margin-bottom: 0;
    line-height: 3.2rem; }

/* Contact/Promotion form sent response
  --------------------------------------------------------------------------*/
.contact-response {
  padding: 5rem 5%;
  text-align: center;
  background-color: #ebebeb;
  border-radius: 1rem;
  overflow: hidden; }
.contact-response .contact-response__title {
  margin: 0 0 3rem;
  font-size: 3rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1; }
.contact-response__content {
  font-size: 1.8rem;
  font-weight: 700; }
.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: 900;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  border-radius: .5rem;
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  background-color: #ff001d;
  border: none;
  transition: background-color .3s ease, color .3s ease;
  margin: 1rem 0 0;
  width: 220px;
  max-width: 100%; }
  .contact-response__button:hover {
    color: #fff;
    background-color: #317636; }
.contact-response__button:hover {
  border-color: #317636; }
.contact-response__button_locations {
  line-height: 38px;
  color: #ff001d;
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid #ff001d; }

/* Loyalty promo page (static page)
  --------------------------------------------------------------------------*/
.content_static_loyalty {
  margin-bottom: 0; }
.content_static_loyalty .content__main {
  width: 100%; }

.loyalty-promo-banner {
  margin: 0 0 4rem;
  text-align: center; }
  .loyalty-promo-banner img {
    border-radius: 1rem;
    overflow: hidden; }

@media screen and (max-width: 78.125em) {
  .loyalty-promo-banner {
    margin: 0 -2% 4rem; } }
.loyalty-blog {
  margin: 4rem auto; }
.loyalty-blog__wrapper {
  margin: 0 -2rem; }
  .loyalty-blog__wrapper:before {
    display: table;
    content: ""; }
  .loyalty-blog__wrapper:after {
    display: table;
    content: "";
    clear: both; }
.loyalty-blog__article {
  float: left;
  padding: 3rem 2rem;
  width: 33.33%;
  text-align: center;
  box-sizing: border-box; }
.loyalty-blog__article:not(:first-child) {
  border-left: 1px solid #cfcfcf; }
.loyalty-blog .loyalty-blog__article-title {
  margin: 0 0 3rem;
  font-size: 2.4rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #ff001d;
  font-weight: 900;
  line-height: 1.2; }
.loyalty-blog__article-content {
  color: #000;
  font-size: 1.5rem;
  line-height: 1.4; }
.loyalty-blog__article-content p {
  margin: 0;
  line-height: inherit; }
.loyalty-blog__article-content p + p {
  margin-top: 1rem; }
@media screen and (max-width: 52.5em) {
  .loyalty-blog {
    margin: 2rem auto;
    max-width: 40rem; }
  .loyalty-blog__wrapper {
    margin: 0; }
  .loyalty-blog__article {
    float: none;
    margin-top: 3rem;
    padding: 0;
    width: 100%;
    border: none !important; }
  .loyalty-blog__article:first-child {
    margin-top: 0; }
  .loyalty-blog .loyalty-blog__article-title {
    margin-bottom: 1.5rem; } }

.loyalty-cta {
  margin: 0 0 5rem;
  background: #b4252b url("/assets-images/loyalty-order-banner.jpg") no-repeat center top;
  background-size: auto 100%; }
.loyalty-cta__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 96%;
  padding: 9rem 0 3rem;
  text-align: center; }
  .loyalty-cta__wrapper:before {
    display: table;
    content: ""; }
  .loyalty-cta__wrapper:after {
    display: table;
    content: "";
    clear: both; }
.loyalty-cta__title {
  margin-bottom: 4rem;
  color: #fff;
  font-size: 3rem;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.4; }
@media screen and (max-width: 52.5em) {
  .loyalty-cta__wrapper {
    padding: 5rem 0 3rem; } }

.loyalty-cta-button {
  display: inline-block;
  margin: 0 3rem 2.6rem;
  background-color: #317636;
  border-radius: .5rem;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5); }
  .loyalty-cta-button {
    position: relative; }
  .loyalty-cta-button__wrapper {
    position: relative;
    z-index: 2; }
  .loyalty-cta-button:before, .loyalty-cta-button:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1; }
.loyalty-cta-button__wrapper {
  display: inline-block;
  padding: 1.5rem 3rem;
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase; }
.loyalty-cta-button::before, .loyalty-cta-button::after {
  bottom: -2.6rem;
  width: 5.6rem;
  height: 5.1rem;
  background: url("/assets-images/button-bg-big.png") no-repeat; }
.loyalty-cta-button::before {
  left: -3rem;
  background-position: 0 0; }
.loyalty-cta-button::after {
  right: -3rem;
  background-position: -327px 0; }

.additional-info__fieldset {
  box-sizing: border-box;
  display: block;
  width: 100%; }

.additional-info__fieldset + .additional-info__fieldset {
  display: none; }

.additional-info__row {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 60rem;
  padding-left: 15rem;
  margin-bottom: 2rem;
  line-height: 2.4rem; }

.additional-info__row ul,
.additional-info__row p,
.additional-info__row h1,
.additional-info__row h2,
.additional-info__row h3,
.additional-info__row h4,
.additional-info__row h5,
.additional-info__row h6 {
  margin-bottom: .5rem; }

.additional-info__row li {
  box-sizing: border-box;
  padding-left: 1.6rem;
  position: relative; }

.additional-info__row li:before {
  content: '';
  display: block;
  width: .6rem;
  height: .6rem;
  border-radius: 50%;
  background-color: #ff001d;
  position: absolute;
  left: 0;
  top: .9rem; }

.additional-info__row a {
  text-decoration: underline;
  color: #317636; }

.additional-info__row a:hover {
  color: #317636;
  text-decoration: none; }

.additional-info__banner {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
  border-radius: 1rem;
  font-size: 0; }

.additional-info__link {
  display: inline-block;
  vertical-align: top;
  text-decoration: none; }

.additional-info__img {
  display: block;
  margin: 0 auto;
  width: auto;
  max-width: 100%;
  border-radius: 1rem;
  overflow: hidden; }

@media screen and (max-width: 40em) {
  .additional-info__row {
    padding-left: 0; } }
.page_thank_you .checkout {
  padding: 0;
  background-color: transparent; }

.page_thank_you .checkout__header {
  margin-bottom: 0;
  box-sizing: border-box;
  padding: 3rem 4.5rem 2rem;
  background-color: #e9e9e9;
  border-radius: 1rem 1rem 0 0; }

.page_thank_you .checkout-confirm {
  box-sizing: border-box;
  padding: 0 4.5rem 3rem;
  background-color: #e9e9e9;
  border-radius: 0 0 1rem 1rem; }

.page_thank_you .checkout__header .checkout__title {
  margin-bottom: 0; }

.page_thank_you .additional-info__fieldset {
  margin-top: 2rem;
  padding: 3rem 4.5rem;
  box-sizing: border-box;
  background-color: #e9e9e9;
  border-radius: 1rem 1rem 0 0; }

.page_thank_you .checkout__title {
  margin-bottom: 2rem; }

.page_thank_you .additional-info__row {
  max-width: 100%;
  padding-left: 0; }

.page_thank_you .additional-info__banner {
  margin-bottom: 0; }

.page_thank_you .checkout__footer {
  background-color: #e9e9e9;
  margin-top: 0;
  padding: 2rem 4.5rem 3rem;
  box-sizing: border-box;
  border-radius: 0 0 1rem 1rem; }

@media screen and (max-width: 52.5em) {
  .page_thank_you .checkout__header,
  .page_thank_you .additional-info__fieldset,
  .page_thank_you .checkout__footer {
    padding: 2rem 3rem; }

  .page_thank_you .checkout-confirm {
    padding: 0 3rem 2rem; } }
.page_login .checkout__fieldset,
.page_login .additional-info__row {
  max-width: 45rem; }

.page_login .checkout-row,
.page_login .additional-info__row {
  padding-left: 0; }

.page_login .checkout-row__label {
  width: 12.8rem;
  margin-left: -12.8rem;
  padding-right: .3rem; }

@media screen and (max-width: 52.5em) {
  .page_login .checkout-row__label {
    display: block;
    width: 100%;
    margin-left: 0;
    padding-right: 0;
    margin-bottom: .5rem; } }
.franchise-banner__wrapper {
  border-radius: 1rem;
  overflow: hidden; }
  .franchise-banner__wrapper img {
    display: block; }

.franchise-form {
  width: 92rem;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 60em) {
    .franchise-form {
      box-sizing: border-box;
      width: 100%;
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  .franchise-form .form__fieldset-title {
    font-size: 2.2rem;
    line-height: 2.6rem;
    font-weight: 900;
    color: #ff001d;
    text-transform: uppercase;
    text-align: center;
    margin-top: 4.5rem;
    margin-bottom: 4.5rem; }
  .franchise-form .form__group-half:first-child {
    padding-right: 3rem; }
  .franchise-form .form__group-half:not(:first-child):last-child {
    padding-left: 3rem; }
  .franchise-form .form__group-half:first-child:last-child {
    padding-left: 0; }
  @media screen and (max-width: 40em) {
    .franchise-form .form__group-half,
    .franchise-form .form__group-half:first-child,
    .franchise-form .form__group-half:not(:first-child):last-child,
    .franchise-form .form__group-half:first-child:last-child {
      padding: 0;
      display: block;
      width: 100%; } }
  .franchise-form .form__group_separator {
    display: block;
    width: calc(100% - 4rem);
    margin: 1.5rem auto 3.5rem;
    height: .3rem;
    background-color: #ff001d; }
  .franchise-form .form-row {
    margin-bottom: 2rem; }
  .franchise-form .form__group_equal {
    display: flex;
    flex-direction: row;
    align-items: flex-end; }
    @media screen and (max-width: 40em) {
      .franchise-form .form__group_equal {
        flex-direction: column; } }
  .franchise-form .form__group_equal .form__group-half {
    padding-bottom: 2rem;
    position: relative; }
  .franchise-form .form__group_equal .form-row {
    margin-bottom: 0; }
  .franchise-form .form__group_equal .form-row__message {
    position: absolute;
    left: 0;
    bottom: 0; }
  .franchise-form .form-row__label {
    font-size: 1.6rem;
    line-height: 1.8rem;
    font-weight: 900;
    margin-bottom: 1.3rem;
    color: #000; }
  .franchise-form .form-row__field-text {
    box-sizing: border-box;
    font-size: 1.4rem;
    border-radius: .6rem;
    background-color: #fff;
    border: solid 0.1rem #ff001d;
    height: 4.2rem;
    line-height: 4rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
  .franchise-form .nice-select__container {
    display: block;
    width: 100%; }
    .franchise-form .nice-select__container .nice-select {
      display: block;
      width: 100%;
      height: 4.2rem;
      line-height: 4rem;
      box-sizing: border-box;
      border-radius: .6rem;
      border: solid 0.1rem #ff001d; }
      .franchise-form .nice-select__container .nice-select:after {
        height: .6rem;
        width: .6rem;
        border-bottom: solid .1rem #949494;
        border-right: solid .1rem #949494; }
      .franchise-form .nice-select__container .nice-select .list {
        margin-left: 0;
        max-height: 20rem;
        overflow-y: auto; }
  .franchise-form .form-row__group_radio .form-row__group_radio-label {
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    position: relative;
    cursor: pointer; }
    .franchise-form .form-row__group_radio .form-row__group_radio-label + .form-row__group_radio-label {
      margin-left: 6rem; }
    .franchise-form .form-row__group_radio .form-row__group_radio-label .form-row__group_radio-input {
      position: absolute;
      top: 0;
      left: 0;
      margin: 0;
      opacity: 0; }
    .franchise-form .form-row__group_radio .form-row__group_radio-label .form-row__group_radio-text {
      display: block;
      box-sizing: border-box;
      padding-left: 2.3rem;
      position: relative;
      font-size: 1.6rem;
      font-weight: 900;
      line-height: 2rem;
      color: #000; }
      .franchise-form .form-row__group_radio .form-row__group_radio-label .form-row__group_radio-text:before {
        display: block;
        content: '';
        width: 1rem;
        height: 1rem;
        border-radius: 50%;
        border: solid .1rem #000;
        background-color: #fff;
        position: absolute;
        top: 50%;
        left: 0;
        z-index: 1;
        transform: translate(0, -50%); }
    .franchise-form .form-row__group_radio .form-row__group_radio-label .form-row__group_radio-input:checked ~ .form-row__group_radio-text:before {
      background-color: #ff001d; }
    .franchise-form .form-row__group_radio .form-row__group_radio-label.form-row__group_radio-label_wide {
      display: block;
      width: 100%; }
      .franchise-form .form-row__group_radio .form-row__group_radio-label.form-row__group_radio-label_wide + .form-row__group_radio-label_wide {
        margin-left: 0;
        margin-top: .5rem; }
  .franchise-form .form-row__field-textarea {
    font-size: 1.4rem;
    color: #000;
    line-height: 1.8rem;
    box-sizing: border-box;
    padding: 1rem 1.5rem;
    height: 13rem;
    resize: none;
    border-radius: 0;
    border: solid .1rem #000;
    margin-bottom: 1.5rem; }
  .franchise-form .form-row__group_checkbox-label {
    display: inline-block;
    position: relative; }
    .franchise-form .form-row__group_checkbox-label.form-row__group_checkbox-label_wide {
      display: block;
      width: 100%;
      margin-top: 3rem; }
    .franchise-form .form-row__group_checkbox-label .form-row__group_checkbox-input {
      position: absolute;
      top: 0;
      left: 0;
      margin: 0;
      opacity: 0; }
    .franchise-form .form-row__group_checkbox-label .form-row__group_checkbox-text {
      display: block;
      width: 100%;
      font-size: 1.2rem;
      font-weight: 900;
      line-height: 1.6rem;
      box-sizing: border-box;
      padding-left: 2.3rem;
      position: relative; }
      .franchise-form .form-row__group_checkbox-label .form-row__group_checkbox-text:before {
        display: block;
        content: '';
        width: 1rem;
        height: 1rem;
        border-radius: 50%;
        border: solid .1rem #000;
        background-color: #fff;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(0, -50%); }
    .franchise-form .form-row__group_checkbox-label .form-row__group_checkbox-input:checked ~ .form-row__group_checkbox-text:before {
      background-color: #ff001d; }
  .franchise-form .form__footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 0; }
    @media screen and (max-width: 60em) {
      .franchise-form .form__footer {
        flex-direction: column;
        justify-content: center; }
        .franchise-form .form__footer .form-buttons {
          margin-top: 2.5rem;
          margin-bottom: 6.5rem; } }
    .franchise-form .form__footer .form-buttons__button {
      font-size: 1.6rem;
      font-weight: 900;
      line-height: 3rem;
      height: 3rem;
      color: #fff;
      text-align: center;
      box-sizing: border-box;
      border-radius: .4rem;
      position: relative;
      padding: 0;
      background-color: transparent; }
      .franchise-form .form__footer .form-buttons__button span {
        display: block;
        position: relative;
        z-index: 2;
        box-sizing: border-box;
        padding: 0 1.6rem;
        border-radius: .4rem;
        background-color: #df1c24;
        text-transform: none; }
      .franchise-form .form__footer .form-buttons__button::before, .franchise-form .form__footer .form-buttons__button::after {
        position: absolute;
        display: block;
        content: '';
        bottom: -1.5rem;
        width: 3.3rem;
        height: 3rem;
        background: url("/assets-images/button-bg.png") no-repeat;
        z-index: 1; }
      .franchise-form .form__footer .form-buttons__button::before {
        left: -1.7rem;
        background-position: 0 -80px; }
      .franchise-form .form__footer .form-buttons__button::after {
        right: -1.7rem;
        background-position: -190px -80px; }
  .franchise-form .captcha_outer {
    width: calc(100% + .2rem); }
  .franchise-form .form__box.form__box_info {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center; }
  .franchise-form .form__box .form__box_info-content {
    box-sizing: border-box;
    padding-right: 1.8rem;
    text-align: right; }
    .franchise-form .form__box .form__box_info-content .form__box-image {
      margin-bottom: 1rem; }
    .franchise-form .form__box .form__box_info-content .form__box-title {
      margin: 0;
      font-size: 1.2rem;
      line-height: 2rem;
      font-weight: 900;
      color: #000; }
      .franchise-form .form__box .form__box_info-content .form__box-title span {
        display: inline-block;
        vertical-align: super;
        font-size: .8rem;
        line-height: 1rem; }
    .franchise-form .form__box .form__box_info-content .form__box-text {
      margin: 0;
      font-size: 1.2rem;
      line-height: 2rem;
      font-weight: 400;
      color: #000; }

.page_franchise .content__wrapper {
  width: 100%; }
.page_franchise .content {
  padding-top: 0;
  background: none;
  position: relative; }
  .page_franchise .content:before {
    display: block;
    content: '';
    width: 100%;
    height: 5.5rem;
    background: url("/assets-images/header-bg-pattern.png") repeat-x 50% 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2; }
  @media screen and (max-width: 60em) {
    .page_franchise .content {
      padding-top: 4rem; } }
.page_franchise .content__main {
  width: 100%;
  max-width: 120rem; }

.header__franchise-menu {
  position: relative;
  float: right; }
  @media screen and (max-width: 52.5em) {
    .header__franchise-menu {
      display: none; } }
  .header__franchise-menu .menu__header-link {
    display: block;
    position: relative;
    height: 7rem;
    padding: 1.9rem 1rem 0 4.8rem;
    color: #ff001d;
    line-height: 1.15;
    border-left: 1px solid #bababa;
    box-sizing: border-box;
    transition: color .3s ease;
    text-decoration: none; }
  .header__franchise-menu .menu__header-title {
    display: block;
    white-space: nowrap;
    font-size: 1.4rem;
    font-weight: 900;
    text-transform: uppercase; }
  .header__franchise-menu .menu__header-subtitle {
    display: block;
    white-space: nowrap;
    font-size: 1.4rem;
    font-weight: 400; }
  .header__franchise-menu .menu__header-icon {
    display: block;
    width: 2.9rem;
    height: 2.8rem;
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translate(0, -50%);
    background: url("/assets-images/franchise_menu_icon.png") top left no-repeat; }

/*  Header banner
    -------------------------------------------------------------------------- */
.header-banner {
  display: block;
  width: 100%; }
  .header-banner .header-banner__image {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden; }
    .header-banner .header-banner__image_mobile {
      display: none; }
    @media screen and (max-width: 52.5em) {
      .header-banner .header-banner__image {
        display: none; }
        .header-banner .header-banner__image_mobile {
          display: block; } }

@media screen and (max-width: 52.5em) {
  .page_categories:has(.header-banner):has(.header.fixed-topbar) .page__content,
  .page_menu:has(.header-banner):has(.header.fixed-topbar) .page__content {
    padding-top: 5rem; } }

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

/*  Categories banner
    -------------------------------------------------------------------------- */
.categories-banner {
  display: block;
  width: 100%;
  margin-bottom: 2.5rem; }
  .categories-banner__image {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 1rem; }
    .categories-banner__image_mobile {
      display: none; }
  @media screen and (max-width: 52.5em) {
    .categories-banner {
      margin-bottom: 2rem; }
      .categories-banner__image {
        display: none; }
        .categories-banner__image_mobile {
          display: block; } }
