/* Fade-in animation for page load */

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/* Slide-up animation for page load and scroll */

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


/* Scale-up animation for images */

@keyframes scaleUp {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}


/* Apply fade-in to main title and nav on page load */

.main-title,
.css-j4a2rg li {
    animation: fadeIn 0.8s ease-in-out forwards;
}


/* Apply slide-up to wedding party header on page load */

.css-117ogzv {
    animation: slideUp 0.8s ease-in-out forwards;
}


/* Apply scale-up to images on page load */

.css-3nax8f {
    animation: scaleUp 0.8s ease-in-out forwards;
}


/* Scroll animation class */

.scroll-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}

.scroll-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}


/* Delay animations for nav items to create a staggered effect */

.css-j4a2rg li:nth-child(1) {
    animation-delay: 0.1s;
}

.css-j4a2rg li:nth-child(2) {
    animation-delay: 0.2s;
}

.css-j4a2rg li:nth-child(3) {
    animation-delay: 0.3s;
}

.css-j4a2rg li:nth-child(4) {
    animation-delay: 0.4s;
}

.css-j4a2rg li:nth-child(5) {
    animation-delay: 0.5s;
}

.css-j4a2rg li:nth-child(6) {
    animation-delay: 0.6s;
}

.css-j4a2rg li:nth-child(7) {
    animation-delay: 0.7s;
}