/* ============================
      PREMIUM LOADER
============================ */

body.loading{

    overflow:hidden;

}

#loader{

    position:fixed;

    inset:0;

    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #f8ffff 30%,
        #eefcff 70%,
        #e0fcff 100%
    );

    display:flex;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    z-index:999999;

    overflow:hidden;

}

/* Background */

.loader-bg{

    position:absolute;

    inset:0;

}

.loader-bg span{

    position:absolute;

    border-radius:50%;

    filter:blur(70px);

    opacity:.35;

}

.loader-bg span:nth-child(1){

    width:600px;
    height:600px;

    background:#E12428;
    opacity:.15;

    left:-120px;

    top:-120px;

}

.loader-bg span:nth-child(2){

    width:700px;
    height:700px;

    background:#222558;
    opacity:.18;

    right:-180px;

    bottom:-180px;

}

.loader-bg span:nth-child(3){

    width:420px;
    height:420px;

    background:#e0fcff;
    opacity:.35;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

}

/* Rings */

.ring{

    position:absolute;

    border-radius:50%;

    border:1px solid rgba(34,37,88,.08);

}

.ring1{

    width:420px;

    height:420px;

}

.ring2{

    width:520px;

    height:520px;

}

.ring3{

    width:640px;

    height:640px;

}

/* Logo */

.logo-wrapper{

    position:relative;

    width: 480px;

    z-index:5;
    overflow: hidden; 
    border-radius: 12px;

}

.loader-logo{

    width:100%;

    display:block;

    position:relative;

    z-index:4;

    filter:drop-shadow(0 15px 35px rgba(34,37,88,.12));

}

.logo-glow{
    display:none;

    position:absolute;

    width: 500px;

    height: 500px;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(225,36,40,.12),
        rgba(34,37,88,.10),
        rgba(224,252,255,.18),
        transparent 75%
    );


    filter:blur(50px);
    opacity:.15;

}

/* Shine */

.shine{

    position:absolute;

    top:0;

    left:-120%;

    width:90px;

    height:100%;

    background:linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.95),

        transparent

    );

    transform:skewX(-25deg);

    z-index:6;

}

/* Loading */

.loading-text{

    margin-top:45px;

    font-size:34px;

    font-weight:700;

    color:var(--secondary-color);

    font-family:var(--heading-font);

    letter-spacing:2px;

}

.progress{

    width:260px;

    height:5px;

    margin-top:18px;

    border-radius:50px;

    background:#d8eef2;

    overflow:hidden;

}

.progress-fill{

    width:0%;

    height:100%;

    border-radius:50px;

    background:linear-gradient(
        90deg,
        var(--secondary-color),
        var(--primary-color)
    );

}

/* Particle Layer */

#particles{

    position:absolute;

    inset:0;

    pointer-events:none;

}

/* Mobile */

@media(max-width:768px){

.logo-wrapper{

width:260px;

}

.ring1{

width:320px;
height:320px;

}

.ring2{

width:420px;
height:420px;

}

.ring3{

width:520px;
height:520px;

}

.loading-text{

font-size:24px;

}

.progress{

width:220px;

}

}

/*=========================
    PARTICLE CANVAS
=========================*/

#particleCanvas{

position:absolute;

inset:0;

width:100%;

height:100%;

pointer-events:none;

z-index:2;

}
