@keyframes loading_off {
    0% {opacity: 1;top: 0px;}
    99% {opacity: 0;top: 0px;}
    100% {top: -100vh;}
}
#loading.off {
    top: -100%;
    opacity: 0;
	animation-name: loading_off;
	animation-duration: 1s;
    z-index: 9;
}
#loading.out {
	display: none;
}
#loading {
    background-color: #63686C;
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: 150;
}
#loading .logo {
	display: block;
    aspect-ratio: 1206 / 573;
    -webkit-mask: url(dvec.svg) center/contain no-repeat;
    mask: url(dvec.svg) center/contain no-repeat;
    width: 101.5px;
    background: #FFFFFF;
    position: absolute;
    top: 66px;
    left: 14px;
}
#loading .circle {
    width: 24px;
    aspect-ratio: 1 / 1;
    position: absolute;
    bottom: 153px;
    right: 20px;
}
#loading .circle:before {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: 100%;
    content: "";
    border-left: 2px solid rgba(255,255,255,0.10);
    border-right: 2px solid rgba(255,255,255,0.10);
    border-bottom: 2px solid rgba(255,255,255,0.10);
    border-top: 2px solid rgba(255,255,255,0.10);
}
@keyframes loading {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}
#loading .circle .line {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
	animation-name: loading;
    animation-duration: 0.8s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
#loading .circle .line:before {
    width: 50%;
    height: 50%;
    position: absolute;
    top: 0px;
    right: 0px;
    content: "";
    border-left: 2px none #FFFFFF;
    border-right: 2px solid #FFFFFF;
    border-bottom: 2px none #FFFFFF;
    border-top: 2px solid #FFFFFF;
    border-top-right-radius: 100%;
}
/***********************************************/ 
@media only screen and (min-width:768px) {
main {
	position: relative;
}
	
#loading.out {
	display: block;
}
#loading .logo{
    width: 14.7rem;
    top: 7rem;
    left: 7rem;
}
#loading .circle {
    width: 2.8rem;
    bottom: 3.9rem;
    right: 3.9rem;
}
@keyframes loading_off {
    0% {opacity: 1;top: 0px;}
    100% {opacity: 1;top: 0px;}
}
#loading.off {
    background-color: rgba(99,104,108,0.00);
	pointer-events: none;
	position: absolute;
    top: 0%;
    opacity: 1;
}
#loading.off .circle {
	display: none;
}
#loading.off .logo {
	background-color: var(--font_color);
	width: 5.9rem;
    left: 6.8rem;
	transition: 0.3s all;
	pointer-events: auto;
}
body.black #loading.off .logo {
	filter: invert(1);
}
}