.loader,
.loader:after {
    border-radius: 50%;
    width: 5em;
    height: 5em;
}

.loader {
    margin: 60px auto;
    font-size: 10px;
    position: relative;
    text-indent: -9999em;
    border-top: 0.5em solid rgba(0, 217, 255, 0.2);
    border-right: 0.5em solid rgba(0, 217, 255, 0.2);
    border-bottom: 0.5em solid rgba(0, 217, 255, 0.2);
    border-left: 0.5em solid #00d9ff;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

:root {
    --yellow: #feb60a;
    --red: #ff0062;
    --blue: #00dbf9;
    --violet: #da00f7;
}

body {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #1a1940;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 153, 212, 0) calc(15% + 100px), rgba(0, 99, 138, 0) calc(85% + 100px), rgba(0, 0, 0, 0.15) 100%);
}

div.container {
    display: flex;
    justify-content: center;
    align-items: center;
}

div>div {
    width: 3vw;
    height: 3vw;
    border-radius: 100%;
    margin: 2vw;
    background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    animation: bounce 1.5s 0.5s linear infinite;
}

.yellow {
    background-color: var(--yellow);
}

.red {
    background-color: var(--red);
    animation-delay: 0.1s;
}

.blue {
    background-color: var(--blue);
    animation-delay: 0.2s;
}

.violet {
    background-color: var(--violet);
    animation-delay: 0.3s;
}

@keyframes bounce {
    0%,
    50%,
    100% {
        transform: scale(1);
        filter: blur(0px);
    }
    25% {
        transform: scale(0.6);
        filter: blur(3px);
    }
    75% {
        filter: blur(3px);
        transform: scale(1.4);
    }
}