*, ::after, ::before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

html * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html {
    font-size: 62.5%
}

a {
    text-decoration: none
}

@-webkit-keyframes cd-rotate-1-in {
    0% {
        -webkit-transform: rotateX(180deg);
        opacity: 0
    }

    35% {
        -webkit-transform: rotateX(120deg);
        opacity: 0
    }

    65% {
        opacity: 0
    }

    100% {
        -webkit-transform: rotateX(360deg);
        opacity: 1
    }
}

@-moz-keyframes cd-rotate-1-in {
    0% {
        -moz-transform: rotateX(180deg);
        opacity: 0
    }

    35% {
        -moz-transform: rotateX(120deg);
        opacity: 0
    }

    65% {
        opacity: 0
    }

    100% {
        -moz-transform: rotateX(360deg);
        opacity: 1
    }
}

@keyframes cd-rotate-1-in {
    0% {
        -webkit-transform: rotateX(180deg);
        -moz-transform: rotateX(180deg);
        -ms-transform: rotateX(180deg);
        -o-transform: rotateX(180deg);
        transform: rotateX(180deg);
        opacity: 0
    }

    35% {
        -webkit-transform: rotateX(120deg);
        -moz-transform: rotateX(120deg);
        -ms-transform: rotateX(120deg);
        -o-transform: rotateX(120deg);
        transform: rotateX(120deg);
        opacity: 0
    }

    65% {
        opacity: 0
    }

    100% {
        -webkit-transform: rotateX(360deg);
        -moz-transform: rotateX(360deg);
        -ms-transform: rotateX(360deg);
        -o-transform: rotateX(360deg);
        transform: rotateX(360deg);
        opacity: 1
    }
}

@-webkit-keyframes cd-rotate-1-out {
    0% {
        -webkit-transform: rotateX(0);
        opacity: 1
    }

    35% {
        -webkit-transform: rotateX(-40deg);
        opacity: 1
    }

    65% {
        opacity: 0
    }

    100% {
        -webkit-transform: rotateX(180deg);
        opacity: 0
    }
}

@-moz-keyframes cd-rotate-1-out {
    0% {
        -moz-transform: rotateX(0);
        opacity: 1
    }

    35% {
        -moz-transform: rotateX(-40deg);
        opacity: 1
    }

    65% {
        opacity: 0
    }

    100% {
        -moz-transform: rotateX(180deg);
        opacity: 0
    }
}

@keyframes cd-rotate-1-out {
    0% {
        -webkit-transform: rotateX(0);
        -moz-transform: rotateX(0);
        -ms-transform: rotateX(0);
        -o-transform: rotateX(0);
        transform: rotateX(0);
        opacity: 1
    }

    35% {
        -webkit-transform: rotateX(-40deg);
        -moz-transform: rotateX(-40deg);
        -ms-transform: rotateX(-40deg);
        -o-transform: rotateX(-40deg);
        transform: rotateX(-40deg);
        opacity: 1
    }

    65% {
        opacity: 0
    }

    100% {
        -webkit-transform: rotateX(180deg);
        -moz-transform: rotateX(180deg);
        -ms-transform: rotateX(180deg);
        -o-transform: rotateX(180deg);
        transform: rotateX(180deg);
        opacity: 0
    }
}

@-webkit-keyframes cd-pulse {
    0% {
        -webkit-transform: translateY(-50%) scale(1);
        opacity: 1
    }

    40% {
        -webkit-transform: translateY(-50%) scale(.9);
        opacity: 0
    }

    100% {
        -webkit-transform: translateY(-50%) scale(0);
        opacity: 0
    }
}

@-moz-keyframes cd-pulse {
    0% {
        -moz-transform: translateY(-50%) scale(1);
        opacity: 1
    }

    40% {
        -moz-transform: translateY(-50%) scale(.9);
        opacity: 0
    }

    100% {
        -moz-transform: translateY(-50%) scale(0);
        opacity: 0
    }
}

@keyframes cd-pulse {
    0% {
        -webkit-transform: translateY(-50%) scale(1);
        -moz-transform: translateY(-50%) scale(1);
        -ms-transform: translateY(-50%) scale(1);
        -o-transform: translateY(-50%) scale(1);
        transform: translateY(-50%) scale(1);
        opacity: 1
    }

    40% {
        -webkit-transform: translateY(-50%) scale(.9);
        -moz-transform: translateY(-50%) scale(.9);
        -ms-transform: translateY(-50%) scale(.9);
        -o-transform: translateY(-50%) scale(.9);
        transform: translateY(-50%) scale(.9);
        opacity: 0
    }

    100% {
        -webkit-transform: translateY(-50%) scale(0);
        -moz-transform: translateY(-50%) scale(0);
        -ms-transform: translateY(-50%) scale(0);
        -o-transform: translateY(-50%) scale(0);
        transform: translateY(-50%) scale(0);
        opacity: 0
    }
}

@-webkit-keyframes cd-rotate-2-in {
    0% {
        opacity: 0;
        -webkit-transform: translateZ(-20px) rotateX(90deg)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateZ(-20px) rotateX(-10deg)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateZ(-20px) rotateX(0)
    }
}

@-moz-keyframes cd-rotate-2-in {
    0% {
        opacity: 0;
        -moz-transform: translateZ(-20px) rotateX(90deg)
    }

    60% {
        opacity: 1;
        -moz-transform: translateZ(-20px) rotateX(-10deg)
    }

    100% {
        opacity: 1;
        -moz-transform: translateZ(-20px) rotateX(0)
    }
}

@keyframes cd-rotate-2-in {
    0% {
        opacity: 0;
        -webkit-transform: translateZ(-20px) rotateX(90deg);
        -moz-transform: translateZ(-20px) rotateX(90deg);
        -ms-transform: translateZ(-20px) rotateX(90deg);
        -o-transform: translateZ(-20px) rotateX(90deg);
        transform: translateZ(-20px) rotateX(90deg)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateZ(-20px) rotateX(-10deg);
        -moz-transform: translateZ(-20px) rotateX(-10deg);
        -ms-transform: translateZ(-20px) rotateX(-10deg);
        -o-transform: translateZ(-20px) rotateX(-10deg);
        transform: translateZ(-20px) rotateX(-10deg)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateZ(-20px) rotateX(0);
        -moz-transform: translateZ(-20px) rotateX(0);
        -ms-transform: translateZ(-20px) rotateX(0);
        -o-transform: translateZ(-20px) rotateX(0);
        transform: translateZ(-20px) rotateX(0)
    }
}

@-webkit-keyframes cd-rotate-2-out {
    0% {
        opacity: 1;
        -webkit-transform: translateZ(-20px) rotateX(0)
    }

    60% {
        opacity: 0;
        -webkit-transform: translateZ(-20px) rotateX(-100deg)
    }

    100% {
        opacity: 0;
        -webkit-transform: translateZ(-20px) rotateX(-90deg)
    }
}

@-moz-keyframes cd-rotate-2-out {
    0% {
        opacity: 1;
        -moz-transform: translateZ(-20px) rotateX(0)
    }

    60% {
        opacity: 0;
        -moz-transform: translateZ(-20px) rotateX(-100deg)
    }

    100% {
        opacity: 0;
        -moz-transform: translateZ(-20px) rotateX(-90deg)
    }
}

@keyframes cd-rotate-2-out {
    0% {
        opacity: 1;
        -webkit-transform: translateZ(-20px) rotateX(0);
        -moz-transform: translateZ(-20px) rotateX(0);
        -ms-transform: translateZ(-20px) rotateX(0);
        -o-transform: translateZ(-20px) rotateX(0);
        transform: translateZ(-20px) rotateX(0)
    }

    60% {
        opacity: 0;
        -webkit-transform: translateZ(-20px) rotateX(-100deg);
        -moz-transform: translateZ(-20px) rotateX(-100deg);
        -ms-transform: translateZ(-20px) rotateX(-100deg);
        -o-transform: translateZ(-20px) rotateX(-100deg);
        transform: translateZ(-20px) rotateX(-100deg)
    }

    100% {
        opacity: 0;
        -webkit-transform: translateZ(-20px) rotateX(-90deg);
        -moz-transform: translateZ(-20px) rotateX(-90deg);
        -ms-transform: translateZ(-20px) rotateX(-90deg);
        -o-transform: translateZ(-20px) rotateX(-90deg);
        transform: translateZ(-20px) rotateX(-90deg)
    }
}

@-webkit-keyframes slide-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateY(20%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0)
    }
}

@-moz-keyframes slide-in {
    0% {
        opacity: 0;
        -moz-transform: translateY(-100%)
    }

    60% {
        opacity: 1;
        -moz-transform: translateY(20%)
    }

    100% {
        opacity: 1;
        -moz-transform: translateY(0)
    }
}

@keyframes slide-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        -moz-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        -o-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateY(20%);
        -moz-transform: translateY(20%);
        -ms-transform: translateY(20%);
        -o-transform: translateY(20%);
        transform: translateY(20%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes slide-out {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0)
    }

    60% {
        opacity: 0;
        -webkit-transform: translateY(120%)
    }

    100% {
        opacity: 0;
        -webkit-transform: translateY(100%)
    }
}

@-moz-keyframes slide-out {
    0% {
        opacity: 1;
        -moz-transform: translateY(0)
    }

    60% {
        opacity: 0;
        -moz-transform: translateY(120%)
    }

    100% {
        opacity: 0;
        -moz-transform: translateY(100%)
    }
}

@keyframes slide-out {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0)
    }

    60% {
        opacity: 0;
        -webkit-transform: translateY(120%);
        -moz-transform: translateY(120%);
        -ms-transform: translateY(120%);
        -o-transform: translateY(120%);
        transform: translateY(120%)
    }

    100% {
        opacity: 0;
        -webkit-transform: translateY(100%);
        -moz-transform: translateY(100%);
        -ms-transform: translateY(100%);
        -o-transform: translateY(100%);
        transform: translateY(100%)
    }
}

@-webkit-keyframes zoom-in {
    0% {
        opacity: 0;
        -webkit-transform: translateZ(100px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateZ(0)
    }
}

@-moz-keyframes zoom-in {
    0% {
        opacity: 0;
        -moz-transform: translateZ(100px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateZ(0)
    }
}

@keyframes zoom-in {
    0% {
        opacity: 0;
        -webkit-transform: translateZ(100px);
        -moz-transform: translateZ(100px);
        -ms-transform: translateZ(100px);
        -o-transform: translateZ(100px);
        transform: translateZ(100px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@-webkit-keyframes zoom-out {
    0% {
        opacity: 1;
        -webkit-transform: translateZ(0)
    }

    100% {
        opacity: 0;
        -webkit-transform: translateZ(-100px)
    }
}

@-moz-keyframes zoom-out {
    0% {
        opacity: 1;
        -moz-transform: translateZ(0)
    }

    100% {
        opacity: 0;
        -moz-transform: translateZ(-100px)
    }
}

@keyframes zoom-out {
    0% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0)
    }

    100% {
        opacity: 0;
        -webkit-transform: translateZ(-100px);
        -moz-transform: translateZ(-100px);
        -ms-transform: translateZ(-100px);
        -o-transform: translateZ(-100px);
        transform: translateZ(-100px)
    }
}

@-webkit-keyframes cd-rotate-3-in {
    0% {
        -webkit-transform: rotateY(180deg)
    }

    100% {
        -webkit-transform: rotateY(0)
    }
}

@-moz-keyframes cd-rotate-3-in {
    0% {
        -moz-transform: rotateY(180deg)
    }

    100% {
        -moz-transform: rotateY(0)
    }
}

@keyframes cd-rotate-3-in {
    0% {
        -webkit-transform: rotateY(180deg);
        -moz-transform: rotateY(180deg);
        -ms-transform: rotateY(180deg);
        -o-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }

    100% {
        -webkit-transform: rotateY(0);
        -moz-transform: rotateY(0);
        -ms-transform: rotateY(0);
        -o-transform: rotateY(0);
        transform: rotateY(0)
    }
}

@-webkit-keyframes cd-rotate-3-out {
    0% {
        -webkit-transform: rotateY(0)
    }

    100% {
        -webkit-transform: rotateY(-180deg)
    }
}

@-moz-keyframes cd-rotate-3-out {
    0% {
        -moz-transform: rotateY(0)
    }

    100% {
        -moz-transform: rotateY(-180deg)
    }
}

@keyframes cd-rotate-3-out {
    0% {
        -webkit-transform: rotateY(0);
        -moz-transform: rotateY(0);
        -ms-transform: rotateY(0);
        -o-transform: rotateY(0);
        transform: rotateY(0)
    }

    100% {
        -webkit-transform: rotateY(-180deg);
        -moz-transform: rotateY(-180deg);
        -ms-transform: rotateY(-180deg);
        -o-transform: rotateY(-180deg);
        transform: rotateY(-180deg)
    }
}

@-webkit-keyframes scale-up {
    0% {
        -webkit-transform: scale(0);
        opacity: 0
    }

    60% {
        -webkit-transform: scale(1.2);
        opacity: 1
    }

    100% {
        -webkit-transform: scale(1);
        opacity: 1
    }
}

@-moz-keyframes scale-up {
    0% {
        -moz-transform: scale(0);
        opacity: 0
    }

    60% {
        -moz-transform: scale(1.2);
        opacity: 1
    }

    100% {
        -moz-transform: scale(1);
        opacity: 1
    }
}

@keyframes scale-up {
    0% {
        -webkit-transform: scale(0);
        -moz-transform: scale(0);
        -ms-transform: scale(0);
        -o-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }

    60% {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 1
    }

    100% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }
}

@-webkit-keyframes scale-down {
    0% {
        -webkit-transform: scale(1);
        opacity: 1
    }

    60% {
        -webkit-transform: scale(0);
        opacity: 0
    }
}

@-moz-keyframes scale-down {
    0% {
        -moz-transform: scale(1);
        opacity: 1
    }

    60% {
        -moz-transform: scale(0);
        opacity: 0
    }
}

@keyframes scale-down {
    0% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    60% {
        -webkit-transform: scale(0);
        -moz-transform: scale(0);
        -ms-transform: scale(0);
        -o-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

@-webkit-keyframes push-in {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateX(10%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0)
    }
}

@-moz-keyframes push-in {
    0% {
        opacity: 0;
        -moz-transform: translateX(-100%)
    }

    60% {
        opacity: 1;
        -moz-transform: translateX(10%)
    }

    100% {
        opacity: 1;
        -moz-transform: translateX(0)
    }
}

@keyframes push-in {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        -moz-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        -o-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateX(10%);
        -moz-transform: translateX(10%);
        -ms-transform: translateX(10%);
        -o-transform: translateX(10%);
        transform: translateX(10%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes push-out {
    0% {
        opacity: 1;
        -webkit-transform: translateX(0)
    }

    60% {
        opacity: 0;
        -webkit-transform: translateX(110%)
    }

    100% {
        opacity: 0;
        -webkit-transform: translateX(100%)
    }
}

@-moz-keyframes push-out {
    0% {
        opacity: 1;
        -moz-transform: translateX(0)
    }

    60% {
        opacity: 0;
        -moz-transform: translateX(110%)
    }

    100% {
        opacity: 0;
        -moz-transform: translateX(100%)
    }
}

@keyframes push-out {
    0% {
        opacity: 1;
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0)
    }

    60% {
        opacity: 0;
        -webkit-transform: translateX(110%);
        -moz-transform: translateX(110%);
        -ms-transform: translateX(110%);
        -o-transform: translateX(110%);
        transform: translateX(110%)
    }

    100% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        -ms-transform: translateX(100%);
        -o-transform: translateX(100%);
        transform: translateX(100%)
    }
}
