@keyframes slideInFromLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }

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

@keyframes slideInFromBelow {
    from {
        transform: translateY(100%);
        opacity: 0;
    }

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


/* Vertical animations */
@keyframes move_vertical_1 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
        /* Move up */
    }

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

@keyframes move_vertical_2 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(20px);
        /* Move down */
    }

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

/* Upward animations */
@keyframes move_up_1 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-40px);
        /* Move up */
    }

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

@keyframes move_up_2 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-80px);
        /* Larger move up */
    }

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

/* Downward animations */
@keyframes move_down_1 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(40px);
        /* Move down */
    }

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

@keyframes move_down_2 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(80px);
        /* Larger move down */
    }

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

/* Horizontal animations */
@keyframes move_horizontal_1 {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(-30px);
        /* Move left */
    }

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

@keyframes move_horizontal_2 {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(30px);
        /* Move right */
    }

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

/* Leftward animations */
@keyframes move_left_1 {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(-50px);
        /* Move left */
    }

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

@keyframes move_left_2 {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(-100px);
        /* Larger move left */
    }

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

/* Rightward animations */
@keyframes move_right_1 {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(50px);
        /* Move right */
    }

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

@keyframes move_right_2 {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(100px);
        /* Larger move right */
    }

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

/* Move around animations */
@keyframes move_around_1 {
    0% {
        transform: translateX(0) translateY(0);
    }

    25% {
        transform: translateX(25px) translateY(-25px);
        /* Move diagonally up-right */
    }

    50% {
        transform: translateX(0) translateY(-30px);
        /* Move up */
    }

    75% {
        transform: translateX(-25px) translateY(-25px);
        /* Move diagonally down-left */
    }

    100% {
        transform: translateX(0) translateY(0);
        /* Return to original position */
    }
}

@keyframes move_around_2 {
    0% {
        transform: translateX(0) translateY(0);
    }

    25% {
        transform: translateX(20px) translateY(-20px);
        /* Move diagonally up-right */
    }

    50% {
        transform: translateX(10px) translateY(-20px);
        /* Move up */
    }

    75% {
        transform: translateX(-10px) translateY(-20px);
        /* Move diagonally down-left */
    }

    100% {
        transform: translateX(0) translateY(0);
        /* Return to original position */
    }
}

.move_vertical_1 {
    animation: move_vertical_1 3s ease-in-out infinite;
}

.move_vertical_2 {
    animation: move_vertical_2 3s ease-in-out infinite;
}

.move_up_1 {
    animation: move_up_1 3s ease-in-out infinite;
}

.move_up_2 {
    animation: move_up_2 3s ease-in-out infinite;
}

.move_down_1 {
    animation: move_down_1 3s ease-in-out infinite;
}

.move_down_2 {
    animation: move_down_2 3s ease-in-out infinite;
}

.move_horizontal_1 {
    animation: move_horizontal_1 3s ease-in-out infinite;
}

.move_horizontal_2 {
    animation: move_horizontal_2 3s ease-in-out infinite;
}

.move_left_1 {
    animation: move_left_1 3s ease-in-out infinite;
}

.move_left_2 {
    animation: move_left_2 3s ease-in-out infinite;
}

.move_right_1 {
    animation: move_right_1 3s ease-in-out infinite;
}

.move_right_2 {
    animation: move_right_2 3s ease-in-out infinite;
}

/* Move around animation classes */
.move_around_1 {
    animation: move_around_1 5s ease-in-out infinite;
}

.move_around_2 {
    animation: move_around_2 7s ease-in-out infinite;
}