/* Index */
.index-icon-container {
    background: var(--gray-100);
    width: 35px;
    height: 35px;
    min-width: 35px;
    min-height: 35px;
    color: var(--primary);
    font-size: .8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease-in-out;
    border-radius: calc(2 * var(--border-radius));
}

.index-brand-icon-container {
    background: var(--primary-100);
    width: 65px;
    height: 65px;
    min-width: 65px;
    min-height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease-in-out;
    border-radius: calc(2 * var(--border-radius));
}

.index-brand-icon-container svg {
    width: 30px;
    height: auto;
    transition: all .3s ease-in-out;
}

.index-container {
    width: 100%;
    padding: 0;
}

@media (min-width: 576px) {
    .index-container {
        width: 100%;
        background: unset;
    }
}

.index-highly-rounded {
    border-radius: 1rem;
}

.index-header {
    font-size: 3rem;
    line-height: 1;
    font-weight: bold;
}

.index-subheader {
    font-size: 1.5rem;
}

.index-background-wrapper {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: absolute !important;
}

.index-background {
    position: absolute;
    top: 2rem;
    width: 100%;
    height: auto;
    animation: index-background 20s ease-in-out alternate infinite;
}

@keyframes index-background {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.15);
    }
}

@media (min-width: 768px) {
    .index-background {
        top: -.5rem;
    }
}


.index-register-container {
    padding: 6rem 0;
}

/* Index testimonial */
.index-testimonial-avatar {
    width: 85px;
    height: 85px;
    border-radius: 50%;
    transform: translateY(-70%);
    border: 4px solid var(--white);
    background: var(--white);
    position: absolute;
    left: 50%;
    margin-left: -52px;
}

.index-testimonial-comment {
    margin-left: 18px;
}

/* Index FAQ */
.index-faq svg {
    transition: all .15s;
    color: var(--primary-800);
}

/* Timeline */
.index-timeline {
    position: relative;
}

.index-timeline::before {
    content: '';
    position: absolute;
    border-left: 2px solid var(--gray-200);
    height: 100%;
    left: calc(57px / 2);
}

/* Index call to action */
.index-cta {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" viewBox="0 0 700 700" width="700" height="700"><defs><radialGradient id="ffflux-gradient"><stop offset="0%" stop-color="rgb(17, 85, 212)"></stop><stop offset="100%" stop-color="hsl(239, 66%, 62%)"></stop></radialGradient><filter id="ffflux-filter" x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" primitiveUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feTurbulence type="fractalNoise" baseFrequency="0.005 0.003" numOctaves="1" seed="282" stitchTiles="stitch" x="0%" y="0%" width="100%" height="100%" result="turbulence"></feTurbulence><feGaussianBlur stdDeviation="20 0" x="0%" y="0%" width="100%" height="100%" in="turbulence" edgeMode="duplicate" result="blur"></feGaussianBlur><feBlend mode="color-burn" x="0%" y="0%" width="100%" height="100%" in="SourceGraphic" in2="blur" result="blend"></feBlend></filter></defs><rect width="700" height="700" fill="url(%23ffflux-gradient)" filter="url(%23ffflux-filter)"></rect></svg>');
    background-repeat: no-repeat;
    background-size: cover;
    color: white !important;
}

.index-cta a.btn {
    color: white;
    background: var(--primary-900);
    border-color: var(--primary-900);
    padding: 1.2rem 4.2rem;
    font-size: 1.25rem;
}

.index-cta a.btn:hover {
    background: var(--primary-700);
    border-color: var(--primary-700);
}

[data-theme-style="dark"] .index-cta a.btn {
    background: var(--primary-100);
    border-color: var(--primary-100);
}
