﻿.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #e6eaee;
    color: #fff;
}

.loader {
    position: absolute;
    top: 44%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
    /* https://css-loaders.com/time/ */

    width: 60px;
    aspect-ratio: 1;
    color: #000;
    border: 10px solid;
    box-sizing: border-box;
    border-radius: 50%;
    animation: l6 2s infinite linear;
}

    .loader .loading {
        display: flex;
        justify-content: center;
        margin-top: -40px;
    }

    .loader:before {
        content: "";
        position: absolute;
        height: 20px;
        inset: auto calc(50% - 10px) 100%;
        border-radius: 5px 5px 0 0;
        background: linear-gradient(currentColor 0 0) top/100% 30%, linear-gradient(currentColor 0 0) top/50% 100%;
        background-repeat: no-repeat;
    }

    .loader:after {
        content: "";
        position: absolute;
        inset: -8px -10px auto;
        height: 15px;
        background: radial-gradient(farthest-side,currentColor 94%,#0000) left, radial-gradient(farthest-side,currentColor 94%,#0000) right;
        background-size: 15px 15px;
        background-repeat: no-repeat;
    }

@keyframes l6 {
    0% {
        background: conic-gradient(#77a4bd 0,#0000 0)
    }

    12.5% {
        background: conic-gradient(#77a4bd 45deg,#0000 46deg)
    }

    25% {
        background: conic-gradient(#77a4bd 90deg,#0000 91deg)
    }

    37.5% {
        background: conic-gradient(#77a4bd 135deg,#0000 136deg)
    }

    50% {
        background: conic-gradient(#77a4bd 180deg,#0000 181deg)
    }

    62.5% {
        background: conic-gradient(#77a4bd 225deg,#0000 226deg)
    }

    75% {
        background: conic-gradient(#77a4bd 270deg,#0000 271deg)
    }

    87.5% {
        background: conic-gradient(#77a4bd 315deg,#0000 316deg)
    }

    100% {
        background: conic-gradient(#77a4bd 360deg,#0000 360deg)
    }
}
