#loopLoader {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;

    z-index: 15;
}

.logos {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100vw;
    bottom: 2rem;
    z-index: 10;
}

.logos > * {
    width: auto;
    height: 6rem;
}

.logos > .funix {
    padding: 0.5rem;
}

.loader, #footstepsLoading {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
}

.loader {
    margin-left: -66px;
    margin-top: -66px;
    border: 6px solid white;
    border-top: 6px solid #333;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

#unityProgress.progress {
    position: fixed;
    left: 0;
    top: 0;
    height: 5px;
    width: 100%;
    z-index: 20;
}

#unityProgress.progress .empty {
    background-color: #eaf1f2;
    float: right;
    width: 100%;
    height: 100%;
    display: inline-block;
}
#unityProgress.progress .full {
    background-color: #87d3d6;
    float: left;
    width: 0%;
    height: 100%;
    display: inline-block;
    margin-top: -5px;
}


.squareLoader {
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    
    width: 80px;
    height: 80px;
    display: inline-block;
    position: relative;
}
.squareLoader img {
    width: 40px;
    margin: 20px;
}
.squareLoader::after, .squareLoader::before {
    content: '';
    width: 80px;
    height: 80px;
    border: 3px solid #a9d0c9;
    position: absolute;
    left: 0;
    top: 0;
    box-sizing: border-box;
    animation: rotation 2s ease-in-out infinite;
}
.squareLoader::after {
    border-color: #87D3D6;
    animation-delay: 1s;
}

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



.penLoader {
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: url(../images/element_box.png) no-repeat;
    background-size: 100% 100%;
    width: 392px;
    height: 76px;
    background-position-x: 0px;
    animation: animatePenBg 5s linear infinite;
    animation-timing-function: cubic-bezier(.75,.04,0,.86);
}

@keyframes animatePenBg{
    0%{
        background-position-x: -335px;
    }
    50%{
        background-position-x: 0px;
    }
    100%{
        background-position-x: -335px;
    }
}
/*
.penLoader:before{
    content: '';
    position: absolute;
    top:0;
    left: 0;
    width:100%;
    height: 100%;
    background: #eee8de;
    animation: animatePen 5s linear infinite;
    animation-timing-function: cubic-bezier(.75,.04,0,.86);

}
.penLoader:after{
    content: '';
    background-image: url(../images/pen.png);
    background-repeat: no-repeat;
    position: absolute;
    top: -81px;
    margin-left: -18px;
    left:0;
    width:82px !important;
    height: 82px;
    animation: animatePen 5s linear infinite;
    transform: translateX(2px);
    animation-timing-function: cubic-bezier(.75,.04,0,.86);
}
*/
@keyframes animatePen{
    0%{
        left:0;
        width: 100%;
    }
    50%{
        left:100%;
        width: 0%;
    }
    100%{
        left: 0;
        width: 100%;
    }
}