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

.fi--arrow-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--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");
  }
}

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

.fi--minus, .accordion__title.active::after {
  mask-image: url("../img/icons/minus.svg");
}
@supports not (mask-image: url()) {
  .fi--minus, .accordion__title.active::after {
    background-image: url("../img/icons/minus.svg");
  }
}

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

.fi--youtube, lite-youtube > .lty-playbtn::after {
  mask-image: url("../img/icons/youtube.svg");
}
@supports not (mask-image: url()) {
  .fi--youtube, lite-youtube > .lty-playbtn::after {
    background-image: url("../img/icons/youtube.svg");
  }
}

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

/* purgecss end ignore */
/* Effect styles */
/* ----------------------------- Grid --------------------------- */
/* ------------------------------ Spacing: Sections & General ------------------------------- */
/* ------------------------------ Borders ------------------------------- */
/* ------------------------------ Buttons / Forms ------------------------------- */
/* ------------------------------ Header  ------------------------------- */
/* ------------------------------ Logo  ------------------------------- */
/* ------------------------------ Hero  ------------------------------ */
/* ------------------------------ Swiper  ------------------------------- */
/* ==============================
 * Abstracts | Root
 * ------------------------------ */
:root {
  /* -------------------------- COLORS --------------------------- */
  --primary: hsl(218, 86%, 23%);
  --clr-primary-50: oklch(
    from var(--primary)
    clamp(0, l + 0.4, 1)
    c
    h
  );
  --clr-primary-100: oklch(
    from var(--primary)
    clamp(0, l + 0.32, 1)
    c
    h
  );
  --clr-primary-200: oklch(
    from var(--primary)
    clamp(0, l + 0.24, 1)
    c
    h
  );
  --clr-primary-300: oklch(
    from var(--primary)
    clamp(0, l + 0.16, 1)
    c
    h
  );
  --clr-primary-400: oklch(
    from var(--primary)
    clamp(0, l + 0.08, 1)
    c
    h
  );
  --clr-primary-500: oklch(
    from var(--primary)
    clamp(0, l + 0, 1)
    c
    h
  );
  --clr-primary-600: oklch(
    from var(--primary)
    clamp(0, l + -0.08, 1)
    c
    h
  );
  --clr-primary-700: oklch(
    from var(--primary)
    clamp(0, l + -0.16, 1)
    c
    h
  );
  --clr-primary-800: oklch(
    from var(--primary)
    clamp(0, l + -0.24, 1)
    c
    h
  );
  --clr-primary-900: oklch(
    from var(--primary)
    clamp(0, l + -0.32, 1)
    c
    h
  );
  --secondary: hsl(139, 36%, 84%);
  --clr-secondary-50: oklch(
    from var(--secondary)
    clamp(0, l + 0.4, 1)
    c
    h
  );
  --clr-secondary-100: oklch(
    from var(--secondary)
    clamp(0, l + 0.32, 1)
    c
    h
  );
  --clr-secondary-200: oklch(
    from var(--secondary)
    clamp(0, l + 0.24, 1)
    c
    h
  );
  --clr-secondary-300: oklch(
    from var(--secondary)
    clamp(0, l + 0.16, 1)
    c
    h
  );
  --clr-secondary-400: oklch(
    from var(--secondary)
    clamp(0, l + 0.08, 1)
    c
    h
  );
  --clr-secondary-500: oklch(
    from var(--secondary)
    clamp(0, l + 0, 1)
    c
    h
  );
  --clr-secondary-600: oklch(
    from var(--secondary)
    clamp(0, l + -0.08, 1)
    c
    h
  );
  --clr-secondary-700: oklch(
    from var(--secondary)
    clamp(0, l + -0.16, 1)
    c
    h
  );
  --clr-secondary-800: oklch(
    from var(--secondary)
    clamp(0, l + -0.24, 1)
    c
    h
  );
  --clr-secondary-900: oklch(
    from var(--secondary)
    clamp(0, l + -0.32, 1)
    c
    h
  );
  --accent: hsl(8, 100%, 57%);
  --clr-accent-50: oklch(
    from var(--accent)
    clamp(0, l + 0.4, 1)
    c
    h
  );
  --clr-accent-100: oklch(
    from var(--accent)
    clamp(0, l + 0.32, 1)
    c
    h
  );
  --clr-accent-200: oklch(
    from var(--accent)
    clamp(0, l + 0.24, 1)
    c
    h
  );
  --clr-accent-300: oklch(
    from var(--accent)
    clamp(0, l + 0.16, 1)
    c
    h
  );
  --clr-accent-400: oklch(
    from var(--accent)
    clamp(0, l + 0.08, 1)
    c
    h
  );
  --clr-accent-500: oklch(
    from var(--accent)
    clamp(0, l + 0, 1)
    c
    h
  );
  --clr-accent-600: oklch(
    from var(--accent)
    clamp(0, l + -0.08, 1)
    c
    h
  );
  --clr-accent-700: oklch(
    from var(--accent)
    clamp(0, l + -0.16, 1)
    c
    h
  );
  --clr-accent-800: oklch(
    from var(--accent)
    clamp(0, l + -0.24, 1)
    c
    h
  );
  --clr-accent-900: oklch(
    from var(--accent)
    clamp(0, l + -0.32, 1)
    c
    h
  );
  --dark: hsl(0, 2%, 16%);
  --clr-dark-50: oklch(
    from var(--dark)
    clamp(0, l + 0.4, 1)
    c
    h
  );
  --clr-dark-100: oklch(
    from var(--dark)
    clamp(0, l + 0.32, 1)
    c
    h
  );
  --clr-dark-200: oklch(
    from var(--dark)
    clamp(0, l + 0.24, 1)
    c
    h
  );
  --clr-dark-300: oklch(
    from var(--dark)
    clamp(0, l + 0.16, 1)
    c
    h
  );
  --clr-dark-400: oklch(
    from var(--dark)
    clamp(0, l + 0.08, 1)
    c
    h
  );
  --clr-dark-500: oklch(
    from var(--dark)
    clamp(0, l + 0, 1)
    c
    h
  );
  --clr-dark-600: oklch(
    from var(--dark)
    clamp(0, l + -0.08, 1)
    c
    h
  );
  --clr-dark-700: oklch(
    from var(--dark)
    clamp(0, l + -0.16, 1)
    c
    h
  );
  --clr-dark-800: oklch(
    from var(--dark)
    clamp(0, l + -0.24, 1)
    c
    h
  );
  --clr-dark-900: oklch(
    from var(--dark)
    clamp(0, l + -0.32, 1)
    c
    h
  );
  --light: hsl(0, 0%, 96%);
  --clr-light-50: oklch(
    from var(--light)
    clamp(0, l + 0.4, 1)
    c
    h
  );
  --clr-light-100: oklch(
    from var(--light)
    clamp(0, l + 0.32, 1)
    c
    h
  );
  --clr-light-200: oklch(
    from var(--light)
    clamp(0, l + 0.24, 1)
    c
    h
  );
  --clr-light-300: oklch(
    from var(--light)
    clamp(0, l + 0.16, 1)
    c
    h
  );
  --clr-light-400: oklch(
    from var(--light)
    clamp(0, l + 0.08, 1)
    c
    h
  );
  --clr-light-500: oklch(
    from var(--light)
    clamp(0, l + 0, 1)
    c
    h
  );
  --clr-light-600: oklch(
    from var(--light)
    clamp(0, l + -0.08, 1)
    c
    h
  );
  --clr-light-700: oklch(
    from var(--light)
    clamp(0, l + -0.16, 1)
    c
    h
  );
  --clr-light-800: oklch(
    from var(--light)
    clamp(0, l + -0.24, 1)
    c
    h
  );
  --clr-light-900: oklch(
    from var(--light)
    clamp(0, l + -0.32, 1)
    c
    h
  );
  --neutral: hsl(43, 75%, 95%);
  --clr-neutral-50: oklch(
    from var(--neutral)
    clamp(0, l + 0.4, 1)
    c
    h
  );
  --clr-neutral-100: oklch(
    from var(--neutral)
    clamp(0, l + 0.32, 1)
    c
    h
  );
  --clr-neutral-200: oklch(
    from var(--neutral)
    clamp(0, l + 0.24, 1)
    c
    h
  );
  --clr-neutral-300: oklch(
    from var(--neutral)
    clamp(0, l + 0.16, 1)
    c
    h
  );
  --clr-neutral-400: oklch(
    from var(--neutral)
    clamp(0, l + 0.08, 1)
    c
    h
  );
  --clr-neutral-500: oklch(
    from var(--neutral)
    clamp(0, l + 0, 1)
    c
    h
  );
  --clr-neutral-600: oklch(
    from var(--neutral)
    clamp(0, l + -0.08, 1)
    c
    h
  );
  --clr-neutral-700: oklch(
    from var(--neutral)
    clamp(0, l + -0.16, 1)
    c
    h
  );
  --clr-neutral-800: oklch(
    from var(--neutral)
    clamp(0, l + -0.24, 1)
    c
    h
  );
  --clr-neutral-900: oklch(
    from var(--neutral)
    clamp(0, l + -0.32, 1)
    c
    h
  );
  --clr-white: hsl(0, 0%, 100%);
  --clr-black: hsl(0, 0%, 0%);
  --clr-success: hsl(120, 100%, 25%);
  --clr-info: hsl(180, 100%, 50%);
  --clr-warning: hsl(60, 100%, 50%);
  --clr-danger: hsl(0, 100%, 50%);
  --clr-body-bg: var(--clr-neutral-500);
  --clr-body-text: var(--clr-dark-500);
  --clr-swiper-btn-base: var(--clr-primary-500);
  --clr-swiper-btn-hover: var(--clr-primary-700);
  --clr-swiper-btn-active: var(--clr-primary-500);
  --clr-swiper-btn-disabled: var(--clr-primary-300);
  --clr-selection-bg: var(--clr-secondary-500);
  --clr-selection-text: var(--clr-dark-500);
  --clr-input-bg: var(--clr-white);
  --clr-input-text: var(--clr-dark-500);
  --clr-input-placeholder: var(--clr-dark-200);
  --clr-input-border: var(--clr-dark-500);
  --clr-input-border-hover: var(--clr-primary-400);
  --clr-input-border-focus: var(--clr-primary-500);
  --clr-header-bg: var(--clr-primary-500);
  --clr-footer-bg: var(--clr-secondary-500);
  --clr-footer-text: var(--clr-white);
  --clr-hero-bg: var(--clr-neutral-500);
  --clr-hero-text: var(--clr-dark-500);
  --clr-hero-overlay: var(--clr-dark-500);
  --clr-nav-bg: var(--clr-primary-500);
  --clr-nav-bg-fade: color-mix(in srgb, var(--clr-primary-500), transparent 100%);
  --clr-nav-link: var(--clr-white);
  --clr-nav-link-hover: var(--clr-accent-500);
  --clr-nav-link-active: var(--clr-accent-500);
  --clr-nav-bg-dropdown: var(--clr-light-500);
  --clr-nav-link-dropdown: var(--clr-dark-500);
  --clr-hamburger-bg: var(--clr-white);
  --clr-hamburger-bg-active: var(--clr-white);
  --clr-link-default: var(--clr-primary-300);
  --clr-link-hover: var(--clr-primary-500);
  --clr-link-active: var(--clr-primary-600);
  --clr-facebook: #0866ff;
  --clr-instagram: #f00075;
  --clr-youtube: #ff0000;
  /* -------------------------- / COLORS --------------------------- */
  /* -------------------------- TYPOGRAPHY --------------------------- */
  --fs-d1: clamp(2.625rem, 3.4722222222vw + 1.375rem, 4.5rem);
  --fs-h1: clamp(2.375rem, 1.8518518519vw + 1.7083333333rem, 3.375rem);
  --fs-h2: clamp(1.875rem, 2.3148148148vw + 1.0416666667rem, 3.125rem);
  --fs-h3: clamp(1.5rem, 1.8518518519vw + 0.8333333333rem, 2.5rem);
  --fs-h4: clamp(1.25rem, 0.462962963vw + 1.0833333333rem, 1.5rem);
  --fs-h5: clamp(1.125rem, 0.2314814815vw + 1.0416666667rem, 1.25rem);
  --fs-p: clamp(1rem, 0vw + 1rem, 1rem);
  --fs-sm: clamp(0.875rem, 0vw + 0.875rem, 0.875rem);
  --fs-xs: clamp(0.75rem, 0vw + 0.75rem, 0.75rem);
  --fs-lp: clamp(1.125rem, 0.6944444444vw + 0.875rem, 1.5rem);
  --fs-bt: 1.125rem;
  --fs-mt: 0.9375rem;
  --fs-nav: 1.25rem;
  --ff-base: Montserrat, sans-serif;
  --ff-alt: Inter, sans-serif;
  --fw-base: 400;
  --lh-base: 1.75;
  /* -------------------------- GRID BREAKPOINTS --------------------------- */
  --gbp-xs: 0;
  --gbp-sm: 36rem;
  --gbp-md: 48rem;
  --gbp-lg: 64rem;
  --gbp-xl: 80rem;
  --gbp-xxl: 120rem;
  --gbp-xxxl: 141.25rem;
  --gbp-nav: 64rem;
  --gbp-mobile: 36rem;
  /* -------------------------- SAFE INLINE PADDING for ultra-wide screens --------------------------- */
  --safe-inline: max((100vw - var(--gbp-xxxl)) / 2, 2rem);
  /* -------------------------- CONTAINER MAX WIDTHS --------------------------- */
  --cnt-xs: 100%;
  --cnt-sm: 98%;
  --cnt-md: 96%;
  --cnt-lg: 96%;
  --cnt-xl: 96%;
  --cnt-xxl: 116.25rem;
  /* -------------------------- SPACINGS --------------------------- */
  --spacing-gutter: clamp(0.75rem, 2vw, 1.5rem);
  --spacing-xs: clamp(1.5rem, 4vw, 2.5rem);
  --spacing-sm: clamp(1.5rem, 6vw, 4rem);
  --spacing-md: clamp(2.5rem, 8vw, 6rem);
  --spacing-lg: clamp(4rem, 10vw, 8rem);
  --spacing-1: clamp(0.25rem, 0.7vw, 0.375rem);
  --spacing-2: clamp(0.5rem, 1.2vw, 0.75rem);
  --spacing-3: clamp(0.75rem, 1.8vw, 1.125rem);
  --spacing-4: clamp(1rem, 2.4vw, 1.5rem);
  --spacing-5: clamp(1.5rem, 3.6vw, 2.25rem);
  --spacing-6: clamp(2rem, 4.8vw, 3rem);
  --spacing-7: clamp(3rem, 7vw, 4.5rem);
  --spacing-8: clamp(4rem, 9vw, 6rem);
  /* -------------------------- BORDERS --------------------------- */
  --border-width: 0.125rem;
  --bdrs-base: 0.375rem;
  --bdrs-sm: 0.1875rem;
  --bdrs-lg: 0.5625rem;
  --bdrs-pill: 3.125rem;
}
@supports not (color: oklch(0.5 0.2 120)) {
  :root {
    --clr-primary-50: color-mix(in srgb, hsl(218, 86%, 23%), white 85%);
    --clr-primary-100: color-mix(in srgb, hsl(218, 86%, 23%), white 75%);
    --clr-primary-200: color-mix(in srgb, hsl(218, 86%, 23%), white 60%);
    --clr-primary-300: color-mix(in srgb, hsl(218, 86%, 23%), white 45%);
    --clr-primary-400: color-mix(in srgb, hsl(218, 86%, 23%), white 30%);
    --clr-primary-500: hsl(218, 86%, 23%);
    --clr-primary-600: color-mix(in srgb, hsl(218, 86%, 23%), black 15%);
    --clr-primary-700: color-mix(in srgb, hsl(218, 86%, 23%), black 30%);
    --clr-primary-800: color-mix(in srgb, hsl(218, 86%, 23%), black 45%);
    --clr-primary-900: color-mix(in srgb, hsl(218, 86%, 23%), black 60%);
    --clr-secondary-50: color-mix(in srgb, hsl(139, 36%, 84%), white 85%);
    --clr-secondary-100: color-mix(in srgb, hsl(139, 36%, 84%), white 75%);
    --clr-secondary-200: color-mix(in srgb, hsl(139, 36%, 84%), white 60%);
    --clr-secondary-300: color-mix(in srgb, hsl(139, 36%, 84%), white 45%);
    --clr-secondary-400: color-mix(in srgb, hsl(139, 36%, 84%), white 30%);
    --clr-secondary-500: hsl(139, 36%, 84%);
    --clr-secondary-600: color-mix(in srgb, hsl(139, 36%, 84%), black 15%);
    --clr-secondary-700: color-mix(in srgb, hsl(139, 36%, 84%), black 30%);
    --clr-secondary-800: color-mix(in srgb, hsl(139, 36%, 84%), black 45%);
    --clr-secondary-900: color-mix(in srgb, hsl(139, 36%, 84%), black 60%);
    --clr-accent-50: color-mix(in srgb, hsl(8, 100%, 57%), white 85%);
    --clr-accent-100: color-mix(in srgb, hsl(8, 100%, 57%), white 75%);
    --clr-accent-200: color-mix(in srgb, hsl(8, 100%, 57%), white 60%);
    --clr-accent-300: color-mix(in srgb, hsl(8, 100%, 57%), white 45%);
    --clr-accent-400: color-mix(in srgb, hsl(8, 100%, 57%), white 30%);
    --clr-accent-500: hsl(8, 100%, 57%);
    --clr-accent-600: color-mix(in srgb, hsl(8, 100%, 57%), black 15%);
    --clr-accent-700: color-mix(in srgb, hsl(8, 100%, 57%), black 30%);
    --clr-accent-800: color-mix(in srgb, hsl(8, 100%, 57%), black 45%);
    --clr-accent-900: color-mix(in srgb, hsl(8, 100%, 57%), black 60%);
    --clr-dark-50: color-mix(in srgb, hsl(0, 2%, 16%), white 85%);
    --clr-dark-100: color-mix(in srgb, hsl(0, 2%, 16%), white 75%);
    --clr-dark-200: color-mix(in srgb, hsl(0, 2%, 16%), white 60%);
    --clr-dark-300: color-mix(in srgb, hsl(0, 2%, 16%), white 45%);
    --clr-dark-400: color-mix(in srgb, hsl(0, 2%, 16%), white 30%);
    --clr-dark-500: hsl(0, 2%, 16%);
    --clr-dark-600: color-mix(in srgb, hsl(0, 2%, 16%), black 15%);
    --clr-dark-700: color-mix(in srgb, hsl(0, 2%, 16%), black 30%);
    --clr-dark-800: color-mix(in srgb, hsl(0, 2%, 16%), black 45%);
    --clr-dark-900: color-mix(in srgb, hsl(0, 2%, 16%), black 60%);
    --clr-light-50: color-mix(in srgb, hsl(0, 0%, 96%), white 85%);
    --clr-light-100: color-mix(in srgb, hsl(0, 0%, 96%), white 75%);
    --clr-light-200: color-mix(in srgb, hsl(0, 0%, 96%), white 60%);
    --clr-light-300: color-mix(in srgb, hsl(0, 0%, 96%), white 45%);
    --clr-light-400: color-mix(in srgb, hsl(0, 0%, 96%), white 30%);
    --clr-light-500: hsl(0, 0%, 96%);
    --clr-light-600: color-mix(in srgb, hsl(0, 0%, 96%), black 15%);
    --clr-light-700: color-mix(in srgb, hsl(0, 0%, 96%), black 30%);
    --clr-light-800: color-mix(in srgb, hsl(0, 0%, 96%), black 45%);
    --clr-light-900: color-mix(in srgb, hsl(0, 0%, 96%), black 60%);
    --clr-neutral-50: color-mix(in srgb, hsl(43, 75%, 95%), white 85%);
    --clr-neutral-100: color-mix(in srgb, hsl(43, 75%, 95%), white 75%);
    --clr-neutral-200: color-mix(in srgb, hsl(43, 75%, 95%), white 60%);
    --clr-neutral-300: color-mix(in srgb, hsl(43, 75%, 95%), white 45%);
    --clr-neutral-400: color-mix(in srgb, hsl(43, 75%, 95%), white 30%);
    --clr-neutral-500: hsl(43, 75%, 95%);
    --clr-neutral-600: color-mix(in srgb, hsl(43, 75%, 95%), black 15%);
    --clr-neutral-700: color-mix(in srgb, hsl(43, 75%, 95%), black 30%);
    --clr-neutral-800: color-mix(in srgb, hsl(43, 75%, 95%), black 45%);
    --clr-neutral-900: color-mix(in srgb, hsl(43, 75%, 95%), black 60%);
  }
}

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

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

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

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

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 {
  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-base);
  font-weight: 600;
}
@media (min-width: 36rem) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .d1,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    margin-bottom: 1rem;
  }
}
@media (max-width: 35.98rem) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .d1,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    margin-bottom: 0.75rem;
  }
}

.d1 {
  font-size: var(--fs-d1);
  font-weight: 800;
  line-height: 1.1;
}

h1,
.h1 {
  font-size: var(--fs-h1);
  line-height: 1.1;
}

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

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

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

h5,
.h5 {
  font-size: var(--fs-h5);
  font-weight: 700;
  line-height: 1.5;
}

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

/* ==============================
 * Components | Buttons
 * ------------------------------ */
.btn {
  position: relative;
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
@supports selector(::focus-visible) {
  .btn:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.btn.btn--sm {
  padding: 0.625rem 1.25rem;
  border-radius: var(--bdrs-sm);
}
.btn.btn--lg {
  padding: 1.125rem 2.625rem;
  border-radius: var(--bdrs-lg);
}
.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-primary-500);
}
.btn.btn--secondary:hover, .btn.btn--secondary:focus, .btn.btn--secondary:active {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-secondary-500);
}
.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--white {
  background-color: var(--clr-white);
  border-color: var(--clr-white);
  color: var(--clr-primary-500);
}
.btn.btn--white:hover, .btn.btn--white:focus, .btn.btn--white:active {
  background-color: var(--clr-white);
  border-color: var(--clr-white);
  color: var(--clr-dark-500);
}
.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 {
  background-color: transparent;
  color: var(--clr-accent-700);
  padding: 0.75rem 0;
  line-height: 1;
}
.btn.btn--link:hover, .btn.btn--link:focus, .btn.btn--link:active {
  background-color: transparent;
  color: var(--clr-accent-600);
}
.btn.btn--full {
  width: 100%;
}

/* ==============================
 * 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;
  height: 3.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;
  border-radius: 0.3125rem;
  padding: var(--spacing-2);
}
@media (max-width: 35.98rem) {
  .swiper-btn {
    height: 2.5rem;
    width: 2.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: 1.25rem;
  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);
  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.5rem;
  width: 0.75rem;
  height: 0.75rem;
  background: var(--clr-light-600);
  opacity: 1;
  border-radius: 50%;
  position: relative;
  display: inline-block;
}
.swiper-pagination-bullet:hover {
  background: var(--clr-light-700);
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--clr-swiper-btn-active);
  border-radius: 0;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0.375rem 0.1875rem 0.375rem;
  border-color: transparent transparent var(--clr-swiper-btn-active) transparent;
  top: -0.1875rem;
  left: 50%;
  transform: translateX(-50%);
}

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

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

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

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

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

.page-link {
  position: relative;
  display: block;
  padding: 0.75rem 1.5rem;
  margin-left: -rem(4);
  line-height: 1;
  color: var(--clr-white);
  text-decoration: none;
  background-color: var(--clr-dark-500);
  border: 0.0625rem solid var(--clr-dark-500);
  border-radius: var(--bdrs-base);
}
.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;
}

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

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

/* purgecss end ignore */
/* ==============================
 * Layout | Header
 * ------------------------------ */
.header {
  display: flex;
  background-color: var(--clr-header-bg);
  position: sticky;
  top: 0;
  z-index: 2;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.header:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.0625rem;
  background-color: rgba(255, 255, 255, 0.15);
}
@media (min-width: 36rem) {
  .header {
    height: 7.5rem;
  }
  .admin-bar .header {
    top: 32px;
  }
}
@media (max-width: 35.98rem) {
  .header {
    height: 4.375rem;
    padding: 0;
  }
  .admin-bar .header {
    top: 46px;
  }
}
.header.header--down {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  height: 3.75rem;
  background-color: color-mix(in srgb, var(--clr-primary-500), transparent 3%);
}

/* ==============================
 * 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: 36rem) {
  .hero {
    height: auto;
    min-height: 12.5rem;
    padding: var(--spacing-7) 0 var(--spacing-5);
  }
}
@media (max-width: 35.98rem) {
  .hero {
    height: auto;
    min-height: 11.25rem;
    padding: var(--spacing-6) 0 var(--spacing-4);
  }
}
.hero__subheader {
  width: 100%;
  background-color: var(--clr-primary-500);
  color: var(--clr-white);
  padding-block: var(--spacing-4);
}
.hero__content {
  padding: var(--spacing-4) 0;
}
.hero__title {
  margin-bottom: 0;
}
.hero--woocommerce {
  height: auto;
  min-height: 0;
}
.hero.hero--hp {
  z-index: 1;
  padding: 0;
}
@media (min-width: 36rem) {
  .hero.hero--hp {
    height: calc(100vh - 7.5rem);
    min-height: 46.25rem;
  }
}
@media (max-width: 35.98rem) {
  .hero.hero--hp {
    height: auto;
    min-height: 21.25rem;
  }
}

/* purgecss end ignore */
/* ==============================
 * Layout | Forms
 * ------------------------------ */
/* purgecss start ignore */
.form-control,
.custom-select,
select.form-control:not([size]):not([multiple]),
input[type=text],
input[type=tel],
input[type=password],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
textarea,
select {
  background: var(--clr-input-bg);
  color: var(--clr-input-text);
  border: 0.0625rem solid var(--clr-input-border);
  border-radius: var(--bdrs-base);
  padding: 0.75rem 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.125rem 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.625rem 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: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  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-secondary-500);
  border-color: var(--clr-secondary-500);
  color: var(--clr-primary-500);
}
@supports selector(::focus-visible) {
  .wpcf7 input[type=submit]:focus:not(:focus-visible),
  .wpcf7 button:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.wpcf7 input[type=submit]:disabled, .wpcf7 input[type=submit].disabled, fieldset:disabled .wpcf7 input[type=submit],
.wpcf7 button:disabled,
.wpcf7 button.disabled,
fieldset:disabled .wpcf7 button {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.wpcf7 input[type=submit]:hover, .wpcf7 input[type=submit]:focus, .wpcf7 input[type=submit]:active,
.wpcf7 button:hover,
.wpcf7 button:focus,
.wpcf7 button:active {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-secondary-500);
}
.wpcf7 label {
  font-weight: 700;
}
.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;
}

/* purgecss end ignore */
/* ==============================
 * Layout | Sidebar
 * ------------------------------ */
.sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.sidebar h2 {
  font-size: var(--fs-h5);
}
.sidebar .widget_block ul {
  list-style: none;
}
@media (min-width: 36rem) {
  .sidebar .widget_block ul {
    margin: 1rem 0;
    padding: 0 0 0 0.75rem;
  }
}
@media (max-width: 35.98rem) {
  .sidebar .widget_block ul {
    margin: 0.75rem 0;
    padding: 0 0 0 0.5rem;
  }
}
.sidebar .widget_block ul li {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 36rem) {
  .sidebar .widget_block ul li {
    padding-left: 1.375rem;
  }
}
@media (max-width: 35.98rem) {
  .sidebar .widget_block ul li {
    padding-left: 1.125rem;
  }
}
.sidebar .widget_block ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
  border-radius: 50%;
  content: "";
  position: absolute;
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  top: 0.625rem;
}

/* ==============================
 * Layout | Sections
 * ------------------------------ */
.section {
  position: relative;
  padding-block: var(--spacing-md);
}
.section__title {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.section__subtitle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.1;
  color: var(--clr-primary-500);
}
.section__subtitle:before {
  content: "";
  background-color: var(--clr-accent-500);
  display: block;
  width: 0.625rem;
  height: 0.0625rem;
  flex-shrink: 0;
}
.section--light {
  background-color: var(--clr-light-500);
}
.section--white {
  background-color: var(--clr-white);
}
.section--primary {
  background-color: var(--clr-primary-400);
  color: var(--clr-white);
}
.section--secondary {
  background-color: #daeaef;
}
.section--lg {
  padding-block: var(--spacing-lg);
}
.section--sm {
  padding-block: var(--spacing-sm);
}

/* ==============================
 * Layout | Footer
 * ------------------------------ */
/* purgecss start ignore */
.footer {
  background: var(--clr-footer-bg) url("../img/footer-bg.jpg") no-repeat center center;
  background-size: cover;
  color: var(--clr-footer-text);
  padding-block: var(--spacing-sm);
}
@media (min-width: 48rem) {
  .footer__col {
    padding-block: var(--spacing-5);
  }
}
@media (max-width: 47.98rem) {
  .footer__col {
    text-align: center;
    padding-block: var(--spacing-2);
  }
}
.footer__text {
  font-size: var(--fs-h4);
  font-weight: 700;
}
.footer__text a {
  color: var(--clr-footer-text);
}
.footer__logo {
  margin-bottom: var(--spacing-4);
}
@media (max-width: 47.98rem) {
  .footer__logo img {
    width: clamp(13.75rem, 50%, 17.5rem);
  }
}
.footer__info {
  text-align: center;
  padding-top: var(--spacing-sm);
  border-top: 0.0625rem solid var(--clr-neutral-500);
}

.social__list {
  list-style: none;
  display: inline-flex;
  gap: var(--spacing-4);
  padding: 0;
  margin: 0 0 var(--spacing-4);
}
.social__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  font-size: 2.25rem;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.social__icon--facebook {
  color: var(--clr-facebook);
}
.social__icon--facebook:hover, .social__icon--facebook:focus, .social__icon--facebook:active {
  color: var(--clr-facebook);
}
.social__icon--instagram {
  color: var(--clr-instagram);
}
.social__icon--instagram:hover, .social__icon--instagram:focus, .social__icon--instagram:active {
  color: var(--clr-instagram);
}
.social__icon--youtube {
  color: var(--clr-youtube);
}
.social__icon--youtube:hover, .social__icon--youtube:focus, .social__icon--youtube:active {
  color: var(--clr-youtube);
}
.social__icon:hover, .social__icon:focus, .social__icon:active {
  transform: scale(1.1);
}

/* ----------------------------- Lang Switch ------------------------------- */
.lang-switch {
  padding: var(--spacing-3);
  background-color: var(--clr-white);
  box-shadow: rgba(0, 0, 0, 0.15) 0 5px 15px;
  position: fixed;
  bottom: var(--spacing-4);
  left: var(--spacing-4);
  z-index: 2;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.lang-switch:hover .lang-dropdown {
  display: flex;
  flex-direction: column;
}
.lang-switch .lang-dropdown {
  list-style: none;
  padding: var(--spacing-3);
  position: absolute;
  z-index: 10;
  bottom: 0;
  left: 0;
  display: none;
  background-color: var(--clr-white);
  flex-direction: column;
  gap: var(--spacing-3);
  width: max-content;
}
.lang-switch .lang-dropdown .lang-item {
  display: block;
}
.lang-switch .lang-dropdown .lang-item a {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--clr-dark-500);
}
.lang-switch .lang-dropdown .lang-item a img {
  width: 2.0625rem;
  height: 1.5625rem;
  border-radius: 0.25rem;
}
.lang-switch .lang-dropdown .lang-item a:hover {
  color: var(--clr-primary-500);
}
.lang-switch .lang-dropdown .lang-item.current-lang a {
  color: var(--clr-primary-700);
}
.lang-switch .lang-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lang-switch .lang-list .lang-toggler {
  width: 2.0625rem;
  height: 1.5625rem;
  display: inline-block;
}
.lang-switch .lang-list .lang-toggler img {
  width: 2.0625rem;
  height: 1.5625rem;
  border-radius: 0.25rem;
}

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

.wp-block-button.is-style-fill .wp-element-button {
  position: relative;
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  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-color: transparent;
  }
}
.wp-block-button.is-style-fill .wp-element-button:disabled, .wp-block-button.is-style-fill .wp-element-button.disabled, fieldset:disabled .wp-block-button.is-style-fill .wp-element-button {
  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: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  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-color: transparent;
  }
}
.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: var(--bdrs-base);
  padding: 0.75rem 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: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-white);
}
@supports selector(::focus-visible) {
  .form-submit .submit:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.form-submit .submit:disabled, .form-submit .submit.disabled, fieldset:disabled .form-submit .submit {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.form-submit .submit:hover, .form-submit .submit:focus, .form-submit .submit:active {
  background-color: var(--clr-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}

/* ==============================
 * Layout | Search Form
 * ------------------------------ */
/* ==============================
 * Layout | Lite YouTube Embed
 * ------------------------------ */
/* purgecss start ignore */
lite-youtube {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  contain: content;
  background-position: center center;
  background-size: cover;
  cursor: pointer;
  border-radius: var(--bdrs-base);
  width: 100%;
  height: 100%;
}

/* gradient */
lite-youtube::before {
  content: attr(data-title);
  display: block;
  position: absolute;
  bottom: 0;
  background: var(--grad-video);
  width: 100%;
  height: 50%;
  font-family: "YouTube Noto", Roboto, Arial, Helvetica, sans-serif;
  color: hsl(0, 0%, 93.33%);
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  font-size: 18px;
  padding: 25px 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  box-sizing: border-box;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}

lite-youtube:hover::before {
  color: white;
}

/* responsive iframe with a 16:9 aspect ratio
  thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}

lite-youtube > iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 0;
}

/* play button */
lite-youtube > .lty-playbtn {
  cursor: pointer;
  z-index: 1;
  color: var(--clr-white);
  background-color: transparent;
  border: none;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
  position: relative;
}
lite-youtube > .lty-playbtn .lyt-visually-hidden {
  visibility: hidden;
}
lite-youtube > .lty-playbtn::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: 6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--clr-youtube);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
@supports not (mask-image: url()) {
  lite-youtube > .lty-playbtn::after {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
  filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
  cursor: unset;
}

lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
  opacity: 0;
  pointer-events: none;
}

/* purgecss end ignore */
/* ==============================
 * Page | Post | Post Single
 * ------------------------------ */
.post {
  position: relative;
}
.post__box {
  display: block;
  margin-bottom: 1.5rem;
}
@media (max-width: 47.98rem) {
  .post__box {
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}
/* ==============================
 * Page | Default Page
 * ------------------------------ */
/* ==============================
 * Page | 404
 * ------------------------------ */
.error404 .header,
.error404 .footer {
  display: none;
}
.error404__main {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.error404__cnt {
  display: flex;
  gap: var(--spacing-6);
  align-items: center;
}
@media (max-width: 47.98rem) {
  .error404__cnt {
    flex-direction: column;
    gap: var(--spacing-4);
  }
}
.error404__icon {
  color: var(--clr-primary-500);
  flex-shrink: 0;
}
@media (min-width: 48rem) {
  .error404__icon {
    font-size: 20rem;
  }
}
@media (max-width: 47.98rem) {
  .error404__icon {
    font-size: 15rem;
  }
}
.error404__title {
  color: var(--clr-primary-500);
}
.error404__text {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-3);
  flex-wrap: wrap;
}

/* ==============================
 * Page | Homepage
 * ------------------------------ */
.swiper-hero {
  overflow: hidden;
  height: 100%;
  max-width: var(--gbp-xxxl);
  margin-inline: auto;
  position: relative;
}
.swiper-hero .hero__slide {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  background-size: cover;
}
@media (max-width: 35.98rem) {
  .swiper-hero .hero__slide {
    aspect-ratio: 1/1;
  }
}
.swiper-hero .hero__slide:after {
  background-color: var(--clr-hero-overlay);
  opacity: 0.2;
  position: absolute;
  content: "";
  inset: 0;
}
.swiper-hero .hero__slide-title {
  font-weight: 700;
  margin-bottom: 0;
}
.swiper-hero .hero__slide a {
  color: var(--clr-white);
}
.swiper-hero .hero__slide-content {
  display: flex;
  position: relative;
  z-index: 1;
}
@media (min-width: 36rem) {
  .swiper-hero .hero__slide-content {
    padding: var(--spacing-md);
    justify-content: flex-end;
  }
}
@media (max-width: 35.98rem) {
  .swiper-hero .hero__slide-content {
    padding: var(--spacing-3);
    justify-content: center;
    text-align: center;
  }
}
.swiper-hero .swiper-btn-next,
.swiper-hero .swiper-btn-prev {
  position: absolute;
  width: 5.5rem;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.025);
  border-radius: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.swiper-hero .swiper-btn-next::after,
.swiper-hero .swiper-btn-prev::after {
  color: var(--clr-white);
  font-size: 2.5rem;
}
.swiper-hero .swiper-btn-next:hover, .swiper-hero .swiper-btn-next:focus, .swiper-hero .swiper-btn-next:active,
.swiper-hero .swiper-btn-prev:hover,
.swiper-hero .swiper-btn-prev:focus,
.swiper-hero .swiper-btn-prev:active {
  background-color: rgba(0, 0, 0, 0.5);
}
.swiper-hero .swiper-btn-next {
  right: 0;
}

.cta__wrapper {
  background-color: var(--clr-primary-500);
  color: var(--clr-white);
  border-radius: 1.25rem;
}
@media (min-width: 48rem) {
  .cta__wrapper {
    padding: var(--spacing-md) 10%;
  }
}
@media (max-width: 47.98rem) {
  .cta__wrapper {
    padding: var(--spacing-sm) var(--spacing-5);
  }
}
.cta__wrapper a {
  color: var(--clr-white);
}
.cta__buttons {
  display: flex;
  flex-direction: column;
}
@media (min-width: 48rem) {
  .cta__buttons {
    gap: var(--spacing-5);
  }
}
@media (max-width: 47.98rem) {
  .cta__buttons {
    gap: var(--spacing-3);
  }
}
.cta__buttons .btn {
  width: 100%;
}

/* ==============================
 * Page | About Page
 * ------------------------------ */
.about-row__wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
}
.about-row__footer {
  padding-top: var(--spacing-6);
}

/* ==============================
 * Page | Contact Page
 * ------------------------------ */
.contact__map {
  height: clamp(20rem, 50vw, 50rem);
}

/* ==============================
 * WooCommerce | Single Product
 * ------------------------------ */
/* purgecss start ignore */
.single-product .post-single__header .post-single__title {
  display: none;
}
.single-product .woocommerce-tabs {
  visibility: hidden;
}
.single-product .hero--woocommerce {
  padding: 0;
}
.single-product .hero--woocommerce .hero__subheader {
  display: none;
}
.single-product form.cart .quantity {
  display: none;
}

.woocommerce-product-details__description ul,
.woocommerce-product-details__short-description ul {
  list-style: none;
}
@media (min-width: 36rem) {
  .woocommerce-product-details__description ul,
  .woocommerce-product-details__short-description ul {
    margin: 1rem 0;
    padding: 0 0 0 0.75rem;
  }
}
@media (max-width: 35.98rem) {
  .woocommerce-product-details__description ul,
  .woocommerce-product-details__short-description ul {
    margin: 0.75rem 0;
    padding: 0 0 0 0.5rem;
  }
}
.woocommerce-product-details__description ul li,
.woocommerce-product-details__short-description ul li {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 36rem) {
  .woocommerce-product-details__description ul li,
  .woocommerce-product-details__short-description ul li {
    padding-left: 1.375rem;
  }
}
@media (max-width: 35.98rem) {
  .woocommerce-product-details__description ul li,
  .woocommerce-product-details__short-description ul li {
    padding-left: 1.125rem;
  }
}
.woocommerce-product-details__description ul li:before,
.woocommerce-product-details__short-description ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
  border-radius: 50%;
  content: "";
  position: absolute;
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  top: 0.625rem;
}

.accordion {
  margin-block: var(--spacing-4);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
}
.accordion__item.active .accordion__content {
  display: block;
  border: 0.0625rem solid rgba(0, 0, 0, 0.08);
  border-top: none;
  border-radius: 0 0 0.3125rem 0.3125rem;
}
.accordion__title {
  width: 100%;
  text-align: left;
  padding: 15px;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.75rem;
  padding: 0.9375rem 0.875rem 0.875rem 3.75rem;
  background: #f9f9f9;
  color: var(--clr-primary-500);
  border-radius: 0.3125rem;
  border: 0.0625rem solid rgba(0, 0, 0, 0.08);
  cursor: pointer;
  position: relative;
}
.accordion__title::before {
  content: "";
  width: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-right: 0.0625rem solid rgba(0, 0, 0, 0.08);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.accordion__title::after {
  position: absolute;
  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;
  left: 1.125rem;
  color: var(--clr-light-700);
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
}
@supports not (mask-image: url()) {
  .accordion__title::after {
    background-color: transparent;
    fill: currentColor;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}
.accordion__title.active {
  border-radius: 0.3125rem 0.3125rem 0 0;
}
.accordion__title.active::after {
  color: var(--clr-primary-500);
}
.accordion__content {
  display: none;
  padding: 0.9375rem 1.25rem 1.25rem;
  background: var(--clr-white);
}
.accordion__content ul {
  list-style: none;
}
@media (min-width: 36rem) {
  .accordion__content ul {
    margin: 1rem 0;
    padding: 0 0 0 0.75rem;
  }
}
@media (max-width: 35.98rem) {
  .accordion__content ul {
    margin: 0.75rem 0;
    padding: 0 0 0 0.5rem;
  }
}
.accordion__content ul li {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 36rem) {
  .accordion__content ul li {
    padding-left: 1.375rem;
  }
}
@media (max-width: 35.98rem) {
  .accordion__content ul li {
    padding-left: 1.125rem;
  }
}
.accordion__content ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
  border-radius: 50%;
  content: "";
  position: absolute;
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  top: 0.625rem;
}

/* Swiper Gallery Customization */
.product-main-slider {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
}
.product-main-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-main-slider .swiper-slide a {
  display: flex;
  height: 100%;
  width: 100%;
}
.product-main-slider .swiper-slide img {
  object-fit: cover; /* prevents cropping */
  transition: transform 0.2s ease;
}
.product-main-slider .swiper-btn-next,
.product-main-slider .swiper-btn-prev {
  position: absolute;
  width: 2.375rem;
  height: 2.375rem;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.product-main-slider .swiper-btn-next::after,
.product-main-slider .swiper-btn-prev::after {
  color: var(--clr-white);
}
.product-main-slider .swiper-btn-next:hover, .product-main-slider .swiper-btn-next:focus, .product-main-slider .swiper-btn-next:active,
.product-main-slider .swiper-btn-prev:hover,
.product-main-slider .swiper-btn-prev:focus,
.product-main-slider .swiper-btn-prev:active {
  background-color: rgba(0, 0, 0, 0.8);
}
.product-main-slider .swiper-btn-next {
  right: 0;
}

/* THUMBNAILS ALWAYS BELOW */
.product-thumb-slider {
  margin-top: 0.25rem;
}

/* Thumbnail styling */
.product-thumb-slider .swiper-slide {
  opacity: 0.5;
  cursor: pointer;
}

.product-thumb-slider .swiper-slide-thumb-active {
  opacity: 1;
}

/* ARROW POSITIONING */
.product-main-slider .swiper-btn-next,
.product-main-slider .swiper-btn-prev {
  color: #000;
}

.swiper-products {
  overflow: hidden;
  height: 100%;
}
.swiper-products .swiper-navigation {
  display: flex;
  gap: 0.25rem;
  justify-content: flex-end;
  padding-block: var(--spacing-2);
}
.swiper-products .swiper-pagination {
  text-align: center;
  padding-block: var(--spacing-2);
}

.product-video lite-youtube {
  margin-block: var(--spacing-4);
}

.gallery-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
  align-items: center;
  margin-block: var(--spacing-4);
}
.gallery-filter label {
  flex-shrink: 0;
  color: var(--clr-primary-500);
}
.gallery-filter select {
  max-width: 13.75rem;
}

.product__card-title {
  font-size: var(--fs-h4);
  text-align: center;
}
.product__card img {
  margin-bottom: var(--spacing-3);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: var(--fs-h4);
  text-align: center;
}

.woocommerce ul.products li.product .button {
  display: none;
}

.woocommerce div.product h1.product_title {
  font-size: var(--fs-d1);
  color: var(--clr-primary-500);
}

.product_meta .single_add_to_cart_button {
  position: relative;
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  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) {
  .product_meta .single_add_to_cart_button:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.product_meta .single_add_to_cart_button:disabled, .product_meta .single_add_to_cart_button.disabled, fieldset:disabled .product_meta .single_add_to_cart_button {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.product_meta .single_add_to_cart_button:hover, .product_meta .single_add_to_cart_button:focus, .product_meta .single_add_to_cart_button:active {
  background-color: var(--clr-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
  position: relative;
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  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) {
  .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.disabled, fieldset:disabled .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:focus, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:active {
  background-color: var(--clr-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-white);
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:focus, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:active {
  background-color: var(--clr-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}

.wooco_components .wooco_component {
  border: 0.0625rem solid rgba(0, 0, 0, 0.08);
  border-radius: 0.3125rem;
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  background-color: var(--clr-white);
}
.wooco_components .wooco_component .component_title {
  font-size: var(--fs-h5);
  color: var(--clr-primary-500);
  margin-bottom: var(--spacing-2);
}

.wooco-wizard-progress-fill {
  background-color: var(--clr-primary-500);
}

.wooco-quote-form h3 {
  font-size: var(--fs-h5);
  color: var(--clr-primary-500);
}

.wooco-quote-input {
  background: var(--clr-input-bg);
  color: var(--clr-input-text);
  border: 0.0625rem solid var(--clr-input-border);
  border-radius: var(--bdrs-base);
  padding: 0.75rem 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;
}
.wooco-quote-input:hover {
  border-color: var(--clr-input-border-hover);
}
@supports selector(::focus-visible) {
  .wooco-quote-input:focus:not(:focus-visible) {
    outline: none;
  }
}
.wooco-quote-input:focus, .wooco-quote-input:focus:hover {
  border-color: var(--clr-input-border-focus);
}
.wooco-quote-input::placeholder {
  color: var(--clr-input-placeholder);
}
.wooco-quote-input:-ms-input-placeholder {
  color: var(--clr-input-placeholder);
}
.wooco-quote-input::-ms-placeholder {
  color: var(--clr-input-placeholder);
}
.wooco-quote-input:focus::placeholder {
  color: var(--clr-input-text);
}
.wooco-quote-input:focus:-ms-input-placeholder {
  color: var(--clr-input-text);
}
.wooco-quote-input:focus::-ms-placeholder {
  color: var(--clr-input-text);
}
.wooco-quote-input:hover, .wooco-quote-input:focus, .wooco-quote-input:active {
  box-shadow: none;
}

.wooco-quote-fields label {
  display: inline-block;
  font-weight: 600;
  font-size: var(--fs-sm);
  margin-bottom: 0.5rem;
}

.wooco-btn.wooco-btn-start,
.wooco-btn.wooco-btn-next,
.wooco-btn.wooco-btn-primary,
.wooco-btn.wooco-btn-submit-quote {
  position: relative;
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  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) {
  .wooco-btn.wooco-btn-start:focus:not(:focus-visible),
  .wooco-btn.wooco-btn-next:focus:not(:focus-visible),
  .wooco-btn.wooco-btn-primary:focus:not(:focus-visible),
  .wooco-btn.wooco-btn-submit-quote:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.wooco-btn.wooco-btn-start:disabled, .wooco-btn.wooco-btn-start.disabled, fieldset:disabled .wooco-btn.wooco-btn-start,
.wooco-btn.wooco-btn-next:disabled,
.wooco-btn.wooco-btn-next.disabled,
fieldset:disabled .wooco-btn.wooco-btn-next,
.wooco-btn.wooco-btn-primary:disabled,
.wooco-btn.wooco-btn-primary.disabled,
fieldset:disabled .wooco-btn.wooco-btn-primary,
.wooco-btn.wooco-btn-submit-quote:disabled,
.wooco-btn.wooco-btn-submit-quote.disabled,
fieldset:disabled .wooco-btn.wooco-btn-submit-quote {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.wooco-btn.wooco-btn-start:hover, .wooco-btn.wooco-btn-start:focus, .wooco-btn.wooco-btn-start:active,
.wooco-btn.wooco-btn-next:hover,
.wooco-btn.wooco-btn-next:focus,
.wooco-btn.wooco-btn-next:active,
.wooco-btn.wooco-btn-primary:hover,
.wooco-btn.wooco-btn-primary:focus,
.wooco-btn.wooco-btn-primary:active,
.wooco-btn.wooco-btn-submit-quote:hover,
.wooco-btn.wooco-btn-submit-quote:focus,
.wooco-btn.wooco-btn-submit-quote:active {
  background-color: var(--clr-primary-600);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}

.wooco-btn.wooco-btn-back-to-wizard,
.wooco-btn.wooco-btn-prev {
  position: relative;
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 0.0625rem solid transparent;
  border-radius: var(--bdrs-base);
  font-size: var(--fs-bt);
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--ff-alt);
  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-secondary-500);
  border-color: var(--clr-secondary-500);
  color: var(--clr-primary-500);
}
@supports selector(::focus-visible) {
  .wooco-btn.wooco-btn-back-to-wizard:focus:not(:focus-visible),
  .wooco-btn.wooco-btn-prev:focus:not(:focus-visible) {
    outline-color: transparent;
  }
}
.wooco-btn.wooco-btn-back-to-wizard:disabled, .wooco-btn.wooco-btn-back-to-wizard.disabled, fieldset:disabled .wooco-btn.wooco-btn-back-to-wizard,
.wooco-btn.wooco-btn-prev:disabled,
.wooco-btn.wooco-btn-prev.disabled,
fieldset:disabled .wooco-btn.wooco-btn-prev {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.wooco-btn.wooco-btn-back-to-wizard:hover, .wooco-btn.wooco-btn-back-to-wizard:focus, .wooco-btn.wooco-btn-back-to-wizard:active,
.wooco-btn.wooco-btn-prev:hover,
.wooco-btn.wooco-btn-prev:focus,
.wooco-btn.wooco-btn-prev:active {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-secondary-500);
}

.wooco_component_product_selection_list .wooco_component_product_selection_list_item {
  border-radius: 0.3125rem;
}
.wooco_component_product_selection_list .wooco_component_product_selection_list_item.wooco_item_selected {
  border-color: var(--clr-primary-500);
}

.wooco_component_product_selection_list .wooco_component_product_selection_list_item.wooco_item_selected .wooco_component_product_selection_list_item_choose span:before {
  background-color: var(--clr-primary-500);
}

/* 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.75;
}

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

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

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

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

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

.feat-list-ul {
  list-style: none;
}
@media (min-width: 36rem) {
  .feat-list-ul {
    margin: 1rem 0;
    padding: 0 0 0 0.75rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-list-ul {
    margin: 0.75rem 0;
    padding: 0 0 0 0.5rem;
  }
}
.feat-list-ul li {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 36rem) {
  .feat-list-ul li {
    padding-left: 1.375rem;
  }
}
@media (max-width: 35.98rem) {
  .feat-list-ul li {
    padding-left: 1.125rem;
  }
}
.feat-list-ul li:before {
  background-color: var(--clr-primary-500);
  left: 0;
  border-radius: 50%;
  content: "";
  position: absolute;
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  top: 0.625rem;
}

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

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

.light {
  font-weight: 300;
}

.semibold {
  font-weight: 600;
}

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

.extrabold {
  font-weight: 800;
}

.black {
  font-weight: 900;
}

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

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

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

.uppercase {
  text-transform: uppercase;
}

.underline {
  text-decoration: underline;
}

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

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

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

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

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

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

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

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

.relative {
  position: relative;
}

.flex {
  display: flex;
}

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

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

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

.row-reverse {
  flex-direction: row-reverse;
}

.m-0 {
  margin: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.h-full {
  height: 100%;
}

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

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

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