/* Frontend Utilities - Interaction CSS
   These classes pair with scripts in ../js unless marked CSS-only...
*/

.ken-burns div:has(> .bgGallerySlideHolder) {
  position: relative !important;
  overflow: hidden !important;
}

.ken-burns .bgGallerySlideHolder {
  animation: ken-burns-zoom var(--ken-burns-duration, 40s) var(--ken-burns-ease, ease) infinite;
  transform-origin: center;
  will-change: transform;
}

@keyframes ken-burns-zoom {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(var(--ken-burns-scale, 1.2));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ken-burns .bgGallerySlideHolder {
    animation: none;
    transform: none;
  }
}

:is(.text-anim-stagger-entry, .adv-stagger-entry) {
  --stagger-duration: 0.7s;
  --stagger-step: 0.14s;
  --stagger-distance: 24px;
  --stagger-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --stagger-delay: 0.2s;
}

:is(.text-anim-stagger-entry, .adv-stagger-entry) > .adv-stagger-child,
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span,
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-stagger-line,
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item,
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph ul[class] > li,
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph ol[class] > li {
  opacity: 0;
  transform: translateY(var(--stagger-distance));
  will-change: opacity, transform;
}

:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-stagger-line {
  display: inline-block;
}

:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph ul[class] > li,
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph ol[class] > li {
  display: list-item;
}

:is(.text-anim-stagger-entry, .adv-stagger-entry).is-visible > .adv-stagger-child,
:is(.text-anim-stagger-entry, .adv-stagger-entry).is-visible .adv-text-wrapper > .adv-text-span,
:is(.text-anim-stagger-entry, .adv-stagger-entry).is-visible .adv-stagger-line,
:is(.text-anim-stagger-entry, .adv-stagger-entry).is-visible .adv-text-list > .adv-text-item,
:is(.text-anim-stagger-entry, .adv-stagger-entry).is-visible .dmNewParagraph ul[class] > li,
:is(.text-anim-stagger-entry, .adv-stagger-entry).is-visible .dmNewParagraph ol[class] > li {
  animation: text-anim-stagger-in var(--stagger-duration) var(--stagger-ease) forwards;
  animation-delay: calc(var(--stagger-delay) + (var(--span-index, 0) * var(--stagger-step)));
}

:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(1) { --span-index: 0; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(2) { --span-index: 1; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(3) { --span-index: 2; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(4) { --span-index: 3; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(5) { --span-index: 4; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(6) { --span-index: 5; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(7) { --span-index: 6; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(8) { --span-index: 7; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(9) { --span-index: 8; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span:nth-child(10) { --span-index: 9; }

:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(1) { --span-index: 0; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(2) { --span-index: 1; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(3) { --span-index: 2; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(4) { --span-index: 3; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(5) { --span-index: 4; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(6) { --span-index: 5; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(7) { --span-index: 6; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(8) { --span-index: 7; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(9) { --span-index: 8; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item:nth-child(10) { --span-index: 9; }

:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(1) { --span-index: 0; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(2) { --span-index: 1; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(3) { --span-index: 2; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(4) { --span-index: 3; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(5) { --span-index: 4; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(6) { --span-index: 5; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(7) { --span-index: 6; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(8) { --span-index: 7; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(9) { --span-index: 8; }
:is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph li:nth-child(10) { --span-index: 9; }

@keyframes text-anim-stagger-in {
  from {
    opacity: 0;
    transform: translateY(var(--stagger-distance));
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.text-anim-stagger-entry, .adv-stagger-entry) > .adv-stagger-child,
  :is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-wrapper > .adv-text-span,
  :is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-stagger-line,
  :is(.text-anim-stagger-entry, .adv-stagger-entry) .adv-text-list > .adv-text-item,
  :is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph ul[class] > li,
  :is(.text-anim-stagger-entry, .adv-stagger-entry) .dmNewParagraph ol[class] > li {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* Card surface configuration.
   New cards use card-static or card-interactive on the outer wrapper.
   Legacy card and multiple selectors remain supported during migration. */
:is(
  .card-static > *,
  .card-static:not(.multiple)
) {
  position: relative !important;
  background-color: var(--card-static-background-color, transparent) !important;
  background-image: var(--card-static-background-image, none) !important;
  border: var(--card-static-border, none) !important;
  box-shadow: var(--card-static-box-shadow, none) !important;
}

:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
) {
  position: relative !important;
  background-color: var(--card-interactive-background-color, transparent) !important;
  background-image: var(--card-interactive-background-image, none) !important;
  border: var(--card-interactive-border, none) !important;
  box-shadow: var(--card-interactive-box-shadow, none) !important;
  transition:
    background-color 100ms ease,
    background-image 100ms ease,
    border-color 100ms ease,
  box-shadow 100ms ease;
}

/* Legacy *-hover custom properties remain as fallbacks for existing projects. */
:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
):is(:hover, :focus-within) {
  background-color: var(
    --card-interactive-hover-background-color,
    transparent
  ) !important;
  background-image: var(
    --card-interactive-hover-background-image,
    none
  ) !important;
  border: var(
    --card-interactive-hover-border,
    var(--card-interactive-border-hover, none)
  ) !important;
  box-shadow: var(
    --card-interactive-hover-box-shadow,
    var(--card-interactive-box-shadow-hover, none)
  ) !important;
}

/* Inset shadows use an independent layer so either shadow can safely be none. */
:is(
  .card-static > *,
  .card-static:not(.multiple),
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
)::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: var(--card-static-inset-shadow, none) !important;
  pointer-events: none;
}

:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
)::after {
  box-shadow: var(--card-interactive-inset-shadow, none) !important;
  transition: box-shadow 100ms ease;
}

:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
):is(:hover, :focus-within)::after {
  box-shadow: var(
    --card-interactive-hover-inset-shadow,
    var(--card-interactive-inset-shadow-hover, none)
  ) !important;
}

:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
) svg path {
  transition: fill 100ms ease;
}

:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
) .graphicWidget:has(> svg) {
  background-color: var(--card-interactive-icon-background-color) !important;
}

:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
) .graphicWidget:has(> svg) > svg path {
  fill: var(--card-interactive-icon-fill);
}

.card-carousel {
  --card-carousel-gap: 0px;
  --card-carousel-gap-space: calc(var(--card-carousel-gap) + var(--card-carousel-gap) + var(--card-carousel-gap));
  --card-carousel-item-divisor: 3.5;
  --card-carousel-page-items: 3;
  --card-carousel-track-padding-inline: 0px;
  --card-carousel-track-padding-left: 0px;
  --card-carousel-track-padding-right: 0px;
  --card-carousel-end-spacer: 0px;
  --card-carousel-edge-fade-color: var(--canvas-1, #fff);
  --card-carousel-edge-fade-width: clamp(120px, 11vw, 180px);
  position: relative !important;
}

.card-carousel-viewport {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  container-type: inline-size;
}

.card-carousel-viewport::-webkit-scrollbar {
  display: none;
}

.card-carousel-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: max-content !important;
}

.card-carousel-track > * {
  flex: 0 0 auto !important;
}

.card-carousel-item {
  flex: 0 0 calc((100cqw - var(--card-carousel-track-padding-inline) - var(--card-carousel-gap-space)) / var(--card-carousel-item-divisor)) !important;
  max-width: calc((100cqw - var(--card-carousel-track-padding-inline) - var(--card-carousel-gap-space)) / var(--card-carousel-item-divisor)) !important;
  overflow: hidden !important;
}

.card-carousel-end-spacer {
  display: block !important;
  flex: 0 0 var(--card-carousel-end-spacer) !important;
  width: var(--card-carousel-end-spacer) !important;
  min-width: var(--card-carousel-end-spacer) !important;
  height: 1px !important;
  margin-left: calc(var(--card-carousel-gap) * -1) !important;
  pointer-events: none !important;
}

.card-carousel-prev,
.card-carousel-next {
  cursor: pointer;
}

.card-carousel-prev.is-disabled,
.card-carousel-next.is-disabled {
  cursor: default;
  opacity: 0.3;
  pointer-events: none;
}

.card-carousel-overlay {
  margin: 0 !important;
  border-radius: inherit !important;
}

.card-carousel-edge-fade {
  display: none;
}

.card-carousel.is-card-carousel-static.card-carousel-viewport,
.card-carousel.is-card-carousel-static .card-carousel-viewport {
  max-width: 100% !important;
  overflow-x: visible !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.card-carousel.is-card-carousel-static .card-carousel-track {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.card-carousel.is-card-carousel-static .card-carousel-end-spacer {
  display: none;
}

.card-carousel.is-card-carousel-static .card-carousel-item {
  flex: 1 1 0 !important;
  max-width: none !important;
}

.card-carousel.is-card-carousel-static :is(.card-carousel-prev, .card-carousel-next) {
  display: none !important;
}

@media (min-width: 1025px) {
  .card-carousel-viewport {
    scroll-padding-left: var(--card-carousel-track-padding-left);
    scroll-padding-right: var(--card-carousel-track-padding-right);
  }
}

@media (min-width: 1280px) {
  .card-carousel.has-card-carousel-edge-fades > .card-carousel-edge-fade {
    position: absolute;
    top: var(--card-carousel-viewport-top, 0);
    height: var(--card-carousel-viewport-height, 100%);
    width: var(--card-carousel-edge-fade-width);
    display: block;
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background-color: var(--card-carousel-edge-fade-color);
    -webkit-mask-image: linear-gradient(
      var(--card-carousel-edge-fade-direction),
      #000 0%,
      rgb(0 0 0 / 98%) 10%,
      rgb(0 0 0 / 88%) 25%,
      rgb(0 0 0 / 68%) 45%,
      rgb(0 0 0 / 42%) 65%,
      rgb(0 0 0 / 18%) 83%,
      transparent 100%
    );
    mask-image: linear-gradient(
      var(--card-carousel-edge-fade-direction),
      #000 0%,
      rgb(0 0 0 / 98%) 10%,
      rgb(0 0 0 / 88%) 25%,
      rgb(0 0 0 / 68%) 45%,
      rgb(0 0 0 / 42%) 65%,
      rgb(0 0 0 / 18%) 83%,
      transparent 100%
    );
    transition:
      opacity 200ms ease,
      visibility 0s linear 200ms;
  }

  .card-carousel-edge-fade--left {
    --card-carousel-edge-fade-direction: to right;
    left: var(--card-carousel-viewport-left, 0);
  }

  .card-carousel-edge-fade--right {
    --card-carousel-edge-fade-direction: to left;
    right: var(--card-carousel-viewport-right, 0);
  }

  .card-carousel.has-overflow-left > .card-carousel-edge-fade--left,
  .card-carousel.has-overflow-right > .card-carousel-edge-fade--right {
    opacity: 1;
    visibility: visible;
    transition:
      opacity 200ms ease,
      visibility 0s;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .card-carousel {
    --card-carousel-gap-space: calc(var(--card-carousel-gap) + var(--card-carousel-gap));
    --card-carousel-item-divisor: 2.5;
    --card-carousel-page-items: 2;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .card-carousel-item {
    flex-basis: calc((100cqw - var(--card-carousel-track-padding-inline) - var(--card-carousel-gap-space)) / var(--card-carousel-item-divisor)) !important;
    max-width: calc((100cqw - var(--card-carousel-track-padding-inline) - var(--card-carousel-gap-space)) / var(--card-carousel-item-divisor)) !important;
  }
}

@media (max-width: 767px) {
  .card-carousel {
    --card-carousel-gap-space: var(--card-carousel-gap);
    --card-carousel-item-divisor: 1.5;
    --card-carousel-page-items: 1;
  }

  .card-carousel-item {
    flex-basis: calc((100cqw - var(--card-carousel-track-padding-inline) - var(--card-carousel-gap-space)) / var(--card-carousel-item-divisor)) !important;
    max-width: calc((100cqw - var(--card-carousel-track-padding-inline) - var(--card-carousel-gap-space)) / var(--card-carousel-item-divisor)) !important;
  }
}

.collection-carousel-scroll-nav,
.carousel-scroll-nav {
  min-width: 0 !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.collection-carousel-scroll-nav::-webkit-scrollbar,
.carousel-scroll-nav::-webkit-scrollbar {
  display: none;
}

.collection-carousel-scroll-nav.is-dragging,
.carousel-scroll-nav.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.collection-carousel-scroll-nav-track,
.carousel-scroll-nav-track {
  transform: none !important;
}

.collection-carousel-scroll.is-collection-carousel-scroll-nav-row .collection-carousel-scroll-nav {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  touch-action: pan-x;
}

.carousel-scroll.is-carousel-scroll-nav-row .carousel-scroll-nav {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  touch-action: pan-x;
}

.collection-carousel-scroll.is-collection-carousel-scroll-nav-row .collection-carousel-scroll-nav-track {
  display: inline-flex !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
}

.carousel-scroll.is-carousel-scroll-nav-row .carousel-scroll-nav-track {
  display: inline-flex !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
}

.collection-carousel-scroll-nav-item,
.carousel-scroll-nav-item {
  position: relative;
  cursor: pointer;
  opacity: 0.45;
  transition: opacity 200ms ease;
}

.collection-carousel-scroll-nav-item.is-active,
.carousel-scroll-nav-item.is-active {
  opacity: 1;
}

.collection-carousel-scroll.is-collection-carousel-scroll-nav-row .collection-carousel-scroll-nav-item {
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

.carousel-scroll.is-carousel-scroll-nav-row .carousel-scroll-nav-item {
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

.collection-carousel-scroll.is-collection-carousel-scroll-nav-row .collection-carousel-scroll-nav-item > :not(:is(.collection-scroll-nav-marker, .collection-scroll-nav-marker-row, .collection-scroll-nav-marker-col)) {
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

.carousel-scroll.is-carousel-scroll-nav-row .carousel-scroll-nav-item > :not(:is(.carousel-scroll-nav-marker, .carousel-scroll-nav-marker-row, .carousel-scroll-nav-marker-col)) {
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

.collection-carousel-scroll.is-collection-carousel-scroll-nav-row .collection-carousel-scroll-nav-item > :not(:is(.collection-scroll-nav-marker, .collection-scroll-nav-marker-row, .collection-scroll-nav-marker-col)) :is(.flex-element, .widget-wrapper, .dmNewParagraph) {
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
}

.carousel-scroll.is-carousel-scroll-nav-row .carousel-scroll-nav-item > :not(:is(.carousel-scroll-nav-marker, .carousel-scroll-nav-marker-row, .carousel-scroll-nav-marker-col)) :is(.flex-element, .widget-wrapper, .dmNewParagraph) {
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
}

.collection-carousel-scroll .collection-carousel-scroll-nav-item :is(.collection-scroll-nav-marker, .collection-scroll-nav-marker-row, .collection-scroll-nav-marker-col) {
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease, visibility 200ms ease;
}

.carousel-scroll .carousel-scroll-nav-item :is(.carousel-scroll-nav-marker, .carousel-scroll-nav-marker-row, .carousel-scroll-nav-marker-col) {
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease, visibility 200ms ease;
}

.collection-carousel-scroll .collection-carousel-scroll-nav-item.is-active .collection-scroll-nav-marker,
.collection-carousel-scroll.is-collection-carousel-scroll-nav-row .collection-carousel-scroll-nav-item.is-active .collection-scroll-nav-marker-row,
.collection-carousel-scroll.is-collection-carousel-scroll-nav-col .collection-carousel-scroll-nav-item.is-active .collection-scroll-nav-marker-col {
  opacity: 1;
  visibility: visible;
}

.carousel-scroll .carousel-scroll-nav-item.is-active .carousel-scroll-nav-marker,
.carousel-scroll.is-carousel-scroll-nav-row .carousel-scroll-nav-item.is-active .carousel-scroll-nav-marker-row,
.carousel-scroll.is-carousel-scroll-nav-col .carousel-scroll-nav-item.is-active .carousel-scroll-nav-marker-col {
  opacity: 1;
  visibility: visible;
}

.collection-carousel-scroll .collection-carousel-scroll-nav-title,
.collection-carousel-scroll .collection-carousel-scroll-content-item {
  display: none !important;
}

.carousel-scroll .carousel-scroll-nav-title,
.carousel-scroll .carousel-scroll-content-item {
  display: none !important;
}

.collection-carousel-scroll.is-collection-carousel-scroll-ready .collection-carousel-scroll-nav-title.is-active {
  display: inline !important;
}

.carousel-scroll.is-carousel-scroll-ready .carousel-scroll-nav-title.is-active {
  display: inline !important;
}

.collection-carousel-scroll.is-collection-carousel-scroll-ready .collection-carousel-scroll-content-item.is-active {
  display: flex !important;
}

.carousel-scroll.is-carousel-scroll-ready .carousel-scroll-content-item.is-active {
  display: flex !important;
}

.collection-carousel-scroll .collection-carousel-scroll-content-item,
.carousel-scroll .carousel-scroll-content-item {
  width: 100%;
}

.collection-carousel-scroll-nav-item .collection-carousel-scroll-nav-title,
.collection-carousel-scroll-nav-item .collection-carousel-scroll-nav-title * {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.carousel-scroll-nav-item .carousel-scroll-nav-title,
.carousel-scroll-nav-item .carousel-scroll-nav-title * {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 767px) {
  .collection-carousel-scroll.is-collection-carousel-scroll-ready .collection-carousel-scroll-nav-item .collection-carousel-scroll-nav-title.is-active {
    display: none !important;
  }

  .carousel-scroll.is-carousel-scroll-ready .carousel-scroll-nav-item .carousel-scroll-nav-title.is-active {
    display: none !important;
  }
}

.collection-carousel-timed {
  --collection-carousel-timed-interval: 4000ms;
  --collection-carousel-timed-progress-color: var(--red, currentColor);
}

.collection-carousel-timed-nav {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  text-align: left !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-x;
}

.collection-carousel-timed-nav::-webkit-scrollbar {
  display: none;
}

.collection-carousel-timed-nav.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.collection-carousel-timed-nav-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: max-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

.collection-carousel-timed-nav-track > * {
  flex: 0 0 auto !important;
}

.collection-carousel-timed-nav-item {
  position: relative;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  cursor: pointer;
  opacity: 0.45;
  transition: opacity 200ms ease;
}

.collection-carousel-timed-nav-item.is-active {
  opacity: 1;
}

.collection-carousel-timed-nav-item.is-active::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--collection-carousel-timed-progress-color);
  pointer-events: none;
  transform-origin: right center;
  animation: collection-carousel-timed-countdown var(--collection-carousel-timed-interval, 4000ms) linear forwards;
}

.collection-carousel-timed.is-collection-carousel-timed-paused .collection-carousel-timed-nav-item.is-active::before {
  animation-play-state: paused;
}

@keyframes collection-carousel-timed-countdown {
  from {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}

.collection-carousel-timed-title-item,
.collection-carousel-timed-content-item {
  display: none !important;
}

.collection-carousel-timed.is-collection-carousel-timed-ready .collection-carousel-timed-title-item.is-active {
  display: inline !important;
}

.collection-carousel-timed.is-collection-carousel-timed-ready .collection-carousel-timed-content-item.is-active {
  display: flex !important;
}

.collection-carousel-timed-prev,
.collection-carousel-timed-next {
  cursor: pointer;
}

@media (max-width: 1280px) {
  .collection-carousel-timed-nav-track {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.section-anim-zoom-1-frame {
  position: relative;
  z-index: 2;
  will-change: transform;
  transform-style: preserve-3d;
  overflow: hidden !important;
}

.section-anim-zoom-1-content,
.section-anim-zoom-2-content {
  position: relative !important;
  overflow: hidden !important;
}

.section-anim-zoom-1-source-img,
.section-anim-zoom-2-target-img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 100% !important;
  overflow: hidden !important;
}

.section-anim-zoom-1-source-img img,
.section-anim-zoom-2-target-img img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.section-anim-zoom-1-content > *:not(.section-anim-zoom-1-source-img),
.section-anim-zoom-2-content > *:not(.section-anim-zoom-2-target-img) {
  position: relative !important;
  z-index: 1 !important;
}

.section-anim-zoom-1-fade-out,
.section-anim-zoom-2-fade-in {
  will-change: opacity;
}

.section-anim-zoom-clone {
  position: fixed;
  z-index: 3;
  pointer-events: none;
  overflow: hidden;
  will-change: left, top, width, height, opacity;
  box-sizing: border-box;
}

.section-anim-zoom-clone img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 1024px) {
  .section-anim-zoom-1-fade-out,
  .section-anim-zoom-2-fade-in,
  .section-anim-zoom-2 {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .section-anim-zoom-1-frame {
    transform: none !important;
  }
}

[data-bg-anim="true"] {
  background-color: var(--bg-anim-from);
  transition: background-color 400ms ease;
}

[data-bg-anim="true"].bg-active {
  background-color: var(--bg-anim-to);
}

.bg-anim-glow {
  --bg-anim-glow-before: var(--bg-anim-glow-color, #38bdf8);
  --bg-anim-glow-after: var(--bg-anim-glow-before);
  --bg-anim-glow-current: var(--bg-anim-glow-before);
  --bg-anim-glow-intensity: 15%;
  --bg-anim-glow-radius: 10%;
  background-image: radial-gradient(
    circle at var(--bg-anim-glow-x, 50%) var(--bg-anim-glow-y, 50%),
    color-mix(
      in srgb,
      var(--bg-anim-glow-current) var(--bg-anim-glow-intensity),
      transparent
    ) 0%,
    transparent var(--bg-anim-glow-radius)
  ) !important;
}

.bg-anim-glow.bg-active {
  --bg-anim-glow-current: var(--bg-anim-glow-after);
}

[data-duda-pin="true"] {
  position: sticky !important;
  top: var(--pin-offset, 0px);
  z-index: var(--pin-z, 10);
}

[data-duda-pin="true"][data-duda-unpinned="true"] {
  position: static !important;
  top: auto !important;
}

:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
):is(:hover, :focus-within) .graphicWidget:has(> svg) {
  background-color: var(
    --card-interactive-hover-icon-background-color,
    var(--card-interactive-icon-background-color-hover)
  ) !important;
}

:is(
  .card-interactive > *,
  .card:not(.multiple, .nav),
  .card.multiple > *
):is(:hover, :focus-within) .graphicWidget:has(> svg) > svg path {
  fill: var(
    --card-interactive-hover-icon-fill,
    var(--card-interactive-icon-fill-hover)
  ) !important;
}
