/*
 * DPE text-first layout layer.
 * This file is intentionally separate because the branch contains compiled
 * Sage assets but no editable SCSS/build configuration.
 */

#header:not(.full) {
  display: none;
}

#header.full.text-header {
  height: auto;
  min-height: 0;
  margin-top: 0;
  padding: 4rem 0;
  background: #eef3f5;
  color: #1e3359;
  text-align: left;
}

#header.full.text-header .content {
  height: auto;
  color: inherit;
}

#header.full.text-header .content > div {
  position: static;
  transform: none;
  max-width: 48rem;
}

#header.full.text-header .content h1,
#header.full.text-header .content h2,
#header.full.text-header .content h3,
#header.full.text-header .content p,
#header.full.text-header .content li,
#header.full.text-header .content a {
  color: inherit;
}

#home-slider {
  position: relative;
  margin-top: 0 !important;
  height: auto;
  min-height: 0;
  background: #eef3f5;
}

#home-slider .slick-list,
#home-slider .slick-track,
#home-slider .slick-slide,
#home-slider .slide.text-first-slide {
  height: auto !important;
}

#home-slider .slide.text-first-slide {
  position: relative;
}

#home-slider .slide.text-first-slide .vcenter {
  position: static;
  transform: none;
}

#home-slider .slide.text-first-slide .content {
  padding: 0;
}

#home-slider .slide.text-first-slide {
  min-height: 0;
  padding: clamp(3rem, 7vw, 6rem) 0 clamp(4rem, 8vw, 7rem);
  background: linear-gradient(135deg, #eef3f5 0%, #dbe7eb 100%);
}

#home-slider .text-first-slide .content {
  color: #1e3359;
}

#home-slider .text-first-slide .content h1,
#home-slider .text-first-slide .content h2,
#home-slider .text-first-slide .content p,
#home-slider .text-first-slide .content li,
#home-slider .text-first-slide .content a {
  color: #1e3359;
}

#home-slider .text-first-slide .content h1 {
  font-size: clamp(2.6rem, 5vw, 5.5rem);
  margin-bottom: 1.5rem;
}

#home-slider .sliderdots,
#home-slider + .container .sliderdots {
  display: block;
}

#home-slider + .text-first-slider-controls {
  height: auto !important;
  margin-top: 0;
  margin-bottom: 2rem;
  position: relative;
  z-index: 1;
}

#home-slider + .text-first-slider-controls .slick-dots {
  position: static;
  margin: 0;
  padding: 1rem 0 0;
}

/* Homepage sections are also commonly authored in the page editor. */
#home-highlights {
  margin-top: 0 !important;
  top: auto !important;
  z-index: 1;
}

#home-highlights .row {
  gap: 1.5rem;
}

#home-highlights .column {
  float: none;
  width: 100%;
  height: auto;
  min-height: 14rem;
  margin: 0;
  padding: 2.5rem;
}

@media (min-width: 1080px) {
  #home-highlights .column {
    width: calc(33.333% - 1rem);
  }
}

#our-story {
  margin-top: 3rem;
  margin-bottom: 4rem;
  padding: 0;
  background-image: none !important;
}

#our-story .column {
  width: 100%;
  margin: 0;
  padding: 3rem 2rem;
}

#our-story .column img {
  display: none;
}

#our-story .column > * {
  max-width: 52rem;
}

#sustainability .sustainability .bg,
#careers .visual {
  display: none;
}

#careers .careers {
  width: 100%;
  max-width: 60rem;
  margin: 0 auto;
  padding: 3rem 2rem;
}

#contact .map {
  min-height: 0;
}

#contact .map iframe {
  display: block;
  min-height: 20rem;
}

/* The legacy sidebar used an absolute section label and image-sized padding. */
#page > .row > .sidebar ul.menu > .menu-item > a,
#page > .row > .sidebar ul.menu > .menu-item > .sub-menu {
  position: relative;
  top: auto;
  right: auto;
  margin-right: 0;
}

#page > .row > .sidebar ul.menu > .menu-item > a {
  display: block;
  height: auto;
  min-height: 0;
  padding: 1.25rem 1.5rem;
  font-size: 2rem;
  line-height: 1.25;
}

#page > .row > .sidebar ul.menu > .menu-item > .sub-menu {
  padding: 1rem 0 1.5rem;
  background-image: none !important;
  background-color: #00723d;
  background-size: auto;
}

#page > .row > .sidebar ul.menu > .menu-item > .sub-menu a {
  padding-top: .65rem;
  padding-bottom: .65rem;
}

@media (max-width: 767px) {
  #home-highlights .row {
    gap: 1rem;
  }

  #home-highlights .column {
    width: 100%;
  }

  #our-story .column,
  #careers .careers {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

.articles-listing,
.news-listing,
.blog .text-first-row {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.articles-listing .text-first-card,
.news-listing .text-first-card {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
  padding: 2.5rem 4.5rem 2.5rem 2.5rem;
  background: #f5f5f5;
  text-decoration: none;
}

.articles-listing .text-first-card:hover,
.articles-listing .text-first-card:focus,
.news-listing .text-first-card:hover,
.news-listing .text-first-card:focus {
  background: #e8eef0;
}

.blog .text-first-row {
  display: block;
  padding: 2rem 0;
  border-top: 1px solid #e5e4e2;
}

.blog .text-first-row .text,
.blog .text-first-row .middle {
  position: static;
  transform: none;
  width: 100%;
  max-width: 100%;
  padding: 0;
}

#landing-pages .text-first-card {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 9rem;
  padding: 2rem;
  background: #1e3359;
  color: #fff;
}

#landing-pages .text-first-card span {
  position: static;
  transform: none;
  width: 100%;
}

.row.three-columns .post .heading {
  height: auto;
  min-height: 7rem;
  padding: 2rem 1rem;
}

.row.three-columns .post .heading h2 {
  position: static;
  transform: none;
}

.row.three-columns .post .text {
  padding: 2rem 3rem 3rem;
}

/* The logo and documented image exceptions remain visible if legacy
 * Customizer rules still contain a blanket image rule. */
header .navbar-brand img,
#associates img,
#sustainability .certifications img {
  visibility: visible !important;
}

@media (max-width: 767px) {
  #header.full.text-header {
    padding: 3rem 1rem;
  }

  #home-slider .slide.text-first-slide {
    padding: 3rem 1rem 5rem;
  }

  #landing-pages .text-first-card {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  #home-slider .slide.text-first-slide,
  #home-slider .slick-track {
    transition: none !important;
  }
}
