/** Shopify CDN: Minification failed

Line 1429:0 All "@import" rules must come first
Line 1431:0 All "@import" rules must come first
Line 2287:5 Unexpected "{"
Line 2301:5 Unexpected "{"
Line 8067:1 Unexpected "{"
Line 8083:1 Unexpected "{"
Line 8103:1 Unexpected "{"
Line 10271:1 Unexpected "{"
Line 12272:5 Unexpected "{"
Line 12286:5 Unexpected "{"
... and 2 more hidden warnings

**/
/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 0.3125rem #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 0.625rem; }

.flickity-prev-next-button.next { right: 0.625rem; }

/* right to left */

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 0.625rem;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 0.625rem;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -1.5625rem;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  margin: 0 0.5rem;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/**
 * Swiper 11.0.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 27, 2024
 */

/* FONT_START */

@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}

/* FONT_END */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 75rem;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 75rem;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 0.0625rem;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 0.0625rem;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */

/* 3D Shadows */

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 2.625rem;
  height: 2.625rem;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -1.3125rem;
  margin-top: -1.3125rem;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 0.25rem solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Slide styles end */

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 0.0625rem;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 0.0625rem;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 2.75rem;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0 - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}

/* Navigation font end */

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 0.5rem;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform,
        200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform,
        200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform,
    200ms right;
}

/* Fraction */

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Zoom container styles end */

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(3.125rem);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

/* Cube slide shadows start */

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Cube slide shadows end */

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* Flip slide shadows start */

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Flip slide shadows end */

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
*/

html {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 0.0625rem; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -0.125rem; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden] {
  display: none;
}

@import url("https://p.typekit.net/p.css?s=1&k=pkz6txg&ht=tk&f=24537.24538.24545.24546.24547.24548&a=1307898&app=typekit&e=css");

@import url("https://p.typekit.net/p.css?s=1&k=cpe1lgi&ht=tk&f=44038.44039.44044.44045.44054.44055.44060.44061.44070.44071.44076.44077.44086.44087.44092.44093.44102.44103.44108.44109.44118.44119.44124.44125&a=95484138&app=typekit&e=css");

@font-face {
      font-family:"sofia-pro";
      src:url("https://use.typekit.net/af/5236f2/00000000000000007735a148/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("woff2"),url("https://use.typekit.net/af/5236f2/00000000000000007735a148/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("woff"),url("https://use.typekit.net/af/5236f2/00000000000000007735a148/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:900;font-stretch:normal;
  }

@font-face {
      font-family:"sofia-pro";
      src:url("https://use.typekit.net/af/7b947d/00000000000000007735a14b/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i9&v=3") format("woff2"),url("https://use.typekit.net/af/7b947d/00000000000000007735a14b/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i9&v=3") format("woff"),url("https://use.typekit.net/af/7b947d/00000000000000007735a14b/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i9&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:900;font-stretch:normal;
  }

@font-face {
      font-family:"sofia-pro";
      src:url("https://use.typekit.net/af/4abf65/00000000000000007735a15d/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff2"),url("https://use.typekit.net/af/4abf65/00000000000000007735a15d/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff"),url("https://use.typekit.net/af/4abf65/00000000000000007735a15d/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:500;font-stretch:normal;
  }

@font-face {
      font-family:"sofia-pro";
      src:url("https://use.typekit.net/af/af2180/00000000000000007735a160/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff2"),url("https://use.typekit.net/af/af2180/00000000000000007735a160/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff"),url("https://use.typekit.net/af/af2180/00000000000000007735a160/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:500;font-stretch:normal;
  }

@font-face {
      font-family:"sofia-pro";
      src:url("https://use.typekit.net/af/5e6988/00000000000000007735a163/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/5e6988/00000000000000007735a163/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/5e6988/00000000000000007735a163/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"sofia-pro";
      src:url("https://use.typekit.net/af/37de2f/00000000000000007735a165/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/37de2f/00000000000000007735a165/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/37de2f/00000000000000007735a165/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously";
      src:url("https://use.typekit.net/af/05ead4/00000000000000007735c9e3/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/05ead4/00000000000000007735c9e3/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/05ead4/00000000000000007735c9e3/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously";
      src:url("https://use.typekit.net/af/d0aad9/00000000000000007735c9da/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/d0aad9/00000000000000007735c9da/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/d0aad9/00000000000000007735c9da/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously";
      src:url("https://use.typekit.net/af/6252d0/00000000000000007735ca07/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/6252d0/00000000000000007735ca07/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/6252d0/00000000000000007735ca07/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously";
      src:url("https://use.typekit.net/af/f7dfaf/00000000000000007735ca02/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/f7dfaf/00000000000000007735ca02/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/f7dfaf/00000000000000007735ca02/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-narrow";
      src:url("https://use.typekit.net/af/42ab89/00000000000000007735c9d9/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/42ab89/00000000000000007735c9d9/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/42ab89/00000000000000007735c9d9/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-narrow";
      src:url("https://use.typekit.net/af/569c80/00000000000000007735c9e1/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/569c80/00000000000000007735c9e1/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/569c80/00000000000000007735c9e1/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-narrow";
      src:url("https://use.typekit.net/af/7c5a97/00000000000000007735ca0a/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/7c5a97/00000000000000007735ca0a/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/7c5a97/00000000000000007735ca0a/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-narrow";
      src:url("https://use.typekit.net/af/7355e9/00000000000000007735ca03/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/7355e9/00000000000000007735ca03/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/7355e9/00000000000000007735ca03/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-condensed";
      src:url("https://use.typekit.net/af/7ade71/00000000000000007735c9c2/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/7ade71/00000000000000007735c9c2/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/7ade71/00000000000000007735c9c2/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-condensed";
      src:url("https://use.typekit.net/af/36bf92/00000000000000007735c9d6/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/36bf92/00000000000000007735c9d6/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/36bf92/00000000000000007735c9d6/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-condensed";
      src:url("https://use.typekit.net/af/d99974/00000000000000007735c9e5/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/d99974/00000000000000007735c9e5/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/d99974/00000000000000007735c9e5/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-condensed";
      src:url("https://use.typekit.net/af/6efb72/00000000000000007735c9ed/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/6efb72/00000000000000007735c9ed/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/6efb72/00000000000000007735c9ed/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-compressed";
      src:url("https://use.typekit.net/af/550e7d/00000000000000007735c9e6/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/550e7d/00000000000000007735c9e6/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/550e7d/00000000000000007735c9e6/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-compressed";
      src:url("https://use.typekit.net/af/57414f/00000000000000007735c9d3/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/57414f/00000000000000007735c9d3/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/57414f/00000000000000007735c9d3/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-compressed";
      src:url("https://use.typekit.net/af/1ce3d6/00000000000000007735ca06/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/1ce3d6/00000000000000007735ca06/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/1ce3d6/00000000000000007735ca06/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-compressed";
      src:url("https://use.typekit.net/af/41af37/00000000000000007735ca00/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/41af37/00000000000000007735ca00/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/41af37/00000000000000007735ca00/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-wide";
      src:url("https://use.typekit.net/af/afa6b3/00000000000000007735c9e2/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/afa6b3/00000000000000007735c9e2/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/afa6b3/00000000000000007735c9e2/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-wide";
      src:url("https://use.typekit.net/af/81c741/00000000000000007735c9dc/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/81c741/00000000000000007735c9dc/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/81c741/00000000000000007735c9dc/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-wide";
      src:url("https://use.typekit.net/af/7f75ee/00000000000000007735ca09/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/7f75ee/00000000000000007735ca09/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/7f75ee/00000000000000007735ca09/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-wide";
      src:url("https://use.typekit.net/af/797ea3/00000000000000007735ca04/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/797ea3/00000000000000007735ca04/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/797ea3/00000000000000007735ca04/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-extended";
      src:url("https://use.typekit.net/af/6f4c59/00000000000000007735c9ca/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/6f4c59/00000000000000007735c9ca/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/6f4c59/00000000000000007735c9ca/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-extended";
      src:url("https://use.typekit.net/af/297c36/00000000000000007735c9c6/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/297c36/00000000000000007735c9c6/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/297c36/00000000000000007735c9c6/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-extended";
      src:url("https://use.typekit.net/af/6499cd/00000000000000007735c9f5/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/6499cd/00000000000000007735c9f5/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/6499cd/00000000000000007735c9f5/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
      font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
  }

@font-face {
      font-family:"obviously-extended";
      src:url("https://use.typekit.net/af/94d61f/00000000000000007735c9ef/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/94d61f/00000000000000007735c9ef/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/94d61f/00000000000000007735c9ef/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
      font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
  }

.tk-sofia-pro { font-family: "sofia-pro",sans-serif; }

@layer font-family {
    font-family: sofia-pro, sans-serif;
    font-weight: 900;
    font-style: normal;
  }

/* needed for min-height of maincontent to be responsive. add media queries as needed. */

:root {
    --header-height: 0.0625rem;
  }

@media screen and (min-width: 48rem) {
    :root {
      --footer-height: 34.9375rem;
    }
  }

@media screen and (min-width: 71.25rem) {
    :root {
      --footer-height: 33.6875rem;
    }
  }

@media screen and (min-width: 80rem) {
    :root {
      --footer-height: 27.125rem;
    }
  }

*:focus {
  outline: 0.125rem solid transparent;
  outline-offset: 0.125rem;
}

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

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

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

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

.is-transitioning {
  visibility: visible !important;
  display: block !important;
}

.product__reviews .yotpo .main-widget form .write-form.is-transitioning {
  margin-top: 2.25rem !important;
}

.visually-hidden:not(:focus):not(:active) {
  position: absolute !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
    clip: rect(0 0 0 0);
    height: 0.0625rem;
    width: 0.0625rem;
}

/* Disallows scrolling for when drawers + modals are open */

body.js-focusable-widget-open {
  width: 100%;
  overflow: hidden;
}

/* Adjust Help widget z-index */

body.js-focusable-widget-open #launcher {
  z-index: 1 !important;
}

.icon {
  display: inline-block;
  width: 100%;
}

.icon:not(.icon--full-color) {
  fill: currentColor;
}

address {
  font-style: normal;
}

html {
    scroll-padding-top: 6.875rem;
  }

body {
  overflow-x: hidden;
  font-family: Montserrat, Helvetica, sans-serif;
  font-size: 0.875rem;
}

/* Rebuy injects a site-wide `* { font-family: … }`. A universal
     selector matches every element DIRECTLY, which beats our inherited body
     font — inheritance only applies where nothing matches. `html *` (0,0,1)
     outranks `*` (0,0,0) and re-asserts Montserrat everywhere.
     !important is here to survive Rebuy shipping `*` as important too; drop it
     if you confirm their rule is unimportant, since it also outranks any
     deliberate per-element font override in our own CSS. */

html * {
    font-family: Montserrat, Helvetica, sans-serif;
  }

h1 {
  font-size: 2.625rem;
  font-weight: 900;
}

h2 {
  font-size: 1.25rem;
  font-weight: 900;
}

h3 {
  font-size: 1.125rem;
  font-weight: 500;
}

h4 {
  font-size: 1rem;
  font-weight: 400;
}

a {
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
  text-decoration-line: none;
}

a:focus {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

@media screen and (min-width: 64.0625rem) {
    a:hover {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }
  }

.\!btn {
  max-height: 2.75rem;
  max-width: 11.25rem;
  cursor: pointer;
  border-width: 0.0625rem;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(28 28 28 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  padding: 0.75rem;
  font-size: 1rem;
  text-transform: lowercase;
  line-height: 1.125rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.\!btn:disabled {
  cursor: not-allowed;
}

.btn {
  max-height: 2.75rem;
  max-width: 11.25rem;
  cursor: pointer;
  border-width: 0.0625rem;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(28 28 28 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  padding: 0.75rem;
  font-size: 1rem;
  text-transform: lowercase;
  line-height: 1.125rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn:disabled {
  cursor: not-allowed;
}

.\!btn {
    font-weight: 800 !important;
  }

.btn {
    font-weight: 800;
  }

.btn--green {
  --tw-border-opacity: 1;
  border-color: rgb(35 138 68 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
}

.btn--atc {
  --tw-border-opacity: 1;
  border-color: rgb(35 138 68 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
}

.btn--atc:hover {
  --tw-border-opacity: 1;
  border-color: rgb(35 138 68 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
}

.btn--gray {
  --tw-border-opacity: 1;
  border-color: rgb(216 216 216 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.btn--gray-medium {
  --tw-border-opacity: 1;
  border-color: rgb(176 172 176 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(176 172 176 / var(--tw-bg-opacity));
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn--blue {
  border-radius: 1.5rem;
  --tw-border-opacity: 1;
  border-color: rgb(38 112 235 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(38 112 235 / var(--tw-bg-opacity));
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn--white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.btn--yellow {
  --tw-border-opacity: 1;
  border-color: rgb(255 208 20 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 208 20 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.btn--white-yellow {
  --tw-border-opacity: 1;
  border-color: rgb(255 208 20 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.\!btn:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.btn:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.btn--green:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.btn--gray:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(216 216 216 / var(--tw-text-opacity));
}

.btn--gray-medium:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(176 172 176 / var(--tw-text-opacity));
}

.btn--blue:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(38 112 235 / var(--tw-text-opacity));
}

.btn--white:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn--yellow:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 208 20 / var(--tw-text-opacity));
}

.btn--white-yellow:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 208 20 / var(--tw-bg-opacity));
}

.\!btn:focus:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.btn:focus:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.btn--green:focus:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.btn--gray:focus:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(216 216 216 / var(--tw-text-opacity));
}

.btn--gray-medium:focus:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(176 172 176 / var(--tw-text-opacity));
}

.btn--blue:focus:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(38 112 235 / var(--tw-text-opacity));
}

.btn--white:focus:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn--yellow:focus:not(:focus-visible) {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 208 20 / var(--tw-text-opacity));
}

.btn--white-yellow:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.group:focus .group-focus\:btn {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.group:focus .group-focus\:btn--green {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(35 138 68 / var(--tw-text-opacity)) !important;
}

.group:focus .group-focus\:btn--gray {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(216 216 216 / var(--tw-text-opacity)) !important;
}

.group:focus .group-focus\:btn--gray-medium {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
}

.group:focus .group-focus\:btn--blue {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(38 112 235 / var(--tw-text-opacity)) !important;
}

.group:focus .group-focus\:btn--white {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

.group:focus .group-focus\:btn--yellow {
  --tw-border-opacity: 1 !important;
  border-color: rgb(0 0 0 / var(--tw-border-opacity)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
}

.group:focus .group-focus\:btn--white-yellow {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 208 20 / var(--tw-bg-opacity)) !important;
}

.btn--account {
  width: 100%;
  max-width: none;
}

.btn--filter {
  position: relative;
  border-radius: 6.25rem;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-family: Montserrat, Helvetica, sans-serif;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 0.75rem;
}

.btn--filter::before {
    content: "";
    padding: 0.0625rem;
    position: absolute;
    inset: 0;
    border-radius: 6.25rem;
    background: linear-gradient(346.69deg, #000000 8.93%, #ffffff 97.4%);
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
            mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
  }

.btn--filter.active::before {
  display: none;
}

.mobile-nav__footer-links.btn--filter.active::before {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.btn--filter.active::before {
  display: none;
}

.btn--filter.active,
  .btn--filter:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn--filter.active .close-icon {
  display: block;
}

@media screen and (min-width: 64.0625rem) {
    .btn--filter:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }

    .btn:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(28 28 28 / var(--tw-text-opacity));
  }

    .btn--atc {
    --tw-border-opacity: 1;
    border-color: rgb(35 138 68 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(35 138 68 / var(--tw-bg-opacity));
  }

    .btn--atc:hover {
    --tw-border-opacity: 1;
    border-color: rgb(35 138 68 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(35 138 68 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 208 20 / var(--tw-text-opacity));
  }

    .btn--green:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }

    .btn--gray:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(216 216 216 / var(--tw-text-opacity));
  }

    .btn--gray-medium:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(176 172 176 / var(--tw-text-opacity));
  }

    .btn--blue:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(38 112 235 / var(--tw-text-opacity));
  }

    .btn--white:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }

    .btn--yellow:hover {
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 208 20 / var(--tw-text-opacity));
  }

    .btn--white-yellow:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 208 20 / var(--tw-bg-opacity));
  }

    .group:hover .desktop\:group-hover\:btn {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
  }

    .group:hover .desktop\:group-hover\:btn--green {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(35 138 68 / var(--tw-text-opacity)) !important;
  }

    .group:hover .desktop\:group-hover\:btn--gray {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(216 216 216 / var(--tw-text-opacity)) !important;
  }

    .group:hover .desktop\:group-hover\:btn--gray-medium {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
  }

    .group:hover .desktop\:group-hover\:btn--blue {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(38 112 235 / var(--tw-text-opacity)) !important;
  }

    .group:hover .desktop\:group-hover\:btn--white {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
  }

    .group:hover .desktop\:group-hover\:btn--yellow {
    --tw-border-opacity: 1 !important;
    border-color: rgb(0 0 0 / var(--tw-border-opacity)) !important;
    --tw-bg-opacity: 1 !important;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
  }

    .group:hover .desktop\:group-hover\:btn--white-yellow {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 208 20 / var(--tw-bg-opacity)) !important;
  }
     {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }

    .\!btn:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(28 28 28 / var(--tw-text-opacity));
  }

     {
    border-color: rgb(35 138 68 / var(--tw-border-opacity));
    background-color: rgb(35 138 68 / var(--tw-bg-opacity));
    color: rgb(255 208 20 / var(--tw-text-opacity));
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: rgb(35 138 68 / var(--tw-text-opacity));
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
    color: rgb(216 216 216 / var(--tw-text-opacity));
    color: rgb(176 172 176 / var(--tw-text-opacity));
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: rgb(38 112 235 / var(--tw-text-opacity));
    color: rgb(255 255 255 / var(--tw-text-opacity));
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
    color: rgb(255 208 20 / var(--tw-text-opacity));
    background-color: rgb(255 208 20 / var(--tw-bg-opacity));
    color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
    color: rgb(35 138 68 / var(--tw-text-opacity)) !important;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
    color: rgb(216 216 216 / var(--tw-text-opacity)) !important;
    color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
    color: rgb(38 112 235 / var(--tw-text-opacity)) !important;
    color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
    --tw-border-opacity: 1 !important;
    border-color: rgb(0 0 0 / var(--tw-border-opacity)) !important;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 208 20 / var(--tw-bg-opacity)) !important;
  }
  }

.form__element {
  width: 100%;
  border-radius: 0;
  border-width: 0.125rem;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(35 138 68 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(240 250 248 / var(--tw-bg-opacity));
  padding: 0.75rem;
  font-size: 1rem;
}

.form__element::-moz-placeholder {
  --tw-bg-opacity: 1;
  background-color: rgb(240 250 248 / var(--tw-bg-opacity));
  font-size: 1rem;
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.form__element::placeholder {
  --tw-bg-opacity: 1;
  background-color: rgb(240 250 248 / var(--tw-bg-opacity));
  font-size: 1rem;
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.form__element:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(220 244 230 / var(--tw-bg-opacity));
}

.form__element:focus::-moz-placeholder {
  --tw-bg-opacity: 1;
  background-color: rgb(220 244 230 / var(--tw-bg-opacity));
}

.form__element:focus::placeholder {
  --tw-bg-opacity: 1;
  background-color: rgb(220 244 230 / var(--tw-bg-opacity));
}

.form__errors{
    
  }

.form__label{
    
  }

.form__element.select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

.form__element.\!select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
  }

@media screen and (min-width: 64.0625rem){
    .form__element:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(220 244 230 / var(--tw-bg-opacity));
  }

    .form__element:hover::-moz-placeholder {
    --tw-bg-opacity: 1;
    background-color: rgb(220 244 230 / var(--tw-bg-opacity));
  }

    .form__element:hover::placeholder {
    --tw-bg-opacity: 1;
    background-color: rgb(220 244 230 / var(--tw-bg-opacity));
  }
  }

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

.sr-only {
  position: absolute;
  width: 0.0625rem;
  height: 0.0625rem;
  padding: 0;
  margin: -0.0625rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

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

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

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.\!relative {
  position: relative !important;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0;
}

.inset-y-0 {
  top: 0;
  bottom: 0;
}

.\!left-1\/2 {
  left: 50% !important;
}

.\!top-0 {
  top: 0 !important;
}

.\!top-\[initial\] {
  top: initial !important;
}

.-left-16 {
  left: -1rem;
}

.-top-24 {
  top: -1.5rem;
}

.bottom-0 {
  bottom: 0;
}

.bottom-10 {
  bottom: 0.625rem;
}

.bottom-16 {
  bottom: 1rem;
}

.bottom-32 {
  bottom: 2rem;
}

.bottom-48 {
  bottom: 3rem;
}

.bottom-\[56px\] {
  bottom: 3.5rem;
}

.left-0 {
  left: 0;
}

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

.left-10 {
  left: 0.625rem;
}

.left-16 {
  left: 1rem;
}

.left-20 {
  left: 1.25rem;
}

.left-4 {
  left: 0.25rem;
}

.left-48 {
  left: 3rem;
}

.left-8 {
  left: 0.5rem;
}

.left-\[-10px\] {
  left: -0.625rem;
}

.left-\[-11\%\] {
  left: -11%;
}

.left-\[6px\] {
  left: 0.375rem;
}

.right-0 {
  right: 0;
}

.right-10 {
  right: 0.625rem;
}

.right-12 {
  right: 0.75rem;
}

.right-16 {
  right: 1rem;
}

.right-20 {
  right: 1.25rem;
}

.right-24 {
  right: 1.5rem;
}

.right-4 {
  right: 0.25rem;
}

.right-8 {
  right: 0.5rem;
}

.right-\[-10px\] {
  right: -0.625rem;
}

.right-\[-11\%\] {
  right: -11%;
}

.right-\[10px\] {
  right: 0.625rem;
}

.right-\[6px\] {
  right: 0.375rem;
}

.top-0 {
  top: 0;
}

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

.top-10 {
  top: 0.625rem;
}

.top-12 {
  top: 0.75rem;
}

.top-16 {
  top: 1rem;
}

.top-24 {
  top: 1.5rem;
}

.top-4 {
  top: 0.25rem;
}

.top-72 {
  top: 4.5rem;
}

.top-8 {
  top: 0.5rem;
}

.top-\[-5px\] {
  top: -0.3125rem;
}

.top-\[107px\] {
  top: 6.6875rem;
}

.top-\[147px\] {
  top: 9.1875rem;
}

.top-\[150px\] {
  top: 9.375rem;
}

.top-\[27\%\] {
  top: 27%;
}

.top-\[9px\] {
  top: 0.5625rem;
}

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

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

.z-\[-1\] {
  z-index: -1;
}

.z-\[10\] {
  z-index: 10;
}

.z-\[12\] {
  z-index: 12;
}

.z-\[1\] {
  z-index: 1;
}

.z-\[2\] {
  z-index: 2;
}

.z-\[3\] {
  z-index: 3;
}

.z-\[5\] {
  z-index: 5;
}

.z-\[999999\] {
  z-index: 999999;
}

.z-\[9999\] {
  z-index: 9999;
}

.order-1 {
  order: 1;
}

.order-3 {
  order: 3;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-none {
  order: 0;
}

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

.col-span-4 {
  grid-column: span 4 / span 4;
}

.col-start-1 {
  grid-column-start: 1;
}

.col-start-2 {
  grid-column-start: 2;
}

.col-start-7 {
  grid-column-start: 7;
}

.col-end-6 {
  grid-column-end: 6;
}

.col-end-\[-1\] {
  grid-column-end: -1;
}

.m-10 {
  margin: 0.625rem;
}

.m-4 {
  margin: 0.25rem;
}

.m-8 {
  margin: 0.5rem;
}

.m-auto {
  margin: auto;
}

.mx-0 {
  margin-left: 0;
  margin-right: 0;
}

.mx-16 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-4 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-6 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}

.mx-8 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-\[-16px\] {
  margin-left: -1rem;
  margin-right: -1rem;
}

.mx-\[3px\] {
  margin-left: 0.1875rem;
  margin-right: 0.1875rem;
}

.mx-\[6px\] {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.my-10 {
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

.my-12 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-16 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-20 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.my-24 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.my-32 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.my-4 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-8 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-\[14px\] {
  margin-top: 0.875rem;
  margin-bottom: 0.875rem;
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.-ml-4 {
  margin-left: -0.25rem;
}

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

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

.mb-0 {
  margin-bottom: 0;
}

.mb-10 {
  margin-bottom: 0.625rem;
}

.mb-12 {
  margin-bottom: 0.75rem;
}

.mb-14 {
  margin-bottom: 0.875rem;
}

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

.mb-16 {
  margin-bottom: 1rem;
}

.mb-18 {
  margin-bottom: 1.125rem;
}

.mb-20 {
  margin-bottom: 1.25rem;
}

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

.mb-28 {
  margin-bottom: 1.75rem;
}

.mb-32 {
  margin-bottom: 2rem;
}

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

.mb-40 {
  margin-bottom: 2.5rem;
}

.mb-6 {
  margin-bottom: 0.375rem;
}

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

.mb-\[28px\] {
  margin-bottom: 1.75rem;
}

.mb-\[45px\] {
  margin-bottom: 2.8125rem;
}

.mb-\[5px\] {
  margin-bottom: 0.3125rem;
}

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

.ml-12 {
  margin-left: 0.75rem;
}

.ml-16 {
  margin-left: 1rem;
}

.ml-20 {
  margin-left: 1.25rem;
}

.ml-5 {
  margin-left: 0.3125rem;
}

.ml-6 {
  margin-left: 0.375rem;
}

.ml-72 {
  margin-left: 4.5rem;
}

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

.ml-\[10px\] {
  margin-left: 0.625rem;
}

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

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

.mr-10 {
  margin-right: 0.625rem;
}

.mr-12 {
  margin-right: 0.75rem;
}

.mr-16 {
  margin-right: 1rem;
}

.mr-24 {
  margin-right: 1.5rem;
}

.mr-32 {
  margin-right: 2rem;
}

.mr-4 {
  margin-right: 0.25rem;
}

.mr-6 {
  margin-right: 0.375rem;
}

.mr-8 {
  margin-right: 0.5rem;
}

.mr-\[10px\] {
  margin-right: 0.625rem;
}

.mr-\[3px\] {
  margin-right: 0.1875rem;
}

.mr-\[6px\] {
  margin-right: 0.375rem;
}

.mr-\[auto\] {
  margin-right: auto;
}

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

.mt-10 {
  margin-top: 0.625rem;
}

.mt-12 {
  margin-top: 0.75rem;
}

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

.mt-18 {
  margin-top: 1.125rem;
}

.mt-20 {
  margin-top: 1.25rem;
}

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

.mt-28 {
  margin-top: 1.75rem;
}

.mt-30 {
  margin-top: 1.875rem;
}

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

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

.mt-40 {
  margin-top: 2.5rem;
}

.mt-72 {
  margin-top: 4.5rem;
}

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

.mt-\[10px\] {
  margin-top: 0.625rem;
}

.mt-\[18px\] {
  margin-top: 1.125rem;
}

.mt-\[1px\] {
  margin-top: 0.0625rem;
}

.mt-\[54px\] {
  margin-top: 3.375rem;
}

.mt-\[5px\] {
  margin-top: 0.3125rem;
}

.mt-\[6px\] {
  margin-top: 0.375rem;
}

.mt-\[7px\] {
  margin-top: 0.4375rem;
}

.mt-\[80px\] {
  margin-top: 5rem;
}

.mt-auto {
  margin-top: auto;
}

.block {
  display: block;
}

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

.inline {
  display: inline;
}

.\!flex {
  display: flex !important;
}

.flex {
  display: flex;
}

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

.table {
  display: table;
}

.\!grid {
  display: grid !important;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.\!hidden {
  display: none !important;
}

.hidden {
  display: none;
}

.aspect-\[var\(--mobile-aspect-ratio\)\] {
  aspect-ratio: var(--mobile-aspect-ratio);
}

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

.h-0 {
  height: 0;
}

.h-12 {
  height: 0.75rem;
}

.h-16 {
  height: 1rem;
}

.h-20 {
  height: 1.25rem;
}

.h-24 {
  height: 1.5rem;
}

.h-32 {
  height: 2rem;
}

.h-36 {
  height: 2.25rem;
}

.h-4 {
  height: 0.25rem;
}

.h-40 {
  height: 2.5rem;
}

.h-44 {
  height: 2.75rem;
}

.h-64 {
  height: 4rem;
}

.h-8 {
  height: 0.5rem;
}

.h-\[100\%\] {
  height: 100%;
}

.h-\[103vw\] {
  height: 103vw;
}

.h-\[128px\] {
  height: 8rem;
}

.h-\[12px\] {
  height: 0.75rem;
}

.h-\[15px\] {
  height: 0.9375rem;
}

.h-\[197px\] {
  height: 12.3125rem;
}

.h-\[203px\] {
  height: 12.6875rem;
}

.h-\[20px\] {
  height: 1.25rem;
}

.h-\[240px\] {
  height: 15rem;
}

.h-\[25px\] {
  height: 1.5625rem;
}

.h-\[28px\] {
  height: 1.75rem;
}

.h-\[32px\] {
  height: 2rem;
}

.h-\[353px\] {
  height: 22.0625rem;
}

.h-\[35px\] {
  height: 2.1875rem;
}

.h-\[373px\] {
  height: 23.3125rem;
}

.h-\[40px\] {
  height: 2.5rem;
}

.h-\[42px\] {
  height: 2.625rem;
}

.h-\[44px\] {
  height: 2.75rem;
}

.h-\[48px\] {
  height: 3rem;
}

.h-\[60px\] {
  height: 3.75rem;
}

.h-\[72px\] {
  height: 4.5rem;
}

.h-\[87px\] {
  height: 5.4375rem;
}

.h-\[calc\(92vw\/1\.37\)\] {
  height: calc(92vw / 1.37);
}

.h-auto {
  height: auto;
}

.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}

.h-full {
  height: 100%;
}

.h-screen {
  height: 100vh;
}

.max-h-28 {
  max-height: 1.75rem;
}

.max-h-\[450px\] {
  max-height: 28.125rem;
}

.max-h-\[58px\] {
  max-height: 3.625rem;
}

.max-h-\[none\] {
  max-height: none;
}

.max-h-fit {
  max-height: -moz-fit-content;
  max-height: fit-content;
}

.max-h-full {
  max-height: 100%;
}

.max-h-min {
  max-height: -moz-min-content;
  max-height: min-content;
}

.max-h-none {
  max-height: none;
}

.max-h-screen {
  max-height: 100vh;
}

.min-h-\[105px\] {
  min-height: 6.5625rem;
}

.min-h-\[19px\] {
  min-height: 1.1875rem;
}

.min-h-\[36px\] {
  min-height: 2.25rem;
}

.min-h-\[43px\] {
  min-height: 2.6875rem;
}

.min-h-\[95px\] {
  min-height: 5.9375rem;
}

.min-h-full {
  min-height: 100%;
}

.min-h-header {
  min-height: calc(100vh - var(--header-height));
}

.\!w-max {
  width: -moz-max-content !important;
  width: max-content !important;
}

.w-0 {
  width: 0;
}

.w-1\/2 {
  width: 50%;
}

.w-1\/3 {
  width: 33.333333%;
}

.w-1\/4 {
  width: 25%;
}

.w-10 {
  width: 0.625rem;
}

.w-12 {
  width: 0.75rem;
}

.w-16 {
  width: 1rem;
}

.w-2\/3 {
  width: 66.666667%;
}

.w-2\/5 {
  width: 40%;
}

.w-20 {
  width: 1.25rem;
}

.w-24 {
  width: 1.5rem;
}

.w-28 {
  width: 1.75rem;
}

.w-3\/5 {
  width: 60%;
}

.w-32 {
  width: 2rem;
}

.w-36 {
  width: 2.25rem;
}

.w-4\/5 {
  width: 80%;
}

.w-40 {
  width: 2.5rem;
}

.w-44 {
  width: 2.75rem;
}

.w-64 {
  width: 4rem;
}

.w-72 {
  width: 4.5rem;
}

.w-8 {
  width: 0.5rem;
}

.w-\[10\%\] {
  width: 10%;
}

.w-\[100\%\] {
  width: 100%;
}

.w-\[114px\] {
  width: 7.125rem;
}

.w-\[120px\] {
  width: 7.5rem;
}

.w-\[125px\] {
  width: 7.8125rem;
}

.w-\[128px\] {
  width: 8rem;
}

.w-\[12px\] {
  width: 0.75rem;
}

.w-\[137px\] {
  width: 8.5625rem;
}

.w-\[14px\] {
  width: 0.875rem;
}

.w-\[150px\] {
  width: 9.375rem;
}

.w-\[15px\] {
  width: 0.9375rem;
}

.w-\[200px\] {
  width: 12.5rem;
}

.w-\[200vw\] {
  width: 200vw;
}

.w-\[20px\] {
  width: 1.25rem;
}

.w-\[25px\] {
  width: 1.5625rem;
}

.w-\[277px\] {
  width: 17.3125rem;
}

.w-\[28px\] {
  width: 1.75rem;
}

.w-\[30px\] {
  width: 1.875rem;
}

.w-\[33\%\] {
  width: 33%;
}

.w-\[330px\] {
  width: 20.625rem;
}

.w-\[35px\] {
  width: 2.1875rem;
}

.w-\[40\%\] {
  width: 40%;
}

.w-\[40px\] {
  width: 2.5rem;
}

.w-\[44px\] {
  width: 2.75rem;
}

.w-\[47px\] {
  width: 2.9375rem;
}

.w-\[48px\] {
  width: 3rem;
}

.w-\[54px\] {
  width: 3.375rem;
}

.w-\[60px\] {
  width: 3.75rem;
}

.w-\[6px\] {
  width: 0.375rem;
}

.w-\[70\%\] {
  width: 70%;
}

.w-\[80\%\] {
  width: 80%;
}

.w-\[8px\] {
  width: 0.5rem;
}

.w-\[90\%\] {
  width: 90%;
}

.w-\[90px\] {
  width: 5.625rem;
}

.w-\[94px\] {
  width: 5.875rem;
}

.w-\[calc\(100\%\+32px\)\] {
  width: calc(100% + 2rem);
}

.w-\[calc\(100\%-32px\)\] {
  width: calc(100% - 2rem);
}

.w-\[calc\(100\%\/3\.5-10px\)\] {
  width: calc(100% / 3.5 - 0.625rem);
}

.w-\[calc\(100vw-32px\)\] {
  width: calc(100vw - 2rem);
}

.w-\[calc\(100vw-96px\)\] {
  width: calc(100vw - 6rem);
}

.w-auto {
  width: auto;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-max {
  width: -moz-max-content;
  width: max-content;
}

.w-screen {
  width: 100vw;
}

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

.min-w-\[100px\] {
  min-width: 6.25rem;
}

.min-w-\[110px\] {
  min-width: 6.875rem;
}

.min-w-\[150px\] {
  min-width: 9.375rem;
}

.min-w-\[158px\] {
  min-width: 9.875rem;
}

.min-w-\[175px\] {
  min-width: 10.9375rem;
}

.min-w-\[236px\] {
  min-width: 14.75rem;
}

.min-w-\[375px\] {
  min-width: 23.4375rem;
}

.min-w-\[40\%\] {
  min-width: 40%;
}

.min-w-\[44px\] {
  min-width: 2.75rem;
}

.min-w-\[8px\] {
  min-width: 0.5rem;
}

.min-w-\[var\(--icon-width\)\] {
  min-width: var(--icon-width);
}

.max-w-\[100\%\] {
  max-width: 100%;
}

.max-w-\[100px\] {
  max-width: 6.25rem;
}

.max-w-\[100vw\] {
  max-width: 100vw;
}

.max-w-\[105px\] {
  max-width: 6.5625rem;
}

.max-w-\[1200px\] {
  max-width: 75rem;
}

.max-w-\[120px\] {
  max-width: 7.5rem;
}

.max-w-\[128px\] {
  max-width: 8rem;
}

.max-w-\[1440px\] {
  max-width: 90rem;
}

.max-w-\[158px\] {
  max-width: 9.875rem;
}

.max-w-\[213px\] {
  max-width: 13.3125rem;
}

.max-w-\[215px\] {
  max-width: 13.4375rem;
}

.max-w-\[24ch\] {
  max-width: 24ch;
}

.max-w-\[300px\] {
  max-width: 18.75rem;
}

.max-w-\[350px\] {
  max-width: 21.875rem;
}

.max-w-\[400px\] {
  max-width: 25rem;
}

.max-w-\[480px\] {
  max-width: 30rem;
}

.max-w-\[50\%\] {
  max-width: 50%;
}

.max-w-\[600px\] {
  max-width: 37.5rem;
}

.max-w-\[690px\] {
  max-width: 43.125rem;
}

.max-w-\[750px\] {
  max-width: 46.875rem;
}

.max-w-\[768px\] {
  max-width: 48rem;
}

.max-w-\[800px\] {
  max-width: 50rem;
}

.max-w-\[80px\] {
  max-width: 5rem;
}

.max-w-\[85\%\] {
  max-width: 85%;
}

.max-w-\[850px\] {
  max-width: 53.125rem;
}

.max-w-\[calc\(100\%_-_167px\)\] {
  max-width: calc(100% - 10.4375rem);
}

.max-w-\[calc\(100\%_-_65px\)\] {
  max-width: calc(100% - 4.0625rem);
}

.max-w-\[calc\(100vw-15px\)\] {
  max-width: calc(100vw - 0.9375rem);
}

.max-w-\[calc\(100vw-30px\)\] {
  max-width: calc(100vw - 1.875rem);
}

.max-w-\[calc\(100vw-32px\)\] {
  max-width: calc(100vw - 2rem);
}

.max-w-\[none\] {
  max-width: none;
}

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

.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}

.max-w-none {
  max-width: none;
}

.max-w-screen-desktop {
  max-width: 64.0625rem;
}

.max-w-screen-laptop {
  max-width: 71.25rem;
}

.max-w-screen-widescreen {
  max-width: 80rem;
}

.max-w-site {
  max-width: 90rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-none {
  flex: none;
}

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

.shrink {
  flex-shrink: 1;
}

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

.flex-grow {
  flex-grow: 1;
}

.grow {
  flex-grow: 1;
}

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

.basis-full {
  flex-basis: 100%;
}

.table-fixed {
  table-layout: fixed;
}

.\!-translate-x-1\/2 {
  --tw-translate-x: -50% !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-full {
  --tw-translate-y: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-\[-50\%\] {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-full {
  --tw-translate-y: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-rotate-90 {
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-150 {
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes pulse {

  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-pointer {
  cursor: pointer;
}

.resize {
  resize: both;
}

.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}

.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}

.snap-start {
  scroll-snap-align: start;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.auto-rows-min {
  grid-auto-rows: min-content;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-\[170px\2c 170px\2c 170px\2c 170px\] {
  grid-template-columns: 10.625rem 10.625rem 10.625rem 10.625rem;
}

.grid-cols-\[200px\2c 200px\] {
  grid-template-columns: 12.5rem 12.5rem;
}

.grid-cols-\[216px\2c 216px\] {
  grid-template-columns: 13.5rem 13.5rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.gap-10 {
  gap: 0.625rem;
}

.gap-12 {
  gap: 0.75rem;
}

.gap-15 {
  gap: 0.9375rem;
}

.gap-16 {
  gap: 1rem;
}

.gap-18 {
  gap: 1.125rem;
}

.gap-24 {
  gap: 1.5rem;
}

.gap-28 {
  gap: 1.75rem;
}

.gap-32 {
  gap: 2rem;
}

.gap-4 {
  gap: 0.25rem;
}

.gap-48 {
  gap: 3rem;
}

.gap-5 {
  gap: 0.3125rem;
}

.gap-6 {
  gap: 0.375rem;
}

.gap-8 {
  gap: 0.5rem;
}

.gap-\[15px\] {
  gap: 0.9375rem;
}

.gap-\[20px\] {
  gap: 1.25rem;
}

.gap-x-16 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

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

.gap-x-8 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.gap-x-\[12px\] {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

.gap-y-12 {
  row-gap: 0.75rem;
}

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

.gap-y-20 {
  row-gap: 1.25rem;
}

.gap-y-24 {
  row-gap: 1.5rem;
}

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

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

.justify-self-start {
  justify-self: start;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-scroll {
  overflow-y: scroll;
}

.overscroll-x-contain {
  overscroll-behavior-x: contain;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

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

.break-words {
  overflow-wrap: break-word;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-3xl {
  border-radius: 1.5rem;
}

.rounded-\[100px\] {
  border-radius: 6.25rem;
}

.rounded-\[10px\] {
  border-radius: 0.625rem;
}

.rounded-\[18px\] {
  border-radius: 1.125rem;
}

.rounded-\[20px\] {
  border-radius: 1.25rem;
}

.rounded-\[30px\] {
  border-radius: 1.875rem;
}

.rounded-\[36px\] {
  border-radius: 2.25rem;
}

.rounded-\[40px\] {
  border-radius: 2.5rem;
}

.rounded-\[4px\] {
  border-radius: 0.25rem;
}

.rounded-\[50\%\] {
  border-radius: 50%;
}

.rounded-\[5px\] {
  border-radius: 0.3125rem;
}

.rounded-\[6px\] {
  border-radius: 0.375rem;
}

.rounded-\[8px\] {
  border-radius: 0.5rem;
}

.rounded-full {
  border-radius: 624.9375rem;
}

.rounded-lg {
  border-radius: 0.5rem;
}

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

.rounded-b-\[5px\] {
  border-bottom-right-radius: 0.3125rem;
  border-bottom-left-radius: 0.3125rem;
}

.rounded-l-xl {
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

.rounded-r-\[2px\] {
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}

.rounded-bl-md {
  border-bottom-left-radius: 0.375rem;
}

.border {
  border-width: 0.0625rem;
}

.border-2 {
  border-width: 0.125rem;
}

.border-\[1px\] {
  border-width: 0.0625rem;
}

.border-y {
  border-top-width: 0.0625rem;
  border-bottom-width: 0.0625rem;
}

.border-b {
  border-bottom-width: 0.0625rem;
}

.border-b-0 {
  border-bottom-width: 0;
}

.border-b-2 {
  border-bottom-width: 0.125rem;
}

.border-b-4 {
  border-bottom-width: 0.25rem;
}

.border-l-0 {
  border-left-width: 0;
}

.border-l-2 {
  border-left-width: 0.125rem;
}

.border-r {
  border-right-width: 0.0625rem;
}

.border-t {
  border-top-width: 0.0625rem;
}

.border-t-0 {
  border-top-width: 0;
}

.border-t-2 {
  border-top-width: 0.125rem;
}

.border-t-4 {
  border-top-width: 0.25rem;
}

.border-solid {
  border-style: solid;
}

.border-none {
  border-style: none;
}

.border-\[\#4D4D4D\] {
  --tw-border-opacity: 1;
  border-color: rgb(77 77 77 / var(--tw-border-opacity));
}

.border-\[\#A4A4A4\] {
  --tw-border-opacity: 1;
  border-color: rgb(164 164 164 / var(--tw-border-opacity));
}

.border-\[\#D9D9D9\] {
  --tw-border-opacity: 1;
  border-color: rgb(217 217 217 / var(--tw-border-opacity));
}

.border-\[var\(--countdown-timer-border-mobile\)\] {
  border-color: var(--countdown-timer-border-mobile);
}

.border-black {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity));
}

.border-black-text {
  --tw-border-opacity: 1;
  border-color: rgb(28 28 28 / var(--tw-border-opacity));
}

.border-gray {
  --tw-border-opacity: 1;
  border-color: rgb(216 216 216 / var(--tw-border-opacity));
}

.border-gray-dark {
  --tw-border-opacity: 1;
  border-color: rgb(73 73 73 / var(--tw-border-opacity));
}

.border-gray-light {
  --tw-border-opacity: 1;
  border-color: rgb(250 250 250 / var(--tw-border-opacity));
}

.border-gray-medium {
  --tw-border-opacity: 1;
  border-color: rgb(176 172 176 / var(--tw-border-opacity));
}

.border-gray-mediumDark {
  --tw-border-opacity: 1;
  border-color: rgb(151 151 151 / var(--tw-border-opacity));
}

.border-green {
  --tw-border-opacity: 1;
  border-color: rgb(35 138 68 / var(--tw-border-opacity));
}

.border-transparent {
  border-color: transparent;
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}

.border-yellow {
  --tw-border-opacity: 1;
  border-color: rgb(255 208 20 / var(--tw-border-opacity));
}

.\!border-b-\[\#25692e\] {
  --tw-border-opacity: 1 !important;
  border-bottom-color: rgb(37 105 46 / var(--tw-border-opacity)) !important;
}

.\!border-t-\[\#25692e\] {
  --tw-border-opacity: 1 !important;
  border-top-color: rgb(37 105 46 / var(--tw-border-opacity)) !important;
}

.border-b-\[\#D9D9D9\] {
  --tw-border-opacity: 1;
  border-bottom-color: rgb(217 217 217 / var(--tw-border-opacity));
}

.border-b-gray-medium {
  --tw-border-opacity: 1;
  border-bottom-color: rgb(176 172 176 / var(--tw-border-opacity));
}

.\!bg-gray-neutral {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(246 246 246 / var(--tw-bg-opacity)) !important;
}

.\!bg-green-light {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(220 244 230 / var(--tw-bg-opacity)) !important;
}

.bg-\[\#41a368\] {
  --tw-bg-opacity: 1;
  background-color: rgb(65 163 104 / var(--tw-bg-opacity));
}

.bg-\[\#F8D642\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 214 66 / var(--tw-bg-opacity));
}

.bg-\[\#efefef\] {
  --tw-bg-opacity: 1;
  background-color: rgb(239 239 239 / var(--tw-bg-opacity));
}

.bg-\[var\(--countdown-bg-mobile\)\] {
  background-color: var(--countdown-bg-mobile);
}

.bg-\[var\(--countdown-timer-bg-mobile\)\] {
  background-color: var(--countdown-timer-bg-mobile);
}

.bg-\[var\(--promo-bg-mobile\)\] {
  background-color: var(--promo-bg-mobile);
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.bg-blue-light {
  --tw-bg-opacity: 1;
  background-color: rgb(227 242 245 / var(--tw-bg-opacity));
}

.bg-blue-light\/80 {
  background-color: rgb(227 242 245 / 0.8);
}

.bg-gray {
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity));
}

.bg-gray-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(73 73 73 / var(--tw-bg-opacity));
}

.bg-gray-light {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity));
}

.bg-gray-medium {
  --tw-bg-opacity: 1;
  background-color: rgb(176 172 176 / var(--tw-bg-opacity));
}

.bg-gray-neutral {
  --tw-bg-opacity: 1;
  background-color: rgb(246 246 246 / var(--tw-bg-opacity));
}

.bg-green {
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
}

.bg-green-light {
  --tw-bg-opacity: 1;
  background-color: rgb(220 244 230 / var(--tw-bg-opacity));
}

.bg-green-lightest {
  --tw-bg-opacity: 1;
  background-color: rgb(240 250 248 / var(--tw-bg-opacity));
}

.bg-overlay\/\[\.08\] {
  background-color: rgb(135 149 150 / .08);
}

.bg-red {
  --tw-bg-opacity: 1;
  background-color: rgb(248 39 36 / var(--tw-bg-opacity));
}

.bg-red-error {
  --tw-bg-opacity: 1;
  background-color: rgb(221 29 29 / var(--tw-bg-opacity));
}

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

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.bg-yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(255 208 20 / var(--tw-bg-opacity));
}

.bg-yellow-light {
  --tw-bg-opacity: 1;
  background-color: rgb(250 244 210 / var(--tw-bg-opacity));
}

.bg-yellow-medium {
  --tw-bg-opacity: 1;
  background-color: rgb(255 210 3 / var(--tw-bg-opacity));
}

.bg-opacity-40 {
  --tw-bg-opacity: 0.4;
}

.bg-opacity-70 {
  --tw-bg-opacity: 0.7;
}

.bg-opacity-90 {
  --tw-bg-opacity: 0.9;
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-0\% {
  --tw-gradient-from-position: 0%;
}

.from-50\% {
  --tw-gradient-from-position: 50%;
}

.to-black\/60 {
  --tw-gradient-to: rgb(0 0 0 / 0.6) var(--tw-gradient-to-position);
}

.bg-cover {
  background-size: cover;
}

.bg-center {
  background-position: center;
}

.bg-no-repeat {
  background-repeat: no-repeat;
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-10 {
  padding: 0.625rem;
}

.p-12 {
  padding: 0.75rem;
}

.p-15 {
  padding: 0.9375rem;
}

.p-16 {
  padding: 1rem;
}

.p-24 {
  padding: 1.5rem;
}

.p-32 {
  padding: 2rem;
}

.p-4 {
  padding: 0.25rem;
}

.p-6 {
  padding: 0.375rem;
}

.p-8 {
  padding: 0.5rem;
}

.p-\[10px\] {
  padding: 0.625rem;
}

.p-\[2px\] {
  padding: 0.125rem;
}

.px-0 {
  padding-left: 0;
  padding-right: 0;
}

.px-10 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.px-12 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-15 {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}

.px-16 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-18 {
  padding-left: 1.125rem;
  padding-right: 1.125rem;
}

.px-20 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-24 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-32 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.px-36 {
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}

.px-4 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-48 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.px-6 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.px-8 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-\[0\.2rem\] {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}

.px-\[10px\] {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.px-\[14px\] {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}

.px-\[15px\] {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}

.py-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.py-10 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-12 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-15 {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}

.py-16 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-20 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-24 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-28 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.py-32 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.py-4 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-48 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-5 {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
}

.py-6 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-72 {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}

.py-8 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-\[10px\] {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-\[15px\] {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}

.py-\[25px\] {
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
}

.py-\[2px\] {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-\[4px\] {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-\[5px\] {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
}

.py-\[6px\] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-\[7px\] {
  padding-top: 0.4375rem;
  padding-bottom: 0.4375rem;
}

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

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

.pb-10 {
  padding-bottom: 0.625rem;
}

.pb-12 {
  padding-bottom: 0.75rem;
}

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

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

.pb-20 {
  padding-bottom: 1.25rem;
}

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

.pb-25 {
  padding-bottom: 1.5625rem;
}

.pb-30 {
  padding-bottom: 1.875rem;
}

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

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

.pb-40 {
  padding-bottom: 2.5rem;
}

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

.pb-72 {
  padding-bottom: 4.5rem;
}

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

.pb-\[10px\] {
  padding-bottom: 0.625rem;
}

.pb-\[124px\] {
  padding-bottom: 7.75rem;
}

.pb-\[180px\] {
  padding-bottom: 11.25rem;
}

.pb-\[18px\] {
  padding-bottom: 1.125rem;
}

.pb-\[24px\] {
  padding-bottom: 1.5rem;
}

.pb-\[5px\] {
  padding-bottom: 0.3125rem;
}

.pb-\[60px\] {
  padding-bottom: 3.75rem;
}

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

.pl-10 {
  padding-left: 0.625rem;
}

.pl-12 {
  padding-left: 0.75rem;
}

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

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

.pl-20 {
  padding-left: 1.25rem;
}

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

.pl-4 {
  padding-left: 0.25rem;
}

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

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

.pl-\[12px\] {
  padding-left: 0.75rem;
}

.pl-\[5px\] {
  padding-left: 0.3125rem;
}

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

.pr-10 {
  padding-right: 0.625rem;
}

.pr-12 {
  padding-right: 0.75rem;
}

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

.pr-20 {
  padding-right: 1.25rem;
}

.pr-4 {
  padding-right: 0.25rem;
}

.pr-8 {
  padding-right: 0.5rem;
}

.pr-\[14px\] {
  padding-right: 0.875rem;
}

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

.pt-10 {
  padding-top: 0.625rem;
}

.pt-12 {
  padding-top: 0.75rem;
}

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

.pt-20 {
  padding-top: 1.25rem;
}

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

.pt-25 {
  padding-top: 1.5625rem;
}

.pt-30 {
  padding-top: 1.875rem;
}

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

.pt-36 {
  padding-top: 2.25rem;
}

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

.pt-6 {
  padding-top: 0.375rem;
}

.pt-8 {
  padding-top: 0.5rem;
}

.pt-\[10px\] {
  padding-top: 0.625rem;
}

.pt-\[147px\] {
  padding-top: 9.1875rem;
}

.pt-\[14px\] {
  padding-top: 0.875rem;
}

.pt-\[20px\] {
  padding-top: 1.25rem;
}

.pt-\[2px\] {
  padding-top: 0.125rem;
}

.pt-\[5px\] {
  padding-top: 0.3125rem;
}

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

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

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

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.font-montserrat {
  font-family: Montserrat, Helvetica, sans-serif;
}

.font-obviously-narrow {
  font-family: obviously-narrow, Helvetica, sans-serif;
}

.text-10 {
  font-size: 0.625rem;
}

.text-12 {
  font-size: 0.75rem;
}

.text-14 {
  font-size: 0.875rem;
}

.text-16 {
  font-size: 1rem;
}

.text-18 {
  font-size: 1.125rem;
}

.text-20 {
  font-size: 1.25rem;
}

.text-22 {
  font-size: 1.375rem;
}

.text-24 {
  font-size: 1.5rem;
}

.text-28 {
  font-size: 1.75rem;
}

.text-34 {
  font-size: 2.125rem;
}

.text-42 {
  font-size: 2.625rem;
}

.text-48 {
  font-size: 3rem;
}

.text-8 {
  font-size: 0.5rem;
}

.text-\[10px\] {
  font-size: 0.625rem;
}

.text-\[112px\] {
  font-size: 7rem;
}

.text-\[11px\] {
  font-size: 0.6875rem;
}

.text-\[12px\] {
  font-size: 0.75rem;
}

.text-\[13px\] {
  font-size: 0.8125rem;
}

.text-\[14px\] {
  font-size: 0.875rem;
}

.text-\[20px\] {
  font-size: 1.25rem;
}

.text-\[22px\] {
  font-size: 1.375rem;
}

.text-\[24px\] {
  font-size: 1.5rem;
}

.text-\[26px\] {
  font-size: 1.625rem;
}

.text-\[2rem\] {
  font-size: 2rem;
}

.text-\[36px\] {
  font-size: 2.25rem;
}

.text-\[38px\] {
  font-size: 2.375rem;
}

.\!font-500 {
  font-weight: 500 !important;
}

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

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

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

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

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

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

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.italic {
  font-style: italic;
}

.leading-5 {
  line-height: 1.25rem;
}

.leading-6 {
  line-height: 1.5rem;
}

.leading-\[1\.1\] {
  line-height: 1.1;
}

.leading-\[1\.25\] {
  line-height: 1.25;
}

.leading-\[1\.2\] {
  line-height: 1.2;
}

.leading-\[1\.4\] {
  line-height: 1.4;
}

.leading-\[1\.8\] {
  line-height: 1.8;
}

.leading-\[14px\] {
  line-height: 0.875rem;
}

.leading-\[18px\] {
  line-height: 1.125rem;
}

.leading-\[1\] {
  line-height: 1;
}

.leading-\[21px\] {
  line-height: 1.3125rem;
}

.leading-none {
  line-height: 1;
}

.leading-normal {
  line-height: 1.5;
}

.leading-snug {
  line-height: 1.375;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[0\.4px\] {
  letter-spacing: 0.025rem;
}

.tracking-\[0\.5px\] {
  letter-spacing: 0.03125rem;
}

.tracking-\[0\.6px\] {
  letter-spacing: 0.0375rem;
}

.tracking-\[0\.7px\] {
  letter-spacing: 0.04375rem;
}

.tracking-normal {
  letter-spacing: 0em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.\!text-black-text {
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.text-\[\#1c1c1c\] {
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.text-\[\#25692e\] {
  --tw-text-opacity: 1;
  color: rgb(37 105 46 / var(--tw-text-opacity));
}

.text-\[\#4d4d4d\] {
  --tw-text-opacity: 1;
  color: rgb(77 77 77 / var(--tw-text-opacity));
}

.text-\[\#595959\] {
  --tw-text-opacity: 1;
  color: rgb(89 89 89 / var(--tw-text-opacity));
}

.text-\[\#D97835\] {
  --tw-text-opacity: 1;
  color: rgb(217 120 53 / var(--tw-text-opacity));
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.text-black-text {
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.text-gray {
  --tw-text-opacity: 1;
  color: rgb(216 216 216 / var(--tw-text-opacity));
}

.text-gray-dark {
  --tw-text-opacity: 1;
  color: rgb(73 73 73 / var(--tw-text-opacity));
}

.text-gray-medium {
  --tw-text-opacity: 1;
  color: rgb(176 172 176 / var(--tw-text-opacity));
}

.text-green {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.text-red {
  --tw-text-opacity: 1;
  color: rgb(248 39 36 / var(--tw-text-opacity));
}

.text-red-accessible {
  --tw-text-opacity: 1;
  color: rgb(218 72 55 / var(--tw-text-opacity));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.text-yellow {
  --tw-text-opacity: 1;
  color: rgb(255 208 20 / var(--tw-text-opacity));
}

.text-yellow-medium {
  --tw-text-opacity: 1;
  color: rgb(255 210 3 / var(--tw-text-opacity));
}

.underline {
  text-decoration-line: underline;
}

.overline {
  text-decoration-line: overline;
}

.line-through {
  text-decoration-line: line-through;
}

.no-underline {
  text-decoration-line: none;
}

.opacity-0 {
  opacity: 0;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-5 {
  opacity: 0.05;
}

.opacity-50 {
  opacity: 0.5;
}

.shadow {
  --tw-shadow: 0 0.0625rem 0.1875rem 0 rgb(0 0 0 / 0.1), 0 0.0625rem 0.125rem -0.0625rem rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 0.0625rem 0.1875rem 0 var(--tw-shadow-color), 0 0.0625rem 0.125rem -0.0625rem var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_\.125rem_\.5rem_0_rgba\(0\2c 0\2c 0\2c \.1\)\2c _0_\.09375rem_0_0_\#000\] {
  --tw-shadow: 0 .125rem .5rem 0 rgba(0,0,0,.1), 0 .09375rem 0 0 #000;
  --tw-shadow-colored: 0 .125rem .5rem 0 var(--tw-shadow-color), 0 .09375rem 0 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 0.625rem 0.9375rem -0.1875rem rgb(0 0 0 / 0.1), 0 0.25rem 0.375rem -0.25rem rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 0.625rem 0.9375rem -0.1875rem var(--tw-shadow-color), 0 0.25rem 0.375rem -0.25rem var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-black\/40 {
  --tw-shadow-color: rgb(0 0 0 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.outline {
  outline-style: solid;
}

.blur {
  --tw-blur: blur(0.5rem);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.\!filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.\!transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.\[-ms-overflow-style\:none\] {
  -ms-overflow-style: none;
}

.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}

/* Sofia Pro Black
font-family: sofia-pro, sans-serif;
font-weight: 900;
font-style: normal;

Sofia Pro Black italic
font-family: sofia-pro, sans-serif;
font-weight: 900;
font-style: italic;

Sofia Pro Medium
font-family: sofia-pro, sans-serif;
font-weight: 500;
font-style: normal;

Sofia Pro Medium italic
font-family: sofia-pro, sans-serif;
font-weight: 500;
font-style: italic;

Sofia Pro Regular
font-family: sofia-pro, sans-serif;
font-weight: 400;
font-style: normal;

Sofia Pro Regular italic
font-family: sofia-pro, sans-serif;
font-weight: 400;
font-style: italic; */

.lazypicture img {
  aspect-ratio: var(--ar-lzimg-mobile);
}

@media (min-width: 48rem) {
  .lazypicture img {
    aspect-ratio: var(--ar-lzimg-tabletp, var(--ar-lzimg-mobile));
  }
}

@media (min-width: 64rem) {
  .lazypicture img {
    aspect-ratio: var(
      --ar-lzimg-tabletl,
      var(--ar-lzimg-tabletp, var(--ar-lzimg-mobile))
    );
  }
}

@media (min-width: 64.0625rem) {
  .lazypicture img {
    aspect-ratio: var(
      --ar-lzimg-desktop,
      var(--ar-lzimg-tabletl, var(--ar-lzimg-tabletp, var(--ar-lzimg-mobile)))
    );
  }
}

@media (min-width: 71.25rem) {
  .lazypicture img {
    aspect-ratio: var(
      --ar-lzimg-laptop,
      var(
        --ar-lzimg-desktop,
        var(--ar-lzimg-tabletl, var(--ar-lzimg-tabletp, var(--ar-lzimg-mobile)))
      )
    );
  }
}

@media (min-width: 80rem) {
  .lazypicture img {
    aspect-ratio: var(
      --ar-lzimg-widescreen,
      var(
        --ar-lzimg-laptop,
        var(
          --ar-lzimg-desktop,
          var(
            --ar-lzimg-tabletl,
            var(--ar-lzimg-tabletp, var(--ar-lzimg-mobile))
          )
        )
      )
    );
  }
}

@media (min-width: 90rem) {
  .lazypicture img {
    aspect-ratio: var(
      --ar-lzimg-extrawide,
      var(
        --ar-lzimg-widescreen,
        var(
          --ar-lzimg-laptop,
          var(
            --ar-lzimg-desktop,
            var(
              --ar-lzimg-tabletl,
              var(--ar-lzimg-tabletp, var(--ar-lzimg-mobile))
            )
          )
        )
      )
    );
  }
}

/* rebuy cart */

@media screen and (max-width: 30rem) {
  .rebuy-cart__flyout {
    bottom: env(safe-area-inset-bottom) !important;
  }
}

s-drawer {
  position: fixed;
  z-index: 6;
  display: none;
  width: 100%;
  max-width: 23.4375rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

s-drawer.mobile-nav__footer-links {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

s-drawer.desktop-zoom-modal__image-item {
  display: none;
}

s-drawer[position="top"],
s-drawer[position="bottom"] {
  left: 0;
  width: 100vw;
  max-width: none;
}

.top-blog s-drawer[position="left"] {
  top: 9.1875rem;
  height: calc(100vh - 9.1875rem);
}

.top-site s-drawer[position="left"] {
  top: 6.6875rem;
  height: calc(100vh - 6.6875rem);
}

.no-promo-bar.top-site s-drawer[position="left"] {
  top: 4.3125rem;
  height: calc(100vh - 4.3125rem);
}

s-drawer[position="right"] {
  top: 0;
  height: 100vh;
}

s-drawer[position="top"] {
  top: 0;
  --tw-translate-y: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

s-drawer[position="right"] {
  right: 0;
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

s-drawer[position="bottom"] {
  bottom: 0;
  --tw-translate-y: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

s-drawer[position="left"] {
  left: 0;
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

s-drawer.open {
  display: block;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.drawer-background:after {
  content: "";
  visibility: hidden;
  position: fixed;
  inset: 0;
  z-index: 2;
  height: 100%;
  width: 100%;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-bg-opacity: 0.6;
  opacity: 0;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.js-drawer-left-open.top-blog .drawer-background:after {
  top: 9.1875rem;
  height: calc(100vh - 9.1875rem);
}

.js-drawer-left-open.top-site .drawer-background:after {
  top: 6.6875rem;
  height: calc(100vh - 6.6875rem);
}

.js-drawer-open .drawer-background::after {
  visibility: visible;
  opacity: 1;
}

.product__reviews .yotpo .main-widget form .write-form.js-drawer-open .drawer-background::after {
  margin-top: 2.25rem !important;
}

[js-cart-drawer-open][aria-disabled="true"],
.is-disabled[js-cart-drawer-open] { pointer-events: none; opacity: .5; }

#CartDrawer{
  max-height: calc(100% - env(safe-area-inset-bottom));
}

#MobileNavDrawer {
  max-height: calc(100% - var(--header-height) - env(safe-area-inset-bottom));
  max-width: none;
  padding: 0 !important;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1);
}

.js-drawer-mobile-nav-open .drawer-background:after {
  opacity: 0;
}

.nav-drawer__contents{
  transition: transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
  transform: translateX(calc(var(--index) * var(--screen-width) * -1));
  height: 100%;
}

#DesktopNavDrawer {
  max-width: 22.5rem;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1);
}

desktop-nav::-webkit-scrollbar {
  display: none;
}

desktop-nav {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow: -moz-scrollbars-none;
}

/*
 * Postscript SMS popup stacking is handled in snippets/postscript-stacking.liquid
 * (state-aware z-index). The old blanket `#ps__widget_container { z-index: 5 }`
 * rule that lived here also demoted the full-screen popup below the sticky
 * header, hiding the close (X) button — so the override now toggles between the
 * pill (z-5, below the nav drawer) and the open popup (z-max, above all chrome)
 * based on the iframe size. See that snippet for the full rationale.
 */

s-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 5;
  margin: auto;
  display: none !important;
  max-height: 75vh;
  --tw-translate-y: -50%;
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  overflow: auto;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  opacity: 0;
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

s-modal.open {
  display: block !important;
  opacity: 1;
}

.modal-background:after {
  content: "";
  visibility: hidden;
  position: fixed;
  inset: 0;
  z-index: 5;
  height: 100%;
  width: 100%;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-bg-opacity: 0.6;
  opacity: 0;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.js-modal-open .modal-background::after {
  visibility: visible;
  z-index: 3;
  opacity: 1;
}

.product__reviews .yotpo .main-widget form .write-form.js-modal-open .modal-background::after {
  margin-top: 2.25rem !important;
}

/* The filter drawer runs full-height over the header (z-[11] in global/header.css) and the
   cart/search drawers (z-[12]), so it and its backdrop sit above the whole stack. */

.js-modal-open:has(#collection-filter-modal.open) .modal-background::after {
  z-index: 99;
}

#collection-filter-modal.open {
  z-index: 100;
}

.js-drawer-open-cart .modal-background:after {
  z-index: 11;
}

/* Ensure filter sidebar gets grayed out by modal background */

.js-modal-open .filter-sort,
.js-modal-open .filter-sort__desktop,
.js-modal-open .collection-side-nav-menu-inner-container,
.js-modal-open .collection-filter-menu__label,
.js-modal-open .collection-filter-menu {
  z-index: 3;
}

/* Desktop Zoom Modal Overrides - Full Screen */

#DesktopZoomModal {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  max-height: none !important;
  max-width: none !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  background: white !important;
}

#DesktopZoomModal:not(.open) {
  pointer-events: none;
  visibility: hidden;
}

#DesktopZoomModal.open {
  pointer-events: auto;
  visibility: visible;
}

/* no tailwind support */

.promo-desktop-text-new,
.promo-desktop-text-returning {
  font-weight: 600 !important;
}

#shopify-section-header,
#shopify-section-header-blog {
  z-index: 11;
}

/* Replaces the border-bottom that used to sit on this element. Same two-layer shadow as
   .product__sticky-atc in sections/product.css, with the y offset flipped positive so it falls
   below the header instead of above it. Applied on every page; the homepage is opt-in via the
   "Enable header drop shadow on homepage" section setting. */

.header--shadow {
  box-shadow:
    0 0.0625rem 0.125rem -0.0625rem #0000001a,
    0 0.0625rem 0.1875rem 0 #0000001a;
}

.shopify-section-header {
  transition: all 0.3s ease;
  transition-duration: 600ms;
}

.shopify-section-header.hide.no-transition,
.shopify-section-header.show.no-transition {
  transform: none;
}

.shopify-section-header.show {
  transform: translateY(0);
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
}

.shopify-section-header.hide {
  transform: translateY(0);
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
}

.icon-shipping-car .cls-1 {
  fill: #ffffff !important;
  stroke: #221f1f !important;
}

.header-nav__images-container {
  gap: 0.3125rem 1.25rem;
}

.header-nav__sublist-container {
  top: 9.3125rem;
}

.header-nav__sublist-container.single {
  top: 5rem;
}

.scroll-header__double .header-nav__sublist-container.single {
  top: 6.9375rem;
}

.no-promo-bar .header-nav__sublist-container {
  top: 6.625rem;
}

.no-promo-bar .header-nav__sublist-container.single {
  top: 3.3125rem;
}

.header-nav__sublist-row::before {
  position: absolute;
  left: -200%;
  height: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
  content: "";
  width: 300vw;
  z-index: -1;
}

.header-nav__sublist-item .header-nav__sublist-container {
  border-style: none;
}

.column-split {
  -moz-column-count: 2;
       column-count: 2;
}

.header-nav__list-item:focus .header-nav__sublist-row {
  pointer-events: auto;
  z-index: 1;
  height: 100%;
  opacity: 1;
}

.header-nav__sublist-item:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.header-nav__sublist-item:focus .header-nav__sublist-link {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.header-nav__sublist-item:focus .header-nav__sublist-container,
.header-nav__list-item:hover .header-nav__sublist-container.single {
  pointer-events: auto;
  z-index: 1;
  height: auto;
  opacity: 1;
}

.header-nav__list-item:focus .header-nav__sublist-container.single {
  display: block;
}

.top-site .header-mobile__open,
.top-blog .header-mobile__open {
  display: none;
}

.mobile-nav__footer-links.top-site .header-mobile__open,.mobile-nav__footer-links
.top-blog .header-mobile__open {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.top-site .header-mobile__open,.desktop-zoom-modal__image-item
.top-blog .header-mobile__open {
  display: none;
}

.top-site .header-mobile__close,
.top-blog .header-mobile__close {
  display: block;
}

#header-search:focus {
  --tw-border-opacity: 1;
  border-color: rgb(35 138 68 / var(--tw-border-opacity));
}

#header-search:focus:not(:focus-visible) {
  border-style: none;
}

#header-search:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(35 138 68 / var(--tw-border-opacity));
}

.header-nav__list-item:focus .header-nav__list-link {
  border-bottom-width: 0.0625rem;
  --tw-border-opacity: 1;
  border-color: rgb(35 138 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.header-nav__grandchild {
  margin-top: 1.2rem !important;
}

.header-nav__grandchild-link {
  font-weight: 600;

  &.underline {
    font-weight: 700 !important;
  }
}

.header-nav__grandchild-link span {
  margin-left: 0.5rem;
  border-radius: 1rem;
  font-family: Montserrat, Helvetica, sans-serif;
  color: var(--badge-color);
  background-color: var(--badge-bg);
  padding: 0.25rem 0.5rem;
  font-size: 0.5625rem !important;
  letter-spacing: 0.0625rem;
  font-weight: 600;
}

.header-nav__grandchild-link span.badge_2 {
  margin-left: 0.5rem;
  border-radius: 1rem;
  font-family: Montserrat, Helvetica, sans-serif;
  color: var(--badge2-color);
  background-color: var(--badge2-bg);
}

.accordion-header--link span {
  padding-left: 0.625rem;
  font-family: Montserrat, Helvetica, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(73 73 73 / var(--tw-text-opacity));
}

.mobile-nav__grandchild-link span {
  padding-left: 0.625rem;
  font-family: Montserrat, Helvetica, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(73 73 73 / var(--tw-text-opacity));
}

@media (min-width: 64.0625rem) {
  .header-nav__list-item:hover .header-nav__sublist-row {
    pointer-events: auto;
    z-index: 1;
    height: 100%;
    opacity: 1;
  }

  .header-nav__sublist-item:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }

  .header-nav__sublist-item:hover .header-nav__sublist-link {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }

  .header-nav__sublist-item:hover .header-nav__sublist-container,
  .header-nav__list-item:hover .header-nav__sublist-container.single {
    pointer-events: auto;
    z-index: -1;
    height: auto;
    opacity: 1;
  }

  .header-nav__list-item:hover .header-nav__sublist-container.single {
    display: flex;
  }

  .header-nav__list-item--old:hover .header-nav__sublist-container.single {
    display: block;
  }

  .header-nav__list-item:hover .header-nav__list-link {
    --tw-border-opacity: 1;
    border-color: rgb(35 138 68 / var(--tw-border-opacity));
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }
}

.shipping-dropdown .collection-side-nav-menu__icon-plus svg {
  width: 1.5rem;
}

.shipping-dropdown .collection-side-nav-menu__icon-close svg {
  width: 1.5rem;
}

.header-nav__sublist a:focus font {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

@media screen and (min-width: 64.0625rem) {
  .header-nav__sublist a:hover font {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }
}

.header-nav__child-title {
  font-weight: 700 !important;
  letter-spacing: 0.03125rem;
}

.header-nav__grandchild-item {
  margin: 1.2rem 0 !important;
}

.header-nav__images-item_text {
  text-align: left;
  font-weight: 700 !important;
  letter-spacing: 0.0625rem;
}

.header-nav__left-side-content {
  & .header-nav__grandchild {
    margin-top: 0.5rem !important;
  }

  & .header-nav__child-category {
    padding: 1.5rem 1.25rem !important;
  }

  & .header-nav__grandchild-item {
    margin: 0.5rem 0 !important;
  }
}

/* FOOTER CONTAINER */

.footer--inner-container {
  max-width: 90rem;
  width: 100%;
}

.footer-menu {
  flex: 1 0 50%;
}

.footer-assistance {
  flex: 1 0 15%;
}

/* ICONS */

.footer--icons-internal-container {
  max-width: 90rem;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;

  @media (max-width: 64rem) {
    gap: 1.5rem;
    padding-top: 2.25rem;
    flex-direction: column;
  }

  & .footer--icons-title {
    flex: 0 1 fit-content;
    font-size: 1.25rem;
  }

  & .footer--icons-content-grid {
    display: flex;
    justify-content: end;
    flex: 1 0 60%;

    @media (max-width: 64rem) {
      flex: 1 0 100%;
      flex-wrap: wrap;
      gap: 1.5625rem;
    }

    & .footer--icon {
      flex: 0 1 16%;
      display: flex;
      flex-direction: column;
      text-align: center;

      @media (max-width: 64rem) {
        flex: 1 0 25%;
        flex-direction: row;
        text-align: left;
        align-items: center;
        justify-content: flex-start;
        gap: 0.625rem;
      }

      @media (max-width: 37.5rem) {
        flex: 1 0 45%;
      }

      & img {
        display: block;
        width: 100%;
        max-width: 3.75rem;
        margin: 0 auto;

        @media (max-width: 64rem) {
          max-width: 3.125rem;
          margin: 0 0;
        }
      }

      & p {
        font-size: 0.75rem;
        margin-top: 1rem;

        @media (max-width: 64rem) {
          margin-top: 0;
        }
      }
    }
  }
}

/* klaviyo footer form */

.klaviyo-form-S2TXn3.klaviyo-form {
  background-color: white !important;
  border: 0.0625rem solid #088a45;
  border-radius: 2.5rem;
  padding: 0.1875rem;

  /* Klaviyo sets max-width inline from its form designer, hence !important */
  @media (min-width: 64.0625rem) {
    max-width: 70% !important;
  }

  & .klaviyo-emailinput {
    align-self: anchor-center !important;
  }

  & input[type="email"] {
    border: unset !important;
    font-size: 0.875rem !important;
    font-family: "Montserrat" !important;
    border-radius: 2.5rem !important;

    &::-moz-placeholder {
      font-size: 0.875rem !important;
      color: #4d4d4d !important;
    }

    &::placeholder {
      font-size: 0.875rem !important;
      color: #4d4d4d !important;
    }
  }

  & .klaviyo-form-button {
    border-radius: 2.5rem !important;
    font-size: 0.75rem !important;
    background-color: #128141 !important;
    padding-top: 1.125rem !important;
    padding-bottom: 1.125rem !important;
  }
}

/* SOCIAL */

a[title="Facebook"],
a[title="TikTok"] {
  & circle {
    stroke: unset !important;
  }
}

a[title="TikTok"] {
  & .st6 {
    fill: white !important;
  }
}

a[title="Instagram"] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

a[title="Facebook"] {
  & path:last-of-type {
    fill: white;
  }
}

a[title="Twitter"] {
  display: inline-flex;
  justify-content: center;
  align-items: center;

  & svg {
    fill: white;
  }
}

/*
.footer-email-signup .klaviyo-form>div>div {
    @apply !flex-wrap desktop:!flex-nowrap;
}

.footer-email-signup .klaviyo-form>div>div>div:first-child {
    @apply !flex-none !w-full !mb-8 desktop:!w-auto desktop:!mb-0 desktop:!mr-8;
}

.footer-email-signup .klaviyo-form>div>div>div:last-child {
    @apply !pl-0 !w-full;
}

.footer-email-signup .klaviyo-form button {
    @apply !font-montserrat !border border-green !rounded-none !w-full !font-700 !lowercase !pt-10;
}

.footer-email-signup .klaviyo-form button:focus,
.footer-email-signup .klaviyo-form button:hover {
    @apply !shadow-none !bg-white !text-green
}


.footer-email-signup .klaviyo-form input[type="email"]::placeholder {
    @apply !text-12 !font-montserrat !font-700 !capitalize;
}

.blog-footer__email-form .klaviyo-form input[type="email"] {
    @apply !text-12 !border !border-gray-medium !z-10;
}

.blog-footer__email-form .klaviyo-form input[type="email"]::placeholder {
    @apply !text-12 !text-black-text !lowercase;
}

.blog-footer__email-form .klaviyo-form input[type="email"]:focus {
    @apply !border-black-text;
}

.blog-footer__email-form .klaviyo-form div div div {
    @apply !pl-0;
}

.blog-footer__email-form .klaviyo-form button {
    @apply !bg-yellow !text-12 !font-500 !text-black-text !lowercase !rounded-none !border !border-gray-medium !ml-[-1px] !py-[11.5px];
}

.blog-footer__email-form .klaviyo-form button:focus {
    @apply !bg-green !text-white !border-green !shadow-none;
}

@media screen and (min-width: 1025px) {
    .blog-footer__email-form .klaviyo-form input[type="email"]:hover {
        @apply !border-black-text;
    }

    .blog-footer__email-form .klaviyo-form button:hover {
        @apply !bg-green !text-white !border-green !shadow-none;
    }

    .footer__grid-col-2 {
        grid-column-start: 2 !important;
    }
} */

/* assistance section icons */

/* chat */

.footer-assistance__list-link:focus .icon-chat #Fill-1,
.footer-assistance__list-link:hover .icon-chat #Fill-1,
.footer-assistance__list-link:focus .icon-chat #Fill-5,
.footer-assistance__list-link:hover .icon-chat #Fill-5 {
  fill: #ffd015;
}

.footer-assistance__list-link:focus .icon-chat #Fill-13,
.footer-assistance__list-link:hover .icon-chat #Fill-13,
.footer-assistance__list-link:focus .icon-chat #Fill-17,
.footer-assistance__list-link:hover .icon-chat #Fill-17 {
  fill: #088a45;
}

/* tracking */

.footer-assistance__list-link:focus .icon-tracking #Fill-1,
.footer-assistance__list-link:hover .icon-tracking #Fill-1 {
  fill: #ffd015;
}

.footer-assistance__list-link:focus .icon-tracking #Fill-5,
.footer-assistance__list-link:hover .icon-tracking #Fill-5 {
  fill: #088a45;
}

/* call */

.footer-assistance__list-link:focus .icon-call #Fill-1,
.footer-assistance__list-link:hover .icon-call #Fill-1 {
  fill: #088a45;
}

.footer-assistance__list-link:focus .icon-call #Fill-5,
.footer-assistance__list-link:hover .icon-call #Fill-5,
.footer-assistance__list-link:focus .icon-call #Fill-9,
.footer-assistance__list-link:hover .icon-call #Fill-9 {
  fill: #ffd015;
}

.footer-assistance__list-link:focus .icon-help .st22,
.footer-assistance__list-link:hover .icon-help .st22 {
  fill: #088a45;
}

.footer-assistance__list-link:focus .icon-help .st21,
.footer-assistance__list-link:hover .icon-help .st21 {
  fill: #ffd015;
}

/* faq */

.footer-assistance__list-link:focus .icon-faq #Fill-1,
.footer-assistance__list-link:hover .icon-faq #Fill-1 {
  fill: #088a45;
}

.footer-assistance__list-link:focus .icon-faq #Fill-9,
.footer-assistance__list-link:hover .icon-faq #Fill-9 {
  fill: #ffd015;
}

/* returns */

.footer-assistance__list-link:focus .icon-returns #Fill-1,
.footer-assistance__list-link:hover .icon-returns #Fill-1 {
  fill: #088a45;
}

/* accessibility */

.footer-assistance__list-link:focus .icon-accessibility #Fill-1,
.footer-assistance__list-link:hover .icon-accessibility #Fill-1,
.footer-assistance__list-link:focus .icon-accessibility #Fill-5,
.footer-assistance__list-link:hover .icon-accessibility #Fill-5 {
  fill: #088a45;
}

.footer-assistance__list-link:focus .icon-accessibility #Fill-9,
.footer-assistance__list-link:hover .icon-accessibility #Fill-9 {
  fill: #ffd015;
}

.shipping-threshold__bar[value] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.shipping-threshold__bar[value],
.shipping-threshold__bar[value]::-webkit-progress-bar {
  border-radius: 0.375rem;
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(220 244 230 / var(--tw-bg-opacity));
}

.shipping-threshold__bar[value]::-moz-progress-bar {
  border-radius: 0.375rem;
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.shipping-threshold__bar[value]::-webkit-progress-value {
  border-radius: 0.375rem;
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.shipping-threshold__bar-incentives[value] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.shipping-threshold__bar-incentives[value],
.shipping-threshold__bar-incentives[value]::-webkit-progress-bar {
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(251 251 251 / var(--tw-bg-opacity));
}

.shipping-threshold__bar-incentives[value]::-moz-progress-bar {
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(37 105 46 / var(--tw-bg-opacity));
}

.shipping-threshold__bar-incentives[value]::-webkit-progress-value {
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(37 105 46 / var(--tw-bg-opacity));
}

.first-bar[value],
.first-bar[value]::-webkit-progress-bar {
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}

.first-bar[value]::-moz-progress-bar {
  border-radius: 0.75rem;
}

.first-bar[value]::-webkit-progress-value {
  border-radius: 0.75rem;
}

.rounded-right-end .first-bar[value],
.rounded-right-end .first-bar[value]::-webkit-progress-bar {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.first-bar.flat-right-end[value]::-moz-progress-bar {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.first-bar.flat-right-end[value]::-webkit-progress-value {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.second-bar.rounded-right-end[value],
.second-bar.rounded-right-end[value]::-webkit-progress-bar {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.second-bar[value]::-moz-progress-bar {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}

.second-bar[value]::-webkit-progress-value {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.second-bar.flat-right-end[value]::-moz-progress-bar {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.second-bar.flat-right-end[value]::-webkit-progress-value {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.third-bar.rounded-right-end[value],
.third-bar.rounded-right-end[value]::-webkit-progress-bar {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.third-bar[value]::-moz-progress-bar {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.third-bar[value]::-webkit-progress-value {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.threshold-bar__container.one-half.width-full {
  width: 100%;
}

.threshold-bar__container.one-half {
  width: calc(50% - 0.5rem);
}

.threshold-bar__container.one-half.one-third {
  width: calc(33% - 0.5rem);
}

.threshold-bar__container.one-third {
  width: calc(33% - 0.5rem);
}

.progress-container.shipping-threshold-right-arrow::after{
  content: "";
  position: absolute;
  right: -0.6875rem;
  top: 0;
  display: flex;
  border-top-width: 0.75rem;
  border-left-width: 0.75rem;
  border-bottom-width: 0.75rem;
  border-top-color: transparent;
  --tw-border-opacity: 1;
  border-left-color: rgb(251 251 251 / var(--tw-border-opacity));
  border-bottom-color: transparent;
}

.progress-container.shipping-threshold-right-arrow.after-green::after{
  content: "";
  --tw-border-opacity: 1;
  border-left-color: rgb(37 105 46 / var(--tw-border-opacity));
}

.shipping-threshold-left-arrow {
  position: relative;
  right: -0.0625rem;
  width: 0;
  border-top-width: 0.75rem;
  border-left-width: 0.75rem;
  border-bottom-width: 0.75rem;
  border-top-color: rgb(251 251 251 / var(--tw-border-opacity));
  border-left-color: transparent;
  --tw-border-opacity: 1;
  border-bottom-color: rgb(251 251 251 / var(--tw-border-opacity));
}

.threshold-bar__bg {
  position: absolute;
  top: -0.125rem;
  left: -0.125rem;
  bottom: -0.125rem;
  right: auto;
  height: auto;
  border-radius: 0.75rem;
  background-color: transparent;
  background-size: 0.75rem 0.75rem;
  width: var(--percentageBar);
  background-image: linear-gradient(45deg, #d9d9d9 25%, transparent 25%, transparent 50%, #d9d9d9 50%, #d9d9d9 75%, transparent 75%, transparent);
  animation: progress-bar-stripes 1s linear infinite;
}

@keyframes progress-bar-stripes{
  0% {
    background-position: 2.5rem 0;
  }

  100% {
      background-position: 0 0;
  }
}

.threshold-text{
  flex: 1 1 0
}

.threshold-text span {
  font-size: 0.75rem;
}

.threshold-text img {
  width: 1.5rem;
}

.ajaxcart__subtotal-row-price-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ajaxcart__subtotal-row-threshold1,
.ajaxcart__subtotal-row-threshold2,
.ajaxcart__subtotal-row-threshold3 {
  box-sizing: border-box;
  border-radius: 0.75rem;
  border-width: 0.125rem;
  border-style: dashed;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 217 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(37 105 46 / var(--tw-bg-opacity));
  padding: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

/* Vue line-item animations */

.line-items-enter-active, .line-items-leave-active {
  transition: all 0.2s;
}

.line-items-enter, .line-items-leave-to {
  opacity: 0;
  transform: translateX(100%);
}

.line-items-move {
  transition: transform 0.2s;
  transition-delay: 0.2s;
}

.line-items-leave-active {
  position: absolute;
}

/* Empty cart */

.ajaxcart-empty__featured-link:focus,
.ajaxcart-empty__featured-link:focus-visible {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.ajaxcart-empty__featured-link:focus:not(:focus-visible) {
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

@media screen and (min-width: 64.0625rem){
  .ajaxcart-empty__featured-link:hover {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }
}

/* Cart close button */

.js-drawer-open-cart .header-icons__cart {
  display: none;
}

.mobile-nav__footer-links.js-drawer-open-cart .header-icons__cart {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.js-drawer-open-cart .header-icons__cart {
  display: none;
}

.js-drawer-open-cart .header-icons__cart-close {
  display: block;
}

.express-checkout-buttons {
  margin-top: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.express-checkout-buttons__button-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
  padding: 0.625rem 0;
  border-radius: 0.125rem;
  min-height: 2.5rem;
  width: 100%;
  transition: box-shadow 0.1s cubic-bezier(0.37, 0, 0.63, 1) 0s;
}

.express-checkout-buttons__button-image-container {
  max-height: 1.5625rem;
  position: relative;
  width: 70%;
  -o-object-fit: contain;
     object-fit: contain;
}

.apple-pay-button {
  padding: 0 0.625rem;
}

@media screen and (min-width: 20.3125rem){
  .apple-pay-button {
    padding: 0 1.25rem;
  }
}

@media screen and (min-width: 23.5rem){
  .apple-pay-button {
    padding: 0 1.5rem;
  }
}

.express-checkout-buttons {
  display: none;
}

/* Override hardcoded bg-white in filter template to maintain gray background */

.filter-sort__desktop {
  background-color: inherit !important;
}

/* Override Clear All button styling when page has gray background */

.gray-theme .active-filters__clear-all .btn--white-yellow,
body[style*="background-color: #D8D8D8"] .active-filters__clear-all .btn--white-yellow,
body[style*="background-color: #d8d8d8"] .active-filters__clear-all .btn--white-yellow,
.collection-sections[style*="background-color: #D8D8D8"] .active-filters__clear-all .btn--white-yellow,
.collection-sections[style*="background-color: #d8d8d8"] .active-filters__clear-all .btn--white-yellow {
  --tw-border-opacity: 1;
  border-color: rgb(216 216 216 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

/* Override Clear All button when cart drawer is open (after add to cart) */

.js-drawer-open-cart .active-filters__clear-all .btn--white-yellow {
  --tw-border-opacity: 1;
  border-color: rgb(216 216 216 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.property-key-gwpproduct .rebuy-cart__flyout-item-quantity,
.property-key-gwpproduct .rebuy-cart__flyout-item-remove {
  visibility: hidden !important;
}

.property-key-gwpproduct .rebuy-cart__flyout-item-property {
  display: none !important;
}

.collection-show-more {
	grid-column: 2 / -1;
	margin-bottom: 3.75rem;
}

@media screen and (min-width: 64.0625rem) {
	.collection-show-more {
		margin-bottom: 5rem;
	}
}

/* ponytail: pill sizing/typography of the multi-collection plain tab button.
   Colors come from .multi-collection__plain-btn via these vars; display stays in
   the markup so the responsive hidden/flex utilities keep working. */

.collection-show-more__btn {
	--plain-text-color: #000;
	--plain-border-color: #000;
	--plain-active-color: #000;
	--plain-active-text-color: #fff;
	min-height: 2.25rem;
	align-items: center;
	justify-content: center;
	border-radius: 6.25rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	padding-top: 0.3125rem;
	padding-bottom: 0.3125rem;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.3125rem;
	letter-spacing: 0.05em;
}

@media (min-width: 64.0625rem) {

  .collection-show-more__btn {
    font-size: 0.875rem;
  }
}

@media (min-width: 71.25rem) {

  .collection-show-more__btn {
    min-height: 3rem;
    line-height: 1.5;
  }
}

/* Two classes so it beats .multi-collection__plain-btn's transparent background and its
   1px border — the solid yellow pill doesn't need an outline. */

.collection-show-more__btn.multi-collection__plain-btn {
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(255 208 20 / var(--tw-bg-opacity));
}

/* The filter accordions are native <details> now — the browser shows/hides the panel and the
   chevron rotation is shared with the footer accordions, so only the marker needs hiding.
   No aria-expanded, no +/× icon pair, no accordion.js. */

.filter-desktop__label::-webkit-details-marker,
.collection-filter-menu__label::-webkit-details-marker,
.collection-side-nav-menu__label::-webkit-details-marker {
	display: none;
}

/* The .collection-side-nav-menu-* classes are still shared with two <s-accordion> callers —
   header.liquid and shipping-dropdown-new.liquid — so their aria-expanded hooks have to stay
   until those are converted too. */

.collection-side-nav-menu__label .collection-side-nav-menu__icon-plus svg,
.collection-side-nav-menu__icon-close svg {
	width: 1.5rem;
}

.collection-side-nav-menu__label[aria-expanded="true"] .collection-side-nav-menu__icon-plus {
	display: none;
}

.collection-side-nav-menu__label[aria-expanded="true"] .collection-side-nav-menu__icon-close {
	display: flex;
}

.collection-side-nav-menu__label[aria-expanded="true"]+.collection-side-nav-menu-contianer {
	display: block;
}

.collection-side-nav-menu__label[aria-expanded="false"]+.collection-side-nav-menu-contianer {
	display: none;
}

/* The side-nav groups sit outside the filter drawer but share its look. Everything below is
   scoped to details/summary on purpose: .collection-side-nav-menu* is still shared with the
   <s-accordion> + <button> markup in header.liquid and shipping-dropdown-new.liquid, which
   must not pick up these borders, padding or type. .filter-desktop__label stays unscoped —
   it is a <summary> for a filter group and a <div> for each side-nav child row, and both want
   the same treatment. */

.filter-desktop,
details.collection-filter-menu,
details.collection-side-nav-menu {
	border-bottom: 0.0625rem solid #D9D9D9;
}

.filter-sort__filters-container .filter-desktop:last-child {
	border-bottom: 0;
}

details.collection-side-nav-menu:first-of-type {
	border-top: 0.0625rem solid #D9D9D9;
}

.filter-desktop__label,
summary.collection-side-nav-menu__label,
.collection-filter-menu__label {
	padding: 1.25rem;
}

/* Filter groups sit inside the drawer's own inset, so they go flush left. The side-nav groups
   are standalone boxes and keep padding on all four sides. */

/* Tighter vertical rhythm for the drawer's FILTER heading and every group label.
   Scoped by tag where the class is shared with the <button> markup in header.liquid /
   shipping-dropdown-new.liquid, which must keep its own spacing. */

.filter-desktop__label,
div.collection-filter-menu__label,
summary.collection-side-nav-menu__label {
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
}

/* Side-nav groups sit directly on the drawer, while the filter groups are inset by their
   container's px-16 — the extra right padding lines their chevrons up. */

summary.collection-side-nav-menu__label {
	padding-right: 2.125rem;
}

.filter-desktop__label,
summary.collection-side-nav-menu__label {
	font-family: "Montserrat", Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: 700;
}

.filter-desktop__values {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* minmax(0, 1fr), not 1fr: a plain 1fr floors each track at the value label's min-content
   width, so long names like "Red/White/Blue" push the 4th column out of the drawer. */

.filter-desktop--product-color .filter-desktop__values {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.5rem;
	/* Half the 20px the other groups use — the swatch columns need the width more than the inset. */
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.filter-desktop--product-color .filter-value__label {
	flex-direction: column;
	text-align: center;
	overflow-wrap: anywhere;
}

/* The swatch cells are already narrow (4 columns), and the li's shared p-8 spends 16px of
   each cell on padding — enough to push names like "Red/White/Blue" onto a third line.
   The grid's own 8px gap keeps the columns apart, so the horizontal padding can go. */

.filter-desktop--product-color .filter-desktop__value {
	padding-left: 0;
	padding-right: 0;
}

/* Swatch grid is tight — the name carries it, the count doesn't earn the line. */

.filter-desktop--product-color .filter-value__label-count {
	display: none;
}

/* The swatch is the control, so the checkbox is hidden without leaving the a11y tree — it
   still takes focus and announces its state. */

.filter-value__label--swatch input[type="checkbox"] {
	position: absolute;
	width: 0.0625rem;
	height: 0.0625rem;
	border: 0;
	background: none;
	opacity: 0;
	pointer-events: none;
	-webkit-clip-path: inset(50%);
	        clip-path: inset(50%);
}

/* Rings are box-shadows, not borders, so the selected state can grow (40px -> 44px outer)
   without reflowing the swatch grid. */

.filter-value__swatch {
	width: 1.875rem;
	height: 1.875rem;
	margin: 0.3125rem;
	border-radius: 50%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	/* Inset hairline keeps a white swatch from disappearing into the white gap; on any other
	   color it reads as an edge, not a border. */
	box-shadow: inset 0 0 0 0.0625rem rgba(77, 77, 77, 0.4), 0 0 0 0.25rem #fff, 0 0 0 0.3125rem #4D4D4D;
}

.filter-value__label--swatch input[type="checkbox"]:checked~.filter-value__swatch {
	box-shadow: inset 0 0 0 0.0625rem rgba(77, 77, 77, 0.4), 0 0 0 0.1875rem #fff, 0 0 0 0.4375rem #128141;
}

.filter-value__label--swatch input[type="checkbox"]:focus-visible~.filter-value__swatch {
	outline: 0.125rem solid #000;
	outline-offset: 0.4375rem;
}

.filter-desktop__value {
	font-family: "Montserrat", Helvetica, sans-serif;
	font-size: 0.875rem;
}

/* Replaces the input's old mr-8 so the spacing survives the color grid's column direction. */

.filter-value__label {
	gap: 0.5rem;
}

.filter-value__text {
	font-weight: 500;
}

/* Rounded corners mean the UA checkbox has to go (border-radius does nothing on the native
   control), so the checked state needs drawing by hand — otherwise ticking one shows nothing. */

.filter-value__label input[type="checkbox"] {
	-moz-appearance: none;
	     appearance: none;
	-webkit-appearance: none;
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	border: 0.0625rem solid #4D4D4D;
	border-radius: 0.25rem;
	background: #fff;
	cursor: pointer;
}

/* Figma 636:2 — checked keeps the grey shell and shows a green inner square. */

.filter-value__label input[type="checkbox"]:checked {
	background: #fff;
	border-color: #4D4D4D;
}

.filter-value__label input[type="checkbox"]:checked::after {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	margin: 0.0625rem;
	border-radius: 0.25rem;
	background: #128141;
}

/* .filter-value__label input[type="checkbox"]:checked::after {
	content: "";
	display: block;
	width: 5px;
	height: 10px;
	margin: 2px auto 0;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
} */

.filter-value__label input[type="checkbox"]:focus-visible {
	outline: 0.125rem solid #000;
	outline-offset: 0.125rem;
}

.filter-actions {
	display: flex;
	justify-content: center;
	gap: 0.625rem;
}

/* Apply Filters / Clear All share the pill shape and type of .collection-show-more__btn.
   Colors stay with their own btn--yellow / btn--white-yellow classes. */

.active-filters__apply,
.active-filters__clear-all .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 10.75rem;
	height: 2.9375rem;
	padding: 0 0.9375rem;
	border-radius: 6.25rem;
	font-size: 0.6875rem;
	line-height: 1.3125rem;
	font-weight: 700;
	letter-spacing: 0.075em;
	text-transform: uppercase;
	text-align: center;
}

.active-filters__clear-all .btn {
	border-color: #1C1C1C;
}

@media screen and (min-width: 71.25rem) {

	.active-filters__apply,
	.active-filters__clear-all .btn {
		font-size: 0.875rem;
		line-height: normal;
	}
}

.collection-filter-menu__label {
	font-family: "obviously-narrow", Helvetica, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	border-bottom: 0.0625rem solid #D9D9D9;
}

/* Replaces accordion.js's height animation where the browser can interpolate to auto.
   Firefox lacks ::details-content as of writing and simply snaps — progressive enhancement. */

@supports selector(::details-content) {

	.filter-desktop,
	.collection-filter-menu,
	.collection-side-nav-menu {
		interpolate-size: allow-keywords;
	}

	.filter-desktop::details-content,
	.collection-filter-menu::details-content,
	.collection-side-nav-menu::details-content {
		block-size: 0;
		overflow: hidden;
		transition: block-size 0.2s ease-in-out, content-visibility 0.2s allow-discrete;
	}

	.filter-desktop[open]::details-content,
	.collection-filter-menu[open]::details-content,
	.collection-side-nav-menu[open]::details-content {
		block-size: auto;
	}
}

.filter-desktop__label:focus span,
.collection-filter-menu__label:focus span,
.collection-side-nav-menu__label:focus span {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.stay-text-color:focus span {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

.filter-desktop__label:focus:not(:focus-visible) span,
.collection-filter-menu__label:focus:not(:focus-visible) span,
.collection-side-nav-menu__label:focus:not(:focus-visible) span {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.filter-desktop__label:focus-visible span,
.collection-filter-menu__label:focus-visible span,
.collection-side-nav-menu__label:focus-visible span {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

/* Child link rows inside a side-nav panel: no dividers, one step down in type. */

.collection-side-nav-menu-inner-container .filter-desktop:last-child {
	border-bottom: 0;
}

.collection-side-nav-menu-inner-container .filter-desktop__label {
	font-size: 0.875rem;
}

.collection__read-more:focus {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.collection__read-more:focus:not(:focus-visible) {
  --tw-text-opacity: 1;
  color: rgb(176 172 176 / var(--tw-text-opacity));
}

.collection__read-more:focus-visible {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

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

.collection-footer p {
  margin-top: 1rem;
}

/* Every accordion panel: the copy's own heading sits right under the summary label, so it
   matches the body type instead of acting as a second, larger title. */

.collection-footer h2,
.collection-footer-accordion__content h2,
.collection-footer-faq__answer h2,
.collection-footer-linklist h2 {
  text-align: left;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.collection-footer h3,
.collection-footer-accordion__content h3,
.collection-footer-faq__answer h3,
.collection-footer-linklist h3 {
  font-size: 0.75rem;
}

@media screen and (min-width: 64.0625rem) {

	.filter-desktop__label:hover span,
	.collection-filter-menu__label:hover span,
	.collection-side-nav-menu__label:hover span {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }

	.stay-text-color:hover span {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
}

/* Filter drawer: slides in from the left at every breakpoint.
   s-modal toggles display (hidden/block), so the entrance is a keyframe, not a transition. */

s-modal#collection-filter-modal {
  left: 0;
  width: 100%;
  transform: none;
  overflow-y: auto;
  overflow-x: hidden;
}

@media (min-width: 64.0625rem) {

  s-modal#collection-filter-modal {
    width: 25rem;
  }
}

s-modal#collection-filter-modal {
	/* top + bottom with height:auto stretches it to the full viewport — it covers the header
	   rather than sitting below it — and beats the max-h-[75vh] on the base s-modal rule */
	top: 0;
	bottom: 0;
	height: auto;
	max-height: none;
	padding-bottom: env(safe-area-inset-bottom);
}

s-modal#collection-filter-modal>div {
  min-height: 100%;
}

s-modal#collection-filter-modal.open {
	animation: filter-drawer-in 0.3s ease-in-out;
}

@keyframes filter-drawer-in {
	from {
		transform: translateX(-100%);
	}

	to {
		transform: translateX(0);
	}
}

.sort-desktop__select.sort-plain__select {
	-moz-text-align-last: right;
	     text-align-last: right;
}

.collection-linklist__item-img img {
  border-radius: 624.9375rem;
}

/* Shared shell for the collection footer accordions (related categories + upper description). */

.collection-footer-accordion__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-family: "obviously-narrow", Helvetica, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

@media screen and (max-width: 64rem) {
	.collection-footer-accordion__summary {
		padding-right: 1rem;
	}
}

.collection-footer-accordion__summary::-webkit-details-marker {
	display: none;
}

/* icon-chevron-right already points right, so only the open state rotates. */

.collection-accordion__icon {
	flex: none;
	width: 0.375rem;
	height: 0.75rem;
	transition: transform 0.2s ease;
}

/* One rule for every accordion on the page: footer blocks, FAQ questions and the filters. */

details[open]>summary .collection-accordion__icon {
	transform: rotate(90deg);
}

/* Nested FAQ question accordions — the chevron is handled above, only the label needs type. */

.collection-footer-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.collection-footer-faq__question::-webkit-details-marker {
	display: none;
}

.collection-footer-faq__item {
	max-width: 100%;
}

@media screen and (min-width: 64.0625rem) {
	.collection-footer-faq__item {
		max-width: 80%;
	}
}

.collection-footer-faq__item+.collection-footer-faq__item {
	border-top: 0.0625rem solid #A4A4A4;
}

.collection-footer-faq__item:last-child {
	border-bottom: 0.0625rem solid #A4A4A4;
}

.collection-footer-faq__answer {
	font-size: 0.75rem;
}

.collection-footer-accordion__content {
	font-size: 0.75rem;
}

/* The metafield renders one long run of <p>/<h3>; space them so the block reads as paragraphs. */

.collection-footer-accordion__content .metafield-rich_text_field p,
.collection-footer-accordion__content .metafield-rich_text_field h3 {
	margin-bottom: 0.75rem;
}

/* Panel padding for every footer accordion, including the nested FAQ answers. */

.collection-footer-linklist .collection-linklist__items,
.collection-footer-accordion__content,
.collection-footer-faq__items,
.collection-footer-faq__answer {
	padding: 1.25rem;
}

@media screen and (max-width: 64rem) {
	.collection-footer-faq__items {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	.collection-footer-faq__items > :first-child {
		border-top: 0.0625rem solid #A4A4A4;
	}

	.collection-footer-faq__answer {
		padding-left: 0;
	}

	.collection-footer-accordion__content,
	.collection-footer-linklist .collection-linklist__items {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}

.collection-accordion__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* One pill treatment for every .collection-linklist__item, taken from the footer linklist
   tabs (.collection-footer-linklist, the reference instance). The header / breadcrumb
   variants rendered with use_images are image cards, not pills — they render a
   .collection-linklist__item-img, so :not(:has(...)) leaves them alone.

   The markup still carries per-instance pill utilities (border, rounded-full, px-16 py-8,
   shadow) on the <p> title; the reset below neutralises them so all six callers land on
   the same shape. The :not(:has()) selectors outrank those single-class utilities. */

.collection-linklist__items:not(:has(.collection-linklist__item-img)) {
	display: flex;
	gap: 0.5rem;
}

.collection-linklist__item:not(:has(.collection-linklist__item-img)) {
	display: inline-block;
	margin: 0;
	padding: 0.625rem 1.125rem;
	border: 0.0625rem solid #1C1C1C;
	border-radius: 624.9375rem;
	font-family: "Montserrat", Helvetica, sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	color: #1C1C1C;
}

/* The pill lives on the item, so the title inside goes back to plain text. */

.collection-linklist__item:not(:has(.collection-linklist__item-img)) .collection-linklist__item-title {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font: inherit;
	text-transform: inherit;
	color: inherit;
	white-space: nowrap;
}

/* Current item. Two markup conventions in play: most callers add .bg-gray-dark on
   link.current, collection-header-breadcrumb marks the <a> with aria-current. */

.collection-linklist__item:not(:has(.collection-linklist__item-img)).bg-gray-dark,
.collection-linklist__item:not(:has(.collection-linklist__item-img))[aria-current] {
	background: #1C1C1C;
	border-color: #1C1C1C;
	color: #ffffff;
}

@media screen and (min-width: 64.0625rem) {

	.collection-linklist__item:not(:has(.collection-linklist__item-img)):hover,
	.collection-linklist__item:not(:has(.collection-linklist__item-img)):focus-visible {
		color: #238a44;
		border-color: #238a44;
	}
}

/* Only the footer panel wraps; the header and sticky rails keep their horizontal scroll. */

.collection-footer-linklist .collection-linklist__items {
	flex-wrap: wrap;
	overflow: visible;
	white-space: normal;
}

.collection-sections {
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}

@media (min-width: 64.0625rem) {

  .collection-sections {
    grid-template-columns: 18.5625rem 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
  }

  .collection-sections .shopify-section {
    grid-column: 1 / -1;
    grid-column-start: 1;
  }
}

/* ponytail: `@apply ... !important` instead of `desktop:!col-start-2` —
   Prettier rewrites `desktop:!` to `desktop: !`, which Tailwind can't parse. */

@media (min-width: 64.0625rem) {

  .collection-sections .collection-landing-section {
    grid-column-start: 2 !important;
  }

  .collection-sections .collection-footer-linklist {
    grid-column-start: 2 !important;
  }
}

.collection-sections .breadcrumbs-section .breadcrumb {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (min-width: 64.0625rem) {

  .collection-sections .breadcrumbs-section .breadcrumb {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .collection-linklist {
    padding-right: 0;
  }

  .collection-sections .collection-side-nav {
    grid-column: span 1 / span 1;
    padding-left: 2rem;
    grid-column-start: 1 !important;
  }
}

.collection-sections .collection-side-nav [js-scroll-filter] {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.collection-sections .collection-landing-section .collection-footer {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

@media (min-width: 64.0625rem) {

  .collection-sections .collection-landing-section .collection-footer {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}

.collection-footer__upper {
	border-bottom: 0.0625rem solid #a4a4a4;
}

.collection-footer__upper h2 {
  margin-bottom: 1rem;
  text-align: left;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.collection-footer__upper p strong {
  margin-top: 1rem;
  margin-bottom: 1rem;
  display: block;
}

.collection-footer__upper a {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.collection-footer__upper a:focus {
  text-decoration-line: underline;
}

 {
  font-weight: 600;

  &.collection-footer__upper a:focus {
    font-weight: 700;
  }

  &.collection-footer__upper a:focus {
    font-weight: 700;
  }
}

.collection-footer__upper a:focus-visible {
  text-decoration-line: underline;
}

 {
  font-weight: 600;

  &.collection-footer__upper a:focus-visible {
    font-weight: 700;
  }

  &.collection-footer__upper a:focus-visible {
    font-weight: 700;
  }
}

.collection-footer__upper a:focus:not(:focus-visible) {
  text-decoration-line: none;
}

.collection-footer__upper a:hover {
  text-decoration-line: underline;
}

 {
  font-weight: 600;

  &.collection-footer__upper a:hover {
    font-weight: 700;
  }

  &.collection-footer__upper a:hover {
    font-weight: 700;
  }
}

.collection-grid__tout {
	display: grid;
	grid-column-start: var(--mobile-col-start);
	grid-column-end: calc(var(--mobile-col-start) + var(--mobile-col-width));
	grid-row-start: var(--mobile-row-start);
	grid-row-end: calc(var(--mobile-row-start) + var(--mobile-row-height));
}

.collection-grid__tout-mobile--full {
	display: grid;
	grid-column: 1 / -1;
}

.collection-grid__tout video {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.collection-tout__content-container p {
  font-size: 1.25rem;
  font-weight: 900;
}

.sort-desktop__select:not(.sort-plain__select):focus+.sort-desktop__arrow span,
.sort-desktop__select:not(.sort-plain__select):focus-visible+.sort-desktop__arrow span {
  --tw-text-opacity: 1;
  color: rgb(255 208 20 / var(--tw-text-opacity));
}

.sort-desktop__select.btn--yellow:focus,
.sort-desktop__select.btn--yellow:focus-visible {
  background-color: transparent;
}

.sort-desktop__select.btn--yellow:focus+.sort-desktop__arrow,
.sort-desktop__select.btn--yellow:focus-visible+.sort-desktop__arrow {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

@media (min-width: 64rem) {
	.collection-grid__tout {
		grid-column: auto;
		grid-column-start: var(--desktop-col-start);
		grid-column-end: calc(var(--desktop-col-width) + 1);
		grid-row-start: var(--desktop-row-start);
		grid-row-end: calc(var(--desktop-row-height) + 1);
	}

	.collection-grid__tout-mobile--full {
		grid-column: 1 / -1;
	}

	.collection-grid__tout-desktop--full {
		aspect-ratio: 3.28 / 1;
	}

	.sort-desktop__select:not(.sort-plain__select):hover+.sort-desktop__arrow span {
    --tw-text-opacity: 1;
    color: rgb(255 208 20 / var(--tw-text-opacity));
  }

	.sort-desktop__select.btn--yellow:hover {
    background-color: transparent;
  }

	.sort-desktop__select.btn--yellow:hover+.sort-desktop__arrow {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  }

}

.sort-desktop__select {
	-moz-text-align-last: center;
	     text-align-last: center;
}

.collection-header-breadcrumb-mobile .collection-filters {
  display: none;
}

.mobile-nav__footer-links.collection-header-breadcrumb-mobile .collection-filters {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.collection-header-breadcrumb-mobile .collection-filters {
  display: none;
}

/* Mobile collection description clamp. Deliberately NOT Tailwind's line-clamp-3 /
   line-clamp-none pair: line-clamp-none swaps display from -webkit-box back to block, and the
   two layout modes wrap text slightly differently, so expanding made the copy jump. Here only
   -webkit-line-clamp changes — same display, same width, same overflow in both states. */

.collection__description-text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.collection__description-toggle:checked~.collection__description-text {
	-webkit-line-clamp: unset;
}

/* Collection templates only — request.page_type lands on <body> as .template-collection
   (layout/theme.liquid). Keeps the footer off the footer accordions. */

.template-collection #shopify-section-footer {
	margin-top: 9rem;
}

@media screen and (max-width: 64rem) {
	.template-collection #shopify-section-footer {
		margin-top: 3rem;
	}
}

.rte ul {
  list-style-position: inside;
  list-style-type: disc;
}

/* .mobile-drawer__trigger font {
  @apply font-500;
}*/

.mobile-nav__bottom-link:focus {
  text-decoration-line: none;
}

.mobile-nav__bottom-link:focus-visible {
  text-decoration-line: none;
}

.mobile-nav__footer-links {
  box-shadow: 0 -0.0625rem 0.125rem -0.0625rem #0000001a;
  box-shadow: 0 -0.0625rem 0.1875rem 0 #0000001a;
  transition:
    opacity 0.3s ease-in-out,
    transform 0.3s ease-in-out;
  transform: translateY(0);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  opacity: 1;
}

.mobile-nav__footer-links.hidden {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.mobile-nav-header-link {
  margin-bottom: 1.25rem;

  &::-webkit-scrollbar {
    display: none;
  }

  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none
}

/* Disable the Glass UI for drawers on iOS 26 or higher */

body.safari-glass-ui {
    overflow: auto;
    height: 100%;
}

html.safari-glass-ui {
    overflow: hidden;
    height: 100%;
}

.accordion {
  display: block;
}

.accordion-header {
  position: relative;
  text-align: left;
  width: 100%;
}

.accordion-header::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-size: 1.5rem;
}

.accordion-header[aria-expanded="false"]::after {
  content: '+';
}

.accordion-header[aria-expanded="false"] .accordion-header__icon-plus {
  display: flex;
}

.accordion-header[aria-expanded="false"] .accordion-header__icon-minus {
  display: none;
}

.mobile-nav__footer-links.accordion-header[aria-expanded="false"] .accordion-header__icon-minus {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.accordion-header[aria-expanded="false"] .accordion-header__icon-minus {
  display: none;
}

.accordion-header[aria-expanded="true"]::after {
  content: '-';
}

.accordion-header[aria-expanded="true"] .accordion-header__icon-plus {
  display: none;
}

.mobile-nav__footer-links.accordion-header[aria-expanded="true"] .accordion-header__icon-plus {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.accordion-header[aria-expanded="true"] .accordion-header__icon-plus {
  display: none;
}

.accordion-header[aria-expanded="true"] .accordion-header__icon-minus {
  display: flex;
}

.accordion-header .accordion-icon {
  position: absolute;
  right: 2rem;
  top: 50%;
  width: 0.875rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.accordion-header[aria-expanded="false"] .accordion-icon {
  --tw-rotate: -45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.accordion-content {
  background-color: #ffffff;
  overflow: hidden;
  transition: height 0.2s ease-in-out;
}

/* Closed: kill the padding so height:0 is truly 0 (border-box keeps padding
   otherwise, leaving a residual gap). Open: restore scroll + let the utility
   padding classes apply. */

.accordion-content[aria-hidden="true"] {
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}

.accordion-content[aria-hidden="false"] {
  overflow: auto;
}

.accordion-type-two:last-child {
  border-bottom: 0.0625rem solid #d9d9d9;
}

.carousel-dot.selected {
  pointer-events: none;
}

.review-grid__dot.selected {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.collection-carousel .swiper-scrollbar {
  height: 0.25rem;
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(239 239 239 / var(--tw-bg-opacity));
}

.collection-carousel .swiper-scrollbar-drag {
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.collection-carousel .swiper-scrollbar.swiper-scrollbar-horizontal {
  left: 0 !important;
  width: 100% !important;
}

/* the section drops its right padding on mobile so slides bleed off-screen;
   keep the scrollbar inset by the gutter */

@media (max-width: 64rem) {
  .collection-carousel .swiper-scrollbar.swiper-scrollbar-horizontal {
    width: calc(100% - 1rem) !important;
  }
}

/* Grid-on-mobile mode: swiper is destroyed below desktop, so lay the slides out
   as a 2-up grid instead of leaving them in swiper's flex row */

@media (max-width: 64rem) {
  .collection-carousel--grid-mobile .swiper:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding-bottom: 0;
  }
  .collection-carousel--grid-mobile .swiper:not(.swiper-initialized) .swiper-slide {
    width: 100%;
  }
}

.collection-carousel__nav-btn:after {
  content: "";
}

/* ponytail: 35% approximates the product image's vertical center; adjust if the card layout changes */

.collection-carousel .collection-carousel__nav-btn {
  top: 35%;
  display: none;
}

/* buttons sit outside .swiper, so the .swiper-initialized reveal never reaches them */

@media (min-width: 64rem) {
  .collection-carousel .collection-carousel__nav-btn {
    display: flex;
  }
}

.collection-carousel__nav-btn .icon-circle-chevron {
  width: 100%;
  height: 100%;
}

.collection-carousel .collection-carousel__nav-btn.swiper-button-disabled {
  opacity: 1;
}

/* Swiper */

.swiper {
  overflow: visible;
}

.swiper.swiper-initialized {
  overflow: hidden;
}

.swiper-wrapper {
  display: block;
}

.swiper-initialized .swiper-wrapper {
  display: flex;
}

.swiper-button-prev,
.swiper-button-next {
  display: none;
}

.mobile-nav__footer-links.swiper-button-prev,.mobile-nav__footer-links
.swiper-button-next {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.swiper-button-prev,.desktop-zoom-modal__image-item
.swiper-button-next {
  display: none;
}

.swiper-initialized .swiper-button-prev,
.swiper-initialized .swiper-button-next {
  display: flex;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  pointer-events: none;
}

.swiper-scrollbar-featured {
  bottom: auto !important;
  height: .25rem !important;
  left: auto !important;
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  z-index: 1 !important;
}

@media screen and (min-width: 48rem){
  .swiper-scrollbar-featured {
    margin: 1rem;
  }
}

.swiper-scrollbar-featured .swiper-scrollbar-drag {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.product-card__badge,
.product-card__badge--right {
  --tw-bg-opacity: 1;
  background-color: rgb(227 242 245 / var(--tw-bg-opacity));
	color: #14519B;
}

/* Montserrat's ascent/descent (13/6) are asymmetric, so the markup's even py-5 renders
   the uppercase caps ~1.8px high. Split the 10px vertically to optically center them —
   badge height stays 28px.
   ponytail: replace with `text-box: trim-both cap alphabetic` once Firefox ships it. */

.product-card__badge,
.product-card__badge--right,
.product-card__badge--sale,
.product-card__badge--sold-out {
	padding-top: 0.375rem;
	padding-bottom: 0.25rem;
}

.product-card__callout {
	color: #14519B;
}

/* callout sits directly above the title, so drop the title's own top margin */

.product-card__callout + .product-card__title {
  margin-top: 0;
}

.product-card__badge--sold-out {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.product-card__badge--sale {
  --tw-bg-opacity: 1;
  background-color: rgb(218 72 55 / var(--tw-bg-opacity));
}

.product-card-modal .product__price .price-item {
  font-size: 1.125rem;
}

@media (min-width: 64.0625rem) {

  .product-card-modal .product__price .price-item {
    font-size: 1.75rem;
  }
}

.product-card-modal .product__price .price {
  justify-content: center;
}

@media (min-width: 64.0625rem) {

  .product-card-modal .product__price .price {
    justify-content: flex-start;
  }
}

.flip-card-inner {
	transition: transform 0.8s;
	transform-style: preserve-3d;
}

.flip-card-front, 
.flip-card-back {
	backface-visibility: hidden;
}

.flip-card-back {
	transform: rotateY(180deg);
}

.product-card__image:focus-visible .flip-card .flip-card-inner {
	transform: rotateY(180deg);
}

.product-card__image:focus:not(:focus-visible) .flip-card .flip-card-inner {
	transform: rotateY(0deg);
}

.product-card__quick-add {
	transition: transform 500ms ease-in-out;
}

.yotpo-display-wrapper .yotpo-bottomline.pull-left.star-clickable{
	display: flex !important;
	gap: 0.25rem;
	align-items: center;
}

.product-card__ratings .yotpo-sr-star-full {
	width: 0.75rem !important;
}

/* SVG stars (star-ratings widget) take fill on the path, font-icon stars (bottomline) take color */

.product-card__ratings .yotpo-sr-star-full path,
.product-card__ratings .yotpo-sr-star-half path {
	fill: #FFD014 !important;
	stroke: #FFD014 !important;
}

.product-card__ratings .yotpo-sr-star-empty path {
	fill: transparent !important;
	stroke: #FFD014 !important;
}

.product-card__ratings .yotpo-sr-bottom-line-text {
	font-size: 0.75rem !important;
	color: #4D4D4D !important;
}

.product-card__ratings .yotpo-sr-bottom-line-summary > div {
	margin-right: 0.3125rem !important;
}

.product-card__ratings .yotpo-sr-bottom-line-summary {
	align-items: center !important;
}

.product-card__ratings .yotpo-sr-bottom-line-text.yotpo-sr-bottom-line-text--right-panel{
	font-family: 'Montserrat', sans-serif !important;

	/* beats the 12px !important on the base .yotpo-sr-bottom-line-text rule above */
	@media (max-width: 64rem) {
		font-size: 0.625rem !important;
	}
}

.yotpo-icon.yotpo-icon-star.rating-star.pull-left,
.yotpo-icon.yotpo-icon-half-star.rating-star.pull-left,
.yotpo-icon.yotpo-icon-empty-star.rating-star.pull-left,
.yotpo-bottomline.pull-left.star-clickable a{
	font-size: 0.75rem !important;
	min-height: 1.0625rem;
}

.yotpo-icon.yotpo-icon-star.rating-star.pull-left,
.yotpo-icon.yotpo-icon-half-star.rating-star.pull-left,
.yotpo-icon.yotpo-icon-empty-star.rating-star.pull-left {
	color: #FFD014 !important;
}

.yotpo-bottomline.pull-left.star-clickable a,
.product-card__ratings .yotpo-sr-bottom-line-text.yotpo-sr-bottom-line-text--right-panel {
	color: #4D4D4D !important;
}

@media screen and (min-width: 64.0625rem){
	.product-card .product-card__ratings:hover .yotpo-bottom-line-scroll-panel {
		cursor: pointer;
	}
	.product-card__image:hover .flip-card .flip-card-inner {
		transform: rotateY(180deg);
	}
	.product-card__image:hover .product-card__quick-add {
		transform: translateY(0);
	}
}

.product-card-overlay {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-color: rgb(135 149 150 / .08);
}

/* The shared price snippet hardcodes text-16; card prices sit one step down.
   Covers the sale, regular and struck-through compare prices. */

.product-card__price .price-item {
  font-size: 0.75rem;
}

@media (min-width: 64.0625rem) {

  .product-card__price .price-item {
    font-size: 0.875rem;
  }
}

#recover:target {
  display: block;
}

#recover:target ~ #login {
  display: none;
}

.mobile-nav__footer-links#recover:target ~ #login {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item#recover:target ~ #login {
  display: none;
}

.image-cta__cta-title {
  color: var(--tooltip-color-mobile);
}

@media screen and (min-width: 64.0625rem) {
    .image-cta__cta-title {
        color: var(--tooltip-color-desktop);
    }

    .image-cta__cta-btn-container .text-cta__button:hover{
      background-color: var(--tooltip-bg_hover) !important;
      color: var(--tooltip-color_hover) !important;
    }
}

.about-banner {
  margin-top: 2.75rem;
  margin-bottom: 2.75rem;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  max-width: 47.9375rem;
  --tw-rotate: -3deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(255 208 20 / var(--tw-bg-opacity));
  padding: 2rem;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

@media only screen and (min-width: 64.0625rem) {
    .about-banner {
    width: 75%;
    font-size: 1.5rem;
  }
}

.sizing__charts div {
  border-top-width: 0.0625rem;
  --tw-border-opacity: 1;
  border-color: rgb(176 172 176 / var(--tw-border-opacity));
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.sizing__charts h5 {
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(73 73 73 / var(--tw-text-opacity));
}

.sizing__charts section {
  max-width: 100%;
  overflow-x: auto;
}

.sizing__charts table {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  border-collapse: collapse;
  overflow-x: auto;
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(73 73 73 / var(--tw-text-opacity));
}

.sizing__charts table th {
  border-width: 0.0625rem;
  --tw-border-opacity: 1;
  border-color: rgb(176 172 176 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity));
  padding: 0.375rem;
  text-transform: uppercase;
}

.sizing__charts table th:first-of-type {
  text-transform: none;
}

.sizing__charts table td {
  border-width: 0.0625rem;
  --tw-border-opacity: 1;
  border-color: rgb(176 172 176 / var(--tw-border-opacity));
  padding: 0.375rem;
}

.sizing__charts table tbody tr:nth-of-type(even) td {
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity));
}

.sizing__charts h4 {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(73 73 73 / var(--tw-text-opacity));
}

.sizing__charts p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  --tw-text-opacity: 1;
  color: rgb(73 73 73 / var(--tw-text-opacity));
}

.sizing__charts p strong {
  text-transform: uppercase;
}

.faq-content-accordion__button {
    box-shadow: 0 0 0.1875rem 0.0625rem #b7b7b7;
}

.faq-content-accordion__button::after,
.faq-question-accordion__button::after {
    top: 45%;
    right: 2.125rem;
}

.faq-content-accordion__button:focus{
    box-shadow: 0 0 0.625rem 0 rgb(5 138 68 / 50%);
}

.faq-content-accordion__button:hover {
    box-shadow: 0 0 0.625rem 0 rgb(5 138 68 / 50%);
    transition: all .3s ease;
}

.faq-content-accordion__button[aria-expanded="false"]::after {
    content: '';
  }

.faq-content-accordion__button[aria-expanded="true"]::after {
    content: '';
}

.faq-content-accordion__button[aria-expanded="true"] .icon-caret__container {
  --tw-rotate: -180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transition: all .4s ease;
}

.faq-content-accordion__button[aria-expanded="false"] .icon-caret__container{
    transition: all .4s ease;
}

.product-images__dot.selected {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

@media (min-width: 64.0625rem) {

  .product-images__dot.selected {
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity));
    background-color: transparent;
  }
}

.product__price .price-item {
  font-size: 1rem;
  font-weight: 600;
  font-family: Montserrat, Helvetica, sans-serif;
}

/* Matches the mobile sale badge on the product card: text-10, px-8, py-[2px]. */

.pdp__badge--sale {
  font-size: 0.625rem;
  padding: 0.125rem 0.5rem;
}

.product-swatch__header-sizeguide>* {
  pointer-events: none;
}

.product-sizeguide__content div {
  border-style: none;
  padding: 0;
}

.product-swatch__label.product-swatch__label--unavailable {
  --tw-border-opacity: 1;
  border-color: rgb(176 172 176 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(176 172 176 / var(--tw-text-opacity));
}

.peer:checked ~ .product-swatch__label.product-swatch__label--unavailable {
  --tw-bg-opacity: 1;
  background-color: rgb(73 73 73 / var(--tw-bg-opacity));
}

.product-swatch__label.product-swatch__label--unavailable .product-swatch__label-icon {
  display: block;
}

.product-swatch__label--unavailable .icon {
  height: 100%;
}

.product-option__swatch .btn.ks-chart-modal-button,
.product-option__swatch span.ks-chart-modal-link {
  margin: 0;
  padding: 0;
}

btn.ks-chart-modal-button>span {
  font-size: 0.75rem !important;
}

.product-atc__bis {
  display: none;
}

.mobile-nav__footer-links.product-atc__bis {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.product-atc__bis {
  display: none;
}

.product-atc__error {
  grid-row: 3;
}

#bwpFrame {
  order: 4;
}

.product-sizeguide__content p:last-of-type {
  margin-bottom: 0;
}

/* PDP accordions — native <details>/<summary>, no JS.
   Own namespace on purpose: .accordion-* and <s-accordion> are shared with ~20 other callers
   (header, mobile nav, filters, FAQ, collections), so nothing here can reach them. */

.product-accordion {
  border-bottom: 0.0625rem solid #1c1c1c;
}

.product-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  /* Tailwind's tracking-wide */
  letter-spacing: 0.05em;
  color: #1c1c1c;
  cursor: pointer;
  /* both lines needed to drop the default disclosure triangle */
  list-style: none;
}

.product-accordion__summary::-webkit-details-marker {
  display: none;
}

/* icon-chevron-right is drawn in a 6x12 viewBox and already points right, so the collapsed
   state needs no transform — only the open state turns it a quarter-turn to point down. */

.product-accordion__icon {
  flex: none;
  width: 0.375rem;
  height: 0.75rem;
  transition: transform 0.2s ease;
}

.product-accordion[open] .product-accordion__icon {
  transform: rotate(90deg);
}

.product-accordion__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.product-accordion__content {
  padding-bottom: 1.25rem;
  font-size: 0.75rem;
}

.product-accordion__specs dt {
  font-weight: 700;
}

.product-accordion__specs dd {
  margin: 0 0 1rem;
}

.product-accordion__specs dd:last-child {
  margin-bottom: 0;
}

/* Animate open/close where the browser can interpolate to auto. Firefox lacks
   ::details-content as of writing and simply snaps — progressive enhancement, still no JS. */

@supports selector(::details-content) {
  .product-accordion {
    interpolate-size: allow-keywords;
  }

  .product-accordion::details-content {
    block-size: 0;
    overflow: hidden;
    transition: block-size 0.25s ease, content-visibility 0.25s allow-discrete;
  }

  .product-accordion[open]::details-content {
    block-size: auto;
  }

  /* Respect a reduced-motion preference: open/close instantly, no height sweep. */
  @media (prefers-reduced-motion: reduce) {
    .product-accordion::details-content {
      transition: none;
    }
  }
}

/* No .price-item override here — the bundle price keeps price.liquid's text-16 font-500, the same
   scale the PDP price renders at. */

/* Matches the PDP swatch's peer-checked state (product-option-selector.liquid): black-text, not black. */

.product-bundle__item-swatch.selected {
  --tw-border-opacity: 1;
  border-color: rgb(28 28 28 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.klaviyo-bis-trigger {
  margin-top: 1rem !important;

  /* 1025px is the theme's `desktop` breakpoint */
  @media (min-width: 64.0625rem) {
    margin-top: 2rem !important;
  }
}

/* Products with no reviews still reserve the h-20 + mb-4 strip .product__stars carries in the
   markup, leaving a gap above the title. Collapse it — but only once Yotpo has actually answered.

   The two states look different in the DOM: before the widget renders there is no
   .yotpo-widget-instance at all, after it renders with zero reviews there is an instance with no
   filled star. Gating on "instance present AND no full star" means the strip keeps its height
   while the widget is still loading, so products that DO have reviews never shift the title down.

   A rating below 0.5 can't exist (one star is the floor), so "no .yotpo-sr-star-full" only ever
   means zero reviews. */

@media screen and (max-width: 64rem) {
  .product__stars:has(.yotpo-widget-instance):not(:has(.yotpo-sr-star-full)) {
    display: none;
  }
}

/* Yotpo Styling Overrides */

.product__stars .yotpo .standalone-bottomline .star-clickable {
  margin-bottom: 1rem;
  display: flex !important;
  align-items: center;
}

.product__stars .yotpo .yotpo-bottomline .yotpo-icon-star,
.product__stars .yotpo .yotpo-bottomline .yotpo-icon-half-star,
.product__stars .yotpo .yotpo-bottomline .yotpo-icon-empty-star {
  font-size: 1.5rem !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
}

.product__stars .yotpo .yotpo-stars {
  display: flex;
  align-items: center;
}

.product__stars .yotpo .sr-only {
  position: static;
  margin: 0;
  margin-left: 1rem;
  margin-right: 0.25rem;
  display: block;
  height: auto;
  width: 1.375rem;
  font-size: 1rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(38 112 235 / var(--tw-text-opacity));
}

.product__stars .yotpo .text-m {
  font-family: Montserrat, Helvetica, sans-serif !important;
  font-size: 0.625rem !important;
  font-weight: 500;
  text-transform: capitalize;
  --tw-text-opacity: 1 !important;
  color: rgb(77 77 77 / var(--tw-text-opacity)) !important;
  text-decoration-line: underline !important;
}

.product__stars .yotpo .text-m::before {
  --tw-content: '(';
  content: var(--tw-content);
}

.product__stars .yotpo .text-m::after {
  --tw-content: ')';
  content: var(--tw-content);
}

/* Star-ratings widget (yotpo-widget-clear) on the PDP.
   The rules above only reach the legacy bottomline widget, whose stars are an icon font and
   take `color`. This newer widget renders SVG stars, which take fill/stroke on the path —
   same distinction, and same values, as .product-card__ratings in components/product-card.css.
   Scoped to `.product` (the <main-product> wrapper) so it stays PDP-only. */

.product .yotpo-widget-clear .yotpo-sr-star-full path,
.product .yotpo-widget-clear .yotpo-sr-star-half path,
.product__stars .yotpo-sr-star-full path,
.product__stars .yotpo-sr-star-half path {
  fill: #ffd014 !important;
  stroke: #ffd014 !important;
}

.product .yotpo-widget-clear .yotpo-sr-star-empty path,
.product__stars .yotpo-sr-star-empty path {
  fill: transparent !important;
  stroke: #ffd014 !important;
}

.product .yotpo-widget-clear .yotpo-sr-bottom-line-text,
.product__stars .yotpo-sr-bottom-line-text {
  color: #4d4d4d !important;
  font-size: 0.625rem !important;
  font-family: Montserrat, Helvetica, sans-serif !important;
  text-decoration: underline !important;
}

.product__reviews .yotpo .yotpo-label-container {
  display: none !important;
}

.product__reviews .yotpo .yotpo-first-review .yotpo-first-review-stars .yotpo-icon-star,
.product__reviews .yotpo .yotpo-bottomline .yotpo-icon-star,
.product__reviews .yotpo .yotpo-bottomline .yotpo-icon-half-star,
.product__reviews .yotpo .yotpo-bottomline .yotpo-icon-empty-star,
.product__reviews .yotpo .write-review .yotpo-header .yotpo-icon {
  --tw-text-opacity: 1 !important;
  color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .yotpo-default-button,
.product__reviews .yotpo input[type="button"].yotpo-default-button {
  max-height: 2.75rem !important;
  cursor: pointer !important;
  border-width: 0.0625rem !important;
  border-style: solid !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(28 28 28 / var(--tw-border-opacity)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
  padding: 0.75rem !important;
  font-family: Montserrat, Helvetica, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: 1.125rem !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
  outline: 0.125rem solid transparent !important;
  outline-offset: 0.125rem !important;
}

.product__reviews .yotpo .yotpo-default-button:disabled,
.product__reviews .yotpo input[type="button"].yotpo-default-button:disabled {
  cursor: not-allowed;
}

.product__reviews .main-widget .write-question-review-buttons-container {
  width: auto;
}

.product__reviews .main-widget .write-question-review-buttons-container .write-question-review-button {
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: 0.125rem solid transparent !important;
  outline-offset: 0.125rem !important;
}

.product__reviews .write-question-review-buttons-container .write-question-review-button .write-question-review-button-text {
  width: auto !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .yotpo-default-button:focus,
.product__reviews .yotpo input[type="button"].yotpo-default-button:focus {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
}

.product__reviews .yotpo .yotpo-default-button:focus .write-question-review-button-text,
.product__reviews .yotpo input[type="button"].yotpo-default-button:focus .write-question-review-button-text,
.product__reviews .yotpo .yotpo-default-button:hover .write-question-review-button-text,
.product__reviews .yotpo input[type="button"].yotpo-default-button:hover .write-question-review-button-text {
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo-mandatory-mark {
  --tw-text-opacity: 1 !important;
  color: rgb(248 39 36 / var(--tw-text-opacity)) !important;
}

.product__reviews .y-label,
.product__reviews .yotpo-mandatory-explain {
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo input,
.product__reviews .yotpo .y-input {
  --tw-border-opacity: 1 !important;
  border-color: rgb(216 216 216 / var(--tw-border-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo input:focus,
.product__reviews .yotpo .y-input:focus {
  --tw-border-opacity: 1 !important;
  border-color: rgb(28 28 28 / var(--tw-border-opacity)) !important;
}

.product__reviews .yotpo .primary-color-btn:focus,
.product__reviews .yotpo input[type="button"].primary-color-btn:focus,
.product__reviews .yotpo .primary-color-btn:hover,
.product__reviews .yotpo input[type="button"].primary-color-btn:hover {
  border-width: 0.0625rem !important;
  border-style: solid !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(28 28 28 / var(--tw-border-opacity)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .main-widget form .write-form.visible {
  margin-top: 2.25rem !important;
}

.product__reviews .yotpo .write-review .connect-wrapper {
  padding-left: 0 !important;
}

/* Every Montserrat override for the Yotpo widget lives here — keep it that way.
   Scoped to #yotpo-reviews-main-widget (Yotpo injects the ID at runtime) — the widget does
   NOT render inside .product__reviews. The scope also keeps the bare `input`/`label`
   selectors from restyling every form in the theme. */

#yotpo-reviews-main-widget input,
#yotpo-reviews-main-widget label,
#yotpo-reviews-main-widget .y-input,
#yotpo-reviews-main-widget .yotpo-bottom-line-basic-text,
#yotpo-reviews-main-widget .yotpo-button-icon-text,
#yotpo-reviews-main-widget .yotpo-clear-filters,
#yotpo-reviews-main-widget .yotpo-date-format,
#yotpo-reviews-main-widget .yotpo-dropdown-option,
#yotpo-reviews-main-widget .yotpo-dropdown-placeholder,
#yotpo-reviews-main-widget .yotpo-dropdown-wrapper,
#yotpo-reviews-main-widget .yotpo-filter-select,
#yotpo-reviews-main-widget .yotpo-matched-reviews,
#yotpo-reviews-main-widget .yotpo-media-gallery-headline,
#yotpo-reviews-main-widget .yotpo-media-select,
#yotpo-reviews-main-widget .yotpo-new-review-btn,
#yotpo-reviews-main-widget .yotpo-read-more,
#yotpo-reviews-main-widget .yotpo-read-more-text,
#yotpo-reviews-main-widget .yotpo-related-product-label,
#yotpo-reviews-main-widget .yotpo-related-product-link,
#yotpo-reviews-main-widget .yotpo-related-product-name-link-text,
#yotpo-reviews-main-widget .yotpo-review-card,
#yotpo-reviews-main-widget .yotpo-review-title,
#yotpo-reviews-main-widget .yotpo-review-votes-icons-wrapper,
#yotpo-reviews-main-widget .yotpo-review-votes-text,
#yotpo-reviews-main-widget .yotpo-reviewer-name,
#yotpo-reviews-main-widget .yotpo-reviewer-name-text,
#yotpo-reviews-main-widget .yotpo-reviewer-verified-buyer-text,
#yotpo-reviews-main-widget .yotpo-reviews-icon-text,
#yotpo-reviews-main-widget .yotpo-reviews-pagination-item,
#yotpo-reviews-main-widget .yotpo-search-filter,
#yotpo-reviews-main-widget .yotpo-search-input,

#yotpo-reviews-main-widget .yotpo-search-filter .yotpo-search-input,
#yotpo-reviews-main-widget .yotpo-selected-value,
#yotpo-reviews-main-widget .yotpo-smart-topic-filter,
#yotpo-reviews-main-widget .yotpo-smart-topics-headline,
#yotpo-reviews-main-widget .yotpo-smart-topics-see-more-label,
#yotpo-reviews-main-widget .yotpo-text-container,

.yotpo-bottom-line-score,
.yotpo-paragraph-summary-container,
.yotpo-paragraph-summary-container *,

.yotpo-review-media-modal-body,
.yotpo-review-media-modal-body * {
  font-family: Montserrat, Helvetica, sans-serif !important;
}

.yotpo-review-media-modal-body .yotpo-reviewer-name.unselectable,
.yotpo-review-media-modal-body .yotpo-review-title.yotpo-modal-body-review-title {
  font-weight: 700 !important;
}

/* 0.875rem == the scale's text-14 */

.yotpo-review-media-modal-body .yotpo-read-more-text {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

.product__reviews .yotpo-bottom-line-basic-text,
.product__reviews .yotpo-bottom-line-left-panel.yotpo-bottom-line-score,
.product__reviews .yotpo-date-format,
.product__reviews .yotpo-review-votes-text,
.product__reviews .yotpo-reviewer-verified-buyer-text,
.product__reviews .yotpo-reviewer-name,
.product__reviews .yotpo-review-card,
.product__reviews .yotpo-review-card .yotpo-review-title,
.product__reviews .yotpo-review-card .yotpo-read-more-text {
  --tw-text-opacity: 1 !important;
  color: rgb(77 77 77 / var(--tw-text-opacity)) !important;
}

#yotpo-reviews-main-widget .yotpo-review {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}

/* The card's bottom gap lives on the votes row, its last child. */

#yotpo-reviews-main-widget .yotpo-review-votes-wrapper {
  margin-bottom: 1.875rem !important;
}

#yotpo-reviews-main-widget .yotpo-review-title {
  font-weight: 700 !important;
}

#yotpo-reviews-main-widget .yotpo-review-date,
#yotpo-reviews-main-widget .yotpo-date-format {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

#yotpo-reviews-main-widget .yotpo-smart-topic-filter {
  font-weight: 600 !important;
}

#yotpo-reviews-main-widget .yotpo-reviewer-name-text {
  font-weight: 600 !important;
}

#yotpo-reviews-main-widget .yotpo-read-more-text {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

#yotpo-reviews-main-widget .yotpo-review-date,
#yotpo-reviews-main-widget .yotpo-date-format {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

#yotpo-reviews-main-widget .yotpo-review-votes-text {
  margin-bottom: 0.4rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

#yotpo-reviews-main-widget .yotpo-header-container {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(244 244 244 / var(--tw-bg-opacity)) !important;
}

#yotpo-reviews-main-widget .yotpo-related-product-container.yotpo-review-related-product {
  width: -moz-fit-content !important;
  width: fit-content !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 249 237 / var(--tw-bg-opacity)) !important;
  padding: 0.75rem !important;
}

#yotpo-reviews-main-widget .yotpo-related-product.yotpo-grouped-product-name {
  margin-bottom: 0 !important;
}

.product__reviews .bottom-line-items-container-desktop,
.product__reviews .bottom-line-items-container-mobile {
  height: auto !important;
}

/* "Reviews" headline in the new widget. The ID is injected by Yotpo at runtime. */

#yotpo-headline-reviews {
  margin-bottom: 0 !important;
  text-align: left !important;
  font-family: obviously-narrow, Helvetica, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

@media (min-width: 64.0625rem) {

  #yotpo-headline-reviews {
    text-align: center !important;
    font-size: 1.875rem !important;
  }
}

.yotpo-head {
  margin-bottom: 2.5rem !important;
  justify-content: center !important;
}

.yotpo-layout-header-wrapper {
  margin-top: 2.5rem !important;
  border-bottom-width: 0 !important;
}

/* Caps the widget at the theme's content width instead of letting it run edge to edge. */

@media (min-width: 64.0625rem) {

  .yotpo-base-layout {
    width: 100% !important;
    max-width: 90rem !important;
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

/* Mobile header block. Kept below the rules it overrides: everything here and there carries
   !important and a media query adds no specificity, so source order is what decides. */

@media screen and (max-width: 64rem) {
  .yotpo-display-s .yotpo-head {
    flex-direction: column !important;
    justify-content: flex-start !important;
  }

  /* Yotpo's own mobile class — it pushes the headline down only at .yotpo-display-s. The ID is
     carried in the selector so this outranks the base #yotpo-headline-reviews rule above. */
  .yotpo-display-s .yotpo-head #yotpo-headline-reviews {
    margin-top: 0 !important;
    text-align: left !important;
  }

  .yotpo-layout-header-wrapper {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .yotpo-bottom-line-summary {
    margin-top: 0 !important;
  }

  /* Yotpo's rule carries a [data-v-*] hash from their Vue build. Left out on purpose — it
     changes every time they rebuild the widget, and !important already beats it. */
  .yotpo-display-s .yotpo-main-layout .yotpo-layout-header-wrapper .yotpo-bottom-line {
    margin-bottom: 0 !important;
  }

  .yotpo-thumbnail-container.clickable-thumbnails.yotpo-review-thumbnail-container {
    margin-bottom: 0.75rem !important;
  }

  .yotpo-base-layout {
    width: 93% !important;
  }

  /* Overrides the !w-fit the desktop rule gives it. */
  #yotpo-reviews-main-widget .yotpo-related-product-container.yotpo-review-related-product {
    width: 100% !important;
  }

  /* Tightens the gap between the stars and the review body on the narrow card. */
  .yotpo-display-s .yotpo-review .yotpo-review-center-panel .yotpo-review-star-rating {
    margin-bottom: 0.625rem !important;
  }

  .yotpo-display-s .yotpo-review .yotpo-review-center-panel .yotpo-review-content {
    margin-top: 0 !important;
  }
}

.yotpo-bottom-line-score {
  font-weight: 700 !important;
}

#yotpo-main-widget-btn {
  border-radius: 1.875rem !important;
  font-family: obviously, Helvetica, sans-serif !important;
  font-size: 0.875rem !important;
  text-transform: none !important;
}

#yotpo-reviews-main-widget .yotpo-reviews-pagination-item.yotpo-vertical-pagination-item {
  width: -moz-fit-content !important;
  width: fit-content !important;
  border-radius: 1.875rem !important;
  padding-left: 1.875rem !important;
  padding-right: 1.875rem !important;
  padding-top: 0 !important;
  font-family: obviously, Helvetica, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.product__reviews .bottom-line-items-wrapper {
  position: static !important;
  width: 100% !important;
  transform: translateX(0) !important;
}

.product__reviews .bottom-line-items {
  margin-bottom: 0 !important;
  margin-top: -1.25rem !important;
  display: flex !important;
  height: auto !important;
  width: 100% !important;
  align-items: center;
  justify-content: center;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 2rem !important;
}

.product__reviews .bottom-line-items .avg-score {
  position: static !important;
  float: none !important;
  margin-left: 0 !important;
  height: auto !important;
  width: auto !important;
  padding-top: 0 !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.product__reviews .bottom-line-items .bottom-line-only-container {
  display: flex !important;
  align-items: center !important;
}

.product__reviews .bottom-line-items .yotpo-filter-stars {
  top: 0 !important;
  float: none !important;
  margin-right: 1rem !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  display: block !important;
}

.product__reviews .bottom-line-items .yotpo-filter-stars .yotpo-icon {
  height: 1.5rem !important;
  font-size: 1.5rem !important;
}

.product__reviews .bottom-line-items .reviews-qa-labels-container {
  position: static !important;
  float: none !important;
  margin-left: 0 !important;
  display: flex !important;
  align-items: center !important;
  padding-top: 0 !important;
}

.product__reviews .bottom-line-items .reviews-qa-labels-container .reviews-qa-label {
  top: unset !important;
  margin-left: 0 !important;
  height: auto !important;
  width: auto !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.product__reviews .bottom-line-items .reviews-qa-labels-container .reviews-qa-label::before {
  --tw-content: '(';
  content: var(--tw-content);
}

.product__reviews .bottom-line-items .reviews-qa-labels-container .reviews-qa-label::after {
  --tw-content: ')';
  content: var(--tw-content);
}

.product__reviews .yotpo-star-distribution-wrapper {
  display: none !important;
}

.product__reviews .aggregated-product-related-fields {
  display: none !important;
}

.product__reviews .new-yotpo-small-box.reviews {
  display: none !important;
}

.product__reviews .filters-container-title {
  padding-bottom: 0.25rem !important;
  --tw-text-opacity: 1 !important;
  color: rgb(0 0 0 / var(--tw-text-opacity)) !important;
}

.product__reviews .filters-container .free-text-search,
.product__reviews .filters-container .free-text-search input {
  width: 100%;
}

.product__reviews .product-related-fields-item {
  display: flex !important;
}

.product__reviews .new-yotpo-small-box,
.product__reviews .yotpo .yotpo-regular-box {
  border-style: none !important;
}

.product__reviews .new-yotpo-small-box .yotpo-nav-primary {
  display: none !important;
}

.product__reviews .yotpo-nav-content .yotpo-reviews-header {
  display: none !important;
}

.product__reviews .yotpo .yotpo-nav-content>div.yotpo-active {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.product__reviews .yotpo .yotpo-regular-box-filters-padding {
  padding-top: 1rem !important;
  padding-bottom: 0.5rem !important;
}

.product__reviews .yotpo .yotpo-nav-content>div.yotpo-active.yotpo-reviews-header {
  display: none !important;
}

.product__reviews .yotpo .total-reviews-search {
  display: none !important;
}

.product__reviews .yotpo .yotpo-review .yotpo-header .yotpo-header-element .y-label.yotpo-user-name {
  margin-right: 0.5rem !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
}

.product__reviews .yotpo .yotpo-review .yotpo-header .yotpo-header-element .y-label.yotpo-user-title {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  --tw-text-opacity: 1 !important;
  color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .yotpo-review .yotpo-header.yotpo-verified-user .yotpo-icon-circle-checkmark {
  --tw-text-opacity: 1 !important;
  color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .yotpo-review .yotpo-header .yotpo-review-stars .yotpo-icon {
  --tw-text-opacity: 1 !important;
  color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .yotpo-review .yotpo-main .yotpo-multiple-rating-fields {
  display: none !important;
}

.product__reviews .yotpo-review .yotpo-main {
  margin-top: 0.5rem !important;
  margin-bottom: 3.25rem !important;
  padding-left: 3.25rem !important;
}

.product__reviews .yotpo-review .yotpo-main .content-title,
.product__reviews .yotpo-review .yotpo-main .content-review {
  font-weight: 500 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.product__reviews .footer-actions {
  display: none !important;
}

.product__reviews .yotpo .yotpo-review .yotpo-footer .y-label {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo.yotpo-main-widget.yotpo-small .yotpo-review .label-helpful {
  display: inline-block !important;
  --tw-text-opacity: 1 !important;
  color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .transparent-color-btn span.yotpo-icon {
  --tw-text-opacity: 1 !important;
  color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .yotpo-review .yotpo-footer .yotpo-helpful .vote-btn,
.product__reviews .yotpo .yotpo-review .yotpo-footer .yotpo-helpful .yotpo-sum {
  --tw-text-opacity: 1 !important;
  color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
}

.product__reviews .yotpo .yotpo-first-review {
  display: none !important;
}

.yotpo-lightbox-wrapper .yotpo-lightbox-product {
  display: flex;
}

@media (min-width: 47.9375rem) {
  .product__reviews .main-widget .write-question-review-buttons-container {
    float: none;
    margin-left: auto;
    margin-right: auto;
    width: -moz-max-content;
    width: max-content;
  }

  .product__reviews .yotpo .yotpo-nav-content>div.yotpo-active {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2rem !important;
  }

  .product__reviews .yotpo .yotpo-regular-box-filters-padding {
    margin: 0 !important;
    padding: 1rem !important;
  }

  .product__reviews .yotpo-reviews .yotpo-review .yotpo-main {
    margin-left: 0 !important;
    margin-bottom: 6.25rem !important;
  }

  .product__reviews .yotpo-review .yotpo-footer {
    margin-left: 0 !important;
    display: flex !important;
    justify-content: center !important;
  }
}

@media (min-width: 64.0625rem) {
  .product .yotpo-sr-bottom-line-summary:hover {
    cursor: pointer !important;
  }
}

.yotpo-mobile-slides-container {
  width: 100% !important;
}

.product-instagram__embed .yotpo-pictures-widget {
  margin-top: 0 !important;
}

.product-instagram__embed .yotpo.yotpo-pictures-widget .yotpo-pictures-gallery-title {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
  padding-bottom: 0.5rem !important;
}

/* 1025px is the theme's `desktop` breakpoint */

@media (min-width: 64.0625rem) {
  .product-instagram__embed .yotpo.yotpo-pictures-widget .yotpo-pictures-gallery-title {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* End Yotpo Styling Overrides */

/* Product icon carousel */

.template-product .icon-carousel {
  padding-left: 0;
  padding-right: 0;
}

.template-product .icon-carousel .icon-carousel__header {
  margin-left: 1rem;
  margin-right: 1rem;
}

@media (min-width: 64.0625rem) {

  .template-product .icon-carousel .icon-carousel__header {
    margin-left: 0;
    margin-right: 0;
  }
}

.template-product .icon-carousel .icon-carousel__container.add-padding {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (orientation: landscape) {

  .template-product .icon-carousel .icon-carousel__container.add-padding {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Product recommendations */

.product-recommendations .price-item {
  font-size: 0.875rem;
}

.product-recommendations .product-card__title {
  text-align: left;
  line-height: 1.2;
}

@media (min-width: 64.0625rem) {

  .product-recommendations .product-card__title {
    text-align: center;
  }
}

.product-recommendations .product-card__price {
  margin-top: 0.25rem;
  justify-content: flex-start;
}

@media (min-width: 64.0625rem) {

  .product-recommendations .product-card__price {
    justify-content: center;
  }
}

.product-recommendations .product-card--no-reviews .product-card__title {
  text-align: left;
  line-height: 1.2;
}

/* Upward shadow so the bar reads as lifted off the page. Matches .mobile-nav__footer-links in
   global/mobile-nav-drawer.css, the theme's other bottom-fixed bar — written here as one
   comma-separated declaration so both layers actually paint. */

.product__sticky-atc {
  box-shadow:
    0 -0.0625rem 0.125rem -0.0625rem #0000001a,
    0 -0.0625rem 0.1875rem 0 #0000001a;
}

.product__sticky-atc.show-sticky {
  --tw-translate-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Mobile split for the sticky bar: title/price take a fixed 65%, the button takes what is left. */

@media screen and (max-width: 63.9375rem) {
  .product__sticky-atc-info {
    flex: 0 0 50%;
  }

  /* min-width:0 lets the button shrink below its content width instead of pushing past 100%. */
  .product__sticky-atc-btn,
  .product__sticky-atc .atc-size-label {
    font-size: 0.75rem;
  }

  .product__sticky-atc-btn {
    flex: 1 1 auto;
    min-width: 0;
  }

  /* Only the value is wanted at this width. Scoped to the bar so the in-form button, which the
     same handler re-renders with this markup, keeps its "Size:" prefix. */
  .product__sticky-atc .atc-size-label__prefix {
    display: none;
  }
}

.product__sticky-atc-price .product-card__badge--sale {
  @media(max-width: 47.5rem) {
    display: none;
  }
}

.product-images__container .product-images__next,
.product-images__container .product-images__prev {
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity));
}

@media screen and (max-width: 63.9375rem) {
  .product-images__container .product-images__dots {
    --tw-bg-opacity: 1;
    background-color: rgb(216 216 216 / var(--tw-bg-opacity));
  }
}

.product__breadcrumbs {
  scrollbar-color: #128141 #d8d8d8;
}

/* Mobile gallery scroll cue.
   The design has no dots or arrows, so the .product-images__progress bar under the tiles is the
   only cue for how far through the gallery you are.

   That bar is faked in JS (main-product.js `_initGalleryProgress`) rather than being the real
   scrollbar, because a styled native scrollbar is invisible to most of the mobile traffic:
   iOS Safari honours neither scrollbar-width nor the -webkit- pseudo-elements and keeps a
   transient overlay bar that fades out after the swipe. No CSS changes that, at any version.

   The native bar is hidden here so the two can never show at once on the browsers that would
   render both. Desktop is a grid with overflow-visible, so none of this applies there. */

.product-images__grid {
  scrollbar-width: none;
}

.product-images__grid::-webkit-scrollbar {
  display: none;
}

/* In-place image zoom — desktop grid gallery.
   Clicking a tile zooms it; moving the cursor then pans the zoomed image, and clicking again
   zooms back out. main-product.js toggles .is-zoomed and writes the cursor position into
   --zoom-x/--zoom-y, which is the transform origin — so the pixel under the cursor is the one
   that stays put. Origin is deliberately left out of the transition so the pan tracks the
   cursor with no lag while the scale in/out stays eased. */

@media (hover: hover) and (min-width: 64rem) {
  [data-zoom-method="inline"] .product-images__img {
    overflow: hidden;

    cursor: zoom-in;
  }

  [data-zoom-method="inline"] .product-images__img>.lazypicture img {
    transition: transform 0.3s ease;
    transform-origin: var(--zoom-x, 50%) var(--zoom-y, 50%);
  }

  [data-zoom-method="inline"] .product-images__img.is-zoomed {
    cursor: zoom-out;
  }

  [data-zoom-method="inline"] .product-images__img.is-zoomed>.lazypicture img {
    transform: scale(3);
  }
}

/* Swiper Carousel */

.product-images__container .swiper-pagination-bullet {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  opacity: 1;
}

.product-images__container .swiper-pagination-bullet-active {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.product-images__container .swiper-button-prev::after,
.product-images__container .swiper-button-next::after {
  --tw-content: '';
  content: var(--tw-content);
}

#ProductThumbImages .swiper-slide {
  min-width: 3.75rem;
  max-width: 7.5rem;
  border-width: 0.0625rem;
  border-color: transparent;
}

#ProductThumbImages .swiper-slide.swiper-slide-active {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity));
}

.atc-size-label:after {
  background-color: #fff;
}

.product-atc:hover .atc-size-label:after {
  background-color: #f8d642;
}

/* Related-categories pills scroll horizontally, but the design shows no scrollbar — the pill
   clipped at the edge is the affordance. Unlike the gallery slider further up this file, which
   deliberately keeps a visible bar, here every rule points the same way: hide it. */

.product-linklist__items {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.product-linklist__items::-webkit-scrollbar {
  display: none;
}

.help-block{
    box-shadow: 0 0 0.3125rem 0 #ccc;
}

.help-block:focus{
    box-shadow: 0 0 0.625rem 0 rgb(5 138 68 / 50%);
}

.help__center-block:hover {
    box-shadow: 0 0 0.625rem 0 rgb(5 138 68 / 50%);
    transition: all .3s ease;
}

.article__container {
  box-shadow: -0.0375rem -0.1875rem 0.25rem 0.1875rem rgba(0, 0, 0, 0.1);
}

.article__content p {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.article__content img {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 53.0625rem) {
  .article__container {
    max-width: calc(100vw - 2rem) !important;
  }
}

.affiliate__content-one p {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

@keyframes marquee {
  0% {
    transform: translate(0)
  }
  to {
    transform:translate(-100%)
  }
}

.header-blog__banner-text {
  animation: marquee 5s linear infinite;
}

.blog-hero__content-container {
  box-shadow: -0.0375rem 0.125rem 0.1875rem 0 rgba(0, 0, 0, 0.1);
}

.tabs-list__item-btn[aria-selected="true"] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.tabs-list__item-btn[aria-selected="false"] {
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.mobile-nav__content-list[aria-hidden="true"] {
  display: none;
}

.mobile-nav__footer-links.mobile-nav__content-list[aria-hidden="true"] {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.mobile-nav__content-list[aria-hidden="true"] {
  display: none;
}

.mobile-nav__content-list[aria-hidden="false"] {
  display: block;
}

/* New mobile nav */

.mobile-nav__parent:last-child .mobile-nav__parent-content {
  border-style: none;
}

.mobile-nav__parent-header::after,
.mobile-nav__child-header::after {
  content: none !important;
}

.accordion-type-one:first-child,
.accordion-type-one:first-child .accordion-content.mobile-nav__parent-content {
  border-bottom-width: 0;
}

.mobile-nav__parent-header-icon {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.mobile-nav__parent-header[aria-expanded="true"] .mobile-nav__parent-header-icon {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.mobile-nav__parent-header-icon .icon path {
  stroke: #000000;
  stroke-width: 0.03125rem;
}

.mobile-nav__child-header[aria-expanded="true"] .mobile-nav__child-header-icon {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.mobile-nav__child-header-icon .icon path {
  stroke: #000000;
  stroke-width: 0.125rem;
}

.mobile-nav__promo a {
  cursor: pointer;
  font-weight: 900;
  text-decoration-line: underline;
}

 {
  font-weight: 600;

  &.mobile-nav__promo a {
    font-weight: 700;
  }

  &.mobile-nav__promo a {
    font-weight: 700;
  }
}

.mobile-nav__footer {
  box-shadow: 0 -0.0625rem 0.625rem 0.0625rem rgba(0,0,0,0.30);
  -webkit-box-shadow: 0 -0.0625rem 0.625rem 0.0625rem rgba(0,0,0,0.30);
  -moz-box-shadow: 0 -0.0625rem 0.625rem 0.0625rem rgba(0,0,0,0.30);
}

.page-aux h1, .page-aux h2, .page-aux h3, .page-aux h4, .page-aux h5, .page-aux h6 {
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(73 73 73 / var(--tw-text-opacity));
}

.page-aux .rte > * {
  margin-bottom: 1rem;
}

.page-aux .rte a {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.page-aux .rte a:focus {
  text-decoration-line: underline;
}

@media (min-width: 64.0625rem) {

  .page-aux .rte a:hover {
    text-decoration-line: underline;
  }
}

.hero__title {
  font-size: var(--font-size-mobile);
  margin-bottom: var(--title-margin-mobile);
}

.hero__cta {
  background-color: var(--cta-background);
}

@media screen and (min-width: 64.0625rem) {
  .hero__title {
    font-size: var(--font-size-desktop);
  }
}

.ribbon-banner-text {
  font-size: var(--font-size-mobile);
}

.ribbon-banner-text.desktop-text {
  font-size: var(--font-size-desktop);
}

.image-grid__tab-btn[aria-selected="true"] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.image-grid__tab-btn[aria-selected="false"] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.image-grid__tab-panel[aria-hidden="true"] {
  display: none;
}

.mobile-nav__footer-links.image-grid__tab-panel[aria-hidden="true"] {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.image-grid__tab-panel[aria-hidden="true"] {
  display: none;
}

.image-grid__tab-panel[aria-hidden="false"] {
  display: grid;
}

.accordion-header.shipping-dropdown__accordion-header {
  text-align: center;
}

.accordion-header.shipping-dropdown__accordion-header[aria-expanded=true]::after{
  content: '';
}

.accordion-header.shipping-dropdown__accordion-header[aria-expanded=false]::after{
  content: '';
}

.accordion-header.shipping-dropdown__accordion-header[aria-expanded=true] .shipping-dropdown__caret {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.shipping-dropdown__countdown{
  background-color: var(--countdown_color);
}

@media (min-width: 64.0625rem) {

  .shipping-dropdown__date br {
    display: none;
  }
}

@media only screen and (min-width: 64.0625rem) {
  .shipping-dropdown__countdown {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  }
	.shipping-dropdown__date br {
		content: ' ';
	}
	.shipping-dropdown__date br:after {
		content: ' ';
	}
}

div.hero {
  display: block !important;
}

div.hero__content-wrapper {
  display: flex !important;
}

.collection__filter-title {
  font-family: obviously-narrow, Helvetica, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  text-transform: uppercase;
}

@media (min-width: 64.0625rem) {

  .collection__filter-title {
    font-size: 2.25rem;
  }
}

@media (max-width: 64rem) {
  .collection__filter-title {
    line-height: 1.1;
  }

  .collection-banner--trust-icons {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .collection-banner--trust-icon img {
    width: 2.8125rem;
    height: 2.8125rem;
  }
}

.product__related-colors {
  flex-wrap: wrap;
  align-items: start;
  justify-items: start;
  gap: 0.5rem;
  margin-top: 0.5rem;
  min-height: 3.75rem;
}

.product__related-colors-updated {
  overflow: scroll;
  align-items: start;
  justify-items: start;
  gap: 0.5rem;
  margin-top: 0.5rem;
  min-height: 3.75rem;
}

.product__related-colors-grid.collapsed {
  max-height: 2.5rem;
  max-width: 17rem;
  overflow: hidden;
}

.product__related-colors-grid {
  max-height: unset;
  max-width: unset;
  overflow: scroll;
}

@media only screen and (min-width: 64.0625rem) {
  .product__related-colors-updated {
    flex-wrap: wrap;
    overflow: auto;
    max-width: unset;
    max-height: unset;
  }

  .product__related-colors-updated.collapsed,
  .product__related-colors-grid.collapsed {
    max-height: 2.5rem;
    max-width: 21.25rem;
  }
}

.product-related-colors__current,
.product-related-colors__related {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.75rem;
  min-width: 3.75rem;
  height: 3.75rem;
  padding: 0.25rem;
  border: 0.0625rem solid #000;
  border-radius: 100%;
  overflow: hidden;
}

.product-related-colors__current {
  border-width: 0.1875rem;
}

.product-related-colors__current > img,
.product-related-colors__related > img {
  padding: 0.25rem;
  aspect-ratio: 42 / 49;
  width: 3.75rem;
  height: 3.75rem;
}

.image-zoom img {
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Hovering the magnifier pill grows its icon.
   Gated on real hover so a tap on touch doesn't leave the icon stuck scaled. */

.zoom-button-container svg {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

@media (hover: hover) {
  .zoom-button-container:hover svg {
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}

.product-images__carousel.flickity-enabled .product-images__img, 
.product-images__carousel.flickity-enabled .product-images__video, 
.product-images__carousel.flickity-enabled .product-images__external {
  display: block;
}

.product-swatch__input.sold-out + label {
  cursor: not-allowed;
  --tw-border-opacity: 1;
  border-color: rgb(151 151 151 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(151 151 151 / var(--tw-text-opacity));
}

/* Image zoom modal (the magnifier button on each gallery tile).
   s-modal centres itself in the viewport; this one runs edge to edge instead, over the sticky
   header (z-[11] in global/header.css) so the image gets the whole screen. dvh rather than vh so
   the retractable mobile browser chrome is excluded. */

s-modal[id^="ZoomModal-"] {
  z-index: 50;
  --tw-translate-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  top: 0;
  height: 100dvh;
  max-height: 100dvh;
}

/* lazy-image renders `picture`/`img` as `w-full` with auto height, so the zoomed image scaled to
   the modal's width and left bands of empty space top and bottom. Both fill the modal instead —
   `cover` scales the photo until it covers the box and centres what's left over, which on a phone
   works out to roughly 1.9x the screen width, the same crop the reference PDP opens at. The
   trade is the sides: object-contain keeps the whole frame but letterboxes it.

   Both selectors, because the img's height resolves against the picture's. */

.modal-image__container .lazypicture,
.modal-image__container img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* The sticky ATC bar sits at z-[999999], so full-screen zoom would open underneath it.
   Slide it away while a zoom modal is open — same :has() pattern as the filter drawer in
   global/modals.css. */

.js-modal-open:has(s-modal[id^="ZoomModal-"].open) .product__sticky-atc {
  --tw-translate-y: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* main product video */

#PDPVideoModal {
  --tw-translate-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media (min-width: 48rem) {

  #PDPVideoModal {
    width: auto;
  }
}

#PDPVideoModal {
  top: calc(var(--header-height) + 1rem);
  max-height: calc(100vh - var(--header-height) - 2rem);
}

/* Fills the modal; the cap is the modal's own max-height less its 10px top/bottom padding */

.product-video-modal__video video {
  max-height: calc(100vh - var(--header-height) - 2rem - 1.25rem);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.progress-container {
  position: relative;
  height: 0.625rem;
  flex: 1 1 0%;
  cursor: pointer;
  overflow: hidden;
  border-radius: 0.25rem;
  border-width: 0.0625rem;
  --tw-border-opacity: 1;
  border-color: rgb(151 151 151 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.progress-bar {
  height: 100%;
  width: 0;
  border-radius: 6.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 100ms;
}

.volume-control {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.volume-btn {
  cursor: pointer;
  border-style: none;
  background-color: transparent;
  padding: 0.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

/* ponytail: scoped to `.p-16` so only the PDP instances (main-product + the three video
   arms + preview) are hit — product-quickadd's .product__information has no padding today. */

@media screen and (max-width: 64rem) {
    .product__information.p-16 {
        padding-top: 0;
    }
}

.product__information .product-highlights__title {
  display: none;
}

.mobile-nav__footer-links.product__information .product-highlights__title {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.product__information .product-highlights__title {
  display: none;
}

.product__information .product-highlights__item-icon {
  width: auto;
}

.product__information .product-highlights__item-icon picture {
  width: auto;
}

.product__information .product-highlights__item-icon picture img {
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-bottom: 0;
  aspect-ratio: auto;
  max-height: 2.6875rem;
  width: auto;
}

.product__information .product-highlights__item-text {
  margin-top: 0.5rem;
}

.product__information .product-highlights__item * {
  display: inline-block;
  font-family: Montserrat, Helvetica, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: capitalize;
  line-height: 1.5;
}

.product__information .product-highlights__item p:empty {
  display: none;
}

.mobile-nav__footer-links.product__information .product-highlights__item p:empty {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.product__information .product-highlights__item p:empty {
  display: none;
}

.product__information .product-highlights__container {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 237 / var(--tw-bg-opacity));
  padding: 0.625rem;
}

.product__information .product-highlights__items {
  width: 100%;
  max-width: 100%;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

/* Desktop Zoom Lightbox */

.desktop-zoom-modal__container {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.desktop-zoom-modal__thumbnails {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  flex-shrink: 0;
}

/* Hide scrollbar for thumbnails */

.desktop-zoom-modal__thumbnails::-webkit-scrollbar {
  width: 0.25rem;
}

.desktop-zoom-modal__thumbnails::-webkit-scrollbar-track {
  background-color: transparent;
}

.desktop-zoom-modal__thumbnails::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 0.125rem;
}

.desktop-zoom-modal__thumbnails::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* Firefox */

.desktop-zoom-modal__thumbnails {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.desktop-zoom-modal__thumbnail {
  opacity: 0.6;
  transition: opacity 0.2s ease;
  border: 0.0625rem solid rgba(0, 0, 0, 0.1);
}

.desktop-zoom-modal__thumbnail:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.05);
}

.desktop-zoom-modal__thumbnail.active {
  opacity: 1;
  border: 0.125rem solid rgba(0, 0, 0, 0.8);
  background: rgba(0, 0, 0, 0.02);
}

.desktop-zoom-modal__main {
  overflow-y: auto;
  overflow-x: hidden;
}

.desktop-zoom-modal__image-container {
  min-height: 100%;
}

.desktop-zoom-modal__image-item {
  transition: opacity 0.3s ease-in-out;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.desktop-zoom-modal__image-item.hidden {
  display: none;
}

.desktop-zoom-modal__image-item img {
  display: block;
  width: auto;
  height: auto;
  max-width: none;
}

/* KiwiSizing injects the size label with its own stylesheet loaded after ours, and
   re-renders on variant change, so !important is the only thing that sticks.
   ponytail: if Kiwi ever stops overriding us, drop the !importants. */

#KiwiSizingChart ._ks_text,
#KiwiSizingChart ._ks_text * {
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  color: #4D4D4D !important;
  text-transform: capitalize !important;
}

/* Same reason as above: Kiwi's own stylesheet wins on specificity without !important. */

#KiwiSizingChart .ks-chart-modal-button,
#KiwiSizingChart .sizing-chart-modal-button {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.multi-collection__tab-btn-container {
  background: var(--button-border-color);
  border-radius: 1.125rem;
  padding: 0.0625rem;
  transition: background-color 0.3s ease;
}

.multi-collection__tab-btn-container[aria-selected="true"] {
  background: var(--button-hover-border-color);
}

.multi-collection__tab-btn-container:hover {
  background: var(--button-hover-border-color);
}

.multi-collection__tab-btn {
  background: var(--button-color);
  color: var(--button-text-color);
  border-radius: 1.125rem;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

.multi-collection__tab-btn[aria-selected="true"] {
  background: var(--button-hover-color);
  color: var(--button-hover-text-color);
}

.multi-collection__tab-btn:hover {
  background: var(--button-hover-color);
  color: var(--button-hover-text-color);
}

.multi-collection__plain-btn {
  background: transparent;
  color: var(--plain-text-color);
  border: 0.0625rem solid var(--plain-border-color);
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}

.multi-collection__plain-btn[aria-selected="true"],
[aria-current] > .multi-collection__plain-btn,
.multi-collection__plain-btn:hover {
  background: var(--plain-active-color);
  color: var(--plain-active-text-color);
  border-color: var(--plain-active-color);
}

.multi-collection__tab-panel[aria-hidden="true"] {
  display: none;
}

.mobile-nav__footer-links.multi-collection__tab-panel[aria-hidden="true"] {
  transform: translateY(0.625rem);
  pointer-events: auto;
  z-index: 0;
  display: flex !important;
  opacity: 0;
}

.desktop-zoom-modal__image-item.multi-collection__tab-panel[aria-hidden="true"] {
  display: none;
}

.multi-collection__tab-panel[aria-hidden="false"] {
  display: block;
}

@media (min-width: 48rem) {

  .multi-collection__tab-panel[aria-hidden="false"] {
    display: grid;
  }
}

/* Swiper */

.multi-collection .swiper-scrollbar {
  height: 0.25rem;
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(239 239 239 / var(--tw-bg-opacity));
}

.multi-collection .swiper-scrollbar-drag {
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.multi-collection__nav-btn:after {
  content: "";
}

/* ponytail: 35% approximates the product image's vertical center; adjust if the card layout changes */

.multi-collection .multi-collection__nav-btn {
  top: 35%;
  display: none;
}

/* buttons sit outside .swiper, so carousel.css's .swiper-initialized reveal never reaches them */

@media (min-width: 48rem) {
  .multi-collection .multi-collection__nav-btn {
    display: flex;
  }
}

.multi-collection__nav-btn .icon-circle-chevron {
  width: 100%;
  height: 100%;
}

.multi-collection .swiper-scrollbar.swiper-scrollbar-horizontal {
  left: 0 !important;
  width: 100% !important;
}

/* the mobile carousel bleeds off the right edge; keep the scrollbar inset by the gutter */

@media (max-width: 47.9375rem) {
  .multi-collection .swiper-scrollbar.swiper-scrollbar-horizontal {
    width: calc(100% - 1rem) !important;
  }
}

.featured-campaign__item-image-container picture, 
.featured-campaign__item-image-container img,
.featured-campaign__item picture,
.featured-campaign__item img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.carousel-gradient-btn-container {
  background: var(--button-border-color);
  border-radius: 6.25rem;
  padding: 0.0625rem;
  transition: background-color 0.3s ease;
}

.carousel-gradient-btn-container:hover {
  background: var(--button-hover-border-color);
}

.carousel-gradient-btn {
  background: linear-gradient(356.11deg, var(--button-color) 7.77%, var(--button-color) 96.42%);
  color: var(--button-text-color);
  border-radius: 6.25rem;
  -webkit-backdrop-filter: blur(0.25rem);
          backdrop-filter: blur(0.25rem);
  transition: background-color 0.3s ease, color 0.3s ease;
}

.carousel-gradient-btn:hover {
  background: linear-gradient(356.11deg, var(--button-hover-color) 7.77%, var(--button-hover-color) 96.42%);
  color: var(--button-hover-text-color);
}

.grid-gradient-btn-container {
  background: var(--button-border-color);
  border-radius: 6.25rem;
  padding: 0.0625rem;
  transition: background-color 0.3s ease;
}

.grid-gradient-btn-container:hover {
  background: var(--button-hover-border-color);
}

.grid-gradient-btn {
  background: linear-gradient(356.11deg, var(--button-color) 7.77%, var(--button-color) 96.42%);
  color: var(--button-text-color);
  border-radius: 6.25rem;
  -webkit-backdrop-filter: blur(0.25rem);
          backdrop-filter: blur(0.25rem);
  transition: background-color 0.3s ease, color 0.3s ease;
}

.grid-gradient-btn:hover {
  background: linear-gradient(356.11deg, var(--button-hover-color) 7.77%, var(--button-hover-color) 96.42%);
  color: var(--button-hover-text-color);
}

.featured-campaign__carousel-item-mobile {
  aspect-ratio: var(--mobile-aspect-ratio);
}

.featured-campaign__carousel-container .flickity-viewport,
.featured-campaign__carousel-container .flickity-viewport {
  padding-top: 0.625rem;
  padding-bottom: 1.25rem;
}

.featured-campaign__carousel-container .featured-campaign__carousel-item,
.featured-campaign__carousel-container .featured-campaign__carousel-item-mobile {
  margin-bottom: 1.25rem;
}

.featured-campaign__carousel-container .featured-campaign__carousel-item {
  margin-bottom: 1.25rem;
}

/* Video control buttons */

.featured-campaign__carousel-item-video-play-icon,
.featured-campaign__carousel-item-video-paused {
  border: none;
  outline: none;
  transition: background-color 0.2s ease;
  z-index: 10;
}

@media (max-width: 47.9375rem) {
  .featured-campaign__item {
      aspect-ratio: var(--mobile-aspect-ratio);
  }
}

@media (min-width: 48rem) {

  .featured-campaign__item {
    aspect-ratio: var(--desktop-aspect-ratio);
  }

    .featured-campaign__items {
        grid-template-columns: repeat(var(--desktop-grid-columns), minmax(0, 1fr));
    }
    
    .featured-campaign__carousel-item {
        aspect-ratio: var(--desktop-aspect-ratio);
    }

    .featured-campaign__grid-container {
        aspect-ratio: var(--desktop-aspect-ratio);
    }

    .featured-campaign__content,
    .featured-campaign__carousel,
    .featured-campaign__header,
    .featured-campaign__grid {
        width: var(--desktop-width);
        margin: auto;
    }
}

/* Carousel Height - Attempt To Match Grid Layout Widths */

.carousel-clamp-height {
  /* Fluid height that scales smoothly from 180px at 1024px to 420px at 2560px */
  height: clamp(11.25rem, calc(11.375rem + (100vw - 64rem) * 0.15625), 26.25rem);
}

/* Swiper */

.featured-campaign .swiper-scrollbar {
  height: 0.25rem;
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(239 239 239 / var(--tw-bg-opacity));
}

.featured-campaign .swiper-scrollbar-drag {
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.featured-campaign .swiper-scrollbar.swiper-scrollbar-horizontal {
  left: 0 !important;
  width: 100% !important;
}

.featured-campaign__nav-btn:after {
  content: "";
}

/* ponytail: 44% approximates the image's vertical center (swiper top padding + image half-height, label below shifts it); adjust if the card layout changes */

.featured-campaign .featured-campaign__nav-btn {
  top: calc(44% - 1.25rem);
  margin-top: 0;
  display: none;
}

/* buttons sit outside .swiper, so carousel.css's .swiper-initialized reveal never reaches them */

@media (min-width: 48rem) {
  .featured-campaign .featured-campaign__nav-btn {
    display: flex;
  }
}

.featured-campaign__nav-btn .icon-circle-chevron {
  width: 100%;
  height: 100%;
}

.featured-campaign .featured-campaign__nav-btn.swiper-button-disabled {
  opacity: 1;
}

/* Label-below card style */

.featured-campaign__carousel-item.featured-campaign__carousel-item--label-below,
.featured-campaign__carousel-item-mobile.featured-campaign__carousel-item--label-below {
  aspect-ratio: auto;
}

.featured-campaign__carousel-item--label-below .featured-campaign__carousel-item-image-container,
.featured-campaign__carousel-item--label-below .featured-campaign__item {
  height: auto;
  overflow: hidden;
  aspect-ratio: var(--desktop-aspect-ratio, var(--mobile-aspect-ratio));
}

.hero-collage__slide {
    width: 100%;
    height: auto;
}

.hero-collage__slide-image {
    width: 100%;
    height: 100%;
    position: relative;
}

.hero-collage__slide-image picture {
    width: 100%;
    height: 100%;
}

.hero-collage__slide-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.carousel-gradient-btn-container {
    background: var(--button-border-color);
    border-radius: 6.25rem;
    padding: 0.0625rem;
    transition: background-color 0.3s ease;
}

.carousel-gradient-btn-container:hover {
    background: var(--button-hover-border-color);
}

.carousel-gradient-btn {
    background: linear-gradient(356.11deg, var(--button-color) 7.77%, var(--button-color) 96.42%);
    color: var(--button-text-color);
    border-radius: 6.25rem;
    -webkit-backdrop-filter: blur(0.25rem);
            backdrop-filter: blur(0.25rem);
    transition: background-color 0.3s ease, color 0.3s ease;
}

.carousel-gradient-btn:hover {
    background: linear-gradient(356.11deg, var(--button-hover-color) 7.77%, var(--button-hover-color) 96.42%);
    color: var(--button-hover-text-color);
}

.grid-gradient-btn-container {
    background: var(--button-border-color);
    border-radius: 6.25rem;
    padding: 0.0625rem;
    transition: background-color 0.3s ease;
}

.grid-gradient-btn-container:hover {
    background: var(--button-hover-border-color);
}

.grid-gradient-btn {
    background: linear-gradient(356.11deg, var(--button-color) 7.77%, var(--button-color) 96.42%);
    color: var(--button-text-color);
    border-radius: 6.25rem;
    -webkit-backdrop-filter: blur(0.25rem);
            backdrop-filter: blur(0.25rem);
    transition: background-color 0.3s ease, color 0.3s ease;
}

.grid-gradient-btn:hover {
    background: linear-gradient(356.11deg, var(--button-hover-color) 7.77%, var(--button-hover-color) 96.42%);
    color: var(--button-hover-text-color);
}

.hero-collage__button-play {
    display: none;
}

.hero-collage__mobile-carousel-container .flickity-viewport {
    padding-top: 0.625rem;
    padding-bottom: 1.25rem;
}

.hero-collage__mobile-carousel-container .hero-collage__carousel-item {
    margin-bottom: 1.25rem;
}

@media (min-width: 48rem) {
    .hero-collage__slide-image {
        aspect-ratio: var(--tablet-aspect-ratio);
    }
    .hero-collage-grid__wrapper {
        grid-template-columns: repeat(var(--desktop-grid-columns), minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .hero-collage__slide-image {
        aspect-ratio: var(--desktop-aspect-ratio);
    }
}

/* Swiper */

.hero-collage-items .swiper {
    max-height: var(--max-height-carousel-slides-mobile) !important;
}

@media (min-width: 48rem) {
    .hero-collage-items .swiper {
        max-height: var(--max-height-carousel-slides-tablet) !important;
    }
}

@media (min-width: 90rem) {
    .hero-collage-items .swiper {
        max-height: var(--max-height-carousel-slides-desktop, auto) !important;
    }
}

.hero-collage-button:after {
    content: '';
}

.hero-collage-items .swiper-scrollbar {
  top: 50%;
  height: 0.375rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 624.9375rem;
  background-color: rgb(255 255 255 / 0.5);
}

.hero-collage-items .swiper-scrollbar-drag {
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.hero-collage__playback-button[aria-pressed="false"] {
    display: block;
}

.hero-collage__playback-button[aria-pressed="true"] {
    display: none;
}

.hero-collage-grid .swiper-scrollbar {
  position: static;
  height: 0.375rem;
  width: 100%;
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity));
}

.hero-collage-grid .swiper-scrollbar-drag {
  --tw-bg-opacity: 1;
  background-color: rgb(0 49 90 / var(--tw-bg-opacity));
}

.featured-grid__wrapper {
    grid-template-rows: repeat(var(--mobile-grid-rows), var(--mobile-grid-row-height));
    grid-auto-rows: var(--mobile-grid-row-height);
}

.grid-gradient-btn-container {
    background: var(--button-border-color);
    border-radius: 6.25rem;
    padding: 0.0625rem;
    transition: background-color 0.3s ease;
}

.grid-gradient-btn-container:hover {
    background: var(--button-hover-border-color);
}

.grid-gradient-btn {
    background: linear-gradient(356.11deg, var(--button-color) 7.77%, var(--button-color) 96.42%);
    color: var(--button-text-color);
    border-radius: 6.25rem;
    -webkit-backdrop-filter: blur(0.25rem);
            backdrop-filter: blur(0.25rem);
    transition: background-color 0.3s ease, color 0.3s ease;
}

.grid-gradient-btn:hover {
    background: linear-gradient(356.11deg, var(--button-hover-color) 7.77%, var(--button-hover-color) 96.42%);
    color: var(--button-hover-text-color);
}

.carousel-gradient-btn-container {
    background: var(--button-border-color);
    border-radius: 6.25rem;
    padding: 0.0625rem;
    transition: background-color 0.3s ease;
}

.carousel-gradient-btn-container:hover {
    background: var(--button-hover-border-color);
}

.carousel-gradient-btn {
    background: linear-gradient(356.11deg, var(--button-color) 7.77%, var(--button-color) 96.42%);
    color: var(--button-text-color);
    border-radius: 6.25rem;
    -webkit-backdrop-filter: blur(0.25rem);
            backdrop-filter: blur(0.25rem);
    transition: background-color 0.3s ease, color 0.3s ease;
}

.carousel-gradient-btn:hover {
    background: linear-gradient(356.11deg, var(--button-hover-color) 7.77%, var(--button-hover-color) 96.42%);
    color: var(--button-hover-text-color);
}

.featured-grid__mobile-carousel-container .featured-grid__carousel-item {
    margin-bottom: 1.25rem;
}

@media (min-width: 48rem) {
    .featured-grid__wrapper {
        grid-template-rows: repeat(var(--tablet-grid-rows), var(--desktop-grid-row-height));
        grid-auto-rows: var(--desktop-grid-row-height);
    }
    .featured-grid__grid-container {
        grid-column: var(--tablet-grid-column);
        grid-row: var(--tablet-grid-row);
    }
    .featured-grid__wrapper {
        width: var(--desktop-width);
        margin: auto;
        grid-template-columns: var(--tablet-first-column) var(--tablet-second-column) var(--tablet-third-column) var(--tablet-fourth-column);
    }
}

@media (min-width: 64rem) {
    .featured-grid__wrapper {
        grid-template-columns: var(--desktop-first-column) var(--desktop-second-column) var(--desktop-third-column) var(--desktop-fourth-column);
    }
}

@media (min-width: 94.5rem) {
    .featured-grid__wrapper {
        grid-template-rows: repeat(var(--desktop-grid-rows), var(--desktop-grid-row-height));
        grid-auto-rows: var(--desktop-grid-row-height);
    }
    .featured-grid__grid-container {
        grid-column: var(--desktop-grid-column);
        grid-row: var(--desktop-grid-row);
    }
}

/* Swiper */

.featured-grid__mobile-carousel .swiper-scrollbar {
  height: 0.375rem;
  border-radius: 624.9375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity));
}

.featured-grid__mobile-carousel .swiper-scrollbar-drag {
  --tw-bg-opacity: 1;
  background-color: rgb(0 49 90 / var(--tw-bg-opacity));
}

.featured-collection-links__item {
    min-width: 8.75rem;
    white-space: nowrap;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-decoration: none !important;
    flex-shrink: 0;
    max-width: -moz-fit-content !important;
    max-width: fit-content !important;
}

.featured-collection-links__container {
    scrollbar-width: thin;
    scrollbar-color: #d1d5db transparent;
}

[data-anchor-link] {
    scroll-behavior: smooth;
}

.icon-banner__playback-button[aria-pressed="false"] {
    display: block;
}

.icon-banner__playback-button[aria-pressed="true"] {
    display: none;
}

.single-hero__cta-content {
  max-width: 87.5rem;
}

.single-hero__cta-title,
.single-hero__cta-subtitle {
  color: var(--tooltip-color-mobile);
}

@media screen and (min-width: 64.0625rem) {
  .single-hero__cta-title,
  .single-hero__cta-subtitle {
    color: var(--tooltip-color-desktop);
  }

  .single-hero__cta-btn-container .single-hero__button:hover {
    background:
      linear-gradient(var(--tooltip-bg_hover), var(--tooltip-bg_hover))
        padding-box,
      linear-gradient(to top, #000, #fff) border-box !important;
    color: var(--tooltip-color_hover) !important;
  }
}

.featured-links__title, .featured-links__subtext {
    color: #00315A;
}

.featured-links__link {
    background: #fff;
    color: #000;
    border: 0.0625rem solid rgba(224, 224, 224, 0.4);
    border-bottom: none;
    box-shadow: 0 0.125rem 0.5rem 0 rgba(0,0,0,0.10), 0 0.09375rem 0 0 #000;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
}

.featured-links__link:hover {
    background: linear-gradient(#FF0000, #FF0000);
    color: #FFFFFF;
    border: 0.0625rem solid rgba(0, 0, 0, 0.3);
    border-bottom: none;
    box-shadow: 0 0.125rem 0.5rem 0 rgba(0,0,0,0.10), 0 0.09375rem 0 0 #000000;
}

.featured-links__links {
    max-width: 100%;
    width: 100%;
}

.featured-links__container {
    max-width: 100%;
    overflow: hidden;
}

/* Hot Spot Images Section */

.hot-spot-images {
  width: 100%;
  /* local stacking context helps keep things under global header in most browsers */
  position: relative;
  z-index: 0;
  isolation: isolate;
}

.hot-spot-images__container {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.hot-spot-images__image-wrapper {
  position: relative;
  width: 100%;
  flex: 1;
  z-index: 0; /* base layer for each image wrapper */
}

/* Only hide overflow when overlay is open to contain it within image bounds */

.hot-spot-images__image-wrapper.overlay-open {
  overflow: hidden;
}

.hot-spot-images__image-wrapper.has-active-popup {
  position: relative;
  z-index: 2;
}

.hot-spot-images__image-wrapper img {
  width: 100%;
  height: auto;
  display: block;
  /* Let hotspots receive clicks (image ignores pointer events) */
  pointer-events: none;
}

.hot-spot-images__placeholder {
  width: 100%;
  height: 25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
}

/* Hot Spot Container Styles */

.hot-spot-container {
  position: absolute;
  z-index: 1; /* baseline above the image itself */
  pointer-events: auto;
}

/* Hide other hotspot buttons when any popup is open */

.hot-spot-images.popup-open .hot-spot-container:not(.active-popup) {
  z-index: 0;
  opacity: 0.3;
}

/* The active hotspot button's container sits above the others,
   but still below header because it's only 3 */

.hot-spot-container.active-popup {
  z-index: 3;
}

/* Hot Spot Button Styles */

.hot-spot-button {
  width: 2.1875rem;
  height: 2.1875rem;
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: bold;
  transition: all 0.3s ease;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.3);
  border-radius: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  min-width: 2.1875rem;
  min-height: 2.1875rem;
  position: relative;
  overflow: hidden;
}

.hot-spot-button__icon {
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  width: 100%;
  height: 100%;
  position: relative;
}

/* Style the custom hotspot SVGs */

.hot-spot-button__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Position both icons absolutely for smooth transition */

.hot-spot-button__icon-plus,
.hot-spot-button__icon-close {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Show plus icon by default, hide close icon */

.hot-spot-button__icon-plus { opacity: 1; transform: scale(1); }

.hot-spot-button__icon-close { opacity: 0; transform: scale(0.8); }

/* When popup is open, show close icon and hide plus icon */

.hot-spot-button.popup-open .hot-spot-button__icon-plus {
  opacity: 0;
  transform: scale(0.8);
}

.hot-spot-button.popup-open .hot-spot-button__icon-close {
  opacity: 1;
  transform: scale(1);
}

/* Desktop/Mobile visibility */

.desktop-only { display: block; }

.mobile-only { display: none; }

/* Desktop popup positioning */

.desktop-popup {
  position: absolute;
  top: 90%;
  left: 90%;
  /* ⬇ This popup floats above everything inside this component,
     but we cap it at 4 so it won't beat a header with z-index:10+ */
  z-index: 4;
  width: auto;
  max-width: 25rem;
  min-width: 21.875rem;
}

/* Desktop popup positioned to the left (when right would go off-screen) */

.desktop-popup.popup-left {
  left: auto;
  right: 90%;
}

/* Mobile popup positioning */

.mobile-popup {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  width: 90%;
  max-width: 21.875rem;
}

/* Quick Add Popup Styles */

.quick-add-popup__content {
  background: #fff;
  padding: 0.5625rem;
  box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  align-items: flex-start;
  max-width: 25rem;
  min-width: 21.875rem;
}

.quick-add-popup__image { flex-shrink: 0; }

.quick-add-popup__image a { display: block; }

.quick-add-popup__image img {
  width: 6.25rem;
  height: 7.25rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  overflow: hidden;
  display: block;
  cursor: pointer;
}

.quick-add-popup__details {
  flex: 1;
  gap: 0.5rem;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: auto;
}

.quick-add-popup__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
}

.quick-add-popup__title {
  font-size: 0.875rem;
  font-weight: 500;
  margin: 0;
  line-height: 1.3;
  word-wrap: break-word;
  flex: 1;
  max-width: 7.25rem;
  overflow: hidden;
}

.quick-add-popup__price {
  font-size: 0.875rem;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}

.quick-add-popup__spacer { flex: 1; }

.quick-add-popup__form {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  min-width: 0;
}

.quick-add-popup__variant-select {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.8125rem 1.875rem 0.8125rem 0.625rem;
  border: 0.0625rem solid #ddd;
  font-size: 0.875rem;
  background: #EFEFEF;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3csvg width='9' height='7' viewBox='0 0 9 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M4.66992 6.66016L0.669922 0.660156L8.66992 0.660156L4.66992 6.66016Z' fill='black'/%3e%3c/svg%3e");
  background-position: right 0.625rem center;
  background-repeat: no-repeat;
  background-size: 0.5625rem 0.4375rem;
}

.quick-add-popup__variant-select:focus {
  outline: none;
  border-color: #333;
}

.quick-add-popup__add-to-cart {
  flex: 0 0 auto;
  padding: 0.8125rem 1.375rem;
  background: #000;
  color: #fff;
  border: none;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
  white-space: nowrap;
}

.quick-add-popup__add-to-cart:hover { background: #333; }

.quick-add-popup__add-to-cart:disabled { background: #ccc; cursor: not-allowed; }

/* Overlay (non-product info hotspot) */

.hot-spot-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4; 
  width: 85%;
  height: 85%;
}

.hot-spot-overlay__backdrop { display: none; }

.hot-spot-overlay__content {
  position: relative;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 0;
  box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.hot-spot-overlay__header {
  padding: 1.5625rem 1.5625rem 0.9375rem;
  flex-shrink: 0;
}

.hot-spot-overlay__title {
  font-size: 1.5rem;
  font-weight: 900;
  margin: 0;
  line-height: 1.3;
  color: #fff;
  text-align: center;
}

.hot-spot-overlay__text {
  padding: 0 1.5625rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  opacity: 0.9;
  overflow-y: auto;
  text-align: center;
}

.hot-spot-overlay__footer {
  padding: 0.9375rem 1.5625rem 1.5625rem;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
}

.hot-spot-overlay__close {
  background: linear-gradient(to bottom, #ffffff, #000000);
  cursor: pointer;
  padding: 0.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #fff;
  transition: opacity 0.3s ease;
  opacity: 0.8;
  border: none;
  border-radius: 6.25rem;
  position: relative;
}

.hot-spot-overlay__close-inner {
  background: rgba(0, 0, 0, 0.7);
  padding: 0.625rem 1.125rem;
  border-radius: 6.25rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
  justify-content: center;
}

.hot-spot-overlay__close:hover { opacity: 1; }

.hot-spot-overlay__close-icon {
  width: 1rem;
  height: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hot-spot-overlay__close-icon svg {
  width: 100%;
  height: 100%;
  fill: #fff;
}

.hot-spot-overlay__text p { margin: 0 0 1rem; }

.hot-spot-overlay__text p:last-child { margin-bottom: 0; }

/* Desktop Layout */

@media screen and (min-width: 48rem) {
  .hot-spot-images__container { flex-direction: row; }
  .desktop-only { display: block; }
  .mobile-only { display: none; }
  .hot-spot-overlay__title { font-size: 2.125rem; }
}

/* Mobile responsive */

@media screen and (max-width: 47.9375rem) {
  .desktop-only { display: none; }
  .mobile-only { display: block; }

  .hot-spot-images__image-wrapper { overflow: hidden; }

  .hot-spot-button {
    width: 2.8125rem;
    height: 2.8125rem;
    min-width: 2.8125rem;
    min-height: 2.8125rem;
  }

  .quick-add-popup__content {
    width: 95%;
    max-height: 85vh;
  }

  /* Keep select + button side-by-side on mobile */
  .quick-add-popup__form {
    flex-direction: row;
    gap: 0.5rem;
    align-items: center;
  }

  .quick-add-popup__variant-select,
  .quick-add-popup__add-to-cart {
    width: auto;
  }

  .hot-spot-overlay__header {
    padding: 1.25rem 1.25rem 0.625rem;
  }
  .hot-spot-overlay__footer {
    padding: 0.625rem 1.25rem 1.25rem;
  }
  .hot-spot-overlay__close {
    font-size: 0.75rem;
  }
  .hot-spot-overlay__close-inner {
    padding: 0.5rem 0.875rem;
  }
  .hot-spot-overlay__close-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
}

/* uses @keyframes marquee from sections/blog.css */

/* The animated transform puts this on its own compositor layer, and Chrome drops LCD
   subpixel antialiasing on layers without an opaque background — that's what made the
   10px text read fuzzy. Inheriting .marquee's background gives the layer something opaque. */

.marquee__group {
  animation: marquee var(--marquee-speed, 40s) linear infinite;
  background-color: inherit;
}

.marquee:hover .marquee__group {
  animation-play-state: paused;
}

.marquee__stars svg {
  width: 0.8125rem;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
  .marquee__group {
    animation: none;
  }
}

/* Overrides for the Kiwi Sizing app modal. Kiwi injects its stylesheet at
   runtime from the app dashboard settings, so colors/borders/fonts need
   !important to win. */

.kiwi-sizing-modal-inner {
  max-width: 43.125rem !important;
  border-radius: 0 !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  padding: 1.5rem !important;
  font-family: sofia-pro, Helvetica, sans-serif !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

@media (min-width: 48rem) {

  .kiwi-sizing-modal-inner {
    padding: 2.5rem !important;
  }
}

.kiwi-sizing-modal-inner .ks-modal-close {
  top: 1rem !important;
  right: 1rem !important;
  background-color: transparent !important;
  font-size: 1.75rem !important;
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
  opacity: 1 !important;
}

@media (min-width: 48rem) {

  .kiwi-sizing-modal-inner .ks-modal-close {
    top: 1.25rem !important;
    right: 1.25rem !important;
  }
}

.kiwi-sizing-modal-inner .ks-modal-close {
  line-height: 1;
}

.kiwi-sizing-modal-inner .ks-modal-header {
  border-width: 0 !important;
  background-color: transparent !important;
  padding: 0 !important;
  text-align: left !important;
}

.kiwi-sizing-modal-inner .ks-modal-header .modal-title {
  display: block !important;
  padding-right: 2.5rem !important;
  text-align: left !important;
}

.kiwi-sizing-modal-inner .modal-title-header {
  text-align: left !important;
  font-family: Montserrat, Helvetica, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
  line-height: 1.2;
}

.kiwi-sizing-modal-inner .modal-title-sub-header {
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.kiwi-sizing-modal-inner .ks-modal-content {
  padding: 0 !important;
}

/* Unit toggle — right aligned segmented control */

.kiwi-sizing-modal-inner .ks-unit-toggle-wrapper {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.kiwi-sizing-modal-inner .ks-unit-toggle {
  display: flex !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  padding: 0 !important;
}

.kiwi-sizing-modal-inner .ks-unit-toggle-label {
  display: flex !important;
  height: 2.5rem !important;
  min-width: 4.375rem !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  border-width: 0.0625rem !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(35 138 68 / var(--tw-border-opacity)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.kiwi-sizing-modal-inner .ks-unit-toggle-label + .ks-unit-toggle-label {
  border-left-width: 0 !important;
}

.kiwi-sizing-modal-inner .ks-unit-toggle-label.kiwi-active {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(35 138 68 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

/* Chart */

.kiwi-sizing-modal-inner .ks-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.kiwi-sizing-modal-inner .ks-table-cell {
  border-width: 0.0625rem !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(216 216 216 / var(--tw-border-opacity)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  text-align: center !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
}

.kiwi-sizing-modal-inner .ks-table-cell:first-child {
  font-weight: 700 !important;
}

.kiwi-sizing-modal-inner .ks-table-header-cell {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.kiwi-sizing-modal-inner .ks-table-row:nth-child(2n + 3) .ks-table-cell {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity)) !important;
}

.kiwi-sizing-modal-inner .ks-table-row:first-child .ks-table-cell {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 208 20 / var(--tw-bg-opacity)) !important;
}

/* Rich text above/below the chart */

.kiwi-sizing-modal-inner .ks-table-header,
.kiwi-sizing-modal-inner .ks-table-footer {
  text-align: left !important;
  font-size: 1rem !important;
  --tw-text-opacity: 1 !important;
  color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
  line-height: 1.5;
}

.kiwi-sizing-modal-inner .ks-table-footer {
  margin-top: 2rem !important;
}

.kiwi-sizing-modal-inner .ks-table-footer p {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.kiwi-sizing-modal-inner p {
  font-family: Montserrat, Helvetica, sans-serif !important;
}

.kiwi-sizing-modal-inner ins {
  font-weight: 700 !important;
  text-decoration-line: none !important;
}

/* Kiwi's rich text fields emit empty spacer paragraphs */

.kiwi-sizing-modal-inner p:empty,
.kiwi-sizing-modal-inner p:has(> br:only-child) {
  display: none !important;
}

.group:focus .group-focus\:btn {
  max-height: 2.75rem;
  max-width: 11.25rem;
  cursor: pointer;
  border-width: 0.0625rem;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(28 28 28 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  padding: 0.75rem;
  font-size: 1rem;
  text-transform: lowercase;
  line-height: 1.125rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.group:focus .group-focus\:btn:disabled {
  cursor: not-allowed;
}

.group:focus .group-focus\:btn {
    font-weight: 800;
  }

.group:focus .group-focus\:btn:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

.group:focus .group-focus\:btn:focus:not(:focus-visible) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(28 28 28 / var(--tw-text-opacity));
}

@media screen and (min-width: 64.0625rem) {
     {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }

    .group:focus .group-focus\:btn:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(28 28 28 / var(--tw-text-opacity));
  }

     {
    border-color: rgb(35 138 68 / var(--tw-border-opacity));
    background-color: rgb(35 138 68 / var(--tw-bg-opacity));
    color: rgb(255 208 20 / var(--tw-text-opacity));
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: rgb(35 138 68 / var(--tw-text-opacity));
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
    color: rgb(216 216 216 / var(--tw-text-opacity));
    color: rgb(176 172 176 / var(--tw-text-opacity));
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: rgb(38 112 235 / var(--tw-text-opacity));
    color: rgb(255 255 255 / var(--tw-text-opacity));
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
    color: rgb(255 208 20 / var(--tw-text-opacity));
    background-color: rgb(255 208 20 / var(--tw-bg-opacity));
    color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
    color: rgb(35 138 68 / var(--tw-text-opacity)) !important;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
    color: rgb(216 216 216 / var(--tw-text-opacity)) !important;
    color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
    color: rgb(38 112 235 / var(--tw-text-opacity)) !important;
    color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
    --tw-border-opacity: 1 !important;
    border-color: rgb(0 0 0 / var(--tw-border-opacity)) !important;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 208 20 / var(--tw-bg-opacity)) !important;
  }
  }

@media (min-width: 64.0625rem) {
  .group:hover .desktop\:group-hover\:btn {
    max-height: 2.75rem;
    max-width: 11.25rem;
    cursor: pointer;
    border-width: 0.0625rem;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(28 28 28 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
    padding: 0.75rem;
    font-size: 1rem;
    text-transform: lowercase;
    line-height: 1.125rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
  .group:hover .desktop\:group-hover\:btn:disabled {
    cursor: not-allowed;
  }
  .group:hover .desktop\:group-hover\:btn {
    font-weight: 800;
  }

  .group:hover .desktop\:group-hover\:btn:focus-visible {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(28 28 28 / var(--tw-text-opacity));
  }

  .group:hover .desktop\:group-hover\:btn:focus:not(:focus-visible) {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(28 28 28 / var(--tw-text-opacity));
  }

  @media screen and (min-width: 64.0625rem) {
     {
      --tw-bg-opacity: 1;
      background-color: rgb(0 0 0 / var(--tw-bg-opacity));
      --tw-text-opacity: 1;
      color: rgb(255 255 255 / var(--tw-text-opacity));
    }

    .group:hover .desktop\:group-hover\:btn:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(255 255 255 / var(--tw-bg-opacity));
      --tw-text-opacity: 1;
      color: rgb(28 28 28 / var(--tw-text-opacity));
    }

     {
      border-color: rgb(35 138 68 / var(--tw-border-opacity));
      background-color: rgb(35 138 68 / var(--tw-bg-opacity));
      color: rgb(255 208 20 / var(--tw-text-opacity));
      background-color: rgb(255 255 255 / var(--tw-bg-opacity));
      color: rgb(35 138 68 / var(--tw-text-opacity));
      background-color: rgb(28 28 28 / var(--tw-bg-opacity));
      color: rgb(216 216 216 / var(--tw-text-opacity));
      color: rgb(176 172 176 / var(--tw-text-opacity));
      background-color: rgb(255 255 255 / var(--tw-bg-opacity));
      color: rgb(38 112 235 / var(--tw-text-opacity));
      color: rgb(255 255 255 / var(--tw-text-opacity));
      background-color: rgb(28 28 28 / var(--tw-bg-opacity));
      color: rgb(255 208 20 / var(--tw-text-opacity));
      background-color: rgb(255 208 20 / var(--tw-bg-opacity));
      color: rgb(28 28 28 / var(--tw-text-opacity)) !important;
      background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
      color: rgb(35 138 68 / var(--tw-text-opacity)) !important;
      background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
      color: rgb(216 216 216 / var(--tw-text-opacity)) !important;
      color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
      background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
      color: rgb(38 112 235 / var(--tw-text-opacity)) !important;
      color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
      --tw-border-opacity: 1 !important;
      border-color: rgb(0 0 0 / var(--tw-border-opacity)) !important;
      background-color: rgb(28 28 28 / var(--tw-bg-opacity)) !important;
      --tw-text-opacity: 1 !important;
      color: rgb(255 208 20 / var(--tw-text-opacity)) !important;
      --tw-bg-opacity: 1 !important;
      background-color: rgb(255 208 20 / var(--tw-bg-opacity)) !important;
    }
  }
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:bottom-\[-11px\]::after {
  content: var(--tw-content);
  bottom: -0.6875rem;
}

.after\:left-0::after {
  content: var(--tw-content);
  left: 0;
}

.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}

.after\:h-16::after {
  content: var(--tw-content);
  height: 1rem;
}

.after\:h-\[100\%\]::after {
  content: var(--tw-content);
  height: 100%;
}

.after\:w-\[1px\]::after {
  content: var(--tw-content);
  width: 0.0625rem;
}

.after\:w-full::after {
  content: var(--tw-content);
  width: 100%;
}

.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.after\:bg-yellow::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 208 20 / var(--tw-bg-opacity));
}

.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.first\:mt-4:first-child {
  margin-top: 0.25rem;
}

.last\:mr-0:last-child {
  margin-right: 0;
}

.last\:mr-16:last-child {
  margin-right: 1rem;
}

.last\:hidden:last-child {
  display: none;
}

.last\:border-r-0:last-child {
  border-right-width: 0;
}

.first-of-type\:mt-0:first-of-type {
  margin-top: 0;
}

.first-of-type\:mt-10:first-of-type {
  margin-top: 0.625rem;
}

.first-of-type\:border-r:first-of-type {
  border-right-width: 0.0625rem;
}

.first-of-type\:border-t:first-of-type {
  border-top-width: 0.0625rem;
}

.last-of-type\:mr-0:last-of-type {
  margin-right: 0;
}

.last-of-type\:border-b:last-of-type {
  border-bottom-width: 0.0625rem;
}

.last-of-type\:border-r-0:last-of-type {
  border-right-width: 0;
}

.focus-within\:opacity-70:focus-within {
  opacity: 0.7;
}

.hover\:static:hover {
  position: static;
}

.hover\:cursor-pointer:hover {
  cursor: pointer;
}

.hover\:overflow-auto:hover {
  overflow: auto;
}

.hover\:bg-black:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.hover\:bg-gray-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity));
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.hover\:bg-opacity-10:hover {
  --tw-bg-opacity: 0.1;
}

.hover\:text-green:hover {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.hover\:text-yellow:hover {
  --tw-text-opacity: 1;
  color: rgb(255 208 20 / var(--tw-text-opacity));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.focus\:static:focus {
  position: static;
}

.focus\:overflow-auto:focus {
  overflow: auto;
}

.focus\:border-black-text:focus {
  --tw-border-opacity: 1;
  border-color: rgb(28 28 28 / var(--tw-border-opacity));
}

.focus\:bg-black:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.focus\:bg-black-text:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
}

.focus\:\!text-gray-medium:focus {
  --tw-text-opacity: 1 !important;
  color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
}

.focus\:text-green:focus {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.focus\:text-white:focus {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.focus\:text-yellow:focus {
  --tw-text-opacity: 1;
  color: rgb(255 208 20 / var(--tw-text-opacity));
}

.focus\:no-underline:focus {
  text-decoration-line: none;
}

.focus\:opacity-100:focus {
  opacity: 1;
}

.focus\:opacity-70:focus {
  opacity: 0.7;
}

.focus-visible\:text-green:focus-visible {
  --tw-text-opacity: 1;
  color: rgb(35 138 68 / var(--tw-text-opacity));
}

.group:hover .group-hover\:opacity-70 {
  opacity: 0.7;
}

.group:focus .group-focus\:opacity-70 {
  opacity: 0.7;
}

.peer:checked ~ .peer-checked\:block {
  display: block;
}

.peer:checked ~ .peer-checked\:hidden {
  display: none;
}

.peer:checked ~ .peer-checked\:border-2 {
  border-width: 0.125rem;
}

.peer:checked ~ .peer-checked\:bg-black-text {
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 28 / var(--tw-bg-opacity));
}

.peer:checked ~ .peer-checked\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

@media (orientation: landscape) {

  .landscape-all\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .landscape-all\:grid-cols-account-dashboard {
    grid-template-columns: auto 1fr;
  }

  .landscape-all\:justify-self-start {
    justify-self: start;
  }

  .landscape-all\:border-green {
    --tw-border-opacity: 1;
    border-color: rgb(35 138 68 / var(--tw-border-opacity));
  }

  .landscape-all\:py-16 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .landscape-all\:pl-64 {
    padding-left: 4rem;
  }

  .landscape-all\:pl-72 {
    padding-left: 4.5rem;
  }

  .landscape-all\:pr-64 {
    padding-right: 4rem;
  }

  .landscape-all\:pr-72 {
    padding-right: 4.5rem;
  }
}

@media (min-width: 48rem) {

  .tabletp\:left-\[7\%\] {
    left: 7%;
  }

  .tabletp\:right-\[7\%\] {
    right: 7%;
  }

  .tabletp\:mb-36 {
    margin-bottom: 2.25rem;
  }

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

  .tabletp\:mt-50 {
    margin-top: 3.125rem;
  }

  .tabletp\:block {
    display: block;
  }

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

  .tabletp\:flex {
    display: flex;
  }

  .tabletp\:grid {
    display: grid;
  }

  .tabletp\:hidden {
    display: none;
  }

  .tabletp\:w-1\/2 {
    width: 50%;
  }

  .tabletp\:w-64 {
    width: 4rem;
  }

  .tabletp\:w-72 {
    width: 4.5rem;
  }

  .tabletp\:w-\[50\%\] {
    width: 50%;
  }

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

  .tabletp\:max-w-\[375px\] {
    max-width: 23.4375rem;
  }

  .tabletp\:flex-1 {
    flex: 1 1 0%;
  }

  .tabletp\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tabletp\:gap-12 {
    gap: 0.75rem;
  }

  .tabletp\:px-15 {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .tabletp\:px-16 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .tabletp\:px-24 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .tabletp\:py-15 {
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
  }

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

  .tabletp\:pb-15 {
    padding-bottom: 0.9375rem;
  }

  .tabletp\:pb-16 {
    padding-bottom: 1rem;
  }

  .tabletp\:pb-36 {
    padding-bottom: 2.25rem;
  }

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

  .tabletp\:text-10 {
    font-size: 0.625rem;
  }

  .tabletp\:text-12 {
    font-size: 0.75rem;
  }

  .tabletp\:text-14 {
    font-size: 0.875rem;
  }

  .tabletp\:text-16 {
    font-size: 1rem;
  }

  .tabletp\:text-18 {
    font-size: 1.125rem;
  }

  .tabletp\:text-20 {
    font-size: 1.25rem;
  }

  .tabletp\:text-22 {
    font-size: 1.375rem;
  }

  .tabletp\:text-28 {
    font-size: 1.75rem;
  }

  .tabletp\:text-34 {
    font-size: 2.125rem;
  }

  .tabletp\:text-42 {
    font-size: 2.625rem;
  }
}

@media (min-width: 64rem) {

  .tabletl\:col-start-2 {
    grid-column-start: 2;
  }

  .tabletl\:col-start-3 {
    grid-column-start: 3;
  }

  .tabletl\:block {
    display: block;
  }

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

  .tabletl\:flex {
    display: flex;
  }

  .tabletl\:hidden {
    display: none;
  }

  .tabletl\:w-1\/2 {
    width: 50%;
  }

  .tabletl\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .tabletl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tabletl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tabletl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .tabletl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .tabletl\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .tabletl\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .tabletl\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

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

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

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

  .tabletl\:gap-32 {
    gap: 2rem;
  }

  .tabletl\:px-12 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .tabletl\:px-36 {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  .tabletl\:px-\[170px\] {
    padding-left: 10.625rem;
    padding-right: 10.625rem;
  }

  .tabletl\:py-36 {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  .tabletl\:py-\[60px\] {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

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

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

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

  .tabletl\:text-\[16px\] {
    font-size: 1rem;
  }

  .tabletl\:text-\[28px\] {
    font-size: 1.75rem;
  }

  .tabletl\:text-\[34px\] {
    font-size: 2.125rem;
  }
}

@media (min-width: 64.0625rem) {

  .desktop\:visible {
    visibility: visible;
  }

  .desktop\:static {
    position: static;
  }

  .desktop\:absolute {
    position: absolute;
  }

  .desktop\:relative {
    position: relative;
  }

  .desktop\:sticky {
    position: sticky;
  }

  .desktop\:bottom-10 {
    bottom: 0.625rem;
  }

  .desktop\:left-0 {
    left: 0;
  }

  .desktop\:left-10 {
    left: 0.625rem;
  }

  .desktop\:left-8 {
    left: 0.5rem;
  }

  .desktop\:left-\[23\%\] {
    left: 23%;
  }

  .desktop\:left-\[55px\] {
    left: 3.4375rem;
  }

  .desktop\:right-20 {
    right: 1.25rem;
  }

  .desktop\:right-32 {
    right: 2rem;
  }

  .desktop\:right-44 {
    right: 2.75rem;
  }

  .desktop\:right-8 {
    right: 0.5rem;
  }

  .desktop\:right-\[23\%\] {
    right: 23%;
  }

  .desktop\:right-auto {
    right: auto;
  }

  .desktop\:top-0 {
    top: 0;
  }

  .desktop\:top-32 {
    top: 2rem;
  }

  .desktop\:top-8 {
    top: 0.5rem;
  }

  .desktop\:top-\[calc\(var\(--header-height\)\+16px\)\] {
    top: calc(var(--header-height) + 1rem);
  }

  .desktop\:order-1 {
    order: 1;
  }

  .desktop\:order-none {
    order: 0;
  }

  .desktop\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .desktop\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .desktop\:col-span-full {
    grid-column: 1 / -1;
  }

  .desktop\:col-start-auto {
    grid-column-start: auto;
  }

  .desktop\:m-0 {
    margin: 0;
  }

  .desktop\:mx-0 {
    margin-left: 0;
    margin-right: 0;
  }

  .desktop\:mx-12 {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  .desktop\:mx-16 {
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .desktop\:mx-32 {
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .desktop\:mx-\[2px\] {
    margin-left: 0.125rem;
    margin-right: 0.125rem;
  }

  .desktop\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }

  .desktop\:my-16 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .desktop\:my-28 {
    margin-top: 1.75rem;
    margin-bottom: 1.75rem;
  }

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

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

  .desktop\:mb-0 {
    margin-bottom: 0;
  }

  .desktop\:mb-10 {
    margin-bottom: 0.625rem;
  }

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

  .desktop\:mb-20 {
    margin-bottom: 1.25rem;
  }

  .desktop\:mb-32 {
    margin-bottom: 2rem;
  }

  .desktop\:mb-4 {
    margin-bottom: 0.25rem;
  }

  .desktop\:mb-6 {
    margin-bottom: 0.375rem;
  }

  .desktop\:mb-8 {
    margin-bottom: 0.5rem;
  }

  .desktop\:mb-\[7px\] {
    margin-bottom: 0.4375rem;
  }

  .desktop\:ml-0 {
    margin-left: 0;
  }

  .desktop\:ml-20 {
    margin-left: 1.25rem;
  }

  .desktop\:ml-8 {
    margin-left: 0.5rem;
  }

  .desktop\:mr-0 {
    margin-right: 0;
  }

  .desktop\:mr-16 {
    margin-right: 1rem;
  }

  .desktop\:mr-20 {
    margin-right: 1.25rem;
  }

  .desktop\:mr-5 {
    margin-right: 0.3125rem;
  }

  .desktop\:mr-64 {
    margin-right: 4rem;
  }

  .desktop\:mr-8 {
    margin-right: 0.5rem;
  }

  .desktop\:mr-\[10px\] {
    margin-right: 0.625rem;
  }

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

  .desktop\:mt-10 {
    margin-top: 0.625rem;
  }

  .desktop\:mt-12 {
    margin-top: 0.75rem;
  }

  .desktop\:mt-16 {
    margin-top: 1rem;
  }

  .desktop\:mt-20 {
    margin-top: 1.25rem;
  }

  .desktop\:mt-24 {
    margin-top: 1.5rem;
  }

  .desktop\:mt-28 {
    margin-top: 1.75rem;
  }

  .desktop\:mt-32 {
    margin-top: 2rem;
  }

  .desktop\:mt-36 {
    margin-top: 2.25rem;
  }

  .desktop\:mt-64 {
    margin-top: 4rem;
  }

  .desktop\:mt-72 {
    margin-top: 4.5rem;
  }

  .desktop\:mt-8 {
    margin-top: 0.5rem;
  }

  .desktop\:mt-\[-112px\] {
    margin-top: -7rem;
  }

  .desktop\:mt-\[36px\] {
    margin-top: 2.25rem;
  }

  .desktop\:block {
    display: block;
  }

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

  .desktop\:inline {
    display: inline;
  }

  .desktop\:\!flex {
    display: flex !important;
  }

  .desktop\:flex {
    display: flex;
  }

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

  .desktop\:grid {
    display: grid;
  }

  .desktop\:hidden {
    display: none;
  }

  .desktop\:h-48 {
    height: 3rem;
  }

  .desktop\:h-\[48px\] {
    height: 3rem;
  }

  .desktop\:h-\[55px\] {
    height: 3.4375rem;
  }

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

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

  .desktop\:max-h-\[calc\(100vh-64px\)\] {
    max-height: calc(100vh - 4rem);
  }

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

  .desktop\:min-h-\[43px\] {
    min-height: 2.6875rem;
  }

  .desktop\:min-h-\[60px\] {
    min-height: 3.75rem;
  }

  .desktop\:w-1\/2 {
    width: 50%;
  }

  .desktop\:w-3\/4 {
    width: 75%;
  }

  .desktop\:w-32 {
    width: 2rem;
  }

  .desktop\:w-\[150px\] {
    width: 9.375rem;
  }

  .desktop\:w-\[20\%\] {
    width: 20%;
  }

  .desktop\:w-\[24px\] {
    width: 1.5rem;
  }

  .desktop\:w-\[31\%\] {
    width: 31%;
  }

  .desktop\:w-\[45\%\] {
    width: 45%;
  }

  .desktop\:w-\[55\%\] {
    width: 55%;
  }

  .desktop\:w-\[74px\] {
    width: 4.625rem;
  }

  .desktop\:w-\[calc\(100\%\/7\)\] {
    width: calc(100% / 7);
  }

  .desktop\:w-\[calc\(150px\)\] {
    width: calc(9.375rem);
  }

  .desktop\:w-\[unset\] {
    width: unset;
  }

  .desktop\:w-auto {
    width: auto;
  }

  .desktop\:w-fit {
    width: -moz-fit-content;
    width: fit-content;
  }

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

  .desktop\:min-w-0 {
    min-width: 0;
  }

  .desktop\:min-w-\[160px\] {
    min-width: 10rem;
  }

  .desktop\:min-w-\[224px\] {
    min-width: 14rem;
  }

  .desktop\:min-w-\[48px\] {
    min-width: 3rem;
  }

  .desktop\:max-w-\[224px\] {
    max-width: 14rem;
  }

  .desktop\:max-w-\[256px\] {
    max-width: 16rem;
  }

  .desktop\:max-w-\[280px\] {
    max-width: 17.5rem;
  }

  .desktop\:max-w-\[375px\] {
    max-width: 23.4375rem;
  }

  .desktop\:max-w-\[380px\] {
    max-width: 23.75rem;
  }

  .desktop\:max-w-\[455px\] {
    max-width: 28.4375rem;
  }

  .desktop\:max-w-\[500px\] {
    max-width: 31.25rem;
  }

  .desktop\:max-w-\[75\%\] {
    max-width: 75%;
  }

  .desktop\:max-w-\[calc\(100\%_-_212px\)\] {
    max-width: calc(100% - 13.25rem);
  }

  .desktop\:max-w-\[calc\(100vw-297px-28px-64px\)\] {
    max-width: calc(100vw - 18.5625rem - 1.75rem - 4rem);
  }

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

  .desktop\:max-w-none {
    max-width: none;
  }

  .desktop\:max-w-site {
    max-width: 90rem;
  }

  .desktop\:flex-1 {
    flex: 1 1 0%;
  }

  .desktop\:flex-none {
    flex: none;
  }

  .desktop\:basis-\[40\%\] {
    flex-basis: 40%;
  }

  .desktop\:basis-\[48\%\] {
    flex-basis: 48%;
  }

  .desktop\:translate-x-\[0\%\] {
    --tw-translate-x: 0%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .desktop\:transform-none {
    transform: none;
  }

  .desktop\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .desktop\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .desktop\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .desktop\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .desktop\:grid-cols-\[297px\2c 1fr\] {
    grid-template-columns: 18.5625rem 1fr;
  }

  .desktop\:grid-cols-\[auto\2c 1fr\] {
    grid-template-columns: auto 1fr;
  }

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

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

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

  .desktop\:items-start {
    align-items: flex-start;
  }

  .desktop\:items-end {
    align-items: flex-end;
  }

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

  .desktop\:justify-start {
    justify-content: flex-start;
  }

  .desktop\:justify-end {
    justify-content: flex-end;
  }

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

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

  .desktop\:gap-10 {
    gap: 0.625rem;
  }

  .desktop\:gap-12 {
    gap: 0.75rem;
  }

  .desktop\:gap-16 {
    gap: 1rem;
  }

  .desktop\:gap-24 {
    gap: 1.5rem;
  }

  .desktop\:gap-28 {
    gap: 1.75rem;
  }

  .desktop\:gap-32 {
    gap: 2rem;
  }

  .desktop\:gap-4 {
    gap: 0.25rem;
  }

  .desktop\:gap-64 {
    gap: 4rem;
  }

  .desktop\:gap-8 {
    gap: 0.5rem;
  }

  .desktop\:gap-x-16 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }

  .desktop\:gap-x-4 {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }

  .desktop\:gap-y-24 {
    row-gap: 1.5rem;
  }

  .desktop\:self-start {
    align-self: flex-start;
  }

  .desktop\:overflow-visible {
    overflow: visible;
  }

  .desktop\:overflow-x-auto {
    overflow-x: auto;
  }

  .desktop\:whitespace-normal {
    white-space: normal;
  }

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

  .desktop\:rounded-none {
    border-radius: 0;
  }

  .desktop\:border {
    border-width: 0.0625rem;
  }

  .desktop\:border-0 {
    border-width: 0;
  }

  .desktop\:border-b {
    border-bottom-width: 0.0625rem;
  }

  .desktop\:border-b-2 {
    border-bottom-width: 0.125rem;
  }

  .desktop\:border-r {
    border-right-width: 0.0625rem;
  }

  .desktop\:border-r-0 {
    border-right-width: 0;
  }

  .desktop\:border-t-2 {
    border-top-width: 0.125rem;
  }

  .desktop\:border-none {
    border-style: none;
  }

  .desktop\:border-\[var\(--countdown-timer-border-desktop\)\] {
    border-color: var(--countdown-timer-border-desktop);
  }

  .desktop\:border-gray {
    --tw-border-opacity: 1;
    border-color: rgb(216 216 216 / var(--tw-border-opacity));
  }

  .desktop\:border-transparent {
    border-color: transparent;
  }

  .desktop\:bg-\[var\(--countdown-bg-desktop\)\] {
    background-color: var(--countdown-bg-desktop);
  }

  .desktop\:bg-\[var\(--countdown-timer-bg-desktop\)\] {
    background-color: var(--countdown-timer-bg-desktop);
  }

  .desktop\:bg-\[var\(--promo-bg-desktop\)\] {
    background-color: var(--promo-bg-desktop);
  }

  .desktop\:bg-transparent {
    background-color: transparent;
  }

  .desktop\:object-contain {
    -o-object-fit: contain;
       object-fit: contain;
  }

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

  .desktop\:p-12 {
    padding: 0.75rem;
  }

  .desktop\:p-16 {
    padding: 1rem;
  }

  .desktop\:p-32 {
    padding: 2rem;
  }

  .desktop\:px-0 {
    padding-left: 0;
    padding-right: 0;
  }

  .desktop\:px-10 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }

  .desktop\:px-15 {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .desktop\:px-16 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .desktop\:px-20 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .desktop\:px-28 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .desktop\:px-32 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .desktop\:px-48 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .desktop\:px-64 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .desktop\:px-8 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .desktop\:px-\[60px\] {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
  }

  .desktop\:py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }

  .desktop\:py-10 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  .desktop\:py-12 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .desktop\:py-16 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .desktop\:py-28 {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }

  .desktop\:py-32 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .desktop\:py-5 {
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
  }

  .desktop\:py-8 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .desktop\:py-\[14px\] {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
  }

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

  .desktop\:pb-12 {
    padding-bottom: 0.75rem;
  }

  .desktop\:pb-16 {
    padding-bottom: 1rem;
  }

  .desktop\:pb-32 {
    padding-bottom: 2rem;
  }

  .desktop\:pb-64 {
    padding-bottom: 4rem;
  }

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

  .desktop\:pl-16 {
    padding-left: 1rem;
  }

  .desktop\:pl-24 {
    padding-left: 1.5rem;
  }

  .desktop\:pl-32 {
    padding-left: 2rem;
  }

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

  .desktop\:pr-16 {
    padding-right: 1rem;
  }

  .desktop\:pr-24 {
    padding-right: 1.5rem;
  }

  .desktop\:pr-32 {
    padding-right: 2rem;
  }

  .desktop\:pr-8 {
    padding-right: 0.5rem;
  }

  .desktop\:pr-\[14px\] {
    padding-right: 0.875rem;
  }

  .desktop\:pr-\[30px\] {
    padding-right: 1.875rem;
  }

  .desktop\:pr-\[56px\] {
    padding-right: 3.5rem;
  }

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

  .desktop\:pt-12 {
    padding-top: 0.75rem;
  }

  .desktop\:pt-16 {
    padding-top: 1rem;
  }

  .desktop\:pt-28 {
    padding-top: 1.75rem;
  }

  .desktop\:pt-30 {
    padding-top: 1.875rem;
  }

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

  .desktop\:pt-48 {
    padding-top: 3rem;
  }

  .desktop\:pt-72 {
    padding-top: 4.5rem;
  }

  .desktop\:pt-\[30px\] {
    padding-top: 1.875rem;
  }

  .desktop\:pt-\[55px\] {
    padding-top: 3.4375rem;
  }

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

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

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

  .desktop\:text-12 {
    font-size: 0.75rem;
  }

  .desktop\:text-14 {
    font-size: 0.875rem;
  }

  .desktop\:text-16 {
    font-size: 1rem;
  }

  .desktop\:text-18 {
    font-size: 1.125rem;
  }

  .desktop\:text-20 {
    font-size: 1.25rem;
  }

  .desktop\:text-24 {
    font-size: 1.5rem;
  }

  .desktop\:text-34 {
    font-size: 2.125rem;
  }

  .desktop\:text-42 {
    font-size: 2.625rem;
  }

  .desktop\:text-60 {
    font-size: 3.75rem;
  }

  .desktop\:text-\[2\.25rem\] {
    font-size: 2.25rem;
  }

  .desktop\:text-\[24px\] {
    font-size: 1.5rem;
  }

  .desktop\:text-\[26px\] {
    font-size: 1.625rem;
  }

  .desktop\:text-\[28px\] {
    font-size: 1.75rem;
  }

  .desktop\:text-\[36px\] {
    font-size: 2.25rem;
  }

  .desktop\:font-600 {
    font-weight: 600;
  }

  .desktop\:font-700 {
    font-weight: 700;
  }

  .desktop\:lowercase {
    text-transform: lowercase;
  }

  .desktop\:leading-\[1\.25\] {
    line-height: 1.25;
  }

  .desktop\:leading-\[18px\] {
    line-height: 1.125rem;
  }

  .desktop\:text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity));
  }

  .desktop\:text-gray-dark {
    --tw-text-opacity: 1;
    color: rgb(73 73 73 / var(--tw-text-opacity));
  }

  .desktop\:text-green {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }

  .desktop\:text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }

  .desktop\:text-yellow {
    --tw-text-opacity: 1;
    color: rgb(255 208 20 / var(--tw-text-opacity));
  }

  .desktop\:shadow-none {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  .desktop\:transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  .desktop\:last\:border-0:last-child {
    border-width: 0;
  }

  .desktop\:hover\:cursor-pointer:hover {
    cursor: pointer;
  }

  .desktop\:hover\:border-black-text:hover {
    --tw-border-opacity: 1;
    border-color: rgb(28 28 28 / var(--tw-border-opacity));
  }

  .desktop\:hover\:border-yellow:hover {
    --tw-border-opacity: 1;
    border-color: rgb(255 208 20 / var(--tw-border-opacity));
  }

  .desktop\:hover\:bg-black-text:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity));
  }

  .desktop\:hover\:bg-yellow:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 208 20 / var(--tw-bg-opacity));
  }

  .desktop\:hover\:\!text-gray-medium:hover {
    --tw-text-opacity: 1 !important;
    color: rgb(176 172 176 / var(--tw-text-opacity)) !important;
  }

  .desktop\:hover\:text-green:hover {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }

  .desktop\:hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }

  .desktop\:hover\:text-yellow:hover {
    --tw-text-opacity: 1;
    color: rgb(255 208 20 / var(--tw-text-opacity));
  }

  .desktop\:hover\:no-underline:hover {
    text-decoration-line: none;
  }

  .desktop\:hover\:opacity-100:hover {
    opacity: 1;
  }

  .desktop\:hover\:opacity-70:hover {
    opacity: 0.7;
  }

  .desktop\:focus\:border-yellow:focus {
    --tw-border-opacity: 1;
    border-color: rgb(255 208 20 / var(--tw-border-opacity));
  }

  .desktop\:focus\:bg-yellow:focus {
    --tw-bg-opacity: 1;
    background-color: rgb(255 208 20 / var(--tw-bg-opacity));
  }

  .desktop\:focus\:shadow-none:focus {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  .group:hover .desktop\:group-hover\:-top-10 {
    top: -0.625rem;
  }

  .group:hover .desktop\:group-hover\:text-green {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }

  .group:hover .desktop\:group-hover\:opacity-70 {
    opacity: 0.7;
  }

  .group:focus .desktop\:group-focus\:text-green {
    --tw-text-opacity: 1;
    color: rgb(35 138 68 / var(--tw-text-opacity));
  }
}

@media (min-width: 71.25rem) {

  .laptop\:block {
    display: block;
  }

  .laptop\:hidden {
    display: none;
  }

  .laptop\:min-h-\[48px\] {
    min-height: 3rem;
  }

  .laptop\:min-w-\[170px\] {
    min-width: 10.625rem;
  }

  .laptop\:py-8 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .laptop\:text-10 {
    font-size: 0.625rem;
  }

  .laptop\:text-12 {
    font-size: 0.75rem;
  }

  .laptop\:text-14 {
    font-size: 0.875rem;
  }

  .laptop\:text-16 {
    font-size: 1rem;
  }

  .laptop\:text-18 {
    font-size: 1.125rem;
  }

  .laptop\:text-20 {
    font-size: 1.25rem;
  }

  .laptop\:text-22 {
    font-size: 1.375rem;
  }

  .laptop\:text-28 {
    font-size: 1.75rem;
  }

  .laptop\:text-34 {
    font-size: 2.125rem;
  }

  .laptop\:text-42 {
    font-size: 2.625rem;
  }

  .laptop\:leading-normal {
    line-height: 1.5;
  }
}

@media (min-width: 80rem) {

  .widescreen\:w-1\/2 {
    width: 50%;
  }

  .widescreen\:w-\[calc\(100\%\/7-20px\)\] {
    width: calc(100% / 7 - 1.25rem);
  }

  .widescreen\:gap-12 {
    gap: 0.75rem;
  }

  .widescreen\:gap-16 {
    gap: 1rem;
  }

  .widescreen\:text-14 {
    font-size: 0.875rem;
  }
}

@media (min-width: 90rem) {

  .extrawide\:absolute {
    position: absolute;
  }

  .extrawide\:relative {
    position: relative;
  }

  .extrawide\:inset-0 {
    inset: 0;
  }

  .extrawide\:flex {
    display: flex;
  }

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

  .extrawide\:w-\[var\(--max-width\)\] {
    width: var(--max-width);
  }

  .extrawide\:flex-1 {
    flex: 1 1 0%;
  }

  .extrawide\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .extrawide\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .extrawide\:grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }

  .extrawide\:grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  .extrawide\:grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

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

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

  .extrawide\:p-20 {
    padding: 1.25rem;
  }

  .extrawide\:px-72 {
    padding-left: 4.5rem;
    padding-right: 4.5rem;
  }

  .extrawide\:pt-\[50px\] {
    padding-top: 3.125rem;
  }

  .extrawide\:text-16 {
    font-size: 1rem;
  }
}

@media (min-width: 94.5rem) {

  .ultrawide\:px-140 {
    padding-left: 8.75rem;
    padding-right: 8.75rem;
  }

  .ultrawide\:px-50 {
    padding-left: 3.125rem;
    padding-right: 3.125rem;
  }

  .ultrawide\:px-\[140px\] {
    padding-left: 8.75rem;
    padding-right: 8.75rem;
  }

  .ultrawide\:py-20 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .ultrawide\:py-\[25px\] {
    padding-top: 1.5625rem;
    padding-bottom: 1.5625rem;
  }
}

@media (max-width: 64.0625rem) {

  .max-desktop\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .max-desktop\:justify-start {
    justify-content: flex-start;
  }

  .max-desktop\:justify-end {
    justify-content: flex-end;
  }

  .max-desktop\:justify-center {
    justify-content: center;
  }
}

@media (orientation: landscape) {

  .landscape\:bottom-auto {
    bottom: auto;
  }

  .landscape\:top-1\/2 {
    top: 50%;
  }

  .landscape\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }

  .landscape\:mb-72 {
    margin-bottom: 4.5rem;
  }

  .landscape\:ml-0 {
    margin-left: 0;
  }

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

  .landscape\:mr-0 {
    margin-right: 0;
  }

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

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

  .landscape\:mt-24 {
    margin-top: 1.5rem;
  }

  .landscape\:mt-32 {
    margin-top: 2rem;
  }

  .landscape\:block {
    display: block;
  }

  .landscape\:flex {
    display: flex;
  }

  .landscape\:hidden {
    display: none;
  }

  .landscape\:h-\[43vw\] {
    height: 43vw;
  }

  .landscape\:h-\[calc\(28vw\/1\.5\)\] {
    height: calc(28vw / 1.5);
  }

  .landscape\:h-\[calc\(43vw\/1\.5\)\] {
    height: calc(43vw / 1.5);
  }

  .landscape\:w-1\/2 {
    width: 50%;
  }

  .landscape\:w-1\/5 {
    width: 20%;
  }

  .landscape\:w-\[calc\(100vw\/3\.25\)\] {
    width: calc(100vw / 3.25);
  }

  .landscape\:max-w-\[240px\] {
    max-width: 15rem;
  }

  .landscape\:max-w-\[500px\] {
    max-width: 31.25rem;
  }

  .landscape\:flex-1 {
    flex: 1 1 0%;
  }

  .landscape\:-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .landscape\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .landscape\:items-start {
    align-items: flex-start;
  }

  .landscape\:items-end {
    align-items: flex-end;
  }

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

  .landscape\:justify-start {
    justify-content: flex-start;
  }

  .landscape\:justify-end {
    justify-content: flex-end;
  }

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

  .landscape\:gap-48 {
    gap: 3rem;
  }

  .landscape\:border-l {
    border-left-width: 0.0625rem;
  }

  .landscape\:border-t-0 {
    border-top-width: 0;
  }

  .landscape\:border-none {
    border-style: none;
  }

  .landscape\:p-32 {
    padding: 2rem;
  }

  .landscape\:px-0 {
    padding-left: 0;
    padding-right: 0;
  }

  .landscape\:px-32 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .landscape\:py-48 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .landscape\:pb-16 {
    padding-bottom: 1rem;
  }

  .landscape\:pl-36 {
    padding-left: 2.25rem;
  }

  .landscape\:pr-36 {
    padding-right: 2.25rem;
  }

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

  .landscape\:text-18 {
    font-size: 1.125rem;
  }

  .landscape\:text-42 {
    font-size: 2.625rem;
  }
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}