.vibrate-2 {
	-webkit-animation: vibrate-2 2s linear infinite both;
	        animation: vibrate-2 2s linear infinite both;
            animation-duration: 2;
            animation-iteration-count: infinite;
}
@-webkit-keyframes vibrate-2 {
    0% {
      -webkit-transform: translate(0);
              transform: translate(0);
    }
    20% {
      -webkit-transform: translate(2px, -2px);
              transform: translate(2px, -2px);
    }
    40% {
      -webkit-transform: translate(2px, 2px);
              transform: translate(2px, 2px);
    }
    60% {
      -webkit-transform: translate(-2px, 2px);
              transform: translate(-2px, 2px);
    }
    80% {
      -webkit-transform: translate(-2px, -2px);
              transform: translate(-2px, -2px);
    }
    100% {
      -webkit-transform: translate(0);
              transform: translate(0);
    }
  }
  @keyframes vibrate-2 {
    0% {
      -webkit-transform: translate(0);
              transform: translate(0);
    }
    20% {
      -webkit-transform: translate(2px, -2px);
              transform: translate(2px, -2px);
    }
    40% {
      -webkit-transform: translate(2px, 2px);
              transform: translate(2px, 2px);
    }
    60% {
      -webkit-transform: translate(-2px, 2px);
              transform: translate(-2px, 2px);
    }
    80% {
      -webkit-transform: translate(-2px, -2px);
              transform: translate(-2px, -2px);
    }
    100% {
      -webkit-transform: translate(0);
              transform: translate(0);
    }
  }
  
  :root {
      --animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      --animation-duration: 1s;
    }
    
    @-webkit-keyframes slideInUp {
      0% {
        opacity: 0;
        transform: translateY(25%);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    
    @keyframes slideInUp {
      0% {
        opacity: 0;
        transform: translateY(25%);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @-webkit-keyframes slideInDown {
      0% {
        opacity: 0;
        transform: translateY(-25%);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @keyframes slideInDown {
      0% {
        opacity: 0;
        transform: translateY(-25%);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @-webkit-keyframes slideInleft {
      0% {
        opacity: 0;
        transform: translateX(25%);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @keyframes slideInleft {
      0% {
        opacity: 0;
        transform: translateX(25%);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @-webkit-keyframes slideInRight {
      0% {
        opacity: 0;
        transform: translateX(-25%);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @keyframes slideInRight {
      0% {
        opacity: 0;
        transform: translateX(-25%);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @-webkit-keyframes fadeIn {
      0% {
        opacity: 0;
      }
      100% {
        opacity: 1;
      }
    }
    @keyframes fadeIn {
      0% {
        opacity: 0;
      }
      100% {
        opacity: 1;
      }
    }
    @-webkit-keyframes zoomIn {
      0% {
        opacity: 0;
        transform: scale(0.75);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @keyframes zoomIn {
      0% {
        opacity: 0;
        transform: scale(0.75);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @-webkit-keyframes zoomReverseIn {
      0% {
        opacity: 0;
        transform: scale(1.25);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @keyframes zoomReverseIn {
      0% {
        opacity: 0;
        transform: scale(1.25);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @-webkit-keyframes flipInY {
      0% {
        opacity: 0;
        transform: perspective(90vw) rotateY(67.5deg);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    @keyframes flipInY {
      0% {
        opacity: 0;
        transform: perspective(90vw) rotateY(67.5deg);
      }
      100% {
        opacity: 1;
        transform: none;
      }
    }
    [data-animation] {
      opacity: 0;
      -webkit-animation-timing-function: var(--animation-timing-function);
              animation-timing-function: var(--animation-timing-function);
      -webkit-animation-fill-mode: both;
              animation-fill-mode: both;
      -webkit-animation-duration: var(--animation-duration);
              animation-duration: var(--animation-duration);
      will-change: transform, opacity;
    }
    
    .animations-disabled,
    .animations-disabled [data-animation] {
      -webkit-animation: none !important;
              animation: none !important;
      opacity: 1 !important;
    }
    
    .slideInUp {
      -webkit-animation-name: slideInUp;
              animation-name: slideInUp;
    }
    
    .slideInDown {
      -webkit-animation-name: slideInDown;
              animation-name: slideInDown;
    }
    
    .slideInLeft {
      -webkit-animation-name: slideInleft;
              animation-name: slideInleft;
    }
    
    .slideInRight {
      -webkit-animation-name: slideInRight;
              animation-name: slideInRight;
    }
    
    .fadeIn {
      -webkit-animation-name: fadeIn;
              animation-name: fadeIn;
    }
    
    .zoomIn {
      -webkit-animation-name: zoomIn;
              animation-name: zoomIn;
    }
    
    .zoomReverseIn {
      -webkit-animation-name: zoomReverseIn;
              animation-name: zoomReverseIn;
    }
    
    .flipInY {
      -webkit-animation-name: flipInY;
              animation-name: flipInY;
    }
    
    .flipOutY {
      -webkit-animation-name: flipInY;
              animation-name: flipInY;
      animation-direction: reverse;
    }

    .heartbeat {
      -webkit-animation: heartbeat 1.5s ease-in-out infinite both;
              animation: heartbeat 1.5s ease-in-out infinite both;
    }
    

    .scale-in-center {
      -webkit-animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
              animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    }

@-webkit-keyframes scale-in-center {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes scale-in-center {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}