/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./cartridges/app_tr_core/cartridge/client/default/scss/pages/product/productMain.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * TABLE OF CONTENTS
 *
 * SETTINGS
 * Global..................Globally-available variables and config.
 *
 * TOOLS
 * Mixins..................Useful mixins.
 *
 * COMPONENTS
 * PDP Images..............Mobile gallery and desktop layout
 * Primary Information.....Critical information like name and price
 * Reviews Teaser..........Summarized review list on PDP.
 * PDP Variations..........Variation selector styles seen in the PDP
 * 
 * 
 * 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
\*------------------------------------*/
/*------------------------------------*
  #TR PRIMARY COLORS
\*------------------------------------*/
/*------------------------------------*
  #TR SECONDARY COLORS
\*------------------------------------*/
/*------------------------------------*\
  #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]
*/
/**
 * Custom font definition
 *
 * Example of utilization
 * @include font-face('Graphik', 'Graphik-Medium', 'graphik/medium', 500);
 */
/**
 * Position definition
 *
 * Example of utilization
 * @include absolute(top 1rem left 2rem);
 */
/**
 * Dropdown
 *
 * Example of utilization
 * @include dropdown;
 */
/*md

# Functions

This section describes core functions used for development in the project.

## Function strip-unit

Removes the unit (e.g. px, em, rem) from a value, returning the number only.

Returns the same number, sans unit.

## Function value-to-rem

**Private function**.
Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value.
By default, the base pixel value used to calculate the rem value is taken from the `$font-size-base` variable.

Returns a number in rems, calculated based on the given value and the base pixel value.
rem values are passed through as is.

## Function rem-calc

Converts one or more pixel values into matching rem values.
By default, the base pixel value used to calculate the rem value is taken from the `$font-size-base` variable.
If you need to convert a comma-separated list, wrap the list in parentheses.

Return a list of converted values.

*/
/*------------------------------------*\
  #EXTERNALS
\*------------------------------------*/
.store-locator__detect-location {
  margin-top: 0.5rem;
}

.store-locator__result-check:checked + .store-locator__result-content {
  background-color: #E6E9ED;
}

.store-locator__result-content {
  display: block;
  padding: 1.25rem 1rem;
}
.store-locator__result-content:hover {
  cursor: pointer;
  background-color: #F6F6F8;
}

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

.store-locator__results {
  overflow: auto;
}

.store-locator__result-item {
  position: relative;
  border-bottom: solid 0.0625rem #E6E9ED;
}

.store-locator__no-results {
  margin: auto;
}

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

.store-locator__container .product-pickup__selected {
  padding-left: 0;
}

@media (min-width: 48rem) {
  .store-locator__results {
    max-height: 30rem;
  }
}
@media (max-width: 47.9375rem) {
  .store-locator--modal {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: inherit;
  }
  .store-locator--modal .store-locator__form {
    flex-shrink: 0;
  }
  .store-locator--modal .store-locator__results {
    flex-shrink: 1;
    max-height: none;
  }
  .store-locator--modal .store-locator__actions {
    margin-top: auto;
  }
  .store-locator__results {
    max-height: 22rem;
  }
}
/*------------------------------------*\
  #COMPONENTS
\*------------------------------------*/
.product-main__container {
  display: flex;
  flex-direction: column;
}

.product-gallery-carousel--container {
  position: relative;
}

.product-footer .module-container {
  margin-top: 2rem;
}

@media (min-width: 64.0625rem) {
  .product-main__container {
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .product-gallery-thumbs {
    flex: 0 0 4.5625rem;
  }
  .product-gallery-thumbs .product-gallery-thumbnails {
    visibility: hidden;
  }
  .product-gallery-thumbs .product-gallery-thumbnails.slick-initialized {
    visibility: visible;
  }
  .product-gallery-thumbs .product-gallery-thumbnails.slick-initialized .slick-list {
    height: auto !important;
  }
  .product-gallery-carousel {
    flex-grow: 1;
    margin: 0 1.25rem;
    max-width: calc(100% - 40% - 2.5rem - 4.5625rem);
  }
  .pdp-main .product-gallery-carousel {
    height: 100%;
  }
  .product-main__wrapper {
    flex: 0 0 40%;
  }
  .product-main__wrapper .pdp-main__details {
    padding: 0;
  }
  .pdp-main__details {
    overflow-y: auto;
    overflow-x: hidden;
  }
  .product-footer .module-container {
    margin-top: 5rem;
  }
  .product-footer .product-list__carousel {
    padding: 0 3rem;
  }
  .product-footer > .module-container {
    margin-top: 2rem;
  }
}
.pdp-main .pdp-main__number-rating {
  margin-top: 1rem;
}
@media (max-width: 47.9375rem) {
  .pdp-main .pdp-main__number-rating {
    margin-bottom: 1rem;
  }
}
.pdp-main .pdp-main__number-rating .product-common__number {
  display: none;
}
.pdp-main .pdp-main__number-rating .yotpo.bottomLine .yotpo-display-wrapper .yotpo-bottomline.pull-left a.text-m {
  margin-top: 0;
  font-size: 0.875rem;
  line-height: 1.125rem;
}
@media (min-width: 48rem) {
  .pdp-main .pdp-main__number-rating .yotpo.bottomLine .yotpo-display-wrapper .yotpo-bottomline.pull-left a.text-m {
    font-size: 1rem;
    line-height: 1.25rem;
  }
}

.product-common__social .pdp-social-share {
  flex-direction: column;
  align-items: center;
  padding: 3.75rem 1.25rem;
  border: 0.063rem solid #DDDDDD;
}
@media (min-width: 48rem) {
  .product-common__social .pdp-social-share {
    width: 21.438rem;
  }
}
.product-common__social .social-share-label {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.75rem;
  padding-bottom: 2rem;
}
.product-common__social .social-share-btn {
  padding-bottom: 1rem;
}

.product-common__social--facebook, .product-common__social--pinterest, .product-common__social--twitter {
  display: none;
}
.product-common__social--email {
  width: 100%;
}
.product-common__social-anchor--email {
  justify-content: center;
  height: 3rem;
  margin-top: 1rem;
  align-items: center;
}

.pdp-main .pdp__details {
  margin-top: 2rem;
}
@media (max-width: 47.9375rem) {
  .pdp-main .pdp__details {
    padding: 0;
  }
}
.pdp-main .pdp__details .pdp__details-item {
  border: none;
}
.pdp-main .pdp__details .pdp__details-title {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #000000;
  font-family: "trade-gothic-next", Helvetica, Arial, sans-serif;
}
@media (min-width: 48rem) {
  .pdp-main .pdp__details .pdp__details-title {
    font-size: 1rem;
  }
}
.pdp-main .pdp__details .pdp__details-description {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-top: 1rem;
  color: #000000;
  font-family: "trade-gothic-next", Helvetica, Arial, sans-serif;
}
.pdp-main .pdp__details .pdp__details-description p {
  opacity: 0.6;
}
@media (min-width: 48rem) {
  .pdp-main .pdp__details .pdp__details-description {
    font-size: 1rem;
  }
}
@media (max-width: 47.9375rem) {
  .pdp-main .pdp__details .pdp__details-description:not(.toggle--active) {
    display: block;
  }
}
.pdp-main .pdp__details .pdp__details-toggle-item .pdp__details-title {
  display: flex;
  justify-content: space-between;
}
.pdp-main .pdp__details .pdp__details-toggle-item .pdp__details-title .icon--tr-minus {
  display: none;
}
.pdp-main .pdp__details .pdp__details-toggle-item .pdp__details-title.toggle--active .icon--tr-minus {
  display: inline-block;
}
.pdp-main .pdp__details .pdp__details-toggle-item .pdp__details-title.toggle--active .icon--tr-plus {
  display: none;
}
.pdp-main .pdp__details .pdp__details-toggle-description.pdp__details-description:not(.toggle--active) {
  display: none;
}
.pdp-main .pdp__details .pdp__details-toggle-description.pdp__details-description.toggle--active {
  display: block;
}
.pdp-main .pdp-main__social .product-common__social {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #000000;
  font-family: "trade-gothic-next", Helvetica, Arial, sans-serif;
}
@media (min-width: 48rem) {
  .pdp-main .pdp-main__social .product-common__social {
    font-size: 1rem;
  }
}

.pdp-main .pdp-main__promotions .product-promotions__item {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  text-transform: uppercase;
}
@media (max-width: 47.9375rem) {
  .pdp-main .pdp-main__promotions .product-promotions__item {
    margin-bottom: 0;
  }
}
@media (min-width: 48rem) {
  .pdp-main .pdp-main__promotions .product-promotions__item {
    font-size: 1rem;
    line-height: 1.25rem;
  }
}
@media (max-width: 47.9375rem) {
  .pdp-main .pdp-main__section {
    margin-top: 1rem;
  }
}
.pdp-main .pdp-main__section .product-attribute__label .product-attribute__label-pre,
.pdp-main .pdp-main__section .product-attribute__label .product-attribute__selected-value {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.125rem;
  color: #000000;
}
@media (min-width: 48rem) {
  .pdp-main .pdp-main__section .product-attribute__label .product-attribute__label-pre,
  .pdp-main .pdp-main__section .product-attribute__label .product-attribute__selected-value {
    font-size: 1rem;
    line-height: 1.25rem;
  }
}
.pdp-main .pdp-main__section .pdp-main__availability {
  display: none;
}
.pdp-main .pdp-main__section.pdp-main__section--actions {
  border: none;
}
@media (max-width: 47.9375rem) {
  .pdp-main .pdp-main__section.pdp-main__section--actions {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 2rem;
  }
}
@media (min-width: 48rem) {
  .pdp-main .pdp-main__section.pdp-main__section--actions {
    padding-top: 1.875rem;
  }
}
.pdp-main .pdp-main__section .product-attribute.main-attributes {
  margin-bottom: 0;
}
.pdp-main .pdp-main__section .product-attribute.product-attribute--color, .pdp-main .pdp-main__section .product-attribute.product-attribute--size {
  margin-top: 2rem;
}
@media (max-width: 47.9375rem) {
  .pdp-main .pdp-main__section .product-attribute .product-attribute--size {
    margin-bottom: 0;
  }
}
.pdp-main .product-attribute__size-chart .size-chart__anchor {
  font-size: 1rem;
}
.pdp-main .product-attribute--size-sticky .product-attribute__label--size {
  margin-bottom: 0.5rem;
}
.pdp-main .product-attribute--qty .product-attribute__head {
  display: none;
}
.pdp-main .product-attribute--qty .form-control--select {
  text-align-last: center;
  background-image: none;
}
.pdp-main .product-add__container .cart-and-ipay .add-to-cart,
.pdp-main .product-add__container .cart-and-ipay .button--notifyme {
  height: 3rem;
  font-size: 1rem;
  font-weight: 700;
}
@media (max-width: 47.9375rem) {
  .pdp-main .product-add__container .cart-and-ipay .add-to-cart,
  .pdp-main .product-add__container .cart-and-ipay .button--notifyme {
    padding: 0;
  }
}
.pdp-main .button-wishlist {
  margin-top: 0.25rem;
  height: 3rem;
}
@media (max-width: 47.9375rem) {
  .pdp-main .button-wishlist {
    padding: 0;
  }
}
.pdp-main .button-wishlist .wishlist-label {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.125rem;
  margin-right: 0.375rem;
}
.pdp-main .afterpay-widget {
  text-align: left;
  margin-top: 2rem;
}
.pdp-main .afterpay-widget .afterpay-main-text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25rem;
}
.pdp-main .true-rewardsMember {
  color: #1862D2;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.125rem;
  margin-top: 2rem;
}
@media (min-width: 48rem) {
  .pdp-main .true-rewardsMember {
    font-size: 1rem;
    line-height: 1.25rem;
  }
}
.pdp-main .true-rewardsMember p {
  align-items: center;
}
.pdp-main .true-rewardsMember p:last-child {
  margin-left: 1.375rem;
}
.pdp-main .true-rewardsMember .reward-icon {
  width: 1.063rem;
  height: 0.813rem;
  margin-right: 0.438rem;
}

.product-zoom {
  max-height: 100%;
  overflow: auto;
}
.product-zoom::-webkit-scrollbar {
  display: none;
}

.product-zoom__arrow {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
}

.product-zoom__arrow--prev {
  left: 0;
}

.product-zoom__arrow--next {
  right: 0;
}

@media (min-width: 48rem) {
  .product-zoom__arrow {
    width: 5rem;
    font-size: 3rem;
  }
}
.pdp {
  position: relative;
}

.pdp-main {
  position: relative;
  margin-bottom: 2rem;
}

.pdp-main__section--actions {
  position: relative;
}

@media (min-width: 48rem) {
  .pdp {
    margin-top: 2.25rem;
    margin-bottom: 4rem;
  }
  .pdp-main__details {
    padding-top: 1.25rem;
    padding-left: 2.75rem;
  }
  .pdp-main__section:not(:last-child) {
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: solid 0.0625rem #E6E9ED;
  }
  .pdp-main__availability {
    margin-top: 2.25rem;
  }
  .pdp-main__promotions {
    margin-bottom: 0.875rem;
  }
}
@media (max-width: 47.9375rem) {
  .pdp {
    margin-top: 1rem;
    margin-bottom: 3rem;
  }
  .pdp__name {
    margin-bottom: 1rem;
  }
  .pdp-main__details {
    margin-bottom: 1.25rem;
  }
  .pdp-main__section {
    margin-top: 1.25rem;
  }
  .pdp-main__section--actions {
    padding-top: 1.25rem;
    padding-bottom: 1.75rem;
    border-top: solid 0.0625rem #E6E9ED;
    border-bottom: solid 0.0625rem #E6E9ED;
  }
  .pdp-main__availability {
    margin-top: 3rem;
  }
}
.pdp .pdp__name {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.875rem;
  text-transform: capitalize;
  font-family: "trade-gothic-next", Helvetica, Arial, sans-serif;
}
@media (min-width: 48rem) {
  .pdp .pdp__name {
    font-size: 1.75rem;
  }
}
.pdp__name-bagdes {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.125rem;
  margin-bottom: 1rem;
}
@media (min-width: 48rem) {
  .pdp__name-bagdes {
    font-size: 1rem;
    line-height: 1.25rem;
  }
}

@media (min-width: 48rem) {
  .pdp-main__section:not(:last-child) {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

@media (min-width: 48rem) {
  .pdp__details {
    margin-top: 2rem;
    margin-bottom: 3rem;
  }
  .pdp__details-item:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
@media (max-width: 47.9375rem) {
  .pdp__details {
    margin-top: 1.25rem;
    margin-bottom: 2rem;
  }
  .pdp__details-item {
    border-bottom: solid 0.0625rem #CCCCCC;
  }
  .pdp__details-title {
    padding-top: 0.45em;
    padding-bottom: 0.45em;
    cursor: pointer;
  }
  .pdp__details-description {
    margin-top: 0.625rem;
    margin-bottom: 1.5rem;
  }
  .pdp__details-description:not(.toggle--active) {
    display: none;
  }
}
.pdp__reviews {
  margin-bottom: 3rem;
}

.pdp-set__footer {
  padding-top: 2rem;
  padding-bottom: 2rem;
  box-shadow: 0 -0.0625rem 0 0 rgba(0, 0, 0, 0.15);
}
.pdp-set__footer:not(.fixit--active) {
  z-index: 1;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
}

.set-item {
  position: relative;
  margin-bottom: 3rem;
}

.pdp-bundle__item {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}

.pdp-bundle__main {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 0.0625rem solid #E6E9ED;
}

.pdp-bundle__label {
  margin-bottom: 1.25rem;
}

@media (min-width: 48rem) {
  .pdp-bundle__main {
    padding-bottom: 2rem;
  }
}

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