.av-loader {
    width: 22px;
    height: 22px;
    border: 3px solid var(--gray-300);
    border-bottom-color: var(--primary);
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: 1s linear infinite rotation
}

@keyframes rotation {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.av-loader-container-absolute {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 2
}

.av-google-loader {
    display: inline-block;
    animation: 1.4s linear infinite google-loader;
}

.av-google-loader.small {
    width: 20px;
    height: 20px
}

.av-google-loader svg {
    display: block
}

.av-google-loader svg circle {
    stroke: currentColor;
    stroke-dasharray: 80px, 200px;
    stroke-dashoffset: 0;
    -webkit-animation: 1.4s ease-in-out infinite google-circle-loader;
    animation: 1.4s ease-in-out infinite google-circle-loader
}

@keyframes google-loader {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes google-circle-loader {
    0% {
        stroke-dasharray: 1px, 200px;
        stroke-dashoffset: 0
    }

    50% {
        stroke-dasharray: 100px, 200px;
        stroke-dashoffset: -15px
    }

    100% {
        stroke-dasharray: 100px, 200px;
        stroke-dashoffset: -125px
    }
}

.av-google-loader-bar {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 4px;
    background: rgba(var(--primary-rgb), .1);
    overflow: hidden
}

.av-google-loader-bar div:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: var(--primary);
    animation: 2.1s cubic-bezier(0.65, 0.81, 0.73, 0.4) infinite box-1
}

.av-google-loader-bar div:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: var(--primary);
    animation: 2.1s cubic-bezier(0.16, 0.84, 0.44, 1) infinite box-2;
    animation-delay: 1.15s
}

@keyframes box-1 {
    0% {
        left: -35%;
        right: 100%
    }

    100%,
    60% {
        left: 100%;
        right: -90%
    }
}

@keyframes box-2 {
    0% {
        left: -200%;
        right: 100%
    }

    100%,
    60% {
        left: 107%;
        right: -8%
    }
}