.funny-container {
    position: relative;
    display: inline-block;
    font-size: 3rem;
    font-weight: bold;
    margin-top: 100px;
}

.funny-text {
    display: inline-block;
    position: relative;
    animation: colorChange 4s ease-in-out infinite;
}

.funny-ball {
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: red;
    animation: ballColorChange 4s ease-in-out infinite;
    transition: top 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), left 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

@keyframes colorChange {
    0% {
        color: blue;
    }

    25% {
        color: orange;
    }

    50% {
        color: red;
    }

    75% {
        color: yellow;
    }
    
    100% {
        color: blue;
    }
}

@keyframes ballColorChange {
    0% {
        background-color: red;
    }

    25% {
        background-color: blue;
    }

    50% {
        background-color: orange;
    }

    75% {
        background-color: yellow;
    }
    
    100% {
        background-color: red;
    }
}

@keyframes letterBounce {

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

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

.funny-text span.bounce {
    display: inline-block;
    animation: letterBounce 0.5s;
}

@keyframes ballBounce {

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

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


}

@media (max-width: 600px) {
    .funny-container {
        font-size: 2rem;
        margin-left: 100px;
        height: auto;
    }

    .funny-ball {
        width: 15px;
        height: 15px;
    }
}