body, html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: Arial, sans-serif;
  background: url('/img/office-scene.svg') no-repeat center center fixed; 
  background-size: cover; /* Ensures background covers the viewport */
  -webkit-background-size: cover; /* For Safari and Chrome */
  -moz-background-size: cover; /* For Firefox */
  -o-background-size: cover; /* For Opera */
}

.login-error {
  color: #D8000C; /* Red color for errors */
  background-color: #FFD2D2; /* Light red background */
  border: 1px solid #D8000C; /* Red border */
  padding: 10px;
  margin: 20px 0; /* Add space around the message */
  text-align: center;
  border-radius: 5px; /* Optional: rounded corners */
  display: none; /* Hidden by default */
}

.login-logo {
  display: block; /* Makes sure the logo is centered as a block element */
  margin: 0 auto; /* Centers the logo horizontally */
  max-width: 100px; /* Adjust based on your logo's size */
  height: auto; /* Maintains the aspect ratio of the logo */
  margin-bottom: 20px; /* Adds some space between the logo and the instruction text */
}

.login-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.overlay {
  position: absolute; /* Position overlay over the background */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5); /* Dark overlay */
  z-index: 1; /* Ensure it's above the background but below the form */
}

/* Add these keyframes to define the animation */
@keyframes growFromInfinity {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Apply the animation to the login-form */
.login-form {
  padding: 20px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  width: 300px;
  border-style: solid;
  border-color: #fff;
  border-width: 2px;
  z-index: 2;
  animation: growFromInfinity 0.5s ease-out; /* Add animation here */
}

.login-instruction {
  text-align: center;
  font-size: 12px;
  color: #666;
  margin-top: 10px;
  margin-bottom: 20px;
}

.login-instruction a {
  color: #666;
}

.login-form h2 {
  text-align: center;
  margin-bottom: 20px;
}

.persist-option {
  padding-bottom: 20px;
  color:#666;
}

.form-control {
  margin-bottom: 10px;
  color:#666;
}

.form-control label {
  display: block;
  margin-bottom: 5px;
}

.form-control input {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

button {
    display: flex;
    align-items: center; /* Centers the content vertically */
    justify-content: center; /* Centers the content horizontally */
    width: 100%;
    padding: 10px;
    background-color: #ccdef2;
    color: #007bff;
    border-radius: 4px;
    cursor: pointer;
    border-color: #007bff;
    border-width: 1px;
    border-style: solid;
}

button:hover {
    background-color: #007bff;
    color: white;
}

button .spinner {
    border: 2px solid #f3f3f3; /* Light grey */
    border-top: 2px solid #007bff; /* Blue */
    border-radius: 50%;
    width: 10px; /* Smaller size for inside the button */
    height: 10px;
    margin-right: 10px; /* Space between spinner and text */
    animation: spin 1s linear infinite;
    display: inline-block;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
