body:after {
    z-index: -1;
    content: "\A";
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background: rgba(172, 172, 172, 0.1);
    backdrop-filter: blur(4px);
    /* animation: background_black_veil 10s cubic-bezier(0, 0, 0.2, 1); */
}

@keyframes background_black_veil {
    from {
        opacity: 100%;
    }
    to {
        opacity: 0%;
    }
}

main > img {
    opacity: 0%;
    animation: fade_in_translate 1s cubic-bezier(0, 0, 0.2, 1) 0.4s 1 forwards;
}

main > h1 {
    opacity: 0%;
    animation: fade_in_translate 1.2s cubic-bezier(0, 0, 0.2, 1) 0.4s 1 forwards;
}

main > h2 {
    opacity: 0%;
    animation: fade_in_translate 1.4s cubic-bezier(0, 0, 0.2, 1) 0.4s 1 forwards;
}

main > a {
    opacity: 0%;
    animation: fade_in_translate 1.6s cubic-bezier(0, 0, 0.2, 1) 0.4s 1 forwards;
}

@keyframes fade_in_translate {
    from {
        opacity: 0%;
        transform: translateX(-40px);
    }
    to {
        opacity: 100%;
        transform: translateX(0px);
    }
}
