@keyframes sheen {
  0% {
    transform: skewX(-45deg) translateX(-45em);
  }
  100% {
    transform: skewX(-45deg) translateX(45em);
  }
}

.button-shiny {
  display: inline-block;
  transition: all 0.2s ease-in-out;
  position: relative;
  overflow: hidden;
  z-index: 0;
  &:before {
    content: "";
    background-color: rgba(255,255,255,0.5);
    height: 100%;
    width: 3em;
    display: block;
    position: absolute;
    top: 0;
    left: -4.5em;
    transform: skewX(-45deg) translateX(0);
    transition: none;
  }
  &:hover, &.gif {
    /* background-color: #00cb00; */
    color: #fff;
    /* border-bottom: 4px solid darken(#00cb00, 10%); */
    &:before {
      transform: skewX(-45deg) translateX(33.5em);
     transition: all 0.4s ease-in-out;
    }
  }

}

.gif:before {
    animation-name: sheen;
    animation-duration: 3s;
    animation-delay: 0;
    animation-direction: normal;
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
}

.shaking-btn{
  animation: shake 2s cubic-bezier(.36,.07,.19,.97) infinite;
  transform: translate3d(0, 0, 0);
}

@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);
  }
}

.added-btn{
  background: linear-gradient(to right, #00000030 50%, #00cb000a 50%);
  background-size: 200% 100%;
  background-position: right bottom;
  transition: all .5s ease-out;
}

.added-btn.pressed {
  background-position: left bottom;
}