@mixin eui-anim--buzz {
    @include hacks();

    @keyframes eui-anim--buzz {
        10% {
            transform: translateX(3px) rotate(2deg);
        }

        20% {
            transform: translateX(-3px) rotate(-2deg);
        }

        30% {
            transform: translateX(3px) rotate(2deg);
        }

        40% {
            transform: translateX(-3px) rotate(-2deg);
        }

        50% {
            transform: translateX(2px) rotate(1deg);
        }

        60% {
            transform: translateX(-2px) rotate(-1deg);
        }

        70% {
            transform: translateX(2px) rotate(1deg);
        }

        80% {
            transform: translateX(-2px) rotate(-1deg);
        }

        90% {
            transform: translateX(1px) rotate(0);
        }

        100% {
            transform: translateX(-1px) rotate(0);
        }
    }

    &:hover,
	&:focus,
	&:active {
        animation-name: eui-anim--buzz;
        animation-duration: v(eui-base-animation-duration-medium);
        animation-timing-function: linear;
        animation-iteration-count: 1;
	}
}
