@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: 3vmin;
    height: 3vmin;
    border-radius: 3vmin;
    backface-visibility: hidden;
    position: absolute;
    animation: move;
    animation-duration: 46;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}


.background span:nth-child(0) {
    color: #E45A84;
    top: 27%;
    left: 3%;
    animation-duration: 13s;
    animation-delay: -29s;
    transform-origin: -21vw 0vh;
    box-shadow: -6vmin 0 1.4275879576141521vmin currentColor;
}
.background span:nth-child(1) {
    color: #E45A84;
    top: 67%;
    left: 38%;
    animation-duration: 27s;
    animation-delay: -14s;
    transform-origin: -2vw -22vh;
    box-shadow: 6vmin 0 1.1382628800699985vmin currentColor;
}
.background span:nth-child(2) {
    color: #FFACAC;
    top: 12%;
    left: 97%;
    animation-duration: 24s;
    animation-delay: -31s;
    transform-origin: 13vw -24vh;
    box-shadow: 6vmin 0 1.5763354814375736vmin currentColor;
}
.background span:nth-child(3) {
    color: #E45A84;
    top: 6%;
    left: 47%;
    animation-duration: 29s;
    animation-delay: -39s;
    transform-origin: -10vw 1vh;
    box-shadow: 6vmin 0 0.7753364805496288vmin currentColor;
}
.background span:nth-child(4) {
    color: #583C87;
    top: 21%;
    left: 31%;
    animation-duration: 14s;
    animation-delay: -26s;
    transform-origin: -8vw 9vh;
    box-shadow: 6vmin 0 0.8644240954219709vmin currentColor;
}
.background span:nth-child(5) {
    color: #583C87;
    top: 4%;
    left: 13%;
    animation-duration: 10s;
    animation-delay: -15s;
    transform-origin: -7vw 11vh;
    box-shadow: 6vmin 0 0.9764743839876928vmin currentColor;
}
.background span:nth-child(6) {
    color: #E45A84;
    top: 36%;
    left: 50%;
    animation-duration: 31s;
    animation-delay: -26s;
    transform-origin: 15vw -15vh;
    box-shadow: -6vmin 0 0.8369936865239855vmin currentColor;
}
.background span:nth-child(7) {
    color: #583C87;
    top: 4%;
    left: 59%;
    animation-duration: 14s;
    animation-delay: -18s;
    transform-origin: 25vw -13vh;
    box-shadow: 6vmin 0 1.1099650397846925vmin currentColor;
}
.background span:nth-child(8) {
    color: #E45A84;
    top: 40%;
    left: 27%;
    animation-duration: 37s;
    animation-delay: -33s;
    transform-origin: 14vw -20vh;
    box-shadow: -6vmin 0 1.516996632840987vmin currentColor;
}
.background span:nth-child(9) {
    color: #583C87;
    top: 30%;
    left: 3%;
    animation-duration: 25s;
    animation-delay: -14s;
    transform-origin: 8vw 17vh;
    box-shadow: 6vmin 0 0.7540630658358134vmin currentColor;
}
.background span:nth-child(10) {
    color: #E45A84;
    top: 76%;
    left: 22%;
    animation-duration: 38s;
    animation-delay: -32s;
    transform-origin: -8vw 8vh;
    box-shadow: 6vmin 0 1.1787669169649626vmin currentColor;
}
.background span:nth-child(11) {
    color: #E45A84;
    top: 99%;
    left: 75%;
    animation-duration: 11s;
    animation-delay: -8s;
    transform-origin: 10vw 16vh;
    box-shadow: 6vmin 0 1.6172634063595854vmin currentColor;
}
.background span:nth-child(12) {
    color: #FFACAC;
    top: 72%;
    left: 34%;
    animation-duration: 30s;
    animation-delay: -31s;
    transform-origin: 6vw 12vh;
    box-shadow: -6vmin 0 1.2486739596592005vmin currentColor;
}
.background span:nth-child(13) {
    color: #FFACAC;
    top: 93%;
    left: 87%;
    animation-duration: 13s;
    animation-delay: -16s;
    transform-origin: -12vw 11vh;
    box-shadow: 6vmin 0 1.6125227430934534vmin currentColor;
}
.background span:nth-child(14) {
    color: #583C87;
    top: 99%;
    left: 37%;
    animation-duration: 9s;
    animation-delay: -12s;
    transform-origin: -24vw -4vh;
    box-shadow: 6vmin 0 0.8135172684060419vmin currentColor;
}
.background span:nth-child(15) {
    color: #E45A84;
    top: 43%;
    left: 79%;
    animation-duration: 33s;
    animation-delay: -32s;
    transform-origin: 9vw 3vh;
    box-shadow: -6vmin 0 0.9294952206945417vmin currentColor;
}
.background span:nth-child(16) {
    color: #E45A84;
    top: 48%;
    left: 10%;
    animation-duration: 10s;
    animation-delay: -27s;
    transform-origin: 13vw 13vh;
    box-shadow: -6vmin 0 1.1470762618449877vmin currentColor;
}
.background span:nth-child(17) {
    color: #583C87;
    top: 97%;
    left: 20%;
    animation-duration: 26s;
    animation-delay: -7s;
    transform-origin: -6vw 4vh;
    box-shadow: 6vmin 0 1.6132907948431243vmin currentColor;
}
.background span:nth-child(18) {
    color: #583C87;
    top: 34%;
    left: 62%;
    animation-duration: 6s;
    animation-delay: -20s;
    transform-origin: 8vw -10vh;
    box-shadow: 6vmin 0 1.6008411891415215vmin currentColor;
}
.background span:nth-child(19) {
    color: #FFACAC;
    top: 57%;
    left: 40%;
    animation-duration: 11s;
    animation-delay: -3s;
    transform-origin: 18vw 7vh;
    box-shadow: 6vmin 0 0.9736982893007431vmin currentColor;
}
.background span:nth-child(20) {
    color: #E45A84;
    top: 67%;
    left: 93%;
    animation-duration: 40s;
    animation-delay: -10s;
    transform-origin: 13vw -7vh;
    box-shadow: -6vmin 0 0.9492860838135475vmin currentColor;
}
.background span:nth-child(21) {
    color: #E45A84;
    top: 75%;
    left: 29%;
    animation-duration: 25s;
    animation-delay: -39s;
    transform-origin: 4vw 8vh;
    box-shadow: 6vmin 0 0.9341316339103563vmin currentColor;
}
.background span:nth-child(22) {
    color: #E45A84;
    top: 98%;
    left: 30%;
    animation-duration: 35s;
    animation-delay: -15s;
    transform-origin: 24vw 19vh;
    box-shadow: -6vmin 0 1.2860497921983591vmin currentColor;
}
.background span:nth-child(23) {
    color: #FFACAC;
    top: 93%;
    left: 42%;
    animation-duration: 20s;
    animation-delay: -11s;
    transform-origin: -15vw -16vh;
    box-shadow: 6vmin 0 1.211724331352475vmin currentColor;
}
.background span:nth-child(24) {
    color: #E45A84;
    top: 75%;
    left: 53%;
    animation-duration: 10s;
    animation-delay: -3s;
    transform-origin: 5vw -23vh;
    box-shadow: 6vmin 0 1.672547875385381vmin currentColor;
}
.background span:nth-child(25) {
    color: #FFACAC;
    top: 98%;
    left: 36%;
    animation-duration: 29s;
    animation-delay: -4s;
    transform-origin: 23vw 23vh;
    box-shadow: -6vmin 0 0.7934702697284148vmin currentColor;
}
.background span:nth-child(26) {
    color: #583C87;
    top: 31%;
    left: 92%;
    animation-duration: 45s;
    animation-delay: -22s;
    transform-origin: -22vw 18vh;
    box-shadow: 6vmin 0 0.7938639938181133vmin currentColor;
}
.background span:nth-child(27) {
    color: #583C87;
    top: 85%;
    left: 15%;
    animation-duration: 14s;
    animation-delay: -18s;
    transform-origin: -24vw 3vh;
    box-shadow: 6vmin 0 0.834517671015693vmin currentColor;
}
.background span:nth-child(28) {
    color: #583C87;
    top: 89%;
    left: 76%;
    animation-duration: 12s;
    animation-delay: -32s;
    transform-origin: -6vw -15vh;
    box-shadow: 6vmin 0 1.1374391394205214vmin currentColor;
}
.background span:nth-child(29) {
    color: #E45A84;
    top: 77%;
    left: 78%;
    animation-duration: 12s;
    animation-delay: -9s;
    transform-origin: -22vw -6vh;
    box-shadow: -6vmin 0 0.9931629188847007vmin currentColor;
}
.background span:nth-child(30) {
    color: #583C87;
    top: 34%;
    left: 61%;
    animation-duration: 17s;
    animation-delay: -34s;
    transform-origin: -12vw 21vh;
    box-shadow: 6vmin 0 1.1186483555760771vmin currentColor;
}
.background span:nth-child(31) {
    color: #FFACAC;
    top: 46%;
    left: 61%;
    animation-duration: 12s;
    animation-delay: -27s;
    transform-origin: 13vw 3vh;
    box-shadow: -6vmin 0 0.8483456760800776vmin currentColor;
}
.background span:nth-child(32) {
    color: #E45A84;
    top: 71%;
    left: 52%;
    animation-duration: 22s;
    animation-delay: -2s;
    transform-origin: 11vw -21vh;
    box-shadow: 6vmin 0 0.9379308920924887vmin currentColor;
}
.background span:nth-child(33) {
    color: #FFACAC;
    top: 53%;
    left: 67%;
    animation-duration: 9s;
    animation-delay: -32s;
    transform-origin: 23vw 16vh;
    box-shadow: -6vmin 0 0.8913737650787097vmin currentColor;
}
.background span:nth-child(34) {
    color: #583C87;
    top: 10%;
    left: 48%;
    animation-duration: 28s;
    animation-delay: -1s;
    transform-origin: 14vw -16vh;
    box-shadow: 6vmin 0 1.1724403514264674vmin currentColor;
}
.background span:nth-child(35) {
    color: #583C87;
    top: 47%;
    left: 32%;
    animation-duration: 9s;
    animation-delay: -25s;
    transform-origin: -13vw 25vh;
    box-shadow: -6vmin 0 0.8451173129138103vmin currentColor;
}
.background span:nth-child(36) {
    color: #FFACAC;
    top: 6%;
    left: 89%;
    animation-duration: 29s;
    animation-delay: -1s;
    transform-origin: -9vw 20vh;
    box-shadow: 6vmin 0 1.6857375226368834vmin currentColor;
}
.background span:nth-child(37) {
    color: #583C87;
    top: 30%;
    left: 63%;
    animation-duration: 30s;
    animation-delay: -39s;
    transform-origin: -19vw -21vh;
    box-shadow: 6vmin 0 1.0610959828487432vmin currentColor;
}
.background span:nth-child(38) {
    color: #FFACAC;
    top: 83%;
    left: 80%;
    animation-duration: 15s;
    animation-delay: -34s;
    transform-origin: -19vw 17vh;
    box-shadow: 6vmin 0 1.2555423135692942vmin currentColor;
}
.background span:nth-child(39) {
    color: #E45A84;
    top: 74%;
    left: 63%;
    animation-duration: 44s;
    animation-delay: -20s;
    transform-origin: -12vw 23vh;
    box-shadow: -6vmin 0 1.6509186415261512vmin currentColor;
}
.background span:nth-child(40) {
    color: #FFACAC;
    top: 88%;
    left: 51%;
    animation-duration: 11s;
    animation-delay: -4s;
    transform-origin: 1vw -7vh;
    box-shadow: -6vmin 0 0.8936947576013672vmin currentColor;
}
.background span:nth-child(41) {
    color: #E45A84;
    top: 57%;
    left: 89%;
    animation-duration: 39s;
    animation-delay: -11s;
    transform-origin: -19vw -16vh;
    box-shadow: 6vmin 0 1.4069320705803494vmin currentColor;
}
.background span:nth-child(42) {
    color: #FFACAC;
    top: 65%;
    left: 72%;
    animation-duration: 22s;
    animation-delay: -11s;
    transform-origin: 9vw -14vh;
    box-shadow: -6vmin 0 1.531124514212247vmin currentColor;
}
