/* Animations for krub.dev portfolio */

@keyframes gradientShift {
    0% {
        background-position: 0% 50%;
    }

    25% {
        background-position: 50% 75%;
    }

    50% {
        background-position: 100% 50%;
    }

    75% {
        background-position: 50% 25%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInFromLemon {
    0% {
        opacity: 0;
        transform: scale(0.3) translateY(10px) translateX(10px);
    }

    50% {
        opacity: 0.7;
        transform: scale(0.8) translateY(5px) translateX(5px);
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0) translateX(0);
    }
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-10px);
    }

    60% {
        transform: translateY(-5px);
    }
}

@keyframes nameGlow {
    0% {
        text-shadow: var(--name-shadow);
        transform: scale(1);
    }

    100% {
        text-shadow: var(--name-shadow-glow);
        transform: scale(1.005);
    }
}

@keyframes blink {

    0%,
    50% {
        opacity: 1;
    }

    51%,
    100% {
        opacity: 0;
    }
}

@keyframes float {
    0% {
        transform: translateY(100vh) translateX(0px) rotate(0deg);
        opacity: 0;
    }

    10% {
        opacity: 0.4;
    }

    90% {
        opacity: 0.4;
    }

    100% {
        transform: translateY(-100px) translateX(100px) rotate(360deg);
        opacity: 0;
    }
}