/* Loader */
body.is-loading:before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  z-index: 9999;
}
body.is-loading:after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -64px 0 0 -20px;
  border-radius: 50%;
  border: 4px solid var(--color-secondary);
  border-top-color: var(--color-primary);
  animation: spin 1s infinite linear;
  z-index: 10000;
}

body.is-loading-full:before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 1);
  z-index: 9999;
}
body.is-loading-full:after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border-radius: 50%;
  border: 4px solid var(--light-grey);
  border-top-color: var(--grey);
  animation: spin 1s infinite linear;
  z-index: 10000;
}

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

.loader-text {
  display: none;
  position: fixed;
  z-index: 10000;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold;
}
body.is-loading .loader-text {
  display: block;
  font-size: 18px;
}

@-webkit-keyframes isloading {
  from {
    opacity: 0;
  }
}

@keyframes isloading {
  from {
    opacity: 0;
  }
}
