body,
html {
  margin: 0;
  padding: 0;
  font-size: 16px;
  min-width: 340px;
  min-height: 100%;
  -webkit-backface-visibility: hidden;
  background: #fff;
}

.pre-loading {
  display: flex !important;
  min-height: 100vh;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: space-around;
}

.pre-loading-logo {
  top: 20px;
  text-align: center;
  position: absolute;
}

.pre-loading-waiting {
  padding: 1rem 0 0 0;
  font-size: 1.1rem;
  font-weight: 500;
  color: #233646;
}

.pre-loading-grid {
  width: 4rem;
  height: 4rem;
  margin: auto;

  .pre-loading-square {
    width: 30%;
    height: 30%;
    margin: 1px;
    background-color: #233646;
    float: left;
    animation: pre-loading-grid-scale-delay 1.3s infinite ease-in-out;
  }

  /*
   * Spinner positions
   * 1 2 3
   * 4 5 6
   * 7 8 9
   */

  .pre-loading-square-1 {
    animation-delay: 0.2s;
  }

  .pre-loading-square-2 {
    animation-delay: 0.3s;
  }

  .pre-loading-square-3 {
    animation-delay: 0.4s;
  }

  .pre-loading-square-4 {
    animation-delay: 0.1s;
  }

  .pre-loading-square-5 {
    animation-delay: 0.2s;
  }

  .pre-loading-square-6 {
    animation-delay: 0.3s;
  }

  .pre-loading-square-7 {
    animation-delay: 0s;
  }

  .pre-loading-square-8 {
    animation-delay: 0.1s;
  }

  .pre-loading-square-9 {
    animation-delay: 0.2s;
  }
}

@keyframes pre-loading-grid-scale-delay {
  0%,
  70%,
  100% {
    transform: scale3D(1, 1, 1);
  }
  35% {
    transform: scale3D(0, 0, 1);
  }
}
