body {
  margin: 0;
  box-sizing: border-box;
}
.form-container {
    width: 100vw;
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    margin-right: auto;
    margin-left: auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 1rem;
    justify-content: center;
    box-sizing: border-box;
    /*background-color: #ffc107;*/
    /*background-image: url(/DoNotReplace/img/site/login-background.webp);*/
    background-size: cover;
}

.img-holder img {
  max-width: 100%;
  border-radius: 2rem;
  height: auto;
  display: block;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.34);
}

.form-container form {
    padding: 2rem 1rem;
    width: 100%;
    max-width: 400px;
    border-radius: 1rem;
    /*border: 3px solid goldenrod;*/
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    background: linear-gradient(135deg, #072d2ed6 0%, #108198d6 100%);
    color: white;
    box-sizing: border-box;
}
.form-container form div {
  width: 80%;
}

.text-boldRed {
  color: #ff5252;
  font-weight: bold;
  border: 2px dashed var(--cadet);
  border-radius: 1rem;
  padding: 5px;
  text-align: center;
}
.text-boldRed ul li {
  direction: none;
}
.form-container form input {
  width: 100%;
  border-radius: 0.5rem;
  padding: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
  box-sizing: border-box;
}

.form-container label {
  display: block;
  width: 100%;
  text-align: right;
}

.form-container form button {
    width: 60%;
    padding: 0.7rem 1.2rem;
    font-size: 1.1rem;
    font-weight: bold;
    color: #fff;
    background: linear-gradient(180deg, #1a92b1 0%, #051b1f 100%);
    border: none;
    border-radius: 0.7rem;
    box-shadow: 0 4px 0 #021b1e, 0 8px 16px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    transition: transform 0.1s, box-shadow 0.1s;
}

    .form-container form button:active {
        transform: translateY(2px);
        box-shadow: 0 2px 0 #021b1e, 0 4px 8px rgba(0, 0, 0, 0.12);
    }

.form-container form span {
  display: block;
  width: 100%;
  color: #ff5252;

  border-radius: 0.3rem;
  padding: 0.4rem 0.7rem;
  font-size: 0.98rem;
  margin-bottom: 0.2rem;
  box-sizing: border-box;
  animation: error-fade-in 0.4s;
}

@keyframes error-fade-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 768px) {
  .form-container {
    border-width: 2px;
    padding-right: 10rem;
    padding-left: 10rem;
    min-height: 100vh;
    flex-direction: column-reverse;
    justify-content: center;
  }

  .form-container form,
  .img-holder {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .form-container form {
    padding: 5rem 0.5rem;
    min-width: 400px;
    max-width: 100%;
    justify-content: center;
    align-items: center;
  }
  .form-container form div {
    width: 50%;
  }

  .img-holder img {
    border-radius: 1rem;
    height: 100%;
    object-fit: cover;
    width: auto;
    min-width: 100px;
    max-width: 100%;
    display: block;
    margin: auto;
  }

  .form-container button {
    max-width: 50%;
  }
}

@media (min-width: 1000px) {
  .form-container {
    flex-direction: row;
  }
  .form-container form {
    max-width: 600px;
  }
}
