/* Pulse Animation */
@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.4);
    }
    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(255, 215, 0, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 215, 0, 0);
    }
}

.pulse {
    animation: pulse 2s infinite;
}

.pulse:hover {
    animation: none;
}

/* Float Animation */
@keyframes float {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
    100% {
        transform: translateY(0px);
    }
}

.float-animation {
    animation: float 6s ease-in-out infinite;
}

/* Shine Animation */
@keyframes shine {
    0% {
        left: -100%;
    }
    20% {
        left: 100%;
    }
    100% {
        left: 100%;
    }
}

/* Hover Effects */
.hover-effect:hover i {
    transform: translateX(5px);
}

/* Scroll Animations */
.slide-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}

.slide-left {
    opacity: 0;
    transform: translateX(-30px);
    transition: all 0.6s ease-out;
}

.slide-right {
    opacity: 0;
    transform: translateX(30px);
    transition: all 0.6s ease-out;
}

.slide-up.appear, 
.slide-left.appear, 
.slide-right.appear {
    opacity: 1;
    transform: translateY(0) translateX(0);
}

.scale-animation {
    transform: scale(0.95);
    opacity: 0;
    transition: all 0.6s ease-out;
}

.scale-animation.appear {
    transform: scale(1);
    opacity: 1;
}