/* 3D tower loader made by: csozi | Website: www.csozi.hu*/

.spinner-container {
    width: 100vw;
    height: 100vh;
    display: flex;
    position: fixed;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
}

.loader-animate {
    scale: 3;
    width: 40px;
    height: 50px;
}

.loader-box {
    opacity: 0;
    left: 10px;
    position: relative;
}

.side-left {
    width: 19px;
    height: 5px;
    top: 14px;
    left: 10px;
    position: absolute;
    background-color: #286cb5;
    transform: skew(0deg, -25deg);
}

.side-right {
    position: absolute;
    background-color: #2f85e0;
    width: 19px;
    height: 5px;
    transform: skew(0deg, 25deg);
    top: 14px;
    left: -9px;
}

.side-top {
    position: absolute;
    background-color: #5fa8f5;
    width: 20px;
    height: 20px;
    rotate: 45deg;
    transform: skew(-20deg, -20deg);
}

.box-1 {
    animation: from-left 4s infinite;
}

.box-2 {
    animation: from-right 4s infinite;
    animation-delay: 1s;
}

.box-3 {
    animation: from-left 4s infinite;
    animation-delay: 2s;
}

.box-4 {
    animation: from-right 4s infinite;
    animation-delay: 3s;
}

/* 移动端适配 */
@media screen and (max-width: 768px) {
    .side-left,
    .side-right {
        top: 9px;
        width: 12px;
        height: 3px;
    }

    .side-left {
        left: 6px;
    }

    .side-right {
        left: -6px;
    }

    .side-top {
        width: 13px;
        height: 13px;
    }
}

@keyframes from-left {
    0% {
        z-index: 20;
        opacity: 0;
        translate: -20px -6px;
    }

    20% {
        z-index: 10;
        opacity: 1;
        translate: 0px 0px;
    }

    40% {
        z-index: 9;
        translate: 0px 4px;
    }

    60% {
        z-index: 8;
        translate: 0px 8px;
    }

    80% {
        z-index: 7;
        opacity: 1;
        translate: 0px 12px;
    }

    100% {
        z-index: 5;
        translate: 0px 30px;
        opacity: 0;
    }
}

@keyframes from-right {
    0% {
        z-index: 20;
        opacity: 0;
        translate: 20px -6px;
    }

    20% {
        z-index: 10;
        opacity: 1;
        translate: 0px 0px;
    }

    40% {
        z-index: 9;
        translate: 0px 4px;
    }

    60% {
        z-index: 8;
        translate: 0px 8px;
    }

    80% {
        z-index: 7;
        opacity: 1;
        translate: 0px 12px;
    }

    100% {
        z-index: 5;
        translate: 0px 30px;
        opacity: 0;
    }
}
