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

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

.mdi-fade {
  -webkit-animation-name: mdi-fade;
          animation-name: mdi-fade;
  -webkit-animation-delay: var(--mdi-animation-delay, 0s);
          animation-delay: var(--mdi-animation-delay, 0s);
  -webkit-animation-direction: var(--mdi-animation-direction, normal);
          animation-direction: var(--mdi-animation-direction, normal);
  -webkit-animation-duration: var(--mdi-animation-duration, 1s);
          animation-duration: var(--mdi-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--mdi-animation-iteration-count, infinite);
          animation-iteration-count: var(--mdi-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--mdi-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
          animation-timing-function: var(--mdi-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.mdi-beat-fade {
  -webkit-animation-name: mdi-beat-fade;
          animation-name: mdi-beat-fade;
  -webkit-animation-delay: var(--mdi-animation-delay, 0s);
          animation-delay: var(--mdi-animation-delay, 0s);
  -webkit-animation-direction: var(--mdi-animation-direction, normal);
          animation-direction: var(--mdi-animation-direction, normal);
  -webkit-animation-duration: var(--mdi-animation-duration, 1s);
          animation-duration: var(--mdi-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--mdi-animation-iteration-count, infinite);
          animation-iteration-count: var(--mdi-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--mdi-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
          animation-timing-function: var(--mdi-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

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

.mdi-shake {
  -webkit-animation-name: mdi-shake;
          animation-name: mdi-shake;
  -webkit-animation-delay: var(--mdi-animation-delay, 0s);
          animation-delay: var(--mdi-animation-delay, 0s);
  -webkit-animation-direction: var(--mdi-animation-direction, normal);
          animation-direction: var(--mdi-animation-direction, normal);
  -webkit-animation-duration: var(--mdi-animation-duration, 1s);
          animation-duration: var(--mdi-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--mdi-animation-iteration-count, infinite);
          animation-iteration-count: var(--mdi-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--mdi-animation-timing, linear);
          animation-timing-function: var(--mdi-animation-timing, linear);
}

.mdi-spin {
  -webkit-animation-name: mdi-spin;
          animation-name: mdi-spin;
  -webkit-animation-delay: var(--mdi-animation-delay, 0s);
          animation-delay: var(--mdi-animation-delay, 0s);
  -webkit-animation-direction: var(--mdi-animation-direction, normal);
          animation-direction: var(--mdi-animation-direction, normal);
  -webkit-animation-duration: var(--mdi-animation-duration, 2s);
          animation-duration: var(--mdi-animation-duration, 2s);
  -webkit-animation-iteration-count: var(--mdi-animation-iteration-count, infinite);
          animation-iteration-count: var(--mdi-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--mdi-animation-timing, linear);
          animation-timing-function: var(--mdi-animation-timing, linear);
}

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

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

@media (prefers-reduced-motion: reduce) {
  .mdi-beat,
.mdi-bounce,
.mdi-fade,
.mdi-beat-fade,
.mdi-flip,
.mdi-pulse,
.mdi-shake,
.mdi-spin,
.mdi-spin-pulse {
    -webkit-animation-delay: -1ms;
            animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
            animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;
    transition-delay: 0s;
    transition-duration: 0s;
  }
}
@-webkit-keyframes mdi-beat {
  0%, 90% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  45% {
    -webkit-transform: scale(var(--mdi-beat-scale, 1.25));
            transform: scale(var(--mdi-beat-scale, 1.25));
  }
}
@keyframes mdi-beat {
  0%, 90% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  45% {
    -webkit-transform: scale(var(--mdi-beat-scale, 1.25));
            transform: scale(var(--mdi-beat-scale, 1.25));
  }
}
@-webkit-keyframes mdi-bounce {
  0% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
  10% {
    -webkit-transform: scale(var(--mdi-bounce-start-scale-x, 1.1), var(--mdi-bounce-start-scale-y, 0.9)) translateY(0);
            transform: scale(var(--mdi-bounce-start-scale-x, 1.1), var(--mdi-bounce-start-scale-y, 0.9)) translateY(0);
  }
  30% {
    -webkit-transform: scale(var(--mdi-bounce-jump-scale-x, 0.9), var(--mdi-bounce-jump-scale-y, 1.1)) translateY(var(--mdi-bounce-height, -0.5em));
            transform: scale(var(--mdi-bounce-jump-scale-x, 0.9), var(--mdi-bounce-jump-scale-y, 1.1)) translateY(var(--mdi-bounce-height, -0.5em));
  }
  50% {
    -webkit-transform: scale(var(--mdi-bounce-land-scale-x, 1.05), var(--mdi-bounce-land-scale-y, 0.95)) translateY(0);
            transform: scale(var(--mdi-bounce-land-scale-x, 1.05), var(--mdi-bounce-land-scale-y, 0.95)) translateY(0);
  }
  57% {
    -webkit-transform: scale(1, 1) translateY(var(--mdi-bounce-rebound, -0.125em));
            transform: scale(1, 1) translateY(var(--mdi-bounce-rebound, -0.125em));
  }
  64% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
  100% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
}
@keyframes mdi-bounce {
  0% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
  10% {
    -webkit-transform: scale(var(--mdi-bounce-start-scale-x, 1.1), var(--mdi-bounce-start-scale-y, 0.9)) translateY(0);
            transform: scale(var(--mdi-bounce-start-scale-x, 1.1), var(--mdi-bounce-start-scale-y, 0.9)) translateY(0);
  }
  30% {
    -webkit-transform: scale(var(--mdi-bounce-jump-scale-x, 0.9), var(--mdi-bounce-jump-scale-y, 1.1)) translateY(var(--mdi-bounce-height, -0.5em));
            transform: scale(var(--mdi-bounce-jump-scale-x, 0.9), var(--mdi-bounce-jump-scale-y, 1.1)) translateY(var(--mdi-bounce-height, -0.5em));
  }
  50% {
    -webkit-transform: scale(var(--mdi-bounce-land-scale-x, 1.05), var(--mdi-bounce-land-scale-y, 0.95)) translateY(0);
            transform: scale(var(--mdi-bounce-land-scale-x, 1.05), var(--mdi-bounce-land-scale-y, 0.95)) translateY(0);
  }
  57% {
    -webkit-transform: scale(1, 1) translateY(var(--mdi-bounce-rebound, -0.125em));
            transform: scale(1, 1) translateY(var(--mdi-bounce-rebound, -0.125em));
  }
  64% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
  100% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
}
@-webkit-keyframes mdi-fade {
  50% {
    opacity: var(--mdi-fade-opacity, 0.4);
  }
}
@keyframes mdi-fade {
  50% {
    opacity: var(--mdi-fade-opacity, 0.4);
  }
}
@-webkit-keyframes mdi-beat-fade {
  0%, 100% {
    opacity: var(--mdi-beat-fade-opacity, 0.4);
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(var(--mdi-beat-fade-scale, 1.125));
            transform: scale(var(--mdi-beat-fade-scale, 1.125));
  }
}
@keyframes mdi-beat-fade {
  0%, 100% {
    opacity: var(--mdi-beat-fade-opacity, 0.4);
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(var(--mdi-beat-fade-scale, 1.125));
            transform: scale(var(--mdi-beat-fade-scale, 1.125));
  }
}
@-webkit-keyframes mdi-flip {
  50% {
    -webkit-transform: rotate3d(var(--mdi-flip-x, 0), var(--mdi-flip-y, 1), var(--mdi-flip-z, 0), var(--mdi-flip-angle, -180deg));
            transform: rotate3d(var(--mdi-flip-x, 0), var(--mdi-flip-y, 1), var(--mdi-flip-z, 0), var(--mdi-flip-angle, -180deg));
  }
}
@keyframes mdi-flip {
  50% {
    -webkit-transform: rotate3d(var(--mdi-flip-x, 0), var(--mdi-flip-y, 1), var(--mdi-flip-z, 0), var(--mdi-flip-angle, -180deg));
            transform: rotate3d(var(--mdi-flip-x, 0), var(--mdi-flip-y, 1), var(--mdi-flip-z, 0), var(--mdi-flip-angle, -180deg));
  }
}
@-webkit-keyframes mdi-shake {
  0% {
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }
  4% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
  8%, 24% {
    -webkit-transform: rotate(-18deg);
            transform: rotate(-18deg);
  }
  12%, 28% {
    -webkit-transform: rotate(18deg);
            transform: rotate(18deg);
  }
  16% {
    -webkit-transform: rotate(-22deg);
            transform: rotate(-22deg);
  }
  20% {
    -webkit-transform: rotate(22deg);
            transform: rotate(22deg);
  }
  32% {
    -webkit-transform: rotate(-12deg);
            transform: rotate(-12deg);
  }
  36% {
    -webkit-transform: rotate(12deg);
            transform: rotate(12deg);
  }
  40%, 100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@keyframes mdi-shake {
  0% {
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }
  4% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
  8%, 24% {
    -webkit-transform: rotate(-18deg);
            transform: rotate(-18deg);
  }
  12%, 28% {
    -webkit-transform: rotate(18deg);
            transform: rotate(18deg);
  }
  16% {
    -webkit-transform: rotate(-22deg);
            transform: rotate(-22deg);
  }
  20% {
    -webkit-transform: rotate(22deg);
            transform: rotate(22deg);
  }
  32% {
    -webkit-transform: rotate(-12deg);
            transform: rotate(-12deg);
  }
  36% {
    -webkit-transform: rotate(12deg);
            transform: rotate(12deg);
  }
  40%, 100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@-webkit-keyframes mdi-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes mdi-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.mdi-rotate-90 {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

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

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

.mdi-flip-horizontal {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.mdi-flip-vertical {
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}

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

.mdi-rotate-by {
  -webkit-transform: rotate(var(--mdi-rotate-angle, none));
          transform: rotate(var(--mdi-rotate-angle, none));
}

.mdi-stack {
  display: inline-block;
  vertical-align: middle;
  height: 2em;
  position: relative;
  width: 2.5em;
}

.mdi-stack-1x,
.mdi-stack-2x {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  z-index: var(--mdi-stack-z-index, auto);
}

.mdi-inverse {
  color: var(--mdi-inverse, #fff);
}
