@font-face {
  font-family: "Rustico";
  src: url("../Rustico-Regular.otf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Aeonik";
  src: url("../Aeonik-Medium.otf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
:root {
  --primary-medium: #469B5C;
  --primary-lighter: #6ec281;/* oklch(from var(--primary-medium) calc(l * 1.2) c h / 1); */
  --primary-lightest: #d1f2d7;/* oklch(from var(--primary-medium) calc(l * 2.5) calc(c * .4) h / 1); */
  --secondary-medium: #C52F33;
  --gray-medium: #cecece;
  --gray-lighter: #e2e2e2; /* color-mix(in srgb, var(--gray-medium) 60%, #fff 40%); */
  --gray-lightest: #f1f1f1; /* color-mix(in srgb, var(--gray-medium) 40%, #fff 100%); */
  --gray-darker: #828282; /* color-mix(in srgb, var(--gray-medium) 60%, #111 40%); */
  --gray-darkest: #222222; /* color-mix(in srgb, var(--gray-medium) 20%, #000 100%); */
  --text-color: #4B4E6E;
  --heading-color: var(--gray-darkest);
  --screen-lg: 1250px;
  --screen-md: 850px;
  --screen-sm: 550px;
  --screen-xs: 400px;
  --heading-font: "Poppins", sans-serif;
  --heading-font-alt: "Rustico", sans-serif;
  --sub-heading-font: "Open Sans", sans-serif;
  --base-font: "Lato", sans-serif;
}

#content {
  container: content/inline-size;
}

section > .section__inner {
  width: min(100% - 1.25rem, var(--screen-lg));
  margin-inline: auto;
}
section > .section__inner.full {
  width: 100%;
}

.section__title {
  font-family: var(--heading-font-alt);
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.2;
  text-wrap: balance;
  color: var(--secondary-medium);
}
.section__title .section__title--primary-clr {
  color: var(--primary-medium);
}

.hero-banner {
  --_header-height: 8.375rem;
  --_navigation-height: 3.125rem;
  --_min-height: 40rem;
  display: flex;
  flex-direction: column;
}
.hero-banner .section__inner {
  flex: 1;
  position: relative;
  /* &:after {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .35);
    z-index: 2;
    pointer-events: none;
  } */
}
.hero-banner .hero-banner__page-title {
  font-size: clamp(3rem, 6vw, 4rem);
  color: #fff;
  text-align: center;
  margin-bottom: 0;
}
.hero-banner .hero-banner__title {
  text-align: center;
  color: var(--heading-color);
}
.hero-banner:has(+ .navigation) {
  min-height: max(var(--_min-height), 100svh - var(--_header-height) - var(--_navigation-height));
}
.hero-banner:not(:has(+ .navigation)) {
  min-height: max(var(--_min-height), 100svh - var(--_header-height));
}
.hero-banner:not(.hero-banner--with-extra) .section__inner {
  height: 100%;
}
.hero-banner:not(.hero-banner--with-extra) .hero-banner__image {
  position: relative;
  z-index: 1;
}
.hero-banner:not(.hero-banner--with-extra) .hero-banner__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-banner:not(.hero-banner--with-extra) .hero-banner__content {
  position: absolute;
  z-index: 3;
  max-width: var(--screen-lg);
}
.hero-banner:not(.hero-banner--with-extra) .hero-banner__content:has(.hero-banner__breadcrumbs) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero-banner:not(.hero-banner--with-extra) .hero-banner__content:has(.hero-banner__page-title):not(:has(.hero-banner__breadcrumbs)) {
  bottom: clamp(1.5rem, 4vw, 4rem);
  left: 10%;
}
.hero-banner:not(.hero-banner--with-extra) .hero-banner__breadcrumbs a, .hero-banner:not(.hero-banner--with-extra) .hero-banner__breadcrumbs p {
  color: #fff;
  font-size: 1.125rem;
  margin-bottom: 0;
  text-align: center;
}
.hero-banner.hero-banner--with-extra {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.hero-banner.hero-banner--with-extra:not(:has(.hero-banner__extra-content-wrapper)) .section__inner {
  min-height: 37.5rem;
}
.hero-banner.hero-banner--with-extra:not(:has(.hero-banner__extra-content-wrapper)) .section__inner .hero-banner__content {
  grid-row: 1/2;
}
.hero-banner.hero-banner--with-extra .section__inner {
  --_screen-width: min(var(--screen-lg), 100%);
  --_content-multiply-screen-width: .6;
  --_content-width: calc(var(--_screen-width) * var(--_content-multiply-screen-width));
  height: 100%;
  display: grid;
  grid-template-columns: 1fr var(--_content-width) calc(var(--_screen-width) - var(--_content-width)) 1fr;
  grid-template-areas: "padding-left main-content extra padding-right";
}
.hero-banner.hero-banner--with-extra .hero-banner__content, .hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper {
  position: relative;
  z-index: 3;
}
.hero-banner.hero-banner--with-extra .hero-banner__content {
  padding-block: 1.25rem;
  height: 100%;
  grid-area: main-content;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: min-content 1fr;
}
.hero-banner.hero-banner--with-extra .hero-banner__breadcrumbs {
  align-self: start;
}
.hero-banner.hero-banner--with-extra .hero-banner__breadcrumbs p, .hero-banner.hero-banner--with-extra .hero-banner__breadcrumbs a {
  color: #fff;
  font-size: 1.125rem;
  margin-bottom: 0;
}
.hero-banner.hero-banner--with-extra .hero-banner__page-title {
  align-self: center;
}
.hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper {
  position: relative;
  grid-area: extra;
  padding: clamp(1.25rem, 4vw, 1.875rem);
  height: fit-content;
  align-self: center;
  color: #fafafa;
}
.hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper h2, .hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper h3, .hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper h4, .hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper h5, .hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper h6 {
  color: #fafafa;
}
.hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper:before {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
}
.hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper .hero-banner__title, .hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper .hero-banner__extra-content-link, .hero-banner.hero-banner--with-extra .hero-banner__extra-content-wrapper .hero-banner__extra-content {
  position: relative;
  z-index: 2;
}
.hero-banner.hero-banner--with-extra .hero-banner__extra-content-link {
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: 0.625rem 1.25rem;
  background-color: var(--primary-medium);
  color: #fff;
  border-radius: 2rem;
  font-weight: 700;
  text-transform: capitalize;
  transition: background-color 300ms ease-in-out;
}
.hero-banner.hero-banner--with-extra .hero-banner__extra-content-link:hover {
  background-color: var(--primary-lighter);
}

body.admin-bar .hero-banner {
  --_header-height: calc(8.375rem + 2rem);
}

.line-clamp {
  --_font-size: 1rem;
  --_line-height: 1.5;
  --_line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--_line-clamp);
  overflow: hidden;
  text-wrap: balance;
  font-size: var(--_font-size);
  line-height: var(--_line-height);
  height: calc(var(--_font-size) * var(--_line-height) * var(--_line-clamp));
}

.gpw-breadcrumbs {
  --_color: var(--text-color);
  padding-block: 0.625rem;
  background-color: #fff;
  color: var(--_color);
  font-size: 0.875rem;
}
.gpw-breadcrumbs p {
  margin-bottom: 0;
}
.gpw-breadcrumbs a {
  color: var(--_color);
  transition: color 200ms ease-in-out;
}
.gpw-breadcrumbs a:hover {
  color: var(--primary-medium);
}
.gpw-breadcrumbs.gpw-breadcrumbs--old-style .gpw-breadcrumbs__title {
  font-family: "Gilroy";
  font-size: 3rem;
  text-transform: uppercase;
  width: auto;
  text-align: center;
  position: relative;
}
.gpw-breadcrumbs.gpw-breadcrumbs--old-style .gpw-breadcrumbs__title:after {
  position: absolute;
  content: "";
  width: 7.5rem;
  height: 4px;
  background-color: currentColor;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 5px;
}
.gpw-breadcrumbs.gpw-breadcrumbs--old-style .rank-math-breadcrumb {
  width: 100%;
  margin: 0 auto;
  margin-block: 1rem;
  color: rgba(34, 34, 34, 0.8509803922);
  border-bottom: dashed 1px rgb(65, 176, 110);
  font-weight: 400;
}
.gpw-breadcrumbs.gpw-breadcrumbs--old-style .rank-math-breadcrumb a {
  color: var(--primary-medium);
}

.media {
  display: flex;
  gap: 0.625rem;
}
.media .media-left {
  flex: 0 0 2.5rem;
}
.media h5 {
  color: var(--heading-color);
}

.gpw-button {
  --_bg-clr: transparent;
  --_bg-hover-clr: var(--primary-medium);
  --_text-clr: var(--primary-medium);
  --_text-hover-clr: #fff;
  --_border-clr: var(--primary-medium);
  --_border-hover-clr: var(var(--primary-medium));
  --_fs: .9375rem;
  display: block;
  background-color: var(--_bg-clr);
  width: fit-content;
  padding: 0.625rem 1.25rem;
  border-radius: 2rem;
  border: 0.0625rem solid var(--_border-clr);
  line-height: 1.4;
  font-size: var(--_fs);
  font-weight: 500;
  color: var(--_text-clr);
  text-transform: capitalize;
  transition: all 200ms ease-in-out !important;
}
.gpw-button:hover {
  background-color: var(--_bg-hover-clr);
  color: var(--_text-hover-clr);
  border-color: var(--_border-hover-clr);
}
.gpw-button.gpw-button--center {
  margin-inline: auto;
}
.gpw-button.gpw-button__primary {
  --_bg-clr: var(--primary-medium);
  --_bg-hover-clr: var(--secondary-medium);
  --_text-clr: #fff;
  --_text-hover-clr: #fff;
  --_border-hover-clr: var(--secondary-medium);
}
.gpw-button.gpw-button__secondary {
  --_bg-clr: var(--secondary-medium);
  --_bg-hover-clr: var(--primary-medium);
  --_text-clr: #fff;
  --_text-hover-clr: #fff;
  --_border-clr: var(--secondary-medium);
  --_border-hover-clr: var(--primary-medium);
}


@media screen and (max-width: 1250px) {
  .hero-banner.hero-banner--with-extra .section__inner {
    --_content-multiply-screen-width: .5;
  }
}
@media screen and (max-width: 850px) {
  .hero-banner .hero-banner:not(.hero-banner--with-extra) .hero-banner__content:has(.hero-banner__page-title):not(:has(.hero-banner__breadcrumbs)) {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .hero-banner.hero-banner--with-extra .section__inner {
    grid-template-columns: 1fr;
    grid-template-areas: "main-content" "extra";
    justify-content: center;
  }
  .hero-banner.hero-banner--with-extra .section__inner {
    width: min(100% - 1.25rem, 40rem);
    margin-inline: auto;
  }
}
@media screen and (min-width: 850px) {
  .gpw-button {
    --_fs: 1.125rem;
  }
  .hero-banner.hero-banner.hero-banner--with-extra .hero-banner__content {
    padding-inline: 0 1.875rem;
  }
}