/* Home Page Styling */

.site-header {
    position: sticky;
    top: 0;
    -webkit-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

body.scrolled .site-header {
    padding: .5rem 0;
    background-color: rgb(36 41 47 / 0.7);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}

body.scrolled .logo_complex {
    display: none;
}

body.scrolled .logo_complex_scrolled {
    display: block;
}

body.scrolled .logo_complex_scrolled svg {
    max-height: 40px;
    width: inherit;
}


.site-header {
    position: fixed;
}

section#hero {
    background: var(--bg-linear-gradient);
}

section#hero .section-content {
    height: 100vh;
    /* max-height: 1200px; */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

section#hero .section-content .nudge_outer {
    position: absolute;
    bottom: 0;
    left: 50%;
}

section#hero .main-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    /* padding-top: 7.5rem; */
    gap: 3rem;
}

section#hero .section-content .main-content > * {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
}

section#hero .hero__title {
    font-size: 3.75rem;
    /* font-size: clamp(1.875rem, 1.5302rem + 1.7241vw, 2.5rem); */
    color: var(--accent-orange);
    line-height: 1.2;
}

section#hero .hero__description {
    font-size: 1.5rem;
    /* font-size: clamp(1.25rem, 0.9741rem + 1.3793vw, 1.75rem); */
    color: var(--light-blue);
    line-height: 1.5;
}

section#hero .hero__cta-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.25rem;
    margin-top: 5rem;
}

section#hero .card-anim {
    --size: 25rem;
    --anim-speed: 4500ms;
    --anim-func: ease;
    --anim-delay: 300ms;
    --anim-times: infinite;
    margin: auto;
    height: 42.5rem;
    position: relative;
    pointer-events: none;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
    -webkit-user-select: none;
    -webkit-perspective: 200cm;
            perspective: 200cm;
}

section#hero .card-anim img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    margin: auto;
    z-index: 1;
}

section#hero .card-anim .card-1 {
    z-index: 4;
}

section#hero .card-anim .card-2 {
    z-index: 3;
    translate: 0 1px 0;
}

section#hero .card-anim .card-3 {
    z-index: 2;
    translate: 0 2px 0;
}

section#hero .card-anim .card-4 {
    z-index: 1;
    translate: 0 3px 0;
}

section#hero .card-anim .card-item {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: var(--size);
    max-width: 80%;
    margin: auto;
    text-align: center;
    left: 0;
    right: 0;
    bottom: 0;
    /* transform: rotateX(56deg) rotateY(-7deg) rotateZ(-40deg); */
    -webkit-transform: rotate3d(270, 90, -230, 70deg);
            transform: rotate3d(270, 90, -230, 70deg);
    /* transition: transform 300ms ease; */
}

@-webkit-keyframes card-1 {
    0% {
        bottom: 0;
    }
    25% {
        bottom: calc(100% - var(--size));
    }
    50% {
        bottom: calc(100% - var(--size) - 0.625rem);
    }
    75% {
        bottom: calc(100% - var(--size) - 0.625rem);
    }
    100% {
        bottom: 0;
    }
}

@keyframes card-1 {
    0% {
        bottom: 0;
    }
    25% {
        bottom: calc(100% - var(--size));
    }
    50% {
        bottom: calc(100% - var(--size) - 0.625rem);
    }
    75% {
        bottom: calc(100% - var(--size) - 0.625rem);
    }
    100% {
        bottom: 0;
    }
}

@-webkit-keyframes card-2 {
    0% {
        bottom: 0;
    }
    25% {
        bottom: calc(66% - 2 * var(--size) / 3);
    }
    50% {
        bottom: calc(66% - 2 * var(--size) / 3 - 0.625rem);
    }
    75% {
        bottom: calc(66% - 2 * var(--size) / 3 - 0.625rem);
    }
    100% {
        bottom: 0;
    }
}

@keyframes card-2 {
    0% {
        bottom: 0;
    }
    25% {
        bottom: calc(66% - 2 * var(--size) / 3);
    }
    50% {
        bottom: calc(66% - 2 * var(--size) / 3 - 0.625rem);
    }
    75% {
        bottom: calc(66% - 2 * var(--size) / 3 - 0.625rem);
    }
    100% {
        bottom: 0;
    }
}

@-webkit-keyframes card-3 {
    0% {
        bottom: 0;
    }
    25% {
        bottom: calc(33% - var(--size) / 3);
    }
    50% {
        bottom: calc(33% - var(--size) / 3 - 0.625rem);
    }
    75% {
        bottom: calc(33% - var(--size) / 3 - 0.625rem);
    }
    100% {
        bottom: 0;
    }
}

@keyframes card-3 {
    0% {
        bottom: 0;
    }
    25% {
        bottom: calc(33% - var(--size) / 3);
    }
    50% {
        bottom: calc(33% - var(--size) / 3 - 0.625rem);
    }
    75% {
        bottom: calc(33% - var(--size) / 3 - 0.625rem);
    }
    100% {
        bottom: 0;
    }
}

@-webkit-keyframes card-4 {
    0% {
        bottom: 0;
    }
    25% {
        bottom: 0.625rem;
    }
    50% {
        bottom: 0.625rem;
    }
    75% {
        bottom: 0.625rem;
    }
    100% {
        bottom: 0;
    }
}

@keyframes card-4 {
    0% {
        bottom: 0;
    }
    25% {
        bottom: 0.625rem;
    }
    50% {
        bottom: 0.625rem;
    }
    75% {
        bottom: 0.625rem;
    }
    100% {
        bottom: 0;
    }
}

body.window-loaded section#hero .card-anim .card-1 {
    -webkit-animation: card-1 var(--anim-speed) var(--anim-func) var(--anim-delay) var(--anim-times);
            animation: card-1 var(--anim-speed) var(--anim-func) var(--anim-delay) var(--anim-times);
}

body.window-loaded section#hero .card-anim .card-2 {
    -webkit-animation: card-2 var(--anim-speed) var(--anim-func) var(--anim-delay) var(--anim-times);
            animation: card-2 var(--anim-speed) var(--anim-func) var(--anim-delay) var(--anim-times);
}

body.window-loaded section#hero .card-anim .card-3 {
    -webkit-animation: card-3 var(--anim-speed) var(--anim-func) var(--anim-delay) var(--anim-times);
            animation: card-3 var(--anim-speed) var(--anim-func) var(--anim-delay) var(--anim-times);
}

body.window-loaded section#hero .card-anim .card-4 {
    -webkit-animation: card-4 var(--anim-speed) var(--anim-func) var(--anim-delay) var(--anim-times);
            animation: card-4 var(--anim-speed) var(--anim-func) var(--anim-delay) var(--anim-times);
}

section#hero .nudge {
    height: 5.3125rem;
    width: 0.625rem;
    background-color: #FFFFFF33;
    overflow: hidden;
    border-radius: 0.625rem;
    margin: 1rem auto;
    position: relative;
    -webkit-isolation: isolate;
    isolation: isolate;
}

@-webkit-keyframes nudge-move {
    0% {
        opacity: 0;
        top: 0;
        -webkit-transform: translate(0, -100%);
                transform: translate(0, -100%);
    }
    20% {
        opacity: 1;
        top: 0;
        -webkit-transform: translate(0, -100%);
                transform: translate(0, -100%);
    }
    80% {
        opacity: 0;
        top: 100%;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
    100% {
        opacity: 0;
        top: 0;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
}

@keyframes nudge-move {
    0% {
        opacity: 0;
        top: 0;
        -webkit-transform: translate(0, -100%);
                transform: translate(0, -100%);
    }
    20% {
        opacity: 1;
        top: 0;
        -webkit-transform: translate(0, -100%);
                transform: translate(0, -100%);
    }
    80% {
        opacity: 0;
        top: 100%;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
    100% {
        opacity: 0;
        top: 0;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
}

section#hero .nudge::before {
    content: '';
    position: absolute;
    height: 75%;
    width: 100%;
    top: 0;
    /* background: linear-gradient(0deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 138, 0, 0.84) 50%, rgba(255, 255, 255, 0.08) 100%); */
    background: -webkit-gradient(linear, left bottom, left top, color-stop(-30%, rgba(255, 138, 0, 0.84)), to(rgba(255, 255, 255, 0.08)));
    background: -o-linear-gradient(bottom, rgba(255, 138, 0, 0.84) -30%, rgba(255, 255, 255, 0.08) 100%);
    background: linear-gradient(0deg, rgba(255, 138, 0, 0.84) -30%, rgba(255, 255, 255, 0.08) 100%);
    -webkit-transform: translate(0, -100%);
        -ms-transform: translate(0, -100%);
            transform: translate(0, -100%);
    border-radius: 0.625rem;
    -webkit-animation: nudge-move 2000ms ease-in-out 2000ms infinite;
            animation: nudge-move 2000ms ease-in-out 2000ms infinite;
}

section:not(#hero) {
    padding-block: 4rem 4rem;
}

section .section-title {
    text-align: center;
    margin-top: 0;
    font-size: 2.25rem;
}

section .section-description {
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.45;
}

.animated-keywords {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 1rem;
    margin-block: -1rem 4rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.animated-keywords .keyword-wrapper {
    position: relative;
    margin-inline: 1.25rem;
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

.animated-keywords .keyword-wrapper:not(.first) {
    max-width: 0;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
    -webkit-user-select: none;
    pointer-events: none;
    margin-inline: 0;
}

.animated-keywords .keyword-wrapper.loaded {
    max-width: 100vw;
    margin-inline: 1.25rem;
    -moz-user-select: initial;
     -ms-user-select: initial;
         user-select: initial;
    -webkit-user-select: initial;
    pointer-events: initial;
}

.animated-keywords .keyword {
    padding: 0.45rem 1.875rem;
    border: solid var(--accent-orange);
    border-width: 1px 1px 3px 3px;
    border-radius: 5px;
    text-align: center;
    white-space: nowrap;
}

.animated-keywords .keyword.ghost {
    opacity: 0;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
    -webkit-user-select: none;
    pointer-events: none;
}

.animated-keywords .keyword.real {
    position: absolute;
    white-space: nowrap;
    top: 0;
    left: 100%;
    opacity: 0;
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

.animated-keywords .keyword-wrapper.loaded .keyword.real {
    left: 0;
    opacity: 1;
}

.content-boxes {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr[3];
    grid-template-columns: repeat(3, 1fr);
}

.content-boxes .content-box__title {
    font-weight: 700;
    font-size: 1.25rem;
}

section#our-mission .content-boxes {
    gap: 2rem 10rem;
    margin-top: 3rem;
}

section#our-mission .content-boxes .content-box {
    text-align: center;
}

section#our-mission .content-boxes .content-box__description {
    text-align: left;
}

section#how-it-works {
    background-color: var(--light-grey);
}


section#how-it-works .slider {
    margin-top: 3rem;
}

.slider {
    max-width: 67.2rem;
    margin-inline: auto;
    padding-inline: 5rem;
    position: relative;
}

.slider .slider-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2rem;
}

.slider .slider-item:not(.active) {
    display: none;
}

.slider .slider-item > * {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
}

.slider .slider-item__image {
    width: 100%;
    border-radius: 7%;
}

.slider .slider-item__title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.8rem;
}

.slider .slider-item__description {
    margin: 0;
}

.slider .slider-item__link {
    margin-top: 2rem;
}

.slider .slider-nav {
    font-family: var(--font-orbitron);
    font-size: 2.5rem;
    font-weight: 700;
    line-height:  3.125rem;
}

.slider .slider-prev,
.slider .slider-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    cursor: pointer;
    margin: 0;
    width: 2.5rem;
    text-align: center;
    background: none;
    border: none;
    color: black;
}


.slider .slider-prev[disabled],
.slider .slider-next[disabled] {
    display: none;
}

.slider .slider-prev {
    left: 1rem;
}

.slider .slider-next {
    right: 1rem;
}

section#benefits .content-boxes {
    margin-top: 3rem;
    gap: 1.5rem 6rem;
}

section#benefits .content-boxes .content-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.25rem;
}

section#benefits .content-boxes .content-box__title {
    margin-block: 0 0.8rem;
}

section#benefits .content-boxes .content-box__description {
    margin: 0;
}

section#benefits .content-boxes .content-box__icon {
    margin-top: 2rem;
    min-width: 3.75rem;
}

section#faq {
    background-size: cover;
    background-position: center center;
}

section#faq .faq-container {
    max-width: 62.5rem;
    margin: auto;
}

section#faq .faq-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
}

section#faq .faq-categories {
    -ms-flex-preferred-size: 13.75rem;
        flex-basis: 13.75rem;
    text-align: center;
}

section#faq .questions {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px;
}

section#faq .faq-category,
section#faq .question__header {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    padding: 0.625rem;
    cursor: pointer;
    background-color: var(--darkest-blue);
    color: var(--light-blue);
    border: none;
    width: 100%;
}

section#faq .faq-category {
    text-align: center;
}

section#faq .question__header {
    text-align: left;
}

section#faq .faq-category:hover,
section#faq .faq-category:focus-visible,
section#faq .question__header:hover,
section#faq .question__header:focus-visible {
    background-color: var(--dark-blue);
    background-color: color-mix(in srgb, var(--accent-orange) 25%, var(--darkest-blue) 75%);
}

section#faq .faq-category.active {
    background-color: var(--accent-orange);
    color: var(--darkest-blue);
}

section#faq .question__header::before {
    content: '+';
    margin-right: 0.5rem;
}

section#faq .question.active .question__header {
    background-color: var(--accent-orange);
    color: var(--darkest-blue);
}

section#faq .question.active .question__header::before {
    content: '-';
    margin-right: 0.8rem;
}

section#faq .question__answer {
    height: 0;
    opacity: 0;
    overflow: hidden;
}

section#faq .question__answer > div:not(:empty) {
    padding: 1px 0.625rem 0.625rem;
}

section#faq .question-group:not(.active) {
    display: none;
}

section#buy .section-content {
    text-align: center;
}

@media screen and (max-width: 960px) {

    body.scrolled .site-header {
        background-color: rgb(36 41 47);
    }

    section#hero .section-content {
        height: 75vh;
    }
    
}

@media screen and (max-width: 540px) {

    section#our-mission .content-boxes {
        gap: 3rem;
    }

    section#benefits .content-boxes {
        gap: 3rem;
        -ms-grid-columns: 1fr 3rem 1fr;
        grid-template-columns: repeat(2, 1fr);
    }

}

@media screen and (max-width: 480px) {

    section#hero .main-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: unset;
            -ms-flex-align: unset;
                align-items: unset;
        padding:0;
        /* margin-top: calc(var(--header-height) + 2vh); */
        margin-top: 11vh;
    }

    section#hero .hero__cta-buttons {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    
    section#hero .hero__cta-buttons > * {
        /* width: 15rem; */
        width: 65%;
    }

    section#hero .card-anim {
        /* --size: 22rem;
        transform: scale(1) translate(52%, 0rem) scale(1.5);
        height: 20rem;
        max-height: 50vh; */
        --size: 19rem;
        -webkit-transform: scale(1) translate(57%, 0rem) scale(1.5);
            -ms-transform: scale(1) translate(57%, 0rem) scale(1.5);
                transform: scale(1) translate(57%, 0rem) scale(1.5);
        height: 17rem;
        max-height: 50vh;
    }
    
    section#hero .card-anim * {
        -webkit-animation: unset !important;
                animation: unset !important;
    }
    
    section#hero .card-anim .card-item {
        max-width: 100%;
    }
    
    section#hero .nudge {
        display: none;
    }
    
    .animated-keywords {
        margin-block: 6rem 4rem;
    }

    section#our-mission .content-boxes,
    section#benefits .content-boxes {
        gap: 3rem;
    }

    section#hero .hero__cta-buttons {
        gap: 2rem;
    }

    .animated-keywords .keyword {
        font-size: 1.375rem;
        background-color: white;
    }

    section .section-description {
        font-size: 1.25rem;
    }

    section#our-mission {
        padding-top: 0 !important;
    }

    .content-boxes {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

    .content-boxes .content-box__title {
        font-size: 1.75rem;
    }

    section#our-mission .content-boxes .content-box__description {
        font-size: 1.25rem;
        margin-bottom: 0;
    }

    .slider .slider-nav {
        font-size: 4.5rem;
    }

    section#benefits .content-boxes .content-box__icon {
        min-width: 4.5rem;
    }

    section#benefits .content-boxes .content-box__description {
        font-size: 1.25rem;
    }

    section#faq .faq-category {
        font-size: 1.75rem;
    }

    section:not(#hero) {
        /* padding-block: 1rem; */
        background: none !important;
        padding-block: 0;
        padding-bottom: 4rem;
    }

    section#our-mission .content-boxes,
    section#benefits .content-boxes {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

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

    section#how-it-works {
        background-color: unset;
        -webkit-isolation: isolate;
        isolation: isolate;
    }

    section#how-it-works .slider {
        padding: 0;
        width: calc(100% + 2rem);
        aspect-ratio: 1;
        margin-left: -1rem;
    }

    .slider .slider-item__image {
        position: absolute;
        inset: 0;
        z-index: -1;
        border-radius: 0;
    }

    .slider .slider-item > div:last-child {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: #0000005E;
        color: var(--white);
        padding: 1.5rem 2.5rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .slider .slider-item__title {
        margin-top: 0;
        font-size: 1.5rem;
    }

    .slider .slider-item__description {
        font-size: 1.25rem;
    }

    .slider .slider-item__link,
    .slider .slider-prev,
    .slider .slider-next {
        color: var(--white);
    }

    section#faq .faq-container {
        width: calc(100% + 2rem);
        margin-left: -1rem;
    }
    
    section#faq .faq-categories {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    }
    
    section#faq .question__header {
        background-color: unset;
        color: var(--dark-blue);
        text-align: left;
        font-weight: 400;
        font-size: 1.5rem;
    }
    
    section#faq .question__header:hover,
    section#faq .question__header:focus-visible {
        background-color: var(--light-blue);
    }
    
    section#faq .question.active .question__header {
        background-color: #FFB35A85;
        color: var(--darkest-blue);
    }
    
    section#faq .question__answer {
        text-align: left;
        color: var(--dark-blue);
        font-size: 1.25rem;
    }
    
    section#faq .question__answer > div:not(:empty) {
        padding: 1px 2rem 0.625rem 2rem;
    }
    
    section#faq .question.active .question__answer {
        color: var(--darkest-blue);
    }

}