.scroll_loading {
  height: 30px;
  text-align: center;
  margin-bottom: env(safe-area-inset-bottom);
}
@-webkit-keyframes spin2 {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin2 {
  100% {
    transform: rotate(360deg);
  }
}
.scroll_loading p {
  display: inline-block;
  position: relative;
  width: 30px;
  height: 30px;
  padding: 3px;
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 100%;
  text-align: center;
}
.scroll_loading p:after {
  display: inline-block;
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -9px 0 0 -9px;
  border-radius: 100%;
  width: 18px;
  height: 18px;
  background: #fff;
  z-index: 9;
}
.scroll_loading p span {
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 100%;
  overflow: hidden;
  -webkit-animation: spin2 0.7s infinite linear;
  animation: spin2 0.7s infinite linear;
  background-color: #76d6b8;
  color: transparent;
  text-indent: -9999px;
}
.scroll_loading p span:before,
.scroll_loading p span:after {
  display: block;
  position: absolute;
  content: '';
  top: 0;
  width: 12px;
  height: 24px;
  font-size: 0;
}
.scroll_loading p span:before {
  background-image: -webkit-gradient(
          linear,
          left bottom,
          left top,
          from(#76d6b8),
          color-stop(25%, #76d6b8),
          color-stop(65%, #43c69e),
          color-stop(85%, #00b27b)
  );
  background-image: linear-gradient(to top, #76d6b8 0%, #76d6b8 25%, #43c69e 65%, #00b27b 85%);
  left: 0;
}
.scroll_loading p span:after {
  background-image: -webkit-gradient(
          linear,
          left top,
          left bottom,
          from(#fff),
          color-stop(25%, #d1f1e7),
          to(#76d6b8)
  );
  background-image: linear-gradient(to bottom, #fff 0%, #d1f1e7 25%, #76d6b8 100%);
  right: 0;
}
.page_loading {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
  z-index: 9999;
}
.page_loading .scroll_loading p {
  background-color: transparent;
  margin: 0;
}
.page_loading .scroll_loading p:after {
  background-color: #f5f5f5;
}
.page_loading .page_loading_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
