/* 页面加载动画样式文件，负责在首页和登录页显示统一的加载动画。 */
body.page-loading {
    overflow: hidden;
    background: #ffffff !important;
}

.page-loading > *:not(.page-loader) {
    visibility: hidden;
}

.page-loading .page-loader {
    visibility: visible;
}

.page-loader {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    z-index: 9999;
    overflow: hidden;
    transition: opacity .28s ease, visibility .28s ease;
}

.page-loader.is-leaving {
    opacity: 0;
    visibility: hidden;
}

.page-loader-inner {
    position: relative;
    transform: scale(.85);
    text-align: center;
    user-select: none;
    cursor: default;
}

.page-loader-text {
    position: absolute;
    left: -1.3em;
    top: -1.7em;
    color: #f2f2f2;
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 400;
    animation: loader-text 2s infinite;
}

.page-loader-vertical {
    position: absolute;
    top: -1.84em;
    left: -0.4em;
    transform: rotate(90deg);
}

.page-loader-horizontal {
    position: absolute;
    top: 0;
    left: 0;
}

.page-loader-circlesup {
    position: absolute;
    top: -4.7em;
    right: 12.1em;
}

.page-loader-circlesdwn {
    position: absolute;
    top: 2.5em;
    right: -13.5em;
    transform: rotate(180deg);
}

.page-loader-circle {
    position: absolute;
    width: 15em;
    height: 15em;
    transform: rotate(45deg);
    animation: loader-orbit 2s infinite;
    z-index: 5;
}

.page-loader-circle::after {
    content: '';
    position: absolute;
    width: 2em;
    height: 2em;
    border-radius: 100%;
    background: #13A3A5;
}

.page-loader-circle:nth-child(2) {
    animation-delay: 100ms;
    z-index: 4;
}

.page-loader-circle:nth-child(2)::after {
    background: #56bebf;
    transform: scale(0.8);
}

.page-loader-circle:nth-child(3) {
    animation-delay: 225ms;
    z-index: 3;
}

.page-loader-circle:nth-child(3)::after {
    background: #ffa489;
    transform: scale(0.6);
}

.page-loader-circle:nth-child(4) {
    animation-delay: 350ms;
    z-index: 2;
}

.page-loader-circle:nth-child(4)::after {
    background: #ff6d37;
    transform: scale(0.4);
}

.page-loader-circle:nth-child(5) {
    animation-delay: 475ms;
    z-index: 1;
}

.page-loader-circle:nth-child(5)::after {
    background: #DB2F00;
    transform: scale(0.2);
}

@keyframes loader-orbit {
    0% { transform: rotate(45deg); }
    5% {
        transform: rotate(45deg);
        animation-timing-function: ease-out;
    }
    70% {
        transform: rotate(405deg);
        animation-timing-function: ease-in;
    }
    100% { transform: rotate(405deg); }
}

@keyframes loader-text {
    0% {
        transform: scale(0.2);
        animation-timing-function: ease-out;
    }
    50% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
    60% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
    100% { transform: scale(0.2); }
}

@media (max-width: 640px) {
    .page-loader-inner {
        transform: scale(.6);
    }
}