/* ========================== */
/* APPOLO HERO SCROLL FRAMES */
/* ========================== */
html.lenis,
html.lenis body {
    height: auto;
}
.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}
.lenis.lenis-stopped {
    overflow: hidden;
}
.lenis.lenis-smooth iframe {
    pointer-events: none;
}
#appolo-scroll-hero {
    --appolo-copy-opacity: 0;
    --appolo-end-bg-opacity: 0;
    background-color: #000;
}
.appolo-scroll-space {
    height: 250vh;
    position: relative;
}
.appolo-herovid-sticky {
    height: 100dvh !important;
    min-height: 100dvh !important;
}
.appolo-herovid-canvas {
    opacity: 0;
    transition: opacity .26s ease;
}
#appolo-scroll-hero.appolo-herovid-ready .appolo-herovid-canvas {
    opacity: calc(1 - var(--appolo-end-bg-opacity, 0));
}
.appolo-herovid-end-layer {
    opacity: var(--appolo-end-bg-opacity, 0);
    pointer-events: none;
    transition: opacity .22s linear;
}
.appolo-hero-loader {
    background: rgba(0, 0, 0, .75);
    transition: opacity .3s ease, visibility .3s ease;
}
#appolo-scroll-hero.appolo-herovid-ready .appolo-hero-loader {
    opacity: 0;
    visibility: hidden;
}
.appolo-hero-copy {
    opacity: var(--appolo-copy-opacity, 1);
    will-change: opacity, transform;
}
.appolo-scroll-indicator {
    transition: opacity .2s linear;
}
.appolo-bounce {
    animation: appoloBounce 1.2s ease-in-out infinite;
}
@keyframes appoloBounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(6px);
    }
}


/* ========================== */
/* APPOLO / WHAT MAKES US DIFFERENT */
/* ========================== */
.appolo-wus-section {
    padding: 90px 0 170px;
    isolation: isolate;
}
.appolo-wus-section::before {
    content: "";
    position: absolute;
    inset: -20%;
    background:
        radial-gradient(circle at 18% 28%, rgba(191,255,0,.045) 0%, transparent 28%),
        radial-gradient(circle at 78% 18%, rgba(0,212,232,.035) 0%, transparent 25%),
        radial-gradient(circle at 62% 78%, rgba(236,72,153,.030) 0%, transparent 30%),
        radial-gradient(circle at 12% 82%, rgba(167,139,250,.030) 0%, transparent 25%);
    filter: blur(28px);
    z-index: 0;
    pointer-events: none;
}
.appolo-wus-stars {
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
.appolo-wus-star {
    position: absolute;
    border-radius: 50%;
    background: #fff;
    opacity: .15;
    opacity: .15;
    animation-name: appoloWusTwinkle;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
.appolo-wus-heading {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .9s ease, transform .9s ease;
}
.appolo-wus-section.is-inview .appolo-wus-heading {
    opacity: 1;
    transform: translateY(0);
}
.appolo-wus-timeline {
    max-width: 900px;
    min-height: 1040px;
}
.appolo-wus-line-base,
.appolo-wus-line-fill {
    top: 0;
    left: 50%;
    width: 1px;
    height: 960px;
    transform: translateX(-50%);
    pointer-events: none;
}
.appolo-wus-line-base {
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(255,255,255,.08) 10%,
        rgba(255,255,255,.08) 90%,
        transparent
    );
}
.appolo-wus-line-fill {
    transform: translateX(-50%) scaleY(0);
    transform-origin: top;
    background: linear-gradient(
        to bottom,
        var(--yellow),
        rgba(191,255,0,.3)
    );
    will-change: transform;
}
.appolo-wus-rocket-wrap {
    z-index: 30;
    transform: translate(-50%, -50px);
    will-change: transform;
    pointer-events: none;
}
.appolo-wus-rocket {
    width: 48px;
    height: 64px;
}
.appolo-wus-flare {
    top: -5px;
    left: 50%;
    width: 32px;
    height: 22px;
    border-radius: 50%;
    background: radial-gradient(ellipse, #ffc107 0%, transparent 70%);
    transform: translateX(-50%);
    opacity: 0;
}
.appolo-wus-rocket-wrap.is-active .appolo-wus-flare {
    animation: appoloWusFlare .45s ease-in-out infinite;
}
.appolo-wus-flame {
    transform-origin: 20px 10px;
    opacity: 0;
}
.appolo-wus-rocket-wrap.is-active .appolo-wus-flame-main {
    animation: appoloWusFlameMain .55s ease-in-out infinite;
}
.appolo-wus-rocket-wrap.is-active .appolo-wus-flame-mid {
    animation: appoloWusFlameMid .65s ease-in-out infinite;
}
.appolo-wus-rocket-wrap.is-active .appolo-wus-flame-core {
    animation: appoloWusFlameCore .7s ease-in-out infinite;
}
.appolo-wus-item {
    top: calc((var(--i) * 220px) + 18px);
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
}
.appolo-wus-card {
    width: 44%;
    padding: 1.5rem;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.04);
    opacity: .35;
    transform: scale(.97);
    transition:
        opacity .5s ease,
        transform .5s ease,
        background .5s ease,
        border-color .5s ease;
}
.appolo-wus-left .appolo-wus-card {
    margin-left: 0;
    margin-right: auto;
}
.appolo-wus-right .appolo-wus-card {
    margin-left: auto;
    margin-right: 0;
}
.appolo-wus-stat,
.appolo-wus-icon,
.appolo-wus-card h3,
.appolo-wus-card p {
    color: rgba(255,255,255,.3);
    transition: color .5s ease;
}
.appolo-wus-connector {
    top: 50%;
    width: 6%;
    height: 1px;
    background: rgba(255,255,255,.06);
    transition: background .5s ease;
}
.appolo-wus-left .appolo-wus-connector {
    left: 44%;
}
.appolo-wus-right .appolo-wus-connector {
    left: 50%;
}
.appolo-wus-node {
    left: 50%;
    top: 50%;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255,255,255,.12);
    transition: background .5s ease, box-shadow .5s ease;
}
.appolo-wus-node span {
    width: 6px;
    height: 6px;
    background: rgba(255,255,255,.3);
    transition: background .5s ease;
}
.appolo-wus-item.is-active .appolo-wus-card {
    opacity: 1;
    transform: scale(1);
    background: rgba(255,255,255,.05);
    border-color: color-mix(in srgb, var(--accent) 30%, transparent);
}
.appolo-wus-item.is-active .appolo-wus-icon,
.appolo-wus-item.is-active .appolo-wus-stat {
    color: var(--accent);
}
.appolo-wus-item.is-active .appolo-wus-card h3 {
    color: #fff;
}
.appolo-wus-item.is-active .appolo-wus-card p {
    color: rgba(255,255,255,.5);
}
.appolo-wus-left.is-active .appolo-wus-connector {
    background: linear-gradient(to right, transparent, color-mix(in srgb, var(--accent) 60%, transparent));
}
.appolo-wus-right.is-active .appolo-wus-connector {
    background: linear-gradient(to left, transparent, color-mix(in srgb, var(--accent) 60%, transparent));
}
.appolo-wus-item.is-active .appolo-wus-node {
    background: var(--accent);
    box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 60%, transparent);
}
.appolo-wus-item.is-active .appolo-wus-node::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 50%;
    background: var(--accent);
    animation: appoloWusNodePulse 2s ease-in-out infinite;
    z-index: -1;
}
.appolo-wus-item.is-active .appolo-wus-node span {
    background: #000;
}
@media (max-width: 767px) {
    .appolo-wus-section {
        padding: 90px 0 270px;
    }
    .appolo-wus-left .appolo-wus-card {
        margin-left: auto;
        margin-right: 0;
    }
    .appolo-wus-card {
        width: 87%;
    }
    .appolo-wus-line-base, 
    .appolo-wus-line-fill,
    .appolo-wus-rocket-wrap,
    .appolo-wus-node {
        left: 5% !important;
    }
    .appolo-wus-item {
        top: calc((var(--i) * 250px) + 18px);
    }
    .appolo-wus-connector{
        display: none;
    }
}
@keyframes appoloWusTwinkle {
    0%, 100% {
        opacity: .15;
        transform: scale(1);
    }
    50% {
        opacity: .85;
        transform: scale(1.8);
    }
}
@keyframes appoloWusFlare {
    0%, 100% {
        opacity: .4;
        transform: translateX(-50%) scaleX(1);
    }
    50% {
        opacity: 1;
        transform: translateX(-50%) scaleX(1.4);
    }
}
@keyframes appoloWusNodePulse {
    0%, 100% {
        opacity: .5;
        transform: scale(1);
    }

    50% {
        opacity: 0;
        transform: scale(2.2);
    }
}
@keyframes appoloWusFlameMain {
    0%, 100% {
        opacity: .9;
        transform: scaleY(1);
    }

    25% {
        opacity: 1;
        transform: scaleY(1.56);
    }

    55% {
        opacity: .6;
        transform: scaleY(.78);
    }

    75% {
        opacity: .95;
        transform: scaleY(1.33);
    }
}
@keyframes appoloWusFlameMid {
    0%, 100% {
        opacity: 1;
        transform: scaleY(1);
    }

    40% {
        transform: scaleY(1.5);
    }

    70% {
        transform: scaleY(.83);
    }
}
@keyframes appoloWusFlameCore {
    0%, 100% {
        opacity: 1;
        transform: scaleY(1);
    }

    40% {
        transform: scaleY(1.43);
    }

    70% {
        transform: scaleY(.71);
    }
}










/* FORM */
.appolo-step {
    display: none;
}
.appolo-step.is-active {
    display: block;
}
.appolo-option-card {
    min-height: 120px;
    border: 1px solid var(--bs-gray-800);
    background: rgba(255,255,255,.03);
}
.appolo-option-card:has(input:checked) {
    border-color: var(--yellow);
    background: rgba(191,255,0,.08);
}
.appolo-option-card:has(input:checked) .appolo-option-icon,
.appolo-option-card:has(input:checked) .appolo-option-check {
    color: var(--yellow);
}
.appolo-option-card input,
.appolo-pill-option input,
.appolo-line-option input {
    display: none;
}
.appolo-option-check {
    position: absolute;
    top: 20px;
    right: 20px;
    color: var(--bs-gray-700);
}
.appolo-pill-option {
    border: 1px solid var(--bs-gray-700);
    color: var(--bs-gray-500);
}
.appolo-pill-option:has(input:checked) {
    color: var(--yellow);
    border-color: var(--yellow);
    background: rgba(191,255,0,.08);
}
.appolo-line-option {
    min-height: 58px;
    padding: 0 20px;
    border: 1px solid var(--bs-gray-800);
}
.appolo-line-option span {
    color: var(--bs-gray-700);
}
.appolo-line-option:has(input:checked) {
    border-color: var(--yellow);
    background: rgba(191,255,0,.08);
}
.appolo-line-option:has(input:checked) span {
    color: var(--yellow);
}
#appolo-diagnostic-form .form-control::placeholder {
    color: rgba(255,255,255,.32);
}
#appolo-diagnostic-form .form-control:focus {
    border-color: var(--yellow) !important;
}
#appolo-diagnostic-form .form-control:-webkit-autofill,
#appolo-diagnostic-form .form-control:-webkit-autofill:hover,
#appolo-diagnostic-form .form-control:-webkit-autofill:focus,
#appolo-diagnostic-form .form-control:-webkit-autofill:active {
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff;
    transition: background-color 9999s ease-in-out 0s;
    /*box-shadow: 0 0 0 1000px #000 inset !important;*/
    /*border-color: var(--yellow) !important;*/
}
/*#appolo-diagnostic-form .form-control {
    color: #fff !important;
}
#appolo-diagnostic-form .form-control:focus {
    background-color: transparent !important;
    color: #fff !important;
    border-color: var(--yellow) !important;
    box-shadow: none !important;
}*/