/*====================================================
        TAGORE COLLEGE PREMIUM LOADER V2
====================================================*/

#tgLoader{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(135deg,#081b3d,#0d2d63,#123d82);
display:flex;
justify-content:center;
align-items:center;
z-index:999999;
overflow:hidden;
transition:.6s;
}

#tgLoader.hide{
opacity:0;
visibility:hidden;
pointer-events:none;
}

#tgLoader::before{
content:"";
position:absolute;
width:550px;
height:550px;
background:rgba(255,255,255,.05);
border-radius:50%;
filter:blur(80px);
animation:bgpulse 6s infinite;
}

#tgLoader::after{
content:"";
position:absolute;
width:350px;
height:350px;
border-radius:50%;
background:rgba(0,170,255,.08);
filter:blur(60px);
animation:bgpulse2 8s infinite;
}

.tgLoaderBox{
position:relative;
width:360px;
height:360px;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
z-index:10;
}

.tgLogo{
width:130px;
height:130px;
background:#fff;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
box-shadow:
0 0 15px rgba(255,255,255,.4),
0 0 40px rgba(0,170,255,.3);
overflow:hidden;
z-index:5;
}

.tgLogo img{
width:100px;
height:100px;
object-fit:contain;
}

.tgRing{
position:absolute;
border-radius:50%;
}

.ring1{
width:185px;
height:185px;
border:5px solid transparent;
border-top:5px solid #00b7ff;
border-right:5px solid #00b7ff;
animation:ring1 1.5s linear infinite;
}

.ring2{
width:235px;
height:235px;
border:5px solid transparent;
border-left:5px solid #ffffff;
border-bottom:5px solid #ffffff;
animation:ring2 2.4s linear infinite;
}

.tgLoaderBox h2{
margin-top:30px;
font-size:30px;
font-weight:700;
letter-spacing:2px;
color:#fff;
font-family:Arial,sans-serif;
text-transform:uppercase;
text-align:center;
}

.tgLoaderBox h4{
margin-top:6px;
font-size:18px;
font-weight:500;
color:#86d7ff;
letter-spacing:1px;
font-family:Arial,sans-serif;
}

#loadingText{
margin-top:18px;
font-size:16px;
font-family:Arial,sans-serif;
color:#fff;
letter-spacing:1px;
}

.tgDots{
display:flex;
margin-top:20px;
gap:10px;
}

.tgDots span{
width:10px;
height:10px;
background:#00b7ff;
border-radius:50%;
animation:dots 1.2s infinite;
}

.tgDots span:nth-child(2){
animation-delay:.2s;
}

.tgDots span:nth-child(3){
animation-delay:.4s;
}

@keyframes ring1{
0%{
transform:rotate(0deg);
}
100%{
transform:rotate(360deg);
}
}

@keyframes ring2{
0%{
transform:rotate(360deg);
}
100%{
transform:rotate(0deg);
}
}

@keyframes dots{
0%,80%,100%{
transform:translateY(0);
opacity:.3;
}
40%{
transform:translateY(-10px);
opacity:1;
}
}

@keyframes bgpulse{
0%{
transform:scale(.8);
opacity:.2;
}
50%{
transform:scale(1.2);
opacity:.5;
}
100%{
transform:scale(.8);
opacity:.2;
}
}

@keyframes bgpulse2{
0%{
transform:scale(1);
}
50%{
transform:scale(.7);
}
100%{
transform:scale(1);
}
}
/*=========================================
        PREMIUM EFFECTS
=========================================*/

.tgLoaderBox{
backdrop-filter:blur(12px);
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.08);
border-radius:25px;
box-shadow:
0 0 50px rgba(0,0,0,.35),
0 0 80px rgba(0,160,255,.12);
padding:35px;
overflow:hidden;
}

.tgLoaderBox::before{
content:"";
position:absolute;
top:-120%;
left:-50%;
width:200%;
height:250%;
background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,.22),
transparent
);
transform:rotate(25deg);
animation:shine 4s linear infinite;
}

@keyframes shine{

0%{
left:-220%;
}

100%{
left:220%;
}

}

/*=========================
PROGRESS BAR
==========================*/

.tgProgress{

width:220px;
height:7px;
margin-top:25px;
background:rgba(255,255,255,.12);
border-radius:30px;
overflow:hidden;
position:relative;

}

.tgProgress::before{

content:"";
position:absolute;
left:-100%;
top:0;
height:100%;
width:100%;
border-radius:30px;
background:linear-gradient(
90deg,
#00b7ff,
#00ffd5,
#00b7ff
);

animation:loadingBar 2s linear infinite;

}

@keyframes loadingBar{

0%{
left:-100%;
}

100%{
left:100%;
}

}

/*=========================
FLOAT PARTICLES
==========================*/

.tgParticle{

position:absolute;
border-radius:50%;
background:rgba(255,255,255,.25);
animation:floatParticle linear infinite;

}

.tgParticle:nth-child(1){

width:7px;
height:7px;
left:10%;
top:80%;
animation-duration:12s;

}

.tgParticle:nth-child(2){

width:10px;
height:10px;
left:22%;
top:100%;
animation-duration:9s;

}

.tgParticle:nth-child(3){

width:5px;
height:5px;
left:45%;
top:95%;
animation-duration:14s;

}

.tgParticle:nth-child(4){

width:8px;
height:8px;
left:70%;
top:105%;
animation-duration:10s;

}

.tgParticle:nth-child(5){

width:12px;
height:12px;
left:86%;
top:92%;
animation-duration:11s;

}

@keyframes floatParticle{

0%{

transform:translateY(0) scale(.5);
opacity:0;

}

20%{

opacity:1;

}

80%{

opacity:.8;

}

100%{

transform:translateY(-120vh) scale(1.3);
opacity:0;

}

}

/*=========================
LOGO GLOW
==========================*/

.tgLogo{

animation:logoGlow 2.5s ease-in-out infinite;

}

@keyframes logoGlow{

0%{

box-shadow:
0 0 20px rgba(255,255,255,.35),
0 0 30px rgba(0,183,255,.25);

}

50%{

box-shadow:
0 0 45px rgba(255,255,255,.6),
0 0 90px rgba(0,183,255,.55);

}

100%{

box-shadow:
0 0 20px rgba(255,255,255,.35),
0 0 30px rgba(0,183,255,.25);

}

}
/*=========================================
        TEXT ANIMATION
=========================================*/

#loadingText{
position:relative;
animation:textFade 2s ease-in-out infinite;
}

@keyframes textFade{

0%{
opacity:.4;
letter-spacing:1px;
}

50%{
opacity:1;
letter-spacing:3px;
}

100%{
opacity:.4;
letter-spacing:1px;
}

}

/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:991px){

.tgLoaderBox{
width:320px;
height:320px;
padding:28px;
}

.ring1{
width:170px;
height:170px;
}

.ring2{
width:215px;
height:215px;
}

.tgLogo{
width:115px;
height:115px;
}

.tgLogo img{
width:88px;
height:88px;
}

.tgLoaderBox h2{
font-size:25px;
}

.tgLoaderBox h4{
font-size:17px;
}

#loadingText{
font-size:15px;
}

.tgProgress{
width:200px;
}

}

@media(max-width:768px){

.tgLoaderBox{
width:280px;
height:280px;
padding:20px;
}

.ring1{
width:145px;
height:145px;
border-width:4px;
}

.ring2{
width:185px;
height:185px;
border-width:4px;
}

.tgLogo{
width:100px;
height:100px;
}

.tgLogo img{
width:75px;
height:75px;
}

.tgLoaderBox h2{
font-size:20px;
letter-spacing:1px;
}

.tgLoaderBox h4{
font-size:15px;
}

#loadingText{
font-size:14px;
}

.tgProgress{
width:170px;
height:6px;
}

.tgDots{
gap:8px;
}

.tgDots span{
width:8px;
height:8px;
}

}

@media(max-width:480px){

.tgLoaderBox{
width:250px;
height:250px;
padding:15px;
}

.ring1{
width:130px;
height:130px;
}

.ring2{
width:165px;
height:165px;
}

.tgLogo{
width:90px;
height:90px;
}

.tgLogo img{
width:68px;
height:68px;
}

.tgLoaderBox h2{
font-size:18px;
}

.tgLoaderBox h4{
font-size:14px;
}

#loadingText{
font-size:13px;
}

.tgProgress{
width:150px;
}

}

/*=========================================
        SMOOTH EXIT
=========================================*/

#tgLoader.hide .tgLoaderBox{

transform:scale(.9);
opacity:0;
transition:.5s;

}

.tgLoaderBox{

transition:.5s;

}

/*=========================================
        PERFORMANCE
=========================================*/

.tgRing,
.tgLogo,
.tgDots span,
.tgLoaderBox,
#loadingText{

will-change:transform,opacity;

}

/* 
body.loading{
overflow:hidden;
}
*/