body.loading {
    overflow: hidden;
}

body #simple-loading {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    display: flex;
    justify-content: center;
    align-items: center;
}

body #simple-loading .content {
    position: absolute;
    width: 71px;
    z-index: 9999;
}

body #simple-loading .circle {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    margin-left: 3px;
    margin-right: 3px;
    display: inline-block;
    position: relative;
    animation-name: jump;
    animation-direction: normal;
    animation-iteration-count: infinite;
    animation-play-state: running;
    animation-duration: 4s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(1, 0.03, 0, 0.99);
}

html #simple-loading .circle1,
body #simple-loading .circle1 {
    animation-delay: 0s;
}

html #simple-loading .circle2,
body #simple-loading .circle2 {
    animation-delay: 0.1s;
}

html #simple-loading .circle3,
body #simple-loading .circle3 {
    animation-delay: 0.2s;
}

@-webkit-keyframes jump {
    0% {
        top: -25px;
        opacity: 1;
    }
    10% {
        opacity: 0.4;
    }
    25% {
        top: 25px;
    }
    40% {
        opacity: 1;
    }
    50% {
        top: -25px;
    }
    65% {
        opacity: 0.4;
    }
    75% {
        top: 25px;
    }
    80% {
        opacity: 1;
    }
    100% {
        top: -25px;
        opacity: 1;
    }
}

@-moz-keyframes jump {
    0% {
        top: -25px;
        opacity: 1;
    }
    10% {
        opacity: 0.4;
    }
    25% {
        top: 25px;
    }
    40% {
        opacity: 1;
    }
    50% {
        top: -25px;
    }
    65% {
        opacity: 0.4;
    }
    75% {
        top: 25px;
    }
    80% {
        opacity: 1;
    }
    100% {
        top: -25px;
        opacity: 1;
    }
}

@-o-keyframes jump {
    0% {
        top: -25px;
        opacity: 1;
    }
    10% {
        opacity: 0.4;
    }
    25% {
        top: 25px;
    }
    40% {
        opacity: 1;
    }
    50% {
        top: -25px;
    }
    65% {
        opacity: 0.4;
    }
    75% {
        top: 25px;
    }
    80% {
        opacity: 1;
    }
    100% {
        top: -25px;
        opacity: 1;
    }
}

@keyframes jump {
    0% {
        top: -25px;
        opacity: 1;
    }
    10% {
        opacity: 0.4;
    }
    25% {
        top: 25px;
    }
    40% {
        opacity: 1;
    }
    50% {
        top: -25px;
    }
    65% {
        opacity: 0.4;
    }
    75% {
        top: 25px;
    }
    80% {
        opacity: 1;
    }
    100% {
        top: -25px;
        opacity: 1;
    }
}
