@keyframes float {

    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes fadeUp {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}


/* HERO */

.hero__image {
    animation:
        fadeUp .8s ease-out,
        float 6s ease-in-out .8s infinite;
}

.hero__intro {
    animation: fadeUp .8s ease-out .15s both;
}

.hero__title {
    animation: fadeUp .8s ease-out .25s both;
}

.hero__subtitle {
    animation: fadeUp .8s ease-out .35s both;
}

.hero__description {
    animation: fadeUp .8s ease-out .45s both;
}

.hero__buttons {
    animation: fadeUp .8s ease-out .55s both;
}


/* SCROLL ANIMATIONS */

.reveal {
    opacity: 0;
    transition:
        opacity .8s ease,
        transform .8s ease;
}

.reveal-up {
    transform: translateY(50px);
}

.reveal-left {
    transform: translateX(-60px);
}

.reveal-right {
    transform: translateX(60px);
}

.reveal-scale {
    transform: scale(.9);
}

.reveal.show {
    opacity: 1;
    transform: none;
}


/* Delay */

.delay-1 {
    transition-delay: .15s;
}

.delay-2 {
    transition-delay: .3s;
}

.delay-3 {
    transition-delay: .45s;
}

.delay-4 {
    transition-delay: .6s;
}


/* Accessibilità */

@media (prefers-reduced-motion:reduce) {

    * {
        animation: none !important;
        transition: none !important;
    }

    .reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

@keyframes skillsScroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}


/* card carousel */

@keyframes projectCarouselFade {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    31% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}