@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-20px);
    }

    100% {
        transform: translateY(0px);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
    opacity: 0;
    /* Start hidden */
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}

.delay-100 {
    animation-delay: 0.1s;
}

.delay-200 {
    animation-delay: 0.2s;
}

.delay-300 {
    animation-delay: 0.3s;
}

@keyframes pulse-green {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
    }

    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 15px rgba(34, 197, 94, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
    }
}

.animate-pulse-green {
    animation: pulse-green 2s infinite;
}

@keyframes label-slide {

    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(-5px);
    }
}

.animate-label-slide {
    animation: label-slide 3s ease-in-out infinite;
}

@-webkit-keyframes pulse-red {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(227, 28, 35, 0.7);
    }

    70% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(227, 28, 35, 0);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(227, 28, 35, 0);
    }
}

@keyframes pulse-red {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(227, 28, 35, 0.7);
    }

    70% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(227, 28, 35, 0);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(227, 28, 35, 0);
    }
}

.animate-pulse-red {
    -webkit-animation: pulse-red 2s infinite;
    animation: pulse-red 2s infinite;
}

@-webkit-keyframes shine {
    0% {
        left: -100%;
    }

    20% {
        left: 100%;
    }

    100% {
        left: 100%;
    }
}

@keyframes shine {
    0% {
        left: -100%;
    }

    20% {
        left: 100%;
    }

    100% {
        left: 100%;
    }
}

.shine-effect {
    position: relative;
    overflow: hidden;
}

.shine-effect::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -100%;
    width: 60px;
    height: 200%;
    background: rgba(255, 255, 255, 0.4);
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    -webkit-animation: shine 4s infinite;
    animation: shine 4s infinite;
}

@-webkit-keyframes pulse-yellow {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 204, 0, 0.7);
    }

    70% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        box-shadow: 0 0 0 15px rgba(255, 204, 0, 0);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 204, 0, 0);
    }
}

@keyframes pulse-yellow {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 204, 0, 0.7);
    }

    70% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        box-shadow: 0 0 0 15px rgba(255, 204, 0, 0);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 204, 0, 0);
    }
}

.animate-pulse-yellow {
    -webkit-animation: pulse-yellow 2s infinite;
    animation: pulse-yellow 2s infinite;
}

html {
    scroll-behavior: smooth;
}