.wrapper {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.spinner {
    border-radius: 50%;
    width: 20vh;
    height: 20vh;
    padding: 1.2vh;
    background: linear-gradient(to right, #141562, #486FBC, #EAB5A1, #8DD6FF, #4973C9, #D07CA7, #F4915E, #F5919E, #B46F89, #141562, #486FBC, transparent);
    background-size: 1000% 1000%;
    animation: spin 1.2s linear infinite, moveGradient 15s infinite;
}

.spinner::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(to top, #ffffff, transparent);
}

.circle {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #fff;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes moveGradient {
    to {
        background-position: 100% 50%
    }
}
