body {
  margin: 0;
}

#loading-bg {
  width     : 100vw;
  height    : 100vh;
  top       : 0;
  left      : 0;
  background: #fff;
  display   : block;
  position  : fixed;
  z-index   : 1000;
}

.loading-logo {
  position  : absolute;
  left      : calc(50% - 45px);
  top       : 50%;
  transform : translateY(-50%);
  margin-top: -80px;
}

.loading {
  position          : absolute;
  left              : calc(50% - 35px);
  top               : 50%;
  transform         : translateY(-50%);
  width             : 55px;
  height            : 55px;
  border-radius     : 50%;
  -webkit-box-sizing: border-box;
  box-sizing        : border-box;
  border            : 3px solid transparent;
}

.loading .effect-1,
.loading .effect-2 {
  position          : absolute;
  width             : 100%;
  height            : 100%;
  border            : 3px solid transparent;
  border-left       : 3px solid rgba(241, 90, 41, 1);
  border-radius     : 50%;
  -webkit-box-sizing: border-box;
  box-sizing        : border-box;
}

.loading .effect-1 {
  animation: rotate 1s ease infinite;
}

.loading .effect-2 {
  animation: rotateOpacity 1s ease infinite 0.1s;
}

.loading .effect-3 {
  position          : absolute;
  width             : 100%;
  height            : 100%;
  border            : 3px solid transparent;
  border-left       : 3px solid rgba(241, 90, 41, 1);
  -webkit-animation : rotateOpacity 1s ease infinite 0.2s;
  animation         : rotateOpacity 1s ease infinite 0.2s;
  border-radius     : 50%;
  -webkit-box-sizing: border-box;
  box-sizing        : border-box;
}

.loading .effects {
  transition: all 0.3s ease;
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform        : rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(1turn);
    transform        : rotate(1turn);
  }
}

@keyframes rotateOpacity {
  0% {
    -webkit-transform: rotate(0deg);
    transform        : rotate(0deg);
    opacity          : 0.1;
  }

  100% {
    -webkit-transform: rotate(1turn);
    transform        : rotate(1turn);
    opacity          : 1;
  }
}