._sourceLoading {
    /* 居中 */
    position: absolute;
    top: 40vh;
    left: 50vw;
    transform: translate(-50%, -50%);

    /* border-bottom: 1px solid #01479d; */
  }
  ._sourceLoading,
  ._sourceLoading > div {
    position: relative;
    box-sizing: border-box;
  }

  ._sourceLoading {
    display: block;
    font-size: 0;
    color: #000;
  }

  ._sourceLoading.la-dark {
    color: #333;
  }

  ._sourceLoading > div {
    display: inline-block;
    float: none;
    background-color: #f39838;
    border: 0 solid #f39838;
  }

  ._sourceLoading {
    width: 100px;
    height: 100px;
  }

  ._sourceLoading > div:nth-child(1) {
    position: absolute;
    bottom: 32%;
    left: 22%;
    width: 30px;
    height: 30px;
    border-radius: 100%;
    transform-origin: center bottom;
    animation: ball-climbing-dot-jump 0.6s ease-in-out infinite;
  }

  ._sourceLoading > div:not(:nth-child(1)) {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 4px;
    border-radius: 0;
    transform: translate(60%, 0);
    animation: ball-climbing-dot-steps 1.8s linear infinite;
  }

  ._sourceLoading > div:not(:nth-child(1)):nth-child(2) {
    animation-delay: 0ms;
  }

  ._sourceLoading > div:not(:nth-child(1)):nth-child(3) {
    animation-delay: -600ms;
  }

  ._sourceLoading > div:not(:nth-child(1)):nth-child(4) {
    animation-delay: -1200ms;
  }

  @keyframes ball-climbing-dot-jump {
    0% {
      transform: scale(1, 0.7);
    }

    20% {
      transform: scale(0.7, 1.2);
    }

    40% {
      transform: scale(1, 1);
    }

    50% {
      bottom: 125%;
    }

    46% {
      transform: scale(1, 1);
    }

    80% {
      transform: scale(0.7, 1.2);
    }

    90% {
      transform: scale(0.7, 1.2);
    }

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

  @keyframes ball-climbing-dot-steps {
    0% {
      top: 0;
      right: 0;
      opacity: 0;
    }

    50% {
      opacity: 1;
    }

    100% {
      top: 100%;
      right: 100%;
      opacity: 0;
    }
  }