@keyframes red {
    25% {
        left: -240%;
        top : -130%;
    }

    50% {
        left: -100%;
        top : -120%;
    }

    75% {
        left: -160%;
        top : -230%;
    }

    to {
        left: -250%;
        top : -300%;
    }
}

@keyframes blue {
    25% {
        left: -180%;
        top : -100%;
    }

    50% {
        left: -120%;
        top : -250%;
    }

    75% {
        left: -250%;
        top : -300%;
    }

    to {
        left: -280%;
        top : -80%;
    }
}

@keyframes green {
    25% {
        left: -120%;
        top : -250%;
    }

    50% {
        left: -250%;
        top : -300%;
    }

    75% {
        left: -280%;
        top : -80%;
    }

    to {
        left: -180%;
        top : -100%;
    }
}

@keyframes wrap-background {
    from {
        background-color: #ff5c5c;
    }

    25% {
        background-color: #9395ff;
    }

    50% {
        background-color: #fff393;
    }

    75% {
        background-color: #534eff;
    }

    to {
        background-color: #ff5c5c;
    }
}

:is(div, section).gradient {
    position                 : relative;
    overflow                 : hidden;
    animation-duration       : 30s;
    animation-name           : wrap-background;
    animation-iteration-count: infinite;
    background-repeat        : no-repeat;
    animation-timing-function: ease-in-out;
}

:is(div, section).gradient>div:not(.gradient) {
    z-index                  : -1000;
    width                    : 500%;
    height                   : 500%;
    position                 : absolute;
    pointer-events           : none;
    filter                   : blur(200px);
    animation-duration       : 12s;
    background-repeat        : no-repeat;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

:is(div, section).gradient>div.red {
    left          : -250%;
    top           : -300%;
    animation-name: red;
    background-image: radial-gradient(circle,
            rgba(255, 25, 25, 1) 0%,
            rgba(0, 0, 0, 0) 35%);
}

:is(div, section).gradient>div.blue {
    left          : -280%;
    top           : -80%;
    animation-name: blue;
    background-image: radial-gradient(circle,
            rgba(25, 25, 255, 0.6) 0%,
            rgba(0, 0, 0, 0) 35%);
}

:is(div, section).gradient>div.green {
    left          : -180%;
    top           : -100%;
    animation-name: green;
    background-image: radial-gradient(circle,
            rgba(25, 255, 25, 1) 0%,
            rgba(0, 0, 0, 0) 35%);
}
