.login-footer>div {
    text-align: right;
}

.magicfooter {
    text-align: center;
    background-color: #f8f9fa;
    padding: 3px 5px 3px 5px;
    border-radius: 5px;
    opacity: 70%;
    margin-top: 20px;
}

.msg {
    color: red;
}

div.center-block {
    max-width: 400px;
}

.login-box-body {
    margin-bottom: 15px;
}

.login-footer li {
    padding: 0;
}

.lang-btn {
    font-size: 16px;
    background-color: #f7f7f9;
    background-image: linear-gradient(180deg, #f2f2f2, #e6e6e6);
    border: 1px solid #e1e1e8;
    color: #333;
    margin-top: 25px;
    padding: 6px;
}

.lang-btn:hover {
    background-color: #f7f7f9;
    background-image: linear-gradient(180deg, #f2f2f2, #e6e6e6);
    border: 1px solid #e1e1e8;
    color: #333;
    opacity: 0.9;
}

.login_registrati {
    text-align: center !important;
}

.recupera_pw {
    margin-top: 20px;
    padding: 2% 10%;
    background-color: #ffff002e;
    text-align: center;
}

.login-card-body,
.register-card-body {
    text-align: center;
}

.btn-primary {
    background: linear-gradient(to right, #0d3b78, #115cab, #0d3b78);
    moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    border: none;
}

.btn-primary:HOVER {
    background: linear-gradient(to right, #115cab, #0d3b78, #115cab);
    moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    border: none;
}

/* ==========================================================================
   Reset credentials page: replica del look della pagina di login.
   Le classi qui sotto sono equivalenti "locali" di .login-container /
   .login-box / .login-card-body (quelle vere sono definite in adminlte.min.css
   e si applicano solo alle classi "login-*", quindi vanno ridefinite per le
   nuove classi "resetcredentials-*").
   ========================================================================== */

#resetcredentials-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 10px;
}

.resetcredentials-box {
    width: 360px;
    max-width: 100%;
    margin: 20px auto 0;
}

.resetcredentials-card-body {
    text-align: center;
    padding: 20px;
}

.resetcredentials-card-body h2 {
    font-weight: 600;
    color: #495057;
    margin-bottom: 10px;
}

/* --------------------------------------------------------------------------
   Fix allineamento input/icona occhio.
   Il campo <input> viene generato dal drawform PHP con uno stile inline
   "width: 100%". Una volta avvolto nel .input-group (che è display:flex),
   quel 100% fa occupare all'input tutta la riga, lasciando l'icona
   (.input-group-append) senza spazio: il flex-wrap:wrap di default di
   Bootstrap la spinge quindi a capo, sotto l'input.
   -------------------------------------------------------------------------- */

#resetcredentials-form-fields .resetcredentials-input-group {
    flex-wrap: nowrap;
    align-items: stretch;
}

#resetcredentials-form-fields .resetcredentials-input-group input[type="password"],
#resetcredentials-form-fields .resetcredentials-input-group input[type="text"] {
    width: 1% !important;
    /* neutralizza lo style inline width:100% del drawform */
    flex: 1 1 auto;
    min-width: 0;
}

#resetcredentials-form-fields .resetcredentials-input-group .input-group-append,
#resetcredentials-form-fields .resetcredentials-input-group .input-group-text {
    background-color: #fff;
    flex-shrink: 0;
}

#resetcredentials-form-fields .resetcredentials-input-group .input-group-text .fa-eye,
#resetcredentials-form-fields .resetcredentials-input-group .input-group-text .fa-eye-slash {
    color: #6c757d;
}

/* ==========================================================================
   Recupera credenziali (retcredentials): stessa impostazione a box delle
   altre pagine (login / resetcredentials), classi dedicate "retcredentials-*"
   per non entrare in conflitto con quelle già definite sopra.
   ========================================================================== */

#retcredentials-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 10px;
}

.retcredentials-box {
    width: 400px;
    max-width: 100%;
    margin: 20px auto 0;
}

.retcredentials-card-body {
    text-align: center;
    padding: 50px 20px 50px 20px;
}

.retcredentials-card-body h2 {
    font-weight: 600;
    color: #495057;
    margin-bottom: 10px;
}

/* Stessa precauzione già vista per resetcredentials: se il drawform genera
   l'input con style inline "width:100%", l'icona appesa verrebbe spinta a
   capo dentro il .input-group (flex-wrap:wrap di default di Bootstrap). */
#retcredentials-form-fields .retcredentials-input-group {
    flex-wrap: nowrap;
    align-items: stretch;
}

#retcredentials-form-fields .retcredentials-input-group input[type="text"],
#retcredentials-form-fields .retcredentials-input-group input[type="email"] {
    width: 1% !important;
    flex: 1 1 auto;
    min-width: 0;
}

#retcredentials-form-fields .retcredentials-input-group .input-group-append,
#retcredentials-form-fields .retcredentials-input-group .input-group-text {
    background-color: #fff;
    flex-shrink: 0;
}

#retcredentials-form-fields .retcredentials-input-group .input-group-text .fa-envelope {
    color: #6c757d;
}

/* --------------------------------------------------------------------------
   retcredentials e resetcredentials: la label va sopra il campo (stack
   verticale) anziché a fianco, per scelta di layout su queste pagine.
   -------------------------------------------------------------------------- */
#retcredentials-form-fields .form-group.row,
#resetcredentials-form-fields .form-group.row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

#retcredentials-form-fields .form-group.row > label,
#resetcredentials-form-fields .form-group.row > label {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: left !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 5px !important;
    line-height: normal !important;
}

#retcredentials-form-fields .form-group.row > .input,
#resetcredentials-form-fields .form-group.row > .input {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}