/* Custom overrides loaded after layout-main.css. */

h3.subtitle, .subtitle h3 {
  color: rgb(64, 64, 64) !important;
}

.text-white h1 {
  color: #fff;
}

.section_title.nomargin h1 {
  margin-bottom: 0;
}

.heading .section_text {
  max-width: 100%;
}

.ztemplate .carousel img {
  margin-top: 15px;
}

.heading .section_title {
  padding: 0 15px;
}

.section_content .text_dyn {
  justify-content: center;
}

/* Home intro paragraph 1: match .ztextarea.g3 .fieldvalue.f3 exactly. */
.block.container.px-5.max-w-5xl.mx-auto
  > .pt-\[50px\].pb-20.text-center.flex.flex-col.items-center.gap-5.font-normal.text-\[2\.5rem\].text-cta-color-ed.leading-10 {
  font-family: Avenir, Helvetica, Arial, sans-serif !important;
  font-size: 16.8px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: rgb(64, 64, 64) !important;
}

/* Home intro paragraph 2: match .ztextarea.g3 .fieldvalue.f3 exactly. */
.section_text.container > div > p.text-center {
  font-family: Avenir, Helvetica, Arial, sans-serif !important;
  font-size: 16.8px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: rgb(64, 64, 64) !important;
}

/* Section headings right after header: align with card box typography. */
.section-with-header-offset .heading .section_title {
  font-family: Avenir, Helvetica, Arial, sans-serif !important;
  font-size: 1.8rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -1px !important;
  color: var(--color-cta-color-ed) !important;
}
.section-with-header-offset .heading .section_text {
  font-family: Avenir, Helvetica, Arial, sans-serif !important;
  font-size: 16.8px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: rgb(64, 64, 64) !important;
}

/* Custom box title override. */
h3.box-title {
  font-weight: bold;
  font-size: 1.8rem;
}

/* Pre-footer row spacing overrides. */
.full-bg-row[data-row="0_6"] {
  padding: 30px 0 !important;
}

.footer.footer-row div[data-column="T4_0_1"] ul,
.footer.footer-row div[data-column="T4_0_1"] li {
  margin-bottom: 0;
}

#menu_open.fired {
  background-color: var(--color-primary-color);
}

.ztemplate .card.alternative .caption {
  padding-bottom: 15px;
}

@media (width < 48rem) {
  .full-bg-row[data-row="0_6"] {
    gap: 20px !important;
  }

  /* Mobile: increase header slider height on pages with #slideshow_cnt. */
  #slideshow_cnt,
  #slideshow_cnt #slideshow,
  #slideshow_cnt #slideshow .elem,
  #slideshow_cnt #slideshow .elem > img {
    min-height: 35vh !important;
    max-height: none !important;
  }
  #slideshow_cnt #slideshow img {
    height: 100% !important;
    object-fit: cover;
  }

  .box.floated.box_with_image .caption-cnt {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .box.floated.box_with_image .caption-cnt {
    position: relative;
    display: flex;
    align-items: center;
  }
  
  .box.floated.box_with_image .caption-cnt > li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .box.floated.box_with_image .caption-cnt > li.caption-alt {
    padding: calc(var(--spacing) * 10.5) !important;
  }
  
  .box.floated.box_with_image .caption-cnt > li .title a {
    color: var(--color-primary-color);
  }

  .box.floated.box_with_image .caption-cnt .caption a,
  .box.floated.box_with_image .caption-cnt .caption img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .box.floated.box_with_image .caption-cnt .caption-alt {
    margin: 0 !important;
    padding: 0 !important;
  }

  .tns-controls>.next, .tns-controls>.prev, .tns-controls>[data-controls=next], .tns-controls>[data-controls=prev] {
    padding: calc(var(--spacing)*2);
  }
}
