.loading_wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
  }

  .loader_logo {
    display: none;
  }

  .loading.loading-spinner {
    width: 44px;
    height: 44px;
    border: 3px solid rgba(102, 126, 234, 0.22);
    border-top-color: #667eea;
    border-radius: 50%;
    animation: loader-spin 0.75s linear infinite;
    -webkit-animation: loader-spin 0.75s linear infinite;
    flex-shrink: 0;
  }

  @keyframes loader-spin {
    to { transform: rotate(360deg); }
  }

  @-webkit-keyframes loader-spin {
    to { -webkit-transform: rotate(360deg); }
  }

  #app {
    animation: app-fade-in 0.5s ease-out both;
    -webkit-animation: app-fade-in 0.5s ease-out both;
  }

  @keyframes app-fade-in {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0);  }
  }

  @-webkit-keyframes app-fade-in {
    from { opacity: 0; -webkit-transform: translateY(8px); }
    to   { opacity: 1; -webkit-transform: translateY(0);  }
  }
