.app-loading {
  font-family: 'Exo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 10em;
}
.app-loading p {
  display: block;
  font-size: 1.17em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  font-weight: normal;
}

.ambisalud-spinner {
  position: relative;
  width: 120px;
  height: 120px;
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ambisalud-spinner-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 6px solid transparent;
}

.ambisalud-spinner-ring--primary {
  border-top-color: #3e8acc;
  border-right-color: #3e8acc;
  animation: ambisalud-spin 1s linear infinite;
}

.ambisalud-spinner-ring--accent {
  inset: 16px;
  border-bottom-color: #ffa100;
  border-left-color: #ffa100;
  animation: ambisalud-spin-reverse 1.4s linear infinite;
}

.ambisalud-spinner-logo {
  position: relative;
  width: 44px;
  height: auto;
  animation: ambisalud-pulse 1.8s ease-in-out infinite;
}

.ambisalud-spinner-text {
  color: #4a5568;
  letter-spacing: 0.04em;
  animation: ambisalud-pulse 1.8s ease-in-out infinite;
}

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

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

@keyframes ambisalud-pulse {
  0%,
  100% {
    opacity: 0.55;
    transform: scale(0.96);
  }
  50% {
    opacity: 1;
    transform: scale(1.04);
  }
}
