/* ==========================================================
   GLASGOW LIFE ROLEPLAY
   Animations
========================================================== */

/* ------------------------------
   Hero fade in
------------------------------ */

.hero{
    animation:fadeIn 1.2s ease;
}

@keyframes fadeIn{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ------------------------------
   Scroll indicator bounce
------------------------------ */

.scroll-down{
    position:absolute;
    bottom:35px;
    left:50%;
    transform:translateX(-50%);
    animation:bounce 2s infinite;
}

.scroll-down a{
    color:white;
    font-size:42px;
}

@keyframes bounce{

    0%,20%,50%,80%,100%{
        transform:translateX(-50%) translateY(0);
    }

    40%{
        transform:translateX(-50%) translateY(-12px);
    }

    60%{
        transform:translateX(-50%) translateY(-6px);
    }

}

/* ------------------------------
   Scroll reveal (used with IntersectionObserver in js/animations.js)
------------------------------ */

.fade{
    opacity:0;
    transform:translateY(30px);
    transition:opacity .7s ease, transform .7s ease;
}

.fade.show{
    opacity:1;
    transform:translateY(0);
}

/* ------------------------------
   Hover motion
------------------------------ */

.feature,
.department,
.card{
    transition:.35s;
}

.feature:hover{
    transform:translateY(-3px);
}

.card:hover{
    transform:translateY(-3px);
}

.button:hover,
.btn:hover{
    transform:translateY(-3px);
}

/* ------------------------------
   Scroll to top button
------------------------------ */

.scroll-top{
    opacity:0;
    pointer-events:none;
    transform:translateY(10px);
    transition:.3s;
}

.scroll-top.show{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
}

/* ------------------------------
   Reduced motion
------------------------------ */

@media (prefers-reduced-motion:reduce){
    *{
        animation-duration:0.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.001ms !important;
    }
}
