/**
 * @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.
*/

.component--product-tile-new {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 4px;
  border: 1px solid #f9f9f9;
  box-shadow: 0px 0px 1px rgba(58, 53, 51, 0.25), 0px 1px 4px rgba(58, 53, 51, 0.08);
  transition: all 0.5s ease !important;
}

.component--product-tile-new:hover {
  border-color: #e91c24;
}

.component--product-tile-new .ribbon {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  padding: 6px 10px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.component--product-tile-new .ribbon.new,
.component--product-tile-new .ribbon.discontinued {
  background: #0d7978;
  color: #ffffff;
}

.component--product-tile-new .ribbon.featured {
  background: #e91c24;
  color: #ffffff;
}

.component--product-tile-new .product-brand-category {
  display: flex;
  background: #f9f9f9;
  border-radius: 3px 3px 0 0;
}

.component--product-tile-new .product-brand-category .brand,
.component--product-tile-new .product-brand-category .category {
  padding: 8px 15px;
}

.component--product-tile-new .product-brand-category .brand .field__item,
.component--product-tile-new .product-brand-category .brand a,
.component--product-tile-new .product-brand-category .category .field__item,
.component--product-tile-new .product-brand-category .category a {
  line-height: 16px;
  font-size: 12px;
  font-weight: 900;
}

.component--product-tile-new .product-brand-category .brand {
  position: relative;
}

.component--product-tile-new .product-brand-category .brand a {
  color: #e91c24;
  text-transform: uppercase;
}

.component--product-tile-new .product-brand-category .brand:after {
  content: "";
  background: #c9c5b9;
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.component--product-tile-new .product-brand-category .category .field__items {
  display: flex;
}

.component--product-tile-new .product-brand-category .category .field__items > .field__item:not(:last-child) {
  margin: 0 5px 0 0;
}

.component--product-tile-new .product-content {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-grow: 1;
  padding: 20px 0;
}

.component--product-tile-new .product-content .product-tile_image {
  flex: 0 0 30%;
}

.component--product-tile-new .product-content .product-body {
  flex: 0 0 60%;
}

.component--product-tile-new .field--name-field-product-image .field--name-image {
  margin: 0 auto;
}

.component--product-tile-new .field--name-field-product-image .field--name-image img {
  width: 210px;
}

.component--product-tile-new h2 {
  flex-grow: 1;
  font-size: 1rem;
  line-height: 24px;
}

.component--product-tile-new h2 a {
  color: #3a3533;
  text-decoration: none;
}

.component--product-tile-new h2 a:hover {
  text-decoration: underline;
}

.component--product-tile-new .lowest-price {
  margin: 10px 0 0 0;
}

.component--product-tile-new .details {
  display: flex;
}

.component--product-tile-new .details .product-cta {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 10px;
}

.component--product-tile-new .details .price {
  border-right: 1px solid #c9c5b9;
  flex-grow: 1;
  display: flex;
  align-items: center;
  padding: 10px;
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
}

.component--product-tile-new .details .rating {
  padding: 10px 10px 10px 26px;
}

.component--product-tile-new .details .rating.expanded {
  width: 100%;
}

.component--product-tile-new .details .rating > * {
  min-width: 125px;
  height: 41px;
}

.component--product-tile-new .view-product {
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.375rem;
  position: relative;
  color: #3a3533;
  position: relative;
  border-bottom: 1px solid #e91c24;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.component--product-tile-new .actions button.btn-buynow {
  width: 100%;
  background: #f9f9f9;
  border-color: #f9f9f9;
  color: #3a3533;
  border-radius: 0 0 3px 3px;
}

.component--product-tile-new .actions button.btn-buynow:hover {
  background: #e91c24;
  border-color: #e91c24;
  color: #ffffff;
}

.component--product-tile-new .actions .field--name-field-product-buy-link .ext svg {
  display: none;
}

.component--product-tile-new .actions .buy-now--disabled {
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.375rem;
  color: #ffffff;
  text-align: center;
  height: 50px;
  width: 100%;
  padding: 11px 20px 12px;
  border-radius: 0 0 4px 4px;
  border: 1px solid #c9c5b9;
  background-color: #c9c5b9;
}

.component--product-tile-new.without-reviews {
  border-bottom: 0;
}

.component--product-tile-new.without-reviews .details {
  height: 66px;
}

.component--product-tile-new.without-reviews .details .price {
  width: 100%;
}

.component--product-tile-new.without-reviews .details .product-cta {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.component--product-tile-new.without-reviews .actions {
  display: block;
  padding: 0;
  margin-left: -1px;
  margin-right: -1px;
}

.component--product-tile-new.without-reviews .actions .ext svg {
  display: none;
}

.component--product-tile-new.without-reviews .actions button,
.component--product-tile-new.without-reviews .actions a {
  font-size: 1rem;
  line-height: 1.375rem;
  text-align: center;
  height: 50px;
  width: 100%;
  border-radius: 0 0 4px 4px;
}

.component--product-tile-new.without-reviews .actions .field--name-field-product-buy-link button,
.component--product-tile-new.without-reviews .actions .field--name-field-product-buy-link a,
.component--product-tile-new.without-reviews .actions .field--name-field-product-fusepump button,
.component--product-tile-new.without-reviews .actions .field--name-field-product-fusepump a {
  border-radius: 0 0 4px 4px;
  border: 1px solid #c9c5b9;
}

.component--product-tile-new.without-reviews .actions .field--name-field-product-buy-link button:hover,
.component--product-tile-new.without-reviews .actions .field--name-field-product-buy-link a:hover,
.component--product-tile-new.without-reviews .actions .field--name-field-product-fusepump button:hover,
.component--product-tile-new.without-reviews .actions .field--name-field-product-fusepump a:hover {
  border: 1px solid #c9c5b9;
}

.component--product-tile-new.without-reviews .actions .field--name-field-product-fusepump button {
  border-top: 0;
}

.component--product-tile-new.without-reviews .actions .field--name-field-product-buy-link a {
  padding-top: 14px;
}

.component-product-tile-set {
  padding: 0 0 0 15px;
}

.component-product-tile-set .info {
  padding-bottom: 10px;
}

.component-product-tile-set .info .category {
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.75rem;
  color: #3a3533;
}

.component-product-tile-set .info .label {
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.875rem;
  color: #3a3533;
  display: block;
  line-height: 54px;
}

.component-product-tile-set .info .type {
  width: 100%;
  height: 240px;
  background-size: contain;
  background-repeat: no-repeat;
  display: none;
}

.component-product-tile-set .info .type.dog {
  background-image: url("../../../images/product-tile-set/dog.png");
}

.component-product-tile-set .info .type.cat {
  background-image: url("../../../images/product-tile-set/cat.png");
}

.component-product-tile-set .list {
  overflow-x: auto;
  overflow-y: hidden;
}

.component-product-tile-set .list .component--product-tile {
  width: 300px;
  margin: 0 26px 0 0;
  flex-shrink: 0;
  height: auto;
}

.component-product-tile-set .list .component--product-tile:last-child:after {
  position: absolute;
  content: "";
  right: -15px;
  width: 1px;
  height: 1px;
}

.component-product-tile-set .mCustomScrollBox {
  padding-bottom: 30px;
}

.component-product-tile-set .mCSB_horizontal.mCSB_inside .mCSB_container {
  margin-bottom: 0;
  height: 100%;
}

.component--product-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 4px;
  border: 1px solid #c9c5b9;
  width: 345px;
  box-sizing: content-box;
}

.component--product-tile .ribbon {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  padding: 6px 10px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.component--product-tile .ribbon.new,
.component--product-tile .ribbon.discontinued {
  background: #0d7978;
  color: #ffffff;
}

.component--product-tile .ribbon.featured {
  background: #e91c24;
  color: #ffffff;
}

.component--product-tile .product-tile_image {
  min-height: 251px;
}

.component--product-tile .field--name-field-product-image {
  border-bottom: 1px solid #c9c5b9;
  padding: 20px 0;
}

.component--product-tile .field--name-field-product-image .field--name-image {
  margin: 0 auto;
  text-align: center;
}

.component--product-tile .field--name-field-product-image .field--name-image img {
  width: 210px;
  max-width: none;
}

.component--product-tile__link {
  color: #3a3533;
}

.component--product-tile__link:hover {
  color: #3a3533;
  text-decoration: underline;
}

.component--product-tile h2 {
  flex-grow: 1;
  padding: 20px 10px;
  font-size: 1.25rem;
}

.component--product-tile h2 a {
  color: #3a3533;
}

.component--product-tile .details {
  display: flex;
  border-bottom: 1px solid #c9c5b9;
}

.component--product-tile .details .product-cta {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 10px;
}

.component--product-tile .details .price {
  border-right: 1px solid #c9c5b9;
  flex-grow: 1;
  display: flex;
  align-items: center;
  padding: 10px;
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
}

.component--product-tile .details .rating {
  padding: 10px 10px 10px 26px;
}

.component--product-tile .details .rating.expanded {
  width: 100%;
}

.component--product-tile .details .rating > * {
  min-width: 125px;
  height: 41px;
}

.component--product-tile .view-product {
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.375rem;
  position: relative;
  color: #3a3533;
  position: relative;
  border-bottom: 1px solid #e91c24;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.component--product-tile .view-product:hover {
  text-decoration: none;
}

.component--product-tile .actions {
  margin-top: auto;
  /*display: flex;
  justify-content: space-between;
  align-items: center;*/
}

.component--product-tile .actions button.btn-buynow,
.component--product-tile .actions .adimoWidget button,
.component--product-tile .actions .adimo-multi-touchpoint {
  width: 100%;
}

.component--product-tile .actions .field--name-field-product-buy-link .ext svg {
  display: none;
}

.component--product-tile .actions .buy-now--disabled {
  font-family: "antenna-purina", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.375rem;
  color: #ffffff;
  text-align: center;
  height: 50px;
  width: 100%;
  padding: 11px 20px 12px;
  border-radius: 0 0 4px 4px;
  border: 1px solid #c9c5b9;
  background-color: #c9c5b9;
}

.component--product-tile.without-reviews {
  border-bottom: 0;
}

.component--product-tile.without-reviews .details {
  height: 66px;
}

.component--product-tile.without-reviews .details .price {
  width: 100%;
}

.component--product-tile.without-reviews .details .product-cta {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.component--product-tile.without-reviews .actions {
  display: block;
  padding: 0;
  margin-left: -1px;
  margin-right: -1px;
}

.component--product-tile.without-reviews .actions .ext svg {
  display: none;
}

.component--product-tile.without-reviews .actions button,
.component--product-tile.without-reviews .actions a {
  font-size: 1rem;
  line-height: 1.375rem;
  text-align: center;
  height: 50px;
  width: 100%;
  border-radius: 0 0 4px 4px;
}

.component--product-tile.without-reviews .actions .field--name-field-product-buy-link button,
.component--product-tile.without-reviews .actions .field--name-field-product-buy-link a,
.component--product-tile.without-reviews .actions .field--name-field-product-fusepump button,
.component--product-tile.without-reviews .actions .field--name-field-product-fusepump a {
  border-radius: 0 0 4px 4px;
  border: 1px solid #c9c5b9;
}

.component--product-tile.without-reviews .actions .field--name-field-product-buy-link button:hover,
.component--product-tile.without-reviews .actions .field--name-field-product-buy-link a:hover,
.component--product-tile.without-reviews .actions .field--name-field-product-fusepump button:hover,
.component--product-tile.without-reviews .actions .field--name-field-product-fusepump a:hover {
  border: 1px solid #c9c5b9;
}

.component--product-tile.without-reviews .actions .field--name-field-product-fusepump button {
  border-top: 0;
}

.component--product-tile.without-reviews .actions .field--name-field-product-buy-link a {
  padding-top: 14px;
}

@media (min-width: 1140px) {
  .component--product-tile-new .field--name-field-product-image .field--name-image img {
    width: auto;
    max-width: 100%;
  }

  .component--product-tile-new h2 {
    font-size: 1rem;
  }

  .component--product-tile-new .details .price {
    font-size: 1rem;
    font-weight: normal;
  }

  .component--product-tile-new .details .rating {
    padding: 10px;
  }

  .component--product-tile-new .view-product {
    border-bottom: none;
  }

  .component--product-tile-new .view-product:after {
    background: #e91c24;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left;
            transform-origin: left;
    transition-duration: 0.3s;
    transition-delay: 0.3s;
  }

  .component--product-tile-new .view-product:before {
    background: #e91c24;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: right;
            transform-origin: right;
    transition-duration: 0.3s;
    transition-delay: 0.8s;
  }

  .component--product-tile-new .view-product:hover:after {
    background: #e91c24;
    width: 100%;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: right;
            transform-origin: right;
    transition-delay: 0.8s;
  }

  .component--product-tile-new .view-product:hover:before {
    background: #e91c24;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left;
            transform-origin: left;
    transition-delay: 0.3s;
  }

  .component-product-tile-set {
    display: flex;
    align-items: stretch;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
  }

  .component-product-tile-set .info {
    width: 420px;
    padding-bottom: 0;
  }

  .component-product-tile-set .info .category {
    margin-left: 156px;
    margin-bottom: 10px;
  }

  .component-product-tile-set .info .label {
    margin-left: 156px;
    width: 200px;
    font-size: 2.5rem;
  }

  .component-product-tile-set .info .type {
    display: block;
  }

  .component-product-tile-set .list .component--product-tile {
    width: 255px;
  }

  .component-product-tile-set .list .component--product-tile:last-child:after {
    right: -26px;
  }

  .component--product-tile {
    width: 255px;
  }

  .component--product-tile .field--name-field-product-image .field--name-image img {
    width: auto;
    max-width: 100%;
  }

  .component--product-tile h2 {
    font-size: 1rem;
  }

  .component--product-tile .details .price {
    font-size: 1rem;
    font-weight: normal;
  }

  .component--product-tile .details .rating {
    padding: 10px;
  }

  .component--product-tile .view-product {
    border-bottom: none;
  }

  .component--product-tile .view-product:after {
    background: #e91c24;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left;
            transform-origin: left;
    transition-duration: 0.3s;
    transition-delay: 0.3s;
  }

  .component--product-tile .view-product:before {
    background: #e91c24;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: right;
            transform-origin: right;
    transition-duration: 0.3s;
    transition-delay: 0.8s;
  }

  .component--product-tile .view-product:hover:after {
    background: #e91c24;
    width: 100%;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: right;
            transform-origin: right;
    transition-delay: 0.8s;
  }

  .component--product-tile .view-product:hover:before {
    background: #e91c24;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left;
            transform-origin: left;
    transition-delay: 0.3s;
  }
}