#loading-animation {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255, 255, 255, 0.7);
}

.spinner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.loading {
  font-size: 3rem;
}

.loading {
  font-family: "Menlo", monospace;
}

.loading::after {
  animation: ellipsis 2s steps(3) infinite;
  content: "...";
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

@keyframes ellipsis {
  0% {
    width: 0;
  }
  75% {
    width: 3ch;
  }
  100% {
    width: 3ch;
  }
}

.animated-text {
  font-size: 20px;
  animation: textAnimation 2s infinite alternate;
}

@keyframes textAnimation {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
