#download_page {
  visibility: hidden;
  height: 0;
}
.spin-alone {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.spin-global {
  box-sizing: border-box;
  overflow: hidden;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.spin-local {
  position: relative;
  box-sizing: border-box;
  display: block;
}
.spin-svg {
  position: absolute;
  width: 100%;
  height: 100%;
}
.spin-svg-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.svg-loading {
  animation-duration: 2s;
  position: relative;
  display: inline-block;
  width: 8vw;
  max-width: 100%;
  height: 8vw;
  max-height: 100%;
  vertical-align: middle;
  animation: loading-rotate 1.5s linear infinite;
}
.svg-loading-label {
  margin-left: 6px;
  font-size: 15px;
}
.svg-container {
  display: block;
  width: 100%;
  height: 100%;
}
.svg-container circle {
  animation: loading-circular 1.5s ease-in-out infinite;
  stroke: #97b4d9;
  stroke-width: 6;
  stroke-linecap: round;
}
.svg-theme-container {
  display: block;
  width: 100%;
  height: 100%;
}
.svg-theme-container circle {
  animation: loading-circular 1.5s ease-in-out infinite;
  stroke: #ffffff;
  stroke-width: 6;
  stroke-linecap: round;
}
@keyframes loading-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes loading-circular {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -40;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -120;
  }
}
