#stepProgressBar {
  counter-reset: step;

  .step  {
    text-align:  center;
    min-width: 0;

    &.current {
      &::after {
        background: linear-gradient(to right, #209579 50%, #dfdfdf 50%);
      }

      .bullet {
        color: #209579;
        background-color: #fff;
        border: .2rem solid #209579;
        @media only screen and (min-width: 768px) {
          border: .3rem solid #209579;
        }
      }

      .step-text  {
        font-weight: 500;
      }

      & ~ * {
        &::after {
          background-color: #dfdfdf;
        }

        .bullet {
          color: #999;
          background-color: #DFDFDF;
        }
      }
    }

    &::after {
      content: '';
      position: absolute;
      height: .16rem;
      top: 0.96rem;
      left: 0;
      z-index: -1;
      width: 100%;
      background-color: #209579;
      @media only screen and (min-width: 768px) {
        height: .3rem;
        top: 1.4rem;
      }
    }

    .bullet {
      height: 2rem;
      width: 2rem;
      border-radius: 100%;
      color: #fff;
      display: inline-block;
      position: relative;
      line-height: 20px;
      background-color: #209579;
      @media only screen and (min-width: 768px) {
        height: 3rem;
        width: 3rem;
      }

        &::before {
        content: counter(step);
        counter-increment: step;
        font-size: 14px;
        font-weight: 600;
        @media only screen and (min-width: 768px) {
          font-size: 20px;
        }
      }
    }

    .step-text  {
      color: #999;
      font-size: 12px;
      @media only screen and (min-width: 768px) {
        font-size: initial;
      }
    }
  }
}
