﻿
.site-loader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient( circle at center, rgba(18, 52, 86, 0.65) 0%, rgba(9, 28, 54, 0.82) 55%, rgba(3, 10, 25, 0.92) 100% );
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: opacity .45s ease, visibility .45s ease;
}
.site-loader {
    animation: loaderBackground 6s ease-in-out infinite alternate;
}

@keyframes loaderBackground {
    from {
        backdrop-filter: blur(10px);
        filter: brightness(1);
    }

    to {
        backdrop-filter: blur(16px);
        filter: brightness(1.08);
    }
}

    .site-loader.hide {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

.loader-content {
    position: relative;
    width: 260px;
    height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loader-logo-wrapper {
    width: 135px;
    height: 135px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
    animation: logoPulse 2.2s ease-in-out infinite;
}

.loader-logo {
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 12px 18px rgba(0, 102, 255, .18));
}

.loader-orbit {
    position: absolute;
    border-radius: 50%;
    border: 5px solid transparent;
    border-top-color: #00b8ef;
    border-right-color: #0c37e9;
    opacity: .9;
}

.orbit-one {
    width: 210px;
    height: 210px;
    animation: rotateClockwise 1.8s linear infinite;
}

.orbit-two {
    width: 235px;
    height: 235px;
    border-width: 3px;
    border-top-color: rgba(0, 185, 240, .45);
    border-right-color: rgba(16, 57, 230, .55);
    animation: rotateCounterClockwise 2.8s linear infinite;
}

.orbit-three {
    width: 255px;
    height: 255px;
    border-width: 2px;
    border-top-color: rgba(0, 185, 240, .18);
    border-right-color: rgba(16, 57, 230, .25);
    animation: rotateClockwise 4s linear infinite;
}

.loader-text {
    position: absolute;
    bottom: -34px;
    width: 100%;
    text-align: center;
    color: #184877;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.loading-dots {
    display: inline-flex;
    gap: 4px;
    margin-left: 5px;
}

    .loading-dots i {
        width: 5px;
        height: 5px;
        display: inline-block;
        border-radius: 50%;
        background: #087ee8;
        animation: dots 1.3s infinite ease-in-out;
    }

        .loading-dots i:nth-child(2) {
            animation-delay: .18s;
        }

        .loading-dots i:nth-child(3) {
            animation-delay: .36s;
        }

@keyframes rotateClockwise {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes rotateCounterClockwise {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}

@keyframes logoPulse {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.07);
    }
}

@keyframes dots {
    0%, 100% {
        opacity: .25;
        transform: translateY(0);
    }

    50% {
        opacity: 1;
        transform: translateY(-4px);
    }
}
