.loading_progress-container {
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
}

.loading_progress-shadow {
    position: relative;
    width: 130px;
    height: 100px;
    background-repeat: no-repeat;
    background-image: linear-gradient(#465f98, #465f95), linear-gradient(#e44d06, #e44d06), linear-gradient(#e44d06,#e44d06);
    background-size: 59px 48px, 24px 30px, 30px 18px;
    background-position: 7px 2px, 65px 20px, 70px 32px;
}

.loading_progress-shadow:after {
    content: "";
    position: absolute;
    bottom: 35px;
    left: 18px;
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
    box-sizing: content-box;
    border: 7px solid #363333;
    box-shadow: 56px 0 0 -7px #fff, 56px 0 #363333;
    animation: wheelSk 0.75s ease-in infinite alternate;
}

.loading_progress-shadow:before {
    content: "";
    position: absolute;
    right: 100%;
    top: -4px;
    height: 60px;
    width: 60px;
    background-image: linear-gradient(#23282f 45px, transparent 0), linear-gradient(#23282f 45px, transparent 0), linear-gradient(#23282f 45px, transparent 0);
    background-repeat: no-repeat;
    background-size: 20px 2px;
    background-position: 6px 8px, 15px 23px, 1px 39px;
    animation: lineDropping 0.85s linear infinite;
}

@keyframes wheelSk {
    0%,
    50%,
    100% {
        transform: translatey(0)
    }
    30%,
    90% {
        transform: translatey(-3px)
    }
}

@keyframes lineDropping {
    0% {
        background-position: 100px 11px, 115px 35px, 105px 60px;
        opacity: 1;
    }
    50% {
        background-position: 0px 11px, 20px 35px, 5px 60px
    }
    60% {
        background-position: -30px 11px, 0px 35px, -10px 60px
    }
    75%,
    100% {
        background-position: -30px 11px, -30px 35px, -30px 60px;
        opacity: 0;
    }
}