/**
 * v3.0.x
 */
:root {
    /* Fonts */
    --ex-font-condensed: "Montserrat", sans-serif;
    --ex-font-sans: "Montserrat", sans-serif;
    --ex-font-serif: 'Domine', serif;
    --ex-font-serif-alt: 'Lora', serif;
    --ex-font-system: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    --ex-font-mono: 'JetBrains Mono', SFMono-Regular, ui-monospace, 'DejaVu Sans Mono', Menlo, Consolas, monospace;

    /* Colors */
    --ex-primary: hsl(0, 0%, 5%);
    --ex-primary-h: 0;
    --ex-primary-s: 0%;
    --ex-primary-l: 5%;
    --ex-primary-light: hsl(var(--ex-primary-h), 80%, 98%);
    --ex-primary-dark: hsl(var(--ex-primary-h), 58%, 14%);

    --ex-secondary: hsl(var(--ex-primary-h), 8%, 40%);
    --ex-secondary-h: var(--ex-primary-h);
    --ex-secondary-s: 8%;
    --ex-secondary-l: 40%;
    --ex-secondary-light: hsl(var(--ex-primary-h), 20%, 97%);
    --ex-secondary-neutral: hsl(var(--ex-primary-h), 8%, 70%);
    --ex-secondary-dark: hsl(var(--ex-primary-h), 12%, 20%);
    --ex-secondary-night: hsl(var(--ex-primary-h), 8%, 10%);

    --ex-accent: hsl(45, 94%, 49%);
    --ex-accent-h: 45;
    --ex-accent-s: 94%;
    --ex-accent-l: 49%;
    --ex-accent-rgb: 242, 184, 7;

    --ex-warning: hsl(20, 90%, 50%);
    --ex-warning-h: 20;
    --ex-warning-s: 90%;
    --ex-warning-l: 50%;

    --ex-success: hsl(163, 94%, 44%);
    --ex-success-h: 163;
    --ex-success-s: 94%;
    --ex-success-l: 44%;

    --ex-green: hsl(174, 93%, 18%);
    --ex-green-h: 174;
    --ex-green-s: 93%;
    --ex-green-l: 18%;

    --ex-danger: hsl(354, 70%, 54%);
    --ex-danger-h: 354;
    --ex-danger-s: 70%;
    --ex-danger-l: 54%;

    --ex-light: hsl(var(--ex-primary-h), 20%, 98%);
    --ex-light-gray: hsl(0, 0%, 98%);
    --ex-night: hsl(var(--ex-primary-h), 8%, 8%);


    --bs-border-radius-xl: 0.8rem;
}

[class*="-gradient-"] {
    /* Gradients */
    --ex-gradient-palette: linear-gradient(158deg,
        hsl(var(--ex-palette-h), calc(var(--ex-palette-s) - 4%), calc(var(--ex-palette-l) + 1%)) 0%,
        hsl(var(--ex-palette-h), calc(var(--ex-palette-s) - 2%), calc(var(--ex-palette-l) + 4%)) 20%,
        hsl(var(--ex-palette-h), calc(var(--ex-palette-s) - 1%), calc(var(--ex-palette-l) - 14%)) 40%,
        hsl(var(--ex-palette-h), calc(var(--ex-palette-s) - 2%), calc(var(--ex-palette-l) + 4%)) 80%,
        hsl(var(--ex-palette-h), calc(var(--ex-palette-s) - 4%), calc(var(--ex-palette-l) + 1%)) 100%);

    --ex-gradient-accent: linear-gradient(158deg,
        hsl(var(--ex-accent-h), var(--ex-accent-s), calc(var(--ex-accent-l) + 6%)) 0%,
        hsl(calc(var(--ex-accent-h) - 2), var(--ex-accent-s), calc(var(--ex-accent-l) + 3%)) 20%,
        hsl(calc(var(--ex-accent-h) - 6), var(--ex-accent-s), calc(var(--ex-accent-l) - 2%)) 40%,
        hsl(calc(var(--ex-accent-h) - 2), var(--ex-accent-s), calc(var(--ex-accent-l) + 3%)) 80%,
        hsl(var(--ex-accent-h), var(--ex-accent-s), calc(var(--ex-accent-l) + 6%)) 100%);

    --ex-gradient-warning: linear-gradient(158deg,
        hsl(calc(var(--ex-warning-h) + 2), var(--ex-warning-s), calc(var(--ex-warning-l) + 6%)) 0%,
        hsl(calc(var(--ex-warning-h) - 6), var(--ex-warning-s), calc(var(--ex-warning-l) + 3%)) 20%,
        hsl(calc(var(--ex-warning-h) - 10), var(--ex-warning-s), calc(var(--ex-warning-l) - 2%)) 40%,
        hsl(calc(var(--ex-warning-h) - 6), var(--ex-warning-s), calc(var(--ex-warning-l) + 3%)) 80%,
        hsl(calc(var(--ex-warning-h) + 2), var(--ex-warning-s), calc(var(--ex-warning-l) + 6%)) 100%);

    --ex-gradient-berry: linear-gradient(158deg, hsl(246, 100%, 68%) 0%, hsl(260, 95%, 45%) 20%, hsl(255, 100%, 33%) 40%, hsl(255, 78%, 48%) 80%, hsl(249, 81%, 62%) 100%);
    --ex-gradient-gold: linear-gradient(160deg, hsl(44, 100%, 52%), hsl(46, 100%, 56%), hsl(48, 100%, 76%), hsl(46, 100%, 56%), hsl(44, 100%, 46%));
    --ex-gradient-danger: linear-gradient(160deg, hsl(12, 94%, 40%), hsl(4, 94%, 44%), hsl(0, 94%, 50%), hsl(4, 94%, 44%), hsl(12, 94%, 40%));
}

[class*="-gradient-primary"] {
    --ex-palette-h: var(--ex-primary-h);
    --ex-palette-s: var(--ex-primary-s);
    --ex-palette-l: var(--ex-primary-l);
}

[class*="-gradient-primary-light"] {
    --ex-palette-s: 54%;
    --ex-palette-l: 80%;
}

[class*="-gradient-primary-dark"] {
    --ex-palette-s: 54%;
    --ex-palette-l: 26%;
}

[class*="-gradient-secondary"] {
    --ex-palette-h: var(--ex-primary-h);
    --ex-palette-s: var(--ex-secondary-s);
    --ex-palette-l: var(--ex-secondary-l);
}

html,
body {
    height: 100%;
    color: var(--ex-night);
    background-color: hsl(237, 60%, 6%);
}

html {
    font-size: 1.2rem;
}

@media (min-width: 768px) {
    html {
        font-size: 1.3rem;
    }
}

a {
    font-weight: 700;
    color: hsl(var(--ex-primary-h), calc(var(--ex-primary-s) - 10%), calc(var(--ex-primary-l) - 10%));;
    transition: color 0.2s;
}

a:hover {
    color: hsl(var(--ex-primary-h), calc(var(--ex-primary-s) - 20%), calc(var(--ex-primary-l) - 20%));
}

/* Lazy load */
.lazy-load,
.io-load {
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.4s linear,
        visibility 0.8s linear;
}

/* Show content */
.show {
    opacity: 1 !important;
    visibility: visible !important;
    transition:
        opacity 0.4s linear,
        visibility 0s linear;
}

/* Fonts */
.font-condensed,
.f-condensed {
    font-family: var(--ex-font-condensed);
}

.font-sans,
.font-sans small,
.font-sans .small,
.font-sans .form-control,
.f-sans,
.f-sans small,
.f-sans .small,
.f-sans .form-control {
    font-family: var(--ex-font-sans);
}

.font-serif,
.f-serif {
    font-family: var(--ex-font-serif);
}

em.f-serif,
.f-serif em,
.f-serif .fst-italic,
.f-serif.fst-italic {
     font-family: var(--ex-font-serif-alt);
}

.f-system {
    font-family: var(--ex-font-system);
}

.f-monospace,
.font-monospace,
.text-monospace {
    font-family: var(--ex-font-mono) !important;
}

.f-antialiased,
.font-antialiased {
    -webkit-font-smoothing: antialiased;
}

/* Font sizes */
.fs-60 {
    font-size: 60% !important;
}

.fs-65 {
    font-size: 65% !important;
}

.fs-70 {
    font-size: 70% !important;
}

.fs-75 {
    font-size: 75% !important;
}

.fs-80 {
    font-size: 80% !important;
}

.fs-85 {
    font-size: 85% !important;
}

.fs-90 {
    font-size: 90% !important;
}

.fs-95 {
    font-size: 95% !important;
}

.fs-100 {
    font-size: 100% !important;
}

.fs-105 {
    font-size: 105% !important;
}

.fs-110 {
    font-size: 110% !important;
}

.fs-115 {
    font-size: 115% !important;
}

.fs-120 {
    font-size: 120% !important;
}

.fs-c {
    --ex-fs: inherit;
    font-size: var(--ex-fs);
}

@media (min-width: 576px) {
    .fs-sm-60 {
        font-size: 60% !important;
    }

    .fs-sm-65 {
        font-size: 65% !important;
    }

    .fs-sm-70 {
        font-size: 70% !important;
    }

    .fs-sm-75 {
        font-size: 75% !important;
    }

    .fs-sm-80 {
        font-size: 80% !important;
    }

    .fs-sm-85 {
        font-size: 85% !important;
    }

    .fs-sm-90 {
        font-size: 90% !important;
    }

    .fs-sm-95 {
        font-size: 95% !important;
    }

    .fs-sm-100 {
        font-size: 100% !important;
    }

    .fs-sm-105 {
        font-size: 105% !important;
    }

    .fs-sm-110 {
        font-size: 110% !important;
    }

    .fs-sm-115 {
        font-size: 115% !important;
    }

    .fs-sm-120 {
        font-size: 120% !important;
    }

    .fs-sm-c {
        --ex-fs-sm: inherit;
        font-size: var(--ex-fs-sm);
    }
}

@media (min-width: 768px) {
    .fs-md-60 {
        font-size: 60% !important;
    }

    .fs-md-65 {
        font-size: 65% !important;
    }

    .fs-md-70 {
        font-size: 70% !important;
    }

    .fs-md-75 {
        font-size: 75% !important;
    }

    .fs-md-80 {
        font-size: 80% !important;
    }

    .fs-md-85 {
        font-size: 85% !important;
    }

    .fs-md-90 {
        font-size: 90% !important;
    }

    .fs-md-95 {
        font-size: 95% !important;
    }

    .fs-md-100 {
        font-size: 100% !important;
    }

    .fs-md-105 {
        font-size: 105% !important;
    }

    .fs-md-110 {
        font-size: 110% !important;
    }

    .fs-md-115 {
        font-size: 115% !important;
    }

    .fs-md-120 {
        font-size: 120% !important;
    }

    .fs-md-c {
        --ex-fs-md: inherit;
        font-size: var(--ex-fs-md);
    }
}

@media (min-width: 992px) {
    .fs-lg-60 {
        font-size: 60% !important;
    }

    .fs-lg-65 {
        font-size: 65% !important;
    }

    .fs-lg-70 {
        font-size: 70% !important;
    }

    .fs-lg-75 {
        font-size: 75% !important;
    }

    .fs-lg-80 {
        font-size: 80% !important;
    }

    .fs-lg-85 {
        font-size: 85% !important;
    }

    .fs-lg-90 {
        font-size: 90% !important;
    }

    .fs-lg-95 {
        font-size: 95% !important;
    }

    .fs-lg-100 {
        font-size: 100% !important;
    }

    .fs-lg-105 {
        font-size: 105% !important;
    }

    .fs-lg-110 {
        font-size: 110% !important;
    }

    .fs-lg-115 {
        font-size: 115% !important;
    }

    .fs-lg-120 {
        font-size: 120% !important;
    }

    .fs-lg-c {
        --ex-fs-lg: inherit;
        font-size: var(--ex-fs-lg);
    }
}

@media (min-width: 1200px) {
    .fs-xl-60 {
        font-size: 60% !important;
    }

    .fs-xl-65 {
        font-size: 65% !important;
    }

    .fs-xl-70 {
        font-size: 70% !important;
    }

    .fs-xl-75 {
        font-size: 75% !important;
    }

    .fs-xl-80 {
        font-size: 80% !important;
    }

    .fs-xl-85 {
        font-size: 85% !important;
    }

    .fs-xl-90 {
        font-size: 90% !important;
    }

    .fs-xl-95 {
        font-size: 95% !important;
    }

    .fs-xl-100 {
        font-size: 100% !important;
    }

    .fs-xl-105 {
        font-size: 105% !important;
    }

    .fs-xl-110 {
        font-size: 110% !important;
    }

    .fs-xl-115 {
        font-size: 115% !important;
    }

    .fs-xl-120 {
        font-size: 120% !important;
    }

    .fs-xl-c {
        --ex-fs-xl: inherit;
        font-size: var(--ex-fs-xl);
    }
}

@media (min-width: 1400px) {
    .fs-xxl-60 {
        font-size: 60% !important;
    }

    .fs-xxl-65 {
        font-size: 65% !important;
    }

    .fs-xxl-70 {
        font-size: 70% !important;
    }

    .fs-xxl-75 {
        font-size: 75% !important;
    }

    .fs-xxl-80 {
        font-size: 80% !important;
    }

    .fs-xxl-85 {
        font-size: 85% !important;
    }

    .fs-xxl-90 {
        font-size: 90% !important;
    }

    .fs-xxl-95 {
        font-size: 95% !important;
    }

    .fs-xxl-100 {
        font-size: 100% !important;
    }

    .fs-xxl-105 {
        font-size: 105% !important;
    }

    .fs-xxl-110 {
        font-size: 110% !important;
    }

    .fs-xxl-115 {
        font-size: 115% !important;
    }

    .fs-xxl-120 {
        font-size: 120% !important;
    }

    .fs-xxl-c {
        --ex-fs-xxl: inherit;
        font-size: var(--ex-fs-xxl);
    }
}

/* Font weights */
.fw-300 {
    font-weight: 300;
}

.fw-400 {
    font-weight: 400;
}

.fw-500 {
    font-weight: 500;
}

.fw-600 {
    font-weight: 600;
}

.fw-700 {
    font-weight: 700;
}

.fw-800 {
    font-weight: 800;
}

.fw-900 {
    font-weight: 900;
}

/* Colors */
[class*="bg-gradient-"] {
    background-size: 440% 100%;
}

/* Colors - primary */
.text-primary,
.list-primary li::before {
    color: var(--ex-primary) !important;
}

.bg-primary,
.list-bg-primary li::before {
    background-color: var(--ex-primary) !important;
}

.bg-primary-gradient,
.list-bg-primary-gradient li::before {
    --ex-fa-color: hsl(0, 0%, 100%);
    background-image: linear-gradient(158deg,
        hsl(var(--ex-primary-h), 60%, 56%) 0%,
        hsl(var(--ex-primary-h), 60%, 40%) 20%,
        hsl(var(--ex-primary-h), 90%, 20%) 40%,
        hsl(var(--ex-primary-h), 90%, 24%) 80%,
        hsl(var(--ex-primary-h), 90%, 42%) 100%);
    background-size: 300% 100%;
    box-shadow: 0 0 0 3px hsl(var(--ex-primary-h), 26%, 88%), 0 0 0 5px hsl(var(--ex-primary-h), 26%, 66%);
}

.bg-gradient-primary {
    background-image: var(--ex-gradient-palette);
}

/* Colors - primary - light */
.text-primary-light,
.list-primary-light li::before {
    color: var(--ex-primary-light);
}

.bg-primary-light,
.list-bg-primary-light li::before {
    background-color: var(--ex-primary-light);
}

.bg-gradient-primary-light {
    background-image: var(--ex-gradient-palette);
}

/* Colors - primary - dark */
.text-primary-dark,
.list-primary-dark li::before {
    color: var(--ex-primary-dark);
}

.bg-primary-dark,
.list-bg-primary-dark li::before {
    background-color: var(--ex-primary-dark);
}

.bg-gradient-primary-dark {
    background-image: var(--ex-gradient-palette);
}

/* Colors - secondary */
.text-secondary,
.list-secondary li::before {
    color: var(--ex-secondary) !important;
}

.bg-secondary,
.list-bg-secondary li::before {
    background-color: var(--ex-secondary) !important;
}

.bg-gradient-secondary {
    background-image: var(--ex-gradient-palette);
}

/* Colors - secondary - light */
.text-secondary-light,
.list-secondary-light li::before {
    color: var(--ex-secondary-light);
}

.bg-secondary-light,
.list-bg-secondary-light li::before {
    background-color: var(--ex-secondary-light);
}

/* Colors - secondary - neutral */
.text-secondary-neutral,
.list-secondary-neutral li::before {
    color: var(--ex-secondary-neutral);
}

.bg-secondary-neutral,
.list-bg-secondary-neutral li::before {
    background-color: var(--ex-secondary-neutral);
}

/* Colors - secondary - dark */
.text-secondary-dark,
.list-secondary-dark li::before {
    color: var(--ex-secondary-dark);
}

.bg-secondary-dark,
.list-bg-secondary-dark li::before {
    background-color: var(--ex-secondary-dark);
}

/* Colors - accent */
.text-accent,
.list-accent li::before {
    color: var(--ex-accent);
}

.bg-accent,
.list-bg-accent li::before {
    background-color: var(--ex-accent);
    color: var(--bs-black);
}

.bg-gradient-accent {
    background-image: var(--ex-gradient-accent);
}

/* Colors - gold */
.list-bg-gold-gradient li::before {
    background-image: linear-gradient(158deg, hsl(30, 100%, 78%), hsl(40, 100%, 74%), hsl(50, 100%, 82%), hsl(40, 86%, 60%), hsl(30, 85%, 54%));
    background-size: 300% 100%;
    border: 1px solid hsla(40, 92%, 14%, 0.4);
    /* box-shadow: 0 0 0 3px hsl(var(--ex-primary-h), 40%, 92%), 0 0 0 5px hsl(var(--ex-primary-h), 40%, 80%); */
    box-shadow: 0 3px 6px hsla(0, 0%, 0%, 0.1),
        0 3px 6px hsla(40, 80%, 25%, 0.2),
        inset 0 -1px 1px 2px hsl(48, 90%, 60%),
        0 1px 5px 1px hsl(40, 100%, 25%),
        0 0 0 4px hsl(48, 70%, 62%),
        0 0 0 5px hsl(40, 60%, 48%);
    color: var(--ex-night);
    filter: hue-rotate(358deg) contrast(1.1) saturate(0.85);

}

/* Colors - beige */
.text-beige,
.list-beige li::before {
    color: var(--ex-beige);
}

.bg-beige,
.list-bg-beige li::before {
    background-color: var(--ex-beige);
    color: var(--bs-black);
}

/* Colors - peach */
.text-peach,
.list-peach li::before {
    color: var(--ex-peach) !important;
}

.bg-peach,
.list-bg-peach li::before {
    background-color: var(--ex-peach) !important;
}

/* Colors - warning */
.text-warning,
.list-warning li::before {
    color: var(--ex-warning) !important;
}

.bg-warning,
.list-bg-warning li::before {
    background-color: var(--ex-warning) !important;
}

.bg-gradient-warning {
    background-image: var(--ex-gradient-warning);
}

/* Colors - danger */
.text-danger,
.list-danger li::before {
    color: var(--ex-danger) !important;
}

.bg-danger,
.list-bg-danger li::before {
    background-color: var(--ex-danger) !important;
}

.bg-gradient-danger {
    background-image: var(--ex-gradient-danger);
}

/* Colors - pink */
.text-pink,
.list-pink li::before {
    color: var(--ex-pink) !important;
}

.bg-pink,
.list-bg-pink li::before {
    background-color: var(--ex-pink) !important;
}

/* Colors - success */
.text-success,
.list-success li::before {
    color: var(--ex-success) !important;
}

.bg-success,
.list-bg-success li::before {
    background-color: var(--ex-success) !important;
}

.bg-gradient-success {
    background-image: linear-gradient(176deg, hsl(var(--ex-teal-h), 50%, 94%), hsl(var(--ex-teal-h), 70%, 92%), hsl(var(--ex-teal-h), 98%, 98%), hsl(var(--ex-teal-h), 75%, 92%), hsl(var(--ex-teal-h), 90%, 94%));
    background-size: 150% 150%;
    background-position: center;
    border: 1px solid hsla(70, 92%, 34%, 0.4);
    box-shadow: inset 0 -2px 5px 1px hsl(var(--ex-teal-h), 60%, 90%), inset 0 -1px 1px 3px hsl(var(--ex-teal-h), 80%, 90%), 0 14px 14px -14px hsla(var(--ex-teal-h), 80%, 20%, 0.15), 0 40px 40px -40px hsla(var(--ex-teal-h), 80%, 20%, 0.05), 0 12px 24px -8px hsla(var(--ex-teal-h), 80%, 20%, 0.1);
}

/* Colors - yellow */
.text-yellow,
.list-yellow li::before {
    color: var(--bs-yellow) !important;
}

.bg-yellow,
.list-bg-yellow li::before {
    background-color: var(--bs-yellow) !important;
}

/* Colors - green */
.text-green,
.list-green li::before {
    color: var(--bs-green) !important;
}

.bg-green,
.list-bg-green li::before {
    background-color: var(--bs-green) !important;
}

/* Colors - teal */
.text-teal,
.list-teal li::before {
    color: var(--ex-teal) !important;
}

.bg-teal,
.list-bg-teal li::before {
    background-color: var(--ex-teal) !important;
}

/* Colors - light teal */
.text-teal-light,
.list-teal-light li::before {
    color: var(--ex-teal-light) !important;
}

.bg-teal-light,
.list-bg-teal-light li::before {
    background-color: var(--ex-teal-light) !important;
}

/* Colors - dark teal */
.text-teal-dark,
.list-teal-dark li::before {
    color: var(--ex-teal-dark) !important;
}

.bg-teal-dark,
.list-bg-teal-dark li::before {
    background-color: var(--ex-teal-dark) !important;
}

/* Colors - blue */
.text-blue,
.list-blue li::before {
    color: var(--bs-blue) !important;
}

.bg-blue,
.list-bg-blue li::before {
    background-color: var(--bs-blue) !important;
}

.bg-blue-gradient,
.list-bg-blue-gradient li::before {
    left: -2.2rem !important;
    background-image: linear-gradient(158deg,
        hsl(200, 90%, 75%) 0%,
        hsl(220, 80%, 50%) 20%,
        hsl(220, 100%, 35%) 40%,
        hsl(220, 100%, 38%) 80%,
        hsl(200, 100%, 42%) 100%);
    background-size: 300% 100%;
    box-shadow: 0 0 0 3px hsl(220, 80%, 90%), 0 0 0 5px hsla(200, 98%, 42%, 0.6);
    color: hsl(0, 0%, 100%);
}

/* Colors - light blue */
.text-blue-light,
.list-blue-light li::before {
    color: var(--ex-blue-light) !important;
}

.bg-blue-light,
.list-bg-blue-light li::before {
    background-color: var(--ex-blue-light) !important;
}

/* Colors - black */
.text-black,
.list-black li::before {
    color: hsl(0, 0%, 0%) !important;
}

.bg-black,
.list-bg-black li::before {
    background-color: hsl(0, 0%, 0%) !important;
}

/* Colors - night */
.text-night,
.list-night li::before {
    color: var(--ex-night) !important;
}

.bg-night,
.list-bg-night li::before {
    background-color: var(--ex-night) !important;
    color: hsl(0, 0%, 100%);
}

/* Colors - dark gray */
.text-dark,
.list-dark li::before {
    color: var(--bs-dark) !important;
}

.bg-dark,
.list-bg-dark li::before {
    background-color: var(--bs-dark) !important;
}

/* Colors - light gray */
.text-light,
.list-light li::before {
    color: var(--ex-light) !important;
}

.bg-light,
.list-bg-light li::before {
    background-color: var(--ex-light) !important;
    color: var(--ex-night);
}

/* Colors - white */
.list-white li::before {
    color: hsl(0, 0%, 100%) !important;
}

.list-bg-white li::before {
    background-color: hsl(0, 0%, 100%) !important;
    color: var(--ex-night);
}

/* Headings and paragraphs */
/* h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    text-wrap: balance;
} */

p {
    text-wrap: pretty;
}

h1, .h1 {
    font-size: 2em;
    line-height: 1.1;
}

@media (min-width: 1200px) {
    h1, .h1 {
        font-size: 2.5em;
    }
}

h2, .h2 {
    font-size: 1.8em;
    line-height: 1.1;
}

@media (min-width: 992px) {
    h2, .h2 {
        font-size: 2em;
    }
}

h3, .h3 {
    font-size: 1.6em;
    line-height: 1.1;
}

@media (min-width: 992px) {
    h3, .h3 {
        font-size: 1.8em;
    }
}

h4, .h4 {
    font-size: 1.4em;
}

@media (min-width: 992px) {
    h4, .h4 {
        font-size: 1.6em;
    }
}

h5, .h5 {
    font-size: 1.2em;
}

@media (min-width: 992px) {
    h5, .h5 {
        font-size: 1.3em;
    }
}

h6, .h6 {
    font-size: 1em;
}

.display-1 {
    font-size: 4.6em;
}

@media (min-width: 992px) {
    .display-1 {
        font-size: 6em;
    }
}

.display-2 {
    font-size: 3.6em;
}

@media (min-width: 992px) {
    .display-2 {
        font-size: 5.5em;
    }
}

.display-3 {
    font-size: 2.6em;
}

@media (min-width: 992px) {
    .display-3 {
        font-size: 4.5em;
    }
}

.display-4 {
    font-size: 2.3em;
}

@media (min-width: 992px) {
    .display-4 {
        font-size: 3.5em;
    }
}

/* Gradient headings */
.h-gradient-steel {
    padding-bottom: 0.05em;
    background: linear-gradient(hsl(0, 0%, 100%), hsl(214, 20%, 54%));
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 2px 2px 0 hsla(0, 0%, 0%, 0.1);
}

.h-gradient-gold {
    padding-bottom: 0.05em;
    /* background: linear-gradient(-2deg, hsl(30, 55%, 52%) 15%, hsl(43, 64%, 61%) 55%, hsl(43, 87%, 69%) 90%); */
    /* background: linear-gradient(-2deg, #a76900 15%, #ffbc3f 55%, #ffce85 90%); */
    background: linear-gradient(-2deg, #e89303 15%, #ffba51 55%, #fdd852 90%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 2px 2px 3px hsla(0, 0%, 0%, 0.1);
}

/* Horizontal rules */
hr {
    opacity: 1;
}

hr,
.hr,
.hr-angle,
.h-hr,
.h-hr-angle,
.h-hr-dark,
.h-hr-angle-dark {
    --ex-hr-color: hsla(0, 0%, 25%, 0.3);
}

hr,
.hr {
    border-top-color: var(--ex-hr-color);
}

.h-hr,
.h-hr-angle {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.h-hr-left::before,
.h-hr-right::after,
.h-hr-angle-left::before,
.h-hr-angle-right::after {
    position: relative;
    height: 2px;
    content: '\a0';
    flex-grow: 1;
}

.h-hr::before,
.h-hr::after {
    background-color: var(--ex-hr-color);
}

.h-hr-light,
.h-hr-angle-light {
    --ex-hr-color: hsla(0, 0%, 100%, 0.4);
}

.h-hr-light::before,
.h-hr-light::after {
    background-color: var(--ex-hr-color);
}

.h-hr-left::before,
.h-hr-angle-left::before {
    margin-right: 0.3em;
}

.h-hr-right::after,
.h-hr-angle-right::after {
    margin-left: 0.3em;
}

@media (min-width: 768px) {
    .h-hr-left::before,
    .h-hr-angle-left::before {
        margin-right: 0.6em;
    }

    .h-hr-right::after,
    .h-hr-angle-right::after  {
        margin-left: 0.6em;
    }
}

.h-hr-angle-left::before,
.h-hr-angle-right::after {
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
}

.h-hr-angle-left::before {
    border-right: 180px solid var(--ex-hr-color);
}

.h-hr-angle-right::after {
    border-left: 180px solid var(--ex-hr-color);
}

/* Heading with horizontal rule - hide for smaller screens */
@media (max-width: 767px) {
    .h-hr-xs-none {
        display: block;
    }

    .h-hr-xs-none::before,
    .h-hr-xs-none::after {
        background-color: transparent;
        border: none;
    }
}

/* Horizontal rules - angle */
.hr-angle {
    position: relative;
    border-top: 4px solid var(--ex-hr-color);
}

.hr-angle::before {
    content: '\a0';
    position: absolute;
    right: 100%;
    top: -4px;
    width: 0;
    height: 0;
    border-top: 2px solid transparent;
    border-right: 180px solid var(--ex-hr-color);
    border-bottom: 2px solid transparent;
}

.hr-angle::after {
    content: '\a0';
    position: absolute;
    left: 100%;
    top: -4px;
    width: 0;
    height: 0;
    border-top: 2px solid transparent;
    border-left: 180px solid var(--ex-hr-color);
    border-bottom: 2px solid transparent;
}

/* Dividers */
.custom-shape-divider-top-1694275117 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.custom-shape-divider-bottom-1694275194 {
    position: absolute;
    bottom: -0.02rem;
    left: 0;
    z-index: 4;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.custom-shape-divider-bottom-1694275194 .shape-fill {
    fill: hsl(0, 0%, 100%);
}

/* Headers */
.module-site-header {
    position: relative;
    z-index: 4;
    max-width: 1200px;
    /* background-color: hsl(var(--ex-primary-h), 14%, 96%); */
    /* box-shadow: 0 -0.2rem 1rem hsla(var(--ex-primary-h), 10%, 10%, 0.2), inset 0 0 0 1px hsla(var(--ex-primary-h), 10%, 10%, 0.1); */
}

/* @media (min-width: 1280px) {
    .module-site-header,
    .module-site-header div,
    .module-site-header a {
        border-radius: 0.25rem 0.25rem 0 0;
    }
} */

/* @media (min-width: 992px) {
    .module-site-header > div {
        min-height: 154px;
    }
} */

.header-glow {
    opacity: 0.9;
    position: absolute;
    bottom: 0;
    z-index: 1;
}

/* Order form header */
.header-of {
    position: relative;
    max-width: 1260px;
    font-size: 80%;
    line-height: 1.4;
}

@media (min-width: 992px) {
    .header-of {
        min-height: 92px;
        font-size: 75%;
    }
}

.header-of-dark {
    color: hsl(0, 0%, 96%);
    -webkit-font-smoothing: antialiased;
}

.header-of-light {
    color: var(--ex-night);
}

.header-of-secure::before,
.header-of-phone::before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.header-of-secure::before {
    position: relative;
    margin-right: 0.5em;
    content: '\f023';
}

.header-of-phone::before {
    position: relative;
    margin-right: 0.2rem;
    font-size: 1.1em;
    content: '\f3cd';
}

.lr-phone-link {
    padding: 0.25rem 0.65rem;
    text-decoration: none !important;
    transition: all 0.2s;
}

.header-of-dark .lr-phone-link {
    background-color: hsla(0, 0%, 100%, 0.05);
    border: 1px solid hsla(0, 0%, 100%, 0.2);
    box-shadow: 0 0.1rem 0.4rem hsla(0, 0%, 0%, 0.7);
    color: hsl(0, 0%, 96%);
}

.header-of-dark .lr-phone-link:hover {
    background-color: hsla(0, 0%, 100%, 0.08);
    border: 1px solid hsla(0, 0%, 100%, 0.3);
    box-shadow: 0 0.1rem 0.4rem hsla(0, 0%, 0%, 0.9);
    color: hsl(0, 0%, 96%);
}

.header-of-light .lr-phone-link {
    background-color: hsla(0, 0%, 100%, 0.5);
    border: 1px solid hsla(var(--ex-primary-h), 58%, 8%, 0.2);
    box-shadow: 0 0.1rem 0.4rem hsla(var(--ex-primary-h), 58%, 8%, 0.1);
    color: var(--ex-night);
}

.header-of-light .lr-phone-link:hover {
    background-color: hsla(0, 0%, 100%, 0.8);
    border: 1px solid hsla(var(--ex-primary-h), 58%, 8%, 0.25);
    box-shadow: 0 0.2rem 0.6rem hsla(var(--ex-primary-h), 58%, 8%, 0.15);
    color: var(--ex-night);
}

.lr-phone-number {
    white-space: nowrap;
}

/* Backgrounds */
.bg-theme {
    /* background: linear-gradient(174deg, hsl(var(--ex-primary-h), 20%, 98%), hsl(var(--ex-primary-h), 20%, 94%), hsl(var(--ex-primary-h), 20%, 92%)); */
    /* background: linear-gradient(154deg, hsl(var(--ex-primary-h), 30%, 98%), hsl(var(--ex-primary-h), 30%, 96%), hsl(var(--ex-primary-h), 30%, 88%)); */
    background: linear-gradient(154deg, hsl(var(--ex-primary-h), 10%, 98%), hsl(var(--ex-primary-h), 10%, 96%), hsl(var(--ex-primary-h), 10%, 88%));
}

.bg-dots {
    position: relative;
    z-index: 1;
    background: radial-gradient(hsl(var(--ex-primary-h), 14%, 92%) 20%, transparent 20%), radial-gradient(hsl(var(--ex-primary-h), 14%, 92%) 20%, transparent 20%);
    background-color: #fff;
    background-position: 0 0, 100px 100px;
    background-size: 10px 10px;
    box-shadow: inset 0 80px 80px -80px hsla(var(--ex-primary-h), 14%, 60%, 0.6);
}

.bg-diagonals {
    position: relative;
    z-index: 1;
    background-color: hsl(var(--ex-primary-h), 80%, 92%);
    background-size: 10px 10px;
    background-image: repeating-linear-gradient(-45deg, hsla(var(--ex-primary-h), 6%, 80%, 0.8) 0, hsla(var(--ex-primary-h), 6%, 80%, 0.8) 1px, hsl(var(--ex-primary-h), 6%, 92%) 0, hsl(var(--ex-primary-h), 6%, 92%) 50%);
}

.bg-angle-primary-light {
    --bg-color-hsl: var(--ex-primary-h), 60%, 86%;
    background-color: hsla(var(--bg-color-hsl), 0.1);
    background-image:
        linear-gradient(120deg, hsla(var(--ex-primary-h), 60%, 40%, 0.1) 10%, transparent 10%, transparent 100%),
        linear-gradient(120deg, hsla(var(--ex-primary-h), 60%, 50%, 0.1) 20%, transparent 20%, transparent 100%),
        linear-gradient(120deg, hsla(var(--ex-primary-h), 60%, 60%, 0.1) 30%, transparent 30%, transparent 100%),
        linear-gradient(240deg, transparent 90%, hsla(var(--ex-primary-h), 60%, 70%, 0.15) 90%, transparent 100%),
        linear-gradient(240deg, transparent 70%, hsla(var(--ex-primary-h), 60%, 70%, 0.15) 70%, transparent 100%),
        linear-gradient(240deg, hsla(var(--ex-primary-h), 60%, 40%, 0.1) 10%, transparent 10%, transparent 100%),
        linear-gradient(240deg, hsla(var(--ex-primary-h), 60%, 50%, 0.1) 20%, transparent 20%, transparent 100%),
        linear-gradient(240deg, hsla(var(--ex-primary-h), 60%, 60%, 0.1) 30%, transparent 30%, transparent 100%),
        linear-gradient(120deg, transparent 90%, hsla(var(--ex-primary-h), 60%, 70%, 0.15) 90%, transparent 100%),
        linear-gradient(120deg, transparent 70%, hsla(var(--ex-primary-h), 60%, 70%, 0.15) 70%, transparent 100%);
    background-size: 100% 100%;
}

.bg-circles {
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    background-image: radial-gradient(circle at center center, hsla(var(--ex-primary-h), 14%, 92%, 0.1), transparent), repeating-radial-gradient(circle at center center, hsla(var(--ex-primary-h), 14%, 92%, 0.1), hsla(var(--ex-primary-h), 14%, 92%, 0.1), 10px, transparent 20px, transparent 10px);
    background-blend-mode: multiply;
}

.bg-circles-gradient {
    border-radius: var(--bs-border-radius-xl);
    background-image:
        radial-gradient(circle at 86% 7%, hsla(0, 0%, 10%, 0.14) 0%, hsla(0, 0%, 10%, 0.14) 50%, hsla(var(--ex-primary-h), 100%, 80%, 0.14) 50%, hsla(var(--ex-primary-h), 100%, 80%, 0.14) 100%),
        radial-gradient(circle at 15% 16%, hsla(0, 0%, 39%, 0.04) 0%, hsla(0, 0%, 39%, 0.04) 50%, hsla(0, 0%, 0%, 0.04) 50%, hsla(0, 0%, 0%, 0.04) 100%),
        radial-gradient(circle at 75% 99%, hsla(0, 0%, 100%, 0.06) 0%, hsla(0, 0%, 100%, 0.06) 50%, hsla(0, 0%, 0%, 0.06) 50%, hsla(0, 0%, 0%, 0.06) 100%),
        linear-gradient(166deg, hsla(var(--ex-primary-h), 100%, 50%, 0.3), hsla(180, 100%, 40%, 0.5) 40%, hsl(200, 100%, 10%) 80%);
    backdrop-filter: contrast(1.2);
}

.bg-fade-up::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: linear-gradient(hsl(0, 0%, 100%), transparent 50%);
    content: '\a0';
}

.bg-fade-down::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: linear-gradient(transparent, hsl(0, 0%, 100%) 90%);
    content: '\a0';
}

.bg-fade-down-primary-white::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    content: '\a0';
}

.bg-fade-down-primary-white::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    background: linear-gradient(hsla(var(--ex-primary-h), 100%, 4%, 0.1), hsla(var(--ex-primary-h), 100%, 50%, 0.3) 10%, hsla(0, 80%, 80%, 0.7) 90%);
    content: '\a0';
}

@media (min-width: 992px) {
    .bg-fade-down-primary-white::before {
        background: linear-gradient(170deg, hsla(var(--ex-primary-h), 100%, 10%, 0.3) , hsla(var(--ex-primary-h), 100%, 50%, 0.5) 40%, hsla(0, 80%, 60%, 0.8) 90%);
    }

    .bg-fade-down-primary-white::after {
        background: linear-gradient(hsla(var(--ex-primary-h), 90%, 8%, 0.3), hsla(var(--ex-primary-h), 90%, 30%, 0.3) 30%, hsla(var(--ex-primary-h), 100%, 70%, 0.3) 50%, hsl(0, 0%, 100%));
    }
}

/* Backgrounds - glass */
.bg-glass {
    background: linear-gradient(179deg, hsl(var(--ex-primary-h), 50%, 10%, 0.4), hsl(var(--ex-primary-h), 100%, 10%, 0.4) 30%, hsl(var(--ex-primary-h), 100%, 4%) 70%);
    box-shadow: inset 0 0 0 1.5px hsl(0, 0%, 100%, 0.12), 0 14px 14px -14px hsl(var(--ex-primary-h), 40%, 4%, 0.8), 0 12px 24px -8px hsl(var(--ex-primary-h), 40%, 8%, 0.6), 0 40px 40px -40px hsl(var(--ex-primary-h), 40%, 4%, 0.4);
    /* backdrop-filter: blur(5px); */
}

.bg-glass-light {
    background: linear-gradient(170deg, hsla(var(--ex-primary-h), 50%, 98%, 0.98), hsla(var(--ex-primary-h), 50%, 90%, 0.8) 60%, hsla(var(--ex-primary-h), 50%, 98%, 0.94) 70%);
    box-shadow: inset 0 0 0 1px hsla(0, 0%, 100%, 0.5), 0 14px 14px -14px hsla(var(--ex-primary-h), 50%, 2%, 0.3), 0 14px 26px -8px hsla(var(--ex-primary-h), 50%, 2%, 0.2), 0 40px 40px -40px hsla(var(--ex-primary-h), 50%, 2%, 0.05);
    /* backdrop-filter: blur(5px); */
}

.bg-glass-dark {
    background: linear-gradient(170deg, hsla(var(--ex-primary-h), 80%, 12%, 0.7), hsla(var(--ex-primary-h), 80%, 16%, 0.7) 70%, hsl(var(--ex-primary-h), 80%, 12%, 0.7) 90%);
    box-shadow: inset 0 0 0 1px hsla(192, 10%, 70%, 0.1), 0 14px 14px -14px hsla(192, 50%, 2%, 0.5), 0 12px 24px -8px hsla(192, 50%, 2%, 0.5), 0 40px 40px -40px hsla(192, 50%, 2%, 0.4);
    /* backdrop-filter: blur(5px); */
}

/* Backgrounds - stripes - complex */
.bg-stripe-vertical-night {
    --ex-bg-h: 100;
    --ex-bg-s: 100%;
    --ex-bg-l: 4%;
    --ex-bg-angle: 190deg;
    background-image:
        linear-gradient(var(--ex-bg-angle),
            hsla(192, 100%, 40%, 0.9),
            hsla(192, 100%, 30%, 0.3) 40%,
            transparent
        ),
        repeating-linear-gradient(90deg,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 0px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 29px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 29px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 69px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 69px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 111px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 111px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 122px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.9) 122px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.9) 145px
        ),
        repeating-linear-gradient(90deg,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 0px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 32px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 32px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 80px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.5) 80px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.5) 95px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 95px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 133px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.3) 133px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.3) 168px
        ),
        repeating-linear-gradient(90deg,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 0px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 147px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 147px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 244px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 244px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 325px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 325px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 429px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.5) 429px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.5) 572px
        ),
        repeating-linear-gradient(90deg,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 0px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 82px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 82px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 150px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 150px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 240px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 240px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 374px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 374px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 435px
        ),
        linear-gradient(180deg,
            hsl(192, 100%, 38%),
            hsl(192, 100%, 40%) 40%,
            hsl(196, 100%, 16%) 86%,
            hsl(196, 100%, 2%)
        );
}

body.bg-stripe-vertical-night::after {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: linear-gradient(hsla(0, 0%, 0%, 0.9), transparent 30%, hsla(0, 0%, 0%, 0.5));
    backdrop-filter: contrast(1.1);
    content: '\a0';
}

.bg-stripe-vertical-bright {
    --ex-bg-h: 192;
    --ex-bg-s: 10%;
    --ex-bg-l: 90%;
    background-image:
        radial-gradient(at top, hsl(0, 0%, 100%), transparent 50%),
        radial-gradient(at bottom, hsl(0, 0%, 100%), transparent 50%),
        /* linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0.6) 20%, hsl(0, 0%, 100%)), */
        repeating-linear-gradient(90deg,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 0px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 29px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 29px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 69px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 69px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 111px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 111px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 122px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.9) 122px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.9) 145px
        ),
        repeating-linear-gradient(90deg,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 0px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 32px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 32px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 80px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.5) 80px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.5) 95px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 95px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 133px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.3) 133px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.3) 168px
        ),
        repeating-linear-gradient(90deg,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 0px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 147px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 147px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 244px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 244px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 325px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 325px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 429px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.5) 429px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.5) 572px
        ),
        repeating-linear-gradient(90deg,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 0px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.2) 82px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 82px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.6) 150px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 150px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 240px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 240px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.4) 374px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 374px,
            hsla(var(--ex-bg-h), var(--ex-bg-s), var(--ex-bg-l), 0.1) 435px
        ),
        linear-gradient(180deg,
            hsl(var(--ex-bg-h), var(--ex-bg-s), 80%),
            hsl(var(--ex-bg-h), var(--ex-bg-s), 50%) 80%,
            hsl(var(--ex-bg-h), var(--ex-bg-s), 98%)
        );
}

.accent-lines::before {
    position: absolute;
    top: 1.8em;
    left: -3.8em;
    width: 120px;
    height: 5px;
    background-color: var(--ex-success);
    content: '\a0';
}

.accent-lines::after {
    position: absolute;
    top: 1.4em;
    left: -1.6em;
    width: 100px;
    height: 3px;
    background-color: var(--ex-success);
    content: '\a0';
}

/* .accent-lines div::before {
    position: absolute;
    bottom: 1.8em;
    right: -3.8em;
    width: 120px;
    height: 5px;
    background-color: var(--ex-success);
    content: '\a0';
}

.accent-lines div::after {
    position: absolute;
    bottom: 1.4em;
    right: -1.6em;
    width: 100px;
    height: 3px;
    background-color: var(--ex-success);
    content: '\a0';
} */

/* Background images */
.bg-img-1 {
    background-color: hsl(0, 0%, 100%);
    background-image: url(https://d3t4gzjyl7evuc.cloudfront.net/25/buc/2507-project-mafa/img/bg-1.jpg);
    background-repeat: no-repeat;
    background-position: top;
    background-attachment: scroll;
    background-size: cover;
}

.bg-img-2 {
    background-color: var(--ex-primary-dark);
    background-image: url(https://d3t4gzjyl7evuc.cloudfront.net/25/lot/2507-divergence/img/lot-diverg-bg.jpg);
    background-repeat: no-repeat;
    background-position: top;
    background-attachment: scroll;
    background-size: cover;
}

.bg-img-3 {
    background-color: var(--ex-night);
    background-image: url(https://d3t4gzjyl7evuc.cloudfront.net/25/bit/2504-robotaxi/img/bg-3.jpg);
    background-repeat: no-repeat;
    background-position: top;
    background-attachment: scroll;
    background-size: cover;
}

.bg-img-lines {
    background-color: transparent;
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/certificate/bg-lines.png);
    background-repeat: no-repeat;
    background-position: top;
    background-attachment: scroll;
    background-size: cover;
}

.bg-img-chart-light-gray {
    background-color: transparent;
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/backgrounds/1.0.1/bg-chart-3-light-gray.png?v=2);
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: scroll;
    background-size: cover;
}

.bg-img-chart-light-blue {
    background-color: transparent;
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/backgrounds/1.0.1/bg-chart-3-light-blue.png?v=2);
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: scroll;
    background-size: cover;
}

.bg-img-chart-gray {
    background-color: transparent;
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/backgrounds/bg-chart-1-gray.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: scroll;
    background-size: cover;
}

.bg-img-chart-blue {
    background-color: transparent;
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/backgrounds/bg-chart-1-blue.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: scroll;
    background-size: cover;
}

.bg-overlay-light::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(hsla(0, 0%, 100%, 0.4), hsla(0, 0%, 100%, 0.8) 40%);
    border-radius: 0.25rem 0.25rem 0 0;
    content: '\a0';
}

.bg-overlay-dark::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(hsl(var(--ex-primary-h), 100%, 10%, 0.5), hsl(var(--ex-primary-h), 100%, 10%, 0.4), hsl(var(--ex-primary-h), 100%, 10%, 0.6) 98%);
    content: '\a0';
}

/* Main container */
.main {
    position: relative;
    z-index: 3;
    text-align: left !important;
}

.module-site .main {
    padding-bottom: 2em;
}

.main.hl,
.module-site.hl .main {
    padding-bottom: 15em;
}

@media (min-width: 768px) {
    .main.hl,
    .module-site.hl .main {
        padding-bottom: 8em;
    }
}

/* Navs */
.nav-link {
    cursor: pointer;
}

/* Navs - site */
.nav-site-container {
    position: relative;
    z-index: 5;
    max-width: 1520px;
    min-height: 80px;
}

.nav-site {
    position: fixed;
    z-index: 0;
    width: 100%;
    height: 0;
    top: -9rem;
    left: 0;
    font-size: 105%;
    transition: max-height 0.4s ease-out;
}

@media (min-width: 1200px) {
    .nav-site {
        position: relative;
        z-index: 3;
        top: 0;
        height: auto;
    }
}

@media (min-width: 1600px) {
    .nav-site {
        border-bottom-right-radius: 1rem;
        border-bottom-left-radius: 1rem;
    }
}

.nav-site-dark {
    -webkit-font-smoothing: antialiased;
}

.nav-site [class*="col"] {
    margin-right: -1px;
}

.nav-site [class*="col"]:last-of-type {
    border-right: 0;
}

.nav-site-link {
    position: relative;
    display: block;
    padding: 1rem 0.5rem 0.85rem 0.5rem;
    /* font-family: var(--ex-font-condensed); */
    font-weight: 600;
    font-size: 105%;
    line-height: 1.3;
    letter-spacing: -0.01em;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    transition: all 0.4s;
}

@media (min-width: 1200px) {
    .nav-site-link {
        font-weight: 600;
        font-size: 85%;
        /* text-transform: uppercase; */
    }
}

.nav-site-link:hover {
    text-decoration: none;
    transition: all 0.2s;
}

.nav-site-link small {
    display: block;
    font-family: var(--ex-font-system);
    /* font-family: var(--ex-font-sans); */
    font-weight: 400;
    font-size: 55%;
    line-height: 1.3;
    text-transform: none;
    transition: all 0.2s;
    -webkit-font-smoothing: subpixel-antialiased;
}

@media (min-width: 1200px) {
    .nav-site-link small {
        font-size: 75%;
    }
}

/* Navs - site nav links - dark */
.nav-site-dark .nav-site-link {
    color: hsla(var(--ex-primary-h), 58%, 99%, 0.8);
}

.nav-site-dark .nav-site-link:hover {
    color: hsla(var(--ex-primary-h), 58%, 99%, 1);
}

.nav-site-dark .nav-site-link.active {
    padding-top: 0.5rem;
    color: hsl(0, 0%, 100%);
}

.nav-site-dark .nav-site-link.active::after {
    opacity: 0;
    position: absolute;
    top: 45%;
    left: -0.6rem;
    transform: translateY(-50%);
    width: 12px;
    height: 2px;
    background-color: var(--ex-teal);
    /* border-radius: 12px; */
    content: '\a0';
    animation-name: expand;
    animation-duration: 0.4s;
    animation-delay: 0.1s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-fill-mode: forwards;
}

@media (min-width: 1200px) {
    .nav-site-dark .nav-site-link.active::after {
        top: auto;
        left: 50%;
        bottom: 8px;
        transform: translateX(-50%);
        width: 22px;
    }
}

.nav-site-dark .nav-site-link small {
    color: hsla(var(--ex-primary-h), 58%, 99%, 0.7);
    letter-spacing: 0;
}

.nav-site-dark .nav-site a:hover small {
    color: hsla(var(--ex-primary-h), 58%, 99%, 0.8);
}

/* Navs - site nav toggle */
.nav-site-toggle-wrap {
    --ex-nav-icon-sizing: 24px;
    --ex-nav-icon-bar-sizing: 8px;
    --ex-nav-icon-color: hsl(0, 0%, 100%);
    display: none;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 2rem;
    width: calc(var(--ex-nav-icon-sizing) * 1.8);
    height: calc(var(--ex-nav-icon-sizing) * 1.8);
    padding: 1rem;
    border-radius: 50rem;
    /* transform: translateX(-50%) scale(0.8); */
    transform: scale(0.8);
}

.nav-site-toggle {
    position: relative;
    width: var(--ex-nav-icon-sizing);
    /* height: var(--ex-nav-icon-sizing); */
    transform: scale(0.75);
}

.nav-site-toggle-light.nav-site-toggle-wrap {
    border: 2px solid var(--ex-nav-icon-color);
}

.nav-site-toggle-light span {
    background-color: var(--ex-nav-icon-color);
}

.nav-site-toggle-dark.nav-site-toggle-wrap {
    background-color: var(--ex-light);
    border: 4px solid var(--ex-night);
}

.nav-site-toggle-dark span {
    background-color: var(--ex-light);
}

.nav-site-toggle .nav-site-toggle-btn {
    width: var(--ex-nav-icon-sizing);
    cursor: pointer;
}

.nav-site-toggle span {
    display: block;
    position: relative;
    width: 100%;
    height: 4px;
    border-radius: 8px;
    transition: all 0.3s;
}

.nav-site-toggle span + span {
    margin-top: 4px;
}

.nav-site-toggle.nav-site-toggle-open span:nth-child(1) {
    animation: ease 0.7s top-1 forwards;
}

.nav-site-toggle span:nth-child(1) {
    animation: ease 0.7s top-2 forwards;
}

.nav-site-toggle.nav-site-toggle-open span:nth-child(2) {
    animation: ease 0.7s scaled-1 forwards;
}

.nav-site-toggle span:nth-child(2) {
    animation: ease 0.7s scaled-2 forwards;
}

.nav-site-toggle.nav-site-toggle-open span:nth-child(3) {
    animation: ease 0.7s bottom-1 forwards;
}

.nav-site-toggle span:nth-child(3) {
    animation: ease 0.7s bottom-2 forwards;
}

@keyframes top-1 {
    0% {
        top: 0;
        transform: rotate(0);
    }
    50% {
        top: var(--ex-nav-icon-bar-sizing);
        transform: rotate(0);
    }
    100% {
        top: var(--ex-nav-icon-bar-sizing);
        transform: rotate(45deg);
    }
}

@keyframes top-2 {
    0% {
        top: var(--ex-nav-icon-bar-sizing);
        transform: rotate(45deg);
    }
    50% {
        top: var(--ex-nav-icon-bar-sizing);
        transform: rotate(0deg);
    }
    100% {
        top: 0;
        transform: rotate(0deg);
    }
}

@keyframes bottom-1 {
    0% {
        bottom: 0;
        transform: rotate(0);
    }
    50% {
        bottom: var(--ex-nav-icon-bar-sizing);
        transform: rotate(0);
    }
    100% {
        bottom: var(--ex-nav-icon-bar-sizing);
        transform: rotate(135deg);
    }
}

@keyframes bottom-2 {
    0% {
        bottom: var(--ex-nav-icon-bar-sizing);
        transform: rotate(135deg);
    }
    50% {
        bottom: var(--ex-nav-icon-bar-sizing);
        transform: rotate(0);
    }
    100% {
        bottom: 0;
        transform: rotate(0);
    }
}

@keyframes scaled-1 {
    50% {
        transform: scale(0);
    }
    100% {
        transform: scale(0);
    }
}

@keyframes scaled-2 {
    0% {
        transform: scale(0);
    }
    50% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

.logo-container {
    position: absolute;
    z-index: 10;
    width: 100%;
}

@media (max-width: 1199px) {
    .nav-site-toggle-wrap {
        display: flex;
    }

    .nav-site {
        overflow: hidden;
        padding-top: 6rem;
        padding-bottom: 0.01rem;
        padding-left: 1rem;
        transition: all 0.6s;
    }

    .nav-site-link {
        opacity: 0;
    }

    .nav-site-open .nav-site {
        top: 0;
        height: 100%;
        background: hsl(0, 0%, 0%);
    }

    .nav-site-open .nav-site-link {
        animation-name: fade-in;
        animation-duration: 1s;
        animation-iteration-count: 1;
        animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
        animation-fill-mode: forwards;
    }

    .nav-site-open .logo-container {
        position: fixed;
    }

    .nav-site [class*="col"] {
        border: 0;
    }
}

/* Navs - extra small padding */
.nav-p-xs .nav-link {
    /* padding: 0.2rem 0.3rem; */
    padding: 0.2rem 0;
}

/* Navs - small padding */
.nav-p-sm .nav-link {
    padding: 0.5rem 0.65rem;
}

.nav-p-sm:first-child {
    padding-left: 0;
}

.nav-p-sm:last-child {
    padding-right: 0;
}

/* Navs - vertical bar separated */
.nav-sep-vertical {
    display: block;
    text-align: center;
}

@media (min-width: 768px) {
    .nav-sep-vertical {
        display: flex;
    }

    .nav-sep-vertical .nav-item::after {
        position: absolute;
        right: 0;
        top: 45%;
        content: "|";
        transform: translateY(-45%);
    }

    .nav-sep-vertical .nav-item:last-child::after,
    .nav-link-cookie-pref::after {
        display: none;
    }
}

.nav-sep-vertical .nav-link:hover {
    background-color: transparent !important;
}

/* Content */
.content {
    position: relative;
    max-width: 980px;
    margin-right: auto;
    margin-left: auto;
}

.content a {
    font-weight: 700;
    text-decoration: underline;
}

/* Figures and images */
.figure-xxl {
    max-width: 400px;
}

@media (min-width: 768px) {
    .figure-xxl {
        max-width: 600px;
    }
}

.figure-xl {
    max-width: 300px;
}

@media (min-width: 768px) {
    .figure-xl {
        max-width: 340px;
    }
}

.figure-lg {
    max-width: 200px;
}

@media (min-width: 768px) {
    .figure-lg {
        max-width: 220px;
    }
}

.figure-lg-alt {
    max-width: 140px;
}

@media (min-width: 768px) {
    .figure-lg-alt {
        max-width: 210px;
    }
}

.figure-md {
    max-width: 170px;
}

@media (min-width: 768px) {
    .figure-md {
        max-width: 180px;
    }
}

.figure-md-alt {
    max-width: 136px;
}

@media (min-width: 768px) {
    .figure-md-alt {
        max-width: 164px;
    }
}

.figure-sm {
    max-width: 140px;
}

@media (min-width: 768px) {
    .figure-sm {
        max-width: 160px;
    }
}

.figure-xs {
    max-width: 90px;
}

@media (min-width: 768px) {
    .figure-xs {
        max-width: 120px;
    }
}

.figures {
    position: absolute;
    bottom: -1rem;
    left: 50%;
    width: 1280px;
    max-width: 100%;
    transform: translateX(-50%);
}

.figure-left,
.figure-right {
    display: none;
}

.figure-captions-container {
    display: none;
}

@media (min-width: 1200px) {
    .figure-left,
    .figure-right {
        display: block;
        position: absolute;
        z-index: 3;
        margin-bottom: 0;
    }

    .figure-left {
        left: -5.5rem;
        bottom: -2rem;
        max-width: 400px;
    }

    .figure-right {
        right: -5.5rem;
        bottom: -8rem;
        max-width: 400px;
    }

    /* Figure captions */
    .figure-captions-container {
        display: block;
        position: absolute;
        bottom: -4rem;
        z-index: 4;
        width: 100%;
        height: 240px;
        background: linear-gradient(transparent 40%, hsl(var(--ex-primary-h), 100%, 12%));
    }

    .figure-captions {
        position: absolute;
        left: 50%;
        width: 1280px;
        max-width: 100%;
        height: 200px;
        transform: translateX(-50%);
    }

    .figure-caption {
        position: absolute;
        z-index: 5;
        line-height: 1.2;
    }

    .figure-caption-left {
        left: 7.5rem;
        bottom: 1rem;
    }

    .figure-caption-right {
        right: 7.5rem;
        bottom: 1rem;
    }
}

/* Banner Headshot */
.img-banner-headshot {
    position: absolute;
    z-index: 2;
    bottom: -2.5rem;
    left: -3rem;
    max-width: 340px;
}

/* Logos */
.banner-logo {
    position: relative;
    z-index: 3;
    display: block;
    width: 500px;
    max-width: 100%;
    /* margin-right: auto; */
    /* margin-left: auto; */
}

.main-video-replay .img-banner-logo {
    width: 100%;
    max-width: 240px;
    height: auto;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 768px) {
    .main-video-replay .img-banner-logo {
        max-width: 360px;
        margin-right: 0;
        margin-bottom: 0.85rem;
        margin-left: 0;
    }
}

/* Logos - colors */
.lr-logo-night img {
    filter: invert(0.5) sepia(1) brightness(0.24) saturate(0.55) hue-rotate(175.5deg);
    /* filter: sepia(1) contrast(1.2) hue-rotate(170deg) grayscale(0.4); */
}

.lr-logo-white img {
    filter: grayscale(1) invert(1) brightness(2.5) contrast(2.5);
}

/* Logos - Brownstone Research */
.lr-img-brand-br {
    width: 240px !important;
}

.lr-img-brand-br-sm {
    width: 60px;
}

/* Logos - Casey Research */
.lr-img-brand-cr {
    width: 250px !important;
}

.lr-img-brand-cr-sm {
    width: 60px;
}

/* Logos - Jeff Clark */
.lr-img-brand-jc {
    width: 290px !important;
}

.lr-img-brand-jc-sm {
    width: 60px;
}

/* Logos - Jeff Clark - Delta Report (DRT) */
.lr-img-pub-jc-drt {
    width: 220px !important;
}

/* Logos - Jeff Clark - Earnings Trader (JET) */
.lr-img-pub-jc-jet {
    width: 280px !important;
}

/* Logos - Larry Benedict */
.lr-img-brand-lb {
    width: 230px !important;
    margin-top: -0.1rem;
}

.lr-img-brand-lb-sm {
    width: 68px;
    margin-top: -0.5rem;
}

/* Logos - pubs - Delta Report */
.lr-img-pub-lb-ott {
    width: 176px !important;
}

/* Logos - Legacy Research */
.lr-img-brand-lr {
    width: 230px !important;
}

.lr-img-brand-lr-sm {
    width: 50px;
}

/* Logos - New Paradigm */
.lr-img-brand-np {
    width: 260px !important;
}

.lr-img-brand-np-sm {
    width: 54px;
}

/* Logos - Palm Beach Research Group */
.lr-img-brand-pb {
    width: 300px !important;
}

.lr-img-brand-pb-sm {
    width: 70px;
}

/* Logos - Rogue Economics */
.lr-img-brand-re {
    width: 160px !important;
}

.lr-img-brand-re-sm {
    width: 40px;
}

/* Logos - Wide Moat Research */
.lr-img-brand-wm {
    width: 220px !important;
}

.lr-img-brand-wm-sm {
    width: 54px;
}

/* Icons - calendar */
.icon-calendar {
    --ex-calendar-color: var(--ex-secondary);
    --ex-border-radius: 0.6rem;
    border-radius: var(--ex-border-radius);
    width: 90px;
    font-size: 90%;
    transform: rotate(4deg);
}

.icon-calendar-skeuo {
    box-shadow: 0 0.2em 0.6em -0.1em hsla(var(--ex-primary-h), 50%, 10%, 0.4);
}

.icon-calendar-outline {
    box-shadow: inset 0 0 0 0.3em var(--ex-calendar-color);
}

.icon-calendar-month {
    width: 100%;
    height: 2.2em;
    border-radius: var(--ex-border-radius) var(--ex-border-radius) 0 0;
    font-weight: 800;
    font-size: 90%;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    -webkit-font-smoothing: antialiased;
}

.icon-calendar-skeuo .icon-calendar-month {
    background: linear-gradient(hsl(var(--ex-danger-h), var(--ex-danger-s), 42%) 55%, hsl(var(--ex-danger-h), var(--ex-danger-s), 32%));
    box-shadow: inset 0 0 0 0.06em hsla(var(--ex-danger-h), var(--ex-danger-s), 10%, 0.3), inset 0 0.12em 0 0 hsla(var(--ex-danger-h), var(--ex-danger-s), 80%, 0.8);
    color: hsl(0, 0%, 100%);
    text-shadow: 0 -0.05em hsla(0, 0%, 0%, 0.4);
    -webkit-font-smoothing: antialiased;
}

.icon-calendar-outline .icon-calendar-month {
    box-shadow: inset 0 -0.3em 0 0 var(--ex-calendar-color);
    color: var(--ex-calendar-color);
}

.icon-calendar-day {
    width: 100%;
    height: 1.3em;
    padding-bottom: 0.1em;
    border-radius: 0 0 var(--ex-border-radius) var(--ex-border-radius);
    font-weight: 600;
    font-size: 262%;
    line-height: 1;
    letter-spacing: -0.01em;
    text-align: center;
}

.icon-calendar-skeuo .icon-calendar-day {
    background: linear-gradient(170deg, hsl(var(--ex-primary-h), 50%, 98%) 45%, hsl(var(--ex-primary-h), 20%, 90%));
    box-shadow: inset 0 0 0.02em 0 hsla(var(--ex-primary-h), var(--ex-primary-s), 10%, 0.4), inset 0 0.04em 0 0 hsla(0, 0%, 100%, 0.9);
    color: hsla(var(--ex-primary-h), 100%, 10%, 0.9);
}

.icon-calendar-outline .icon-calendar-day {
    color: var(--ex-calendar-color);
}

.icon-calendar-month .calendar-month {
    position: relative;
    bottom: -0.05em;
}

.icon-calendar-day .calendar-day {
    position: relative;
    top: -0.02em;
}

/* Lists */
ul, ol {
    padding-left: 1.92em;
    list-style: none;
}

li {
    position: relative;
    margin-bottom: 1rem;
}

[class*="list-"] li::before {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: var(--ex-fa-top, 0);
    left: var(--ex-fa-left, -2rem);
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 100%;
    color: var(--ex-fa-color, inherit);
    line-height: 1;
}

/* Lists - icons */
.list-fa {
    --ex-fa-size: 1em;
    --ex-fa-weight: 900;
    --ex-fa-icon: '\f4da';
    --ex-fa-transform: scale(1);
    --ex-fa-top: -0.05rem;
}

.list-fa li::before {
    top: var(--ex-fa-top);
    font-family: 'Font Awesome 6 Free';
    font-weight: var(--ex-fa-weight);
    transform: scale(0.9);
}

/* Lists - borders and backgrounds */
.list-border li::before,
[class*="list-bg-"] li::before {
    transform: scale(0.74);
}

.list-border li::before {
    display: flex;
    border: 0.15rem solid;
}

/* Lists - arrows */
.list-arrow-right li::before {
    font-size: 0.9em;
    content: '\f061';
}

/* Lists - discs and circles */
.list-disc li::before,
.list-circle li::before {
    padding-top: 0.06em;
    font-size: 0.66em;
    content: '\f111';
}

.list-circle li::before {
    font-weight: 400;
}

/* Lists - squares */
.list-square li::before {
    padding-top: 0.1em;
    font-size: 0.64em;
    content: '\f0c8';
}

/* Lists - checks */
.list-check li::before {
    padding-top: 0.05em;
    font-size: var(--ex-i-size, 1em);
    transform: var(--ex-i-transform, scale(1));
    content: '\f00c';
}

/* Lists - check circle */
.list-check-circle li::before {
    font-size: var(--ex-i-size, 1.35em);
    font-weight: var(--ex-i-weight, 400);
    content: '\f058';
    -webkit-font-smoothing: antialiased;
}

/* Lists - square checks */
.list-check-square li::before {
    padding-top: 0;
    font-size: var(--ex-i-size, 1.3em);
    font-weight: var(--ex-i-weight, 400);
    content: '\f14a';
    -webkit-font-smoothing: antialiased;
}

/* Lists - slot checks */
.list-check-slot li::before {
    padding-top: 0;
    font-size: var(--ex-i-size, 1.2em);
    content: '\f772';
}

/* Lists - clipboard checks */
.list-check-clipboard li::before {
    padding-top: 0;
    font-size: var(--ex-i-size, 1.2em);
    content: '\f46c';
}

/* Lists - calendar checks */
.list-check-calendar li::before {
    padding-top: 0;
    font-size: var(--ex-i-size, 1.2em);

    /* For outlined version, use the `font-weight: 400` */
    font-weight: var(--ex-i-weight, 900);

    content: '\f274';
}

/* Lists - chevrons */
.list-chevron li::before {
    top: -0.08em;
    padding-bottom: 0.02em;
    padding-left: 0.1em;
    font-size: 0.9em;
    content: '\f054';
}

.list-chevron-double li::before {
    padding-left: 0.1em;
    font-size: 0.95em;
    content: '\f101';
}

/* Lists - line chart */
.list-chart-line li::before {
    font-size: 1.05em;
    content: '\f201';
}

/* Lists - diamond */
.list-diamond li::before {
    font-size: 0.8em;
    content: '\f219';
}

/* Lists - caret right */
.list-caret-right li::before {
    font-size: 1.2em;
    content: '\f0da';
}

/* Lists - thumbs up */
.list-thumbs-up li::before {
    font-size: 1em;
    content: '\f164';
}

/* Lists - custom icon */
.list-fa-custom li::before {
    padding-top: 0;
    font-size: var(--ex-fa-size);
    font-weight: var(--ex-fa-weight);
    content: var(--ex-fa-icon) !important;
}

/* Lists - ordered */
.list-number li {
    counter-increment: list;
}

.list-number li::before {
    font-size: 0.85em;
    font-weight: 700;
    line-height: 1.5;
    content: counter(list);
}

.list-decimal li {
    counter-increment: list;
}

.list-decimal li::before {
    font-size: 0.85em;
    font-weight: 700;
    line-height: 1.5;
    content: counter(list) '.';
}

/* Lists - zigzag */
.list-zigzag {
    padding-left: 0.7rem;
}

.list-zigzag li {
    position: relative;
    margin: 0;
    padding: 2rem 2rem 1rem 2rem;
    border-top: 3px solid;
}

.list-zigzag li::before {
    top: 1.9rem;
    transform: scale(0.95);
}

.list-zigzag li:nth-child(odd) {
    margin-right: 2rem;
    padding-right: 0;
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;}

.list-zigzag li:nth-child(odd)::before {
   left: -0.9rem;
}

.list-zigzag li:nth-child(even) {
    margin-top: -3px;
    margin-bottom: -3px;
    margin-left: 2rem;
    padding-left: 0;
    border-top: 3px solid;
    border-right: 3px solid;
    border-bottom: 3px solid;
    border-top-right-radius: 2rem;
    border-bottom-right-radius: 2rem;
}

.list-zigzag li,
.list-zigzag li:nth-child(odd),
.list-zigzag li:nth-child(even) {
    border-color: hsl(206, 7%, 79%);
}

.list-zigzag li:nth-child(even)::before {
    left: 100%;
    margin-left: -0.75rem;
}

.list-zigzag li:first-child {
    padding-top: 0;
    border-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}

.list-zigzag li:first-child::before {
    top: -0.2rem;
}

.list-zigzag li:last-child {
    padding-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    border-bottom: 0;
}

.list-increment {
    counter-increment: list 0;
}

.list-counter-reset {
    counter-reset: list 0;
}

/* Lists- clear list styles */
.list-clear li::before {
    background-color: transparent !important;
    box-shadow: none !important;
    content: '\a0' !important;
}

/* Lists - font size variations */
.list-h5.list-border li::before,
.list-h5[class*="list-bg-"] li::before {
    top: -0.1rem;
    font-size: 0.65em !important;
    transform: scale(0.8);
}

small li::before,
.small li::before,
.footer li::before,
.disclaimer li::before {
    top: -0.26rem;
}

.font-size-90 li::before {
    top: -0.16rem;
}

.font-size-110 li::before {
    top: -0.02rem;
}

/* Quotes */
.quote {
    position: relative;
    padding-left: 2em;
    font-size: 1.2em;
    line-height: 1.45;
}

.quote::before {
    display: block;
    position: absolute;
    top: -0.2em;
    left: 0;
    font-family: 'Georgia', serif;
    font-weight: 700;
    font-size: 2.4em;
    line-height: 1.45;
    text-align: center;
    content: '\201C';
}

/* Paper */
.paper {
    padding: 1.5em 2.5em;
    background-color: hsl(var(--ex-primary-h), 8%, 99%);
    background-image:
        linear-gradient(
            hsla(var(--ex-primary-h), 8%, 8%, 0.025),
            hsla(var(--ex-primary-h), 8%, 96%, 0.05) 33%,
            hsla(var(--ex-primary-h), 8%, 8%, 0.05) 33%,
            hsla(var(--ex-primary-h), 8%, 96%, 0.05) 67%,
            hsla(var(--ex-primary-h), 8%, 8%, 0.05) 67%,
            hsla(var(--ex-primary-h), 8%, 96%, 0.025));
    box-shadow:
        0 0 1.5em hsla(var(--ex-primary-h), 4%, 6%, 0.08) inset,
        0 0.1em 0.25em hsla(var(--ex-primary-h), 4%, 6%, 0.3);
}

/* Guarantee */
.guarantee {
    position: relative;
    margin-right: 18px;
    margin-left: 18px;
    background-color: hsl(240, 4%, 95%);
    box-shadow: 0 0 0 6px hsl(0, 0%, 10%), 0 0 0 17px hsl(240, 4%, 95%), 0 0 0 18px hsla(0, 0%, 0%, 0.15), 0 0.3rem 0.9rem hsla(0, 0%, 0%, 0.95);
}

.guarantee-corners-top::before,
.guarantee-corners-top::after {
    position: absolute;
    top: -18px;
    width: 80px;
    height: 150px;
    background-repeat: no-repeat;
    background-size: 100%;
    content: '\a0';
    filter: hue-rotate(-35deg) contrast(1.8) saturate(0) drop-shadow(2px 4px 6px hsla(0, 0%, 0%, 0.3));
}

@media (min-width: 768px) {
    .guarantee-corners-top::before,
    .guarantee-corners-top::after {
        width: 125px;
    }
}

.guarantee-corners-top::before {
    left: -18px;
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/certificate/certificate-corner-top-left-primary.png);
}

.guarantee-corners-top::after {
    right: -18px;
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/certificate/certificate-corner-top-right-primary.png);
}

.border-multi {
    position: relative;
    margin-right: 10px;
    margin-left: 10px;
}

/* Seals */
.seal-guarantee {
    position: relative;
    z-index: 2;
    max-width: 140px;
    margin-top: -4.15rem;
}

@media (min-width: 768px) {
    .seal-guarantee {
        max-width: 220px;
        margin-top: -4.97rem;
    }
}

/* Ribbons */
.ribbon {
    position: absolute;
    top: -1.34rem;
    left: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 200px;
    padding: 0.5em 0 0.45em 0;
    color: #fff;
    -webkit-clip-path: polygon(100% 0, 95% 50%, 100% 100%, 0% 100%, 5% 50%, 0% 0%);
            clip-path: polygon(100% 0, 95% 50%, 100% 100%, 0% 100%, 5% 50%, 0% 0%);
    transform: translateX(-50%);
}

@media (min-width: 768px) {
    .ribbon {
        max-width: 280px;
    }
}

/* Ribbons - corner ribbon */
.ribbon-corner {
    width: 200px;
    position: absolute;
    z-index: 4;
    font-weight: 700;
    text-align: center;
    line-height: 2;
    transform: rotate(-45deg);
}

/* Ribbons - corner ribbon positions */
.ribbon-corner.top-left {
    top: 20px;
    left: -66px;
    transform: rotate(-45deg);
}

.ribbon-corner.top-right{
    top: 20px;
    right: -66px;
    left: auto;
    transform: rotate(45deg);
}

.ribbon-corner.bottom-left{
    top: auto;
    bottom: 20px;
    left: -66px;
    transform: rotate(45deg);
}

.ribbon-corner.bottom-right{
    top: auto;
    right: -66px;
    bottom: 20px;
    left: auto;
    transform: rotate(-45deg);
}

/* Ribbons - breadcrumbs */
.ribbon-breadcrumbs {
    max-width: 95%;
}

@media (min-width: 768px) {
    .ribbon-breadcrumbs {
        max-width: 640px;
    }
}

@media (min-width: 992px) {
    .ribbon-breadcrumbs {
        max-width: 740px;
    }
}

.ribbon-arrow::before {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0.25rem;
    background-color: hsla(206, 7%, 45%, 0.4);
    content: '\a0';
    -webkit-clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 10% 50%, 0% 0%);
            clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 10% 50%, 0% 0%);
}

@media (min-width: 768px) {
    .ribbon-arrow::before {
        padding: 0.35rem 0.25rem;
    }
}

.ribbon-arrow .ribbon-text {
    position: relative;
    display: block;
    margin-top: -34px;
    color: hsla(0, 0%, 100%, 0.75);
    font-size: 0.65rem;
    line-height: 32px;
    letter-spacing: -0.01rem;
}

@media (min-width: 768px) {
    .ribbon-arrow .ribbon-text {
        margin-top: -45px;
        font-size: 0.75rem;
        line-height: 45px;
    }
}

/* Ribbons - active ribbon */
.ribbon-active::before {
    background-color: var(--ex-secondary);
}

.ribbon-active .ribbon-text {
    color: hsl(210, 17%, 98%);
}

/* Ribbons - "You are here" indicator */
@media (min-width: 992px) {
    .ribbon-indicator::after {
        display: block;
        position: absolute;
        left: 40%;
        bottom: -46px;
        width: 220px;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' id='arrow-up' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 123 116' style='enable-background:new 0 0 123 116;' xml:space='preserve'%3E%3Cpath fill='%236c757d' d='M108.8,53.5c-2.8,4.8-9.2,9.3-13.9,12c-18.4,10.7-45.6,9.2-61.2-5.7C28,54.4,23.6,48,20,40.9c-2.8,3.3-5.5,6.8-8.6,9.8 c-1.8,1.8-4.4,3.9-7.1,2.7c-3.9-1.7-2.5-7.6-2.2-10.8c0.5-5.6,1.8-11,3.4-16.4c0.9-2.9,1.9-5.9,3-8.7c1.9-4.8,4.1-9.5,6.9-13.8 c2.8-4.5,9.1,0.5,11.9,2.5c5.3,3.9,10.8,7.4,16.3,10.8c4,2.4,9.1,5.9,10.8,10.5c0.8,2.3,0,5.3-1.9,6.8C48.8,37.3,44,36,40,34.6 c-1.3-0.5-2.6-0.9-4-1.4c-2.6-0.9-6-2.6-6-2.8c0.3,1.8,1,3.5,1.8,5.1c9.8,19.6,34.3,27,54.5,21.2c6.9-2,14.3-5,20.5-8.6 C109.9,46.3,109.9,51.7,108.8,53.5z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: 0% 90%;
        background-size: 40px;
        content: ' You are here';
        color: hsl(208, 7%, 46%);
        font-family: var(--font-handwritten);
        font-size: 1.5rem;
        -webkit-font-smoothing: antialiased;
        text-transform: none;
    }
}

/* Starbusrts */
.starburst {
    position: absolute;
    left: 50%;
    width: 3em;
    height: 3em;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    transform: rotate(-45deg) translateX(-50%);
}

.starburst,
.starburst span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.starburst span {
    width: 100%;
    height: 100%;
    background: inherit;
    transform: rotate(45deg);
}

.starburst::before,
.starburst::after ,
.starburst span::before,
.starburst span::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: inherit;
    content: '\a0';
    transform: rotate(30deg);
}

.starburst::after {
    transform: rotate(-30deg);
}

.starburst span::before {
    transform: rotate(-30deg);
}

.starburst span::after {
    transform: rotate(30deg);
}

.guarantee .starburst {
    top: -2.66em;
}

/* Arrows */
.img-arrow-left {
    opacity: 0;
    display: none;
    position: absolute;
    top: -1rem;
    left: -10rem;
    z-index: 2;
    width: 200px;
    transform: scale(0.4);
}

@media (min-width: 992px) {
    .img-arrow-left {
        display: block;
    }
}

.arrow-v-right,
.arrow-v-left {
    display: none;
    position: absolute;
    top: -12rem;
    z-index: 1;
    width: 248px;
}

.arrow-v-right {
    right: -3rem;
}

.arrow-v-left {
    left: -3rem;
}

@media (min-width: 992px) {
    .arrow-v-right,
    .arrow-v-left {
        display: block;
    }
}

/* Marks */
mark,
.mark {
    --ex-stroke-color: hsl(var(--ex-accent-h), 100%, 76%);
    background-color: var(--ex-stroke-color);
}

/* Marks - skew */
.mark-skew {
    display: inline-block;
    background-color: var(--ex-stroke-color);
    transform: skew(-20deg);
}

.mark-text {
    display: inline-block;
    transform: skew(20deg);
}

/* Marks - stroke */
.mark-stroke {
    --ex-stroke-color: hsl(var(--ex-accent-h), 100%, 70%);
    position: relative;
    padding: 0.1em 0.4em 0.1em 0.2em;
    background-color: transparent;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 811 154.5' preserveAspectRatio='none'%3e%3cpath fill='%23ffde5c' d='M794.27,31.43c4.64,10.67,10.78,21.73,8.35,35.11c-0.31,1.69,2.39,3.73,2.88,5.8 c1.47,6.21,3.38,10.84-3.81,17.27c-6.74,6.02-13.13,9-22.27,9.68c8.32,7.46,15.37,13.79,23.78,21.34c0,2.22,0,6.96,0,12.07 c-5.2,0.41-10.15,0.28-14.83,1.36c-3.31,0.76-9.26,0.43-6.43,7.75c0.3,0.78-8.17,7.39-12.18,7.02c-25.52-2.36-50.86-7.24-76.41-8.75 c-29.87-1.77-59.89-1.14-89.84-1.24c-59.27-0.2-118.56,3.11-177.72-4.38c-19.53-2.47-39.57-0.8-59.37-1.36 c-9.98-0.28-19.93-1.77-29.9-1.84c-8.96-0.06-17.93,1.4-26.9,1.58c-11.02,0.22-22.05-0.35-33.08-0.29 c-20.56,0.11-41.12,0.76-61.68,0.59c-22.41-0.18-44.81-1.34-67.21-1.53c-27.98-0.24-55.96,0.11-83.93,0.12 c-9.56,0-19.22,0.51-28.63-0.75c-4.33-0.58-9.48-3.96-11.98-7.62C12.57,107.92,6.48,90.78,6.58,71.79 C6.64,60.4,5.13,48.77,7.03,37.71c1.52-8.78,6.43-17.3,11.23-25.08c2.97-4.82,7.99-4.25,14.39-2.64c16.27,4.09,33.15,6.86,49.91,7.7 c51.12,2.56,102.29,4.43,153.46,5.62c31.65,0.74,63.34-0.31,95.01-0.43c22.37-0.08,44.75-0.44,67.09,0.2 c45.36,1.3,90.69,3.67,136.06,4.58c15.86,0.32,31.77-2.75,47.69-3.5c12.02-0.57,24.1,0.35,36.15,0.14 c12.98-0.22,25.96-1.59,38.92-1.34c12.59,0.24,25.14,2.23,37.74,2.85c17.19,0.84,34.41,1.19,51.63,1.54c2.13,0.04,4.3-1.1,6.43-1.75 c7.41-2.26,13.99-2.51,20.62,3.31c4.22,3.71,10.37,5.38,15.89,7.28C790.18,36.53,792.31,33.36,794.27,31.43z'/%3e%3c/svg%3e");
    background-position: -0.2em 100%;
    background-size: 104% 96%;
    background-repeat: no-repeat;
    /* background-image: linear-gradient(var(--ex-stroke-color) 50%, var(--ex-stroke-color) 50%);
    background-position: 0 90%;
    background-size: 100% 80%;
    border-radius: 10% 26% 20% 24%; */
}

.mark-stroke-danger {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 811 154.5' preserveAspectRatio='none'%3e%3cpath fill='%23d40202' d='M794.27,31.43c4.64,10.67,10.78,21.73,8.35,35.11c-0.31,1.69,2.39,3.73,2.88,5.8 c1.47,6.21,3.38,10.84-3.81,17.27c-6.74,6.02-13.13,9-22.27,9.68c8.32,7.46,15.37,13.79,23.78,21.34c0,2.22,0,6.96,0,12.07 c-5.2,0.41-10.15,0.28-14.83,1.36c-3.31,0.76-9.26,0.43-6.43,7.75c0.3,0.78-8.17,7.39-12.18,7.02c-25.52-2.36-50.86-7.24-76.41-8.75 c-29.87-1.77-59.89-1.14-89.84-1.24c-59.27-0.2-118.56,3.11-177.72-4.38c-19.53-2.47-39.57-0.8-59.37-1.36 c-9.98-0.28-19.93-1.77-29.9-1.84c-8.96-0.06-17.93,1.4-26.9,1.58c-11.02,0.22-22.05-0.35-33.08-0.29 c-20.56,0.11-41.12,0.76-61.68,0.59c-22.41-0.18-44.81-1.34-67.21-1.53c-27.98-0.24-55.96,0.11-83.93,0.12 c-9.56,0-19.22,0.51-28.63-0.75c-4.33-0.58-9.48-3.96-11.98-7.62C12.57,107.92,6.48,90.78,6.58,71.79 C6.64,60.4,5.13,48.77,7.03,37.71c1.52-8.78,6.43-17.3,11.23-25.08c2.97-4.82,7.99-4.25,14.39-2.64c16.27,4.09,33.15,6.86,49.91,7.7 c51.12,2.56,102.29,4.43,153.46,5.62c31.65,0.74,63.34-0.31,95.01-0.43c22.37-0.08,44.75-0.44,67.09,0.2 c45.36,1.3,90.69,3.67,136.06,4.58c15.86,0.32,31.77-2.75,47.69-3.5c12.02-0.57,24.1,0.35,36.15,0.14 c12.98-0.22,25.96-1.59,38.92-1.34c12.59,0.24,25.14,2.23,37.74,2.85c17.19,0.84,34.41,1.19,51.63,1.54c2.13,0.04,4.3-1.1,6.43-1.75 c7.41-2.26,13.99-2.51,20.62,3.31c4.22,3.71,10.37,5.38,15.89,7.28C790.18,36.53,792.31,33.36,794.27,31.43z'/%3e%3c/svg%3e");
}

/* Marks - cicle */
.mark-circle {
    padding: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

@media (min-width: 992px) {
    .mark-circle {
        padding: 20px;
    }
}

.mark-circle-dark {
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/dazzle/marker-circled-dark.800x800.png);
}

/* Marks - oval */
.mark-oval {
    padding: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}

@media (min-width: 768px) {
    .mark-oval {
        padding: 20px;
    }
}

.mark-oval-dark {
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/dazzle/marker-oval-dark.1600x608.png);
}

/* Underlines */
.underline {
    position: relative;
    padding-bottom: 0.05em;
    text-decoration: none;
    background-image: linear-gradient(currentcolor, currentcolor);
    background-repeat: no-repeat;
    background-size: 100% 12%;
    background-position: 0 100%;
    border-radius: 8% 2% 8% 8%;
}

.underline-sm {
    padding-bottom: 0;
    background-size: 100% 7%;
    background-position: 0 94%;
    border-radius: 88% 38% 14% 16%;
}

/* Strikethrough */
.strike {
    position: relative;
    display: inline-block;
    padding-right: 0.2em;
    padding-left: 0.2em;
}

.strike::before {
    position: absolute;
    left: 0;
    width: 100%;
    /* border-bottom: 6px solid hsla(var(--ex-danger-h), 70%, 54%, 0.85); */
    background-image: linear-gradient(hsla(var(--ex-danger-h), 70%, 54%, 0.85), hsla(var(--ex-danger-h), 70%, 54%, 0.85));
    background-repeat: no-repeat;
    background-size: 100% 16%;
    background-position: 0 100%;
    border-radius: 8% 2% 8% 8%;
    content: '\a0';
    transform: rotate(-2deg) translateY(-40%);
}

.strike-long {
    position: relative;
}

.strike-long::before {
    position: absolute;
    top: 10%;
    left: 0;
    width: 100%;
    background-image: linear-gradient(hsla(var(--ex-danger-h), 70%, 54%, 0.85), hsla(var(--ex-danger-h), 70%, 54%, 0.85));
    background-repeat: no-repeat;
    background-size: 100% 16%;
    background-position: 0 100%;
    border-radius: 8% 2% 8% 8%;
    content: '\a0';
}

/* Borders */
.border,
.card {
    border: 1px solid hsla(var(--ex-primary-h), var(--ex-primary-s), 10%, 0.1);
}

.card-header {
    padding: 0.75em 1.25em;
    border-bottom: 1px solid hsla(var(--ex-primary-h), var(--ex-primary-s), 10%, 0.1) !important;
}

.border-top {
    border-top: 1px solid hsla(var(--ex-primary-h), var(--ex-primary-s), 10%, 0.1) !important;
}

.border-right {
    border-right: 1px solid hsla(var(--ex-primary-h), var(--ex-primary-s), 10%, 0.1) !important;
}

.border-bottom {
    border-bottom: 1px solid hsla(var(--ex-primary-h), var(--ex-primary-s), 10%, 0.1) !important;
}

.border-left {
    border-left: 1px solid hsla(var(--ex-primary-h), var(--ex-primary-s), 10%, 0.1) !important;
}

.border-photo {
    padding: 0.5em 0.5em 1.5em 0.5em;
    background-color: hsl(var(--ex-primary-h), 10%, 96%);
    border: 1px solid hsla(var(--ex-primary-h), 8%, 80%, 0.3);
    border-bottom: 1px solid hsla(var(--ex-primary-h), 8%, 80%, 0.7);
    border-radius: 0.25rem;
    box-shadow: 0 6px 10px -4px hsla(var(--ex-primary-h), 8%, 80%, 0.7);
}

.border-photo img {
    border-radius: 0.2rem;
}

/* Borders - gradient */
.border-gradient {
    height: 6px;
    background: hsl(173, 50%, 53%);
    background: linear-gradient(1deg, hsl(161, 63%, 58%) 24%, hsl(173, 50%, 53%) 48%, hsl(186, 74%, 46%) 100%);
}

.border-gradient-alt {
    height: 6px;
    background: hsl(7, 87%, 69%);
    background: linear-gradient(1deg, hsl(42, 98%, 58%) 8%, hsl(7, 100%, 75%) 48%, hsl(43, 100%, 67%) 100%);
}

/* Border radius */
.rounded {
    border-radius: var(--ex-radius, 0.25rem) !important;
}

@media (min-width: 576px) {
    .rounded-sm {
        border-radius: var(--ex-radius-sm, 0.25rem) !important;
    }

    .rounded-sm-top-left {
        border-top-left-radius: var(--ex-radius-sm, 0.25rem) !important;
    }

    .rounded-sm-top-right {
        border-top-right-radius: var(--ex-radius-sm, 0.25rem) !important;
    }

    .rounded-sm-bottom-right {
        border-bottom-right-radius: var(--ex-radius-sm, 0.25rem) !important;
    }

    .rounded-sm-bottom-left {
        border-bottom-left-radius: var(--ex-radius-sm, 0.25rem) !important;
    }
}

@media (min-width: 768px) {
    .rounded-md {
        border-radius: var(--ex-radius-md, 0.375rem) !important;
    }

    .rounded-md-top-left {
        border-top-left-radius: var(--ex-radius-md, 0.375rem) !important;
    }

    .rounded-md-top-right {
        border-top-right-radius: var(--ex-radius-md, 0.375rem) !important;
    }

    .rounded-md-bottom-right {
        border-bottom-right-radius: var(--ex-radius-md, 0.375rem) !important;
    }

    .rounded-md-bottom-left {
        border-bottom-left-radius: var(--ex-radius-md, 0.375rem) !important;
    }
}


@media (min-width: 992px) {
    .rounded-lg {
        border-radius: var(--ex-radius-lg, 0.5rem) !important;
    }

    .rounded-lg-top-left {
        border-top-left-radius: var(--ex-radius-lg, 0.5rem) !important;
    }

    .rounded-lg-top-right {
        border-top-right-radius: var(--ex-radius-lg, 0.5rem) !important;
    }

    .rounded-lg-bottom-right {
        border-bottom-right-radius: var(--ex-radius-lg, 0.5rem) !important;
    }

    .rounded-lg-bottom-left {
        border-bottom-left-radius: var(--ex-radius-lg, 0.5rem) !important;
    }
}

@media (min-width: 1200px) {
    .rounded-xl {
        border-radius: var(--ex-radius-xl, 1rem) !important;
    }

    .rounded-xl-top-left {
        border-top-left-radius: var(--ex-radius-xl, 1rem) !important;
    }

    .rounded-xl-top-right {
        border-top-right-radius: var(--ex-radius-xl, 1rem) !important;
    }

    .rounded-xl-bottom-right {
        border-bottom-right-radius: var(--ex-radius-xl, 1rem) !important;
    }

    .rounded-xl-bottom-left {
        border-bottom-left-radius: var(--ex-radius-xl, 1rem) !important;
    }
}

@media (min-width: 1400px) {
    .rounded-xxl {
        border-radius: var(--ex-radius-xxl, 2rem) !important;
    }

    .rounded-xxl-top-left {
        border-top-left-radius: var(--ex-radius-xxl, 2rem) !important;
    }

    .rounded-xxl-top-right {
        border-top-right-radius: var(--ex-radius-xxl, 2rem) !important;
    }

    .rounded-xxl-bottom-right {
        border-bottom-right-radius: var(--ex-radius-xxl, 2rem) !important;
    }

    .rounded-xxl-bottom-left {
        border-bottom-left-radius: var(--ex-radius-xxl, 2rem) !important;
    }
}

/* Shadows */
.shadow-theme {
    /* box-shadow: 0 14px 14px -14px hsla(var(--ex-primary-h), 40%, 10%, 0.25), 0 40px 40px -40px hsla(var(--ex-primary-h), 40%, 10%, 0.15), 0 12px 24px -8px hsla(var(--ex-primary-h), 40%, 10%, 0.2); */
    box-shadow: 0 0 0 1px hsla(0, 0%, 0%, 0.05), 0 14px 14px -14px hsla(var(--ex-primary-h), 10%, 10%, 0.25), 0 40px 40px -40px hsla(var(--ex-primary-h), 10%, 10%, 0.15), 0 12px 24px -8px hsla(var(--ex-primary-h), 10%, 10%, 0.2);
}

.shadow-sm-dark {
    box-shadow: 0 0.125rem 0.25rem hsla(0, 0%, 0%, 0.5) !important;
}

.shadow-primary {
    box-shadow: 0 12px 22px -8px hsla(var(--ex-primary-h), var(--ex-primary-s), var(--ex-primary-l), 0.6);
}

.shadow-primary-light {
    box-shadow: 0 12px 22px -8px hsla(var(--ex-primary-h), 40%, 80%, 0.6);
}

.shadow-primary-dark {
    box-shadow: 0 12px 22px -8px hsla(var(--ex-primary-h), var(--ex-primary-s), 20%, 0.8);
}

.shadow-teal-light {
    box-shadow: 0 12px 22px -8px hsla(var(--ex-teal-h), 100%, 20%, 0.15);
}

.shadow-secondary {
    box-shadow: 0 12px 22px -8px hsla(var(--ex-primary-h), 8%, 40%, 0.8);
}

.shadow-secondary-light {
    box-shadow: 0 12px 22px -8px hsla(var(--ex-primary-h), 8%, 80%, 0.8);
}

.shadow-secondary-dark {
    box-shadow: 0 12px 22px -8px hsla(var(--ex-primary-h), 8%, 10%, 0.8);
}

.shadow-accent {
    box-shadow: 0 12px 22px -8px hsla(var(--ex-accent-h), var(--ex-accent-s), var(--ex-accent-l), 0.5);
}

.shadow-page-curl {
    position: relative;
    z-index: 1;
    box-shadow: 0 20px 24px hsla(0, 0%, 0%, 0.15);
}

.shadow-page-curl::before,
.shadow-page-curl::after {
    position: absolute;
    left: 24px;
    bottom: 0;
    z-index: -1;
    width: 70%;
    max-width: 300px;
    max-height: 100px;
    height: 55%;
    box-shadow: 0 20px 12px hsla(0, 0%, 0%, 0.15);
    transform: skew(-15deg) rotate(-6deg);
    content: '\a0';
}

.shadow-page-curl::after {
    left: auto;
    right: 24px;
    transform: skew(15deg) rotate(6deg);
}

/* Shadows - text */
.text-shadow-dark {
    text-shadow: 2px 2px 6px hsla(0, 0%, 0%, 0.95);
}

.text-shadow {
    text-shadow: 1px 1px 4px hsla(0, 0%, 0%, 0.7);
}

/* Add-to-calendar */
.add-to-cal {
    --ex-add-to-cal-radius: 0.6rem;
    position: relative;
    z-index: 3;
    height: 3.2em;
    text-align: center;
}

.add-to-calendar {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 200px;
    height: 2.6em;
    background-color: hsl(0, 0%, 100%);
    border: 1px solid hsl(var(--ex-primary-h), 20%, 88%);
    border-radius: var(--ex-add-to-cal-radius);
    box-shadow: 0 0.1rem 0.4rem hsla(var(--ex-primary-h), 20%, 0%, 0.1), 0 0.4rem 0.5rem hsla(var(--ex-primary-h), 20%, 0%, 0.02);
    font-family: var(--ex-font-system);
    font-size: 1.1em;
    transition:
        top 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        width 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        height 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        font-size 0.2s ease,
        box-shadow 0.2s ease;
    transform: translateX(-50%) scale(1.2);
    user-select: none;
}

@media (min-width: 768px) {
    .add-to-calendar {
        width: 240px;
        transform: translateX(-50%) scale(1);
    }
}

.add-to-calendar.open {
    top: -2.1em;
    width: 10.75em;
    height: 9.75em;
    font-size: 1.26em;
    box-shadow: 0 5px 18px hsla(0, 0%, 0%, 0.2);
    transition:
        top 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        font-size 0.2s ease,
        box-shadow 0.2s ease;
}

.add-to-calendar label {
    width: 100%;
    height: 100%;
    padding-top: 0.9rem;
    padding-bottom: 0.95rem;
    background-color: #fff;
    border-radius: var(--ex-add-to-cal-radius);
    color: var(--ex-night);
    font-weight: 700;
    font-size: 0.75em;
    line-height: 1;
    cursor: pointer;
}

.add-to-calendar.open label {
    height: auto;
    border-bottom: 1px solid hsla(0, 0%, 0%, 0.08);
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.add-to-calendar input {
    display: none;
}

.add-to-calendar a {
    display: block !important;
    opacity: 0;
    visibility: hidden;
    height: 0;
    padding-left: 2.5rem;
    color: var(--ex-night);
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 2.8;
    text-align: left;
    text-decoration: none;
}

.add-to-calendar a:hover {
    background-color: hsla(var(--ex-primary-h), 40%, 30%, 0.08);
}

.add-to-calendar a:first-of-type {
    margin-top: -0.1rem;
}

.add-to-calendar a:last-of-type {
    margin-bottom: 0.85rem;
}

.add-to-calendar-checkbox:checked ~ a {
    opacity: 1 !important;
    visibility: visible !important;
    height: auto;
    transition:
        opacity 0.4s ease 0.3s,
        visibility 0s,
        background-color 0.4s;
}

/* Add-to-caledar icons */
.add-to-calendar a::before {
    display: inline-block;
    width: 1.4rem;
    padding-right: 0.5rem;
    color: var(--ex-secondary);
    font-family: 'Font Awesome 6 Brands';
    font-weight: 400;
    text-align: center;
}

.icon-google::before {
    content: '\f1a0';
}

.icon-yahoo::before {
    content: '\f19e';
}

.icon-apple::before {
    content: '\f179';
    font-size: 1.15em;
}

.icon-outlook::before {
    content: '\f17a';
}

/* Tables */
.table > :not(caption) > * > * {
    background-color: transparent;
}

.table > thead > tr > th > p,
.table > tbody > tr > td > p {
    margin: 0;
}

.table-striped thead th {
    background-color: hsla(0, 0%, 0%, 0.04);
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: transparent;
}

.table-striped tbody tr:nth-of-type(even) {
    background-color: hsla(0, 0%, 0%, 0.02);
}

.table-flush td {
    padding-left: 0;
    padding-right: 0;
}

/* Countdowns */
.countdown-container {
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s;
}

.module-site .countdown-container {
    width: 100%;
    max-width: 340px;
}

@media (max-width: 992px) {
    .module-site-lp .countdown-container {
        margin-bottom: -1rem;
    }
}

.countdown-text {
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s;
}

.countdown-container.show .countdown-text {
    opacity: 1 !important;
    visibility: visible !important;
    transition:
        opacity 0.4s linear,
        visibility 0s linear;
}

.countdown-amount {
    font-family: var(--ex-font-mono);
    font-weight: 700;
    line-height: 1 !important;
}

.countdown-progress .countdown-amount {
    margin-bottom: 0.5rem;
    font-size: 2.1em;
}

.countdown-block,
.countdown-cards,
.countdown-progress {
    max-width: 300px;
    margin-right: auto;
    margin-left: auto;
    font-size: 90%;
    text-align: center;
}

.countdown-cards {
    min-height: 90px;
}

@media (min-width: 768px) {
    .countdown-cards {
        min-height: 98px;
    }
}

.countdown-block .countdown-amount {
    display: block;
    padding-top: 0.2em;
    padding-bottom: 0.1em;
    /* background: linear-gradient(hsl(0, 0%, 100%) 40%, hsla(0, 0%, 70%) 60%, hsl(0, 0%, 100%) 80%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent; */
    /* color: hsl(0, 0%, 100%); */
    font-size: 2.8em;
    line-height: 1.2;
}

.countdown-cards .countdown-amount {
    display: block;
    margin-top: 0.2em;
    margin-bottom: 0.2em;
    padding: 0.2em;
    background-color: hsla(0, 0%, 100%, 0.8);
    border-radius: 0.3rem;
    color: hsl(193, 20%, 4%);
    box-shadow:
        0 0 0 1px hsla(193, 10%, 94%, 0.2),
        0 1px 0 0 hsla(193, 10%, 94%, 0.3),
        0 4px 10px -4px hsla(193, 10%, 94%, 0.5);
    font-size: 2.8em;
    line-height: 1.2;
}

.countdown-block .countdown-period,
.countdown-progress .countdown-period,
.countdown-cards .countdown-period {
    display: block;
    font-weight: 700;
    font-size: 1em;
    line-height: 1;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    -webkit-font-smoothing: antialiased;
}

.countdown-cards .countdown-period {
    padding-bottom: 0.2rem;
    color: hsl(var(--ex-primary-h), 20%, 10%);
    font-size: 1.2em;
    font-family: var(--ex-font-system);
}

.countdown-block .countdown-section {
    padding-right: 1rem;
}

.countdown-cards .countdown-section {
    margin-left: 0.5em;
    margin-right: 0.5em;
    padding: 0 0.5em 0.5em 0.5em;
    border-radius: 0.6em;
    background: linear-gradient(170deg, hsla(193, 70%, 88%, 0.5), hsla(193, 70%, 92%, 0.7));
    box-shadow:
        inset 0 0 0 1px hsla(193, 40%, 10%, 0.2),
        inset 0 -2px 0 0 hsla(193, 40%, 10%, 0.3),
        0 8px 18px -8px hsla(193, 40%, 40%, 0.6);
}

.countdown-inline .countdown-section {
    display: inline;
    padding-right: 0.5rem;
    white-space: nowrap;
}

.countdown-block .countdown-section:last-of-type,
.countdown-inline .countdown-section:last-of-type {
    padding-right: 0;
}

.countdown-inline .countdown-period {
    padding-left: 0.2rem;
}

/* Widths */
.max-w-780 {
    max-width: 780px;
}

.max-w-880 {
    max-width: 880px;
}

.max-w-980 {
    max-width: 980px;
}

.max-w-1080 {
    max-width: 1080px;
}

.max-w-1280 {
    max-width: 1280px;
}

.max-w-1480 {
    max-width: 1480px;
}

.max-w-1680 {
    max-width: 1680px;
}

/* Aspect ratios */
.aspect-auto {
    aspect-ratio: auto;
}

.aspect-square {
    aspect-ratio: 1 / 1;
}

.aspect-video {
    aspect-ratio: 16 / 9;
}

/* Videos */
.container-video {
    position: relative;
    overflow: hidden;
    transition: all 0.6s;
    transform: translateZ(0);
}

@media (min-width: 992px) {
    .container-video-standard {
        border-radius: 0.5rem;
    }
}

/* Videos - player chrome */
.container-video .w-chrome,
.container-video img.w-css-reset {
    border-radius: 0 !important;
}

/* Videos - big play button wrapper */
.container-video .w-bpb-wrapper {
    border-radius: var(--bs-border-radius-lg, 0.5rem) !important;
}

iframe {
    border: 0;
}

.video-js,
.vjs-fluid,
.vjs-play-control {
    cursor: pointer;
}

/* Videos - turn off progress control by default */
.vjs-progress-control {
    pointer-events: none;
}

/* Videos - turn on progress control */
.module-site .vjs-progress-control,
.has-controls .vjs-progress-control,
.test .vjs-progress-control {
    pointer-events: inherit !important;
}

/* Videos - remove time divider and duration from control bar */
.vjs-time-divider,
.vjs-duration {
    display: none !important;
}

/* Videos - play button */
.video-js .vjs-big-play-button {
    box-shadow:
        0 0 0 2px hsla(0, 0%, 100%, 0.1),
        0 0 0 3px hsla(0, 0%, 100%, 0.5);
    transition: all 0.2s;
}

@media (max-width: 768px) {
    .video-js .vjs-big-play-button {
        top: 44%;
        transform: scale(0.8);
    }
}

.video-js .vjs-big-play-button:active,
.video-js .vjs-big-play-button:focus,
.video-js:active .vjs-big-play-button,
.video-js:hover .vjs-big-play-button {
    background-color: hsla(0, 0%, 0%, 0.7);
    box-shadow:
        0 0 0 4px hsla(0, 0%, 100%, 0.1),
        0 0 0 6px hsla(0, 0%, 100%, 0.5);
    outline: none;
    transition: all 0.1s;
}

/* Videos - play button description */
.play-btn-desc .vjs-big-play-button::after {
    position: absolute;
    left: -100%;
    top: 80%;
    display: block;
    width: 300%;
    font-family: var(--ex-font-system);
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    content: 'Press Play to Watch';
    text-shadow:
        0 2px 2px hsla(0, 0%, 0%, 0.9),
        0 4px 6px hsla(0, 0%, 0%, 0.7),
        0 6px 8px hsla(0, 0%, 0%, 0.3);
}

.play-btn-desc .vjs-poster::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(354deg, hsla(var(--ex-primary-h), 58%, 8%, 0.3) 1%, hsla(207, 50%, 7%, 0.7) 38%, hsla(var(--ex-primary-h), 58%, 8%, 0.2) 100%);
    backdrop-filter: contrast(1.2) saturate(1.1);
    content: '\a0';
}

.video-js .vjs-play-progress,
.video-js .vjs-volume-level {
    background-color: #fff;
}

.btn-video {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
    display: inline-block;
    vertical-align: middle;
    user-select: none;
    padding: 0.375rem 0.75rem;
    background-color: hsla(0, 0%, 0%, 0.7);
    border: 1px solid transparent;
    border-radius: 0.25rem;
    box-shadow:
        0 0 0 1px hsla(0, 0%, 100%, 0.1),
        0 0 0 2px hsla(0, 0%, 100%, 0.5),
        0 0 0 3px hsla(0, 0%, 0%, 0.3);
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.05rem;
    white-space: nowrap;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    transform: translateX(-50%) translateY(-50%);
}

@media (min-width: 768px) {
    .btn-video {
        padding: 0.45rem 1.5rem;
        font-size: 1.2rem;
        line-height: 1.5;
    }
}

.btn-video:hover {
    background-color: hsla(0, 0%, 0%, 0.9);
    cursor: pointer;
}

.btn-video:focus,
.btn-video:active {
    outline: none;
}

/* Videos - unmute button */
.btn-unmute {
    font-size: 0.9rem;
}

.btn-unmute::before {
    display: inline-block;
    position: relative;
    top: 0.15rem;
    width: 12px;
    height: 18px;
    margin-right: 0.4rem;
    background-image: url(https://d3bjnmbj12697.cloudfront.net/_/brightcove/img/microphone-slash.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 12px 18px;
    content: '\a0';
}

@media (min-width: 768px) {
    .btn-unmute::before {
        top: 0.2rem;
        width: 14px;
        height: 20px;
        margin-right: 0.5rem;
        background-size: 14px 20px;
    }
}

/* Videos - resize button */
.btn-video-resize {
    display: none;
    position: relative;
    top: 0.05rem;
    width: 20px;
}

@media (min-width: 768px) {
    .btn-video-resize {
        display: block;
    }

    .btn-video-resize::before {
        position: absolute;
        top: 0.15rem;
        right: 0;
        padding: 0.2rem 0.5rem;
        color: hsl(0, 0%, 100%);
        content: '\f065';
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        font-size: 140%;
    }

    .container-video.video-expanded .btn-video-resize::before {
        content: '\f066';
    }
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-item {
    transition:
        background-color 0.2s,
        color 0.2s;
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-item:hover,
.vjs-menu-button-popup .vjs-menu .vjs-menu-item:active {
    background-color: hsl(0, 0%, 30%) !important;
    color: hsl(0, 0%, 100%);
    text-shadow: none !important;
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected {
    background-color: hsl(0, 0%, 100%) !important;
    color: hsl(0, 0%, 0%);
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected:hover {
    background-color: hsl(0, 0%, 80%) !important;
    color: hsl(0, 0%, 0%);
}

/* Videos - general buttons */
.btn-video-std {
    display: inline-block;
    vertical-align: middle;
    user-select: none;
    color: hsl(0, 0%, 100%);
    font-weight: 700;
    font-size: 0.85em;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
    padding: 0.375rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 100px;
    /* box-shadow:
        0 0 0 1px hsla(0, 0%, 100%, 0.1),
        0 0 0 2px hsla(0, 0%, 100%, 0.5),
        0 0 0 3px hsla(0, 0%, 0%, 0.3); */
    text-decoration: none !important;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    -webkit-font-smoothing: antialiased;
}

.btn-video-std:hover {
    cursor: pointer;
}

.btn-video-primary {
    background-color: hsla(0, 0%, 100%, 0.2);
    box-shadow: 0 0 0 1px hsla(0, 0%, 100%, 0.25);
}

.btn-video-primary:hover {
    background-color: hsla(0, 0%, 100%, 0.25);
    box-shadow: 0 0 0 1px hsla(0, 0%, 100%, 0.3);
    color: hsl(0, 0%, 100%);
}

.btn-video-secondary {
    background-color: hsla(0, 0%, 100%, 0.08);
    box-shadow: 0 0 0 1px hsla(0, 0%, 100%, 0.12);
    color: hsla(0, 0%, 100%, 0.8);
}

.btn-video-secondary:hover {
    background-color: hsla(0, 0%, 100%, 0.12);
    box-shadow: 0 0 0 1px hsla(0, 0%, 100%, 0.18);
    color: hsla(0, 0%, 100%, 0.85);
}

/* Videos - overlay */
.video-overlay,
.video-overlay-content {
    position: absolute;
    z-index: 6;
    width: 100%;
    height: 100%;
}

.video-overlay {
    opacity: 0;
    visibility: hidden;
}

.video-overlay-light {
    background-color: var(--ex-light);
}

.video-overlay-dark {
    background-color: var(--ex-night);
}

/* Videos - preview */
.video-preview {
    color: hsl(0, 0%, 100%);
}

.video-preview-img {
    display: inline-block;
    filter: brightness(1.3);
}

.video-preview-headline {
    line-height: 1;
}

@media (min-width: 992px) {
    .video-preview-headline {
        line-height: 1.25;
    }
}

.video-preview-headline br.d-lg-block {
    display: none !important;
}

.video-preview-headline .text-nowrap {
    white-space: normal !important;
}

/* Videos - chromeless player */
.video-chromeless .video-js .vjs-big-play-button,
.video-chromeless .vjs-control-bar {
    display: none !important;
}

/* Cue points */
.cues {
    position: relative;
}

.cue {
    opacity: 0;
    visibility: hidden;
    display: block;
    position: absolute;
    width: 100%;
    transform: scale(0.2);
    transition: all 0.2s;
}

/* Show cues by default in Safari 7.1+ */
/* _::-webkit-full-page-media, _:future, :root .cue {
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
} */

/* Show cues for smaller screens */
/* @media (max-width: 768px) {
    .cue {
        opacity: 1 !important;
        visibility: visible !important;
        position: relative !important;
    }
} */

.cue.show {
    position: relative;
    animation-name: bumped;
    animation-duration: 0.5s;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-direction: linear;
    animation-fill-mode: forwards;
}

.cues-overlay {
    position: absolute;
    bottom: 8%;
    left: 50%;
    overflow: visible;
    width: 80%;
    transform: translateX(-50%);
    transition: all 0.2s;
}

/* .cues-overlay .cue {
    background-color: hsl(228, 34%, 18%);
    border-radius: 0.15rem;
}

.cues-overlay .cue::before {
    position: absolute;
    left: -0.5rem;
    width: 16%;
    height: 30%;
    top: -10px;
    background: #716f9b;
    background: linear-gradient(#716f9b, #7471ab 34%, #3c3a5e 40%, #54518f 60%, #918fb3 100%) !important;
    content: '\a0';
    transform: skew(-10deg);
}

.cues-overlay .cue::after {
    position: absolute;
    right: -0.5rem;
    width: 16%;
    height: 30%;
    bottom: -10px;
    background: #716f9b;
    background: linear-gradient(#716f9b, #7471ab 34%, #3c3a5e 40%, #54518f 60%, #918fb3 100%) !important;
    content: '\a0';
    transform: skew(-10deg);
} */

.cues-overlay .cue {
    /* display: none; */
    display: inline-block;
}

/* @media (min-width: 768px) {
    .cues-overlay .cue {
        display: inline-block;
    }
} */

.cues-overlay .cue-video-end {
    display: inline-block;
}

/* Audio */
.audio-container {
    max-width: 380px;
}

@media (min-width: 992px) {
    .audio-container {
        border-radius: 200px;
        background-color: hsl(0, 0%, 100%);
        box-shadow: 0 0.5rem 1rem hsla(0, 0%, 0%, 0.15);
    }
}

audio {
    outline: none;
}

@media (min-width: 992px) {
    audio {
        position: absolute;
        top: 50%;
        right: 1.4em;
        transform: translateY(-50%);
    }
}

audio.chrome {
    right: 0.4em;
}

audio::-webkit-media-controls-panel {
    background-color: hsl(0, 0%, 100%);
}

/* Modals */
.modal.show,
.modal-backdrop.show {
    transition:
        visibility 0s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        backdrop-filter 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
}

.modal.show {
    z-index: 99992;
    backdrop-filter: blur(5px);
}

.modal-backdrop.show {
    opacity: 0.5 !important;
    z-index: 99991;
}

.modal.fade .modal-dialog {
    transform: translate(0, 0);
}

.modal-content {
    margin-top: 4em;
    border: 0;
    box-shadow: 0 1rem 2rem hsla(0, 0%, 0%, 0.7);
    transform: scale(0.7);
    transition: all 0.2s;
}

.modal.show .modal-content {
    transform: scale(1);
}

.main-video {
    transition:
        filter 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.modal-open .main-video {
    filter: blur(5px);
    transform: scale(0.96);
    transition:
        filter 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Modals - video */
.modal-video .modal-dialog {
    max-width: 100%;
}

@media (min-width: 768px), (min-height: 730px) {
    .modal-video .modal-dialog {
        max-width: 860px;
    }
}

@media (min-width: 992px) and (min-height: 790px) {
    .modal-video .modal-dialog {
        max-width: 960px;
    }
}

.modal-scale {
    opacity: 0;
    transform: scale(0.4);
    transition: all 0.4s;
}

.modal-scale.show {
    transform: scale(1);
}

/* Modals - close button */
button.close {
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 7;
    width: 22px;
    height: 22px;
    background-color: transparent;
    border: 0;
    border-radius: 100%;
}

@media (min-width: 992px) {
    button.close {
        width: 26px;
        height: 26px;
        top: -2rem;
        background-color: hsla(var(--ex-primary-h), 8%, 98%, 0.6);
    }

    .video-overlay button.close {
        top: 0.7rem;
        right: 0.7rem;
        transform: scale(0.9);
    }
}

.close:not(:disabled):not(.disabled):hover,
.close:not(:disabled):not(.disabled):focus {
    opacity: 1;
    outline: none;
}

.crossmark {
    position: relative;
    display: block;
    width: 12px;
    height: 12px;
}

@media (min-width: 768px) {
    .crossmark {
        width: 14px;
        height: 14px;
    }
}

.crossmark::before,
.crossmark::after {
    position: absolute;
    left: 0;
    top: 50%;
    content: '\a0';
    display: block;
    width: 12px;
    height: 0;
    border: solid hsl(var(--ex-primary-h), 8%, 30%);
    border-width: 0 0 2px 0;
    transition: all 0.2s;
}

@media (min-width: 768px) {
    .crossmark::before,
    .crossmark::after {
        width: 14px;
    }
}

.crossmark::after {
    transform: translateY(-50%) rotate(45deg);
}

.crossmark::before{
    transform: translateY(-50%) rotate(-45deg);
}

.close:hover .crossmark::before,
.close:hover .crossmark::after,
.crossmark:focus::before,
.crossmark:focus::after {
    border: solid hsl(var(--ex-primary-h), 8%, 15%);
    border-width: 0 0 2px 0;
}

/* Included items */
@media (min-width: 992px) {
    .title-fa {
        --ex-fa-icon: '\f138';
        --ex-fa-weight: 900;
        --ex-fa-color: inherit;
        --ex-fa-size: 180%;
    }

    .title-fa::before {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        margin-top: -0.1rem;
        margin-left: -2.1rem;
        color: var(--ex-fa-color);
        font-family: 'Font Awesome 6 Free';
        font-size: var(--ex-fa-size);
        font-weight: var(--ex-fa-weight);
        width: 1.8rem;
        height: 1.8rem;
        line-height: 1;
        transform: scale(0.8);
        content: var(--ex-fa-icon);
    }
}

/* Forms */
.container-form {
    background-color: #fafafa;
    border-top: 1px solid #eee;
}

form {
    margin-bottom: 0;
}

.form-control,
.form-control.is-valid,
.custom-select,
.custom-select.is-valid {
    font-size: 1rem;
    border-color: hsla(var(--ex-primary-h), 58%, 8%, 0.25);
}

.form-control:active,
.form-control:focus,
.custom-select:focus {
    border-color: hsla(var(--ex-primary-h), 58%, 8%, 0.8);
    /* border-color: hsl(210, 9%, 31%); */
    box-shadow: 0 0 0 0.15rem hsla(var(--ex-primary-h), 58%, 8%, 0.15);
}

/* Disable input focus zoom on iOS */
@media (max-width: 767px) {
    input, select, textarea,
    input:focus, select:focus, textarea:focus {
        font-size: 16px !important;
    }
}

::placeholder {
    opacity: 1 !important;
    color: hsl(202, 5%, 46%) !important;
    transition: opacity 0.15s ease-in-out;
}

:-ms-input-placeholder {
    opacity: 1 !important;
    color: hsl(202, 5%, 46%) !important;
    transition: opacity 0.15s ease-in-out;
}

:focus::placeholder {
    opacity: 0 !important;
}

:focus:-ms-input-placeholder {
    opacity: 0 !important;
}

/* Form validation */
.was-validated .form-control:valid,
.form-control.is-valid:focus {
    border-color: hsla(0, 0%, 0%, 0.15) !important;
    box-shadow: 0 0 0 0.15rem hsla(0, 0%, 0%, 0.1) !important;
}

.was-validated .form-control:invalid,
.form-control.is-invalid,
.was-validated .custom-select:invalid,
.custom-select.is-invalid {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23f02800' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f02800' stroke='none'/%3e%3c/svg%3e");
    border-color: var(--ex-danger) !important;
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus,
.was-validated .custom-select:invalid:focus,
.custom-select.is-invalid:focus {
    box-shadow: 0 0 0 0.15rem hsla(var(--ex-danger-h), var(--ex-danger-s), var(--ex-danger-l), 0.25) !important;
}

.is-invalid~.invalid-feedback,
.is-invalid~.invalid-tooltip,
.was-validated :invalid~.invalid-feedback,
.was-validated :invalid~.invalid-tooltip {
    display: block;
}

.invalid-tooltip {
    /* background-color: hsl(0, 0%, 100%);
    background: linear-gradient(hsl(210, 8%, 95%) 1%, hsl(0, 0%, 100%) 100%);
    box-shadow: 0 2px 2px 0 hsl(var(--ex-primary-h), 27%, 11%, 0.6);
    color: var(--ex-danger); */
    background-color: var(--ex-danger);
    color:hsl(0, 0%, 100%);
    font-size: 0.75rem;
}

.invalid-tooltip:first-letter,
.invalid-feedback:first-letter {
    text-transform: capitalize;
}

.form-control.is-valid,
.was-validated .form-control:valid {
    background-image: none !important;
}

/* Form validation - checkmarks */
.form-check-input:checked {
    background-color: currentcolor;
    border-color: currentcolor;
}

.form-check-input:focus {
    border-color: hsla(var(--ex-primary-h), 10%, 10%, 0.5);
    box-shadow: 0 0 0 0.2rem hsla(var(--ex-primary-h), 10%, 10%, 0.15);
}

.was-validated .form-check-input:valid ~ .form-check-label,
.form-check-input.is-valid ~ .form-check-label {
    color: currentcolor;
}

.was-validated .form-check-input:valid,
.form-check-input.is-valid {
    border-color: currentcolor;
}

.was-validated .form-check-input:valid:focus,
.form-check-input.is-valid:focus {
    box-shadow: 0 0 0 0.2rem hsla(var(--ex-primary-h), 10%, 10%, 0.15);
}

.was-validated .form-check-input:valid:checked,
.form-check-input.is-valid:checked {
    background-color: currentcolor;
    border-color: hsla(var(--ex-primary-h), 10%, 10%, 0.5);
}

/* Payment form */
.store-form-container {
    /* max-width: 980px;
    margin-right: auto;
    margin-left: auto; */
    font-size: 70%;
}

.customer-info,
.payment-info-additional-fields,
#zuora_payment {
    position: relative;
    left: -5px;
    max-width: 220px;
    margin-right: auto !important;
    margin-left: auto !important;
}

#zuora_payment .row {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

#zuora_payment [class*="col"] {
    flex: 100%;
    max-width: 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

#zuora_payment select {
    margin-bottom: 10px;
}

#z_hppm_iframe {
    position: relative;
    left: -23px;
    min-width: 350px;
    /* height: 710px; */
    height: 665px;
}

.customer-info label,
.payment-info label,
#zuora_payment label {
    max-width: 100%;
    padding: 0 !important;
    margin-bottom: 2px;
    color: #808080;
    font-family: Verdana, sans-serif;
    font-size: 12px;
    line-height: 13px;
    text-transform: capitalize;
}

/* Token field */
.payment-info .form-group.row {
    position: relative;
    left: -5px;
    display: block;
    margin-top: 10px;
}

.payment-info .form-group.row label {
    margin-bottom: 5px;
}

/* .payment-info [class*="col"] {
    display: block;
    width: 220px;
    margin: 0 auto;
    padding: 0;
} */

.customer-info .form-control,
.payment-info .form-control,
#zuora_payment .form-control {
    height: 30px;
    padding: 5px 2px 6px 2px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 1px 3px hsla(0, 0%, 0%, 0.1);
    font-family: Verdana, sans-serif;
    font-size: 13px;
    line-height: 17px;
}

.customer-info .form-control::placeholder,
.payment-info .form-control::placeholder,
#zuora_payment .form-control::placeholder {
    color: hsla(0, 0%, 0%, 0);
}

.store-form-container a:focus,
.store-form-container a:focus-visible,
.store-form-container .form-control:focus,
.store-form-container .form-control:focus-visible,
.store-form-container select:focus,
.store-form-container select:focus-visible,
.store-form-container button:focus,
.store-form-container button:focus-visible {
    outline: auto hsl(213, 99%, 40%) !important;
}

.customer-info-container,
.payment-info-container,
.store-submit-container {
    position: relative;
    max-width: 430px;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 450px) {
    .customer-info-container,
    .payment-info-container,
    .store-submit-container {
        margin-right: -0.5rem !important;
        margin-left: -0.5rem !important;
    }
}

.customer-info-container,
.payment-info-container {
    border: 1px solid hsl(0, 0%, 90%);
    background-color: #fafafa;
    border-radius: 0.35rem;
}

/* Payment form - buttons */
.payment-info .btn-sm {
    padding-top: 5px;
    padding-bottom: 6px;
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.3), 0 1px 2px hsla(calc(var(--ex-secondary-h) - 2), var(--ex-secondary-s), 10%, 0.3) !important;
    font-size: 13px;
    line-height: 17px;
    font-weight: 700;
    -webkit-font-smoothing: antialiased;
}

.payment-info .btn-sm:hover {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.3), 0 2px 4px hsla(calc(var(--ex-secondary-h) - 2), var(--ex-secondary-s), 10%, 0.3) !important;
}

/* Payment form price choices */
.store-offerpricechoice {
    display: none;
}

.store-pricechoices,
.store-bumpchoices {
    max-width: 540px;
    margin: 1em auto 0 auto;
}

@media (max-width: 450px) {
    .store-pricechoices,
    .store-bumpchoices {
        margin-right: -0.5rem !important;
        margin-left: -0.5rem !important;
    }
}

.choice {
    position: relative;
    margin-bottom: 0.5rem;
    border-radius: 0.35rem;
    transition: all 0.2s;
}

.choice input {
    display: none;
}

.choice::before {
    display: inline-block;
    position: absolute;
    width: 2.8rem;
    height: 100%;
    padding-top: 0.8rem;
    padding-left: 0.8rem;
    border-right: 1px solid transparent;
    color: var(--ex-secondary-neutral);
    content: '\f111';
    font-family: 'Font Awesome 6 Free';
    font-weight: 400;
    font-size: 1.8em;
    letter-spacing: 0;
    transition: all 0.4s;
    -webkit-font-smoothing: antialiased;
}

.choice label {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0.85rem 1rem 0.85rem 3.4rem;
    border: 2px solid transparent;
    border-radius: 0.35rem;
    font-size: 0.8rem;
    line-height: 1.4;
    text-transform: none;
    cursor: pointer;
    transition: all 0.4s;
}

.choice-title {
    color: var(--ex-night) !important;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
    transition: all 0.4s;
}

/* .choice:hover .choice-title,
.choice.checked .choice-title {
    color: var(--ex-night) !important;
} */

/* Single choices */
.choice-single {
    opacity: 0.7;
    filter: grayscale(1);
}

.choice-single.checked {
    animation: bump 0.3s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

.choice-single:hover,
.choice-single.checked {
    opacity: 1;
    filter: grayscale(0);
    background-color: hsl(0, 0%, 100%);
}

.choice-single label {
    box-shadow: 0 0 7px hsla(0, 0%, 0%, 0.15);
    border: 2px solid hsl(0, 0%, 80%);
}

.choice-single.checked::before,
.choice-single.checked:hover::before {
    background: hsl(0, 0%, 98%);
    border-right: 1px solid hsla(0, 0%, 0%, 0.06);
    color: hsl(var(--ex-primary-h), 58%, 8%);
    content: '\f058';
}

.choice-single::before {
    background: hsl(0, 0%, 98%);
    border-right: 1px solid hsla(0, 0%, 0%, 0.06);
    color: var(--ex-secondary-neutral);
}

.choice-single:hover label {
    box-shadow: 0 0 7px hsla(0, 0%, 0%, 0.15);
    border: 2px solid var(--ex-secondary-neutral);
}

.choice-single.checked label,
.choice-single.checked label:hover {
    border: 2px solid hsl(var(--ex-primary-h), 58%, 8%);
    box-shadow: 1px 4px 8px hsla(0, 0%, 0%, 0.2);
}

/* Bump choices */
input[name="optionalBumpUpCheckBox"] {
    display: none !important;
}

.bump-container {
    border: 2px solid hsla(0, 0%, 0%, 0.1);
    background-color: hsl(0, 0%, 0%, 0.02);
    box-shadow: 0 0.2rem 0.6rem hsla(var(--ex-primary-h), var(--ex-primary-s), var(--ex-primary-l), 0);
    transition: all 0.4s;
    animation: unbump 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
    cursor: pointer;
}

.bump-container:hover {
    border: 2px solid hsla(0, 0%, 0%, 0.3);
}

.choice-bump {
    border-top: 1px solid hsla(0, 0%, 0%, 0.1);
    background: hsl(0, 0%, 100%);
}

.choice-bump::before {
    border-right: 1px solid hsla(0, 0%, 0%, 0.06);
}

.bump-container.checked {
    border-color: hsl(var(--ex-primary-h), var(--ex-primary-s), var(--ex-primary-l));
    box-shadow: 0 0.2rem 0.6rem hsla(var(--ex-primary-h), var(--ex-primary-s), var(--ex-primary-l), 0.2);
    animation: bump 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

.bump-container.checked .choice-title,
.bump-container.checked .choice::before {
    color: hsl(var(--ex-primary-h), var(--ex-primary-s), var(--ex-primary-l)) !important;
}

.checked .choice-bump:hover::before,
.checked .choice-bump::before {
    content: '\f058';
}

/* Payment form choices - card groups */
/* .store-form .card-group {
    margin-top: 4em;
}

@media (max-width: 574px) {
    .store-form .card-group {
        max-width: 300px;
        margin-top: 2em;
        margin-right: auto;
        margin-left: auto;
    }
}

.card-group input {
    display: none;
}

.card-group .choice {
    box-shadow: 0 0 0 2px hsl(204, 6%, 85%) inset;
    border: 0;
    border-radius: 0;
    line-height: 1.3;
    transition: all 0.1s;
    cursor: pointer;
}

@media (max-width: 574px) {
    .card-group .choice {
        margin-bottom: 2em;
    }
}

.card-group .choice:hover {
    box-shadow: 0 0 0 2px hsl(197, 100%, 62%) inset;
    transition: all 0.1s cubic-bezier(0.36, 0.07, 0.19, 0.97);
}

.card-group .card-header {
    position: relative;
    overflow: hidden;
    padding-top: 1.5em;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid hsla(0, 0%, 0%, 0.05);
    transition: all 0.2s;
}

.card-group .choice:hover .card-header {
    background-color: hsla(197, 100%, 62%, 0.5);
}

.card-group .choice-disabled {
    overflow: hidden;
    background-color: hsla(0, 0%, 0%, 0.05);
    color: #90989e;
}

.card-group .choice-disabled:hover {
    box-shadow: 0 0 0 2px hsl(204, 6%, 85%) inset;
}

.card-group .choice-disabled:hover .card-header {
    background-color: hsla(0, 0%, 0%, 0.03);
} */

/* Payment form choices - card groups - selected card */
/* .card-group .choice-checked {
    position: relative;
    z-index: 2;
    box-shadow:
        0 0 0 2px hsl(197, 100%, 62%) inset,
        0 0.4rem 0.8rem hsla(197, 100%, 22%, 0.2);
}

@media (min-width: 574px) {
    .card-group .choice-checked {
        transform: scale(1.06);
    }
}

.card-group .choice-checked:hover {
    box-shadow:
        0 0 0 2px hsl(197, 100%, 62%) inset,
        0 0.4rem 0.8rem hsla(197, 100%, 22%, 0.2);
}

.card-group .choice-checked .card-header {
    background-color: hsla(197, 100%, 62%, 0.5);
} */

/* Payment form choices - card groups - buttons */
/* .card-group .btn {
    border: 1px solid hsla(206, 7%, 59%, 0.3);
    font-size: 90%;
}

.card-group .choice:hover .btn,
.card-group .btn:hover {
    background-color: hsla(197, 100%, 62%, 0.5);
    border: 1px solid hsl(197, 100%, 62%);
}

.card-group .btn:active,
.card-group .btn:focus {
    background-color: hsla(197, 100%, 46%, 0.5);
    border: 1px solid hsl(197, 100%, 46%);
}

.card-group .choice-disabled:hover .btn,
.card-group .choice-disabled .btn:hover {
    background-color: hsla(206, 7%, 59%, 0);
    border: 1px solid hsla(206, 7%, 59%, 0.2);
}

.card-group .btn-text::before {
    content: 'Select';
}

.card-group .choice-checked .btn {
    background-color: hsla(0, 0%, 0%, 0);
    border: 0;
    color: hsl(197, 100%, 42%);
    font-weight: 700;
}

.card-group .choice-checked .btn::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 90%;
}

.card-group .choice-checked .btn-text::before {
    content: 'Selected';
}

.card-group .choice-checked:hover .btn,
.card-group .choice-checked .btn:hover {
    background-color: hsla(0, 0%, 0%, 0);
    border: 0;
} */

/* Payment form choices - card groups - choice checkmark */
/* .choice-checkmark {
    position: absolute;
    z-index: 5;
    top: -15px;
    left: 50%;
    width: 30px;
    height: 30px;
    padding-top: 2px;
    background-color: var(--bs-dark);
    border-radius: 50%;
    transform: translateX(-50%) scale(0);
    transition: all 0.3s;
}

@media (min-width: 768px) {
    .choice-checkmark {
        top: -20px;
        width: 40px;
        height: 40px;
    }
}

.choice-checked .choice-checkmark {
    transform: translateX(-50%) scale(1);
} */

/* Payment form choices - card groups - lists */
/* .choice .list-item {
    position: relative;
    display: block;
    margin-bottom: 0.5em;
    padding-left: 1em;
}

.choice .list-item::before {
    position: absolute;
    top: -0.06em;
    left: 0;
    color: var(--green);
    content: '\f0da';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 110%;
} */

/* Payment form - payment methods */
.store-payments-method {
    opacity: 0.7;
    background-color: hsl(0, 0%, 94%);
    border: 1px solid hsla(var(--ex-primary-h), 58%, 8%, 0.2);
    color: hsl(var(--ex-primary-h), 8%, 8%);
    filter: grayscale(1);
    transform: scale(1.01) translateZ(0);
    transition: all 0.2s;
}

.store-payments-method:hover,
.store-payments-method.checked {
    opacity: 1;
    filter: grayscale(0);
    background-color: hsl(0, 0%, 98%);
    border: 1px solid hsla(var(--ex-primary-h), 58%, 8%, 0.3);
    box-shadow: 1px 3px 6px hsla(0, 0%, 0%, 0.05);
    color: hsl(var(--ex-primary-h), 8%, 8%);
    cursor: pointer;
}

.store-payments-method.checked {
    background-color: hsl(0, 0%, 100%);
    border: 1px solid hsla(var(--ex-primary-h), 58%, 8%, 0.7);
    box-shadow: 1px 3px 6px hsla(0, 0%, 0%, 0.1);
    animation: bump 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

.store-payments-method input {
    display: none;
}

/* .store-payments-method::before {
    display: inline-block;
    margin-right: 0.5rem;
    color: var(--ex-secondary-neutral);
    content: '\f111';
    font-family: 'Font Awesome 6 Free';
    font-weight: 400;
    transition: all 0.4s;
    -webkit-font-smoothing: antialiased;
}

.store-payments-method:hover::before {
    color: var(--ex-secondary);
}

.store-payments-method.checked::before {
    color: hsl(var(--ex-primary-h), 8%, 8%);
    content: '\f192';
    font-weight: 700;
} */

.store-payments-method .fa {
    margin-right: 0.1rem;
}

/* Payment form - coupon */
.form-coupon {
    margin: 0 -20px 0 -15px;
    padding: 10px 20px 18px 20px;
    background: hsla(210, 7%, 45%, 0.08);
    border-radius: 0.25rem;
}

/* Payment form - validation */
.store-error {
    display: none;
    margin-top: 0.14rem;
    font-family: Verdana, sans-serif;
    font-size: 12px;
    line-height: 16px;
}

.store-subscribe-error {
    max-width: 600px;
    margin: 0 auto;
    padding: 1rem;
    font-family: var(--ex-font-system);
}

/* Fixed form */
.form-fixed {
    position: fixed;
    bottom: -540px;
    z-index: 20;
    width: 100%;
    transition: all 0.6s;
}

@media (min-width: 992px) {
    .form-fixed {
        bottom: -300px;
    }
}

.form-fixed-light {
    background-color: var(--ex-light);
    box-shadow: 0 -4px 12px 0 hsla(var(--ex-primary-h), 4%, 50%, 0.3);
    border-top: 1px solid hsla(var(--ex-primary-h), 40%, 10%, 0.15);
    color: var(--ex-night);
}

.form-fixed-dark {
    background-color: var(--ex-primary-dark);
    box-shadow: 0 -4px 12px 0 hsla(var(--ex-primary-h), 8%, 10%, 0.4);
    color: var(--bs-white);
    -webkit-font-smoothing: antialiased;
}

.form-fixed-night {
    background-color: var(--ex-night);
    box-shadow: 0 -4px 12px 0 hsla(var(--ex-primary-h), 8%, 10%, 0.4);
    color: var(--bs-white);
    -webkit-font-smoothing: antialiased;
}

.form-fixed button.close {
    width: 26px;
    height: 26px;
    top: -2rem;
    right: 0.8rem;
    background-color: hsla(var(--ex-primary-h), 10%, 84%);
}

.form-fixed-slide-up {
    bottom: -5px;
}

/* Additional slide-down class for close button */
.form-fixed-slide-down {
    bottom: -540px;
}

/* Asset loaders */
.cuLoader {
    background: hsla(0, 0%, 100%, 0.9);
}

site-manager > div > div {
    opacity: 0.9;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background-color: hsl(0, 0%, 100%);
}

site-manager > div > div > img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300px;
    transform: translate(-50%, -50%);
}

/* Buttons */
.btn {
    /* Disabled */
    --bs-btn-disabled-color: var(--bs-btn-color);
    --bs-btn-disabled-bg: var(--bs-btn-bg);
    --bs-btn-disabled-border-color: var(--bs-btn-border-color);
    --bs-btn-disabled-opacity: 0.7;

    /* Additional styles */
    text-decoration: none !important;
    box-shadow: var(--ex-btn-box-shadow);
}

.btn:hover {
    box-shadow: var(--ex-btn-hover-box-shadow);
}

.btn:active {
    box-shadow: var(--ex-btn-active-box-shadow);
}

/* Buttons - primary */
.btn-primary {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--ex-primary);
    --bs-btn-border-color: hsl(var(--ex-primary-h), var(--ex-primary-s), calc(var(--ex-primary-l) - 6%));
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 2px 4px hsla(calc(var(--ex-primary-h) - 2), var(--ex-primary-s), 30%, 0.2);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(var(--ex-primary-h), var(--ex-primary-s), calc(var(--ex-primary-l) - 2%));
    --bs-btn-hover-border-color: hsl(var(--ex-primary-h), var(--ex-primary-s), calc(var(--ex-primary-l) - 8%));
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 4px 8px hsla(calc(var(--ex-primary-h) - 2), var(--ex-primary-s), 30%, 0.25);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-primary-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(var(--ex-primary-h), var(--ex-primary-s), calc(var(--ex-primary-l) - 4%));
    --bs-btn-active-border-color: hsl(var(--ex-primary-h), var(--ex-primary-s), calc(var(--ex-primary-l) - 10%));
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - primary light */
.btn-primary-light {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--ex-night);
    --bs-btn-bg: hsl(var(--ex-primary-h), 58%, 86%);
    --bs-btn-border-color: hsla(calc(var(--ex-primary-h) - 2), var(--ex-primary-s), 10%, 0.15);
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.4), 0 2px 4px hsla(calc(var(--ex-primary-h) - 2), 20%, 40%, 0.2);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(var(--ex-primary-h), 58%, 84%);
    --bs-btn-hover-border-color: hsla(calc(var(--ex-primary-h) - 3), var(--ex-primary-s), 10%, 0.15);
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 4px 8px hsla(calc(var(--ex-primary-h) - 2), 20%, 40%, 0.25);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-primary-light-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(var(--ex-primary-h), 58%, 82%);
    --bs-btn-active-border-color: hsla(calc(var(--ex-primary-h) - 4), var(--ex-primary-s), 10%, 0.2);
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - primary dark */
.btn-primary-dark {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: hsl(var(--ex-primary-h), 54%, 26%);
    --bs-btn-border-color: hsla(calc(var(--ex-primary-h) - 2), var(--ex-primary-s), 10%, 0.2);
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.25), 0 2px 4px hsla(calc(var(--ex-primary-h) - 2), 30%, 20%, 0.4);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(var(--ex-primary-h), 54%, 20%);
    --bs-btn-hover-border-color: hsla(calc(var(--ex-primary-h) - 3), var(--ex-primary-s), 10%, 0.25);
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.25), 0 4px 8px hsla(calc(var(--ex-primary-h) - 2), 30%, 20%, 0.4);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-primary-dark-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(var(--ex-primary-h), 54%, 16%);
    --bs-btn-active-border-color: hsla(calc(var(--ex-primary-h) - 4), var(--ex-primary-s), 10%, 0.2);
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - secondary */
.btn-secondary {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--ex-secondary);
    --bs-btn-border-color: hsla(calc(var(--ex-secondary-h) - 2), var(--ex-secondary-s), 10%, 0.3);
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.25), 0 2px 4px hsla(calc(var(--ex-secondary-h) - 2), var(--ex-secondary-s), 10%, 0.4);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(var(--ex-secondary-h), var(--ex-secondary-s), calc(var(--ex-secondary-l) - 4%));
    --bs-btn-hover-border-color: hsla(calc(var(--ex-secondary-h) - 2), var(--ex-secondary-s), 10%, 0.35);
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.3), 0 4px 8px hsla(calc(var(--ex-secondary-h) - 2), var(--ex-secondary-s), 10%, 0.5);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-secondary-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(var(--ex-secondary-h), var(--ex-secondary-s), calc(var(--ex-secondary-l) - 8%));
    --bs-btn-active-border-color: hsla(calc(var(--ex-secondary-h) - 2), var(--ex-secondary-s), 10%, 0.3);
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - accent */
.btn-accent {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--ex-night);
    --bs-btn-bg: var(--ex-accent);
    --bs-btn-border-color: hsl(var(--ex-accent-h), var(--ex-accent-s), calc(var(--ex-accent-l) - 20%));
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%), 0 2px 4px hsla(calc(var(--ex-accent-h) - 2), var(--ex-accent-s), 30%, 0.2);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(var(--ex-accent-h), var(--ex-accent-s), calc(var(--ex-accent-l) - 2%));
    --bs-btn-hover-border-color: hsl(var(--ex-accent-h), var(--ex-accent-s), calc(var(--ex-accent-l) - 22%));
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 4px 8px hsla(calc(var(--ex-accent-h) - 2), var(--ex-accent-s), 30%, 0.25);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-accent-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(var(--ex-accent-h), var(--ex-accent-s), calc(var(--ex-accent-l) - 4%));
    --bs-btn-active-border-color: hsl(var(--ex-accent-h), var(--ex-accent-s), calc(var(--ex-accent-l) - 24%));
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - warning */
.btn-warning {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--ex-warning);
    --bs-btn-border-color: hsla(calc(var(--ex-warning-h) - 2), var(--ex-warning-s), 10%, 0.2);
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.3), 0 2px 4px hsla(calc(var(--ex-warning-h) - 2), var(--ex-warning-s), 30%, 0.2);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(calc(var(--ex-warning-h) - 1), var(--ex-warning-s), calc(var(--ex-warning-l) - 2%));
    --bs-btn-hover-border-color: hsla(calc(var(--ex-warning-h) - 3), var(--ex-warning-s), 10%, 0.25);
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.3), 0 4px 8px hsla(calc(var(--ex-warning-h) - 2), var(--ex-warning-s), 30%, 0.25);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-warning-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(calc(var(--ex-warning-h) - 2), var(--ex-warning-s), calc(var(--ex-warning-l) - 3%));
    --bs-btn-active-border-color: hsla(calc(var(--ex-warning-h) - 3), var(--ex-warning-s), 10%, 0.2);
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - danger */
.btn-danger {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--ex-danger);
    --bs-btn-border-color: hsla(calc(var(--ex-danger-h) - 2), var(--ex-danger-s), 10%, 0.25);
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 2px 4px hsla(calc(var(--ex-danger-h) - 2), var(--ex-danger-s), 30%, 0.25);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(calc(var(--ex-danger-h) - 1), var(--ex-danger-s), calc(var(--ex-danger-l) - 2%));
    --bs-btn-hover-border-color: hsla(calc(var(--ex-danger-h) - 3), var(--ex-danger-s), 10%, 0.35);
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 4px 8px hsla(calc(var(--ex-danger-h) - 2), var(--ex-danger-s), 30%, 0.28);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-danger-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(calc(var(--ex-danger-h) - 2), var(--ex-danger-s), calc(var(--ex-danger-l) - 3%));
    --bs-btn-active-border-color: hsla(calc(var(--ex-danger-h) - 3), var(--ex-danger-s), 10%, 0.25);
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - white */
.btn-white {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--ex-secondary);
    --bs-btn-bg: var(--bs-white);
    --bs-btn-border-color: hsla(var(--ex-secondary-h), var(--ex-secondary-s), var(--ex-secondary-l), 0.25);
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%), 0 4px 8px hsla(var(--ex-primary-h), 58%, 14%, 0.08);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsla(var(--ex-secondary-h), var(--ex-secondary-s), var(--ex-secondary-l), 0.05);
    --bs-btn-hover-border-color: hsla(var(--ex-secondary-h), var(--ex-secondary-s), var(--ex-secondary-l), 0.3);
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%), 0 4px 8px hsla(var(--ex-primary-h), 58%, 14%, 0.08);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--bs-white-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsla(var(--ex-secondary-h), var(--ex-secondary-s), var(--ex-secondary-l), 0.05);
    --bs-btn-active-border-color: hsla(var(--ex-secondary-h), var(--ex-secondary-s), var(--ex-secondary-l), 0.3);
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - light */
.btn-light {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--ex-night);
    --bs-btn-bg: hsl(var(--ex-primary-h), 16%, 90%);
    --bs-btn-border-color: hsl(var(--ex-primary-h), 100%, 10%, 0.15);
    --ex-btn-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 2px 4px hsla(var(--ex-primary-h), 20%, 20%, 0.1);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(var(--ex-primary-h), 16%, 86%);
    --bs-btn-hover-border-color: hsla(var(--ex-primary-h), 100%, 10%, 0.2);
    --ex-btn-hover-box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.55), 0 4px 8px hsla(var(--ex-primary-h), 20%, 20%, 0.15);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-light-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(var(--ex-primary-h), 16%, 83%);
    --bs-btn-active-border-color: hsla(var(--ex-primary-h), 100%, 10%, 0.2);
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - night */
.btn-night {
    /* Base */
    --bs-btn-font-weight: 700;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: hsl(var(--ex-primary-h), 8%, 1%);
    --bs-btn-border-color: hsl(var(--ex-primary-h), 8%, 4%);
    --ex-btn-box-shadow: 0 2px 4px hsla(calc(var(--ex-primary-h) - 2), 8%, 8%, 0.2);

    /* Hover */
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(var(--ex-primary-h), 8%, 0%);
    --bs-btn-hover-border-color: hsl(var(--ex-primary-h), 8%, calc(var(--ex-primary-l) - 8%));
    --ex-btn-hover-box-shadow: 0 4px 8px hsla(calc(var(--ex-primary-h) - 2), 8%, 8%, 0.25);

    /* Focus/active */
    /* --bs-btn-focus-shadow-rgb: var(--ex-primary-rgb); */
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-bg: hsl(var(--ex-primary-h), 8%, 0%);
    --bs-btn-active-border-color: hsl(var(--ex-primary-h), 8%, 4%);
    --ex-btn-active-box-shadow: var(--ex-btn-box-shadow);
}

/* Buttons - 3D */
.btn-3d {
    position: relative;
    top: 0;
    padding-bottom: 0.55em;
    border: 0;
    transition: all 0.1s;
    box-shadow: inset 0 -6px 0 0 hsl(0, 0%, 0%, 0.2), 0 4px 6px -1px hsla(0, 0%, 0%, 0.6);
}

.btn-3d:hover {
    box-shadow: inset 0 -6px 0 0 hsl(0, 0%, 0%, 0.3), 0 7px 12px -1px hsla(0, 0%, 0%, 0.5);
}

.btn-3d:active,
.btn-3d:not(:disabled):not(.disabled):active,
.btn-3d:focus,
.btn-3d:not(:disabled):not(.disabled):active:focus {
    top: 3px;
    padding-bottom: 0.4em;
    box-shadow: inset 0 -2px 0 0 hsl(0, 0%, 0%, 0.3), 0 5px 6px -1px hsla(0, 0%, 0%, 0.8);
}

/* Buttons - scale */
.btn-scale {
    border: 0;
    transition: all 0.1s;
    transform: scale(1);
    cursor: pointer;
}

.btn-scale:hover {
    transform: scale(1.04);
}

.btn-scale:active,
.btn-scale:not(:disabled):not(.disabled):active,
.btn-scale:focus,
.btn-scale:not(:disabled):not(.disabled):active:focus {
    box-shadow: none;
    transform: scale(0.9);
}

/* Buttons - gradients */
.btn-gradient {
    /* background-image: linear-gradient(158deg,
        hsla(212, 100%, 97%, 0.4) 0%,
        hsla(212, 100%, 97%, 0.2) 20%,
        hsla(212, 100%, 97%, 0.1) 40%,
        hsla(212, 100%, 97%, 0.2) 80%,
        hsla(212, 100%, 97%, 0.4) 100%); */
    background-size: 300% 100%;
    transition: all 0.2s cubic-bezier(0.42, 0.29, 0.3, 0.86);
}

.btn-gradient:hover {
    background-position: 100% 0;
    transition: all 0.2s cubic-bezier(0.42, 0.29, 0.3, 0.86);
}

.btn-gradient:active,
.btn-gradient:not(:disabled):not(.disabled):active,
.btn-gradient:focus,
.btn-gradient:not(:disabled):not(.disabled):active:focus {
    background-position: 0;
}

/* Buttons - gradients - primary */
.btn-gradient-primary {
    --btn-text-color: hsl(var(--ex-primary-h), var(--ex-primary-s), calc((50 - 60) * -100%));
    background-color: var(--ex-primary);
    background-image: var(--ex-gradient-palette);
    border: 1px solid hsla(calc(var(--ex-primary-h) - 4), var(--ex-primary-s), 10%, 0.15);
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 4px 8px hsla(calc(var(--ex-primary-h) - 2), var(--ex-primary-s), 30%, 0.3);
    color: var(--btn-text-color);
}

.btn-gradient-primary:hover {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 6px 12px hsla(calc(var(--ex-primary-h) - 2), var(--ex-primary-s), 30%, 0.4);
    color: var(--btn-text-color);
}

.btn-gradient-primary:active,
.btn-gradient-primary:not(:disabled):not(.disabled):active,
.btn-gradient-primary:focus,
.btn-gradient-primary:not(:disabled):not(.disabled):active:focus {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 2px 6px hsla(calc(var(--ex-primary-h) - 2), var(--ex-primary-s), 30%, 0.3);
    color: var(--btn-text-color);
}

/* Buttons - gradients - primary light */
.btn-gradient-primary-light {
    --btn-text-color: hsl(var(--ex-primary-h), 58%, 8%);
    background-color: var(--ex-primary-light);
    background-image: var(--ex-gradient-palette);
    border: 1px solid hsla(calc(var(--ex-primary-h) - 4), var(--ex-primary-s), 10%, 0.1);
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 4px 8px hsla(var(--ex-primary-h), 30%, 50%, 0.25);
    color: var(--btn-text-color);
}

.btn-gradient-primary-light:hover {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 6px 12px hsla(var(--ex-primary-h), 30%, 50%, 0.35);
    color: var(--btn-text-color);
}

.btn-gradient-primary-light:active,
.btn-gradient-primary-light:not(:disabled):not(.disabled):active,
.btn-gradient-primary-light:focus,
.btn-gradient-primary-light:not(:disabled):not(.disabled):active:focus {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.45), 0 2px 6px hsla(var(--ex-primary-h), 30%, 50%, 0.25);
    color: var(--btn-text-color);
}

/* Buttons - gradients - primary dark */
.btn-gradient-primary-dark {
    --btn-text-color: var(--bs-white);
    background-color: var(--ex-primary-dark);
    background-image: var(--ex-gradient-palette);
    border: 1px solid hsla(calc(var(--ex-primary-h) - 4), var(--ex-primary-s), 8%, 0.5);
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.3), 0 4px 8px hsla(var(--ex-primary-h), 30%, 20%, 0.4);
    color: var(--btn-text-color);
}

.btn-gradient-primary-dark:hover {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.3), 0 6px 12px hsla(var(--ex-primary-h), 30%, 20%, 0.5);
    color: var(--btn-text-color);
}

.btn-gradient-primary-dark:active,
.btn-gradient-primary-dark:not(:disabled):not(.disabled):active,
.btn-gradient-primary-dark:focus,
.btn-gradient-primary-dark:not(:disabled):not(.disabled):active:focus {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.3), 0 2px 6px hsla(var(--ex-primary-h), 30%, 20%, 0.4);
    color: var(--btn-text-color);
}

/* Buttons - gradients - accent */
.btn-gradient-accent {
    --btn-text-color: var(--ex-night);
    background-color: var(--ex-accent);
    background-image: var(--ex-gradient-accent);
    border: 1px solid hsla(calc(var(--ex-accent-h) - 4), var(--ex-accent-s), 10%, 0.15);
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 4px 8px hsla(var(--ex-accent-h), var(--ex-accent-s), 45%, 0.5);
    color: var(--btn-text-color);
}

.btn-gradient-accent:hover {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 6px 12px hsla(var(--ex-accent-h), var(--ex-accent-s), 45%, 0.6);
    color: var(--btn-text-color);
}

.btn-gradient-accent:active,
.btn-gradient-accent:not(:disabled):not(.disabled):active,
.btn-gradient-accent:focus,
.btn-gradient-accent:not(:disabled):not(.disabled):active:focus {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 2px 6px hsla(var(--ex-accent-h), var(--ex-accent-s), 45%, 0.5);
    color: var(--btn-text-color);
}

/* Buttons - gradients - gold */
/* .btn-gradient-gold {
    --btn-text-color: var(--ex-night);
    --btn-gradient: linear-gradient(160deg, hsl(30, 50%, 60%), hsl(40, 70%, 50%), hsl(52, 98%, 76%), hsl(40, 75%, 50%), hsl(30, 90%, 40%));
    background-image: var(--btn-gradient);
    background-size: 150% 150%;
    background-position: center;
    border: 1px solid hsla(40, 92%, 34%, 0.4);
    box-shadow: 0 3px 6px hsla(0, 0%, 0%, 0.2),
        0 3px 6px hsla(40, 69%, 25%, 0.2),
        inset 0 -2px 5px 1px hsl(40, 90%, 30%),
        inset 0 -1px 1px 3px hsl(48, 92%, 75%);
    text-shadow: 0 2px 2px hsl(48, 92%, 75%);
    color: var(--btn-text-color);
    filter: hue-rotate(358deg) contrast(1.1) saturate(0.85);
}

.btn-gradient-gold:hover {
    background-image: var(--btn-gradient);
    border: 1px solid hsla(40, 92%, 34%, 0.6);
    box-shadow: 0 10px 20px hsla(0, 0%, 0%, 0.19),
        0 6px 6px hsla(0, 0%, 0%, 0.23),
        inset 0 -2px 5px 1px hsl(41, 83%, 38%),
        inset 0 -1px 1px 3px hsl(48, 92%, 75%);
    color: var(--btn-text-color);
}

.btn-gradient-gold:active,
.btn-gradient-gold:not(:disabled):not(.disabled):active,
.btn-gradient-gold:focus,
.btn-gradient-gold:not(:disabled):not(.disabled):active:focus {
    background-image: var(--btn-gradient);
    border: 1px solid hsla(40, 92%, 34%, 0.8);
    box-shadow: 0 3px 6px hsla(0, 0%, 0%, 0.16),
        0 3px 6px hsla(40, 69%, 25%, 0.4),
        inset 0 -2px 5px 1px hsl(41, 83%, 38%),
        inset 0 -1px 1px 3px hsl(48, 92%, 75%);
    color: var(--btn-text-color);
} */

/* Buttons - gradients - gold */
.btn-gradient-gold {
    --ex-btn-color: var(--ex-night);
    --ex-btn-gradient: var(--ex-gradient-gold);
    background-image: var(--ex-btn-gradient);
    background-size: 150% 150%;
    background-position: center;
    border: 1px solid hsla(50, 92%, 34%, 0.3);
    box-shadow: 0 3px 6px hsla(0, 0%, 0%, 0.15),
        0 3px 6px hsla(50, 70%, 25%, 0.15),
        inset 0 -2px 5px 1px hsl(48, 100%, 50%),
        inset 0 -1px 1px 3px hsl(45, 100%, 78%);
    text-shadow: 0 2px 2px hsl(45, 100%, 78%);
    color: var(--ex-btn-color);
    filter: hue-rotate(8deg) contrast(1.2) saturate(0.9);
    transition: all 0.2s cubic-bezier(0.42, 0.29, 0.3, 0.86);
}

.btn-gradient-gold:hover {
    background-image: var(--ex-btn-gradient);
    border: 1px solid hsla(50, 92%, 34%, 0.4);
    box-shadow: 0 10px 20px hsla(0, 0%, 0%, 0.1),
        0 6px 6px hsla(50, 70%, 25%, 0.14),
        inset 0 -2px 5px 1px hsl(48, 100%, 48%),
        inset 0 -1px 1px 3px hsl(45, 100%, 76%);
    color: var(--ex-btn-color);
    transition: all 0.2s cubic-bezier(0.42, 0.29, 0.3, 0.86);
}

.btn-gradient-gold:active,
.btn-gradient-gold:not(:disabled):not(.disabled):active,
.btn-gradient-gold:focus,
.btn-gradient-gold:not(:disabled):not(.disabled):active:focus {
    background-image: var(--ex-btn-gradient);
    border: 1px solid hsla(50, 92%, 34%, 0.5);
    box-shadow: 0 3px 6px hsla(0, 0%, 0%, 0.16),
        0 3px 6px hsla(50, 70%, 25%, 0.4),
        inset 0 -2px 5px 1px hsl(48, 100%, 38%),
        inset 0 -1px 1px 3px hsl(45, 100%, 75%);
    color: var(--ex-btn-color);
}

.btn-lg.btn-gradient-gold {
    background-size: 200% 200% !important;
}

.btn-lg.btn-gradient-gold:hover {
    background-size: 280% 250% !important;
}

.btn-lg.btn-gradient-gold:active,
.btn-lg.btn-gradient-gold:not(:disabled):not(.disabled):active,
.btn-lg.btn-gradient-gold:focus,
.btn-lg.btn-gradient-gold:not(:disabled):not(.disabled):active:focus {
    background-size: 150% 150% !important;
    background-position: 10% !important;
}

/* Buttons - gradients - warning */
.btn-gradient-warning {
    --btn-text-color: var(--bs-white);
    background-color: var(--ex-warning);
    background-image: var(--ex-gradient-warning);
    border: 1px solid hsla(calc(var(--ex-warning-h) - 4), var(--ex-warning-s), 10%, 0.15);
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 4px 8px hsla(var(--ex-warning-h), var(--ex-warning-s), 45%, 0.5);
    color: var(--btn-text-color);
}

.btn-gradient-warning:hover {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 6px 12px hsla(var(--ex-warning-h), var(--ex-warning-s), 45%, 0.6);
    color: var(--btn-text-color);
}

.btn-gradient-warning:active,
.btn-gradient-warning:not(:disabled):not(.disabled):active,
.btn-gradient-warning:focus,
.btn-gradient-warning:not(:disabled):not(.disabled):active:focus {
    box-shadow: inset 0 1px 0 0 hsl(0, 0%, 100%, 0.35), 0 2px 6px hsla(var(--ex-warning-h), var(--ex-warning-s), 45%, 0.5);
    color: var(--btn-text-color);
}


/* Buttons - gradients - danger */
.btn-gradient-danger {
    --ex-btn-color: var(--bs-white);
    --ex-btn-gradient: var(--ex-gradient-danger);

    /* Disabled */
    --bs-btn-disabled-color: var(--bs-white);

    background-image: var(--ex-btn-gradient);
    background-size: 150% 150%;
    background-position: center;
    border: 1px solid hsla(0, 92%, 26%, 0.3);
    box-shadow: 0 3px 6px hsla(0, 0%, 0%, 0.15),
        0 3px 6px hsla(0, 70%, 25%, 0.15),
        inset 0 -2px 5px 1px hsl(0, 100%, 32%),
        inset 0 -1px 1px 3px hsl(340, 100%, 65%);
    text-shadow: 0 -1px 1px hsl(0, 90%, 36%);
    color: var(--ex-btn-color);
    filter: hue-rotate(8deg) contrast(1.2) saturate(0.9);
    transition: all 0.2s cubic-bezier(0.42, 0.29, 0.3, 0.86);
}

.btn-gradient-danger:hover {
    background-image: var(--ex-btn-gradient);
    border: 1px solid hsla(0, 92%, 26%, 0.6);
    box-shadow: 0 10px 20px hsla(0, 0%, 0%, 0.19),
        0 6px 6px hsla(0, 70%, 25%, 0.24),
        inset 0 -2px 5px 1px hsl(0, 100%, 38%),
        inset 0 -1px 1px 3px hsl(340, 100%, 70%);
    color: var(--ex-btn-color);
    transition: all 0.2s cubic-bezier(0.42, 0.29, 0.3, 0.86);
}

.btn-gradient-danger:active,
.btn-gradient-danger:not(:disabled):not(.disabled):active,
.btn-gradient-danger:focus,
.btn-gradient-danger:not(:disabled):not(.disabled):active:focus {
    background-image: var(--ex-btn-gradient);
    border: 1px solid hsla(0, 92%, 26%, 0.8);
    box-shadow: 0 3px 6px hsla(0, 0%, 0%, 0.16),
        0 3px 6px hsla(50, 70%, 25%, 0.4),
        inset 0 -2px 5px 1px hsl(0, 100%, 28%),
        inset 0 -1px 1px 3px hsl(10, 100%, 40%);
    color: var(--ex-btn-color);
}

.btn-lg.btn-gradient-danger {
    background-size: 200% 200% !important;
}

.btn-lg.btn-gradient-danger:hover {
    background-size: 280% 250% !important;
}

.btn-lg.btn-gradient-danger:active,
.btn-lg.btn-gradient-danger:not(:disabled):not(.disabled):active,
.btn-lg.btn-gradient-danger:focus,
.btn-lg.btn-gradient-danger:not(:disabled):not(.disabled):active:focus {
    background-size: 150% 150% !important;
    background-position: 10% !important;
}

/* Buttons - gradients - berry */
.btn-gradient-berry {
    background-color: hsl(255, 100%, 33%);
    background-image: var(--ex-gradient-berry);
    border: 1px solid hsla(0, 0%, 0%, 0.1);
    box-shadow: inset 0 1px 0 0 hsla(0, 0%, 100%, 0.45), 0 4px 8px hsla(241, 68%, 56%, 0.7);
    color: hsl(0, 0%, 100%);
}

.btn-gradient-berry:hover {
    background-image: var(--ex-gradient-berry);
    box-shadow: inset 0 1px 0 0 hsla(0, 0%, 100%, 0.45), 0 6px 12px hsla(241, 68%, 56%, 0.7);
    color: hsl(0, 0%, 100%);
}

.btn-gradient-berry:active,
.btn-gradient-berry:not(:disabled):not(.disabled):active,
.btn-gradient-berry:focus,
.btn-gradient-berry:not(:disabled):not(.disabled):active:focus {
    background-image: var(--ex-gradient-berry);
    box-shadow: inset 0 1px 0 0 hsla(0, 0%, 100%, 0.45), 0 6px 12px hsla(241, 68%, 56%, 0.7);
    color: hsl(0, 0%, 100%);
}

/* Buttons - ajax form */
.ajax-form .btn {
    position: relative;
}

.ajax-form .btn-text {
    transition: all 0.2s;
}

.ajax-form .btn-load {
    display: none;
    position: relative;
    transition: all 0.2s;
}

/* Button icons */
.btn-angle-double-right::after {
    position: relative;
    top: 0.05em;
    margin-left: 0.3em;
    content: '\f101';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 90%;
}

.btn [class*="fa"] {
    position: relative;
    left: 0;
    transition: all 0.2s;
}

.btn:hover [class*="fa"] {
    left: 0.25rem;
    transition: all 0.2s;
}

/* Receipt */
/* .store-summary-receipt-body tr:last-of-type td[colspan="2"] {
    display: none;
} */

/* Footer */
.footer,
.disclaimer {
    font-size: 0.7rem;
}

.footer a,
.disclaimer a {
    color: inherit;
    font-weight: inherit;
    /* text-decoration: underline; */
}

.footer a:hover,
.disclaimer a:hover {
    color: inherit;
}

.footer a.nav-link {
    opacity: 0.7;
    text-decoration: none !important;
    transition: opacity 0.2s !important;
}

.footer a.nav-link:hover {
    opacity: 1;
    /* text-decoration: underline !important; */
    transition: opacity 0.2s !important;
}

/* Marquee */
.marquee {
    --ex-speed: 60s;
    --ex-gap: 1.25rem;
    display: flex;
    align-items: center;
    user-select: none;
    gap: var(--ex-gap);
    width: 100%;
}

.marquee-ticker {
    position: fixed;
    overflow: hidden;
    bottom: 0;
    z-index: 9;
    height: 2.6rem;
    background-color: var(--ex-night);
    border-top: 4px solid var(--ex-accent);
    color: hsl(0, 0%, 100%);
    font-size: 80%;
    -webkit-font-smoothing: antialiased;
}

.marquee-title {
    position: absolute;
    z-index: 10;
    display: inline-block;
    padding: 0 0.5rem;
    background-color: var(--ex-night);
    color: var(--ex-accent);
    font-weight: 700;
}

@media (min-width: 992px) {
    .marquee-title {
        padding: 0 0.75rem;
    }
}

.marquee .marquee-content {
    flex-shrink: 0;
    display: flex;
    justify-content: space-around;
    gap: var(--ex-gap);
    min-width: 100%;
    margin-bottom: 0;
    padding-left: 0;
    animation-name: scroll-x;
    animation-duration: var(--ex-speed);
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@media (min-width: 1600px) {
    .marquee-content {
        animation-duration: 100s;
    }
}

.marquee-content li {
    margin-bottom: 0;
}

/* Marquee - pause on hover */
.marquee:hover .marquee-content {
    animation-play-state: paused;
}

/* Animations - horizontal scroll */
@keyframes scroll-x {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-100% - var(--ex-gap)));
    }
}

/* Animations - expand */
@keyframes expand {
    0% {
        width: 10px;
    }
    70% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

.animate-expand,
.io.expand {
    opacity: 0;
}

.animate-expand,
.intersecting.expand {
    animation-name: expand;
    animation-duration: 0.8s;
    animation-delay: 0.5s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-fill-mode: forwards;
}

/* Animations - fade in */
@keyframes fade-in {
    to {
        opacity: 1;
    }
}

.animate-fade-in,
.io.fade-in {
    opacity: 0;
}

.animate-fade-in,
.intersecting.fade-in {
    animation-name: fade-in;
    animation-duration: 0.9s;
    animation-delay: 0.5s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-fill-mode: forwards;
}

/* Animations - slide up */
@keyframes slide-up {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-slide-up,
.io.slide-up {
    opacity: 0;
    transform: translateY(1rem);
}

.animate-slide-up,
.intersecting.slide-up {
    animation-name: slide-up;
    animation-duration: 0.9s;
    animation-delay: 0.2s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-fill-mode: forwards;
}

/* Animations - slide down */
@keyframes slide-down {
    20% {
        opacity: 1;
        top: 0;
    }
    100% {
        opacity: 1;
        top: -2em;
    }
}

.animate-slide-down,
.io.slide-down {
    opacity: 0;
    position: relative;
    top: -5rem;
}

.animate-slide-down,
.intersecting.slide-down {
    animation-name: slide-down;
    animation-duration: 1s;
    animation-delay: 0.6s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-fill-mode: forwards;
}

/* Animations - slide bump */
@keyframes slide-bump {
    20% {
        opacity: 1;
        transform: translateY(4rem);
    }

    40% {
        opacity: 1;
        top: 0;
        transform: translateY(-0.06rem);
    }

    60% {
        opacity: 1;
        top: 0;
        transform: translateY(0.03rem);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-slide-bump,
.io.slide-bump {
    opacity: 0;
    position: relative;
    transform: translateY(2rem);
}

.animate-slide-bump,
.intersecting.slide-bump {
    animation-name: slide-bump;
    animation-duration: 1.4s;
    animation-delay: 0.6s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(1.36, 0.07, 0.19, 0.2);
    animation-fill-mode: forwards;
}

/* Animations - grow */
@keyframes grow {
    0% {
        opacity: 0;
        min-height: 0;
    }

    100% {
        opacity: 1;
        min-height: var(--ex-grow-height);
    }
}

.animate-grow,
.io.grow {
    --ex-grow-height: 200px;
    opacity: 0;
    position: relative;
}

.animate-grow,
.intersecting.grow {
    animation-name: grow;
    animation-duration: 1.4s;
    animation-delay: 0.6s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(1.36, 0.07, 0.19, 0.2);
    animation-fill-mode: forwards;
}

/* Animations - underline */
@keyframes underline {
    to {
        background-size: 100% 12%;
    }
}

.animate-underline,
.io.underline {
    background-size: 0% 12%;
}

.animate-underline,
.intersecting.underline {
    animation-name: underline;
    animation-duration: 0.9s;
    animation-delay: 0.5s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-fill-mode: forwards;
}

/* Animations - strike */
@keyframes strike {
    to {
        background-size: 100% 16%;
    }
}

.animate-strike::before,
.io.strike::before {
    background-size: 0% 16%;
}

.animate-strike::before,
.intersecting.strike::before {
    animation-name: strike;
    animation-duration: 0.9s;
    animation-delay: 0.5s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-fill-mode: forwards;
}

/* Animations - marker stroke */
@keyframes stroke {
    to {
        background-size: 100% 80%;
    }
}

.animate-mark-stroke,
.io.mark-stroke {
    background-size: 0% 84%;
}

.animate-mark-stroke,
.intersecting.mark-stroke {
    animation-name: stroke;
    animation-duration: 1.5s;
    animation-delay: 0.5s;
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-fill-mode: forwards;
}

/* Animations - shake */
@keyframes shake {
    10%, 90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%, 80% {
        transform: translate3d(2px, 0, 0);
    }

    30%, 50%, 70% {
        transform: translate3d(-4px, 0, 0);
    }

    40%, 60% {
        transform: translate3d(4px, 0, 0);
    }
}

.locked:hover {
    animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
}

/* Animations - bump */
@keyframes bump {
    20% {
        opacity: 1;
        transform: scale(0.98);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animations - unbump */
@keyframes unbump {
    10% {
        transform: scale(0.98);
    }

    100% {
        transform: scale(1);
    }
}

/* Animations - bumped */
@keyframes bumped {
    20% {
        opacity: 1;
        transform: scale(0.97);
    }

    40% {
        opacity: 1;
        transform: scale(1.01);
    }

    60% {
        opacity: 1;
        transform: scale(0.97);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-bumped,
.intersecting.bumped {
    animation: bumped 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* Animations - wobble */
@keyframes wobble {
    0% {
        transform: translate3d(0, 0, 0);
    }

    80% {
        transform: translate3d(-4px, 0, 0);
    }

    100% {
        transform: translate3d(4px, 0, 0);
    }
}

.animate-wobble {
    animation-name: wobble;
    animation-duration: 0.5s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

@keyframes wobble-alt {
    0% {
        transform: translate3d(0, 0, 0);
    }

    80% {
        transform: translate3d(4px, 0, 0);
    }

    100% {
        transform: translate3d(-4px, 0, 0);
    }
}

.animate-wobble-alt {
    animation-name: wobble-alt;
    animation-duration: 0.5s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

/* Animations - scale */
@keyframes scale {
    0% {
        opacity: 0;
        transform: scale(0.2);
    }

    60% {
        opacity: 1;
        transform: scale(1.06);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-scale {
    opacity: 0;
    animation-name: scale;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-delay: 0.4s;
    animation-direction: linear;
    animation-fill-mode: forwards;
}

/* Animations - scale */
@keyframes scale-up {
    0% {
        opacity: 0;
        bottom: -80px;
        transform: scale(0.2);
    }

    60% {
        opacity: 1;
        bottom: 30px;
        transform: scale(1.06);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-scale-up {
    opacity: 0;
    animation-name: scale-up;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-delay: 0.4s;
    animation-direction: linear;
    animation-fill-mode: forwards;
}

/* Animations - path */
@keyframes path {
    from {
        stroke-dashoffset: 1000;
    }

    to {
        stroke-dashoffset: 2000;
    }
}

/* Animations - pulse */
@keyframes pulse {
    0% {
        transform: scale(0.1);
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: scale(1.1);
        opacity: 0;
    }
}

/* Icons */
/* Checkmark - simple */
.check {
    margin-right: 0.2em;
    font-size: 1.4em;
}

.check::before {
    margin-right: 0.2em;
    content: '\f14a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 400;
    font-size: 90%;
}

/* Checkmark - animated */
.svg-checkmark {
    display: block;
    width: 56%;
    /* enable-background: new 0 0 550 550; */
}

.svg-checkmark .st0 {
    fill: none;
    stroke: var(--ex-light);
    stroke-width: 120;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}

.choice-checked .svg-checkmark .st0 {
    animation: path 0.4s linear 0.1s;
    animation-fill-mode: forwards;
}

/* .svg-mark-oval {
    enable-background:new 0 0 623 245.5;
} */

/* Loader */
.loader {
    opacity: 0;
    position: absolute;
    top: 52%;
    left: -0.9rem;
    width: 1.1rem;
    height: 1.1rem;
    margin: -0.6rem 0 0 -0.6rem;
    border: 0.17rem solid var(--bs-dark);
    border-radius: 1.1rem;
    animation: pulse 1s ease-out;
    animation-iteration-count: infinite;
}

/* Spacing - margin */
.me-n6 {
    margin-right: -4.6rem !important;
}

@media (min-width: 576px) {
    .me-sm-n6 {
        margin-right: -4.6rem !important;
    }
}

@media (min-width: 768px) {
    .me-md-n6 {
        margin-right: -4.6rem !important;
    }
}

@media (min-width: 992px) {
    .me-lg-n6 {
        margin-right: -4.6rem !important;
    }
}

@media (min-width: 1200px) {
    .me-xl-n6 {
        margin-right: -4.6rem !important;
    }
}

/* Negative margin for kit */
.mt-nk {
    margin-top: -5.3rem
}

@media (min-width: 992px) {
    .mt-lg-nk {
        margin-top: -7.3rem !important;
    }
}

/* Negative margin for video player */
.mt-nv {
    margin-top: -6rem
}

@media (min-width: 576px) {
    .mt-sm-nv {
        margin-top: -9rem;
    }
}

@media (min-width: 768px) {
    .mt-md-nv {
        margin-top: -13.15rem;
    }
}

/* Spacing - padding */
/* Padding for kit */
.pb-k {
    padding-bottom: 0;
}

@media (min-width: 992px) {
    .pb-lg-k {
        padding-bottom: 5.75rem;
    }
}

/* Padding for video player */
.pb-v {
    padding-bottom: 6rem
}

@media (min-width: 576px) {
    .pb-sm-v {
        padding-bottom: 9rem;
    }
}

@media (min-width: 768px) {
    .pb-md-v {
        padding-bottom: 13.2rem;
    }
}

/* Text */
.text-justify {
    text-align: justify;
}

@media (min-width: 992px) {
    .text-lg-justify {
        text-align: justify !important;
    }
}

/* Text - nowrap shorthand */
.t-nw {
    white-space: nowrap;
}

/* Text - inherit styles */
.text-inherit,
.t-inherit {
    color: inherit;
    font-weight: inherit;
}

.text-inherit a,
.t-inherit a {
    color: inherit;
    font-weight: inherit;
    text-decoration: underline;
}

/* Filters */
.filter-grayscale-1 {
    filter: grayscale(1);
}

.filter-brightness-0 {
    filter: brightness(0);
}

.filter-night {
    filter: invert(0.5) sepia(1) brightness(0.3) hue-rotate(170deg);
}

/* Transforms - rotate */
.transform-rotate-1 {
    transform: rotate(1deg);
}

.transform-rotate-neg-1 {
    transform: rotate(-1deg);
}

@media (min-width: 576px) {
    .transform-sm-rotate-1 {
        transform: rotate(1deg);
    }

    .transform-sm-rotate-neg-1 {
        transform: rotate(-1deg);
    }
}

@media (min-width: 768px) {
    .transform-md-rotate-1 {
        transform: rotate(1deg);
    }

    .transform-md-rotate-neg-1 {
        transform: rotate(-1deg);
    }
}

@media (min-width: 992px) {
    .transform-lg-rotate-1 {
        transform: rotate(1deg);
    }

    .transform-lg-rotate-neg-1 {
        transform: rotate(-1deg);
    }
}

@media (min-width: 1200px) {
    .transform-xl-rotate-1 {
        transform: rotate(1deg);
    }

    .transform-xl-rotate-neg-1 {
        transform: rotate(-1deg);
    }
}

/* Transforms - scale */
.transform-scale-90 {
    transform: scale(0.9);
}

@media (min-width: 576px) {
    .transform-sm-scale-90 {
        transform: scale(0.9);
    }
}

@media (min-width: 768px) {
    .transform-md-scale-90 {
        transform: scale(0.9);
    }
}

@media (min-width: 992px) {
    .transform-lg-scale-90 {
        transform: scale(0.9);
    }
}

@media (min-width: 1200px) {
    .transform-xl-scale-90 {
        transform: scale(0.9);
    }
}

/* Opacity */
.opacity-95 {
    opacity: 0.95 !important;
}

.opacity-90 {
    opacity: 0.9 !important;
}

.opacity-85 {
    opacity: 0.85 !important;
}

.opacity-80 {
    opacity: 0.8 !important;
}

.opacity-75 {
    opacity: 0.75 !important;
}

.opacity-70 {
    opacity: 0.7 !important;
}

.opacity-65 {
    opacity: 0.65 !important;
}

.opacity-60 {
    opacity: 0.6 !important;
}

.opacity-55 {
    opacity: 0.55 !important;
}

.opacity-50 {
    opacity: 0.5 !important;
}

.opacity-45 {
    opacity: 0.45 !important;
}

.opacity-40 {
    opacity: 0.4 !important;
}

/* Overflow */
.overflow-y-hidden {
    overflow-y: hidden;
}

.overflow-x-hidden {
    overflow-x: hidden;
}

/* Scrolling */
.overflow-x-scroll,
.scroll-x {
    overflow-x: scroll;
}

.overflow-y-scroll,
.scroll-y {
    overflow-y: scroll;
}

[class*="scroll-"] {
    box-shadow:
        0 2px 4px hsla(var(--ex-primary-h), 58%, 8%, 0.05) inset,
        0 -2px 4px hsla(var(--ex-primary-h), 58%, 8%, 0.05) inset;
}

/* Overrides */
li {
    font-size: inherit;
}

sna-webinar-mvp-app .container-fluid {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.iframeSessionHolder {
    position: absolute;
}

/* Overrides - hide Osano cookie icon (link added in footer) */
.osano-cm-widget {
    display: none;
}

/* Extras */
.header-profile {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 3;
    overflow: hidden;
    width: 100%;
    height: 240%;
}

.header-profile figure {
    left: -6.4rem;
    bottom: -5rem;
    max-width: 450px;
}

@media (min-width: 1200px) {
    .header-profile figure {
        left: -4.8rem;
    }
}

/* Bonus */
.bonus {
    margin-top: -5rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 170px;
    transform: rotate(-9deg);
}

@media (min-width: 992px) {
    .bonus {
        position: absolute;
        margin-top: -2.8rem;
        margin-left: -4.2rem;
        max-width: 310px;
    }
}

@media (min-width: 1200px) {
    .bonus {
        margin-top: -3.8rem;
        margin-left: -3rem;
        max-width: 320px;
    }
}

/* Animations - path arrow */
@keyframes path-arrow {
    10% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        stroke-dashoffset: 0;
    }
}

.animate-path-arrow .st0,
.intersecting.path-arrow .st0 {
    opacity: 0;
    animation-name: path-arrow;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-delay: 0.1s;
    animation-fill-mode: forwards;
}

.svg-arrow {
    width: 130px;
    fill: none;
    stroke: var(--ex-danger);
    stroke-width: 8;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
}

/* Arrow position */
.svg-arrow-start {
    position: absolute;
    top: -6rem;
    left: -6.3rem;
    transform: rotate(-32deg);
}


/* Message bubble */
.message-bubble {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    transform: scale(0.1);
}

.bubble-float-away {
    --ex-float-position: -1rem;
    animation-name: float-away;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-direction: linear;
    animation-fill-mode: forwards;
}

/* Animations - bumped */
@keyframes float-away {
    12% {
        opacity: 1;
        top: var(--ex-float-position);
        left: var(--ex-float-position);
        transform: scale(1.2) rotate(6deg);
    }

    22% {
        opacity: 1;
        top: var(--ex-float-position);
        left: var(--ex-float-position);
        transform: scale(1.2) rotate(-1deg);
    }

    32% {
        opacity: 1;
        top: var(--ex-float-position);
        left: var(--ex-float-position);
        transform: scale(1.2);
    }

    72% {
        opacity: 1;
        top: var(--ex-float-position);
        left: var(--ex-float-position);
        transform: scale(1.2);
    }

    100% {
        opacity: 0;
        top: var(--ex-float-position);
        left: var(--ex-float-position);
        transform: scale(1);
    }
}

.animate-float-away,
.intersecting.float-away {
    animation-name: float-away;
    animation-duration: 0.5s;
    animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
    animation-direction: linear;
    animation-fill-mode: forwards;
}

.scale-1 {
    transform: scale(1) !important;
}

@media (min-width: 768px) {
    .scale-sm {
        --ex-scale-sm: 0.1;
        transform: scale(var(--ex-scale-sm)) !important;
    }
}

@media (min-width: 1200px) {
    .scale-xl-1 {
        transform: scale(1) !important;
    }
}

/* VWO Engage (Pushcrew) */
div.pushcrew-side-button div {
    margin-right: 0 !important;
}