.spinner-wrapper {
    align-items: center;
    background: #fff;
    display: flex;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    justify-content: center;
    opacity: 0;
    position: fixed;
    transition: opacity .3s ease;
    z-index: 9999
  }
  
  .spinner-wrapper.visible {
    opacity: 1
  }
  
  .spinner-wrapper.fade-out {
    opacity: 0
  }
  
  .spinner {
    margin-left: -16px;
    margin-top: -16px;
    padding-top: 16px;
    position: relative
  }
  
  .spinner,
  .spinner div {
    height: 32px;
    width: 32px
  }
  
  .spinner div {
    animation: spinner 2.5s cubic-bezier(.5, 0, .5, 1) infinite;
    border: 3px solid transparent;
    border-radius: 100%;
    border-top-color: #92979b;
    box-sizing: border-box;
    display: block;
    margin: 8px;
    position: absolute
  }
  
  .spinner div:first-child {
    animation-delay: -.45s
  }
  
  .spinner div:nth-child(2) {
    animation-delay: -.3s
  }
  
  .spinner div:nth-child(3) {
    animation-delay: -.15s
  }
  
  @keyframes spinner {
    0% {
      transform: rotate(0)
    }
  
    to {
      transform: rotate(1turn)
    }
  }
  
  .is-lock-scroll {
    overflow: hidden
  }