.loading {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: grid;
    place-items: center;
    pointer-events: visible;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transition: 0.4s;
}

.loading.active {
    opacity: 1;
    visibility: visible;
}

.loading .loader {
    width: 40px;
    height: 40px;
    border: 2px solid #f0ecec;
    border-top: 2px solid #e71f5f;
    animation: spin 0.6s linear infinite;
    border-radius: 50%;
    background-color: transparent;
}

@keyframes spin {
    to {transform:rotate(360deg);}
}