/*!
 * Heck Animations by Julian Hecker 
 * 
 * MIT License 
 * 
 * https://github.com/julian-hecker/heck-animations 
 * 
 */
/* Animations */
/* Slide Animations */
@-webkit-keyframes slide-top {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }
@keyframes slide-top {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes slide-right {
  from {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes slide-right {
  from {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes slide-bottom {
  from {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes slide-bottom {
  from {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes slide-left {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes slide-left {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.ha-slide-top {
  -webkit-animation-name: "slide-top";
          animation-name: "slide-top"; }

.ha-slide-right {
  -webkit-animation-name: "slide-right";
          animation-name: "slide-right"; }

.ha-slide-bottom {
  -webkit-animation-name: "slide-bottom";
          animation-name: "slide-bottom"; }

.ha-slide-left {
  -webkit-animation-name: "slide-left";
          animation-name: "slide-left"; }

/* Fade Animations */
@-webkit-keyframes fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.ha-fade {
  -webkit-animation-name: "fade";
          animation-name: "fade"; }

/* Rotate Animations */
/* Scale Animations */
@-webkit-keyframes zoom-front {
  from {
    opacity: 0;
    -webkit-transform: scale(5);
            transform: scale(5); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }
@keyframes zoom-front {
  from {
    opacity: 0;
    -webkit-transform: scale(5);
            transform: scale(5); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes zoom-back {
  from {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes zoom-back {
  from {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.ha-zoom-front {
  -webkit-animation-name: "zoom-front";
          animation-name: "zoom-front"; }

.ha-zoom-back {
  -webkit-animation-name: "zoom-back";
          animation-name: "zoom-back"; }

/* Spin Animations */
/* Utilities */
.ha-animate {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

/* Duration */
.ha-duration-100,
.ha-dur-100 {
  -webkit-animation-duration: 100ms;
          animation-duration: 100ms; }

.ha-duration-200,
.ha-dur-200 {
  -webkit-animation-duration: 200ms;
          animation-duration: 200ms; }

.ha-duration-300,
.ha-dur-300 {
  -webkit-animation-duration: 300ms;
          animation-duration: 300ms; }

.ha-duration-400,
.ha-dur-400 {
  -webkit-animation-duration: 400ms;
          animation-duration: 400ms; }

.ha-duration-500,
.ha-dur-500 {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.ha-duration-600,
.ha-dur-600 {
  -webkit-animation-duration: 600ms;
          animation-duration: 600ms; }

.ha-duration-700,
.ha-dur-700 {
  -webkit-animation-duration: 700ms;
          animation-duration: 700ms; }

.ha-duration-800,
.ha-dur-800 {
  -webkit-animation-duration: 800ms;
          animation-duration: 800ms; }

.ha-duration-900,
.ha-dur-900 {
  -webkit-animation-duration: 900ms;
          animation-duration: 900ms; }

.ha-duration-1000,
.ha-dur-1000 {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms; }

.ha-duration-1100,
.ha-dur-1100 {
  -webkit-animation-duration: 1100ms;
          animation-duration: 1100ms; }

.ha-duration-1200,
.ha-dur-1200 {
  -webkit-animation-duration: 1200ms;
          animation-duration: 1200ms; }

.ha-duration-1300,
.ha-dur-1300 {
  -webkit-animation-duration: 1300ms;
          animation-duration: 1300ms; }

.ha-duration-1400,
.ha-dur-1400 {
  -webkit-animation-duration: 1400ms;
          animation-duration: 1400ms; }

.ha-duration-1500,
.ha-dur-1500 {
  -webkit-animation-duration: 1500ms;
          animation-duration: 1500ms; }

.ha-duration-1600,
.ha-dur-1600 {
  -webkit-animation-duration: 1600ms;
          animation-duration: 1600ms; }

.ha-duration-1700,
.ha-dur-1700 {
  -webkit-animation-duration: 1700ms;
          animation-duration: 1700ms; }

.ha-duration-1800,
.ha-dur-1800 {
  -webkit-animation-duration: 1800ms;
          animation-duration: 1800ms; }

.ha-duration-1900,
.ha-dur-1900 {
  -webkit-animation-duration: 1900ms;
          animation-duration: 1900ms; }

.ha-duration-2000,
.ha-dur-2000 {
  -webkit-animation-duration: 2000ms;
          animation-duration: 2000ms; }

/* Timing Functions */
.ha-timing-linear,
.ha-linear {
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }

.ha-timing-ease,
.ha-ease {
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease; }

.ha-timing-ease-in,
.ha-ease-in {
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in; }

.ha-timing-ease-out,
.ha-ease-out {
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out; }

.ha-timing-ease-in-out,
.ha-ease-in-out {
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

.ha-timing-sine-in,
.ha-sine-in {
  -webkit-animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
          animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }

.ha-timing-sine-out,
.ha-sine-out {
  -webkit-animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
          animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }

.ha-timing-sine-in-out,
.ha-sine-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
          animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

.ha-timing-quad-in,
.ha-quad-in {
  -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
          animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.ha-timing-quad-out,
.ha-quad-out {
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
          animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.ha-timing-quad-in-out,
.ha-quad-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
          animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

.ha-timing-cubic-in,
.ha-cubic-in {
  -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ha-timing-cubic-out,
.ha-cubic-out {
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

.ha-timing-cubic-in-out,
.ha-cubic-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }

.ha-timing-quart-in,
.ha-quart-in {
  -webkit-animation-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
          animation-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.ha-timing-quart-out,
.ha-quart-out {
  -webkit-animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
          animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); }

.ha-timing-quart-in-out,
.ha-quart-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
          animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1); }

.ha-timing-quint-in,
.ha-quint-in {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); }

.ha-timing-quint-out,
.ha-quint-out {
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }

.ha-timing-quint-in-out,
.ha-quint-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
          animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1); }

.ha-timing-expo-in,
.ha-expo-in {
  -webkit-animation-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
          animation-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035); }

.ha-timing-expo-out,
.ha-expo-out {
  -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.ha-timing-expo-in-out,
.ha-expo-in-out {
  -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1);
          animation-timing-function: cubic-bezier(1, 0, 0, 1); }

.ha-timing-circ-in,
.ha-circ-in {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335); }

.ha-timing-circ-out,
.ha-circ-out {
  -webkit-animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
          animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); }

.ha-timing-circ-in-out,
.ha-circ-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86); }

.ha-timing-back-in,
.ha-back-in {
  -webkit-animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
          animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

.ha-timing-back-out,
.ha-back-out {
  -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
          animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

.ha-timing-back-in-out,
.ha-back-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
          animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

/* Delays */
.ha-delay-0,
.ha-del-0 {
  -webkit-animation-delay: 0ms;
          animation-delay: 0ms; }

.ha-delay-100,
.ha-del-100 {
  -webkit-animation-delay: 100ms;
          animation-delay: 100ms; }

.ha-delay-200,
.ha-del-200 {
  -webkit-animation-delay: 200ms;
          animation-delay: 200ms; }

.ha-delay-300,
.ha-del-300 {
  -webkit-animation-delay: 300ms;
          animation-delay: 300ms; }

.ha-delay-400,
.ha-del-400 {
  -webkit-animation-delay: 400ms;
          animation-delay: 400ms; }

.ha-delay-500,
.ha-del-500 {
  -webkit-animation-delay: 500ms;
          animation-delay: 500ms; }

.ha-delay-600,
.ha-del-600 {
  -webkit-animation-delay: 600ms;
          animation-delay: 600ms; }

.ha-delay-700,
.ha-del-700 {
  -webkit-animation-delay: 700ms;
          animation-delay: 700ms; }

.ha-delay-800,
.ha-del-800 {
  -webkit-animation-delay: 800ms;
          animation-delay: 800ms; }

.ha-delay-900,
.ha-del-900 {
  -webkit-animation-delay: 900ms;
          animation-delay: 900ms; }

.ha-delay-1000,
.ha-del-1000 {
  -webkit-animation-delay: 1000ms;
          animation-delay: 1000ms; }

.ha-delay-1100,
.ha-del-1100 {
  -webkit-animation-delay: 1100ms;
          animation-delay: 1100ms; }

.ha-delay-1200,
.ha-del-1200 {
  -webkit-animation-delay: 1200ms;
          animation-delay: 1200ms; }

.ha-delay-1300,
.ha-del-1300 {
  -webkit-animation-delay: 1300ms;
          animation-delay: 1300ms; }

.ha-delay-1400,
.ha-del-1400 {
  -webkit-animation-delay: 1400ms;
          animation-delay: 1400ms; }

.ha-delay-1500,
.ha-del-1500 {
  -webkit-animation-delay: 1500ms;
          animation-delay: 1500ms; }

.ha-delay-1600,
.ha-del-1600 {
  -webkit-animation-delay: 1600ms;
          animation-delay: 1600ms; }

.ha-delay-1700,
.ha-del-1700 {
  -webkit-animation-delay: 1700ms;
          animation-delay: 1700ms; }

.ha-delay-1800,
.ha-del-1800 {
  -webkit-animation-delay: 1800ms;
          animation-delay: 1800ms; }

.ha-delay-1900,
.ha-del-1900 {
  -webkit-animation-delay: 1900ms;
          animation-delay: 1900ms; }

.ha-delay-2000,
.ha-del-2000 {
  -webkit-animation-delay: 2000ms;
          animation-delay: 2000ms; }

/* Iteration Count */
.ha-iteration-infinite,
.ha-infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.ha-iteration-1,
.ha-1 {
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1; }

.ha-iteration-2,
.ha-2 {
  -webkit-animation-iteration-count: 2;
          animation-iteration-count: 2; }

.ha-iteration-3,
.ha-3 {
  -webkit-animation-iteration-count: 3;
          animation-iteration-count: 3; }

.ha-iteration-4,
.ha-4 {
  -webkit-animation-iteration-count: 4;
          animation-iteration-count: 4; }

.ha-iteration-5,
.ha-5 {
  -webkit-animation-iteration-count: 5;
          animation-iteration-count: 5; }

.ha-iteration-6,
.ha-6 {
  -webkit-animation-iteration-count: 6;
          animation-iteration-count: 6; }

.ha-iteration-7,
.ha-7 {
  -webkit-animation-iteration-count: 7;
          animation-iteration-count: 7; }

.ha-iteration-8,
.ha-8 {
  -webkit-animation-iteration-count: 8;
          animation-iteration-count: 8; }

.ha-iteration-9,
.ha-9 {
  -webkit-animation-iteration-count: 9;
          animation-iteration-count: 9; }

.ha-iteration-10,
.ha-10 {
  -webkit-animation-iteration-count: 10;
          animation-iteration-count: 10; }

/* Animation Direction */
.ha-direction-out,
.ha-out {
  animation-direction: alternate-reverse; }

.ha-direction-in,
.ha-in {
  -webkit-animation-direction: alternate;
          animation-direction: alternate; }

/* Animation Play State */
.ha-paused {
  -webkit-animation-play-state: paused;
          animation-play-state: paused; }

.ha-running {
  -webkit-animation-play-state: running;
          animation-play-state: running; }

/* Animations Off: Responsive */
@media (min-width: 0px) {
  .ha-off-xs-up {
    -webkit-animation: none !important;
            animation: none !important; } }

@media (min-width: 600px) {
  .ha-off-sm-up {
    -webkit-animation: none !important;
            animation: none !important; } }

@media (min-width: 900px) {
  .ha-off-md-up {
    -webkit-animation: none !important;
            animation: none !important; } }

@media (min-width: 1200px) {
  .ha-off-lg-up {
    -webkit-animation: none !important;
            animation: none !important; } }

@media (min-width: 1600px) {
  .ha-off-xl-up {
    -webkit-animation: none !important;
            animation: none !important; } }

@media (max-width: 1600px) {
  .ha-off-xl-down {
    -webkit-animation: none !important;
            animation: none !important; } }

@media (max-width: 1200px) {
  .ha-off-lg-down {
    -webkit-animation: none !important;
            animation: none !important; } }

@media (max-width: 900px) {
  .ha-off-md-down {
    -webkit-animation: none !important;
            animation: none !important; } }

@media (max-width: 600px) {
  .ha-off-sm-down {
    -webkit-animation: none !important;
            animation: none !important; } }

/* Support Query */
@supports not ((-webkit-animation-fill-mode: both) or (animation-fill-mode: both)) {
  .ha-animate {
    -webkit-animation: none !important;
            animation: none !important; } }

/* Media Query for Reduced Motion and Print */
@media (prefers-reduced-motion: reduce), (print) {
  .ha-animate {
    -webkit-animation: none !important;
            animation: none !important; } }