:root {
    --mprogress-primary-color: #2979ff;
    --mprogress-background-color: #82b1ff;
}

#mprogress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--mprogress-background-color);
    overflow: hidden;
}

#mprogress:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: var(--mprogress-primary-color);
    animation: mprogress-bar-1 2100ms cubic-bezier(0.65, 0.81, 0.73, 0.4) infinite;
}

#mprogress:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: var(--mprogress-primary-color);
    animation: mprogress-bar-2 2100ms cubic-bezier(0.16, 0.84, 0.44, 1) infinite;
    animation-delay: 1150ms;
}

@keyframes mprogress-bar-1 {
    0% {
        left: -35%;
        right: 100%;
    }
    60%, 100% {
        left: 100%;
        right: -90%;
    }
}

@keyframes mprogress-bar-2 {
    0% {
        left: -200%;
        right: 100%;
    }
    60%, 100% {
        left: 107%;
        right: -8%;
    }
}

.mprogress-visible {
    visibility: visible;
    opacity: 1;
    transition: opacity 120ms ease-in-out;
}


.mprogress-hidden {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s 70ms, opacity 70ms ease-in-out;
}
