.preloader,
.preloader__spinner {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.preloader {
    position: fixed;
    background: rgba(255, 255, 255, 0.9);
    overflow: hidden;
    z-index: 999998;
    -webkit-transition: opacity .5s;
    transition: opacity .5s;
    -webkit-transition-delay: 2s;
    transition-delay: 2s;
}
.preloader__spinner {
    position: absolute;
    margin: auto;
    z-index: 999999;
    -webkit-transition: opacity .5s;
    transition: opacity .5s;
    -webkit-animation: spinnerAnimation 1s ease-in-out infinite;
    animation: spinnerAnimation 1s ease-in-out infinite;
}

.preloader::before,
.preloader::after {
    content: '';
    display: block;
    position: absolute;
    width: 200%;
    height: 50%;
    left: -50%;
    background: #252525;
    -webkit-transition: all 1s ease-in;
    transition: all 1s ease-in;
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}
.preloader:before {
    top: 0;
    -webkit-transform-origin: right top;
    transform-origin: right top;
}
.preloader:after {
    bottom: 0;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}
.preloader.active {
    opacity: 0;
}
.preloader.active .preloader__spinner {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    opacity: 0;
}
.preloader.active:before,
.preloader.active:after {
    -webkit-transform: scaleY(0) rotate(25deg);
    transform: scaleY(0) rotate(25deg);
}
