/* =========================================================
   Standard layout hero
   ========================================================= */

.hero {
  position: absolute;
  bottom: 20px;
  max-width: inherit;
}

.hero h1,
.hero h2,
.hero h3,
.hero h4,
.hero h5,
.hero p,
.hero a {
  color: var(--color-white);
}

.hero .breadcrumb-item a,
.hero .breadcrumb-item::before,
.hero .breadcrumb-item + .breadcrumb-item::before {
  color: var(--color-white);
}

.layout-bg-edit .hero {
  position: inherit;
  bottom: inherit;
}

.layout-bg-bg-container img,
.slick--view--feature--features-home-page img {
  min-height: 250px;
  object-fit: cover;
  max-height: 600px;
}

.slick--view--feature-listing--feature-listing-home-page img {
  min-height: 250px;
  object-fit: cover;
}

.layout-bg-content-container.gradient-black-bg {
  background: linear-gradient(to top, black, transparent 55%);
}

.layout-bg-section.empty-hero .hero {
  position: relative;
  bottom: unset;
}

.layout-bg-section.empty-hero .layout-bg-overlay {
  background-color: var(--color-white) !important;
  opacity: 1 !important;
}

.layout-bg-section.empty-hero .hero h1,
.layout-bg-section.empty-hero .hero .breadcrumb-item a,
.layout-bg-section.empty-hero .breadcrumb-item::before {
  color: var(--color-black);
}

.slick--view--feature blockquote,
.slick--view--feature-listing blockquote {
  border-left: none;
  margin: 0;
  padding: 0 0 0 60px;
}


/* =========================================================
   Homepage hero carousel base media handling
   No forced desktop height here.
   ========================================================= */

.slick--view--feature-listing-hero-carousel--features-home-page img,
.slick--view--feature-listing-hero-carousel--features-home-page video,
.slick--view--feature--features-home-page img,
.slick--view--feature--features-home-page video,
.slick--view--feature-listing--feature-listing-home-page img,
.slick--view--feature-listing--feature-listing-home-page video {
  display: block;
  width: 100%;
  object-fit: cover;
}


/* =========================================================
   Homepage hero carousel medium/tablet/mobile overlay fix
   Desktop >= 992px is intentionally untouched.
   ========================================================= */

@media (max-width: 991.98px) {
  .slick--view--feature-listing-hero-carousel--features-home-page .slick__slide,
  .slick--view--feature--features-home-page .slick__slide,
  .slick--view--feature-listing--feature-listing-home-page .slick__slide {
    display: flex;
    flex-direction: column;
  }

  .slick--view--feature-listing-hero-carousel--features-home-page .slick-slide-overlay,
  .slick--view--feature--features-home-page .slick-slide-overlay,
  .slick--view--feature-listing--feature-listing-home-page .slick-slide-overlay {
    position: static !important;
    display: block;
    width: 100%;
    max-width: none;
    transform: none;
  }

  .slick--view--feature-listing-hero-carousel--features-home-page .slick-slide-overlay > .container,
  .slick--view--feature--features-home-page .slick-slide-overlay > .container,
  .slick--view--feature-listing--feature-listing-home-page .slick-slide-overlay > .container {
    width: 100%;
    max-width: none;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0;
    margin-right: 0;
  }

  .slick--view--feature-listing-hero-carousel--features-home-page .overlay-box,
  .slick--view--feature--features-home-page .overlay-box,
  .slick--view--feature-listing--feature-listing-home-page .overlay-box {
    position: static !important;
    width: 100% !important;
    max-width: none;
    min-width: 0;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
  }

  .slick--view--feature-listing-hero-carousel--features-home-page .box-w25,
  .slick--view--feature-listing-hero-carousel--features-home-page .box-w33,
  .slick--view--feature-listing-hero-carousel--features-home-page .box-w50,
  .slick--view--feature-listing-hero-carousel--features-home-page .box-w66,
  .slick--view--feature-listing-hero-carousel--features-home-page .box-w75,
  .slick--view--feature-listing-hero-carousel--features-home-page .box-w100,
  .slick--view--feature--features-home-page .box-w25,
  .slick--view--feature--features-home-page .box-w33,
  .slick--view--feature--features-home-page .box-w50,
  .slick--view--feature--features-home-page .box-w66,
  .slick--view--feature--features-home-page .box-w75,
  .slick--view--feature--features-home-page .box-w100,
  .slick--view--feature-listing--feature-listing-home-page .box-w25,
  .slick--view--feature-listing--feature-listing-home-page .box-w33,
  .slick--view--feature-listing--feature-listing-home-page .box-w50,
  .slick--view--feature-listing--feature-listing-home-page .box-w66,
  .slick--view--feature-listing--feature-listing-home-page .box-w75,
  .slick--view--feature-listing--feature-listing-home-page .box-w100 {
    width: 100% !important;
    max-width: none;
  }

  .slick--view--feature-listing-hero-carousel--features-home-page .card-body,
  .slick--view--feature--features-home-page .card-body,
  .slick--view--feature-listing--feature-listing-home-page .card-body {
    width: 100%;
    max-width: none;
  }
}


/* =========================================================
   Homepage hero carousel safe responsive media height
   Fixes shallow tablet/mobile heights without touching
   normal large desktop >= 1200px.
   ========================================================= */

/* Small desktop only: 992px to 1199px */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .slick--view--feature-listing-hero-carousel--features-home-page img,
  .slick--view--feature-listing-hero-carousel--features-home-page video,
  .slick--view--feature--features-home-page img,
  .slick--view--feature--features-home-page video,
  .slick--view--feature-listing--feature-listing-home-page img,
  .slick--view--feature-listing--feature-listing-home-page video {
    min-height: 340px;
    max-height: 480px;
  }
}

/* Tablet / medium screens: main fix */
@media (min-width: 768px) and (max-width: 991.98px) {
  .slick--view--feature-listing-hero-carousel--features-home-page img,
  .slick--view--feature-listing-hero-carousel--features-home-page video,
  .slick--view--feature--features-home-page img,
  .slick--view--feature--features-home-page video,
  .slick--view--feature-listing--feature-listing-home-page img,
  .slick--view--feature-listing--feature-listing-home-page video {
    height: 360px;
    min-height: 360px;
    max-height: 390px;
    object-fit: cover;
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .slick--view--feature-listing-hero-carousel--features-home-page img,
  .slick--view--feature-listing-hero-carousel--features-home-page video,
  .slick--view--feature--features-home-page img,
  .slick--view--feature--features-home-page video,
  .slick--view--feature-listing--feature-listing-home-page img,
  .slick--view--feature-listing--feature-listing-home-page video {
    height: 300px;
    min-height: 300px;
    max-height: 340px;
    object-fit: cover;
  }
}

/* Very small mobile */
@media (max-width: 575.98px) {
  .slick--view--feature-listing-hero-carousel--features-home-page img,
  .slick--view--feature-listing-hero-carousel--features-home-page video,
  .slick--view--feature--features-home-page img,
  .slick--view--feature--features-home-page video,
  .slick--view--feature-listing--feature-listing-home-page img,
  .slick--view--feature-listing--feature-listing-home-page video {
    height: 260px;
    min-height: 260px;
    max-height: 300px;
    object-fit: cover;
  }
}


/* =========================================================
   Small screen spacing for homepage hero carousel text
   ========================================================= */

@media (max-width: 767.98px) {
  .slick--view--feature-listing-hero-carousel--features-home-page .card-body,
  .slick--view--feature--features-home-page .card-body,
  .slick--view--feature-listing--feature-listing-home-page .card-body {
    padding: 1.25rem;
  }

  .slick--view--feature-listing-hero-carousel--features-home-page .card-title,
  .slick--view--feature-listing-hero-carousel--features-home-page .card-title-link,
  .slick--view--feature-listing-hero-carousel--features-home-page .card-title.h3,
  .slick--view--feature--features-home-page .card-title,
  .slick--view--feature--features-home-page .card-title-link,
  .slick--view--feature--features-home-page .card-title.h3,
  .slick--view--feature-listing--feature-listing-home-page .card-title,
  .slick--view--feature-listing--feature-listing-home-page .card-title-link,
  .slick--view--feature-listing--feature-listing-home-page .card-title.h3 {
    margin-bottom: 0.5rem;
  }
}