
/*
  =====================================
  ======== Utility classes
  =====================================
*/
.o_animate {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  text-rendering: geometricPrecision;
  visibility: hidden;
}
.o_animate_preview {
  visibility: visible;
}
/*
  =====================================
  ======== Durations
  =====================================
*/
.o_anim_dur500 {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}
.o_anim_dur1500 {
  -webkit-animation-duration: 1500ms;
  animation-duration: 1500ms;
}
.o_anim_dur2000 {
  -webkit-animation-duration: 2000ms;
  animation-duration: 2000ms;
}
.o_anim_dur2500 {
  -webkit-animation-duration: 2500ms;
  animation-duration: 2500ms;
}
.o_anim_dur3000 {
  -webkit-animation-duration: 3000ms;
  animation-duration: 3000ms;
}
/*
  =====================================
  ======== Delays
  =====================================
*/
.o_anim_del500 {
  -webkit-animation-delay: 500ms;
  animation-delay: 500ms;
}
.o_anim_del1000 {
  -webkit-animation-delay: 1000ms;
  animation-delay: 1000ms;
}
.o_anim_del1500 {
  -webkit-animation-delay: 1500ms;
  animation-delay: 1500ms;
}
.o_anim_del2000 {
  -webkit-animation-delay: 2000ms;
  animation-delay: 2000ms;
}
.o_anim_del2500 {
  -webkit-animation-delay: 2500ms;
  animation-delay: 2500ms;
}
@-moz-keyframes o_animate_timeline_duration {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes o_animate_timeline_duration {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes o_animate_timeline_duration {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-moz-keyframes o_animate_timeline_delay {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes o_animate_timeline_delay {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes o_animate_timeline_delay {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-moz-keyframes o_anim_bounce_in {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    -o-transform: scale(0.3);
    transform: scale(0.3);
  }
  20% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
  }
  40% {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
    -ms-transform: scale(1.03);
    -o-transform: scale(1.03);
    transform: scale(1.03);
  }
  80% {
    -webkit-transform: scale(0.97);
    -ms-transform: scale(0.97);
    -o-transform: scale(0.97);
    transform: scale(0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes o_anim_bounce_in {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    -o-transform: scale(0.3);
    transform: scale(0.3);
  }
  20% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
  }
  40% {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
    -ms-transform: scale(1.03);
    -o-transform: scale(1.03);
    transform: scale(1.03);
  }
  80% {
    -webkit-transform: scale(0.97);
    -ms-transform: scale(0.97);
    -o-transform: scale(0.97);
    transform: scale(0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes o_anim_bounce_in {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    -o-transform: scale(0.3);
    transform: scale(0.3);
  }
  20% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
  }
  40% {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
    -ms-transform: scale(1.03);
    -o-transform: scale(1.03);
    transform: scale(1.03);
  }
  80% {
    -webkit-transform: scale(0.97);
    -ms-transform: scale(0.97);
    -o-transform: scale(0.97);
    transform: scale(0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
.o_anim_bounce_in {
  -webkit-animation-name: o_anim_bounce_in;
  animation-name: o_anim_bounce_in;
}
@-moz-keyframes o_anim_bounce_in_down {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -3000px);
    -ms-transform: translate(0, -3000px);
    -o-transform: translate(0, -3000px);
    transform: translate(0, -3000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 25px);
    -ms-transform: translate(0, 25px);
    -o-transform: translate(0, 25px);
    transform: translate(0, 25px);
  }
  75% {
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    -o-transform: translate(0, -10px);
    transform: translate(0, -10px);
  }
  90% {
    -webkit-transform: translate(0, 5px);
    -ms-transform: translate(0, 5px);
    -o-transform: translate(0, 5px);
    transform: translate(0, 5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes o_anim_bounce_in_down {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -3000px);
    -ms-transform: translate(0, -3000px);
    -o-transform: translate(0, -3000px);
    transform: translate(0, -3000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 25px);
    -ms-transform: translate(0, 25px);
    -o-transform: translate(0, 25px);
    transform: translate(0, 25px);
  }
  75% {
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    -o-transform: translate(0, -10px);
    transform: translate(0, -10px);
  }
  90% {
    -webkit-transform: translate(0, 5px);
    -ms-transform: translate(0, 5px);
    -o-transform: translate(0, 5px);
    transform: translate(0, 5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes o_anim_bounce_in_down {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -3000px);
    -ms-transform: translate(0, -3000px);
    -o-transform: translate(0, -3000px);
    transform: translate(0, -3000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 25px);
    -ms-transform: translate(0, 25px);
    -o-transform: translate(0, 25px);
    transform: translate(0, 25px);
  }
  75% {
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    -o-transform: translate(0, -10px);
    transform: translate(0, -10px);
  }
  90% {
    -webkit-transform: translate(0, 5px);
    -ms-transform: translate(0, 5px);
    -o-transform: translate(0, 5px);
    transform: translate(0, 5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.o_anim_bounce_in_down {
  -webkit-animation-name: o_anim_bounce_in_down;
  animation-name: o_anim_bounce_in_down;
}
@-moz-keyframes o_anim_bounce_in_left {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(-3000px, 0);
    -ms-transform: translate(-3000px, 0);
    -o-transform: translate(-3000px, 0);
    transform: translate(-3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(25px, 0);
    -ms-transform: translate(25px, 0);
    -o-transform: translate(25px, 0);
    transform: translate(25px, 0);
  }
  75% {
    -webkit-transform: translate(-10px, 0);
    -ms-transform: translate(-10px, 0);
    -o-transform: translate(-10px, 0);
    transform: translate(-10px, 0);
  }
  90% {
    -webkit-transform: translate(5px, 0);
    -ms-transform: translate(5px, 0);
    -o-transform: translate(5px, 0);
    transform: translate(5px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes o_anim_bounce_in_left {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(-3000px, 0);
    -ms-transform: translate(-3000px, 0);
    -o-transform: translate(-3000px, 0);
    transform: translate(-3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(25px, 0);
    -ms-transform: translate(25px, 0);
    -o-transform: translate(25px, 0);
    transform: translate(25px, 0);
  }
  75% {
    -webkit-transform: translate(-10px, 0);
    -ms-transform: translate(-10px, 0);
    -o-transform: translate(-10px, 0);
    transform: translate(-10px, 0);
  }
  90% {
    -webkit-transform: translate(5px, 0);
    -ms-transform: translate(5px, 0);
    -o-transform: translate(5px, 0);
    transform: translate(5px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes o_anim_bounce_in_left {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(-3000px, 0);
    -ms-transform: translate(-3000px, 0);
    -o-transform: translate(-3000px, 0);
    transform: translate(-3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(25px, 0);
    -ms-transform: translate(25px, 0);
    -o-transform: translate(25px, 0);
    transform: translate(25px, 0);
  }
  75% {
    -webkit-transform: translate(-10px, 0);
    -ms-transform: translate(-10px, 0);
    -o-transform: translate(-10px, 0);
    transform: translate(-10px, 0);
  }
  90% {
    -webkit-transform: translate(5px, 0);
    -ms-transform: translate(5px, 0);
    -o-transform: translate(5px, 0);
    transform: translate(5px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.o_anim_bounce_in_left {
  -webkit-animation-name: o_anim_bounce_in_left;
  animation-name: o_anim_bounce_in_left;
}
@-moz-keyframes o_anim_bounce_in_right {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(3000px, 0);
    -ms-transform: translate(3000px, 0);
    -o-transform: translate(3000px, 0);
    transform: translate(3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(-25px, 0);
    -ms-transform: translate(-25px, 0);
    -o-transform: translate(-25px, 0);
    transform: translate(-25px, 0);
  }
  75% {
    -webkit-transform: translate(10px, 0);
    -ms-transform: translate(10px, 0);
    -o-transform: translate(10px, 0);
    transform: translate(10px, 0);
  }
  90% {
    -webkit-transform: translate(-5px, 0);
    -ms-transform: translate(-5px, 0);
    -o-transform: translate(-5px, 0);
    transform: translate(-5px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes o_anim_bounce_in_right {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(3000px, 0);
    -ms-transform: translate(3000px, 0);
    -o-transform: translate(3000px, 0);
    transform: translate(3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(-25px, 0);
    -ms-transform: translate(-25px, 0);
    -o-transform: translate(-25px, 0);
    transform: translate(-25px, 0);
  }
  75% {
    -webkit-transform: translate(10px, 0);
    -ms-transform: translate(10px, 0);
    -o-transform: translate(10px, 0);
    transform: translate(10px, 0);
  }
  90% {
    -webkit-transform: translate(-5px, 0);
    -ms-transform: translate(-5px, 0);
    -o-transform: translate(-5px, 0);
    transform: translate(-5px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes o_anim_bounce_in_right {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate(3000px, 0);
    -ms-transform: translate(3000px, 0);
    -o-transform: translate(3000px, 0);
    transform: translate(3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(-25px, 0);
    -ms-transform: translate(-25px, 0);
    -o-transform: translate(-25px, 0);
    transform: translate(-25px, 0);
  }
  75% {
    -webkit-transform: translate(10px, 0);
    -ms-transform: translate(10px, 0);
    -o-transform: translate(10px, 0);
    transform: translate(10px, 0);
  }
  90% {
    -webkit-transform: translate(-5px, 0);
    -ms-transform: translate(-5px, 0);
    -o-transform: translate(-5px, 0);
    transform: translate(-5px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.o_anim_bounce_in_right {
  -webkit-animation-name: o_anim_bounce_in_right;
  animation-name: o_anim_bounce_in_right;
}
@-moz-keyframes o_anim_fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes o_anim_fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes o_anim_fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.o_anim_fade_in {
  -webkit-animation-name: o_anim_fade_in;
  animation-name: o_anim_fade_in;
}
@-moz-keyframes o_anim_fade_in_down {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
    transform: translate(0, -100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes o_anim_fade_in_down {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
    transform: translate(0, -100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes o_anim_fade_in_down {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
    transform: translate(0, -100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.o_anim_fade_in_down {
  -webkit-animation-name: o_anim_fade_in_down;
  animation-name: o_anim_fade_in_down;
}
@-moz-keyframes o_anim_fade_in_left {
  0% {
    opacity: 0;
    -webkit-transform: translate(-100%, 0);
    -ms-transform: translate(-100%, 0);
    -o-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes o_anim_fade_in_left {
  0% {
    opacity: 0;
    -webkit-transform: translate(-100%, 0);
    -ms-transform: translate(-100%, 0);
    -o-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes o_anim_fade_in_left {
  0% {
    opacity: 0;
    -webkit-transform: translate(-100%, 0);
    -ms-transform: translate(-100%, 0);
    -o-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.o_anim_fade_in_left {
  -webkit-animation-name: o_anim_fade_in_left;
  animation-name: o_anim_fade_in_left;
}
@-moz-keyframes o_anim_fade_in_right {
  0% {
    opacity: 0;
    -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes o_anim_fade_in_right {
  0% {
    opacity: 0;
    -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes o_anim_fade_in_right {
  0% {
    opacity: 0;
    -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.o_anim_fade_in_right {
  -webkit-animation-name: o_anim_fade_in_right;
  animation-name: o_anim_fade_in_right;
}
@-moz-keyframes o_anim_fade_in_up {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
    transform: translate(0, 100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes o_anim_fade_in_up {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
    transform: translate(0, 100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes o_anim_fade_in_up {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
    transform: translate(0, 100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.o_anim_fade_in_up {
  -webkit-animation-name: o_anim_fade_in_up;
  animation-name: o_anim_fade_in_up;
}
@-moz-keyframes o_anim_fade_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes o_anim_fade_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes o_anim_fade_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.o_anim_fade_out {
  -webkit-animation-name: o_anim_fade_out;
  animation-name: o_anim_fade_out;
}
@-moz-keyframes o_anim_rotate_in {
  0% {
    opacity: 0;
    -ms-transform-origin: center 50% 0;
    -webkit-transform-origin: center 50% 0;
    -moz-transform-origin: center 50% 0;
    transform-origin: center 50% 0;
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
  }
  100% {
    opacity: 1;
    -ms-transform-origin: center 50% 0;
    -webkit-transform-origin: center 50% 0;
    -moz-transform-origin: center 50% 0;
    transform-origin: center 50% 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
@-webkit-keyframes o_anim_rotate_in {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes o_anim_rotate_in {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
.o_anim_rotate_in {
  -webkit-animation-name: o_anim_rotate_in;
  animation-name: o_anim_rotate_in;
}
@-moz-keyframes o_anim_rotate_in_down_left {
  0% {
    opacity: 0;
    -ms-transform-origin: left bottom 0;
    -webkit-transform-origin: left bottom 0;
    -moz-transform-origin: left bottom 0;
    transform-origin: left bottom 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  100% {
    opacity: 1;
    -ms-transform-origin: left bottom 0;
    -webkit-transform-origin: left bottom 0;
    -moz-transform-origin: left bottom 0;
    transform-origin: left bottom 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
@-webkit-keyframes o_anim_rotate_in_down_left {
  0% {
    opacity: 0;
    -ms-transform-origin: left bottom 0;
    -webkit-transform-origin: left bottom 0;
    -moz-transform-origin: left bottom 0;
    transform-origin: left bottom 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  100% {
    opacity: 1;
    -ms-transform-origin: left bottom 0;
    -webkit-transform-origin: left bottom 0;
    -moz-transform-origin: left bottom 0;
    transform-origin: left bottom 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes o_anim_rotate_in_down_left {
  0% {
    opacity: 0;
    -ms-transform-origin: left bottom 0;
    -webkit-transform-origin: left bottom 0;
    -moz-transform-origin: left bottom 0;
    transform-origin: left bottom 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  100% {
    opacity: 1;
    -ms-transform-origin: left bottom 0;
    -webkit-transform-origin: left bottom 0;
    -moz-transform-origin: left bottom 0;
    transform-origin: left bottom 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
.o_anim_rotate_in_down_left {
  -webkit-animation-name: o_anim_rotate_in_down_left;
  animation-name: o_anim_rotate_in_down_left;
}
@-moz-keyframes o_anim_rotate_in_down_right {
  0% {
    opacity: 0;
    -ms-transform-origin: right bottom 0;
    -webkit-transform-origin: right bottom 0;
    -moz-transform-origin: right bottom 0;
    transform-origin: right bottom 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  100% {
    opacity: 1;
    -ms-transform-origin: right bottom 0;
    -webkit-transform-origin: right bottom 0;
    -moz-transform-origin: right bottom 0;
    transform-origin: right bottom 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
@-webkit-keyframes o_anim_rotate_in_down_right {
  0% {
    opacity: 0;
    -ms-transform-origin: right bottom 0;
    -webkit-transform-origin: right bottom 0;
    -moz-transform-origin: right bottom 0;
    transform-origin: right bottom 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  100% {
    opacity: 1;
    -ms-transform-origin: right bottom 0;
    -webkit-transform-origin: right bottom 0;
    -moz-transform-origin: right bottom 0;
    transform-origin: right bottom 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes o_anim_rotate_in_down_right {
  0% {
    opacity: 0;
    -ms-transform-origin: right bottom 0;
    -webkit-transform-origin: right bottom 0;
    -moz-transform-origin: right bottom 0;
    transform-origin: right bottom 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  100% {
    opacity: 1;
    -ms-transform-origin: right bottom 0;
    -webkit-transform-origin: right bottom 0;
    -moz-transform-origin: right bottom 0;
    transform-origin: right bottom 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
}
.o_anim_rotate_in_down_right {
  -webkit-animation-name: o_anim_rotate_in_down_right;
  animation-name: o_anim_rotate_in_down_right;
}
@-moz-keyframes o_anim_zoom_in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    -o-transform: scale(0.3);
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
  }
}
@-webkit-keyframes o_anim_zoom_in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    -o-transform: scale(0.3);
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes o_anim_zoom_in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    -o-transform: scale(0.3);
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
  }
}
.o_anim_zoom_in {
  -webkit-animation-name: o_anim_zoom_in;
  animation-name: o_anim_zoom_in;
}
@-moz-keyframes o_anim_zoom_in_down {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@-webkit-keyframes o_anim_zoom_in_down {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes o_anim_zoom_in_down {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.o_anim_zoom_in_down {
  -webkit-animation-name: o_anim_zoom_in_down;
  animation-name: o_anim_zoom_in_down;
}
@-moz-keyframes o_anim_zoom_in_left {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@-webkit-keyframes o_anim_zoom_in_left {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes o_anim_zoom_in_left {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.o_anim_zoom_in_left {
  -webkit-animation-name: o_anim_zoom_in_left;
  animation-name: o_anim_zoom_in_left;
}
@-moz-keyframes o_anim_zoom_in_right {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@-webkit-keyframes o_anim_zoom_in_right {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes o_anim_zoom_in_right {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -o-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -o-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.o_anim_zoom_in_right {
  -webkit-animation-name: o_anim_zoom_in_right;
  animation-name: o_anim_zoom_in_right;
}
@-moz-keyframes o_anim_flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@-webkit-keyframes o_anim_flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@keyframes o_anim_flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
.o_anim_flash {
  -webkit-animation-name: o_anim_flash;
  animation-name: o_anim_flash;
}
@-moz-keyframes o_anim_pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes o_anim_pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes o_anim_pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
.o_anim_pulse {
  -webkit-animation-name: o_anim_pulse;
  animation-name: o_anim_pulse;
}
@-moz-keyframes o_anim_shake {
  0%,
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate(-10px, 0);
    -ms-transform: translate(-10px, 0);
    -o-transform: translate(-10px, 0);
    transform: translate(-10px, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate(10px, 0);
    -ms-transform: translate(10px, 0);
    -o-transform: translate(10px, 0);
    transform: translate(10px, 0);
  }
}
@-webkit-keyframes o_anim_shake {
  0%,
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate(-10px, 0);
    -ms-transform: translate(-10px, 0);
    -o-transform: translate(-10px, 0);
    transform: translate(-10px, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate(10px, 0);
    -ms-transform: translate(10px, 0);
    -o-transform: translate(10px, 0);
    transform: translate(10px, 0);
  }
}
@keyframes o_anim_shake {
  0%,
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate(-10px, 0);
    -ms-transform: translate(-10px, 0);
    -o-transform: translate(-10px, 0);
    transform: translate(-10px, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate(10px, 0);
    -ms-transform: translate(10px, 0);
    -o-transform: translate(10px, 0);
    transform: translate(10px, 0);
  }
}
.o_anim_shake {
  -webkit-animation-name: o_anim_shake;
  animation-name: o_anim_shake;
}
@-moz-keyframes o_anim_tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@-webkit-keyframes o_anim_tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes o_anim_tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.o_anim_tada {
  -webkit-animation-name: o_anim_tada;
  animation-name: o_anim_tada;
}
@-moz-keyframes o_anim_flip_in_x {
  0% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(90deg);
    -ms-transform: rotateX(90deg);
    -o-transform: rotateX(90deg);
    transform: rotateX(90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(-20deg);
    -ms-transform: rotateX(-20deg);
    -o-transform: rotateX(-20deg);
    transform: rotateX(-20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(10deg);
    -ms-transform: rotateX(10deg);
    -o-transform: rotateX(10deg);
    transform: rotateX(10deg);
    opacity: 1;
  }
  80% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(-5deg);
    -ms-transform: rotateX(-5deg);
    -o-transform: rotateX(-5deg);
    transform: rotateX(-5deg);
  }
  100% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
  }
}
@-webkit-keyframes o_anim_flip_in_x {
  0% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(90deg);
    -ms-transform: rotateX(90deg);
    -o-transform: rotateX(90deg);
    transform: rotateX(90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(-20deg);
    -ms-transform: rotateX(-20deg);
    -o-transform: rotateX(-20deg);
    transform: rotateX(-20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(10deg);
    -ms-transform: rotateX(10deg);
    -o-transform: rotateX(10deg);
    transform: rotateX(10deg);
    opacity: 1;
  }
  80% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(-5deg);
    -ms-transform: rotateX(-5deg);
    -o-transform: rotateX(-5deg);
    transform: rotateX(-5deg);
  }
  100% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
  }
}
@keyframes o_anim_flip_in_x {
  0% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(90deg);
    -ms-transform: rotateX(90deg);
    -o-transform: rotateX(90deg);
    transform: rotateX(90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(-20deg);
    -ms-transform: rotateX(-20deg);
    -o-transform: rotateX(-20deg);
    transform: rotateX(-20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(10deg);
    -ms-transform: rotateX(10deg);
    -o-transform: rotateX(10deg);
    transform: rotateX(10deg);
    opacity: 1;
  }
  80% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateX(-5deg);
    -ms-transform: rotateX(-5deg);
    -o-transform: rotateX(-5deg);
    transform: rotateX(-5deg);
  }
  100% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
  }
}
.o_anim_flip_in_x {
  -webkit-backface-visibility: visible;
  -moz-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: o_anim_flip_in_x;
  animation-name: o_anim_flip_in_x;
}
@-moz-keyframes o_anim_flip_in_y {
  0% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(-20deg);
    -ms-transform: rotateY(-20deg);
    -o-transform: rotateY(-20deg);
    transform: rotateY(-20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(10deg);
    -ms-transform: rotateY(10deg);
    -o-transform: rotateY(10deg);
    transform: rotateY(10deg);
    opacity: 1;
  }
  80% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(-5deg);
    -ms-transform: rotateY(-5deg);
    -o-transform: rotateY(-5deg);
    transform: rotateY(-5deg);
  }
  100% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
  }
}
@-webkit-keyframes o_anim_flip_in_y {
  0% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(-20deg);
    -ms-transform: rotateY(-20deg);
    -o-transform: rotateY(-20deg);
    transform: rotateY(-20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(10deg);
    -ms-transform: rotateY(10deg);
    -o-transform: rotateY(10deg);
    transform: rotateY(10deg);
    opacity: 1;
  }
  80% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(-5deg);
    -ms-transform: rotateY(-5deg);
    -o-transform: rotateY(-5deg);
    transform: rotateY(-5deg);
  }
  100% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
  }
}
@keyframes o_anim_flip_in_y {
  0% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(-20deg);
    -ms-transform: rotateY(-20deg);
    -o-transform: rotateY(-20deg);
    transform: rotateY(-20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(10deg);
    -ms-transform: rotateY(10deg);
    -o-transform: rotateY(10deg);
    transform: rotateY(10deg);
    opacity: 1;
  }
  80% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
    -webkit-transform: rotateY(-5deg);
    -ms-transform: rotateY(-5deg);
    -o-transform: rotateY(-5deg);
    transform: rotateY(-5deg);
  }
  100% {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    perspective: 400px;
  }
}
.o_anim_flip_in_y {
  -webkit-backface-visibility: visible;
  -moz-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: o_anim_flip_in_y;
  animation-name: o_anim_flip_in_y;
}
