.preloader {
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
}
.preloader:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #f1f3ec;
    opacity: 0.9;
}

.preloader.open {
    opacity: 1;
    visibility: visible;
}

.preloader img {
    transform-origin: top center;
    animation: preloader 1s infinite ease-in-out;
}

@keyframes preloader {
    0% {
        transform: rotate(45deg);
    }
    50% {
        transform: rotate(-45deg);
    }
    100% {
        transform: rotate(45deg);
    }
}