.loader {
    position: fixed;
    z-index: 1100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background: black;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .loader > img {
        width: 100px;
    }

    .loader.hidden {
        animation: fadeOut 0.5s;
        animation-fill-mode: forwards;
    }

    .loader.show {
        animation: fadeIn 0.5s;
        animation-fill-mode: forwards;
    }

@keyframes fadeOut {
    100% {
        opacity: 0;
        visibility: hidden;
    }
}

@keyframes fadeIn {
    100% {
        opacity: 0.5;
        visibility: visible;
    }
}
