.identityPageWrapper {
    width: 100%;
    height: 100vh;
    background: #38495d;
}

.loginbox {
    display: flex;
    justify-content: center;
    height: 100vh;
    align-items: center;
    color: white;
}

h1.identityTitle {
    text-align: center;
    text-transform: uppercase;
    color: white;
}

.form-control {
    border-radius: 30px;
    border: 2px solid white;
    background: transparent;
    color: white;
}

    .form-control:focus {
        box-shadow: none;
        border: 2px solid #ff8528;
        background: transparent;
        color: #ff8528;
    }


button.btn.save.log {
    background: white;
    color: #38495d;
    border-radius: 15px;
    transition: 0.3s ease-in-out;
    text-transform: uppercase;
    width: 100%;
    height: 4rem;
    font-size: 1.5rem;
    font-weight: bold;
    border: 2px solid white;
}


    button.btn.save.log:hover {
        transition: 0.3s ease-in-out;
        background: #ff8528;
        color: white;
        border: 3px solid #ff8528;
    }

.frrHints {
    color: white;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-size: 1rem;
}

    .frrHints:hover {
        color: #ff8528;
        transition: 0.1s ease-in-out;
        font-weight: 500;
    }



.loginSpot {
    border: 4px solid white;
    padding: 6rem 4rem;
    border-radius: 6rem;
    width: 25vw;
    background: #38495d85;
    z-index: 9999;
}

h1.topSlogan {
    color: white;
    position: absolute;
    font-size: 10rem;
    font-weight: bold;
    text-shadow: 0 0 20px rgba(255,255,255,0.6), 0 0 10px rgba(255,255,255,0.35);
    top: 3%;
    z-index: 9;
    left: 8%
}

h1.bottomSlogan {
    color: white;
    position: absolute;
    font-size: 10rem;
    font-weight: bold;
    text-shadow: 0 0 20px rgba(255,255,255,0.6), 0 0 10px rgba(255,255,255,0.35);
    top: 70%;
    z-index: 9;
    left: 8%
}

a#confirm-link {
    border: 2px solid white;
    border-radius: 30px;
    padding: 0.5rem 1.5rem;
    text-transform: uppercase;
    color: white;
    font-weight: bold;
}

    a#confirm-link:hover {
        background: white;
        color: #38495d;
    }

.buttondiv {
    display: flex;
    justify-content: center;
}

p.identityText {
    text-align: center;
}

.hintsGroup {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 1rem;
}

.goToLogin {
    padding: 1rem 1.5rem;
    border: 2px solid white;
    border-radius: 30px;
    text-transform: uppercase;
    font-weight: bold;
    text-decoration: none;
    color: white;
}

    .goToLogin:hover {
        background: white;
        color: #38495d !important;
        cursor: pointer;
    }

/* === RESPONSIVE OVERRIDES (auto-added) === */
/* These overrides keep your existing classes/ids intact and only improve responsiveness. */
:root {
  --rw-sidebar-w: clamp(160px, 14vw, 260px);
  --rw-card-w: clamp(320px, 34vw, 520px);
  --rw-card-pad: clamp(1.25rem, 3.5vw, 6rem);
}

/* Prevent accidental horizontal scroll caused by 100vw + scrollbar */
html, body {
  width: 100%;
  overflow-x: hidden;
}

.imageSpot {
  width: 100%;
  min-height: 100vh;
  height: auto;
}

.imageSpot::before {
  /* keep your logo/text visible but scale more naturally */
  font-size: clamp(2.75rem, 9vw, 10rem);
  letter-spacing: clamp(0.05em, 0.35vw, 0.12em);
  padding: clamp(0.75rem, 3vw, 2rem);
  text-wrap: balance;
}

.slogans {
  font-size: clamp(2.25rem, 7vw, 10rem);
  line-height: 0.95;
  opacity: 0.38; /* lighter so it doesn't fight the form */
  text-shadow: 0 0 0; /* avoid glow blur on small screens */
  max-width: 92vw;
  word-break: keep-all;
  text-wrap: balance;
}

.loginSpot {
  width: var(--rw-card-w);
  padding: var(--rw-card-pad);
  max-height: calc(100vh - 2rem);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* Tablet */
@media (max-width: 992px) {
  .loginSpot {
    width: min(92vw, 520px);
    padding: clamp(1.25rem, 4vw, 3.5rem);
  }

  .forgotPassword, .goRegister, .resendEmail {
    font-size: 1rem;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .imageSpot::before {
    /* make background headline less aggressive on phones */
    font-size: clamp(2rem, 10vw, 4.25rem);
    opacity: 0.12;
  }

  .slogans {
    display: none; /* avoids huge text collisions on small screens */
  }

  .loginSpot {
    border-radius: 28px;
    width: min(94vw, 480px);
    padding: 1.25rem;
  }

  h1.pageHeading.loginPage {
    font-size: 1.6rem;
    letter-spacing: 0.06em;
  }

  input.form-control.loginControl {
    padding: 1.05rem 1.35rem;
  }

  .loginButton {
    width: 100%;
    padding: 1rem;
  }
}

/* Short height screens (e.g. 1366x768 with browser UI, laptops) */
@media (max-height: 760px) {
  .loginSpot {
    padding: clamp(1rem, 2.5vh, 2.25rem);
    max-height: calc(100vh - 1rem);
  }
}
