@charset "UTF-8";
/* ==========================================================================
	Fonts
============================================================================= */
/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

html {
  /* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.15; /* 1. Correct the line height in all browsers. */
  -webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */
  tab-size: 4; /* 3. Use a more readable tab size (opinionated). */
}

/*
Sections
========
*/
body {
  margin: 0; /* Remove the margin in all browsers. */
}

/*
Text-level semantics
====================
*/
/**
Add the correct font weight in Chrome and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/
/**
Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  border-color: currentcolor;
}

/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -0.125rem; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

/* ==========================================================================
	Custom Properties
============================================================================= */
:root {
  --color-black: oklch(0.252 0 0) /* #222 */;
  --color-white: oklch(1 0 0) /* #fff */;
  --color-red: oklch(0.4627 0.185 15.71) /* #a70034 */;
  --font-sans: "Jost", sans-serif;
  --font-sans-alt: "IBM Plex Sans", sans-serif;
  --font-size-h1: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
  --font-size-h2: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
  --font-size-h3: clamp(1.5625rem, 1.25868rem + (0.9722222222vw), 2rem);
  --font-size-h4: clamp(1.125rem, 1.03819rem + (0.2777777778vw), 1.25rem);
  --font-size-h5: 1rem;
  --font-size-h6: 0.875rem;
  --font-size-intro-text: 1.5rem;
  --font-size-body-text: 1.125rem;
  --font-size-small-text: 0.9375rem;
  --font-size-label-text: 0.75rem;
  --font-size-caption-text: 0.75rem;
  --line-height-h1: 1.05;
  --line-height-h2: 1.05;
  --line-height-h3: 1.2;
  --line-height-h4: 1.2;
  --line-height-h5: 1.2;
  --line-height-h6: 1.2;
  --line-height-intro-text: 1.5833;
  --line-height-body-text: 1.4;
  --line-height-small-text: 1.6;
  --line-height-label-text: 1.8333;
  --line-height-caption-text: 1.8333;
  --transition-base-speed: 0.25s;
  --transition-base-timing: ease;
  --transition-delay: 0.05s;
  --aspect-ratio-ultra-wide: calc(100 / 43);
  --aspect-ratio-wide: calc(16 / 9);
  --aspect-ratio-full: calc(4 / 3);
  --aspect-ratio-square: calc(1 / 1);
  --aspect-ratio-classic: calc(3 / 2);
  --aspect-ratio-portrait-full: calc(3 / 4);
  --aspect-ratio-portrait-classic: calc(2 / 3);
  --header-background-color: $pale_green;
  --header-color: var(--color-black);
  --layout-min-width: 20rem;
  --layout-max-width: 90rem;
  --layout-padding: clamp(1.25rem, 0.38194rem + (2.7777777778vw), 2.5rem);
  --layout-gap-sm: 1.25rem;
  --layout-gap-md: 1.25rem;
  --layout-gap-lg: 1.25rem;
  --layout-count-sm: 2;
  --layout-count-md: 6;
  --layout-count-lg: 12;
}

/* ==========================================================================
	Base Elements
============================================================================= */
* {
  margin: 0;
}

html {
  background-color: var(--color-white);
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

body {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  min-inline-size: var(--layout-min-width);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.fs-page-lock {
  overflow-y: hidden;
}

::selection {
  text-shadow: none;
  background-color: #ddd;
}

iframe {
  border: none;
}

menu {
  padding: 0;
}

:is(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

:where(ul:not(.typography ul)),
:where(ol:not(.typography ol)) {
  list-style: "";
  margin-block: 0;
  padding-inline-start: 0;
}

img,
picture,
video,
canvas,
svg {
  block-size: auto;
  max-inline-size: 100%;
  display: block;
}

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

hr {
  block-size: 0.0625rem;
  background-color: #ccc;
  border: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

a {
  text-decoration: none;
  transition-duration: var(--transition-base-speed);
  transition-property: background-color, border-color, color, text-decoration-color;
  transition-timing-function: var(--transition-base-timing);
}

strong {
  font-weight: 700;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition-duration: var(--transition-base-speed);
  transition-property: background-color, border-color, color, text-decoration-color;
  transition-timing-function: var(--transition-base-timing);
}

/* ==========================================================================
	Base Grid
============================================================================= */
:root {
  --fw-page-width: calc(100vw - var(--scrollbar-width, 0px));
  --fw-container-width: min(
  	var(--layout-max-width),
  	calc(var(--fw-page-width) - (var(--layout-padding) * 2))
  );
  --fw-container-gutter: calc((var(--fw-page-width) - var(--fw-container-width)) / 2);
  --fw-column-count: var(--layout-count-sm);
  --fw-column-gap: var(--layout-gap-sm);
  /* prettier-ignore */
  --fw-column-width: calc(
  	(var(--fw-container-width) - (var(--fw-column-gap) * (var(--fw-column-count) - 1))) / var(--fw-column-count)
  );
  --fw-columns-1: calc(
  	(var(--fw-column-width) * 1) + (var(--fw-column-gap) * 0)
  );
  --fw-offset-1: calc((var(--fw-column-width) * 1) + (var(--fw-column-gap) * 1));
  --fw-columns-2: calc(
  	(var(--fw-column-width) * 2) + (var(--fw-column-gap) * 1)
  );
  --fw-offset-2: calc((var(--fw-column-width) * 2) + (var(--fw-column-gap) * 2));
}
@media (min-width:46.25rem) {
  :root {
    --fw-column-count: var(--layout-count-md);
    --fw-column-gap: var(--layout-gap-md);
    --fw-columns-1: calc(
    	(var(--fw-column-width) * 1) + (var(--fw-column-gap) * 0)
    );
    --fw-offset-1: calc(
    	(var(--fw-column-width) * 1) + (var(--fw-column-gap) * 1)
    );
    --fw-columns-2: calc(
    	(var(--fw-column-width) * 2) + (var(--fw-column-gap) * 1)
    );
    --fw-offset-2: calc(
    	(var(--fw-column-width) * 2) + (var(--fw-column-gap) * 2)
    );
    --fw-columns-3: calc(
    	(var(--fw-column-width) * 3) + (var(--fw-column-gap) * 2)
    );
    --fw-offset-3: calc(
    	(var(--fw-column-width) * 3) + (var(--fw-column-gap) * 3)
    );
    --fw-columns-4: calc(
    	(var(--fw-column-width) * 4) + (var(--fw-column-gap) * 3)
    );
    --fw-offset-4: calc(
    	(var(--fw-column-width) * 4) + (var(--fw-column-gap) * 4)
    );
    --fw-columns-5: calc(
    	(var(--fw-column-width) * 5) + (var(--fw-column-gap) * 4)
    );
    --fw-offset-5: calc(
    	(var(--fw-column-width) * 5) + (var(--fw-column-gap) * 5)
    );
    --fw-columns-6: calc(
    	(var(--fw-column-width) * 6) + (var(--fw-column-gap) * 5)
    );
    --fw-offset-6: calc(
    	(var(--fw-column-width) * 6) + (var(--fw-column-gap) * 6)
    );
  }
}
@media (min-width:61.25rem) {
  :root {
    --fw-column-count: var(--layout-count-lg);
    --fw-column-gap: var(--layout-gap-lg);
    --fw-columns-1: calc(
    	(var(--fw-column-width) * 1) + (var(--fw-column-gap) * 0)
    );
    --fw-offset-1: calc(
    	(var(--fw-column-width) * 1) + (var(--fw-column-gap) * 1)
    );
    --fw-columns-2: calc(
    	(var(--fw-column-width) * 2) + (var(--fw-column-gap) * 1)
    );
    --fw-offset-2: calc(
    	(var(--fw-column-width) * 2) + (var(--fw-column-gap) * 2)
    );
    --fw-columns-3: calc(
    	(var(--fw-column-width) * 3) + (var(--fw-column-gap) * 2)
    );
    --fw-offset-3: calc(
    	(var(--fw-column-width) * 3) + (var(--fw-column-gap) * 3)
    );
    --fw-columns-4: calc(
    	(var(--fw-column-width) * 4) + (var(--fw-column-gap) * 3)
    );
    --fw-offset-4: calc(
    	(var(--fw-column-width) * 4) + (var(--fw-column-gap) * 4)
    );
    --fw-columns-5: calc(
    	(var(--fw-column-width) * 5) + (var(--fw-column-gap) * 4)
    );
    --fw-offset-5: calc(
    	(var(--fw-column-width) * 5) + (var(--fw-column-gap) * 5)
    );
    --fw-columns-6: calc(
    	(var(--fw-column-width) * 6) + (var(--fw-column-gap) * 5)
    );
    --fw-offset-6: calc(
    	(var(--fw-column-width) * 6) + (var(--fw-column-gap) * 6)
    );
    --fw-columns-7: calc(
    	(var(--fw-column-width) * 7) + (var(--fw-column-gap) * 6)
    );
    --fw-offset-7: calc(
    	(var(--fw-column-width) * 7) + (var(--fw-column-gap) * 7)
    );
    --fw-columns-8: calc(
    	(var(--fw-column-width) * 8) + (var(--fw-column-gap) * 7)
    );
    --fw-offset-8: calc(
    	(var(--fw-column-width) * 8) + (var(--fw-column-gap) * 8)
    );
    --fw-columns-9: calc(
    	(var(--fw-column-width) * 9) + (var(--fw-column-gap) * 8)
    );
    --fw-offset-9: calc(
    	(var(--fw-column-width) * 9) + (var(--fw-column-gap) * 9)
    );
    --fw-columns-10: calc(
    	(var(--fw-column-width) * 10) + (var(--fw-column-gap) * 9)
    );
    --fw-offset-10: calc(
    	(var(--fw-column-width) * 10) + (var(--fw-column-gap) * 10)
    );
    --fw-columns-11: calc(
    	(var(--fw-column-width) * 11) + (var(--fw-column-gap) * 10)
    );
    --fw-offset-11: calc(
    	(var(--fw-column-width) * 11) + (var(--fw-column-gap) * 11)
    );
    --fw-columns-12: calc(
    	(var(--fw-column-width) * 12) + (var(--fw-column-gap) * 11)
    );
    --fw-offset-12: calc(
    	(var(--fw-column-width) * 12) + (var(--fw-column-gap) * 12)
    );
  }
}

/* ==========================================================================
	Footer
============================================================================= */
.footer {
  background-color: #005f40;
  color: #fff;
}
@media print {
  .footer {
    padding-block: 0;
  }
}

.footer__primary {
  padding-block: 2.5rem;
}
@media (min-width:61.25rem) {
  .footer__primary {
    margin-block-end: 3.125rem;
  }
}
@media print {
  .footer__primary {
    margin-block-end: 0;
  }
}

.footer__primary-inner {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 100%;
}
@media (min-width:61.25rem) {
  .footer__primary-inner {
    align-items: start;
    gap: var(--fw-column-gap);
    grid-template-columns: repeat(3, var(--fw-columns-4));
  }
}

.footer__primary-group {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.footer__contact-link {
  display: flex;
  justify-content: flex-end;
}

.footer__ribbon-inner {
  display: flex;
  flex-direction: column;
}
.footer__utility-nav {
  padding-block-end: 1.25rem;
}

.footer__copyright {
  padding-block: 1.25rem;
  border-block-start: 0.0625rem solid rgba(98, 187, 70, 0.4);
}
/* Copyright
============================================================================= */
.copyright {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

/* ==========================================================================
	Header
============================================================================= */
.header {
  position: relative;
  z-index: 10;
  color: var(--header-color);
  background-color: var(--header-background-color);
}

.header__primary {
  padding-block: 1.25rem;
}
@media print {
  .header__primary {
    padding: 0;
  }
}

.header__primary-inner {
  display: grid;
  gap: 0.625rem 0;
  grid-template-areas: "logo menu menu controls";
  grid-template-columns: 1fr 1fr;
}
@media (min-width:61.25rem) {
  .header__primary-inner {
    grid-template-areas: "logo second" "logo menu";
    grid-template-columns: 1fr 5fr;
  }
}

.header__logo {
  grid-area: logo;
}

.header__ribbon {
  display: none;
}

.header__secondary-nav {
  grid-area: second;
  display: none;
}
@media (min-width:61.25rem) {
  .header__secondary-nav {
    display: block;
  }
}
@media print {
  .header__secondary-nav {
    display: none;
  }
}

.header__ribbon-inner {
  display: flex;
  gap: 1.875rem;
  justify-content: flex-end;
}

.header__controls {
  display: flex;
  gap: 0.625rem;
}

@media (min-width:61.25rem) {
  .header__control--menu {
    display: none;
  }
}
:where(.no-js) .header__control--menu {
  display: none;
}

.header__control--search {
  display: none;
}
@media (min-width:61.25rem) {
  .header__control--search {
    display: block;
  }
}

@media (max-width:61.1875rem) {
  .header__search {
    display: none;
  }
}
@media (min-width:61.25rem) {
  .header__search {
    flex: 0 0 30%;
  }
}
@media print {
  .header__search {
    display: none;
  }
}

.header__main-nav {
  grid-area: menu;
  display: flex;
  justify-content: flex-end;
}

@media (max-width:61.1875rem) {
  .header__main-nav--inner {
    display: none;
  }
}
@media (min-width:61.25rem) {
  .header__main-nav--inner {
    margin-inline-start: auto;
    margin-block-start: 1.25rem;
  }
}

/* ==========================================================================
	Menu
============================================================================= */
.menu {
  block-size: 100%;
  inline-size: max(100%, var(--layout-min-width));
  position: fixed;
  inset-block-start: 0;
  inset-inline-end: 0;
  z-index: 400;
  background-color: var(--color-white);
  opacity: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
@media print {
  .menu {
    display: none;
  }
}
:where(.loaded) .menu {
  transition: opacity 0.35s;
}
@media (prefers-reduced-motion: reduce) {
  :where(.loaded) .menu {
    transition-duration: 0s;
  }
}
.menu.state-swap-active, :where(.no-js) .menu {
  opacity: 1;
}
:where(.no-js) .menu {
  position: relative;
}

.menu__inner {
  display: grid;
  grid-template-columns: 100%;
}

.menu__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.menu__primary {
  margin-block-end: 1.875rem;
}

.menu__primary-inner {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 100%;
}

.menu__ribbon-inner {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 100%;
}

/* Menu Close
============================================================================= */
.menu__close {
  grid-area: 1/1;
}
:where(.no-js) .menu__close {
  display: none;
}

.menu__close-inner {
  min-block-size: 6.25rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* ==========================================================================
	Page
============================================================================= */
.page-wrapper {
  min-block-size: 100vh;
  inline-size: 100%;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: [skipnav] auto [alert] auto [header] auto [main] minmax(0, 1fr) [footer] auto;
}
@media print {
  .page-wrapper {
    min-block-size: auto;
    display: block;
  }
}

.page {
  display: flex;
  flex-direction: column;
}

.full-width-components {
  flex: 1;
}

/* ==========================================================================
	Form Builder
============================================================================= */
.form_builder {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  --indicator-background-color: transparent;
  --indicator-border-color: var(--color-black);
  --indicator-color: var(--color-white);
  --indicator-shadow-color: var(--color-black);
  --indicator-selected-background-color: var(--color-black);
  --indicator-selected-border-color: var(--color-black);
  --indicator-selected-color: var(--color-white);
  --indicator-radio-background-color: var(--color-white);
  margin-block: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}
.form_builder :where(h2) {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}
.form_builder :where(fieldset) {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  border: 0;
  margin-block: 2.5rem;
  padding: 0;
}
.form_builder :where(fieldset:has(.form_builder_date_2)) {
  flex-direction: row;
  column-gap: 1.25rem;
}
.form_builder :where(fieldset:has(.form_builder_date_2)) legend {
  flex: 1;
}
.form_builder :where(fieldset:has(.form_builder_split)) {
  flex-direction: row;
  flex-wrap: wrap;
}
.form_builder :where(fieldset > label) {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}
.form_builder :where(legend) {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  display: block;
  margin-block-end: 0.625rem;
}
.form_builder :where(input:not([type=submit]):not([type=file])),
.form_builder :where(textarea) {
  border: 0.0625rem solid;
  padding-block: 0.5rem;
  padding-inline: 0.75rem;
}
@media (min-width:46.25rem) {
  .form_builder :where(input:not([type=submit]):not([type=file])),
  .form_builder :where(textarea) {
    padding-block: 0.75rem;
    padding-inline: 1rem;
  }
}
.form_builder :where(input:not([type=submit]):not([type=file])),
.form_builder :where(textarea) {
  inline-size: 100%;
}
.form_builder :where(textarea) {
  min-block-size: 13.75rem;
  resize: vertical;
}

/* Custom Elements
============================================================================= */
.form_builder_sublabel {
  display: block;
}

@media (min-width:31.25rem) {
  .form_builder_wrap {
    display: flex;
  }
}
.form_builder_wrap:has(.form_builder_firstname), .form_builder_wrap:has(.form_builder_phone_3) {
  gap: 1.25rem;
}

.form_builder_firstname,
.form_builder_lastname {
  flex: 1;
}

.form_builder_full {
  flex: 0 0 100%;
}

.form_builder_split {
  flex: 0 0 calc(50% - 0.625rem);
}

.form_builder_date_2,
.form_builder_phone_3 {
  inline-size: 5rem;
}

.form_builder_date_4,
.form_builder_phone_4 {
  inline-size: 6.875rem;
}

/* Checkboxes & Radios
============================================================================= */
.form_builder_checkbox {
  position: relative;
}
.form_builder_checkbox input {
  position: absolute;
  z-index: -2;
  opacity: 0;
}
.form_builder_checkbox input:checked ~ [class$=indicator] {
  color: var(--indicator-selected-color);
  background-color: var(--indicator-selected-background-color);
  border-color: var(--indicator-selected-border-color);
}
.form_builder_checkbox input:checked ~ [class$=indicator]::before {
  scale: 1;
}
.form_builder_checkbox input:focus ~ [class$=indicator] {
  box-shadow: 0 0 0.1875rem 0.0625rem var(--indicator-focus-shadow-color);
}
.form_builder_checkbox [class$=indicator] {
  position: absolute;
  inset-block-start: 50%;
  translate: 0 -50% 0;
  display: block;
  color: var(--indicator-color);
  text-align: center;
  background-color: var(--indicator-background-color);
  border: 0.0625rem solid var(--indicator-border-color);
  pointer-events: none;
  transition-duration: var(--transition-base-speed);
  transition-property: background-color, border, color;
  -webkit-user-select: none;
          user-select: none;
}
.form_builder_checkbox [class$=indicator]::before {
  position: absolute;
  inset: 0;
  display: block;
  margin: auto;
  transition-duration: var(--transition-base-speed);
  transition-property: background-color, scale;
}
.form_builder_checkbox input:checked ~ [class$=indicator]::before {
  scale: 1;
}
.form_builder_checkbox [class$=indicator] {
  inline-size: 1.25rem;
  aspect-ratio: 1;
  border-radius: 0.125rem;
}
.form_builder_checkbox [class$=indicator]::before {
  inset-block-start: 0.1875rem;
  scale: 0;
  font-size: 0.875rem;
  line-height: 1;
  content: "✓";
}
.form_builder_checkbox {
  display: flex;
  align-items: center;
}

.form_builder_radio {
  position: relative;
}
.form_builder_radio input {
  position: absolute;
  z-index: -2;
  opacity: 0;
}
.form_builder_radio input:checked ~ [class$=indicator] {
  color: var(--indicator-selected-color);
  background-color: var(--indicator-selected-background-color);
  border-color: var(--indicator-selected-border-color);
}
.form_builder_radio input:checked ~ [class$=indicator]::before {
  scale: 1;
}
.form_builder_radio input:focus ~ [class$=indicator] {
  box-shadow: 0 0 0.1875rem 0.0625rem var(--indicator-focus-shadow-color);
}
.form_builder_radio [class$=indicator] {
  position: absolute;
  inset-block-start: 50%;
  translate: 0 -50% 0;
  display: block;
  color: var(--indicator-color);
  text-align: center;
  background-color: var(--indicator-background-color);
  border: 0.0625rem solid var(--indicator-border-color);
  pointer-events: none;
  transition-duration: var(--transition-base-speed);
  transition-property: background-color, border, color;
  -webkit-user-select: none;
          user-select: none;
}
.form_builder_radio [class$=indicator]::before {
  position: absolute;
  inset: 0;
  display: block;
  margin: auto;
  transition-duration: var(--transition-base-speed);
  transition-property: background-color, scale;
}
.form_builder_radio input:checked ~ [class$=indicator]::before {
  opacity: 1;
}
.form_builder_radio [class$=indicator] {
  inline-size: 1rem;
  aspect-ratio: 1;
  border-radius: 50%;
}
.form_builder_radio [class$=indicator]::before {
  inline-size: 0.375rem;
  aspect-ratio: 1;
  background-color: var(--indicator-radio-background-color);
  border-radius: inherit;
  content: "";
  opacity: 0;
}

.form_builder_for_checkbox {
  display: inline-block;
  cursor: pointer;
  padding-inline-start: 1.875rem;
}

.form_builder_checkbox,
.form_builder_radio {
  margin-block-end: 0.3125rem;
}
.form_builder_checkbox:last-child,
.form_builder_radio:last-child {
  margin-block-end: 0;
}

/* Selects
============================================================================= */
.form_builder_select {
  position: relative;
  display: inline-block;
}
.form_builder_select select {
  inline-size: 100%;
  display: inline-block;
  color: inherit;
  line-height: normal;
  appearance: none;
  background: none;
  border: 0.0625rem solid;
  cursor: pointer;
  margin: 0;
  outline: 0;
  padding-block: 0.875rem;
  padding-inline: 1.25rem 2.5rem;
}
.form_builder_select select:focus, .form_builder_select select:active {
  box-shadow: 0 0 0.25rem 0.25rem var(--focus-ring-color);
}
.form_builder_select {
  --focus-ring-color: rgba(var(--color-black), 0.25);
  inline-size: 100%;
  max-inline-size: 18.75rem;
}

/* Submit
============================================================================= */
.form_builder_submit {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  inline-size: max-content;
  display: block;
  color: var(--color-white);
  font-weight: 700;
  background-color: var(--color-black);
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
}

/* Errors
============================================================================= */
.form_builder_errors {
  color: var(--color-red);
}

.form_builder_captcha_error {
  color: var(--color-red);
}

.form_builder_error_list_entry :where(a) {
  font-weight: 700;
  text-decoration: underline;
}
.form_builder_error_list_entry :where(a):focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .form_builder_error_list_entry :where(a):hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Gravity Forms
============================================================================= */
.page .gform_wrapper {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  margin-block: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}
.page .gform_wrapper form h3.gform_title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}
.page .gform_wrapper form label .gfield_label {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}
.page .gform_wrapper form .gfield_description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}
.page .gform_wrapper form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.page .gform_wrapper form textarea,
.page .gform_wrapper form select {
  border: 0.0625rem solid;
  padding-block: 0.5rem;
  padding-inline: 0.75rem;
}
@media (min-width:46.25rem) {
  .page .gform_wrapper form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
  .page .gform_wrapper form textarea,
  .page .gform_wrapper form select {
    padding-block: 0.75rem;
    padding-inline: 1rem;
  }
}
.page .gform_wrapper form .gfield_checkbox li input, .page .gform_wrapper form .gfield_checkbox li input[type=checkbox] {
  margin-block-start: -0.3125rem;
  margin-inline-end: 0.5rem;
}
.page .gform_wrapper form .gfield_radio li input, .page .gform_wrapper form .gfield_radio li input[type=radio] {
  margin-block-start: -0.3125rem;
  margin-inline-end: 0.5rem;
}
.page .gform_wrapper form .ginput_container_consent input[type=checkbox] {
  position: relative;
  inset-block-start: -0.125rem;
  margin-inline-end: 0.5rem;
}
.page .gform_wrapper form .gform_footer input.button,
.page .gform_wrapper form .gform_footer input[type=submit],
.page .gform_wrapper form .gform_page_footer input.button,
.page .gform_wrapper form .gform_page_footer input[type=submit] {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  display: block;
  color: var(--color-white);
  font-weight: 700;
  background-color: var(--color-black);
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
}
.page .gform_wrapper form .gfield_error .gfield_label {
  color: var(--color-red);
}
.page .gform_wrapper form .gfield_required {
  color: var(--color-red);
}
.page .gform_wrapper form .gform_body .gfield.gfield_error {
  background-color: transparent;
  border-color: var(--color-red);
}
.page .gform_wrapper form li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.page .gform_wrapper form li.gfield_error textarea,
.page .gform_wrapper form li.gfield_error select {
  border-color: var(--color-red);
}
.page .gform_wrapper form .validation_error {
  color: var(--color-red);
  border-color: var(--color-red);
}
.page .gform_wrapper form .validation_message {
  color: var(--color-red);
}

/* ==========================================================================
	Background Video
============================================================================= */
.background-video {
  block-size: 100%;
  inline-size: 100%;
  position: absolute;
  inset: 0;
  --iframe-opacity: 0;
  --iframe-visibility: hidden;
  display: block;
  opacity: var(--iframe-opacity);
  transition: opacity 0.5s, visibility 0.5s;
  visibility: var(--iframe-visibility);
}

.background-video--loaded {
  --iframe-opacity: 1;
  --iframe-visibility: visible;
}
.background-video--loaded:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0) 4.67%, rgba(0, 0, 0, 0.2) 100%);
}

.background-video__iframe-target {
  block-size: 100%;
  inline-size: 100%;
  position: relative;
  container-type: size;
  overflow: hidden;
}
.background-video__iframe-target :where(iframe) {
  block-size: 100%;
  inline-size: auto;
  aspect-ratio: 16/9;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  translate: -50% -50% 0;
}
@container (min-aspect-ratio: 16 / 9) {
  .background-video__iframe-target :where(iframe) {
    block-size: auto;
    inline-size: 100%;
  }
}

.background-video__controls {
  inline-size: 3rem;
  aspect-ratio: 1;
  position: absolute;
  inset-block-end: 1.375rem;
  inset-inline-end: 1.375rem;
  z-index: 5;
}

.background-video__control {
  --control-opacity: 1;
  --control-visibility: visible;
  block-size: 100%;
  inline-size: 100%;
  position: absolute;
  color: inherit;
  opacity: var(--control-opacity);
  transition-property: opacity, visibility;
  visibility: var(--control-visibility);
}

.background-video__control--pressed {
  --control-opacity: 0;
  --control-visibility: hidden;
}

.background-video__control-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.background-video__control-icon .icon {
  block-size: 100%;
  inline-size: 100%;
}
.background-video__control-icon .icon--video-play,
.background-video__control-icon .icon--video-pause {
  padding: 1.0625rem;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 0.8125rem;
}

/* ==========================================================================
	Button Toggle
============================================================================= */
.button-toggle {
  --button-toggle-opacity-default: 1;
  --button-toggle-visibility-default: visible;
  --button-toggle-opacity-active: 0;
  --button-toggle-visibility-active: hidden;
  display: grid !important;
  grid-template-columns: 100%;
}
.button-toggle.fs-swap-active {
  --button-toggle-opacity-default: 0;
  --button-toggle-visibility-default: hidden;
  --button-toggle-opacity-active: 1;
  --button-toggle-visibility-active: visible;
}

.button-toggle__inner {
  grid-area: 1/1;
  transition-duration: var(--transition-base-speed);
  transition-property: opacity, visibility;
}

.button-toggle__inner--default {
  opacity: var(--button-toggle-opacity-default);
  visibility: var(--button-toggle-visibility-default);
}

.button-toggle__inner--active {
  opacity: var(--button-toggle-opacity-active);
  visibility: var(--button-toggle-visibility-active);
}

.button-toggle__icon {
  margin-inline-start: auto;
}

/* ==========================================================================
	Buttons
============================================================================= */
/* Filled
============================================================================= */
.button-filled {
  --background-color: var(--color-black);
  --color: var(--color-white);
  --column-gap: 0.625rem;
  --font-size: 0.875rem;
  --font-weight: 700;
  --padding-block: 0.625rem;
  --padding-inline: 0.625rem;
}
.button-filled--white {
  --background-color: var(--color-white);
  --color: var(--color-black);
}
.button-filled--large {
  --column-gap: 0.9375rem;
  --font-size: 1.125rem;
  --padding-block: 1.25rem;
  --padding-inline: 1.875rem;
}

.button-filled {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  display: inline-block;
  color: var(--color);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  background-color: var(--background-color);
  padding-block: var(--padding-block);
  padding-inline: var(--padding-inline);
}

.button-filled__inner {
  display: flex;
  align-items: center;
  column-gap: var(--column-gap);
}

/* Bordered Buttons
============================================================================= */
.button-bordered {
  --background-color: transparent;
  --color: var(--color-black);
  --column-gap: 0.625rem;
  --font-size: 0.875rem;
  --font-weight: 700;
  --padding-block: 0.625rem;
  --padding-inline: 0.625rem;
}
.button-bordered--large {
  --column-gap: 0.9375rem;
  --font-size: 1.125rem;
  --padding-block: 1.25rem;
  --padding-inline: 1.875rem;
}

.button-bordered {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  display: inline-block;
  color: var(--color);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  background-color: var(--background-color);
  border: 0.0625rem solid var(--border-color, currentColor);
  padding-block: var(--padding-block);
  padding-inline: var(--padding-inline);
}

.button-bordered__inner {
  display: flex;
  align-items: center;
  column-gap: var(--column-gap);
}

/* Text Buttons
============================================================================= */
.button-text {
  --color: var(--color-black);
  --column-gap: 0.625rem;
  --font-size: inherit;
  --font-weight: normal;
  --padding-block: 0.3125rem;
  --text-decoration: underline;
}
.button-text {
  display: inline-block;
  color: var(--color);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  -webkit-text-decoration: var(--text-decoration);
          text-decoration: var(--text-decoration);
  padding-block: var(--padding-block);
}

.button-text__inner {
  display: flex;
  align-items: center;
  column-gap: var(--column-gap);
}

.button-text--large {
  --color: var(--color-black);
  --column-gap: 1.25rem;
  --font-size: 1.125rem;
  --font-weight: 700;
  --padding-block: 0.3125rem;
  --text-decoration: none;
}
.button-text--large {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  display: inline-block;
  color: var(--color);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  -webkit-text-decoration: var(--text-decoration);
          text-decoration: var(--text-decoration);
  padding-block: var(--padding-block);
}

:where(.button-text--large) .button-text__inner {
  display: flex;
  align-items: center;
  column-gap: var(--column-gap);
}

/* Paint Buttons
============================================================================= */
.button-paint {
  --color: #000;
  --background-color: #d0dd28;
  --font-size: 1.125rem;
  --font-weight: 700;
  --padding-block: 0.625rem;
  --padding-inline: 0;
  --text-decoration: none;
}
.button-paint:focus-visible {
  color: #d0dd28;
  background-color: #000;
}
@media (hover: hover) {
  .button-paint:hover {
    color: #d0dd28;
    background-color: #000;
  }
}

.button-paint--light {
  --color: #000;
  --background-color: #d0dd28;
}
.button-paint--light:focus-visible {
  color: #d0dd28;
  background-color: #000;
}
@media (hover: hover) {
  .button-paint--light:hover {
    color: #d0dd28;
    background-color: #000;
  }
}
.comp_style__alt .button-paint--light {
  --color: #000;
  --background-color: #fff;
}
.comp_style__alt .button-paint--light:focus-visible {
  color: #d0dd28;
  background-color: #000;
}
@media (hover: hover) {
  .comp_style__alt .button-paint--light:hover {
    color: #d0dd28;
    background-color: #000;
  }
}

.button-paint {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  display: inline-block;
  padding-block: 0.125rem;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  -webkit-text-decoration: var(--text-decoration);
          text-decoration: var(--text-decoration);
  width: fit-content;
  background-color: var(--background-color);
  color: var(--color);
  mask: url("../images/button_bgnd.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  max-height: 1.875rem;
}

.button-paint__label {
  padding: 0.25rem 1.875rem;
}

/* Skip Link
============================================================================= */
.skip-link {
  position: absolute;
  inset-block-start: 1.25rem;
  inset-inline-start: 50%;
  z-index: 100;
  translate: -50% 0;
  display: block;
  opacity: 0;
  pointer-events: none;
}
.skip-link:focus, .skip-link:active {
  opacity: 1;
  pointer-events: auto;
}

/* ==========================================================================
	Google CSE
============================================================================= */
#___gcse_0 {
  --search-border-radius: 0.1875rem;
  --search-input-border: 0.0625rem solid var(--color-black);
  --search-button-background: var(--color-black);
  --search-button-background-hover: var(--color-black);
  --search-bottom-border: 0.125rem solid;
  --results-border-bottom: 0.0625rem solid;
  --results-title-color: var(--color-black);
  --results-title-color-hover: var(--color-black);
  --pagination-color: var(--color-black);
  --pagination-color-active: var(--color-black);
  --pagination-color-hover: var(--color-black);
}
#___gcse_0 .gsc-control-cse {
  font-family: inherit;
  font-size: inherit;
  background-color: transparent;
  border-width: 0;
  padding: 0;
}
#___gcse_0 {
  /* Search Box
  ============================================================================= */
}
#___gcse_0 form.gsc-search-box {
  font-size: inherit;
  margin-block-end: 0;
}
#___gcse_0 table.gsc-search-box {
  position: relative;
  margin-block-end: 0;
}
#___gcse_0 td.gsc-input {
  padding-inline-end: 0;
}
#___gcse_0 .gsc-input-box {
  position: relative;
  background: none;
  border-width: 0;
  padding: 0;
}
#___gcse_0 table.gsc-input {
  border-collapse: collapse;
}
#___gcse_0 [id=gs_tti50] {
  padding: 0;
}
#___gcse_0 input.gsc-input {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  block-size: 3.75rem !important;
  line-height: normal;
  background-color: var(--color-white) !important;
  background-position: 1.25rem 50% !important;
  border: var(--search-input-border) !important;
  border-radius: var(--search-border-radius);
  margin: 0 !important;
  padding-block: 0.8125rem !important;
  padding-inline: 3.125rem 1.25rem !important;
}
@media (min-width:46.25rem) {
  #___gcse_0 input.gsc-input {
    padding-inline-end: 4.375rem !important;
  }
}
#___gcse_0 input.gsc-input::placeholder {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  line-height: normal;
}
#___gcse_0 .gsib_b {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.25rem;
  translate: 0 -50%;
}
@media (min-width:46.25rem) {
  #___gcse_0 .gsib_b {
    inset-inline-end: 1.875rem;
  }
}
#___gcse_0 .gsst_b {
  padding: 0;
}
#___gcse_0 .gsst_a {
  inline-size: 1.625rem;
  aspect-ratio: 1;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAWpJREFUWAndmGEOwiAMhY1//Ou9vY+H8FLKMylhrGBpHyyThMBc+95Hh9nC5XLidk/sj9RvB6wBnvAGQ7ch4JX6O/Vn6ith4QVPeIOhCVtCInglbAkp3iqsBikJsyurQYr3Dhb7Qm5q4yzYHqRwgC03SwIb1u3pTszLtU/CXmEBAyvNgyakQNO16YIJeobmtxZMYaaW8qA4VZgOKeQRo0iu+A+NHkNPzhBUK3jEeCS25Rf63QogX0HyGqxH9ltOXZQFtgYrr5dACrkXdimkF/YQyFHYMORVHP95HN2n4ap6ijkKKf/6pbBeyKWwFkhUDV3AtHFqZa2QiBuJ9Wy9Zo7H2JPTBLDciBhGci1sOYZhxNDIQNqEacDU2rDOEKZr0gWLEtC0aUIFXD0Ne4QFaqLOtdvLndiB+XXL5XmaY8fTHOTiMWmwUz8eir2hbYPdaXMRv4FdBSn+JWwXUhJQWexZJK5u8IQ3GM7ZPqgwKEshiSLbAAAAAElFTkSuQmCC");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 1.25rem;
  margin-block-start: 0.125rem;
  padding: 0;
}
#___gcse_0 .gscb_a {
  display: none;
}
#___gcse_0 td.gsc-search-button {
  inline-size: 3.75rem;
  margin-inline-start: 0;
}
@media (min-width:46.25rem) {
  #___gcse_0 td.gsc-search-button {
    inline-size: 8.125rem;
  }
}
#___gcse_0 button.gsc-search-button {
  block-size: 3.75rem;
  inline-size: 100%;
  background-color: var(--search-button-background);
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAA6pJREFUWAm1mDloFVEUhn3ZjKSQQMRgCMEuCIlaJAoqLkSxcANRsLENdmqlfUSIYKs2YucCgnEJSaWdKGKj8AJGggtBg0vhEjUx8ftfXsLMmTszd55vfviZueee89/z7j6vsMwT8/PzNbhugQfherimzOU8J8sc5/kAjhQKhR888weJrYTn4RT0xTSON2FnbhkiXgNPwc+wUswQeBm2VDVRBNVrw7BamECou5IkCzYIobXYhmHc8BSpuwvHoObeb6j52AH3wq2wFlp8x3CMuXnfVniXSU49V4QuDGHsShPDZxUchJqHFrL1pmk46wnUnHMN6yfsu51BCUZiOuBTaDGJoS0h1F1FkBaExRgGDXlFILYRajVbjGYSJFpDa1ereq7i5BYTQKMePoIWfYs+qU8itc9ZZB7WuIYQboEfTAPPKUcWaUQDJ809uwkPRRz/00AbJ6BFT6osEdtsFOXU1ZoqbBzQrINvTFsDxi1S1PmqszWIInvVi6ChGu9ozqJz22gdMuVIUQnq4A9Cm3BeuGeE19Gj9cYWKipBnQJB6ITICzqFgtAiaQ0a7LsrQR1feWEK4b9G3HZQqFoJ6j4XhM7WXMA8nEN4xog3mnKoqARtjyX+olB0xgLzrZkQm5B6NRauBHUryQsu7Y9JjSnB18ZBV6a8YLXfMexfEhuj2w+bzXOWcnVvwOUM0H1i2rqamJwqCWiC9u42mBqY0YE2dpnkVDzqJYPjLROshF3zxUvPOqGl8/6ZaeM95Qbr6yzj2An1gROELpt2xTnj04zoXAgKl99Pp8WF6gm64hDRZTPxKAqJOArE9zt0x7E1OdzjTQTozjYBLXTZzLxoiNGwunpOi3BzfCYJNQR2w2/QQpdN3efqEsKXqvDTgrBzDlMJ9sKwFOf1gsQ+aFf1gvTCfe4ihZ2wFWof1U7QDDfAM9BuJZgiOOmVTJwTcr1QX19p0HDF/Zi02P649r3sqLfB0bRWPOpf4eNagHPYj3slk+SESB/UB05WaN6ehaXbEs8Bh4BGwG+zTkmygFAPPAdfQv16F95ivA6PwMj2hE3z1+IPhgNJ7WeuQ1Dfuu1wE9wBu+BqHyH8LkGLXxj2+MTn7kMiGo1rNkPKP+H23BPwaYBEauENaKE9uLJN3KfhLD4kou/kOzZDyl/hxixaufmSSAMcgRb6X6g9t4azCJPICvgQWpT+dSgdVVkEq+3LlX8azf3wsdFO/hQwzrkX6T79BaiLs/4G1DWvdBf9Bx10jEx7NnGhAAAAAElFTkSuQmCC");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 1.25rem;
  border-radius: var(--search-border-radius);
  border-width: 0;
  margin-inline-start: 0.1875rem;
}
#___gcse_0 button.gsc-search-button:focus-visible {
  background-color: var(--search-button-background-hover);
}
@media (hover: hover) {
  #___gcse_0 button.gsc-search-button:hover {
    background-color: var(--search-button-background-hover);
  }
}
#___gcse_0 button.gsc-search-button img,
#___gcse_0 button.gsc-search-button svg {
  display: none;
}
#___gcse_0 {
  /* Search Tabs
  ============================================================================= */
}
#___gcse_0 .gsc-positioningWrapper {
  display: none;
}
#___gcse_0 {
  /* Results Count
  ============================================================================= */
}
#___gcse_0 .gsc-above-wrapper-area {
  border-block-end: var(--search-bottom-border);
  padding-block: 1.25rem 3.4375rem;
}
#___gcse_0 .gsc-result-info {
  color: inherit;
  font-size: 0.9375rem;
  text-transform: uppercase;
  margin: 0;
  padding: 0;
}
#___gcse_0 {
  /* Results
  ============================================================================= */
}
#___gcse_0 .gsc-results {
  inline-size: 100%;
  padding-block-end: 0;
}
#___gcse_0 .gsc-result {
  border-block-end: var(--results-border-bottom);
  padding-block: 2.125rem;
}
#___gcse_0 .gsc-thumbnail-inside {
  padding: 0;
}
#___gcse_0 div.gs-title {
  color: inherit;
  font-size: inherit;
  text-decoration: none;
  margin-block-end: 0.375rem;
}
#___gcse_0 a.gs-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
  display: block;
  color: var(--results-title-color);
}
#___gcse_0 a.gs-title:focus-visible {
  color: var(--results-title-color-hover);
}
@media (hover: hover) {
  #___gcse_0 a.gs-title:hover {
    color: var(--results-title-color-hover);
  }
}
#___gcse_0 a.gs-title b {
  color: inherit;
  font: inherit;
  text-decoration: none;
}
#___gcse_0 .gsc-url-top {
  padding: 0;
}
#___gcse_0 .gs-visibleUrl {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
  color: inherit;
  margin-block-end: 0.5rem;
  padding-block-end: 0;
}
#___gcse_0 .gs-visibleUrl b {
  color: inherit;
}
#___gcse_0 .gsc-table-result {
  font-family: inherit;
  font-size: inherit;
  padding: 0;
}
#___gcse_0 .gsc-thumbnail {
  display: none;
}
#___gcse_0 .gs-snippet {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  color: inherit;
  margin-block-start: 0;
}
#___gcse_0 .gsc-url-bottom {
  display: none;
  margin-block-start: 0.5rem;
}
#___gcse_0 {
  /* Pagination
  ============================================================================= */
}
#___gcse_0 .gsc-cursor-box {
  margin-block: 2.5rem !important;
  padding: 0;
}
#___gcse_0 .gsc-cursor {
  display: flex;
  align-items: center;
  color: inherit;
  fill: none;
}
#___gcse_0 .gsc-cursor-page {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
  color: #005f40;
  display: block;
  justify-content: center;
  color: var(--pagination-color) !important;
  font-weight: normal;
  margin-inline-end: 0 !important;
  padding-inline-end: 0.625rem;
}
#___gcse_0 .gsc-cursor-page:focus-visible {
  color: var(--pagination-color-hover) !important;
  text-decoration: none;
}
@media (hover: hover) {
  #___gcse_0 .gsc-cursor-page:hover {
    color: var(--pagination-color-hover) !important;
    text-decoration: none;
  }
}
@media (min-width:46.25rem) {
  #___gcse_0 .gsc-cursor-page {
    padding-inline-end: 1.25rem;
  }
}
#___gcse_0 .gsc-cursor-page.gsc-cursor-current-page {
  color: var(--pagination-color-active) !important;
}
#___gcse_0 {
  /* Branding
  ============================================================================= */
}
#___gcse_0 .gcsc-more-maybe-branding-root > a {
  display: none;
}
#___gcse_0 .gcsc-branding {
  padding: 0;
}

/* ==========================================================================
	Icons
============================================================================= */
.icon {
  display: block;
  fill: currentColor;
  margin: auto;
  pointer-events: none;
  stroke: inherit;
  transition-duration: var(--transition-base-speed);
  transition-property: fill, stroke;
}
.icon--angle-down {
  inline-size: 0.3125rem;
  aspect-ratio: 5/4;
}
.icon--angle-right {
  inline-size: 0.4375rem;
  aspect-ratio: 7/7;
}
.icon--arrow-down {
  inline-size: 1.375rem;
  aspect-ratio: 22/22;
}
.icon--arrow-left {
  inline-size: 1.375rem;
  aspect-ratio: 22/22;
}
.icon--arrow-right {
  inline-size: 1.375rem;
  aspect-ratio: 22/22;
}
.icon--arrow-up {
  inline-size: 1.375rem;
  aspect-ratio: 22/22;
}
.icon--building {
  inline-size: 1rem;
  aspect-ratio: 16/16;
}
.icon--caret-down {
  inline-size: 0.75rem;
  aspect-ratio: 12/8;
}
.icon--caret-right {
  inline-size: 0.5rem;
  aspect-ratio: 8/16;
}
.icon--caret-left {
  inline-size: 0.5rem;
  aspect-ratio: 8/16;
}
.icon--clock {
  inline-size: 1rem;
  aspect-ratio: 16/16;
}
.icon--close {
  inline-size: 1.25rem;
  aspect-ratio: 20/20;
}
.icon--expand {
  inline-size: 0.5625rem;
  aspect-ratio: 9/18;
}
.icon--external {
  inline-size: 1.125rem;
  aspect-ratio: 18/18;
}
.icon--facebook {
  inline-size: 1.5rem;
  aspect-ratio: 24/24;
}
.icon--fax {
  inline-size: 1.125rem;
  aspect-ratio: 18/16;
}
.icon--file {
  inline-size: 1rem;
  aspect-ratio: 16/20;
}
.icon--flickr {
  inline-size: 3.25rem;
  aspect-ratio: 52/17;
}
.icon--home {
  inline-size: 1rem;
  aspect-ratio: 16/18;
}
.icon--instagram {
  inline-size: 1.5rem;
  aspect-ratio: 24/24;
}
.icon--label {
  inline-size: 0.875rem;
  aspect-ratio: 14/14;
}
.icon--linkedin {
  inline-size: 1.875rem;
  aspect-ratio: 30/30;
}
.icon--logo {
  inline-size: 12.0625rem;
  aspect-ratio: 193/129;
}
.icon--logo-mono {
  inline-size: 9.75rem;
  aspect-ratio: 156/88;
}
.icon--mail {
  inline-size: 1.375rem;
  aspect-ratio: 22/16;
}
.icon--menu {
  inline-size: 1.375rem;
  aspect-ratio: 22/12;
}
.icon--minus {
  inline-size: 0.875rem;
  aspect-ratio: 14/2;
}
.icon--phone {
  inline-size: 1rem;
  aspect-ratio: 16/16;
}
.icon--place {
  inline-size: 0.75rem;
  aspect-ratio: 12/16;
}
.icon--play {
  inline-size: 1.25rem;
  aspect-ratio: 20/20;
}
.icon--plus {
  inline-size: 0.875rem;
  aspect-ratio: 14/14;
}
.icon--reset {
  inline-size: 0.5625rem;
  aspect-ratio: 9/10;
}
.icon--search {
  inline-size: 1.125rem;
  aspect-ratio: 18/18;
}
.icon--twitter {
  inline-size: 2.3125rem;
  aspect-ratio: 37/30;
}
.icon--video-pause {
  inline-size: 0.875rem;
  aspect-ratio: 14/15;
}
.icon--video-play {
  inline-size: 2.5625rem;
  aspect-ratio: 41/51;
}
.icon--vimeo {
  inline-size: 1.125rem;
  aspect-ratio: 18/18;
}
.icon--x {
  inline-size: 2rem;
  aspect-ratio: 32/30;
}
.icon--youtube {
  inline-size: 1.5rem;
  aspect-ratio: 24/17;
}
.icon--tiktok {
  inline-size: 1.25rem;
  aspect-ratio: 20/23;
}
.icon--warning {
  inline-size: 1.625rem;
  aspect-ratio: 26/27;
}

.icon-nowrap {
  white-space: nowrap;
}
.icon-nowrap :where(.icon) {
  display: inline;
}

/* ==========================================================================
	Inline Video
============================================================================= */
.lazy-video {
  --icon-size: 3.75rem;
  --icon-color: var(--color-black);
  --aspect-ratio: var(--aspect-ratio-wide);
}
@media (min-width:61.25rem) {
  .lazy-video {
    --icon-size: 7.5rem;
  }
}
.lazy-video :where(.lazy-video__toggle-btn):focus-visible {
  --icon-color: var(--color-white);
}
@media (hover: hover) {
  .lazy-video :where(.lazy-video__toggle-btn):hover {
    --icon-color: var(--color-white);
  }
}

.lazy-video--aspect-portrait {
  --aspect-ratio: var(--aspect-ratio-portrait-wide);
}

.lazy-video--aspect-square {
  --aspect-ratio: var(--aspect-ratio-portrait-square);
}

.lazy-video {
  block-size: 100%;
  inline-size: 100%;
  position: absolute;
  inset: 0;
}

.lazy-video__play {
  block-size: 100%;
  inline-size: 100%;
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  grid-template-columns: 100%;
  color: var(--icon-color);
}
:where(.no-js) .lazy-video__play {
  display: none;
}
@media (min-width:61.25rem) {
  .lazy-video__play:before {
    position: absolute;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.8);
    height: 7.5rem;
    width: 7.5rem;
    content: "";
  }
}
.lazy-video__play :where(.icon) {
  inline-size: var(--icon-size);
  position: absolute;
  inset: auto;
  padding-block: 1.875rem;
  padding-inline: 2.8125rem 1.875rem;
  fill: #d0dd28;
  transition: var(--transition-base-speed) var(--transition-base-timing);
}

.lazy-video__iframe-wrapper {
  aspect-ratio: var(--aspect-ratio);
  display: block;
  opacity: 0;
  transition-duration: var(--transition-duration, 0);
  transition-property: opacity, visibility;
  visibility: hidden;
}
@media print {
  .lazy-video__iframe-wrapper {
    display: none;
  }
}
:where(.lazy-video--ready) .lazy-video__iframe-wrapper {
  --transition-duration: var(--transition-base-speed);
  opacity: 1;
  visibility: visible;
}
.lazy-video__iframe-wrapper :where(iframe) {
  block-size: 100%;
  inline-size: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}

.lazy-video__iframe-target {
  block-size: 100%;
}

/* ==========================================================================
	Logo
============================================================================= */
@media (min-width:61.25rem) {
  .logo--footer {
    flex: 0 0 15.625rem;
  }
}

.logo__link {
  width: fit-content;
  position: relative;
  display: block;
  text-decoration: underline;
  white-space: nowrap;
  overflow: hidden;
}
.logo__link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .logo__link:hover {
    color: var(--color-black);
  }
}
@media print {
  .logo__link::after {
    display: none;
    content: normal;
  }
}

.logo__link-inner {
  display: block;
}

.logo__link-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.logo__link-icon {
  display: inline-block;
  vertical-align: top;
}

.logo__print {
  display: none;
}
@media print {
  .logo__print {
    display: block;
  }
}

/* ==========================================================================
	Meta
============================================================================= */
.meta-info {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}
@media (min-width:61.25rem) {
  .meta-info {
    flex: 0 0 30%;
  }
}

.meta-info__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.meta-info__details {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}

.meta-info__detail {
  display: grid;
  align-items: center;
  gap: 1.125rem;
  grid-template-columns: 1.375rem minmax(0, 1fr);
}

.meta-info__detail-label {
  display: block;
}
@media print {
  .meta-info__detail-label::after {
    display: none;
  }
}

.meta-info__detail-label-link {
  display: inline-block;
  text-decoration: underline;
}
.footer__meta .meta-info__detail-label-link {
  color: #fff;
}
.meta-info__detail-label-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .meta-info__detail-label-link:hover {
    color: var(--color-black);
  }
}

.meta-info__detail-label-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* ==========================================================================
	Page Header
============================================================================= */
.page-header {
  display: grid;
  grid-template-columns: 100%;
  color: var(--header-color);
  background-color: var(--header-background-color);
}

.page-header__group {
  display: grid;
  grid-template-areas: "breadcrumb" "intro";
  grid-template-columns: 1fr;
  width: 100%;
  margin-inline: auto;
}
@media (min-width:61.25rem) {
  .page-header__group {
    width: 66%;
  }
}
.page-header__group.has-media {
  width: 100%;
  margin-inline: auto;
  grid-template-areas: "media" "breadcrumb" "intro";
  grid-template-columns: 1fr;
}
@media (min-width:61.25rem) {
  .page-header__group.has-media {
    grid-template-areas: "breadcrumb breadcrumb" "intro media";
    grid-template-columns: 1fr 1fr;
  }
}

.page-header__breadcrumb {
  grid-area: breadcrumb;
  margin-block: clamp(1.25rem, -0.48611rem + (5.5555555556vw), 3.75rem);
}
@media print {
  .page-header__breadcrumb {
    display: none;
  }
}
:where(.page-header--has-background) .page-header__breadcrumb {
  background-image: linear-gradient(rgba(var(--color-black), 0.95), rgba(var(--color-black), 0));
  isolation: isolate;
  margin-block: 0;
  padding-block: 1.25rem;
}

.page-header__intro {
  grid-area: intro;
  margin-block-end: 1.25rem;
}
:where(.page-header--has-background) .page-header__intro {
  background-image: linear-gradient(rgba(var(--color-black), 0), rgba(var(--color-black), 0.95));
  isolation: isolate;
  margin-block: auto 0;
  padding-block: clamp(1.875rem, -3.76736rem + (18.0555555556vw), 10rem) clamp(1.25rem, -0.48611rem + (5.5555555556vw), 3.75rem);
}
@media print {
  :where(.page-header--has-background) .page-header__intro {
    margin-block: 0.625rem 1.25rem;
    padding-block: 0;
  }
}

.page-header__intro-inner {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}

.page-header__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  color: #005f40;
  letter-spacing: clamp(-0.15em, -0.1vw, 0em);
}

.page-header__description {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.4;
  color: #005f40;
}

.page-header__media {
  grid-area: media;
}

.page-header__media-inner {
  position: relative;
}

@media (min-width:61.25rem) {
  .page-header__figure {
    margin-inline-start: 5%;
  }
}

.page-header__image {
  block-size: auto;
  inline-size: 100%;
  border-radius: 1.25rem;
}

.page-header__video {
  aspect-ratio: var(--aspect-ratio-wide);
}
@media print {
  .page-header__video {
    display: none;
  }
}
:where(.page-header__media--has-video) .page-header__video {
  block-size: 100%;
  inline-size: 100%;
  position: absolute;
  inset: 0;
}
:where(.no-js) .page-header__video {
  display: none;
}

.page-header__bar {
  margin-block-start: clamp(1.25rem, -0.48611rem + (5.5555555556vw), 3.75rem);
  background-color: #d0dd28;
  mask: url("../images/band_pattern_2.svg");
  mask-repeat: repeat-x;
  mask-size: 61.1875rem 5rem;
  min-height: 5rem;
}

.page-header__nav {
  padding-block: 2.5rem;
}
@media print {
  .page-header__nav {
    display: none;
  }
}

.page-header__nav-inner {
  position: relative;
}

.page-header__nav-flat {
  display: none;
}
@media (min-width:61.25rem) {
  .page-header__nav-flat {
    display: block;
    display: flex;
    gap: 1.5625rem;
    justify-content: center;
  }
}

.page-header__nav-marker {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.03rem;
  text-transform: uppercase;
  align-content: end;
  color: #000;
}

@media (min-width:61.25rem) {
  .page-header__nav-toggle {
    display: none;
  }
}
.page-header__nav-toggle :where(.button-toggle) {
  inline-size: 100%;
}
.page-header__nav-toggle :where(.button-toggle__icon) {
  margin-inline-start: auto;
}

/* ==========================================================================
	Pagination
============================================================================= */
@media print {
  .pagination {
    display: none;
  }
}
:where(.no-js) .pagination {
  display: none;
}

.pagination__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.pagination__body {
  --nav-width: 2.125rem;
  display: grid;
  grid-template-columns: [previous] var(--nav-width) [form] 1fr [next] var(--nav-width);
}

/* Pagination Nav
============================================================================= */
.pagination__nav {
  display: grid;
  align-items: center;
  grid-column: 1/-1;
  grid-row: 1;
  grid-template-columns: subgrid;
}

.pagination__nav-control--previous {
  grid-column-start: previous;
}

.pagination__nav-control--next {
  grid-column-start: next;
}

.pagination__nav-link {
  inline-size: var(--nav-width);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  grid-template-columns: 100%;
  color: var(--color-black);
  opacity: 1;
}

.pagination__nav-link--disabled {
  opacity: 0.5;
  pointer-events: none;
}

.pagination__nav-link-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* Pagination Form
============================================================================= */
.pagination__form {
  grid-column-start: form;
  grid-row: 1;
  text-align: center;
}

.pagination__form-inner {
  display: flex;
  align-items: center;
  grid-area: form;
  justify-content: center;
}

.pagination__form-label {
  display: none;
}
@media (min-width:31.25rem) {
  .pagination__form-label {
    display: block;
    margin-inline-end: 0.625rem;
  }
}

.pagination__form-select-wrapper {
  position: relative;
}

.pagination__form-select {
  appearance: none;
  background-color: transparent;
  border: 0.0625rem solid;
  cursor: pointer;
  padding-block: 0.625rem;
  padding-inline: 0.875rem 1.875rem;
}

.pagination__form-select-icon {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.125rem;
  translate: 0 -50%;
}

.pagination__form-suffix {
  margin-inline: 0.625rem;
}

.pagination__form-button {
  color: var(--color-black);
  text-decoration: underline;
  border: 0.0625rem solid;
  padding: 0.625rem;
}

/* ==========================================================================
	Site Search
============================================================================= */
.site-search {
  position: relative;
}
:where(.no-js) .site-search {
  display: none;
}

.site-search__header {
  flex: 0 0 30%;
  margin-inline-start: auto;
}
@media print {
  .site-search__header {
    display: none;
  }
}

.site-search__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.site-search__menu {
  margin-block-end: 1.875rem;
}

.site-search__label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.site-search__field {
  position: relative;
  display: grid;
  gap: 0.625rem;
  grid-template-columns: minmax(0, 1fr) max-content;
}

.site-search__input {
  flex: 1;
  color: inherit;
  font: inherit;
  appearance: none;
  background: none;
  border: 0.0625rem solid;
  border-radius: 0;
  padding-inline: 0.625rem;
}
.site-search__input::placeholder {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.site-search__submit :where(.button-bordered) {
  inline-size: 3rem;
  aspect-ratio: 1;
}
.site-search__submit :where(.button-bordered__inner) {
  block-size: 100%;
  inline-size: 100%;
  display: grid;
  gap: 0;
}
.site-search__submit :where(.button-bordered__label) {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.site-search__button {
  inline-size: 3rem;
  aspect-ratio: 1;
  position: relative;
  color: var(--color-black);
  border: 0.0625rem solid;
}

.site-search__button-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* ==========================================================================
	Google Translate
============================================================================= */
#google_translate_element {
  clear: both;
}
#google_translate_element .goog-te-gadget {
  font-size: 0.75rem;
}
#google_translate_element .goog-te-gadget-simple {
  background-color: var(--color-white);
  border: 0;
  border-radius: 0.25rem;
  padding: 0.625rem;
}
#google_translate_element .goog-te-gadget-simple:focus-visible {
  background-color: rgba(var(--color-white), 0.85);
}
@media (hover: hover) {
  #google_translate_element .goog-te-gadget-simple:hover {
    background-color: rgba(var(--color-white), 0.85);
  }
}
#google_translate_element .goog-te-menu-value [style*=border-left] {
  display: none;
}
#google_translate_element .goog-te-menu-value span:last-child {
  position: relative;
  color: transparent !important;
}
#google_translate_element .goog-te-menu-value span:last-child::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  rotate: x 0deg;
  scale: 0.75 1;
  translate: -50% -50%;
  border: 0.375rem solid transparent;
  border-block-start-color: black;
  content: "";
  margin-block-start: 0.1875rem;
}
#google_translate_element .goog-te-menu-value span:last-child[style*="213"]::before {
  rotate: x 180deg;
  scale: 0.75 1;
  translate: -50% -50%;
  margin-block-start: -0.125rem;
}

/* Typography
============================================================================= */
.typography {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}
.typography :where(a:not(.wysiwyg-button)) {
  font-weight: 700;
  text-decoration: underline;
}
.typography :where(a:not(.wysiwyg-button)):focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .typography :where(a:not(.wysiwyg-button)):hover {
    color: var(--color-black);
  }
}
.typography :where(p) {
  margin-block: 1.875rem;
}
.typography :where(h1, h2, h3, h4, h5, h6) {
  margin-block: 3.125rem 0.625rem;
}
.typography :where(h1, h2, h3, h4, h5, h6) + * {
  margin-block-start: 0;
}
.typography :where(h1) {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  color: #005f40;
  letter-spacing: clamp(-0.15em, -0.1vw, 0em);
}
.typography :where(h2) {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}
.typography :where(h3) {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}
.typography :where(h4) {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: #005f40;
}
.typography :where(h5) {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
  color: #005f40;
}
.typography :where(h6) {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.intro {
  font-size: var(--font-size-intro-text);
  font-weight: 700;
  line-height: var(--line-height-intro-text);
}
.intro :where(p) {
  margin-block: 0;
}

.copy {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.small {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.caption {
  font-size: var(--font-size-caption-text);
  line-height: var(--line-height-caption-text);
}

/* WYSIWYG Buttons
============================================================================= */
:where(.wysiwyg-button) {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  inline-size: max-content;
  display: block;
  color: var(--color-white);
  font-weight: 700;
  background-color: var(--color-black);
  clear: both;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
}
:where([style*="text-align: right"], [style*="text-align:right"]) :where(.wysiwyg-button) {
  margin-inline-start: auto;
}

:where([style*="text-align: center"], [style*="text-align:center"]) :where(.wysiwyg-button) {
  margin-inline: auto;
}

/* WYSIWYG Images
============================================================================= */
.typography :where(img) {
  block-size: auto;
  max-inline-size: 100%;
}
.typography :where(.block_left,
.block_right,
.block_center,
.alignleft,
.alignright,
.aligncenter,
.alignnone,
.align-left,
.align-right,
.align-center) {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
  margin-block: 1.25rem;
}
.typography :where(.block_left,
.block_right,
.block_center,
.alignleft,
.alignright,
.aligncenter,
.alignnone,
.align-left,
.align-right,
.align-center) img {
  display: block;
}
.typography :where(.block_left,
.block_right,
.block_center,
.alignleft,
.alignright,
.aligncenter,
.alignnone,
.align-left,
.align-right,
.align-center) figcaption,
.typography :where(.block_left,
.block_right,
.block_center,
.alignleft,
.alignright,
.aligncenter,
.alignnone,
.align-left,
.align-right,
.align-center) .wp-caption-text {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}
.typography :where(.block_left, .block_right, .alignleft, .alignright, .align-left, .align-right) {
  max-inline-size: 50%;
}
@media (max-width:31.1875rem) {
  .typography :where(.block_left, .block_right, .alignleft, .alignright, .align-left, .align-right) {
    max-inline-size: 100%;
    float: none;
    margin-inline: 0;
  }
}
@media (min-width:31.25rem) {
  .typography :where(.block_left, .block_right, .alignleft, .alignright, .align-left, .align-right) {
    margin-block: 0.625rem 1.875rem;
  }
}
@media (min-width:31.25rem) {
  .typography :where(.block_left, .alignleft, .align-left) {
    float: inline-start;
    margin-inline-end: 1.875rem;
  }
}
@media (min-width:31.25rem) {
  .typography :where(.block_right, .alignright, .align-right) {
    float: inline-end;
    margin-inline-start: 1.875rem;
  }
}
.typography :where(.block_center, .aligncenter, .align-center) {
  text-align: center;
  margin-inline: auto;
}
.typography :where(.block_center, .aligncenter, .align-center) img {
  margin-inline: auto;
}

/* Blockquote
============================================================================= */
.typography :where(blockquote) {
  font-size: var(--font-size-intro-text);
  font-weight: 700;
  line-height: var(--line-height-intro-text);
  margin-block: 3.125rem;
}
.typography :where(blockquote) p {
  margin-block: 0;
}
.typography :where(.quote) {
  position: relative;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
  border-block: 0.0625rem solid;
  margin-block: 3.125rem;
  padding-block: 3.125rem;
}
.typography :where(.quote__content) {
  margin: 0;
}
.typography :where(.quote__content) p:first-of-type {
  margin-block-start: 0;
}
.typography :where(.quote__content) p:last-of-type {
  margin-block-end: 0;
}
.typography :where(.quote__caption) {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}
/* Lists
============================================================================= */
.typography :where(ol),
.typography :where(ul) {
  margin-inline-start: 1em;
  padding-inline-start: 0;
}
.typography :where(ol) li,
.typography :where(ul) li {
  margin-block: 0.75rem;
}
.typography :where(ol) ol,
.typography :where(ol) ul,
.typography :where(ul) ol,
.typography :where(ul) ul {
  translate: 0;
  margin-block: 0;
}
.typography :where(ol) ::marker,
.typography :where(ul) ::marker {
  font-weight: bold;
}
.typography :where(ul) {
  list-style: outside disc;
}

/* Tables
============================================================================= */
.typography :where(table) {
  inline-size: 100%;
  border: 0.0625rem solid;
  border-collapse: collapse;
}
.typography :where(table) tr:nth-child(even) {
  background-color: #f2f2f2;
}
.typography :where(table) th,
.typography :where(table) td {
  border: 0.0625rem solid;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  vertical-align: top;
}
.typography :where(table) th,
.typography :where(table) thead td {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
  text-align: start;
}
.typography :where(table) td {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.table-wrapper {
  position: relative;
  margin-block: 2.5rem;
}

.table-wrapper--overflow {
  position: relative;
  border: 0.0625rem solid #cccccc;
}
.table-wrapper--overflow::after {
  block-size: 100%;
  inline-size: 1.25rem;
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  background-image: linear-gradient(to right, rgba(var(--color-black), 0), rgba(var(--color-black), 0.2));
  content: "";
}

.table-wrapper__inner {
  overflow-y: hidden;
}

/* ==========================================================================
   iframe
============================================================================= */
.typography :where(.video-frame) {
  aspect-ratio: 16/9;
}
@media print {
  .typography :where(.video-frame) {
    display: none;
  }
}
.typography :where(.video-frame iframe) {
  block-size: 100%;
  inline-size: 100%;
  object-fit: cover;
}

/* ==========================================================================
   Spacing
============================================================================= */
.typography > :where(:first-child) {
  margin-block-start: 0;
}
.typography > :where(:last-child) {
  margin-block-end: 0;
}

/* ==========================================================================
	Audience Navigation
============================================================================= */
@media (min-width:61.25rem) {
  .audience-nav {
    position: relative;
  }
}
.audience-nav :where(.button-toggle) {
  inline-size: 100%;
}

.audience-nav__panel {
  background-color: var(--color-white);
  box-shadow: rgba(0, 0, 0, 0.24) 0 0.1875rem 0.5rem;
}
:where(.toggle-nav-overlay) .audience-nav__panel {
  inline-size: 12.5rem;
  inset-inline-end: 0;
}

.audience-nav__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.audience-nav__list {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.audience-nav__item-link {
  display: block;
  text-decoration: underline;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
}
.audience-nav__item-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .audience-nav__item-link:hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Breadcrumb Navigation
============================================================================= */
@media print {
  .breadcrumb__nav {
    display: none;
  }
}

.breadcrumb__nav-header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* Breadcrumb Links
============================================================================= */
.breadcrumb__list {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.03rem;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  background-image: url("../images/line_pattern_color.svg");
  background-repeat: repeat-x;
  background-position: right center;
}

.breadcrumb__item {
  display: flex;
  align-items: center;
  background-color: #fff;
}
@media (max-width:61.1875rem) {
  .breadcrumb__item:not(:nth-last-of-type(-n + 2)) {
    display: none;
  }
}

.breadcrumb__pill--link {
  text-decoration: none;
  color: #005f40;
  padding: 0.3125rem;
}
.breadcrumb__pill--link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .breadcrumb__pill--link:hover {
    color: var(--color-black);
  }
}
:where(.page-header--has-background) .breadcrumb__pill--link {
  color: inherit;
}

.breadcrumb__pill-inner {
  display: flex;
  align-items: center;
}

.breadcrumb__pill-icon {
  position: relative;
  inset-block-start: -0.125rem;
  margin-inline-end: 0.875rem;
  color: #62bb46;
}

:where(.breadcrumb__item:last-child) .breadcrumb__pill-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.breadcrumb__divider {
  margin-inline: 0.625rem;
}
:where(.breadcrumb__item:nth-last-child(2)) .breadcrumb__divider {
  display: none;
}
.breadcrumb__divider .icon {
  width: 0.3125rem;
  height: 0.625rem;
  aspect-ratio: 1/2;
  fill: #62bb46;
}

.breadcrumb__end {
  margin-inline-start: 0.25rem;
}

/* ==========================================================================
	Footer Navigation
============================================================================= */
.footer-nav__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.footer-nav__list {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
  color: #005f40;
}

.footer-nav__item-link {
  display: block;
  text-decoration: underline;
  padding-block: 0.625rem;
  color: #fff;
}
.footer-nav__item-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .footer-nav__item-link:hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Toggle Navigation
============================================================================= */
.toggle-nav {
  position: relative;
}

:where(.no-js .toggle-nav-inline) .toggle-nav__button {
  display: none;
}

.toggle-nav__panel {
  --panel-opacity: 0;
  opacity: var(--panel-opacity);
}
:where(.no-js .toggle-nav-overlay) .toggle-nav__panel {
  --panel-opacity: 1;
}
:where(.toggle-nav-inline) .toggle-nav__panel {
  display: none;
}
:where(.toggle-nav-inline.state-swap-active) .toggle-nav__panel, :where(.no-js .toggle-nav-inline) .toggle-nav__panel {
  display: block;
}
:where(.toggle-nav-overlay) .toggle-nav__panel {
  position: absolute;
  transition: opacity var(--transition-base-speed);
}
:where(.toggle-nav-overlay.state-swap-active) .toggle-nav__panel {
  --panel-opacity: 1;
}

/* ==========================================================================
	Reveal Navigation
============================================================================= */
:where(.no-js) .reveal-nav__item-toggle {
  display: none;
}

/* Collapse
============================================================================= */
:where(.collapse-nav) .reveal-nav__children {
  display: none;
}
:where(.collapse-nav .reveal-nav__item.state-swap-active) .reveal-nav__children, :where(.no-js .collapse-nav) .reveal-nav__children {
  display: block;
}

/* Dropdown
============================================================================= */
:where(.dropdown-nav) .reveal-nav__item {
  --children-opacity: 0;
  --children-pointer-events: none;
}
:where(.dropdown-nav) .reveal-nav__item.state-swap-active {
  --children-opacity: 1;
  --children-pointer-events: auto;
}
@media (hover: hover) {
  :where(.dropdown-nav) .reveal-nav__item:hover {
    --children-opacity: 1;
    --children-pointer-events: auto;
  }
}

:where(.dropdown-nav) .reveal-nav__item-inner {
  position: relative;
}

:where(.dropdown-nav) .reveal-nav__toggle {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base-speed);
}
:where(.dropdown-nav) .reveal-nav__toggle:focus, :where(.dropdown-nav) .reveal-nav__toggle.state-swap-active {
  opacity: 1;
  pointer-events: auto;
}
:where(.no-js .dropdown-nav) .reveal-nav__toggle {
  display: none;
}

:where(.dropdown-nav) .reveal-nav__children {
  position: absolute;
  opacity: var(--children-opacity);
  pointer-events: var(--children-pointer-events);
  transition: opacity var(--transition-base-speed);
}

/* ==========================================================================
	Main Collapse Nav
============================================================================= */
.main-nav-collapse__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.main-nav-collapse__list {
  display: grid;
  gap: 0.25rem;
  grid-template-columns: 100%;
}

.main-nav-collapse__item-inner {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: minmax(0, 1fr) 3rem;
}

.main-nav-collapse__item-link {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
  color: #005f40;
  display: block;
  text-decoration: underline;
  padding-block: 0.625rem;
}
.main-nav-collapse__item-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .main-nav-collapse__item-link:hover {
    color: var(--color-black);
  }
}

.main-nav-collapse__item-toggle-icon {
  display: block;
  transition: rotate var(--transition-base-speed);
}
:where(.main-nav-collapse__item-toggle.fs-swap-active) .main-nav-collapse__item-toggle-icon {
  rotate: 180deg;
}

.main-nav-collapse__child-link {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
  display: block;
  padding-block: 0.625rem;
}
.main-nav-collapse__child-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .main-nav-collapse__child-link:hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Main Dropdown Nav
============================================================================= */
.main-nav-dropdown__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.main-nav-dropdown__list {
  display: flex;
  gap: 1.25rem;
}

.main-nav-dropdown__item-link {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: 1.25rem;
  display: block;
  padding-block: 1.25rem;
  padding-inline-end: 1.25rem;
}

.main-nav-dropdown__item-link-label {
  text-decoration: none;
  background-image: linear-gradient(#d0dd28, #d0dd28);
  background-position: 0% 90%;
  background-repeat: no-repeat;
  background-size: 0% 0.125rem;
  transition: background-size 0.5s;
}
.main-nav-dropdown__item-link-label:focus-visible {
  background-size: 100% 0.125rem;
}
@media (hover: hover) {
  .main-nav-dropdown__item-link-label:hover {
    background-size: 100% 0.125rem;
  }
}
.main-nav-dropdown__item-link-label {
  color: #005f40;
  transition: background-size 0.5s, color 0.5s;
}
.main-nav-dropdown__item-link-label:focus-visible {
  color: #005f40;
}
@media (hover: hover) {
  .main-nav-dropdown__item-link-label:hover {
    color: #005f40;
  }
}

.main-nav-dropdown__children {
  inline-size: 12.5rem;
  background-color: var(--color-white);
  box-shadow: rgba(0, 0, 0, 0.24) 0 0.1875rem 0.5rem;
}

.main-nav-dropdown__child-link {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
  display: block;
  text-decoration: underline;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
}
.main-nav-dropdown__child-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .main-nav-dropdown__child-link:hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Secondary Navigation Common
============================================================================= */
@media (min-width:61.25rem) {
  .secondary-nav {
    block-size: 100%;
  }
}

.secondary-nav__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.secondary-nav__list {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}
@media (min-width:61.25rem) {
  .secondary-nav__list {
    block-size: 100%;
    display: flex;
    gap: 1.875rem;
    justify-content: flex-end;
  }
}

.secondary-nav__item-link {
  display: block;
  text-decoration: underline;
  padding-block: 0.625rem;
}
.secondary-nav__item-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .secondary-nav__item-link:hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Skip Navigation
============================================================================= */
.skip-nav__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* ==========================================================================
	Social Navigation
============================================================================= */
@media print {
  .social-nav {
    display: none;
  }
}

.social-nav__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* Social Links
============================================================================= */
.social-nav__list {
  display: flex;
  gap: 0 1.25rem;
  align-items: center;
}

.social-nav__item-link {
  display: block;
  padding-block: 0.625rem;
}
.footer__social-nav .social-nav__item-link {
  color: #62bb46;
}
.social-nav__item-link:focus-visible {
  color: #fff;
}
@media (hover: hover) {
  .social-nav__item-link:hover {
    color: #fff;
  }
}

.social-nav__item-link-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* ==========================================================================
	Sub Navigation Flat
============================================================================= */
.sub-nav-flat__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.sub-nav-flat__list {
  display: flex;
  flex-direction: row;
  column-gap: 1.5625rem;
  justify-content: center;
}

.sub-nav-flat__item-link {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #000;
  text-decoration-line: underline;
  text-decoration-color: #62bb46;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  padding-block: 0.625rem;
}
.sub-nav-flat__item-link:focus-visible {
  color: #000;
}
@media (hover: hover) {
  .sub-nav-flat__item-link:hover {
    color: #000;
  }
}

.sub-nav-flat__children {
  display: none;
}

/* ==========================================================================
	Sub Navigation Toggle
============================================================================= */
.sub-nav-toggle__panel {
  inline-size: 100%;
}

.sub-nav-toggle__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.sub-nav-toggle__list {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
  display: grid;
  grid-template-columns: 100%;
  background-color: var(--color-white);
  box-shadow: rgba(0, 0, 0, 0.24) 0 0.1875rem 0.5rem;
}
@media (min-width:46.25rem) {
  .sub-nav-toggle__list {
    gap: 0 var(--fw-column-gap);
    grid-template-columns: 1fr 1fr;
  }
}

.sub-nav-toggle__item-link {
  display: block;
  text-decoration: underline;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
}
.sub-nav-toggle__item-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .sub-nav-toggle__item-link:hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Utility Navigation
============================================================================= */
.utility-nav__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.utility-nav__list {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 0.9;
}
@media (min-width:61.25rem) {
  .utility-nav__list {
    display: flex;
    gap: 1.875rem;
  }
}

.utility-nav__item-link {
  display: block;
  text-decoration: none;
  color: #fff;
  padding-block: 0.625rem;
}
.utility-nav__item-link:focus-visible {
  color: #fff;
  text-decoration: underline;
}
@media (hover: hover) {
  .utility-nav__item-link:hover {
    color: #fff;
    text-decoration: underline;
  }
}

/* ==========================================================================
	Accordion
============================================================================= */
.accordion {
  background-color: #d0dd28;
  padding-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.accordion__header {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 100%;
  margin-block-end: 1.875rem;
  margin-inline: auto;
}
@media (min-width:46.25rem) {
  .accordion__header {
    width: 66%;
    gap: 1.875rem;
  }
}

.accordion__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
  text-align: center;
  color: #000;
}

.accordion__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  text-align: center;
}

.accordion__item {
  background-image: url("../images/line_pattern_color.svg");
  background-repeat: repeat-x;
  background-position: right bottom;
  overflow: visible;
}
.accordion__item:last-child {
  background-image: none;
}

.accordion__item-button {
  inline-size: 100%;
  text-align: start;
}

.accordion__item-button-inner {
  display: grid;
  align-items: center;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  padding-block: 2.5rem 3rem;
}
.state-swap-enabled.state-swap-active .accordion__item-button-inner {
  padding-block: 2.5rem 0.5rem;
}
@media (min-width:46.25rem) {
  .accordion__item-button-inner {
    padding-block: 3.75rem 4.25rem;
  }
  .state-swap-enabled.state-swap-active .accordion__item-button-inner {
    padding-block: 3.75rem 0.5rem;
  }
}

.accordion__item-button-label {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 0.625rem;
}

.accordion__item-button-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: clamp(2rem, 1.65278rem + (1.1111111111vw), 2.5rem);
  line-height: 0.9;
}

.accordion__item-button-icon {
  inline-size: 2.8125rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  mask: url("../images/button_toggle_bgnd.svg");
  mask-repeat: no-repeat;
  mask-size: 2.8125rem 2.25rem;
  min-height: 2.25rem;
  transition-duration: var(--transition-base-speed);
  transition-property: opacity, background-color, rotate, translate;
}
:where(.accordion__item.state-swap-active) .accordion__item-button-icon {
  rotate: 90deg;
  background-color: #000;
}
@media print {
  .accordion__item-button-icon {
    display: none;
  }
}
.accordion__item-button-icon::before, .accordion__item-button-icon::after {
  block-size: 0.125rem;
  inline-size: 0.875rem;
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  background-color: #000;
  border-radius: 0.125rem;
  content: "";
  transition-duration: var(--transition-base-speed);
  transition-property: opacity, background-color, rotate, translate;
}
.accordion__item-button-icon::before {
  rotate: -90deg;
}
:where(.accordion__item.state-swap-active) .accordion__item-button-icon::before {
  rotate: -90deg;
  background-color: #d0dd28;
}
.accordion__item-button-icon::after {
  rotate: 0deg;
}
:where(.accordion__item.state-swap-active) .accordion__item-button-icon::after {
  rotate: -90deg;
  background-color: #d0dd28;
}
:where(.no-js) .accordion__item-button-icon {
  display: none;
}

.accordion__item-content {
  display: none;
  overflow: hidden;
  padding-block: 1.25rem 4.25rem;
}
@media print {
  .accordion__item-content {
    display: block;
  }
}
:where(.accordion__item.state-swap-active) .accordion__item-content, :where(.no-js) .accordion__item-content {
  display: block;
}

/* ==========================================================================
	Alert
============================================================================= */
.alert {
  position: relative;
  background-color: #FFCA3A;
}
.alert.alert--enabled {
  display: none;
}
.alert.alert--visible {
  display: block;
}

.alert__inner {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  padding-block: 1.875rem;
}

.alert__header-icon .icon {
  fill: #D72A1D;
}

.alert__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
  margin-inline-end: 6.25rem;
}
@media print {
  .alert__title {
    margin-inline-end: 0;
  }
}

.alert__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.4;
}
.alert__description a {
  font-weight: unset;
  color: inherit;
}

.alert__close {
  display: flex;
  margin-inline-start: auto;
}
@media print {
  .alert__close {
    display: none;
  }
}
:where(.no-js) .alert__close {
  display: none;
}
.alert__close .button__label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}
.alert__close .icon {
  fill: #D72A1D;
}

/* ==========================================================================
	Card Group
============================================================================= */
.card-group {
  padding-block-start: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
  background-color: #fff;
}
.card-group.comp_style__alt {
  background-color: #d0dd28;
}

.card-group__header {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  justify-content: space-between;
  margin-block-end: 1.875rem;
}
@media (min-width:46.25rem) {
  .card-group__header {
    flex-direction: row;
  }
}

.card-group__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
  color: #000;
  flex: 1 0 50%;
}
.card-group__title:last-child {
  text-align: center;
}

.card-group__header-inner {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex: 0 0 41.6%;
}

.card-group__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.card-group__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width:46.25rem) {
  .card-group__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width:76.25rem) {
  .card-group__items {
    grid-template-columns: repeat(4, 1fr);
  }
}

.card-group__item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card-group__item:after {
  position: relative;
  content: "";
  border-bottom: 0.0625rem solid rgba(98, 187, 70, 0.4);
  height: auto;
  display: block;
}
@media (min-width:46.25rem) {
  .card-group__item:after {
    position: absolute;
    content: "";
    top: 4em;
    right: calc(-1em - 0.03125rem);
    bottom: 4em;
    border-right: 0.0625rem solid rgba(98, 187, 70, 0.4);
    height: auto;
  }
}
.card-group__item:last-child:after {
  border-right: none;
  border-bottom: none;
}
@media (min-width:31.25rem) and (max-width:76.1875rem) {
  .card-group__item:nth-child(2):after {
    border-right: none;
  }
}
@media (min-width:76.25rem) {
  .card-group__item:nth-child(4):after {
    border-right: none;
  }
}

.card-group__item-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: clamp(1.25rem, 1.03299rem + (0.6944444444vw), 1.5625rem);
  margin-block-end: 2rem;
}
@media (min-width:46.25rem) {
  .card-group__item-link {
    margin-block-end: 0;
  }
}

.card-group__item-figure {
  display: block;
  position: relative;
}

.card-group__item-figure-media {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 0;
  transition-duration: var(--transition-base-speed);
  transition-property: border-radius;
  transition-timing-function: var(--transition-base-timing);
}
.card-group__item-link:hover .card-group__item-figure-media {
  border-radius: 1.25rem;
}

.card-group__item-image {
  display: block;
  width: 100%;
  height: auto;
  block-size: auto;
  max-inline-size: 100%;
  vertical-align: middle;
  transition-duration: var(--transition-base-speed);
  transition-property: scale;
  transition-timing-function: var(--transition-base-timing);
}
.card-group__item-link:hover .card-group__item-image {
  scale: 1.05;
}

.card-group__item-wrapper {
  position: relative;
  display: flex;
  gap: 1.25rem;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  background-color: rgba(208, 221, 40, 0);
  border-radius: 1.25rem;
  transition-duration: var(--transition-base-speed);
  transition-property: background-color;
  transition-timing-function: var(--transition-base-timing);
}
.card-group__item-link:hover .card-group__item-wrapper {
  background-color: rgba(208, 221, 40, 0.6);
}
.comp_style__alt .card-group__item-link:hover .card-group__item-wrapper {
  background-color: rgba(255, 255, 255, 0.4);
}
.comp_style__alt .card-group__item-wrapper {
  background-color: rgba(255, 255, 255, 0);
}

.card-group__item-body {
  display: grid;
  grid-template-columns: 100%;
  gap: 0.625rem;
  align-items: start;
  padding-block-start: 2.125rem;
  padding-inline: 1.25rem;
}

.card-group__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: clamp(2rem, 1.65278rem + (1.1111111111vw), 2.5rem);
  line-height: 0.9;
  color: #000;
  text-decoration: none;
  transition-duration: var(--transition-base-speed);
  transition-property: -webkit-text-decoration;
  transition-property: text-decoration;
  transition-property: text-decoration, -webkit-text-decoration;
  transition-timing-function: var(--transition-base-timing);
}
.card-group__item-link:hover .card-group__item-title {
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-decoration-thickness: 2%; /* 0.8px */
  text-underline-position: from-font;
}

.card-group__item-description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  color: #000;
  text-wrap: pretty;
  overflow-wrap: break-word;
}

.card-group__item-links {
  padding: 1.25rem;
  padding-block-end: 2.5rem;
}

.card-group__border {
  background-color: #005f40;
  mask: url("../images/band_pattern_2.svg");
  mask-repeat: repeat-x;
  mask-size: 60rem 5rem;
  height: 5rem;
  margin-block-start: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

/* ==========================================================================
	Contact
============================================================================= */
.contact-info {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.contact-info__header {
  display: grid;
  align-items: center;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  margin-block-end: 1.875rem;
}

.contact-info__name {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}

.contact-info__title {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.contact-info__figure {
  inline-size: 3.75rem;
}

.contact-info__image {
  block-size: auto;
  inline-size: 100%;
  border-radius: 50%;
}

.contact-info__details {
  /* stylelint-disable */
  --grid-gap: var(--fw-column-gap);
  --grid-columns: 5;
  --grid-item-min: 12.5rem;
  --grid-gaps: calc(var(--grid-columns) - 1);
  --grid-gap-width: calc(var(--grid-gaps) * var(--grid-gap));
  --grid-item-max: calc((100% - var(--grid-gap-width)) / var(--grid-columns));
  /* stylelint-enable */
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-min), var(--grid-item-max)), 1fr));
  row-gap: 1.875rem;
}

.contact-info__detail {
  display: grid;
  align-content: start;
  gap: 0.625rem;
  grid-template-columns: 100%;
  grid-template-rows: max-content;
}

.contact-info__detail-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.contact-info__detail-items {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.contact-info__detail-item {
  display: grid;
  gap: 0.3125rem;
  grid-template-columns: 100%;
}

.contact-info__detail-item-header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.contact-info__detail-item-header-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.contact-info__detail-item-body {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.contact-info__socials {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}

.contact-info__social-link-inner {
  display: inline-flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 0.625rem;
}

/* ==========================================================================
	Cookie Notice
============================================================================= */
.cookie-notice {
  max-inline-size: 34.375rem;
  position: fixed;
  inset-block-end: 0;
  inset-inline-end: 0;
  z-index: 9999;
  background-color: var(--color-white);
  box-shadow: rgba(0, 0, 0, 0.24) 0 0.1875rem 0.5rem;
  opacity: 0;
  transition-duration: var(--transition-base-speed);
  transition-property: opacity, visibility;
  visibility: hidden;
}
.cookie-notice.cookie-notice--visible {
  opacity: 1;
  visibility: visible;
}
:where(.no-js) .cookie-notice {
  display: none;
}

.cookie-notice__inner {
  position: relative;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
  padding: 1.875rem;
}

.cookie-notice__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: #005f40;
}

.cookie-notice__description :where(a) {
  font-weight: 700;
  text-decoration: underline;
}
.cookie-notice__description :where(a):focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .cookie-notice__description :where(a):hover {
    color: var(--color-black);
  }
}

.cookie-notice__footer {
  display: flex;
  gap: 0.625rem;
}

/* ==========================================================================
	Department List
============================================================================= */
.department-list {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.department-list__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.department-list__row {
  border-block-start: 0.0625rem solid;
  padding-block: 1.875rem;
}

.department-list__item {
  display: grid;
  grid-template-columns: 100%;
}

.department-list__item-header {
  display: grid;
  align-items: center;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  margin-block-end: 1.875rem;
}

.department-list__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}

.department-list__item-title-link {
  text-decoration: underline;
}
.department-list__item-title-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .department-list__item-title-link:hover {
    color: var(--color-black);
  }
}

.department-list__item-figure {
  inline-size: 3.75rem;
}

.department-list__item-image {
  block-size: auto;
  inline-size: 100%;
  border-radius: 50%;
}

.department-list__item-details {
  /* stylelint-disable */
  --grid-gap: var(--fw-column-gap);
  --grid-columns: 3;
  --grid-item-min: 12.5rem;
  --grid-gaps: calc(var(--grid-columns) - 1);
  --grid-gap-width: calc(var(--grid-gaps) * var(--grid-gap));
  --grid-item-max: calc((100% - var(--grid-gap-width)) / var(--grid-columns));
  /* stylelint-enable */
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-min), var(--grid-item-max)), 1fr));
  row-gap: 1.875rem;
}

.department-list__item-detail {
  display: grid;
  align-content: start;
  gap: 0.625rem;
  grid-template-columns: 100%;
  grid-template-rows: max-content;
}

.department-list__item-detail-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.department-list__item-detail-items {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.department-list__item-detail-item {
  display: grid;
  gap: 0.3125rem;
  grid-template-columns: 100%;
}

.department-list__item-detail-item-header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.department-list__item-detail-item-header-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.department-list__item-detail-item-body {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.department-list__pagination {
  margin-block-start: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

/* ==========================================================================
	Department Meta
============================================================================= */
.department-meta {
  color: var(--header-color);
  background-color: var(--header-background-color);
}

.department-meta__inner {
  padding-block: 1.875rem;
}

.department-meta__details {
  /* stylelint-disable */
  --grid-gap: var(--fw-column-gap);
  --grid-columns: 5;
  --grid-item-min: 12.5rem;
  --grid-gaps: calc(var(--grid-columns) - 1);
  --grid-gap-width: calc(var(--grid-gaps) * var(--grid-gap));
  --grid-item-max: calc((100% - var(--grid-gap-width)) / var(--grid-columns));
  /* stylelint-enable */
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-min), var(--grid-item-max)), 1fr));
  row-gap: 1.875rem;
}

.department-meta__detail {
  display: grid;
  align-content: start;
  gap: 0.625rem;
  grid-template-columns: 100%;
  grid-template-rows: max-content;
}

.department-meta__detail-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.department-meta__detail-items {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.department-meta__detail-item {
  display: grid;
  gap: 0.3125rem;
  grid-template-columns: 100%;
}

.department-meta__detail-item-header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.department-meta__detail-item-header-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.department-meta__detail-item-body {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
  display: block;
}

.department-meta__socials {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}

.department-meta__social-link-inner {
  display: inline-flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 0.625rem;
}

/* ==========================================================================
	Detail
============================================================================= */
.detail-media {
  margin-block: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

.detail-image {
  block-size: auto;
  inline-size: 100%;
}

/* ==========================================================================
	Event Actions
============================================================================= */
.event-actions__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.event-actions__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

/* ==========================================================================
	Event Entry
============================================================================= */
.event-entry__media {
  margin-block: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

.event-entry__image {
  block-size: auto;
  inline-size: 100%;
}

.event-entry__actions {
  margin-block: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

/* ==========================================================================
	Event Feature
============================================================================= */
.event-feature {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.event-feature__item {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}
@media (min-width:46.25rem) and (max-width:61.1875rem) {
  .event-feature__item {
    display: block;
  }
}
@media (min-width:61.25rem) {
  .event-feature__item {
    gap: var(--fw-column-gap);
    grid-template-columns: minmax(0, 1fr) var(--fw-columns-5);
  }
}
@media (min-width:76.25rem) {
  .event-feature__item {
    align-items: center;
  }
}

@media (min-width:46.25rem) and (max-width:61.1875rem) {
  .event-feature__item-figure {
    inline-size: 40%;
    float: inline-end;
    margin-block-end: 1.875rem;
    margin-inline-start: 1.875rem;
  }
}
@media (min-width:61.25rem) {
  .event-feature__item-figure {
    order: 2;
  }
}

.event-feature__item-figure-link {
  display: block;
}

.event-feature__item-image {
  block-size: auto;
  inline-size: 100%;
}

.event-feature__item-header {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.9375rem;
}
@media (min-width:61.25rem) {
  .event-feature__item-header {
    margin-block-end: 1.25rem;
  }
}

.event-feature__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.event-feature__item-title-link {
  text-decoration: underline;
}
.event-feature__item-title-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .event-feature__item-title-link:hover {
    color: var(--color-black);
  }
}

.event-feature__item-description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  margin-block-end: 1.25rem;
}

.event-feature__item-details {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.event-feature__item-detail {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 0.875rem minmax(0, 1fr);
}

.event-feature__item-detail-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.event-feature__item-detail-icon {
  position: relative;
  inset-block-start: 0.25rem;
}

.event-feature__item-detail-list {
  display: flex;
  flex-flow: row wrap;
  gap: 0.625rem;
}

/* ==========================================================================
	Event List
============================================================================= */
.event-list {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.event-list__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.event-list__row {
  border-block-start: 0.0625rem solid;
  padding-block: 1.875rem;
}

@media (max-width:31.1875rem) {
  .event-list__item {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 100%;
  }
}
@media (min-width:46.25rem) {
  .event-list__item {
    display: flex;
    gap: var(--fw-column-gap);
  }
}
@media (min-width:76.25rem) {
  .event-list__item {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) var(--fw-columns-4);
  }
}

@media (min-width:31.25rem) and (max-width:46.1875rem) {
  .event-list__item-figure {
    inline-size: 30.5%;
    float: inline-end;
    margin-block-end: 1.25rem;
    margin-inline-start: 1.25rem;
  }
}
@media (min-width:46.25rem) {
  .event-list__item-figure {
    flex: 0 0 var(--fw-columns-2);
    order: 2;
  }
}
@media (min-width:61.25rem) {
  .event-list__item-figure {
    flex-basis: var(--fw-columns-4);
  }
}

.event-list__item-image {
  block-size: auto;
  inline-size: 100%;
}

.event-list__item-figure-link {
  display: block;
}

.event-list__item-figure-image {
  block-size: auto;
  inline-size: 100%;
}

@media (min-width:46.25rem) {
  .event-list__item-wrapper {
    flex: 1%;
  }
}

.event-list__item-header {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.9375rem;
}
@media (min-width:61.25rem) {
  .event-list__item-header {
    margin-block-end: 1.25rem;
  }
}

.event-list__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}

.event-list__item-title-link {
  text-decoration: underline;
}
.event-list__item-title-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .event-list__item-title-link:hover {
    color: var(--color-black);
  }
}

@media (min-width:76.25rem) {
  .event-list__item-body {
    display: flex;
    align-items: flex-start;
  }
}

.event-list__item-description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  margin-block-end: 1.25rem;
}
@media (min-width:76.25rem) {
  .event-list__item-description {
    flex: 0 0 47%;
    margin-inline-end: auto;
  }
}

.event-list__item-details {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}
@media (min-width:76.25rem) {
  .event-list__item-details {
    flex: 0 0 47%;
  }
}

.event-list__item-detail {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 0.875rem minmax(0, 1fr);
}

.event-list__item-detail-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.event-list__item-detail-icon {
  position: relative;
  inset-block-start: 0.25rem;
}

.event-list__item-detail-list {
  display: flex;
  flex-flow: row wrap;
  gap: 0.625rem;
}

.event-list__pagination {
  margin-block-start: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

/* ==========================================================================
	Event Meta
============================================================================= */
.event-meta {
  color: var(--header-color);
  background-color: var(--header-background-color);
}

.event-meta__inner {
  padding-block: 1.875rem;
}
@media (min-width:61.25rem) {
  .event-meta__inner {
    display: grid;
    align-items: center;
    gap: 1.875rem;
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}

.event-meta__details {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
  display: flex;
  gap: 1.25rem;
}
@media (max-width:61.1875rem) {
  .event-meta__details {
    flex-direction: column;
  }
}
@media (min-width:61.25rem) {
  .event-meta__details {
    flex-wrap: wrap;
    gap: 2.5rem;
  }
}

.event-meta__detail {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 0.875rem minmax(0, 1fr);
}

.event-meta__detail-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.event-meta__detail-icon {
  position: relative;
  inset-block-start: 0.25rem;
}

.event-meta__detail-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

/* ==========================================================================
	Related Events
============================================================================= */
.event-related {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.event-related__header {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
  margin-block-end: 1.875rem;
}

.event-related__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.event-related__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.event-related__items {
  display: grid;
  gap: 1.875rem var(--fw-column-gap);
  grid-template-columns: 100%;
}
@media (min-width:61.25rem) {
  .event-related__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:61.1875rem) {
  .event-related__item-figure {
    display: none;
  }
}
@media (min-width:61.25rem) {
  .event-related__item-figure {
    margin-block-end: 1.25rem;
  }
}

.event-related__item-figure-link {
  display: block;
}

.event-related__item-image {
  block-size: auto;
  inline-size: 100%;
}

.event-related__item-header {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.9375rem;
}
@media (min-width:61.25rem) {
  .event-related__item-header {
    margin-block-end: 1.25rem;
  }
}

.event-related__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: #005f40;
}

.event-related__item-title-link {
  text-decoration: underline;
}
.event-related__item-title-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .event-related__item-title-link:hover {
    color: var(--color-black);
  }
}

.event-related__item-description {
  display: none;
}
@media (min-width:61.25rem) {
  .event-related__item-description {
    font-family: "IBM Plex Sans", sans-serif;
    font-optical-sizing: auto;
    font-size: var(--font-size-body-text);
    line-height: var(--line-height-body-text);
    display: block;
    margin-block-end: 1.25rem;
  }
}

.event-related__item-details {
  display: none;
}
@media (min-width:61.25rem) {
  .event-related__item-details {
    font-size: var(--font-size-small-text);
    line-height: var(--line-height-small-text);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 100%;
  }
}

.event-related__item-detail {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 0.875rem minmax(0, 1fr);
}

.event-related__item-detail-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.event-related__item-detail-icon {
  position: relative;
  inset-block-start: 0.25rem;
}

.event-related__item-detail-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

/* ==========================================================================
	Filter
============================================================================= */
.filter {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}
@media print {
  .filter {
    display: none;
  }
}
:where(.no-js) .filter {
  display: none;
}

.filter__inner {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 100%;
}

.filter__form {
  --grid-template-columns: 100%;
  display: grid;
  gap: 0.625rem 1.25rem;
  grid-template-columns: var(--grid-template-columns);
}
@media (min-width:46.25rem) {
  .filter__form:has(.filter__form-item:nth-child(3):last-child) {
    --grid-template-columns: repeat(3, auto);
  }
}
@media (min-width:46.25rem) {
  .filter__form:has(.filter__form-item:nth-child(4):last-child) {
    --grid-template-columns: repeat(3, auto);
  }
}
@media (min-width:61.25rem) {
  .filter__form:has(.filter__form-item:nth-child(4):last-child) {
    --grid-template-columns: repeat(3, auto) max-content;
  }
}
@media (min-width:46.25rem) {
  .filter__form:has(.filter__form-item:nth-child(5):last-child) {
    --grid-template-columns: auto auto;
  }
}
@media (min-width:76.25rem) {
  .filter__form:has(.filter__form-item:nth-child(5):last-child) {
    --grid-template-columns: repeat(4, auto);
  }
}
@media (min-width:46.25rem) {
  .filter__form:has(.filter__form-item:nth-child(6):last-child) {
    --grid-template-columns: auto auto;
    --action-grid-column: 1 / -1;
  }
}
@media (min-width:61.25rem) {
  .filter__form:has(.filter__form-item:nth-child(6):last-child) {
    --grid-template-columns: repeat(3, auto);
  }
}
@media (min-width:76.25rem) {
  .filter__form:has(.filter__form-item:nth-child(6):last-child) {
    --grid-template-columns: repeat(4, auto);
  }
}
@media (min-width:87.125rem) {
  .filter__form:has(.filter__form-item:nth-child(6):last-child) {
    --grid-template-columns: repeat(5, auto);
  }
}

.filter__form-item {
  display: grid;
  row-gap: 0.625rem;
}
@media (min-width:46.25rem) {
  .filter__form-item {
    grid-row: span 2;
    grid-template-rows: subgrid;
  }
}

.filter__form-item--action {
  grid-column: var(--action-grid-column, auto);
}

.filter__form-item-label {
  display: block;
}

.filter__form-item-select-wrapper {
  position: relative;
  display: inline-block;
}
.filter__form-item-select-wrapper select {
  inline-size: 100%;
  display: inline-block;
  color: inherit;
  line-height: normal;
  appearance: none;
  background: none;
  border: 0.0625rem solid;
  cursor: pointer;
  margin: 0;
  outline: 0;
  padding-block: 0.875rem;
  padding-inline: 1.25rem 2.5rem;
}
.filter__form-item-select-wrapper select:focus, .filter__form-item-select-wrapper select:active {
  box-shadow: 0 0 0.25rem 0.25rem var(--focus-ring-color);
}
.filter__form-item-select-wrapper {
  display: block;
}

.filter__form-item-select {
  block-size: 100%;
}
.filter__form-item-select-icon {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.25rem;
  translate: 0 -50%;
  pointer-events: none;
}

.filter__form-item-search-input {
  block-size: 100%;
  inline-size: 100%;
  flex: 1;
  appearance: none;
  border: 0.0625rem solid;
  padding-block: 0.9375rem;
  padding-inline: 1.25rem;
}

.filter__form-item-submit {
  grid-row: 2;
}

/* Results
============================================================================= */
.filter__results {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}
@media (min-width:46.25rem) {
  .filter__results {
    align-items: center;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}

.filter__results-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
  color: #005f40;
}

.filter__results-category {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  display: block;
}
@media (min-width:31.25rem) {
  .filter__results-category {
    display: inline;
  }
}

.filter__results-reset-link {
  display: inline-block;
  text-decoration: underline;
  border: 0.0625rem solid;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
}
.filter__results-reset-link:focus-visible {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media (hover: hover) {
  .filter__results-reset-link:hover {
    color: var(--color-white);
    background-color: var(--color-black);
  }
}

.filter__results-reset-link-inner {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.filter__results-reset-link-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.filter__results-reset-link-icon {
  inline-size: 1.25rem;
  aspect-ratio: 1;
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: 100%;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 50%;
}

/* ==========================================================================
    Gallery
============================================================================= */
.gallery {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.gallery__header {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 100%;
  margin-block-end: 3.75rem;
  text-align: center;
}
@media (min-width:46.25rem) {
  .gallery__header {
    max-width: 50%;
    margin-inline: auto;
  }
}

.gallery__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.gallery__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.gallery__items {
  display: grid;
  gap: 3.75rem var(--fw-column-gap);
  grid-template-columns: 100%;
}
@media (min-width:46.25rem) {
  .gallery__items {
    grid-template-columns: repeat(3, 1fr);
  }
}

.gallery__row {
  display: grid;
  row-gap: 3.75rem;
  grid-template-columns: 100%;
}
@media (min-width:46.25rem) {
  .gallery__row {
    column-gap: inherit;
    row-gap: 0;
    grid-column: 1/-1;
    grid-template-columns: subgrid;
    grid-template-rows: minmax(0, max-content) 1.25rem minmax(0, max-content);
  }
}

@media (min-width:46.25rem) {
  .gallery__row--50-50 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width:46.25rem) {
  .gallery__row--30-30-30 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width:46.25rem) {
  .gallery__row--100 {
    grid-template-columns: 100%;
  }
}

@media (min-width:46.25rem) {
  .gallery__item {
    display: grid;
    grid-column: span 1;
    grid-row: 1/-1;
    grid-template-rows: subgrid;
  }
}
@media (min-width:46.25rem) {
  :where(.gallery__row--70-30, .gallery__row--30-70) .gallery__item:has(.gallery__item-media--wide) {
    grid-column: span 2;
  }
}

.gallery__item-figure {
  display: grid;
}
@media (max-width:46.1875rem) {
  .gallery__item-figure {
    row-gap: 1.25rem;
  }
}
@media (min-width:46.25rem) {
  .gallery__item-figure {
    grid-row: 1/-1;
    grid-template-rows: subgrid;
  }
}

.gallery__item-media {
  position: relative;
  display: block;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media (min-width:46.25rem) {
  .gallery__item-media {
    grid-row: 1;
  }
}

.gallery__item-media--wide {
  aspect-ratio: var(--aspect-ratio-wide);
}
@media (min-width:46.25rem) {
  .gallery__item-media--wide {
    inline-size: 100%;
  }
}

@media (min-width:46.25rem) {
  .gallery__item-media--portrait {
    inline-size: 100%;
    align-self: stretch;
    overflow: hidden;
  }
}

.gallery__item-image {
  block-size: 100%;
  inline-size: 100%;
  display: block;
  object-fit: cover;
}
@media (min-width:46.25rem) {
  :where(.gallery__item-media--portrait) .gallery__item-image {
    block-size: auto;
    min-block-size: 100%;
    inline-size: auto;
    min-inline-size: 100%;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
  }
}

.gallery__item-caption {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  line-height: 1.4;
  color: #343231;
  display: block;
}
@media (min-width:46.25rem) {
  .gallery__item-caption {
    align-self: start;
    grid-row: 3;
  }
}
.gallery__item-caption :where(a) {
  font-weight: 700;
  text-decoration: underline;
}
.gallery__item-caption :where(a):focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .gallery__item-caption :where(a):hover {
    color: var(--color-black);
  }
}
.gallery__item-caption :where(a) {
  color: #343231;
}

/* ==========================================================================
	Link Group
============================================================================= */
.link-group {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.link-group__header {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
  margin-block-end: 1.875rem;
}

.link-group__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.link-group__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.link-group__list {
  /* stylelint-disable */
  --grid-gap: var(--fw-column-gap);
  --grid-columns: 2;
  --grid-item-min: 20rem;
  --grid-gaps: calc(var(--grid-columns) - 1);
  --grid-gap-width: calc(var(--grid-gaps) * var(--grid-gap));
  --grid-item-max: calc((100% - var(--grid-gap-width)) / var(--grid-columns));
  /* stylelint-enable */
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-min), var(--grid-item-max)), 1fr));
}

.link-group__item {
  border-block-end: 0.0625rem solid;
}

.link-group__link {
  block-size: 100%;
  inline-size: 100%;
  display: block;
  text-decoration: underline;
  padding-block: 1.25rem;
}
.link-group__link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .link-group__link:hover {
    color: var(--color-black);
  }
}

.link-group__link-inner {
  display: grid;
  align-items: center;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) max-content;
}

/* ==========================================================================
	News Feature
============================================================================= */
.news-feature {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.news-feature__item {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}
@media (min-width:46.25rem) and (max-width:61.1875rem) {
  .news-feature__item {
    display: block;
  }
}
@media (min-width:61.25rem) {
  .news-feature__item {
    gap: var(--fw-column-gap);
    grid-template-columns: minmax(0, 1fr) var(--fw-columns-5);
  }
}
@media (min-width:76.25rem) {
  .news-feature__item {
    align-items: center;
  }
}

@media (min-width:46.25rem) and (max-width:61.1875rem) {
  .news-feature__item-figure {
    inline-size: 40%;
    float: inline-end;
    margin-block-end: 1.875rem;
    margin-inline-start: 1.875rem;
  }
}
@media (min-width:61.25rem) {
  .news-feature__item-figure {
    grid-column: 2;
    grid-row: 1;
  }
}

.news-feature__item-figure-link {
  display: block;
}

.news-feature__item-image {
  block-size: auto;
  inline-size: 100%;
}

.news-feature__item-header {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.9375rem;
}
@media (min-width:61.25rem) {
  .news-feature__item-header {
    margin-block-end: 1.25rem;
  }
}

.news-feature__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.news-feature__item-title-link {
  text-decoration: underline;
}
.news-feature__item-title-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .news-feature__item-title-link:hover {
    color: var(--color-black);
  }
}

.news-feature__item-categories {
  margin-block-end: 0.625rem;
}

.news-feature__item-category-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-feature__item-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.news-feature__item-body {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}

.news-feature__item-details {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.news-feature__item-detail {
  display: inline-block;
  vertical-align: middle;
}

:where(.news-feature__item-detail--date) .news-feature__item-detail-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-feature__item-description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

/* ==========================================================================
	News List
============================================================================= */
.news-list {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.news-list__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-list__row {
  border-block-start: 0.0625rem solid;
  padding-block: 1.875rem;
}

@media (max-width:31.1875rem) {
  .news-list__item {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 100%;
  }
}
@media (min-width:46.25rem) {
  .news-list__item {
    display: flex;
    gap: var(--fw-column-gap);
  }
}
@media (min-width:76.25rem) {
  .news-list__item {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) var(--fw-columns-4);
  }
}

.news-list__item-figure {
  block-size: auto;
  inline-size: 100%;
}
@media (min-width:31.25rem) and (max-width:46.1875rem) {
  .news-list__item-figure {
    inline-size: 30.5%;
    float: inline-end;
    margin-block-end: 1.25rem;
    margin-inline-start: 1.25rem;
  }
}
@media (min-width:46.25rem) {
  .news-list__item-figure {
    flex: 0 0 var(--fw-columns-2);
    order: 2;
  }
}
@media (min-width:61.25rem) {
  .news-list__item-figure {
    flex-basis: var(--fw-columns-4);
  }
}

.news-list__item-image {
  block-size: auto;
  inline-size: 100%;
}

.news-list__item-figure-link {
  display: block;
}

@media (min-width:46.25rem) {
  .news-list__item-wrapper {
    flex: 1%;
  }
}

.news-list__item-header {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.9375rem;
}
@media (min-width:61.25rem) {
  .news-list__item-header {
    margin-block-end: 1.25rem;
  }
}

.news-list__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}

.news-list__item-title-link {
  text-decoration: underline;
}
.news-list__item-title-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .news-list__item-title-link:hover {
    color: var(--color-black);
  }
}

.news-list__item-categories {
  margin-block-end: 0.625rem;
}

.news-list__item-category-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-list__item-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.news-list__item-body {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}

.news-list__item-details {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.news-list__item-detail {
  display: inline-block;
  vertical-align: middle;
}

:where(.news-list__item-detail--date) .news-list__item-detail-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-list__item-description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.news-list__pagination {
  margin-block-start: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

/* ==========================================================================
	News Meta
============================================================================= */
.news-meta {
  color: var(--header-color);
  background-color: var(--header-background-color);
}

.news-meta__inner {
  padding-block: 1.875rem;
}
@media (min-width:61.25rem) {
  .news-meta__inner {
    display: grid;
    align-items: center;
    gap: 1.875rem;
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}

.news-meta__body {
  display: flex;
  gap: 1.25rem;
}
@media (max-width:46.1875rem) {
  .news-meta__body {
    flex-direction: column;
  }
}
@media (min-width:46.25rem) {
  .news-meta__body {
    align-items: center;
    flex-wrap: wrap;
    column-gap: 2.5rem;
  }
}

.news-meta__details {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.625rem;
}

:where(.news-meta__detail--date) .news-meta__detail-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-meta__categories-block {
  position: relative;
  padding-inline-start: 1.375rem;
}

.news-meta__categories-icon {
  position: absolute;
  inset-block-start: 0.125rem;
  inset-inline-start: 0;
}

.news-meta__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.news-meta__categories-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-meta__category {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.news-meta__category-link {
  text-decoration: underline;
}
.news-meta__category-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .news-meta__category-link:hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Related News
============================================================================= */
.news-related {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.news-related__header {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
  margin-block-end: 1.875rem;
}

.news-related__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.news-related__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.news-related__items {
  display: grid;
  gap: 1.875rem var(--fw-column-gap);
  grid-template-columns: 100%;
}
@media (min-width:61.25rem) {
  .news-related__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:61.1875rem) {
  .news-related__item-figure {
    display: none;
  }
}
@media (min-width:61.25rem) {
  .news-related__item-figure {
    display: block;
    margin-block-end: 1.25rem;
  }
}

.news-related__item-figure-link {
  display: block;
}

.news-related__item-image {
  block-size: auto;
  inline-size: 100%;
}

@media (min-width:61.25rem) {
  .news-related__item-header {
    display: flex;
    flex-direction: column-reverse;
    margin-block-end: 0.9375rem;
  }
}

.news-related__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: #005f40;
}

.news-related__item-title-link {
  text-decoration: underline;
}
.news-related__item-title-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .news-related__item-title-link:hover {
    color: var(--color-black);
  }
}

.news-related__item-categories {
  display: none;
}
@media (min-width:61.25rem) {
  .news-related__item-categories {
    display: block;
    margin-block-end: 0.625rem;
  }
}

.news-related__item-category-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-related__item-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.news-related__item-body {
  display: none;
}
@media (min-width:61.25rem) {
  .news-related__item-body {
    display: block;
  }
}

.news-related__item-details {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.625rem;
}

:where(.news-related__item-detail--date) .news-related__item-detail-hint {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.news-related__item-description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

/* ==========================================================================
	No Results Message
============================================================================= */
.no-results-message {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

/* ==========================================================================
	People Entry
============================================================================= */
/* ==========================================================================
	People List
============================================================================= */
.people-list {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.people-list__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.people-list__row {
  border-block-start: 0.0625rem solid;
  padding-block: 1.875rem;
}

.people-list__item-header {
  display: grid;
  align-items: center;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  margin-block-end: 1.875rem;
}

.people-list__item-name {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}

.people-list__item-name-link {
  text-decoration: underline;
}
.people-list__item-name-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .people-list__item-name-link:hover {
    color: var(--color-black);
  }
}

.people-list__item-title {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.people-list__item-figure {
  inline-size: 3.75rem;
}

.people-list__item-image {
  block-size: auto;
  inline-size: 100%;
  border-radius: 50%;
}

.people-list__item-details {
  /* stylelint-disable */
  --grid-gap: var(--fw-column-gap);
  --grid-columns: 3;
  --grid-item-min: 12.5rem;
  --grid-gaps: calc(var(--grid-columns) - 1);
  --grid-gap-width: calc(var(--grid-gaps) * var(--grid-gap));
  --grid-item-max: calc((100% - var(--grid-gap-width)) / var(--grid-columns));
  /* stylelint-enable */
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-min), var(--grid-item-max)), 1fr));
  row-gap: 1.875rem;
}

.people-list__item-detail {
  display: grid;
  align-content: start;
  gap: 0.625rem;
  grid-template-columns: 100%;
  grid-template-rows: max-content;
}

.people-list__item-detail-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.people-list__item-detail-items {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.people-list__item-detail-item {
  display: grid;
  gap: 0.3125rem;
  grid-template-columns: 100%;
}

.people-list__item-detail-item-header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.people-list__item-detail-item-header-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.people-list__item-detail-item-body {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.people-list__pagination {
  margin-block-start: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

/* ==========================================================================
	People Meta
============================================================================= */
.people-meta {
  color: var(--header-color);
  background-color: var(--header-background-color);
}

.people-meta__inner {
  padding-block: 1.875rem;
}

@media (min-width:61.25rem) {
  .people-meta__body {
    display: flex;
    align-items: start;
    flex-direction: row-reverse;
    gap: 1.875rem;
  }
}

.people-meta__figure {
  block-size: auto;
  inline-size: 100%;
}
@media (max-width:61.1875rem) {
  .people-meta__figure {
    block-size: 7.1875rem;
    margin-block-end: 1.25rem;
  }
}
@media (min-width:61.25rem) {
  .people-meta__figure {
    flex: 0 0 12.5rem;
    margin-inline-start: auto;
  }
}

.people-meta__image {
  border-radius: 50%;
}

.people-meta__details {
  /* stylelint-disable */
  --grid-gap: var(--fw-column-gap);
  --grid-columns: 5;
  --grid-item-min: 12.5rem;
  --grid-gaps: calc(var(--grid-columns) - 1);
  --grid-gap-width: calc(var(--grid-gaps) * var(--grid-gap));
  --grid-item-max: calc((100% - var(--grid-gap-width)) / var(--grid-columns));
  /* stylelint-enable */
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-min), var(--grid-item-max)), 1fr));
  row-gap: 1.875rem;
}
@media (min-width:46.25rem) {
  .people-meta__details {
    flex: 1;
  }
}

.people-meta__detail {
  display: grid;
  align-content: start;
  gap: 0.625rem;
  grid-template-columns: 100%;
  grid-template-rows: max-content;
}

.people-meta__detail-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.people-meta__detail-items {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.people-meta__detail-item {
  display: grid;
  gap: 0.3125rem;
  grid-template-columns: 100%;
}

.people-meta__detail-item-header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.people-meta__detail-item-header_label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.people-meta__detail-item-body {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
  display: block;
}

.people-meta__socials {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}

.people-meta__social-link-inner {
  display: inline-flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 0.625rem;
}

/* ==========================================================================
	Related People
============================================================================= */
.related-people {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.related-people__header {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
  margin-block-end: 1.875rem;
}

.related-people__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.related-people__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.related-people__row {
  border-block-start: 0.0625rem solid;
  padding-block: 1.875rem;
}

.related-people__item-header {
  display: grid;
  align-items: center;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  margin-block-end: 1.875rem;
}

.related-people__item-name {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}

.related-people__item-name-link {
  text-decoration: underline;
}
.related-people__item-name-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .related-people__item-name-link:hover {
    color: var(--color-black);
  }
}

.related-people__item-title {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.related-people__item-figure {
  inline-size: 3.75rem;
}

.related-people__item-image {
  block-size: auto;
  inline-size: 100%;
  border-radius: 50%;
}

.related-people__item-details {
  /* stylelint-disable */
  --grid-gap: var(--fw-column-gap);
  --grid-columns: 3;
  --grid-item-min: 12.5rem;
  --grid-gaps: calc(var(--grid-columns) - 1);
  --grid-gap-width: calc(var(--grid-gaps) * var(--grid-gap));
  --grid-item-max: calc((100% - var(--grid-gap-width)) / var(--grid-columns));
  /* stylelint-enable */
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-min), var(--grid-item-max)), 1fr));
  row-gap: 1.875rem var(--fw-column-gap);
}

.related-people__item-detail {
  display: grid;
  align-content: start;
  gap: 0.625rem;
  grid-template-columns: 100%;
  grid-template-rows: max-content;
}

.related-people__item-detail-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.related-people__item-detail-items {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.related-people__item-detail-item {
  display: grid;
  gap: 0.3125rem;
  grid-template-columns: 100%;
}

.related-people__item-detail-item-header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.related-people__item-detail-item-header-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.related-people__item-detail-item-body {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

/* ==========================================================================
	Program List
============================================================================= */
.program-list {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.program-list__header {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.program-list__items {
  border-block-start: 0.0625rem solid;
}

.program-list__item {
  border-block-end: 0.0625rem solid;
}

.program-list__item-button {
  inline-size: 100%;
  text-align: start;
  text-decoration: underline;
}

.program-list__item-button-inner {
  display: grid;
  align-items: center;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  padding-block: 1.25rem;
}

.program-list__item-button-label {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 0.625rem;
}

.program-list__item-button-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: #005f40;
}

.program-list__item-button-mode {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
  display: block;
}

.program-list__item-button-mode-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.program-list__item-button-mode-data {
  white-space: nowrap;
}

.program-list__item-button-icon {
  inline-size: 2.8125rem;
  aspect-ratio: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-black);
  border-radius: 50%;
  transition: background-color var(--transition-base-speed);
}
@media print {
  .program-list__item-button-icon {
    display: none;
  }
}
.program-list__item-button-icon::before, .program-list__item-button-icon::after {
  block-size: 0.125rem;
  inline-size: 1.25rem;
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  background-color: var(--color-white);
  border-radius: 0.125rem;
  content: "";
  transition-duration: var(--transition-base-speed);
  transition-property: opacity, rotate, translate;
}
:where(.program-list__item.state-swap-active) .program-list__item-button-icon::before {
  rotate: -45deg;
}
.program-list__item-button-icon::after {
  rotate: 90deg;
}
:where(.program-list__item.state-swap-active) .program-list__item-button-icon::after {
  rotate: 45deg;
}
:where(.no-js) .program-list__item-button-icon {
  display: none;
}

.program-list__item-content {
  display: none;
  overflow: hidden;
  padding-block: 0.625rem 2.5rem;
}
@media print {
  .program-list__item-content {
    display: block;
  }
}
:where(.program-list__item.state-swap-active) .program-list__item-content, :where(.no-js) .program-list__item-content {
  display: block;
}

.program-list__item-content-inner {
  display: grid;
  gap: 1.875rem var(--fw-column-gap);
  grid-template-columns: 100%;
}
@media (min-width:46.25rem) {
  .program-list__item-content-inner {
    grid-template-columns: minmax(0, 1fr) var(--fw-columns-2);
  }
}
@media (min-width:61.25rem) {
  .program-list__item-content-inner {
    grid-template-columns: minmax(0, 1fr) var(--fw-columns-4);
  }
}

.program-list__item-content-group {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 100%;
}

.program-list__item-description :where(p:first-child) {
  margin-block-start: 0;
}
.program-list__item-description :where(p:last-child) {
  margin-block-end: 0;
}

.program-list__item-details {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}
@media (min-width:46.25rem) {
  .program-list__item-details {
    text-align: end;
  }
}

.program-list__item-detail {
  border-block-end: 0.0625rem solid;
  padding-block: 0.625rem;
}

.program-list__item-detail-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.program-list__item-detail-data_-link {
  text-decoration: underline;
}
.program-list__item-detail-data_-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .program-list__item-detail-data_-link:hover {
    color: var(--color-black);
  }
}

.program-list__pagination {
  margin-block-start: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

/* ==========================================================================
	Program Meta
============================================================================= */
.program-meta {
  color: var(--header-color);
  background-color: var(--header-background-color);
}

.program-meta__inner {
  padding-block: 1.875rem;
}

.program-meta__details {
  display: flex;
  gap: 1.25rem;
}
@media (max-width:46.1875rem) {
  .program-meta__details {
    flex-direction: column;
  }
}
@media (min-width:46.25rem) {
  .program-meta__details {
    flex-wrap: wrap;
    gap: 2.5rem;
  }
}

.program-meta__detail {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
}

.program-meta__detail-label {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.program-meta__detail-data {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.program-meta__detail-data-link {
  text-decoration: underline;
}
.program-meta__detail-data-link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .program-meta__detail-data-link:hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Search Results
============================================================================= */
.search-results {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

/* ==========================================================================
	Share
============================================================================= */
.share-tools {
  position: relative;
  display: inline-block;
}
@media (max-width:61.1875rem), print {
  .share-tools {
    display: none;
  }
}
@media (min-width:61.25rem) {
  :where(.no-js) .share-tools {
    display: none;
  }
}

.share-tools--top {
  --list-translate: 0 calc(-100% - 0.625rem) 0;
  --item-translate: 0 6.25rem 0;
}

.share-tools--right {
  --list-inset-block-start: 50%;
  --list-translate: calc(100% + 0.625rem) -50% 0;
  --item-translate: -10.375rem 0 0;
}

.share-tools--bottom {
  --list-inset-block-start: calc(100% + 0.625rem);
  --item-translate: 0 -6.25rem 0;
}

.share-tools--left {
  --list-inset-block-start: 50%;
  --list-translate: calc(-100% - 0.625rem) -50% 0;
  --item-translate: 10.375rem 0 0;
}

.share-tools__title {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

.share-tools__button {
  position: relative;
  z-index: 2;
}

.share-tools__list {
  position: absolute;
  inset-block-start: var(--list-inset-block-start, 0);
  translate: var(--list-translate, none);
  display: flex;
}

.share-tools__item {
  translate: var(--item-translate);
  opacity: 0;
  transition-delay: 0;
  transition-duration: var(--transition-base-speed);
  transition-property: opacity, translate;
}
:where(.share-tools.state-swap-active) .share-tools__item {
  translate: 0 0 0;
  opacity: 1;
  transition-delay: var(--item-translate-delay);
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(1) {
  --item-translate-delay: 0.1s;
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(2) {
  --item-translate-delay: 0.2s;
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(3) {
  --item-translate-delay: 0.3s;
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(4) {
  --item-translate-delay: 0.4s;
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(5) {
  --item-translate-delay: 0.5s;
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(6) {
  --item-translate-delay: 0.6s;
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(7) {
  --item-translate-delay: 0.7s;
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(8) {
  --item-translate-delay: 0.8s;
}

:where(.share-tools.state-swap-active) .share-tools__item:nth-child(9) {
  --item-translate-delay: 0.9s;
}

.share-tools__link {
  display: block;
  padding: 0.625rem;
  transition: color var(--transition-base-speed);
}
.share-tools__link:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .share-tools__link:hover {
    color: var(--color-black);
  }
}

.share-tools__link-label {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* ==========================================================================
	Stat Group
============================================================================= */
.stat-group {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.stat-group__header {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
  margin-block-end: 1.875rem;
}

.stat-group__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.stat-group__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.stat-group__items {
  /* stylelint-disable */
  --grid-gap: var(--fw-column-gap);
  --grid-columns: 4;
  --grid-item-min: 12.5rem;
  --grid-gaps: calc(var(--grid-columns) - 1);
  --grid-gap-width: calc(var(--grid-gaps) * var(--grid-gap));
  --grid-item-max: calc((100% - var(--grid-gap-width)) / var(--grid-columns));
  /* stylelint-enable */
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-min), var(--grid-item-max)), 1fr));
  row-gap: 1.875rem;
}

.stat-group__item-value {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}

.stat-group__item-context {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}
.stat-group__item-context :where(a) {
  font-weight: 700;
  text-decoration: underline;
}
.stat-group__item-context :where(a):focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .stat-group__item-context :where(a):hover {
    color: var(--color-black);
  }
}

/* ==========================================================================
	Topic Row
============================================================================= */
.topic-row__header {
  max-width: 66%;
  display: grid;
  gap: 0.625rem;
  grid-template-columns: 100%;
  text-align: center;
  margin-block-start: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
  margin-block-end: 1.875rem;
  margin-inline: auto;
}

.topic-row__title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.topic-row__description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.topic-row__items {
  display: grid;
  grid-template-columns: 100%;
}

.topic-row__item {
  padding-block-start: clamp(2.5rem, -0.97222rem + (11.1111111111vw), 7.5rem);
}
.topic-row__item.alt-item {
  background-color: #62bb46;
}

.topic-row__item-inner {
  display: flex;
  flex-direction: column;
}
@media (min-width:61.25rem) {
  .topic-row__item-inner {
    flex-direction: row;
    gap: var(--fw-column-gap);
  }
  .topic-row__item:not(.alt-item) .topic-row__item-inner {
    flex-direction: row-reverse;
  }
}

@media (min-width:61.25rem) {
  .topic-row__item-figure {
    max-width: 54%;
  }
}

.topic-row__item-image {
  block-size: auto;
  inline-size: 100%;
  border-radius: 1.25rem;
}
.topic-row__item-wrapper {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 0.38194rem + (2.7777777778vw), 2.5rem);
  margin-block-start: 1.875rem;
  background-image: url("../images/stars_bgnd.svg");
  background-repeat: no-repeat;
  background-position: top 0 right 3.75rem;
}
@media (min-width:61.25rem) {
  .topic-row__item-wrapper {
    flex: 1;
    min-width: 41.6%;
    padding-inline: 5% 3%;
    margin-block-start: 0;
  }
}

.topic-row__item-header {
  padding-block-start: 4.5rem;
}

.topic-row__item-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  color: #005f40;
  letter-spacing: clamp(-0.15em, -0.1vw, 0em);
  margin-block: 0 0.625rem;
}

.topic-row__item-description {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.topic-row__item-links {
  margin-block-start: 0.625rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.topic-row__item-border {
  background-color: #62bb46;
  mask: url("../images/band_pattern_1.svg");
  mask-repeat: repeat-x;
  mask-size: 60rem 5rem;
  height: 5rem;
  margin-block-start: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}
.alt-item .topic-row__item-border {
  background-color: #d0dd28;
  mask: url("../images/band_pattern_2.svg");
  mask-repeat: repeat-x;
  mask-size: 61.1875rem 5rem;
  height: 5rem;
  margin-block-start: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

/* ==========================================================================
	Video Embed
============================================================================= */
.video-embed {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.video-embed__figure {
  position: relative;
}
@media (min-width:61.25rem) {
  .video-embed__figure {
    grid-column: 3/span 8;
  }
}

.video-embed__image {
  block-size: auto;
  inline-size: 100%;
}

/* ==========================================================================
	WYSIWYG
============================================================================= */
.wysiwyg {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.wysiwyg__inner {
  margin-inline: auto;
}
@media (min-width:46.25rem) {
  .wysiwyg__inner {
    max-width: 66%;
  }
}

/* ==========================================================================
	Homepage Video
============================================================================= */
.homepage-video {
  padding-block-end: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
  background-color: #fff;
}

.homepage-video__figure {
  min-height: 31.25rem;
  position: relative;
  border-radius: 0.9375rem;
  overflow: hidden;
}
@media (min-width:61.25rem) {
  .homepage-video__figure {
    border-radius: 1.875rem;
  }
}

.figure-media-item__meta {
  position: absolute;
  inset-inline-start: 3%;
  inset-block-end: 12%;
}

.figure-media-item__img {
  width: 100%;
  aspect-ratio: 16/9;
}

.figure-media-item__meta-title {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
  line-height: 1.05;
  color: #fff;
  margin-block-end: 1.5rem;
}
@media (min-width:61.25rem) {
  .figure-media-item__meta-title {
    max-width: 50%;
  }
}

/* ==========================================================================
	Print
============================================================================= */
@media print {
  * {
    color: #000 !important;
    text-shadow: none !important;
    background: none !important;
    box-shadow: none !important;
  }
  h2,
  h3,
  p {
    widows: 3;
    orphans: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  a {
    text-decoration: underline;
  }
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  a[href^="javascript:"]:after, a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 0.0625rem solid #999;
    padding: 0.625rem;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-inline-size: 100% !important;
  }
  .print {
    display: block;
  }
  [class*=fw-grid-overlay] {
    display: none !important;
  }
  .fw-container {
    padding-inline: 0;
  }
}
/* ==========================================================================
	Utilities
============================================================================= */
/* Accessibility
============================================================================= */
.visually-hide {
  block-size: 0.0625rem;
  inline-size: 0.0625rem;
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
}

/* Layout
============================================================================= */
:where(.fw-container) {
  inline-size: var(--fw-container-width);
  min-inline-size: calc(var(--layout-min-width) - var(--layout-padding) * 2);
  margin-inline: auto;
}

:where(.fw-grid) {
  display: grid;
  column-gap: var(--fw-column-gap);
  grid-template-columns: repeat(auto-fill, var(--fw-column-width));
}

.clearfix::after {
  display: table;
  clear: both;
  content: "";
}

.margined-block-start-sm {
  margin-block-start: 2.5rem;
}

.margined-block-end-sm {
  margin-block-end: 2.5rem;
}

.margined-block-sm {
  margin-block: 2.5rem;
}

.padded-block-start-sm {
  padding-block-start: 2.5rem;
}

.padded-block-end-sm {
  padding-block-end: 2.5rem;
}

.padded-block-sm {
  padding-block: 2.5rem;
}

.margined-block-start-md {
  margin-block-start: clamp(2.5rem, 2.06597rem + (1.3888888889vw), 3.125rem);
}

.margined-block-end-md {
  margin-block-end: clamp(2.5rem, 2.06597rem + (1.3888888889vw), 3.125rem);
}

.margined-block-md {
  margin-block: clamp(2.5rem, 2.06597rem + (1.3888888889vw), 3.125rem);
}

.padded-block-start-md {
  padding-block-start: clamp(2.5rem, 2.06597rem + (1.3888888889vw), 3.125rem);
}

.padded-block-end-md {
  padding-block-end: clamp(2.5rem, 2.06597rem + (1.3888888889vw), 3.125rem);
}

.padded-block-md {
  padding-block: clamp(2.5rem, 2.06597rem + (1.3888888889vw), 3.125rem);
}

.margined-block-start-lg {
  margin-block-start: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

.margined-block-end-lg {
  margin-block-end: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

.margined-block-lg {
  margin-block: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

.padded-block-start-lg {
  padding-block-start: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

.padded-block-end-lg {
  padding-block-end: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

.padded-block-lg {
  padding-block: clamp(2.5rem, 1.63194rem + (2.7777777778vw), 3.75rem);
}

.margined-block-start-xl {
  margin-block-start: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.margined-block-end-xl {
  margin-block-end: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.margined-block-xl {
  margin-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.padded-block-start-xl {
  padding-block-start: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.padded-block-end-xl {
  padding-block-end: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

.padded-block-xl {
  padding-block: clamp(2.5rem, 0.76389rem + (5.5555555556vw), 5rem);
}

/* Colors
============================================================================= */
.color-black {
  color: var(--color-black);
}

.color-white {
  color: var(--color-white);
}

/* Typography
============================================================================= */
.font-sans {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
}

.font-sans-alt {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
}

.type-h1 {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  color: #005f40;
  letter-spacing: clamp(-0.15em, -0.1vw, 0em);
}

.type-h2 {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: #005f40;
}

.type-h3 {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: #005f40;
}

.type-h4 {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: #005f40;
}

.type-h5 {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
  color: #005f40;
}

.type-h6 {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  color: #005f40;
}

.type-intro_text {
  font-size: var(--font-size-intro-text);
  font-weight: 700;
  line-height: var(--line-height-intro-text);
}

.type-body_text {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-body-text);
  line-height: var(--line-height-body-text);
}

.type-small_text {
  font-size: var(--font-size-small-text);
  line-height: var(--line-height-small-text);
}

.type-label_text {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-size: var(--font-size-label-text);
  line-height: var(--line-height-label-text);
}

.type-caption_text {
  font-size: var(--font-size-caption-text);
  line-height: var(--line-height-caption-text);
}

.type-link_text {
  font-weight: 700;
  text-decoration: underline;
}
.type-link_text:focus-visible {
  color: var(--color-black);
}
@media (hover: hover) {
  .type-link_text:hover {
    color: var(--color-black);
  }
}