/* ----------------------------------------------
 * Generated by Animista on 2025-2-9 9:56:53
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation jello-horizontal
 * ----------------------------------------
 */
 @-webkit-keyframes jello-horizontal {
	0% {
	  -webkit-transform: scale3d(1, 1, 1);
			  transform: scale3d(1, 1, 1);
	}
	30% {
	  -webkit-transform: scale3d(1.25, 0.75, 1);
			  transform: scale3d(1.25, 0.75, 1);
	}
	40% {
	  -webkit-transform: scale3d(0.75, 1.25, 1);
			  transform: scale3d(0.75, 1.25, 1);
	}
	50% {
	  -webkit-transform: scale3d(1.15, 0.85, 1);
			  transform: scale3d(1.15, 0.85, 1);
	}
	65% {
	  -webkit-transform: scale3d(0.95, 1.05, 1);
			  transform: scale3d(0.95, 1.05, 1);
	}
	75% {
	  -webkit-transform: scale3d(1.05, 0.95, 1);
			  transform: scale3d(1.05, 0.95, 1);
	}
	100% {
	  -webkit-transform: scale3d(1, 1, 1);
			  transform: scale3d(1, 1, 1);
	}
  }
  @keyframes jello-horizontal {
	0% {
	  -webkit-transform: scale3d(1, 1, 1);
			  transform: scale3d(1, 1, 1);
	}
	30% {
	  -webkit-transform: scale3d(1.25, 0.75, 1);
			  transform: scale3d(1.25, 0.75, 1);
	}
	40% {
	  -webkit-transform: scale3d(0.75, 1.25, 1);
			  transform: scale3d(0.75, 1.25, 1);
	}
	50% {
	  -webkit-transform: scale3d(1.15, 0.85, 1);
			  transform: scale3d(1.15, 0.85, 1);
	}
	65% {
	  -webkit-transform: scale3d(0.95, 1.05, 1);
			  transform: scale3d(0.95, 1.05, 1);
	}
	75% {
	  -webkit-transform: scale3d(1.05, 0.95, 1);
			  transform: scale3d(1.05, 0.95, 1);
	}
	100% {
	  -webkit-transform: scale3d(1, 1, 1);
			  transform: scale3d(1, 1, 1);
	}
  }

  /* ----------------------------------------------
 * Generated by Animista on 2025-2-9 10:1:30
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation heartbeat
 * ----------------------------------------
 */
@-webkit-keyframes heartbeat {
	from {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	  -webkit-transform-origin: center center;
			  transform-origin: center center;
	  -webkit-animation-timing-function: ease-out;
			  animation-timing-function: ease-out;
	}
	10% {
	  -webkit-transform: scale(0.91);
			  transform: scale(0.91);
	  -webkit-animation-timing-function: ease-in;
			  animation-timing-function: ease-in;
	}
	17% {
	  -webkit-transform: scale(0.98);
			  transform: scale(0.98);
	  -webkit-animation-timing-function: ease-out;
			  animation-timing-function: ease-out;
	}
	33% {
	  -webkit-transform: scale(0.87);
			  transform: scale(0.87);
	  -webkit-animation-timing-function: ease-in;
			  animation-timing-function: ease-in;
	}
	45% {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	  -webkit-animation-timing-function: ease-out;
			  animation-timing-function: ease-out;
	}
  }
  @keyframes heartbeat {
	from {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	  -webkit-transform-origin: center center;
			  transform-origin: center center;
	  -webkit-animation-timing-function: ease-out;
			  animation-timing-function: ease-out;
	}
	10% {
	  -webkit-transform: scale(0.91);
			  transform: scale(0.91);
	  -webkit-animation-timing-function: ease-in;
			  animation-timing-function: ease-in;
	}
	17% {
	  -webkit-transform: scale(0.98);
			  transform: scale(0.98);
	  -webkit-animation-timing-function: ease-out;
			  animation-timing-function: ease-out;
	}
	33% {
	  -webkit-transform: scale(0.87);
			  transform: scale(0.87);
	  -webkit-animation-timing-function: ease-in;
			  animation-timing-function: ease-in;
	}
	45% {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	  -webkit-animation-timing-function: ease-out;
			  animation-timing-function: ease-out;
	}
  }
/* ----------------------------------------------
 * Generated by Animista on 2025-2-9 10:2:52
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation pulsate-bck
 * ----------------------------------------
 */
 @-webkit-keyframes pulsate-bck {
	0% {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	}
	50% {
	  -webkit-transform: scale(0.9);
			  transform: scale(0.9);
	}
	100% {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	}
  }
  @keyframes pulsate-bck {
	0% {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	}
	50% {
	  -webkit-transform: scale(0.9);
			  transform: scale(0.9);
	}
	100% {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	}
  }
/* ----------------------------------------------
 * Generated by Animista on 2025-2-9 17:52:43
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation vibrate-2
 * ----------------------------------------
 */
 @-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);
	}
  }
  /* ----------------------------------------------
 * Generated by Animista on 2025-2-9 17:57:26
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation shake-vertical
 * ----------------------------------------
 */
@-webkit-keyframes shake-vertical {
	0%,
	100% {
	  -webkit-transform: translateY(0);
			  transform: translateY(0);
	}
	10%,
	30%,
	50%,
	70% {
	  -webkit-transform: translateY(-8px);
			  transform: translateY(-8px);
	}
	20%,
	40%,
	60% {
	  -webkit-transform: translateY(8px);
			  transform: translateY(8px);
	}
	80% {
	  -webkit-transform: translateY(6.4px);
			  transform: translateY(6.4px);
	}
	90% {
	  -webkit-transform: translateY(-6.4px);
			  transform: translateY(-6.4px);
	}
  }
  @keyframes shake-vertical {
	0%,
	100% {
	  -webkit-transform: translateY(0);
			  transform: translateY(0);
	}
	10%,
	30%,
	50%,
	70% {
	  -webkit-transform: translateY(-8px);
			  transform: translateY(-8px);
	}
	20%,
	40%,
	60% {
	  -webkit-transform: translateY(8px);
			  transform: translateY(8px);
	}
	80% {
	  -webkit-transform: translateY(6.4px);
			  transform: translateY(6.4px);
	}
	90% {
	  -webkit-transform: translateY(-6.4px);
			  transform: translateY(-6.4px);
	}
  }
/* ----------------------------------------------
 * Generated by Animista on 2025-2-9 18:0:47
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation shake-tl
 * ----------------------------------------
 */
 @-webkit-keyframes shake-tl {
	0%,
	100% {
	  -webkit-transform: rotate(0deg);
			  transform: rotate(0deg);
	  -webkit-transform-origin: 0 0;
			  transform-origin: 0 0;
	}
	10% {
	  -webkit-transform: rotate(2deg);
			  transform: rotate(2deg);
	}
	20%,
	40%,
	60% {
	  -webkit-transform: rotate(-4deg);
			  transform: rotate(-4deg);
	}
	30%,
	50%,
	70% {
	  -webkit-transform: rotate(4deg);
			  transform: rotate(4deg);
	}
	80% {
	  -webkit-transform: rotate(-2deg);
			  transform: rotate(-2deg);
	}
	90% {
	  -webkit-transform: rotate(2deg);
			  transform: rotate(2deg);
	}
  }
  @keyframes shake-tl {
	0%,
	100% {
	  -webkit-transform: rotate(0deg);
			  transform: rotate(0deg);
	  -webkit-transform-origin: 0 0;
			  transform-origin: 0 0;
	}
	10% {
	  -webkit-transform: rotate(2deg);
			  transform: rotate(2deg);
	}
	20%,
	40%,
	60% {
	  -webkit-transform: rotate(-4deg);
			  transform: rotate(-4deg);
	}
	30%,
	50%,
	70% {
	  -webkit-transform: rotate(4deg);
			  transform: rotate(4deg);
	}
	80% {
	  -webkit-transform: rotate(-2deg);
			  transform: rotate(-2deg);
	}
	90% {
	  -webkit-transform: rotate(2deg);
			  transform: rotate(2deg);
	}
  }
  /* ----------------------------------------------
 * Generated by Animista on 2025-6-15 10:14:47
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation shake-br
 * ----------------------------------------
 */
@-webkit-keyframes shake-br {
  0%,
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
  }
  10% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg);
  }
  20%,
  40%,
  60% {
    -webkit-transform: rotate(-4deg);
            transform: rotate(-4deg);
  }
  30%,
  50%,
  70% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg);
  }
  80% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
  90% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg);
  }
}
@keyframes shake-br {
  0%,
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
  }
  10% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg);
  }
  20%,
  40%,
  60% {
    -webkit-transform: rotate(-4deg);
            transform: rotate(-4deg);
  }
  30%,
  50%,
  70% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg);
  }
  80% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
  90% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg);
  }
}
