@charset "UTF-8";
/* ------------------------- Bootstrap 5 BreakPoints -----------------------------*/
/* ------------------------- /Bootstrap 5 BreakPoints -----------------------------*/
/* ------------------------- Responsive clamp() generator -----------------------------*/
/* ------------------------- /Responsive clamp() generator ----------------------------- */
/* inter-300 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Inter";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/inter-v20-latin_latin-ext-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/inter-v20-latin_latin-ext-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/inter-v20-latin_latin-ext-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/playfair-display-v40-latin_latin-ext-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-500 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/playfair-display-v40-latin_latin-ext-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-700 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/playfair-display-v40-latin_latin-ext-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ------------------ Icons using SVG Background ------------------ */
/* purgecss start ignore */
.fi {
  display: inline-block;
  content: "";
  vertical-align: middle;
  width: 1em;
  height: 1em;
  color: inherit;
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
}
@supports not (mask-image: url()) {
  .fi {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}

.fi--arrow-right, .wp-block-button.is-style-fill .wp-element-button::after,
.wp-block-button .wp-element-button::after, .btn.btn--accent::after, .btn.btn--cta::after {
  mask-image: url("../img/icons/arrow-right.svg");
}
@supports not (mask-image: url()) {
  .fi--arrow-right, .wp-block-button.is-style-fill .wp-element-button::after,
  .wp-block-button .wp-element-button::after, .btn.btn--accent::after, .btn.btn--cta::after {
    background-image: url("../img/icons/arrow-right.svg");
  }
}

.fi--euro {
  mask-image: url("../img/icons/euro.svg");
}
@supports not (mask-image: url()) {
  .fi--euro {
    background-image: url("../img/icons/euro.svg");
  }
}

.fi--home-hat {
  mask-image: url("../img/icons/home-hat.svg");
}
@supports not (mask-image: url()) {
  .fi--home-hat {
    background-image: url("../img/icons/home-hat.svg");
  }
}

.fi--lab-tube {
  mask-image: url("../img/icons/lab-tube.svg");
}
@supports not (mask-image: url()) {
  .fi--lab-tube {
    background-image: url("../img/icons/lab-tube.svg");
  }
}

.fi--doctor {
  mask-image: url("../img/icons/doctor.svg");
}
@supports not (mask-image: url()) {
  .fi--doctor {
    background-image: url("../img/icons/doctor.svg");
  }
}

.fi--data-checkmark {
  mask-image: url("../img/icons/data-checkmark.svg");
}
@supports not (mask-image: url()) {
  .fi--data-checkmark {
    background-image: url("../img/icons/data-checkmark.svg");
  }
}

.fi--science-rotate {
  mask-image: url("../img/icons/science-rotate.svg");
}
@supports not (mask-image: url()) {
  .fi--science-rotate {
    background-image: url("../img/icons/science-rotate.svg");
  }
}

.fi--suitcase-health {
  mask-image: url("../img/icons/suitcase-health.svg");
}
@supports not (mask-image: url()) {
  .fi--suitcase-health {
    background-image: url("../img/icons/suitcase-health.svg");
  }
}

.fi--thumbs-up-document {
  mask-image: url("../img/icons/thumbs-up-document.svg");
}
@supports not (mask-image: url()) {
  .fi--thumbs-up-document {
    background-image: url("../img/icons/thumbs-up-document.svg");
  }
}

.fi--time-loading {
  mask-image: url("../img/icons/time-loading.svg");
}
@supports not (mask-image: url()) {
  .fi--time-loading {
    background-image: url("../img/icons/time-loading.svg");
  }
}

.fi--user-circle, .input-user:before {
  mask-image: url("../img/icons/user-circle.svg");
}
@supports not (mask-image: url()) {
  .fi--user-circle, .input-user:before {
    background-image: url("../img/icons/user-circle.svg");
  }
}

.fi--email-at, .input-email:before {
  mask-image: url("../img/icons/email-at.svg");
}
@supports not (mask-image: url()) {
  .fi--email-at, .input-email:before {
    background-image: url("../img/icons/email-at.svg");
  }
}

.fi--send-message-circle, .input-message:before {
  mask-image: url("../img/icons/send-message-circle.svg");
}
@supports not (mask-image: url()) {
  .fi--send-message-circle, .input-message:before {
    background-image: url("../img/icons/send-message-circle.svg");
  }
}

/* purgecss end ignore */
/* Effect styles */
/* ----------------------------- Grid --------------------------- */
/* ------------------------------ Spacing: Sections & General ------------------------------- */
/* ------------------------------ Borders ------------------------------- */
/* ------------------------------ Buttons / Forms ------------------------------- */
/* ------------------------------ Header  ------------------------------- */
/* ------------------------------ Logo  ------------------------------- */
/* ------------------------------ Hero  ------------------------------ */
/* ------------------------------ Swiper  ------------------------------- */
/* ==============================
 * Abstracts | Root
 * ------------------------------ */
:root {
  /* -------------------------- COLORS --------------------------- */
  --clr-white: hsl(0, 0%, 100%);
  --clr-black: hsl(0, 0%, 0%);
  --clr-success: hsl(120, 100%, 25%);
  --clr-info: hsl(180, 100%, 50%);
  --clr-warning: hsl(60, 100%, 50%);
  --clr-danger: hsl(0, 100%, 50%);
  --clr-primary-500: hsl(184, 100%, 40%);
  --clr-secondary-500: hsl(199, 100%, 35%);
  --clr-accent-500: hsl(16, 100%, 66%);
  --clr-light-500: hsl(204, 22%, 95%);
  --clr-neutral-500: hsl(187, 72%, 93%);
  --clr-dark-500: hsl(0, 0%, 12%);
  --clr-dark-300: hsl(220, 2%, 35%);
  --clr-body-bg: var(--clr-white);
  --clr-body-text: var(--clr-dark-500);
  --clr-swiper-btn-base: var(--clr-dark-500);
  --clr-swiper-btn-hover: var(--clr-dark-700);
  --clr-swiper-btn-active: var(--clr-dark-500);
  --clr-swiper-btn-disabled: var(--clr-dark-300);
  --clr-selection-bg: var(--clr-secondary-500);
  --clr-selection-text: var(--clr-white);
  --clr-input-bg: var(--clr-white);
  --clr-input-text: var(--clr-dark-500);
  --clr-input-placeholder: var(--clr-light-500);
  --clr-input-border: var(--clr-white);
  --clr-input-border-hover: var(--clr-primary-500);
  --clr-input-border-focus: var(--clr-primary-500);
  --clr-header-bg: var(--clr-light-500);
  --clr-footer-bg: hsla(0, 0%, 100%, 0.4);
  --clr-footer-text: var(--clr-dark-500);
  --clr-hero-bg: var(--clr-light-500);
  --clr-hero-text: var(--clr-dark-500);
  --clr-hero-overlay: var(--clr-dark-500);
  --clr-nav-bg: var(--clr-white);
  --clr-nav-bg-fade: color-mix(in srgb, var(--clr-white), transparent 100%);
  --clr-nav-link: var(--clr-dark-500);
  --clr-nav-link-hover: var(--clr-primary-500);
  --clr-nav-link-active: var(--clr-dark-500);
  --clr-nav-bg-dropdown: var(--clr-dark-700);
  --clr-nav-link-dropdown: var(--clr-light-700);
  --clr-hamburger-bg: var(--clr-dark-500);
  --clr-hamburger-bg-active: var(--clr-primary-500);
  --clr-link-default: var(--clr-primary-500);
  --clr-link-hover: var(--clr-primary-600);
  --clr-link-active: var(--clr-primary-600);
  /* -------------------------- / COLORS --------------------------- */
  /* -------------------------- GRADIENTS --------------------------- */
  --grad-radial: radial-gradient(50% 50% at 50% 50%, #CEE5F2 0%, rgba(255, 255, 255, 0) 100%);
  /* -------------------------- TYPOGRAPHY --------------------------- */
  --fs-h1: clamp(2.5rem, 2.7777777778vw + 1.5rem, 4rem);
  --fs-h2: clamp(2rem, 2.0833333333vw + 1.25rem, 3.125rem);
  --fs-h3: clamp(1.5rem, 1.8518518519vw + 0.8333333333rem, 2.5rem);
  --fs-h4: clamp(1.25rem, 0.9259259259vw + 0.9166666667rem, 1.75rem);
  --fs-h5: clamp(1.125rem, 0.6944444444vw + 0.875rem, 1.5rem);
  --fs-h6: clamp(1rem, 0.462962963vw + 0.8333333333rem, 1.25rem);
  --fs-p: clamp(1rem, 0.2314814815vw + 0.9166666667rem, 1.125rem);
  --fs-sm: clamp(0.875rem, 0.2314814815vw + 0.7916666667rem, 1rem);
  --fs-xs: clamp(0.75rem, 0.2314814815vw + 0.6666666667rem, 0.875rem);
  --fs-lp: clamp(1.125rem, 0.2314814815vw + 1.0416666667rem, 1.25rem);
  --fs-bt: 1.25rem;
  --fs-mt: 1.125rem;
  --fs-nav: 1.25rem;
  --ff-base: Inter, sans-serif;
  --ff-alt: Playfair Display, serif;
  --fw-base: 400;
  --lh-base: 1.55;
  /* -------------------------- GRID BREAKPOINTS --------------------------- */
  --gbp-xs: 0;
  --gbp-sm: 36rem;
  --gbp-md: 48rem;
  --gbp-lg: 64rem;
  --gbp-xl: 80rem;
  --gbp-xxl: 93.5rem;
  --gbp-xxxl: 141.25rem;
  --gbp-nav: 51.25rem;
  --gbp-mobile: 36rem;
  /* -------------------------- SAFE INLINE PADDING for ultra-wide screens --------------------------- */
  --safe-inline: max((100vw - var(--gbp-xxxl)) / 2, 2rem);
  /* -------------------------- CONTAINER MAX WIDTHS --------------------------- */
  --cnt-xs: 100%;
  --cnt-sm: 98%;
  --cnt-md: 96%;
  --cnt-lg: 96%;
  --cnt-xl: 96%;
  --cnt-xxl: 89.75rem;
  /* -------------------------- SPACINGS --------------------------- */
  --spacing-gutter: clamp(0.9375rem, 2vw, 1.875rem);
  --spacing-xs: clamp(1.5625rem, 4vw, 3.125rem);
  --spacing-sm: clamp(1.5625rem, 6vw, 4.375rem);
  --spacing-md: clamp(3.125rem, 8vw, 7.8125rem);
  --spacing-lg: clamp(4.375rem, 10vw, 9.375rem);
  --spacing-1: 0.3125rem;
  --spacing-2: clamp(0.46875rem, 0.2893518519vw + 0.3645833333rem, 0.625rem);
  --spacing-3: clamp(0.625rem, 0.5787037037vw + 0.4166666667rem, 0.9375rem);
  --spacing-4: clamp(0.9375rem, 0.5787037037vw + 0.7291666667rem, 1.25rem);
  --spacing-5: clamp(1.25rem, 1.1574074074vw + 0.8333333333rem, 1.875rem);
  --spacing-6: clamp(1.875rem, 1.1574074074vw + 1.4583333333rem, 2.5rem);
  --spacing-7: clamp(2.5rem, 2.3148148148vw + 1.6666666667rem, 3.75rem);
  --spacing-8: clamp(3.75rem, 2.3148148148vw + 2.9166666667rem, 5rem);
  --spacing-9: clamp(5rem, 4.6296296296vw + 3.3333333333rem, 7.5rem);
  --spacing-10: clamp(7.5rem, 4.6296296296vw + 5.8333333333rem, 10rem);
  /* -------------------------- BORDERS --------------------------- */
  --border-width: 0.125rem;
  --bdrs-base: 0.25rem;
  --bdrs-sm: 0.125rem;
  --bdrs-lg: 0.9375rem;
  --bdrs-pill: 3.125rem;
}

/* ==============================
 * Base | Reset
 * ------------------------------ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font: inherit;
}

.row {
  --bs-gutter-x: clamp(0.9375rem, 2vw, 1.875rem);
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -0.5);
  margin-left: calc(var(--bs-gutter-x) * -0.5);
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.6666666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-1rem,
.gx-1rem {
  --bs-gutter-x: ;
}

.g-1rem,
.gy-1rem {
  --bs-gutter-y: ;
}

@media (min-width: 36rem) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-1rem,
  .gx-sm-1rem {
    --bs-gutter-x: ;
  }
  .g-sm-1rem,
  .gy-sm-1rem {
    --bs-gutter-y: ;
  }
}
@media (min-width: 48rem) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-1rem,
  .gx-md-1rem {
    --bs-gutter-x: ;
  }
  .g-md-1rem,
  .gy-md-1rem {
    --bs-gutter-y: ;
  }
}
@media (min-width: 64rem) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-1rem,
  .gx-lg-1rem {
    --bs-gutter-x: ;
  }
  .g-lg-1rem,
  .gy-lg-1rem {
    --bs-gutter-y: ;
  }
}
@media (min-width: 80rem) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-1rem,
  .gx-xl-1rem {
    --bs-gutter-x: ;
  }
  .g-xl-1rem,
  .gy-xl-1rem {
    --bs-gutter-y: ;
  }
}
@media (min-width: 93.5rem) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-1rem,
  .gx-xxl-1rem {
    --bs-gutter-x: ;
  }
  .g-xxl-1rem,
  .gy-xxl-1rem {
    --bs-gutter-y: ;
  }
}
@media (min-width: 141.25rem) {
  .col-xxxl {
    flex: 1 0 0%;
  }
  .row-cols-xxxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxxl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xxxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxxl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xxxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxxl-0 {
    margin-left: 0;
  }
  .offset-xxxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxxl-3 {
    margin-left: 25%;
  }
  .offset-xxxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxxl-6 {
    margin-left: 50%;
  }
  .offset-xxxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxxl-9 {
    margin-left: 75%;
  }
  .offset-xxxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxxl-1rem,
  .gx-xxxl-1rem {
    --bs-gutter-x: ;
  }
  .g-xxxl-1rem,
  .gy-xxxl-1rem {
    --bs-gutter-y: ;
  }
}
@media (min-width: 51.25rem) {
  .col-nav {
    flex: 1 0 0%;
  }
  .row-cols-nav-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-nav-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-nav-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-nav-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-nav-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-nav-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-nav-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-nav-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-nav-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-nav-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-nav-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-nav-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-nav-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-nav-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-nav-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-nav-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-nav-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-nav-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-nav-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-nav-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-nav-0 {
    margin-left: 0;
  }
  .offset-nav-1 {
    margin-left: 8.33333333%;
  }
  .offset-nav-2 {
    margin-left: 16.66666667%;
  }
  .offset-nav-3 {
    margin-left: 25%;
  }
  .offset-nav-4 {
    margin-left: 33.33333333%;
  }
  .offset-nav-5 {
    margin-left: 41.66666667%;
  }
  .offset-nav-6 {
    margin-left: 50%;
  }
  .offset-nav-7 {
    margin-left: 58.33333333%;
  }
  .offset-nav-8 {
    margin-left: 66.66666667%;
  }
  .offset-nav-9 {
    margin-left: 75%;
  }
  .offset-nav-10 {
    margin-left: 83.33333333%;
  }
  .offset-nav-11 {
    margin-left: 91.66666667%;
  }
  .g-nav-1rem,
  .gx-nav-1rem {
    --bs-gutter-x: ;
  }
  .g-nav-1rem,
  .gy-nav-1rem {
    --bs-gutter-y: ;
  }
}
@media (min-width: 36rem) {
  .col-mobile {
    flex: 1 0 0%;
  }
  .row-cols-mobile-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-mobile-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-mobile-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-mobile-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-mobile-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-mobile-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-mobile-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-mobile-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-mobile-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-mobile-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-mobile-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-mobile-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-mobile-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-mobile-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-mobile-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-mobile-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-mobile-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-mobile-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-mobile-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-mobile-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-mobile-0 {
    margin-left: 0;
  }
  .offset-mobile-1 {
    margin-left: 8.33333333%;
  }
  .offset-mobile-2 {
    margin-left: 16.66666667%;
  }
  .offset-mobile-3 {
    margin-left: 25%;
  }
  .offset-mobile-4 {
    margin-left: 33.33333333%;
  }
  .offset-mobile-5 {
    margin-left: 41.66666667%;
  }
  .offset-mobile-6 {
    margin-left: 50%;
  }
  .offset-mobile-7 {
    margin-left: 58.33333333%;
  }
  .offset-mobile-8 {
    margin-left: 66.66666667%;
  }
  .offset-mobile-9 {
    margin-left: 75%;
  }
  .offset-mobile-10 {
    margin-left: 83.33333333%;
  }
  .offset-mobile-11 {
    margin-left: 91.66666667%;
  }
  .g-mobile-1rem,
  .gx-mobile-1rem {
    --bs-gutter-x: ;
  }
  .g-mobile-1rem,
  .gy-mobile-1rem {
    --bs-gutter-y: ;
  }
}
.container, .navbar,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.container-xs {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: clamp(0.9375rem, 2vw, 1.875rem);
  padding-left: clamp(0.9375rem, 2vw, 1.875rem);
}

.container, .navbar {
  max-width: 100%;
}

@media (min-width: 36rem) {
  .container-sm, .container, .navbar {
    max-width: 98%;
  }
}
@media (min-width: 48rem) {
  .container-md, .container-sm, .container, .navbar {
    max-width: 96%;
  }
}
@media (min-width: 64rem) {
  .container-lg, .container-md, .container-sm, .container, .navbar {
    max-width: 96%;
  }
}
@media (min-width: 80rem) {
  .container-xl, .container-lg, .container-md, .container-sm, .container, .navbar {
    max-width: 96%;
  }
}
@media (min-width: 93.5rem) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container, .navbar {
    max-width: 89.75rem;
  }
}
/* ==============================
 * Base | Global
 * ------------------------------ */
@view-transition {
  navigation: auto;
}
html {
  scroll-behavior: smooth;
  font-size: 1rem;
}

body {
  font-family: var(--ff-base);
  font-size: var(--fs-p);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  background-color: var(--clr-body-bg);
  color: var(--clr-body-text);
}
@media (min-width: 141.25rem) {
  body {
    padding-inline: var(--safe-inline);
  }
}
body.body-fixed {
  height: 100vh;
  overflow-y: hidden;
  padding-right: 15px; /* Avoid width reflow */
}

a:not([class]) {
  text-decoration: none;
  color: var(--clr-link-default);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
a:not([class]):hover {
  color: var(--clr-link-hover);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
a:not([class]):active {
  color: var(--clr-link-active);
}

strong {
  font-weight: 700;
}

p {
  margin-bottom: 0.9375rem;
}
p + p {
  margin-top: 0.625rem;
}

.lead {
  font-size: var(--fs-lp);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  line-height: 1.2;
}
@media (min-width: 36rem) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    margin-bottom: 1.25rem;
  }
}
@media (max-width: 35.98rem) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    margin-bottom: 0.9375rem;
  }
}

h1,
.h1 {
  font-size: var(--fs-h1);
  font-family: var(--ff-alt);
  font-weight: 500;
}

h2,
.h2 {
  font-size: var(--fs-h2);
  font-family: var(--ff-alt);
  font-weight: 500;
}

h3,
.h3 {
  font-size: var(--fs-h3);
  font-family: var(--ff-alt);
  font-weight: 500;
}

h4,
.h4 {
  font-size: var(--fs-h4);
  font-family: var(--ff-base);
  font-weight: 700;
}

h5,
.h5 {
  font-size: var(--fs-h5);
  font-family: var(--ff-base);
  font-weight: 700;
}

h6,
.h6 {
  font-size: var(--fs-h6);
  font-family: var(--ff-base);
  font-weight: 700;
}

::selection {
  color: var(--clr-selection-text);
  background: var(--clr-selection-bg);
}

/* ==============================
 * Components | Buttons
 * ------------------------------ */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: 50vh;
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
@supports selector(::focus-visible) {
  .btn:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.btn.btn--sm {
  padding: 0.375rem 1.5625rem;
  border-radius: 50vh;
}
.btn.btn--lg {
  padding: 0.625rem 1.875rem;
  border-radius: 50vh;
}
.btn.btn--primary {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-white);
}
.btn.btn--primary:hover, .btn.btn--primary:focus, .btn.btn--primary:active {
  background-color: var(--clr-accent-500);
  border-color: var(--clr-accent-500);
  color: var(--clr-white);
}
.btn.btn--accent {
  background-color: var(--clr-accent-500);
  border-color: var(--clr-accent-500);
  color: var(--clr-white);
}
.btn.btn--accent::after {
  display: inline-block;
  content: "";
  vertical-align: middle;
  width: 1em;
  height: 1em;
  color: inherit;
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  font-size: 0rem;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  opacity: 0;
}
@supports not (mask-image: url()) {
  .btn.btn--accent::after {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}
.btn.btn--accent:hover, .btn.btn--accent:focus, .btn.btn--accent:active {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-white);
  gap: 0.4375rem;
}
.btn.btn--accent:hover::after, .btn.btn--accent:focus::after, .btn.btn--accent:active::after {
  opacity: 1;
  font-size: 1.5rem;
  transform: translateX(0.4375rem);
}
.btn.btn--dark {
  background-color: var(--clr-dark-500);
  border-color: var(--clr-dark-500);
  color: var(--clr-white);
}
.btn.btn--dark:hover, .btn.btn--dark:focus, .btn.btn--dark:active {
  background-color: var(--clr-white);
  border-color: var(--clr-white);
  color: var(--clr-dark-500);
}
.btn.btn--cta {
  background-color: var(--clr-accent-500);
  color: var(--clr-white);
  padding: var(--spacing-3);
}
@media (min-width: 48rem) {
  .btn.btn--cta {
    min-height: 4.6875rem;
    min-width: 4.6875rem;
  }
}
@media (max-width: 47.98rem) {
  .btn.btn--cta {
    min-height: 3.75rem;
    min-width: 3.75rem;
  }
}
.btn.btn--cta::after {
  display: inline-block;
  content: "";
  vertical-align: middle;
  width: 1em;
  height: 1em;
  color: inherit;
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
@supports not (mask-image: url()) {
  .btn.btn--cta::after {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}
@media (min-width: 48rem) {
  .btn.btn--cta::after {
    font-size: 2.375rem;
  }
}
@media (max-width: 47.98rem) {
  .btn.btn--cta::after {
    font-size: 1.875rem;
  }
}
.btn.btn--cta > span {
  font-size: 0;
  display: inline-block;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.btn.btn--cta:hover, .btn.btn--cta:focus, .btn.btn--cta:active {
  background-color: var(--clr-accent-500);
  color: var(--clr-white);
  gap: var(--spacing-2);
  padding: var(--spacing-3) 2rem;
}
.btn.btn--cta:hover span, .btn.btn--cta:focus span, .btn.btn--cta:active span {
  font-size: var(--fs-bt);
}

/* ==============================
 * Components | Tabs
 * ------------------------------ */
.tab {
  display: inline-flex;
  border: none;
  background: none;
  text-transform: uppercase;
  font-weight: 700;
  font-size: var(--fs-xs);
  position: relative;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  padding: var(--spacing-2) var(--spacing-3);
  cursor: pointer;
}
.tab:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0.25rem;
  background-color: var(--clr-primary-500);
  right: 0;
  bottom: 0.0625rem;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.tab:hover, .tab:focus, .tab:active {
  color: var(--clr-primary-500);
}
.tab:hover:before, .tab:focus:before, .tab:active:before {
  width: 100%;
  left: 0;
}
.tab.active {
  color: var(--clr-primary-500);
}
.tab.active:before {
  width: 100%;
  left: 0;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
/* purgecss start ignore */
.hamburger {
  padding: 0.25rem 0.25rem;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 0.85;
}
.hamburger.is-active:hover {
  opacity: 0.85;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: var(--clr-hamburger-bg-active);
}

.hamburger-box {
  width: 2rem;
  height: 1.3125rem;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.09375rem;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 2rem;
  height: 0.1875rem;
  background-color: var(--clr-hamburger-bg);
  border-radius: var(--bdrs-base);
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -0.5625rem;
}
.hamburger-inner::after {
  bottom: -0.5625rem;
}

/*
 * Spring
 */
.hamburger--spring .hamburger-inner {
  top: 0.09375rem;
  transition: background-color 0s 0.13s linear;
}
.hamburger--spring .hamburger-inner::before {
  top: 0.5625rem;
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring .hamburger-inner::after {
  top: 1.125rem;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent !important;
}
.hamburger--spring.is-active .hamburger-inner::before {
  top: 0;
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 0.5625rem, 0) rotate(45deg);
}
.hamburger--spring.is-active .hamburger-inner::after {
  top: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 0.5625rem, 0) rotate(-45deg);
}

/* purgecss end ignore */
/* ==============================
 * Components | Pagination
 * ------------------------------ */
.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  list-style: none;
  font-size: var(--fs-sm);
  font-weight: 700;
  gap: 0.5rem;
}
@media (min-width: 36rem) {
  .pagination {
    margin-top: 1.5rem;
  }
}
@media (max-width: 35.98rem) {
  .pagination {
    margin-top: 1rem;
  }
}

.page-link {
  position: relative;
  display: block;
  padding: 0.375rem 1.5rem;
  margin-left: -rem(4);
  line-height: 1;
  color: var(--clr-white);
  text-decoration: none;
  background-color: var(--clr-dark-500);
  border: 0.0625rem solid var(--clr-dark-500);
  border-radius: 50vh;
}
.page-link:hover {
  z-index: 2;
  color: var(--clr-white);
  text-decoration: none;
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
}
.page-link:focus {
  z-index: 3;
}

.page-item:first-child .page-link {
  margin-left: 0;
}
.page-item.active .page-link {
  z-index: 3;
  color: var(--clr-white);
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
}
.page-item.disabled .page-link {
  color: var(--clr-white);
  pointer-events: none;
  cursor: auto;
  background-color: var(--clr-dark-300);
  border-color: var(--clr-dark-300);
}

/* ==============================
 * Layout | Navbar
 * ------------------------------ */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.navbar__branding {
  font-size: 0;
}
@media (min-width: 36rem) {
  .navbar__branding {
    width: 8.75rem;
  }
}
@media (max-width: 35.98rem) {
  .navbar__branding {
    width: 6.25rem;
  }
}
.navbar__title, .navbar__description {
  display: none;
}
.navbar__nav {
  display: flex;
}
@media (max-width: 51.23rem) {
  .navbar__nav {
    background-color: var(--clr-nav-bg);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    position: fixed;
    right: -100%;
    top: 0;
    bottom: 0;
    z-index: 1;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    transition-delay: 0s;
    overflow: hidden;
    padding: 2.5rem 2rem;
  }
  .navbar__nav.active {
    right: 0;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    transition-delay: 0s;
  }
  .navbar__nav:before, .navbar__nav::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 4rem;
    z-index: 1;
  }
  .navbar__nav::after {
    top: 0;
    background: linear-gradient(0deg, var(--clr-nav-bg-fade) 0%, var(--clr-nav-bg) 40%, var(--clr-nav-bg) 100%);
  }
  .navbar__nav::before {
    bottom: 0;
    background: linear-gradient(180deg, var(--clr-nav-bg-fade) 0%, var(--clr-nav-bg) 40%, var(--clr-nav-bg) 100%);
  }
}
.navbar__btns {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.navbar__menu {
  list-style: none;
  display: flex;
}
@media (min-width: 51.25rem) {
  .navbar__menu {
    gap: 2.5rem;
  }
}
@media (max-width: 51.23rem) {
  .navbar__menu {
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 0;
    overflow: scroll;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
  .navbar__menu::-webkit-scrollbar {
    display: none;
  }
}
.navbar__menu > li,
.navbar__menu .menu-item {
  font-size: var(--fs-mt);
  position: relative;
}
.navbar__menu > li a,
.navbar__menu .menu-item a {
  text-decoration: none;
  color: var(--clr-nav-link);
  display: inline-flex;
  align-items: center;
  position: relative;
  gap: 0.25rem;
  padding-block: 0.4375rem;
}
.navbar__menu > li a:before,
.navbar__menu .menu-item a:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0.25rem;
  background-color: var(--clr-primary-500);
  right: 0;
  bottom: 0.0625rem;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.navbar__menu > li a:hover, .navbar__menu > li a:focus,
.navbar__menu .menu-item a:hover,
.navbar__menu .menu-item a:focus {
  color: var(--clr-nav-link-hover);
}
.navbar__menu > li a:hover:before, .navbar__menu > li a:focus:before,
.navbar__menu .menu-item a:hover:before,
.navbar__menu .menu-item a:focus:before {
  width: 100%;
  left: 0;
}
.navbar__menu > li.current-menu-item, .navbar__menu > li.current-menu-ancestor, .navbar__menu > li.current-post-ancestor,
.navbar__menu .menu-item.current-menu-item,
.navbar__menu .menu-item.current-menu-ancestor,
.navbar__menu .menu-item.current-post-ancestor {
  font-weight: 700;
}
.navbar__menu > li.current-menu-item > a, .navbar__menu > li.current-menu-ancestor > a, .navbar__menu > li.current-post-ancestor > a,
.navbar__menu .menu-item.current-menu-item > a,
.navbar__menu .menu-item.current-menu-ancestor > a,
.navbar__menu .menu-item.current-post-ancestor > a {
  color: var(--clr-nav-link-active);
}
.navbar__menu > li.current-menu-item > a:before, .navbar__menu > li.current-menu-ancestor > a:before, .navbar__menu > li.current-post-ancestor > a:before,
.navbar__menu .menu-item.current-menu-item > a:before,
.navbar__menu .menu-item.current-menu-ancestor > a:before,
.navbar__menu .menu-item.current-post-ancestor > a:before {
  width: 100%;
  left: 0;
}
.navbar__menu .sub-menu {
  list-style: none;
  flex-direction: column;
  display: flex;
}
@media (min-width: 51.25rem) {
  .navbar__menu .sub-menu {
    position: absolute;
    display: none;
    background-color: var(--clr-nav-bg-dropdown);
    min-width: max-content;
    max-width: 20rem;
    width: clamp(10rem, 100%, 20rem);
    padding: 0.5rem 0;
    gap: 0.25rem;
  }
}
@media (max-width: 51.23rem) {
  .navbar__menu .sub-menu {
    padding: 0.75rem 0;
    gap: 0.375rem;
  }
}
.navbar__menu .sub-menu li {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 400;
}
.navbar__menu .sub-menu li a {
  display: block;
  color: var(--clr-nav-link-dropdown);
}
@media (min-width: 51.25rem) {
  .navbar__menu .sub-menu li a {
    padding: 0.125rem 1rem;
  }
}
.navbar__nav-toggler {
  z-index: 1;
  display: inline-flex;
}
@media (min-width: 51.25rem) {
  .navbar__nav-toggler {
    display: none;
  }
}

.custom-logo-link {
  display: inline-block;
}
@media (min-width: 36rem) {
  .custom-logo-link {
    width: 8.75rem;
  }
}
@media (max-width: 35.98rem) {
  .custom-logo-link {
    width: 6.25rem;
  }
}
.custom-logo-link img {
  max-width: 100%;
  height: auto;
}

/* ==============================
 * Layout | Header
 * ------------------------------ */
.header {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, var(--clr-white) 60%);
  display: flex;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.header::after {
  content: "";
  position: absolute;
  inset: 0;
  /* Blur the content behind */
  backdrop-filter: blur(1rem);
  /* Gradient from fully visible (bottom) to blurred (top) */
  mask-image: linear-gradient(to bottom, rgb(0, 0, 0) 60%, rgba(0, 0, 0, 0) 100%);
  z-index: -1;
}
@media (min-width: 36rem) {
  .header {
    height: 7.5rem;
    padding: 1rem 0;
  }
  .admin-bar .header {
    top: 32px;
  }
}
@media (max-width: 35.98rem) {
  .header {
    height: 4.375rem;
    padding: 0;
  }
  .admin-bar .header {
    top: 46px;
  }
}
.header.header--down {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  height: 6.25rem;
}

/* ==============================
 * Layout | Hero
 * ------------------------------ */
.hero {
  display: flex;
  align-items: center;
  position: relative;
  color: var(--clr-hero-text);
}
@media (min-width: 36rem) {
  .hero {
    min-height: 17.5rem;
    padding: calc(var(--spacing-lg) * 2) 0 var(--spacing-6);
  }
}
@media (max-width: 35.98rem) {
  .hero {
    min-height: 11.25rem;
    padding: calc(var(--spacing-md) * 2) 0 var(--spacing-5);
  }
}
.hero__content p:last-child {
  margin-bottom: var(--spacing-2);
}
.hero__bg {
  position: absolute;
  inset: 0 0 auto;
  overflow: hidden;
  z-index: -1;
}
.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 50%, #FFFFFF 100%);
}
@media (min-width: 36rem) {
  .hero.hero--hp {
    min-height: 33.75rem;
    padding: calc(var(--spacing-lg) * 2) 0 var(--spacing-md);
  }
}
@media (max-width: 35.98rem) {
  .hero.hero--hp {
    min-height: 18.75rem;
    padding: calc(var(--spacing-md) * 2) 0 var(--spacing-sm);
  }
}
.hero.hero--hp .hero__content {
  padding-top: var(--spacing-4);
}

/* ==============================
 * Layout | Forms
 * ------------------------------ */
.form-control,
.custom-select,
select.form-control:not([size]):not([multiple]),
input[type=text],
input[type=tel],
input[type=password],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
textarea,
select {
  background: var(--clr-input-bg);
  color: var(--clr-input-text);
  border: 0.0625rem solid var(--clr-input-border);
  border-radius: var(--bdrs-lg);
  padding: 1rem 1.25rem;
  outline: none;
  width: 100%;
  font-size: var(--fs-lp);
  line-height: 1.5;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.form-control:hover,
.custom-select:hover,
select.form-control:not([size]):not([multiple]):hover,
input[type=text]:hover,
input[type=tel]:hover,
input[type=password]:hover,
input[type=number]:hover,
input[type=email]:hover,
input[type=url]:hover,
input[type=search]:hover,
textarea:hover,
select:hover {
  border-color: var(--clr-input-border-hover);
}
@supports selector(::focus-visible) {
  .form-control:focus:not(:focus-visible),
  .custom-select:focus:not(:focus-visible),
  select.form-control:not([size]):not([multiple]):focus:not(:focus-visible),
  input[type=text]:focus:not(:focus-visible),
  input[type=tel]:focus:not(:focus-visible),
  input[type=password]:focus:not(:focus-visible),
  input[type=number]:focus:not(:focus-visible),
  input[type=email]:focus:not(:focus-visible),
  input[type=url]:focus:not(:focus-visible),
  input[type=search]:focus:not(:focus-visible),
  textarea:focus:not(:focus-visible),
  select:focus:not(:focus-visible) {
    outline: none;
  }
}
.form-control:focus, .form-control:focus:hover,
.custom-select:focus,
.custom-select:focus:hover,
select.form-control:not([size]):not([multiple]):focus,
select.form-control:not([size]):not([multiple]):focus:hover,
input[type=text]:focus,
input[type=text]:focus:hover,
input[type=tel]:focus,
input[type=tel]:focus:hover,
input[type=password]:focus,
input[type=password]:focus:hover,
input[type=number]:focus,
input[type=number]:focus:hover,
input[type=email]:focus,
input[type=email]:focus:hover,
input[type=url]:focus,
input[type=url]:focus:hover,
input[type=search]:focus,
input[type=search]:focus:hover,
textarea:focus,
textarea:focus:hover,
select:focus,
select:focus:hover {
  border-color: var(--clr-input-border-focus);
}
.form-control::placeholder,
.custom-select::placeholder,
select.form-control:not([size]):not([multiple])::placeholder,
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=password]::placeholder,
input[type=number]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=search]::placeholder,
textarea::placeholder,
select::placeholder {
  color: var(--clr-input-placeholder);
}
.form-control:-ms-input-placeholder,
.custom-select:-ms-input-placeholder,
select.form-control:not([size]):not([multiple]):-ms-input-placeholder,
input[type=text]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
  color: var(--clr-input-placeholder);
}
.form-control::-ms-placeholder,
.custom-select::-ms-placeholder,
select.form-control:not([size]):not([multiple])::-ms-placeholder,
input[type=text]::-ms-placeholder,
input[type=tel]::-ms-placeholder,
input[type=password]::-ms-placeholder,
input[type=number]::-ms-placeholder,
input[type=email]::-ms-placeholder,
input[type=url]::-ms-placeholder,
input[type=search]::-ms-placeholder,
textarea::-ms-placeholder,
select::-ms-placeholder {
  color: var(--clr-input-placeholder);
}
.form-control:focus::placeholder,
.custom-select:focus::placeholder,
select.form-control:not([size]):not([multiple]):focus::placeholder,
input[type=text]:focus::placeholder,
input[type=tel]:focus::placeholder,
input[type=password]:focus::placeholder,
input[type=number]:focus::placeholder,
input[type=email]:focus::placeholder,
input[type=url]:focus::placeholder,
input[type=search]:focus::placeholder,
textarea:focus::placeholder,
select:focus::placeholder {
  color: var(--clr-input-text);
}
.form-control:focus:-ms-input-placeholder,
.custom-select:focus:-ms-input-placeholder,
select.form-control:not([size]):not([multiple]):focus:-ms-input-placeholder,
input[type=text]:focus:-ms-input-placeholder,
input[type=tel]:focus:-ms-input-placeholder,
input[type=password]:focus:-ms-input-placeholder,
input[type=number]:focus:-ms-input-placeholder,
input[type=email]:focus:-ms-input-placeholder,
input[type=url]:focus:-ms-input-placeholder,
input[type=search]:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder,
select:focus:-ms-input-placeholder {
  color: var(--clr-input-text);
}
.form-control:focus::-ms-placeholder,
.custom-select:focus::-ms-placeholder,
select.form-control:not([size]):not([multiple]):focus::-ms-placeholder,
input[type=text]:focus::-ms-placeholder,
input[type=tel]:focus::-ms-placeholder,
input[type=password]:focus::-ms-placeholder,
input[type=number]:focus::-ms-placeholder,
input[type=email]:focus::-ms-placeholder,
input[type=url]:focus::-ms-placeholder,
input[type=search]:focus::-ms-placeholder,
textarea:focus::-ms-placeholder,
select:focus::-ms-placeholder {
  color: var(--clr-input-text);
}
.form-control.form-control-lg,
.custom-select.form-control-lg,
select.form-control:not([size]):not([multiple]).form-control-lg,
input[type=text].form-control-lg,
input[type=tel].form-control-lg,
input[type=password].form-control-lg,
input[type=number].form-control-lg,
input[type=email].form-control-lg,
input[type=url].form-control-lg,
input[type=search].form-control-lg,
textarea.form-control-lg,
select.form-control-lg {
  padding: 0.625rem 1.25rem;
}
.form-control.form-control-sm,
.custom-select.form-control-sm,
select.form-control:not([size]):not([multiple]).form-control-sm,
input[type=text].form-control-sm,
input[type=tel].form-control-sm,
input[type=password].form-control-sm,
input[type=number].form-control-sm,
input[type=email].form-control-sm,
input[type=url].form-control-sm,
input[type=search].form-control-sm,
textarea.form-control-sm,
select.form-control-sm {
  padding: 0.375rem 0.75rem;
}

.form-label {
  display: inline-block;
  font-size: var(--fs-sm);
  margin-bottom: 0.5rem;
}

.comment-form-cookies-consent {
  position: relative;
}
.comment-form-cookies-consent label {
  display: inline-block;
  position: relative;
  padding-left: 1.625rem;
  font-size: var(--fs-xs);
  cursor: pointer;
}
.comment-form-cookies-consent label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.125rem;
  width: 1rem;
  height: 1rem;
  border: 0.0625rem solid var(--clr-primary-500);
  border-radius: 0.25rem;
}
.comment-form-cookies-consent label:after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--clr-primary-500);
  top: 0.375rem;
  left: 0.25rem;
  border-radius: 0.125rem;
  display: none;
}
.comment-form-cookies-consent input[type=checkbox] {
  display: none;
}
.comment-form-cookies-consent:has(input[type=checkbox]:checked) label::after {
  display: block;
}

@media (min-width: 48rem) {
  .input-group {
    margin-bottom: var(--spacing-5);
  }
}
@media (max-width: 47.98rem) {
  .input-group {
    margin-bottom: 1.5625rem;
  }
}
.input-group p {
  margin-bottom: 0;
}
.input-group.floating-label {
  position: relative;
}
.input-group.floating-label input,
.input-group.floating-label textarea,
.input-group.floating-label select {
  height: auto;
}
.input-group.floating-label label {
  position: absolute;
  top: 1.0625rem;
  left: 3.125rem;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  font-size: var(--fs-lp);
}
.input-group.floating-label input,
.input-group.floating-label textarea,
.input-group.floating-label select {
  padding-left: 3.125rem;
}
.input-group.floating-label:has(input:focus) > p > label, .input-group.floating-label:has(textarea:focus) > p > label, .input-group.floating-label:has(select:focus) > p > label, .input-group.floating-label:has(input:not(:placeholder-shown)) > p > label, .input-group.floating-label:has(textarea:not(:placeholder-shown)) > p > label, .input-group.floating-label:has(select:not(:placeholder-shown)) > p > label {
  top: -1.375rem;
  font-size: var(--fs-sm);
  font-weight: 700;
}
.input-group:before {
  position: absolute;
  left: 0.9375rem;
  top: 1.1875rem;
  display: inline-block;
  content: "";
  vertical-align: middle;
  width: 1em;
  height: 1em;
  color: inherit;
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  font-size: 1.5rem;
  z-index: 1;
  color: var(--clr-primary-500);
}
@supports not (mask-image: url()) {
  .input-group:before {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}

/* Contact form 7 styles */
.wpcf7 input[type=submit],
.wpcf7 button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: 50vh;
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  background-color: var(--clr-dark-500);
  border-color: var(--clr-dark-500);
  color: var(--clr-white);
}
@supports selector(::focus-visible) {
  .wpcf7 input[type=submit]:focus:not(:focus-visible),
  .wpcf7 button:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.wpcf7 input[type=submit]:disabled, .wpcf7 input[type=submit].disabled, fieldset:disabled .wpcf7 input[type=submit],
.wpcf7 button:disabled,
.wpcf7 button.disabled,
fieldset:disabled .wpcf7 button {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.wpcf7 input[type=submit]:hover, .wpcf7 input[type=submit]:focus, .wpcf7 input[type=submit]:active,
.wpcf7 button:hover,
.wpcf7 button:focus,
.wpcf7 button:active {
  background-color: var(--clr-white);
  border-color: var(--clr-white);
  color: var(--clr-dark-500);
}
.wpcf7 label {
  font-size: var(--fs-sm);
}
.wpcf7-not-valid-tip {
  font-size: var(--fs-xs);
  padding: 0.25rem 0 0 1.5rem;
}
.wpcf7-checkbox, .wpcf7-acceptance {
  position: relative;
}
.wpcf7-checkbox label, .wpcf7-acceptance label {
  display: inline-block;
  position: relative;
  padding-left: 1.625rem;
  font-size: var(--fs-xs);
  cursor: pointer;
}
.wpcf7-checkbox label:before, .wpcf7-acceptance label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.125rem;
  width: 1rem;
  height: 1rem;
  border: 0.0625rem solid var(--clr-primary-500);
  border-radius: 0.25rem;
}
.wpcf7-checkbox label:after, .wpcf7-acceptance label:after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--clr-primary-500);
  top: 0.375rem;
  left: 0.25rem;
  border-radius: 0.125rem;
  display: none;
}
.wpcf7-checkbox input[type=checkbox], .wpcf7-acceptance input[type=checkbox] {
  display: none;
}
.wpcf7-checkbox:has(input[type=checkbox]:checked) label::after, .wpcf7-acceptance:has(input[type=checkbox]:checked) label::after {
  display: block;
}
.wpcf7-spinner {
  display: block;
  margin-left: auto;
}

/* ==============================
 * Layout | Sidebar
 * ------------------------------ */
.sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.sidebar h2 {
  font-size: var(--fs-h5);
}
.sidebar .widget_block ul {
  list-style: none;
}
@media (min-width: 36rem) {
  .sidebar .widget_block ul {
    margin: 1.5rem 0;
    padding: 0 0 0 1.5rem;
  }
}
@media (max-width: 35.98rem) {
  .sidebar .widget_block ul {
    margin: 1rem 0;
    padding: 0 0 0 1rem;
  }
}
.sidebar .widget_block ul li {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 36rem) {
  .sidebar .widget_block ul li {
    padding-left: 1.75rem;
  }
}
@media (max-width: 35.98rem) {
  .sidebar .widget_block ul li {
    padding-left: 1.25rem;
  }
}
.sidebar .widget_block ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
}
@media (min-width: 36rem) {
  .sidebar .widget_block ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: 0.875rem;
  }
}
@media (max-width: 35.98rem) {
  .sidebar .widget_block ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 10px;
    height: 2px;
    top: 0.75rem;
  }
}

/* ==============================
 * Layout | Sections
 * ------------------------------ */
.section {
  position: relative;
  padding-block: var(--spacing-md);
}
.section__header {
  padding-bottom: var(--spacing-6);
}
.section__header p {
  font-weight: 300;
}
.section__header p:last-child {
  margin-bottom: var(--spacing-2);
}
.section__row {
  display: grid;
  gap: var(--spacing-gutter);
  align-items: center;
}
@media (min-width: 64rem) {
  .section__row {
    grid-template-columns: repeat(2, 1fr);
  }
  .section__row.reverse .section__img {
    order: 2;
  }
  .section__row.reverse .section__cnt {
    order: 1;
  }
  .section__row .section__cnt {
    padding-inline: var(--spacing-6);
  }
}
.section__img {
  display: inline-flex;
}
.section__img img {
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: var(--bdrs-lg);
}
.section__cnt p {
  font-weight: 300;
}
.section--bg {
  position: relative;
}
.section--bg:after {
  content: "";
  width: 23.1875rem;
  height: 20.5rem;
  background-image: url("../img/node-3.png");
  position: absolute;
  top: 45%;
  left: 0;
  z-index: -1;
}
.section--light {
  background-color: var(--clr-light-500);
}
.section--lg {
  padding-block: var(--spacing-lg);
}
.section--sm {
  padding-block: var(--spacing-sm);
}

/* ==============================
 * Layout | Footer
 * ------------------------------ */
.footer {
  background-color: var(--clr-footer-bg);
  color: var(--clr-footer-text);
  font-size: var(--fs-sm);
  font-weight: 300;
}
.footer__top {
  padding-block: var(--spacing-5);
}
.footer__top-wrapper {
  padding-block: var(--spacing-2);
  display: flex;
}
@media (min-width: 64rem) {
  .footer__top-wrapper {
    gap: var(--spacing-7);
    align-items: flex-end;
  }
}
@media (max-width: 63.98rem) {
  .footer__top-wrapper {
    gap: var(--spacing-3);
    flex-direction: column;
    align-items: center;
  }
}
.footer__center {
  padding-block: var(--spacing-4) var(--spacing-5);
}
.footer__center-wrapper {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
@media (max-width: 63.98rem) {
  .footer__center-wrapper {
    flex-direction: column;
  }
}
.footer__center-text p {
  margin-bottom: 0;
}
@media (max-width: 63.98rem) {
  .footer__center-text {
    text-align: center;
  }
}
.footer__center-logos {
  display: flex;
  flex-shrink: 0;
  max-width: fit-content;
  width: 100%;
  gap: var(--spacing-5);
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 63.98rem) {
  .footer__center-logos {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.footer__menu {
  list-style: none;
  display: flex;
  gap: 0.3125rem;
}
@media (max-width: 47.98rem) {
  .footer__menu {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.footer__menu li:not(:first-child)::before {
  content: "•";
  margin-right: 0.3125rem;
}
.footer__menu li a {
  color: var(--clr-primary-500);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  display: inline-block;
  padding-block: 0.3125rem;
}
.footer__menu li a:hover, .footer__menu li a:focus, .footer__menu li a:active {
  color: var(--clr-dark-500);
}
.footer__bottom {
  background-color: var(--clr-light-500);
  padding-block: var(--spacing-5);
}
.footer__copy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3125rem;
  font-size: var(--fs-xs);
  color: var(--clr-dark-300);
}
@media (max-width: 63.98rem) {
  .footer__copy {
    justify-content: center;
  }
}
.footer__menu-bottom {
  list-style: none;
  display: flex;
  gap: 0.3125rem;
  align-items: center;
}
.footer__menu-bottom li a {
  color: var(--clr-dark-300);
}
.footer__menu-bottom li a::before {
  content: "|";
  margin-right: 0.3125rem;
}
.footer__menu-bottom li a:hover, .footer__menu-bottom li a:focus, .footer__menu-bottom li a:active {
  color: var(--clr-dark-500);
}

/* ==============================
 * Layout | Content
 * ------------------------------ */
/* purgecss start ignore */
.content__wrapper {
  max-width: 62.5rem;
  margin-inline: auto;
}
.content ul {
  list-style: none;
}
@media (min-width: 36rem) {
  .content ul {
    margin: 1.5rem 0;
    padding: 0 0 0 1.5rem;
  }
}
@media (max-width: 35.98rem) {
  .content ul {
    margin: 1rem 0;
    padding: 0 0 0 1rem;
  }
}
.content ul li {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 36rem) {
  .content ul li {
    padding-left: 1.75rem;
  }
}
@media (max-width: 35.98rem) {
  .content ul li {
    padding-left: 1.25rem;
  }
}
.content ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
}
@media (min-width: 36rem) {
  .content ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: 0.875rem;
  }
}
@media (max-width: 35.98rem) {
  .content ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 10px;
    height: 2px;
    top: 0.75rem;
  }
}
.content ol {
  list-style: none;
  counter-reset: my-awesome-counter;
}
@media (min-width: 36rem) {
  .content ol {
    margin: 1.5rem 0;
    padding: 0 0 0 0.75rem;
  }
}
@media (max-width: 35.98rem) {
  .content ol {
    margin: 1rem 0;
    padding: 0 0 0 0.5rem;
  }
}
.content ol li {
  position: relative;
  counter-increment: my-awesome-counter;
  width: 100%;
}
@media (min-width: 36rem) {
  .content ol li {
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 35.98rem) {
  .content ol li {
    padding-left: 1.25rem;
    margin-bottom: 0.375rem;
  }
}
.content ol li:before {
  content: "" counter(my-awesome-counter) ".";
  font-family: var(--ff-alt);
  font-weight: 700;
  font-size: var(--fs-sm);
  color: var(--clr-primary-500);
  position: absolute;
  left: 0;
}
@media (min-width: 36rem) {
  .content ol li:before {
    top: 0.125rem;
  }
}
@media (max-width: 35.98rem) {
  .content ol li:before {
    top: 0.0625rem;
  }
}
.content p {
  max-width: 85ch;
}
@media (max-width: 47.98rem) {
  .content p {
    text-wrap: balance;
  }
}
.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6,
.content .d1,
.content .h1,
.content .h2,
.content .h3,
.content .h4,
.content .h5,
.content .h6 {
  margin-top: var(--spacing-5);
}

.wp-block-button.is-style-fill .wp-element-button,
.wp-block-button .wp-element-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: 50vh;
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  background-color: var(--clr-accent-500);
  border-color: var(--clr-accent-500);
  color: var(--clr-white);
}
@supports selector(::focus-visible) {
  .wp-block-button.is-style-fill .wp-element-button:focus:not(:focus-visible),
  .wp-block-button .wp-element-button:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.wp-block-button.is-style-fill .wp-element-button:disabled, .wp-block-button.is-style-fill .wp-element-button.disabled, fieldset:disabled .wp-block-button.is-style-fill .wp-element-button,
.wp-block-button .wp-element-button:disabled,
.wp-block-button .wp-element-button.disabled,
fieldset:disabled .wp-block-button .wp-element-button {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.wp-block-button.is-style-fill .wp-element-button::after,
.wp-block-button .wp-element-button::after {
  display: inline-block;
  content: "";
  vertical-align: middle;
  width: 1em;
  height: 1em;
  color: inherit;
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  font-size: 0rem;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  opacity: 0;
}
@supports not (mask-image: url()) {
  .wp-block-button.is-style-fill .wp-element-button::after,
  .wp-block-button .wp-element-button::after {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}
.wp-block-button.is-style-fill .wp-element-button:hover, .wp-block-button.is-style-fill .wp-element-button:focus, .wp-block-button.is-style-fill .wp-element-button:active,
.wp-block-button .wp-element-button:hover,
.wp-block-button .wp-element-button:focus,
.wp-block-button .wp-element-button:active {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-white);
  gap: 0.4375rem;
}
.wp-block-button.is-style-fill .wp-element-button:hover::after, .wp-block-button.is-style-fill .wp-element-button:focus::after, .wp-block-button.is-style-fill .wp-element-button:active::after,
.wp-block-button .wp-element-button:hover::after,
.wp-block-button .wp-element-button:focus::after,
.wp-block-button .wp-element-button:active::after {
  opacity: 1;
  font-size: 1.5rem;
  transform: translateX(0.4375rem);
}

.wp-block-quote p:last-child {
  margin-bottom: 0;
}

/* purgecss end ignore */
/* ==============================
 * Layout | Comments
 * ------------------------------ */
.comment-respond {
  padding: 1rem 0;
}

.comment-form-comment label {
  display: block;
  font-weight: 700;
  font-size: var(--fs-sm);
  padding: 0.5rem 0;
}
.comment-form-comment textarea {
  background: var(--clr-input-bg);
  color: var(--clr-input-text);
  border: 0.0625rem solid var(--clr-input-border);
  border-radius: var(--bdrs-lg);
  padding: 1rem 1.25rem;
  outline: none;
  width: 100%;
  font-size: var(--fs-lp);
  line-height: 1.5;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.comment-form-comment textarea:hover {
  border-color: var(--clr-input-border-hover);
}
@supports selector(::focus-visible) {
  .comment-form-comment textarea:focus:not(:focus-visible) {
    outline: none;
  }
}
.comment-form-comment textarea:focus, .comment-form-comment textarea:focus:hover {
  border-color: var(--clr-input-border-focus);
}
.comment-form-comment textarea::placeholder {
  color: var(--clr-input-placeholder);
}
.comment-form-comment textarea:-ms-input-placeholder {
  color: var(--clr-input-placeholder);
}
.comment-form-comment textarea::-ms-placeholder {
  color: var(--clr-input-placeholder);
}
.comment-form-comment textarea:focus::placeholder {
  color: var(--clr-input-text);
}
.comment-form-comment textarea:focus:-ms-input-placeholder {
  color: var(--clr-input-text);
}
.comment-form-comment textarea:focus::-ms-placeholder {
  color: var(--clr-input-text);
}

.form-submit .submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: 50vh;
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-white);
}
@supports selector(::focus-visible) {
  .form-submit .submit:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.form-submit .submit:disabled, .form-submit .submit.disabled, fieldset:disabled .form-submit .submit {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.form-submit .submit:hover, .form-submit .submit:focus, .form-submit .submit:active {
  background-color: var(--clr-accent-500);
  border-color: var(--clr-accent-500);
  color: var(--clr-white);
}

/* ==============================
 * Layout | Search Form
 * ------------------------------ */
/* ==============================
 * Layout | Main
 * ------------------------------ */
#primary {
  position: relative;
  overflow: hidden;
}

.main__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.main__bg-circle {
  background: var(--grad-radial);
  position: absolute;
  z-index: -1;
  width: 200%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  right: -5%;
  top: -20%;
}

/* ==============================
 * Block | Team
 * ------------------------------ */
.team__row {
  display: grid;
  gap: var(--spacing-3);
}
@media (min-width: 48rem) {
  .team__row {
    grid-template-columns: repeat(2, 1fr);
  }
}
.team__box {
  background-color: hsla(184, 100%, 40%, 0.15);
  border-radius: var(--bdrs-lg);
  padding: var(--spacing-3) var(--spacing-4);
  display: flex;
  gap: var(--spacing-3);
  align-items: center;
}
.team__initials {
  width: 3.125rem;
  height: 3.125rem;
  background-color: var(--clr-primary-500);
  color: var(--clr-light-500);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.team__info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.team__name {
  font-size: var(--fs-lp);
}
.team__title {
  font-style: italic;
}
.team__title, .team__name {
  margin-block: 0;
}
.content .team__title, .content .team__name {
  margin-block: 0;
}

/* ==============================
 * Page | Post | Post Single
 * ------------------------------ */
.archive__hero .hero__content {
  max-width: 42.5rem;
  margin-inline: auto;
  text-align: center;
}
.archive-tabs {
  display: flex;
  justify-content: center;
  gap: var(--spacing-5);
  align-items: center;
  padding-bottom: var(--spacing-7);
}

.post {
  position: relative;
}
.post__box {
  display: inline-flex;
  position: relative;
}
@media (max-width: 63.98rem) {
  .post__box {
    max-width: 37.5rem;
    margin-inline: auto;
  }
}
.post__box .post__label {
  position: absolute;
  top: 1.5625rem;
  right: var(--spacing-5);
}
.post__box:hover .post__img:after, .post__box:focus .post__img:after, .post__box:active .post__img:after {
  opacity: 1;
}
.post__box:hover .post__img img, .post__box:focus .post__img img, .post__box:active .post__img img {
  transform: scale(1.05);
}
.post__box:hover .post__title, .post__box:focus .post__title, .post__box:active .post__title {
  transform: translateY(-0.625rem);
}
.post__title {
  position: absolute;
  inset: auto var(--spacing-5) 1.5625rem;
  color: var(--clr-white);
  display: flex;
  gap: var(--spacing-1);
  flex-direction: column;
  margin-bottom: 0;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.post__meta {
  font-weight: 700;
  font-size: var(--fs-sm);
}
.post__label {
  display: inline-block;
  color: var(--clr-white);
  background-color: var(--clr-dark-500);
  border-radius: 50vh;
  padding: var(--spacing-2) var(--spacing-3);
  font-size: var(--fs-xs);
  font-weight: 700;
  text-transform: uppercase;
}
.post__img {
  border-radius: var(--bdrs-lg);
  display: inline-flex;
  position: relative;
  overflow: hidden;
}
.post__img img {
  border-radius: var(--bdrs-lg);
  width: 100%;
  transition-property: all;
  transition-duration: 1s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.post__img:after {
  background: linear-gradient(180deg, rgba(30, 30, 30, 0) 0%, rgb(30, 30, 30) 100%);
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--bdrs-lg);
  opacity: 0.5;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.post__grid {
  display: grid;
  gap: 0.9375rem;
}
@media (min-width: 64rem) {
  .post__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .post__grid .post__box:first-child {
    grid-area: 1/1/3/2;
  }
}
.post__row {
  display: grid;
  gap: var(--spacing-gutter);
}
@media (min-width: 64rem) {
  .post__row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 64rem) {
  .post__btn-wrapper {
    padding-top: var(--spacing-6);
    text-align: right;
    margin-top: var(--spacing-2);
  }
}
@media (max-width: 63.98rem) {
  .post__btn-wrapper {
    padding-top: var(--spacing-6);
    text-align: center;
  }
}

.post-single__img {
  display: flex;
  justify-content: center;
}
.post-single__img img {
  border-radius: var(--bdrs-lg);
  object-fit: cover;
  aspect-ratio: 2/1;
}

/* ==============================
 * Page | Default Page
 * ------------------------------ */
/* ==============================
 * Page | 404
 * ------------------------------ */
/* ==============================
 * Page | Homepage
 * ------------------------------ */
.page-template-homepage .main__bg::after, .page-template-homepage .main__bg::before {
  background: var(--grad-radial);
  content: "";
  position: absolute;
  z-index: -1;
  width: 200%;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.page-template-homepage .main__bg::after {
  top: 20rem;
  right: 0;
}
.page-template-homepage .main__bg .main__bg-circle {
  top: 50%;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
}
.page-template-homepage .main__bg::before {
  bottom: -30%;
  right: -5%;
}

.feat__row {
  display: grid;
  gap: var(--spacing-3);
}
@media (min-width: 64rem) {
  .feat__row {
    grid-template-columns: repeat(3, 1fr);
  }
}
.feat__box {
  background-color: hsla(0, 0%, 100%, 0.2);
  border-radius: var(--bdrs-lg);
  padding: var(--spacing-4);
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 0 1.875rem hsla(184, 100%, 40%, 0.1);
  position: relative;
  z-index: 1;
  overflow: hidden;
  backdrop-filter: blur(0.625rem);
  gap: 0.625rem;
}
.feat__box ul {
  padding-left: var(--spacing-5);
  font-weight: 300;
  font-size: var(--fs-sm);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}
.feat__icon {
  font-size: 3.75rem;
  line-height: 1;
  color: var(--clr-primary-500);
}
.feat__title {
  margin-bottom: var(--spacing-3);
  text-align: center;
}
.feat__cnt {
  font-size: var(--fs-p);
  color: var(--clr-feat-text);
  padding: var(--spacing-3) 0 var(--spacing-6);
}

#section-steps .section__bg {
  position: absolute;
  left: -0.625rem;
  top: -18%;
}

.step__wrapper {
  display: flex;
  padding-top: var(--spacing-6);
  position: relative;
}
@media (min-width: 64rem) {
  .step__wrapper {
    justify-content: space-between;
    gap: var(--spacing-gutter);
  }
}
@media (max-width: 63.98rem) {
  .step__wrapper {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-8);
  }
}
.step__wrapper::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 64rem) {
  .step__wrapper::after {
    top: 5.625rem;
    width: 100vw;
    height: 0.625rem;
    background: repeating-linear-gradient(to right, var(--clr-neutral-500) 0, var(--clr-neutral-500) 0.625rem, transparent 0.625rem, transparent 1.25rem);
  }
}
@media (max-width: 63.98rem) {
  .step__wrapper::after {
    top: -5%;
    background: repeating-linear-gradient(to bottom, var(--clr-neutral-500) 0, var(--clr-neutral-500) 0.625rem, transparent 0.625rem, transparent 1.25rem);
    height: 100%;
    width: 0.625rem;
  }
}
.step__box {
  max-width: 15rem;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  position: relative;
  z-index: 1;
}
@media (max-width: 63.98rem) {
  .step__box {
    align-items: center;
    text-align: center;
  }
}
.step__box p {
  font-weight: 300;
  font-size: var(--fs-sm);
}
.step__box p:last-child {
  margin-bottom: 0;
}
.step__title {
  margin-bottom: 0;
}
.step__icon {
  background-color: var(--clr-primary-500);
  border-radius: 50%;
  width: 6.875rem;
  height: 6.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.8125rem;
  color: var(--clr-white);
  border: 0.9375rem solid hsl(187, 72%, 93%);
  border-radius: 50%;
}

#section-resources .section__bg {
  position: absolute;
  right: 3.125rem;
  top: -7.5%;
}

.resource__wrapper {
  display: grid;
  gap: var(--spacing-3);
}
@media (min-width: 64rem) {
  .resource__wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
.resource__box {
  background-color: hsla(0, 0%, 100%, 0.2);
  border-radius: var(--bdrs-lg);
  padding: var(--spacing-6) var(--spacing-4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 0 1.875rem hsla(184, 100%, 40%, 0.1);
  backdrop-filter: blur(0.625rem);
}
.resource__box p {
  font-weight: 300;
  margin-bottom: 0;
}
.resource__icon {
  font-size: 3.75rem;
  line-height: 1;
  color: var(--clr-primary-500);
  margin-bottom: var(--spacing-3);
}
.resource__title {
  color: var(--clr-primary-500);
  font-family: var(--ff-base);
  font-weight: 700;
  margin-bottom: var(--spacing-1);
}

#section-support {
  padding-bottom: calc(var(--spacing-md) * 2);
}
#section-support .section__bg {
  position: absolute;
  left: 10%;
  top: -25%;
  z-index: -1;
}

/* ==============================
 * Page | Contact
 * ------------------------------ */
.contact__form {
  background-color: hsla(184, 100%, 40%, 0.5);
  border-radius: var(--bdrs-lg);
  margin-inline: auto;
  max-width: 50rem;
}
@media (min-width: 48rem) {
  .contact__form {
    padding: var(--spacing-7) var(--spacing-7) var(--spacing-5);
  }
}
@media (max-width: 47.98rem) {
  .contact__form {
    padding: var(--spacing-6) 1.25rem var(--spacing-3);
  }
}
.contact__form p:last-child {
  margin-bottom: 0;
}

/* ==============================
 * Vendors | Modern Reset
 * ------------------------------ */
/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.55;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.feat-list-ul {
  list-style: none;
}
@media (min-width: 36rem) {
  .feat-list-ul {
    margin: 1.5rem 0;
    padding: 0 0 0 1.5rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-list-ul {
    margin: 1rem 0;
    padding: 0 0 0 1rem;
  }
}
.feat-list-ul li {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 36rem) {
  .feat-list-ul li {
    padding-left: 1.75rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-list-ul li {
    padding-left: 1.25rem;
  }
}
.feat-list-ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
}
@media (min-width: 36rem) {
  .feat-list-ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: 0.875rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-list-ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 10px;
    height: 2px;
    top: 0.75rem;
  }
}

.feat-list-ol {
  list-style: none;
  counter-reset: my-awesome-counter;
}
@media (min-width: 36rem) {
  .feat-list-ol {
    margin: 1.5rem 0;
    padding: 0 0 0 0.75rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-list-ol {
    margin: 1rem 0;
    padding: 0 0 0 0.5rem;
  }
}
.feat-list-ol li {
  position: relative;
  counter-increment: my-awesome-counter;
  width: 100%;
}
@media (min-width: 36rem) {
  .feat-list-ol li {
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-list-ol li {
    padding-left: 1.25rem;
    margin-bottom: 0.375rem;
  }
}
.feat-list-ol li:before {
  content: "" counter(my-awesome-counter) ".";
  font-family: var(--ff-alt);
  font-weight: 700;
  font-size: var(--fs-sm);
  color: var(--clr-primary-500);
  position: absolute;
  left: 0;
}
@media (min-width: 36rem) {
  .feat-list-ol li:before {
    top: 0.125rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-list-ol li:before {
    top: 0.0625rem;
  }
}

.feat-table table,
.wp-block-table table {
  margin: 15px 0;
  border-collapse: collapse;
}
.feat-table table > thead,
.wp-block-table table > thead {
  border-bottom: 0.1875rem solid var(--clr-primary-800);
}
.feat-table table > thead > tr > th,
.wp-block-table table > thead > tr > th {
  background-color: var(--clr-primary-500);
  color: var(--clr-dark-700);
  border: 0.0625rem solid var(--clr-primary-800);
  border-top: none;
}
@media (min-width: 36rem) {
  .feat-table table > thead > tr > th,
  .wp-block-table table > thead > tr > th {
    padding: 0.75rem 1rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-table table > thead > tr > th,
  .wp-block-table table > thead > tr > th {
    padding: 0.5rem;
  }
}
.feat-table table > thead > tr > th:first-child,
.wp-block-table table > thead > tr > th:first-child {
  border-radius: var(--bdrs-base) 0 0 0;
  border-left-color: transparent;
}
.feat-table table > thead > tr > th:last-child,
.wp-block-table table > thead > tr > th:last-child {
  border-radius: 0 var(--bdrs-base) 0 0;
  border-right-color: transparent;
}
.feat-table table > tbody > tr > td,
.wp-block-table table > tbody > tr > td {
  vertical-align: top;
  border: 1px solid var(--clr-dark-100);
}
@media (min-width: 36rem) {
  .feat-table table > tbody > tr > td,
  .wp-block-table table > tbody > tr > td {
    padding: 0.75rem 1rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-table table > tbody > tr > td,
  .wp-block-table table > tbody > tr > td {
    padding: 0.5rem;
  }
}
.feat-table table > tbody > tr:last-child > td:first-child,
.wp-block-table table > tbody > tr:last-child > td:first-child {
  border-radius: 0 0 0 var(--bdrs-base);
}
.feat-table table > tbody > tr:last-child > td:last-child,
.wp-block-table table > tbody > tr:last-child > td:last-child {
  border-radius: 0 0 var(--bdrs-base) 0;
}

.light {
  font-weight: 300;
}

.semibold {
  font-weight: 600;
}

.strong, .bold {
  font-weight: 700;
}

.extrabold {
  font-weight: 800;
}

.black {
  font-weight: 900;
}

.feat-text {
  font-size: var(--fs-p);
  font-family: var(--ff-alt);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 4%;
}

.feat-text-sm {
  font-size: var(--fs-sm);
  font-family: var(--ff-alt);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 4%;
}

.feat-text-lg {
  font-size: var(--fs-lp);
  font-family: var(--ff-alt);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 4%;
}

.uppercase {
  text-transform: uppercase;
}

.underline {
  text-decoration: underline;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

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

.text-primary {
  color: var(--clr-primary-500);
}

.text-lg {
  font-size: var(--fs-lp);
}

.text-sm {
  font-size: var(--fs-sm);
}

.text-xs {
  font-size: var(--fs-xs);
}

.relative {
  position: relative;
}

.flex {
  display: flex;
}

.items-center {
  align-items: center;
}

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

.m-0 {
  margin: 0;
}

.mt-0 {
  margin-top: 0;
}

.mt-1 {
  margin-top: var(--spacing-1);
}

.mt-2 {
  margin-top: var(--spacing-2);
}

.mt-3 {
  margin-top: var(--spacing-3);
}

.mt-4 {
  margin-top: var(--spacing-4);
}

.mt-5 {
  margin-top: var(--spacing-5);
}

.mb-0 {
  margin-bottom: 0;
}

.mb-1 {
  margin-bottom: var(--spacing-1);
}

.mb-2 {
  margin-bottom: var(--spacing-2);
}

.mb-3 {
  margin-bottom: var(--spacing-3);
}

.mb-4 {
  margin-bottom: var(--spacing-4);
}

.mb-5 {
  margin-bottom: var(--spacing-5);
}

.mb-6 {
  margin-bottom: var(--spacing-6);
}

.mb-7 {
  margin-bottom: var(--spacing-7);
}

.pt-0 {
  padding-top: 0;
}

.pt-1 {
  padding-top: var(--spacing-1);
}

.pt-2 {
  padding-top: var(--spacing-2);
}

.pt-3 {
  padding-top: var(--spacing-3);
}

.pt-4 {
  padding-top: var(--spacing-4);
}

.pt-5 {
  padding-top: var(--spacing-5);
}

.pt-6 {
  padding-top: var(--spacing-6);
}

.pb-2 {
  padding-bottom: var(--spacing-2);
}

.pb-3 {
  padding-bottom: var(--spacing-3);
}

.pb-4 {
  padding-bottom: var(--spacing-4);
}

.p-3 {
  padding: var(--spacing-3);
}

.py-3 {
  padding-top: var(--spacing-3);
  padding-bottom: var(--spacing-3);
}

.h-full {
  height: 100%;
}

@property --angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.rotating-border {
  background-image: conic-gradient(from var(--angle), var(--clr-accent-500), var(--clr-primary-500), var(--clr-accent-500));
  animation: 1s spin-border infinite linear;
}

@keyframes spin-border {
  from {
    --angle: 0deg;
  }
  to {
    --angle: 360deg;
  }
}

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