#loading {
    /* display:none; */
    opacity: 0;
    pointer-events: none;
    user-select: none;
    transition: opacity 1s;
    position:fixed;
    z-index:10;
    background-color: #000;
    width:100vw;
    height:100vh;
    overflow:hidden;
    top:0;
    left:0;
    color:#ddd;
}
#loading.active {
    pointer-events: auto;
    opacity:1;
    
}
#loading > div{
    position:absolute;
    width:300px;
    left:0;
    right:0;
    margin:auto;
    top:50%;
    transform: translateY(-50%);
    text-align: center;
}
#loading > div img{
    display:block;
    margin:auto;
    margin-bottom:10px;
}
.loading-bar{
    width:100%;
    border:2px solid #ddd;
    border-radius: 5px;
    height:30px;
    position: relative;
    padding:5px;
    box-sizing: border-box;
}
.loading-bar__inner{
    width: 0;
    background-color:rgb(0, 195, 255);
    height:100%;
    transition:width .2s;
}