@keyframes move {
    100% {
        transform: translate3d(0, 0, 1px) rotate(360deg);
    }
}

.background {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background: #3E1E68;
    overflow: hidden;
    z-index: -1;
}

.background span {
    width: 20vmin;
    height: 20vmin;
    border-radius: 20vmin;
    backface-visibility: hidden;
    position: absolute;
    animation: move;
    animation-duration: 45;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}


.background span:nth-child(0) {
    color: #583C87;
    top: 56%;
    left: 96%;
    animation-duration: 38s;
    animation-delay: -38s;
    transform-origin: -17vw 0vh;
    box-shadow: -40vmin 0 5.85902947566988vmin currentColor;
}
.background span:nth-child(1) {
    color: #FFACAC;
    top: 21%;
    left: 87%;
    animation-duration: 41s;
    animation-delay: -43s;
    transform-origin: 5vw 21vh;
    box-shadow: 40vmin 0 5.758653491396908vmin currentColor;
}
.background span:nth-child(2) {
    color: #E45A84;
    top: 86%;
    left: 74%;
    animation-duration: 32s;
    animation-delay: -4s;
    transform-origin: 16vw 10vh;
    box-shadow: -40vmin 0 5.868938535309951vmin currentColor;
}
.background span:nth-child(3) {
    color: #FFACAC;
    top: 42%;
    left: 64%;
    animation-duration: 10s;
    animation-delay: -12s;
    transform-origin: -20vw -21vh;
    box-shadow: 40vmin 0 5.419542243852968vmin currentColor;
}
.background span:nth-child(4) {
    color: #FFACAC;
    top: 89%;
    left: 3%;
    animation-duration: 37s;
    animation-delay: -34s;
    transform-origin: 3vw -24vh;
    box-shadow: -40vmin 0 5.788601551104021vmin currentColor;
}
.background span:nth-child(5) {
    color: #583C87;
    top: 17%;
    left: 66%;
    animation-duration: 48s;
    animation-delay: -50s;
    transform-origin: -5vw -10vh;
    box-shadow: -40vmin 0 5.227693686700876vmin currentColor;
}
.background span:nth-child(6) {
    color: #E45A84;
    top: 46%;
    left: 40%;
    animation-duration: 41s;
    animation-delay: -24s;
    transform-origin: -3vw 5vh;
    box-shadow: 40vmin 0 5.5917546069636614vmin currentColor;
}
.background span:nth-child(7) {
    color: #E45A84;
    top: 31%;
    left: 23%;
    animation-duration: 55s;
    animation-delay: -41s;
    transform-origin: -14vw 6vh;
    box-shadow: -40vmin 0 5.321290728807988vmin currentColor;
}
.background span:nth-child(8) {
    color: #E45A84;
    top: 85%;
    left: 67%;
    animation-duration: 46s;
    animation-delay: -34s;
    transform-origin: 9vw 14vh;
    box-shadow: 40vmin 0 5.786482648095549vmin currentColor;
}
.background span:nth-child(9) {
    color: #E45A84;
    top: 24%;
    left: 35%;
    animation-duration: 50s;
    animation-delay: -36s;
    transform-origin: 20vw 17vh;
    box-shadow: 40vmin 0 5.537611570988383vmin currentColor;
}
.background span:nth-child(10) {
    color: #583C87;
    top: 75%;
    left: 100%;
    animation-duration: 50s;
    animation-delay: -42s;
    transform-origin: 14vw -23vh;
    box-shadow: -40vmin 0 5.62985723412141vmin currentColor;
}
.background span:nth-child(11) {
    color: #FFACAC;
    top: 55%;
    left: 66%;
    animation-duration: 46s;
    animation-delay: -6s;
    transform-origin: -12vw -18vh;
    box-shadow: -40vmin 0 5.108717683167097vmin currentColor;
}
.background span:nth-child(12) {
    color: #583C87;
    top: 31%;
    left: 54%;
    animation-duration: 51s;
    animation-delay: -17s;
    transform-origin: 10vw 15vh;
    box-shadow: 40vmin 0 5.2858343353171335vmin currentColor;
}
.background span:nth-child(13) {
    color: #E45A84;
    top: 56%;
    left: 94%;
    animation-duration: 45s;
    animation-delay: -47s;
    transform-origin: 24vw -11vh;
    box-shadow: 40vmin 0 5.511074572624393vmin currentColor;
}
.background span:nth-child(14) {
    color: #FFACAC;
    top: 25%;
    left: 77%;
    animation-duration: 34s;
    animation-delay: -38s;
    transform-origin: 16vw 14vh;
    box-shadow: 40vmin 0 5.723226274693545vmin currentColor;
}
.background span:nth-child(15) {
    color: #583C87;
    top: 57%;
    left: 32%;
    animation-duration: 31s;
    animation-delay: -24s;
    transform-origin: 5vw -23vh;
    box-shadow: 40vmin 0 5.049259616607436vmin currentColor;
}
.background span:nth-child(16) {
    color: #E45A84;
    top: 72%;
    left: 9%;
    animation-duration: 13s;
    animation-delay: -42s;
    transform-origin: 10vw 24vh;
    box-shadow: -40vmin 0 5.981935946651811vmin currentColor;
}
.background span:nth-child(17) {
    color: #E45A84;
    top: 93%;
    left: 57%;
    animation-duration: 14s;
    animation-delay: -27s;
    transform-origin: 25vw -16vh;
    box-shadow: 40vmin 0 5.156306503973548vmin currentColor;
}
.background span:nth-child(18) {
    color: #FFACAC;
    top: 40%;
    left: 82%;
    animation-duration: 51s;
    animation-delay: -1s;
    transform-origin: -17vw 25vh;
    box-shadow: -40vmin 0 5.357122408455484vmin currentColor;
}
.background span:nth-child(19) {
    color: #583C87;
    top: 68%;
    left: 35%;
    animation-duration: 13s;
    animation-delay: -23s;
    transform-origin: 11vw -24vh;
    box-shadow: 40vmin 0 5.3230181805897745vmin currentColor;
}