@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
:root {
  --main-font: "Poppins", sans-serif;
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --primary-color: #8dc63f;
  --primary-color-alt: #6b992c;
  --primary-color-light: hsl(from var(--primary-color) h s 50% / alpha);
  --primary-color-5: hsl(from var(--primary-color) h s 30% / alpha);
  --primary-color-10: hsl(from var(--primary-color) h s 25% / alpha);
  --primary-color-20: hsl(from var(--primary-color) h s 15% / alpha);
  --primary-color-30: hsl(from var(--primary-color) h s 10% / alpha);
  --primary-color-40: hsl(from var(--primary-color) h s 0% / alpha);
  --secondary-color: #0082be;
  --white-color: #fff;
  --gray-color: #abacae;
  --light-gray-color: #f3f3f3;
  --dark-gray-color: #3f3f3f;
  --med-gray-color: #646f80;
  --black-color: #111111;
  --bg-green: var(--primary-color-20);
  --card-shadow: 0px 10px 30.6px 0px #00000029;
  --gutter: 2.5rem;
  --padding: 1rem;
  --column-gap: 1rem;
  --eyebrow-line-height: 1.6;
  --heading-line-height: 1.2;
  --body-line-height: 1.65;
  --content-width: 1700px;
  --button-padding: 1rem 3rem;
  --button-radius: 10rem;
  --grid-max-col-count: 4;
  --grid-min-col-size: 318px;
  --grid-gap: 1rem;
  --grid-col-size-calc: calc(
    (100% - var(--grid-gap) * var(--grid-max-col-count)) /
      var(--grid-max-col-count)
  );
  --grid-col-min-size-calc: min(
    max(var(--grid-min-col-size), var(--grid-col-size-calc)),
    100%
  );
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

body {
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
  font-family: var(--main-font);
  background-color: var(--white-color);
  width: 100%;
  overflow-x: hidden;
  view-transition-name: body;
}
body.stop-scrolling {
  overflow: hidden;
}

ol,
ul,
li {
  list-style: none;
}

img:not(.field--name-body > img,
.field--name-field-body > img,
.field--name-field-accordion-body > img),
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  object-fit: cover;
  object-position: center;
  width: inherit;
  height: inherit;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
  font-size: inherit;
  letter-spacing: inherit;
  color: inherit;
}

a {
  text-decoration: none;
}

.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.menu-item {
  padding: 0;
}

@supports (view-transition-name: none) {
  @view-transition {
    navigation: auto;
  }
}
.bg-none {
  --bg-color: transparent;
}

.bg-white {
  --bg-color: var(--white-color);
}
.bg-white::after {
  background: var(--bg-color);
}

.bg-gray {
  --bg-color: var(--light-gray-color);
}
.bg-gray::after {
  background: var(--bg-color);
}

.bg-gray_w_decorator {
  --bg-color: var(--light-gray-color);
  --bg-decorator: url("../img/leaf-bg.svg") no-repeat top right/ auto 150%;
}
.bg-gray_w_decorator::after {
  background: var(--bg-decorator), var(--bg-color);
}

.bg-green {
  --bg-color: var(--bg-green);
}
.bg-green::after {
  background: var(--bg-color);
}

.bg-green_w_decorator {
  --bg-color: var(--bg-green);
  --bg-decorator: url("../img/leaf-green-bg.svg") no-repeat top right/ auto 170%;
}
.bg-green_w_decorator::after {
  background: var(--bg-decorator), var(--bg-color);
}

.bg-image {
  background-blend-mode: multiply;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.75) 37.02%, rgba(73, 115, 17, 0.6) 100%), var(--bg-image) no-repeat center fixed;
  background-size: cover;
}
.bg-image::after {
  display: none;
}

.field--name-field-advanced-content > section {
  position: relative;
}
.field--name-field-advanced-content > section::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.field--name-field-advanced-content > section.partial-left-bg::after, .field--name-field-advanced-content > section.partial-right-bg::after {
  width: calc(100% - 10rem);
}
.field--name-field-advanced-content > section.partial-left-bg::after {
  right: 0;
}
.field--name-field-advanced-content > section.partial-right-bg::after {
  left: 0;
}

@media screen and (max-width: 768px) {
  .field--name-field-advanced-content section.partial-left-bg::after, .field--name-field-advanced-content section.partial-right-bg::after {
    width: 100%;
  }
}
.block-local-tasks-block {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: var(--black-color);
  display: flex;
  justify-content: center;
  align-items: center;
  color: white !important;
}
.block-local-tasks-block .tabs--primary {
  padding: 1rem;
  margin: auto;
}
.block-local-tasks-block .tabs--primary .tabs__link {
  display: block;
  color: white;
  font-family: Arial, Helvetica, sans-serif;
}
.block-local-tasks-block .tabs--primary .tabs__link.is-active {
  background-color: var(--primary-color);
  color: var(--black-color);
}
.block-local-tasks-block .tabs--primary .tabs__link:hover, .block-local-tasks-block .tabs--primary .tabs__link:focus {
  background-color: var(--primary-color);
  color: var(--black-color);
}

.messages {
  color: var(--white-color);
  padding: 1rem;
}

.contextual-region.profile {
  min-height: 500px;
  max-width: var(--content-width);
  width: 100%;
  margin-inline: auto;
  padding: var(--gutter);
}

.content-header {
  --admin-offset-top: 0;
  position: relative;
  overflow: visible;
  background-color: var(--white-color);
  top: var(--admin-offset-top);
  left: 0;
  z-index: 10;
  width: 100%;
  height: fit-content;
  transition: 200ms ease;
}
.content-header.sticky {
  position: fixed;
}
.content-header:focus-within {
  transform: translateY(0);
  opacity: 1;
}

body:is(.path-frontpage) .content-header:is(:not(.sticky)) {
  position: absolute;
  background-color: transparent;
}

.interior-header {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: 170px;
  column-gap: min(4rem, 10vw);
  justify-items: center;
  align-items: center;
  width: 100%;
  margin-inline: auto;
  padding: 2rem;
  background: linear-gradient(90deg, #8cc63f 0%, #44601f 100%);
}

@media screen and (max-width: 576px) {
  .interior-header {
    padding-block: 4rem;
  }
  .interior-header.sticky.hidden {
    transform: translateY(0);
    opacity: 1;
  }
}
.page-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 100vh;
  background-color: var(--white-color);
  overflow: clip;
  isolation: isolate;
}

body:has(.content-header.sticky):is(:not(.path-frontpage)) main {
  margin-top: var(--header-offset);
}

main {
  position: relative;
  width: 100%;
  height: fit-content;
  z-index: 0;
}
main .page-content {
  isolation: isolate;
  margin-top: 0;
  margin-bottom: 0;
  z-index: 1;
}

.node-body-wrapper {
  margin-inline: auto;
  width: min(var(--content-width), 100%);
}

.company-node .field--name-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  width: min(var(--content-width) * 0.6, 100%);
  text-align: center;
}

.resource-node {
  padding-block: 4rem;
}
.resource-node .field--name-body {
  padding-block: 0;
}
.resource-node .files {
  width: min(100%, var(--content-width));
  margin-inline: auto;
  margin-bottom: 2rem;
  padding-inline: var(--gutter);
}

.field--name-body {
  width: min(100%, var(--content-width));
  margin-inline: auto;
  padding-block: 4rem;
  padding-inline: var(--gutter);
}

section {
  width: 100%;
}
section > .paragraph {
  padding-block: 5rem;
  margin-inline: auto;
  padding-inline: var(--gutter);
}
section > .paragraph:not(.paragraph--type--hero) {
  width: min(100%, var(--content-width));
}

.hero > .paragraph {
  width: 100%;
  padding-inline: 0;
  padding-block: 0;
}

.timeline > .paragraph {
  padding-block: 0;
}

.team-node {
  display: grid;
  grid-template-columns: max-content;
  column-gap: 4rem;
  padding-block: 4rem;
  padding-inline: var(--gutter);
}
.team-node:has(.field--name-body) {
  grid-template-columns: max-content auto;
  justify-content: flex-start;
}
.team-node:has(.field--name-body) .field--name-body {
  padding: 0;
}

.asset-node {
  display: grid;
  grid-template-columns: 70% auto;
  gap: 2rem 4rem;
  padding-top: 5rem;
  padding-bottom: 3rem;
  padding-inline: 2rem;
}
.asset-node .asset-details {
  grid-row: 1;
  grid-column: 2/span 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  height: fit-content;
  width: 100%;
  gap: 2rem;
  padding: 3rem;
  border-radius: 50px;
  background-color: var(--light-gray-color);
  font-size: 1.2rem;
}
.asset-node .asset-details .detail {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5ch;
}
.asset-node .asset-details .detail .detail-label {
  color: var(--primary-color-10);
  font-weight: var(--font-semibold);
}
.asset-node .field--name-body {
  padding-top: 0;
  padding-inline: 0;
  padding-bottom: 0;
}
.asset-node .asset-map {
  grid-column: 1/span 1;
  margin-top: 5rem;
}
.asset-node iframe {
  width: 100%;
  height: 800px;
  border-radius: 25px;
  overflow: hidden;
}

@media screen and (max-width: 1200px) {
  .asset-node {
    grid-template-columns: 60% auto;
  }
}
@media screen and (max-width: 992px) {
  .team-node {
    grid-template-columns: 100%;
  }
  .team-node:has(.field--name-body) {
    grid-template-columns: auto;
    justify-content: center;
    justify-items: center;
    align-items: center;
  }
  .team-node:has(.field--name-body) .field--name-body {
    padding-block: 2rem;
  }
  .asset-node {
    grid-template-columns: 1fr;
  }
  .asset-node .asset-details {
    grid-column: 1;
    order: 1;
  }
  .asset-node .field--name-body {
    order: 2;
    padding-top: 2rem;
  }
  .asset-node .asset-map {
    order: 3;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .asset-node .asset-map {
    margin-top: 1rem;
  }
}
.paragraph--type--full-width:has(.text-align-center) > * {
  width: min(1400px, 100%);
  margin-inline: auto;
  text-align: center;
}
.paragraph--type--full-width:has(.text-align-center) .field--name-field-cta a {
  margin-inline: auto;
}

.field__item:has(.paragraph--type--column-image.overlap,
.paragraph--type--column-cards.overlap) > .paragraph {
  padding-bottom: 0;
}
.field__item:has(.paragraph--type--column-image.overlap,
.paragraph--type--column-cards.overlap) + .field__item {
  padding-top: 4rem;
}
.field__item:has(.paragraph--type--column-image.overlap,
.paragraph--type--column-cards.overlap) .field--name-field-column > .paragraph--type--column-image,
.field__item:has(.paragraph--type--column-image.overlap,
.paragraph--type--column-cards.overlap) .field--name-field-column > .paragraph--type--column-cards {
  height: fit-content;
  position: sticky;
  top: calc(var(--header-offset) + 6rem);
  margin-bottom: -4rem;
  z-index: 1;
}
.field__item:has(.paragraph--type--column-image.overlap,
.paragraph--type--column-cards.overlap) .field--name-field-column > .paragraph:not(.paragraph--type--column-image,
.paragraph--type--column-cards) {
  padding-bottom: 4rem;
}

.field--name-field-column {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: min(5vw, 5rem);
}
.field--name-field-column:has(.paragraph--type--column-cards:first-of-type) {
  grid-template-columns: 0.65fr 0.35fr;
}
.field--name-field-column:has(.paragraph--type--column-cards:last-of-type) {
  grid-template-columns: 0.35fr 0.65fr;
}
.field--name-field-column:has(.faqs) {
  grid-template-columns: minmax(auto, 400px) minmax(400px, 1fr);
}
.field--name-field-column:has(.faqs) > .paragraph--type--column-content {
  height: fit-content;
  position: sticky;
  top: var(--header-offset);
}
.field--name-field-column > .paragraph {
  width: auto;
}
.field--name-field-column > .paragraph--type--column-image {
  height: fit-content;
}
.field--name-field-column > .paragraph--type--column-image:has(.image-style-column-image-large) {
  width: min(690px, 100%);
}
.field--name-field-column > .paragraph--type--column-image:has(.image-style-column-image-tall) {
  width: min(584px, 100%);
}
.field--name-field-column > .paragraph--type--column-image:has(.image-style-column-image-small) {
  width: min(584px, 100%);
}
.field--name-field-column > .paragraph--type--column-image:has(.image-style-column-image-small-overlap) {
  width: min(584px, 100%);
}

@media screen and (max-width: 992px) {
  .field__item:has(.paragraph--type--column-image.overlap,
  .paragraph--type--column-cards.overlap) .field--name-field-column {
    grid-template-columns: 50% auto;
  }
  .field--name-field-column:has(.faqs) {
    grid-template-columns: 50% auto;
  }
}
@media screen and (max-width: 768px) {
  .field__item:has(.paragraph--type--column-image.overlap,
  .paragraph--type--column-cards.overlap) .field--name-field-column {
    grid-template-columns: 100%;
  }
  .field__item:has(.paragraph--type--column-image.overlap,
  .paragraph--type--column-cards.overlap) .field--name-field-column > .paragraph--type--column-image,
  .field__item:has(.paragraph--type--column-image.overlap,
  .paragraph--type--column-cards.overlap) .field--name-field-column > .paragraph--type--column-cards {
    position: relative;
    top: 0;
    margin-bottom: 3rem;
    width: 100%;
  }
  .field--name-field-column:has(.faqs) {
    grid-template-columns: 100%;
  }
  .field--name-field-column:has(.faqs) > .paragraph--type--column-content {
    position: relative;
    top: 0;
    margin-bottom: 0;
  }
  .field--name-field-column > .paragraph--type--column-image img {
    width: 100%;
  }
}
footer {
  position: relative;
  margin-top: auto;
  width: 100%;
  z-index: -1;
  --bg-color: var(--primary-color-10);
}
footer::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: var(--bg-color);
}

.block--type-footer {
  width: min(var(--content-width), 100%);
  margin-inline: auto;
  padding: 7rem 3rem;
  display: grid;
  grid-template-columns: minmax(200px, max-content) minmax(200px, max-content) minmax(50px, max-content);
  align-items: flex-start;
  justify-content: space-evenly;
  gap: 5rem;
  color: var(--white-color);
}
.block--type-footer .field__label {
  margin-bottom: 3rem;
  font-size: 2.5rem;
  font-weight: var(--font-medium);
}
.block--type-footer .field__label::after {
  content: "";
  display: block;
  margin-block: 2rem;
  width: 100%;
  height: 5px;
  background-color: var(--primary-color);
}

.field--name-field-socials {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-block: auto;
}

.paragraph--type--social-link {
  position: relative;
}
.paragraph--type--social-link .field--name-field-icon {
  position: relative;
  outline: 4px solid transparent;
  border-radius: 10rem;
}
.paragraph--type--social-link .field--name-field-icon img {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
  object-position: center;
  transition: scale 200ms ease;
}
.paragraph--type--social-link a {
  position: absolute;
  inset: 0;
  color: transparent;
}
.paragraph--type--social-link:hover .field--name-field-icon, .paragraph--type--social-link:focus .field--name-field-icon, .paragraph--type--social-link:active .field--name-field-icon {
  outline-color: var(--primary-color-light);
}
.paragraph--type--social-link:hover .field--name-field-icon img, .paragraph--type--social-link:focus .field--name-field-icon img, .paragraph--type--social-link:active .field--name-field-icon img {
  scale: 0.75;
}

.menu--quick-links .menu {
  margin-left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2rem;
}
.menu--quick-links .menu a {
  color: var(--white-color);
}
.menu--quick-links .menu a.is-active {
  color: var(--primary-color-light);
}
.menu--quick-links .menu a:hover, .menu--quick-links .menu a:focus, .menu--quick-links .menu a:active {
  text-decoration: underline;
}

.field--name-field-our-offices table {
  width: 100%;
}
.field--name-field-our-offices table tr {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
}
.field--name-field-our-offices table tr p:has(strong) {
  margin-bottom: 1rem;
}
.field--name-field-our-offices table tr p {
  line-height: var(--body-line-height);
  margin-bottom: 1rem;
}
.field--name-field-our-offices table tr a {
  color: var(--white-color);
}
.field--name-field-our-offices table tr a:hover, .field--name-field-our-offices table tr a:focus, .field--name-field-our-offices table tr a:active {
  text-decoration: underline;
}

@media screen and (max-width: 992px) {
  .block--type-footer {
    grid-template-columns: 1fr 1fr;
  }
  .field--name-field-socials {
    grid-column: 1/span 2;
    flex-direction: row;
  }
}
@media screen and (max-width: 768px) {
  .block--type-footer {
    grid-template-columns: 1fr;
  }
  .block--type-footer .field__label {
    text-align: center;
  }
  .menu--quick-links .menu {
    flex-direction: column;
    align-items: center;
  }
  .field--name-field-our-offices table tr {
    flex-direction: column;
    gap: 1rem;
  }
  .field--name-field-our-offices table tr td {
    text-align: center;
  }
  .field--name-field-socials {
    grid-column: span 1;
  }
}
@media screen and (max-width: 576px) {
  .menu--quick-links .menu {
    flex-direction: column;
  }
}
.field--name-field-cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  text-align: center;
  padding: var(--button-padding);
  border-radius: var(--button-radius);
  background-color: var(--primary-color-alt);
  color: var(--white-color);
  transition: 200ms ease;
  margin-top: 2.2rem;
}
.field--name-field-cta a:hover, .field--name-field-cta a:active, .field--name-field-cta a:focus {
  background-color: var(--white-color);
  color: var(--primary-color-alt);
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1254901961);
  outline: none;
}
.field--name-field-cta a:hover, .field--name-field-cta a:focus, .field--name-field-cta a:active {
  background-color: var(--primary-color-10);
  color: var(--white-color);
}
.field--name-field-cta:has(.field__item) {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .field--name-field-cta:has(.field__item) {
    flex-direction: column;
  }
  .field--name-field-cta:has(.field__item):nth-of-type(2) a {
    margin-top: 0;
  }
}
@media screen and (max-width: 576px) {
  .field--name-field-cta:has(.field__item) a {
    text-wrap: unset;
  }
}

.js-form-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  text-align: center;
  padding: var(--button-padding);
  border-radius: var(--button-radius);
  background-color: var(--primary-color-alt);
  color: var(--white-color);
  transition: 200ms ease;
}
.js-form-submit:hover, .js-form-submit:active, .js-form-submit:focus {
  background-color: var(--white-color);
  color: var(--primary-color-alt);
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1254901961);
  outline: none;
}
.js-form-submit:hover, .js-form-submit:focus, .js-form-submit:active {
  background-color: var(--primary-color-10);
  color: var(--white-color);
}

.views-exposed-form .js-form-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  text-align: center;
  padding: var(--button-padding);
  border-radius: var(--button-radius);
  background-color: var(--primary-color-alt);
  color: var(--white-color);
  transition: 200ms ease;
  border-radius: 0.5rem;
}
.views-exposed-form .js-form-submit:hover, .views-exposed-form .js-form-submit:active, .views-exposed-form .js-form-submit:focus {
  background-color: var(--white-color);
  color: var(--primary-color-alt);
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1254901961);
  outline: none;
}
.views-exposed-form .js-form-submit:hover, .views-exposed-form .js-form-submit:focus, .views-exposed-form .js-form-submit:active {
  background-color: var(--primary-color-10);
  color: var(--white-color);
}

.cta {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  text-align: center;
  padding: var(--button-padding);
  border-radius: var(--button-radius);
  background-color: var(--primary-color-alt);
  color: var(--white-color);
  transition: 200ms ease;
  margin-top: 3rem;
}
.cta:hover, .cta:active, .cta:focus {
  background-color: var(--white-color);
  color: var(--primary-color-alt);
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1254901961);
  outline: none;
}
.cta:hover, .cta:focus, .cta:active {
  background-color: var(--primary-color-10);
  color: var(--white-color);
}

.cta-alt {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  text-align: center;
  padding: var(--button-padding);
  border-radius: var(--button-radius);
  background-color: var(--white-color);
  color: var(--primary-color);
  transition: 200ms ease;
  margin-top: 3rem;
}
.cta-alt:hover, .cta-alt:active, .cta-alt:focus {
  background-color: var(--primary-color);
  color: var(--white-color);
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1254901961);
  outline: none;
}

.cta-outline {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.3rem;
  font-size: 1.3rem;
  font-weight: var(--font-medium);
  line-height: 1.2;
  letter-spacing: 0.5px;
  padding: 1rem 2rem;
  width: fit-content;
  color: var(--primary-color-5);
  border: 3px solid transparent;
  border-radius: var(--button-radius);
  transition: 200ms ease;
}
.cta-outline:hover, .cta-outline:focus, .cta-outline:active {
  background-color: var(--primary-color-5);
  color: var(--white-color);
}

[cta="1"] {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  text-align: center;
  padding: var(--button-padding);
  border-radius: var(--button-radius);
  background-color: var(--primary-color-alt);
  color: var(--white-color);
  transition: 200ms ease;
}
[cta="1"]:hover, [cta="1"]:active, [cta="1"]:focus {
  background-color: var(--white-color);
  color: var(--primary-color-alt);
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1254901961);
  outline: none;
}
[cta="1"]:hover, [cta="1"]:focus, [cta="1"]:active {
  background-color: var(--secondary-color);
  color: var(--white-color);
}

.view-footer .cta {
  margin-inline: auto;
}

.banner .field--name-field-cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  text-align: center;
  padding: var(--button-padding);
  border-radius: var(--button-radius);
  background-color: var(--white-color);
  color: var(--primary-color);
  transition: 200ms ease;
  color: var(--primary-color-alt);
  padding: 1rem 5rem;
  margin-top: 0;
}
.banner .field--name-field-cta a:hover, .banner .field--name-field-cta a:active, .banner .field--name-field-cta a:focus {
  background-color: var(--primary-color);
  color: var(--white-color);
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1254901961);
  outline: none;
}

.field--name-body.field--name-field-body:has(.text-align-center) a.cta,
.field--name-field-accordion-body:has(.text-align-center) a.cta,
.field--name-body:has(.text-align-center) a.cta {
  margin-inline: auto;
}

.views-exposed-form {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.views-exposed-form .form-item {
  width: min(300px, 100%);
  flex-grow: 0.25;
}
.views-exposed-form .form-item input,
.views-exposed-form .form-item select {
  width: 100%;
  padding: 1rem 1rem;
  outline: 3px solid var(--black-color);
  line-height: 1.2;
  font-size: 1.2rem;
  border-radius: 0.5rem;
}
.views-exposed-form .form-item select {
  position: relative;
  appearance: none;
}

.view-assets .views-exposed-form {
  margin-bottom: 2rem;
}

.webform-submission-form .form-item input,
.webform-submission-form .form-item textarea {
  padding: 1rem 2rem;
}

.menu-item .search {
  position: relative;
  color: transparent !important;
  width: 1rem;
  height: 1rem;
  display: grid;
  place-items: center;
  transition: 200ms ease;
}
.menu-item .search::before {
  content: "";
  display: block;
  position: absolute;
  inset: 10%;
  background-color: var(--black-color);
  mask: url("../img/icons/search.svg") no-repeat center/100%;
}
.menu-item .search:hover::before, .menu-item .search:active::before, .menu-item .search:focus::before {
  background-color: var(--primary-color);
}

body:is(.path-frontpage) .content-header:not(.sticky) .menu-item .search::before {
  background-color: var(--white-color);
}

.field--name-field-body ul,
.field--name-field-accordion-body ul,
.field--name-body ul {
  padding-left: 1rem;
}
.field--name-field-body ul:has(.arrow),
.field--name-field-accordion-body ul:has(.arrow),
.field--name-body ul:has(.arrow) {
  padding-left: 0;
}
.field--name-field-body ul li,
.field--name-field-accordion-body ul li,
.field--name-body ul li {
  list-style: disc;
  line-height: var(--body-line-height);
}
.field--name-field-body ul li.arrow,
.field--name-field-accordion-body ul li.arrow,
.field--name-body ul li.arrow {
  display: grid;
  grid-template-columns: 1rem auto;
  column-gap: 1.8rem;
  padding-block: 0.5rem;
}
.field--name-field-body ul li.arrow::before,
.field--name-field-accordion-body ul li.arrow::before,
.field--name-body ul li.arrow::before {
  content: "";
  display: block;
  grid-column: span 1;
  width: 1.75rem;
  height: 1.75rem;
  background-color: var(--primary-color);
  mask: url("../img/icons/caret-right-fill.svg") no-repeat center/100%;
}
.field--name-field-body ol,
.field--name-field-accordion-body ol,
.field--name-body ol {
  padding-left: 1rem;
}
.field--name-field-body ol li,
.field--name-field-accordion-body ol li,
.field--name-body ol li {
  list-style: decimal;
  line-height: var(--body-line-height);
}

.faqs.full-list .view-content {
  display: grid;
  grid-template-columns: 1fr;
}
.faqs.full-list .view-content:has(.view-group) {
  gap: 2rem;
}
.faqs.full-list .view-group {
  padding: 3rem;
  background-color: var(--light-gray-color);
  border-radius: 2rem;
}
.faqs.full-list .view-group h3 {
  font-size: 2rem;
  margin-bottom: 2rem;
  font-weight: var(--font-medium);
  line-height: var(--heading-line-height);
}

.bg-white .field--name-field-body ul li,
.bg-white .field--name-field-accordion-body ul li,
.bg-white .field--name-body ul li,
.bg-gray .field--name-field-body ul li,
.bg-gray .field--name-field-accordion-body ul li,
.bg-gray .field--name-body ul li,
.bg-gray_w_decorator .field--name-field-body ul li,
.bg-gray_w_decorator .field--name-field-accordion-body ul li,
.bg-gray_w_decorator .field--name-body ul li {
  color: var(--black-color);
}

.bg-green .field--name-field-body ul li,
.bg-green .field--name-field-accordion-body ul li,
.bg-green .field--name-body ul li,
.bg-green_w_decorator .field--name-field-body ul li,
.bg-green_w_decorator .field--name-field-accordion-body ul li,
.bg-green_w_decorator .field--name-body ul li {
  color: var(--white-color);
}

.field--name-field-body table,
.field--name-field-accordion-body table,
.field--name-body table {
  width: 100%;
  border-spacing: 1px;
}
.field--name-field-body table th,
.field--name-field-body table td,
.field--name-field-accordion-body table th,
.field--name-field-accordion-body table td,
.field--name-body table th,
.field--name-body table td {
  padding: 1rem;
  text-align: left;
}
.field--name-field-body table thead th,
.field--name-field-accordion-body table thead th,
.field--name-body table thead th {
  background-color: var(--med-gray-color);
  color: var(--white-color);
}
.field--name-field-body table tbody th,
.field--name-field-accordion-body table tbody th,
.field--name-body table tbody th {
  background-color: var(--light-gray-color);
}
.field--name-field-body table tbody td,
.field--name-field-accordion-body table tbody td,
.field--name-body table tbody td {
  background-color: var(--white-color);
}
.field--name-field-body table.striped tr:nth-of-type(even) td,
.field--name-field-accordion-body table.striped tr:nth-of-type(even) td,
.field--name-body table.striped tr:nth-of-type(even) td {
  background-color: transparent;
}
.field--name-field-body table.striped tr:nth-of-type(odd) td,
.field--name-field-accordion-body table.striped tr:nth-of-type(odd) td,
.field--name-body table.striped tr:nth-of-type(odd) td {
  border-radius: 0.25rem;
}

.field--name-field-body blockquote,
.field--name-field-accordion-body blockquote,
.field--name-body blockquote {
  margin-block: 2rem;
  padding: var(--padding);
  border-left: 4px solid var(--primary-color);
  font-style: italic;
}
.field--name-field-body blockquote h2,
.field--name-field-body blockquote h3,
.field--name-field-body blockquote h4,
.field--name-field-body blockquote h5,
.field--name-field-body blockquote h6,
.field--name-field-accordion-body blockquote h2,
.field--name-field-accordion-body blockquote h3,
.field--name-field-accordion-body blockquote h4,
.field--name-field-accordion-body blockquote h5,
.field--name-field-accordion-body blockquote h6,
.field--name-body blockquote h2,
.field--name-body blockquote h3,
.field--name-body blockquote h4,
.field--name-body blockquote h5,
.field--name-body blockquote h6 {
  margin-top: 0;
}

.field--name-field-body h2,
.field--name-field-body h3,
.field--name-field-body h4,
.field--name-field-body h5,
.field--name-field-body h6,
.field--name-field-accordion-body h2,
.field--name-field-accordion-body h3,
.field--name-field-accordion-body h4,
.field--name-field-accordion-body h5,
.field--name-field-accordion-body h6,
.field--name-body h2,
.field--name-body h3,
.field--name-body h4,
.field--name-body h5,
.field--name-body h6 {
  margin-block: 1rem;
  line-height: var(--heading-line-height);
  font-family: var(--heading-font);
}
.field--name-field-body h2,
.field--name-field-accordion-body h2,
.field--name-body h2 {
  margin-block: 0 1.3rem;
  font-size: 2.5rem;
  font-weight: var(--font-medium);
}
.field--name-field-body h3,
.field--name-field-accordion-body h3,
.field--name-body h3 {
  margin-block: 1rem 2rem;
  font-size: 2rem;
  font-weight: var(--font-medium);
}
.field--name-field-body h4,
.field--name-field-accordion-body h4,
.field--name-body h4 {
  font-size: 1.5rem;
  font-weight: var(--font-semibold);
}
.field--name-field-body h5,
.field--name-field-accordion-body h5,
.field--name-body h5 {
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
}
.field--name-field-body h6,
.field--name-field-accordion-body h6,
.field--name-body h6 {
  font-size: 1rem;
  font-weight: var(--font-semibold);
}

.field--name-field-heading {
  position: relative;
  font-size: 3rem;
  font-family: var(--heading-font);
  font-weight: var(--font-medium);
  line-height: var(--heading-line-height);
  width: min(1500px, 100%);
  margin-bottom: 3rem;
}
.field--name-field-heading::before {
  content: "";
  display: block;
  width: min(100%, 170px);
  height: 5px;
  margin-bottom: 1rem;
  background-color: var(--primary-color);
}
.field--name-field-heading h2,
.field--name-field-heading h3,
.field--name-field-heading h4,
.field--name-field-heading h5,
.field--name-field-heading h6 {
  line-height: inherit;
  font-weight: inherit;
}
.field--name-field-heading .green-text {
  color: var(--primary-color-alt);
}

.heading:has(.text-align-center) > * {
  text-align: center;
}
.heading:has(.text-align-center) .field--name-field-heading {
  margin-inline: auto;
  width: fit-content;
}
.heading:has(.text-align-center) .field--name-field-heading::before {
  margin-inline: auto;
}

.field--name-field-heading:has(.text-align-center)::before {
  margin-inline: auto;
}

.interior-header .field--name-field-heading {
  margin-bottom: 0 !important;
  color: var(--white-color);
  text-align: center;
}
.interior-header .field--name-field-heading::before {
  margin-inline: auto;
}
.interior-header .field--name-field-heading .node-details {
  font-size: 1.2rem;
  margin-top: 1rem;
}
.interior-header .field--name-field-heading .node-details:has(.node-category) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  line-height: 1.25;
}

.hero .field--name-field-heading {
  font-size: 4rem;
  font-weight: var(--font-semibold);
}
.hero .field--name-field-heading::before {
  display: none;
}
@media screen and (max-width: 768px) {
  .hero .field--name-field-heading {
    font-size: clamp(2rem, 1.359rem + 3.4188vw, 3rem);
  }
}

.bg-white .field--name-field-body h2,
.bg-white .field--name-field-body h3,
.bg-white .field--name-field-body h4,
.bg-white .field--name-field-body h5,
.bg-white .field--name-field-body h6,
.bg-white .field--name-field-accordion-body h2,
.bg-white .field--name-field-accordion-body h3,
.bg-white .field--name-field-accordion-body h4,
.bg-white .field--name-field-accordion-body h5,
.bg-white .field--name-field-accordion-body h6,
.bg-white .field--name-body h2,
.bg-white .field--name-body h3,
.bg-white .field--name-body h4,
.bg-white .field--name-body h5,
.bg-white .field--name-body h6,
.bg-gray .field--name-field-body h2,
.bg-gray .field--name-field-body h3,
.bg-gray .field--name-field-body h4,
.bg-gray .field--name-field-body h5,
.bg-gray .field--name-field-body h6,
.bg-gray .field--name-field-accordion-body h2,
.bg-gray .field--name-field-accordion-body h3,
.bg-gray .field--name-field-accordion-body h4,
.bg-gray .field--name-field-accordion-body h5,
.bg-gray .field--name-field-accordion-body h6,
.bg-gray .field--name-body h2,
.bg-gray .field--name-body h3,
.bg-gray .field--name-body h4,
.bg-gray .field--name-body h5,
.bg-gray .field--name-body h6,
.bg-gray_w_decorator .field--name-field-body h2,
.bg-gray_w_decorator .field--name-field-body h3,
.bg-gray_w_decorator .field--name-field-body h4,
.bg-gray_w_decorator .field--name-field-body h5,
.bg-gray_w_decorator .field--name-field-body h6,
.bg-gray_w_decorator .field--name-field-accordion-body h2,
.bg-gray_w_decorator .field--name-field-accordion-body h3,
.bg-gray_w_decorator .field--name-field-accordion-body h4,
.bg-gray_w_decorator .field--name-field-accordion-body h5,
.bg-gray_w_decorator .field--name-field-accordion-body h6,
.bg-gray_w_decorator .field--name-body h2,
.bg-gray_w_decorator .field--name-body h3,
.bg-gray_w_decorator .field--name-body h4,
.bg-gray_w_decorator .field--name-body h5,
.bg-gray_w_decorator .field--name-body h6 {
  color: var(--primary-color-alt);
}
.bg-white .field--name-field-heading,
.bg-gray .field--name-field-heading,
.bg-gray_w_decorator .field--name-field-heading {
  color: var(--black-color);
}

.bg-green .field--name-field-body h2,
.bg-green .field--name-field-body h3,
.bg-green .field--name-field-body h4,
.bg-green .field--name-field-body h5,
.bg-green .field--name-field-body h6,
.bg-green .field--name-field-accordion-body h2,
.bg-green .field--name-field-accordion-body h3,
.bg-green .field--name-field-accordion-body h4,
.bg-green .field--name-field-accordion-body h5,
.bg-green .field--name-field-accordion-body h6,
.bg-green .field--name-body h2,
.bg-green .field--name-body h3,
.bg-green .field--name-body h4,
.bg-green .field--name-body h5,
.bg-green .field--name-body h6,
.bg-green_w_decorator .field--name-field-body h2,
.bg-green_w_decorator .field--name-field-body h3,
.bg-green_w_decorator .field--name-field-body h4,
.bg-green_w_decorator .field--name-field-body h5,
.bg-green_w_decorator .field--name-field-body h6,
.bg-green_w_decorator .field--name-field-accordion-body h2,
.bg-green_w_decorator .field--name-field-accordion-body h3,
.bg-green_w_decorator .field--name-field-accordion-body h4,
.bg-green_w_decorator .field--name-field-accordion-body h5,
.bg-green_w_decorator .field--name-field-accordion-body h6,
.bg-green_w_decorator .field--name-body h2,
.bg-green_w_decorator .field--name-body h3,
.bg-green_w_decorator .field--name-body h4,
.bg-green_w_decorator .field--name-body h5,
.bg-green_w_decorator .field--name-body h6,
.bg-image .field--name-field-body h2,
.bg-image .field--name-field-body h3,
.bg-image .field--name-field-body h4,
.bg-image .field--name-field-body h5,
.bg-image .field--name-field-body h6,
.bg-image .field--name-field-accordion-body h2,
.bg-image .field--name-field-accordion-body h3,
.bg-image .field--name-field-accordion-body h4,
.bg-image .field--name-field-accordion-body h5,
.bg-image .field--name-field-accordion-body h6,
.bg-image .field--name-body h2,
.bg-image .field--name-body h3,
.bg-image .field--name-body h4,
.bg-image .field--name-body h5,
.bg-image .field--name-body h6 {
  color: var(--white-color);
}
.bg-green .field--name-field-heading,
.bg-green_w_decorator .field--name-field-heading,
.bg-image .field--name-field-heading {
  color: var(--white-color);
}

.paragraph--type--column-image img {
  border-radius: 2rem;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
}

.page-image {
  margin-bottom: 3rem;
}
.page-image img {
  border-radius: 2rem;
}

.team-node .image-style-profile-headshot {
  border-radius: 2rem;
}

.editor-image {
  width: fit-content;
}

.field--name-body a:not(.cta),
.field--name-field-body a:not(.cta),
.field--name-field-accordion-body a:not(.cta),
.field--name-field-header-body a:not(.cta) {
  color: var(--med-primary-color);
}
.field--name-body a:not(.cta):hover, .field--name-body a:not(.cta):active, .field--name-body a:not(.cta):focus,
.field--name-field-body a:not(.cta):hover,
.field--name-field-body a:not(.cta):active,
.field--name-field-body a:not(.cta):focus,
.field--name-field-accordion-body a:not(.cta):hover,
.field--name-field-accordion-body a:not(.cta):active,
.field--name-field-accordion-body a:not(.cta):focus,
.field--name-field-header-body a:not(.cta):hover,
.field--name-field-header-body a:not(.cta):active,
.field--name-field-header-body a:not(.cta):focus {
  text-decoration: underline;
}

.files {
  color: var(--black-color);
  font-weight: var(--font-medium);
  margin-top: 0.5rem;
}
.files .file-link {
  color: var(--primary-color-10);
}
.files .file-link:hover, .files .file-link:focus, .files .file-link:active {
  text-decoration: underline;
}

.bg-white .field--name-body a:not(.cta),
.bg-white .field--name-field-body a:not(.cta),
.bg-white .field--name-field-accordion-body a:not(.cta),
.bg-white .field--name-field-header-body a:not(.cta),
.bg-gray .field--name-body a:not(.cta),
.bg-gray .field--name-field-body a:not(.cta),
.bg-gray .field--name-field-accordion-body a:not(.cta),
.bg-gray .field--name-field-header-body a:not(.cta),
.bg-gray_w_decorator .field--name-body a:not(.cta),
.bg-gray_w_decorator .field--name-field-body a:not(.cta),
.bg-gray_w_decorator .field--name-field-accordion-body a:not(.cta),
.bg-gray_w_decorator .field--name-field-header-body a:not(.cta) {
  color: var(--primary-color);
}
.bg-white .field--name-body a:not(.cta):hover, .bg-white .field--name-body a:not(.cta):active, .bg-white .field--name-body a:not(.cta):focus,
.bg-white .field--name-field-body a:not(.cta):hover,
.bg-white .field--name-field-body a:not(.cta):active,
.bg-white .field--name-field-body a:not(.cta):focus,
.bg-white .field--name-field-accordion-body a:not(.cta):hover,
.bg-white .field--name-field-accordion-body a:not(.cta):active,
.bg-white .field--name-field-accordion-body a:not(.cta):focus,
.bg-white .field--name-field-header-body a:not(.cta):hover,
.bg-white .field--name-field-header-body a:not(.cta):active,
.bg-white .field--name-field-header-body a:not(.cta):focus,
.bg-gray .field--name-body a:not(.cta):hover,
.bg-gray .field--name-body a:not(.cta):active,
.bg-gray .field--name-body a:not(.cta):focus,
.bg-gray .field--name-field-body a:not(.cta):hover,
.bg-gray .field--name-field-body a:not(.cta):active,
.bg-gray .field--name-field-body a:not(.cta):focus,
.bg-gray .field--name-field-accordion-body a:not(.cta):hover,
.bg-gray .field--name-field-accordion-body a:not(.cta):active,
.bg-gray .field--name-field-accordion-body a:not(.cta):focus,
.bg-gray .field--name-field-header-body a:not(.cta):hover,
.bg-gray .field--name-field-header-body a:not(.cta):active,
.bg-gray .field--name-field-header-body a:not(.cta):focus,
.bg-gray_w_decorator .field--name-body a:not(.cta):hover,
.bg-gray_w_decorator .field--name-body a:not(.cta):active,
.bg-gray_w_decorator .field--name-body a:not(.cta):focus,
.bg-gray_w_decorator .field--name-field-body a:not(.cta):hover,
.bg-gray_w_decorator .field--name-field-body a:not(.cta):active,
.bg-gray_w_decorator .field--name-field-body a:not(.cta):focus,
.bg-gray_w_decorator .field--name-field-accordion-body a:not(.cta):hover,
.bg-gray_w_decorator .field--name-field-accordion-body a:not(.cta):active,
.bg-gray_w_decorator .field--name-field-accordion-body a:not(.cta):focus,
.bg-gray_w_decorator .field--name-field-header-body a:not(.cta):hover,
.bg-gray_w_decorator .field--name-field-header-body a:not(.cta):active,
.bg-gray_w_decorator .field--name-field-header-body a:not(.cta):focus {
  text-decoration: underline;
}

.bg-green .field--name-body a:not(.cta),
.bg-green .field--name-field-body a:not(.cta),
.bg-green .field--name-field-accordion-body a:not(.cta),
.bg-green .field--name-field-header-body a:not(.cta),
.bg-green_w_decorator .field--name-body a:not(.cta),
.bg-green_w_decorator .field--name-field-body a:not(.cta),
.bg-green_w_decorator .field--name-field-accordion-body a:not(.cta),
.bg-green_w_decorator .field--name-field-header-body a:not(.cta) {
  color: var(--white-color);
}
.bg-green .field--name-body a:not(.cta):hover, .bg-green .field--name-body a:not(.cta):active, .bg-green .field--name-body a:not(.cta):focus,
.bg-green .field--name-field-body a:not(.cta):hover,
.bg-green .field--name-field-body a:not(.cta):active,
.bg-green .field--name-field-body a:not(.cta):focus,
.bg-green .field--name-field-accordion-body a:not(.cta):hover,
.bg-green .field--name-field-accordion-body a:not(.cta):active,
.bg-green .field--name-field-accordion-body a:not(.cta):focus,
.bg-green .field--name-field-header-body a:not(.cta):hover,
.bg-green .field--name-field-header-body a:not(.cta):active,
.bg-green .field--name-field-header-body a:not(.cta):focus,
.bg-green_w_decorator .field--name-body a:not(.cta):hover,
.bg-green_w_decorator .field--name-body a:not(.cta):active,
.bg-green_w_decorator .field--name-body a:not(.cta):focus,
.bg-green_w_decorator .field--name-field-body a:not(.cta):hover,
.bg-green_w_decorator .field--name-field-body a:not(.cta):active,
.bg-green_w_decorator .field--name-field-body a:not(.cta):focus,
.bg-green_w_decorator .field--name-field-accordion-body a:not(.cta):hover,
.bg-green_w_decorator .field--name-field-accordion-body a:not(.cta):active,
.bg-green_w_decorator .field--name-field-accordion-body a:not(.cta):focus,
.bg-green_w_decorator .field--name-field-header-body a:not(.cta):hover,
.bg-green_w_decorator .field--name-field-header-body a:not(.cta):active,
.bg-green_w_decorator .field--name-field-header-body a:not(.cta):focus {
  text-decoration: underline;
}

.field--name-field-body,
.field--name-field-accordion-body,
.field--name-body,
.field--name-field-biography {
  font-size: 1.1rem;
  line-height: var(--body-line-height);
}
.field--name-field-body p,
.field--name-field-accordion-body p,
.field--name-body p,
.field--name-field-biography p {
  margin-bottom: 2.8rem;
  line-height: var(--body-line-height);
  color: var(--black-color);
}
.field--name-field-body .green-text,
.field--name-field-accordion-body .green-text,
.field--name-body .green-text,
.field--name-field-biography .green-text {
  color: var(--primary-color-5);
}

.hero .field--name-field-body p {
  color: var(--white-color);
}

.bg-gray .field--name-field-body p,
.bg-gray_w_decorator .field--name-field-body p {
  color: var(--black-color);
}

.bg-green .field--name-field-body p,
.bg-green_w_decorator .field--name-field-body p {
  color: var(--white-color);
}

.bg-image .field--name-field-body p {
  color: var(--white-color);
}

.video-wrapper {
  width: min(600px, 100%);
  height: 100%;
  margin-inline: auto;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 1rem;
}
.video-wrapper * {
  width: 100%;
  height: 100%;
}

.hamburger {
  display: none;
  width: 3rem;
  height: 3rem;
  margin-left: auto;
  background-color: transparent;
}
.hamburger span {
  display: block;
  width: 30px;
  height: 3px;
  border-radius: 10px;
  margin: 5px auto;
  background-color: var(--black-color);
  transition: 200ms ease;
}
.hamburger:hover, .hamburger:active, .hamburger:focus {
  cursor: pointer;
}
.hamburger:hover span:nth-of-type(2), .hamburger:active span:nth-of-type(2), .hamburger:focus span:nth-of-type(2) {
  width: 20px;
}
.hamburger.show span {
  margin: -2.5px auto;
}
.hamburger.show span:nth-of-type(1) {
  transform: rotate(45deg);
}
.hamburger.show span:nth-of-type(2) {
  width: 0;
}
.hamburger.show span:nth-of-type(3) {
  transform: rotate(-45deg);
}

body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) .hamburger span {
  background-color: var(--black-color);
}
body:is(.path-frontpage) .content-header:is(:not(.sticky)) .hamburger span {
  background-color: var(--white-color);
}

@media screen and (max-width: 992px) and (orientation: portrait) {
  .hamburger {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .hamburger {
    display: block;
  }
}
.top-bar-wrapper {
  width: 100%;
}
.top-bar-wrapper.mobile {
  display: none;
}
.top-bar-wrapper .region-top-bar {
  width: min(100%, var(--content-width));
  margin-inline: auto;
  padding-top: 2rem;
  padding-inline: 2rem;
  transition: 200ms ease;
}
.top-bar-wrapper .region-top-bar .menu {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  align-items: center;
}
.top-bar-wrapper .region-top-bar .menu .menu-item > a:not([cta="1"]) {
  position: relative;
  display: inline-block;
  padding: 1rem;
  color: var(--primary-color);
  font-weight: var(--font-semibold);
}

.content-header.sticky .top-bar-wrapper .region-top-bar {
  padding-top: 1rem;
}

@media screen and (max-width: 768px) {
  .top-bar-wrapper .region-top-bar {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .top-bar-wrapper .region-top-bar .menu {
    margin-left: 0;
  }
  .content-header:has(.hamburger.show) .top-bar-wrapper.mobile {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) and (orientation: landscape) {
  body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) .search::before {
    background-color: var(--black-color);
  }
  .top-bar-wrapper {
    display: none;
  }
  .top-bar-wrapper.mobile {
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateX(100%);
    transition: 220ms ease;
  }
  .top-bar-wrapper .region-top-bar .menu {
    justify-content: center;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 576px) {
  body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) .search::before {
    background-color: var(--black-color);
  }
  .content-header.sticky .top-bar-wrapper .region-top-bar {
    padding-bottom: 0;
  }
  .top-bar-wrapper {
    display: none;
  }
  .top-bar-wrapper.mobile {
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateX(100%);
    transition: 220ms ease;
  }
  .top-bar-wrapper .region-top-bar .menu {
    justify-content: center;
    flex-wrap: wrap;
  }
}
.region-site-branding {
  width: 300px;
}
.region-site-branding svg {
  display: block;
  margin-block: 2rem;
}

.logo-dark {
  fill: #4d4d4f;
  transition: 200ms ease;
}

.logo-green {
  fill: var(--primary-color);
}

body:is(.path-frontpage) .content-header:is(:not(.sticky)) .region-site-branding svg {
  margin-block: 1rem;
}
body:is(.path-frontpage) .content-header:is(:not(.sticky)) .logo-dark {
  fill: var(--white-color);
}

@media screen and (max-width: 992px) and (orientation: portrait) {
  .region-site-branding svg {
    height: 100px;
  }
  .content-header.sticky .region-site-branding svg {
    height: 100px;
  }
}
@media screen and (max-width: 768px) {
  .region-site-branding svg {
    height: 80px;
  }
  .content-header.sticky .region-site-branding svg {
    height: 80px;
  }
}
@media screen and (max-width: 576px) {
  .region-site-branding svg {
    height: 80px;
  }
  .content-header.sticky .region-site-branding svg {
    height: 80px;
  }
}
body:is(.path-frontpage) .content-header:not(.sticky) .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a {
  color: var(--white-color);
}
body:is(.path-frontpage) .content-header:not(.sticky) .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown]::after {
  background-color: var(--primary-color-alt);
}
body:is(.path-frontpage) .content-header:not(.sticky) .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper a {
  color: var(--black-color);
}
body:is(.path-frontpage) .content-header:not(.sticky) .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper a:hover, body:is(.path-frontpage) .content-header:not(.sticky) .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper a:focus, body:is(.path-frontpage) .content-header:not(.sticky) .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper a:active {
  color: var(--primary-color);
}

.content-header.sticky {
  box-shadow: 0 0 0 3px #eee;
}

.main-navigation {
  display: grid;
  grid-template-columns: max-content minmax(auto, max-content);
  grid-template-rows: 150px;
  align-items: center;
  justify-content: space-between;
  width: min(var(--content-width), 100%);
  margin-inline: auto;
  padding-inline: 2rem;
  transition: grid-template-rows 100ms ease, box-shadow 100ms ease;
}
.main-navigation .region-primary-navigation {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
}
.main-navigation .region-primary-navigation .menu--main {
  height: 100%;
}
.main-navigation .region-primary-navigation .menu--main > .menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: max(3vw, 3rem);
  height: 100%;
}
.main-navigation .region-primary-navigation .menu--main > .menu > .menu-item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: fit-content;
  height: 100%;
}
.main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a {
  position: relative;
  display: block;
  color: var(--black-color);
  font-weight: var(--font-semibold);
  font-size: clamp(1rem, 0.6444rem + 0.7407vw, 1.2rem);
  padding-block: 1rem;
  padding-inline: 0;
  overflow-x: hidden;
}
.main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a:hover::before, .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a:active::before, .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a:focus::before {
  transform: translateX(0);
}
.main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a.is-active {
  color: var(--primary-color-alt);
}
.main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a.is-active::after {
  background-color: var(--primary-color-alt);
}
.main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a.is-active[cta="1"] {
  color: var(--white-color);
}
.main-navigation .region-primary-navigation .menu--main > .menu > .menu-item > a::before {
  content: "";
  position: absolute;
  width: min(80px, 80%);
  height: 4px;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-color: var(--primary-color-alt);
  transition: 200ms ease;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded {
  position: relative;
  z-index: 10;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] {
  display: grid;
  grid-template-columns: auto 1rem;
  justify-content: flex-start;
  align-items: center;
  gap: min(0.5rem, 1vw);
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown]::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: var(--black-color);
  mask: url("../img/icons/caret-down.svg") no-repeat center/100%;
  transition: transform 200ms ease;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown]:has(+ .menu-wrapper.show)::after {
  transform: rotate(-90deg);
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  position: absolute;
  left: 0;
  width: 300px;
  transition: grid-template-rows 200ms ease;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper .menu {
  display: grid;
  grid-template-columns: 1fr;
  visibility: hidden;
  overflow: hidden;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper .menu .menu-item:first-of-type {
  padding-top: 1rem;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper .menu .menu-item:last-of-type {
  padding-bottom: 1rem;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper a {
  padding-inline: 1.5rem;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper a:hover, .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper a:focus, .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper a:active {
  color: var(--primary-color);
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper.show {
  grid-template-rows: 1fr;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper.show .menu {
  visibility: visible;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="1"]:has(+ .menu-wrapper.show) {
  background-color: rgba(var(--primary-color), 0.3);
  color: var(--primary-color);
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="1"]:has(+ .menu-wrapper.show)::after {
  background-color: var(--primary-color);
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="0"] + .menu-wrapper {
  --top-level-menu-height: auto;
  top: 100%;
  box-shadow: 0 4px 4px 0 rgba(var(--black-color), 0.25);
  background-color: var(--white-color);
  max-height: var(--top-level-menu-height);
  overflow-y: hidden;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="0"] + .menu-wrapper > .menu {
  margin: 0;
  overflow-y: auto;
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="1"] + .menu-wrapper {
  position: relative;
  background-color: rgba(var(--gray-color), 0.3);
}
.main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="1"] + .menu-wrapper a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

body:has(.region-primary-navigation.show) {
  overflow-y: hidden;
}

@media screen and (max-width: 1200px) {
  .main-navigation .region-primary-navigation .menu--main > .menu {
    gap: 2rem;
  }
}
@media screen and (max-width: 992px) {
  .main-navigation .region-primary-navigation .menu--main > .menu {
    gap: 1rem;
  }
}
@media screen and (max-width: 992px) and (orientation: portrait) {
  body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) {
    background-color: var(--white-color);
  }
  body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) .logo-dark {
    fill: #4d4d4f;
  }
  body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown]::after {
    background-color: var(--black-color);
  }
  body:is(.path-frontpage) .content-header:is(:not(.sticky)) .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a {
    color: var(--black-color);
  }
  .content-header {
    --mobile-navigation-offset: 100px;
  }
  .main-navigation {
    overflow-x: hidden;
    overflow-y: hidden;
    grid-template-columns: min(200px, 100%) minmax(auto, max-content);
    grid-template-rows: 100px;
  }
  .main-navigation .region-primary-navigation {
    justify-content: flex-start;
    position: absolute;
    top: 100%;
    right: 0;
    width: auto;
    padding-inline: 0;
    padding-top: 2rem;
    height: calc(100vh - var(--mobile-navigation-offset));
    background-color: var(--white-color);
    transform: translateX(100%);
    overflow-y: hidden;
    transition: 200ms ease;
  }
  .main-navigation .region-primary-navigation .menu--main {
    overflow-y: auto;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    margin-left: 0;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item {
    flex-direction: column;
    align-items: flex-start;
    height: fit-content;
    padding-inline: 1rem;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a {
    font-size: 1.2rem;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper {
    position: relative;
    top: 0;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="0"] + .menu-wrapper {
    max-height: 100%;
  }
  .main-navigation .region-primary-navigation.show {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) {
  body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) {
    background-color: var(--white-color);
  }
  body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) .logo-dark {
    fill: #4d4d4f;
  }
  body:is(.path-frontpage) .content-header:is(:not(.sticky)):has(.region-primary-navigation.show) .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown]::after {
    background-color: var(--black-color);
  }
  body:is(.path-frontpage) .content-header:is(:not(.sticky)) .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a {
    color: var(--black-color);
  }
  .content-header {
    --mobile-navigation-offset: 100px;
  }
  .main-navigation {
    overflow-x: hidden;
    overflow-y: hidden;
    grid-template-columns: min(200px, 100%) minmax(auto, max-content);
    grid-template-rows: 100px;
  }
  .main-navigation .region-primary-navigation {
    justify-content: flex-start;
    position: absolute;
    top: 100%;
    right: 0;
    width: auto;
    padding-inline: 0;
    padding-top: 2rem;
    height: calc(100vh - var(--mobile-navigation-offset));
    background-color: var(--white-color);
    transform: translateX(100%);
    overflow-y: hidden;
    transition: 200ms ease;
  }
  .main-navigation .region-primary-navigation .menu--main {
    overflow-y: auto;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    margin-left: 0;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item {
    flex-direction: column;
    align-items: flex-start;
    height: fit-content;
    padding-inline: 1rem;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a {
    font-size: 1.2rem;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper {
    position: relative;
    top: 0;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="0"] + .menu-wrapper {
    max-height: 100%;
  }
  .main-navigation .region-primary-navigation.show {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) and (orientation: landscape) {
  .main-navigation .region-primary-navigation {
    width: 100%;
    text-align: center;
    padding-top: 5rem;
  }
  .main-navigation .region-primary-navigation .menu--main {
    width: 100%;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu {
    width: 100%;
    align-items: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item {
    width: 100%;
    align-items: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a {
    text-align: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] {
    justify-content: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper {
    justify-content: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper .menu {
    margin-left: 0;
    text-align: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="1"] + .menu-wrapper a {
    justify-content: center;
  }
}
@media screen and (max-width: 576px) {
  .main-navigation .region-primary-navigation {
    width: 100%;
    text-align: center;
    padding-top: 9rem;
  }
  .main-navigation .region-primary-navigation .menu--main {
    width: 100%;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu {
    width: 100%;
    align-items: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item {
    width: 100%;
    align-items: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu > .menu-item a {
    text-align: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] {
    justify-content: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper {
    justify-content: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [dropdown] + .menu-wrapper .menu {
    margin-left: 0;
    text-align: center;
  }
  .main-navigation .region-primary-navigation .menu--main > .menu .menu-item--expanded [data-menu-level="1"] + .menu-wrapper a {
    justify-content: center;
  }
}
.breadcrumb__list {
  display: flex;
  margin-block: 1rem 2rem;
}
.breadcrumb__list .breadcrumb__item {
  font-size: 0.85rem;
  color: var(--dark-gray-color);
}
.breadcrumb__list .breadcrumb__item:not(:last-of-type)::after {
  content: "|";
  display: inline-block;
  margin-inline: 0.5ch;
}
.breadcrumb__list .breadcrumb__item:last-of-type {
  font-weight: var(--font-semibold);
}
.breadcrumb__list .breadcrumb__item .breadcrumb__link {
  font-weight: var(--font-regular);
  color: var(--dark-gray-color);
}
.breadcrumb__list .breadcrumb__item .breadcrumb__link:hover, .breadcrumb__list .breadcrumb__item .breadcrumb__link:focus, .breadcrumb__list .breadcrumb__item .breadcrumb__link:active {
  text-decoration: underline;
}

.paragraph--type--hero-slide {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 800px;
  height: min(1080px, 100vh);
  background: linear-gradient(0deg, rgba(140, 198, 63, 0) 0%, rgba(0, 0, 0, 0.3) 39.91%, rgba(0, 0, 0, 0.8) 85.65%) no-repeat center/cover;
}
.paragraph--type--hero-slide > * {
  grid-area: 1/-1;
}
.paragraph--type--hero-slide > .image-style-section-background {
  position: absolute;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
}
.paragraph--type--hero-slide .hero-content {
  width: min(var(--content-width), 100%);
  padding: var(--gutter);
  z-index: 1;
}
.paragraph--type--hero-slide .hero-content > * {
  width: min(var(--content-width) / 2.2, 100%);
  margin-inline: auto;
  color: var(--white-color);
  text-align: center;
}
.paragraph--type--hero-slide .hero-content .field--name-field-cta a {
  margin-inline: auto;
}
.paragraph--type--hero-slide .hero-content .field--name-field-cta a:hover, .paragraph--type--hero-slide .hero-content .field--name-field-cta a:active, .paragraph--type--hero-slide .hero-content .field--name-field-cta a:focus {
  background-color: var(--white-color);
  color: var(--primary-color);
}

@media screen and (max-width: 1200px) and (orientation: landscape) {
  .paragraph--type--hero-slide .hero-content {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 768px) and (orientation: landscape) {
  .paragraph--type--hero-slide .hero-content {
    margin-top: 0;
  }
}
@media screen and (max-width: 576px) {
  .paragraph--type--hero-slide {
    min-height: 100vh;
    height: fit-content;
  }
  .paragraph--type--hero-slide .hero-content {
    padding-top: 10rem;
  }
  .paragraph--type--hero-slide .field--name-field-heading {
    margin-bottom: 2rem;
  }
}
.card-list {
  --grid-min-col-size: 320px;
  --grid-max-col-count: 5;
  --grid-gap: 2rem;
  --grid-col-size-calc: calc(
    (100% - var(--grid-gap) * var(--grid-max-col-count)) /
      var(--grid-max-col-count)
  );
  --grid-col-min-size-calc: min(
    max(var(--grid-min-col-size), var(--grid-col-size-calc)),
    100%
  );
}
.card-list:has(.profile-card) .view-content {
  --grid-min-col-size: 400px;
  --grid-max-col-count: 3;
  --grid-gap: 2rem;
  --grid-max-size: calc(
    var(--grid-min-col-size) * var(--grid-max-col-count)
  );
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-col-min-size-calc), 1fr));
  width: min(var(--grid-max-size), 100%);
  margin-inline: auto;
}
.card-list:not(:has(.view-content)) {
  display: grid;
  justify-content: space-evenly;
  gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-col-min-size-calc), 1fr));
  grid-auto-rows: minmax(380px, auto);
}
.card-list.view-assets.partial .view-content {
  --grid-max-col-count: 3;
  --grid-min-col-size: 400px;
  margin-inline: auto;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min-col-size), 1fr));
}
.card-list.view-assets:not(.partial) .view-content {
  --grid-max-col-count: 3;
  --grid-min-col-size: 318px;
  --grid-gap: 2.5rem;
  --grid-col-size-calc: calc(
    (100% - var(--grid-gap) * var(--grid-max-col-count)) /
      var(--grid-max-col-count)
  );
  --grid-col-min-size-calc: min(
    max(var(--grid-min-col-size), var(--grid-col-size-calc)),
    100%
  );
}
.card-list .view-content {
  display: grid;
  gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-col-min-size-calc), 1fr));
  padding-block: 2rem;
}
.card-list.inline-cards .view-content {
  grid-template-columns: 100%;
}

.paragraph--type--column-cards .card-list {
  --grid-min-col-size: 280px;
  --grid-max-col-count: 2;
  --grid-gap: 2rem;
  --grid-col-size-calc: calc(
    (100% - var(--grid-gap) * var(--grid-max-col-count)) /
      var(--grid-max-col-count)
  );
  --grid-col-min-size-calc: min(
    max(var(--grid-min-col-size), var(--grid-col-size-calc)),
    100%
  );
}

@media screen and (max-width: 768px) {
  .card-list {
    --grid-max-col-count: 2;
  }
  .card-list.news-slider .view-content {
    margin-left: 0;
  }
}
.card-list.card-gradient {
  --alpha-shift: calc(alpha - 0.3);
}
.card-list.card-gradient .card:nth-of-type(5n + 1) {
  --card-color: var(--primary-color-alt);
}
.card-list.card-gradient .card:nth-of-type(5n + 2) {
  --card-color: var(--primary-color-10);
}
.card-list.card-gradient .card:nth-of-type(5n + 3) {
  --card-color: var(--primary-color-20);
}
.card-list.card-gradient .card:nth-of-type(5n + 4) {
  --card-color: var(--primary-color-30);
}
.card-list.card-gradient .card:nth-of-type(5n + 5) {
  --card-color: var(--primary-color-40);
}
.card-list .card {
  --card-color: var(--primary-color);
  --card-radius: 3rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 2.5rem 1.2rem;
  background-color: var(--card-color);
  border-radius: var(--card-radius);
  box-shadow: none;
  overflow: hidden;
  isolation: isolate;
  transition: 200ms ease;
}
.card-list .card:has(.full-card-link) {
  transform: scale(1);
}
.card-list .card:has(.full-card-link):hover, .card-list .card:has(.full-card-link):focus, .card-list .card:has(.full-card-link):active {
  cursor: pointer;
  transform: scale(1.02);
  box-shadow: inset 0 0 0 4px var(--white-color), 0 0 0 4px var(--card-color);
}
.card-list .card .card-icon {
  position: relative;
  width: 120px;
  aspect-ratio: 1/1;
  margin-inline: auto;
  background-color: var(--white-color);
  border-radius: 100vw;
}
.card-list .card .card-icon::after {
  content: "";
  position: absolute;
  inset: 10%;
  background: var(--card-color);
  mask: var(--icon-svg) no-repeat center/100%;
}
.card-list .card .card-title {
  display: block;
  margin-bottom: 1rem;
  font-weight: var(--font-semibold);
  color: var(--white-color);
  text-align: center;
  font-size: 1.8rem;
  margin-top: 2rem;
}
.card-list .card .card-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.3rem;
  font-weight: var(--font-regular);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  margin-top: auto;
  padding-block: 1rem;
  border-radius: var(--button-radius);
  color: var(--white-color);
  transition: gap 200ms ease;
}
.card-list .card .card-link .link-icon {
  position: relative;
  display: inline;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--white-color);
  border-radius: 1rem;
}
.card-list .card .card-link .link-icon::after {
  content: "";
  position: absolute;
  inset: 20%;
  background-color: var(--primary-color);
  mask: url("../img/icons/caret-right-fill.svg") no-repeat center/100%;
}
.card-list .card .card-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.card-list .card .full-card-link {
  position: absolute;
  inset: 0;
}
.card-list .card:not(.asset-card):has(.card-body) {
  position: relative;
  padding: 0;
  box-shadow: inset 0 0 0 5px var(--card-color);
  background: #fff;
}
.card-list .card:not(.asset-card):has(.card-body)::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateY(-100%);
  border-radius: 3rem;
  background-color: var(--card-color);
  transition: 400ms ease;
}
.card-list .card:not(.asset-card):has(.card-body) .card-heading {
  width: 100%;
  height: fit-content;
  padding: 2.5rem 1rem;
  border-bottom-left-radius: var(--card-radius);
  border-bottom-right-radius: var(--card-radius);
  z-index: 1;
  background-color: var(--card-color);
}
.card-list .card:not(.asset-card):has(.card-body) .card-content {
  padding: 2.4rem;
  z-index: 1;
}
.card-list .card:not(.asset-card):has(.card-body) .card-content .card-body {
  text-align: center;
  color: var(--black-color);
  font-weight: var(--font-regular);
  font-size: 1rem;
  line-height: var(--body-line-height);
  transition: 200ms ease;
}
.card-list .card:not(.asset-card):has(.card-body):has(.card-link) .card-link {
  color: var(--black-color);
  transition: 200ms ease;
}
.card-list .card:not(.asset-card):has(.card-body):has(.card-link) .card-link .link-icon {
  background-color: var(--light-gray-color);
}
.card-list .card:not(.asset-card):has(.card-body):has(.card-link):hover, .card-list .card:not(.asset-card):has(.card-body):has(.card-link):focus, .card-list .card:not(.asset-card):has(.card-body):has(.card-link):active {
  background-color: var(--white-color);
}
.card-list .card:not(.asset-card):has(.card-body):has(.card-link):hover::after, .card-list .card:not(.asset-card):has(.card-body):has(.card-link):focus::after, .card-list .card:not(.asset-card):has(.card-body):has(.card-link):active::after {
  transform: translateY(0);
}
.card-list .card:not(.asset-card):has(.card-body):has(.card-link):hover .card-content .card-body, .card-list .card:not(.asset-card):has(.card-body):has(.card-link):focus .card-content .card-body, .card-list .card:not(.asset-card):has(.card-body):has(.card-link):active .card-content .card-body {
  color: var(--white-color);
}
.card-list .card:not(.asset-card):has(.card-body):has(.card-link):hover .card-link, .card-list .card:not(.asset-card):has(.card-body):has(.card-link):focus .card-link, .card-list .card:not(.asset-card):has(.card-body):has(.card-link):active .card-link {
  color: var(--white-color);
}
.card-list .card.image-card {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(110, 153, 48, 0.8) 58.17%, var(--primary-color-10) 100%), var(--card-bg) no-repeat center/cover;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
  border-radius: 2rem;
  padding: 2.5rem;
  align-items: flex-start;
  justify-content: flex-end;
}
.card-list .card.image-card .card-title {
  text-align: left;
}
.card-list .card.image-card .card-content {
  height: fit-content;
}
.card-list .card.image-card .card-link {
  margin-top: 0;
}
.card-list .profile-card {
  --card-color: var(--light-gray-color);
  padding: 0;
  transform: scale(0.93);
  box-shadow: 0 3px 8px #ddd;
  background-color: var(--white-color);
}
.card-list .profile-card .card-image {
  width: 100%;
}
.card-list .profile-card .card-image img {
  width: 100%;
}
.card-list .profile-card .card-content {
  padding: 1.5rem 1rem;
}
.card-list .profile-card .card-content .card-title {
  margin-block: 0 1rem;
  color: var(--primary-color-10);
  font-weight: var(--font-semibold);
  font-size: 1.3rem;
}
.card-list .profile-card:hover, .card-list .profile-card:focus, .card-list .profile-card:active {
  box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.3764705882);
  transform: scale(0.98);
  outline: 5px solid var(--primary-color);
}
.card-list .inline-card {
  padding-block: 2rem 3rem;
  border-bottom: 3px solid var(--black-color);
}
.card-list .inline-card .card-details {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  line-height: 1.75;
  font-size: 1rem;
  vertical-align: middle;
}
.card-list .inline-card .card-details > * {
  color: var(--primary-color-10);
  font-weight: var(--font-medium);
  font-style: italic;
}
.card-list .inline-card .card-title {
  font-size: 1.5rem;
  font-weight: var(--font-semibold);
  line-height: var(--heading-line-height);
}
.card-list .inline-card .card-body {
  margin-top: 1.5rem;
  font-size: 1.1rem;
  line-height: var(--body-line-height);
}
.card-list .inline-card .card-link:has(.files) {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
  margin-top: 3rem;
}
.card-list .inline-card .card-link:has(.files) .cta {
  margin-top: 0;
}
.card-list .asset-card {
  background-color: var(--white-color);
  align-items: flex-start;
  border-radius: 1.5rem;
  height: 100%;
  padding: 2.5rem;
  box-shadow: 0 0 4px 0 hsl(from var(--black-color) h s l/0.2);
}
.card-list .asset-card .card-title {
  color: var(--primary-color-10);
  text-align: left;
  margin-top: 0;
  font-size: 1.8rem;
}
.card-list .asset-card .asset-details {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: var(--font-medium);
  margin-block: 1rem;
}
.card-list .asset-card .asset-details .detail .detail-label {
  color: var(--primary-color-5);
  font-weight: var(--font-semibold);
}
.card-list .asset-card .card-content {
  align-items: flex-start;
  z-index: 1;
}
.card-list .asset-card .card-content .card-body {
  line-height: 1.5;
  margin-bottom: 2.5rem;
}
.card-list .asset-card .card-buttons {
  margin-top: auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem;
  width: 100%;
  z-index: 2;
}
.card-list .asset-card .card-buttons .cta-alt {
  margin-top: 0;
}
.card-list .asset-card .full-card-link {
  z-index: 1;
}
.card-list .view-content > div:has(.inline-card):last-of-type .inline-card {
  border-bottom: none;
}

@media screen and (max-width: 768px) {
  .card-list .card {
    max-width: 400px;
    margin-inline: auto;
  }
  .card-list .card.inline-card {
    flex-direction: column;
    flex-wrap: nowrap;
    padding-inline: 0;
  }
  .card-list .card.inline-card .card-image {
    width: min(400px, 100%);
  }
  .card-list .card.inline-card .card-image svg {
    margin-inline: auto;
  }
  .card-list .card.inline-card .card-content {
    width: min(400px, 100%);
    text-align: center;
  }
  .card-list .card.inline-card .card-content .card-title,
  .card-list .card.inline-card .card-content .card-link {
    margin-inline: auto;
  }
}
@media screen and (max-width: 576px) {
  .card-list .inline-card .card-link:has(.files) {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .card-list .inline-card .card-link:has(.files) .cta-alt {
    margin-top: 0;
  }
}
.banner {
  position: relative;
  overflow: visible;
  width: 100%;
  padding-block: 2rem;
  background: linear-gradient(90deg, #8cc63f 0%, #44601f 100%);
}

.paragraph--type--banner {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  gap: 2rem;
  width: min(var(--content-width) - 4rem, 100% - 4rem);
  height: min(100%, 200px);
  z-index: 1;
}
.paragraph--type--banner .field--name-field-heading {
  margin-bottom: 0;
  color: var(--white-color);
}
.paragraph--type--banner .field--name-field-heading::before {
  display: none;
}

@media screen and (max-width: 768px) {
  .paragraph--type--banner {
    flex-direction: column;
    justify-content: center;
  }
  .paragraph--type--banner .field--name-field-heading {
    text-align: center;
  }
}
.field--name-field-media-multiple {
  --grid-max-col-count: 3;
  --grid-min-col-size: 400px;
  --grid-col-size-calc: calc(
    (100% - var(--grid-gap) * var(--grid-max-col-count)) /
      var(--grid-max-col-count)
  );
  --grid-col-min-size-calc: min(
    max(var(--grid-min-col-size), var(--grid-col-size-calc)),
    100%
  );
  display: grid;
  gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-col-min-size-calc), 1fr));
  justify-content: flex-start;
}
.field--name-field-media-multiple > .field__item {
  width: 100%;
  height: auto;
}
.field--name-field-media-multiple > .field__item img {
  border-radius: 1rem;
}

.paragraph--type--stats.inline-heading {
  display: flex;
}
.paragraph--type--stats.inline-heading .heading .field--name-field-heading {
  font-weight: var(--font-semibold);
}
.paragraph--type--stats.inline-heading .field--name-field-stats {
  width: 100%;
}

.field--name-field-stats {
  --grid-min-col-size: 200px;
  --grid-col-size-calc: calc(
    (100% - var(--grid-gap) * var(--grid-max-col-count)) /
      var(--grid-max-col-count)
  );
  --grid-col-min-size-calc: min(
    max(var(--grid-min-col-size), var(--grid-col-size-calc)),
    100%
  );
  display: grid;
  gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-col-min-size-calc), 1fr));
  align-items: flex-start;
}

.paragraph--type--stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.paragraph--type--stat .stat-number {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: clamp(3rem, 0.2958rem + 5.6338vw, 6rem);
  font-family: var(--heading-font);
  font-weight: var(--font-bold);
}
.paragraph--type--stat .field--name-field-stat-label {
  width: min(15ch, 100%);
  text-align: center;
  font-size: 1rem;
  font-weight: var(--font-semibold);
  line-height: var(--eyebrow-line-height);
  margin-bottom: 0.5rem;
}

.bg-image .paragraph--type--stat .stat-number {
  color: var(--primary-color);
}
.bg-image .paragraph--type--stat .field--name-field-stat-label {
  color: var(--white-color);
}

@media screen and (max-width: 576px) {
  .paragraph--type--stats {
    flex-direction: column;
  }
  .paragraph--type--stats .heading {
    text-align: center;
  }
  .paragraph--type--stats .heading .field--name-field-heading::before {
    margin-inline: auto;
  }
  .field--name-field-stats {
    grid-template-columns: 1fr;
  }
}
.slick-slider {
  position: relative;
}

.slide__media {
  display: none;
}

.slide__caption {
  padding: 0;
}

.slick-dots {
  position: absolute;
  bottom: 3rem;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.slick-dots li button {
  color: transparent;
  width: 1rem;
  height: 1rem;
  border-radius: 1rem;
  background-color: var(--light-gray-color);
}
.slick-dots li button:hover, .slick-dots li button:active, .slick-dots li button:focus {
  cursor: pointer;
  background-color: var(--med-primary-color);
}
.slick-dots li.slick-active button {
  background-color: var(--primary-color-alt);
}

.dialog-button.dialog-video-button {
  position: relative;
  isolation: isolate;
  background-color: var(--black-color);
}
.dialog-button.dialog-video-button::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4rem;
  height: 4rem;
  opacity: 0.8;
  border-radius: 4rem;
  background-color: var(--white-color);
  mask: url("../img/icons/play-fill.svg") no-repeat center/100%;
  z-index: 1;
  transition: 200ms ease;
}
.dialog-button:hover, .dialog-button:active, .dialog-button:focus {
  cursor: pointer;
}

.dialog {
  position: fixed;
  width: min(900px, 100%);
  height: auto;
  aspect-ratio: 4/3;
  padding: 2rem;
  margin: auto;
  opacity: 1;
  overflow: visible;
  background-color: transparent;
  transition: 300ms ease, display 100ms allow-discrete, overlay 100ms allow-discrete;
}
.dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}
.dialog.video-dialog .field--name-field-media-oembed-video iframe {
  border-radius: 2rem;
}

.team-dialog {
  width: min(1200px, 100%);
  height: fit-content;
  aspect-ratio: unset;
  padding: 0;
  background-color: var(--white-color);
  border-radius: 2rem;
}
.team-dialog .dialog-close {
  top: 3rem;
  right: 3rem;
}
.team-dialog .dialog-close::after {
  background-color: var(--black-color);
}
.team-dialog .dialog-team-container {
  display: grid;
  grid-template-columns: 0.4fr 0.6fr;
  gap: 3rem;
  height: auto;
  padding: 3rem;
}
.team-dialog .dialog-team-container .field--name-field-headshot img {
  width: 100%;
  border-radius: 2rem;
}
.team-dialog .dialog-team-container .team-info .field--name-field-heading {
  margin-bottom: 1rem;
}
.team-dialog .dialog-team-container .team-info .field--name-field-job-title {
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  margin-bottom: 0.5rem;
  color: var(--primary-color-10);
}

dialog[open] {
  opacity: 1;
}
@starting-style {
  dialog[open] {
    opacity: 0;
  }
}

.dialog-close {
  position: absolute;
  top: -1rem;
  right: -1em;
  width: 3rem;
  height: 3rem;
  border-radius: 3rem;
  z-index: 2;
  color: transparent;
  background-color: transparent;
}
.dialog-close::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--white-color);
  border: 2px solid transparent;
  mask: url("../img/icons/x.svg") no-repeat center/100%;
}
.dialog-close:hover, .dialog-close:active, .dialog-close:focus {
  cursor: pointer;
}
.dialog-close:hover::after, .dialog-close:active::after, .dialog-close:focus::after {
  border-color: var(--white-color);
}

body:has(dialog[open]) {
  overflow-y: hidden;
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .team-dialog {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    border-radius: 0;
    margin: 0;
    padding-top: 4rem;
  }
  .team-dialog .dialog-close {
    top: 1rem;
    right: 50%;
    transform: translateX(50%);
  }
  .team-dialog .dialog-team-container {
    grid-template-columns: 1fr;
    grid-template-rows: 300px auto;
    gap: 1rem;
    padding: min(1rem, 5vw);
    overflow-y: auto;
  }
  .team-dialog .dialog-team-container .field--name-field-headshot img {
    width: min(300px, 100%);
    height: 100%;
    margin-inline: auto;
  }
  .team-dialog .dialog-team-container .team-info {
    width: min(300px, 100%);
    margin-inline: auto;
    text-align: center;
  }
  .team-dialog .dialog-team-container .field--name-field-heading {
    font-size: 2rem;
    margin-top: 1rem;
  }
  .team-dialog .dialog-team-container .field--name-field-heading::before {
    margin-inline: auto;
  }
  dialog[open] {
    opacity: 1;
    transform: translateY(0);
    overflow-y: auto;
  }
  @starting-style {
    dialog[open] {
      transform: translateY(100%);
    }
  }
}
@media screen and (max-width: 576px) {
  .team-dialog {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    border-radius: 0;
    margin: 0;
    padding-top: 4rem;
  }
  .team-dialog .dialog-close {
    top: 1rem;
    right: 50%;
    transform: translateX(50%);
  }
  .team-dialog .dialog-team-container {
    grid-template-columns: 1fr;
    grid-template-rows: 300px auto;
    gap: 1rem;
    padding: min(1rem, 5vw);
    overflow-y: auto;
  }
  .team-dialog .dialog-team-container .field--name-field-headshot img {
    width: min(300px, 100%);
    height: 100%;
    margin-inline: auto;
  }
  .team-dialog .dialog-team-container .team-info {
    width: min(300px, 100%);
    margin-inline: auto;
    text-align: center;
  }
  .team-dialog .dialog-team-container .field--name-field-heading {
    font-size: 2rem;
    margin-top: 1rem;
  }
  .team-dialog .dialog-team-container .field--name-field-heading::before {
    margin-inline: auto;
  }
  dialog[open] {
    opacity: 1;
    transform: translateY(0);
  }
  @starting-style {
    dialog[open] {
      transform: translateY(100%);
    }
  }
}
.views-exposed-form__item .form-item__label {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.tabs {
  box-shadow: none;
}

.tabs > [role=tablist] {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
  padding-block: 2rem;
}
.tabs > [role=tablist] [role=tab] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25ch;
  position: relative;
  background-color: transparent;
  font-size: 1.5rem;
  font-family: var(--heading-font);
  font-weight: var(--font-semibold);
  padding-block: 0.5rem;
}
.tabs > [role=tablist] [role=tab]::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0%;
  height: 3px;
  background-color: var(--white-color);
  transition: 200ms ease;
}
.tabs > [role=tablist] [role=tab][aria-selected=true] {
  color: var(--white-color);
}
.tabs > [role=tablist] [role=tab][aria-selected=true]::after {
  width: 100%;
}
.tabs > [role=tablist] [role=tab]:hover, .tabs > [role=tablist] [role=tab]:active, .tabs > [role=tablist] [role=tab]:focus {
  cursor: pointer;
  color: var(--white-color);
}
.tabs > [role=tablist] [role=tab]:hover::after, .tabs > [role=tablist] [role=tab]:active::after, .tabs > [role=tablist] [role=tab]:focus::after {
  width: 100%;
}

.paragraph--type--timeline {
  display: grid;
  grid-template-columns: auto auto;
  gap: 3rem;
  padding-block: 0;
}
.paragraph--type--timeline .heading {
  position: sticky;
  top: calc(var(--header-offset) + 2rem);
  padding-block: 4rem;
  width: min(var(--content-width) * 0.3, 100%);
  height: fit-content;
}

.field--name-field-timeline-items {
  position: relative;
  display: grid;
  grid-template-columns: 4ch 10ch auto;
  grid-auto-rows: minmax(130px, 1fr);
  width: min(var(--content-width) * 0.7, 100%);
  padding-block: 5rem;
}
.field--name-field-timeline-items::before {
  content: "";
  display: block;
  position: absolute;
  width: 3px;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  grid-column: 3/2;
  background-color: var(--black-color);
}
.field--name-field-timeline-items .paragraph--type--timeline-item {
  position: relative;
  display: grid;
  grid-column: span 3;
  grid-row: span 1;
  grid-template-columns: subgrid;
  align-items: center;
  opacity: 0;
  transform: translateY(1rem);
  transition: 300ms ease;
}
.field--name-field-timeline-items .paragraph--type--timeline-item.show {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .field--name-field-timeline-items .paragraph--type--timeline-item {
    opacity: 1;
    transform: translateY(0);
  }
}
.field--name-field-timeline-items .paragraph--type--timeline-item .dot {
  position: relative;
  height: 100%;
  width: 100%;
}
.field--name-field-timeline-items .paragraph--type--timeline-item .dot::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  margin: auto;
  border-radius: 1rem;
  z-index: 1;
  background-color: var(--primary-color-light);
}
.field--name-field-timeline-items .paragraph--type--timeline-item .field--name-field-year {
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
}

@media screen and (max-width: 768px) {
  .paragraph--type--timeline {
    grid-template-columns: 1fr;
  }
  .paragraph--type--timeline .heading {
    position: relative;
    top: 0;
  }
}
.region-content:has(.user-login-form) .block-system-main-block {
  padding: 2rem;
  margin-inline: auto;
  width: min(var(--content-width), 100%);
}
.region-content:has(.user-login-form) .user-login-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background-color: var(--white-color);
  border-radius: 2rem;
  width: min(800px, 100%);
  margin-inline: auto;
  padding: 2rem;
  box-shadow: var(--card-shadow);
}
.region-content:has(.user-login-form) .user-login-form::before {
  content: "";
  display: block;
  width: min(300px, 100%);
  height: 300px;
  background: url("../img/eco-logo.svg") no-repeat center/contain;
}
.region-content:has(.user-login-form) .user-login-form .form-item label {
  margin-bottom: 0.5rem;
  color: var(--med-gray-color);
}
.region-content:has(.user-login-form) .user-login-form .form-item input {
  width: 100%;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: var(--light-gray-color);
}
.region-content:has(.user-login-form) .user-login-form .form-item input:focus {
  outline-color: var(--primary-color);
}
.region-content:has(.user-login-form) .user-login-form .js-form-submit {
  margin-top: 2rem;
  box-shadow: none;
}

.webform-submission-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.webform-submission-form .form-item__label {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}
.webform-submission-form .form-item {
  width: 100%;
}
.webform-submission-form .form-item input,
.webform-submission-form .form-item textarea {
  width: 100%;
  padding: 2rem 1.5rem;
  border-radius: 1rem;
}
.webform-submission-form .form-item input:focus,
.webform-submission-form .form-item textarea:focus {
  outline-color: var(--primary-color);
}
.webform-submission-form .js-form-submit {
  margin-top: 2rem;
}

.webform-submission-contact-form {
  container: contact-form/inline-size;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: flex-start;
  gap: 1.5rem 2rem;
  width: min(1500px, 100%);
  margin-inline: auto;
  padding: 4rem 3rem;
  margin-block: 3rem;
  border-radius: 3rem;
  --bg-color: var(--light-gray-color);
  --bg-decorator: url("../img/leaf-bg.svg") no-repeat top right/ auto 150%;
  background: var(--bg-decorator), var(--bg-color);
}
.webform-submission-contact-form .form-item input,
.webform-submission-contact-form .form-item textarea {
  background-color: var(--white-color);
}
.webform-submission-contact-form .form-type-textarea {
  height: 100%;
}
.webform-submission-contact-form .form-type-textarea .form-textarea-wrapper,
.webform-submission-contact-form .form-type-textarea textarea {
  height: 100%;
}
.webform-submission-contact-form .form-actions {
  grid-column: span 2;
  justify-content: center;
}

@container contact-form (width >= 700px) {
  .form-item {
    grid-column: 1/span 1;
  }
  .form-type-textarea {
    grid-column: 2;
    grid-row: 1/span 4;
  }
}
@container contact-form (width < 700px) {
  .form-item {
    grid-column: span 2;
  }
  .form-type-textarea {
    grid-column: span 2;
    grid-row: span 1;
  }
}
@media screen and (max-width: 576px) {
  .webform-submission-form {
    padding-inline: 1rem;
  }
  .webform-submission-form .form-wrapper {
    flex-direction: column;
  }
}
.region-content:has(.search-form) {
  padding: 2rem;
}
.region-content:has(.search-form) .block-system-main-block {
  padding: 4rem 2.5rem;
  border-radius: 2rem;
  background-color: var(--light-gray-color);
  width: min(var(--content-width), 100%);
  margin-inline: auto;
}
.region-content:has(.search-form) .search-form {
  margin-bottom: 2rem;
}
.region-content:has(.search-form) .search-form .form-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.region-content:has(.search-form) .search-form .form-type--search {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-block: 1rem;
  margin-block: 1rem;
  gap: 2rem;
  width: min(500px, 100%);
}
.region-content:has(.search-form) .search-form .form-type--search .form-item__label {
  position: absolute;
  top: -3rem;
  left: 0;
  font-family: var(--main-font);
  color: var(--med-gray-color);
}
.region-content:has(.search-form) .search-form .form-type--search input[type=search] {
  background-color: var(--white-color);
  padding: 1rem;
  border-radius: 0.5rem;
  font-size: 1.2rem;
  line-height: 1.2;
  width: 100%;
  outline: 3px solid transparent;
}
.region-content:has(.search-form) .search-form .form-type--search input[type=search]:focus {
  outline-color: var(--primary-color);
}
.region-content:has(.search-form) .search-form .form-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: var(--font-semibold);
  line-height: 1.2;
  letter-spacing: 0.5px;
  width: fit-content;
  text-align: center;
  padding: var(--button-padding);
  border-radius: var(--button-radius);
  background-color: var(--primary-color-alt);
  color: var(--white-color);
  transition: 200ms ease;
  border-radius: 0.5rem;
}
.region-content:has(.search-form) .search-form .form-submit:hover, .region-content:has(.search-form) .search-form .form-submit:active, .region-content:has(.search-form) .search-form .form-submit:focus {
  background-color: var(--white-color);
  color: var(--primary-color-alt);
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1254901961);
  outline: none;
}
.region-content:has(.search-form) .search-form .form-submit:hover, .region-content:has(.search-form) .search-form .form-submit:focus, .region-content:has(.search-form) .search-form .form-submit:active {
  background-color: var(--primary-color-10);
  color: var(--white-color);
}
.region-content:has(.search-form) .search-form .search-help-link {
  display: none;
}
.region-content:has(.search-form) .search-form .search-advanced {
  display: none;
}
.region-content:has(.search-form) .search-form + h2 {
  font-size: 2rem;
  font-weight: var(--font-bold);
  font-family: var(--heading-font);
  padding-block: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #d1d1d1;
}
.region-content:has(.search-form) .search-results li .search-result__title a {
  display: block;
  color: var(--black-color);
  font-size: 1.5rem;
  font-weight: var(--font-semibold);
  text-decoration: none;
  padding-block: 1rem;
}
.region-content:has(.search-form) .search-results li .search-result__title a:hover, .region-content:has(.search-form) .search-results li .search-result__title a:active, .region-content:has(.search-form) .search-results li .search-result__title a:focus {
  color: var(--primary-color);
}
@media screen and (max-width: 768px) {
  .region-content:has(.search-form) .search-form .form-wrapper {
    gap: 0;
  }
  .region-content:has(.search-form) .search-form .form-type--search .form-item__label {
    position: relative;
    top: unset;
    left: unset;
  }
}

.pager .pager__item--active {
  color: var(--primary-color);
}
.pager .pager__item--next .pager__link .pager__item-title,
.pager .pager__item--previous .pager__link .pager__item-title,
.pager .pager__item--last .pager__link .pager__item-title,
.pager .pager__item--first .pager__link .pager__item-title {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}
.pager .pager__item--next .pager__link::after, .pager .pager__item--next .pager__link::before,
.pager .pager__item--previous .pager__link::after,
.pager .pager__item--previous .pager__link::before,
.pager .pager__item--last .pager__link::after,
.pager .pager__item--last .pager__link::before,
.pager .pager__item--first .pager__link::after,
.pager .pager__item--first .pager__link::before {
  width: 1.5rem;
  height: 1.5rem;
  background: var(--primary-color);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100%;
}
.pager .pager__item--next .pager__link::after {
  mask-image: url("../img/icons/caret-right-fill.svg");
}
.pager .pager__item--previous .pager__link::before {
  mask-image: url("../img/icons/caret-left-fill.svg");
}
.pager .pager__item--first .pager__link::before {
  mask-image: url("../img/icons/skip-start-fill.svg");
}
.pager .pager__item--last .pager__link::after {
  mask-image: url("../img/icons/skip-end-fill.svg");
}

.accordion-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  padding: 1.25rem 0;
  font-size: 1.2rem;
  overflow: hidden;
  width: 100%;
  font-weight: var(--font-semibold);
  background-color: transparent;
  transition: 200ms ease;
}
.accordion-button:hover, .accordion-button:focus, .accordion-button:active {
  cursor: pointer;
}
.accordion-button .accordion-icon {
  position: relative;
  display: grid;
  place-items: center;
}
.accordion-button .accordion-icon > * {
  grid-area: 1/-1;
}
.accordion-button .accordion-icon span {
  display: block;
  width: 1rem;
  height: 0.25rem;
  background-color: var(--black-color);
  transition: 200ms ease;
}
.accordion-button .accordion-icon span:nth-of-type(2) {
  transform: rotate(90deg);
}
.accordion-button[aria-expanded=true] .accordion-icon span:nth-of-type(2) {
  transform: rotate(0deg);
}

.accordion-body-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  border-bottom: 5px solid var(--primary-color);
  transition: 200ms ease;
}

.accordion-body {
  overflow: hidden;
}
.accordion-body .field--name-field-accordion-body {
  padding: 1rem 0;
}

.field--name-field-accordion-item {
  overflow: hidden;
}
.field--name-field-accordion-item:hover .accordion-body-wrapper, .field--name-field-accordion-item:active .accordion-body-wrapper, .field--name-field-accordion-item:focus .accordion-body-wrapper {
  border-bottom-color: var(--primary-color-10);
}
.field--name-field-accordion-item.expanded .accordion-body-wrapper {
  grid-template-rows: 1fr;
}

.block-copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1rem;
  gap: 1rem;
  background-color: var(--primary-color-5);
  color: var(--white-color);
}
.block-copyright span.bar {
  display: none;
}
.block-copyright a {
  color: var(--white-color);
}
.block-copyright a:hover, .block-copyright a:focus, .block-copyright a:active {
  text-decoration: underline;
}

@media screen and (max-width: 576px) {
  .block-copyright {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }
  .block-copyright > div:not(:last-of-type) {
    flex-wrap: wrap;
  }
  .block-copyright > div:not(:last-of-type)::after {
    display: none;
  }
}

/*# sourceMappingURL=styles.css.map */
