body[data-theme='dark'] {
  background-color: #18191a;
}

body[data-theme='light'] {
  background-color: #fafafa;
}

:root {
  --loader-color-light: #ee3034;
  --loader-color-dark: #ee3034;
}

.loading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
}

.loader {
  position: relative;
  display: grid;
  grid-template-columns: 33% 33% 33%;
  grid-gap: 2px;
  width: 52px;
  height: 52px;
}

body[data-theme='dark'] .loader>div {
  background: var(--loader-color-dark);
}

body[data-theme='light'] .loader>div {
  background: var(--loader-color-light);
}

.loader>div {
  position: relative;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: center center;
  animation: loader 2s infinite linear;
}

.loader>div:nth-of-type(1),
.loader>div:nth-of-type(5),
.loader>div:nth-of-type(9) {
  animation-delay: 0.4s;
}

.loader>div:nth-of-type(4),
.loader>div:nth-of-type(8) {
  animation-delay: 0.2s;
}

.loader>div:nth-of-type(2),
.loader>div:nth-of-type(6) {
  animation-delay: 0.6s;
}

.loader>div:nth-of-type(3) {
  animation-delay: 0.8s;
}

@keyframes loader {
  0% {
    transform: scale(0);
  }

  40% {
    transform: scale(1);
  }

  80% {
    transform: scale(1);
  }

  100% {
    transform: scale(0);
  }
}