.loader-wrapper {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background: #f9fafb;
    display: flex;
    align-items: center;
    justify-content: center
}

.loaded .loader-wrapper {
    visibility: hidden;
    opacity: 0;
    transition: all .8s ease-out
}

.loader-wrapper .loader {
    font-size: 10px;
    margin: 50px auto;
    text-indent: -9999em;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #6571ff;
    background: linear-gradient(90deg, #6571ff 10%, transparent 42%);
    -webkit-animation: loading 1.4s linear infinite;
    animation: loading 1.4s linear infinite;
    transform: translateZ(0)
}

.loader-wrapper .loader.loader:before {
    width: 50%;
    height: 50%;
    background: #6571ff;
    border-radius: 100% 0 0 0;
    position: absolute;
    top: 0;
    left: 0;
    content: ""
}

.loader-wrapper .loader.loader:after {
    background: #f9fafb;
    width: 75%;
    height: 75%;
    border-radius: 50%;
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0
}

@-webkit-keyframes loading {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

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

    to {
        transform: rotate(1turn)
    }
}