/* =========================================
   SITE LOADER
========================================= */

.site-loader {
    position: fixed;
    inset: 0;

    width: 100%;
    height: 100%;

    background: var(--white);

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 999999;

    opacity: 1;
    visibility: visible;

    transition:
        opacity 0.5s ease,
        visibility 0.5s ease;
}


/* Hide loader */

.site-loader.hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}


/* Loader content */

.site-loader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
}


/* Brand logo */

.site-loader-logo {
    width: 150px;
    max-width: 70vw;
    height: auto;

    object-fit: contain;

    margin-bottom: 25px;

    animation: loaderLogo 1.8s ease-in-out infinite;
}


/* Logo animation */

@keyframes loaderLogo {

    0%,
    100% {
        opacity: 0.65;
        transform: scale(0.96);
    }

    50% {
        opacity: 1;
        transform: scale(1);
    }

}


/* =========================================
   DOT LOADER
========================================= */

.site-loader-spinner {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 12px;
}

.site-loader-spinner span {
    width: 8px;
    height: 8px;

    background: var(--yellow);

    border-radius: 50%;

    animation: loaderDots 1.2s infinite ease-in-out;
}

.site-loader-spinner span:nth-child(2) {
    animation-delay: 0.15s;
}

.site-loader-spinner span:nth-child(3) {
    animation-delay: 0.3s;
}


@keyframes loaderDots {

    0%,
    60%,
    100% {
        transform: translateY(0);
        opacity: 0.4;
    }

    30% {
        transform: translateY(-6px);
        opacity: 1;
    }

}


/* Loading text */

.site-loader-content p {
    margin: 0;

    font-size: 13px;
    font-weight: 500;

    color: var(--text-muted);
}