/*
* @Author: xiaosiyu
* @Date:   2016-09-23 16:11:30
* @Last Modified by:   zhongjiahao
* @Last Modified time: 2016-09-26 18:28:15
*/
.btn_ripple {
  .ripple {
    z-index: -1;
    border-width: 150px;
    margin-top: -150px;
    margin-left: -150px;
    opacity: 0;
    transition: border-width 1s, margin-top 1s, margin-left 1s, opacity 1s;
  }
}

.a-modal-pop{
   transition: top .5s $spring2, transform .3s $ease;
}

.a-highspread{
  transition:height  .3s $ease;
}

.a-highlight{
  transition: top 0.2s $ease 0s;
  background-color: $m5;
}

.a-dialog_is-open {
  -webkit-transition: box-shadow .3s linear .4s;
  -moz-transition: box-shadow .3s linear .4s;
  -ms-transition: box-shadow .3s linear .4s;
  -o-transition: box-shadow .3s linear .4s;
  transition: box-shadow .3s linear .4s;
  -webkit-animation: popShow 0.3s $spring forwards;
  -moz-animation: popShow 0.3s $spring forwards;
  -ms-animation: popShow 0.3s $spring forwards;
  -o-animation: popShow 0.3s $spring forwards;
  animation: popShow 0.3s $spring forwards;
}

.a-dialog_is-close {
  -webkit-transition: opacity .2s $ease;
  -moz-transition: opacity .2s $ease;
  -ms-transition: opacity .2s $ease;
  -o-transition: opacity .2s $ease;
  transition: opacity .2s $ease;
  -webkit-animation: popHide .3s $ease forwards;
  -moz-animation: popHide 0.3s $ease forwards;
  -ms-animation: popHide 0.3s $ease forwards;
  -o-animation: popHide 0.3s $ease forwards;
  animation: popHide 0.3s $ease forwards;
}

.a-diglog_lt {
  transform-origin: left top;
}

.a-diglog_rt {
  transform-origin: right top;
}

.a-diglog_ld {
  transform-origin: left bottom;
}

.a-diglog_rd {
  transform-origin: right bottom;
}

@-webkit-keyframes popShow {
  from {
    -webkit-transform: scale(0)
  }
  to {
    -webkit-transform: scale(1)
  }
}

@-moz-keyframes popShow {
  from {
    -moz-transform: scale(0)
  }
  to {
    -moz-transform: scale(1)
  }
}

@-ms-keyframes popShow {
  from {
    -ms-transform: scale(0)
  }
  to {
    -ms-transform: scale(1)
  }
}

@-o-keyframes popShow {
  from {
    -o-transform: scale(0)
  }
  to {
    -o-transform: scale(1)
  }
}

@keyframes popShow {
  from {
    transform: scale(0)
  }
  to {
    transform: scale(1)
  }
}

@-webkit-keyframes popHide {
  from {
    -webkit-transform: scale(1)
  }
  to {
    -webkit-transform: scale(0)
  }
}

@-moz-keyframes popHide {
  from {
    -moz-transform: scale(1)
  }
  to {
    -moz-transform: scale(0)
  }
}

@-ms-keyframes popHide {
  from {
    -ms-transform: scale(1)
  }
  to {
    -ms-transform: scale(0)
  }
}

@-o-keyframes popHide {
  from {
    -o-transform: scale(1)
  }
  to {
    -o-transform: scale(0)
  }
}

@keyframes popHide {
  from {
    transform: scale(1)
  }
  to {
    transform: scale(0)
  }
}


/* animation.css */

.a-bounce,
.a-flip,
.a-flash,
.a-shake,
.a-swing,
.a-wobble,
.a-ring {
  -webkit-animation: 1s ease;
  -moz-animation: 1s ease;
  -ms-animation: 1s ease;
  animation: 1s ease;
}

.a-fadein,
.a-fadein_t,
.a-fadein_r,
.a-fadein_b,
.a-fadein_l,
.a-bouncein,
.a-bouncein_t,
.a-bouncein_r,
.a-bouncein_b,
.a-bouncein_l,
.a-rotatein,
.a-rotatein_lt,
.a-rotatein_lb,
.a-rotatein_rt,
.a-rotatein_rb,
.a-flipin,
.a-flipin_x,
.a-flipin_y {
  -webkit-animation: 1s ease-out backwards;
  -moz-animation: 1s ease-out backwards;
  -ms-animation: 1s ease-out backwards;
  animation: 1s ease-out backwards;
}

.a-fadeout,
.a-fadeout_t,
.a-fadeout_r,
.a-fadeout_b,
.a-fadeout_l,
.a-bounceout,
.a-bounceout_t,
.a-bounceout_r,
.a-bounceout_b,
.a-bounceout_l,
.a-rotateout,
.a-rotateout_lt,
.a-rotateout_lb,
.a-rotateout_rt,
.a-rotateout_rb,
.a-flipout,
.a-flipout_x,
.a-flipout_y {
  -webkit-animation: 1s ease-in forwards;
  -moz-animation: 1s ease-in forwards;
  -ms-animation: 1s ease-in forwards;
  animation: 1s ease-in forwards;
}


/* 淡入 */

.a-fadein {
  -webkit-animation-name: fadein;
  -moz-animation-name: fadein;
  -ms-animation-name: fadein;
  animation-name: fadein;
}


/* 淡入-从上 */

.a-fadein_t {
  -webkit-animation-name: fadein_t;
  -moz-animation-name: fadein_t;
  -ms-animation-name: fadein_t;
  animation-name: fadein_t;
}


/* 淡入-从右 */

.a-fadein_r {
  -webkit-animation-name: fadein_r;
  -moz-animation-name: fadein_r;
  -ms-animation-name: fadein_r;
  animation-name: fadein_r;
}


/* 淡入-从下 */

.a-fadein_b {
  -webkit-animation-name: fadein_b;
  -moz-animation-name: fadein_b;
  -ms-animation-name: fadein_b;
  animation-name: fadein_b;
}


/* 淡入-从左 */

.a-fadein_l {
  -webkit-animation-name: fadein_l;
  -moz-animation-name: fadein_l;
  -ms-animation-name: fadein_l;
  animation-name: fadein_l;
}


/* 淡出 */

.a-fadeout {
  -webkit-animation-name: fadeout;
  -moz-animation-name: fadeout;
  -ms-animation-name: fadeout;
  animation-name: fadeout;
}


/* 淡出-向上 */

.a-fadeout_t {
  -webkit-animation-name: fadeout_t;
  -moz-animation-name: fadeout_t;
  -ms-animation-name: fadeout_t;
  animation-name: fadeout_t;
}


/* 淡出-向右 */

.a-fadeout_r {
  -webkit-animation-name: fadeout_r;
  -moz-animation-name: fadeout_r;
  -ms-animation-name: fadeout_r;
  animation-name: fadeout_r;
}


/* 淡出-向下 */

.a-fadeout_b {
  -webkit-animation-name: fadeout_b;
  -moz-animation-name: fadeout_b;
  -ms-animation-name: fadeout_b;
  animation-name: fadeout_b;
}


/* 淡出-向左 */

.a-fadeout_l {
  -webkit-animation-name: fadeout_l;
  -moz-animation-name: fadeout_l;
  -ms-animation-name: fadeout_l;
  animation-name: fadeout_l;
}


/* 弹跳 */

.a-bounce {
  -webkit-animation-name: bounce;
  -moz-animation-name: bounce;
  -ms-animation-name: bounce;
  animation-name: bounce;
}


/* 弹入 */

.a-bouncein {
  -webkit-animation-name: bouncein;
  -moz-animation-name: bouncein;
  -ms-animation-name: bouncein;
  animation-name: bouncein;
}


/* 弹入-从上 */

.a-bouncein_t {
  -webkit-animation-name: bouncein_t;
  -moz-animation-name: bouncein_t;
  -ms-animation-name: bouncein_t;
  animation-name: bouncein_t;
}


/* 弹入-从右 */

.a-bouncein_r {
  -webkit-animation-name: bouncein_r;
  -moz-animation-name: bouncein_r;
  -ms-animation-name: bouncein_r;
  animation-name: bouncein_r;
}


/* 弹入-从下 */

.a-bouncein_b {
  -webkit-animation-name: bouncein_b;
  -moz-animation-name: bouncein_b;
  -ms-animation-name: bouncein_b;
  animation-name: bouncein_b;
}


/* 弹入-从左 */

.a-bouncein_l {
  -webkit-animation-name: bouncein_l;
  -moz-animation-name: bouncein_l;
  -ms-animation-name: bouncein_l;
  animation-name: bouncein_l;
}


/* 弹出 */

.a-bounceout {
  -webkit-animation-name: bounceout;
  -moz-animation-name: bounceout;
  -ms-animation-name: bounceout;
  animation-name: bounceout;
}


/* 弹出-向上 */

.a-bounceout_t {
  -webkit-animation-name: bounceout_t;
  -moz-animation-name: bounceout_t;
  -ms-animation-name: bounceout_t;
  animation-name: bounceout_t;
}


/* 弹出-向右 */

.a-bounceout_r {
  -webkit-animation-name: bounceout_r;
  -moz-animation-name: bounceout_r;
  -ms-animation-name: bounceout_r;
  animation-name: bounceout_r;
}


/* 弹出-向下 */

.a-bounceout_b {
  -webkit-animation-name: bounceout_b;
  -moz-animation-name: bounceout_b;
  -ms-animation-name: bounceout_b;
  animation-name: bounceout_b;
}


/* 弹出-向左 */

.a-bounceout_l {
  -webkit-animation-name: bounceout_l;
  -moz-animation-name: bounceout_l;
  -ms-animation-name: bounceout_l;
  animation-name: bounceout_l;
}


/* 转入 */

.a-rotatein {
  -webkit-animation-name: rotatein;
  -moz-animation-name: rotatein;
  -ms-animation-name: rotatein;
  animation-name: rotatein;
}


/* 转入-从左上 */

.a-rotatein_lt {
  -webkit-animation-name: rotatein_lt;
  -moz-animation-name: rotatein_lt;
  -ms-animation-name: rotatein_lt;
  animation-name: rotatein_lt;
}


/* 转入-从左下 */

.a-rotatein_lb {
  -webkit-animation-name: rotatein_lb;
  -moz-animation-name: rotatein_lb;
  -ms-animation-name: rotatein_lb;
  animation-name: rotatein_lb;
}


/* 转入-从右上 */

.a-rotatein_rt {
  -webkit-animation-name: rotatein_rt;
  -moz-animation-name: rotatein_rt;
  -ms-animation-name: rotatein_rt;
  animation-name: rotatein_rt;
}


/* 转入-从右下*/

.a-rotatein_rb {
  -webkit-animation-name: rotatein_rb;
  -moz-animation-name: rotatein_rb;
  -ms-animation-name: rotatein_rb;
  animation-name: rotatein_rb;
}


/* 转出 */

.a-rotateout {
  -webkit-animation-name: rotateout;
  -moz-animation-name: rotateout;
  -ms-animation-name: rotateout;
  animation-name: rotateout;
}


/* 转出-向左上 */

.a-rotateout_lt {
  -webkit-animation-name: rotateout_lt;
  -moz-animation-name: rotateout_lt;
  -ms-animation-name: rotateout_lt;
  animation-name: rotateout_lt;
}


/* 转出-向左下 */

.a-rotateout_lb {
  -webkit-animation-name: rotateout_lb;
  -moz-animation-name: rotateout_lb;
  -ms-animation-name: rotateout_lb;
  animation-name: rotateout_lb;
}


/* 转出-向右上 */

.a-rotateout_rt {
  -webkit-animation-name: rotateout_rt;
  -moz-animation-name: rotateout_rt;
  -ms-animation-name: rotateout_rt;
  animation-name: rotateout_rt;
}


/* 转出-向右下 */

.a-rotateout_rb {
  -webkit-animation-name: rotateout_rb;
  -moz-animation-name: rotateout_rb;
  -ms-animation-name: rotateout_rb;
  animation-name: rotateout_rb;
}


/* 翻转 */

.a-flip {
  -webkit-animation-name: flip;
  -moz-animation-name: flip;
  -ms-animation-name: flip;
  animation-name: flip;
}


/* 翻入-X轴 */

.a-flipin_x {
  -webkit-animation-name: flipin_x;
  -moz-animation-name: flipin_x;
  -ms-animation-name: flipin_x;
  animation-name: flipin_x;
}


/* 翻入-Y轴 */

.a-flipin,
.a-flipin_y {
  -webkit-animation-name: flipin_y;
  -moz-animation-name: flipin_y;
  -ms-animation-name: flipin_y;
  animation-name: flipin_y;
}


/* 翻出-X轴 */

.a-flipout_x {
  -webkit-animation-name: flipout_x;
  -moz-animation-name: flipout_x;
  -ms-animation-name: flipout_x;
  animation-name: flipout_x;
}


/* 翻出-Y轴 */

.a-flipout,
.a-flipout_y {
  -webkit-animation-name: flipout_y;
  -moz-animation-name: flipout_y;
  -ms-animation-name: flipout_y;
  animation-name: flipout_y;
}


/* 闪烁 */

.a-flash {
  -webkit-animation-name: flash;
  -moz-animation-name: flash;
  -ms-animation-name: flash;
  animation-name: flash;
}


/* 震颤 */

.a-shake {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  -ms-animation-name: shake;
  animation-name: shake;
}


/* 摇摆 */

.a-swing {
  -webkit-animation-name: swing;
  -moz-animation-name: swing;
  -ms-animation-name: swing;
  animation-name: swing;
}


/* 摇晃 */

.a-wobble {
  -webkit-animation-name: wobble;
  -moz-animation-name: wobble;
  -ms-animation-name: wobble;
  animation-name: wobble;
}


/* 震铃 */

.a-ring {
  -webkit-animation-name: ring;
  -moz-animation-name: ring;
  -ms-animation-name: ring;
  animation-name: ring;
}


/* define */


/* 淡入 */

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-ms-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* 淡入-从上 */

@-webkit-keyframes fadein_t {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@-moz-keyframes fadein_t {
  0% {
    opacity: 0;
    -moz-transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}

@-ms-keyframes fadein_t {
  0% {
    opacity: 0;
    -ms-transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    -ms-transform: translateY(0);
  }
}

@keyframes fadein_t {
  0% {
    opacity: 0;
    transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* 淡入-从右 */

@-webkit-keyframes fadein_r {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@-moz-keyframes fadein_r {
  0% {
    opacity: 0;
    -moz-transform: translateX(100px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}

@-ms-keyframes fadein_r {
  0% {
    opacity: 0;
    -ms-transform: translateX(100px);
  }
  100% {
    opacity: 1;
    -ms-transform: translateX(0);
  }
}

@keyframes fadein_r {
  0% {
    opacity: 0;
    transform: translateX(100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}


/* 淡入-从下 */

@-webkit-keyframes fadein_b {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@-moz-keyframes fadein_b {
  0% {
    opacity: 0;
    -moz-transform: translateY(100px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}

@-ms-keyframes fadein_b {
  0% {
    opacity: 0;
    -ms-transform: translateY(100px);
  }
  100% {
    opacity: 1;
    -ms-transform: translateY(0);
  }
}

@keyframes fadein_b {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* 淡入-从左 */

@-webkit-keyframes fadein_l {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@-moz-keyframes fadein_l {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}

@-ms-keyframes fadein_l {
  0% {
    opacity: 0;
    -ms-transform: translateX(-100px);
  }
  100% {
    opacity: 1;
    -ms-transform: translateX(0);
  }
}

@keyframes fadein_l {
  0% {
    opacity: 0;
    transform: translateX(-100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}


/* 淡出 */

@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@-moz-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@-ms-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


/* 淡出-向上 */

@-webkit-keyframes fadeout_t {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
  }
}

@-moz-keyframes fadeout_t {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(-100px);
  }
}

@-ms-keyframes fadeout_t {
  0% {
    opacity: 1;
    -ms-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -ms-transform: translateY(-100px);
  }
}

@keyframes fadeout_t {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-100px);
  }
}


/* 淡出-向右 */

@-webkit-keyframes fadeout_r {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100px);
  }
}

@-moz-keyframes fadeout_r {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(100px);
  }
}

@-ms-keyframes fadeout_r {
  0% {
    opacity: 1;
    -ms-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -ms-transform: translateX(100px);
  }
}

@keyframes fadeout_r {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(100px);
  }
}


/* 淡出-向下 */

@-webkit-keyframes fadeout_b {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(100px);
  }
}

@-moz-keyframes fadeout_b {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(100px);
  }
}

@-ms-keyframes fadeout_b {
  0% {
    opacity: 1;
    -ms-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -ms-transform: translateY(100px);
  }
}

@keyframes fadeout_b {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(100px);
  }
}


/* 淡出-向左 */

@-webkit-keyframes fadeout_l {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-100px);
  }
}

@-moz-keyframes fadeout_l {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(-100px);
  }
}

@-ms-keyframes fadeout_l {
  0% {
    opacity: 1;
    -ms-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -ms-transform: translateX(-100px);
  }
}

@keyframes fadeout_l {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-100px);
  }
}


/* 弹跳 */

@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
  }
}

@-moz-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -moz-transform: translateY(0);
  }
  40% {
    -moz-transform: translateY(-30px);
  }
  60% {
    -moz-transform: translateY(-15px);
  }
}

@-ms-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -ms-transform: translateY(0);
  }
  40% {
    -ms-transform: translateY(-30px);
  }
  60% {
    -ms-transform: translateY(-15px);
  }
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}


/* 弹入 */

@-webkit-keyframes bouncein {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
  }
}

@-moz-keyframes bouncein {
  0% {
    opacity: 0;
    -moz-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1.05);
  }
  70% {
    -moz-transform: scale(0.9);
  }
  100% {
    -moz-transform: scale(1);
  }
}

@-ms-keyframes bouncein {
  0% {
    opacity: 0;
    -ms-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -ms-transform: scale(1.05);
  }
  70% {
    -ms-transform: scale(0.9);
  }
  100% {
    -ms-transform: scale(1);
  }
}

@keyframes bouncein {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}


/* 弹入-从上 */

@-webkit-keyframes bouncein_t {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}

@-moz-keyframes bouncein_t {
  0% {
    opacity: 0;
    -moz-transform: translateY(-100px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateY(30px);
  }
  80% {
    -moz-transform: translateY(-10px);
  }
  100% {
    -moz-transform: translateY(0);
  }
}

@-ms-keyframes bouncein_t {
  0% {
    opacity: 0;
    -ms-transform: translateY(-100px);
  }
  60% {
    opacity: 1;
    -ms-transform: translateY(30px);
  }
  80% {
    -ms-transform: translateY(-10px);
  }
  100% {
    -ms-transform: translateY(0);
  }
}

@keyframes bouncein_t {
  0% {
    opacity: 0;
    transform: translateY(-100px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}


/* 弹入-从右 */

@-webkit-keyframes bouncein_r {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
  }
  80% {
    -webkit-transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}

@-moz-keyframes bouncein_r {
  0% {
    opacity: 0;
    -moz-transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(-30px);
  }
  80% {
    -moz-transform: translateX(10px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}

@-ms-keyframes bouncein_r {
  0% {
    opacity: 0;
    -ms-transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -ms-transform: translateX(-30px);
  }
  80% {
    -ms-transform: translateX(10px);
  }
  100% {
    -ms-transform: translateX(0);
  }
}

@keyframes bouncein_r {
  0% {
    opacity: 0;
    transform: translateX(100px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}


/* 弹入-从下 */

@-webkit-keyframes bouncein_b {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
  }
  80% {
    -webkit-transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}

@-moz-keyframes bouncein_b {
  0% {
    opacity: 0;
    -moz-transform: translateY(100px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateY(-30px);
  }
  80% {
    -moz-transform: translateY(10px);
  }
  100% {
    -moz-transform: translateY(0);
  }
}

@-ms-keyframes bouncein_b {
  0% {
    opacity: 0;
    -ms-transform: translateY(100px);
  }
  60% {
    opacity: 1;
    -ms-transform: translateY(-30px);
  }
  80% {
    -ms-transform: translateY(10px);
  }
  100% {
    -ms-transform: translateY(0);
  }
}

@keyframes bouncein_b {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  60% {
    opacity: 1;
    transform: translateY(-30px);
  }
  80% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}


/* 弹入-从左 */

@-webkit-keyframes bouncein_l {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
  }
  80% {
    -webkit-transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}

@-moz-keyframes bouncein_l {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(30px);
  }
  80% {
    -moz-transform: translateX(-10px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}

@-ms-keyframes bouncein_l {
  0% {
    opacity: 0;
    -ms-transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -ms-transform: translateX(30px);
  }
  80% {
    -ms-transform: translateX(-10px);
  }
  100% {
    -ms-transform: translateX(0);
  }
}

@keyframes bouncein_l {
  0% {
    opacity: 0;
    transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    transform: translateX(30px);
  }
  80% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}


/* 弹出 */

@-webkit-keyframes bounceout {
  0% {
    -webkit-transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
  }
}

@-moz-keyframes bounceout {
  0% {
    -moz-transform: scale(1);
  }
  25% {
    -moz-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(0.3);
  }
}

@-ms-keyframes bounceout {
  0% {
    -ms-transform: scale(1);
  }
  25% {
    -ms-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -ms-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -ms-transform: scale(0.3);
  }
}

@keyframes bounceout {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}


/* 弹出-向上*/

@-webkit-keyframes bounceout_t {
  0% {
    -webkit-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
  }
}

@-moz-keyframes bounceout_t {
  0% {
    -moz-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(-100px);
  }
}

@-ms-keyframes bounceout_t {
  0% {
    -ms-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -ms-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -ms-transform: translateY(-100px);
  }
}

@keyframes bounceout_t {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    transform: translateY(-100px);
  }
}


/* 弹出-向右*/

@-webkit-keyframes bounceout_r {
  0% {
    -webkit-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100px);
  }
}

@-moz-keyframes bounceout_r {
  0% {
    -moz-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(100px);
  }
}

@-ms-keyframes bounceout_r {
  0% {
    -ms-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -ms-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -ms-transform: translateX(100px);
  }
}

@keyframes bounceout_r {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    transform: translateX(100px);
  }
}


/* 弹出-向下 */

@-webkit-keyframes bounceout_b {
  0% {
    -webkit-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(100px);
  }
}

@-moz-keyframes bounceout_b {
  0% {
    -moz-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(100px);
  }
}

@-ms-keyframes bounceout_b {
  0% {
    -ms-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -ms-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -ms-transform: translateY(100px);
  }
}

@keyframes bounceout_b {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(100px);
  }
}


/* 弹出-向左 */

@-webkit-keyframes bounceout_l {
  0% {
    -webkit-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-100px);
  }
}

@-moz-keyframes bounceout_l {
  0% {
    -moz-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(-100px);
  }
}

@-ms-keyframes bounceout_l {
  0% {
    -ms-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -ms-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -ms-transform: translateX(-100px);
  }
}

@keyframes bounceout_l {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    transform: translateX(-200px);
  }
}


/* 转入 */

@-webkit-keyframes rotatein {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-200deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate(0);
  }
}

@-moz-keyframes rotatein {
  0% {
    opacity: 0;
    -moz-transform: rotate(-200deg);
  }
  100% {
    opacity: 1;
    -moz-transform: rotate(0);
  }
}

@-ms-keyframes rotatein {
  0% {
    opacity: 0;
    -ms-transform: rotate(-200deg);
  }
  100% {
    opacity: 1;
    -ms-transform: rotate(0);
  }
}

@keyframes rotatein {
  0% {
    opacity: 0;
    transform: rotate(-200deg);
  }
  100% {
    opacity: 1;
    transform: rotate(0);
  }
}


/* 转入-从左上 */

@-webkit-keyframes rotatein_lt {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}

@-moz-keyframes rotatein_lt {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}

@-ms-keyframes rotatein_lt {
  0% {
    -ms-transform-origin: left bottom;
    -ms-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -ms-transform-origin: left bottom;
    -ms-transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotatein_lt {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}


/* 转入-从左下 */

@-webkit-keyframes rotateineft_b {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}

@-moz-keyframes rotateineft_b {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}

@-ms-keyframes rotateineft_b {
  0% {
    -ms-transform-origin: left bottom;
    -ms-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -ms-transform-origin: left bottom;
    -ms-transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateineft_b {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}


/* 转入-从右上 */

@-webkit-keyframes rotatein_rt {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}

@-moz-keyframes rotatein_rt {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}

@-ms-keyframes rotatein_rt {
  0% {
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotatein_rt {
  0% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}


/* 转入-从右下*/

@-webkit-keyframes rotatein_rb {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}

@-moz-keyframes rotatein_rb {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}

@-ms-keyframes rotatein_rb {
  0% {
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotatein_rb {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}


/* 转出 */

@-webkit-keyframes rotateout {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0;
  }
}

@-moz-keyframes rotateout {
  0% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(200deg);
    opacity: 0;
  }
}

@-ms-keyframes rotateout {
  0% {
    -ms-transform-origin: center center;
    -ms-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -ms-transform-origin: center center;
    -ms-transform: rotate(200deg);
    opacity: 0;
  }
}

@keyframes rotateout {
  0% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: center center;
    transform: rotate(200deg);
    opacity: 0;
  }
}


/* 转出-向左上 */

@-webkit-keyframes rotateout_lt {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
}

@-moz-keyframes rotateout_lt {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
}

@-ms-keyframes rotateout_lt {
  0% {
    -ms-transform-origin: left bottom;
    -ms-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -ms-transform-origin: left bottom;
    -ms-transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateout_lt {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}


/* 转出-向左下 */

@-webkit-keyframes rotateout_lb {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
}

@-moz-keyframes rotateout_lb {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
}

@-ms-keyframes rotateout_lb {
  0% {
    -ms-transform-origin: left bottom;
    -ms-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -ms-transform-origin: left bottom;
    -ms-transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateout_lb {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}


/* 转出-向右上 */

@-webkit-keyframes rotateout_rt {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
}

@-moz-keyframes rotateout_rt {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
}

@-ms-keyframes rotateout_rt {
  0% {
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateout_rt {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}


/* 转出-向右下 */

@-webkit-keyframes rotateoutBR {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
}

@-moz-keyframes rotateoutBR {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
}

@-ms-keyframes rotateoutBR {
  0% {
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateoutBR {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}


/* 翻转 */

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
  }
}

@-moz-keyframes flip {
  0% {
    -moz-transform: perspective(400px) rotateY(0);
    -moz-animation-timing-function: ease-out;
  }
  40% {
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-animation-timing-function: ease-out;
  }
  50% {
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-animation-timing-function: ease-in;
  }
  80% {
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-animation-timing-function: ease-in;
  }
  100% {
    -moz-transform: perspective(400px) scale(1);
    -moz-animation-timing-function: ease-in;
  }
}

@-ms-keyframes flip {
  0% {
    -ms-transform: perspective(400px) rotateY(0);
    -ms-animation-timing-function: ease-out;
  }
  40% {
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-animation-timing-function: ease-out;
  }
  50% {
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-animation-timing-function: ease-in;
  }
  80% {
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-animation-timing-function: ease-in;
  }
  100% {
    -ms-transform: perspective(400px) scale(1);
    -ms-animation-timing-function: ease-in;
  }
}

@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(0);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    animation-timing-function: ease-in;
  }
  100% {
    transform: perspective(400px) scale(1);
    animation-timing-function: ease-in;
  }
}


/* 翻入-X轴 */

@-webkit-keyframes flipin_x {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
}

@-moz-keyframes flipin_x {
  0% {
    -moz-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -moz-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -moz-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -moz-transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
}

@-ms-keyframes flipin_x {
  0% {
    -ms-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -ms-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -ms-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -ms-transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
}

@keyframes flipin_x {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
}


/* 翻入-Y轴 */

@-webkit-keyframes flipin_y {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
}

@-moz-keyframes flipin_y {
  0% {
    -moz-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -moz-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -moz-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -moz-transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
}

@-ms-keyframes flipin_y {
  0% {
    -ms-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -ms-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -ms-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -ms-transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
}

@keyframes flipin_y {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
}


/* 翻出-X轴 */

@-webkit-keyframes flipout_x {
  0% {
    -webkit-transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@-moz-keyframes flipout_x {
  0% {
    -moz-transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
  100% {
    -moz-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@-ms-keyframes flipout_x {
  0% {
    -ms-transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
  100% {
    -ms-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@keyframes flipout_x {
  0% {
    transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}


/* 翻出-Y轴 */

@-webkit-keyframes flipout_y {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@-moz-keyframes flipout_y {
  0% {
    -moz-transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
  100% {
    -moz-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@-ms-keyframes flipout_y {
  0% {
    -ms-transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
  100% {
    -ms-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes flipout_y {
  0% {
    transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}


/* 闪烁 */

@-webkit-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

@-moz-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

@-ms-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}


/* 震颤 */

@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
  }
}

@-moz-keyframes shake {
  0%,
  100% {
    -moz-transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -moz-transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -moz-transform: translateX(10px);
  }
}

@-ms-keyframes shake {
  0%,
  100% {
    -ms-transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -ms-transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -ms-transform: translateX(10px);
  }
}

@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(10px);
  }
}


/* 摇摆 */

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
  }
  40% {
    -webkit-transform: rotate(-10deg);
  }
  60% {
    -webkit-transform: rotate(5deg);
  }
  80% {
    -webkit-transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0);
  }
}

@-moz-keyframes swing {
  20% {
    -moz-transform: rotate(15deg);
  }
  40% {
    -moz-transform: rotate(-10deg);
  }
  60% {
    -moz-transform: rotate(5deg);
  }
  80% {
    -moz-transform: rotate(-5deg);
  }
  100% {
    -moz-transform: rotate(0);
  }
}

@-ms-keyframes swing {
  20% {
    -ms-transform: rotate(15deg);
  }
  40% {
    -ms-transform: rotate(-10deg);
  }
  60% {
    -ms-transform: rotate(5deg);
  }
  80% {
    -ms-transform: rotate(-5deg);
  }
  100% {
    -ms-transform: rotate(0);
  }
}

@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0);
  }
}


/* 摇晃 */

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0);
  }
  15% {
    -webkit-transform: translateX(-100px) rotate(-5deg);
  }
  30% {
    -webkit-transform: translateX(80px) rotate(3deg);
  }
  45% {
    -webkit-transform: translateX(-65px) rotate(-3deg);
  }
  60% {
    -webkit-transform: translateX(40px) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(-20px) rotate(-1deg);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}

@-moz-keyframes wobble {
  0% {
    -moz-transform: translateX(0);
  }
  15% {
    -moz-transform: translateX(-100px) rotate(-5deg);
  }
  30% {
    -moz-transform: translateX(80px) rotate(3deg);
  }
  45% {
    -moz-transform: translateX(-65px) rotate(-3deg);
  }
  60% {
    -moz-transform: translateX(40px) rotate(2deg);
  }
  75% {
    -moz-transform: translateX(-20px) rotate(-1deg);
  }
  100% {
    -moz-transform: translateX(0);
  }
}

@-ms-keyframes wobble {
  0% {
    -ms-transform: translateX(0);
  }
  15% {
    -ms-transform: translateX(-100px) rotate(-5deg);
  }
  30% {
    -ms-transform: translateX(80px) rotate(3deg);
  }
  45% {
    -ms-transform: translateX(-65px) rotate(-3deg);
  }
  60% {
    -ms-transform: translateX(40px) rotate(2deg);
  }
  75% {
    -ms-transform: translateX(-20px) rotate(-1deg);
  }
  100% {
    -ms-transform: translateX(0);
  }
}

@keyframes wobble {
  0% {
    transform: translateX(0);
  }
  15% {
    transform: translateX(-100px) rotate(-5deg);
  }
  30% {
    transform: translateX(80px) rotate(3deg);
  }
  45% {
    transform: translateX(-65px) rotate(-3deg);
  }
  60% {
    transform: translateX(40px) rotate(2deg);
  }
  75% {
    transform: translateX(-20px) rotate(-1deg);
  }
  100% {
    transform: translateX(0);
  }
}


/* 震铃 */

@-webkit-keyframes ring {
  0% {
    -webkit-transform: scale(1);
  }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0);
  }
}

@-moz-keyframes ring {
  0% {
    -moz-transform: scale(1);
  }
  10%,
  20% {
    -moz-transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -moz-transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -moz-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -moz-transform: scale(1) rotate(0);
  }
}

@-ms-keyframes ring {
  0% {
    -ms-transform: scale(1);
  }
  10%,
  20% {
    -ms-transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -ms-transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -ms-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -ms-transform: scale(1) rotate(0);
  }
}

@keyframes ring {
  0% {
    transform: scale(1);
  }
  10%,
  20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
