/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/scss/index.scss ***!
  \********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

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

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: var(--color-link);
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

[data-theme=light],
:root:not([data-theme=dark]) {
  --ff-body: "Montserrat", sans-serif;
  --ff-heading: "Montserrat", sans-serif;
  --ff-mono: "Space Mono", monospace;
  --font-size-base: 1rem;
  --font-size-sm: clamp(0.8rem, 0.17vi + 0.76rem, 0.89rem);
  --font-size-sml: calc(var(--font-size-sm) + 0.1rem);
  --font-size-base: clamp(1rem, 0.34vi + 0.91rem, 1.19rem);
  --font-size-md: clamp(1.25rem, 0.61vi + 1.1rem, 1.58rem);
  --font-size-mdl: calc(1.2 * var(--font-size-md));
  --font-size-lg: clamp(1.56rem, 1vi + 1.31rem, 2.11rem);
  --font-size-xl: clamp(1.95rem, 1.56vi + 1.56rem, 2.81rem);
  --font-size-xxl: clamp(2.44rem, 2.38vi + 1.85rem, 3.75rem);
  --font-size-xxxl: clamp(3.05rem, 3.54vi + 2.17rem, 5rem);
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;
  --line-height-base: 1.5;
  --line-height-sm: 1.25;
  --line-height-md: 1.5;
  --line-height-lg: 1.75;
  --line-height-xl: 2;
  --line-height-xxl: 2.25;
  --line-height-xxxl: 2.5;
  --primary: #0D1E38;
  --primary-rgb: 13, 30, 56;
  --primary-linear-gradient: linear-gradient(136deg, rgba(13, 30, 56, .7), rgba(13, 30, 56, 1));
  --secondary-linear-gradient: linear-gradient(136deg, rgba(13, 30, 56, .7), rgba(13, 30, 56, 0));
  --primary-100: #F5F9FF;
  --primary-200: #E9F1FA;
  --primary-300: #D1E3F8;
  --primary-400: #196cae;
  --accent: #FEC75C;
  --accent-100: #f5d949;
  --tertiary-color: #f8f9fa;
  --spacer-1: 4px;
  --spacer-2: calc(2 * var(--spacer-1));
  --spacer-3: calc(3 * var(--spacer-1));
  --spacer-4: calc(4 * var(--spacer-1));
  --spacer-5: calc(5 * var(--spacer-1));
  --spacer-6: calc(6 * var(--spacer-1));
  --spacer-7: calc(7 * var(--spacer-1));
  --spacer-8: calc(8 * var(--spacer-1));
  --spacer-9: calc(9 * var(--spacer-1));
  --spacer-10: calc(10 * var(--spacer-1));
  --spacer-11: calc(11 * var(--spacer-1));
  --spacer-12: calc(12 * var(--spacer-1));
  --spacer-13: calc(13 * var(--spacer-1));
  --spacer-14: calc(14 * var(--spacer-1));
  --spacer-15: calc(15 * var(--spacer-1));
  --spacer-16: calc(16 * var(--spacer-1));
  --gap: var(--spacer-2);
  --body-bg: var(--primary-100);
  --body-color: var(--primary);
  --body-color-lighter: var(--primary-200);
  --body-color-dark: var(--primary-400);
  --link-color: var(--primary-400);
  --link-color-hover: var(--primary-300);
  --border-color: var(--primary-200);
  --border-color-lighter: var(--primary-300);
  --heading-color: var(--foreground);
  --heading-color-lighter: var(--primary-100);
  --heading-color-dark: var(--primary-400);
  --text-color: var(--primary);
  --text-color-lighter: var(--primary-100);
  --text-color-dark: var(--primary-400);
  --hr-color: var(--primary-200);
  --spacer-row: var(--spacer-6);
  --white: #fff;
  --black: #000;
  --light-gray: #999999 ;
  --surface-light: var(--primary-100)
  --surface-md: var(--primary-400);
  --surface-dark: var(--primary);
  --radius-sm: var(--spacer-2);
  --radius-md: var(--spacer-3);
  --radius-lg: var(--spacer-4);
  --main-nav-link-color: var(--primary-100);
  --main-nav-link-hover-color: var(--primary-300);
  --text-accent: var(--accent);
  --container-max:	80rem;
  --shadow-sm: 0 3px 3px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 6px 6px rgba(0, 0, 0, 0.2);
  --shadow-lg: 0 10px 10px rgba(0, 0, 0, 0.2);
  --button-padding-vertical: calc(var(--spacer-1) - 1px);
  --button-padding-horizontal: calc(var(--spacer-2) - 1px);
  --site-vertical-margin: clamp(2rem, 9vw, 10rem);
}
@media (min-width: 1040px) {
  [data-theme=light],
  :root:not([data-theme=dark]) {
    --spacer-row: var(--spacer-16);
  }
}

[data-theme=dark] {
  --text-color: var(--primary-100);
}

/*!
 * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #052c65;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cfe2ff;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #9ec5fe;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #0a58ca;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #6ea8fe;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #031633;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #084298;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #6ea8fe;
  --bs-link-hover-color: #8bb9fe;
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
body {
  margin: 0;
  font-family: var(--ff-body);
  font-size: var(--font-size-base);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--line-height-base);
  color: var(--foreground);
  text-align: var(--bs-body-text-align);
  background-color: var(--body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

:is(h6, h5, h4, h3, h2, h1) {
  margin: 0;
}

:where(.h1, .h2, .h3, .h4, .h5, .h6, header:not(.site-header)) {
  margin-top: 0;
  margin-bottom: var(--spacer-8);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--heading-color);
  text-wrap: balance;
}

.h1 {
  font-size: var(--font-size-xxxl);
}

@media (min-width: 1200px) {
  .h1 {
    font-size: 2.5rem;
  }
}
.h2 {
  font-size: calc(1.325rem + 0.9vw);
}

.h3 {
  font-size: calc(1.3rem + 0.6vw);
}

.h4 {
  font-size: calc(1.275rem + 0.3vw);
}

.h5 {
  font-size: 1.25rem;
}

.h6 {
  font-size: 1rem;
}

@media (min-width: 1200px) {
  .h2 {
    font-size: 2rem;
  }
  .h3 {
    font-size: 1.75rem;
  }
  .h4 {
    font-size: 1.5rem;
  }
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 0.875em;
}

mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}

a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--body-bg);
  background-color: var(--body-color);
  border-radius: 0.25rem;
}

kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--secondary-color, var(--accent-100));
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}

@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/* rtl:raw:
 [type="tel"],
 [type="url"],
 [type="email"],
 [type="number"] {
   direction: ltr;
 }
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}


body,
html {
  height: 100%;
}

.menu-toggle {
  display: none;
}

.site-description {
  display: none;
}

.centered {
  text-align: center;
}

.grid-centered {
  place-items: center;
}

.border-radius-lg {
  border-radius: var(--radius-lg);
}

.media {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 2px 2px 12px #222;
}

.media > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.copy {
  font-size: var(--font-size-md);
  line-height: 1.5;
  font-weight: var(--font-weight-normal);
}

.invert, .lesson-item-wrap {
  background: var(--primary-100);
  color: var(--primary);
  padding: var(--spacer-4);
  border-radius: var(--radius-sm);
}
.light .invert, .light .lesson-item-wrap, .light-md .invert, .light-md .lesson-item-wrap {
  background: var(--primary);
  color: var(--primary-100);
}

ul.no-style {
  list-style: none;
  padding: 0;
  margin: 0;
}

.hide-overflow {
  overflow: hidden;
}

.small-reading-width {
  max-width: 60ch;
  margin-inline: auto;
}

.entry-header {
  position: relative;
}

.list-content {
  font-size: 1.5rem;
  line-height: 1.2;
}
.list-content > li {
  margin-top: 0.51em;
}

/**************************\
  Basic Modal Styles
\**************************/
.modal {
  display: none;
}

.modal.is-open {
  display: block;
  position: fixed;
  z-index: 10000;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
}

.modal__container {
  background-color: var(--primary-100);
  color: var(--primary);
  padding: var(--spacer-8);
  width: min(65ch, 95%);
  max-height: 95vh;
  border-radius: var(--radius-lg);
  overflow-y: auto;
  box-sizing: border-box;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal__header:focus {
  outline: none;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
  align-self: start;
}

.modal__header .modal__close:before {
  content: "✕";
}

.modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform 0.25s ease-out;
}

.modal__btn:focus, .modal__btn:hover {
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

.video-modal .modal__container {
  width: 80%;
  max-width: 1600px;
  opacity: 0;
  transition: opacity 0.52;
}
.video-modal .modal__container.is-ready {
  opacity: 1;
}

/**************************\
Demo Animation Style
 \**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

/* Lesson completion status */
.pmpro_courses-lesson-status {
  text-align: center;
  text-decoration: none;
}

.pmpro_courses-lesson-status .pmpro_courses-lesson-status-label {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.pmpro_courses-lesson-status.pmpro_courses-lesson-status-complete .dashicons {
  color: #3c763d;
  font-size: 40px;
  height: auto;
  width: auto;
}

.pmpro_courses-lesson-status.pmpro_courses-lesson-status-incomplete .dashicons {
  color: #CCC;
  font-size: 30px;
  height: auto;
  width: auto;
}

.pmpro_courses_lesson-status label {
  cursor: pointer;
}

.pmpro_courses_lesson-status .pmpro_courses-button {
  float: left;
  margin-right: 1em;
}

.pmpro_courses_shortcode_container li {
  display: inline-block;
  width: 30%;
  margin: 0 1% 0 0;
  padding: 10px;
}

/* Lists of Courses and Lessons */
.pmpro_courses {
  border-bottom: 5px solid #CCC;
  border-top: 5px solid #CCC;
  margin: 30px 0;
  padding: 15px 0 0 0;
}

.pmpro_courses .pmpro_courses-title {
  margin: 0;
  padding: 0;
  text-transform: uppercase;
}

.pmpro_courses ol.pmpro_courses-list {
  list-style-type: decimal;
  list-style-position: inside;
  margin: 15px 0 0 0;
  padding: 0;
}

.pmpro_courses ul.pmpro_courses-list {
  list-style-type: none;
  margin: 15px 0 0 0;
  padding: 0;
}

.pmpro_courses ol.pmpro_courses-list li.pmpro_courses-list-item,
.pmpro_courses ul.pmpro_courses-list li.pmpro_courses-list-item {
  border-top: 1px solid #CCC;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmpro_courses.pmpro-courses-no-access ol.pmpro_courses-list li.pmpro_courses-list-item,
.pmpro_courses.pmpro-courses-no-access ul.pmpro_courses-list li.pmpro_courses-list-item {
  padding: 15px 3px;
}

.pmpro_courses ol.pmpro_courses-list li.pmpro_courses-list-item h4.pmpro_courses-list-item-title,
.pmpro_courses ul.pmpro_courses-list li.pmpro_courses-list-item h4.pmpro_courses-list-item-title {
  margin: 0;
  padding: 0;
}

/* Course-specific list styles */
.pmpro_courses-courses ul.pmpro_courses-list li.pmpro_courses-list-item .pmpro_courses-list-item-link {
  border: none;
  display: grid;
  grid-column-gap: 5px;
  grid-template-areas: "lessonTitle lessonCount";
  grid-template-columns: auto 100px;
  padding: 15px 3px;
  text-decoration: none;
}

.pmpro_courses-courses ul.pmpro_courses-list li.pmpro_courses-list-item a.pmpro_courses-list-item-link:hover .pmpro_courses-list-item-title {
  text-decoration: underline;
}

.pmpro_courses-courses ul.pmpro_courses-list li.pmpro_courses-list-item .pmpro_courses-list-item-title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  align-self: center;
  grid-area: lessonTitle;
}

.pmpro_courses-courses ul.pmpro_courses-list li.pmpro_courses-list-item .pmpro_courses-course-lesson-count {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  align-self: center;
  color: #666;
  grid-area: lessonCount;
}

/* Lesson-specific list styles */
.pmpro_courses-lessons ol.pmpro_courses-list li.pmpro_courses-list-item .pmpro_courses-list-item-link {
  border: none;
  display: grid;
  grid-column-gap: 5px;
  grid-template-areas: "lessonTitle lessonStatus";
  grid-template-columns: auto 50px;
  padding: 15px 3px;
  text-decoration: none;
}

.pmpro_courses-lessons ol.pmpro_courses-list li.pmpro_courses-list-item .pmpro_courses-list-item-link:hover .pmpro_courses-list-item-title {
  text-decoration: underline;
}

.pmpro_courses-lessons ol.pmpro_courses-list li.pmpro_courses-list-item .pmpro_courses-list-item-title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  align-self: center;
  grid-area: lessonTitle;
}

.pmpro_courses-lessons ol.pmpro_courses-list li.pmpro_courses-list-item .pmpro_courses-lesson-status {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  align-self: center;
  grid-area: lessonStatus;
}

/* Additional content added to single Lesson page */
.pmpro_courses_lesson-status,
.pmpro_courses_lesson-back-to-course {
  margin: 30px 0;
}

header {
  line-height: 1.2;
}

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

.text-uppercase {
  text-transform: uppercase;
}

.text-balance {
  text-wrap: balance;
}

.text-underline {
  text-decoration: underline;
}

.display {
  font-size: clamp(2rem, 6vw, 4.5rem);
  font-weight: 1000;
  letter-spacing: -1px;
  line-height: 1.1;
  text-wrap: balance;
}

.subdisplay {
  border-top: 1px solid #ccc;
  margin-top: 1rem;
  padding-top: 1rem;
  font-size: var(--font-size-lg);
  line-height: 1.5;
  font-weight: var(--font-weight-normal);
  text-wrap: pretty;
}
.subdisplay.centered {
  max-width: 40ch;
  margin-inline: auto;
}

.display-sm {
  font-size: calc(1.2 * var(--font-size-md));
  text-wrap: balance;
  line-height: 1.2;
  font-weight: var(--font-weight-black);
}

.display-md {
  font-size: var(--font-size-xxl);
  text-wrap: balance;
  line-height: 1.2;
  font-weight: var(--font-weight-black);
}

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

.fz-mds {
  font-size: calc(0.8 * var(--font-size-md));
}

.fz-md {
  font-size: var(--font-size-md);
}

.fz-mdl {
  font-size: var(--font-size-mdl);
}

.fz-lg {
  font-size: var(--font-size-lg);
}

.fz-xl {
  font-size: var(--font-size-xl);
}

.fz-xxl {
  font-size: var(--font-size-xxl);
}

.fz-xxxl {
  font-size: var(--font-size-xxxl);
}

.fw-bold {
  font-weight: var(--font-weight-bold);
}

.fw-semibold {
  font-weight: var(--font-weight-semibold);
}

.fw-light {
  font-weight: var(--font-weight-light);
}

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

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

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

.sr-only,
.visually-hidden {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.sr-only:not(caption),
.visually-hidden:not(caption) {
  position: absolute !important;
}

.mb-lg {
  margin-bottom: var(--spacer-16);
}

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

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

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

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

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

.mt-6 {
  margin-top: var(--spacer-6);
}

.mt-7 {
  margin-top: var(--spacer-7);
}

.mt-8 {
  margin-top: var(--spacer-8);
}

.mt-9 {
  margin-top: var(--spacer-9);
}

.mt-10 {
  margin-top: var(--spacer-10);
}

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

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

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

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

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

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

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

.mb-8 {
  margin-bottom: var(--spacer-8);
}

.mb-9 {
  margin-bottom: var(--spacer-9);
}

.mb-10 {
  margin-bottom: var(--spacer-10);
}

.pb-1 {
  padding-bottom: var(--spacer-1);
}

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

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

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

.pb-5 {
  padding-bottom: var(--spacer-5);
}

.pb-6 {
  padding-bottom: var(--spacer-6);
}

.pb-7 {
  padding-bottom: var(--spacer-7);
}

.pb-8 {
  padding-bottom: var(--spacer-8);
}

.pb-9 {
  padding-bottom: var(--spacer-9);
}

.pb-10 {
  padding-bottom: var(--spacer-10);
}

.border-bottom--inner {
  border-bottom: 1px solid hsla(0, 0%, 67%, 0.51);
  background-clip: padding-box;
}

.d-none {
  display: none !important;
}

@media (max-width: 1040px) {
  .d-none-sm {
    display: none !important;
  }
}

.grid-50 {
  display: grid;
  gap: var(--spacer-row);
}
.grid-50 > * {
  width: 100%;
}
@media (min-width: 768px) {
  .grid-50 {
    grid-template-columns: 1fr 1fr;
  }
}

.grid-66 {
  display: grid;
  grid-template-columns: 1fr min(350px, 100%);
}

.grid.has-sidebar {
  gap: var(--spacer-row);
  grid-template-areas: "main" "sidebar";
}
@media (min-width: 1040px) {
  .grid.has-sidebar {
    grid-template-columns: 1fr min(300px, 100%);
    grid-template-areas: "main sidebar";
  }
}
.grid.has-sidebar > .main {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: main;
}
.grid.has-sidebar > .sidebar {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: sidebar;
}
@media (min-width: 1040px) {
  .grid.has-sidebar.grid-400 {
    grid-template-columns: 1fr min(400px, 100%);
  }
}
.grid.has-sidebar.sidebar-left {
  grid-template-columns: min(400px, 100%) 1fr;
  grid-template-areas: "sidebar main";
}

.flex-row {
  display: flex;
  flex-wrap: wrap;
}
.flex-row.centered {
  justify-content: center;
}
.flex-row.space-evenly {
  justify-content: space-evenly;
}

.grid {
  display: grid;
}
.grid.vertical-grid {
  row-gap: var(--spacer-row);
}
.grid.has-sidebar {
  gap: var(--spacer-row);
}

.has-shadow {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}

.grid-300, .grid-450 {
  display: grid;
  gap: 2rem;
  align-items: start;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--minWidth, 300px), 100%), 1fr));
}

.grid-300 {
  --minWidth: 300px;
}

.grid-450 {
  --minWidth: 450px;
}

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

.page-content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "main";
}
.has-sidebar .page-content {
  grid-template-areas: "main" "sidebar";
  grid-template-columns: 1fr 200px;
}
.page-content main {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: main;
}
@media (min-width: 1040px){
  .grid.has-sidebar > .main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .grid.has-sidebar > .sidebar {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .page-content main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
.page--about-jim .landing {
  background-size: cover !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.about-jim-hero-grid {
  padding-block: var(--spacer-16);
  display: grid;
  grid-template-columns: 0.5fr 0.8fr;
  gap: var(--spacer-16);
  margin-bottom: 0;
}

.single-pmpro_course .sidebar {
  align-self: start;
}
.single-pmpro_course .entry-content .course__lessons {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacer-16);
}
.single-pmpro_course .entry-content .course__lessons .accordion-items {
  padding: 0;
  margin: 0;
  display: grid;
  row-gap: var(--spacer-1);
}
.single-pmpro_course .entry-content aside {
  display: grid;
  gap: var(--spacer-16);
}

.single-pmpro_lesson .page-content {
  margin-top: 0;
}
.single-pmpro_lesson .lesson-content {
  padding-inline: var(--spacer-2);
}
.single-pmpro_lesson .lesson-title {
  margin-top: var(--spacer-8);
  font-size: var(--font-size-xl);
  line-height: 1.2;
  font-weight: var(--font-weight-bold);
  text-wrap: initial;
}
.single-pmpro_lesson .pmpro_courses_lesson-status,
.single-pmpro_lesson .pmpro_courses_lesson-back-to-course {
  text-align: right;
}
.single-pmpro_lesson .pmpro_courses_lesson-status p {
  display: inline-block;
  font-size: var(--font-size-sm);
  background: var(--primary-300);
  padding: 0.5em 1em;
  border-radius: var(--radius-sm);
}
.single-pmpro_lesson .lesson-navigation {
  font-size: 1rem;
  padding: 10px;
}
.single-pmpro_lesson .lesson-navigation .nav-links {
  display: flex;
  justify-content: space-between;
  gap: var(--spacer-2);
}
.single-pmpro_lesson .lesson-navigation .nav-links .nav-previous {
  text-align: left;
  margin-right: auto;
}
.single-pmpro_lesson .lesson-navigation .nav-links .nav-next {
  margin-left: auto;
  text-align: right;
}
.single-pmpro_lesson .sidebar {
  align-self: start;
}

@media (min-width: 768px) {
  .post-type-archive-testimonial .grid > section {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .post-type-archive-testimonial .grid > section .testimonial--inner {
    height: 100%;
    align-content: start;
  }
}
@media (min-width: 1040px) {
  .post-type-archive-testimonial .grid > section {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-content: start;
  }
  .post-type-archive-testimonial .grid > section .testimonial--inner {
    height: auto;
  }
}

.page--membership-account .pmpro_list,
.page--membership-account .pmpro_courses-list {
  list-style-type: none;
  padding: 0;
}
.page--membership-account a.pmpro_courses-list-item-link {
  display: flex;
  justify-content: space-between;
  text-decoration: none;
  border-bottom: 1px solid;
  padding-block: 1rem 0rem;
}

/* 404 Page Styling */
.error-404-container {
  text-align: center;
  padding-inline: 50px;
  padding-block: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.error-404-content h1 {
  font-size: var(--font-size-xxxxl, 120px);
  color: #d32f2f;
  margin: 0;
  line-height: 1;
}

.error-404-content h2 {
  font-size: var(--font-size-lg, 36px);
  color: #333;
  margin-bottom: 20px;
}

.error-404-content p {
  font-size: var(--font-size-base, 18px);
  color: #666;
  max-width: 600px;
  margin: 0 auto 30px;
}

.error-404-content a {
  display: inline-block;
  padding: 12px 30px;
  background-color: var(--primary-400, #1976d2);
  color: #fff;
  text-decoration: none;
  border-radius: var(--radius-sm);
  font-weight: bold;
  transition: background-color 0.3s;
}

.error-404-content a:hover {
  background-color: #1565c0;
}

.site-header {
  position: relative;
  z-index: 100;
}
.site-header a:not(.brand) {
  text-decoration: none;
  text-transform: uppercase;
  font-weight: var(--font-weight-normal);
}
.site-header .mobile-nav-toggle {
  z-index: 9999;
}
.site-header .navbar-menu .secondary-menu li {
  border-bottom: 1px solid transparent;
}
.site-header .navbar-menu .secondary-menu li.current-menu-item {
  border-color: currentColor;
}
@media (min-width: 1040px) {
  .site-header .mobile-nav-toggle {
    display: none;
  }
}

@media (max-width: 1040px) {
  .site-navigation {
    min-width: 50%;
    left: 0;
    height: 100%;
    top: 0;
    position: fixed;
    background: var(--primary-400);
    transition: transform 0.2s ease-out;
    transform: translatex(-100%);
    z-index: 10;
    padding-top: 3rem;
  }
  .is-active.site-navigation {
    transform: translatex(0);
  }
  .nav-menu {
    flex-direction: column;
    align-items: start;
  }
}
.menu-item-has-children {
  position: relative;
}
.menu-item-has-children .sub-menu {
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  border-radius: var(--radius-sm);
  position: absolute;
  background: white;
  left: 0;
  z-index: 10;
  transition: opacity 0.2s;
}
.menu-item-has-children:hover .sub-menu {
  --color: var(--primary);
  --secondary-color: var(--primary-100);
  visibility: visible;
  opacity: 1;
  width: 225px;
  display: block;
  z-index: 100;
  box-shadow: 0 0 16px #333;
  border: 1px solid var(--primary-100);
}
.menu-item-has-children:hover .sub-menu li {
  width: 100%;
  font-size: calc(var(--font-size-base) * 0.85);
  color: var(--color);
  transition: background-color 0.2s, color 0.2s;
}
.menu-item-has-children:hover .sub-menu li:hover {
  background: var(--color);
  color: var(--secondary-color);
}
.menu-item-has-children:hover .sub-menu a {
  display: block;
  padding: 1ch;
  color: currentColor;
}

.button {
  --bg: var(--primary);
  --color: var(--primary-100);
  --border-color: var(--primary-200);
  --hover-bg: var(--primary-200);
  --hover-color: var(--primary-100);
  --active-bg: var(--primary-300);
  --active-color: var(--primary-100);
  display: inline-block;
  color: var(--color);
  background: var(--bg);
  border: 1px solid var(--border-color);
  text-decoration: none;
  padding: 0.8em 1.3em;
  transition: all 0.2s ease-in-out;
  line-height: 1.2;
  border-radius: var(--radius-md);
  box-shadow: 0.1em 0.1em 0 rgba(255, 255, 255, 0.5);
  outline: none;
  cursor: pointer;
  font-weight: var(--font-weight-extrabold);
  text-transform: uppercase;
}
.button:hover {
  --bg: var(--hover-bg);
  --color: var(--hover-color);
}
.button:active, .button:focus {
  --bg: var(--active-bg);
  --color: var(--active-color);
}
.button.primary {
  --bg: var(--primary);
  --color: var(--primary-100);
  --border-color: var(--primary-200);
  --hover-bg: var(--primary-200);
  --hover-color: var(--primary-100);
  --active-bg: var(--primary-300);
  --active-color: var(--primary-100);
}
.button.secondary {
  --bg: var(--accent);
  --color: var(--primary);
  --border-color: var(--accent-200);
  --hover-bg: var(--accent-200);
  --hover-color: var(--accent-100);
  --active-bg: var(--accent-300);
  --active-color: var(--accent-100);
}
.button.tertiary {
  --bg: var(--tertiary);
  --color: var(--tertiary-100);
  --border-color: var(--tertiary-200);
  --hover-bg: var(--tertiary-200);
  --hover-color: var(--tertiary-100);
  --active-bg: var(--tertiary-300);
  --active-color: var(--tertiary-100);
}
.button.hollow {
  --bg: transparent;
  box-shadow: none;
  --hover-bg: var(--primary-200);
  --hover-color: var(--primary);
  --active-bg: var(--primary-300);
  --active-color: var(--primary);
}
.button.hollow:hover {
  --bg: var(--hover-bg);
  --color: var(--hover-color);
}
.button.hollow:active, .button.hollow:focus {
  --bg: var(--active-bg);
  --color: var(--active-color);
}

.button.large {
  font-size: 1.2em;
  padding: 0.8em 1.3em;
}

.button.small,
.button.sm {
  font-size: 0.8em;
  font-weight: var(--font-weight-normal);
  padding: 0.3em 1.2em;
}

.button.pill {
  border-radius: 50px;
}

.button.rounded {
  border-radius: 1.5em;
}

.button.circle {
  border-radius: 50%;
}

.button.text {
  color: currentColor;
  background: transparent;
  border: none;
  box-shadow: none;
  display: flex;
  align-items: center;
  gap: var(--spacer-2);
  font-weight: var(--font-weight-normal);
  padding: 0;
  text-decoration: none;
  display: inline;
}
.button.text:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.button.text.icon .icon {
  width: 24px;
}
.button.text.icon .icon svg {
  width: 100%;
}

.button.disabled,
.button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.lesson-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacer-2);
  padding: var(--spacer-2);
  border-radius: var(--radius-md);
  background: var(--primary-200);
  color: var(--primary);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  font-size: var(--font-size-sm);
}
.lesson-button:hover {
  background: var(--primary-100);
  color: var(--primary);
}

.lesson-button.active {
  background: var(--primary);
  color: var(--primary-100);
}

.back-to-top {
  width: 3rem;
  height: 3rem;
  border: none;
  background: none;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease-in-out;
  position: fixed;
  bottom: var(--spacer-3);
  right: var(--spacer-3);
}
.back-to-top.active {
  opacity: 0.581;
  visibility: visible;
  z-index: 10;
}
.back-to-top.active:hover {
  opacity: 1;
  cursor: pointer;
}

.landing {
  background-size: cover !important;
  background-repeat: no-repeat;
  position: relative;
}
.landing.container {
  padding: 0;
}
.landing .bg-gradient {
  overflow: hidden;
  position: absolute;
  inset: 0;
  border-radius: var(--radius-lg);
  mix-blend-mode: multiply;
}

.hero {
  container-type: inline-size;
}

.hero-grid {
  --column_order: 1fr max(275px, 30cqi);
  --grid-areas: "hero-copy hero-image";
  padding-block: clamp(1rem, 3vw, 4rem);
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: var(--spacer-16);
  margin-bottom: 0;
}
.hero-grid.copy--right {
  --column_order: 33ch 1fr;
  --grid-areas: "hero-image hero-copy";
}
@media (min-width: 1040px) {
  .hero-grid {
    display: grid;
    text-align: left;
    grid-template-columns: var(--column_order);
    grid-template-areas: var(--grid-areas);
    justify-content: space-between;
  }
}

.hero-copy {
  grid-area: hero-copy;
  display: grid;
  grid-gap: var(--spacer-8);
  container-type: inline-size;
  width: 100%;
  position: relative;
}

.hero-title {
  line-height: 1;
  text-transform: none;
  font-size: clamp(2rem, 11cqi, 5.5rem);
  font-weight: 1000;
  letter-spacing: -1px;
  margin-bottom: 0;
  text-wrap: balance;
}

.hero-title--accent2 {
  font-size: 1.55em;
  font-weight: 900;
}

.hero-title--line1 {
  font-size: 0.6em;
  font-weight: 600;
}

.hero-subtitle {
  font-size: var(--font-size-md);
  line-height: 1.5;
  font-weight: var(--font-weight-normal);
}
@media (min-width: 576px) {
  .hero-subtitle {
    text-wrap: balance;
  }
}
.hero-image {
  grid-area: hero-image;
  position: relative;
  container-type: inline-size;
}

.hero-image-container {
  background: none;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 0;
  display: flex;
  align-items: end;
  justify-content: center;
}
@media (min-width: 1040px) {
  .hero-image-container {
    --background: var(--text-color);
    inset: 0;
    background: var(--background);
    background-size: 100%;
    aspect-ratio: 2/3;
    position: absolute;
    box-shadow: 2px 2px 12px #222, 2px 2px 12px hsla(0, 0%, 100%, 0.31);
  }
}

.hero__background {
  position: absolute;
  inset: 0;
  background: var(--background);
  background-size: cover;
  border-radius: var(--radius-lg);
  background-blend-mode: multiply;
  background-position: center;
  opacity: 0.4;
  filter: blur(0.1rem);
}
@media (min-width: 1040px) {
  .hero__background {
    opacity: 1;
    filter: none;
  }
}

.hero-image-overlay {
  padding-inline: var(--spacer-2);
}
.hero-image-overlay .button {
  display: inline;
  text-shadow: 1px 1px 5px black;
}
.hero-image-overlay .button .icon {
  display: inline-block;
}

.site-header > a {
  margin: calc(var(--spacing) * -0.125) calc(var(--spacing) * -0.25);
  padding: calc(var(--spacing) * 0.125) calc(var(--spacing) * 0.25);
  border-radius: var(--border-radius);
  text-decoration: none;
}
.site-footer .flex-row {
  gap: var(--spacer-row);
}
.site-footer a {
  color: var(--primary-100);
  text-decoration: none;
}

.icon-stats {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--spacer-16);
  -moz-column-gap: var(--spacer-8);
       column-gap: var(--spacer-8);
}
@media (min-width: 768px) {
  .icon-stats {
    row-gap: 0;
    justify-content: space-evenly;
  }
}

.icon-stat {
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
  gap: var(--spacer-5);
  flex: 40%;
  text-align: center;
}
@media (min-width: 768px) {
  .icon-stat {
    flex: auto;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
}
.icon-stat .icon {
  color: var(--color-text);
}
.icon-stat svg {
  fill: currentColor;
  stroke: currentColor;
}

.lessons-list {
  padding: var(--spacer-8);
  background: var(--primary-300);
  border-radius: var(--radius-md);
  width: 100%;
  position: relative;
}

.inner-lessons-list {
  max-height: 100%;
  overflow: auto;
  align-content: start;
}
.inner-lessons-list ::marker {
  font-size: 0.8rem;
}
.inner-lessons-list .lesson-items {
  padding: 0;
  margin: 0;
  display: grid;
  row-gap: var(--spacer-1);
}

.lesson-item-wrap {
  font-size: calc(0.6 * var(--font-size-sm));
  margin-bottom: 0;
  list-style: none;
  padding-block: var(--spacer-3);
}

.lesson-title-wrap {
  display: flex;
  align-items: center;
  gap: var(--spacer-2);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  align-items: start;
  justify-content: space-between;
  margin-bottom: 0;
  cursor: pointer;
}
.lesson-title-wrap .is-open {
  color: var(--white);
}
.lesson-title-wrap .lesson-title {
  margin-right: auto;
  text-wrap: initial;
}

.lesson-icon {
  display: inline-block;
  width: 1rem;
}

.icon-caret {
  transition: transform 0.2s ease-in-out;
}
.is-open .icon-caret {
  transform: rotatex(180deg);
}

.inner-lessons-list {
  row-gap: var(--spacer-2);
}

.lesson-description p:first-of-type {
  margin-top: var(--spacer-2);
}
.lesson-description p:empty {
  display: none;
}

.accordion-trigger {
  margin-bottom: 0;
}

.accordion {
  transition: height 0.3s ease-in-out;
}
.accordion > .accordion-content {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-in-out;
}
.testimonials {
  display: grid;
  gap: var(--spacer-16);
}

.testimonial {
  container-type: inline-size;
  container-name: testimonial;
}

.testimonial--inner {
  background: var(--primary-200);
  border-radius: var(--radius-md);
  padding: min(8cqi, var(--spacer-16));
  display: grid;
  grid-template-columns: 1fr;
  -moz-column-gap: var(--spacer-16);
       column-gap: var(--spacer-16);
  box-shadow: var(--shadow-sm);
  align-items: center;
}
@container (min-width: 700px) {
  .testimonial--inner {
    font-size: clamp(1rem, 2.6cqi, 3rem);
    grid-template-columns: max(40%, 300px) 1fr;
  }
}
.source--general .testimonial--inner {
  grid-template-columns: 1fr;
}
.testimonial--inner .testimonial-quote {
  font-weight: var(--font-weight-semibold);
}
.testimonial--inner .testimonial-quote:before, .testimonial--inner .testimonial-quote:after {
  content: "“";
  font-size: var(--font-size-lg);
  color: var(--accent-100);
  margin-right: var(--spacer-2);
}
.testimonial--inner .testimonial-quote:after {
  content: "”";
}

.testimonial-image {
  width: clamp(250px, 39cqi, 400px);
  margin-inline: auto;
}
.testimonial-image img {
  width: 100%;
  border-radius: 50%;
}
.testimonial-image figcaption {
  margin-top: var(--spacer-2);
  text-align: right;
  color: var(--bs-gray);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-light);
  text-wrap: pretty;
}
.testimonial-image figcaption p {
  margin-bottom: 0;
}
.testimonial-image figcaption .testimonial-caption-2 {
  font-size: 0.88em;
  font-style: italic;
}

.testimonial-citation {
  text-align: right;
  font-size: var(--font-size-sm);
  margin-top: var(--spacer-4);
}
.testimonial-citation cite {
  display: block;
}
.testimonial-citation .testimonial-citation-name {
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacer-2);
}
.testimonial-citation .testimonial-citation-name:before {
  content: "—";
  margin-right: var(--spacer-2);
  color: var(--bs-gray);
  font-weight: var(--font-weight-light);
}
.testimonial-citation .testimonial-citation-title {
  color: var(--bs-gray);
}

.testimonial-quote {
  position: relative;
}
.testimonial-quote:after, .testimonial-quote::before {
  position: absolute;
  text-shadow: 1px 1px 0px #a7a7a7;
}
.testimonial-quote::before {
  transform: translatex(-0.91ch) translatey(-0.1ch);
}
.testimonial-quote::after {
  transform: translatex(0.25ch) translatey(-0.1ch);
}

.post-type-archive-testimonial .testimonial-quote {
  line-height: 1;
  position: relative;
}
.post-type-archive-testimonial .grid > section {
  display: grid;
  gap: 2rem;
}

.how-this-works-steps {
  display: grid;
  gap: var(--spacer-16);
}

@media (min-width: 576px) {
  .how-this-works-step {
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    grid-template-areas: "count title" ".      content";
  }
}

.how-this-works-step-title {
  grid-area: title;
  line-height: 1.1;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacer-2);
}

.how-this-works-step-description {
  grid-area: content;
}
.how-this-works-step-description p {
  font-size: var(--font-size-md);
  line-height: 1.5;
}
.how-this-works-step-description p:last-of-type {
  margin-bottom: 0;
}

.how-this-works-step-cta {
  margin-top: 1rem;
}

.how-this-works-step-price {
  text-align: right;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  order: 1;
}
@media (min-width: 768px) {
  .how-this-works-step-price {
    order: 0;
  }
}

.how-this-works-step-benefits li {
  line-height: 1.2;
  margin-bottom: var(--spacer-2);
}
.pricing {
  margin-block: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--spacer-8);
  padding: var(--spacer-8);
}
@media (min-width: 768px) {
  .pricing {
    flex-direction: row;
  }
}
.pricing:empty {
  display: none;
}

.step-count {
  display: none;
  grid-area: count;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-lg);
  --dim: var(--spacer-12);
  line-height: 1;
  border-radius: 50%;
  aspect-ratio: 1;
  width: var(--dim);
  height: var(--dim);
  background: var(--primary-200);
  color: var(--primary-400);
  place-items: center;
}

@media (min-width: 576px){
  .how-this-works-step-title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .how-this-works-step-description {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .step-count {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
@media (min-width: 576px) {
  .step-count {
    display: grid;
  }
}

.student-types {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 0.5fr));
  gap: var(--spacer-16);
}

.student-type {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  justify-content: center;
  text-align: center;
}
.student-type footer {
  transform: translatey(10px);
}

.student-type-image {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 0;
}
.student-type-image img {
  width: 100%;
}
.student-type-image .hover_el {
  opacity: 0;
  transition: opacity 0.25s;
  padding: var(--spacer-4);
  background: rgba(var(--primary-rgb), 0.75);
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  inset: 0;
  font-size: calc(1.2 * var(--font-size-sm));
}
.student-type-image:hover .hover_el {
  opacity: 1;
}

.post-type-archive-faq .page-title {
  text-align: center;
  display: none;
}
.post-type-archive-faq .type-faq {
  background: var(--primary-200);
  padding: 2rem;
  border-radius: var(--radius-lg);
}
.post-type-archive-faq .type-faq p {
  font-size: var(--font-size-sml);
}
.post-type-archive-faq .type-faq p:last-of-type {
  margin-bottom: 0;
}
.faq__category-header {
  width: 100%;
  font-size: var(--font-size-md);
  border-bottom: 1px solid #c7c7c7;
}

.faq__entry-header {
  margin-bottom: var(--spacer-2);
}

.faq__category:not(:first-of-type) {
  margin-top: 5rem;
}

form input,
form button {
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  box-shadow: none;
  border: 1px solid currentColor;
}

.with_frm_style {
  --title-margin-top: 0;
  --title-margin-bottom: 0;
  --form-desc-size: 1.2rem;
  --form-desc-margin-bottom: 1rem;
}
.with_frm_style .frm_rootline_group {
  margin-top: 0;
}
.with_frm_style .frm_form_title,
.with_frm_style .frm_description {
  width: 40rem;
  margin-inline: auto;
  max-width: 100%;
}

.modal .frm_fields_container {
  padding-top: 2rem;
  border-top: 1px solid #ccc;
}

.responsive-media-wrapper {
  position: relative;
  aspect-ratio: var(--aspect-ratio);
}
.responsive-media-wrapper.has-radius {
  overflow: hidden;
  border-radius: var(--radius-lg);
}
.responsive-media-wrapper > iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.responsive-media-container {
  position: relative;
}

.restricted-video-overlay {
  background-color: hsla(0, 0%, 100%, 0.85);
  color: white;
  font-size: 1.5rem;
  padding: 1rem;
  text-align: center;
  position: absolute;
  inset: 0;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.25s ease-in-out;
}
.restricted-video-overlay .inner-container {
  padding: 1rem;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: black;
  font-weight: 800;
  line-height: 1.2;
}
.responsive-media-container:hover .restricted-video-overlay {
  opacity: 1;
}

.responsive-media-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wp-block-embed.alignleft, .wp-block-embed.alignright,
.wp-block-embed .alignleft,
.wp-block-embed .alignright {
  max-width: initial;
  width: 100%;
}
@media (min-width: 768px) {
  .wp-block-embed.alignleft, .wp-block-embed.alignright,
  .wp-block-embed .alignleft,
  .wp-block-embed .alignright {
    max-width: 45%;
  }
}

[data-micromodal-trigger] {
  cursor: pointer;
}

.widget-area .sidebar-container {
  margin-top: var(--spacer-4);
}
.widget-area .sidebar-container:first-of-type {
  margin-top: 0;
}
.widget-area .testimonial + .testimonial {
  margin-block: 1rem;
}

ul.no-bullets, ul.no-bullet {
  list-style: none;
  padding: 0;
  margin: 0;
}

.container--tabs {
  margin-top: 2rem;
}
.container--tabs .nav-tabs {
  list-style-type: none;
  display: flex;
  margin-bottom: 0;
}
.container--tabs .nav-tabs > li {
  margin-bottom: -1px;
}
.container--tabs .nav-tabs > li > a {
  float: left;
  margin-right: 2px;
  line-height: 1.42857143;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
}
.container--tabs .nav-tabs > li > a:hover {
  border-color: #eee #eee #ddd;
}
.container--tabs .nav-tabs > li.active > a,
.container--tabs .nav-tabs > li.active > a:hover,
.container--tabs .nav-tabs > li.active > a:focus {
  color: #555;
  cursor: default;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
}
.container--tabs .tab-content > .tab-pane {
  display: none;
  border: 1px solid #ccc;
  border-radius: var(--radius-sm);
}
.container--tabs .tab-content > .tab-pane.active {
  display: block;
  padding: 2.5% 3.5%;
  background-color: hsl(225, 59%, 98%);
}
.container--tabs .tab-content > .active {
  display: block;
}

.comments-area {
  font-size: var(--font-size-sm);
}
.comments-area .comment-list {
  list-style-type: none;
  font-size: 0.9rem;
  margin-top: 2em;
  list-style-type: none;
  padding-left: 0;
}
.comments-area .comment-body {
  border: 1px solid #ccc;
  padding: 1rem;
  margin-top: 0.75em;
  border-radius: var(--radius-sm);
}
.comments-area .comment-body p:last-of-type {
  margin-bottom: 0;
}
.comments-area .reply {
  text-align: right;
}
.comments-area .comment-meta img {
  display: none;
}
.comments-area .comment-metadata {
  display: none;
}
.comments-area .comment-form-comment textarea {
  width: 100%;
  padding: 0.5em 1em;
  height: 100px;
}
.comments-area .comment-content {
  padding: 1rem;
  margin-top: 0.75em;
}
.comments-area .comment-content p:last-of-type {
  margin-bottom: 0;
}
.comments-area .children {
  margin-top: 1em;
  list-style-type: none;
}
.comments-area .comment-respond {
  margin-top: 2em;
}
.comments-area .comment-content {
  padding: 0.5em 1em;
}
.comments-area .comment-reply-title small {
  padding-left: 2rem;
  font-size: 0.8rem;
}
.comments-area .comment-success, .comments-area .comment-hold {
  background: var(--body-color-dark);
  color: white;
  padding: 0.5rem;
  border-radius: var(--radius-lg);
  font-size: var(--font-size-sm);
  width: auto;
  display: inline-block;
  /* margin-inline: auto; */
  margin-left: auto;
  margin-top: -1rem;
}
.comments-area .comment-hold .comment-text {
  padding-left: 2rem;
}
.comments-area .comment-hold .comment-text a {
  color: var(--body-color-dark);
  text-decoration: underline;
}
.comments-area .comment-hold .comment-text a:hover {
  text-decoration: none;
}
.comments-area .comment-hold .comment-hold-notice {
  font-style: italic;
  padding-inline: 1rem;
  text-align: center;
  font-size: 0.8rem;
  font-style: italic;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 20px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 0.7;
}
.hamburger.is-active:hover {
  opacity: 0.7;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: white;
}

.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 40px;
  height: 4px;
  background-color: white;
  border-radius: 4px;
  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: -10px;
}
.hamburger-inner::after {
  bottom: -10px;
}

/*
 * Slider
 */
.hamburger--slider .hamburger-inner {
  top: 2px;
}
.hamburger--slider .hamburger-inner::before {
  top: 10px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}
.hamburger--slider .hamburger-inner::after {
  top: 20px;
}
.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}
.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-5.7142857143px, -6px, 0);
  opacity: 0;
}
.hamburger--slider.is-active .hamburger-inner::after {
  transform: translate3d(0, -20px, 0) rotate(-90deg);
}

.site-container {
  --body-spacer: var(--spacer-4);
  padding: var(--body-spacer);
  display: grid;
  grid-template-rows: min-content 1fr min-content;
  min-height: 100%;
  grid-template-columns: 100%;
  grid-auto-flow: row;
  grid-template-areas: "header" "body" "footer";
}

main > section {
  margin-block: var(--site-vertical-margin);
}
main > section:first-of-type {
  margin-top: 0;
}
main > section:last-of-type {
  margin-bottom: 0;
}

.site-header {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: header;
}

.site-main {
  margin-block: 2rem;
}
.home .site-main {
  margin-block: clamp(2rem, 9vw, 10rem);
}

.page-content {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: body;
  min-height: 100%;
  margin-top: 0;
}

.site-footer {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: footer;
}

.row {
  padding-inline: var(--spacer-row);
}

.container {
  --surface: var(--primary);
  --foreground: var(--primary-100);
  --container: var(--container-max, 65ch);
  padding-block: var(--spacer-16);
  background: var(--surface);
  width: 100%;
  border-radius: var(--radius-lg);
  color: var(--foreground);
  margin-inline: auto;
  text-wrap: pretty;
}
@media (min-width: 1040px) {
  .container {
    width: min(100% - 3rem, var(--container, 65ch));
  }
}
.container.narrow {
  --container-max: 60rem;
}
.container.bold {
  --surface: var(--primary-400);
  --foreground: var(--primary-100);
}
.container.no-padding {
  padding: 0;
}
.container.light-md {
  --surface: var(--primary-200);
  --foreground: var(--primary);
  --heading: var(--primary);
}
.container.bright {
  --surface: var(--accent);
  --foreground: var(--primary-400);
  --heading: var(--primary);
}
.container[data-theme=light], .container.light {
  padding-block: 0;
  --surface: var(--primary-100);
  --foreground: var(--primary);
}
.container[data-theme=light] .container, .container.light .container {
  --surface: var(--primary-100);
  --foreground: var(--primary);
}
.container[data-theme=light] a:not(.button), .container.light a:not(.button) {
  color: var(--primary);
}

.site-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  padding-block: clamp(2rem, 5vw, 3rem);
}
@media (min-width: 576px) {
  .site-header {
    align-items: end;
  }
}

.brand {
  width: 12ch;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--primary-100);
  line-height: 0.91;
  text-wrap: balance;
  display: inline-block;
  font-weight: 900;
  font-size: 1.2rem;
}
@media (min-width: 576px) {
  .brand {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    letter-spacing: -1.05px;
    width: 16ch;
  }
}
.brand:hover {
  color: var(--accent);
}

.navbar-menu .primary-menu a {
  font-weight: 600;
  --main-nav-link-color: var(--accent);
}
@media (max-width: 1040px) {
  .navbar-menu .primary-menu a {
    font-size: 2ch;
  }
}

.navbar-menu ul {
  list-style: none;
  display: flex;
  justify-content: end;
  margin: 0;
  padding: 0;
}
@media (min-width: 1040px) {
  .navbar-menu ul {
    gap: var(--spacer-6);
  }
}
.navbar-menu a {
  text-decoration: none;
  color: var(--main-nav-link-color);
}
@media (max-width: 1040px) {
  .navbar-menu a {
    padding: 0.5rem 1rem;
    display: inline-block;
  }
}
.navbar-menu a:hover {
  color: var(--main-nav-link-hover-color);
}
@media (min-width: 1040px) {
  .navbar-menu .secondary-menu a {
    font-size: var(--font-size-sm);
  }
}
/*!*****************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/overlayscrollbars/styles/overlayscrollbars.css ***!
  \*****************************************************************************************************************************************************************************************************************/
/*! 
 * OverlayScrollbars
 * Version: 2.10.1
 * 
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 * 
 * Released under the MIT license.
 */
.os-size-observer,
.os-size-observer-listener {
  scroll-behavior: auto !important;
  direction: inherit;
  pointer-events: none;
  overflow: hidden;
  visibility: hidden;
  box-sizing: border-box;
}

.os-size-observer,
.os-size-observer-listener,
.os-size-observer-listener-item,
.os-size-observer-listener-item-final {
  writing-mode: horizontal-tb;
  position: absolute;
  left: 0;
  top: 0;
}

.os-size-observer {
  z-index: -1;
  contain: strict;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: inherit;
  border: inherit;
  box-sizing: inherit;
  margin: -133px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: scale(0.1);
}
.os-size-observer::before {
  content: "";
  flex: none;
  box-sizing: inherit;
  padding: 10px;
  width: 10px;
  height: 10px;
}

.os-size-observer-appear {
  animation: os-size-observer-appear-animation 1ms forwards;
}

.os-size-observer-listener {
  box-sizing: border-box;
  position: relative;
  flex: auto;
  padding: inherit;
  border: inherit;
  margin: -133px;
  transform: scale(calc(1 / 0.1));
}
.os-size-observer-listener.ltr {
  margin-right: -266px;
  margin-left: 0;
}
.os-size-observer-listener.rtl {
  margin-left: -266px;
  margin-right: 0;
}
.os-size-observer-listener:empty::before {
  content: "";
  width: 100%;
  height: 100%;
}
.os-size-observer-listener:empty::before, .os-size-observer-listener > .os-size-observer-listener-item {
  display: block;
  position: relative;
  padding: inherit;
  border: inherit;
  box-sizing: content-box;
  flex: auto;
}

.os-size-observer-listener-scroll {
  box-sizing: border-box;
  display: flex;
}

.os-size-observer-listener-item {
  right: 0;
  bottom: 0;
  overflow: hidden;
  direction: ltr;
  flex: none;
}

.os-size-observer-listener-item-final {
  transition: none;
}

@keyframes os-size-observer-appear-animation {
  from {
    cursor: auto;
  }
  to {
    cursor: none;
  }
}
.os-trinsic-observer {
  flex: none;
  box-sizing: border-box;
  position: relative;
  max-width: 0px;
  max-height: 1px;
  padding: 0;
  margin: 0;
  border: none;
  overflow: hidden;
  z-index: -1;
  height: 0;
  top: calc(100% + 1px);
  contain: strict;
}
.os-trinsic-observer:not(:empty) {
  height: calc(100% + 1px);
  top: -1px;
}
.os-trinsic-observer:not(:empty) > .os-size-observer {
  width: 1000%;
  height: 1000%;
  min-height: 1px;
  min-width: 1px;
}

/**
 * hide native scrollbars
 * changes to this styles need to be reflected in the environment styles to correctly detect scrollbar hiding
 */
[data-overlayscrollbars-initialize],
[data-overlayscrollbars-viewport~=scrollbarHidden] {
  scrollbar-width: none !important;
}

[data-overlayscrollbars-initialize]::-webkit-scrollbar,
[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,
[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,
[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner {
  -webkit-appearance: none !important;
          appearance: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/**
 * elements wont suddenly clip after initialization is done
 */
[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
  overflow: auto;
}

/**
 * applied to body 
 */
html[data-overlayscrollbars-body] {
  overflow: hidden;
}

html[data-overlayscrollbars-body],
html[data-overlayscrollbars-body] > body {
  width: 100%;
  height: 100%;
  margin: 0;
}

html[data-overlayscrollbars-body] > body {
  overflow: visible;
  margin: 0;
}

/**
 * structure setup 
 */
[data-overlayscrollbars] {
  position: relative;
}

[data-overlayscrollbars~=host],
[data-overlayscrollbars-padding] {
  display: flex;
  align-items: stretch !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  scroll-behavior: auto !important;
}

[data-overlayscrollbars-padding],
[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
  box-sizing: inherit;
  position: relative;
  flex: auto !important;
  height: auto;
  width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: none;
  z-index: 0;
}

[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
  --os-vaw: 0;
  --os-vah: 0;
  outline: none;
}
[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus {
  outline: none;
}
[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
  min-width: 1px;
  min-height: 1px;
  width: var(--os-vaw);
  height: var(--os-vah);
}

[data-overlayscrollbars],
[data-overlayscrollbars-padding],
[data-overlayscrollbars-viewport] {
  overflow: hidden !important;
}

[data-overlayscrollbars~=noClipping],
[data-overlayscrollbars-padding~=noClipping] {
  overflow: visible !important;
}

[data-overlayscrollbars-viewport~=measuring] {
  overflow: hidden !important;
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}

[data-overlayscrollbars-viewport~=overflowXVisible]:not([data-overlayscrollbars-viewport~=measuring]) {
  overflow-x: visible !important;
}

[data-overlayscrollbars-viewport~=overflowXHidden] {
  overflow-x: hidden !important;
}

[data-overlayscrollbars-viewport~=overflowXScroll] {
  overflow-x: scroll !important;
}

[data-overlayscrollbars-viewport~=overflowYVisible]:not([data-overlayscrollbars-viewport~=measuring]) {
  overflow-y: visible !important;
}

[data-overlayscrollbars-viewport~=overflowYHidden] {
  overflow-y: hidden !important;
}

[data-overlayscrollbars-viewport~=overflowYScroll] {
  overflow-y: scroll !important;
}

[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) {
  font-size: 0 !important;
  line-height: 0 !important;
}

[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,
[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,
[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) > * {
  display: none !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border-width: 0 !important;
}

[data-overlayscrollbars-viewport~=scrolling] {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}

[data-overlayscrollbars-content] {
  box-sizing: inherit;
}

/**
 * Display contents to bridge any flickering during deferred initialization.
 */
[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]) {
  display: contents;
}

/**
 * optional & experimental grid mode
 */
[data-overlayscrollbars-grid],
[data-overlayscrollbars-grid] [data-overlayscrollbars-padding] {
  display: grid;
  grid-template: 1fr/1fr;
}

[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding],
[data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport],
[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport] {
  height: auto !important;
  width: auto !important;
}

@property --os-scroll-percent {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}
@property --os-viewport-percent {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}
.os-scrollbar {
  --os-viewport-percent: 0;
  --os-scroll-percent: 0;
  --os-scroll-direction: 0;
  --os-scroll-percent-directional: calc(
    var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) *
      var(--os-scroll-direction)
  );
}

.os-scrollbar {
  contain: size layout;
  contain: size layout style;
  transition: opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;
  pointer-events: none;
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

body > .os-scrollbar {
  position: fixed;
  z-index: 99999;
}

.os-scrollbar-transitionless {
  transition: none !important;
}

.os-scrollbar-track {
  position: relative;
  padding: 0 !important;
  border: none !important;
}

.os-scrollbar-handle {
  position: absolute;
}

.os-scrollbar-track,
.os-scrollbar-handle {
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,
.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle {
  pointer-events: auto;
  touch-action: none;
}

.os-scrollbar-horizontal {
  bottom: 0;
  left: 0;
}

.os-scrollbar-vertical {
  top: 0;
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-horizontal {
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-vertical {
  right: auto;
  left: 0;
}

.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden {
  opacity: 0;
  visibility: hidden;
}

.os-scrollbar-interaction.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-unusable,
.os-scrollbar-unusable *,
.os-scrollbar-wheel,
.os-scrollbar-wheel * {
  pointer-events: none !important;
}

.os-scrollbar-unusable .os-scrollbar-handle {
  opacity: 0 !important;
  transition: none !important;
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  bottom: 0;
  left: calc(var(--os-scroll-percent-directional) * 100%);
  transform: translateX(calc(var(--os-scroll-percent-directional) * -100%));
  width: calc(var(--os-viewport-percent) * 100%);
}

.os-scrollbar-vertical .os-scrollbar-handle {
  right: 0;
  top: calc(var(--os-scroll-percent-directional) * 100%);
  transform: translateY(calc(var(--os-scroll-percent-directional) * -100%));
  height: calc(var(--os-viewport-percent) * 100%);
}

@supports (container-type: size) {
  .os-scrollbar-track {
    container-type: size;
  }
  .os-scrollbar-horizontal .os-scrollbar-handle {
    left: auto;
    transform: translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%));
  }
  .os-scrollbar-vertical .os-scrollbar-handle {
    top: auto;
    transform: translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%));
  }
  .os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle {
    right: auto;
    left: 0;
  }
}
.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
  right: auto;
  left: 0;
}

.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,
.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
  left: 0;
  right: 0;
}

.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,
.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
  top: 0;
  bottom: 0;
}

@media print {
  .os-scrollbar {
    display: none;
  }
}
.os-scrollbar {
  --os-size: 0;
  --os-padding-perpendicular: 0;
  --os-padding-axis: 0;
  --os-track-border-radius: 0;
  --os-track-bg: none;
  --os-track-bg-hover: none;
  --os-track-bg-active: none;
  --os-track-border: none;
  --os-track-border-hover: none;
  --os-track-border-active: none;
  --os-handle-border-radius: 0;
  --os-handle-bg: none;
  --os-handle-bg-hover: none;
  --os-handle-bg-active: none;
  --os-handle-border: none;
  --os-handle-border-hover: none;
  --os-handle-border-active: none;
  --os-handle-min-size: 33px;
  --os-handle-max-size: none;
  --os-handle-perpendicular-size: 100%;
  --os-handle-perpendicular-size-hover: 100%;
  --os-handle-perpendicular-size-active: 100%;
  --os-handle-interactive-area-offset: 0;
}

.os-scrollbar-track {
  border: var(--os-track-border);
  border-radius: var(--os-track-border-radius);
  background: var(--os-track-bg);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s;
}
.os-scrollbar-track:hover {
  border: var(--os-track-border-hover);
  background: var(--os-track-bg-hover);
}
.os-scrollbar-track:active {
  border: var(--os-track-border-active);
  background: var(--os-track-bg-active);
}

.os-scrollbar-handle {
  border: var(--os-handle-border);
  border-radius: var(--os-handle-border-radius);
  background: var(--os-handle-bg);
}
.os-scrollbar-handle:hover {
  border: var(--os-handle-border-hover);
  background: var(--os-handle-bg-hover);
}
.os-scrollbar-handle:active {
  border: var(--os-handle-border-active);
  background: var(--os-handle-bg-active);
}

.os-scrollbar-track:before,
.os-scrollbar-handle:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
}

.os-scrollbar-horizontal {
  padding: var(--os-padding-perpendicular) var(--os-padding-axis);
  right: var(--os-size);
  height: var(--os-size);
}
.os-scrollbar-horizontal.os-scrollbar-rtl {
  left: var(--os-size);
  right: 0;
}
.os-scrollbar-horizontal .os-scrollbar-track:before {
  top: calc(var(--os-padding-perpendicular) * -1);
  bottom: calc(var(--os-padding-perpendicular) * -1);
}
.os-scrollbar-horizontal .os-scrollbar-handle {
  min-width: var(--os-handle-min-size);
  max-width: var(--os-handle-max-size);
  height: var(--os-handle-perpendicular-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s;
}
.os-scrollbar-horizontal .os-scrollbar-handle:before {
  top: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  bottom: calc(var(--os-padding-perpendicular) * -1);
}
.os-scrollbar-horizontal:hover .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-hover);
}
.os-scrollbar-horizontal:active .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-active);
}

.os-scrollbar-vertical {
  padding: var(--os-padding-axis) var(--os-padding-perpendicular);
  bottom: var(--os-size);
  width: var(--os-size);
}
.os-scrollbar-vertical .os-scrollbar-track:before {
  left: calc(var(--os-padding-perpendicular) * -1);
  right: calc(var(--os-padding-perpendicular) * -1);
}
.os-scrollbar-vertical .os-scrollbar-handle {
  min-height: var(--os-handle-min-size);
  max-height: var(--os-handle-max-size);
  width: var(--os-handle-perpendicular-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s;
}
.os-scrollbar-vertical .os-scrollbar-handle:before {
  left: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  right: calc(var(--os-padding-perpendicular) * -1);
}
.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
  right: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  left: calc(var(--os-padding-perpendicular) * -1);
}
.os-scrollbar-vertical:hover .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-hover);
}
.os-scrollbar-vertical:active .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-active);
}

/* NONE THEME: */
[data-overlayscrollbars-viewport~=measuring] > .os-scrollbar,
.os-theme-none.os-scrollbar {
  display: none !important;
}

/* DARK & LIGHT THEME: */
.os-theme-dark,
.os-theme-light {
  box-sizing: border-box;
  --os-size: 10px;
  --os-padding-perpendicular: 2px;
  --os-padding-axis: 2px;
  --os-track-border-radius: 10px;
  --os-handle-interactive-area-offset: 4px;
  --os-handle-border-radius: 10px;
}

.os-theme-dark {
  --os-handle-bg: rgba(0, 0, 0, 0.44);
  --os-handle-bg-hover: rgba(0, 0, 0, 0.55);
  --os-handle-bg-active: rgba(0, 0, 0, 0.66);
}

.os-theme-light {
  --os-handle-bg: rgba(255, 255, 255, 0.44);
  --os-handle-bg-hover: rgba(255, 255, 255, 0.55);
  --os-handle-bg-active: rgba(255, 255, 255, 0.66);
}

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