/* ------------------------- Bootstrap 5 BreakPoints -----------------------------*/
/* ------------------------- /Bootstrap 5 BreakPoints -----------------------------*/
/* ------------------------- Font clamp() generator -----------------------------*/
/* ------------------------- /Font clamp() generator -----------------------------*/
/*
Generated https://google-webfonts-helper.herokuapp.com/fonts
*/
/* inter-regular - latin-ext_latin */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/inter-v12-latin-ext_latin-regular.eot"); /* IE9 Compat Modes */
  src: local(""), url("../fonts/inter-v12-latin-ext_latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/inter-v12-latin-ext_latin-regular.woff2") format("woff2"), url("../fonts/inter-v12-latin-ext_latin-regular.woff") format("woff"), url("../fonts/inter-v12-latin-ext_latin-regular.ttf") format("truetype"), url("../fonts/inter-v12-latin-ext_latin-regular.svg#Inter") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* inter-700 - latin-ext_latin */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/inter-v12-latin-ext_latin-700.eot"); /* IE9 Compat Modes */
  src: local(""), url("../fonts/inter-v12-latin-ext_latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/inter-v12-latin-ext_latin-700.woff2") format("woff2"), url("../fonts/inter-v12-latin-ext_latin-700.woff") format("woff"), url("../fonts/inter-v12-latin-ext_latin-700.ttf") format("truetype"), url("../fonts/inter-v12-latin-ext_latin-700.svg#Inter") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* lexend-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: "Lexend";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/lexend-v24-latin_latin-ext-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lexend-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: "Lexend";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/lexend-v24-latin_latin-ext-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lexend-900 - 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: "Lexend";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/lexend-v24-latin_latin-ext-900.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* silka-700  */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Silka";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/silka-bold-webfont.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;
  }
}

/* ------------------------- dark/light mode ---------------------------- */
.fi--sun {
  mask-image: url("../img/icons/sun.svg");
}
@supports not (mask-image: url()) {
  .fi--sun {
    background-image: url("../img/icons/sun.svg");
  }
}

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

/* ------------------------- end dark/light mode ---------------------------- */
.fi--arrow-down {
  mask-image: url("../img/icons/arrow-down.svg");
}
@supports not (mask-image: url()) {
  .fi--arrow-down {
    background-image: url("../img/icons/arrow-down.svg");
  }
}

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

.fi--arrow-left, .swiper-btn.swiper-btn-prev:after {
  mask-image: url("../img/icons/arrow-left.svg");
}
@supports not (mask-image: url()) {
  .fi--arrow-left, .swiper-btn.swiper-btn-prev:after {
    background-image: url("../img/icons/arrow-left.svg");
  }
}

.fi--arrow-right, .swiper-btn.swiper-btn-next:after {
  mask-image: url("../img/icons/arrow-right.svg");
}
@supports not (mask-image: url()) {
  .fi--arrow-right, .swiper-btn.swiper-btn-next:after {
    background-image: url("../img/icons/arrow-right.svg");
  }
}

.fi--arrow-top-right, .mouse-circle.is-hovering-anim:after {
  mask-image: url("../img/icons/arrow-top-right.svg");
}
@supports not (mask-image: url()) {
  .fi--arrow-top-right, .mouse-circle.is-hovering-anim:after {
    background-image: url("../img/icons/arrow-top-right.svg");
  }
}

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

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

/* purgecss end ignore */
/* Effect styles */
/* ----------------------------- Grid --------------------------- */
/* ------------------------------ Sections ------------------------------- */
/* ------------------------------ Borders ------------------------------- */
/* ------------------------------ Buttons / Forms ------------------------------- */
/* ------------------------------ Header  ------------------------------- */
/* ------------------------------ Logo  ------------------------------- */
/* ------------------------------ Hero  ------------------------------ */
/* ------------------------------ Swiper  ------------------------------- */
@keyframes pulse-border {
  0% {
    transform: translateZ(0) scale(0.95);
    opacity: 1;
  }
  100% {
    transform: translateZ(0) scale(1.35);
    opacity: 0;
  }
}
@keyframes l3 {
  90%, 100% {
    transform: translate(calc(var(--s, 1) * 30px));
  }
}
@keyframes growShrink {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: top;
  }
  50.001% {
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
}
@keyframes boxGlow {
  0% {
    box-shadow: 0 0 10px var(--clr-accent-500), 0 0 30px var(--clr-accent-500), 0 0 80px var(--clr-accent-500);
  }
  50% {
    box-shadow: 0 0 2px var(--clr-accent-500), 0 0 10px var(--clr-accent-500), 0 0 30px var(--clr-accent-500);
  }
  100% {
    box-shadow: 0 0 10px var(--clr-accent-500), 0 0 30px var(--clr-accent-500), 0 0 80px var(--clr-accent-500);
  }
}
@keyframes textGlow {
  0% {
    text-shadow: 0 0 10px var(--clr-accent-500), 0 0 30px var(--clr-accent-500), 0 0 80px var(--clr-accent-500);
  }
  50% {
    text-shadow: 0 0 2px var(--clr-accent-500), 0 0 10px var(--clr-accent-500), 0 0 30px var(--clr-accent-500);
  }
  100% {
    text-shadow: 0 0 10px var(--clr-accent-500), 0 0 30px var(--clr-accent-500), 0 0 80px var(--clr-accent-500);
  }
}
@keyframes scaleGrad {
  0% {
    transform: scale(0.75);
  }
  100% {
    transform: scale(1.25);
  }
}
/* ==============================
 * Abstracts | Root
 * ------------------------------ */
:root {
  /* COLORS */
  --clr-primary-50: hsl(356, 48.4%, 93.9%);
  --clr-primary-100: hsl(355, 50%, 81.2%);
  --clr-primary-200: hsl(355, 49.7%, 72%);
  --clr-primary-300: hsl(355, 50%, 59.2%);
  --clr-primary-400: hsl(355, 50%, 51.4%);
  --clr-primary-500: hsl(355, 77.9%, 39%);
  --clr-primary-600: hsl(355, 77.9%, 35.5%);
  --clr-primary-700: hsl(355, 77.5%, 27.8%);
  --clr-primary-800: hsl(355, 78%, 21.4%);
  --clr-primary-900: hsl(354, 78.3%, 16.3%);
  --clr-secondary-50: hsl(199, 56%, 94%);
  --clr-secondary-100: hsl(199, 55%, 80%);
  --clr-secondary-200: hsl(199, 55%, 70%);
  --clr-secondary-300: hsl(199, 55%, 57%);
  --clr-secondary-400: hsl(199, 59%, 48%);
  --clr-secondary-500: hsl(26, 75%, 51%);
  --clr-secondary-600: hsl(199, 100%, 32%);
  --clr-secondary-700: hsl(199, 100%, 25%);
  --clr-secondary-800: hsl(199, 100%, 19%);
  --clr-secondary-900: hsl(199, 100%, 15%);
  --clr-accent-50: hsl(356, 48.4%, 93.9%);
  --clr-accent-100: hsl(355, 50%, 81.2%);
  --clr-accent-200: hsl(355, 49.7%, 72%);
  --clr-accent-300: hsl(355, 50%, 59.2%);
  --clr-accent-400: hsl(355, 50%, 51.4%);
  --clr-accent-500: hsl(355, 78%, 39%);
  --clr-accent-600: hsl(355, 77.9%, 35.5%);
  --clr-accent-700: hsl(355, 77.5%, 27.8%);
  --clr-accent-800: hsl(355, 78%, 21.4%);
  --clr-accent-900: hsl(354, 78.3%, 16.3%);
  --clr-dark-50: hsl(240, 2.4%, 92%);
  --clr-dark-100: hsl(225, 3.1%, 74.9%);
  --clr-dark-200: hsl(230, 3.2%, 62.7%);
  --clr-dark-300: hsl(227, 3.9%, 45.7%);
  --clr-dark-400: hsl(229, 6.1%, 35.1%);
  --clr-dark-500: hsl(227, 14.6%, 18.8%);
  --clr-dark-600: hsl(226, 14.9%, 17.1%);
  --clr-dark-700: hsl(228, 14.7%, 13.3%);
  --clr-dark-800: hsl(231, 13.2%, 10.4%);
  --clr-dark-900: hsl(230, 15%, 7.8%);
  --clr-light-50: hsl(218, 100%, 100%);
  --clr-light-100: hsl(218, 75%, 98%);
  --clr-light-200: hsl(218, 82%, 98%);
  --clr-light-300: hsl(218, 87%, 97%);
  --clr-light-400: hsl(218, 79%, 96%);
  --clr-light-500: hsl(218, 83%, 95%);
  --clr-light-600: hsl(218, 25%, 87%);
  --clr-light-700: hsl(218, 9%, 68%);
  --clr-light-800: hsl(218, 4%, 53%);
  --clr-light-900: hsl(218, 4%, 40%);
  --clr-neutral-50: hsl(0, 0%, 98%);
  --clr-neutral-100: hsl(0, 0%, 93.7%);
  --clr-neutral-200: hsl(0, 0%, 91%);
  --clr-neutral-300: hsl(0, 0%, 86.7%);
  --clr-neutral-400: hsl(0, 0%, 83.9%);
  --clr-neutral-500: hsl(0, 0%, 80%);
  --clr-neutral-600: hsl(0, 0%, 72.9%);
  --clr-neutral-700: hsl(0, 0%, 56.9%);
  --clr-neutral-800: hsl(0, 0%, 43.9%);
  --clr-neutral-900: hsl(0, 0%, 33.7%);
  --clr-success-500: hsl(120, 100%, 25%);
  --clr-danger-500: hsl(0, 100%, 50%);
  --clr-warning-500: hsl(60, 100%, 50%);
  --clr-info-500: hsl(180, 100%, 50%);
  --clr-body-bg: hsl(0, 0%, 100%);
  --clr-body-text: hsl(227, 14.6%, 18.8%);
  --clr-swiper-btn-base: hsl(355, 77.9%, 39%);
  --clr-swiper-btn-hover: hsl(355, 77.9%, 35.5%);
  --clr-swiper-btn-active: hsl(355, 77.9%, 35.5%);
  --clr-swiper-btn-disabled: hsl(355, 50%, 59.2%);
  --clr-selection-bg: hsl(355, 78%, 39%);
  --clr-selection-text: hsl(0, 0%, 100%);
  --clr-input-bg: hsl(0, 0%, 100%);
  --clr-input-text: hsl(227, 14.6%, 18.8%);
  --clr-input-placeholder: hsl(227, 14.6%, 18.8%);
  --clr-input-border: hsl(230, 3.2%, 62.7%);
  --clr-input-border-hover: hsl(229, 6.1%, 35.1%);
  --clr-input-border-focus: hsl(355, 77.9%, 39%);
  --clr-header-bg: transparent;
  --clr-footer-bg: hsl(227, 14.6%, 18.8%);
  --clr-footer-text: hsl(218, 83%, 95%);
  --clr-hero-bg: hsl(228, 14.7%, 13.3%);
  --clr-hero-text: hsl(218, 79%, 96%);
  --clr-hero-overlay: hsl(226, 14.9%, 17.1%);
  --clr-nav-bg: transparent;
  --clr-nav-bg-fade: rgba(255, 255, 255, 0);
  --clr-nav-link: hsl(0, 0%, 72.9%);
  --clr-nav-link-hover: hsl(0, 0%, 72.9%);
  --clr-nav-link-active: hsl(355, 78%, 39%);
  --clr-nav-bg-dropdown: hsl(227, 14.6%, 18.8%);
  --clr-nav-link-dropdown: hsl(218, 83%, 95%);
  --clr-hamburger-bg: hsl(0, 0%, 91%);
  --clr-hamburger-bg-active: hsl(0, 0%, 100%);
  --clr-link-default: hsl(355, 77.9%, 39%);
  --clr-link-hover: hsl(355, 77.9%, 35.5%);
  --clr-link-active: hsl(355, 77.9%, 35.5%);
  --clr-white: hsl(0, 0%, 100%);
  --clr-black: hsl(0, 0%, 0%);
  /* TYPE */
  --fs-d1: clamp(3.5rem, 12.5vw + -1rem, 9rem);
  --fs-d2: clamp(4rem, 20.4545454545vw + -3.3636363636rem, 13rem);
  --fs-h1: clamp(3rem, 5.6818181818vw + 0.9545454545rem, 5.5rem);
  --fs-h2: clamp(2rem, 1.4204545455vw + 1.4886363636rem, 2.625rem);
  --fs-h3: clamp(1.5rem, 1.7045454545vw + 0.8863636364rem, 2.25rem);
  --fs-h4: clamp(1.25rem, 1.1363636364vw + 0.8409090909rem, 1.75rem);
  --fs-h5: clamp(1.125rem, 0.5681818182vw + 0.9204545455rem, 1.375rem);
  --fs-p: clamp(1rem, 0.2840909091vw + 0.8977272727rem, 1.125rem);
  --fs-sm: clamp(0.875rem, 0.2840909091vw + 0.7727272727rem, 1rem);
  --fs-xs: clamp(0.75rem, 0.2840909091vw + 0.6477272727rem, 0.875rem);
  --fs-xxs: clamp(0.75rem, 0vw + 0.75rem, 0.75rem);
  --fs-lp: clamp(1.125rem, 0.8522727273vw + 0.8181818182rem, 1.5rem);
  --fs-bt: 1.125rem;
  --fs-mt: clamp(1.5rem, 3.4090909091vw + 0.2727272727rem, 3rem);
  --fs-nav: 1.25rem;
  --ff-base: Lexend, sans-serif;
  --ff-alt: Silka, sans-serif;
  /* Grid Breakpoints */
  --gbp-xs: 0;
  --gbp-sm: 36em;
  --gbp-md: 48em;
  --gbp-lg: 62em;
  --gbp-xl: 75em;
  --gbp-xxl: 103.75em;
  --gbp-nav: 62em;
  --gbp-mobile: 36em;
  /* Container Max Widths */
  --cnt-xs: 100%;
  --cnt-sm: 98%;
  --cnt-md: 96%;
  --cnt-lg: 96%;
  --cnt-xl: 96%;
  --cnt-xxl: 100em;
  /* Spacings */
  --spacing-gutter: clamp(0.75rem, 2vw, 1.5rem);
  --spacing-sm: clamp(2rem, 6vw, 5rem);
  --spacing-md: clamp(3rem, 8vw, 7rem);
  --spacing-lg: clamp(5rem, 10vw, 9rem);
}

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

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

.row {
  --bs-gutter-x: clamp(0.75rem, 2vw, 1.5rem);
  --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: 36em) {
  .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: 48em) {
  .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: 62em) {
  .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: 75em) {
  .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: 103.75em) {
  .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: 62em) {
  .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: 36em) {
  .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,
.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(1rem, 2vw, 1.75rem);
  padding-left: clamp(1rem, 2vw, 1.75rem);
}

.container {
  max-width: 100%;
}

@media (min-width: 36em) {
  .container-sm, .container {
    max-width: 98%;
  }
}
@media (min-width: 48em) {
  .container-md, .container-sm, .container {
    max-width: 96%;
  }
}
@media (min-width: 62em) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 96%;
  }
}
@media (min-width: 75em) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 96%;
  }
}
@media (min-width: 103.75em) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 100em;
  }
}
/* ==============================
 * Base | Global
 * ------------------------------ */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--ff-base);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  overscroll-behavior: none;
  overflow: hidden;
  overflow-y: auto;
  background-color: var(--clr-body-bg);
  color: var(--clr-body-text);
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
body.body-fixed {
  height: 100vh;
  overflow-y: hidden;
  padding-right: 15px; /* Avoid width reflow */
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0.5s;
}

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

strong {
  font-weight: 700;
}

p {
  font-size: var(--fs-p);
  margin-bottom: 1rem;
}
p + p {
  margin-top: 0.5rem;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
.d1,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--ff-alt);
  font-weight: 700;
  line-height: 1.2;
}
@media (min-width: 36em) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .d1,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
  }
}
@media (max-width: 35.98em) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .d1,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    margin-top: 1rem;
    margin-bottom: 0.75rem;
  }
}

.d1 {
  font-size: var(--fs-d1);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.d2 {
  font-size: var(--fs-d2);
  line-height: 1;
  letter-spacing: -0.025em;
}

h1,
.h1 {
  font-size: var(--fs-h1);
  letter-spacing: -0.0125em;
}

h2,
.h2 {
  font-size: var(--fs-h2);
}

h3,
.h3 {
  font-size: var(--fs-h3);
}

h4,
.h4 {
  font-size: var(--fs-h4);
}

h5,
.h5 {
  font-size: var(--fs-h5);
}

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

/* ==============================
 * Components | Buttons
 * ------------------------------ */
@keyframes ani {
  from {
    mask-position: 0 0;
  }
  to {
    mask-position: 100% 0;
  }
}
@keyframes ani2 {
  from {
    mask-position: 100% 0;
  }
  to {
    mask-position: 0 0;
  }
}
.btn {
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  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: none;
  }
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.btn.btn--sm {
  padding: 0.75rem 1.5rem;
  border-radius: 50vh;
}
.btn.btn--lg {
  padding: 1.25rem 2.5rem;
  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-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}
.btn.btn--secondary {
  background-color: var(--clr-secondary-500);
  border-color: var(--clr-secondary-500);
  color: var(--clr-white);
}
.btn.btn--secondary:hover, .btn.btn--secondary:focus, .btn.btn--secondary:active {
  background-color: var(--clr-secondary-600);
  border-color: var(--clr-secondary-600);
  color: var(--clr-white);
}
.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-dark-600);
  border-color: var(--clr-dark-600);
  color: var(--clr-white);
}
.btn.btn--light {
  background-color: var(--clr-light-500);
  border: none;
  color: var(--clr-dark-500);
}
.btn.btn--light:hover, .btn.btn--light:focus, .btn.btn--light:active {
  background-color: var(--clr-white);
  color: var(--clr-dark-600);
}
.btn.btn--outline {
  background-color: transparent;
  border-color: var(--clr-dark-600);
  color: var(--clr-dark-600);
}
.btn.btn--outline:hover, .btn.btn--outline:focus, .btn.btn--outline:active {
  background-color: transparent;
  border-color: var(--clr-dark-900);
  color: var(--clr-dark-900);
}
.btn.btn--link {
  padding: 0;
  background-color: transparent;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  font-size: var(--fs-xs);
  line-height: 1;
  color: var(--clr-dark-500);
  text-decoration: underline;
  text-decoration-color: var(--clr-accent-500);
  text-decoration-thickness: 0.125rem;
  text-underline-offset: 0.75rem;
}
.btn.btn--link:hover, .btn.btn--link:focus, .btn.btn--link:active {
  color: var(--clr-accent-500);
  background-color: transparent;
  text-decoration-color: var(--clr-dark-500);
}
.btn.btn--cta {
  padding: 0;
  background-color: transparent;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  font-size: var(--fs-xs);
  line-height: 1;
  color: var(--clr-white);
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
}
.btn.btn--cta .btn-circle {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
@media (min-width: 48em) {
  .btn.btn--cta .btn-circle {
    width: 4rem;
    height: 4rem;
  }
}
@media (max-width: 47.98em) {
  .btn.btn--cta .btn-circle {
    width: 3rem;
    height: 3rem;
  }
}
.btn.btn--cta .btn-circle .fi {
  font-size: 1.5rem;
  color: var(--clr-white);
  z-index: 1;
}
.btn.btn--cta .btn-circle::after, .btn.btn--cta .btn-circle::before {
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0;
  border-radius: 50%;
}
.btn.btn--cta .btn-circle::after {
  background-color: var(--clr-accent-500);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.btn.btn--cta .btn-circle::before {
  background-color: var(--clr-accent-300);
  transform-origin: center center;
  animation: pulse-border 1500ms ease-out infinite;
}
.btn.btn--cta:hover, .btn.btn--cta:focus, .btn.btn--cta:active {
  background-color: transparent;
  color: var(--clr-white);
  transform: translate(0.25rem, 0.75rem);
}
.btn.btn--cta:hover .btn-circle, .btn.btn--cta:focus .btn-circle, .btn.btn--cta:active .btn-circle {
  rotate: 90deg;
}
.btn.btn--cta:hover .btn-circle::before, .btn.btn--cta:focus .btn-circle::before, .btn.btn--cta:active .btn-circle::before {
  background-color: var(--clr-accent-500);
  animation: none;
}
.btn.btn--cta:hover .btn-circle::after, .btn.btn--cta:focus .btn-circle::after, .btn.btn--cta:active .btn-circle::after {
  transform: translateZ(0) scale(1.25);
}
.btn.btn--mask {
  color: var(--clr-white);
  background-color: var(--clr-dark-500);
  background-color: transparent;
  border: none;
  z-index: 1;
}
.btn.btn--mask::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 50vh;
  background-color: var(--clr-accent-500);
  mask: url("../img/btn-sprite-2.png");
  mask-size: 7100% 100%;
  animation: ani2 0.7s steps(70) forwards;
}
.btn.btn--mask:hover {
  color: var(--clr-accent-500);
}
.btn.btn--mask:hover:after {
  animation: ani 0.7s steps(70) forwards;
}
.btn.btn--mask-dark {
  color: var(--clr-white);
  background-color: var(--clr-dark-500);
  background-color: transparent;
  border: none;
  z-index: 1;
  color: var(--clr-dark-500);
}
.btn.btn--mask-dark::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 50vh;
  background-color: var(--clr-accent-500);
  mask: url("../img/btn-sprite-2.png");
  mask-size: 7100% 100%;
  animation: ani2 0.7s steps(70) forwards;
}
.btn.btn--mask-dark:hover {
  color: var(--clr-accent-500);
}
.btn.btn--mask-dark:hover:after {
  animation: ani 0.7s steps(70) forwards;
}
.btn.btn--mask-dark::after {
  background-color: var(--clr-white);
}
.btn.btn--mask-dark:hover {
  color: var(--clr-white);
}

/* ==============================
 * Swiper Components
 * ------------------------------ */
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

/* ------------------------- Swiper General ----------------------- */
.swiper-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  height: 4.5rem;
  width: 4.5rem;
  text-align: center;
  background: var(--clr-swiper-btn-base);
  color: var(--clr-white);
  outline: none;
  overflow: hidden;
  text-align: center;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  cursor: pointer;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
}
@media (max-width: 35.98em) {
  .swiper-btn {
    height: 3.5rem;
    width: 3.5rem;
  }
}
.swiper-btn: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: 0.875rem;
  font-weight: normal;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
@supports not (mask-image: url()) {
  .swiper-btn:after {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}
.swiper-btn:hover {
  background-color: var(--clr-swiper-btn-hover);
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.15);
  color: var(--clr-white);
}
.swiper-btn.swiper-button-disabled {
  background-color: var(--clr-swiper-btn-disabled);
  cursor: not-allowed;
  pointer-events: none;
}

.swiper-pagination-bullet {
  margin: 0.25rem;
  width: 0.9375rem;
  height: 0.9375rem;
  background: var(--clr-swiper-btn-base);
  opacity: 1;
  border-radius: 50%;
  position: relative;
  display: inline-block;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.swiper-pagination-bullet:hover {
  background: var(--clr-swiper-btn-hover);
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--clr-swiper-btn-active);
}

/*!
 * 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: 1;
}
.hamburger.is-active:hover {
  opacity: 1;
}
.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: 1.25rem;
  height: 0.875rem;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.0625rem;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 1.25rem;
  height: 0.125rem;
  background-color: var(--clr-hamburger-bg);
  border-radius: 0;
  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.375rem;
}
.hamburger-inner::after {
  bottom: -0.375rem;
}

/*
 * Arrow Right
 */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(0.25rem, 0, 0) rotate(45deg) scale(0.7, 1);
}
.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(0.25rem, 0, 0) rotate(-45deg) scale(0.7, 1);
}

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

.page-link {
  position: relative;
  display: block;
  padding: 1rem 2rem;
  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-600);
  border-color: var(--clr-primary-600);
}
.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);
}

/* ==============================
 * Components | Hero
 * ------------------------------ */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
.modal.active {
  display: block;
}

.modal-content {
  background-color: #fff;
  width: 60%;
  margin: 15% auto;
  padding: 20px;
}

/* ==============================
 * Components | Logo
 * ------------------------------ */
.custom-logo-link {
  display: inline-block;
  position: relative;
  z-index: 2;
  transition: transform 0.1s ease-out;
  pointer-events: all;
}

.logo__symbol {
  fill: var(--clr-accent-500);
}
.logo__text {
  fill: var(--clr-dark-500);
}
.logo__text path {
  opacity: 1;
  fill: var(--clr-dark-500);
}

.header--dark .logo__text,
.header--dark .logo__text path {
  fill: var(--clr-neutral-500);
}
.header--dark .logo__symbol {
  fill: var(--clr-accent-400);
}

/* ==============================
 * Components | Loader
 * ------------------------------ */
/* purgecss start ignore */
#loader {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100dvh;
  z-index: 9999;
  overflow: hidden;
  pointer-events: none;
  background: var(--clr-dark-500);
}
#loader.reverse {
  transform: scale(-1);
}

.loader__img {
  height: 2800vh;
  left: 0;
  position: absolute;
  top: 100vh;
  transform: translateZ(0);
  width: 100%;
}

/* HTML: <div class="loader"></div> */
/* purgecss end ignore */
/* ==============================
 * Layout | Navbar
 * ------------------------------ */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width: 100%;
  padding-inline: clamp(1rem, 2%, 4rem);
}
.navbar__branding {
  font-size: 0;
}
@media (min-width: 36em) {
  .navbar__branding {
    width: 12.5rem;
  }
}
@media (max-width: 35.98em) {
  .navbar__branding {
    width: 6.25rem;
  }
}
.navbar__title, .navbar__description {
  display: none;
}
.navbar__nav {
  display: flex;
  background-color: var(--clr-nav-bg);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  inset: 0;
  position: fixed;
  z-index: -1;
  overflow: hidden;
  padding: 2.5rem 2rem;
  pointer-events: none;
}
.navbar__nav::after {
  content: "";
  display: block;
  z-index: -1;
  position: absolute;
  clip-path: shape(from 82.44% 2.08%, curve to 97.47% 32.03% with 90.6% 6.54%/94.75% 19.37%, curve to 97.39% 66.29% with 100.19% 44.61%/101.47% 57.03%, curve to 74.93% 87.72% with 93.24% 75.46%/83.66% 81.47%, curve to 50.52% 99.97% with 66.12% 93.89%/58.18% 100.46%, curve to 27.98% 85.44% with 42.87% 99.57%/35.43% 92.18%, curve to 7.52% 63.53% with 20.47% 78.79%/12.96% 72.7%, curve to 0.58% 30.81% with 2.01% 54.36%/-1.43% 42.1%, curve to 19.25% 5.33% with 2.65% 19.61%/10.09% 9.39%, curve to 50.81% 2.49% with 28.48% 1.27%/39.36% 3.46%, curve to 82.44% 2.08% with 62.26% 1.59%/74.35% -2.38%, close);
  background-color: var(--clr-dark-800);
  transform-origin: center;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease-in;
  transition-delay: 0.05s;
  transform: scale(0);
  will-change: transform;
}
@media (min-width: 48em) {
  .navbar__nav::after {
    top: calc(4.5rem - 160vw);
    right: calc(4rem - 160vw);
    width: 320vw;
    height: 320vw;
  }
}
@media (max-width: 47.98em) {
  .navbar__nav::after {
    top: calc(4.5rem - 210vw);
    right: calc(4rem - 210vw);
    width: 420vw;
    height: 420vw;
  }
}
@media (min-width: 36em) {
  .admin-bar .navbar__nav::after {
    top: calc(4.5rem - 112vw + 32px);
  }
}
@media (max-width: 35.98em) {
  .admin-bar .navbar__nav::after {
    top: calc(4.5rem - 112vw + 46px);
  }
}
.navbar__nav.active {
  z-index: 1;
  pointer-events: all;
}
.navbar__nav.active:after {
  transform: none;
  border-radius: 0;
  transition-property: all;
  transition-duration: 0.75s;
  transition-timing-function: ease-out;
  transition-delay: 0s;
}
.navbar__nav.active .navbar__menu {
  opacity: 1;
  transform: translate(0, 0);
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
  transition-delay: 0.3s;
}
.navbar__btns {
  display: flex;
  gap: 2rem;
  align-items: center;
}
.navbar__link {
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  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;
  padding: 0;
  background-color: transparent;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  font-size: var(--fs-xs);
  line-height: 1;
  color: var(--clr-dark-500);
  text-decoration: underline;
  text-decoration-color: var(--clr-accent-500);
  text-decoration-thickness: 0.125rem;
  text-underline-offset: 0.75rem;
  color: var(--clr-dark-500);
  pointer-events: all;
}
@supports selector(::focus-visible) {
  .navbar__link:focus:not(:focus-visible) {
    outline: none;
  }
}
.navbar__link:disabled, .navbar__link.disabled, fieldset:disabled .navbar__link {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.navbar__link:hover, .navbar__link:focus, .navbar__link:active {
  color: var(--clr-accent-500);
  background-color: transparent;
  text-decoration-color: var(--clr-dark-500);
}
.header--dark .navbar__link {
  color: var(--clr-neutral-500);
}
.header--dark .navbar__link:hover {
  text-decoration-color: var(--clr-neutral-400);
}
@media (max-width: 35.98em) {
  .navbar__link {
    display: none;
  }
}
.navbar__menu {
  list-style: none;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  opacity: 0;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
  counter-reset: menu-counter;
}
.navbar__menu::-webkit-scrollbar {
  display: none;
}
@media (min-width: 48em) {
  .navbar__menu {
    padding: 3rem 4rem;
    transform: translateX(-4rem);
  }
}
@media (max-width: 47.98em) {
  .navbar__menu {
    padding: 1rem 1.5rem;
    transform: translateX(-2rem);
  }
}
.navbar__menu:hover .menu-item a {
  opacity: 0.5;
  filter: blur(0.125rem);
}
.navbar__menu:hover .menu-item::before {
  opacity: 0;
  transform: translate(-1.5rem, -50%);
}
.navbar__menu:hover .menu-item.current-menu-item::before, .navbar__menu:hover .menu-item.current-menu-ancestor::before, .navbar__menu:hover .menu-item.current-post-ancestor::before {
  opacity: 0;
  transform: translate(-1.5rem, -50%);
}
.navbar__menu > li,
.navbar__menu .menu-item {
  font-size: var(--fs-mt);
  font-weight: 700;
  position: relative;
  counter-increment: menu-counter;
  padding: 1rem 4rem 1rem 0;
}
.navbar__menu > li::before,
.navbar__menu .menu-item::before {
  content: "0" counter(menu-counter);
  color: white;
  font-size: var(--fs-d1);
  font-family: var(--ff-alt);
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: -1rem;
  opacity: 0;
  transform: translate(1.5rem, -50%);
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.navbar__menu > li a,
.navbar__menu .menu-item a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  position: relative;
  overflow: hidden;
  color: var(--clr-nav-link);
  -webkit-text-fill-color: transparent;
  background: linear-gradient(90deg, var(--clr-nav-link), var(--clr-nav-link) 50%, var(--clr-accent-500) 0);
  background-clip: text;
  background-size: 200% 100%;
  transition-property: all;
  transition-duration: 0.75s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.navbar__menu > li:hover, .navbar__menu > li:focus,
.navbar__menu .menu-item:hover,
.navbar__menu .menu-item:focus {
  color: var(--clr-nav-link-hover);
}
.navbar__menu > li:hover::before, .navbar__menu > li:focus::before,
.navbar__menu .menu-item:hover::before,
.navbar__menu .menu-item:focus::before {
  opacity: 0.05;
  transform: translate(3rem, -45%);
}
.navbar__menu > li:hover a, .navbar__menu > li:focus a,
.navbar__menu .menu-item:hover a,
.navbar__menu .menu-item:focus a {
  transform: translateX(1rem);
  background-position: -100% 100%;
  opacity: 1;
  filter: blur(0);
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.navbar__menu > li.current-menu-item:before, .navbar__menu > li.current-menu-ancestor:before, .navbar__menu > li.current-post-ancestor:before,
.navbar__menu .menu-item.current-menu-item:before,
.navbar__menu .menu-item.current-menu-ancestor:before,
.navbar__menu .menu-item.current-post-ancestor:before {
  opacity: 0.1;
}
.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 {
  background-position: -100% 100%;
  opacity: 1;
  filter: blur(0);
}
.navbar__menu > li.current-menu-item:hover::before, .navbar__menu > li.current-menu-item:focus::before, .navbar__menu > li.current-menu-ancestor:hover::before, .navbar__menu > li.current-menu-ancestor:focus::before, .navbar__menu > li.current-post-ancestor:hover::before, .navbar__menu > li.current-post-ancestor:focus::before,
.navbar__menu .menu-item.current-menu-item:hover::before,
.navbar__menu .menu-item.current-menu-item:focus::before,
.navbar__menu .menu-item.current-menu-ancestor:hover::before,
.navbar__menu .menu-item.current-menu-ancestor:focus::before,
.navbar__menu .menu-item.current-post-ancestor:hover::before,
.navbar__menu .menu-item.current-post-ancestor:focus::before {
  transform: translate(1.5rem, -50%);
  opacity: 0.1;
}
.navbar__menu > li.current-menu-item:hover > a, .navbar__menu > li.current-menu-item:focus > a, .navbar__menu > li.current-menu-ancestor:hover > a, .navbar__menu > li.current-menu-ancestor:focus > a, .navbar__menu > li.current-post-ancestor:hover > a, .navbar__menu > li.current-post-ancestor:focus > a,
.navbar__menu .menu-item.current-menu-item:hover > a,
.navbar__menu .menu-item.current-menu-item:focus > a,
.navbar__menu .menu-item.current-menu-ancestor:hover > a,
.navbar__menu .menu-item.current-menu-ancestor:focus > a,
.navbar__menu .menu-item.current-post-ancestor:hover > a,
.navbar__menu .menu-item.current-post-ancestor:focus > a {
  color: var(--clr-nav-link-hover);
}
.navbar__nav-toggler {
  position: relative;
  z-index: 1;
  display: inline-flex;
  background-color: var(--clr-accent-500);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
  pointer-events: all;
}
@media (min-width: 48em) {
  .navbar__nav-toggler {
    width: 3.5rem;
    height: 3.5rem;
  }
}
@media (max-width: 47.98em) {
  .navbar__nav-toggler {
    width: 3rem;
    height: 3rem;
  }
}
.navbar__nav-toggler::after {
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0;
  border-radius: 50%;
  z-index: -1;
  transform: scale(0.75);
}
.navbar__nav-toggler::after {
  background-color: var(--clr-accent-500);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.navbar__nav-toggler:not(.is-active) .hamburger-inner {
  width: 1rem;
}
.navbar__nav-toggler:hover {
  background-color: var(--clr-accent-600);
  transform: translate(-0.25rem, 0.25rem);
}
.navbar__nav-toggler:hover::after {
  transform: translateZ(0) scale(1.25);
}
.navbar__nav-toggler.is-active {
  transform: rotate(0deg);
}
.navbar__nav-toggler.is-active:hover {
  transform: translate(0.25rem, -0.25rem) rotate(-45deg);
}

/* ==============================
 * Layout | Header
 * ------------------------------ */
.header {
  display: flex;
  width: 100%;
  background-color: var(--clr-header-bg);
  position: fixed;
  top: 0;
  z-index: 2;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  pointer-events: none; /* allow clicks through */
}
@media (min-width: 36em) {
  .header {
    height: 8rem;
  }
  .admin-bar .header {
    top: 32px;
  }
}
@media (max-width: 35.98em) {
  .header {
    height: 5rem;
  }
  .admin-bar .header {
    top: 46px;
  }
}
.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) 25%, rgba(0, 0, 0, 0) 100%);
  z-index: -1;
}

.mouse-circle {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  pointer-events: none;
  transition: transform 0.075s ease-out;
  z-index: 100;
}
.mouse-circle:after {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  content: "";
  background-color: var(--clr-accent-500);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.mouse-circle:before {
  content: "";
  position: absolute;
  inset: 0;
  border: 0.0625rem solid var(--clr-dark-300);
  border-radius: 50%;
  transform: scale(0.5);
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: ease-out;
  transition-delay: 0s;
}
.mouse-circle.is-hovering:before {
  transform: scale(1);
  border-color: var(--clr-accent-500);
  background-color: rgba(177, 22, 35, 0.25);
}
.mouse-circle.is-hovering:after {
  transform: scale(2);
}
.mouse-circle.is-hovering-anim:before {
  transform: scale(1.35);
  border-color: var(--clr-accent-500);
  background-color: rgba(177, 22, 35, 0.25);
  backdrop-filter: blur(0.25rem);
}
.mouse-circle.is-hovering-anim: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: 1.5rem;
  color: var(--clr-accent-500);
}
@supports not (mask-image: url()) {
  .mouse-circle.is-hovering-anim:after {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}

/* ==============================
 * Layout | Hero
 * ------------------------------ */
/* purgecss start ignore */
.hero {
  display: flex;
  align-items: center;
  position: relative;
  background-color: var(--clr-hero-bg);
  color: var(--clr-hero-text);
}
@media (min-width: 48em) {
  .hero {
    height: auto;
    min-height: 25rem;
    padding: 8rem 0;
  }
}
@media (max-width: 47.98em) {
  .hero {
    height: auto;
    min-height: 11.25rem;
    padding: 5rem 0;
  }
}
.hero__content {
  padding: 4rem 0 2rem;
  text-align: center;
  position: relative;
  z-index: 1;
}
.hero__title {
  margin-top: 0;
  margin-bottom: 2rem;
}
.hero__subtitle {
  text-transform: uppercase;
  letter-spacing: 0.25rem;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--clr-dark-200);
  margin-bottom: 0;
}
.hero__scroll {
  position: absolute;
  z-index: 1;
  color: var(--clr-hero-text);
  writing-mode: vertical-rl;
  text-transform: uppercase;
  letter-spacing: 0.25rem;
  font-size: var(--fs-xs);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 4rem;
}
@media (min-width: 48em) {
  .hero__scroll {
    bottom: 40%;
    right: 4rem;
  }
}
@media (max-width: 47.98em) {
  .hero__scroll {
    bottom: 3rem;
    right: 1.5rem;
  }
}
.hero__scroll::before {
  content: "";
  display: block;
  width: 0.125rem;
  height: 3rem;
  background-color: var(--clr-hero-text);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transform-origin: top;
  animation: growShrink 2s infinite;
}
.hero__scroll:hover, .hero__scroll:focus, .hero__scroll:active {
  color: var(--clr-hero-text);
}
.hero.hero--hp {
  z-index: 1;
  overflow: hidden;
}
.hero.hero--hp:before {
  content: "";
  display: block;
  background: linear-gradient(180deg, hsla(228, 14.7%, 13.3%, 0) 0%, var(--clr-dark-700) 85%, var(--clr-dark-700) 100%);
  left: 0;
  right: 0;
  height: 30%;
  position: absolute;
  z-index: 1;
}
@media (min-width: 48em) {
  .hero.hero--hp {
    height: 150dvh;
    min-height: 46.25rem;
    padding: 6rem 0 calc(37.5dvh + 8rem);
  }
  .hero.hero--hp::before {
    bottom: 45dvh;
  }
}
@media (max-width: 47.98em) {
  .hero.hero--hp {
    height: 100dvh;
    min-height: 28.75rem;
    padding: 4rem 0;
  }
  .hero.hero--hp::before {
    bottom: 0;
  }
}
.hero.hero--hp .hero__bg {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 48em) {
  .hero.hero--hp .hero__bg {
    height: 100dvh;
  }
}
@media (max-width: 47.98em) {
  .hero.hero--hp .hero__bg {
    height: 100%;
  }
}
.hero.hero--hp .hero__bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.hero.hero--hp .hero__bg:after {
  content: "";
  display: block;
  background: linear-gradient(0deg, var(--clr-dark-500) 40%, var(--clr-dark-700) 100%);
  inset: 0;
  position: absolute;
  opacity: 0.55;
}
.hero.hero--hp .hero__content {
  padding: 0;
}

/* purgecss end ignore */
/* ==============================
 * 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: 0.25rem;
  padding: 1rem 1rem;
  outline: none;
  width: 100%;
  font-size: var(--fs-p);
  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: 1.25rem 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.75rem 0.75rem;
}

.form-label {
  display: inline-block;
  font-weight: 600;
  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;
}

/* Contact form 7 styles */
.wpcf7 input[type=submit],
.wpcf7 button {
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  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) {
  .wpcf7 input[type=submit]:focus:not(:focus-visible),
  .wpcf7 button:focus:not(:focus-visible) {
    outline: none;
  }
}
.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-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}
.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;
}

/* ==============================
 * 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: 36em) {
  .sidebar .widget_block ul {
    margin: 1.5rem 0;
    padding: 0 0 0 1.5rem;
  }
}
@media (max-width: 35.98em) {
  .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: 36em) {
  .sidebar .widget_block ul li {
    padding-left: 1.75rem;
  }
}
@media (max-width: 35.98em) {
  .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: 36em) {
  .sidebar .widget_block ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: 0.75rem;
  }
}
@media (max-width: 35.98em) {
  .sidebar .widget_block ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 10px;
    height: 2px;
    top: 0.625rem;
  }
}

/* ==============================
 * Layout | Sections
 * ------------------------------ */
.section {
  position: relative;
  padding-block: var(--spacing-md);
}
.section__header {
  position: relative;
  z-index: 0;
}
.section__header--lg {
  min-height: 100vh;
  display: flex;
  justify-content: center;
}
.section__title {
  overflow: hidden;
  margin-top: 0;
}
.section__content {
  z-index: 1;
  position: relative;
}
.section--dark {
  background-color: var(--clr-dark-500);
  color: var(--clr-light-500);
}
.section--light {
  background-color: var(--clr-light-500);
}
.section--lg {
  padding-block: var(--spacing-lg);
}
.section--sm {
  padding-block: var(--spacing-sm);
}
.section--spacer {
  min-height: 30vh;
}

/* ==============================
 * Layout | Footer
 * ------------------------------ */
.footer {
  color: var(--clr-footer-text);
  position: relative;
  padding-top: 12rem;
  padding-bottom: 16rem;
  text-align: center;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--clr-footer-bg);
  overflow: hidden;
  z-index: 1;
}
.footer__grad {
  content: "";
  position: absolute;
  bottom: -50%;
  width: 90%;
  height: 37.5rem;
  border-radius: 50%;
  filter: blur(4rem);
  background-image: radial-gradient(circle, var(--clr-primary-500) 0%, var(--clr-primary-600) 50%, var(--clr-dark-500) 80%, var(--clr-dark-600) 100%);
  animation: scaleGrad 7.5s ease infinite alternate;
  z-index: -1;
}
.footer__inner {
  width: 100%;
}
.footer__title {
  margin: 0;
  position: absolute;
  bottom: 15vh;
  width: 100%;
  text-align: center;
}
.footer__info {
  position: absolute;
  bottom: 2.5rem;
  width: 100%;
  text-align: center;
  font-size: var(--fs-xs);
}
.footer__info a {
  color: var(--clr-footer-text);
  text-decoration: underline 0.0625rem solid;
  text-underline-offset: 0.125rem;
  transition: color 0.3s ease;
}
.footer__info a:hover {
  color: var(--clr-dark-500);
}

/* ==============================
 * Layout | Content
 * ------------------------------ */
/* purgecss start ignore */
.content ul {
  list-style: none;
}
@media (min-width: 36em) {
  .content ul {
    margin: 1.5rem 0;
    padding: 0 0 0 1.5rem;
  }
}
@media (max-width: 35.98em) {
  .content ul {
    margin: 1rem 0;
    padding: 0 0 0 1rem;
  }
}
.content ul li {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 36em) {
  .content ul li {
    padding-left: 1.75rem;
  }
}
@media (max-width: 35.98em) {
  .content ul li {
    padding-left: 1.25rem;
  }
}
.content ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
}
@media (min-width: 36em) {
  .content ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: 0.75rem;
  }
}
@media (max-width: 35.98em) {
  .content ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 10px;
    height: 2px;
    top: 0.625rem;
  }
}
.content ol {
  list-style: none;
  counter-reset: my-awesome-counter;
}
@media (min-width: 36em) {
  .content ol {
    margin: 1.5rem 0;
    padding: 0 0 0 0.75rem;
  }
}
@media (max-width: 35.98em) {
  .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: 36em) {
  .content ol li {
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 35.98em) {
  .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: 36em) {
  .content ol li:before {
    top: 0.125rem;
  }
}
@media (max-width: 35.98em) {
  .content ol li:before {
    top: 0.0625rem;
  }
}

.wp-block-button.is-style-fill .wp-element-button {
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  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) {
  .wp-block-button.is-style-fill .wp-element-button:focus:not(:focus-visible) {
    outline: none;
  }
}
.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 {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.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 {
  background-color: var(--clr-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}
.wp-block-button.is-style-outline .wp-element-button {
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  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: transparent;
  border-color: var(--clr-dark-600);
  color: var(--clr-dark-600);
}
@supports selector(::focus-visible) {
  .wp-block-button.is-style-outline .wp-element-button:focus:not(:focus-visible) {
    outline: none;
  }
}
.wp-block-button.is-style-outline .wp-element-button:disabled, .wp-block-button.is-style-outline .wp-element-button.disabled, fieldset:disabled .wp-block-button.is-style-outline .wp-element-button {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.wp-block-button.is-style-outline .wp-element-button:hover, .wp-block-button.is-style-outline .wp-element-button:focus, .wp-block-button.is-style-outline .wp-element-button:active {
  background-color: transparent;
  border-color: var(--clr-dark-900);
  color: var(--clr-dark-900);
}

/* 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: 0.25rem;
  padding: 1rem 1rem;
  outline: none;
  width: 100%;
  font-size: var(--fs-p);
  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-block;
  padding: 1rem 2rem;
  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: none;
  }
}
.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-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}

/* ==============================
 * Layout | Search Form
 * ------------------------------ */
/* ==============================
 * Page | Post | Post Single
 * ------------------------------ */
.post__grid {
  padding-top: 3.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(26.25rem, 1fr));
  gap: 2rem;
}
@media (max-width: 47.98em) {
  .post__grid {
    grid-template-columns: 1fr;
  }
}
.post__col {
  display: flex;
  justify-content: center;
}
.post__col:nth-child(1) {
  transform: translateY(1rem);
}
.post__col:nth-child(3) {
  transform: translateY(1.5rem);
}
.post__box {
  display: block;
  margin-bottom: 1.5rem;
}
@media (max-width: 47.98em) {
  .post__box {
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.post__box:hover .post__img {
  transform: translateY(0.5rem);
  mask-size: 120% 120%;
}
.post__box:hover .post__img::after {
  transform: scale(1.4);
}
.post__box:hover .post__img img {
  filter: grayscale(0);
  transform: scale(1.15);
}
.post__box:hover .post__title {
  transform: translateY(0.25rem);
}
.post__box:hover .post__cat {
  transform: translateY(0.5rem);
}
.post__title {
  font-family: var(--ff-base);
  color: var(--clr-dark-700);
  font-weight: 400;
  padding-inline-start: 1.5rem;
  margin: 0 0 0.5rem;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.post__cat {
  padding: 1.5rem 1.5rem 0.75rem;
  display: block;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--clr-accent-500);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.post__img {
  position: relative;
  overflow: hidden;
  display: flex;
  transition-property: all;
  transition-duration: 0.75s;
  transition-timing-function: ease;
  transition-delay: 0s;
  mask: url("../img/mask-post.svg");
  mask-size: 100% 100%;
  mask-position: center;
}
.post__img img {
  transition: transform 1.25s, filter 0.5s;
  filter: grayscale(1);
}

/* ==============================
 * Page | Default Page
 * ------------------------------ */
/* ==============================
 * Page | 404
 * ------------------------------ */
/* ==============================
 * Page | Homepage
 * ------------------------------ */
/* purgecss start ignore */
.delayed__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: 2rem;
}
.delayed-section:nth-child(1) {
  transform: translateY(1rem);
}
.delayed-section:nth-child(3) {
  transform: translateY(1.5rem);
}

#hp-projects {
  overflow: hidden;
}

.project__wrapper {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
.project__box {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-align: center;
}
@media (min-width: 62em) {
  .project__box {
    width: 40%;
    max-width: 37.5rem;
  }
  .project__box:nth-child(even) {
    margin-left: auto;
  }
}
@media (max-width: 61.98em) {
  .project__box {
    max-width: 32.5rem;
    width: 90%;
    margin: 0 auto;
  }
}
.project__box:hover .project__title {
  transform: translateY(-1rem);
  color: var(--clr-accent-500);
}
.project__box:hover .project__meta {
  transform: translateY(-2rem);
}
.project__box:hover .project__img {
  mask-size: 120% 120%;
}
.project__box:hover .project__img img {
  filter: grayscale(0);
}
.project__title {
  font-weight: 900;
  font-family: var(--ff-base);
  color: var(--clr-dark-700);
  transition-property: all;
  transition-duration: 0.35s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}
.project__img {
  overflow: hidden;
  transition-property: all;
  transition-duration: 0.75s;
  transition-timing-function: ease;
  transition-delay: 0s;
  mask: url("../img/mask-img.svg");
  mask-size: 100% 100%;
  mask-position: center;
}
.project__img img {
  filter: grayscale(1);
  transition: filter 0.75s;
}
.project__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: center;
  justify-content: center;
  transition: transform 0.5s;
}
.project__meta li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1.1;
}
.project__meta li::after {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background-color: var(--clr-accent-500);
  flex-shrink: 0;
}
.project__meta li:last-child:after {
  display: none;
}
.project__tag {
  font-size: var(--fs-sm);
  color: var(--clr-dark-300);
  font-weight: 700;
}

#hp-services {
  overflow: hidden;
  z-index: 1;
}

.service__bg {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100vh;
}
.service__bg:after {
  content: "";
  display: block;
  background: linear-gradient(0deg, var(--clr-dark-500) 10%, rgba(41, 44, 55, 0.9) 40%, rgba(41, 44, 55, 0.8) 90%, var(--clr-dark-500) 100%);
  inset: 0;
  position: absolute;
  z-index: -1;
}
.service__bg--top {
  top: 0;
  background: var(--clr-dark-500) url("../img/dark-cubes-bg.jpg") no-repeat top center;
  background-size: cover;
}
.service__bg--bottom {
  bottom: 0;
  background: var(--clr-dark-500) url("../img/dark-cubes-bg.jpg") no-repeat top center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.service__wrapper {
  display: flex;
  overflow: hidden;
}
.service__panel {
  display: flex;
  align-items: center;
  flex: 0 0 100vw;
  padding: 4rem 2rem;
  position: relative;
  height: 100vh;
  z-index: 1;
  background: linear-gradient(0deg, rgba(41, 44, 55, 0) 10%, var(--clr-dark-500) 40%, var(--clr-dark-500) 90%, rgba(41, 44, 55, 0) 100%);
}
.service__panel-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.service__panel-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#hp-blog {
  overflow: hidden;
}

#hp-about {
  min-height: 37.5rem;
  overflow: hidden;
}

.about__title .part-alt {
  display: none;
}
.about__row {
  display: flex;
  align-items: center;
  gap: var(--spacing-gutter);
  min-height: clamp(25rem, 85vh, 50rem);
}
@media (min-width: 48em) {
  .about__row {
    padding-block: var(--spacing-lg);
  }
  .about__row:nth-child(odd) {
    text-align: right;
  }
  .about__row:nth-child(even) {
    flex-direction: row-reverse;
  }
}
@media (max-width: 47.98em) {
  .about__row {
    padding-block: var(--spacing-sm);
    flex-direction: column;
  }
}
.about__col {
  flex: 0 0 100%;
  max-width: 38.75rem;
  margin-inline: auto;
}
.about__video-wrapper {
  overflow: hidden;
  transition-property: all;
  transition-duration: 0.75s;
  transition-timing-function: ease;
  transition-delay: 0s;
  mask: url("../img/mask-img.svg");
  mask-size: 100% 100%;
  mask-position: center;
}
.about__video {
  max-width: 100%;
}

.shape {
  aspect-ratio: 1.233;
  clip-path: shape(from 97.54% 10.91%, curve by -10.93% -10.76% with -2.11% -5.38%/-6.13% -9.91%, curve by -15.78% 7.98% with -5.83% -1.03%/-11.32% 3.26%, curve by -14.36% 12.27% with -4.46% 4.71%/-8.72% 10.15%, curve by -30.93% -4.53% with -10.05% 3.75%/-20.44% -4.47%, curve to 7.15% 25.66% with 18.67% 15.81%/11.86% 19.43%, curve by 19.9% 70.23% with -17.4% 23.09%/-0.05% 60.08%, curve by 49.46% -9.07% with 16.08% 8.22%/35.34% 3.57%, curve by 23.23% -53.55% with 13.43% -12.03%/21.71% -33.18%, curve by 0.25% -4.77% with 0.1% -1.63%/0.2% -3.2%, curve to 97.54% 10.91% with 100.09% 22.46%/99.64% 16.29%, close);
  height: 18.75rem;
  background: var(--clr-accent-500);
}

#hp-cta {
  overflow: hidden;
  z-index: 1;
  color: var(--clr-white);
  padding-bottom: 22.625rem;
}
#hp-cta .section__circle-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: var(--clr-white);
  z-index: -1;
  transform-origin: top center;
}
#hp-cta .section__circle-bg.active {
  background-color: var(--clr-accent-700);
}
#hp-cta .section__btn-wrapper {
  text-align: center;
  width: 100%;
  padding-block: 4rem;
  position: absolute;
  bottom: 4rem;
}
#hp-cta .section__grad-bottom {
  content: "";
  position: absolute;
  left: 10%;
  bottom: -25rem;
  width: 80%;
  height: 37.5rem;
  border-radius: 50%;
  filter: blur(4rem);
  background-image: radial-gradient(circle, var(--clr-secondary-500) 0%, var(--clr-accent-500) 50%, var(--clr-accent-600) 80%, var(--clr-accent-700) 100%);
  animation: scaleGrad 7.5s ease infinite alternate;
  z-index: -1;
}

#hp-testimonials {
  overflow: hidden;
  z-index: 0;
  transition-property: all;
  transition-duration: 0.75s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}

.testimonial__bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 45vw;
  height: 45vw;
  z-index: -1;
  border-radius: 50%;
  background-color: var(--clr-accent-500);
}
.testimonial__wrapper {
  display: flex;
  gap: 2rem;
  padding-block: 10.25rem;
}
.testimonial__box {
  background-color: var(--clr-white);
  color: var(--clr-dark-500);
  padding: 2rem;
  border-radius: 1rem;
}
.testimonial__author {
  font-weight: 700;
  font-size: var(--fs-xs);
  color: var(--clr-dark-700);
  margin-top: 0.5rem;
}

#hp-1,
#hp-2,
#hp-3,
#hp-test {
  min-height: 150vh;
  overflow: hidden;
}

.hp-work-wrap {
  overflow: hidden;
}

.hp-work-wrap {
  height: 110vh;
  position: relative;
}

#hp-work {
  position: absolute;
  inset: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
#hp-work .section {
  position: absolute;
  will-change: transform;
  width: 100%;
  height: 100%;
}
#hp-work .section:nth-child(1) {
  background-color: var(--clr-dark-500);
}
#hp-work .section:nth-child(2) {
  background-color: var(--clr-accent-500);
}
#hp-work .section:nth-child(3) {
  background-color: var(--clr-dark-700);
}
#hp-work .section:nth-child(4) {
  background-color: var(--clr-accent-800);
}

/* ------------- Scroll Animations ------------- */
#scroll-section-1 {
  transition-property: 0.75s;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  position: relative;
  overflow: hidden;
}
#scroll-section-1 .section__title {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transform: translateY(6.25rem);
  transition-delay: 0.25s;
  z-index: 2;
  position: relative;
}
#scroll-section-1 .circle {
  transform: translate(-50%, -50%);
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: var(--clr-accent-500);
  position: absolute;
  z-index: 1;
  bottom: 0;
}
#scroll-section-1.show-animate {
  background-color: var(--clr-dark-500);
}
#scroll-section-1.show-animate .section__title {
  transform: translateY(0rem);
  color: var(--clr-neutral-500);
  opacity: 1;
}

/* purgecss end ignore */
/* ==============================
 * 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.5;
}

/* 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: 36em) {
  .feat-list-ul {
    margin: 1.5rem 0;
    padding: 0 0 0 1.5rem;
  }
}
@media (max-width: 35.98em) {
  .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: 36em) {
  .feat-list-ul li {
    padding-left: 1.75rem;
  }
}
@media (max-width: 35.98em) {
  .feat-list-ul li {
    padding-left: 1.25rem;
  }
}
.feat-list-ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
}
@media (min-width: 36em) {
  .feat-list-ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: 0.75rem;
  }
}
@media (max-width: 35.98em) {
  .feat-list-ul li:before {
    content: "";
    position: absolute;
    display: block;
    width: 10px;
    height: 2px;
    top: 0.625rem;
  }
}

.feat-list-ol {
  list-style: none;
  counter-reset: my-awesome-counter;
}
@media (min-width: 36em) {
  .feat-list-ol {
    margin: 1.5rem 0;
    padding: 0 0 0 0.75rem;
  }
}
@media (max-width: 35.98em) {
  .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: 36em) {
  .feat-list-ol li {
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 35.98em) {
  .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: 36em) {
  .feat-list-ol li:before {
    top: 0.125rem;
  }
}
@media (max-width: 35.98em) {
  .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: 36em) {
  .feat-table table > thead > tr > th,
  .wp-block-table table > thead > tr > th {
    padding: 0.75rem 1rem;
  }
}
@media (max-width: 35.98em) {
  .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: 0.25rem 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 0.25rem 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: 36em) {
  .feat-table table > tbody > tr > td,
  .wp-block-table table > tbody > tr > td {
    padding: 0.75rem 1rem;
  }
}
@media (max-width: 35.98em) {
  .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 0.25rem;
}
.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 0.25rem 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-dark {
  color: var(--clr-dark-500);
}

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

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

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

.bg-dark {
  background-color: var(--clr-dark-500);
}

.text-glow {
  animation: textGlow 2s infinite;
}

.box-glow {
  animation: boxGlow 2s infinite;
}

.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;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

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

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

.m-0 {
  margin: 0;
}

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

.mt-1 {
  margin-top: calc(var(--spacing-gutter) / 4);
}

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

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

.mt-4 {
  margin-top: calc(var(--spacing-gutter) * 2);
}

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

.mb-1 {
  margin-bottom: calc(var(--spacing-gutter) / 4);
}

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

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

.mb-4 {
  margin-bottom: calc(var(--spacing-gutter) * 2);
}

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

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

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

.pt-4 {
  padding-top: calc(var(--spacing-gutter) * 2);
}

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

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

.pb-4 {
  padding-bottom: calc(var(--spacing-gutter) * 2);
}

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

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

.py-4 {
  padding-top: calc(var(--spacing-gutter) * 2);
  padding-bottom: calc(var(--spacing-gutter) * 2);
}

.h-full {
  height: 100%;
}

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