/*!
 * 	Theme Variables
 * ----------------------------------------------- */
:root {
  --light: #deeefb;
  --light-rgb: 222, 238, 251;
  --light-gray: #fafafa;
  --light-gray-rgb: 250, 250, 250;
  --gray: #696969;
  --gray-rgb: 105, 105, 105;
  --dark: #001736;
  --dark-rgb: 0, 23, 54;

  --primary: #3291d1;
  --primary-rgb: 50, 145, 209;
  --secondary: #a4c7e7;
  --secondary-rgb: 164, 199, 231;

  --yellow: #ffb83d;
  --orange: #ff7e3d;
  --purple: #8b3dff;

  --dark-yellow: #ffa100;
  --dark-orange: #ff5500;
  --dark-purple: #6600ff;

  --accent-yellow: #ffe4b5;
  --accent-orange: #ffceb5;
  --accent-purple: #d3b5ff;

  --light-yellow: #fff4e2;
  --light-orange: #ffebe2;
  --light-purple: #ede2ff;

  --body-font-family: 'Geist', sans-serif;
  --body-font-size: 1rem;
  --body-font-weight: 400;
  --body-bg: #ffffff;
  --body-color: var(--gray);
  --body-line-height: 1.25;

  --heading-font-size-base: 1rem;
  --heading-font-family: 'Geist', sans-serif;
  --heading-font-weight: 600;
  --heading-color: var(--dark);
  --heading-margin-bottom: 1rem;
  --heading-line-height: 1.175;

  --link-color: var(--dark);
  --link-hover-color: #000000;

  --btn-font-family: var(--body-font-family);
  --btn-font-size: 0.75rem;
  --btn-font-weight: 600;
  --btn-line-height: 2.5rem;
  --btn-padding: 0 2rem;
  --btn-bg: transparent;
  --btn-border-width: 1px;
  --btn-border-radius: 5rem;
  --btn-color: var(--body-color);
  --btn-border-color: transparent;
  --btn-hover-bg: transparent;
  --btn-hover-color: var(--body-color);
  --btn-hover-border-color: transparent;

  --form-control-font-family: var(--body-font-family);
  --form-control-font-size: var(--body-font-size);
  --form-control-font-weight: 300;
  --form-control-color: var(--body-color);
  --form-control-line-height: 1.15;
  --form-control-padding: 0.75rem 2rem;
  --form-control-min-height: 3rem;
  --form-control-bg: var(--light-gray);
  --form-control-border-color: transparent;
  --form-control-border-radius: 5rem;
  --form-control-placeholder-color: var(--gray);
  --form-control-placeholder-opacity: 1;
  --form-control-arrow: url('data:image/svg+xml,<svg fill="%23000" viewBox="0 0 24 24" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M11.9997 13.1714L16.9495 8.22168L18.3637 9.63589L11.9997 15.9999L5.63574 9.63589L7.04996 8.22168L11.9997 13.1714Z"></path></svg>');

  --border-radius: 0.75rem;
  --border-radius-lg: 40px;

  --header-height: 64px;
  --header-padding-y: 12px;
  --header-container-margin-x: 0px;
  --hamburger-size: 40px;
  --hamburger-line-bg: #ffffff;
  --brand-width: 120px;

  --paragraph-margin-bottom: 1rem;
  --section-padding-y: 1.25rem;

  --container-width: ;
  --gutter-y: ;
  --gutter-x: 2.5rem;

  --modal-padding: 20px;
  --modal-dialog-max-width: 91.25rem;
  --modal-dialog-border-radius: var(--border-radius);
  --modal-close-size: 2.5rem;
  --modal-close-icon-size: 1rem;

  --box-shadow: 0 4px 16px 0 rgba(var(--dark-rgb), 0.16);

  --inner-hero-max-width: 23.5rem;
  --inner-banner-min-height: 22.5rem;

  --scrollbar-width: thin;
  --scrollbar-color: var(--dark) transparent;
}

/*!
 * 	Reset Styles
 * ----------------------------------------------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

* {
  scrollbar-width: var(--scrollbar-width);
  scrollbar-color: var(--scrollbar-color);
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

[tabindex='-1']:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  color: var(--body-color);
  line-height: var(--body-line-height);
  font-weight: var(--body-font-weight);
  background-color: var(--body-bg);
  text-align: left;
  scrollbar-width: var(--scrollbar-width);
  scrollbar-color: var(--scrollbar-color);
}

img {
  max-width: 100%;
  height: initial;
}

a {
  color: var(--link-color);
  text-decoration: none;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

a:hover {
  color: var(--link-hover-color);
}

p {
  margin-top: 0;
  margin-bottom: var(--paragraph-margin-bottom);
}

p:last-child {
  margin-bottom: 0;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 16px;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 16px;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 16px;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  outline: none !important;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role='button'] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type='button']:not(:disabled),
[type='reset']:not(:disabled),
[type='submit']:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type='radio'],
input[type='checkbox'] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 8px;
  font-size: 24px;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 4px 8px;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  border-radius: 2px;
}

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 700;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--heading-font-family);
  color: var(--heading-color);
  font-weight: var(--heading-font-weight);
  margin-top: 0;
  margin-bottom: var(--heading-margin-bottom);
  line-height: var(--heading-line-height);
}

h1,
.h1 {
  font-size: calc(2rem + 1.9vw);
  line-height: 1;
}

h2,
.h2 {
  font-size: calc(1.5rem + 1.9vw);
  line-height: 1;
}

h3,
.h3 {
  font-size: calc(1.25rem + 0.9vw);
}

h4,
.h4,
.section .section__title {
  font-size: calc(1.15rem + 0.3vw);
}

h5,
.h5 {
  font-size: 1rem;
  line-height: 1.25rem;
}

h6,
.h6 {
  font-size: 0.75rem;
  line-height: 1rem;
}

/*!
 *	Common
 * ----------------------------------------------- */

#wrapper {
  position: relative;
  min-height: 100vh;
}

.section {
  padding-top: var(--section-padding-y);
  padding-bottom: var(--section-padding-y);
}

.section .section__title {
  margin-bottom: 12px;
  text-transform: uppercase;
}

.section .section__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.section .section__head .section__head__select {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 50%;
}

.section .section__head .section__head__select:last-child {
  text-align: right;
}

.section .section__head .section__head__select:last-child .select-box .select-box__options {
  text-align: left;
  left: initial;
  right: 0;
}

.section.section--sm {
  --section-padding-y: 1rem;
}

.overflow-hidden {
  overflow: hidden !important;
}

.fs-18 {
  font-size: 18px !important;
}

.fs-64 {
  font-size: calc(2rem + 1.9vw);
  line-height: 1.09;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: 800 !important;
}

.lh-1 {
  line-height: 1 !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-dark {
  color: var(--dark) !important;
}

.text-gray {
  color: var(--gray) !important;
}

.text-orange {
  color: var(--orange) !important;
}

.bg-primary {
  --heading-color: #fff;
  background-color: var(--primary);
  color: #fff;
}

.bg-light {
  background-color: var(--light);
}

.bg-light-gray {
  background-color: var(--light-gray);
}

.bg-light-orange {
  background-color: var(--light-orange);
}

.bg-light-yellow {
  background-color: var(--light-yellow);
}

.bg-light-purple {
  background-color: var(--light-purple);
}

.bg-yellow {
  --heading-color: var(--dark);
  background-color: var(--yellow);
  color: var(--dark);
}

.radius {
  border-radius: var(--border-radius) !important;
}

.radius-lg {
  border-radius: var(--border-radius-lg) !important;
}

.aspect-1 {
  aspect-ratio: 1 / 1;
}

.aspect-3x2 {
  aspect-ratio: 3 / 2;
}

.aspect-16x9 {
  aspect-ratio: 16 / 9;
}

.image-container,
.container-fluid-sm {
  --gutter-x: 24px;
}

.image-container:not(.section) .radius {
  aspect-ratio: 4 / 3;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.wave {
  position: relative;
}

.wave .wave__image {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: -1;
  -o-object-fit: cover;
  object-fit: cover;
}

.wave .wave__image.wave__image--bottom {
  bottom: 0;
}

.wave .wave__image.wave__image--top {
  top: 0;
}

hr.divider {
  margin: 0.75rem 0;
  border-bottom: none;
  border-top: 1px solid var(--secondary);
  background-color: transparent;
}

.arrow-top-right {
  width: 0.75rem;
  height: initial;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.truncate-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  height: calc(1.2em * 2);
}

.truncate-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  height: calc(1.2em * 3);
}

.truncate-5 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  overflow: hidden;
  height: calc(1.2em * 5);
}

/*!
 *	Spacing
 * ----------------------------------------------- */
.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mt-20 {
  margin-top: 1.25rem !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.mb-8 {
  margin-bottom: 0.5rem !important;
}

.mb-12 {
  margin-bottom: 0.75rem !important;
}

.mb-20,
.my-20 {
  margin-bottom: 1.25rem !important;
}

.my-20 {
  margin-top: 1.25rem !important;
}

.mb-60,
.mb-32 {
  margin-bottom: 2rem !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pb-16,
.py-16 {
  padding-bottom: 1rem !important;
}

.py-16 {
  padding-top: 1rem !important;
}

.py-40 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.pt-section {
  padding-top: var(--section-padding-y) !important;
}

.pb-section {
  padding-bottom: var(--section-padding-y) !important;
}

/*!
 *	Grid System
 * ----------------------------------------------- */
.container,
.container-fluid,
.container-fluid-sm {
  width: 100%;
  padding-left: calc(var(--gutter-x) * 0.5);
  padding-right: calc(var(--gutter-x) * 0.5);
}

.container *,
.container-fluid *,
.container-fluid-sm * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.container {
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}

.row {
  margin-top: calc(-1 * var(--gutter-y));
  margin-left: calc(-0.5 * var(--gutter-x));
  margin-right: calc(-0.5 * var(--gutter-x));
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.row > * {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 100%;
  min-height: 1px;
  margin-top: var(--gutter-y);
  padding-left: calc(var(--gutter-x) * 0.5);
  padding-right: calc(var(--gutter-x) * 0.5);
}

.row.row--lg {
  --gutter-x: 54px;
}

.row.row--md {
  --gutter-x: 1.25rem;
}

.row.row--xs,
.row.row--sm {
  --gutter-x: 0.75rem;
}

.gap {
  --gutter-y: var(--gutter-x);
}

.col-1 {
  width: 8.33333333%;
}

.col-2 {
  width: 16.66666667%;
}

.col-3 {
  width: 25%;
}

.col-4 {
  width: 33.33333333%;
}

.col-5 {
  width: 41.66666667%;
}

.col-6 {
  width: 50%;
}

.col-7 {
  width: 58.33333333%;
}

.col-8 {
  width: 66.66666667%;
}

.col-9 {
  width: 75%;
}

.col-10 {
  width: 83.33333333%;
}

.col-11 {
  width: 91.66666667%;
}

.col-12 {
  width: 100%;
}

.no-gutter {
  --gutter-x: 0;
}

.flex-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.align-items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.justify-content-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/*!
 *	Form Styling
 * ----------------------------------------------- */
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: var(--btn-padding);
  color: var(--btn-color);
  text-transform: uppercase;
  background-color: var(--btn-bg);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  border: var(--btn-border-width) solid var(--btn-border-color);
  border-radius: var(--btn-border-radius);
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  line-height: calc(var(--btn-line-height) - (var(--btn-border-width) * 2));
  text-align: center;
  gap: 0.25rem;
}

.btn:hover {
  background-color: var(--btn-hover-bg);
  color: var(--btn-hover-color);
  border-color: var(--btn-hover-border-color);
}

.btn.btn--lg {
  --btn-font-size: 16px;
  --btn-padding: 0 24px;
  --btn-line-height: 48px;
}

.btn.btn--block {
  width: 100%;
}

.btn.btn--icon {
  padding: 0;
  width: var(--btn-line-height);
  height: var(--btn-line-height);
}

.btn.btn--primary {
  --btn-bg: var(--primary);
  --btn-color: #ffffff;
  --btn-hover-bg: var(--primary);
  --btn-hover-color: #ffffff;
}

.btn.btn--secondary {
  --btn-bg: var(--secondary);
  --btn-color: #ffffff;
  --btn-hover-bg: var(--primary);
  --btn-hover-color: #ffffff;
}

.btn.btn--light-gray {
  --btn-bg: var(--light-gray);
  --btn-color: var(--dark);
  --btn-hover-bg: var(--secondary);
  --btn-hover-color: var(--dark);
}

.btn.btn--white {
  --btn-bg: #ffffff;
  --btn-color: var(--dark);
  --btn-hover-bg: var(--secondary);
  --btn-hover-color: var(--dark);
}

.btn.btn--orange {
  --btn-bg: var(--orange);
  --btn-color: #ffffff;
  --btn-hover-bg: var(--dark-orange);
  --btn-hover-color: #ffffff;
}

.btn.btn--gray {
  --btn-bg: var(--gray);
  --btn-color: #ffffff;
  --btn-hover-bg: #555252;
  --btn-hover-color: #ffffff;
}

.form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  border: 1px solid var(--form-control-border-color);
  min-height: var(--form-control-min-height);
  padding: var(--form-control-padding);
  background-color: var(--form-control-bg);
  font-family: var(--form-control-font-family);
  font-size: var(--form-control-font-size);
  font-weight: var(--form-control-font-weight);
  color: var(--form-control-color);
  border-radius: var(--form-control-border-radius);
  line-height: var(--form-control-line-height);
}

.form-control:focus {
  --form-control-border-color: var(--gray);
}

.form-control::-webkit-input-placeholder {
  color: var(--form-control-placeholder-color);
  opacity: var(--form-control-placeholder-opacity);
}

.form-control::-moz-placeholder {
  color: var(--form-control-placeholder-color);
  opacity: var(--form-control-placeholder-opacity);
}

.form-control:-ms-input-placeholder {
  color: var(--form-control-placeholder-color);
  opacity: var(--form-control-placeholder-opacity);
}

.form-control::-ms-input-placeholder {
  color: var(--form-control-placeholder-color);
  opacity: var(--form-control-placeholder-opacity);
}

.form-control::placeholder {
  color: var(--form-control-placeholder-color);
  opacity: var(--form-control-placeholder-opacity);
}

.form-control::-webkit-input-placeholder {
  color: var(--form-control-placeholder-color);
  opacity: var(--form-control-placeholder-opacity);
}

.form-control::-moz-placeholder {
  color: var(--form-control-placeholder-color);
  opacity: var(--form-control-placeholder-opacity);
}

.form-control::-ms-placeholder {
  color: var(--form-control-placeholder-color);
  opacity: var(--form-control-placeholder-opacity);
}

select.form-control {
  display: none;
  background-image: var(--form-control-arrow);
  background-position: center right 16px;
  background-repeat: no-repeat;
  padding-right: 42px;
}

textarea.form-control {
  --form-control-border-radius: 2.5rem;
}

.form-group {
  margin-bottom: 16px;
  position: relative;
}

/* Select box */
.select-box {
  position: relative;
}

.select-box .select-box__control {
  position: relative;
  cursor: pointer;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: var(--btn-padding);
  line-height: var(--btn-line-height);
  border: none;
  text-transform: uppercase;
  font-weight: 600;
  font-size: var(--btn-font-size);
  color: var(--dark);
  gap: 0.25rem;
  background-color: var(--light-gray);
  border-radius: var(--btn-border-radius);
  max-width: 16.25rem;
  width: 100%;
  -webkit-transition: all 0.35s;
  -o-transition: all 0.35s;
  transition: all 0.35s;
}

.select-box .select-box__control:after {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  background-image: var(--form-control-arrow);
}

.select-box .select-box__control.active {
  background-color: var(--light);
}

.select-box .select-box__options {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  margin: 0.25rem 0 0;
  padding: 1.25rem;
  list-style: none;
  z-index: 99;
  background-color: #fff;
  font-size: 0.75rem;
  border-radius: var(--border-radius);
  max-height: 280px;
  max-width: calc(100vw - var(--gutter-x));
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.35s;
  -o-transition: all 0.35s;
  transition: all 0.35s;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}

.select-box .select-box__options.show {
  opacity: 1;
  visibility: visible;
}

.select-box .select-box__options li {
  cursor: pointer;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  overflow: hidden;
  text-transform: uppercase;
  color: var(--dark);
  font-weight: 600;
  -webkit-transition: color 0.35s;
  -o-transition: color 0.35s;
  transition: color 0.35s;
}

.select-box .select-box__options li:not(:first-child) {
  margin-top: 0.75rem;
}

.select-box .select-box__options li.active,
.select-box .select-box__options li:hover {
  color: var(--orange);
}

/* AJAX loader */
.ajax-loader {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
  margin: 0 0 1.5rem;
  color: var(--dark);
  font-weight: 500;
}

.ajax-loader.is-loading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.ajax-loader__spinner {
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid rgba(var(--dark-rgb), 0.2);
  border-top-color: var(--dark);
  border-radius: 50%;
  -webkit-animation: ajax-loader-spin 0.8s linear infinite;
          animation: ajax-loader-spin 0.8s linear infinite;
}

.ajax-loader__text {
  font-size: 0.95rem;
}

@-webkit-keyframes ajax-loader-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes ajax-loader-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

/* File upload */
.file-upload input[type='file'] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.file-upload .form-control {
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  cursor: pointer;
}

/*!
 *	Components
 * ----------------------------------------------- */

/* Breadcrumb */
.breadcrumb {
  margin-bottom: 0.75rem;
}

.breadcrumb ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.breadcrumb li {
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--dark);
}

.breadcrumb li:not(:first-child):before {
  content: '/';
  margin: 0 0.25rem;
  display: inline-block;
}

/* Cards */
.card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 20px;
}

.card {
  --card-spacer: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border-radius: var(--border-radius);
  overflow: hidden;
  background-color: #fff;
  height: 100%;
}

.card .card__body {
  padding: var(--card-spacer);
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.card .card__foot {
  padding: 0 var(--card-spacer) var(--card-spacer);
}

.card .card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.25rem;
}

.card .card__head > *:last-child {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.card .card__head .h4 {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.card .card__image {
  overflow: hidden;
}

.card .card__image > * {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.card.card--h {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

.card.card--shadow {
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}

.card.card--quick {
  background-color: var(--light-gray);
}

.card.card--quick .card__icon {
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.75rem;
}

.card.card--h .card__image {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 40%;
}

.card.card--h .card__image > * {
  width: 100%;
  height: 100%;
  display: block;
}

.card.card--h .card__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 60%;
}

.card.card--post,
.card.card--work {
  background-color: var(--light-gray);
}

.card.card--post .card__image > *,
.card.card--work .card__image > * {
  aspect-ratio: 5 / 2;
}

.card.card--work .card__head .btn.btn--icon > img {
  width: 1rem;
}

.card.card--member {
  background-color: var(--light-gray);
}

.card.card--member .card__image > * {
  aspect-ratio: 97 / 80;
}

.card.card--member .card--member__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.5rem;
}

.card.card--involved {
  min-height: 16.5rem;
  background-color: var(--light-gray);
}

.card.card--involved .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.card.card--partner {
  background-color: var(--light-yellow);
}

.card.card--partner .card__image {
  background-color: var(--light-gray);
  text-align: center;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  height: 160px;
}

.card.card--partner .card__image > * {
  max-width: 7.5rem;
  width: auto;
}

/* Collapses */
.collapses .collapse:not(:first-child) {
  margin-top: 1.25rem;
}

.collapse {
  background-color: var(--light-gray);
  border-radius: var(--border-radius);
  padding: 1.25rem;
}

.collapse .collapse__head,
.collapse .collapse__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.25rem;
}

.collapse .collapse__head {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.collapse .collapse__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #fff;
  border-radius: 5rem;
  -webkit-transition: all 0.35s;
  -o-transition: all 0.35s;
  transition: all 0.35s;
}

.collapse .collapse__arrow > * {
  width: 1rem;
  height: 1rem;
}

.collapse .collapse__head:not(.active) .collapse__arrow {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.collapse .collapse__body:not(.show) {
  display: none;
}

.collapse .h6 {
  margin-bottom: 0.25rem;
}

.collapses.collapses--job .collapse__head .btn {
  display: none;
}

.collapses.collapses--job .collapse__body .collapse__body__wrap {
  padding-top: 0.5rem;
}

.collapses.collapses--policy .collapse__body .collapse__body__wrap {
  padding-top: 1.25rem;
}

/* Modal */
.modal.show,
.modal .modal__dialog.show {
  visibility: visible;
  opacity: 1;
}

.modal .modal__dialog.show {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(var(--dark-rgb), 0.8);
  z-index: 1000;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  padding: 0 calc(0.5 * var(--gutter-x));
  overflow: auto;
}

.modal.modal--sm {
  --modal-dialog-max-width: 72.5rem;
}

.modal .modal__container,
.modal .modal__dialog .close {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.modal .modal__container {
  margin: 40px 0;
  min-height: calc(100% - 80px);
}

.modal .modal__dialog {
  max-width: var(--modal-dialog-max-width);
  width: 100%;
  position: relative;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(64px);
  -ms-transform: translateY(64px);
  transform: translateY(64px);
  -webkit-transition: all 0.25s ease-in-out 0.15s;
  -o-transition: all 0.25s ease-in-out 0.15s;
  transition: all 0.25s ease-in-out 0.15s;
  max-height: 100%;
  background-color: #fff;
  -webkit-box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1);
  border-radius: var(--modal-dialog-border-radius);
  color: #363d40;
  overflow: hidden;
}

.modal .modal__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: var(--modal-padding);
}

.modal .modal__title {
  margin-bottom: 0;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 70%;
  -ms-flex-item-align: center;
  align-self: center;
}

.modal .close {
  width: var(--modal-close-size);
  height: var(--modal-close-size);
  border-radius: 200px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: var(--gray);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.modal .close:hover {
  background-color: var(--orange);
}

.modal .close > * {
  width: var(--modal-close-icon-size);
  height: var(--modal-close-icon-size);
}

.modal .modal__body {
  padding: 0 var(--modal-padding) 40px var(--modal-padding);
}

/* Block */
.text-block {
  padding: 5rem 2.5rem;
}

.text-block > * {
  max-width: 72.5rem;
  width: 100%;
}

.text-block .text-block__title {
  font-size: calc(1.25rem + 0.9vw);
  line-height: 1.15;
}

/*!
 *	Header
 * ----------------------------------------------- */
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: var(--doc-scrollbar-width, 0px);
  z-index: 999;
  padding-top: var(--header-padding-y);
  padding-bottom: var(--header-padding-y);
  -webkit-transition: top 0.35s;
  -o-transition: top 0.35s;
  transition: top 0.35s;
  pointer-events: none;
  will-change: top;
}

#header.hide {
  top: calc(-1 * (var(--header-height) + (var(--header-padding-y) * 2)));
}

.header-container {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background-color: #fff;
  border-radius: 200px;
  padding: var(--header-padding-y) var(--header-padding-y) var(--header-padding-y) 0;
  height: var(--header-height);
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
  margin-left: var(--header-container-margin-x);
  margin-right: var(--header-container-margin-x);
  pointer-events: fill;
}

.menu-open,
.video-open {
  overflow: hidden;
}

.menu-open:before,
.video-open:before {
  content: '';
  position: fixed;
  inset: 0;
  background-color: rgba(var(--dark-rgb), 0.6);
}

.menu-open:before {
  z-index: 900;
}

.video-open:before {
  z-index: 1000;
}

.navbar {
  --link-color: var(--dark);
  --link-hover-color: var(--orange);

  display: none;
  position: absolute;
  top: 100%;
  left: calc((0.5 * var(--gutter-x)) + var(--header-container-margin-x));
  right: calc((0.5 * var(--gutter-x)) + var(--header-container-margin-x));
  background-color: #ffffff;
  padding: 32px 20px;
  z-index: 100;
  max-height: calc(100dvh - (var(--header-height) + 1rem + (var(--header-padding-y) * 2)));
  overflow: auto;
  border-radius: var(--border-radius);
  margin-top: -4px;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
  font-weight: 600;
  text-transform: uppercase;
}

.navbar > ul {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.navbar > ul > li:not(:first-child) {
  margin-top: 20px;
}

.navbar > ul > li > a {
  color: var(--link-color) !important;
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.5rem;
}

.navbar > ul > li > a:hover {
  color: var(--link-hover-color) !important;
}

.menu-item-has-children,
.menu-item-has-children > a {
  position: relative;
}

.menu-item-has-children {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  cursor: pointer;
}

.sub-menu-handler {
  margin-left: auto;
  display: block;
  width: 24px;
  height: 24px;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" fill="%23001736"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"></path></svg>');
  -webkit-transition: all 500ms;
  -o-transition: all 500ms;
  transition: all 500ms;
}

.navbar > ul > li > a.active,
.menu-item-has-children:hover > a,
.navbar > ul > li.current_page_item > a,
.navbar > ul > li.current-menu-parent > a,
.menu-item-has-children:hover > a.active {
  color: var(--link-hover-color) !important;
}

.navbar > ul > li.current_page_item > .sub-menu-handler,
.navbar > ul > li.current-menu-parent > .sub-menu-handler,
.menu-item-has-children:hover > .sub-menu-handler,
.menu-item-has-children > a.active + .sub-menu-handler {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" fill="%23FF7E3D"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"></path></svg>');
}

.menu-item-has-children > .sub-menu-handler.active {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sub-menu {
  display: none;
  padding-top: 16px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 100%;
  padding: 20px 0 0 32px;
  margin: 0;
  list-style: none;
  min-width: 0;
}

.sub-menu li a {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  line-height: 1;
}

.sub-menu li.current-menu-item > a {
  color: var(--link-hover-color);
}

.sub-menu li:not(:first-child) {
  margin-top: 20px;
}

.header-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  gap: 0.5rem;
}

.header-right .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: var(--btn-line-height);
  height: var(--btn-line-height);
  padding: 0;
}

#hamburger {
  position: relative;
}

#hamburger > * {
  position: relative;
  width: 16px;
  height: 16px;
}

#hamburger span:before,
#hamburger span:after {
  content: '';
}

#hamburger span,
#hamburger span:before,
#hamburger span:after {
  position: absolute;
  width: 16px;
  height: 2px;
  background-color: var(--hamburger-line-bg);
  display: block;
  border-radius: 3px;
}

#hamburger span,
#hamburger span:after {
  top: 7px;
}

#hamburger span:before {
  top: -7px;
}

#hamburger.active span {
  background-color: transparent;
}

#hamburger.active span:after,
#hamburger.active span:before {
  top: 0;
}

#hamburger.active span:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#hamburger.active span:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.brand {
  display: inline-block;
  width: var(--brand-width);
}

#primary {
  padding-top: calc(var(--header-height) + (var(--header-padding-y) * 2));
}

#search.modal .modal__container {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: calc(var(--header-height) + (var(--header-padding-y) * 2));
  padding-bottom: 1.5rem;
  min-height: 35rem;
  height: 100%;
}

#search.modal .modal__dialog {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.search-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  padding: 2rem 1.25rem 2.5rem;
}

.search-head .form-control {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: initial;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.search-body {
  padding: 0 0.625rem 0 1.25rem;
  overflow: auto;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.search-body > .h6 {
  margin-bottom: 1.5rem;
}

.search-list {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  overflow: auto;
  padding-right: 0.625rem;
}

.search-hero {
  aspect-ratio: 9 / 4;
  margin-bottom: 0.75rem;
  display: block;
}

.search-hero > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.search-item .h6 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.search-item:not(:first-child) {
  margin-top: 1.5rem;
}

.search-item .h4 {
  --link-hover-color: var(--link-color);
  display: block;
}

.search-title {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.search-date {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/*!
 *	Homepage 
 * ----------------------------------------------- */
#intro {
  position: relative;
}

#intro .intro-hero {
  aspect-ratio: 4 / 3;
  width: 100%;
}

#intro .intro-content {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 1;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

#intro .intro-content h1 {
  max-width: 1100px;
  margin: 0 auto;
  line-height: 1;
  color: #ffffff;
}

#intro_video {
  --spacing-left: 0.5rem;
  --video-width: 150px;
  --left: calc(100vw - ((var(--spacing-left) * 2) + var(--video-width) + (var(--gutter-x) * 0.5)));

  position: absolute;
  bottom: 0;
  left: var(--left);
  width: var(--video-width);
  cursor: pointer;
  aspect-ratio: 16 / 9;
  will-change: transform, width, height;
}

#intro_video > .video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#intro_video > .play {
  position: absolute;
  width: 2rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 300ms;
  -o-transition: all 300ms;
  transition: all 300ms;
}

.video-open #intro_video > .play {
  opacity: 0;
  visibility: hidden;
}

.impact {
  padding-bottom: 1rem;
}

.impact .impact__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  border-top: 1px solid var(--secondary);
}

.partnerships .swiper {
  overflow: visible;
}

.partnerships .swiper-scrollbar {
  position: relative !important;
  top: initial !important;
  left: initial !important;
  bottom: initial !important;
  width: 100%;
  height: 2px;
  margin-top: 2rem;
  background-color: var(--light);
  border-radius: 0;
}

.partnerships .swiper-scrollbar-drag {
  background-color: var(--dark);
  border-radius: 0;
}

/*!
 *	Inner pages
 * ----------------------------------------------- */

.inner-hero {
  max-width: var(--inner-hero-max-width);
  width: 100%;
  border-radius: 50%;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
}

.inner-hero > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.inner-banner.inner-banner--sm {
  --inner-banner-min-height: 15rem;
}

.inner-banner .inner-banner__content {
  padding: 2.5rem 1.25rem 1.25rem;
}

.inner-banner .inner-banner__content .row:not(.row--md) {
  --gutter-y: 2.5rem;
}

.inner-banner.project-banner,
.inner-banner.inner-banner--sm {
  min-height: var(--inner-banner-min-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.mobile-column-4 > *:nth-child(n + 5):not(.mx-auto) {
  display: none;
}

.hero-banner {
  border-radius: var(--border-radius);
  overflow: hidden;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  min-height: calc(100vh - (var(--section-padding-y) * 2));
}

@supports (height: 100svh) {
  .hero-banner {
    min-height: calc(100svh - (var(--section-padding-y) * 2));
  }
}

.hero-banner .hero-banner__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.hero-banner .hero-banner__content {
  --heading-color: #ffffff;
  color: #ffffff;
  position: relative;
  z-index: 2;
  max-width: 860px;
  padding: 5rem calc(0.5 * var(--gutter-x)) 3.75rem;
}

.hero-banner .hero-banner__content .btn,
.water-portal .water-portal__content .btn {
  width: 100%;
  max-width: 360px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/* About */
.about-banner {
  --inner-hero-max-width: 22.5rem;
  background-color: var(--light-gray);
  padding: calc(0.5 * var(--gutter-x));
}

.about-banner.wave .wave__image {
  z-index: 1;
}

.about-banner .about-banner__content {
  position: relative;
  z-index: 2;
}

.about-banner .about-banner__wave-md {
  display: none;
}

.about-banner-card {
  margin-top: 0.75rem;
}

.our-story {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.our-story .our-story__hero > * {
  aspect-ratio: 5 / 4;
  -o-object-fit: cover;
  object-fit: cover;
}

#timeline {
  --heading-color: #ffffff;
  --link-color: #ffffff;
  --link-hover-color: #ffffff;
  --timeline-indicator-height: 4px;

  position: relative;
  color: #ffffff;
  font-weight: 300;
  padding-bottom: 0;
}

#timeline_anchor {
  position: absolute;
  left: 0;
  width: 100%;
  padding: 3.75rem calc(0.5 * var(--gutter-x)) 0;
  top: var(--section-padding-y);
  z-index: 10;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.timeline-anchor {
  width: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
}

.timeline-link {
  position: relative;
  display: block;
  color: rgba(255, 255, 255, 0.6);
  z-index: 2;
  min-height: 1rem;
}

.timeline-link:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--timeline-indicator-height);
  background-color: rgba(255, 255, 255, 0.6);
}

.timeline-link .timeline-link__indicator {
  display: block;
  width: 0;
  height: var(--timeline-indicator-height);
  background-color: #ffffff;
  margin-bottom: 0.5rem;
}

.timeline-link.active {
  color: #ffffff;
}

.timeline-link.active .timeline-link__indicator {
  width: 100%;
}

.timeline-link:not(.active) .timeline-link__text {
  display: none;
}

.timeline-item {
  position: relative;
}

.timeline-container {
  min-height: 100vh; 
  min-height: 100dvh;
  padding: 16rem calc(0.5 * var(--gutter-x)) 3.75rem;
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.timeline-hero {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.timeline-hero:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--dark-rgb), 0.4);
}

.timeline-hero > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.timeline-content {
  position: relative;
  z-index: 3;
}

.timeline-content > hr.divider,
.timeline-content > * > hr.divider {
  border-top-color: #ffffff;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

#timeline .card {
  color: var(--body-color);
}

.team:not(:last-child) {
  margin-bottom: calc(0.5 * var(--gutter-x));
  padding-bottom: calc(0.5 * var(--gutter-x));
  border-bottom: 1px solid var(--secondary);
}

.team:last-child {
  padding-bottom: 1rem;
}

.member {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.member .member__hero {
  aspect-ratio: 1;
  overflow: hidden;
}

.member .member__hero img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.member .member__content {
  --modal-padding: 1.25rem;
}

.member .member__content .close {
  position: absolute;
  top: 20px;
  right: 20px;
}

.member .member__content .modal__title {
  width: initial;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.member .member__content .modal__body {
  padding-bottom: var(--modal-padding);
}

/* Our work */
#past_project:not(.show) {
  display: none;
}

.work-data {
  margin: 0;
  padding: 0;
  list-style: none;
}

.work-data .work-data__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-top: 1px solid var(--secondary);
}

.map {
  padding: 1.25rem;
  background-color: var(--light);
  border-radius: var(--border-radius);
}

.map .map__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.map .map__controls .btn {
  position: relative !important;
  top: initial !important;
  right: initial !important;
  bottom: initial !important;
  left: initial !important;
  margin: 0 !important;
}

.map .map__controls .btn:not(#map_title) {
  padding: 0;
  width: var(--btn-line-height);
  height: var(--btn-line-height);
}

.btn.swiper-button-prev svg,
.btn.swiper-button-next svg {
  display: none;
}

.btn.swiper-button-prev img,
.btn.swiper-button-next img {
  width: 1rem;
  height: 1rem;
}

.btn.swiper-button-prev img {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

#map_title {
  --btn-padding: 0 0.5rem;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  cursor: default;
  display: block;
}

#map_title:hover {
  background-color: var(--btn-bg);
  color: var(--btn-color);
}

#map_cards .card .card__body {
  padding-left: 2rem;
  padding-right: 2rem;
}

#map_cards .work-data .work-data__item {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

#partnerships[data-partnership-lg='true'] .swiper-slide img {
  width: 7.5rem;
}

.water-portal {
  position: relative;
}

.water-portal .water-portal__content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0 calc(0.5 * var(--gutter-x)) var(--gutter-x);
}

/* Project */
.project-banner {
  --dark: #ffffff;
  --link-color: #ffffff;
  --link-hover-color: var(--light);
  --heading-color: #ffffff;

  color: #ffffff;
  position: relative;
}

.project-banner:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--dark-rgb), 0.4);
  z-index: 1;
}

.project-banner > .project-banner__hero {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.project-banner.inner-banner .inner-banner__content {
  position: relative;
  z-index: 2;
}

.project-data:not(:last-child) {
  margin-bottom: 1.25rem;
}

.project-data .project-data__item {
  --heading-font-weight: 300;

  color: var(--dark);
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--secondary);
}

.project-data .project-data__item:not(:first-child) {
  padding-top: 1.25rem;
}

.project-data .project-data__title {
  margin-bottom: 0.25rem;
}

#gallery {
  position: relative;
}

#gallery .btn.swiper-button-prev {
  left: calc(0.5 * var(--gutter-x));
}

#gallery .btn.swiper-button-next {
  right: calc(0.5 * var(--gutter-x));
}

/* Involved */
.job-info .job-info__item {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--secondary);
}

.job-info .job-info__item:first-child {
  border-top: 1px solid var(--secondary);
}

/* Publications */
.publication-hero {
  border-radius: var(--border-radius);
}

.publication-hero > * {
  aspect-ratio: 7 / 5;
}

.publication-content {
  max-width: var(--inner-hero-max-width);
  width: 100%;
  margin-left: auto;
}

.publication-data {
  margin: 0;
  padding: 0;
  list-style: none;
}

.publication-data .publication-data__item {
  padding-top: 1rem;
  border-top: 1px solid var(--accent-orange);
}

.publication-data .publication-data__item:not(:last-child) {
  padding-bottom: 1rem;
}

.publication-data .publication-data__title {
  margin-bottom: 0.5rem;
}

.event-btn-group {
  --btn-padding: 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 33.25rem;
}

.event-btn-group .btn {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.sitemap .sitemap__item:not(:last-child) {
  margin-bottom: 2.5rem;
}

.sitemap .sitemap__item a {
  color: var(--dark);
}

.sitemap .sitemap__item ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sitemap .sitemap__item ul a {
  color: inherit;
}

.sitemap .sitemap__item ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.sitemap .sitemap__item .text-uppercase a {
  font-size: 0.75rem;
}

/*!
 *	Footer
 * ----------------------------------------------- */
#footer {
  --brand-width: 150px;
  --link-color: var(--secondary);
  --link-hover-color: var(--light);

  color: var(--secondary);
  background-color: var(--dark);
  padding-top: 3.75rem;
  padding-bottom: 1.25rem;
}

#footer .brand {
  display: inline-block;
  margin-bottom: 1.25rem;
}

.footer-content {
  --paragraph-margin-bottom: 0.5rem;
  font-weight: 300;
  padding-bottom: 0.5rem;
  max-width: 360px;
}

.footer-title {
  color: var(--secondary);
  text-transform: uppercase;
  padding-bottom: 0.75rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid rgba(var(--secondary-rgb), 0.4);
}

.footer-link {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-link li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.footer-link li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.last-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 2rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(var(--secondary-rgb), 0.4);
}

.last-footer > * {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 50%;
}

/*!
 *	Responsive
 * ----------------------------------------------- */
@media (min-width: 420px) {
  #intro_video {
    --video-width: 194px;
  }

  .event-btn-group {
    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;
  }
}

@media (min-width: 480px) {
  .col-xs-1 {
    width: 8.33333333%;
  }

  .col-xs-2 {
    width: 16.66666667%;
  }

  .col-xs-3 {
    width: 25%;
  }

  .col-xs-4 {
    width: 33.33333333%;
  }

  .col-xs-5 {
    width: 41.66666667%;
  }

  .col-xs-6 {
    width: 50%;
  }

  .col-xs-7 {
    width: 58.33333333%;
  }

  .col-xs-8 {
    width: 66.66666667%;
  }

  .col-xs-9 {
    width: 75%;
  }

  .col-xs-10 {
    width: 83.33333333%;
  }

  .col-xs-11 {
    width: 91.66666667%;
  }

  .col-xs-12 {
    width: 100%;
  }
}

@media (min-width: 576px) {
  body {
    --container-width: 540px;
  }

  .col-sm-1 {
    width: 8.33333333%;
  }

  .col-sm-2 {
    width: 16.66666667%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-4 {
    width: 33.33333333%;
  }

  .col-sm-5 {
    width: 41.66666667%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-7 {
    width: 58.33333333%;
  }

  .col-sm-8 {
    width: 66.66666667%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-10 {
    width: 83.33333333%;
  }

  .col-sm-11 {
    width: 91.66666667%;
  }

  .col-sm-12 {
    width: 100%;
  }
}

@media (min-width: 768px) {
  body {
    --container-width: 720px;
    --inner-banner-min-height: 30rem;
  }

  .col-md-1 {
    width: 8.33333333%;
  }

  .col-md-2 {
    width: 16.66666667%;
  }

  .col-md-3 {
    width: 25%;
  }

  .col-md-4 {
    width: 33.33333333%;
  }

  .col-md-5 {
    width: 41.66666667%;
  }

  .col-md-6 {
    width: 50%;
  }

  .col-md-7 {
    width: 58.33333333%;
  }

  .col-md-8 {
    width: 66.66666667%;
  }

  .col-md-9 {
    width: 75%;
  }

  .col-md-10 {
    width: 83.33333333%;
  }

  .col-md-11 {
    width: 91.66666667%;
  }

  .col-md-12 {
    width: 100%;
  }

  .select-box .select-box__options {
    max-width: 25rem;
  }

  .section .section__head .section__head__select:last-child .select-box .select-box__options {
    max-width: 16.25rem;
  }

  #intro .intro-hero {
    aspect-ratio: 23 / 12;
  }

  #intro_video {
    --video-width: 240px;
  }

  .section .section__title {
    margin-bottom: 20px;
  }

  .image-container:not(.section) .radius {
    aspect-ratio: 23 / 9;
  }

  .inner-hero {
    margin-right: initial;
  }

  .about-banner .about-banner__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .about-banner .about-banner__wave {
    display: none;
  }

  .about-banner .about-banner__wave-md {
    display: block;
  }

  .inner-banner.inner-banner--sm {
    --inner-banner-min-height: 30rem;
  }

  .inner-banner,
  .inner-banner .inner-banner__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .inner-banner {
    min-height: var(--inner-banner-min-height);
  }

  .inner-banner .inner-banner__content {
    padding-bottom: 2.5rem;
  }

  .inner-hero.inner-hero--sm {
    max-width: 30%;
  }

  .project-data .project-data__title {
    margin-bottom: 0.75rem;
  }

  #past_project,
  .mobile-column-4 > * {
    display: block !important;
  }

  #load_past_projects {
    display: none !important;
  }
}

@media (min-width: 992px) {
  body {
    --container-width: 960px;

    --header-padding-y: 1rem;
    --header-height: 5rem;
    --brand-width: 160px;
    --hamburger-size: 3rem;
  }

  .col-lg-1 {
    width: 8.33333333%;
  }

  .col-lg-2 {
    width: 16.66666667%;
  }

  .col-lg-3 {
    width: 25%;
  }

  .col-lg-4 {
    width: 33.33333333%;
  }

  .col-lg-5 {
    width: 41.66666667%;
  }

  .col-lg-6 {
    width: 50%;
  }

  .col-lg-7 {
    width: 58.33333333%;
  }

  .col-lg-8 {
    width: 66.66666667%;
  }

  .col-lg-9 {
    width: 75%;
  }

  .col-lg-10 {
    width: 83.33333333%;
  }

  .col-lg-11 {
    width: 91.66666667%;
  }

  .col-lg-12 {
    width: 100%;
  }

  .header-container {
    padding-left: var(--header-padding-y);
  }

  .select-box .select-box__options {
    padding: 2rem 1.25rem;
  }

  .select-box .select-box__options li:not(:first-child) {
    margin-top: 1.25rem;
  }

  #intro_video {
    --spacing-left: 1rem;
    --video-width: 320px;
  }

  .mb-60 {
    margin-bottom: 3.75rem !important;
  }

  .impact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 2.5rem;
  }

  .impact .impact__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 0 1.25rem;
    border-top: none;
    border-left: 1px solid var(--secondary);
    min-height: 18.75rem;
  }

  .impact .impact__item:last-child {
    border-right: 1px solid var(--secondary);
  }

  .our-story {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 3rem 1.25rem;
  }

  .our-story .our-story__hero {
    grid-row: span 2 / span 2;
  }

  .our-story .our-story__hero > * {
    aspect-ratio: initial;
    height: 100%;
  }

  #timeline {
    padding-top: 0;
    padding-bottom: var(--section-padding-y);
  }

  #timeline_anchor {
    top: 0;
    padding-top: var(--gutter-x);
  }

  #timeline > *:last-child .timeline-container {
    min-height: 125vh; 
    min-height: 125dvh;
  }

  .timeline-anchor {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: initial;
    padding-left: calc(0.25 * var(--gutter-x));
    padding-right: calc(0.25 * var(--gutter-x));
    gap: 0;
  }

  .timeline-anchor:before {
    content: '';
    position: absolute;
    top: calc(-0.5 * var(--gutter-x));
    left: 0;
    width: 100%;
    height: 8rem;
    background: -o-linear-gradient(bottom, rgba(var(--dark-rgb), 0) 10%, rgba(var(--dark-rgb), 1) 100%);
    background: -webkit-gradient(linear, left bottom, left top, color-stop(10%, rgba(var(--dark-rgb), 0)), to(rgba(var(--dark-rgb), 1)));
    background: linear-gradient(0deg, rgba(var(--dark-rgb), 0) 10%, rgba(var(--dark-rgb), 1) 100%);
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
  }

  .timeline-anchor .timeline-anchor__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20%;
    padding: 0 calc(0.25 * var(--gutter-x));
    position: relative;
  }

  .timeline-link .timeline-link__text {
    display: block !important;
  }

  .timeline-item {
    padding: calc(0.5 * var(--gutter-x));
  }

  .timeline-container {
    padding-bottom: calc(0.5 * var(--gutter-x));
    min-height: calc(100vh - var(--gutter-x)); 
    min-height: calc(100dvh - var(--gutter-x));
  }

  .timeline-hero {
    border-radius: var(--border-radius);
    overflow: hidden;
  }

  .member {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .member .member__hero,
  .member .member__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 50%;
  }

  .member .member__hero {
    aspect-ratio: initial;
  }

  .member .member__content .close {
    position: relative;
    top: initial;
    right: initial;
  }

  .member .member__content .modal__title {
    padding-right: 24px;
  }

  .project-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--secondary);
  }

  .project-data:not(:last-child) {
    margin-bottom: 2rem;
  }

  .project-data .project-data__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333333% - 1rem);
    border: none;
    padding: 0 !important;
  }

  .card.card--involved {
    min-height: 30rem;
  }

  .collapses.collapses--policy .collapse {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .collapses.collapses--policy .collapse__head,
  .collapses.collapses--policy .collapse__body {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: calc(50% - 1.25rem);
  }

  .collapses.collapses--policy .collapse__body .collapse__body__wrap {
    padding-top: initial;
  }

  .collapses.collapses--job .collapse__head .btn {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 12.5rem;
  }

  .collapses.collapses--job .collapse__body .btn {
    display: none;
  }

  .collapses.collapses--job .collapse__body .collapse__body__wrap {
    padding-top: 1.25rem;
  }

  .job-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.25rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    border-top: 1px solid var(--secondary);
    border-bottom: 1px solid var(--secondary);
  }

  .job-info .job-info__item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border: none !important;
    padding: 0 !important;
  }

  #search.modal .modal__container {
    padding-top: 6.5rem;
    padding-bottom: 6.5rem;
  }

  .search-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 1.25rem;
  }

  .search-hero {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: calc(25% - 0.625rem);
    margin-bottom: 0;
    aspect-ratio: 27 / 17;
  }

  .search-content {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .map {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .map .map__hero {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 60%;
  }

  .map .map__content {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
  }

  #partnerships[data-partnership-lg='true'] .swiper-slide img {
    width: initial;
  }
  .column-2-gap {
    -webkit-columns: 2;
       -moz-columns: 2;
            columns: 2;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 14px;
  }

  body {
    --container-width: 1140px;

    --btn-font-size: 1rem;
    --btn-line-height: 3rem;

    --gutter-x: 2.5rem;
    --section-padding-y: 2.5rem;
    --paragraph-margin-bottom: 1.5rem;
    --header-container-margin-x: 1.25rem;

    --modal-padding: 2.5rem;
    --modal-close-size: 3.75rem;
    --modal-close-icon-size: 1.5rem;
    --inner-banner-min-height: 45rem;
  }

  h1,
  .h1 {
    font-size: calc(var(--heading-font-size-base) * 8);
  }

  h2,
  .h2 {
    font-size: calc(var(--heading-font-size-base) * 6);
  }

  h3,
  .h3 {
    font-size: calc(var(--heading-font-size-base) * 3);
    line-height: 3.5rem;
  }

  h4,
  .h4,
  .section .section__title {
    font-size: calc(var(--heading-font-size-base) * 2);
    line-height: 2.25rem;
  }

  h5,
  .h5 {
    font-size: calc(var(--heading-font-size-base) * 1.5);
    line-height: 1.75rem;
  }

  h6,
  .h6 {
    font-size: 1rem;
    line-height: 1;
  }

  .row.row--xs,
  .row.row--sm {
    --gutter-x: 1.25rem;
  }

  .col-xl-1 {
    width: 8.33333333%;
  }

  .col-xl-2 {
    width: 16.66666667%;
  }

  .col-xl-3 {
    width: 25%;
  }

  .col-xl-4 {
    width: 33.33333333%;
  }

  .col-xl-5 {
    width: 41.66666667%;
  }

  .col-xl-6 {
    width: 50%;
  }

  .col-xl-7 {
    width: 58.33333333%;
  }

  .col-xl-8 {
    width: 66.66666667%;
  }

  .col-xl-9 {
    width: 75%;
  }

  .col-xl-10 {
    width: 83.33333333%;
  }

  .col-xl-11 {
    width: 91.66666667%;
  }

  .col-xl-12 {
    width: 100%;
  }

  .section.section--sm {
    --section-padding-y: 2.5rem;
  }

  .image-container,
  .container-fluid-sm {
    --gutter-x: 2.5rem;
  }

  .fs-32 {
    font-size: 2rem !important;
  }

  .fs-64 {
    font-size: 4rem !important;
    line-height: 4.5rem;
  }

  .card {
    --card-spacer: 2.5rem;
    font-size: 1.5rem;
    line-height: 1.75rem;
  }

  .header-container {
    padding-top: 0;
    padding-bottom: 0;
  }

  .navbar {
    margin-top: 0;
    margin-left: auto;
    position: relative;
    top: initial;
    left: initial;
    right: initial;
    width: initial;
    background-color: transparent;
    padding: 0;
    display: block;
    max-height: initial;
    overflow: visible;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .navbar > ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0;
    margin: 0;
    max-width: initial;
  }

  .navbar > ul > li:not(:first-child) {
    margin-left: 40px;
    margin-top: initial;
  }

  .navbar > ul > li > a {
    padding-top: 2rem;
    padding-bottom: 2rem;
    line-height: 1rem;
    font-size: 1rem;
  }

  .sub-menu-handler {
    margin-left: 4px;
  }

  .menu-item-has-children:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }

  .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 380px;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    background-color: #fff;
    padding: 32px 20px;
    border-radius: var(--border-radius);
    opacity: 0;
    visibility: hidden;
    display: block;
  }

  .header-right {
    margin-left: 2.5rem;
  }

  #hamburger {
    display: none;
  }

  .search-body {
    padding-left: 2.5rem;
    padding-right: 1.25rem;
  }

  .search-body > .h6 {
    margin-bottom: 2.5rem;
  }

  .search-item:not(:first-child) {
    margin-top: 2.5rem;
  }

  #intro_video {
    --spacing-left: 1.575rem;
    --video-width: 560px;
  }

  #intro_video > .play {
    width: 3rem;
  }

  .card.card--quick .card__icon {
    width: 4rem;
    height: 4rem;
    margin-bottom: 1.25rem;
  }

  .card.card--h .card__body,
  .card.card--h .card__image {
    width: 50%;
  }

  .card.card--post .card__image > * {
    aspect-ratio: 140 / 79;
  }

  .card.card--work .card__image > * {
    aspect-ratio: 7 / 3;
  }

  hr.divider {
    margin: 1.25rem 0;
  }

  .py-xl-40 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }

  .px-xl-40 {
    padding-left: calc(0.5 * var(--gutter-x));
    padding-right: calc(0.5 * var(--gutter-x));
  }

  .pb-xl-12 {
    padding-bottom: 0.75rem !important;
  }

  .mb-xl-40,
  .my-xl-40 {
    margin-bottom: 2.5rem !important;
  }

  .my-xl-40 {
    margin-top: 2.5rem !important;
  }

  .mb-xl-32 {
    margin-bottom: 2rem !important;
  }

  .mb-xl-20 {
    margin-bottom: 1.25rem !important;
  }

  .arrow-top-right {
    width: 1rem;
  }

  .select-box .select-box__options {
    font-size: 1rem;
  }

  .about-banner {
    --inner-hero-max-width: 30rem;
  }

  .inner-banner {
    padding-top: var(--gutter-x);
    padding-bottom: var(--gutter-x);
  }

  .inner-banner .inner-banner__content {
    --inner-hero-max-width: 35rem;
    padding: 0 calc(0.5 * var(--gutter-x));
  }

  .about-banner-card {
    margin-top: calc(-1 * var(--gutter-x));
    position: relative;
    z-index: 3;
  }

  .text-block {
    min-height: 45rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .text-block .text-block__title {
    font-size: 4rem;
    font-weight: 300;
    line-height: 4.5rem;
  }

  #timeline {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }

  #timeline_anchor {
    font-size: 1rem;
  }

  .timeline-container {
    padding-top: 8rem;
  }

  .card.card--member .card__image > * {
    aspect-ratio: 7 / 5;
  }

  .team:last-child {
    padding-bottom: 0;
  }

  .member {
    font-size: 1.5rem;
  }

  .member .member__content {
    --modal-padding: 2.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .team:not(:last-child) {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .work-data {
    font-size: 1.5rem;
    margin-left: auto;
    width: 85%;
    max-width: 35rem;
  }

  .project-data {
    gap: 1.25rem;
    padding-bottom: 2rem;
  }

  .project-data:not(:last-child) {
    margin-bottom: 3rem;
  }

  
  .hero-banner .hero-banner__content {
    padding-bottom: 5rem;
  }

  .hero-banner .hero-banner__content .btn,
  .water-portal .water-portal__content .btn {
    max-width: 480px;
  }

  .collapse .h6 {
    margin-bottom: 0.75rem;
  }

  .collapse .collapse__arrow {
    width: 3.75rem;
    height: 3.75rem;
  }

  .collapse .collapse__arrow > * {
    width: 1.5rem;
    height: 1.5rem;
  }

  .job-info,
  .collapses.collapses--job .collapse__body .collapse__body__wrap {
    padding-top: 2.5rem;
  }

  .partnerships .swiper-scrollbar {
    margin-top: 4rem;
  }

  #map_cards .work-data {
    margin-left: initial;
    width: initial;
  }

  #map_cards .work-data .work-data__item {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  #map_cards .card .card__body {
    padding: var(--card-spacer);
  }

  .map {
    padding: 0;
  }

  .map .map__content {
    padding: 2.5rem 1.25rem 2.5rem 0;
  }

  .map .map__controls {
    margin-bottom: 1.25rem;
  }

  .card.card--partner .card__image {
    height: 300px;
  }

  .card.card--partner .card__image > * {
    max-width: initial;
  }

  .project-data .project-data__title,
  .publication-data .publication-data__title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }

  .publication-data .publication-data__title {
    margin-bottom: 0.75rem;
  }

  .sitemap .sitemap__item:not(:last-child) {
    margin-bottom: 3.75rem;
  }

  .sitemap .sitemap__item .text-uppercase a {
    font-size: 1rem;
  }

  .sitemap .sitemap__item ul {
    font-size: 1.5rem;
  }

  #footer {
    --brand-width: 300px;

    padding: 5rem 1.25rem 2.5rem;
  }

  .footer-content {
    --paragraph-margin-bottom: 1rem;
    padding-bottom: 0;
    font-size: 1.25rem;
    max-width: 390px;
  }

  .footer-link li:not(:last-child) {
    margin-bottom: 1rem;
  }

  .footer-title {
    padding-bottom: 1.25rem;
  }

  .last-footer {
    margin-top: 2.5rem;
    padding-top: 1.25rem;
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1400px) {
  .timeline-content__text {
    width: 70%;
  }
}

@media (min-width: 1600px) {
  html {
    font-size: 16px;
  }

  body {
    --btn-line-height: 3.75rem;

    --header-container-margin-x: 2.5rem;
    --gutter-x: 5rem;

    --form-control-min-height: 3.75rem;
    --form-control-arrow: url('data:image/svg+xml,<svg fill="%23000" viewBox="0 0 24 24" height="24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.9997 13.1714L16.9495 8.22168L18.3637 9.63589L11.9997 15.9999L5.63574 9.63589L7.04996 8.22168L11.9997 13.1714Z"></path></svg>');
  }

  .row.row--sm,
  .row.row--md {
    --gutter-x: 2.5rem;
  }

  .header-right {
    --btn-line-height: 3rem;
  }

  .search-body {
    padding-left: 3.5rem;
    padding-right: 2.875rem;
  }

  #intro_video {
    --spacing-left: 2.825rem;
  }

  .inner-hero.inner-hero--sm {
    max-width: 16.25rem;
  }

  .select-box .select-box__control:after {
    width: 1.5rem;
    height: 1.5rem;
  }

  .timeline-content .timeline-content__text {
    width: 50%;
  }

  .image-container,
  .container-fluid-sm {
    --gutter-x: 5rem;
  }

  .impact .impact__item {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .our-story {
    gap: 3.75rem 2.5rem;
  }

  .project-data {
    gap: 2.5rem;
  }

  .collapse {
    padding: 2.5rem;
  }

  .collapses .collapse:not(:first-child) {
    margin-top: 2.5rem;
  }

  .map .map__hero {
    width: 66.5%;
  }

  .map .map__content {
    padding-right: 2.5rem;
  }

  .card.card--work .card__head .btn.btn--icon > img {
    width: initial;
  }

  #footer {
    padding-left: 0;
    padding-right: 0;
  }

  .footer-content {
    max-width: 440px;
  }

  .column-2-gap {
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }
}

.wpcf7-not-valid-tip,
.wpcf7-response-output {
  font-size: 16px;
}
