/* ------------------------------------------------------------------------- */
/* ------ General ---------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.no-flick {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
}

.smooth {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.smoother {
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.smooth-bar {
    -webkit-transition: all .7s ease-in-out;
    -moz-transition: all .7s ease-in-out;
    -ms-transition: all .7s ease-in-out;
    -o-transition: all .7s ease-in-out;
    transition: all .7s ease-in-out;
}

.smooth-op {
    -webkit-transition: opacity .3s ease-in-out;
    -moz-transition: opacity .3s ease-in-out;
    -ms-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
}

.smooth-bg {
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    -ms-transition: background .3s ease-in-out;
    -o-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}


/* ------------------------------------------------------------------------- */
/* ------ On Scroll -------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

html:not(.ie9) .c-in { opacity: 0; }
html:not(.ie9) .fade-in { opacity: 0; }

html:not(.ie9) .come-in {
    opacity: 0;
    -webkit-animation: come-in 0.5s ease-in-out forwards;
    -moz-animation: come-in 0.5s ease-in-out forwards;
    -o-animation: come-in 0.5s ease-in-out forwards;
    animation: come-in 0.5s ease-in-out forwards;
    -webkit-transform: translateY(150px);
    -moz-transform: translateY(150px);
    -ms-transform: translateY(150px);
    -o-transform: translateY(150px);
    transform: translateY(150px);
}

html:not(.ie9) .come-in.d0 {
    -webkit-animation-delay: 0s;
    -moz-animation-delay: 0s;
    -o-animation-delay: 0s;
    animation-delay: 0s;
}

html:not(.ie9) .come-in.d1 {
    -webkit-animation-delay: .2s;
    -moz-animation-delay: .2s;
    -o-animation-delay: .2s;
    animation-delay: .2s;
}

html:not(.ie9) .come-in.d2 {
    -webkit-animation-delay: .4s;
    -moz-animation-delay: .4s;
    -o-animation-delay: .4s;
    animation-delay: .4s;
}

html:not(.ie9) .come-in.d3 {
    -webkit-animation-delay: .6s;
    -moz-animation-delay: .6s;
    -o-animation-delay: .6s;
    animation-delay: .6s;
}

html:not(.ie9) .come-in.d4 {
    -webkit-animation-delay: .8s;
    -moz-animation-delay: .8s;
    -o-animation-delay: .8s;
    animation-delay: .8s;
}

html:not(.ie9) .come-in.d5 {
    -webkit-animation-delay: 1s;
    -moz-animation-delay: 1s;
    -o-animation-delay: 1s;
    animation-delay: 1s;
}

html:not(.ie9) .come-in.d6 {
    -webkit-animation-delay: 1.2s;
    -moz-animation-delay: 1.2s;
    -o-animation-delay: 1.2s;
    animation-delay: 1.2s;
}

html:not(.ie9) .come-in.d7 {
    -webkit-animation-delay: 1.4s;
    -moz-animation-delay: 1.4s;
    -o-animation-delay: 1.4s;
    animation-delay: 1.4s;
}


@keyframes come-in {
    to {
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@-webkit-keyframes come-in {
    to {
        -webkit-transform: translateY(0);
        opacity: 1;
    }
}

@-moz-keyframes come-in {
    to {
        -moz-transform: translateY(0);
        opacity: 1;
    }
}


/* ------------------------------------------------------------------------- */
/* ------ Bounce ----------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

html:not(.ie9) .bounce {
    -webkit-animation-name: bounce;
    -moz-animation-name: bounce;
    -o-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    -moz-transform-origin: center bottom;
    -ms-transform-origin: center bottom;
    -o-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-delay: 3s;
    -moz-animation-delay: 3s;
    -o-animation-delay: 3s;
    animation-delay: 3s;
    -webkit-animation-duration: 1.75s;
    -moz-animation-duration: 1.75s;
    -o-animation-duration: 1.75s;
    animation-duration: 1.75s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -o-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
}

@keyframes bounce {
    from, 20%, 53%, 80%, to {
        -o-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        -ms-transform: translate3d(0,0,0);
        -o-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    40%, 43% {
        -o-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -ms-transform: translate3d(0, -15px, 0);
        -o-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0);
    }

    70% {
        -o-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -ms-transform: translate3d(0, -8px, 0);
        -o-transform: translate3d(0, -8px, 0);
        transform: translate3d(0, -8px, 0);
    }

    90% {
        -ms-transform: translate3d(0,-4px,0);
        -o-transform: translate3d(0,-4px,0);
        transform: translate3d(0,-4px,0);
    }
}

@-webkit-keyframes bounce {
    from, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        -webkit-transform: translate3d(0,0,0);
    }

    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -webkit-transform: translate3d(0, -15px, 0);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -webkit-transform: translate3d(0, -8px, 0);
    }

    90% {
        -webkit-transform: translate3d(0,-4px,0);
    }
}

@-moz-keyframes bounce {
    from, 20%, 53%, 80%, to {
        -moz-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        -moz-transform: translate3d(0,0,0);
    }

    40%, 43% {
        -moz-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -moz-transform: translate3d(0, -15px, 0);
    }

    70% {
        -moz-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -moz-transform: translate3d(0, -8px, 0);
    }

    90% {
        -moz-transform: translate3d(0,-4px,0);
    }
}