html {
  font-family: Ubuntu, sans-serif;
}

body {
  position: relative;
  display: flex;
  width: 100vw;
  height: 100vh;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  text-rendering: optimizelegibility;
  transition: color 0.5s, background-color 0.5s;

  background-color: #000;
  background-image: url('/assets/login-bg.svg');
  background-position: center right;
  background-repeat: no-repeat;
}

.form-logo {
  width: 64rem;
  max-width: 35%;
  margin-right: 5%;
  animation: puff-in-center 0.3s linear both;
}

.form-container {
  width: 66.666667%;
  max-width: 30rem;
}

.form-control {
  display: block;
  width: 100%;
  border: 0;
  background-color: #bbc6cd;
  background-position: -100em 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: #3a3955;
}

.form-group label {
  position: absolute;
  top: 50%;
  color: #3a395580;
  font-size: 0.625rem;
  pointer-events: none;
  transform: translateY(-50%);
  transition: 0.2s ease all;
}

.form-control:focus ~ label,
.form-control:valid ~ label {
  top: 0.5rem;
  color: #002bff;
  font-size: 0.625rem;
  transform: translateY(0);
}

.login-btn:disabled {
  cursor: not-allowed;
  filter: brightness(0.7) contrast(0.95) saturate(0.8);
  pointer-events: none;
}
.login-btn {
  position: relative;
  padding: 0.75rem;
  border-radius: 6px;
  background-color: #002bff;
  color: #fff;
  cursor: pointer;
  filter: brightness(1) contrast(1) saturate(1);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
  text-align: center;
  transition: all 0.1s;
}

@keyframes puff-in-center {
  0% {
    filter: blur(4px);
    opacity: 0;
    transform: scale(2);
  }

  100% {
    filter: blur(0);
    opacity: 1;
    transform: scale(1);
  }
}

.slide-in-right {
  animation: slide-in-right 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

@keyframes slide-in-right {
  0% {
    opacity: 0;
    transform: translateX(1000px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
