/**
 * hover-animations.css
 * Hover.css Animationen (Subset) fuer werkform.at
 *
 * Quelle: Hover.css by Ian Lunn
 * https://ianlunn.github.io/Hover/
 * Lizenz: MIT
 *
 * Eingesetzt auf:
 * - Post 12461 (SVG Icons und Elementor) — Animations-Demo
 *
 * Einbindung:
 * functions.php im Bricks Child Theme:
 * wp_enqueue_style('hover-animations',
 *   get_stylesheet_directory_uri() . '/assets/hover-animations.css'
 * );
 */

/* ==========================================================================
   KEYFRAMES
   ========================================================================== */

@keyframes hvr-pulse-grow {
  to { transform: scale(1.1); }
}
@keyframes hvr-pulse-shrink {
  to { transform: scale(0.9); }
}
@keyframes hvr-push {
  50% { transform: scale(0.8); }
  100% { transform: scale(1); }
}
@keyframes hvr-pop {
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
@keyframes hvr-bounce-in {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
@keyframes hvr-bounce-out {
  0% { transform: scale(1); }
  50% { transform: scale(0.8); }
  100% { transform: scale(1); }
}
@keyframes hvr-grow-rotate {
  0% { transform: scale(1) rotate(0deg); }
  100% { transform: scale(1.15) rotate(3deg); }
}
@keyframes hvr-float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
  100% { transform: translateY(0); }
}
@keyframes hvr-sink {
  0% { transform: translateY(0); }
  50% { transform: translateY(5px); }
  100% { transform: translateY(0); }
}
@keyframes hvr-bob {
  0% { transform: translateY(-5px); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(-5px); }
}
@keyframes hvr-bob-float {
  100% { transform: translateY(-5px); }
}
@keyframes hvr-hang {
  0% { transform: translateY(5px); }
  50% { transform: translateY(2px); }
  100% { transform: translateY(5px); }
}
@keyframes hvr-hang-sink {
  100% { transform: translateY(5px); }
}
@keyframes hvr-wobble-vertical {
  16.65% { transform: translateY(8px); }
  33.3% { transform: translateY(-6px); }
  49.95% { transform: translateY(4px); }
  66.6% { transform: translateY(-2px); }
  83.25% { transform: translateY(1px); }
  100% { transform: translateY(0); }
}
@keyframes hvr-wobble-horizontal {
  16.65% { transform: translateX(8px); }
  33.3% { transform: translateX(-6px); }
  49.95% { transform: translateX(4px); }
  66.6% { transform: translateX(-2px); }
  83.25% { transform: translateX(1px); }
  100% { transform: translateX(0); }
}
@keyframes hvr-wobble-to-bottom-right {
  16.65% { transform: translate(8px, 8px); }
  33.3% { transform: translate(-6px, -6px); }
  49.95% { transform: translate(4px, 4px); }
  66.6% { transform: translate(-2px, -2px); }
  83.25% { transform: translate(1px, 1px); }
  100% { transform: translate(0, 0); }
}
@keyframes hvr-wobble-to-top-right {
  16.65% { transform: translate(8px, -8px); }
  33.3% { transform: translate(-6px, 6px); }
  49.95% { transform: translate(4px, -4px); }
  66.6% { transform: translate(-2px, 2px); }
  83.25% { transform: translate(1px, -1px); }
  100% { transform: translate(0, 0); }
}
@keyframes hvr-wobble-top {
  16.65% { transform: skew(-12deg); }
  33.3% { transform: skew(10deg); }
  49.95% { transform: skew(-6deg); }
  66.6% { transform: skew(4deg); }
  83.25% { transform: skew(-2deg); }
  100% { transform: skew(0); }
}
@keyframes hvr-wobble-bottom {
  16.65% { transform: skew(-12deg); }
  33.3% { transform: skew(10deg); }
  49.95% { transform: skew(-6deg); }
  66.6% { transform: skew(4deg); }
  83.25% { transform: skew(-2deg); }
  100% { transform: skew(0); }
}
@keyframes hvr-wobble-skew {
  16.65% { transform: skew(-12deg); }
  33.3% { transform: skew(10deg); }
  49.95% { transform: skew(-6deg); }
  66.6% { transform: skew(4deg); }
  83.25% { transform: skew(-2deg); }
  100% { transform: skew(0); }
}
@keyframes hvr-buzz {
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(-3px) rotate(-2deg); }
}
@keyframes hvr-buzz-out {
  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); }
}

/* ==========================================================================
   KLASSEN
   ========================================================================== */

/* Grow */
.hvr-grow {
  transition: transform 0.3s ease;
}
.hvr-grow:hover {
  transform: scale(1.1);
}

/* Shrink */
.hvr-shrink {
  transition: transform 0.3s ease;
}
.hvr-shrink:hover {
  transform: scale(0.9);
}

/* Pulse Grow */
.hvr-pulse-grow:hover {
  animation: hvr-pulse-grow 0.3s linear alternate infinite;
}

/* Pulse Shrink */
.hvr-pulse-shrink:hover {
  animation: hvr-pulse-shrink 0.3s linear alternate infinite;
}

/* Push */
.hvr-push:hover {
  animation: hvr-push 0.3s linear;
}

/* Pop */
.hvr-pop:hover {
  animation: hvr-pop 0.3s linear;
}

/* Bounce In */
.hvr-bounce-in {
  transition: transform 0.5s;
}
.hvr-bounce-in:hover {
  transform: scale(1.2);
  transition: transform 0.1s cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Bounce Out */
.hvr-bounce-out {
  transition: transform 0.5s;
}
.hvr-bounce-out:hover {
  transform: scale(0.8);
  transition: transform 0.1s cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Rotate */
.hvr-rotate {
  transition: transform 0.3s ease;
}
.hvr-rotate:hover {
  transform: rotate(4deg);
}

/* Grow Rotate */
.hvr-grow-rotate {
  transition: transform 0.3s ease;
}
.hvr-grow-rotate:hover {
  transform: scale(1.1) rotate(4deg);
}

/* Float */
.hvr-float {
  transition: transform 0.3s ease;
}
.hvr-float:hover {
  transform: translateY(-5px);
}

/* Sink */
.hvr-sink {
  transition: transform 0.3s ease;
}
.hvr-sink:hover {
  transform: translateY(5px);
}

/* Bob */
.hvr-bob:hover {
  animation: hvr-bob-float 0.3s linear forwards, hvr-bob 0.3s 0.3s linear infinite alternate;
}

/* Hang */
.hvr-hang:hover {
  animation: hvr-hang-sink 0.3s linear forwards, hvr-hang 0.3s 0.3s linear infinite alternate;
}

/* Skew */
.hvr-skew {
  transition: transform 0.3s ease;
}
.hvr-skew:hover {
  transform: skew(-10deg);
}

/* Skew Forward */
.hvr-skew-forward {
  transform-origin: 100% 100%;
  transition: transform 0.3s ease;
}
.hvr-skew-forward:hover {
  transform: skew(-10deg);
}

/* Skew Backward */
.hvr-skew-backward {
  transform-origin: 0 100%;
  transition: transform 0.3s ease;
}
.hvr-skew-backward:hover {
  transform: skew(10deg);
}

/* Wobble Vertical */
.hvr-wobble-vertical:hover {
  animation: hvr-wobble-vertical 1s ease both;
}

/* Wobble Horizontal */
.hvr-wobble-horizontal:hover {
  animation: hvr-wobble-horizontal 1s ease both;
}

/* Wobble To Bottom Right */
.hvr-wobble-to-bottom-right:hover {
  animation: hvr-wobble-to-bottom-right 1s ease both;
}

/* Wobble To Top Right */
.hvr-wobble-to-top-right:hover {
  animation: hvr-wobble-to-top-right 1s ease both;
}

/* Wobble Top */
.hvr-wobble-top {
  transform-origin: 0 100%;
}
.hvr-wobble-top:hover {
  animation: hvr-wobble-top 1s ease both;
}

/* Wobble Bottom */
.hvr-wobble-bottom {
  transform-origin: 100% 100%;
}
.hvr-wobble-bottom:hover {
  animation: hvr-wobble-bottom 1s ease both;
}

/* Wobble Skew */
.hvr-wobble-skew:hover {
  animation: hvr-wobble-skew 1s ease both;
}

/* Buzz */
.hvr-buzz:hover {
  animation: hvr-buzz 0.15s linear infinite;
}

/* Buzz Out */
.hvr-buzz-out:hover {
  animation: hvr-buzz-out 0.75s linear both;
}
