@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translateX(-10px);
    }

    20%,
    40%,
    60%,
    80% {
        transform: translateX(10px);
    }
}

button.shake {
    animation: shake 0.8s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
}

button.shake-temporario {
    animation: shake 0.8s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
}

button.shake-temporario {
    animation: shake 0.8s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}