#newsLoader{
    position:fixed;
    inset:0;
    z-index:99999;
    background:#fdfcf9;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    transition:.6s ease;
}

#newsLoader.hide{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

#newsLoader::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:
    repeating-linear-gradient(
        0deg,
        rgba(0,0,0,.02) 0px,
        rgba(0,0,0,.02) 1px,
        transparent 1px,
        transparent 3px
    );
}

.loader-inner{
    width:340px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:22px;
    position:relative;
}

.loader-logo{
    display:flex;
    gap:4px;
}

.loader-logo span{
    font-size:72px;
    font-weight:900;
    line-height:1;
    opacity:0;
    transform:translateY(20px);
    animation:logoIn .5s forwards;
}

.loader-logo .g{
    color:#2d8c57;
}

.loader-logo span:last-child{
    animation-delay:.2s;
}

@keyframes logoIn{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.loader-subtitle{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:4px;
    color:#777;
}

.loader-rule{
    width:100%;
    height:3px;
    background:#111;
    overflow:hidden;
    position:relative;
}

.loader-rule::after{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    background:#2d8c57;
    left:-100%;
    animation:slide 1.5s infinite;
}

@keyframes slide{
    0%{left:-100%}
    60%{left:100%}
    100%{left:100%}
}

.loader-headline{
    min-height:24px;
    font-style:italic;
    color:#666;
    font-size:14px;
}

.loader-dots{
    display:flex;
    gap:8px;
}

.loader-dots span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#d5d5d5;
    animation:pulse 1.2s infinite;
}

.loader-dots span:nth-child(2){animation-delay:.15s;}
.loader-dots span:nth-child(3){animation-delay:.3s;}
.loader-dots span:nth-child(4){animation-delay:.45s;}
.loader-dots span:nth-child(5){animation-delay:.6s;}

@keyframes pulse{
    0%,60%,100%{
        transform:scale(1);
        background:#d5d5d5;
    }
    30%{
        transform:scale(1.4);
        background:#2d8c57;
    }
}

.loader-stamp{
    position:absolute;
    bottom:30px;
    right:30px;
    border:1px solid #ddd;
    padding:6px 12px;
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#999;
    transform:rotate(-4deg);
}