/*
 *    Animation
 *    Safari, Chrome and Opera > 12.1
 *    Firefox < 16
 *    Internet Explorer
 *    Opera < 12.1
 */
.ani-fadein {    
   -webkit-animation-name: fadein;
   -moz-animation-name: fadein;
   -ms-animation-name: fadein;
   -o-animation-name: fadein;
   animation-name: fadein;
}

.ani-fadeout {    
   -webkit-animation-name: fadeout;
   -moz-animation-name: fadeout;
   -ms-animation-name: fadeout;
   -o-animation-name: fadeout;
   animation-name: fadeout;
}

.ani-fadein-up {
   -webkit-animation-name: fadein-up;
   -moz-animation-name: fadein-up;
   -ms-animation-name: fadein-up;
   -o-animation-name: fadein-up;
   animation-name: fadein-up;
}

.ani-blur-fadein {
   -webkit-animation-name: blur-fadein;
   -moz-animation-name: blur-fadein;
   -ms-animation-name: blur-fadein;
   -o-animation-name: blur-fadein;
   animation-name: blur-fadein;
}

.ani-duration-05{
   -webkit-animation-duration: 0.5s;
   -moz-animation-duration: 0.5s;
   -ms-animation-duration: 0.5s;
   -o-animation-duration: 0.5s;
   animation-duration: 0.5s;
}

.ani-duration-1 {
   -webkit-animation-duration: 1s;
   -moz-animation-duration: 1s;
   -ms-animation-duration: 1s;
   -o-animation-duration: 1s;
   animation-duration: 1s;
}

.ani-delay-03 {
   -webkit-animation-delay: 0.3s;
   -moz-animation-delay: 0.3s;
   -ms-animation-delay: 0.3s;
   -o-animation-duration: 0.3s;
   animation-delay: 0.3s;
}

.ani-delay-05 {
   -webkit-animation-delay: 0.5s;
   -moz-animation-delay: 0.5s;
   -ms-animation-delay: 0.5s;
   -o-animation-duration: 0.5s;
   animation-delay: 0.5s;
}

.ani-delay-08 {
   -webkit-animation-delay: 0.8s;
   -moz-animation-delay: 0.8s;
   -ms-animation-delay: 0.8s;
   -o-animation-duration: 0.8s;
   animation-delay: 0.8s;
}

.ani-delay-1 {
   -webkit-animation-delay: 1s;
   -moz-animation-delay: 1s;
   -ms-animation-delay: 1s;
   -o-animation-duration: 1s;
   animation-delay: 1s;
}

.scene_element {       
   -webkit-transition-timing-function: ease-in;
   -moz-transition-timing-function: ease-in;
   -ms-transition-timing-function: ease-in;
   -o-transition-timing-function: ease-in;
   transition-timing-function: ease-in;

   -webkit-animation-fill-mode: both;
   -moz-animation-fill-mode: both;
   -ms-animation-fill-mode: both;
   -o-animation-fill-mode: both;
   animation-fill-mode: both;
}

/*
 *    Animation loading trigger
 *    Firefox < 16                    @-moz-keyframes
 *    Safari, Chrome and Opera > 12.1 @-webkit-keyframes
 *    Internet Explorer               @-ms-keyframes
 *    Opera < 12.1                    @-o-keyframes 
 */

/*
@keyframes
@-moz-keyframes
@-webkit-keyframes
@-ms-keyframes
@-o-keyframes
*/

@keyframes fadein-up {
   from   { opacity: 0; transform: translate3d(0, 50%, 0); }
   to     { opacity: 1; transform: none; }
}

@-moz-keyframes fadein-up {
   from   { opacity: 0; transform: translate3d(0, 50%, 0); }
   to     { opacity: 1; transform: none; }
}

@-webkit-keyframes fadein-up {
   from   { opacity: 0; transform: translate3d(0, 50%, 0); }
   to     { opacity: 1; transform: none; }
}

@-ms-keyframes fadein-up {
   from   { opacity: 0; transform: translate3d(0, 50%, 0); }
   to     { opacity: 1; transform: none; }
}

@-o-keyframes fadein-up {
   from   { opacity: 0; transform: translate3d(0, 50%, 0); }
   to     { opacity: 1; transform: none; }
}

@keyframes fadein {
   from { opacity: 0; }
   to   { opacity: 1; }
}

@-moz-keyframes fadein {
   from { opacity: 0; }
   to   { opacity: 1; }
}

@-webkit-keyframes fadein {
   from { opacity: 0; }
   to   { opacity: 1; }
}

@-ms-keyframes fadein {
   from { opacity: 0; }
   to   { opacity: 1; }
}

@-o-keyframes fadein {
   from { opacity: 0; }
   to   { opacity: 1; }
}

@keyframes fadeout {
   from { opacity: 1; }
   to   { opacity: 0; }
}

@-moz-keyframes fadeout {
   from { opacity: 1; }
   to   { opacity: 0; }
}

@-webkit-keyframes fadeout {
   from { opacity: 1; }
   to   { opacity: 0; }
}

@-ms-keyframes fadeout {
   from { opacity: 1; }
   to   { opacity: 0; }
}

@-o-keyframes fadeout {
   from { opacity: 1; }
   to   { opacity: 0; }
}

@keyframes blur-fadein {
   0% {
      opacity: 0;
      text-shadow: 0px 0px 40px #fff;
      transform: scale(1.5);
   }  
   100% {
      opacity: 1;
      text-shadow: 0px 0px 1px #fff;
      transform: scale(1);
   }
}

@-moz-keyframes blur-fadein {
   0% {
      opacity: 0;
      text-shadow: 0px 0px 40px #fff;
      transform: scale(1.5);
   }  
   100% {
      opacity: 1;
      text-shadow: 0px 0px 1px #fff;
      transform: scale(1);
   }
}

@-webkit-keyframes blur-fadein {
   0% {
      opacity: 0;
      text-shadow: 0px 0px 40px #fff;
      transform: scale(1.5);
   }  
   100% {
      opacity: 1;
      text-shadow: 0px 0px 1px #fff;
      transform: scale(1);
   }
}

@-ms-keyframes blur-fadein {
   0% {
      opacity: 0;
      text-shadow: 0px 0px 40px #fff;
      transform: scale(1.5);
   }  
   100% {
      opacity: 1;
      text-shadow: 0px 0px 1px #fff;
      transform: scale(1);
   }
}

@-o-keyframes blur-fadein {
   0% {
      opacity: 0;
      text-shadow: 0px 0px 40px #fff;
      transform: scale(1.5);
   }  
   100% {
      opacity: 1;
      text-shadow: 0px 0px 1px #fff;
      transform: scale(1);
   }
}

@-webkit-keyframes cd-bounce-1 {
   0% {
      opacity: 0;
      -webkit-transform: scale(0.5);
   }

   60% {
      opacity: 1;
      -webkit-transform: scale(1.2);
   }

   100% {
      -webkit-transform: scale(1);
   }
}
@-moz-keyframes cd-bounce-1 {
   0% {
      opacity: 0;
      -moz-transform: scale(0.5);
   }

   60% {
      opacity: 1;
      -moz-transform: scale(1.2);
   }

   100% {
      -moz-transform: scale(1);
   }
}
@keyframes cd-bounce-1 {
   0% {
      opacity: 0;
      -webkit-transform: scale(0.5);
      -moz-transform: scale(0.5);
      -ms-transform: scale(0.5);
      -o-transform: scale(0.5);
      transform: scale(0.5);
   }

   60% {
      opacity: 1;
      -webkit-transform: scale(1.2);
      -moz-transform: scale(1.2);
      -ms-transform: scale(1.2);
      -o-transform: scale(1.2);
      transform: scale(1.2);
   }

   100% {
      -webkit-transform: scale(1);
      -moz-transform: scale(1);
      -ms-transform: scale(1);
      -o-transform: scale(1);
      transform: scale(1);
   }
}
@-webkit-keyframes cd-bounce-2 {
   0% {
      opacity: 0;
      -webkit-transform: translateX(-100px);
   }

   60% {
      opacity: 1;
      -webkit-transform: translateX(20px);
   }

   100% {
      -webkit-transform: translateX(0);
   }
}
@-moz-keyframes cd-bounce-2 {
   0% {
      opacity: 0;
      -moz-transform: translateX(-100px);
   }

   60% {
      opacity: 1;
      -moz-transform: translateX(20px);
   }

   100% {
      -moz-transform: translateX(0);
   }
}
@keyframes cd-bounce-2 {
   0% {
      opacity: 0;
      -webkit-transform: translateX(-100px);
      -moz-transform: translateX(-100px);
      -ms-transform: translateX(-100px);
      -o-transform: translateX(-100px);
      transform: translateX(-100px);
   }

   60% {
      opacity: 1;
      -webkit-transform: translateX(20px);
      -moz-transform: translateX(20px);
      -ms-transform: translateX(20px);
      -o-transform: translateX(20px);
      transform: translateX(20px);
   }

   100% {
      -webkit-transform: translateX(0);
      -moz-transform: translateX(0);
      -ms-transform: translateX(0);
      -o-transform: translateX(0);
      transform: translateX(0);
   }
}
@-webkit-keyframes cd-bounce-2-inverse {
   0% {
      opacity: 0;
      -webkit-transform: translateX(100px);
   }

   60% {
      opacity: 1;
      -webkit-transform: translateX(-20px);
   }

   100% {
      -webkit-transform: translateX(0);
   }
}
@-moz-keyframes cd-bounce-2-inverse {
   0% {
      opacity: 0;
      -moz-transform: translateX(100px);
   }

   60% {
      opacity: 1;
      -moz-transform: translateX(-20px);
   }

   100% {
      -moz-transform: translateX(0);
   }
}
@keyframes cd-bounce-2-inverse {
   0% {
      opacity: 0;
      -webkit-transform: translateX(100px);
      -moz-transform: translateX(100px);
      -ms-transform: translateX(100px);
      -o-transform: translateX(100px);
      transform: translateX(100px);
   }

   60% {
      opacity: 1;
      -webkit-transform: translateX(-20px);
      -moz-transform: translateX(-20px);
      -ms-transform: translateX(-20px);
      -o-transform: translateX(-20px);
      transform: translateX(-20px);
   }

   100% {
      -webkit-transform: translateX(0);
      -moz-transform: translateX(0);
      -ms-transform: translateX(0);
      -o-transform: translateX(0);
      transform: translateX(0);
   }
}