.loading {
    position: fixed;
    height: 2em;
    width: 2em;
    overflow: visible;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 999;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center
}
.loading p {
	text-align:center;
	margin:revert;
    color: var(--font-color-light);
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,50%);
}
.loading:before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--overlay-bg);
}
.loading:after {
    content: '';
    display: block;
    width: .1em;
    height: .1em;
    font-size: 10px;
    animation-name: alternate;
    animation-duration: 3s;
    animation-iteration-count: infinite;
}
@keyframes alternate {
    0% {
        width: .1em;
        height: .1em;
        background: var(--loading-background-s1);
    }
    10% {
        width: 3em;
        height: 3em;
        background: var(--loading-background-s2);
    }
    20% {
        width: 3em;
        height: 3em;
        border-radius: 0;
        transform: rotate(135deg);
        background: var(--loading-background-s3);
    }
    30% {
        width: 2em;
        height: 2em;
        border-radius: 0;
        background: var(--loading-background-s4);
    }
    40% {
        width: 2em;
        height: 2em;
        border-radius: 25%;
        transform: rotate3d(1,1,0,180deg);
        background: var(--loading-background-s5);
    }
    50% {
        border-radius: 50%;
    }
    60% {
        width: 2.5em;
        height: 2.5em;
        border-radius: 50%;
        transform: rotate3d(1,0,0,180deg);
        background: var(--loading-background-s5);
    }
    70% {
        transform: rotate(225deg);
        background: var(--loading-background-s4);
    }
    80% {
        border-radius: 0;
        transform: rotate(270deg);
        background: var(--loading-background-s3);
    }
    90% {
        width: 3em;
        height: 3em;
        background: var(--loading-background-s2);
    }
    100% {
        width: .1em;
        height: .1em;
        background: var(--loading-background-s1);
    }
}