* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: -apple-system, blinkmacsystemfont, 'Helvetica Neue', helvetica,
    segoe ui, arial, roboto, 'PingFang SC', 'miui', 'Hiragino Sans GB',
    'Microsoft Yahei', sans-serif;
}

body {
  overflow-x: hidden;
  background: #f5f5f5;
}

a {
  -webkit-tap-highlight-color: transparent;
  color: inherit;
  text-decoration: none;
}

.pre-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 60px;
  height: 90px;
  margin-top: -60px;
  margin-left: -30px;
  font-size: 0;
  text-align: center;
}

.pre-loading__text {
  margin-top: 40px;
  color: #555;
  font-size: 14px;
}

.pre-loading__effect {
  width: 30px;
  height: 30px;
  margin: 0 auto;
  vertical-align: middle;
  border-radius: 50%;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  -webkit-perspective: 1000px;
  perspective: 1000px;
}

.pre-loading__effect:before,
.pre-loading__effect:after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: inherit;
  height: inherit;
  border-radius: 50%;
  -webkit-animation: 1s spin linear infinite;
  animation: 1s spin linear infinite;
  content: '';
}

.pre-loading__effect:before {
  -webkit-transform: rotateX(70deg);
  transform: rotateX(70deg);
}

.pre-loading__effect:after {
  -webkit-transform: rotateY(70deg);
  transform: rotateY(70deg);
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

@-webkit-keyframes spin {
  0%,
  100% {
    box-shadow: 5px 0 0 0 #1385ee;
  }

  12% {
    box-shadow: 5px 5px 0 0 #1385ee;
  }

  25% {
    box-shadow: 0 5px 0 0 #1385ee;
  }

  37% {
    box-shadow: -5px 5px 0 0 #1385ee;
  }

  50% {
    box-shadow: -5px 0 0 0 #1385ee;
  }

  62% {
    box-shadow: -5px -5px 0 0 #1385ee;
  }

  75% {
    box-shadow: 0 -5px 0 0 #1385ee;
  }

  87% {
    box-shadow: 5px -5px 0 0 #1385ee;
  }
}

@keyframes spin {
  0%,
  100% {
    box-shadow: 5px 0 0 0 #1385ee;
  }

  12% {
    box-shadow: 5px 5px 0 0 #1385ee;
  }

  25% {
    box-shadow: 0 5px 0 0 #1385ee;
  }

  37% {
    box-shadow: -5px 5px 0 0 #1385ee;
  }

  50% {
    box-shadow: -5px 0 0 0 #1385ee;
  }

  62% {
    box-shadow: -5px -5px 0 0 #1385ee;
  }

  75% {
    box-shadow: 0 -5px 0 0 #1385ee;
  }

  87% {
    box-shadow: 5px -5px 0 0 #1385ee;
  }
}
