
/* Full-screen overlay with fade-in effect */
#spinner-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* Stay on top */
    opacity: 0; /* Initially hidden */
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s;
}

    /* When active, make spinner visible */
    #spinner-overlay.active {
        opacity: 1;
        visibility: visible;
    }


/* Animated spinner */
.spinner-img {
    animation: bounce 0.8s ease-in-out infinite;
    width: 50px; /* Adjust size */
    filter: drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.2)); /* Subtle shadow */
}

/* Spinning effect with scale animation */
@keyframes spin {
    0% {
        transform: rotate(0deg) scale(0.8);
    }

    50% {
        transform: rotate(180deg) scale(1);
    }

    100% {
        transform: rotate(360deg) scale(0.8);
    }
}

@keyframes pulse {
    0% {
        transform: scale(0.9);
        opacity: 0.7;
    }

    50% {
        transform: scale(1.1);
        opacity: 1;
    }

    100% {
        transform: scale(0.9);
        opacity: 0.7;
    }
}

@keyframes fade {
    0%, 100% {
        opacity: 0.3;
    }

    50% {
        opacity: 1;
    }
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

@keyframes wave {
    0%, 100% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(5deg);
    }

    75% {
        transform: rotate(-5deg);
    }
}