/** Shopify CDN: Minification failed

Line 410:10 Unexpected "{"
Line 410:19 Expected ":"
Line 423:10 Unexpected "{"
Line 423:19 Expected ":"
Line 427:10 Unexpected "{"
Line 427:19 Expected ":"
Line 432:10 Unexpected "{"
Line 432:19 Expected ":"
Line 439:10 Unexpected "{"
Line 439:19 Expected ":"
... and 16 more hidden warnings

**/
/* ======= GENERAL BANNER STYLES (for normal banners) ======= */

.banner {
  display: flex;
  flex-direction: column;
  position: relative;
  isolation: isolate;
  z-index: auto;
}

.banner__box {
  text-align: center;
  padding: 3rem 3rem;
  position: relative;
  height: fit-content;
  align-items: center;
  width: 100%;
  word-wrap: break-word;
  z-index: 1;
}

.banner--mobile-bottom .banner__box {
  padding: 4rem 3.5rem;
}

@media (min-width: 750px) {
  .banner__box {
    padding: 4rem 3.5rem;
    width: auto;
    max-width: 71rem;
    min-width: 45rem;
  }

  .banner--desktop-transparent .banner__box {
    padding: 4rem 0;
    background: transparent;
    max-width: 89rem;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 749px) {
  .banner--stacked .banner__box {
    width: 100%;
  }
}

.banner__media {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.banner__media-half {
  width: 50%;
}

.banner__media-half + .banner__media-half {
  right: 0;
  left: auto;
}

.banner__media-half.animate--fixed:first-child > img,
.banner__media-half.animate--zoom-in:first-child > img {
  width: 50%;
}

.banner__media-half.animate--fixed:nth-child(2) > img,
.banner__media-half.animate--zoom-in:nth-child(2) > img {
  left: 50%;
  width: 50%;
}

@media (max-width: 749px) {
  .banner--stacked .animate--fixed:first-child > img,
  .banner--stacked .animate--zoom-in:first-child > img {
    width: 100%;
  }

  .banner--stacked .banner__media-half.animate--fixed:nth-child(2) > img,
  .banner--stacked .banner__media-half.animate--zoom-in:nth-child(2) > img {
    left: 0;
    width: 100%;
  }

  .banner--stacked .banner__media-half {
    width: 100%;
  }

  .banner--stacked .banner__media-half + .banner__media-half {
    order: 1;
  }
}

@media (min-width: 750px) {
  .banner__media {
    height: 100%;
  }
}

.banner--adapt,
.banner--adapt_image.banner--mobile-bottom .banner__media:not(.placeholder) {
  height: auto;
}

@media (max-width: 749px) {
  .banner--mobile-bottom .banner__media,
  .banner--stacked:not(.banner--mobile-bottom) .banner__media {
    position: relative;
  }

  .banner--stacked.banner--adapt .banner__content {
    height: auto;
  }

  .banner:not(.banner--mobile-bottom):not(.email-signup-banner) .banner__box {
    background: transparent;
  }

  .banner:not(.banner--mobile-bottom) .banner__box {
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner:not(.banner--mobile-bottom) .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    position: absolute;
    height: auto;
  }

  .banner--stacked.banner--adapt:not(.banner--mobile-bottom) .banner__content {
    max-height: 100%;
    overflow: hidden;
    position: absolute;
  }

  .banner--stacked:not(.banner--adapt) .banner__media {
    position: relative;
  }

  .banner::before {
    display: none !important;
  }

  .banner--stacked .banner__media-image-half {
    width: 100%;
  }
}

.banner__content {
  padding: 0;
  display: flex;
  position: relative;
  width: 100%;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

@media (min-width: 750px) {
  .banner__content {
    padding: 0rem;
  }

  .banner__content--top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .banner__content--top-center {
    align-items: flex-start;
    justify-content: center;
  }

  .banner__content--top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }

  .banner__content--middle-left {
    align-items: center;
    justify-content: flex-start;
  }

  .banner__content--middle-center {
    align-items: center;
    justify-content: center;
  }

  .banner__content--middle-right {
    align-items: center;
    justify-content: flex-end;
  }

  .banner__content--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }

  .banner__content--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }

  .banner__content--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
}

@media (max-width: 749px) {
  .banner--mobile-bottom:not(.banner--stacked) .banner__content {
    order: 2;
  }

  .banner:not(.banner--mobile-bottom) .field__input,
  .banner--mobile-bottom:not(.banner--stacked) .banner__box.color-scheme-1 {
    background: transparent;
    padding: 0px;
    width: 32rem;
  }
}

.banner__heading {
  margin-bottom: 0;
}

.banner__box .banner__heading + * {
  margin-top: 1rem;
}

.banner__buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 1rem;
  max-width: 45rem;
  word-break: break-word;
}

@media (max-width: 749px) {
  .banner--content-align-mobile-right .banner__buttons--multiple {
    justify-content: flex-end;
  }

  .banner--content-align-mobile-center .banner__buttons--multiple > * {
    flex-grow: 1;
    min-width: 22rem;
  }
}

@media (min-width: 750px) {
  .banner--content-align-center .banner__buttons--multiple > * {
    flex-grow: 1;
    min-width: 22rem;
  }

  .banner--content-align-right .banner__buttons--multiple {
    justify-content: flex-end;
  }
}

.banner__box > * + .banner__buttons {
  margin-top: 2rem;
}

@media (max-width: 749px) {
  .banner:not(.slideshow) .rte a,
  .banner:not(.slideshow) .inline-richtext a:hover,
  .banner:not(.slideshow) .rte a:hover {
    color: currentColor;
  }
}

@media (min-width: 750px) {
  .banner--desktop-transparent .rte a,
  .banner--desktop-transparent .inline-richtext a:hover,
  .banner--desktop-transparent .rte a:hover {
    color: currentColor;
  }
}

/* ======= SLIDESHOW-SPECIFIC STYLES (scoped only to .banner.slideshow) ======= */

.banner.slideshow {
  display: flex !important;
  flex-direction: row !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  height: calc(100vh - 4rem) !important;
  width: 100% !important;
  position: relative !important;
  isolation: isolate !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
}

.banner.slideshow .banner__media {
  flex-shrink: 0 !important;
  width: auto !important;  /* allow image to size naturally */
  aspect-ratio: 4 / 5 !important;
  height: 100% !important;
  overflow: hidden !important;
  scroll-snap-align: start !important;
  position: relative !important;
}

.banner.slideshow .banner__media > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

@media (max-width: 749px) {
  .banner.slideshow {
    width: 100vw !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    height: auto !important;  /* changed from fixed */
  }

  .banner.slideshow .banner__media {
    width: 100vw !important;
    height: 0 !important;                /* height via padding */
    padding-top: calc(100% * 5 / 4) !important; /* enforce 4:5 ratio */
    flex-shrink: 0 !important;
    position: relative !important;
    aspect-ratio: auto !important;       /* unset aspect ratio */
  }

  .banner.slideshow .banner__media > img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .banner.slideshow .banner__content {
    display: none !important; /* hide content inside slideshow on mobile */
  }
}

/* Larger medium height banners (non-slideshow) */
.banner:not(.slideshow).banner--medium {
  min-height: 80vh;     /* from 50rem to 80vh */
  height: auto !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Ensure media fills the banner height */
.banner:not(.slideshow).banner--medium .banner__media {
  height: 100%;
  min-height: 80vh;
  flex-shrink: 0;
}

/* Content wrapper: full height, centered */
.banner:not(.slideshow).banner--medium .banner__content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  padding: 3rem;
  height: 100%;
  box-sizing: border-box;
}

/* =========================
   MARQUEE (clean version)
   Replace your whole block with this
   ========================= */

.slideshow-marquee {
  position: relative;
}

/* The scrollable viewport (draggable) */
#Marquee-{{ section.id }}.slideshow-marquee__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: none;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto;
  touch-action: pan-y;

  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
}

#Marquee-{{ section.id }}.slideshow-marquee__viewport::-webkit-scrollbar {
  display: none;
}

#Marquee-{{ section.id }}.slideshow-marquee__viewport.is-dragging {
  cursor: grabbing;
}

/* Track that holds slides */
#Marquee-{{ section.id }} .slideshow-marquee__track {
  display: flex;
  width: max-content;
  gap: 2px; /* <-- GAP BETWEEN IMAGES */
}

/* Each slide acts like a banner: media behind, text overlay */
#Marquee-{{ section.id }} .slideshow-marquee__slide {
  position: relative;
  isolation: isolate;
  flex: 0 0 auto;
  overflow: hidden;
}



/* Mobile: full width + 4:5 (prevents bottom gap) */
@media (max-width: 749px) {
  #Marquee-{{ section.id }} .slideshow-marquee__slide {
    width: 100vw;
    aspect-ratio: 4 / 5;
    height: auto;
  }
}

/* Media fills slide */
#Marquee-{{ section.id }} .slideshow-marquee__slide .banner__media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  z-index: 1;
}

#Marquee-{{ section.id }} .slideshow-marquee__slide .banner__media > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Overlay text */
#Marquee-{{ section.id }} .slideshow-marquee__slide .banner__content {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
}

/* Safari-friendly autoplay uses transform, so we don't need native scrolling */
#Marquee-{{ section.id }}.slideshow-marquee__viewport {
  overflow: hidden; /* important for Safari autoplay */
}

/* When using transform-based marquee (Safari), we handle dragging ourselves */
#Marquee-{{ section.id }}.slideshow-marquee__viewport.is-transform {
  touch-action: pan-y;   /* critical for iOS drag */
  user-select: none;
  -webkit-user-select: none;
}

/* Let the theme dropdown control height */
#Marquee-{{ section.id }} .slideshow-marquee__slide {
  /* default fallback */
  height: var(--marquee-height, 70vh);
  width: calc(var(--marquee-height, 70vh) * 4 / 5); /* keep 4:5 */
}

/* Mobile stays full width 4:5 */
@media (max-width: 749px) {
  #Marquee-{{ section.id }} .slideshow-marquee__slide {
    width: 100vw;
    aspect-ratio: 4 / 5;
    height: auto;
  }
}