/* START Carousel Marquee Fixes For LHN */

@media (min-width: 1024px) {
  main > #dl-content.sub-lhn-expanded .carousel-marquee,
main > #dl-content.sub-lhn-collapsed .carousel-marquee {
    margin-left: -2.5rem;
    width: calc(100% + 2.5rem);
  }
}

@media (min-width: 1929px) {
  main > #dl-content.sub-lhn-collapsed .carousel-marquee {
    margin-left: auto;
    width: 100%;
  }

  main > #dl-content.sub-lhn-collapsed:has(.carousel-marquee) {
    padding-left: 0px;
  }
}

@media (min-width: 2156px) {
  main > #dl-content.sub-lhn-expanded .carousel-marquee {
    margin-left: auto;
    width: 100%;
  }

  main > #dl-content.sub-lhn-expanded:has(.carousel-marquee) {
    padding-left: 0px;
  }
}

/* END Carousel Marquee Fixes For LHN */

/* CAROUSEL */

.carousel-marquee,
.profiles-carousel-marquee {
  margin: auto;
  width: 100%;
  --slide-height: 19rem;
  --slide-spacing: 0rem;
  --slide-size: 100%;
}

.carousel-marquee-viewport,
.profiles-carousel-marquee-viewport {
  position: relative;
  margin: auto;
  overflow: hidden;
}

.carousel-marquee-container,
.profiles-carousel-marquee-container {
  display: flex;
  backface-visibility: hidden;
  touch-action: pan-y pinch-zoom;
  margin-left: calc(var(--slide-spacing) * -1);
}

.carousel-marquee-slide,
.profiles-carousel-marquee-slide {
  position: relative;
  min-width: 0px;
  flex: 0 0 var(--slide-size);
  padding-left: var(--slide-spacing);
}

.carousel-marquee-slide .hero-experience .rtaw h1,
.carousel-marquee-slide .hero-experience .rtaw h2,
.carousel-marquee-slide .hero-experience .rtaw h3,
.carousel-marquee-slide .hero-experience .rtaw h4,
.carousel-marquee-slide .hero-experience .rtaw h5 {
  color: inherit;
}

/* START Carousel Marquee Controls */

.carousel-marquee-controls {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  background-color: #FFFFFF;
}

@media (min-width: 1024px) {
  .carousel-marquee-controls {
    justify-content: center;
  }
}

.previous-next-buttons {
  display: flex;
  align-items: center;
}

.previous-button-container {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  margin: auto;
  display: flex;
  align-items: center;
}

.next-button-container {
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 0px;
  margin: auto;
  display: flex;
  align-items: center;
}

.previous-button {
  display: flex;
  height: 70px;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  background-color: #F2F2F2;
}

@media (min-width: 640px) {
  .previous-button {
    height: 86px;
    width: 3.25rem;
  }
}

@media (min-width: 1280px) {
  .previous-button {
    height: 150px;
    width: 3.25rem;
  }
}

.next-button {
  display: flex;
  height: 70px;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
  background-color: #F2F2F2;
}

@media (min-width: 640px) {
  .next-button {
    height: 86px;
    width: 3.25rem;
  }
}

@media (min-width: 1280px) {
  .next-button {
    height: 150px;
    width: 3.25rem;
  }
}

.carousel-marquee-dots_profile {
  display: flex;
  height: 1rem;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}

.carousel-marquee-dots {
  margin-right: 1rem;
  display: flex;
  min-height: 2.75rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .carousel-marquee-dots {
    gap: 1rem;
  }
}

@media (min-width: 1024px) {
  .carousel-marquee-dots {
    margin-right: 0px;
  }
}

.carousel-marquee-dot {
  -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  margin: 0px;
  display: inline-block;
  display: flex;
  height: 16px;
  width: 16px;
  cursor: pointer;
  touch-action: manipulation;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 0px;
  background-color: #8c8c8c;
  padding: 0px;
  text-decoration-line: none;
}

.carousel-marquee-dot--selected {
  background-color: #352b2b;
}

.carousel-marquee-play {
  -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  box-shadow: inset 0 0 0 0.2rem var(--detail-medium-contrast);
  color: var(--text-body);
  margin: 0px;
  display: flex;
  cursor: pointer;
  touch-action: manipulation;
  align-items: center;
  justify-content: center;
  justify-self: end;
  border-radius: 1.8rem;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  font-size: 0.875rem;
  font-weight: 400;
  text-decoration-line: none;
}

.carousel-toggle {
  position: relative;
  margin-top: 5px;
  margin-bottom: 5px;
  display: inline-block;
  height: 25px;
  width: 46px;
}

.carousel-toggle input {
  height: 0px;
  width: 0px;
  opacity: 0;
}

/* END Carousel Marquee Controls */

/* START Carousel Marquee Slider */

.carousel-slider {
  position: absolute;
  inset: 0px;
  cursor: pointer;
  border-radius: 6px;
  background-color: #cccccc;
  transition-duration: 0.4s;
}

.carousel-slider:before {
  position: absolute;
  bottom: 2px;
  left: 2px;
  height: 21px;
  width: 21px;
  border-radius: 5px;
  background-color: #FFFFFF;
  transition-duration: 0.4s;
  --tw-content: '';
  content: var(--tw-content);
}

input:checked + .carousel-slider {
  background-color: #3964bf;
}

input:focus + .carousel-slider {
  box-shadow: 0 0 1px #3964bf;
}

input:checked + .carousel-slider:before {
  transform: translateX(21px);
}

/* END Carousel Marquee Slider */

/* START Carousel Marquee Login */

@media (max-width: 1199px) {
  .carousel-marquee-login {
    display: none;
  }
}

/* @media (min-width: 1200px) {
  .carousel-marquee-login {
    @apply absolute right-10 top-13;
  }
}

@media (min-width: 1280px) {
  .carousel-marquee-login {
    @apply absolute left-1/2 top-13;
  }
} */

/* END Carousel Marquee Login */

.marquee-content-container {
  max-width: clamp(400px, calc(29.24px + 48.276vw), 540px);
}

/* END CAROUSEL */
