* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

html {
    font-size: clamp(14px, 1.5vw, 16px);
}

@media only screen and (min-width: 37.5em) {
    body {
/*        margin: 0;
*/        font-family: 'Segoe UI', sans-serif;
        background-color: #f7f9fc;
        color: #5a5a5a;
        min-height: 100dvh; /* exact viewport height */
        display: flex;
        flex-direction: column;
        overflow: hidden; /* prevent global scroll */
        justify-content: center;
        align-items: center;
    }
}

@media only screen and (max-width: 37.5em) {
    body {
        /*        margin: 0;
*/ font-family: 'Lato', sans-serif;
        background-color: #f7f9fc;
        color: #5a5a5a;
        min-height: 100dvh; /* exact viewport height */
        display: flex;
        flex-direction: column;
        overflow: hidden; /* prevent global scroll */
        justify-content: center;
        align-items: center;
    }
}

.login-container {
    position: relative; /* make container a positioning context */
    background: #fff;
    padding: 1.5rem;
    border-radius: 2rem;
    border: 2px solid gray;
    box-shadow: 0px 0.417rem 0.834rem rgba(0, 0, 0, 0.1);
    width: 22rem; /* always take 90% of screen width */
    /*max-width: 34rem;*/ /* but never exceed 34rem */
    min-height: 32rem; /* fixed height */
    margin: 0 auto; /* center horizontally */
    gap: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center; /* center content vertically inside */
    justify-content: flex-start; /* stack children top to bottom */
}

.logo-icon {
    position: absolute; /* pin inside container */
    top: 1rem; /* distance from top edge */
    left: 50%; /* center horizontally */
    transform: translateX(-50%);
    height: 8rem; /* fixed logo height */
    width: auto; /* keep aspect ratio */
}

/*@media (max-width: 37.5em) {
    .logo-icon {
        width: 80%;
        height: 25vw;
    }
}*/

.login-container h2 {
    position: absolute; /* pin inside container */
    top: clamp(9.5rem, 12vw, 9.5rem);
    left: 50%; /* halfway across the screen */
    transform: translateX(-50%);
    text-align: center;
    /*    margin-top: 3rem;
*/ margin-bottom: 1rem;
    color: #333;
    font-size: 1.235rem;
    width: 100%;
}

/*.login-links {
    position: absolute;
    top: calc(11rem + 1rem);*/ /* 3rem padding below h2 */
/*    left: 40%;
*/    /*display: flex;
    gap: 1rem;
}*/

/*.login-links {
    position: absolute;*/
    /*margin-top: 1rem;*/ /*top: calc(11rem + 1rem); */ /*spacing below h2 */
    /*    padding-top: calc(7rem + 1.2rem);
*/ /*display: flex;
    gap: 1rem;
    align-content:center;
}*/

.login-links {
    position: absolute;
    margin-top: 0.8rem;
    /* top: calc(11rem + 1rem); */
    /* padding-top: calc(7rem + 1.2rem); */
    /* display: flex; */
    /* gap: 1rem; */
    left: 45%;
    transform: translateX(-50%);
    text-align: center;
    width: 100%;
}

    .login-links a {
        padding: 0.5rem 1rem;
        /*        border: 1px solid #ccc;*/ 
        border-radius: 6px;
        text-decoration: none;
        color: #333;
        background-color: #f9f9f9;
        transition: all 0.2s ease;
        font-size: 0.885rem;
        font-weight: 500;
    }
        /* Hover effect */

        .login-links a:hover {
            background-color: #e0e0e0;
            border-color: #999;
        }
        /* Selected/active state */

        .login-links a.active {
            /*background-color: #007BFF;*/ /* highlight color */
            /*color: #fff; *//* white text for contrast */
        }

.login-forms {
    position: absolute;
    top: calc(11rem + 0rem);
    /* padding-top: calc(7rem + 1.2rem); */
    width: 92%;
    padding-right: 1rem;
    max-height: 20rem;
}

.login-label-Welcome {
    display: block; /* each label on its own line */
    margin-bottom: 0.5rem; /* spacing below each label */
    font-size: 1rem; /* readable size */
    font-weight: 600; /* slightly bold for clarity */
    color: #333; /* neutral dark text */
    text-align: center; /* align with input fields */
}

.login-label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
    font-weight: 500;
    color: blue;
    text-align: left;
    margin-top: 3.0rem;
    text-align: center;
}

.login-label1 {
    display: block;
    margin-bottom: 1rem;
    font-size: 1rem;
    font-weight: 500;
    color: blue;
    text-align: left;
    margin-top: 0.5rem;
    text-align: center;
}

.login-container input {
    width: 100%;
    padding: 0.625rem;
    margin: 0.438rem 0;
    border: 1px solid #ccc;
    border-radius: 0.375rem;
    font: 0.8em 'Lato', sans-serif;
}

@media(max-width:600px) {
    .login-container input {
        width: 100%;
        padding: 0.625rem;
        margin: 0.438rem 0;
        border: 1px solid #ccc;
        border-radius: 0.375rem;
        font: 0.8em 'Lato', sans-serif;
        border: 1px solid #CCCCCC;
        border-radius: 3px;
        /*height: 24px;*/
    }
}

/*.option-radios {
    display: flex;
    gap: 3rem;
    padding-top: 2.4rem;*/ /* default */
/*}


    .option-radios label {
        display: flex;*/ /* align radio + text in one row */
        /*align-items: center;*/ /* vertically center them */
        /*font: 0.9em 'Lato', sans-serif;
        color: #333;
        cursor: pointer;
        line-height: 1.2;*/ /* helps Safari align text properly */
    /*}

    .option-radios input[type="radio"] {
        margin-right: 0.375rem;*/ /*space between radio and text*/
        /*-webkit-appearance: radio;*/ /* force Safari to render as radio */
        /*vertical-align: middle;*/ /* align with text baseline */
    /*}*/

.option-radios {
    display: flex;
    gap: 3rem;
    padding-top: 2.4rem;
}

    .option-radios label {
        display: flex;
        align-items: center;
        font: 0.8em 'Lato', sans-serif;
        color: #333;
        cursor: pointer;
        line-height: 1.2;
    }

    .option-radios input[type="radio"] {
        margin-right: 0.5rem;
        -webkit-appearance: none; /* reset Safari default */
        appearance: radio;
        width: 14px;
        height: 14px;
        border: 1px solid #666;
        border-radius: 50%;
        position: relative;
    }

        .option-radios input[type="radio"]:checked::before {
            content: "";
            display: block;
            width: 8px;
            height: 8px;
            background: #333;
            border-radius: 50%;
            position: absolute;
            top: 3px;
            left: 3px;
        }




.login-forms1 {
    width: 100%;
    padding-right: 3rem; /* remove position:absolute so container can grow */
}

#alert-container {
    margin-top: 0.5rem; /* spacing below form */
    min-height: 20px;
    padding-top: 5px;
}

.login-container button {
    width: 100%;
    padding: 0.625rem;
    background: #4CAF50;
    color: white;
    border: none;
    border-radius: 6px;
    font: 0.8em 'Lato', sans-serif;
    cursor: pointer;
    transition: background 0.3s ease;
    margin-top: 0.425rem;
}

    .login-container button:hover {
        background: #45a049;
    }

.login-container .forgot-btn {
    margin-top: 0.825rem;
    background: #f39c12;
}

    .login-container .forgot-btn:hover {
        background: #e67e22;
    }

    .login-container p {
        text-align: center;
        margin-top: 15px;
        font-size: 14px;
    }

    .login-container a {
        color: #337ab7;
        text-decoration: none;
    }





.btn {
    display: inline-block;
    padding: 4px 12px 4px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    /*    text-align: center;
*/ white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    /*    place-items: center;
*/ /* display: grid;*/
    /*    margin-bottom:4px;
*/
}

.btn-link {
    font-weight: 400;
    color: #337ab7;
    border-radius: 0;
    padding: 0.360rem;
}

@media(max-width:600px) {
    .btn {
        display: inline-block;
/*        padding: 0.335rem 1rem 0.335rem;
*/        margin-bottom: 0;
        font: 0.9em 'Lato', sans-serif;
        font-weight: 400;
/*        line-height: 1.42857143;
*/        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        -ms-touch-action: manipulation;
        touch-action: manipulation;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        background-image: none;
        border: 1px solid transparent;
        border-radius: 0.335rem;
    }
}

.alert {
    padding: 0.5rem;
    margin-bottom: 1.455rem;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 0.8rem;
}

    .alert h4 {
        margin-top: 0;
        color: inherit;
    }

    .alert .alert-link {
        font-weight: 700;
    }

    .alert > p, .alert > ul {
        margin-bottom: 0;
    }

        .alert > p + p {
            margin-top: 5px;
        }

.alert-dismissable, .alert-dismissible {
    padding-right: 35px;
}

    .alert-dismissable .close, .alert-dismissible .close {
        position: relative;
        top: -6px;
        right: -21px;
        color: inherit;
    }

.alert-success {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

    .alert-success hr {
        border-top-color: #c9e2b3;
    }

    .alert-success .alert-link {
        color: #2b542c;
    }

.alert-info {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

    .alert-info hr {
        border-top-color: #a6e1ec;
    }

    .alert-info .alert-link {
        color: #245269;
    }

.alert-warning {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc;
}

    .alert-warning hr {
        border-top-color: #f7e1b5;
    }

    .alert-warning .alert-link {
        color: #66512c;
    }

.alert-danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

    .alert-danger hr {
        border-top-color: #e4b9c0;
    }

    .alert-danger .alert-link {
        color: #843534;
    }


/*.btn-link {
    font-weight: 400;
    color: #337ab7;
    border-radius: 0;
}

.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}*/

/*.form-control {
    display: block;
    width: 100%;
    height: 34px;
    padding: 0px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

@media(max-width:600px) {
    .form-control {
        float: right;
        padding: 0 6px;
        color: #666666;
        font: 0.8em 'Lato', sans-serif;
        border: 1px solid #CCCCCC;
        border-radius: 3px;
        height: 24px;
    }
}*/


/*.logo {
    display: block;
    margin: 0 auto 20px;*/ /* center the logo */
    /*max-width: 100%;*/ /* scale down if container is smaller */
    /*height: auto;*/ /* keep aspect ratio */
/*}*/


/*.btn-link {
    font-weight: 400;
    color: #337ab7;
    border-radius: 0;
}

    .btn-link, .btn-link.active, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link {
        background-color: transparent;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

        .btn-link, .btn-link:active, .btn-link:focus, .btn-link:hover {
            border-color: transparent;
        }

            .btn-link:focus, .btn-link:hover {
                color: #23527c;
                text-decoration: underline;
                background-color: transparent;
            }

            .btn-link[disabled]:focus, .btn-link[disabled]:hover, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:hover {
                color: #777;
                text-decoration: none;
            }
*/