/* Index */
.index-header {
    font-size: 3.1rem;
    font-weight: 600;

    background: linear-gradient(80deg , var(--blue-300), var(--blue-500) 30%, var(--primary));
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
@media (min-width: 992px) {
    .index-header {
        font-size: 3.5rem;
    }
}

[data-theme-style="dark"] .index-header {
    background: linear-gradient(80deg , var(--blue-600), var(--blue-700) 30%, var(--primary-600));
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.index-subheader {
    font-size: 1.4rem;
    color: var(--gray-600);
    font-weight: 500;
}

.index-button {
    padding: 0.7rem 3rem;
}

.index-custom-hero-background {
    position: absolute;
    background: linear-gradient(0deg, var(--white), hsla(0, 0%, 100%, 0)) !important;
    bottom: 0;
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
}

.index-custom-hero {
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: end;
    justify-content: center;
    z-index: -1;
    overflow: hidden;
    opacity: 15%;
}

.index-custom-hero-bar {
    width: 2.5rem;
    min-width: 2.5rem;
    background: var(--gray-300);
    margin: 0 .5rem;
    z-index: -1;
    border-radius: var(--border-radius);
    height: 0;
    transition: height 1s ease-in-out;
}

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

/* Index fade */
.index-fade {
    position: absolute;
    background: linear-gradient(0deg, var(--white), hsla(0, 0%, 100%, 0)) !important;
    bottom: 0;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
}

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

/* 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><linearGradient gradientTransform="rotate(58, 0.5, 0.5)" x1="50%" y1="0%" x2="50%" y2="100%" id="ffflux-gradient"><stop stop-color="rgb(38, 111, 238)" stop-opacity="1" offset="0%"></stop><stop stop-color="hsl(165, 70%, 59%)" stop-opacity="1" offset="100%"></stop></linearGradient><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="4" 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;
    border-color: white;
    padding: 1.2rem 4.2rem;
    font-size: 1.25rem;
}

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