.carousel {
  --carousel-slide-button-height: 40px;
  --carousel-slide-button-width: var(--carousel-slide-button-height);
  --carousel-slide-button-height-desktop: 40px;
  --carousel-slide-button-width-desktop: var(--carousel-slide-button-height-desktop);
  --carousel-nav-background: #242424;
  --carousel-nav-background-dark: #e6e6e6;
  --carousel-nav-button-background-hover: #d5d5d5;
  --carousel-nav-button-background-active: #b1b1b1;
  --carousel-nav-button-background-focus: #147af3;
  --carousel-item-header-background: #2c2c2c;
  --carousel-focus-color: #109cde;
  --carousel-indicator-background-color: #cacaca;
  --carousel-expand-background-color: rgb(255 255 255 / 75%);
  --carousel-expand-border-color: rgb(116 116 116 / 30%);
  --s-rounded-corners: 4px;
  --m-rounded-corners: 8px;
  --l-rounded-corners: 16px;
  --full-rounded-corners: 50%;
  --indicator-multiplier: 0;

  --spacing-m: .25rem;


  position: relative;
  margin-bottom: 1.8rem;
  display: flex;
  flex-flow: column;
}

/* Late loading controls */
.carousel .is-delayed {
  visibility: hidden;
}

.carousel.carousel.s2a-tabs .carousel-wrapper {
    overflow: visible !important;
}

.carousel .carousel-wrapper {
  position: relative;
  overflow: hidden;
}

.carousel .carousel-expand img {
  background-color: var(--carousel-expand-background-color);
  box-sizing: content-box;
  border: 1px solid var(--carousel-expand-border-color);
  border-radius: 4px;
  padding: 2px 1px 2px 3px;
  width: 20px;
}

.carousel .carousel-button-container {
  position: relative;
  display: flex;
  align-items: center;
  align-self: center;
  justify-content: space-between;
  background: var(--carousel-nav-background);
  border-radius: 25px;
  padding: 4px;
  order: 3;
  width: max-content;
  min-width: 114px;
  gap: 10px;
}

/* The no-buttons variant is temporarily disabled because slide indicators are currently hidden by default, which makes the no-buttons carousel unusable. */
/* When the slide indicator color issue is resolved and they are enabled again, this should be re-enabled as well. */
/* .carousel.no-buttons .carousel-button-container {
  min-width: auto;
} */

.carousel .carousel-button-container button {
  position: relative;
  padding: 0;
}

.dark .carousel .carousel-button-container,
.carousel.dark .carousel-button-container {
  background: var(--carousel-nav-background-dark);
}

.carousel .carousel-previous,
.carousel .carousel-next {
  background-color: var(--carousel-nav-background-dark);
  border-radius: 100%;
  border: 2px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: 0;
  height: var(--carousel-slide-button-height);
  width:  var(--carousel-slide-button-width);
  transition: background .3s ease, outline-color .3s ease, border-color .3s ease;
  z-index: 2;
}

.carousel .carousel-previous {
  order: 1;
}

.carousel .carousel-next {
  order: 3;
}

/* .carousel.no-buttons .carousel-button {
  display: none;
} */

.carousel .carousel-previous:hover,
.carousel .carousel-next:hover {
  background-color: var(--carousel-nav-button-background-hover);
}

.carousel .carousel-previous:active,
.carousel .carousel-next:active {
  background-color: var(--carousel-nav-button-background-active);
}

.carousel .carousel-previous:focus,
.carousel .carousel-next:focus {
  border-color: var(--color-white);
  outline: 2px solid var(--carousel-nav-button-background-focus);
  border-color: var(--color-white);
  background-color: var(--carousel-nav-button-background-active-focus);
}

.dark .carousel .carousel-previous,
.dark .carousel .carousel-next,
.carousel.dark .carousel-previous,
.carousel.dark .carousel-next {
  background-color: var(--carousel-nav-background);
}

.carousel .carousel-previous path,
.carousel .carousel-next path {
  fill: var(--carousel-nav-background);
}

.dark .carousel .carousel-previous path,
.dark .carousel .carousel-next path,
.carousel.dark .carousel-previous path,
.carousel.dark .carousel-next path {
  fill: var(--color-white);
}

.carousel .carousel-previous svg {
  margin-right: 2px;
  transform: rotate(180deg);
}

html[dir="rtl"] .carousel .carousel-next,
html[dir="rtl"] .carousel .carousel-previous {
  transform: rotate(180deg);
}


.carousel-slides {
  display: flex;
  align-items: start;
  left: -100%;
  position: relative;
  transform: translateX(100%);
  transform-style: preserve-3d;
  margin-bottom: 1rem;
  scroll-snap-type: x mandatory;
  will-change: transform;
}

.carousel.container.align-height .carousel-slides {
  align-items: stretch;
}

html[dir="rtl"] .carousel-slides {
  flex-direction: row-reverse;
}

.carousel-slides.is-reversing {
  transform: translateX(-100%);
}

.carousel-slide {
  flex: 1 0 100%;
  order: 1;
  transition: opacity 0.5s ease-in-out, flex-basis 0.5s ease-in-out;
}

html[dir="rtl"] .carousel-slides .section.carousel-slide {
  direction: rtl;
}

.carousel.none .carousel-slide {
  opacity: 1;
  transition: opacity;
}

.carousel-slide.reference-slide {
  order: 1;
}

.carousel-slide.active,
.carousel.fade .carousel-slide.active {
  opacity: 1;
}

.carousel-slides.is-ready,
.carousel-slides.is-ready.is-reversing,
.carousel[class*='show-'] .carousel-slides.is-ready,
.carousel[class*='show-'] .carousel-slides.is-ready.is-reversing {
  transform: none;
  transition: transform .6s cubic-bezier(0.23, 1, 0.32, 1);
}

.carousel.none .carousel-slides.is-ready,
.carousel.none .carousel-slides.is-ready.is-reversing,
.carousel.fade .carousel-slides.is-ready,
.carousel.fade .carousel-slides.is-ready.is-reversing {
  transition: transform;
}

.carousel .carousel-controls {
  display: flex;
  position: relative;
  max-width: 88px;
  overflow: hidden;
  order: 2;
  justify-content: inherit;
}

.carousel.no-buttons .carousel-controls {
  padding: 0 var(--spacing-xxs);
}

.carousel .carousel-indicators {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  margin: 0;
  padding: 2px 0;
  gap: var(--spacing-xxs);
  transition: transform .8s cubic-bezier(0.23, 1, 0.32, 1);
}

.carousel .move-indicators {
  transform: translateX(calc((16px * var(--indicator-multiplier)) * -1));
}

html[dir="rtl"] .carousel .move-indicators {
  transform: translateX(calc((16px * var(--indicator-multiplier)) * 1));
}

.carousel .carousel-indicator {
  font-size: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  height: 8px;
  width: 8px;
}

.carousel .carousel-indicator::after {
  content: '';
  background-color: var(--carousel-indicator-background-color);
  border-radius: 50%;
  height: 6px;
  width: 6px;
  transition: height 1s cubic-bezier(0.23, 1, 0.32, 1), background 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.carousel .carousel-indicator.active::after {
  content: '';
  background-color: var(--carousel-nav-background);
  height: inherit;
  width: inherit;
}

.dark .carousel .carousel-indicator.active::after {
  background-color: var(--color-white);
}

/* Lightbox */
.carousel.lightbox-active {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 104;
  align-items: center;
  height: 100%;
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: hidden auto;
}

.carousel.lightbox-active .carousel-wrapper {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.carousel.lightbox-active.container .carousel-wrapper {
  width: 90%;
}

.carousel-curtain {
  content: '';
  -webkit-backdrop-filter: blur(0.25em);
  backdrop-filter: blur(0.25em);
  background:rgb(255 255 255 / 90%);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.dark .carousel-curtain {
  background:rgb(0 0 0 / 90%);
}

.carousel.lightbox-active .carousel-slides {
  width: 100%;
}

.carousel.lightbox .lightbox-button {
  background-color: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  position: absolute;
  top: 5px;
  right: 5px;
  padding: 3px 2px 0 4px;
  width: 44px;
  height: 44px;
}

.dark .carousel .carousel-previous:hover,
.dark .carousel .carousel-next:hover,
.dark .carousel .carousel-previous:active,
.dark .carousel .carousel-next:active,
.carousel.dark .carousel-previous:hover,
.carousel.dark .carousel-next:hover,
.carousel.dark .carousel-previous:active,
.carousel.dark .carousel-next:active {
  background-color: #000;
}

.carousel .carousel-expand,
.carousel .carousel-close,
.carousel.lightbox .carousel-close {
  display: none;
}

.carousel.lightbox .carousel-expand,
.carousel.lightbox-active .carousel-close {
  display: block;
}

.carousel.lightbox .carousel-expand:focus-visible {
  outline: none;
}

.carousel.lightbox .lightbox-button img {
  transition: background .2s ease;
}

.carousel.lightbox .lightbox-button:hover img {
  background-color: rgb(255 255 255 / 95%);
}

.carousel.lightbox .carousel-expand:focus-visible > img {
  border-radius: 4px;
  border: 2px solid var(--carousel-focus-color);
  padding: 3px;
}

.carousel.lightbox.lightbox-active .carousel-expand {
  display: none;
}

.carousel.lightbox .carousel-close {
  background-color: transparent;
  border: none;
}

.carousel.lightbox .carousel-close:focus-visible {
  outline: none;
}

.carousel.lightbox .carousel-close:focus-visible > svg {
  border-radius: 50%;
  border: 2px solid var(--carousel-focus-color);
  padding: 3px;
}

.carousel.lightbox.lightbox-active .lightbox-button {
  position: fixed;
}

.carousel.lightbox .carousel-close:hover {
  background-color: transparent;
}

/* End Lightbox */

/* Corrects backgournd images coming from section metadata */
.carousel .carousel-slide.has-background {
  position: relative;
}

/* Multiple slides reset for nested blocks foreground */
.carousel[class*='show-'] .carousel-slide .foreground { width: auto; }

.carousel.container .carousel-slide .foreground:not(.icon-block .foreground) {
  max-width: unset;
  margin: unset;
}

.carousel.container.align-height .carousel-slide div:not(.editorial-card) .foreground:not(.icon-block .foreground) {
  height: 100%;
}

.carousel.container.align-height .carousel-slide > div:not(.media) .foreground > div {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.carousel.container.align-height .foreground > div:not(.brick-text) > *:not(.cta-container) {
  margin-top: 0;
}

.carousel.container.align-height .cta-container {
  margin-top: auto;
}

.carousel.container {
  max-width: 1920px;
  width: 100vw;  
}


.carousel.container .carousel-slide .container {
  width: unset;
}

.carousel:is(.rounded-corners, .m-rounded-corners) .carousel-slide,
.carousel:is(.rounded-corners, .m-rounded-corners) .carousel-slide > div :is(p > picture img, p > video, p > .milo-video, p > .video-holder video) {
  border-radius: var(--m-rounded-corners);
}

.carousel[class*='rounded-corners'] .carousel-slide,
.carousel[class*='rounded-corners'] .carousel-slide > div :is(p > video, p > .milo-video, p > .video-holder video) {
  overflow: hidden;
}

.carousel.s-rounded-corners .carousel-slide,
.carousel.s-rounded-corners .carousel-slide > div :is(p > picture img, p > video, p > .milo-video, p > .video-holder video) {
  border-radius: var(--s-rounded-corners);
}

.carousel.l-rounded-corners .carousel-slide,
.carousel.l-rounded-corners .carousel-slide > div :is(p > picture img, p > video, p > .milo-video, p > .video-holder video) {
  border-radius: var(--l-rounded-corners);
}

.carousel.full-rounded-corners .carousel-slide,
.carousel.full-rounded-corners .carousel-slide > div :is(p > picture img, p > video, p > .milo-video, p > .video-holder video) {
  border-radius: var(--full-rounded-corners);
}

.carousel.video-fill .carousel-slide > div p :is(.video-holder, video),
.carousel .carousel-slide.video-fill > div p :is(.video-holder, video) {
  width: 100%;
  height: auto;
}

.carousel[class*='rounded-corners'] .carousel-slide > div :is(p):has(> video, > picture, > .milo-video, > .modal-img-link, > .video-holder) {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 0;
}

/* Zero out spacing token on carousel-slide */
.carousel.container .carousel-slide.section.xs-spacing,
.carousel.container .carousel-slide.section.s-spacing,
.carousel.container .carousel-slide.section.m-spacing,
.carousel.container .carousel-slide.section.l-spacing,
.carousel.container .carousel-slide.section.xl-spacing,
.carousel.container .carousel-slide.section.xxl-spacing,
.carousel.container .carousel-slide.section.xxxl-spacing { padding: 0; }

/* Apply spacing token to block inside of slide */
.carousel.container .carousel-slide.xs-spacing > div,
.carousel.container .carousel-slide .xs-spacing { padding: var(--spacing-xs); }

.carousel.container .carousel-slide.s-spacing > div,
.carousel.container .carousel-slide .s-spacing { padding: var(--spacing-s); }

.carousel.container .carousel-slide.m-spacing > div,
.carousel.container .carousel-slide .m-spacing { padding: var(--spacing-m); }

.carousel.container .carousel-slide.l-spacing > div,
.carousel.container .carousel-slide .l-spacing { padding: var(--spacing-l); }

.carousel.container .carousel-slide.xl-spacing > div,
.carousel.container .carousel-slide .xl-spacing { padding: var(--spacing-xl); }

.carousel.container .carousel-slide.xxl-spacing > div,
.carousel.container .carousel-slide .xxl-spacing { padding: var(--spacing-xxl); }

.carousel.container .carousel-slide.xxxl-spacing > div,
.carousel.container .carousel-slide .xxxl-spacing { padding: var(--spacing-xxxl); }

.carousel.container.align-height .carousel-slide.xs-spacing > div,
.carousel.container.align-height .carousel-slide .xs-spacing { height: calc(100% - 2*var(--spacing-xs)); }

.carousel.container.align-height .carousel-slide.s-spacing > div,
.carousel.container.align-height .carousel-slide .s-spacing { height: calc(100% - 2*var(--spacing-s)); }

.carousel.container.align-height .carousel-slide.m-spacing > div,
.carousel.container.align-height .carousel-slide .m-spacing { height: calc(100% - 2*var(--spacing-m)); }

.carousel.container.align-height .carousel-slide.l-spacing > div,
.carousel.container.align-height .carousel-slide .l-spacing { height: calc(100% - 2*var(--spacing-l)); }

.carousel.container.align-height .carousel-slide.xl-spacing > div,
.carousel.container.align-height .carousel-slide .xl-spacing { height: calc(100% - 2*var(--spacing-xl)); }

.carousel.container.align-height .carousel-slide.xxl-spacing > div,
.carousel.container.align-height .carousel-slide .xxl-spacing { height: calc(100% - 2*var(--spacing-xxl)); }

.carousel.container.align-height .carousel-slide.xxxl-spacing > div,
.carousel.container.align-height .carousel-slide .xxxl-spacing { height: calc(100% - 2*var(--spacing-xxxl)); }

.carousel.fade .carousel-slide {
  opacity: .3;
}

@media (max-width: 899px) {
  .carousel.container.hinting-mobile,
  .carousel.container.hinting-center-mobile {
    width: 100%;
  }

  .carousel.hinting-mobile .carousel-wrapper {
    margin-left: 2rem;
  }

  .carousel.hinting-mobile .carousel-previous,
  .carousel.hinting-mobile .carousel-next,
  .carousel.hinting-center-mobile .carousel-previous,
  .carousel.hinting-center-mobile .carousel-next {
    height: var(--carousel-slide-button-height-desktop);
    width: var(--carousel-slide-button-width-desktop);
  }

  .carousel[class*='hinting'] .carousel-slides {
    gap: var(--spacing-xs);
  }

  .carousel.hinting-mobile .carousel-slides {
    left: -80%;
    transform: translateX(80%);
  }

  .carousel.hinting-mobile .carousel-slides.is-reversing {
    transform: translateX(-80%);
  }

  .carousel.hinting-mobile .carousel-slide {
    flex-basis: 80%;
    min-width: 276px;
  }

  .carousel.hinting-center-mobile .carousel-slides {
    left: -65%;
    transform: translateX(65%);
  }

  .carousel.hinting-center-mobile .carousel-slide {
    flex-basis: 75%;
    min-width: 276px;
  }
  .carousel.s2a-whatsnew .carousel-slide div > p {
    margin-bottom: 0 !important;
  }

  .carousel.s2a-whatsnew .carousel-slide {
    padding: 20px !important;
  }
.carousel.s2a-whatsnew .carousel-slide div > p:nth-child(2) picture {
    width: 30px !important;
    right: 10px !important;
    top: -31px !important;
}
  .carousel.hinting-center-mobile .carousel-slides.is-reversing {
    transform: translateX(-75%);
  }

  .carousel.s2a-whatsnew .carousel-slide div > p:nth-child(3) picture {
    height: 14px !important;
  }

  .carousel.s2a-whatsnew .carousel-slide h2 {
    font-size: 20px !important;
    line-height: 115%;
  }

  .carousel.hinting-center-mobile .carousel-slides.is-ready,
  .carousel.hinting-center-mobile .carousel-slides.is-ready.is-reversing {
    transform: translateX(calc((0.3rem) * -1));
  }

  .carousel-menu, .carousel-slide-descriptions {
    display: none !important;
  }

  .carousel.s2a-hovering .carousel-slide.active .foreground {
    border-radius: .5rem;
    overflow: hidden;
  }
  .carousel.s2a-hovering .carousel-slide picture {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .carousel.s2a-hovering .carousel-slide.active.collapsing picture {
    opacity: 0;
  }

  .carousel.s2a-hovering .carousel-slide.active {
    max-height: 600px;
    transition: max-height 0.3s ease-out;
  }
  .carousel.s2a-hovering .carousel-slide:not(.active) {
    width: 100%;
    max-height: 200px;
    transition: max-height 0.3s ease-out;
    overflow: hidden;
  }
  .carousel.s2a-whatsnew .carousel-wrapper {
    margin-left: 1rem;
  }
  .carousel.s2a-hovering .carousel-wrapper,
  .carousel.s2a-tabs .carousel-wrapper {
    padding: 1rem;
  }
  .carousel.s2a-hovering {
    margin: 0;
    padding-bottom: 2rem;
    width: 100%;
  }
  .carousel.s2a-hovering .carousel-slide:not(.active) h2 {
    color: black;
    padding: 12px 20px;
    border-radius: 8px;
    border: 1px solid #D2D2D2;
    background: #FFF;
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
  }
  .carousel.s2a-hovering .carousel-slide:not(.active) p.image,
  .carousel.s2a-hovering .carousel-slide:not(.active) div.cta-container,
  .carousel.s2a-hovering .carousel-slide:not(.active) p.body-m:not(.action-area) {
    display: none;
  }
  
  .carousel.s2a-hovering .carousel-slide h2,
  .carousel.s2a-hovering .carousel-slide div.cta-container,
  .carousel.s2a-hovering .carousel-slide p.body-m:not(.action-area) {
    background-color: #1F2332;
    z-index: 1;
    padding: 22px 20px 30px;
    color: white;
    margin: 0;
    position: relative;
  }
  .carousel.s2a-hovering .carousel-slides {
    left: 0;
    flex-direction: column;
  }

  
  .carousel.s2a-hovering .carousel-slide h2 a:has(svg.icon-collapse) {
    display: none;
  }
  .carousel.s2a-hovering .carousel-slide h2 a:has(svg.icon-expand) {
    display: flex;
  }
  .carousel.s2a-hovering .carousel-slide.active h2 a:has(svg.icon-collapse) {
    display: flex;
  }
  .carousel.s2a-hovering .carousel-slide.active h2 a:has(svg.icon-expand) {
    display: none;
  }
  .carousel.s2a-peaking .carousel-slide h2 {
    margin: 1.5rem 0 0rem;
  }
  .carousel.s2a-hovering .carousel-slide h2 {
    font-size: 16px;
    line-height: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
  }
  .carousel.s2a-hovering .carousel-slide div.cta-container a {
    background-color: white;
    color: black; 
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
  .carousel.s2a-hovering .carousel-slide div.cta-container {
    padding-bottom: 22px;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
.section:has(.carousel.s2a-tabs) {
  overflow: hidden;
  padding-bottom: 0 !important;
}
  .carousel.s2a-hovering .carousel-slide p.body-m:not(.action-area) {
    padding-top: 0;
    font-size: 14px;
    line-height: 140%;
  }
  .carousel.s2a-tabs .carousel-slide p.image {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  .carousel.s2a-hovering .carousel-slide p.image {
    margin-bottom: -2px;
  }

  .carousel.m-gap.s2a-peaking .carousel-slide .foreground {
    padding: 0 ;
  }
  .carousel.m-gap.s2a-peaking .carousel-slide {
    flex: 1 0 80%;
  }
  .carousel.m-gap.s2a-peaking .carousel-slides {
    gap: .75rem;
    left: 0;
  }

  .carousel.s2a-whatsnew.s2a-linked-slides p.image{
    border-radius: 8px !important;
  }

  .carousel.s2a-whatsnew .carousel-slide {
    flex: 1 0 75%;
  }
  .carousel.s2a-whatsnew .carousel-button svg {
    filter: brightness(100);
  }
  .carousel.s2a-whatsnew .carousel-controls {
    display: flex;
  }
  .carousel.s2a-tabs .carousel-slide p.image {
    border-top-left-radius: 8px !important;
    border-top-right-radius: 8px !important;
  }
  .carousel.s2a-whatsnew .carousel-button-container {
    left: 0 !important;
    background-color: transparent;  
  }
  .carousel.s2a-whatsnew .carousel-button:active,
  .carousel.s2a-whatsnew .carousel-button:focus {
    background-color: #292929
  }
  .carousel.s2a-whatsnew .container {
    padding-left: 2rem;
  }
  .carousel.s2a-whatsnew .carousel-button-container {
    background: none !important;
  }
  .carousel.s2a-whatsnew .carousel-slide p {
    font-size: 16px;
  }
}

@media (min-width: 900px) {
  .carousel.lightbox-active.container .carousel-wrapper {
    width: 80.3333%;
  }

  .carousel.lightbox-active .carousel.slides {
    max-width: initial;
  }

  .carousel .carousel-previous,
  .carousel .carousel-next {
    height: var(--carousel-slide-button-height-desktop);
    width: var(--carousel-slide-button-width-desktop);
  }

  .carousel-slides {
    align-items: center;
    left: -100%;
    transform: translateX(100%);
  }

  .carousel-slides.is-reversing {
    transform: translateX(-100%);
  }

  .carousel-slide {
    flex-basis: 100%;
  }

  .carousel[class*='show-'] .carousel-slide { opacity: 1; }

  .carousel.show-2 .carousel-slides {
    left: -50%;
    transform: translateX(50%);
  }

  .carousel.show-2 .carousel-slides.is-reversing {
    transform: translateX(-50%);
  }

  .carousel.show-2 .carousel-slide {
    flex-basis: 50%;
  }

  .carousel.show-3 .carousel-slides {
    left: -33.3333%;
    transform: translateX(33.3333%);
  }

  .carousel.show-3 .carousel-slides.is-reversing {
    transform: translateX(-33.3333%);
  }

  .carousel.show-3 .carousel-slide {
    flex-basis: 33.3333%;
  }

  .carousel.show-4 .carousel-slides {
    left: -25%;
    transform: translateX(25%);
  }

  .carousel.show-4 .carousel-slides.is-reversing {
    transform: translateX(-25%);
  }

  .carousel.show-4 .carousel-slide {
    flex-basis: 25%;
  }

  .carousel.show-5 .carousel-slides {
    left: -20%;
    transform: translateX(20%);
  }

  .carousel.show-5 .carousel-slides.is-reversing {
    transform: translateX(-20%);
  }

  .carousel.show-5 .carousel-slide {
    flex-basis: 20%;
  }

  .carousel.show-6 .carousel-slides {
    left: -16.6667%;
    transform: translateX(16.6667%);
  }

  .carousel.show-6 .carousel-slides.is-reversing {
    transform: translateX(-16.6667%);
  }

  .carousel.show-6 .carousel-slide {
    flex-basis: 16.6667%;
  }

  .carousel.show-2.m-gap .carousel-slide {
    --slides: 2;
  }

  .carousel.show-3.m-gap .carousel-slide {
    --slides: 3;
  }

  .carousel.show-4.m-gap .carousel-slide {
    --slides: 4;
  }

  .carousel.show-5.m-gap .carousel-slide {
    --slides: 5;
  }

  .carousel.show-6.m-gap .carousel-slide {
    --slides: 6;
  }

  .carousel[class*='show-'].m-gap .carousel-slide {
    flex-basis: calc((100% / var(--slides)) - round(up, (((var(--slides) - 1) / var(--slides)) * var(--spacing-m)), 1px));
  }

  /* Hovering Variant - start */

  .carousel.m-gap.s2a-peaking .carousel-slide .foreground {
    padding: 0 var(--spacing-m); ;
  }
  .carousel.s2a-peaking .carousel-slides {
    left: 0;
  }
  .carousel.s2a-hovering .text-block,
  .carousel.s2a-hovering .foreground {
    position: initial;
  }
  .carousel.s2a-hovering .carousel-slide picture{
    transition: all .3s ease;
    border-radius: 1.25rem;
  }
  .carousel.s2a-hovering .carousel-slide:hover picture{
    filter: brightness(1.05);
    box-shadow: 0px 0px 8px #555;
    cursor: pointer;
  }
  .carousel.s2a-hovering .carousel-slides {
    height: 75vh;
    max-height: 750px;
    position: relative;
  }
  .carousel.s2a-tabs.container {
    width: 200%;
    max-width: none;
    left: -50%;
    flex-direction: column-reverse;
  }
  .carousel.s2a-hovering .carousel-slide:not(.active) .cta-container,
  .carousel.s2a-hovering .carousel-slide:not(.active) p.body-m {
    opacity: 0;
  }
  .carousel.s2a-hovering .carousel-slide.active .cta-container,
  .carousel.s2a-hovering .carousel-slide.active p.body-m {
    opacity: 1;
    display: none !important;
    transition: opacity .3s ease;
    transition-delay: .5s;
    text-align: center;
    line-height: 140%;
    width: 75%;
    display: flex;
    margin: 1rem auto;
  }

  .carousel.s2a-hovering .carousel-menu {
    display: flex;
    justify-content: center;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
  }
  .carousel.s2a-hovering .carousel-slide p.body-m {
    max-height: 2.5rem;
  }

  .carousel.s2a-hovering .carousel-menu-item.active,
  .carousel.s2a-hovering .carousel-menu-item:hover {
    background-color: var(--carousel-item-header-background);
    color: var(--color-white)
  }

  .carousel.s2a-hovering .carousel-slide p.body-m {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12rem;
    margin: 0 auto !important;
    max-width: 70%;
  }
  
  .carousel.s2a-hovering .carousel-slide {
    position: relative;
  }

  .carousel.s2a-hovering .carousel-slide h2 {
    display: none !important;
  }

  .carousel.s2a-hovering .cta-container .action-area {
    justify-content: center;
  }
  .carousel[class*='show-'].s2a-hovering .carousel-slide.next-slide,
  .carousel[class*='show-'].s2a-hovering .carousel-slide.previous-slide {
    flex-basis: calc(((100% + 20%) / var(--slides)) - round(up, (((var(--slides) - 1) / var(--slides)) * var(--spacing-m)), 1px));
  }
  .carousel[class*='show-'].s2a-hovering .carousel-slide.active {
    flex-basis: calc(((100% + 40%) / var(--slides)) - round(up, (((var(--slides) - 1) / var(--slides)) * var(--spacing-m)), 1px));
  }
  .carousel.show-5.s2a-hovering .carousel-slides{
    left: -8%;
  }
  .carousel.s2a-hovering .aria-live-container {
    display: none;
  }

  /* Hovering Variant - end */
  
  /* Whats new Variant - start*/

  .carousel.s2a-whatsnew {
    left: 10%;
    border-radius: 16px 0 0 16px;
  }
  .carousel.s2a-whatsnew .carousel-wrapper {
    border-radius: 16px 0 0 16px;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.16);
  }
  .carousel.s2a-whatsnew .carousel-slides {
    gap: 0 !important; 
    margin: 0;
  }

  .carousel.s2a-whatsnew .carousel-slide {
    padding: 2rem 2rem 3rem;
    align-self: stretch;
    box-shadow: 3px 0px 4px 0 rgba(0, 0, 0, 0.1);
  }
  .carousel-container:has(.s2a-tabs) {
    max-width: 2000px;
    margin: 0 auto;
  }
  .carousel.s2a-whatsnew .carousel-slides {
    left: 0 !important;
  }
  /* Whats new Variant - end*/
  .carousel[class*='show-'] .carousel-controls { display: none; }

  .carousel.m-gap .carousel-slides {
    gap: var(--spacing-m);
  }
  .carousel.m-gap.s2a-peaking .carousel-slide h2,
  .carousel.m-gap.s2a-peaking .carousel-slide p.body-m {
    display: none;
  }


  /* Corrects translateX when using gap */
  .carousel.m-gap .carousel-slides.is-ready,
  .carousel.m-gap .carousel-slides.is-ready.is-reversing {
    transform: translateX(calc(var(--spacing-m) * -1));
  }

  .carousel.show-2.m-gap .carousel-slides.is-ready,
  .carousel.show-2.m-gap .carousel-slides.is-ready.is-reversing {
    --slides: 2;
  }

  .carousel.show-3.m-gap .carousel-slides.is-ready,
  .carousel.show-3.m-gap .carousel-slides.is-ready.is-reversing {
    --slides: 3;
  }

  .carousel.show-4.m-gap .carousel-slides.is-ready,
  .carousel.show-4.m-gap .carousel-slides.is-ready.is-reversing {
    --slides: 4;
  }

  .carousel.show-5.m-gap .carousel-slides.is-ready,
  .carousel.show-5.m-gap .carousel-slides.is-ready.is-reversing {
    --slides: 5;
  }

  .carousel.show-6.m-gap .carousel-slides.is-ready,
  .carousel.show-6.m-gap .carousel-slides.is-ready.is-reversing {
    --slides: 6;
  }

  .carousel[class*='show-'].m-gap .carousel-slides.is-ready,
  .carousel[class*='show-'].m-gap .carousel-slides.is-ready.is-reversing {
    --offset: calc(round(up, (((var(--slides) - 1) / var(--slides)) * var(--spacing-m)), 1px));
    transform: translateX(calc(round(down, (var(--offset) / (var(--slides) - 1)), 2px) * -1));
  }

  .carousel[class*='show-'].ups-desktop:has(.editorial-card) .carousel-slides.is-ready {
    flex-wrap: wrap;
    align-items: stretch;
    transform: none;
    left: initial;
    transform-style: initial;
    scroll-snap-type: none;
    will-change: unset;
  }

  .carousel[class*='show-'].ups-desktop:has(.editorial-card) .carousel-slide {
    flex-grow: unset;
  }

  .carousel[class*='show-'].ups-desktop:has(.editorial-card) .carousel-button-container,
  .carousel[class*='show-'].ups-desktop:has(.editorial-card).lightbox .carousel-expand {
    display: none;
  }

}

@media (min-width: 900px) and (max-width: 1199px) {
  .section:has(.carousel.s2a-tabs) {
    overflow: hidden;
  }
  .carousel.s2a-hovering .carousel-menu {
    gap: 2px !important;
  }
  .carousel.s2a-hovering .carousel-slide p.body-m {
    bottom: -11rem;
    max-width: 100%;
  }
  .carousel.s2a-hovering .carousel-menu-item {
    font-size: 14px !important;
    max-width: 150px !important;
  }
  .carousel.s2a-hovering .carousel-slide p.body-m {
    font-size: 14px;
  }
}

@media (min-width: 900px) and (max-width: 1999px) {

  .carousel.s2a-hovering .carousel-slides {
    height: 38vw !important;
    margin: 0;
  }

  .carousel-slide-descriptions .carousel-slide-description {
    font-size: 18px;
  }
}


.carousel.s2a-peaking .carousel-button-container,
.carousel.s2a-hovering .carousel-button-container {
  background: rgba(36, 36, 36, 0.05)
}

.carousel.s2a-whatsnew .carousel-button-container {
  left: -7.7%;
}
.carousel.s2a-whatsnew .carousel-button-container,
.carousel.s2a-tabs .carousel-button-container,
.carousel.m-gap.s2a-peaking .carousel-button-container {
  margin-top: 2rem;
}

  .carousel.s2a-whatsnew .carousel-slide p{
    position: relative;
  }
  
  .carousel.s2a-whatsnew .carousel-slide h2 {
    font-size: 24px;
    font-weight: 800;
  }

  .carousel.s2a-tabs .carousel-slide p.image,
  .carousel.s2a-whatsnew.s2a-linked-slides p.image {
    border-radius: 14px;
    overflow: hidden;
  }
  .carousel.s2a-whatsnew .carousel-slide div > p:nth-child(2) picture {
    position: absolute;
    right: 20px;
    top: -42px;
    width: 50px;
  }
  .carousel.s2a-whatsnew .carousel-slide div > p:nth-child(3) picture {
    height: 17px;
    margin: 1rem 0 .5rem;
  }

  .carousel.carousel.s2a-linked-slides .carousel-slide {
    cursor: pointer;
  }
  
  .carousel.s2a-whatsnew .carousel-wrapper {
    border-radius: 16px 0 0 16px;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.16);
  }
  .carousel.s2a-whatsnew .carousel-slides {
    gap: 0 !important; 
    margin: 0;
  }

  .carousel.s2a-whatsnew .carousel-slide {
    padding: 2rem 2rem 3rem;
    align-self: stretch;
    box-shadow: 3px 0px 4px 0 rgba(0, 0, 0, 0.1);
  }

  .carousel.s2a-whatsnew .carousel-slides {
    left: 0 !important;
  }

  .carousel-slide-descriptions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    margin-bottom: 70px;
  }

  .carousel-slide-descriptions .carousel-slide-description {
    opacity: 0;
    display: none;
    transition: opacity .3s ease;
    max-width: 750px;
    text-align: center;
    margin-top: 0;
    font-size: 20px;
  }
  .carousel-slide-descriptions .carousel-slide-description.active {
    display: flex;
    opacity: 1;
  }

.carousel.s2a-hovering .carousel-menu {
  border-radius: 60px;
  background: #FFF;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.16);
  align-self: center;
  margin-bottom: 2rem;
  overflow: hidden;
  padding: .5rem;
}
.carousel.s2a-hovering .carousel-menu-item {
  font-family: var(--body-font-family);
  border-radius: 60px;
  color: #2C2C2C;;
  font-size: 20px;
  padding: .5rem .75rem;
  border-radius: 8px;
  line-height: 1.25;
  justify-self: center;
  max-width: 200px;
  font-weight: 900;
  text-align: center;
  cursor: pointer;
  transition: all .25s ease;
  align-self: baseline;
  border: 0;
  border-radius: 60px;
  background-color: white;
}

.carousel.s2a-whatsnew .carousel-button-container {
  background: rgba(36, 36, 36, 0.05);
}
.carousel.s2a-hovering .carousel-button-container {
  display: none;
}

.section:has(.carousel.s2a-whatsnew) {
  overflow: hidden;
}
.carousel .aria-live-container {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.carousel.s2a-linked-slides a {
  text-decoration: none !important;
  color: initial !important;
}
.carousel.s2a-linked-slides a:not(.carousel-slide) {
  display: none;
}
.carousel.carousel.s2a-tabs {
  background: linear-gradient(180deg, #FFF 9.31%, #F3F3F3 98.51%);
  margin-bottom: 0 !important;
}
.carousel.s2a-whatsnew .carousel-slide p{
  color: #686868;
  line-height: 140%;
}
:root:has(meta[name="theme"][content="max25"]) {
  @media (min-width: 900px) {
    .carousel.show-2.ups-desktop.m-gap .carousel-slides {
      gap: 44px var(--spacing-s);
    }
  }
}
