.text-focus-in {
    -webkit-animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
  	        animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

.text-blur-out {
	-webkit-animation: text-blur-out 1.2s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
	        animation: text-blur-out 1.2s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

.slide-out-blurred-top {
	-webkit-animation: slide-out-blurred-top 0.45s cubic-bezier(0.755, 0.050, 0.855, 0.060) both;
	        animation: slide-out-blurred-top 0.45s cubic-bezier(0.755, 0.050, 0.855, 0.060) both;
}

.slide-out-blurred-left {
	-webkit-animation: slide-out-blurred-left 0.45s cubic-bezier(0.755, 0.050, 0.855, 0.060) both;
	        animation: slide-out-blurred-left 0.45s cubic-bezier(0.755, 0.050, 0.855, 0.060) both;
}

.slide-in-top {
	-webkit-animation: slide-in-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
	        animation: slide-in-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
}

.slide-out-bottom {
	-webkit-animation: slide-out-bottom 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
	        animation: slide-out-bottom 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

.slide-out-left {
	-webkit-animation: slide-out-left 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
	        animation: slide-out-left 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

.bounce-left {
	-webkit-animation: bounce-left 0.8s both;
	        animation: bounce-left 0.8s both;
}

.bounce-right {
	-webkit-animation: bounce-right 0.8s both;
	        animation: bounce-right 0.8s both;
}

/**
 * ----------------------------------------
 * animation text-focus-in
 * ----------------------------------------
 */
@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}

/**
 * ----------------------------------------
 * animation text-blur-out
 * ----------------------------------------
 */
@-webkit-keyframes text-blur-out {
  0% {
    -webkit-filter: blur(0.01);
            filter: blur(0.01);
  }
  100% {
    -webkit-filter: blur(12px) opacity(0%);
            filter: blur(12px) opacity(0%);
  }
}
@keyframes text-blur-out {
  0% {
    -webkit-filter: blur(0.01);
            filter: blur(0.01);
  }
  100% {
    -webkit-filter: blur(12px) opacity(0%);
            filter: blur(12px) opacity(0%);
  }
}

/**
 * ----------------------------------------
 * animation slide-in-top
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-top {
  0% {
    -webkit-transform: translateY(-1000px);
            transform: translateY(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-in-top {
  0% {
    -webkit-transform: translateY(-1000px);
            transform: translateY(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

/**
 * ----------------------------------------
 * animation slide-out-bottom
 * ----------------------------------------
 */
@-webkit-keyframes slide-out-bottom {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(1000px);
            transform: translateY(1000px);
    opacity: 0;
  }
}
@keyframes slide-out-bottom {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(1000px);
            transform: translateY(1000px);
    opacity: 0;
  }
}

/**
 * ----------------------------------------
 * animation bounce-left
 * ----------------------------------------
 */
@-webkit-keyframes bounce-left {
 0% {
   -webkit-transform: translateX(-48px);
           transform: translateX(-48px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
   opacity: 1;
 }
 24% {
   opacity: 1;
 }
 40% {
   -webkit-transform: translateX(-26px);
           transform: translateX(-26px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
 }
 65% {
   -webkit-transform: translateX(-13px);
           transform: translateX(-13px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
 }
 82% {
   -webkit-transform: translateX(-6.5px);
           transform: translateX(-6.5px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
 }
 93% {
   -webkit-transform: translateX(-4px);
           transform: translateX(-4px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
 }
 25%,
 55%,
 75%,
 87%,
 98% {
   -webkit-transform: translateX(0px);
           transform: translateX(0px);
   -webkit-animation-timing-function: ease-out;
           animation-timing-function: ease-out;
 }
 100% {
   -webkit-transform: translateX(0px);
           transform: translateX(0px);
   -webkit-animation-timing-function: ease-out;
           animation-timing-function: ease-out;
   opacity: 1;
 }
}
@keyframes bounce-left {
 0% {
   -webkit-transform: translateX(-48px);
           transform: translateX(-48px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
   opacity: 1;
 }
 24% {
   opacity: 1;
 }
 40% {
   -webkit-transform: translateX(-26px);
           transform: translateX(-26px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
 }
 65% {
   -webkit-transform: translateX(-13px);
           transform: translateX(-13px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
 }
 82% {
   -webkit-transform: translateX(-6.5px);
           transform: translateX(-6.5px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
 }
 93% {
   -webkit-transform: translateX(-4px);
           transform: translateX(-4px);
   -webkit-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
 }
 25%,
 55%,
 75%,
 87%,
 98% {
   -webkit-transform: translateX(0px);
           transform: translateX(0px);
   -webkit-animation-timing-function: ease-out;
           animation-timing-function: ease-out;
 }
 100% {
   -webkit-transform: translateX(0px);
           transform: translateX(0px);
   -webkit-animation-timing-function: ease-out;
           animation-timing-function: ease-out;
   opacity: 1;
 }
}

/**
 * ----------------------------------------
 * animation bounce-right
 * ----------------------------------------
 */
@-webkit-keyframes bounce-right {
  0% {
    -webkit-transform: translateX(48px);
            transform: translateX(48px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 1;
  }
  24% {
    opacity: 1;
  }
  40% {
    -webkit-transform: translateX(26px);
            transform: translateX(26px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  65% {
    -webkit-transform: translateX(13px);
            transform: translateX(13px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  82% {
    -webkit-transform: translateX(6.5px);
            transform: translateX(6.5px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  93% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  25%,
  55%,
  75%,
  87%,
  98% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    opacity: 1;
  }
}
@keyframes bounce-right {
  0% {
    -webkit-transform: translateX(48px);
            transform: translateX(48px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 1;
  }
  24% {
    opacity: 1;
  }
  40% {
    -webkit-transform: translateX(26px);
            transform: translateX(26px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  65% {
    -webkit-transform: translateX(13px);
            transform: translateX(13px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  82% {
    -webkit-transform: translateX(6.5px);
            transform: translateX(6.5px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  93% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  25%,
  55%,
  75%,
  87%,
  98% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    opacity: 1;
  }
}

/**
 * ----------------------------------------
 * animation slide-out-blurred-top
 * ----------------------------------------
 */
 @-webkit-keyframes slide-out-blurred-top {
        0% {
          -webkit-transform: translateY(0) scaleY(1) scaleX(1);
                  transform: translateY(0) scaleY(1) scaleX(1);
          -webkit-transform-origin: 50% 0%;
                  transform-origin: 50% 0%;
          -webkit-filter: blur(0);
                  filter: blur(0);
          opacity: 1;
        }
        100% {
          -webkit-transform: translateY(-1000px) scaleY(2) scaleX(0.2);
                  transform: translateY(-1000px) scaleY(2) scaleX(0.2);
          -webkit-transform-origin: 50% 0%;
                  transform-origin: 50% 0%;
          -webkit-filter: blur(40px);
                  filter: blur(40px);
          opacity: 0;
        }
      }
      @keyframes slide-out-blurred-top {
        0% {
          -webkit-transform: translateY(0) scaleY(1) scaleX(1);
                  transform: translateY(0) scaleY(1) scaleX(1);
          -webkit-transform-origin: 50% 0%;
                  transform-origin: 50% 0%;
          -webkit-filter: blur(0);
                  filter: blur(0);
          opacity: 1;
        }
        100% {
          -webkit-transform: translateY(-1000px) scaleY(2) scaleX(0.2);
                  transform: translateY(-1000px) scaleY(2) scaleX(0.2);
          -webkit-transform-origin: 50% 0%;
                  transform-origin: 50% 0%;
          -webkit-filter: blur(40px);
                  filter: blur(40px);
          opacity: 0;
        }
      }
      
/**
 * ----------------------------------------
 * animation slide-out-blurred-left
 * ----------------------------------------
 */
 @-webkit-keyframes slide-out-blurred-left {
        0% {
          -webkit-transform: translateX(0) scaleY(1) scaleX(1);
                  transform: translateX(0) scaleY(1) scaleX(1);
          -webkit-transform-origin: 50% 50%;
                  transform-origin: 50% 50%;
          -webkit-filter: blur(0);
                  filter: blur(0);
          opacity: 1;
        }
        100% {
          -webkit-transform: translateX(-1000px) scaleX(2) scaleY(0.2);
                  transform: translateX(-1000px) scaleX(2) scaleY(0.2);
          -webkit-transform-origin: 100% 50%;
                  transform-origin: 100% 50%;
          -webkit-filter: blur(40px);
                  filter: blur(40px);
          opacity: 0;
        }
      }
      @keyframes slide-out-blurred-left {
        0% {
          -webkit-transform: translateX(0) scaleY(1) scaleX(1);
                  transform: translateX(0) scaleY(1) scaleX(1);
          -webkit-transform-origin: 50% 50%;
                  transform-origin: 50% 50%;
          -webkit-filter: blur(0);
                  filter: blur(0);
          opacity: 1;
        }
        100% {
          -webkit-transform: translateX(-1000px) scaleX(2) scaleY(0.2);
                  transform: translateX(-1000px) scaleX(2) scaleY(0.2);
          -webkit-transform-origin: 100% 50%;
                  transform-origin: 100% 50%;
          -webkit-filter: blur(40px);
                  filter: blur(40px);
          opacity: 0;
        }
      }

/**
 * ----------------------------------------
 * animation slide-out-bottom
 * ----------------------------------------
 */
 @-webkit-keyframes slide-out-bottom {
        0% {
          -webkit-transform: translateY(0);
                  transform: translateY(0);
          opacity: 1;
        }
        100% {
          -webkit-transform: translateY(1000px);
                  transform: translateY(1000px);
          opacity: 0;
        }
      }
      @keyframes slide-out-bottom {
        0% {
          -webkit-transform: translateY(0);
                  transform: translateY(0);
          opacity: 1;
        }
        100% {
          -webkit-transform: translateY(1000px);
                  transform: translateY(1000px);
          opacity: 0;
        }
      }

/**
 * ----------------------------------------
 * animation slide-out-left
 * ----------------------------------------
 */
@-webkit-keyframes slide-out-left {
        0% {
          -webkit-transform: translateX(0);
                  transform: translateX(0);
          opacity: 1;
        }
        100% {
          -webkit-transform: translateX(-1000px);
                  transform: translateX(-1000px);
          opacity: 0;
        }
      }
      @keyframes slide-out-left {
        0% {
          -webkit-transform: translateX(0);
                  transform: translateX(0);
          opacity: 1;
        }
        100% {
          -webkit-transform: translateX(-1000px);
                  transform: translateX(-1000px);
          opacity: 0;
        }
      }
      