.loader {
    width: 4.8px;
    height: 4.8px;
    display: inline-block;
    margin-top: 20px;
    position: relative;
    border-radius: 4px;
    color: #FFF;
    background: currentColor;
    box-sizing: border-box;
    animation: animloader 0.3s 0.3s linear infinite alternate;
    background: #eab231;
}

.loader-left {
    display: inline-block;
    position: absolute;
    left: -10px;
    top: -15px;
    border-radius: 4px;
    animation: animloaderLeft 0.3s 0.45s linear infinite alternate;
    background: #39c3ee;
    width: 5px;
    height: 36px;
}

.loader::before {
    background-color: #2db77d !important;
}

    .loader::after,
    .loader::before {
        content: '';
        box-sizing: border-box;
        width: 4.8px;
        height: 4.8px;
        border-radius: 4px;
        background: currentColor;
        position: absolute;
        left: 0;
        top: 15px;
        animation: animloader 0.3s 0.45s linear infinite alternate;
    }

.loader::after {
    top: -15px;
    animation-delay: 0s;
    background: #df205c;
}

@keyframes animloader {
    0% {
        width: 4.8px;
    }

    100% {
        width: 48px;
    }
}

@keyframes animloaderLeft {
    0% {
        height: 4.8px;
    }

    100% {
        height: 38px;
    }
}

/* ------------------------------------------------------------------ */
/* Scoped spinner overlay - rendered into a host container by JS.     */
/* The overlay is absolutely positioned and fills its host element,   */
/* which JS forces to position:relative if it isn't already.          */
/* ------------------------------------------------------------------ */
.eng-scoped-spinner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1060;
    pointer-events: auto;
}

.eng-scoped-spinner-overlay--backdrop {
    background-color: rgba(255, 255, 255, 0.4);
    backdrop-filter: brightness(85%);
    -webkit-backdrop-filter: brightness(85%);
}

.eng-scoped-spinner-circle {
    width: 40px;
    height: 40px;
    border: 4px solid #DBEAFE;
    border-top-color: #2563EB;
    border-radius: 50%;
    animation: eng-scoped-spin 1s linear infinite;
}

.eng-scoped-spinner-gif {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

@keyframes eng-scoped-spin {
    to { transform: rotate(360deg); }
}
