/* Hero Section Animations */
.hero .overlay {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 1s ease forwards;
}

.hero .overlay h1 {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 1s ease 0.3s forwards;
}

.hero .overlay p {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 1s ease 0.6s forwards;
}

.hero .overlay button {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 1s ease 0.9s forwards;
}

/* Event Categories Animations */
.category-card {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.5s ease;
}

.category-card.animate {
    opacity: 1;
    transform: translateY(0);
}

.category-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.category-img {
    transition: transform 0.5s ease;
}

.category-card:hover .category-img {
    transform: scale(1.05);
}

/* About Section Animations */
.about-container {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease;
}

.about-container.animate {
    opacity: 1;
    transform: translateY(0);
}

.about-img {
    overflow: hidden;
}

.about-img img {
    transition: transform 0.8s ease;
}

.about-container:hover .about-img img {
    transform: scale(1.05);
}

.stat-item {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease;
}

.stat-item.animate {
    opacity: 1;
    transform: translateY(0);
}

/* Contact Section Animations */
.contact-container {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease;
}

.contact-container.animate {
    opacity: 1;
    transform: translateY(0);
}

.contact-item {
    opacity: 0;
    transform: translateX(-20px);
    transition: all 0.5s ease;
}

.contact-item.animate {
    opacity: 1;
    transform: translateX(0);
}

.contact-form {
    opacity: 0;
    transform: translateX(20px);
    transition: all 0.5s ease;
}

.contact-form.animate {
    opacity: 1;
    transform: translateX(0);
}

/* Form Input Animations */
.form-group input,
.form-group textarea {
    transition: all 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* Button Animations */
.submit-btn {
    transition: all 0.3s ease;
}

.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Keyframe Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

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

/* Section Title Animations */
.section-title {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s ease;
}

.section-title.animate {
    opacity: 1;
    transform: translateY(0);
} 