body.progress {

    &:before {
        position: fixed;
        content: ' ';
        display: block;
        width: 100%;
        height: 100%;
        left: 0px;
        top: 0px;
        background: #0000009c;
        z-index: 5000;
        transition: opacity .2s;
        opacity: 0;
    }

    &:after {
        position: fixed;
        content: ' ';
        top: 50%;
        left: 50%;
        margin-left: -24px;
        margin-top: -24px;
        width: 48px;
        height: 48px;
        border: 4px solid #851619;
        border-bottom-color: #FFF;
        border-radius: 50%;
        display: inline-block;
        box-sizing: border-box;
        animation: rotation 1s linear infinite;
        z-index: 5000;
        transition: opacity .2s;
        opacity: 0;
    }
}

body.progress-animate {

    &:before,
    &:after {
        opacity: 1;
    }
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}