#loading {
    position: absolute;

    width: 100vw;
    height: 100vh;

    background-color: var(--bg-color);

    display: flex;

    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    transition: opacity 500ms;
}
#load_bg {
    position: absolute;

    width: 100vw;
    height: 100vh;

    background-size: 1.5rem;
    background-repeat: repeat;
    background-image: url("/resources/misc/load_bg.svg");

    opacity: .02;

    animation: load_bg_move 6s linear infinite;
}
#load_text {
    position: var(--load-text-position-set);

    right: 0;
    bottom: 3rem;

    width: 30rem;
    height: var(--load-text-height);

    scale: var(--load-text-scale);

    background-size: 70%;
    background-position: center;
    background-repeat: no-repeat;
    background-image: var(--load-text-url);
}

.loading_blink {
    animation: loading_blink 3s ease-in-out infinite;
}

@keyframes loading_blink {
    0% {
        opacity: .8;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: .8;
    }
}

@keyframes load_bg_move {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 12rem 12rem;
    }
}