/* style.css */
@import url('https://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.css');
@import url('https://fonts.googleapis.com/css?family=Lato:400,300,700');

html {
  height: 100%;
}

body {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;
  font-family: 'Lato', sans-serif;
  color: #333;
 /* background: white url("BioSpyderLogoMidTM.png") no-repeat center 5rem; */
  /* background: white url("combined_logo.png") no-repeat 52% 5rem; */
  /* background-size: 50% auto; */
  margin: 0;
  /* padding: 1.25rem; */
  background-color: #f8fafc;
  background:
    radial-gradient(1200px 800px at 10% -10%, #eef2f7 0%, transparent 60%),
    radial-gradient(1200px 800px at 110% 110%, #e9eef6 0%, transparent 60%),
    linear-gradient(160deg, #ffffff, #f8fafc);
}

.logo-container {
  width: fit-content;
  margin: 5rem auto 0 auto; /* Add top margin for spacing */
  text-align: center;
}

.fixed-logo {
  position: static; /* Remove absolute positioning */
  width: 40rem;
  max-width: 80vw;
  height: auto;
  z-index: 2;
  margin-bottom: 2rem; /* Add space below logo */
}

.container {
  background: #ffffff;
  border-radius: 0.75rem;
  box-shadow: 0 0.5rem 1.875rem rgba(0, 0, 0, 0.1);
  width: 37.5rem;
  max-width: 90%;
  margin: 0 auto 2.5rem auto;
  margin-top: 0; 
  display: flex;
  flex-direction: column;
  padding: 2.5rem;
  position: relative;
  z-index: 1;
}

.logo {
  font-family: "Lato", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  padding: 1.25rem 0;
  margin-bottom: 0.5rem;
  color: #2c3e50;
  letter-spacing: 0.05rem;
}

.login-item {
  color: #333;
  padding: 0 1.875rem;
  margin: 1rem 0;
}

.form-field {
  position: relative;
  margin-bottom: 1.5rem;
  margin-right: 3rem;
}

.form-field input {
  width: 100%;
  padding: 0.625rem 1rem 0.625rem 3.125rem;
  border: 0.0625rem solid #ddd;
  border-radius: 0.5rem;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.user:before,
.lock:before {
  font-family: 'FontAwesome';
  position: absolute;
  left: 1.125rem;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  font-size: 1.25rem;
  z-index: 2;
}

.user:before {
  content: '\f007';
}

.lock:before {
  content: '\f023';
}

.form-login input[type="submit"] {
  background-color: #1c6f8c;
  color: white;
  font-weight: bold;
  padding: 0.625rem 1rem;
  border: none;
  border-radius: 0.5rem;
  font-size: 1.0625rem;
  margin: 1rem auto 0;
  cursor: pointer;
  width: 35rem;
  display: block;
  transition: background-color 0.3s ease;
}

.form-login input[type="submit"]:hover {
  background-color: #004d00;
}

a {
  color: #1c6f8c;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #004d00;
  text-decoration: underline;
}

.error-msg-div {
  color: white;
  padding: 1rem;
  margin: 1rem 0;
  border-radius: 0.5rem;
  background-color: #dc3545;
  border: 0.0625rem solid #c82333;
}

.flash-message {
  padding: 1rem;
  margin: 1rem 0;
  border-radius: 0.5rem;
  background-color: #e2e3e5;
  border: 0.0625rem solid #d6d8db;
  color: #41464b;
}

@media (max-width: 48rem) {
  .container {
    width: 90%;
    margin: 7.5rem auto 1.875rem;
    padding: 1.875rem;
  }

  .logo {
    font-size: 1.5rem;
    padding: 1rem 0;
  }

  .login-item {
    padding: 0 1.25rem;
  }
}
