@keyframes linescroll {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(10px);
    }
}

@keyframes blink {
    50% {
        opacity: 0;
    }
}

@keyframes headerSlideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes rotateText {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes videoPulse {
    0% {
        box-shadow: 0 0 0 0 rgb(0 0 0 / 50%);
    }

    70% {
        box-shadow: 0 0 0 35px rgb(0 0 0 / 0%);
    }

    100% {
        box-shadow: 0 0 0 0 rgb(0 0 0 / 0%);
    }
}

@keyframes scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes scrollReverse {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

@keyframes floatingAnimation {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(10px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes zoomInOut {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes portfolioFade {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroGradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes glowMove {
    from {
        transform: translate(0, 0);
    }

    to {
        transform: translate(-180px, 180px);
    }
}

@keyframes floatBubble {
    0% {
        transform: translate(0, 0);
    }

    25% {
        transform: translate(25px, -30px);
    }

    50% {
        transform: translate(-15px, -55px);
    }

    75% {
        transform: translate(20px, -20px);
    }

    100% {
        transform: translate(0, 0);
    }
}

@keyframes videoPulse2 {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

@keyframes heroGradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes glowMove {
    from {
        transform: translate(0, 0);
    }

    to {
        transform: translate(-180px, 180px);
    }
}

@keyframes floatBubble {
    0% {
        transform: translate(0, 0);
    }

    25% {
        transform: translate(25px, -30px);
    }

    50% {
        transform: translate(-15px, -55px);
    }

    75% {
        transform: translate(20px, -20px);
    }

    100% {
        transform: translate(0, 0);
    }
}