.dfw-beat {
  animation-name: dfw-beat;
  animation-delay: var(--dfw-animation-delay, 0s);
  animation-direction: var(--dfw-animation-direction, normal);
  animation-duration: var(--dfw-animation-duration, 1s);
  animation-iteration-count: var(--dfw-animation-iteration-count, infinite);
  animation-timing-function: var(--dfw-animation-timing, ease-in-out); }

.dfw-bounce {
  animation-name: dfw-bounce;
  animation-delay: var(--dfw-animation-delay, 0s);
  animation-direction: var(--dfw-animation-direction, normal);
  animation-duration: var(--dfw-animation-duration, 1s);
  animation-iteration-count: var(--dfw-animation-iteration-count, infinite);
  animation-timing-function: var(--dfw-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }

.dfw-fade {
  animation-name: dfw-fade;
  animation-iteration-count: var(--dfw-animation-iteration-count, infinite);
  animation-timing-function: var(--dfw-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }

.dfw-beat-fade, .dfw-fade {
  animation-delay: var(--dfw-animation-delay, 0s);
  animation-direction: var(--dfw-animation-direction, normal);
  animation-duration: var(--dfw-animation-duration, 1s); }

.dfw-beat-fade {
  animation-name: dfw-beat-fade;
  animation-iteration-count: var(--dfw-animation-iteration-count, infinite);
  animation-timing-function: var(--dfw-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }

.dfw-flip {
  animation-name: dfw-flip;
  animation-delay: var(--dfw-animation-delay, 0s);
  animation-direction: var(--dfw-animation-direction, normal);
  animation-duration: var(--dfw-animation-duration, 1s);
  animation-iteration-count: var(--dfw-animation-iteration-count, infinite);
  animation-timing-function: var(--dfw-animation-timing, ease-in-out); }

.dfw-shake {
  animation-name: dfw-shake;
  animation-duration: var(--dfw-animation-duration, 1s);
  animation-iteration-count: var(--dfw-animation-iteration-count, infinite);
  animation-timing-function: var(--dfw-animation-timing, linear); }

.dfw-shake, .dfw-spin {
  animation-delay: var(--dfw-animation-delay, 0s);
  animation-direction: var(--dfw-animation-direction, normal); }

.dfw-spin {
  animation-name: dfw-spin;
  animation-duration: var(--dfw-animation-duration, 2s);
  animation-iteration-count: var(--dfw-animation-iteration-count, infinite);
  animation-timing-function: var(--dfw-animation-timing, linear); }

.dfw-spin-reverse {
  --dfw-animation-direction: reverse
; }

.dfw-pulse, .dfw-spin-pulse {
  animation-name: dfw-spin;
  animation-direction: var(--dfw-animation-direction, normal);
  animation-duration: var(--dfw-animation-duration, 1s);
  animation-iteration-count: var(--dfw-animation-iteration-count, infinite);
  animation-timing-function: var(--dfw-animation-timing, steps(8)); }

@keyframes dfw-beat {
  0%, 90% {
    transform: scale(1); }
  45% {
    transform: scale(var(--dfw-beat-scale, 1.25)); } }

@keyframes dfw-bounce {
  0% {
    transform: scale(1) translateY(0); }
  10% {
    transform: scale(var(--dfw-bounce-start-scale-x, 1.1), var(--dfw-bounce-start-scale-y, 0.9)) translateY(0); }
  30% {
    transform: scale(var(--dfw-bounce-jump-scale-x, 0.9), var(--dfw-bounce-jump-scale-y, 1.1)) translateY(var(--dfw-bounce-height, -0.5em)); }
  50% {
    transform: scale(var(--dfw-bounce-land-scale-x, 1.05), var(--dfw-bounce-land-scale-y, 0.95)) translateY(0); }
  57% {
    transform: scale(1) translateY(var(--dfw-bounce-rebound, -0.125em)); }
  64% {
    transform: scale(1) translateY(0); }
  to {
    transform: scale(1) translateY(0); } }

@keyframes dfw-fade {
  50% {
    opacity: var(--dfw-fade-opacity, 0.4); } }

@keyframes dfw-beat-fade {
  0%, to {
    opacity: var(--dfw-beat-fade-opacity, 0.4);
    transform: scale(1); }
  50% {
    opacity: 1;
    transform: scale(var(--dfw-beat-fade-scale, 1.125)); } }

@keyframes dfw-flip {
  50% {
    transform: rotate3d(var(--dfw-flip-x, 0), var(--dfw-flip-y, 1), var(--dfw-flip-z, 0), var(--dfw-flip-angle, -180deg)); } }

@keyframes dfw-shake {
  0% {
    transform: rotate(-15deg); }
  4% {
    transform: rotate(15deg); }
  8%, 24% {
    transform: rotate(-18deg); }
  12%, 28% {
    transform: rotate(18deg); }
  16% {
    transform: rotate(-22deg); }
  20% {
    transform: rotate(22deg); }
  32% {
    transform: rotate(-12deg); }
  36% {
    transform: rotate(12deg); }
  40%, to {
    transform: rotate(0deg); } }

@keyframes dfw-spin {
  0% {
    transform: rotate(0deg); }
  to {
    transform: rotate(1turn); } }

.dfw-rotate-90 {
  transform: rotate(90deg); }

.dfw-rotate-180 {
  transform: rotate(180deg); }

.dfw-rotate-270 {
  transform: rotate(270deg); }

.dfw-flip-horizontal {
  transform: scaleX(-1); }

.dfw-flip-vertical {
  transform: scaleY(-1); }

.dfw-flip-both, .dfw-flip-horizontal.dfw-flip-vertical {
  transform: scale(-1); }

.dfw-rotate-by {
  transform: rotate(var(--dfw-rotate-angle, 0)); }
