@keyframes logo-breathe {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.9) rotate(0deg);
  }

  50% {
    opacity: 1;
    transform: scale(1) rotate(45deg);
  }
}

@keyframes loader-line {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }

  45% {
    transform: scaleX(1);
    transform-origin: left;
  }

  55% {
    transform: scaleX(1);
    transform-origin: right;
  }

  100% {
    transform: scaleX(0);
    transform-origin: right;
  }
}

.app-loading--brand {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: grid;
  place-items: center;
  background: #fff;
}

.logo-loader {
  display: grid;
  width: 72px;
  justify-items: center;
  gap: 20px;
}

.logo-loader img {
  width: 52px;
  height: 52px;
  animation: logo-breathe 1.6s ease-in-out infinite;
}

.logo-loader span {
  display: block;
  width: 64px;
  height: 1px;
  background: #b89a7d;
  animation: loader-line 1.6s ease-in-out infinite;
}

.app-loading {
  font-family: Arial, Helvetica, sans-serif;
}

#jhipster-error {
  max-width: 760px;
  margin: 5rem auto;
  padding: 2rem;
  color: #222;
}

@media (prefers-reduced-motion: reduce) {
  .logo-loader img,
  .logo-loader span {
    animation: none;
  }
}
