@charset "UTF-8";
/**
 * TABLE OF CONTENTS
 *
 * SETTINGS
 * Global..................Globally-available variables and config.
 *
 * TOOLS
 * Mixins..................Useful mixins.
 *
 * COMPONENTS
 *
 *
 * MODULES
 *
 */
/*------------------------------------*\
  #SETTINGS
\*------------------------------------*/
/**
 * Returns the value of the `$key` value of a provided `$map`.
 */
/**
 * Uses `getProperty()` to return a value from the `$colors` map.
 */
/**
 * Uses `getProperty()` to return a value from the `$breakpoints` map.
 */
/*------------------------------------*\
  #TYPOGRAPHY
\*------------------------------------*/
/*------------------------------------*\
  #COLORS
\*------------------------------------*/
/*------------------------------------*\
  #ELEMENT-DEFAULTS
\*------------------------------------*/
/*------------------------------------*\
  #HEADER-DEFAULTS
\*------------------------------------*/
/*------------------------------------*\
  #HORIZONTAL-SPACING
\*------------------------------------*/
/*------------------------------------*\
  #BREAKPOINTS
\*------------------------------------*/
/*------------------------------------*\
  #TRANSITIONS
\*------------------------------------*/
/*------------------------------------*\
  #TOOLS
\*------------------------------------*/
/**
 * Responsive Mixin
 * This mixin is designed for a _cleaner_ first approach
 * This means that css isn't overridden but rather replaced for
 * different viewport widths; making it easier to inspect/debug css
 *
 * Usage:
 * @include media-query(exclude-medium)    { ... }
 * @include media-query(medium-up-to-site) 	   { ... }
 * ... etc
 */
/**
 * [Adds styles to allow an element's height scale proportionatelly]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 */
/**
 * [Calculates the percentage aspect ratio (what % height is compared to the width)]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 * @return {[Number(%)]}
 */
/**
 * *****REMEMBER TO USE MARGIN OR PADDING AND NOT TOP/BOTTOM******
 * [Calculates the center of an element in relation to a provided width and height.
 * Useful to place an absolute element at the center of another when
 * the positioned element cannot be the target's child ]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 * @return {[Number(%)]}
 */
/**
 * [In the  awful case you can't use Flexbox to vertically align something]
 * @param  {[type]} $transform:       false         [Use transforms to align instead of the absolute trick]
 * @param  {[type]} $pos:             absolute      [position type]
 * @param  {[type]} $posAdj:          0             [position adjustment. If $transform is true, this value only affects the 'top' property.]
 * @param  {[type]} $alignHorizontal: false         [Includes horizontal alignment]
 */
/**
 * Generate Enumerated Class
 * Iterates from 0 to the specified length and generates classes that set the specified property
 * @param  {[String]} $classname:       required      [Required: Specify the class name]
 * @param  {[String]} $property:        $classname    [Optional: Specify the enumerated property (if it's different from the name of the class)]
 * @param  {[Number]} $length:          10            [Optional: Specify the end of the loop]
 * @param  {[String]} $units:           null          [Optional: specify units to append to the enumerated property]
 */
/**
* [Strip the pesky units from values]
* @param  {[Number]} $value
*/
/**
* [Fluid Type]
*/
/**
* [Fluid Type and space]
*/
/**
 * Expose a single property to handle the different text-underline preferences for RTL vs LTR.
 */
/**
 * POSTCSS-RTL/POSTCSS-RTLCSS Has issues parsing inline comments when using production mode, which removes CSS comments.
 * Using the important comment syntax doesn't seem to work either, as that just results in appending the comment with no functionality.
 */
/*------------------------------------*\
  #COMPONENTS
\*------------------------------------*/
.store-locator__head {
  margin-bottom: 1.25rem;
}

@media (min-width: 49.4375rem) {
  .store-locator {
    padding-top: 4rem;
    padding-bottom: 8rem;
  }
}

@media (min-width: 49.4375rem) {
  .selector-responsive {
    display: none;
    text-align: center;
  }
}

.selector-responsive {
  margin-top: 1.5rem;
  margin-bottom: -0.5rem;
}

.selector {
  align-self: center;
}

@media (max-width: 49.375rem) {
  .store-locator {
    /*  padding-top: 3rem; */
    padding-bottom: 4rem;
  }

  .hidden-map {
    display: none;
  }
}

@media (max-width: 64rem) {
  .position-medium-map {
    margin-top: auto;
  }
}

.store-locator__detect-location {
  margin-top: 0.5rem;
}

.store-locator__result-content {
  display: block;
}

.store-locator__result-content:hover {
  cursor: pointer;
}

.store-locator__result-content:hover .store-details__name {
  text-decoration: underline;
}

.store-locator__form {
  margin-bottom: 3rem;
}

.store-locator__results,
.store-locator__results--extended {
  overflow: auto;
}

.store-locator__result-item {
  position: relative;
}

.store-locator__no-results {
  margin: auto;
  padding: 30px 0;
}

.store-locator__actions {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.store-locator__result-item--extended:first-child {
  padding-top: 40px;
}

.store-locator__result-item--extended:not(:last-child) {
  padding-top: 40px;
  border-bottom: 1px solid #FFF;
  padding-bottom: 40px;
}

[dir="ltr"] .store-locator__result-item--extended:not(:last-child) {
  padding-left: 30px;
}

[dir="rtl"] .store-locator__result-item--extended:not(:last-child) {
  padding-right: 30px;
}

.store-locator__result-item--extended:last-child {
  padding-bottom: 40px;
}

[dir="ltr"] .store-locator__result-item--extended:last-child {
  padding-left: 30px;
}

[dir="rtl"] .store-locator__result-item--extended:last-child {
  padding-right: 30px;
}

.store-details--extended .store-details__name {
  margin-bottom: 1rem;
  font-size: 14px;
  font-weight: 600;
}

.store-details--extended .store-details__section:not(:last-child) {
  margin-bottom: 1.5rem;
}

.store-details--extended .store-details__check-availability {
  color: #000;
  text-decoration: underline;
  font-size: 14px;
  display: flex;
  justify-content: start;
}

.modal--store-locator {
  overflow: initial;
  background-color: rgba(0, 0, 0, 0.5);
  display: inline-block;
  padding: 0;
}

.modal--store-locator .window-modal__content {
  height: 100vh;
  max-width: 80vw;
}

[dir="ltr"] .modal--store-locator .window-modal__content {
  float: right;
}

[dir="rtl"] .modal--store-locator .window-modal__content {
  float: left;
}

@media (max-width: 63.938rem) {
  .modal--store-locator .window-modal__content {
    overflow-y: scroll;
    padding-bottom: 0;
    max-width: 100%;
  }
}

.modal--store-locator .window-modal__content .modal__content {
  margin-top: 0;
}

.modal--store-locator .window-modal__close {
  z-index: 99;
}

@media (min-width: 64.0625rem) {
  .modal--store-locator .window-modal__close {
    background-color: #FFF;
    border-radius: 20px;
    width: 38px;
    height: 38px;
    border: 1px solid #000;
    top: 4rem;
  }

  [dir="ltr"] .modal--store-locator .window-modal__close {
    right: 10px;
  }

  [dir="rtl"] .modal--store-locator .window-modal__close {
    left: 10px;
  }

  .modal--store-locator .window-modal__close:after {
    content: "×";
    width: 20px;
    height: 20px;
    display: flex;
    font-size: 40px;
    font-weight: 200;
    align-items: center;
    margin: 12px 6px;
    opacity: 0.7;
  }
}

@media (max-width: 63.938rem) {
  .store-locator--product-availability:not(.set--show-form) .google-map {
    display: none;
  }
}

.store-locator--product-availability .left-content {
  display: block;
  max-width: 50%;
  width: 100%;
  padding: 30px;
}

@media (max-width: 63.938rem) {
  .store-locator--product-availability .left-content {
    max-width: 100%;
  }
}

.store-locator--product-availability .left-content .modal__header {
  padding: 0 !important;
}

.store-locator--product-availability .product-tile__media-container {
  padding: 0;
  min-height: 167px;
  display: flex;
  align-items: center;
  background-color: #F2F2F2;
}

.store-locator--product-availability .store-locator__contents {
  border-bottom: 1px solid #000;
}

.store-locator--product-availability .product-tile__image {
  max-height: inherit;
  width: 100%;
  height: auto;
}

.store-locator--product-availability .informative-info {
  display: none;
}

@media (min-width: 64.0625rem) {
  .store-locator--product-availability .informative-info {
    display: block;
  }
}

.store-locator--product-availability .store-locator__contact-form {
  display: none;
  margin-bottom: 1.5rem;
  max-width: 100%;
}

.store-locator--product-availability .store-locator__contact-form .iti__flag-container {
  border: 0;
  background-color: #F2F2F2;
}

[dir="ltr"] .store-locator--product-availability .store-locator__contact-form .iti__flag-container {
  border-right: 2px solid #FFF;
}

[dir="rtl"] .store-locator--product-availability .store-locator__contact-form .iti__flag-container {
  border-left: 2px solid #FFF;
}

@media (min-width: 64.0625rem) {
  .store-locator--product-availability .store-locator__contact-form form {
    width: 50%;
  }

  [dir="ltr"] .store-locator--product-availability .store-locator__contact-form form {
    padding-right: 14px;
  }

  [dir="rtl"] .store-locator--product-availability .store-locator__contact-form form {
    padding-left: 14px;
  }
}

.store-locator--product-availability .store-locator__results--extended {
  max-height: 68vh;
}

@media (min-width: 64.0625rem) {
  .store-locator--product-availability .store-locator__results--extended .store-locator__result-item--extended:hover {
    background-color: #E5EFF5;
  }
}

.store-locator--product-availability .store-locator__results--extended::-webkit-scrollbar {
  width: 2px;
}

.store-locator--product-availability .store-locator__results--extended::-webkit-scrollbar-track {
  background: #FFF;
}

.store-locator--product-availability .store-locator__results--extended::-webkit-scrollbar-thumb {
  background: #000;
}

@media (max-width: 63.938rem) {
  .store-locator--product-availability .store-locator__results--extended {
    max-height: 100%;
  }

  .store-locator--product-availability .store-locator__results--extended.show-main-stores .store-locator__result-item--extended {
    display: block;
  }

  .store-locator--product-availability .store-locator__results--extended.show-main-stores .google-map {
    display: none;
  }

  .store-locator--product-availability .store-locator__results--extended.show-main-map .store-locator__result-item--extended {
    display: none;
  }

  .store-locator--product-availability .store-locator__results--extended.show-main-map .google-map {
    display: block;
    height: 600px;
  }

  .store-locator--product-availability .store-locator__results--extended.show-main-map .google-map .store-locator__map {
    height: 100%;
  }
}

.store-locator--product-availability .store-details__section .store-details__hours .store-details__hours-row {
  display: none;
}

.store-locator--product-availability .store-details__section .store-details__hours .store-details__hours-row:first-child {
  display: flex;
}

.store-locator--product-availability .mobile-reserve-tabs {
  display: none;
}

.store-locator--product-availability .mobile-reserve-tab {
  display: none;
}

.store-locator--product-availability .mobile-reserve-tab.active {
  display: flex;
}

.store-locator--product-availability .mobile-reserve-tab.active .store-details__hidden-actions {
  display: none;
}

.store-locator--product-availability .tab-content {
  position: static;
}

@media (min-width: 64.0625rem) {
  .store-locator--product-availability .tab-content .google-map {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100vh;
  }

  [dir="ltr"] .store-locator--product-availability .tab-content .google-map {
    right: 0;
  }

  [dir="rtl"] .store-locator--product-availability .tab-content .google-map {
    left: 0;
  }

  .store-locator--product-availability .tab-content .google-map .store-locator__map {
    height: 100vh;
  }
}

.store-locator--product-availability .product-attribute__list--check-availability {
  display: none;
  margin-top: 10px;
}

.store-locator--product-availability .product-attribute__list--check-availability .variant_product_section {
  display: flex;
}

.store-locator--product-availability .product-attribute__list--check-availability .variant_product_section .variant_attibute_size {
  margin-top: 0;
}

[dir="ltr"] .store-locator--product-availability .product-attribute__list--check-availability .variant_product_section .variant_attibute_size {
  padding-left: 14px;
}

[dir="rtl"] .store-locator--product-availability .product-attribute__list--check-availability .variant_product_section .variant_attibute_size {
  padding-right: 14px;
}

.store-locator--product-availability .product-attribute__list--check-availability .variant_product_section .variant_attibute_size li label {
  display: none;
}

.store-locator--product-availability .product-attribute__list--check-availability .variant_product_section .variant_attibute_size li input[type=radio]:checked + label {
  display: block;
  border: 0;
  width: -moz-max-content;
  width: max-content;
}

.store-locator--product-availability.set--show-form input, .store-locator--product-availability.set--show-form textarea {
  background-color: #F2F2F2 !important;
  border: 0 !important;
}

.store-locator--product-availability.set--show-form .informative-info {
  font-size: 14px;
  color: #000;
  width: 50%;
}

[dir="ltr"] .store-locator--product-availability.set--show-form .informative-info {
  padding-right: 14px;
}

[dir="rtl"] .store-locator--product-availability.set--show-form .informative-info {
  padding-left: 14px;
}

.store-locator--product-availability.set--show-form .disclaimer-info {
  font-size: 12px;
  color: #000;
}

.store-locator--product-availability.set--show-form .store-details__action-cta {
  display: flex;
  text-transform: capitalize;
  color: #000;
  letter-spacing: 1px;
  font-weight: 500;
  font-size: 14px;
}

.store-locator--product-availability.set--show-form .store-details__action-cta.send {
  color: #FFF;
  display: flex;
  justify-content: center;
}

.store-locator--product-availability.set--show-form .store-locator__contact-form {
  display: block;
}

@media (max-width: 63.938rem) {
  .store-locator--product-availability.set--show-form .google-map {
    height: 500px;
    display: none;
    margin: 0 -14px;
  }

  .store-locator--product-availability.set--show-form .store-locator__map {
    height: 100%;
  }

  .store-locator--product-availability.set--show-form .store-details__hidden-actions {
    padding-bottom: 40px;
  }

  .store-locator--product-availability.set--show-form .tab-content.show-map .google-map {
    display: block;
  }

  .store-locator--product-availability.set--show-form .tab-content.show-map .store-locator__results--extended {
    max-height: 100vh;
    height: 100%;
  }

  .store-locator--product-availability.set--show-form .tab-content.show-map .store-locator__contact-form {
    display: none;
  }

  .store-locator--product-availability.set--show-form .tab-content.show-form .google-map {
    display: none;
  }

  .store-locator--product-availability.set--show-form .tab-content.show-form .informative-info {
    padding: 0 14px;
    width: 100%;
  }

  .store-locator--product-availability.set--show-form .tab-content.show-form .informative-info,
  .store-locator--product-availability.set--show-form .tab-content.show-form .store-locator__contact-form {
    display: block;
  }
}

.store-locator--product-availability.set--show-form .store-details--extended:not(.set--show-form) {
  display: none;
}

.store-locator--product-availability.set--show-form .store-locator__contents {
  position: absolute;
  top: 0;
  width: 100%;
  margin: 0 !important;
  overflow-y: scroll;
  height: 100vh;
  -ms-overflow-style: none;
  scrollbar-width: none;
  z-index: 99;
  background-color: #FFF;
}

@media (min-width: 64.0625rem) {
  .store-locator--product-availability.set--show-form .store-locator__contents {
    padding: 0 14px;
  }
}

.store-locator--product-availability.set--show-form .store-locator__contents::-webkit-scrollbar {
  display: none;
}

.store-locator--product-availability.set--show-form .store-locator__contents .store-locator__result-item--extended {
  margin: 0;
  padding: 0;
}

@media (min-width: 64.0625rem) {
  .store-locator--product-availability.set--show-form .store-locator__contents .store-locator__result-item--extended:hover {
    background-color: unset;
  }
}

.store-locator--product-availability.set--show-form .store-locator__contents .store-locator__results--extended {
  max-height: 100%;
}

@media (max-width: 63.938rem) {
  .store-locator--product-availability.set--show-form .store-locator__contents .store-locator__results--extended {
    padding: 40px 14px 0;
  }
}

@media (max-width: 63.938rem) {
  .store-locator--product-availability.set--show-form .store-locator__contents .store-locator__contact-form {
    padding: 0 14px;
  }
}

.store-locator--product-availability.set--show-form .mobile-reserve-tabs {
  display: flex;
  margin: 0 auto;
  position: absolute;
  width: 100%;
  top: 130px;
}

.store-locator--product-availability .store-details__hidden-actions {
  display: none;
  margin-bottom: 2rem;
}

.store-locator--product-availability .store-details__contact-description {
  font-size: 16px;
  color: #000;
}

.store-locator--product-availability .store-details--extended.set--show-form .store-details__check-availability {
  display: none;
}

.store-locator--product-availability .store-details--extended.set--show-form .store-details__hidden-actions {
  display: block;
}

.store-locator--product-availability .store-details__hours {
  flex: 1 1;
}

.store-locator--product-availability .store-details__hours-day {
  flex: 0 0 6.25rem;
}

.store-locator--store-pickup .store-details__name,
.store-locator--store-pickup .store-details__address {
  margin-bottom: 1rem;
  font-size: 14px;
  font-weight: 600;
}

.store-locator--store-pickup .store-locator__result-details-cta {
  margin-top: 0.35rem;
}

[dir="ltr"] .store-locator--store-pickup .store-locator__result-details-cta {
  margin-left: 2.2rem;
}

[dir="rtl"] .store-locator--store-pickup .store-locator__result-details-cta {
  margin-right: 2.2rem;
}

.store-locator--store-pickup .store-locator__result-item:not(:last-child) {
  margin-bottom: 3rem;
}

.store-locator--store-pickup .store-locator__form-group .button {
  line-height: 1.45;
}

[dir="ltr"] .store-details__delivery-value {
  margin-left: 1.5rem;
}

[dir="rtl"] .store-details__delivery-value {
  margin-right: 1.5rem;
}

.store-details--extended-modal .store-details__main {
  padding-top: 1.5em;
  text-align: center;
  margin-bottom: 2.25rem;
  justify-content: center;
  align-items: center;
}

.store-details--extended-modal .store-details__name {
  margin-bottom: 0.5rem;
}

.store-details--extended-modal .store-details__section:not(:last-child) {
  margin-bottom: 2.25rem;
}

.store-details--extended-modal .store-details__section-title {
  margin-bottom: 0.65rem;
}

.store-details--extended-modal .store-details__section-hours-title {
  margin-top: 2.25rem;
}

.store-details--extended-modal .store-details__hours-row {
  justify-content: space-between;
}

.store-details--extended-modal .store-details__hours-row:not(:last-child) {
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: solid 0.0625rem #F0F0F0;
}

.store-details--extended-modal .store-details__hours-day {
  flex: 0 0 4.875rem;
}

@media (min-width: 64.0625rem) {
  .store-locator__results {
    max-height: 30rem;
  }

  .store-locator__results--extended {
    max-height: 56vh;
  }
}

@media (max-width: 64rem) {
  .store-locator--product-availability .store-locator__contents {
    margin-top: 0;
    position: relative;
  }

  .store-locator--product-availability .mobile-tabs {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
  }

  .store-locator--product-availability .mobile-tabs .button {
    padding: 10px;
    cursor: pointer;
  }

  .store-locator--product-availability .mobile-tabs .button.active {
    background-color: #000;
    color: #FFF;
  }

  .store-locator--store-pickup .store-locator__title {
    margin-bottom: 1.5rem;
  }

  .store-locator--store-pickup .store-locator__form-group:not(:last-child) {
    margin-bottom: 1.75rem;
  }

  .store-locator--store-pickup .store-locator__no-results {
    text-align: center;
  }

  .store-locator__results {
    max-height: 22rem;
  }
}

[dir="ltr"] .modal--store-locator .form-check .form-check-label--radio::after {
  left: 5px;
}

[dir="rtl"] .modal--store-locator .form-check .form-check-label--radio::after {
  right: 5px;
}

@media (min-width: 90.0625rem) {
  .store-locator__map {
    position: relative;
  }

  .store-locator__map:before {
    display: block;
    content: "";
    padding-bottom: 56.25%;
    width: 100%;
  }
}

@media (min-width: 64.0625rem) and (max-width: 90rem) {
  .store-locator__map {
    position: relative;
  }

  .store-locator__map:before {
    display: block;
    content: "";
    padding-bottom: 56.25%;
    width: 100%;
  }
}

@media (min-width: 64.0625rem) {
  .store-locator__map {
    position: relative;
  }

  .store-locator__map:before {
    display: block;
    content: "";
    padding-bottom: 75.799086758%;
    width: 100%;
  }
}

@media (min-width: 49.4375rem) and (max-width: 64rem) {
  .store-locator__map {
    position: relative;
  }

  .store-locator__map:before {
    display: block;
    content: "";
    padding-bottom: 133.3333333333%;
    width: 100%;
  }
}

@media (min-width: 49.4375rem) {
  .store-locator__map-results {
    position: relative;
  }

  .store-locator__map-results .store-locator__results {
    position: absolute;
    width: 100%;
    height: 100%;
    max-height: 100%;
  }
}

@media (max-width: 49.375rem) {
  .store-locator__map {
    position: relative;
  }

  .store-locator__map:before {
    display: block;
    content: "";
    padding-bottom: 145.4545454545%;
    width: 100%;
  }

  .store-locator__map .store-locator__results {
    margin-bottom: 2rem;
  }

  .store-locator__results {
    max-height: 22rem;
  }
}

#total-boutiques {
  display: contents;
}

.store-locator--searchByText-Open {
  width: 400px;
  height: 100px;
  justify-content: center;
  font-size: 1.25rem;
  font-family: "MontblancType-Regular", "MontblancType-Medium", "MontblancType-Light", "Almarai", Helvetica, Arial, sans-serif;
  border-top: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2;
  margin-top: 20px;
}

.icon--storelocator-plus {
  background-image: url("../images/plus.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  align-self: center;
  display: block;
  height: 1rem;
  margin-bottom: 0.1875rem;
  width: 1rem;
}

[dir="ltr"] .icon--storelocator-plus {
  margin-right: 50px;
}

[dir="rtl"] .icon--storelocator-plus {
  margin-left: 50px;
}

.icon--storelocator-minus {
  background-image: url("../images/minus.svg");
}

#filterbtn {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

[dir="ltr"] #filterbtn {
  margin-left: 10px;
}

[dir="rtl"] #filterbtn {
  margin-right: 10px;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.store-locator__search-input {
  margin: none;
  padding: none;
}

/*# sourceMappingURL=storeLocatorMain.css.map*/