/**
 * ----------------------------------------
 * animation kenburns-top
 * ----------------------------------------
 */
@-webkit-keyframes kenburns-top {
    0% {
        -webkit-transform: scale(1) translateY(0);
        transform: scale(1) translateY(0);
        -webkit-transform-origin: 50% 16%;
        transform-origin: 50% 16%;
    }

    100% {
        -webkit-transform: scale(1.25) translateY(-15px);
        transform: scale(1.25) translateY(-15px);
        -webkit-transform-origin: top;
        transform-origin: top;
    }
}

@keyframes kenburns-top {
    0% {
        -webkit-transform: scale(1) translateY(0);
        transform: scale(1) translateY(0);
        -webkit-transform-origin: 50% 16%;
        transform-origin: 50% 16%;
    }

    100% {
        -webkit-transform: scale(1.25) translateY(-15px);
        transform: scale(1.25) translateY(-15px);
        -webkit-transform-origin: top;
        transform-origin: top;
    }
}

/**
   * ----------------------------------------
   * animation kenburns-top-right
   * ----------------------------------------
   */
@-webkit-keyframes kenburns-top-right {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 84% 16%;
        transform-origin: 84% 16%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(20px, -15px);
        transform: scale(1.25) translate(20px, -15px);
        -webkit-transform-origin: right top;
        transform-origin: right top;
    }
}

@keyframes kenburns-top-right {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 84% 16%;
        transform-origin: 84% 16%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(20px, -15px);
        transform: scale(1.25) translate(20px, -15px);
        -webkit-transform-origin: right top;
        transform-origin: right top;
    }
}

/**
   * ----------------------------------------
   * animation kenburns-right
   * ----------------------------------------
   */
@-webkit-keyframes kenburns-right {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 84% 50%;
        transform-origin: 84% 50%;
    }

    100% {
        -webkit-transform: scale(1.25) translateX(20px);
        transform: scale(1.25) translateX(20px);
        -webkit-transform-origin: right;
        transform-origin: right;
    }
}

@keyframes kenburns-right {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 84% 50%;
        transform-origin: 84% 50%;
    }

    100% {
        -webkit-transform: scale(1.25) translateX(20px);
        transform: scale(1.25) translateX(20px);
        -webkit-transform-origin: right;
        transform-origin: right;
    }
}

/**
   * ----------------------------------------
   * animation kenburns-bottom-right
   * ----------------------------------------
   */
@-webkit-keyframes kenburns-bottom-right {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 84% 84%;
        transform-origin: 84% 84%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(20px, 15px);
        transform: scale(1.25) translate(20px, 15px);
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
    }
}

@keyframes kenburns-bottom-right {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 84% 84%;
        transform-origin: 84% 84%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(20px, 15px);
        transform: scale(1.25) translate(20px, 15px);
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
    }
}

/**
   * ----------------------------------------
   * animation kenburns-bottom
   * ----------------------------------------
   */
@-webkit-keyframes kenburns-bottom {
    0% {
        -webkit-transform: scale(1) translateY(0);
        transform: scale(1) translateY(0);
        -webkit-transform-origin: 50% 84%;
        transform-origin: 50% 84%;
    }

    100% {
        -webkit-transform: scale(1.25) translateY(15px);
        transform: scale(1.25) translateY(15px);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }
}

@keyframes kenburns-bottom {
    0% {
        -webkit-transform: scale(1) translateY(0);
        transform: scale(1) translateY(0);
        -webkit-transform-origin: 50% 84%;
        transform-origin: 50% 84%;
    }

    100% {
        -webkit-transform: scale(1.25) translateY(15px);
        transform: scale(1.25) translateY(15px);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }
}

/**
   * ----------------------------------------
   * animation kenburns-bottom-left
   * ----------------------------------------
   */
@-webkit-keyframes kenburns-bottom-left {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 16% 84%;
        transform-origin: 16% 84%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(-20px, 15px);
        transform: scale(1.25) translate(-20px, 15px);
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
    }
}

@keyframes kenburns-bottom-left {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 16% 84%;
        transform-origin: 16% 84%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(-20px, 15px);
        transform: scale(1.25) translate(-20px, 15px);
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
    }
}

/**
   * ----------------------------------------
   * animation kenburns-left
   * ----------------------------------------
   */
@-webkit-keyframes kenburns-left {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 16% 50%;
        transform-origin: 16% 50%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(-20px, 15px);
        transform: scale(1.25) translate(-20px, 15px);
        -webkit-transform-origin: left;
        transform-origin: left;
    }
}

@keyframes kenburns-left {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 16% 50%;
        transform-origin: 16% 50%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(-20px, 15px);
        transform: scale(1.25) translate(-20px, 15px);
        -webkit-transform-origin: left;
        transform-origin: left;
    }
}

/**
   * ----------------------------------------
   * animation kenburns-top-left
   * ----------------------------------------
   */
@-webkit-keyframes kenburns-top-left {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 16% 16%;
        transform-origin: 16% 16%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(-20px, -15px);
        transform: scale(1.25) translate(-20px, -15px);
        -webkit-transform-origin: top left;
        transform-origin: top left;
    }
}

@keyframes kenburns-top-left {
    0% {
        -webkit-transform: scale(1) translate(0, 0);
        transform: scale(1) translate(0, 0);
        -webkit-transform-origin: 16% 16%;
        transform-origin: 16% 16%;
    }

    100% {
        -webkit-transform: scale(1.25) translate(-20px, -15px);
        transform: scale(1.25) translate(-20px, -15px);
        -webkit-transform-origin: top left;
        transform-origin: top left;
    }
}

/**
   * ----------------------------------------
   * animation flip-horizontal-bottom
   * ----------------------------------------
   */
@-webkit-keyframes flip-horizontal-bottom {
    0% {
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
    }

    100% {
        -webkit-transform: rotateX(-180deg);
        transform: rotateX(-180deg);
    }
}

@keyframes flip-horizontal-bottom {
    0% {
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
    }

    100% {
        -webkit-transform: rotateX(-180deg);
        transform: rotateX(-180deg);
    }
}

/**
   * ----------------------------------------
   * animation scale-up-center
   * ----------------------------------------
   */
@-webkit-keyframes scale-up-center {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes scale-up-center {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

/**
   * ----------------------------------------
   * animation scale-down-center
   * ----------------------------------------
   */
@-webkit-keyframes scale-down-center {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }
}

@keyframes scale-down-center {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }
}

/**
   * ----------------------------------------
   * animation scale-down-bl
   * ----------------------------------------
   */
@-webkit-keyframes scale-down-bl {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
    }

    100% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
    }
}

@keyframes scale-down-bl {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
    }

    100% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
    }
}

/**
   * ----------------------------------------
   * animation scale-down-tl
   * ----------------------------------------
   */
@-webkit-keyframes scale-down-tl {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
    }

    100% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
    }
}

@keyframes scale-down-tl {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
    }

    100% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
    }
}

/**
   * ----------------------------------------
   * animation scale-up-bl
   * ----------------------------------------
   */
@-webkit-keyframes scale-up-bl {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
    }
}

@keyframes scale-up-bl {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
    }
}

/**
   * ----------------------------------------
   * animation scale-up-tl
   * ----------------------------------------
   */
@-webkit-keyframes scale-up-tl {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
    }
}

@keyframes scale-up-tl {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
    }
}

/**
   * ----------------------------------------
   * animation slide-top
   * ----------------------------------------
   */
@-webkit-keyframes slide-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    100% {
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);
    }
}

@keyframes slide-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    100% {
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);
    }
}

/**
   * ----------------------------------------
   * animation slide-left
   * ----------------------------------------
   */
@-webkit-keyframes slide-left {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
    }
}

@keyframes slide-left {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
    }
}

/**
   * ----------------------------------------
   * animation slide-right
   * ----------------------------------------
   */
@-webkit-keyframes slide-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
    }
}

@keyframes slide-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
    }
}

/**
   * ----------------------------------------
   * animation slide-bottom
   * ----------------------------------------
   */
@-webkit-keyframes slide-bottom {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    100% {
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
    }
}

@keyframes slide-bottom {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    100% {
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
    }
}

/**
   * ----------------------------------------
   * animation scale-in-ver-center
   * ----------------------------------------
   */
@-webkit-keyframes scale-in-ver-center {
    0% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        opacity: 1;
    }
}

@keyframes scale-in-ver-center {
    0% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation rotate-in-2-fwd-cw
   * ----------------------------------------
   */
@-webkit-keyframes rotate-in-2-fwd-cw {
    0% {
        -webkit-transform: translateZ(-200px) rotate(-45deg);
        transform: translateZ(-200px) rotate(-45deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) rotate(0);
        transform: translateZ(0) rotate(0);
        opacity: 1;
    }
}

@keyframes rotate-in-2-fwd-cw {
    0% {
        -webkit-transform: translateZ(-200px) rotate(-45deg);
        transform: translateZ(-200px) rotate(-45deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) rotate(0);
        transform: translateZ(0) rotate(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation rotate-in-2-fwd-ccw
   * ----------------------------------------
   */
@-webkit-keyframes rotate-in-2-fwd-ccw {
    0% {
        -webkit-transform: translateZ(-200px) rotate(45deg);
        transform: translateZ(-200px) rotate(45deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) rotate(0);
        transform: translateZ(0) rotate(0);
        opacity: 1;
    }
}

@keyframes rotate-in-2-fwd-ccw {
    0% {
        -webkit-transform: translateZ(-200px) rotate(45deg);
        transform: translateZ(-200px) rotate(45deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) rotate(0);
        transform: translateZ(0) rotate(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation rotate-in-2-bck-cw
   * ----------------------------------------
   */
@-webkit-keyframes rotate-in-2-bck-cw {
    0% {
        -webkit-transform: translateZ(200px) rotate(-45deg);
        transform: translateZ(200px) rotate(-45deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) rotate(0);
        transform: translateZ(0) rotate(0);
        opacity: 1;
    }
}

@keyframes rotate-in-2-bck-cw {
    0% {
        -webkit-transform: translateZ(200px) rotate(-45deg);
        transform: translateZ(200px) rotate(-45deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) rotate(0);
        transform: translateZ(0) rotate(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation rotate-in-2-bck-ccw
   * ----------------------------------------
   */
@-webkit-keyframes rotate-in-2-bck-ccw {
    0% {
        -webkit-transform: translateZ(200px) rotate(45deg);
        transform: translateZ(200px) rotate(45deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) rotate(0);
        transform: translateZ(0) rotate(0);
        opacity: 1;
    }
}

@keyframes rotate-in-2-bck-ccw {
    0% {
        -webkit-transform: translateZ(200px) rotate(45deg);
        transform: translateZ(200px) rotate(45deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) rotate(0);
        transform: translateZ(0) rotate(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation swirl-in-fwd
   * ----------------------------------------
   */
@-webkit-keyframes swirl-in-fwd {
    0% {
        -webkit-transform: rotate(-540deg) scale(0);
        transform: rotate(-540deg) scale(0);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate(0) scale(1);
        transform: rotate(0) scale(1);
        opacity: 1;
    }
}

@keyframes swirl-in-fwd {
    0% {
        -webkit-transform: rotate(-540deg) scale(0);
        transform: rotate(-540deg) scale(0);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate(0) scale(1);
        transform: rotate(0) scale(1);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation swirl-in-bck
   * ----------------------------------------
   */
@-webkit-keyframes swirl-in-bck {
    0% {
        -webkit-transform: rotate(540deg) scale(5);
        transform: rotate(540deg) scale(5);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate(0) scale(1);
        transform: rotate(0) scale(1);
        opacity: 1;
    }
}

@keyframes swirl-in-bck {
    0% {
        -webkit-transform: rotate(540deg) scale(5);
        transform: rotate(540deg) scale(5);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate(0) scale(1);
        transform: rotate(0) scale(1);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation flip-in-hor-bottom
   * ----------------------------------------
   */
@-webkit-keyframes flip-in-hor-bottom {
    0% {
        -webkit-transform: rotateX(80deg);
        transform: rotateX(80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
        opacity: 1;
    }
}

@keyframes flip-in-hor-bottom {
    0% {
        -webkit-transform: rotateX(80deg);
        transform: rotateX(80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation flip-in-hor-top
   * ----------------------------------------
   */
@-webkit-keyframes flip-in-hor-top {
    0% {
        -webkit-transform: rotateX(-80deg);
        transform: rotateX(-80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
        opacity: 1;
    }
}

@keyframes flip-in-hor-top {
    0% {
        -webkit-transform: rotateX(-80deg);
        transform: rotateX(-80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation flip-in-ver-right
   * ----------------------------------------
   */
@-webkit-keyframes flip-in-ver-right {
    0% {
        -webkit-transform: rotateY(-80deg);
        transform: rotateY(-80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
        opacity: 1;
    }
}

@keyframes flip-in-ver-right {
    0% {
        -webkit-transform: rotateY(-80deg);
        transform: rotateY(-80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation flip-in-ver-left
   * ----------------------------------------
   */
@-webkit-keyframes flip-in-ver-left {
    0% {
        -webkit-transform: rotateY(80deg);
        transform: rotateY(80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
        opacity: 1;
    }
}

@keyframes flip-in-ver-left {
    0% {
        -webkit-transform: rotateY(80deg);
        transform: rotateY(80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation flip-in-diag-1-bl
   * ----------------------------------------
   */
@-webkit-keyframes flip-in-diag-1-bl {
    0% {
        -webkit-transform: rotate3d(1, 1, 0, 80deg);
        transform: rotate3d(1, 1, 0, 80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate3d(1, 1, 0, 0deg);
        transform: rotate3d(1, 1, 0, 0deg);
        opacity: 1;
    }
}

@keyframes flip-in-diag-1-bl {
    0% {
        -webkit-transform: rotate3d(1, 1, 0, 80deg);
        transform: rotate3d(1, 1, 0, 80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate3d(1, 1, 0, 0deg);
        transform: rotate3d(1, 1, 0, 0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation flip-in-diag-1-tr
   * ----------------------------------------
   */
@-webkit-keyframes flip-in-diag-1-tr {
    0% {
        -webkit-transform: rotate3d(1, 1, 0, -80deg);
        transform: rotate3d(1, 1, 0, -80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate3d(1, 1, 0, 0deg);
        transform: rotate3d(1, 1, 0, 0deg);
        opacity: 1;
    }
}

@keyframes flip-in-diag-1-tr {
    0% {
        -webkit-transform: rotate3d(1, 1, 0, -80deg);
        transform: rotate3d(1, 1, 0, -80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate3d(1, 1, 0, 0deg);
        transform: rotate3d(1, 1, 0, 0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation flip-in-diag-2-tl
   * ----------------------------------------
   */
@-webkit-keyframes flip-in-diag-2-tl {
    0% {
        -webkit-transform: rotate3d(-1, 1, 0, 80deg);
        transform: rotate3d(-1, 1, 0, 80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate3d(1, 1, 0, 0deg);
        transform: rotate3d(1, 1, 0, 0deg);
        opacity: 1;
    }
}

@keyframes flip-in-diag-2-tl {
    0% {
        -webkit-transform: rotate3d(-1, 1, 0, 80deg);
        transform: rotate3d(-1, 1, 0, 80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate3d(1, 1, 0, 0deg);
        transform: rotate3d(1, 1, 0, 0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation flip-in-diag-2-br
   * ----------------------------------------
   */
@-webkit-keyframes flip-in-diag-2-br {
    0% {
        -webkit-transform: rotate3d(-1, 1, 0, -80deg);
        transform: rotate3d(-1, 1, 0, -80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate3d(1, 1, 0, 0deg);
        transform: rotate3d(1, 1, 0, 0deg);
        opacity: 1;
    }
}

@keyframes flip-in-diag-2-br {
    0% {
        -webkit-transform: rotate3d(-1, 1, 0, -80deg);
        transform: rotate3d(-1, 1, 0, -80deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: rotate3d(1, 1, 0, 0deg);
        transform: rotate3d(1, 1, 0, 0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * 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-in-right
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-right {
    0% {
        -webkit-transform: translateX(1000px);
        transform: translateX(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-right {
    0% {
        -webkit-transform: translateX(1000px);
        transform: translateX(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

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

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slide-in-bottom {
    0% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

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

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-left {
    0% {
        -webkit-transform: translateX(-1000px);
        transform: translateX(-1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-fwd-center
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-fwd-center {
    0% {
        -webkit-transform: translateZ(-1400px);
        transform: translateZ(-1400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes slide-in-fwd-center {
    0% {
        -webkit-transform: translateZ(-1400px);
        transform: translateZ(-1400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-fwd-top
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-fwd-top {
    0% {
        -webkit-transform: translateZ(-1400px) translateY(-800px);
        transform: translateZ(-1400px) translateY(-800px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

@keyframes slide-in-fwd-top {
    0% {
        -webkit-transform: translateZ(-1400px) translateY(-800px);
        transform: translateZ(-1400px) translateY(-800px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-fwd-right
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-fwd-right {
    0% {
        -webkit-transform: translateZ(-1400px) translateX(1000px);
        transform: translateZ(-1400px) translateX(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-fwd-right {
    0% {
        -webkit-transform: translateZ(-1400px) translateX(1000px);
        transform: translateZ(-1400px) translateX(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-fwd-bottom
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-fwd-bottom {
    0% {
        -webkit-transform: translateZ(-1400px) translateY(800px);
        transform: translateZ(-1400px) translateY(800px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

@keyframes slide-in-fwd-bottom {
    0% {
        -webkit-transform: translateZ(-1400px) translateY(800px);
        transform: translateZ(-1400px) translateY(800px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-fwd-left
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-fwd-left {
    0% {
        -webkit-transform: translateZ(-1400px) translateX(-1000px);
        transform: translateZ(-1400px) translateX(-1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-fwd-left {
    0% {
        -webkit-transform: translateZ(-1400px) translateX(-1000px);
        transform: translateZ(-1400px) translateX(-1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-center
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-center {
    0% {
        -webkit-transform: translateZ(600px);
        transform: translateZ(600px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-center {
    0% {
        -webkit-transform: translateZ(600px);
        transform: translateZ(600px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-top
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-top {
    0% {
        -webkit-transform: translateZ(700px) translateY(-300px);
        transform: translateZ(700px) translateY(-300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-top {
    0% {
        -webkit-transform: translateZ(700px) translateY(-300px);
        transform: translateZ(700px) translateY(-300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-tr
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-tr {
    0% {
        -webkit-transform: translateZ(700px) translateY(-300px) translateX(400px);
        transform: translateZ(700px) translateY(-300px) translateX(400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-tr {
    0% {
        -webkit-transform: translateZ(700px) translateY(-300px) translateX(400px);
        transform: translateZ(700px) translateY(-300px) translateX(400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-right
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-right {
    0% {
        -webkit-transform: translateZ(700px) translateX(400px);
        transform: translateZ(700px) translateX(400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-right {
    0% {
        -webkit-transform: translateZ(700px) translateX(400px);
        transform: translateZ(700px) translateX(400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-br
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-br {
    0% {
        -webkit-transform: translateZ(700px) translateY(300px) translateX(400px);
        transform: translateZ(700px) translateY(300px) translateX(400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-br {
    0% {
        -webkit-transform: translateZ(700px) translateY(300px) translateX(400px);
        transform: translateZ(700px) translateY(300px) translateX(400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-bottom
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-bottom {
    0% {
        -webkit-transform: translateZ(700px) translateY(300px);
        transform: translateZ(700px) translateY(300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-bottom {
    0% {
        -webkit-transform: translateZ(700px) translateY(300px);
        transform: translateZ(700px) translateY(300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-bl
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-bl {
    0% {
        -webkit-transform: translateZ(700px) translateY(300px) translateX(-400px);
        transform: translateZ(700px) translateY(300px) translateX(-400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-bl {
    0% {
        -webkit-transform: translateZ(700px) translateY(300px) translateX(-400px);
        transform: translateZ(700px) translateY(300px) translateX(-400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-left
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-left {
    0% {
        -webkit-transform: translateZ(700px) translateX(-400px);
        transform: translateZ(700px) translateX(-400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-left {
    0% {
        -webkit-transform: translateZ(700px) translateX(-400px);
        transform: translateZ(700px) translateX(-400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-bck-tl
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-bck-tl {
    0% {
        -webkit-transform: translateZ(700px) translateY(-300px) translateX(-400px);
        transform: translateZ(700px) translateY(-300px) translateX(-400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-tl {
    0% {
        -webkit-transform: translateZ(700px) translateY(-300px) translateX(-400px);
        transform: translateZ(700px) translateY(-300px) translateX(-400px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-blurred-top
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-blurred-top {
    0% {
        -webkit-transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
        transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-top {
    0% {
        -webkit-transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
        transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-blurred-tr
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-blurred-tr {
    0% {
        -webkit-transform: translate(1000px, -1000px) skew(-80deg, -10deg);
        transform: translate(1000px, -1000px) skew(-80deg, -10deg);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-tr {
    0% {
        -webkit-transform: translate(1000px, -1000px) skew(-80deg, -10deg);
        transform: translate(1000px, -1000px) skew(-80deg, -10deg);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-blurred-right
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-blurred-right {
    0% {
        -webkit-transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        -webkit-transform-origin: 0% 50%;
        transform-origin: 0% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -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;
    }
}

@keyframes slide-in-blurred-right {
    0% {
        -webkit-transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        -webkit-transform-origin: 0% 50%;
        transform-origin: 0% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -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;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-blurred-br
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-blurred-br {
    0% {
        -webkit-transform: translate(1000px, 1000px) skew(80deg, 10deg);
        transform: translate(1000px, 1000px) skew(80deg, 10deg);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-br {
    0% {
        -webkit-transform: translate(1000px, 1000px) skew(80deg, 10deg);
        transform: translate(1000px, 1000px) skew(80deg, 10deg);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-blurred-bottom
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
        transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
        -webkit-transform-origin: 50% 100%;
        transform-origin: 50% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
        transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
        -webkit-transform-origin: 50% 100%;
        transform-origin: 50% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-blurred-bl
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-blurred-bl {
    0% {
        -webkit-transform: translate(-1000px, 1000px) skew(-80deg, -10deg);
        transform: translate(-1000px, 1000px) skew(-80deg, -10deg);
        -webkit-transform-origin: 100% 100%;
        transform-origin: 100% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-bl {
    0% {
        -webkit-transform: translate(-1000px, 1000px) skew(-80deg, -10deg);
        transform: translate(-1000px, 1000px) skew(-80deg, -10deg);
        -webkit-transform-origin: 100% 100%;
        transform-origin: 100% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

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

    100% {
        -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;
    }
}

@keyframes slide-in-blurred-left {
    0% {
        -webkit-transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);
        transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -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;
    }
}

/**
   * ----------------------------------------
   * animation slide-in-blurred-tl
   * ----------------------------------------
   */
@-webkit-keyframes slide-in-blurred-tl {
    0% {
        -webkit-transform: translate(-1000px, -1000px) skew(80deg, 10deg);
        transform: translate(-1000px, -1000px) skew(80deg, 10deg);
        -webkit-transform-origin: 100% 0%;
        transform-origin: 100% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-tl {
    0% {
        -webkit-transform: translate(-1000px, -1000px) skew(80deg, 10deg);
        transform: translate(-1000px, -1000px) skew(80deg, 10deg);
        -webkit-transform-origin: 100% 0%;
        transform-origin: 100% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation roll-in-left
   * ----------------------------------------
   */
@-webkit-keyframes roll-in-left {
    0% {
        -webkit-transform: translateX(-800px) rotate(-540deg);
        transform: translateX(-800px) rotate(-540deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) rotate(0deg);
        transform: translateX(0) rotate(0deg);
        opacity: 1;
    }
}

@keyframes roll-in-left {
    0% {
        -webkit-transform: translateX(-800px) rotate(-540deg);
        transform: translateX(-800px) rotate(-540deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) rotate(0deg);
        transform: translateX(0) rotate(0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation roll-in-top
   * ----------------------------------------
   */
@-webkit-keyframes roll-in-top {
    0% {
        -webkit-transform: translateY(-800px) rotate(-540deg);
        transform: translateY(-800px) rotate(-540deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
}

@keyframes roll-in-top {
    0% {
        -webkit-transform: translateY(-800px) rotate(-540deg);
        transform: translateY(-800px) rotate(-540deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation roll-in-right
   * ----------------------------------------
   */
@-webkit-keyframes roll-in-right {
    0% {
        -webkit-transform: translateX(800px) rotate(540deg);
        transform: translateX(800px) rotate(540deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) rotate(0deg);
        transform: translateX(0) rotate(0deg);
        opacity: 1;
    }
}

@keyframes roll-in-right {
    0% {
        -webkit-transform: translateX(800px) rotate(540deg);
        transform: translateX(800px) rotate(540deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) rotate(0deg);
        transform: translateX(0) rotate(0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation roll-in-bottom
   * ----------------------------------------
   */
@-webkit-keyframes roll-in-bottom {
    0% {
        -webkit-transform: translateY(800px) rotate(540deg);
        transform: translateY(800px) rotate(540deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
}

@keyframes roll-in-bottom {
    0% {
        -webkit-transform: translateY(800px) rotate(540deg);
        transform: translateY(800px) rotate(540deg);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation roll-in-blurred-left
   * ----------------------------------------
   */
@-webkit-keyframes roll-in-blurred-left {
    0% {
        -webkit-transform: translateX(-1000px) rotate(-720deg);
        transform: translateX(-1000px) rotate(-720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) rotate(0deg);
        transform: translateX(0) rotate(0deg);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes roll-in-blurred-left {
    0% {
        -webkit-transform: translateX(-1000px) rotate(-720deg);
        transform: translateX(-1000px) rotate(-720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) rotate(0deg);
        transform: translateX(0) rotate(0deg);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation roll-in-blurred-top
   * ----------------------------------------
   */
@-webkit-keyframes roll-in-blurred-top {
    0% {
        -webkit-transform: translateY(-800px) rotate(-720deg);
        transform: translateY(-800px) rotate(-720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes roll-in-blurred-top {
    0% {
        -webkit-transform: translateY(-800px) rotate(-720deg);
        transform: translateY(-800px) rotate(-720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation roll-in-blurred-right
   * ----------------------------------------
   */
@-webkit-keyframes roll-in-blurred-right {
    0% {
        -webkit-transform: translateX(1000px) rotate(720deg);
        transform: translateX(1000px) rotate(720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) rotate(0deg);
        transform: translateX(0) rotate(0deg);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes roll-in-blurred-right {
    0% {
        -webkit-transform: translateX(1000px) rotate(720deg);
        transform: translateX(1000px) rotate(720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) rotate(0deg);
        transform: translateX(0) rotate(0deg);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation roll-in-blurred-bottom
   * ----------------------------------------
   */
@-webkit-keyframes roll-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(800px) rotate(720deg);
        transform: translateY(800px) rotate(720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
}

@keyframes roll-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(800px) rotate(720deg);
        transform: translateY(800px) rotate(720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in
   * ----------------------------------------
   */
@-webkit-keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-fwd
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-fwd {
    0% {
        -webkit-transform: translateZ(-80px);
        transform: translateZ(-80px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes fade-in-fwd {
    0% {
        -webkit-transform: translateZ(-80px);
        transform: translateZ(-80px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-bck
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-bck {
    0% {
        -webkit-transform: translateZ(80px);
        transform: translateZ(80px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes fade-in-bck {
    0% {
        -webkit-transform: translateZ(80px);
        transform: translateZ(80px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-top
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-top {
    0% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in-top {
    0% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-tr
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-tr {
    0% {
        -webkit-transform: translateX(50px) translateY(-50px);
        transform: translateX(50px) translateY(-50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in-tr {
    0% {
        -webkit-transform: translateX(50px) translateY(-50px);
        transform: translateX(50px) translateY(-50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-right
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-right {
    0% {
        -webkit-transform: translateX(50px);
        transform: translateX(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fade-in-right {
    0% {
        -webkit-transform: translateX(50px);
        transform: translateX(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-br
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-br {
    0% {
        -webkit-transform: translateX(50px) translateY(50px);
        transform: translateX(50px) translateY(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in-br {
    0% {
        -webkit-transform: translateX(50px) translateY(50px);
        transform: translateX(50px) translateY(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-bottom
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-bottom {
    0% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in-bottom {
    0% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-bl
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-bl {
    0% {
        -webkit-transform: translateX(-50px) translateY(50px);
        transform: translateX(-50px) translateY(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in-bl {
    0% {
        -webkit-transform: translateX(-50px) translateY(50px);
        transform: translateX(-50px) translateY(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-left
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-left {
    0% {
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fade-in-left {
    0% {
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation fade-in-tl
   * ----------------------------------------
   */
@-webkit-keyframes fade-in-tl {
    0% {
        -webkit-transform: translateX(-50px) translateY(-50px);
        transform: translateX(-50px) translateY(-50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in-tl {
    0% {
        -webkit-transform: translateX(-50px) translateY(-50px);
        transform: translateX(-50px) translateY(-50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation scale-out-center
   * ----------------------------------------
   */
@-webkit-keyframes scale-out-center {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 1;
    }
}

@keyframes scale-out-center {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation scale-out-vertical
   * ----------------------------------------
   */
@-webkit-keyframes scale-out-vertical {
    0% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        opacity: 1;
    }

    100% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        opacity: 1;
    }
}

@keyframes scale-out-vertical {
    0% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        opacity: 1;
    }

    100% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation rotate-out-center
   * ----------------------------------------
   */
@-webkit-keyframes rotate-out-center {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg);
        opacity: 0;
    }
}

@keyframes rotate-out-center {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation swirl-out-bck
   * ----------------------------------------
   */
@-webkit-keyframes swirl-out-bck {
    0% {
        -webkit-transform: rotate(0) scale(1);
        transform: rotate(0) scale(1);
        opacity: 1;
    }

    100% {
        -webkit-transform: rotate(-540deg) scale(0);
        transform: rotate(-540deg) scale(0);
        opacity: 0;
    }
}

@keyframes swirl-out-bck {
    0% {
        -webkit-transform: rotate(0) scale(1);
        transform: rotate(0) scale(1);
        opacity: 1;
    }

    100% {
        -webkit-transform: rotate(-540deg) scale(0);
        transform: rotate(-540deg) scale(0);
        opacity: 0;
    }
}

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

    100% {
        -webkit-transform: translateY(-1000px);
        transform: translateY(-1000px);
        opacity: 0;
    }
}

@keyframes slide-out-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(-1000px);
        transform: translateY(-1000px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation slide-out-tr
   * ----------------------------------------
   */
@-webkit-keyframes slide-out-tr {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(-1000px) translateX(1000px);
        transform: translateY(-1000px) translateX(1000px);
        opacity: 0;
    }
}

@keyframes slide-out-tr {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(-1000px) translateX(1000px);
        transform: translateY(-1000px) translateX(1000px);
        opacity: 0;
    }
}

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

    100% {
        -webkit-transform: translateX(1000px);
        transform: translateX(1000px);
        opacity: 0;
    }
}

@keyframes slide-out-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(1000px);
        transform: translateX(1000px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation slide-out-br
   * ----------------------------------------
   */
@-webkit-keyframes slide-out-br {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(1000px) translateX(1000px);
        transform: translateY(1000px) translateX(1000px);
        opacity: 0;
    }
}

@keyframes slide-out-br {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(1000px) translateX(1000px);
        transform: translateY(1000px) translateX(1000px);
        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-bl
   * ----------------------------------------
   */
@-webkit-keyframes slide-out-bl {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(1000px) translateX(-1000px);
        transform: translateY(1000px) translateX(-1000px);
        opacity: 0;
    }
}

@keyframes slide-out-bl {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(1000px) translateX(-1000px);
        transform: translateY(1000px) translateX(-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;
    }
}

/**
   * ----------------------------------------
   * animation slide-out-tl
   * ----------------------------------------
   */
@-webkit-keyframes slide-out-tl {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(-1000px) translateX(-1000px);
        transform: translateY(-1000px) translateX(-1000px);
        opacity: 0;
    }
}

@keyframes slide-out-tl {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(-1000px) translateX(-1000px);
        transform: translateY(-1000px) translateX(-1000px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out
   * ----------------------------------------
   */
@-webkit-keyframes fade-out {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fade-out {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out-bck
   * ----------------------------------------
   */
@-webkit-keyframes fade-out-bck {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(-80px);
        transform: translateZ(-80px);
        opacity: 0;
    }
}

@keyframes fade-out-bck {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(-80px);
        transform: translateZ(-80px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out-fwd
   * ----------------------------------------
   */
@-webkit-keyframes fade-out-fwd {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(80px);
        transform: translateZ(80px);
        opacity: 0;
    }
}

@keyframes fade-out-fwd {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(80px);
        transform: translateZ(80px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out-top
   * ----------------------------------------
   */
@-webkit-keyframes fade-out-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        opacity: 0;
    }
}

@keyframes fade-out-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out-tr
   * ----------------------------------------
   */
@-webkit-keyframes fade-out-tr {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(50px) translateY(-50px);
        transform: translateX(50px) translateY(-50px);
        opacity: 0;
    }
}

@keyframes fade-out-tr {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(50px) translateY(-50px);
        transform: translateX(50px) translateY(-50px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out-right
   * ----------------------------------------
   */
@-webkit-keyframes fade-out-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(50px);
        transform: translateX(50px);
        opacity: 0;
    }
}

@keyframes fade-out-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(50px);
        transform: translateX(50px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out-br
   * ----------------------------------------
   */
@-webkit-keyframes fade-out-br {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(50px) translateY(50px);
        transform: translateX(50px) translateY(50px);
        opacity: 0;
    }
}

@keyframes fade-out-br {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(50px) translateY(50px);
        transform: translateX(50px) translateY(50px);
        opacity: 0;
    }
}

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

    100% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }
}

@keyframes fade-out-bottom {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out-bl
   * ----------------------------------------
   */
@-webkit-keyframes fade-out-bl {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(-50px) translateY(50px);
        transform: translateX(-50px) translateY(50px);
        opacity: 0;
    }
}

@keyframes fade-out-bl {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(-50px) translateY(50px);
        transform: translateX(-50px) translateY(50px);
        opacity: 0;
    }
}

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

    100% {
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px);
        opacity: 0;
    }
}

@keyframes fade-out-left {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation fade-out-tl
   * ----------------------------------------
   */
@-webkit-keyframes fade-out-tl {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(-50px) translateY(-50px);
        transform: translateX(-50px) translateY(-50px);
        opacity: 0;
    }
}

@keyframes fade-out-tl {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(-50px) translateY(-50px);
        transform: translateX(-50px) translateY(-50px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation tracking-in-expand
   * ----------------------------------------
   */
@-webkit-keyframes tracking-in-expand {
    0% {
        letter-spacing: -0.5em;
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        opacity: 1;
    }
}

@keyframes tracking-in-expand {
    0% {
        letter-spacing: -0.5em;
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation tracking-in-expand-fwd
   * ----------------------------------------
   */
@-webkit-keyframes tracking-in-expand-fwd {
    0% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-700px);
        transform: translateZ(-700px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes tracking-in-expand-fwd {
    0% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-700px);
        transform: translateZ(-700px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation tracking-in-expand-fwd-top
   * ----------------------------------------
   */
@-webkit-keyframes tracking-in-expand-fwd-top {
    0% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-700px) translateY(-500px);
        transform: translateZ(-700px) translateY(-500px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

@keyframes tracking-in-expand-fwd-top {
    0% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-700px) translateY(-500px);
        transform: translateZ(-700px) translateY(-500px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation tracking-in-expand-fwd-bottom
   * ----------------------------------------
   */
@-webkit-keyframes tracking-in-expand-fwd-bottom {
    0% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-700px) translateY(500px);
        transform: translateZ(-700px) translateY(500px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

@keyframes tracking-in-expand-fwd-bottom {
    0% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-700px) translateY(500px);
        transform: translateZ(-700px) translateY(500px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation tracking-in-contract
   * ----------------------------------------
   */
@-webkit-keyframes tracking-in-contract {
    0% {
        letter-spacing: 1em;
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        letter-spacing: normal;
        opacity: 1;
    }
}

@keyframes tracking-in-contract {
    0% {
        letter-spacing: 1em;
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        letter-spacing: normal;
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation tracking-in-contract-bck
   * ----------------------------------------
   */
@-webkit-keyframes tracking-in-contract-bck {
    0% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(400px);
        transform: translateZ(400px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes tracking-in-contract-bck {
    0% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(400px);
        transform: translateZ(400px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation tracking-in-contract-bck-top
   * ----------------------------------------
   */
@-webkit-keyframes tracking-in-contract-bck-top {
    0% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(400px) translateY(-300px);
        transform: translateZ(400px) translateY(-300px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

@keyframes tracking-in-contract-bck-top {
    0% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(400px) translateY(-300px);
        transform: translateZ(400px) translateY(-300px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation tracking-in-contract-bck-bottom
   * ----------------------------------------
   */
@-webkit-keyframes tracking-in-contract-bck-bottom {
    0% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(400px) translateY(300px);
        transform: translateZ(400px) translateY(300px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

@keyframes tracking-in-contract-bck-bottom {
    0% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(400px) translateY(300px);
        transform: translateZ(400px) translateY(300px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation tracking-out-contract
   * ----------------------------------------
   */
@-webkit-keyframes tracking-out-contract {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 1;
    }

    100% {
        letter-spacing: -0.5em;
        opacity: 0;
    }
}

@keyframes tracking-out-contract {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 1;
    }

    100% {
        letter-spacing: -0.5em;
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation tracking-out-contract-bck
   * ----------------------------------------
   */
@-webkit-keyframes tracking-out-contract-bck {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-500px);
        transform: translateZ(-500px);
        opacity: 0;
    }
}

@keyframes tracking-out-contract-bck {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-500px);
        transform: translateZ(-500px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation tracking-out-expand-fwd
   * ----------------------------------------
   */
@-webkit-keyframes tracking-out-expand-fwd {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        opacity: 0;
    }
}

@keyframes tracking-out-expand-fwd {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation tracking-out-expand
   * ----------------------------------------
   */
@-webkit-keyframes tracking-out-expand {
    0% {
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        letter-spacing: 1em;
        opacity: 0;
    }
}

@keyframes tracking-out-expand {
    0% {
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        letter-spacing: 1em;
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation tracking-out-contract-bck-bottom
   * ----------------------------------------
   */
@-webkit-keyframes tracking-out-contract-bck-bottom {
    0% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-500px) translateY(300px);
        transform: translateZ(-500px) translateY(300px);
        opacity: 0;
    }
}

@keyframes tracking-out-contract-bck-bottom {
    0% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-500px) translateY(300px);
        transform: translateZ(-500px) translateY(300px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation tracking-out-contract-bck-top
   * ----------------------------------------
   */
@-webkit-keyframes tracking-out-contract-bck-top {
    0% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-500px) translateY(-300px);
        transform: translateZ(-500px) translateY(-300px);
        opacity: 0;
    }
}

@keyframes tracking-out-contract-bck-top {
    0% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-500px) translateY(-300px);
        transform: translateZ(-500px) translateY(-300px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation tracking-out-expand-fwd-bottom
   * ----------------------------------------
   */
@-webkit-keyframes tracking-out-expand-fwd-bottom {
    0% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px) translateY(200px);
        transform: translateZ(300px) translateY(200px);
        opacity: 0;
    }
}

@keyframes tracking-out-expand-fwd-bottom {
    0% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px) translateY(200px);
        transform: translateZ(300px) translateY(200px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * animation tracking-out-expand-fwd-top
   * ----------------------------------------
   */
@-webkit-keyframes tracking-out-expand-fwd-top {
    0% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px) translateY(-200px);
        transform: translateZ(300px) translateY(-200px);
        opacity: 0;
    }
}

@keyframes tracking-out-expand-fwd-top {
    0% {
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px) translateY(-200px);
        transform: translateZ(300px) translateY(-200px);
        opacity: 0;
    }
}

/**
   * ----------------------------------------
   * 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 focus-in-expand
   * ----------------------------------------
   */
@-webkit-keyframes focus-in-expand {
    0% {
        letter-spacing: -0.5em;
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

@keyframes focus-in-expand {
    0% {
        letter-spacing: -0.5em;
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation focus-in-expand-fwd
   * ----------------------------------------
   */
@-webkit-keyframes focus-in-expand-fwd {
    0% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-800px);
        transform: translateZ(-800px);
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes focus-in-expand-fwd {
    0% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-800px);
        transform: translateZ(-800px);
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation focus-in-contract
   * ----------------------------------------
   */
@-webkit-keyframes focus-in-contract {
    0% {
        letter-spacing: 1em;
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

@keyframes focus-in-contract {
    0% {
        letter-spacing: 1em;
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

/**
   * ----------------------------------------
   * animation focus-in-contract-bck
   * ----------------------------------------
   */
@-webkit-keyframes focus-in-contract-bck {
    0% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(12px);
        transform: translateZ(12px);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes focus-in-contract-bck {
    0% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(12px);
        transform: translateZ(12px);
        -webkit-filter: blur(0);
        filter: blur(0);
        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 blur-out-contract
   * ----------------------------------------
   */
@-webkit-keyframes blur-out-contract {
    0% {
        -webkit-filter: blur(0.01);
        filter: blur(0.01);
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-filter: blur(12px) opacity(0%);
        filter: blur(12px) opacity(0%);
    }
}

@keyframes blur-out-contract {
    0% {
        -webkit-filter: blur(0.01);
        filter: blur(0.01);
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-filter: blur(12px) opacity(0%);
        filter: blur(12px) opacity(0%);
    }
}

/**
   * ----------------------------------------
   * animation blur-out-contract-bck
   * ----------------------------------------
   */
@-webkit-keyframes blur-out-contract-bck {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-filter: blur(0.01);
        filter: blur(0.01);
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-500px);
        transform: translateZ(-500px);
        -webkit-filter: blur(12px) opacity(0%);
        filter: blur(12px) opacity(0%);
    }
}

@keyframes blur-out-contract-bck {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-filter: blur(0.01);
        filter: blur(0.01);
    }

    100% {
        letter-spacing: -0.5em;
        -webkit-transform: translateZ(-500px);
        transform: translateZ(-500px);
        -webkit-filter: blur(12px) opacity(0%);
        filter: blur(12px) opacity(0%);
    }
}

/**
   * ----------------------------------------
   * animation blur-out-expand
   * ----------------------------------------
   */
@-webkit-keyframes blur-out-expand {
    0% {
        -webkit-filter: blur(0.01);
        filter: blur(0.01);
    }

    100% {
        letter-spacing: 1em;
        -webkit-filter: blur(12px) opacity(0%);
        filter: blur(12px) opacity(0%);
    }
}

@keyframes blur-out-expand {
    0% {
        -webkit-filter: blur(0.01);
        filter: blur(0.01);
    }

    100% {
        letter-spacing: 1em;
        -webkit-filter: blur(12px) opacity(0%);
        filter: blur(12px) opacity(0%);
    }
}

/**
   * ----------------------------------------
   * animation blur-out-expand-fwd
   * ----------------------------------------
   */
@-webkit-keyframes blur-out-expand-fwd {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-filter: blur(0.01);
        filter: blur(0.01);
    }

    100% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        -webkit-filter: blur(12px) opacity(0%);
        filter: blur(12px) opacity(0%);
    }
}

@keyframes blur-out-expand-fwd {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-filter: blur(0.01);
        filter: blur(0.01);
    }

    100% {
        letter-spacing: 1em;
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        -webkit-filter: blur(12px) opacity(0%);
        filter: blur(12px) opacity(0%);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-bottom
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-bottom {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-bottom {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-br
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-br {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 6px 6px 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-br {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 6px 6px 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-right
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-right {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 6px 0 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-right {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 6px 0 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-tr
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-tr {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 6px -6px 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-tr {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 6px -6px 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-tl
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-tl {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: -6px -6px 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-tl {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: -6px -6px 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-top
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-top {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 0 -6px 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-top {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 0 -6px 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-left
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-left {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: -6px 0 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-left {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: -6px 0 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-center
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-center {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 0 0 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-center {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: 0 0 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * @animation text-shadow-drop-bl
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-drop-bl {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: -6px 6px 18px rgba(0, 0, 0, 0.35);
    }
}

@keyframes text-shadow-drop-bl {
    0% {
        text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    100% {
        text-shadow: -6px 6px 18px rgba(0, 0, 0, 0.35);
    }
}

/**
   * ----------------------------------------
   * animation text-shadow-pop-top
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-pop-top {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    100% {
        text-shadow: 0 -1px #555555, 0 -2px #555555, 0 -3px #555555, 0 -4px #555555, 0 -5px #555555, 0 -6px #555555, 0 -7px #555555, 0 -8px #555555;
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }
}

@keyframes text-shadow-pop-top {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    100% {
        text-shadow: 0 -1px #555555, 0 -2px #555555, 0 -3px #555555, 0 -4px #555555, 0 -5px #555555, 0 -6px #555555, 0 -7px #555555, 0 -8px #555555;
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }
}

/**
   * ----------------------------------------
   * animation text-shadow-pop-tr
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-pop-tr {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }

    100% {
        text-shadow: 1px -1px #555555, 2px -2px #555555, 3px -3px #555555, 4px -4px #555555, 5px -5px #555555, 6px -6px #555555, 7px -7px #555555, 8px -8px #555555;
        -webkit-transform: translateX(-8px) translateY(8px);
        transform: translateX(-8px) translateY(8px);
    }
}

@keyframes text-shadow-pop-tr {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }

    100% {
        text-shadow: 1px -1px #555555, 2px -2px #555555, 3px -3px #555555, 4px -4px #555555, 5px -5px #555555, 6px -6px #555555, 7px -7px #555555, 8px -8px #555555;
        -webkit-transform: translateX(-8px) translateY(8px);
        transform: translateX(-8px) translateY(8px);
    }
}

/**
   * ----------------------------------------
   * animation text-shadow-pop-right
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-pop-right {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        text-shadow: 1px 0 #555555, 2px 0 #555555, 3px 0 #555555, 4px 0 #555555, 5px 0 #555555, 6px 0 #555555, 7px 0 #555555, 8px 0 #555555;
        -webkit-transform: translateX(-8px);
        transform: translateX(-8px);
    }
}

@keyframes text-shadow-pop-right {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        text-shadow: 1px 0 #555555, 2px 0 #555555, 3px 0 #555555, 4px 0 #555555, 5px 0 #555555, 6px 0 #555555, 7px 0 #555555, 8px 0 #555555;
        -webkit-transform: translateX(-8px);
        transform: translateX(-8px);
    }
}

/**
   * ----------------------------------------
   * animation text-shadow-pop-br
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-pop-br {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }

    100% {
        text-shadow: 1px 1px #555555, 2px 2px #555555, 3px 3px #555555, 4px 4px #555555, 5px 5px #555555, 6px 6px #555555, 7px 7px #555555, 8px 8px #555555;
        -webkit-transform: translateX(-8px) translateY(-8px);
        transform: translateX(-8px) translateY(-8px);
    }
}

@keyframes text-shadow-pop-br {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }

    100% {
        text-shadow: 1px 1px #555555, 2px 2px #555555, 3px 3px #555555, 4px 4px #555555, 5px 5px #555555, 6px 6px #555555, 7px 7px #555555, 8px 8px #555555;
        -webkit-transform: translateX(-8px) translateY(-8px);
        transform: translateX(-8px) translateY(-8px);
    }
}

/**
   * ----------------------------------------
   * animation text-shadow-pop-bottom
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-pop-bottom {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    100% {
        text-shadow: 0 1px #555555, 0 2px #555555, 0 3px #555555, 0 4px #555555, 0 5px #555555, 0 6px #555555, 0 7px #555555, 0 8px #555555;
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px);
    }
}

@keyframes text-shadow-pop-bottom {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    100% {
        text-shadow: 0 1px #555555, 0 2px #555555, 0 3px #555555, 0 4px #555555, 0 5px #555555, 0 6px #555555, 0 7px #555555, 0 8px #555555;
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px);
    }
}

/**
   * ----------------------------------------
   * animation text-shadow-pop-bl
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-pop-bl {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }

    100% {
        text-shadow: -1px 1px #555555, -2px 2px #555555, -3px 3px #555555, -4px 4px #555555, -5px 5px #555555, -6px 6px #555555, -7px 7px #555555, -8px 8px #555555;
        -webkit-transform: translateX(8px) translateY(-8px);
        transform: translateX(8px) translateY(-8px);
    }
}

@keyframes text-shadow-pop-bl {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }

    100% {
        text-shadow: -1px 1px #555555, -2px 2px #555555, -3px 3px #555555, -4px 4px #555555, -5px 5px #555555, -6px 6px #555555, -7px 7px #555555, -8px 8px #555555;
        -webkit-transform: translateX(8px) translateY(-8px);
        transform: translateX(8px) translateY(-8px);
    }
}

/**
   * ----------------------------------------
   * animation text-shadow-pop-left
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-pop-left {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        text-shadow: -1px 0 #555555, -2px 0 #555555, -3px 0 #555555, -4px 0 #555555, -5px 0 #555555, -6px 0 #555555, -7px 0 #555555, -8px 0 #555555;
        -webkit-transform: translateX(8px);
        transform: translateX(8px);
    }
}

@keyframes text-shadow-pop-left {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        text-shadow: -1px 0 #555555, -2px 0 #555555, -3px 0 #555555, -4px 0 #555555, -5px 0 #555555, -6px 0 #555555, -7px 0 #555555, -8px 0 #555555;
        -webkit-transform: translateX(8px);
        transform: translateX(8px);
    }
}

/**
   * ----------------------------------------
   * animation text-shadow-pop-tl
   * ----------------------------------------
   */
@-webkit-keyframes text-shadow-pop-tl {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }

    100% {
        text-shadow: -1px -1px #555555, -2px -2px #555555, -3px -3px #555555, -4px -4px #555555, -5px -5px #555555, -6px -6px #555555, -7px -7px #555555, -8px -8px #555555;
        -webkit-transform: translateX(8px) translateY(8px);
        transform: translateX(8px) translateY(8px);
    }
}

@keyframes text-shadow-pop-tl {
    0% {
        text-shadow: 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555, 0 0 #555555;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }

    100% {
        text-shadow: -1px -1px #555555, -2px -2px #555555, -3px -3px #555555, -4px -4px #555555, -5px -5px #555555, -6px -6px #555555, -7px -7px #555555, -8px -8px #555555;
        -webkit-transform: translateX(8px) translateY(8px);
        transform: translateX(8px) translateY(8px);
    }
}

/**
   * ----------------------------------------
   * animation text-pop-up-top
   * ----------------------------------------
   */
@-webkit-keyframes text-pop-up-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

/**
   * ----------------------------------------
   * animation text-pop-up-tr
   * ----------------------------------------
   */
@-webkit-keyframes text-pop-up-tr {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(-50px) translateX(50px);
        transform: translateY(-50px) translateX(50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-tr {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(-50px) translateX(50px);
        transform: translateY(-50px) translateX(50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

/**
   * ----------------------------------------
   * animation text-pop-up-right
   * ----------------------------------------
   */
@-webkit-keyframes text-pop-up-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateX(50px);
        transform: translateX(50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateX(50px);
        transform: translateX(50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

/**
   * ----------------------------------------
   * animation text-pop-up-br
   * ----------------------------------------
   */
@-webkit-keyframes text-pop-up-br {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(50px) translateX(50px);
        transform: translateY(50px) translateX(50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-br {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(50px) translateX(50px);
        transform: translateY(50px) translateX(50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

/**
   * ----------------------------------------
   * animation text-pop-up-bottom
   * ----------------------------------------
   */
@-webkit-keyframes text-pop-up-bottom {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-bottom {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

/**
   * ----------------------------------------
   * animation text-pop-up-bl
   * ----------------------------------------
   */
@-webkit-keyframes text-pop-up-bl {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(50px) translateX(-50px);
        transform: translateY(50px) translateX(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-bl {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(50px) translateX(-50px);
        transform: translateY(50px) translateX(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

/**
   * ----------------------------------------
   * animation text-pop-up-left
   * ----------------------------------------
   */
@-webkit-keyframes text-pop-up-left {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-left {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

/**
   * ----------------------------------------
   * animation text-pop-up-tl
   * ----------------------------------------
   */
@-webkit-keyframes text-pop-up-tl {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(-50px) translateX(-50px);
        transform: translateY(-50px) translateX(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-tl {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(-50px) translateX(-50px);
        transform: translateY(-50px) translateX(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

/**
   * ----------------------------------------
   * animation bg-pan-left
   * ----------------------------------------
   */
@-webkit-keyframes bg-pan-left {
    0% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes bg-pan-left {
    0% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

/**
   * ----------------------------------------
   * animation bg-pan-right
   * ----------------------------------------
   */
@-webkit-keyframes bg-pan-right {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 100% 50%;
    }
}

@keyframes bg-pan-right {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 100% 50%;
    }
}

/**
   * ----------------------------------------
   * animation bg-pan-top
   * ----------------------------------------
   */
@-webkit-keyframes bg-pan-top {
    0% {
        background-position: 50% 100%;
    }

    100% {
        background-position: 50% 0%;
    }
}

@keyframes bg-pan-top {
    0% {
        background-position: 50% 100%;
    }

    100% {
        background-position: 50% 0%;
    }
}

/**
   * ----------------------------------------
   * animation bg-pan-bottom
   * ----------------------------------------
   */
@-webkit-keyframes bg-pan-bottom {
    0% {
        background-position: 50% 0%;
    }

    100% {
        background-position: 50% 100%;
    }
}

@keyframes bg-pan-bottom {
    0% {
        background-position: 50% 0%;
    }

    100% {
        background-position: 50% 100%;
    }
}

/**
   * ----------------------------------------
   * animation bg-pan-tr
   * ----------------------------------------
   */
@-webkit-keyframes bg-pan-tr {
    0% {
        background-position: 0% 100%;
    }

    100% {
        background-position: 100% 0%;
    }
}

@keyframes bg-pan-tr {
    0% {
        background-position: 0% 100%;
    }

    100% {
        background-position: 100% 0%;
    }
}

/**
   * ----------------------------------------
   * animation bg-pan-br
   * ----------------------------------------
   */
@-webkit-keyframes bg-pan-br {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 100% 100%;
    }
}

@keyframes bg-pan-br {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 100% 100%;
    }
}

/**
   * ----------------------------------------
   * animation bg-pan-bl
   * ----------------------------------------
   */
@-webkit-keyframes bg-pan-bl {
    0% {
        background-position: 100% 0%;
    }

    100% {
        background-position: 0% 100%;
    }
}

@keyframes bg-pan-bl {
    0% {
        background-position: 100% 0%;
    }

    100% {
        background-position: 0% 100%;
    }
}

/**
   * ----------------------------------------
   * animation bg-pan-tl
   * ----------------------------------------
   */
@-webkit-keyframes bg-pan-tl {
    0% {
        background-position: 100% 100%;
    }

    100% {
        background-position: 0% 0%;
    }
}

@keyframes bg-pan-tl {
    0% {
        background-position: 100% 100%;
    }

    100% {
        background-position: 0% 0%;
    }
}

/**
   * ----------------------------------------
   * animation color-change-2x
   * ----------------------------------------
   */
@-webkit-keyframes color-change-2x {
    0% {
        background: #19dcea;
    }

    100% {
        background: #b22cff;
    }
}

@keyframes color-change-2x {
    0% {
        background: #19dcea;
    }

    100% {
        background: #b22cff;
    }
}

/**
   * ----------------------------------------
   * animation color-change-3x
   * ----------------------------------------
   */
@-webkit-keyframes color-change-3x {
    0% {
        background: #19dcea;
    }

    50% {
        background: #b22cff;
    }

    100% {
        background: #ea2222;
    }
}

@keyframes color-change-3x {
    0% {
        background: #19dcea;
    }

    50% {
        background: #b22cff;
    }

    100% {
        background: #ea2222;
    }
}

/**
   * ----------------------------------------
   * animation color-change-4x
   * ----------------------------------------
   */
@-webkit-keyframes color-change-4x {
    0% {
        background: #19dcea;
    }

    33.3333% {
        background: #b22cff;
    }

    66.666% {
        background: #ea2222;
    }

    100% {
        background: #f5be10;
    }
}

@keyframes color-change-4x {
    0% {
        background: #19dcea;
    }

    33.3333% {
        background: #b22cff;
    }

    66.666% {
        background: #ea2222;
    }

    100% {
        background: #f5be10;
    }
}

/**
   * ----------------------------------------
   * animation color-change-5x
   * ----------------------------------------
   */
@-webkit-keyframes color-change-5x {
    0% {
        background: #19dcea;
    }

    25% {
        background: #b22cff;
    }

    50% {
        background: #ea2222;
    }

    75% {
        background: #f5be10;
    }

    100% {
        background: #3bd80d;
    }
}

@keyframes color-change-5x {
    0% {
        background: #19dcea;
    }

    25% {
        background: #b22cff;
    }

    50% {
        background: #ea2222;
    }

    75% {
        background: #f5be10;
    }

    100% {
        background: #3bd80d;
    }
}

/* ----------------------------------------------
 * Generated by Animista on 2020-4-23 14:44:38
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation scale-down-ver-top
 * ----------------------------------------
 */
@-webkit-keyframes scale-down-ver-top {
    0% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        -webkit-transform-origin: 100% 0%;
        transform-origin: 100% 0%;
    }

    100% {
        -webkit-transform: scaleY(0.3);
        transform: scaleY(0.5);
        -webkit-transform-origin: 100% 0%;
        transform-origin: 100% 0%;
    }
}

@keyframes scale-down-ver-top {
    0% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        -webkit-transform-origin: 100% 0%;
        transform-origin: 100% 0%;
    }

    100% {
        -webkit-transform: scaleY(0.3);
        transform: scaleY(0.3);
        -webkit-transform-origin: 100% 0%;
        transform-origin: 100% 0%;
    }
}


@-webkit-keyframes fadeOut {
    0% {
        opacity: .5;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeOut {
    0% {
        opacity: .5;
    }

    100% {
        opacity: 1;
    }
}


/**
 * ----------------------------------------
 * animation flip-vertical-right
 * ----------------------------------------
 */
@-webkit-keyframes flip-vertical-right {
    0% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }

    100% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg);
    }
}

@keyframes flip-vertical-out {
    0% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg);
    }

    100% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }
}

@-webkit-keyframes flip-vertical-out {
    0% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg);
    }

    100% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }
}

@keyframes flip-vertical-right {
    0% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }

    100% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg);
    }
}

@-webkit-keyframes flip {
    0% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
        transform: perspective(400px) scale3d(.95, .95, .95);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    100% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@keyframes flip {
    0% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
        transform: perspective(400px) scale3d(.95, .95, .95);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    100% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@-webkit-keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    50% {
        opacity: 1;
    }
}

@keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    50% {
        opacity: 1;
    }
}


@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}




@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@-webkit-keyframes slideInUp {
    0% {
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
        visibility: visible;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes slideInUp {
    0% {
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
        visibility: visible;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}


@-webkit-keyframes fadeInopacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeInopacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fade-out-down {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

@keyframes fade-out-down {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

@-webkit-keyframes fade-in-up {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@keyframes fade-in-up {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@-webkit-keyframes text-pop-up-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}

@keyframes text-pop-up-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: none;
    }

    100% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
    }
}