/** Shopify CDN: Minification failed

Line 5525:0 Unexpected "}"
Line 5529:0 Unexpected "{"

**/
:root {
  --alpha-button-background: 1;
  --alpha-button-border: 1;
  --alpha-link: 1;
  --tap-target: 44px;
  --tap-target-small: 24px;
}

.product-card-wrapper .card,
.contains-card--product {
  --border-radius: var(--product-card-corner-radius);
  --border-width: var(--product-card-border-width);
  --border-opacity: var(--product-card-border-opacity);
  --shadow-horizontal-offset: var(--product-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--product-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--product-card-shadow-blur-radius);
  --shadow-opacity: var(--product-card-shadow-opacity);
  --shadow-visible: var(--product-card-shadow-visible);
  --image-padding: var(--product-card-image-padding);
  --text-alignment: var(--product-card-text-alignment);
}

.collection-card-wrapper .card,
.contains-card--collection {
  --border-radius: var(--collection-card-corner-radius);
  --border-width: var(--collection-card-border-width);
  --border-opacity: var(--collection-card-border-opacity);
  --shadow-horizontal-offset: var(--collection-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--collection-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--collection-card-shadow-blur-radius);
  --shadow-opacity: var(--collection-card-shadow-opacity);
  --shadow-visible: var(--collection-card-shadow-visible);
  --image-padding: var(--collection-card-image-padding);
  --text-alignment: var(--collection-card-text-alignment);
}

.article-card-wrapper .card,
.contains-card--article {
  --border-radius: var(--blog-card-corner-radius);
  --border-width: var(--blog-card-border-width);
  --border-opacity: var(--blog-card-border-opacity);
  --shadow-horizontal-offset: var(--blog-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--blog-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--blog-card-shadow-blur-radius);
  --shadow-opacity: var(--blog-card-shadow-opacity);
  --shadow-visible: var(--blog-card-shadow-visible);
  --image-padding: var(--blog-card-image-padding);
  --text-alignment: 'left';
}

.article-card-wrapper .article-card--featured {
  --image-padding: 0rem;
}

.contains-content-container,
.content-container {
  --border-radius: var(--text-boxes-radius);
  --border-width: var(--text-boxes-border-width);
  --border-opacity: var(--text-boxes-border-opacity);
  --shadow-horizontal-offset: var(--text-boxes-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--text-boxes-shadow-vertical-offset);
  --shadow-blur-radius: var(--text-boxes-shadow-blur-radius);
  --shadow-opacity: var(--text-boxes-shadow-opacity);
  --shadow-visible: var(--text-boxes-shadow-visible);
}

.contains-media,
.global-media-settings {
  --border-radius: var(--media-radius);
  --border-width: var(--media-border-width);
  --border-opacity: var(--media-border-opacity);
  --shadow-horizontal-offset: var(--media-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--media-shadow-vertical-offset);
  --shadow-blur-radius: var(--media-shadow-blur-radius);
  --shadow-opacity: var(--media-shadow-opacity);
  --shadow-visible: var(--media-shadow-visible);
}

/* BASE */

.no-js:not(html) {
  display: none !important;
}

html.no-js .no-js:not(html) {
  display: block !important;
}

.no-js-inline {
  display: none !important;
}

html.no-js .no-js-inline {
  display: inline-block !important;
}

html.no-js .no-js-hidden,
.js .js-hidden {
  display: none !important;
}

.page-width {
  max-width: var(--page-width);
  margin: 0 auto;
  padding: 0 var(--px-mobile);
}

.page-width-desktop {
  padding: 0;
  margin: 0 auto;
}

.utility-bar__grid.page-width {
  padding-left: 3rem;
  padding-right: 3rem;
}

@media screen and (min-width: 750px) {
  .page-width {
    padding: 0 5rem;
  }

  .header.page-width,
  .utility-bar__grid.page-width {
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .page-width--narrow,
  .page-width--narrowest {
    padding: 0 9rem;
  }

  .page-width-desktop {
    padding: 0;
  }

  .page-width-tablet {
    padding: 0 5rem;
  }
}

@media screen and (min-width: 990px) {
  .page-width--narrow {
    max-width: 72.6rem;
    padding: 0;
  }

  .page-width--narrowest {
    max-width:  47.6rem;
    padding: 0;
  }

  .page-width--wide {
    max-width: none;
  }

  .page-width-desktop {
    max-width: var(--page-width);
    padding: 0 5rem;
  }
}

.isolate {
  position: relative;
  z-index: 0;
}

.section__inner {
  padding-top: var(--spacing-section);
  padding-bottom: var(--spacing-section);
}

sup {
  font-size: max(0.5em, 16px);
}

.background-secondary {
  background-color: rgba(var(--color-foreground), 0.04);
}

.grid-auto-flow {
  display: grid;
  grid-auto-flow: column;
}

.rte-width {
  max-width: 82rem;
  margin: 0 auto 2rem;
}

.list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}

.object-contain {
  object-fit: contain !important;
}

.object-top {
  object-position: top !important;
}

.object-bottom {
  object-position: bottom !important;
}

.object-center {
  object-position: center !important;
}

.hidden {
  display: none !important;
}

.no-js .no-js-not-hidden {
  display: block !important;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

lazy-script {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.js .js-visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.visually-hidden--inline {
  margin: 0;
  height: 1em;
}

.overflow-hidden {
  overflow: hidden;
}

.full-width-link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

::selection {
  background-color: rgba(var(--color-foreground), 0.2);
}

h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5, .h6, .text-heading {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  letter-spacing: calc((var(--font-heading-scale) * var(--font-heading-letter-spacing)));
  color: rgb(var(--color-foreground));
  line-height: 1.26em; /*BMRK: Anything below this causes #8693ynwww */
  word-break: break-word;
  text-transform: var(--font-heading-case);
  background-image: var(--color-heading-gradient-background, none);
  -webkit-background-clip: var(--color-heading-gradient-background-clip, border-box);
  -webkit-text-fill-color: var(--color-heading-gradient-fill, currentColor);
}

:is(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6, .text-heading):has(animated-list) {
  -webkit-text-fill-color: currentColor;
}

th {
  overflow-wrap: normal;
}

.font-size-0 {
  font-size: 0;
}

.section-title,
.b-main-title,
.color-heading {
  color: rgb(var(--color-heading));
}

.color-link {
  color: rgb(var(--color-link));
}

.b-main-title,
.page__description:only-child {
  margin-top: calc(var(--spacing-section) * 0.6);
  margin-bottom: calc(var(--spacing-section) * 0.6);
}

.section-title:not(:only-child),
.b-main-title:has(+ .rte),
.b-main-title:has(+ .section-view-all){
  margin-bottom: 0.5rem;
}

.b-main-title + .rte,
.b-main-title + .rte + .section-view-all,
.b-main-title + .section-view-all {
  margin-bottom: calc(var(--spacing-section) * 0.8);
}

.b-main-title + .rte:has(+ .section-view-all) {
  margin-bottom: 0;
}

.hxl { font-size: calc(var(--font-heading-scale) * 5.2rem);}
.h0, .h0-size { font-size: calc(var(--font-heading-scale) * 4.2rem);}
h1, .h1, .h1-size { font-size: calc(var(--font-heading-scale) * 3.4rem);}
h2, .h2, .h2-size { font-size: calc(var(--font-heading-scale) * 2.8rem);}
h3, .h3, .h3-size { font-size: calc(var(--font-heading-scale) * 2.5rem);}
h4, .h4, .h4-size { font-size: calc(var(--font-heading-scale) * 2.15rem);}
h5, .h5, .h5-size { font-size: calc(var(--font-heading-scale) * 1.9rem); }
h6, .h6, .h6-size { font-size: calc(var(--font-heading-scale) * 1.7rem); }

.text-size-custom { font-size: max(16px, calc(var(--font-heading-scale) * calc(var(--custom-font-size) * 0.75))); }

@media only screen and (min-width: 750px) {
  .hxl {  font-size: calc(var(--font-heading-scale) * 6.6rem); }
  .h0, .h0-size {     font-size: calc(var(--font-heading-scale) * 5.4rem); }
  h1, .h1, .h1-size { font-size: calc(var(--font-heading-scale) * 4.2rem); }
  h2, .h2, .h2-size { font-size: calc(var(--font-heading-scale) * 3.6rem); }
  h3, .h3, .h3-size { font-size: calc(var(--font-heading-scale) * 3rem); }
  h4, .h4, .h4-size { font-size: calc(var(--font-heading-scale) * 2.4rem); }
  h5, .h5, .h5-size { font-size: calc(var(--font-heading-scale) * 2rem); }
  h6, .h6, .h6-size { font-size: calc(var(--font-heading-scale) * 1.7rem); }

  .text-size-custom { font-size: max(16px, calc(var(--font-heading-scale) * calc(var(--custom-font-size) * 0.8))); }
}

@media only screen and (min-width: 1100px) {
  .hxl {  font-size: calc(var(--font-heading-scale) * 7.6rem); }
  .h0, .h0-size {     font-size: calc(var(--font-heading-scale) * 6.4rem); }
  h1, .h1, .h1-size { font-size: calc(var(--font-heading-scale) * 5.2rem); }
  h2, .h2, .h2-size { font-size: calc(var(--font-heading-scale) * 4rem); }
  h3, .h3, .h3-size { font-size: calc(var(--font-heading-scale) * 3.4rem); }
  h4, .h4, .h4-size { font-size: calc(var(--font-heading-scale) * 2.8rem); }
  h5, .h5, .h5-size { font-size: calc(var(--font-heading-scale) * 2.2rem); }
  h6, .h6, .h6-size { font-size: calc(var(--font-heading-scale) * 1.8rem); }
}

@media only screen and (min-width: 990px) {
  .text-size-custom { font-size: calc(var(--font-heading-scale) * var(--custom-font-size)); }
}

.text-body {
  letter-spacing: var(--font-body-letter-spacing);
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  background-image: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

blockquote {
  font-style: italic;
  color: rgba(var(--color-foreground), 0.75);
  border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
  padding-left: 1rem;
}

.caption {
  font-size: 1.2rem;
  letter-spacing: 0.07rem;
  line-height: calc(1 + 0.7 / var(--font-body-scale));
}

@media screen and (min-width: 750px) {
  blockquote {
    padding-left: 1.5rem;
  }
}

.caption-with-letter-spacing {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  text-transform: uppercase;
}

.caption-large,
.customer .field input,
.customer select,
.field__input,
.form__label,
.select__select {
  font-size: 1.3rem;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
}

.color-foreground {
  color: rgb(var(--color-foreground)) !important;
}

.color-background-transparent {
  background: transparent !important;
}

@media screen and (max-width: 749px) {
  .small-hide,
  .hidden-xs {
    display: none !important;
  }
}

@media screen and (min-width: 750px) {
  .visible-xs {
    display: none !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .medium-hide {
    display: none !important;
  }
}

@media screen and (max-width: 989px) {
  .visible-md {
    display: none !important;
  }
}

@media screen and (min-width: 990px) {
  .large-up-hide,
  .hidden-md {
    display: none !important;
  }
}

.left {
  text-align: left;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.opacity-90 {
  opacity: 0.9;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-70,
.light {
  opacity: 0.7;
}

.opacity-60,
.xlight {
  opacity: 0.6;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-0 {
  opacity: 0;
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

.block-when-empty:empty {
  display: block;
}

.link,
.customer a:not(.button) {
  cursor: pointer;
  display: inline-block;
  border: none;
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  color: rgb(var(--color-link));
  background-color: transparent;
  font-family: inherit;
}

.link--text {
  color: rgb(var(--color-foreground));
}

.link-with-icon {
  display: inline-flex;
}

.link-with-icon .icon {
  width: 1.5rem;
  margin-left: 0.5rem;
}

a:not([href]) {
  cursor: not-allowed;
}

hr {
  border: none;
  height: 0.1rem;
  background-color: rgba(var(--color-foreground), .08);
  display: block;
  width: 100%;
  margin: 5rem 0;
}

@media screen and (min-width: 750px) {
  hr {
    margin: 7rem 0;
  }
}

.full-unstyled-link {
  text-decoration: none;
  color: currentColor;
  display: block;
}

.full-unstyled-link--foreground {
  text-decoration: none;
  color: rgb(var(--color-foreground));
}

.placeholder {
  background: linear-gradient(41deg, #6c7a87, #acbecf) !important;
  color: #fff;
  fill: #fff;
}

.placeholder-svg--cover {
  transform: scale(1.6);
  fill: rgba(255, 255, 255, 0.2);
}

details > * {
  box-sizing: border-box;
}

.break {
  word-break: break-word;
}

.visibility-hidden {
  visibility: hidden;
}

:root {
  --duration-short: 100ms;
  --duration-default: 200ms;
  --duration-announcement-bar: 250ms;
  --duration-medium: 300ms;
  --duration-longish: 400ms;
  --duration-long: 500ms;
  --duration-extra-long: 600ms;
  --duration-xx-long: 1.5s;
  --duration-extended: 3s;
  --cubic-bezier-ease-out-slow: cubic-bezier(0.30, 0.62, 0.45, 1);
  --cubic-bezier-wipe: cubic-bezier(0.645, 0.045, 0.355, 1);
  --cubic-bezier-slide-in: cubic-bezier(0.4, 0, 0.6, 1);
  --animation-slide-in: slideIn var(--duration-extra-long) var(--cubic-bezier-ease-out-slow) forwards;
  --animation-fade-in: fadeIn var(--duration-extra-long) var(--cubic-bezier-ease-out-slow);
}

.section-text + .section-view-all {
  margin-top: 1rem;
}

.un-underlined-link,
.underlined-link,
.customer a:not(.button),
.inline-richtext a,
.custom-tabs--simple .custom-tab,
.rte a {
  text-underline-offset: min(0.25em, 0.9rem);
  text-decoration-thickness: 0.05em;
  transition: text-decoration-thickness ease var(--duration-short), text-decoration-color ease var(--duration-short);
}

.un-underlined-link {
  text-underline-offset: 0.3em;
}

.un-underlined-link:not(:hover) {
  text-decoration-color: transparent;
}

.un-underlined-link:hover,
.underlined-link:hover,
.customer a:not(.button):hover,
.inline-richtext a:hover,
.rte a:hover {
  color: rgb(var(--color-link));
  text-decoration-thickness: 0.1em;
}

.underlined-link,
.un-underlined-link,
.customer a:not(.button) {
  color: rgba(var(--color-link), var(--alpha-link));
}

.inline-richtext a,
.rte.inline-richtext a {
  color: currentColor;
}

.icon-arrow {
  width: 1.8rem;
}

h3 .icon-arrow,
.h3 .icon-arrow {
  width: calc(var(--font-heading-scale) * 1.5rem);
}


/* BASE-DETAILS-SUMMARY */
summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

summary .icon-caret {
  position: absolute;
  height: 1.5rem;
  right: 0;
  top: calc(50% - 0.6rem);
}

summary.arrow-inset .icon-caret {
  right: 1.5rem;
}

summary::-webkit-details-marker {
  display: none;
}

.disclosure-has-popup {
  position: relative;
}

.drawer {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  transition: visibility var(--duration-default) ease;
}

@media screen and (max-width: 749px) and (hover: none) and (pointer: coarse) {
  .custom-tab,
  .no-movement-mobile {
    animation: none !important;
    transition: none !important;
  }
}

/* BASE-FOCUS */
.tap-target,
.tap-target--small,
.rte p > a:only-child {
  position: relative;
}

/* COMPONENT-TITLE */
.title,
.title-wrapper-with-link {
  margin: 3rem 0 2rem;
}

.title-wrapper-with-link .title {
  margin: 0;
}

.title .link {
  font-size: inherit;
}

.title-wrapper {
  margin-bottom: 1.8rem;
}

.title-wrapper-with-link {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.title-wrapper--self-padded-mobile {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media screen and (min-width: 750px) {
  .title-wrapper {
    margin-bottom: 2rem;
  }

  .title-wrapper--self-padded-mobile {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 990px) {
  .title-wrapper {
    margin-bottom: 3rem;
  }

  .title,
  .title-wrapper-with-link {
    margin: 5rem 0 3rem;
  }

  .title-wrapper-with-link {
    align-items: center;
  }

  .title-wrapper-with-link .title {
    margin-bottom: 0;
  }

  .title-wrapper--self-padded-tablet-down {
    padding-left: 0;
    padding-right: 0;
  }
}

.title-wrapper-with-link .link-with-icon {
  margin: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.title-wrapper-with-link .link-with-icon svg {
  width: 1.5rem;
}

.title-wrapper-with-link a {
  margin-top: 0;
  flex-shrink: 0;
}

.title-wrapper--no-top-margin {
  margin-top: 0;
}

.title-wrapper--no-top-margin .title {
  margin-top: 0;
}

.subtitle {
  font-size: 1.8rem;
  letter-spacing: var(--font-body-letter-spacing);
  color: rgba(var(--color-foreground), 0.7);
}

/* COMPONENT-GRID */
.grid {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  padding: 0;
  list-style: none;
  column-gap: var(--grid-mobile-horizontal-spacing);
  row-gap: var(--grid-mobile-vertical-spacing);
}

@media screen and (min-width: 550px) {
  .grid {
    column-gap: var(--grid-desktop-horizontal-spacing);
    row-gap: var(--grid-desktop-vertical-spacing);
  }
}

.grid:last-child {
  margin-bottom: 0;
}

.grid--central-loners .grid__item:only-child {
  width: 100%;
  max-width: 100%;
}

.grid__item {
  width: calc(25% - var(--grid-mobile-horizontal-spacing) * 3 / 4);
  max-width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  flex-grow: 1;
  flex-shrink: 0;
}

@media screen and (min-width: 550px) {
  .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--central-loners .grid__item:only-child {
    width: 100%;
    max-width: 100%;
  }
}

.grid--gapless.grid {
  column-gap: 0;
  row-gap: 0;
}

.grid--1-col .grid__item {
  max-width: 100%;
  width: 100%;
}

.grid--3-col .grid__item {
  width: calc(33.33% - var(--grid-mobile-horizontal-spacing) * 2 / 3);
}

@media screen and (min-width: 550px) {
  .grid--3-col .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }
}

.grid--2-col .grid__item {
  width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
}

.grid-2 {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.grid-span-2 {
  grid-column: span 2 / span 2;
}

@media screen and (min-width: 550px) {
  .grid-2 {
    gap: 2rem;
  }

  .grid-span-1-large {
    grid-column: span 1 / span 1;
  }

  .grid--2-col .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--4-col-tablet .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }

  .grid--3-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .grid--2-col-tablet .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

@media screen and (max-width: 749px) {
  .grid--1-col-tablet-down .grid__item {
    width: 100%;
    max-width: 100%;
  }

  .slider--tablet.grid--peek {
    margin: 0;
    width: 100%;
  }

  .slider--tablet.grid--peek .grid__item {
    box-sizing: content-box;
    margin: 0;
  }

  .slider.slider--tablet .scroll-trigger.animate--slide-in,
  .slider.slider--mobile .scroll-trigger.animate--slide-in {
    animation: none;
    opacity: 1;
    transform: inherit;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen):not(.scroll-trigger--no-slide) .slider--tablet {
    animation: var(--animation-slide-in);
  }
}

@media screen and (min-width: 550px) and (max-width: 749px) {
  .grid--1-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

@media screen and (min-width: 750px) {
  .grid--6-col-desktop:not(.grid--scaled) .grid__item {
    width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
    max-width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
  }

  .grid--5-col-desktop:not(.grid--scaled) .grid__item {
    width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
    max-width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
  }

  .grid--4-col-desktop:not(.grid--scaled) .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }

  .grid--3-col-desktop:not(.grid--scaled-large) .grid__item,
  .grid--4-col-desktop.grid--scaled .grid__item,
  .grid--5-col-desktop.grid--scaled .grid__item,
  .grid--6-col-desktop.grid--scaled .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .grid--3-col-desktop .grid__item.grid--scaled-large,
  .grid--2-col-desktop .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

@media screen and (min-width: 990px) {
  .grid--4-col-desktop.grid--scaled .grid__item,
  .grid--5-col-desktop.grid--scaled .grid__item,
  .grid--6-col-desktop.grid--scaled .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }
}

@media screen and (min-width: 1200px) {
  .grid--3-col-desktop.grid--scaled-large .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .grid--6-col-desktop.grid--scaled .grid__item {
    width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
    max-width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
  }

  .grid--5-col-desktop.grid--scaled .grid__item {
    width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
    max-width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
  }
}

@media screen and (min-width: 750px) {
  .grid--1-col-desktop {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .grid--1-col-desktop .grid__item {
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 549px) {
  .grid--peek .grid__item {
    min-width: 35%;
  }

  .grid--peek.slider .grid__item:first-of-type {
    margin-left: var(--px-mobile);
  }

  /* Fix to show some space at the end of our sliders in all browsers */
  .grid--peek.slider:after {
    margin-left: calc(-1 * var(--grid-mobile-horizontal-spacing));
  }

  .grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item,
  .grid--peek .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) - 2rem);
  }

  .slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item {
    width: calc(100% - var(--grid-mobile-horizontal-spacing) - var(--grid-mobile-horizontal-leg, 10rem));
  }

  .multicolumn .slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item {
    width: calc(100% - var(--grid-mobile-horizontal-spacing) - 5rem);
  }

  .grid--1-col-tablet-down .icons-with-text__text-wrapper {
    flex-basis: 170px;
  }

  .grid--1-col-tablet-down .promo-card--image .promo-image {
    min-height: 140vw;
  }
}

@media screen and (min-width: 550px) and (max-width: 749px) {
  .slider--tablet.grid--peek .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--3-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet .grid__item,
  .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek .grid__item:first-of-type {
    margin-left: var(--px-mobile);
  }

  .grid--1-col-tablet-down.grid--peek .grid__item,
  .grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--1-col-tablet-down.grid--peek .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  }

  .grid--1-col-tablet-down.grid--peek .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) - 3rem);
  }
}

.horizontal-scroll {
  overflow-x: auto;
  position: relative;
  -webkit-overflow-scrolling: touch;
}

.horizontal-scroll::-webkit-scrollbar {
  display: none;
}

@media screen and (max-width: 749px) {
  .section-grid .grid__item:only-child {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .horizontal-scroll {
    margin-right: calc(var(--px-mobile) * -1);
    padding-right: var(--px-mobile);
  }
}

@media screen and (min-width: 750px) {
  .section-grid-wrapper--full-width slider-component:not(.slider-component-desktop) {
    padding: 0 var(--px-mobile);
    max-width: none;
  }
}

@media screen and (max-width: 989px) {
  .section-grid .slider.slider--tablet {
    margin-bottom: var(--px-mobile);
  }

  .section-grid .slider--tablet.product-grid {
    scroll-padding-left: var(--px-mobile);
  }
}

/* COMPONENT-FADE FULL WIDTH ANIMATION */
full-width-animate {
  display: block;
  transition: clip-path 0.2s ease;
}

@media screen and (min-width: 750px) {
  full-width-animate .banner__box {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

/* COMPONENT-FADE TRUNCATOR */
.content-truncator__wrapper.is-expandable {
  transition: max-height 0.4s, mask-image 1s, -webkit-mask-image 1s;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)); /* Fade out text */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)); /* For WebKit browsers */
}

.content-truncator__button {
  padding: 2rem 0 0 0;
  transition: max-height 0.3s 0.1s, opacity 0.3s 0.1s, visibility 0.3s 0.1s, padding 0.3s 0.1s;
}

.content-truncator__wrapper.expanded,
.tab-active .content-truncator__wrapper {
  max-height: var(--max-content-height, 2000px) !important;
  mask-image: none;
  -webkit-mask-image: none;
}

.content-truncator__wrapper.expanded + .content-truncator__button,
.tab-active .content-truncator__button {
  max-height: 0;
  opacity: 0;
  padding: 0;
  visibility: hidden;
}

/* COMPONENT-MEDIA */
.media {
  display: block;
  position: relative;
  overflow: hidden;
}

.hover-zoom {
  overflow: hidden;
}

.hover-zoom img {
  transition: transform var(--duration-long) ease;
}

.hover-zoom:hover img {
  transform: scale(1.03);
}

.media--transparent {
  background-color: transparent;
}

.media--no-photo-square {
  aspect-ratio: 1 / 1;
}

.media--no-photo svg {
  width: 60% !important;
  left: 50% !important;
  transform: translate(-50%);
}

.card--horizontal .media--no-photo svg {
  width: 90% !important;
}

.media > *:not(.zoom):not(.deferred-media__poster-button),
.media > .picture-image > img,
.media model-viewer {
  display: block;
  max-width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.media > .picture-image,
.media > .picture-image > img,
.media > img {
  object-fit: cover;
  object-position: center center;
}

@media (hover: hover) and (pointer: fine) {
  .media > .picture-image,
  .media > .picture-image > img,
  .media > img {
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform var(--duration-long) ease;
  }
}

.media--square {
  padding-bottom: 100%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--landscape {
  padding-bottom: 66.6%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--portrait_tall {
  padding-bottom: 150%;
}

.media--landscape_wide {
  padding-bottom: 56.25%;
}

.media--cropped {
  padding-bottom: 56%;
}

.media--16-9 {
  padding-bottom: 56.25%;
}

.media--circle {
  padding-bottom: 100%;
  border-radius: 50%;
}

.media.media--hover-effect > img + img:not(.swatch-hover-image) {
  opacity: 0;
}

@media screen and (min-width: 990px) {
  .media--cropped {
    padding-bottom: 63%;
  }
}

deferred-media {
  display: block;
}

/* COMPONENT-BUTTON */
.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role='button'],
.cart__dynamic-checkout-buttons [role='button'],
.cart__dynamic-checkout-buttons iframe {
  --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
  --shadow-blur-radius: var(--buttons-shadow-blur-radius);
  --shadow-opacity: var(--buttons-shadow-opacity);
  --shadow-visible: var(--buttons-shadow-visible);
  --border-opacity: calc(1 - var(--buttons-border-opacity));
  border-radius: var(--buttons-radius-outset);
  position: relative;
}


/* COMPONENT-BUTTONS WITH ICONS */
.button-with-icon {
  display: flex;
  position: relative;
  align-items: center;
  gap: 0.5em;
}

.button-with-icon .icon {
  width: 1.3em;
  position: absolute;
  margin-top: 1px;
}

.button--full-width.button-with-icon .icon {
  position: static;
  margin-top: 0;
}

.button--full-width.button-with-icon:not(.button--full-width-icon-right) > span:not(.loading__spinner) {
  padding-right: 0.8rem;
}

.button--full-width.button--full-width-icon-right > span {
  padding-left: 0.8rem;
}

.link.button-with-icon {
  display: inline-flex;
}

.button--primary.button-with-icon .icon {
  --color-icon: var(--color-button-text);
}

.button--secondary.button-with-icon .icon {
  --color-icon: var(--color-secondary-button-text);
}

.link.button-with-icon .icon {
  --color-icon: var(--color-link);
}

.button-with-icon--right {
  padding-right: 3.4em !important;
}

.button-with-icon--right .icon {
  right: 1.4em;
}

.link.button-with-icon--right {
  padding-right: 1.5em !important;
}

.link.button-with-icon--right .icon {
  right: 0;
}

.button-with-icon--left {
  padding-left: 3.4em !important;
}

.button-with-icon--left .icon {
  left: 1.4em;
}

.link.button-with-icon--left {
  padding-left: 1.5em !important;
}

.link.button-with-icon--left .icon {
  left: 0;
}

/* COMPONENT-BUTTONS OVER MEDIA */
.button-control {
  background-color: #fff;
  color: #56585b !important;
  box-shadow: rgba(60, 64, 67, 0.15) 0 1px 3px 1px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--controls-corner-radius);
  border: none;
  height: 44px;
  width: 44px;
  transition: background-color var(--duration-medium);
}

.button-control--no-colors {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: none;
  height: 44px;
  width: 44px;
  background-color: transparent;
}

.button-control-colors {
  --color-foreground: 86,88,91;
  background-color: #fff;
  color: #56585b !important;
  box-shadow: rgba(60, 64, 67, 0.15) 0 1px 3px 1px;
}

.shopify-payment-button__button--branded {
  z-index: auto;
}

.cart__dynamic-checkout-buttons iframe {
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
    rgba(var(--color-shadow), var(--shadow-opacity));
}

.button,
.button-label,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  padding: 1.1em 1.6em;
  cursor: pointer;
  font: inherit;
  font-size: var(--font-button-text-size);
  text-decoration: none;
  line-height: 1.2em;
  color: rgb(var(--color-button-text));
  transition: box-shadow var(--duration-medium) ease, background-position var(--duration-medium) ease-in-out;
  -webkit-appearance: none;
  appearance: none;
  background-color: rgba(var(--color-button), var(--color-button-alpha));
  letter-spacing: var(--font-button-letter-spacing);
  text-transform:  var(--font-button-case);
  font-weight: var(--font-button-font-weight);
  overflow-wrap: anywhere;
}

.shopify-payment-button .shopify-payment-button__button [role='button'] {
  padding-top: 1.1em !important;
  padding-bottom: 1.1em !important;
}

@media screen and (min-width: 750px) {
  .button,
  .button-label,
  .shopify-challenge__button,
  .customer button,
  button.shopify-payment-button__button--unbranded {
    padding: 1.2em 2.2em;
  }

  .shopify-payment-button .shopify-payment-button__button [role='button'] {
    padding-top: 1.2em !important;
    padding-bottom: 1.2em !important;
  }
}

.button--primary {
  background-image: var(--color-button-gradient, none);
}

button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: rgba(var(--color-button), var(--alpha-button-background));
}

.button--secondary,
.button--tertiary {
  --color-button: var(--color-secondary-button);
  --color-button-text: var(--color-secondary-button-text);
  background-color: transparent;
}

.button--tertiary {
  --alpha-button-background: 0;
  --alpha-button-border: 0.2;
  background-color: transparent;
}

.button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
  /* Button border */
  content: '';
  position: absolute;
  top: var(--buttons-border-width);
  right: var(--buttons-border-width);
  bottom: var(--buttons-border-width);
  left: var(--buttons-border-width);
  z-index: 1;
  border-radius: var(--buttons-radius);
  box-shadow: 0 0 0 var(--buttons-border-width) rgba(var(--color-button-text), var(--border-opacity)),
    0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  transition: box-shadow var(--duration-default) ease;
}

.button--primary::after {
  box-shadow: none;
}

.button--secondary:after {
  --border-opacity: var(--buttons-border-opacity);
}

.button::selection,
.shopify-challenge__button::selection,
.customer button::selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

.button--tertiary {
  font-size: 1.2rem;
  padding: 1rem 1.5rem;
  min-width: calc(9rem + var(--buttons-border-width) * 2);
  min-height: calc(3.5rem + var(--buttons-border-width) * 2);
}

.button--small {
  padding: 1.2rem 2.6rem;
}

/* BUTTON - OTHER */
.button:disabled,
.shopify-payment-button__button:disabled,
.shopify-payment-button__button[aria-disabled='true'],
.button[aria-disabled='true'],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled='true'],
.customer button.disabled,
.quantity__button.disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.button--full-width {
  display: flex;
  width: 100%;
}

.button.loading .icon {
  opacity: 0;
}

.button.loading {
  color: transparent;
  position: relative;
}

@media screen and (forced-colors: active) {
  .button.loading {
    color: rgb(var(--color-foreground));
  }
}

.button.loading > .loading__spinner,
quick-add-bulk .loading__spinner {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
}

quick-add-bulk .loading__spinner {
  left: calc(50% - 1ch);
}

.button.loading > .loading__spinner .spinner,
quick-add-bulk .loading__spinner .spinner {
  width: fit-content;
  width: max-content; /* Fallback */
}

.button.loading > .loading__spinner .path {
  stroke: rgb(var(--color-button-text));
}

/* FORM */
.field__input,
.select__select,
.customer .field input,
.customer select {
  -webkit-appearance: none;
  appearance: none;
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.6rem;
  width: 100%;
  box-sizing: border-box;
  transition: box-shadow var(--duration-short) ease;
  border-radius: var(--inputs-radius);
  height: 4.5rem;
  min-height: calc(var(--inputs-border-width) * 2);
  min-width: calc(7rem + (var(--inputs-border-width) * 2));
  position: relative;
  border: 0;
}

.field__input.visible-placeholder {
  /*padding: 2.2rem 1.5rem 0.8rem 2rem;*/
  padding: 0.8rem 1.5rem 0.8rem 2rem;
  margin: var(--inputs-border-width);
}

.field__input::placeholder,
.select__select::placeholder,
.customer .field input::placeholder,
.customer select::placeholder {
  color: rgb(var(--color-foreground));
}

.field:before,
.select:before,
.customer .field:before,
.customer select:before,
.localization-form__select:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--inputs-radius-outset);
  box-shadow: var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset)
    var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  z-index: -1;
}

.field:after,
.select:after,
.customer .field:after,
.customer select:after,
.localization-form__select:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: var(--inputs-border-width);
  right: var(--inputs-border-width);
  bottom: var(--inputs-border-width);
  left: var(--inputs-border-width);
  border: 0.1rem solid transparent;
  border-radius: var(--inputs-radius);
  box-shadow: 0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  transition: box-shadow var(--duration-default) ease;
  z-index: 1;
}

.search__input.field__input {
  padding-right: 6.8rem;
  height: 5.2rem;
  background: transparent;
}

.select__select {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  /*font-size: 1.2rem;*/
  color: rgba(var(--color-foreground), 0.75);
}

.select .icon-caret {
  opacity: 0.7;
  transition: opacity var(--duration-default) ease;
}

.text-area,
.select {
  display: flex;
  position: relative;
  width: 100%;
}

/* SELECT */
.select .icon-caret {
  height: 1.6rem;
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.7rem);
  right: calc(var(--inputs-border-width) + 1.5rem);
}

.customer select + svg {
  height: 0.8rem;
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.3rem);
  right: calc(var(--inputs-border-width) + 1.5rem);
}

.select__select,
.customer select {
  cursor: pointer;
  line-height: calc(1 + 0.6 / var(--font-body-scale));
  padding: 0 calc(var(--inputs-border-width) + 4rem) 0 2rem;
  margin: var(--inputs-border-width);
  min-height: calc(var(--inputs-border-width) * 2);
}

/* FIELD */
.field {
  position: relative;
  width: 100%;
  display: flex;
  transition: box-shadow var(--duration-short) ease;
}

.field--small .select__select,
.field--small .field__input {
  height: 3.8rem;
}

@media screen and (max-width: 749px) {
  .search__input.field__input {
    font-size: 16px; /* Prevent iOS zoom  */
  }

  .search__input.field__input::placeholder {
    font-size: 1.4rem;
  }

  .search-modal .search-modal__form .field {
    width: calc(100% - 3.8rem);
  }
}

.customer .field {
  display: flex;
}

.field--with-error {
  flex-wrap: wrap;
}

.field__input,
.customer .field input {
  font-family: inherit;
  flex-grow: 1;
  text-align: left;
  padding: 1.5rem;
  margin: var(--inputs-border-width);
  transition: box-shadow var(--duration-short) ;
}

.field__label,
.customer .field label {
  font-size: 1.6rem;
  left: calc(var(--inputs-border-width) + 2rem);
  top: calc(1rem + var(--inputs-border-width));
  margin-bottom: 0;
  pointer-events: none;
  position: absolute;
  transition: top var(--duration-short) var(--cubic-bezier-wipe), font-size var(--duration-short) ease;
  color: rgba(var(--color-foreground), 0.75);
  letter-spacing: 0;
  line-height: 1.5;
  white-space: nowrap;
  max-width: calc(100% - 4rem);
  text-overflow: ellipsis;
  overflow: hidden;
}

/* INPUT FOCUS STATES */
.field__input:focus ~ .field__label,
.field__input:not(:placeholder-shown) ~ .field__label,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:focus ~ label,
.customer .field input:not(:placeholder-shown) ~ label,
.customer .field input:-webkit-autofill ~ label {
  font-size: 1rem;
  top: calc(var(--inputs-border-width) + -0.8rem);
  background-color: rgb(var(--color-background));
  padding-left: 6px;
  padding-right: 6px;
  left: calc(var(--inputs-border-width) + 2rem - 6px);
  z-index: 2;
  border-radius: var(--text-boxes-radius);
}

.banner--desktop-transparent .field__input:focus ~ .field__label,
.banner--desktop-transparent .field__input:not(:placeholder-shown) ~ .field__label,
.banner--desktop-transparent .field__input:-webkit-autofill ~ .field__label,
.customer .banner--desktop-transparent .field input:focus ~ label,
.customer .banner--desktop-transparent .field input:not(:placeholder-shown) ~ label,
.customer .banner--desktop-transparent .field input:-webkit-autofill ~ label {
  background-color: rgb(var(--color-foreground));
  color: rgba(var(--color-background), 0.7);
}

.field__input:focus,
.field__input:not(:placeholder-shown),
.field__input:-webkit-autofill,
.customer .field input:focus,
.customer .field input:not(:placeholder-shown),
.customer .field input:-webkit-autofill,
.field__input.visible-placeholder {
  /*padding: 2.2rem 1.5rem 0.8rem 2rem;*/
  padding: 0.8rem 1.5rem 0.8rem 2rem;
  margin: var(--inputs-border-width);
}

.field__input::-webkit-search-cancel-button,
.customer .field input::-webkit-search-cancel-button {
  display: none;
}

.field__input:not(.visible-placeholder)::placeholder,
.customer .field input::placeholder {
  opacity: 0;
}

.field__button {
  align-items: center;
  background-color: transparent;
  border: 0;
  color: currentColor;
  cursor: pointer;
  display: flex;
  height: calc(4.5rem + (var(--inputs-border-width) * 2));
  justify-content: center;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 4.4rem;
}

.field__button > svg {
  height: 2.5rem;
  width: 2.5rem;
}

.field__input:-webkit-autofill ~ .field__button,
.field input:-webkit-autofill ~ .form-icon {
  color: rgb(0, 0, 0);
}

/* CHECKBOX */
.field__checkbox {
  position: absolute;
  opacity: 0;
}

.field__checkbox + label {
  position: relative;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.tab-active .field__checkbox:focus + label::before {
  outline-offset: 0;
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
}

.field__checkbox + label::before {
  content: "";
  margin-top: 1px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: text-top;
  border: 1px solid rgb(var(--color-foreground));
  width: 18px;
  height: 18px;
  background: rgb(var(--color-background));
  border-radius: 4px;
  transition: border-color var(--duration-medium), background-color var(--duration-medium);
  flex-shrink: 0;
}

.field__checkbox[type="radio"] + label::before {
  border-radius: 50%;
}

.field__checkbox:checked + label::before {
  background: rgb(var(--color-foreground));
  border-color: rgb(var(--color-foreground));
}

.field__checkbox:checked + label::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 9px;
  background: rgb(var(--color-background));
  width: 2px;
  height: 2px;
  box-shadow: 2px 0 0 rgb(var(--color-background)), 4px 0 0 rgb(var(--color-background)), 4px -2px 0 rgb(var(--color-background)), 4px -4px 0 rgb(var(--color-background)), 4px -6px 0 rgb(var(--color-background)), 4px -8px 0 rgb(var(--color-background));
  transform: rotate(45deg);
}

.field__checkbox + label > span {
  margin-left: -3px;
}

/* TEXT AREA */
.text-area {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  min-height: 10rem;
  resize: none;
}

/* COMPONENT-MODAL */
.modal__toggle {
  list-style-type: none;
}

.modal__toggle-open {
  display: flex;
}

.modal__toggle-close {
  display: none;
}

/* COMPONENT-CART-COUNT-BUBBLE */
.cart-count-bubble:empty {
  display: none;
}

.cart-count-bubble {
  position: absolute;
  background-color: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  box-shadow: 0 0 0 2px rgb(var(--color-background));
  height: 17px;
  width: 17px;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 9px;
  line-height: 9px;
  bottom: 8px;
  left: 2.7rem;
  white-space: nowrap;
}

@media screen and (min-width: 990px) {
  .cart-count-bubble {
    left: 2.6rem;
  }
}

/* UTILITY-BAR */
.utility-bar {
  height: 100%;
}

.utility-bar,
.utility-bar .disclosure__list-wrapper {
  transition: background 1s, color 1s;
}

.h3-size .disclosure__button span,
.h3-size .disclosure__list .link {
  font-size: calc(var(--font-heading-scale) * 1.7rem);
}

.h4-size .disclosure__button span,
.h4-size .disclosure__list .link {
  font-size: calc(var(--font-heading-scale) * 1.5rem);
}

.utility-bar--bottom-border {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.announcement-bar,
.announcement-bar__announcement {
  color: rgb(var(--color-foreground));
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  grid-area: announcements;
}

.announcement__icons .icon {
  height: 1.3em;
  width: 1.3em;
}

.announcement__icons .stroke-width-standard {
  stroke-width: 32px;
}

.announcement__icons .icon--silhouette_circle,
.announcement__icons .icon--information_circle,
.announcement__icons .icon--question_mark,
.announcement__icons .check_mark_circle {
  height: 1.5em;
  width: 1.5em;
}

@media screen and (min-width: 750px) {
  .announcement-bar__announcement-left {
    justify-content: flex-start;
  }

  .announcement-bar__announcement-right {
    justify-content: flex-end;
  }
}

.announcement-bar .slider--everywhere {
  margin-bottom: 0;
  scroll-behavior: auto;
}

.utility-bar__grid .announcement-bar-slider {
  width: 100%;
}

.utility-bar__grid .announcement-bar-slider {
  width: 100%;
}

.announcement-bar-slider,
.announcement-bar-slider .slider {
  width: 100%;
}

.localization-wrapper {
  grid-area: language-currency;
  align-self: center;
  display: flex;
  justify-content: flex-end;
}

.localization-wrapper--h-full,
.localization-wrapper--h-full .localization-form,
.localization-wrapper--h-full .localization-form > div,
.localization-wrapper--h-full .disclosure,
.localization-wrapper--h-full .disclosure__button {
  border-radius: 0;
  height: 100% !important;
}

.section-announcement-bar .disclosure .localization-form__select {
  background-color: rgba(var(--color-foreground), .09) !important;
}

.localization-wrapper .localization-selector + .disclosure__list-wrapper {
  will-change: transform;
  animation: animateMenuOpen var(--duration-medium) ease;
}

.utility-bar .localization-wrapper .disclosure .localization-form__select,
.utility-bar .localization-wrapper .disclosure__link {
  font-size: inherit;
}

@media screen and (min-width: 990px) {
  body:has(.section-header .header:not(.drawer-menu)) .utility-bar .page-width {
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .announcement-bar-slider {
    width: 60%;
  }

  .announcement-bar .slider-button {
    height: 3.8rem;
  }
}

.announcement-bar__message {
  padding: var(--announcement-padding) 0;
  margin: 0;
  min-height: 3.8rem;
}

/* CRITICAL LOCALIZATION */
.localization-form__select .icon-caret {
  position: absolute;
  content: '';
  height: 1.6rem;
  right: calc(var(--buttons-border-width) + 1.2rem);
  top: calc(50% - 0.7rem);
  transition: transform var(--duration-default) ease;
}

.localization-selector.link {
  text-decoration: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: rgb(var(--color-foreground));
  width: 100%;
  padding-right: 4rem;
  padding-bottom: 1.5rem;
}

.disclosure {
  position: relative;
}

.disclosure--full .language-column {
  border-bottom: 1px solid rgba(var(--color-foreground), .08);
}

.disclosure--has-arrow::after {
  content: "";
  position: absolute;
  top: 100%;
  bottom: -20px;
  left: -30px;
  right: -15px;
  z-index: 6;
}

.localization-flag {
  height: 20px;
  width: 20px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(var(--color-foreground), 0.1);
}

.localization-flag img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.disclosure--has-arrow::before {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%) translateY(5px);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid rgb(var(--color-background));
  filter: drop-shadow(0 -4px 2px rgba(var(--color-foreground),var(--popup-border-opacity)));
  z-index: 7;
  opacity: 0;
  visibility: hidden;
  transition: transform var(--duration-medium) ease, border-color 1s;
}

body:not(.drawer--open) .disclosure--opens-on-hover.disclosure--has-arrow:hover::before,
.disclosure--has-arrow:has(.disclosure__button[aria-expanded='true'])::before {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  transition: opacity var(--duration-short) ease 0.2s, visibility var(--duration-short) ease 0.2s, transform var(--duration-medium) ease 0.2s, border-color 1s;
}

body:not(.drawer--open) .disclosure--opens-on-hover:hover .icon-caret {
  transform: scaleY(-1);
}

.icon-localization {
  height: 20px;
  width: 20px;
}

.disclosure__button {
  align-items: center;
  cursor: pointer;
  display: flex;
  height: 4rem;
  padding: 0 1.5rem 0 1.5rem;
  font-size: 1.3rem;
  background-color: transparent;
}

.header-localization:not(.menu-drawer__localization) {
  align-items: center;
}

.js .header-localization:not(.menu-drawer__localization) .localization-form__select {
  padding: 0.5rem 3rem 0.5rem 1.5rem;
  width: max-content;
  height: 3.8rem;
}

.header-localization:not(.menu-drawer__localization) .localization-form:only-child .localization-form__select {
  margin: 0;
}

.header-localization:not(.menu-drawer__localization).localization-form__select > span {
  max-width: 20ch;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.header-localization:not(.menu-drawer__localization) localization-form:only-child .localization-form__select > span {
  max-width: 26ch;
}

.section-announcement-bar .header-localization:not(.menu-drawer__localization) localization-form:only-child .localization-form__select > span {
  max-width: 30ch;
}

.header-localization:not(.menu-drawer__localization) .localization-form__select .icon-caret {
  right: 0.9rem;
}

.header-localization:not(.menu-drawer__localization) .disclosure__list-wrapper {
  bottom: initial;
  top: calc(100% + 15px);
  right: 0;
  transform: translateY(0);
}

.localization-form__select .icon-caret {
  position: absolute;
  content: "";
  height: 1.6rem;
  right: calc(var(--buttons-border-width) + 1.2rem);
  top: calc(50% - .7rem);
  transition: transform var(--duration-default) ease;
}

.header-localization .localization-form__select.link:after,
.header-localization .localization-form__select.link:before {
  box-shadow: none;
}

.header-localization .disclosure .localization-form__select,
.header-localization .disclosure__link {
  height: auto;
  min-height: initial;
  background-color: transparent;
}

.header-localization .disclosure .localization-form__select {
  background-color: rgba(var(--color-foreground), .06);
}

.header-localization .disclosure .localization-form__select:hover {
  color: rgb(var(--color-link));
}

.localization-form__select {
  border-radius: var(--buttons-radius-outset);
  position: relative;
  margin-bottom: 1.5rem;
  padding-left: 1rem;
  text-align: left;
  min-height: calc(4rem + var(--buttons-border-width) * 2);
  min-width: calc(7rem + var(--buttons-border-width) * 2);
  max-height: 27.5rem;
}

.disclosure__button.localization-form__select {
  padding: calc(2rem + var(--buttons-border-width));
  background: transparent;
}

/* SECTION STANDARD CONTENT */
@media screen and (max-width: 749px) {
  .background-transparent:not(.image-overlay) .section-content {
    padding: 3rem 0 0;
  }

  .banner--mobile-box .section-content {
    padding: 2.5rem 3rem;
  }
}

.p-section-content {
  padding: 4rem 3.5rem;
}

.section-content {
  --section-content-gap: 1.8rem;
  padding: 4rem;
  position: relative;
  height: fit-content;
  /*width: 100%;*/
  word-wrap: break-word;
  z-index: 1;
}

.section-content > * {
  margin-top: var(--section-content-gap, 1.8rem);
  margin-bottom: var(--section-content-gap, 1.8rem);
  overflow-wrap: break-word;
}

.section-content > *:first-child {
  margin-top: 0;
}

.section-content > *:last-child,
.section-content > *:last-child > *:only-child {
  margin-bottom: 0;
}

.section-content__caption {
  color: rgb(var(--color-caption));
}

.section-content__images {
  gap: var(--grid-mobile-horizontal-spacing);
  font-size: 0;
}

.section-content__images-image {
  width: var(--image-mobile-width);
}

@media screen and (min-width: 750px) {
  .section-content__images {
    gap: var(--grid-desktop-horizontal-spacing);
  }

  .section-content__images-image {
    width: var(--image-desktop-width);
  }
}

.section-content__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--section-content-gap, 1.8rem);
  width: 100%;
  word-break: break-word;
  margin-top: 0;
}

.section-content__buttons-with-link {
  gap: calc(var(--section-content-gap, 1.8rem) + 10px);
}

.section-content__buttons + .section-content__buttons {
  margin-top: var(--section-content-gap, 1.8rem);
}

/* SECTION HEADER */
.section-header.shopify-section-group-header-group {
  z-index: 5; /* 4 goes under the search bar */
}

.header__icon--account shop-user-avatar {
  --shop-avatar-size: 2.8rem;
}

.shopify-section-header-sticky {
  position: sticky;
  top: 0;
  transition: box-shadow 1s;
}

.scrolled-past-header {
  box-shadow: 0 1px 10px 0 rgba(0,0,0,.15);
}

.shopify-section-header-hidden {
  top: calc(-1 * var(--header-height, 0px) - 1px);
}

.shopify-section-header-hidden.menu-open {
  top: 0;
}

.section-header.animate,
.section:has(.xs\:stick-to-header),
.section:has(.md\:stick-to-header) {
  transition: top 0.15s ease-out;
}

.shopify-section-group-header-group {
  z-index: 4;
}

.section-header ~ .shopify-section-group-header-group {
  z-index: initial;
}

.search__button {
  background-color: rgb(var(--color-button));
  background-image: var(--color-button-gradient, none);
  color: rgb(var(--color-button-text));
  border-radius: var(--control-border-radius);
  top: var(--control-inset);
  bottom: var(--control-inset);
  right: var(--control-inset);
  height: auto;
  width: 4.2rem;
}

.search__button:not(:focus-visible):not(.focused) {
  box-shadow: inherit;
}

.search__button .icon {
  height: 1.8rem;
  width: 1.8rem;
}

/* MAIN HEADER LAYOUT */
.header-wrapper {
  display: block;
  position: relative;
  background-color: rgb(var(--color-background));
}

.header {
  display: grid;
  grid-template-areas: 'left-icons heading icons';
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
}

@media screen and (min-width: 990px) {
  .header {
    --header-gap: 2rem;
    --header-elements-height: 5.2rem;
    grid-template-columns: 1fr auto 1fr;
  }

  .header--top-left,
  .header--middle-left:not(.header--has-menu) {
    grid-template-areas: 'heading navigation icons';
    grid-template-columns: auto 1fr auto;
    column-gap: var(--header-gap);
  }

  .header--top-left.drawer-menu,
  .header--middle-left.drawer-menu {
    grid-template-areas: 'burger heading navigation icons';
    grid-template-columns: auto auto 1fr auto;
    column-gap: var(--header-gap);
  }

  .drawer-menu--on-scroll header-drawer {
    max-width: 0;
    opacity: 0;
    visibility: hidden;
    transition: max-width .3s, opacity 0.3s, visibility 0.3s;
  }

  .scrolling-down .drawer-menu--on-scroll header-drawer {
    max-width: 60px;
    opacity: 1;
    visibility: visible;
  }

  .header--middle-left {
    grid-template-areas: 'heading navigation icons';
    grid-template-columns: auto 1fr auto;
    column-gap: 2rem;
  }

  .header--middle-center:not(.drawer-menu) {
    grid-template-areas: 'navigation heading icons';
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);;
    column-gap: 2rem;
  }

  .header--middle-center a.header__heading-link {
    text-align: center;
  }

  .header--top-center {
    grid-template-areas:
      'left-icons heading icons'
      'navigation navigation navigation';
  }

  .header--top-center.drawer-menu {
    grid-template-areas: 'left-icons heading icons';
    grid-template-columns: 1fr auto 1fr;
  }

  .header:not(.header--middle-left, .header--middle-center) .header__inline-menu {
    margin-top: 1.05rem;
  }
}

.header *[tabindex='-1']:focus {
  outline: none;
}

.header > .header__heading-link {
  line-height: 0;
  transition: margin-left 0.3s, margin-right 0.3s;
}

.header__heading-link {
  grid-area: heading;
  justify-self: center;
  display: inline-block;
  padding: 0.75rem;
  text-decoration: none;
  word-break: break-word;
}

.header__heading-link:hover .h2 {
  color: rgb(var(--color-foreground));
}

.header__heading-link .h2 {
  line-height: 1;
  color: rgba(var(--color-foreground), 0.75);
}

.header__heading-logo {
  height: auto;
  max-width: 100%;
}

.header__heading-logo-wrapper {
  width: 100%;
  display: inline-block;
  transition: width 0.3s cubic-bezier(0.52, 0, 0.61, 0.99);
}

@media screen and (max-width: 989px) {
  .header__heading-link {
    text-align: center;
  }

  .header--mobile-left .header__heading-link {
    text-align: left;
    justify-self: start;
  }

  .header--mobile-left {
    grid-template-columns: auto 2fr 1fr;
  }

  .header--keep-mobile-search {
    padding: calc(var(--px-mobile) * 0.4) var(--px-mobile) calc(var(--px-mobile) * 0.8) !important;
    row-gap: 0.5rem;
    grid-template-areas:
        "burger heading icons"
        "navigation navigation navigation";
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
  }

  .header--keep-mobile-search.header--mobile-center {
    grid-template-areas:
        "left-icons heading icons"
        "navigation navigation navigation";
    grid-template-columns: 1fr 2fr 1fr;
  }

  .header--keep-mobile-search .search-modal__form {
    --control-border-radius: var(--inputs-radius);
    width: 100%;
  }

  .header--keep-mobile-search .header__search-bar {
    grid-area: navigation;
    display: flex !important;
    z-index: 4;
  }
}

@media screen and (min-width: 990px) {
  .header__heading-link:has(.header__strap) {
    margin-top: -9px;
  }

  .header--middle-left .header__heading-link,
  .header--top-left .header__heading-link {
    margin-left: -0.75rem;
  }
  .header.drawer-menu .header__heading-link {
    margin-left: calc(-0.75rem - var(--header-gap));
  }

  .header__heading-link {
    justify-self: start;
    margin-top: 1px;
  }

  .header--middle-center .header__heading-link {
    justify-self: center;
    text-align: center;
  }

  .header--top-center .header__heading-link {
    justify-self: center;
    text-align: center;
  }
}

.header__strap {
  margin: 0.6rem 0 0 0;
}

.header__heading-link:has(img) .header__strap {
  margin-top: 1.2rem;
}

/* HEADER ICONS */
.header__icons {
  display: flex;
  grid-area: icons;
  justify-self: end;
  align-items: center;
}

.header__icons .shopify-app-block {
  max-width: 4.4rem;
  max-height: 4.4rem;
  overflow: hidden;
}

.header__icon:not(.header__icon--summary),
.header__icon span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__cta {
  margin-right: calc(var(--header-gap) * 0.75);
}

.header__icon {
  color: rgb(var(--color-foreground));
  border-radius: var(--panel-corner-radius);
}

a.header__cta p {
  color: rgb(var(--color-foreground));
}

@media (hover: hover) and (pointer: fine) {
  .header__icon:hover,
  a.header__cta:hover {
    --color-icon: var(--color-link);
  }

  .header__menu-item:hover,
  .header__icon:hover,
  a.header__cta:hover p {
    color: rgb(var(--color-link));
  }
}

.header__icon span {
  height: 100%;
}

.header__icon::after {
  content: none;
}

.header__icon:hover .icon,
.modal__close-button:hover .icon {
  opacity: 1;
}

.header__icon .icon {
  height: 2.6rem;
  width: 2.6rem;
  /*fill: none;*/
  vertical-align: middle;
}

.header__icon--menu .icon-hamburger,
.header__icon--menu .icon-close {
  height: 3.2rem;
  width: 3.2rem;
  margin-top: 0.1rem;
}

.header__icon {
  height: 4.4rem;
  width: 4.4rem;
  padding: 0;
}

.header__icon .stroke-width-standard {
  stroke-width: 30px;
}

.header__icon--menu::before {
  content: '';
  top: 100%;
  left: 0;
  height: calc(var(--viewport-height, 100vh) - (var(--header-bottom-position, 100%)));
  width: 100%;
  display: block;
  position: absolute;
  background-color: rgba(0,0,0,.5);
  visibility: hidden;
  opacity: 0;
  backdrop-filter: blur(2px);
  transition: opacity var(--duration-medium), visibility var(--duration-medium);
}

.header__icon--menu[aria-expanded='true']::before {
  visibility: visible;
  opacity: 1;
}

.header__icon--cart {
  position: relative;
  margin-right: -0.6rem;
}

@media screen and (min-width: 990px) {
  .header__icon--cart {
    margin-right: -1.2rem;
  }

  .header__icons {
    padding-right: 0.8rem;
  }

  .search-modal__form .search__input {
    font-size: 1.5rem;
  }

  .header .localization-form__select,
  .header__icon,
  .header__cta,
  .header__search-bar .search__input {
    height: var(--header-elements-height) !important;
  }

  .header__icon {
    width: var(--header-elements-height);
  }

  .header__search-bar .search__button {
    width: calc(var(--header-elements-height) - 1rem);
  }
}

/* SEARCH */
menu-drawer + .header__search {
  display: none;
}

.header > .header__search {
  grid-area: left-icons;
  justify-self: start;
}

.header--top-center.drawer-menu > .header__search {
  margin-left: 3.2rem;
}

.header--top-center header-drawer {
  grid-area: left-icons;
}

.header__search {
  display: inline-flex;
  line-height: 0;
}

.header--top-center > .header__search {
  display: none;
}

.header--top-center * > .header__search {
  display: inline-flex;
}

@media screen and (min-width: 990px) {
  .header:not(.header--top-center) * > .header__search,
  .header--top-center > .header__search {
    display: inline-flex;
  }

  .header:not(.header--top-center) > .header__search,
  .header--top-center * > .header__search {
    display: none;
  }
}

.no-js .predictive-search {
  display: none;
}
.search-modal__form {
  --inputs-border-width: 0px;
  --control-inset: calc(.5rem + var(--inputs-border-width));
  --control-border-radius: max(0px, calc(var(--inputs-radius) - 2px));
  container-type: inline-size;
  width: 100%;
  position: relative;
  display: block;
  z-index: 1;
}

.search-modal__form .nice-select-dropdown {
  --inputs-border-width: 1px;
  --inputs-border-opacity: 0.2;
}

.search-modal__form--dark-text {
  --color-foreground: 30, 30, 30;
  color: rgb(var(--color-foreground));
}

.search-modal__form .select .current {
  white-space: nowrap;
  text-overflow: ellipsis;
}

.search-modal__form select,
.search-modal__form .select .current,
.search-modal__form .select .option {
  font-size: 1.4rem;
}

.search-modal__form .select {
  flex: 1 1 100px;
  max-width: 200px;
  position: relative;
  margin: var(--inputs-border-width);
  padding: var(--control-inset);
  transition: max-width 0.3s;
}

@media screen and (min-width: 990px) {
  .search-modal .predictive-search--suggestions-desktop ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }

  .search-modal .predictive-search--suggestions-desktop .predictive-search__item {
    border: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }

  .search-modal .predictive-search--suggestions-desktop .predictive-search__subheading {
    display: none;
  }

  .search-modal .predictive-search--suggestions-desktop > .pb-2 {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1200px) {
  .search-modal__form .select {
    flex: 1 1 170px;
    max-width: 250px;
  }
}

.search-modal__form .select .icon-caret {
  height: 1.3rem;
  top: calc(50% - .6rem);
}

.search-modal__form .select + .search__input {
  padding-left: 0.5rem;
}

.search-modal__form .nice-select-dropdown {
  border-color: rgba(var(--color-shadow),var(--popup-shadow-opacity));
  margin-top: 1rem;
}

.search-modal__form .select__select {
  border-radius: var(--control-border-radius);
  line-height: 2.1rem;
  color: rgb(var(--color-foreground));
  background-color: rgba(var(--color-foreground), 0.07);
  border: 1px solid rgba(var(--color-foreground), 0.03);
  height: 100%;
  margin: 0;
  padding: 0 calc(var(--inputs-border-width) + 3rem) 0 1.5rem;
}

.search-modal__form .select::after {
  display: none;
}

.search-modal__form .field.field--matching-color-scheme::after {
  border: 1px solid rgba(var(--color-foreground), 0.1);
  box-shadow: var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) calc(var(--popup-shadow-blur-radius) / 2) rgba(var(--color-shadow),var(--popup-shadow-opacity)) !important;
}

.search-modal__close-button {
  position: absolute;
  right: 0.3rem;
}

@container (max-width: 550px) {
  .search-modal__form .select {
    flex: 1 1 140px;
  }
}

@media screen and (min-width: 750px) {
  .search-modal__close-button {
    right: 1rem;
  }

  .search-modal__content {
    padding: 0 6rem;
  }
}

@media screen and (min-width: 990px) {
  .search-modal__form .field.field--diff-color-scheme::after {
    border: 0;
    box-shadow: none !important;
  }

  .search-modal__form {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
  }

  .header__search .search-modal__form {
    max-width: 74.2rem;
  }

  .search-modal__close-button {
    position: initial;
    margin-left: 0.5rem;
  }

  .search-modal__form {
    width: 98%;
    transition: width .3s var(--cubic-bezier-wipe), max-width .3s var(--cubic-bezier-wipe);
  }

  .search-modal__form--small,
  .search-modal__form--expand {
    max-width: 340px;
  }

  .search-modal__form--expand:focus-within {
    width: 98%;
    max-width: 98%;
  }

  .search-suggestions .predictive-search__item {
    font-size: 1.5rem;
  }

  .search-modal__form--small .select,
  .search-modal__form--expand:not(:focus-within) .select {
    max-width: 100px;
  }
}

/* HEADER MENU */
header-menu.open::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(var(--link-end) - 15px);
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: var(--header-zindex, 1);
}

.header__inline-menu {
  margin-left: -1.2rem;
  grid-area: navigation;
  display: none;
}

.header--top-left + .header__inline-menu .header__submenu.global-settings-popup {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: var(--popup-shadow-horizontal-offset) 6px var(--popup-shadow-blur-radius)
  rgba(var(--color-shadow), var(--popup-shadow-opacity));
}

.header--top-center .header__inline-menu,
.header--top-center .header__heading-link {
  margin-left: 0;
}

@media screen and (min-width: 990px) {
  .header__inline-menu {
    display: block;
  }

  .header__inline-menu--hide-on-scroll {
    max-height: 25vh;
    transition: opacity .3s, visibility .3s,  max-height .3s;
  }

  .scrolling-down .header:not(.drawer-menu--on-scroll--paused) + .header__inline-menu--hide-on-scroll {
    opacity: 0;
    visibility: hidden;
    max-height: 0;
  }

  .header--top-center .header__inline-menu {
    justify-self: center;
  }

  .header--top-center .header__inline-menu > .list-menu--inline {
    justify-content: center;
  }

  .header--middle-left .header__inline-menu {
    margin-left: 0;
  }
}

.header__menu {
  padding: 0 1rem;
}

.header__menu-item {
  padding: 1.2rem;
  text-decoration: none;
  color: rgb(var(--color-foreground));
  position: relative;
}

.header__summary-link {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

.header__menu-item .icon-caret {
  right: 0.8rem;
  top: calc(50% - .45em);
}

@media (hover: hover) and (pointer: fine) {
  .header__summary-link {
    pointer-events: auto;
  }
}

/* HEADER MENU DRAWER */
.header__icon--menu .icon {
  display: block;
  position: absolute;
  opacity: 0.8;
  transition: opacity 150ms ease;
}

/* MEDIA */
.gradient {
  background: rgb(var(--color-background));
  background: var(--gradient-background);
  background-attachment: fixed;
}

.icon {
  flex-shrink: 0;
}

@media screen and (forced-colors: active) {
  .icon {
    color: CanvasText;
    fill: CanvasText !important;
  }

  .icon-close-small path {
    stroke: CanvasText;
  }
}

.ratio {
  display: flex;
  position: relative;
  align-items: stretch;
}

.ratio::before {
  content: '';
  width: 0;
  height: 0;
  padding-bottom: var(--ratio-percent-xs, var(--ratio-percent));
}

@media screen and (min-width: 750px) {
  .ratio::before {
    padding-bottom: var(--ratio-percent);
  }

  .md\:ratio {
    display: flex;
    position: relative;
    align-items: stretch;
  }

  .md\:ratio::before {
    content: '';
    width: 0;
    height: 0;
    padding-bottom: var(--ratio-percent);
  }
}

.content-container {
  border-radius: var(--text-boxes-radius);
  border: var(--text-boxes-border-width) solid rgba(var(--color-foreground), var(--text-boxes-border-opacity));
  position: relative;
}

.content-container:after {
  content: '';
  position: absolute;
  top: calc(var(--text-boxes-border-width) * -1);
  right: calc(var(--text-boxes-border-width) * -1);
  bottom: calc(var(--text-boxes-border-width) * -1);
  left: calc(var(--text-boxes-border-width) * -1);
  border-radius: var(--text-boxes-radius);
  box-shadow: var(--text-boxes-shadow-horizontal-offset) var(--text-boxes-shadow-vertical-offset)
    var(--text-boxes-shadow-blur-radius) rgba(var(--color-shadow), var(--text-boxes-shadow-opacity));
  z-index: -1;
}

.content-container--full-width:after {
  left: 0;
  right: 0;
  border-radius: 0;
}

@media screen and (max-width: 749px) {
  .banner--mobile-box:not(.banner--mobile-bottom) .banner__content,
  slideshow-component .banner--mobile-box {
    padding: var(--px-mobile);
  }

  .banner--mobile-bottom .content-container--full-width-mobile {
    border-left: none;
    border-right: none;
    border-radius: 0;
  }
  .banner--mobile-bottom .content-container--full-width-mobile:after {
    display: none;
  }
}

.global-media-settings {
  position: relative;
  border: var(--media-border-width) solid rgba(var(--color-foreground), var(--media-border-opacity));
  border-radius: var(--media-radius);
  overflow: visible !important;
  background-color: rgb(var(--color-background));
}

.global-media-settings:after {
  content: '';
  position: absolute;
  top: calc(var(--media-border-width) * -1);
  right: calc(var(--media-border-width) * -1);
  bottom: calc(var(--media-border-width) * -1);
  left: calc(var(--media-border-width) * -1);
  border-radius: var(--media-radius);
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius)
    rgba(var(--color-shadow), var(--media-shadow-opacity));
  z-index: -1;
  pointer-events: none;
}

.global-media-settings--no-shadow {
  overflow: hidden !important;
}

.global-media-settings--no-shadow:after {
  content: none;
}

.global-media-settings img,
.global-media-settings iframe,
.global-media-settings model-viewer,
.global-media-settings video,
.global-media-settings .placeholder-svg {
  border-radius: calc(var(--media-radius) - var(--media-border-width));
}

.content-container--full-width,
.global-media-settings--full-width,
.global-media-settings--full-width img,
.global-media-settings--full-width video,
.global-media-settings--full-width iframe,
.global-media-settings--full-width .placeholder-svg {
  border-radius: 0;
  border-left: none;
  border-right: none;
}

/* BORDER RADIUS UTILITY */
.border-radius-product-card {
  border-radius: var(--product-card-corner-radius);
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-collection-card {
  border-radius: var(--collection-card-corner-radius);
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-blog-card {
  border-radius: var(--blog-card-corner-radius);
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-input {
  border-radius: var(--inputs-radius);
}

.border-radius-panel {
  border-radius: var(--panel-corner-radius);
}

.border-radius-media {
  border-radius: calc(var(--media-radius) - var(--media-border-width));
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-text-box {
  border-radius: calc(var(--text-boxes-radius) - var(--text-boxes-border-width));
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-circle {
  border-radius: 50%;
}

@media screen and (min-width: 750px) {
  .md\:border-radius-media {
    border-radius: calc(var(--media-radius) - var(--media-border-width));
    transform: translateZ(0); /*Safari fix*/
  }

  .md\:border-radius-text-box {
    border-radius: calc(var(--text-boxes-radius) - var(--text-boxes-border-width));
    transform: translateZ(0); /*Safari fix*/
  }

  .skew .banner__media {
    width: 60%;
  }

  .skew .banner__media:first-child {
    transform: skew(-10deg);
    left: -10%;
    z-index: 1;
    border-right: 8px solid rgb(var(--color-background));
    height: calc(100% + 1px);
  }

  .skew .banner__media:first-child img {
    transform: perspective(0) skew(10deg) scale(1.25) !important;
  }
}

/* check for flexbox gap in older Safari versions */
@supports not (inset: 10px) {
  .grid {
    margin-left: calc(-1 * var(--grid-mobile-horizontal-spacing));
  }

  .grid__item {
    padding-left: var(--grid-mobile-horizontal-spacing);
    padding-bottom: var(--grid-mobile-vertical-spacing);
  }

  @media screen and (min-width: 750px) {
    .grid {
      margin-left: calc(-1 * var(--grid-desktop-horizontal-spacing));
    }

    .grid__item {
      padding-left: var(--grid-desktop-horizontal-spacing);
      padding-bottom: var(--grid-desktop-vertical-spacing);
    }
  }

  .grid--gapless .grid__item {
    padding-left: 0;
    padding-bottom: 0;
  }

  @media screen and (min-width: 750px) {
    .grid--peek .grid__item {
      padding-left: var(--grid-mobile-horizontal-spacing);
    }
  }

  .product-grid .grid__item {
    padding-bottom: var(--grid-mobile-vertical-spacing);
  }

  @media screen and (min-width: 750px) {
    .product-grid .grid__item {
      padding-bottom: var(--grid-desktop-vertical-spacing);
    }
  }
}

.font-body-bold {
  font-weight: var(--font-body-weight-bold);
}


/* outline and border styling for Windows High Contrast Mode */
@media (forced-colors: active) {
  .button,
  .shopify-challenge__button,
  .customer button {
    border: transparent solid 1px;
  }

  .button:focus-visible,
  .button:focus,
  .button.focused,
  .shopify-payment-button__button--unbranded:focus-visible,
  .shopify-payment-button [role='button']:focus-visible,
  .shopify-payment-button__button--unbranded:focus,
  .shopify-payment-button [role='button']:focus {
    outline: solid transparent 1px;
  }

  .field__input:focus,
  .select__select:focus,
  .customer .field input:focus,
  .customer select:focus,
  .localization-form__select:focus.localization-form__select:after {
    outline: transparent solid 1px;
  }

  .localization-form__select:focus {
    outline: transparent solid 1px;
  }
}

/* RTE BITS */
.rte:after {
  clear: both;
  content: '';
  display: block;
}

.rte > *:first-child,
.rte .metafield-rich_text_field > *:first-child {
  margin-top: 0;
}

.rte > *:last-child,
.rte .metafield-rich_text_field > *:last-child {
  margin-bottom: 0;
}

.rte table {
  overflow-wrap: break-word;
  table-layout: fixed;
  word-break: normal;
}

@media screen and (min-width: 750px) {
  .rte table td {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}

.rte img {
  height: auto;
  max-width: 100%;
  border: var(--media-border-width) solid rgba(var(--color-foreground), var(--media-border-opacity));
  border-radius: var(--media-radius);
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius)
    rgba(var(--color-shadow), var(--media-shadow-opacity));
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.rte iframe {
  max-width: 100%;
}

.rte ul {
  list-style: none;
}

.rte ul,
.rte ol {
  text-align: start;
  margin: 0 0 1em;
  padding: 0 0 0 2em;
}

.rte ul li:not(:last-child),
.rte ol li:not(:last-child) {
  margin-bottom: 0.6em;
}

.rte ul li::before {
  content: "";
  vertical-align: middle;
  background-color: currentColor;
  display: inline-block;
  margin: -2px 0.75em 0 -1.25em;
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
}

.rte h1,
.rte h2,
.rte h3,
.rte h4,
.rte h5,
.rte h6 {
  margin-bottom: 0.5em;
}

.rte li {
  list-style: inherit;
}

.rte li:last-child {
  margin-bottom: 0;
}

.rte a {
  color: rgba(var(--color-link), var(--alpha-link));
}

.rte blockquote {
  text-align: start;
}

.rte blockquote > * {
  margin: -0.5rem 0 -0.5rem 0;
}

.responsive-table {
  overflow: auto;
}

@media screen and (max-width: 749px) {
  .rte .responsive-table {
    display: flex;
    -webkit-overflow-scrolling: touch;
    padding: 1px;
    max-width: calc(100vw - (var(--px-mobile)* 2) - (var(--info-padding-x, 0px) * 2));
  }

  .quick-add-modal .rte .responsive-table {
    max-width: calc(100vw - (var(--px-mobile)* 2) - (var(--info-padding-x, 0px) * 2) - 5px);
  }

  .rte .responsive-table > table {
    flex-shrink: 0;
    min-width: 100%;
    width: auto;
  }
}

.section-title.italics-light em {
  font-style: normal;
  color: rgba(var(--color-heading), 0.65);
  background-image: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

.italics-convert em {
  font-style: normal;
}

.italics-light em {
  color: rgba(var(--color-foreground), 0.65);
}

.italics-accent em {
  background-image: var(--color-accent-gradient-background, none);
  -webkit-background-clip: var(--color-accent-gradient-background-clip, border-box);
  -webkit-text-fill-color: var(--color-accent-gradient-fill, currentColor);
}

.italics-accent_color em {
  color: rgba(var(--color-accent), 1);
}

.italics-glow em,
.italics-glow_pulsating em,
.italics-glow_outline em {
  text-shadow:
    0 0 1px rgb(var(--color-foreground)),
    0 0 38px rgba(var(--color-accent),1),
    0 0 82px rgba(var(--color-accent),.5),
    0 0 82px rgba(var(--color-accent),.5),
    0 0 92px rgba(var(--color-accent),.3),
    0 0 121px rgba(var(--color-accent),.2);
}

.italics-glow_pulsating em {
  animation: pulsate 1.7s infinite alternate;
}

.italics-outline em,
.italics-outline_accent em {
  -webkit-text-stroke: 0.03em currentColor;
  -webkit-text-fill-color: transparent;
}

.italics-outline_accent em,
.italics-glow_outline em {
  -webkit-text-stroke: 0.03em rgb(var(--color-accent));
}

.italics-convert a:not(:hover) {
  text-decoration: none;
}

/* OVERLAYS */
.image-overlay {
  position: relative;
}

.image-overlay::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-overlay);
  opacity: var(--overlay-opacity, 0);
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: 0;
}

@media screen and (max-width: 749px) {
  .xs\:bottom-border-radius-0 {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .xs\:image-overlay {
    position: relative;
  }

  .xs\:image-overlay::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color-overlay);
    opacity: var(--overlay-opacity, 0);
    pointer-events: none;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 0;
  }

  .xs\:w-full {
    width: 100%;
  }
}

@media screen and (min-width: 750px) {
  .md\:image-overlay {
    position: relative;
  }

  .md\:image-overlay::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color-overlay);
    opacity: var(--overlay-opacity, 0);
    pointer-events: none;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 0;
  }
}

/* ANIMATIONS */
.animate--fixed {
  clip-path: inset(0);
}

.animate--fixed > img:not(.zoom):not(.deferred-media__poster-button),
.animate--fixed > svg:not(.zoom):not(.deferred-media__poster-button) {
  position: fixed;
  height: 100vh;
}

@media (prefers-reduced-motion: no-preference) {
  .animate--pop {
    animation: pop 250ms ease-in-out;
  }

  .animate--zoom-in {
    transition: transform 1.3s;
  }

  .scroll-trigger--offscreen.animate--zoom-in {
    transform: scale(1.07);
  }

  .scroll-trigger.animate--fade-in,
  .scroll-trigger.animate--slide-in {
    opacity: 0.01;
  }

  .scroll-trigger.animate--slide-in {
    transform: translateY(0.5rem);
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--fade-in {
    opacity: 1;
    animation: var(--animation-fade-in);
    animation-duration: 1s;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--slide-in {
    animation: var(--animation-slide-in);
    animation-delay: calc(var(--animation-order) * 75ms);
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--fade-in,
  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in,
  .scroll-trigger.scroll-trigger--design-mode .slider,
  .scroll-trigger:not(.scroll-trigger--offscreen).scroll-trigger--cancel {
    opacity: 1;
    animation: none;
    transition: none;
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in {
    transform: translateY(0);
  }

  @keyframes pop {
    0% {
      transform: scale(0.75);
    }
    50% {
      transform: scale(1.25);
    }
    100% {
      transform: scale(1);
    }
  }

  @keyframes slideIn {
    from {
      transform: translateY(0.5rem);
      opacity: 0.01;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes fadeIn {
    from {
      opacity: 0.01;
    }
    to {
      opacity: 1;
    }
  }
}

/* ELEMENT HOVERS */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .button--hover-lift quick-add-bulk .quantity,
  .button--hover-lift .button:not(.button--tertiary),
  .button--hover-lift .shopify-challenge__button,
  .button--hover-lift .customer button,
  .button--hover-lift .shopify-payment-button__button,
  .button--hover-lift .deferred-media .deferred-media__poster-button {
    transition: transform var(--duration-medium) ease, box-shadow var(--duration-medium) ease;
    transform-origin: center;
  }

  .button--hover-lift quick-add-bulk .quantity:hover,
  .button--hover-lift .button:not(.button--tertiary):not([disabled]):hover,
  .button--hover-lift .shopify-challenge__button:not([disabled]):hover,
  .button--hover-lift .customer button:not([disabled]):hover,
  .button--hover-lift .shopify-payment-button__button:hover,
  .button--hover-lift .deferred-media:hover .deferred-media__poster-button {
    transition: transform var(--duration-extended) ease, box-shadow var(--duration-medium) ease; /* Slow the card transition speed while hover is active. */
    box-shadow: -1rem -1rem 1rem -1rem rgba(0, 0, 0, 0.05), 1rem 1rem 1rem -1rem rgba(0, 0, 0, 0.05),
      0 0 0.5rem 0 rgba(255, 255, 255, 0), 0 2rem 3.5rem -2rem rgba(0, 0, 0, 0.5);
  }
}

/* RESPONSIVE UTILITIES */
.responsive-card-padding {
  --card-padding: max(2.5rem, calc(var(--responsive-card-padding) * 0.5));
}

@media screen and (max-width: 450px) {
  .section-height-responsive--mobile {
    min-height: var(--mobile-height);
  }
}

@media screen and (min-width: 449px) and (max-width: 749px) {
  .section-height-responsive--mobile {
    min-height: calc(var(--mobile-height) + 15vw);
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .section-height-responsive--desktop {
    min-height: calc(var(--desktop-height) * 0.9);
  }
}

@media screen and (min-width: 990px) {
  .section-height-responsive--desktop {
    min-height: var(--desktop-height);
  }

  .responsive-card-padding {
    --card-padding: var(--responsive-card-padding);
  }
}

.card-padding {
  padding: var(--card-padding);
}

.custom-scrollbar::-webkit-scrollbar {
  width: 3px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-foreground), 0.7);
  border-radius: 100px;
}

.responsive-grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-size, 3), 1fr);
}

/* TAILWIND */
@media screen and (max-width: 749px) {
  .xs\:m-0 {
    margin: 0;
  }

  .xs\:mb-1 {
    margin-bottom: 1rem;
  }

  .xs\:p-0 {
    padding: 0;
  }

  .xs\:pl-mobile {
    padding-left: var(--px-mobile);
  }

  .xs\:pr-mobile {
    padding-right: var(--px-mobile);
  }

  .xs\:pb-0 {
    padding-bottom: 0;
  }

  .xs\:pt-0 {
    padding-top: 0;
  }

  .xs\:pt-2 {
    padding-top: 2rem;
  }
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 1rem;
}

.p-15 {
  padding: 1.5rem;
}

.p-2 {
  padding: 2rem;
}

.p-3 {
  padding: 3rem;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 1rem;
}

.pt-15 {
  padding-top: 1.5rem;
}

.pt-2 {
  padding-top: 2rem;
}

.pt-3 {
  padding-top: 3rem;
}

.pt-4 {
  padding-top: 4rem;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-05 {
  padding-bottom: 0.5rem;
}

.pb-1 {
  padding-bottom: 1rem;
}

.pb-15 {
  padding-bottom: 1.5rem;
}

.pb-2 {
  padding-bottom: 2rem;
}

.pb-3 {
  padding-bottom: 3rem;
}

.pb-4 {
  padding-bottom: 4rem;
}

.pt-s05 {
  padding-top: calc(var(--spacing-section) * 0.5) !important;
}

.pb-s05 {
  padding-bottom: calc(var(--spacing-section) * 0.5) !important;
}

.pt-s075 {
  padding-top: calc(var(--spacing-section) * 0.75) !important;
}

.pb-s075 {
  padding-bottom: calc(var(--spacing-section) * 0.75) !important;
}

.pt-s {
  padding-top: var(--spacing-section) !important;
}

.pb-s {
  padding-bottom: var(--spacing-section) !important;
}

.pt-s15 {
  padding-top: calc(var(--spacing-section) * 1.5) !important;
}

.pb-s15 {
  padding-bottom: calc(var(--spacing-section) * 1.5) !important;
}

.pt-s2 {
  padding-top: calc(var(--spacing-section) * 2) !important;
}

.pb-s2 {
  padding-bottom: calc(var(--spacing-section) * 2) !important;
}

.pt-s3 {
  padding-top: calc(var(--spacing-section) * 3) !important;
}

.pb-s3 {
  padding-bottom: calc(var(--spacing-section) * 3) !important;
}

.pl-0 {
  padding-left: 0;
}

.pl-05 {
  padding-left: 0.5rem;
}

.pl-1 {
  padding-left: 1rem;
}

.pl-15 {
  padding-left: 1.5rem;
}

.pl-2 {
  padding-left: 2rem;
}

.pl-3 {
  padding-left: 3rem;
}

.pr-1 {
  padding-right: 1rem;
}

.pr-15 {
  padding-right: 1.5rem;
}

.pr-2 {
  padding-right: 2rem;
}

.pr-3 {
  padding-right: 3rem;
}

.pr-0 {
  padding-right: 0;
}

.m-0 {
  margin: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-05 {
  margin-left: 0.5rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-auto {
  margin-right: auto;
}

.mr-0 {
  margin-right: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-025 {
  margin-top: 0.25rem;
}

.mt-05 {
  margin-top: 0.5rem;
}

.mt-1 {
  margin-top: 1rem;
}

.mt--1px {
  margin-top: -1px;
}

.mt-1px {
  margin-top: 1px;
}

.mt-2px {
  margin-top: 2px;
}

.mt--1 {
  margin-top: -1rem !important;
}

.mt-15 {
  margin-top: 1.5rem;
}

.mt--15 {
  margin-top: -1.5rem !important;
}

.mt-2 {
  margin-top: 2rem;
}

.mt-3 {
  margin-top: 3rem;
}

.last\:mb-0:last-child,
.mb-0 {
  margin-bottom: 0 !important;
}

.mb-015 {
  margin-bottom: 0.15rem;
}

.mb-025 {
  margin-bottom: 0.25rem;
}

.mb-05 {
  margin-bottom: 0.5rem;
}

.mb-05em {
  margin-bottom: 0.5em;
}

.mb-1 {
  margin-bottom: 1rem !important;
}

.mb-15 {
  margin-bottom: 1.5rem;
}

.mb-2 {
  margin-bottom: 2rem !important;
}

.mb-3 {
  margin-bottom: 3rem;
}

.mb-4 {
  margin-bottom: 3rem;
}

.last-child\:mb-0:last-child {
  margin-bottom: 0 !important;
}

.last-child\:mb-2:last-child {
  margin-bottom: 2rem !important;
}

.last-child-inner\:mb-0:last-child > * {
  margin-bottom: 0 !important;
}

.last-child-inner\:mt-0:last-child > * {
  margin-top: 0 !important;
}

.my-section {
  margin-top: var(--spacing-section);
  margin-bottom: var(--spacing-section);
}

.mb-section {
  margin-bottom: var(--spacing-section);
}

.border-0 {
  border: 0 !important;
}

.border,
.product-card.border {
  border: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.border-top {
  border-top: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.border-bottom {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.rounded-none {
  border-radius: 0 !important;
}

/* TW - Flex */
.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.basis-1\/2 {
  flex-basis: 50%;
}

.grow {
  flex-grow: 1;
}

.shrink-0 {
  flex-shrink: 0;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.flex-row-reverse {
  flex-direction: row-reverse;
}

.items-start,
.items-left {
  align-items: flex-start;
}

.items-end,
.items-right {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-stretch {
  align-items: stretch;
}

.justify-start,
.justify-left {
  justify-content: flex-start;
}

.justify-end,
.justify-right {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.self-end,
.self-right {
  align-self: flex-end;
}

.self-start,
.self-left {
  align-self: flex-start;
}

.self-center {
  align-self: center;
}

/* TW - Text */
.text-left {
  text-align: left;
}

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

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

.text-balance {
  text-wrap: balance;
}

.responsive-gap {
  gap: max(calc(var(--responsive-gap) * 0.5), 1rem);
}

@media screen and (max-width: 749px) {
  .md\:responsive-gap {
    --responsive-gap-xs: clamp(0.7rem, calc(var(--responsive-gap) * 0.5), 3rem);
    --responsive-padding-xs: clamp(0.2rem, calc(var(--responsive-gap) * 0.2), 1.8rem);
    gap: 0.7rem;
    gap: var(--responsive-gap-xs);
    padding-top: var(--responsive-padding-xs) !important;
    padding-bottom: var(--responsive-padding-xs) !important;
  }
}

@media screen and (min-width: 750px) {
  .responsive-gap, .md\:responsive-gap {
    gap: var(--responsive-gap);
  }

  .responsive-offset-x {
    position: relative;
    left: var(--responsive-offset-x, 0px);
  }

  .responsive-offset-y {
    position: relative;
    top: var(--responsive-offset-y, 0px);
  }

  .md\:bg-fixed {
    background-attachment: fixed !important;
  }

  .md\:flex {
    display: flex;
  }

  .md\:w-full {
    width: 100%;
  }

  .md\:pt-0 {
    padding-top: 0 !important;
  }

  .md\:pb-0 {
    padding-bottom: 0 !important;
  }

  .md\:mt-0 {
    margin-top: 0;
  }

  .md\:mb-0 {
    margin-bottom: 0 !important;
  }

  .md\:pl-0 {
    padding-left: 0;
  }

  .md\:pr-0 {
    padding-right: 0;
  }

  .md\:pb-1 {
    padding-bottom: 1rem !important;
  }

  .md\:pt-1 {
    padding-top: 1rem !important;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .md\:justify-end,
  .md\:justify-right {
    justify-content: flex-end;
  }

  .md\:justify-start,
  .md\:justify-left {
    justify-content: flex-start;
  }

  .md\:justify-center {
    justify-content: center;
  }

  .md\:text-left {
    text-align: left;
  }

  .md\:text-center {
    text-align: center;
  }

  .md\:text-right {
    text-align: right;
  }

  .md\:self-end,
  .md\:self-right {
    align-self: flex-end;
  }

  .md\:self-start,
  .md\:self-left {
    align-self: flex-start;
  }

  .md\:self-center {
    align-self: center;
  }

  .md\:items-start,
  .md\:items-left {
    align-items: flex-start;
  }

  .md\:items-end,
  .md\:items-right {
    align-items: flex-end;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:pl-0 {
    padding-left: 0;
  }

  .md\:pr-0 {
    padding-right: 0;
  }
}

@media screen and (max-width: 989px) {
  .md-down\:border-top {
    border-top: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }

  .md-down\:border-bottom {
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }
}

@media screen and (min-width: 990px) {
  .lg\:pt-s05 {
    padding-top: calc(var(--spacing-section) * 0.5) !important;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:justify-center {
    justify-content: center;
  }

  .lg\:p-0 {
    padding: 0 !important;
  }

  .lg\:flex-row {
    flex-direction: row;
  }
}

.gap-05 {
  gap: 0.5rem;
}

.gap-1 {
  gap: 1rem;
}

.gap-15 {
  gap: 1.5rem;
}

.gap-2 {
  gap: 2rem;
}

.gap-3 {
  gap: 3rem;
}

.gap-x-2 {
  column-gap: 2rem;
}

.gap-y-1,
.row-gap-1 {
  row-gap: 1rem;
}

.img-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.w-full {
  width: 100%;
}

.h-full {
  height: 100%;
}

.h-auto {
  height: auto !important;
}

.max-w-100 {
  max-width: 100%;
}

.min-h-0 {
  min-height: 0;
}

.min-w-0 {
  min-width: 0 !important;
}

@media screen and (max-width: 749px) {
  .xs\:h-auto {
    height: auto;
  }

  .xs\:text-center {
    text-align: center;
  }

  .section:has(.xs\:stick-to-header) {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--header-height-live, 0px) - 1px);
    z-index: 3;
  }
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.static {
  position: static !important;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
}

.top-header-and-section {
  top: calc(var(--header-height, 0px) + var(--spacing-section));
}

.top-header {
  top: var(--header-height, 0px);
}

.top-0 {
  top: 0;
}

.top--1 {
  top: -1rem;
}

.left-0 {
  left: 0;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

.box-content {
  box-sizing: content-box;
}

.inset {
  inset: 0;
}

.color-inherit a {
  color: inherit;
}

.color-inherit a:hover {
  color: inherit;
}

.text-current {
  color: currentColor;
}

/* TW - Typography */
.lh-1 {
  line-height: 1em;
}

.lh-13 {
  line-height: 1.3em;
}

.lh-15 {
  line-height: 1.5em;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.font-bold {
  font-weight: bold;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: normal;
}

.t0 { font-size: 1.85rem; --c-font-size: 1.85rem; }
.t1 { font-size: 1.7rem; --c-font-size: 1.7rem; }
.t2 { font-size: 1.6rem; --c-font-size: 1.6rem; }
.t3 { font-size: 1.5rem; --c-font-size: 1.5rem; }
.t4 { font-size: 1.4rem; --c-font-size: 1.4rem; }
.t5 { font-size: 1.3rem; --c-font-size: 1.3rem; }
.t6 { font-size: 1.2rem; --c-font-size: 1.2rem; }
.t7 { font-size: 1.15rem; --c-font-size: 1.15rem; }
.t8 { font-size: 1.1rem; --c-font-size: 1.1rem; }

@media only screen and (min-width: 750px) {
  .t0 { font-size: 2rem; --c-font-size: 2rem; }
  .t1 { font-size: 1.825rem; --c-font-size: 1.825rem; }
  .t2 { font-size: 1.65rem; --c-font-size: 1.65rem; }
  .t3 { font-size: 1.55rem; --c-font-size: 1.55rem; }
  .t4 { font-size: 1.45rem; --c-font-size: 1.45rem; }
  .t5 { font-size: 1.35rem; --c-font-size: 1.35rem; }
  .t6 { font-size: 1.25rem; --c-font-size: 1.25rem; }
}

@media only screen and (min-width: 1100px) {
  .t0 { font-size: 2.2rem; --c-font-size: 2.2rem; }
  .t1 { font-size: 1.9rem; --c-font-size: 1.9rem; }
  .t2 { font-size: 1.7rem; --c-font-size: 1.7rem; }
  .t3 { font-size: 1.6rem; --c-font-size: 1.6rem; }
  .t4 { font-size: 1.5rem; --c-font-size: 1.5rem; }
  .t5 { font-size: 1.4rem; --c-font-size: 1.4rem; }
  .t6 { font-size: 1.3rem; --c-font-size: 1.3rem; }
}

.t-scale-075 {
  font-size: max(calc(var(--c-font-size) * 0.75), 1.2rem);
}

.z--1 {
  z-index: -1;
}

.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.decoration-none {
  text-decoration: none;
}

.transform-none {
  transform: none;
}

.mix-blend-multiply,
.mix-blend-multiply img {
  mix-blend-mode: multiply;
}

/* SHADOWS */
.card--shadow {
  box-shadow: 0 0 1px 1px rgba(0, 15, 30, 0.01), 0 6px 8px 0 rgba(0, 15, 30, 0.03), 0 2px 4px 0 rgba(0, 15, 30, 0.01);
}

.shadow-standard {
  box-shadow: 0 0 6px 1px rgba(var(--color-foreground), 0.1);
}

@media screen and (min-width: 990px) {
  .card--shadow {
    box-shadow: 0 0 1px 1px rgba(0, 15, 30, 0.01), 0 2px 7px 0 rgba(0, 15, 30, 0.03), 0 1px 3px 0 rgba(0, 15, 30, 0.01);
  }
}


/* RESPONSIVE UTILITY BITS */
.responsive-margin-bottom {
  margin-bottom: max(calc(var(--responsive-margin-bottom) * 0.6), 1rem);
}

.responsive-padding-y {
  padding-top: calc(var(--responsive-padding-y) * 0.75) !important;
  padding-bottom: calc(var(--responsive-padding-y) * 0.75) !important;
}

.responsive-padding-x {
  padding-left: max(calc(var(--responsive-padding-x) * 0.5), 3.5rem);
  padding-right: max(calc(var(--responsive-padding-x) * 0.5), 3.5rem);
}

@media screen and (min-width: 750px) {
  .md\:card--shadow {
    box-shadow: 0 0 1px 1px rgba(0, 15, 30, 0.01), 0 2px 7px 0 rgba(0, 15, 30, 0.03), 0 1px 3px 0 rgba(0, 15, 30, 0.01);
  }

  .md\:sticky {
    position: -webkit-sticky;
    position: sticky;
  }

  .md\:absolute {
    position: absolute;
  }

  .md\:h-full {
    height: 100%;
  }

  .md\:responsive-padding-y {
    padding-top: calc(var(--responsive-padding-y) * 0.75);
    padding-bottom: calc(var(--responsive-padding-y) * 0.75);
  }

  .responsive-padding-x {
    padding-left: max(calc(var(--responsive-padding-x) * 0.75), 3.5rem);
    padding-right: max(calc(var(--responsive-padding-x) * 0.75), 3.5rem);
  }

  .responsive-margin-bottom {
    margin-bottom: max(calc(var(--responsive-margin-bottom) * 0.8), 4rem);
  }

  .max-w-xxs {
    max-width: 30rem;
  }

  .max-w-xs {
    max-width: 42rem;
  }

  .max-w-s {
    max-width: 54rem;
  }

  .max-w-m {
    max-width: 66rem;
  }

  .max-w-l {
    max-width: 84rem;
  }

  .max-w-xl {
    max-width: 100%;
  }

  .md\:h-auto {
    height: auto;
  }

  .section:has(.md\:stick-to-header) {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--header-height-live, 0px) - 1px);
    z-index: 3;
  }

  .md\:gap-2 {
    gap: 2rem;
  }

  .md\:gap-3 {
    gap: 3rem;
  }

  .md\:justify-center {
    justify-content: center;
  }
}

@media screen and (min-width: 990px) {
  .responsive-padding-y {
    padding-top: var(--responsive-padding-y);
    padding-bottom: var(--responsive-padding-y);
  }

  .responsive-padding-x {
    padding-left: var(--responsive-padding-x);
    padding-right: var(--responsive-padding-x);
  }

  .responsive-margin-bottom {
    margin-bottom: var(--responsive-margin-bottom);
  }
}

/* VIDEO */
.video-section__media {
  --ratio-percent: 56.25%;
  position: relative;
  padding-bottom: calc(var(--ratio-percent) - var(--media-border-width));
  transform: none !important;
}

.js .video-banner-section [data-content-timer] .section-content {
  transition: opacity var(--duration-xx-long), visibility var(--duration-xx-long);
  opacity: 0;
  visibility: hidden;
}

/* IMAGE BANNERS */
.banner {
  display: flex;
  position: relative;
  flex-direction: column;
}

/* Needed for gradient continuity with or without animation, the transform scopes the gradient to its container which happens already when animation are turned on */
.banner__box.gradient {
  transform: perspective(0);
}

@media screen and (min-width: 750px) {
  .banner {
    flex-direction: row;
  }
}

@media screen and (max-width: 749px) {
  .banner:not(.banner--stacked) {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .banner--stacked {
    height: auto;
  }

  .banner--stacked .banner__media {
    flex-direction: column;
  }

  .is-standard-color-scheme .banner--stacked .banner__media,
  .is-standard-color-scheme .banner--one-image .banner__media {
    border-radius: calc(var(--media-radius) - var(--media-border-width));
  }

  .is-standard-color-scheme .banner--stacked .banner__media-right-half  {
    margin-top: 3rem;
  }

  .is-standard-color-scheme .banner--two-images:not(.banner--stacked) .banner__media-left-half {
    border-top-left-radius: calc(var(--media-radius) - var(--media-border-width));
    border-bottom-left-radius: calc(var(--media-radius) - var(--media-border-width));
  }

  .is-standard-color-scheme .banner--two-images:not(.banner--stacked) .banner__media-right-half {
    border-top-right-radius: calc(var(--media-radius) - var(--media-border-width));
    border-bottom-right-radius: calc(var(--media-radius) - var(--media-border-width));
  }
}

.banner__media {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.banner__media-half {
  width: 50%;
}

.banner__media-half + .banner__media-half {
  right: 0;
  left: auto;
  z-index: 0;
}

.banner__media-half.animate--fixed:first-child > img {
  width: 50%;
}

.banner__media-half.animate--fixed:nth-child(2) > img {
  left: 50%;
  width: 50%;
}

@media screen and (max-width: 749px) {
  .banner--stacked .animate--fixed:first-child > img {
    width: 100%;
  }

  .banner--stacked .banner__media-half.animate--fixed:nth-child(2) > img {
    left: 0;
    width: 100%;
  }

  .banner--stacked .banner__media-half {
    width: 100%;
  }

  .banner--stacked .banner__media-half + .banner__media-half {
    order: 1;
  }
}

@media screen and (min-width: 750px) {
  .banner__media {
    height: 100%;
  }
}

.banner--adapt,
.banner--adapt_image.banner--mobile-bottom .banner__media:not(.placeholder) {
  height: auto;
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom .banner__box {
    border: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    width: 100%;
    box-shadow: none;
  }

  .banner--mobile-bottom .banner__media,
  .banner--stacked:not(.banner--mobile-bottom) .banner__media {
    position: relative;
  }

  .banner--stacked.banner--adapt .banner__content {
    height: auto;
  }

  .banner:not(.banner--mobile-bottom) .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    position: absolute;
    height: 100%;
  }

  .banner--stacked.banner--adapt:not(.banner--mobile-bottom) .banner__content {
    max-height: 100%;
    overflow: hidden;
    position: absolute;
  }

  .banner--stacked:not(.banner--adapt) .banner__media {
    position: relative;
  }

  .banner--stacked .banner__media-image-half {
    width: 100%;
  }
}

.banner__content {
  padding: 0;
  display: flex;
  position: relative;
  width: 100%;
  z-index: 2;
}

@media screen and (min-width: 750px) {
  .banner__content {
    padding: 5rem;
  }
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom:not(.banner--stacked) .banner__content {
    order: 2;
  }

  .banner:not(.banner--mobile-bottom) .field__input,
  .banner--mobile-bottom:not(.banner--stacked) .banner__box.color-schemes--matching {
    background: transparent;
  }
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom::after,
  .banner--mobile-bottom .banner__media::after {
    display: none;
  }

  .section-image-hotspots .banner--mobile-bottom .banner__media::after {
    display: block;
  }

  .mobile-text-below.page-width .banner__box.color-schemes--matching {
    padding: 3rem 0 0 0;
  }

  .mobile-text-below:not(.page-width) .banner__box.color-schemes--matching {
    padding: 3rem var(--px-mobile) var(--spacing-section);
  }
}

@media screen and (max-width: 749px) {
  .banner--stacked .banner__box {
    width: 100%;
  }

  .banner:not(.slideshow) .rte a,
  .banner:not(.slideshow) .inline-richtext a:hover,
  .banner:not(.slideshow) .rte a:hover {
    color: currentColor;
  }
}

@media screen and (min-width: 750px) {
  .banner__box {
    width: auto;
  }

  .banner--desktop-transparent .field,
  .banner--desktop-transparent discount-code {
    --inputs-border-opacity: 1;
  }

  .banner--desktop-transparent .field__input,
  .banner--desktop-transparent .select__select,
  .banner--desktop-transparent .share-button__discount::before {
    background-color: transparent;
  }

  .banner--desktop-transparent .section-content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .banner--desktop-transparent .banner__box {
    background: transparent;
    /*max-width: 89rem;*/
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner--desktop-transparent .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--desktop-transparent .content-container:after {
    display: none;
  }

  .banner--desktop-transparent .rte a,
  .banner--desktop-transparent .inline-richtext a:hover,
  .banner--desktop-transparent .rte a:hover {
    color: currentColor;
  }
}

@media screen and (max-width: 749px) {
  .banner--mobile-transparent .field {
    --inputs-border-opacity: 1;
  }

  .banner--mobile-transparent .field__input,
  .banner--mobile-transparent .select__select,
  .banner--mobile-transparent .share-button__discount::before {
    background-color: transparent;
  }

  .banner--mobile-transparent .section-content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .banner--mobile-transparent .banner__box {
    background: transparent;
    /*max-width: 89rem;*/
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner--mobile-transparent .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--mobile-transparent .content-container:after {
    display: none;
  }

  .banner--mobile-transparent .rte a,
  .banner--mobile-transparent .inline-richtext a:hover,
  .banner--mobile-transparent .rte a:hover {
    color: currentColor;
  }
}

/* FORMS */
.form__field-wrapper {
  position: relative;
  width: 100%;
}

.form__field-wrapper .form-icon {
  width: 4.5rem;
  color: rgba(var(--color-foreground), 0.8);
  position: absolute;
  z-index: 1;
  left: -6px;
}

.form__field-wrapper label {
  margin-left: 3rem;
  max-width: calc(100% - 7rem);
}

.form__field-wrapper .field__input {
  padding-right: 5rem;
  padding-left: 5rem;
}

.form__field-wrapper .field {
  z-index: 0;
}

/* ICON CONTAINERS */
.icon-container--circle,
.icon-container--square,
.icon-container--rounded {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--icon-size);
  height: calc(var(--icon-size) + 0.5em);
  width: calc(var(--icon-size) + 0.5em);
}

.icon-container svg {
  height: calc(var(--icon-size) * 0.8);
  width: calc(var(--icon-size) * 0.8);
  fill: rgb(var(--color-icon, var(--color-foreground)));
  overflow: visible;
}

.icon-container--circle,
.icon-container--square,
.icon-container--rounded {
  background-color: rgb(var(--icon-background-color));
  background-image: var(--icon-gradient-background, none);
}

.icon-container--circle {
  border-radius: 50%;
}

.icon-container--rounded {
  border-radius: 0.2em;
}

@media screen and (min-width: 750px) {
  .icon-container svg {
    height: var(--icon-size);
    width: var(--icon-size);
  }

  .icon-container--square,
  .icon-container--rounded,
  .icon-container--circle {
    height: calc(var(--icon-size) + 0.8em);
    width: calc(var(--icon-size) + 0.8em);
  }
}

.mb--icon-container.icon--has-container {
  margin-bottom: 2rem;
}

.mb--icon-container.icon-container--none {
  margin-bottom: 1.5rem;
}

.icon-container--none {
  font-size: 0;
}

/* ICONS */
.custom-icon {
  stroke: rgb(var(--color-icon, var(--color-foreground)));
}

.standard-icon,
.custom-icon {
  fill: rgb(var(--color-icon, var(--color-foreground)));
}

.stroke-width-standard {
  stroke-width: 24px;
}

.stroke-width-32 {
  stroke-width: 32px;
}

.button.font-bold .stroke-width-standard {
  stroke-width: 32px;
}

.button.font-bold .stroke-width-32 {
  stroke-width: 40px;
}

.fill-none {
  fill: none;
}

/* Keep this circle consistent sizing with other cirlce icons*/
.icon--silhouette_circle {
  transform: scale(0.9);
}

.icon--large {
  width: 2.5rem;
  height: auto;
}

.icon--has-container .icon--shield, .icon--has-container .icon--shield_checkmark {
  margin-top: 0.3rem;
}

.icon--has-container .icon--heart, .icon--has-container .icon--washing, .icon--has-container .icon--fitness, .icon--has-container .icon--book, .icon--has-container .icon--male_female, .icon--has-container .icon--trophy {
  margin-top: 0.4rem;
}

.icon--has-container .icon--information, .icon--has-container .icon--warning, .icon--has-container .icon--home, .icon--has-container .icon--gift, .icon--has-container .icon--return, .icon--has-container .icon--apple, .icon--has-container .icon--banana, .icon--has-container .icon--fast_food, .icon--has-container .icon--bicycle, .icon--has-container .icon--stopwatch, .icon--has-container .icon--speedometer, .icon--has-container .icon--lock_closed, .icon--has-container .icon--lock_open {
  margin-top: -0.4rem;
}

.icon--has-container .icon--airplane,
.icon--has-container .icon--chevron_right {
  margin-inline-start: 0.6rem;
}

.icon--has-container .icon--lightning_bolt {
  margin-inline-start: -0.2rem;
}

/* CLOSABLE ELEMENTS */
closable-element {
  transition: max-height 0.4s var(--cubic-bezier-ease-out-slow);
}

.closable-element--no-trans closable-element {
  transition: none;
}

closable-element[aria-hidden='true'] {
  max-height: 0 !important;
  overflow: hidden;
}

.closable-element__close {
  top: 0;
  right: 1rem;
  min-width: 3rem;
  bottom: 0;
  max-height: 5rem;
}

.short-section .closable-element__close {
  min-height: 0;
  max-height: none;
}


/* PRODUCTS */
.product-media-modal {
  background-color: rgb(var(--color-background));
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
}

a.product__title {
  --color-link: var(--color-foreground);
}

.let-it-snow-let-it-snow-let-it-snow::before {
  content: ' ';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.25;
  background-image: var(--easter-egg-let-it-snow);
  background-repeat: repeat;
  background-position: 50% 21%;
  z-index: 1;
  pointer-events: none;
}

footer.let-it-snow-let-it-snow-let-it-snow::before {
  opacity: 0;
}


/* BREADCRUMBS */
.breadcrumbs {
  --breadcrumb-gap: 0.4em;
  color: rgba(var(--color-foreground), 0.8);
}

.breadcrumbs ol {
  margin: var(--breadcrumb-padding) 0;
}

.breadcrumb__link--icon {
  gap: var(--breadcrumb-gap);
}

.breadcrumb__link--icon svg {
  height: 1em;
  width: 1em;
  fill: rgba(var(--color-foreground), 0.7);
  stroke: none;
}

.breadcrumbs.uppercase .breadcrumb__link--icon svg {
  margin-top: -0.15em
}

.breadcrumb__separator {
  margin: 0 var(--breadcrumb-gap);
}

.breadcrumbs [aria-current] {
  color: rgba(var(--color-foreground), 1);
}

.breadcrumb__link:not([aria-current]):hover {
  text-decoration: underline;
  text-underline-offset: 0.3em;
  text-decoration-thickness: 0.1em;
  text-decoration-color: rgba(var(--color-foreground), 0.6);
}

/* CUSTOM SELECT */
select.nice__select {
  /* Ensures HTML5 validation will show */
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
}

.nice-select {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  position: relative;
  user-select: none;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  line-height: 1.25em;
}

.nice-select-search-box {
  margin: 1rem 1rem 0.25rem 1rem;
  width: calc(100% - 2rem) !important;
}

.nice-select-search-box .field__input {
  font-size: 1.4rem;
  height: 4rem;
  padding: .5em 1em !important;
  min-height: 4rem;
}

.nice-select-search-box .field__input::placeholder {
  color: rgba(var(--color-foreground), 0.5);
}

.tab-active .nice-select:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 1);
  outline-offset: 0.3rem;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 1);
}

.nice-select.open .nice-select-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nice-select .current {
  overflow: hidden;
  max-height: 2.1em;
}

.nice-select.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.nice-select .nice-select-dropdown {
  margin-top: 4px;
  visibility: hidden;
  position: absolute;
  top: calc(100% + var(--inputs-border-width));
  left: 0;
  transform-origin: 50% 0;
  transform: translateY(-1.5rem);
  transition: transform var(--duration-default) ease, var(--duration-default) ease, var(--duration-default) ease;
  z-index: 9;
  opacity: 0;
  overflow: auto;
  max-height: 350px;
  background-color: rgb(var(--color-background));
  border-radius: var(--popup-corner-radius);
  border: var(--inputs-border-width) solid rgba(var(--color-foreground),var(--inputs-border-opacity));
  min-width: 100%;
  /*box-shadow: var(--popup-shadow-horizontal-offset) 6px var(--popup-shadow-blur-radius) rgba(var(--color-shadow),var(--popup-shadow-opacity));*/
}

.nice-select .nice-select-dropdown {
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--color-foreground), 0.4) rgba(var(--color-foreground), 0.06);
}

.nice-select .nice-list {
  border-radius: var(--popup-corner-radius);
  padding: 0.5rem 0;
  margin: 0;
  overflow-y: auto;
  letter-spacing: normal;
}

.nice-select .nice-list:hover .option:not(:hover) {
  background-color: rgba(0, 0, 0, 0) !important
}

.nice-select .option {
  cursor: pointer;
  list-style: none;
  line-height: 1.5em;
  outline: none;
  padding: 0.5em 1.5em;
  min-width: 18rem;
}

.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
  background-color: rgba(0, 0, 0, 0.05);
}

.nice-select .option.selected {
  font-weight: bold;
}

.nice-select .option.disabled {
  opacity: 0.6;
  cursor: default
}

.nice-select .optgroup {
  font-weight: bold
}

.no-csspointerevents .nice-select .nice-select-dropdown {
  display: none;
}

.no-csspointerevents .nice-select.open .nice-select-dropdown {
  display: block;
}
@font-face {
  font-family: 'Fredoka Medium';
  src: url('{{ "Fredoka-Medium.ttf" | asset_url }}') format('truetype');
  font-weight: normal;
  font-style: normal;
}
}
h1, h2, h3 {
  font-family: 'Fredoka Medium', sans-serif;
}
{
  font-family: 'Fredoka Medium', sans-serif !important;
}