.animated:hover {
  -webkit-animation-duration: .9s;
  animation-duration: .9s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes bounce {
  0%, 100% {
    -webkit-transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-11px);
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-11px);
  }
}
.bounce:hover {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}
@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}
.shake:hover {
  animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000px;
}
@-webkit-keyframes beat {
  0%, 100% {
    -webkit-transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.15);
  }
}
@keyframes beat {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
}
.beat:hover {
  -webkit-animation-name: beat;
  animation-name: beat;
}
@keyframes colourflip {
  0%, 100% {
    filter: hue-rotate(0deg);
  }
}
.colourflip:hover {
  animation: colourflip 1.82s cubic-bezier(.36,.07,.19,.97) both;
  animation-iteration-count:infinite;
  -webkit-animation-name: colourflip;
  animation-name: colourflip;
}