@charset "UTF-8";
/***!  http://carousel.it/wp-content/themes/carousel/assets/css/components/hero-section.css?ver=4.0.4  !***/

@media all {/* HERO SECTION HOME */
.hero-section-home {
  height: 100vh;
  position: relative;
}

.hero-section-home .hero-image {
  height: 100%;
}

.hero-section-home.feature-video {
  position: relative;
  width: 100%;
  height: 100vh; /* or 100% if parent already has height */
  overflow: hidden;
}

.hero-section-home .hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.hero-section-home .hero-overlay {
  background: linear-gradient(
    180deg,
    rgb(29 29 29 / 26%) 0%,
    rgba(29, 29, 29, 0.11) 100%
  );
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}

.hero-content {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
  justify-content: center;
}

h1.hero-title {
  margin: 0;
  font-size: 80px;
  color: var(--white);
  line-height: 80px;
  font-weight: 700;
  max-width: 80%;
}

h1.hero-title span.sm-word {
  font-size: 72px;
}

.hero-sub-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.hero-cta a {
  color: var(--black);
  font-size: 18px;
  font-weight: 500;
  background: var(--softBlue);
  border: 1px solid var(--softBlue);
  padding: 12px 24px;
  transition: var(--transition);
  border-radius: 48px;
}

.hero-cta a:hover {
  background: var(--black);
  color: var(--white);
  border: 1px solid var(--white);
}

.hero-paragraph p {
  color: var(--white);
  font-size: 22px;
  max-width: 65%;
}

/* HERO SECTION STANDARD */
section.hero-section-standard .hero-image {
  height: 60vh;
}

section.hero-section-standard .hero-overlay {
  background: linear-gradient(
    180deg,
    rgba(29, 29, 29, 64%) 100%,
    rgba(29, 29, 29, 10%) 0
  );
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}

section.hero-section-standard .hero-content {
  justify-content: end;
  padding-bottom: 60px;
}

section.hero-section-standard h1.hero-title {
  font-size: 80px;
}

/* HERO SECTION SMALL */
section.hero-section-small .hero-image {
  height: 40vh;
}

section.hero-section-small .hero-overlay {
  background: linear-gradient(
    180deg,
    rgba(29, 29, 29, 1) 0%,
    rgba(29, 29, 29, 0.11) 100%
  );
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}

section.hero-section-standard {
  position: relative;
  height: 70vh;
  overflow: hidden;
}

/* background layers: image OR video */
section.hero-section-standard .hero-image,
section.hero-section-standard .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* video cover */
section.hero-section-standard .hero-video {
  object-fit: cover;
  object-position: center;
}

/* overlay above bg */
section.hero-section-standard .hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* content above overlay */
section.hero-section-standard .hero-content {
  position: relative;
  z-index: 2;
}

/* RESPONSIVE */


@media (max-width: 1112px) {
  section.hero-section-standard h1.hero-title {
    font-size: 64px;
  }

  h1.hero-title {
    font-size: 92px;
    line-height: 80px;
  }

  h1.hero-title span.sm-word {
    font-size: 54px;
  }
}



@media (max-width: 880px) {
  section.hero-section-standard .hero-image {
    height: 70vh;
  }

  section.hero-section-standard h1.hero-title {
    font-size: 36px;
  }

  section.hero-section-standard .hero-content {
    padding-bottom: 60px;
  }

  .hero-paragraph p {
    max-width: 100%;
    font-size: 18px;
  }
}

@media (max-width: 776px) {
  section.hero-section-standard .hero-image {
    height: 100%;
  }

  h1.hero-title {
    font-size: 54px;
    line-height: 40px;
  }

  h1.hero-title span.sm-word {
    font-size: 36px;
  }

  .hero-sub-content {
    gap: 8px;
  }

  .hero-content {
    padding-bottom: 120px;
  }
}

@media (max-width: 576px) {
  h1.hero-title {
    font-size: 44px;
  }

  h1.hero-title span.sm-word {
    font-size: 32px;
  }
}

@media (max-width: 370px) {
  h1.hero-title {
    font-size: 36px;
  }

  h1.hero-title span.sm-word {
    font-size: 24px;
  }
}
}
