/* Animations */
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}

@keyframes hop {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(30px);
    }

    100% {
        transform: translateY(0px);
    }
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    25% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@keyframes pulse {
    0% {
        transform: scale(100%);
    }

    50% {
        transform: scale(133%);
    }

    100% {
        transform: scale(100%);
    }
}

/* Classes */
.hop {
    animation-name: hop;
    animation-duration: 0.75s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.rotate {
    animation-name: rotate;
    animation-duration: 6s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.blink {
    animation-name: blink;
    animation-duration: 1s;
    animation-delay: 0.2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

.pulse {
    animation-name: pulse;
    animation-duration: 1s;
    animation-delay: 0.2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}
