﻿.loader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgb(188 188 188 / 30%);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999999;
    transition: opacity 0.3s ease;
}

.loader-container {
    position: relative;
    width: 140px;
    height: 140px;
    background: #fff;
    border: 5px solid #e0e0e0;
    border-radius: 50%;
    box-shadow: 0 0 15px rgb(0 0 0 / 70%);
}

    .loader-container::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 140px;
        height: 140px;
        border-top: 4px solid #2196f3;
        border-radius: 50%;
        animation: loaderspin 1.8s linear infinite;
    }

.loader-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    user-select: none;
}

    .loader-icon img {
        animation: loaderpulse 900ms ease-in-out infinite alternate;
        max-height: 60px;
        max-width: 80px;
    }

@keyframes loaderspin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes loaderpulse {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.15);
    }
}
