* {
  margin: 0 auto;
  padding: 0;
  outline: 0;
}
html,
body {
  width: 100%;
  height: 100%;
  min-width: 320px;
  max-width: 750px;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  -webkit-overflow-scrolling: touch;
}
body {
  font-family: 'Microsoft YaHei', 'PingFang SC', 'Helvetica Neue', Helvetica, Roboto, 'Heiti SC', STHeiTi, Arial, sans-serif;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-overflow-scrolling: touch;
}
img {
  border: 0;
}
ul {
  list-style: none;
}
input {
  -webkit-appearance: none;
}
a {
  text-decoration: none;
}
/***********开篇全屏视频页 begin*************/
.openingVideoBox {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 900;
  height: 750px;
  transform: rotate(90deg);
  transform-origin: 375px 375px;
  background: url(../images/bg.png) no-repeat top center;
  background-size: 100% auto;
  overflow: hidden;
}
.openingVideoBox .skipBn {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 430px;
  bottom: -230px;
  margin: auto;
  animation: pulse 1s linear infinite;
}
.openingVideoBox .skipBn1 {
  display: none;
  position: fixed;
  top: 160px;
  left: 60px;
  right: 270px;
  bottom: -130px;
  margin: auto;
  animation: pulse 1s linear infinite;
}
.openingVideoBox #openingVideo {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 750px;
  object-fit: contain;
}
.openingVideoBox .jump {
  display: none;
  position: fixed;
  top: 50px;
  right: 50px;
  width: 105px;
  height: 47px;
  line-height: 47px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  text-align: center;
  border-radius: 24px;
  font-size: 24px;
  z-index: 9999;
}
/***********开篇全屏视频页 end*************/
/* 背景视频样式 */
#openingVideoBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  /* 放大背景 */
  height: 200%;
  object-fit: cover;
  filter: blur(20px) brightness(0.8);
  z-index: 0;
  pointer-events: none;
}
/*******海报 begin*********/
.hb {
  position: absolute;
  top: 0;
  left: 0;
  background: url('../images/hb.png') no-repeat top center;
  background-size: 100% auto;
  display: none;
  width: 100%;
  height: 100%;
}
.hb .tit {
  position: absolute;
  top: 210px;
  left: 180px;
  opacity: 0;
}
.hb .btn {
  position: absolute;
  top: 380px;
  left: 80px;
  opacity: 0;
}
.hb.active .tit {
  animation: fadeInRight 1s ease-in-out forwards;
}
.hb.active .btn {
  animation: fadeIn 1s linear 1s forwards, pulse 1s linear infinite;
}
/*******海报 end*********/
/*******海报 begin*********/
.hb1 {
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/bg.png) no-repeat top center;
  background-size: 100% auto;
  z-index: -1;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 1s;
}
.hb1 .hbBox {
  position: absolute;
  width: 620px;
  height: 1200px;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.hb1 .hbBox .prev {
  position: absolute;
  top: 0;
  left: 200px;
}
.hb1 .hbBox .next {
  position: absolute;
  bottom: 0;
  left: 200px;
}
.hb1 .swiper-container-all {
  position: absolute;
  width: 470px;
  height: 1100px;
  top: 40px;
  left: 10px;
  margin: auto;
  overflow: hidden;
}
.hb1 .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.hb1 .swiper-slide {
  width: 662px;
  margin-left: -200px;
}
.hb1 .swiper-slide img {
  width: 100%;
  border-radius: 8px;
  /* 可选，圆角更柔和 */
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.4), /* 金色外发光 */ 0 0 20px rgba(255, 215, 0, 0.3), 0 0 30px rgba(255, 215, 0, 0.2);
}
.hb1 .hbBottom {
  position: absolute;
  top: 0;
  height: 1190px;
  width: 140px;
}
.hb1 .p1 {
  margin-top: 40px;
}
.hb1 .hb_desc {
  position: absolute;
  top: 90px;
  left: 540px;
}
.hb1 .chou {
  position: absolute;
  top: 730px;
  width: 73px;
  height: 324px;
  background: url(../images/chou.png);
  animation: pulse 1s linear infinite;
}
.hb1 .chou1 {
  position: absolute;
  bottom: -30px;
  right: -39px;
  animation: swing 1s linear infinite;
}
/*******海报 end*********/
#imgPreviewOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}
.img-preview-bg {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
}
.img-preview-big {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 90%;
  max-height: 90%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 20px #000;
  border-radius: 8px;
}
.img-preview-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 90vh;
  max-height: 90vw;
  transform: translate(-50%, -50%) rotate(-90deg);
  z-index: 10;
  opacity: 0;
}
.saveTip {
  position: absolute;
  top: 68%;
  left: 10%;
}
#rotate {
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: 700;
  width: 60px;
  height: 60px;
  background-image: url(../images/mu.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  -webkit-tap-highlight-color: rgba(255, 0, 0, 0);
}
.rotate_ani {
  -webkit-animation: rotating 3s linear 0s infinite;
  -moz-animation: rotating 3s linear 0s infinite;
  -ms-animation: rotating 3s linear 0s infinite;
  animation: rotating 3s linear 0s infinite;
}
@-webkit-keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/**********looding begin*************/
.loadingBox {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: #eae4d7 url(../images/bg.png) left top repeat-y;
}
.progressBar {
  margin: auto;
  position: absolute;
  left: 425px;
  top: 0;
  bottom: 0;
  width: 14px;
  height: 600px;
  padding: 8px 3px;
  border: 2px solid #000;
  border-radius: 20px;
  background-color: #eae4d7;
}
.progressBar span {
  width: 14px;
  height: 100px;
  display: block;
  background-color: #729a9c;
}
.loading {
  margin: auto;
  position: absolute;
  left: 0px;
  top: 0px;
  bottom: 0;
  width: 100%;
  height: 30px;
  text-align: center;
  transform: rotate(90deg);
}
.loading .timeline {
  font-size: 24px;
  color: #729a9c;
}
.leaf {
  position: absolute;
}
/**********looding end*************/
/*滑动提示 begin*/
.slideTip {
  opacity: 0;
  position: absolute;
  left: 270px;
  top: 0px;
  margin: auto;
  bottom: 0;
  width: 69px;
  height: 96px;
  background: url(../images/handTips.png) no-repeat;
  background-size: 100% auto;
}
.slideTipA {
  animation: flash 3s linear 0s infinite;
}
@keyframes moveTopTip {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  45% {
    opacity: 1;
    transform: translateY(0px);
  }
  90% {
    opacity: 0;
    transform: translateY(-100px);
  }
  100% {
    opacity: 0;
    transform: translateY(100px);
  }
}
/*滑动提示 end*/
@keyframes flipInX {
  0% {
    opacity: 0;
    -webkit-transform: perspective(400px) rotateX(90deg) scale3d(1.2, 1.2, 1.2);
    transform: perspective(400px) rotateX(90deg) scale3d(1.2, 1.2, 1.2);
  }
  50% {
    opacity: 1;
    -webkit-animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -webkit-transform: perspective(400px) rotateX(-20deg) scale3d(1, 1, 1);
    transform: perspective(400px) rotateX(-20deg) scale3d(1, 1, 1);
  }
  100% {
    opacity: 1;
    -webkit-transform: perspective(400px) rotateX(0deg) scale3d(1, 1, 1);
    transform: perspective(400px) rotateX(0deg) scale3d(1, 1, 1);
  }
}
@keyframes pulsate {
  0% {
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(0.8, 0.8, 0.8);
    transform: scale3d(0.8, 0.8, 0.8);
  }
  100% {
    opacity: 1;
    -webkit-animation-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    animation-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.blink {
  -webkit-animation-name: blink;
  animation-name: blink;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
  animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
@keyframes tip_move {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(50px);
  }
}
@keyframes tip_movel {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateX(50px);
  }
}
.tips1 {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  pointer-events: none;
}
.swiper-slide-active .arr {
  animation: tip_move 2s linear infinite;
}
@keyframes tips1Move {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.25, 1.25, 1.25);
    -ms-transform: scale3d(1.25, 1.25, 1.25);
    transform: scale3d(1.25, 1.25, 1.25);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tips2Move {
  0%,
  100% {
    opacity: 0;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateX(100px);
    -ms-transform: translateX(100px);
    transform: translateX(100px);
  }
}