/* 鍩虹鍔ㄧ敾鏍峰紡锛氶粯璁ら殣钘 */
.animation {
  visibility: hidden;
  opacity: 0;
  /* 缁熶竴鍔ㄧ敾杩囨浮鍩虹 */
  transition: opacity 0.3s ease;
}

/* 鍏ュ満鍔ㄧ敾婵€娲荤被 */
.fadeLeft,
.fadeRight,
.fadeUp,
.fadeDown,
.fadeZoom,
.fadeScale {
  visibility: visible;
}

/* 1. 鍚戜笂婊戝叆锛堝師鏈変紭鍖栵級 */
.fadeUp {
  animation: slideInUp ease-out 0.6s forwards;
  -webkit-animation: slideInUp ease-out 0.6s forwards;
}

@keyframes slideInUp {
  from {
    transform: translate3d(0, 50%, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 50%, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
  }
}

/* 2. 鍚戝乏婊戝叆锛堝師鏈変紭鍖栵級 */
.fadeLeft {
  animation: slideInLeft ease-out 0.6s forwards;
  -webkit-animation: slideInLeft ease-out 0.6s forwards;
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-50%, 0, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-50%, 0, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
  }
}

/* 3. 鍚戝彸婊戝叆锛堝師鏈変紭鍖栵級 */
.fadeRight {
  animation: slideInRight ease-out 0.6s forwards;
  -webkit-animation: slideInRight ease-out 0.6s forwards;
}

@keyframes slideInRight {
  from {
    transform: translate3d(50%, 0, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(50%, 0, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
  }
}

/* 4. 鍚戜笅婊戝叆锛堟柊澧烇級 */
.fadeDown {
  animation: slideInDown ease-out 0.6s forwards;
  -webkit-animation: slideInDown ease-out 0.6s forwards;
}

@keyframes slideInDown {
  from {
    transform: translate3d(0, -50%, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -50%, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
  }
}

/* 5. 涓績鏀惧ぇ锛堝師鏈夐噸鍛藉悕浼樺寲锛 */
.fadeZoom {
  animation: zoomIn ease-out 0.6s forwards;
  -webkit-animation: zoomIn ease-out 0.6s forwards;
}

@keyframes zoomIn {
  from {
    transform: scale3d(0.3, 0.3, 0.3);
    opacity: 0;
  }

  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes zoomIn {
  from {
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    opacity: 0;
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
  }
}

/* 6. 杞诲井缂╂斁娣″叆锛堟柊澧烇細鏇存煍鍜岀殑鏁堟灉锛 */
.fadeScale {
  animation: fadeScale ease-out 0.7s forwards;
  -webkit-animation: fadeScale ease-out 0.7s forwards;
}

@keyframes fadeScale {
  from {
    transform: scale(0.8);
    opacity: 0;
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@-webkit-keyframes fadeScale {
  from {
    -webkit-transform: scale(0.8);
    opacity: 0;
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
  }
}

/* 鍥剧墖瀹瑰櫒鍔ㄧ敾 */
.image-container {
  overflow: hidden;
}

.image-container img {
  width: 100%;
  animation: imgZoomIn 4s forwards;
  -webkit-animation: imgZoomIn 4s forwards;
}


.image-container.animation {
  visibility: visible;
  opacity: 1 !important;
}


@keyframes imgZoomIn {
  0% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(1);
  }
}

@-webkit-keyframes imgZoomIn {
  0% {
    -webkit-transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
  }
}

/* 鍥剧墖鎮仠缂╂斁锛堝搷搴斿紡锛 */
@media (min-width: 480px) {
  .img-scale {
    overflow: hidden;
  }

  .img-scale img {
    transform: scale(1);
    -webkit-transform: scale(1);
    transition: all 0.8s;
    -webkit-transition: all 0.8s;
  }

  .img-scale:hover img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
  }
}