/* --------------------------------------------------------------
Homepage Banner
-------------------------------------------------------------- */
#banner {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#banner .banner-background-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: 1;
  opacity: 1;
  transition: opacity 1s ease-in-out;
}

#banner .banner-background-image.fade-out {
  opacity: 0;
}

#banner .banner-background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 2;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

#banner .banner-background-video.loaded {
  opacity: 1;
}

#banner .banner-background-video {
  width: 100%;
  height: 100%;
}

#banner .banner-background-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.3);


  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100vh;
  border: none;
  pointer-events: none;
}

#banner .banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
  z-index: 3;
}

#banner .container {
  position: relative;
  z-index: 4;
}

#banner .banner-logo {
  max-width: 600px;
  width: 100%;
  height: auto;
}

/* --------------------------------------------------------------
Proven Expertise
-------------------------------------------------------------- */
#proven-expertise {
  background-color: var(--primary-subtle-blue);
  color: var(--white);
}

#proven-expertise .container {
  max-width: 1400px;
}

#proven-expertise .proven-expertise-container {
  max-width: 940px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center;
  margin: 0 auto;
}

#proven-expertise .proven-expertise-sections-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
  margin-top: 64px;
}

#proven-expertise .diagonal-wrapper {
  width: calc((100% - 100px) / 3);
  max-width: 450px;
}

#proven-expertise .diagonal-wrapper::before {
  background-color: var(--secondary-yellow);
}

#proven-expertise .diagonal-wrapper:hover::before {
  bottom: -17px;
  right: -17px;
}

#proven-expertise .diagonal-wrapper .diagonal-wrapper-inner {
  background-color: transparent;
}

#proven-expertise .diagonal-wrapper .diagonal-inner {
  height: 375px;
}

#proven-expertise .diagonal-wrapper .diagonal-inner .dc-image {
  height: 121%;
}

#proven-expertise .diagonal-wrapper .dc-title-floating {
  background-color: var(--white);
  color: var(--primary-dark-blue);
  max-width: 220px;
  font-family: var(--font-aktiv-grotesk);
  letter-spacing: normal;
  font-weight: 700;
  font-size: 24px;
  text-align: center;
  border-radius: 4px;
  padding: 16px;
  position: absolute;
  bottom: -37px;
  right: 0;
  transform: skewY(10deg);
  box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, 0.25);
}

#proven-expertise .diagonal-wrapper .dc-title-floating a {
  display: block;
}

@media (max-width: 1024px) {
  #proven-expertise .diagonal-wrapper {
    width: calc((100% - 100px) / 2);
  }

  #proven-expertise .diagonal-wrapper:hover::before {
    bottom: -10px;
    right: -10px;
  }
}



@media (max-width: 768px) {
  #proven-expertise .proven-expertise-container {
    gap: 20px;
  }

  #proven-expertise .diagonal-wrapper {
    width: 100%;
  }

  /* #proven-expertise .proven-expertise-sections {
    margin-top: 40px;
  }

  #proven-expertise .proven-expertise-sections .section-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }

  #proven-expertise .proven-expertise-sections .section-list .section-item .s-title {
    bottom: 20px;
  } */
}

/* --------------------------------------------------------------
Welcome Message
-------------------------------------------------------------- */
#welcome-message .container {
  display: grid;
  grid-template-columns: 450px 1fr;
  gap: 120px;
}

#welcome-message .welcome-message-image {
  height: 545px;
  margin: 50px 30px 50px 0;
  position: relative;
}

#welcome-message .welcome-message-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  position: relative;
}

#welcome-message .welcome-message-image::after {
  content: "";
  position: absolute;
  right: -30px;
  height: 100%;
  background-color: #f9c53b;
  width: 90%;
  z-index: -1;
  border-radius: 16px 24px 16px 24px;
  transform: skewY(-15deg);
}

#welcome-message .welcome-message-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

#welcome-message .welcome-message-container .section-title {
  color: var(--primary-dark-blue);
  letter-spacing: unset;
}

#welcome-message .welcome-message-content {
  color: var(--neutral-grey);
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#welcome-message .welcome-message-content .list-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#welcome-message .welcome-message-content .list-items .list-title {
  font-weight: 500;
}

#welcome-message .welcome-message-content .list-items ul {
  margin: 0 0 0 20px;
}

@media (max-width: 1024px) {
  #welcome-message .container {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

@media (max-width: 768px) {
  #welcome-message .container {
    grid-template-columns: 1fr;
  }

  #welcome-message .welcome-message-image {
    order: 1;
    height: 400px;
  }

  #welcome-message .welcome-message-content {
    gap: 20px;
    font-size: 14px;
  }

  #welcome-message .welcome-message-container {
    gap: 20px;
  }
}

/* --------------------------------------------------------------
Client Testimonials
-------------------------------------------------------------- */
#client-testimonials {
  background-color: var(--primary-navy-blue);
  color: var(--white);
  overflow: hidden;
}

#client-testimonials .client-testimonials-container {
  max-width: 700px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center;
  margin: 0 auto;
}

#client-testimonials .client-testimonials-carousel {
  display: flex;
  flex-direction: column;
  gap: 64px;
  margin-top: 64px;
}

#client-testimonials .client-testimonials-carousel .carousel-item {
  color: var(--primary-dark-blue);
  position: relative;
  padding-bottom: 200px;
  padding-right: 44px;
}

#client-testimonials .client-testimonials-carousel .carousel-item .ci-image {
  height: 280px;
  background-color: #e7e7e2;
  /* transform: skewY(-15deg); */
  overflow: hidden;
  border-radius: 8px;
  margin-top: 15%;
}

#client-testimonials .client-testimonials-carousel .carousel-item .ci-image img {
  width: 100%;
  height: 115%;
  object-fit: cover;
  object-position: top center;
  /* transform: skewY(15deg) scale(1.3); */
}

#client-testimonials .client-testimonials-carousel .carousel-item .ci-image img.no-image {
  object-fit: none;
  object-position: center 40%;
}

#client-testimonials .client-testimonials-carousel .carousel-item .ci-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-radius: 8px;
  padding: 24px;
  background-color: var(--white);
  position: absolute;
  /* bottom: 0; */
  top: 53%;
  right: 0;
  /* max-width: 290px; */
  max-width: 350px;
  outline-color: var(--neutral-light-grey);
  outline-width: 1px;
  outline-style: solid;
  box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, 0.25);
}


#client-testimonials .client-testimonials-carousel .carousel-item .ci-content .ci-testimonial {
  font-size: 14px;
  font-weight: 500;
}

#client-testimonials .client-testimonials-carousel .carousel-item .ci-content .ci-divider {
  width: 100%;
  height: 1px;
  background-color: #929292;
}

#client-testimonials .client-testimonials-carousel .carousel-item .ci-content .ci-author {
  font-size: 12px;
  font-weight: 300;
}

#client-testimonials .client-testimonials-carousel .carousel-arrows svg {
  color: var(--white);
}

#client-testimonials .client-testimonials-carousel .carousel-arrows svg:hover {
  color: var(--secondary-deep-yellow);
}

#client-testimonials .slick-list {
  overflow: visible;
}

@media (max-width: 1280px) {
  #client-testimonials .client-testimonials-carousel .slick-slider {
    padding-right: 40px;
  }
}

@media only screen and (max-width: 992px) {
  #client-testimonials .client-testimonials-carousel .carousel-item {
    padding-bottom: 100px;
  }

  #client-testimonials .client-testimonials-carousel .carousel-item .ci-image {
    align-items: center;
    display: flex;
    height: 600px;
  }

  #client-testimonials .client-testimonials-carousel .carousel-item .ci-content {
    top: 72%;
  }
}

@media (max-width: 768px) {
  #client-testimonials .client-testimonials-container {
    gap: 20px;
  }

  #client-testimonials .client-testimonials-carousel {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 480px) {
  #client-testimonials .client-testimonials-carousel .carousel-item .ci-image {
    height: 250px;
  }

  #client-testimonials .client-testimonials-carousel .carousel-item {
    padding-bottom: 200px;
  }

  #client-testimonials .client-testimonials-carousel .carousel-item .ci-content {
    top: 53%;
  }
}

/* --------------------------------------------------------------
Exceptional Outcomes
-------------------------------------------------------------- */
#exceptional-outcomes .container {
  display: flex;
  gap: 80px;
  align-items: center;
}

#exceptional-outcomes .single-image-slider {
  width: 640px;
  height: 520px;
  border-radius: 16px;
  overflow: hidden;
  outline-color: var(--neutral-light-grey);
  outline-width: 1px;
  outline-style: solid;
}

#exceptional-outcomes .single-image-slider .slider-list {
  height: 100%;
}

#exceptional-outcomes .single-image-slider .slider-dots {
  position: absolute;
  bottom: 24px;
  width: 100%;
}

#exceptional-outcomes .exceptional-outcomes-container {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 480px;
}

@media (max-width: 1024px) {
  #exceptional-outcomes .container {
    gap: 40px;
  }

  #exceptional-outcomes .single-image-slider,
  #exceptional-outcomes .exceptional-outcomes-container {
    width: 50%;
  }
}

@media (max-width: 768px) {
  #exceptional-outcomes .container {
    flex-direction: column-reverse;
  }

  #exceptional-outcomes .single-image-slider {
    width: 100%;
    height: 400px;
  }

  #exceptional-outcomes .exceptional-outcomes-container {
    width: 100%;
    gap: 20px;
    max-width: none;
  }
}

/* --------------------------------------------------------------
Highlight
-------------------------------------------------------------- */
#highlight {
  padding: 274px 0 80px;
  background-color: var(--neutral-light-grey);
  position: relative;
}

#highlight .container {
  position: relative;
  display: flex;
  justify-content: end;
  z-index: 10;
}

#highlight .highlight-container {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 600px;
  background-color: var(--primary-navy-blue);
  color: var(--white);
  padding: 40px;
  border-radius: 16px;
}

#highlight .highlight-background-image-slider {
  position: absolute;
  inset: 0;
}

#highlight .highlight-background-image-slider .slide-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#highlight .highlight-background-image-slider .slick-list,
#highlight .highlight-background-image-slider .slick-track {
  height: 100%;
}

@media (max-width: 768px) {
  #highlight {
    padding: 280px 0 56px;
  }

  #highlight .highlight-container {
    gap: 20px;
  }
}