.loader {
	background: linear-gradient(-135deg, #000, #000);
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 600ms;
}

.loading .loader {
	opacity: 1;
}

.completed .loader {
	opacity: 0;
	pointer-events: none;
}


.cl-preloader-heavy{
    #viewport {
        opacity: 0;
        perspective: 300px;
        pointer-events: none;
        transition: opacity 600ms;
    }

    #wrapper {
        opacity: 0;
        //transform: translate3d(0, 0, -200px);
        transition: opacity 800ms cubic-bezier(0.19, 1, 0.22, 1), transform 800ms cubic-bezier(0.19, 1, 0.22, 1);
    }
}

.completed .cl-preloader-heavy{
    #viewport{
        opacity: 1;
        pointer-events: auto;
        transition-duration: 0ms;
    }

    #wrapper{
        opacity: 1;
    }
}

.cl-preloader-heavy {
    .pace {
        -webkit-pointer-events: none;
        pointer-events: none;
    
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
    }
    
    .pace-inactive {
        display: none;
    }
    
    .pace .pace-progress {
        background: #fff;
        position: fixed;
        z-index: 2000;
        top: 0;
        right: 100%;
        width: 100%;
        height: 2px;
    }
}

.cl-preloader-lighter{
    
    .loader{
        background: linear-gradient(-135deg, #000, #000);
        bottom: 0;
        left: 0;
        position: fixed;
        right: 0;
        top: 0;
        z-index:9999;
        transition: opacity 600ms;
    }
    &.pace-done .loader{
        opacity:0;
        pointer-events: none;
    }
    .pace {
        -webkit-pointer-events: none;
        pointer-events: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        z-index: 99999;
        width: 100%;
        position: fixed;
        height: 2px;
        top: 50%;
        background: rgba(255,255,255,0.2);
    }
    
    .pace-inactive {
        display: none;
    }
    
    .pace .pace-progress {
        background: #fff;
        position: absolute;
        z-index: 99999;
        top:50%;
        margin-top:-1px;
        right:100%;
        width:100%;
        height: 2px;
    }

    .pace .pace-progress-inner{
        background:#fff;
        opacity:0.2;
    }

    .pace:after{
        content:attr(data-progress-text);
        position:fixed;
        top:50%;
        left:50%;
        background:#000;
        transform:translate(-50%, -50%);
        font-family: DM Sans;
        font-size: 180px;
        font-style: normal;
        font-weight: 700;
        line-height: 160px;
        letter-spacing: -0.04em;
        text-align: center;
        z-index:999999;
        color:#fff;
        @media (max-width:991px){
            font-size:100px;
        }
    }
    .pace-activity{
        position: fixed;
        top: 50%;
        left: 50%;
        margin-top: 140px;
        width: 100%;
        text-align: center;
        font-family: DM Sans;
        font-size: 36px;
        font-style: normal;
        font-weight: 400;
        line-height: 48px;
        letter-spacing: -0.02em;
        text-align: center;
        color: #fff;
        z-index: 99999;
        transform: translate(-50%, -50%);
        @media (max-width:991px){
            font-size:20px;
            margin-top:100px;
        }
    }
}