/**
 * @file
 * Breakpoints
 *
 * With these breakpoints we will define how the page layout works.
 * For reference, below are the grid default breakpoints and max-widths defined by Bootstrap 4.
 * https://getbootstrap.com/docs/4.4/layout/grid/#grid-tiers
 *
 * $grid-breakpoints: (
 *   xs: 0,
 *   sm: 576px,
 *   md: 768px,
 *   lg: 992px,
 *   xl: 1200px
 * );
 *
 * $container-max-widths: (
 *   sm: 540px,
 *   md: 720px,
 *   lg: 960px,
 *   xl: 1140px
 * );
 *
 */

/*
 * Usage:
 * @include breakpoint(md){
 *   background: blue;
 * }
 */

/*
example for $data argument
each breakpoint has a pair of corresponding values
$breakpoints-data: (
  breakpoints: (365px + 20px, 767px, 1023px, 1199px, 1440px - 20px, 1440px + 20px, 1600px),
  values: ((190px, 190px), (400px, 190px), (261px, 194px), (230px, 243px), (266px, 266px), (266px, 266px), (300px, 300px))
);
*/

/*
 * Usage:
 * @include breakpoint(md, 700px){
 *   background: blue;
 * }
 */

/**
* @file
* Colors
*
* Colors variables for the whole project.
*/

/**
* @file
* Common variables
*
* Common variables for the whole project
*/

/**
* @file
* Mixins
*
*/

/*
  example:
  .root-class {
    .element {
      .theme_cat & {
        ...
      }
    }
  }
  will result into
  .theme_cat .root-class .element

  .root-class {
    .element {
      @include insert-into-selector-as-last-but-one(".theme_cat") {
        ...
      }
    }
  }
  will result into
  .root-class .theme_cat .element
*/

/*
  example:
  repeat-last-part-of-selector(".root-class .element", 3);
  returns
  ".root-class .element.element.element"
*/

/*
A simple little SCSS mixin for creating scrim gradients
Inspired by Andreas Larson - https://github.com/larsenwork
https://css-tricks.com/easing-linear-gradients/
https://toward.studio/latest/making-css-gradients-smooth
*/

/*
a W3C Specs compliant way to override legacy CSS while explicitly highlighting the pieces of CSS code where refactoring is needed

example of usage:

.page {
  .container {
    &__item {
      @include increase-specificity-by-repeating(3) {
        ...
      }
    }
  }
}

will be built into

.page .container__item.container__item.container__item {
  ...
}

this method of increasing specificity is allowed by CSS Specifications
quote from https://www.w3.org/TR/selectors-3/#specificity:
> Note: Repeated occurrences of the same simple selector are allowed and do increase specificity.
*/

.product-hero-modal {
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: #ffffff;
  top: 0;
  left: 0;
  display: none;
  /* height adaptivity for slick-slider */
}

.product-hero-modal.open {
  display: block;
  -webkit-animation: slide-in-right 0.5s forwards;
          animation: slide-in-right 0.5s forwards;
}

.product-hero-modal.open .modal-slider-thumb {
  display: block;
}

.product-hero-modal.open .modal-slider {
  display: block;
  max-height: 100%;
  overflow: hidden;
}

.product-hero-modal.open .modal-slider.slick-slider {
  touch-action: auto !important;
}

.product-hero-modal.open .modal-slider .slick-track {
  margin-left: 0;
}

.product-hero-modal.open .modal-slider .modal-slider-media-wrapper {
  display: block;
  margin: 0 auto;
  min-width: 300px;
}

.product-hero-modal.open .modal-slider .modal-slide iframe {
  display: block;
}

.product-hero-modal .modal-slider-thumb {
  display: none;
  position: absolute;
  bottom: -80px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  padding: 10px;
  text-align: center;
}

.product-hero-modal .modal-slider-thumb > .field__items {
  display: inline-flex;
  flex-wrap: wrap;
  background: #ffffff;
  padding: 5px 0 0;
}

.product-hero-modal .modal-slider-thumb > .field__items > .field__item {
  position: relative;
  cursor: pointer;
  margin: 0 5px 5px;
}

.product-hero-modal .modal-slider-thumb > .field__items > .field__item.active::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #e91c24;
}

.product-hero-modal .modal-slider-thumb .media {
  justify-content: center;
}

.product-hero-modal .modal-slider-thumb .slick-arrow {
  background-size: 48px;
  top: 50%;
}

.product-hero-modal .modal-slider-thumb .slick-arrow.slick-prev {
  right: 100%;
  left: auto;
  margin-right: 10px;
  background-image: url("../../../images/icons/icon-red-left-arrow.svg");
}

.product-hero-modal .modal-slider-thumb .slick-arrow.slick-next {
  right: auto;
  left: 100%;
  margin-left: 10px;
  background-image: url("../../../images/icons/icon-red-right-arrow.svg");
}

.product-hero-modal .modal-slider {
  display: none;
  padding-top: 75px;
}

.product-hero-modal .modal-slider .modal-slide {
  position: relative;
}

.product-hero-modal .modal-slider .modal-slide::before {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}

.product-hero-modal .modal-slider .modal-slide iframe {
  display: none;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  height: 100%;
}

.product-hero-modal .modal-slider img {
  margin-left: auto;
  margin-right: auto;
  max-height: calc(80vh - 75px);
}

.product-hero-modal .modal-slider .slick-arrow {
  display: none;
  background-size: 24px;
}

.product-hero-modal .modal-slider .slick-arrow.slick-prev {
  background-image: url("../../../images/icons/icon-red-left-arrow.svg");
}

.product-hero-modal .modal-slider .slick-arrow.slick-next {
  background-image: url("../../../images/icons/icon-red-right-arrow.svg");
}

.product-hero-modal .modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1;
  width: 48px;
  height: 48px;
  background: url("../../../images/icons/icon-red-close.svg") center center/100% no-repeat;
  cursor: pointer;
}

.product-hero-modal .modal-close span {
  display: none;
}

.product-hero-modal .inner-content {
  width: 80%;
  height: 80%;
  background: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
}

.product-hero-modal .inner-content .media-item-video {
  height: 70%;
}

.product-hero-modal .inner-content .media-item-video #video-container {
  height: 50%;
}

@-webkit-keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }

  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }

  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@media (min-width: 992px) {
  .product-hero-modal {
    background: rgba(88, 79, 76, 0.48);
  }

  .product-hero-modal.open {
    -webkit-animation: none;
            animation: none;
  }

  .product-hero-modal.open .modal-slider .modal-slider-media-wrapper {
    width: 910px;
  }

  .product-hero-modal .modal-slider-thumb {
    bottom: -80px;
  }

  .product-hero-modal .modal-slider-thumb .slick-arrow {
    display: none;
  }

  .product-hero-modal .modal-slider,
  .product-hero-modal .slick-list,
  .product-hero-modal .slick-track,
  .product-hero-modal .modal-slider-item,
  .product-hero-modal .modal-slider-media-wrapper,
  .product-hero-modal img {
    height: 100%;
  }

  .product-hero-modal .modal-slider {
    padding-top: 0;
  }

  .product-hero-modal .modal-slider .modal-slide::before {
    display: none;
  }

  .product-hero-modal .modal-slider .modal-slide iframe {
    padding: 60px 60px 0;
    position: static;
    height: 620px;
    width: 100%;
  }

  .product-hero-modal .modal-slider img {
    max-height: 680px;
  }

  .product-hero-modal .modal-slider .slick-arrow {
    display: block;
  }

  .product-hero-modal .modal-close {
    top: 50%;
    right: 50%;
    -webkit-transform: translate(435px, calc(-50vh + 40px));
            transform: translate(435px, calc(-50vh + 40px));
  }

  .product-hero-modal .inner-content {
    top: 20px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 910px;
    height: calc(100vh - 20px - 70px - 20px);
  }

  .product-hero-modal .inner-content .media-item-video {
    width: 80%;
    height: 80%;
    display: flex;
  }

  .product-hero-modal .inner-content .media-item-video #video-container {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 992px) and (min-height: 790px) {
  .product-hero-modal .modal-close {
    -webkit-transform: translate(435px, -320px);
            transform: translate(435px, -320px);
  }

  .product-hero-modal .inner-content {
    top: 50%;
    -webkit-transform: translate(-50%, -340px);
            transform: translate(-50%, -340px);
    height: 680px;
  }
}