.loader-wrap {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255, 0.8);
    backdrop-filter: blur(7px);
    z-index: 1000;
    overflow: hidden;
    pointer-events: none;
}

.loader-wrap.solid {
    background-color: rgba(255,255,255, 1);
}

.loader-wrap.active {
    display: block;
}

.loader-wrap .loader {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    overflow: hidden;
    background: none;
}

.loader-wrap .loader-container {
    width: 8.8rem;
    height: 8.8rem;
    position: relative;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
}

.loader-wrap .loader-container div {
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    -webkit-transform: translate(44px, 44px) scale(1);
    transform: translate(44px, 44px) scale(1);
    background: #1C2C33;
    -webkit-animation: loader-first-animation 1.6666666667s infinite cubic-bezier(0, 0.5, 0.5, 1);
    animation: loader-first-animation 1.6666666667s infinite cubic-bezier(0, 0.5, 0.5, 1);
}

.loader-container div:nth-child(1) {
    background: #1C2C33;
    -webkit-transform: translate(74px, 44px) scale(1);
    transform: translate(74px, 44px) scale(1);
    -webkit-animation: loader-first-animation-r 0.4166666667s infinite cubic-bezier(0, 0.5, 0.5, 1), loader-first-animation-c 1.6666666667s infinite step-start;
    animation: loader-first-animation-r 0.4166666667s infinite cubic-bezier(0, 0.5, 0.5, 1), loader-first-animation-c 1.6666666667s infinite step-start;
}

.loader-container div:nth-child(2) {
    -webkit-animation-delay: -0.4166666667s;
    animation-delay: -0.4166666667s;
    background: #1C2C33;
}

.loader-container div:nth-child(3) {
    -webkit-animation-delay: -0.8333333333s;
    animation-delay: -0.8333333333s;
    background: #1C2C33;
}

.loader-container div:nth-child(4) {
    -webkit-animation-delay: -1.25s;
    animation-delay: -1.25s;
    background: #1C2C33;
}

.loader-container div:nth-child(5) {
    -webkit-animation-delay: -1.6666666667s;
    animation-delay: -1.6666666667s;
    background: #1C2C33;
}

@-webkit-keyframes loader-first-animation {
    0% {
        -webkit-transform: translate(6px, 40px) scale(0);
        transform: translate(6px, 40px) scale(0);
    }

    25% {
        -webkit-transform: translate(6px, 40px) scale(0);
        transform: translate(6px, 40px) scale(0);
    }

    50% {
        -webkit-transform: translate(6px, 40px) scale(1);
        transform: translate(6px, 40px) scale(1);
    }

    75% {
        -webkit-transform: translate(40px, 40px) scale(1);
        transform: translate(40px, 40px) scale(1);
    }

    100% {
        -webkit-transform: translate(74px, 40px) scale(1);
        transform: translate(74px, 40px) scale(1);
    }
}

@keyframes loader-first-animation {
    0% {
        -webkit-transform: translate(6px, 40px) scale(0);
        transform: translate(6px, 40px) scale(0);
    }

    25% {
        -webkit-transform: translate(6px, 40px) scale(0);
        transform: translate(6px, 40px) scale(0);
    }

    50% {
        -webkit-transform: translate(6px, 40px) scale(1);
        transform: translate(6px, 40px) scale(1);
    }

    75% {
        -webkit-transform: translate(40px, 40px) scale(1);
        transform: translate(40px, 40px) scale(1);
    }

    100% {
        -webkit-transform: translate(74px, 40px) scale(1);
        transform: translate(74px, 40px) scale(1);
    }
}

@-webkit-keyframes loader-first-animation-r {
    0% {
        -webkit-transform: translate(74px, 40px) scale(1);
        transform: translate(74px, 40px) scale(1);
    }

    100% {
        -webkit-transform: translate(74px, 40px) scale(0);
        transform: translate(74px, 40px) scale(0);
    }
}

@keyframes loader-first-animation-r {
    0% {
        -webkit-transform: translate(74px, 40px) scale(1);
        transform: translate(74px, 40px) scale(1);
    }

    100% {
        -webkit-transform: translate(74px, 40px) scale(0);
        transform: translate(74px, 40px) scale(0);
    }
}

@-webkit-keyframes loader-first-animation-c {
    0% {
        background: #1C2C33;
    }

    25% {
        background: #1C2C33;
    }

    50% {
        background: #1C2C33;
    }

    75% {
        background: #1C2C33;
    }

    100% {
        background: #1C2C33;
    }
}

@keyframes loader-first-animation-c {
    0% {
        background: #1C2C33;
    }

    25% {
        background: #1C2C33;
    }

    50% {
        background: #1C2C33;
    }

    75% {
        background: #1C2C33;
    }

    100% {
        background: #1C2C33;
    }
}
