.h-100 {
  min-height: 100vh;
  height: 100vh;
  max-height: 100vh;
}

.login-form {
  background: #daedfb25;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.object-fit-cover {
  object-fit: cover;
}

.btn-submit {
  background-color: rgb(39, 126, 171);
  color: white;
}

.btn-submit:hover {
  background-color: rgb(28, 103, 142);
}

.lock-icon-wrapper {
  position: relative;
  width: 1rem;
  height: 1.5rem;
}

.lock-icon-wrapper i {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.5s ease, transform 0.3s ease;
}

.lock-icon-wrapper .lock-open {
  opacity: 0;
  transform: scale(1);
}

.input-group:hover .lock-icon-wrapper .lock-closed,
.input-group:focus-within .lock-icon-wrapper .lock-closed {
  opacity: 0;
}

.input-group:hover .lock-icon-wrapper .lock-open,
.input-group:focus-within .lock-icon-wrapper .lock-open {
  opacity: 1;
  transform: scale(1.25);
}

.person-hover-anim {
  transition: transform 0.3s ease;
}

.input-group:hover .person-hover-anim,
.input-group:focus-within .person-hover-anim {
  transform: scale(1.3);
}

input:focus {
  box-shadow: none;
}

/* Responsive styles */
@media (max-width: 576px) {
  .login-form {
    width: 90vw !important;
    right: 5vw !important;
    padding: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .login-form {
    width: 70vw !important;
    right: 15vw !important;
  }
}

@media (max-width: 992px) {
  .login-form {
    width: 50vw !important;
    right: 25vw !important;
  }
}
