:root{
    --first-color: #393bff;
    --load-colour: linear-gradient(90deg, #393bff 0%, #3b4399 100%);
}

.section-title {
    margin-top: 0.8em;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50%;
    background-image: radial-gradient(
            ellipse 35% 35% at 50% 50%,
            #2d31a8,
            transparent
    );
    transform: translate(-50%, -50%);
    letter-spacing: 2px;
    left: 50%;
    top: 50%;
    font-family: 'Monoton', cursive;
    text-transform: uppercase;
    font-size: var(--small-section-title);
    color: #aeb1ff;
    text-shadow: 0 0 0.6rem #7b82ff, 0 0 1.5rem #6d73ff,
    -0.2rem 0.1rem 1rem #5f6bff, 0.2rem 0.1rem 1rem #585fff,
    0 -0.5rem 2rem #3e42ff, 0 0.5rem 3rem #0a00ff;
    animation: shine 2s forwards, flicker 3s infinite;
}

@keyframes blink {
    0%,
    22%,
    36%,
    75% {
        color: #ffe6ff;
        text-shadow: 0 0 0.6rem #7b82ff, 0 0 1.5rem #6d73ff,
        -0.2rem 0.1rem 1rem #5f6bff, 0.2rem 0.1rem 1rem #585fff,
        0 -0.5rem 2rem #3e42ff, 0 0.5rem 3rem #0a00ff;
    }
    28%,
    33% {
        color: #6064ff;
        text-shadow: none;
    }
    82%,
    97% {
        color: #352fff;
        text-shadow: none;
    }
}

.flicker {
    animation: shine 2s forwards, blink 3s 2s infinite;
}

.fast-flicker {
    animation: shine 2s forwards, blink 10s 1s infinite;
}

@keyframes shine {
    0% {
        color: #22206b;
        text-shadow: none;
    }
    100% {
        color: #ffe6ff;
        text-shadow: 0 0 0.6rem #7b82ff, 0 0 1.5rem #6d73ff,
        -0.2rem 0.1rem 1rem #5f6bff, 0.2rem 0.1rem 1rem #585fff,
        0 -0.5rem 2rem #3e42ff, 0 0.5rem 3rem #0a00ff;
    }
}

@keyframes flicker {
    from {
        opacity: 1;
    }

    4% {
        opacity: 0.9;
    }

    6% {
        opacity: 0.85;
    }

    8% {
        opacity: 0.95;
    }

    10% {
        opacity: 0.9;
    }

    11% {
        opacity: 0.922;
    }

    12% {
        opacity: 0.9;
    }

    14% {
        opacity: 0.95;
    }

    16% {
        opacity: 0.98;
    }

    17% {
        opacity: 0.9;
    }

    19% {
        opacity: 0.93;
    }

    20% {
        opacity: 0.99;
    }

    24% {
        opacity: 1;
    }

    26% {
        opacity: 0.94;
    }

    28% {
        opacity: 0.98;
    }

    37% {
        opacity: 0.93;
    }

    38% {
        opacity: 0.5;
    }

    39% {
        opacity: 0.96;
    }

    42% {
        opacity: 1;
    }

    44% {
        opacity: 0.97;
    }

    46% {
        opacity: 0.94;
    }

    56% {
        opacity: 0.9;
    }

    58% {
        opacity: 0.9;
    }

    60% {
        opacity: 0.99;
    }

    68% {
        opacity: 1;
    }

    70% {
        opacity: 0.9;
    }

    72% {
        opacity: 0.95;
    }

    93% {
        opacity: 0.93;
    }

    95% {
        opacity: 0.95;
    }

    97% {
        opacity: 0.93;
    }

    to {
        opacity: 1;
    }
}