body {
    overflow-y: auto;
    min-height: 100vh;
}

#page {
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    margin-top: 0px;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
    background: transparent !important;
}

#img-logo {
    height: 100px;
    width: 100%;
}

#form-login .form-control {
    border-top: none;
    border-left: none;
    border-right: none;
    box-shadow: none;
    border-radius: 0;
    border-bottom: 2px solid #000000;
    background: transparent;
    color: #000;
    max-width: 400px;
    width: 100%;
}

#form-login .form-control:hover {
    border-color: rgb(0, 61, 167);
}

#form-login .form-control:focus {
    outline: none !important;
    outline-width: 0 !important;
    box-shadow: none;
    border-color: rgb(8, 98, 253);
}

#form-group-input {
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 100%;
    transition: border-color 0.2s;
}

#form-login #btn_submit {
    background: linear-gradient(to left, #FCA10E 0.2%, #FF470B 99.8%);
    color: #fff;
    width: 100%;
    max-width: 400px;
    padding: 0.5rem 0.25rem;
    border-radius: 20px;
    border: none;
    font-weight: 600;
    margin-top: 1rem;
    outline-color: transparent;
    transition: outline-color 0.2s;
}

#form-login #btn_submit:hover {
    outline: 3px solid rgba(255, 255, 255, 0.6);
    outline-offset: -3px;
}

#form-login #btn_submit:focus {
    outline: 3px solid rgba(0, 162, 255, 0.6);
    outline-offset: -3px;
}

#form-login {
    width: min(700px, 98vw);
    min-height: 500px;
    border-radius: 10px;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);
    margin-bottom: 2rem;
    z-index: 100;
}

.form-login.default-bg {
    border-image-slice: 202 175 329 281 fill;
    border-image-width: 202px 175px 329px 281px;
    border-image-outset: 0px 0px 0px 0px;
    border-image-repeat: stretch stretch;
    border-image-source: url("/theme/emg_lms/pix/frontpage/bg_form.jpg");
    border-style: solid;
    background-clip: content-box, border-box;
}

@media screen and ((max-width: 820px) or (max-height: 400px)) {
    #img-logo {
        height: 80px;
    }

    #form-login {
        width: min(700px, 85vw);
        min-height: 380px;
        padding: 4px 8px;
        margin-bottom: 0;
    }

    .form-login.default-bg {
        border-image-slice: 202 175 329 281 fill;
        border-image-width: 152px 132px 247px 212px;
        border-image-outset: 0px 0px 0px 0px;
        border-image-repeat: stretch stretch;
        border-image-source: url("/theme/emg_lms/pix/frontpage/bg_form.jpg");
        border-style: solid;
    }
}

@media screen and (max-width: 500px) {
    #form-login {
        width: min(700px, 96vw);
        min-height: 450px;
    }

    .form-login.default-bg {
        border-image-slice: 202 175 329 281 fill;
        border-image-width: 101px 88px 165px 141px;
        border-image-outset: 0px 0px 0px 0px;
        border-image-repeat: stretch stretch;
        border-image-source: url("/theme/emg_lms/pix/frontpage/bg_form.jpg");
        border-style: solid;
    }
}

#form-wrapper {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

#form-group-information {
    margin-top: 1rem;
    max-width: 400px;
}

/* Alway hide this problematic tag that break layout most of the time */
div[role=main] {
    display: none;
}