﻿html, body {
    height: 100%;
}

.logo__login {
    width: 150px;
    height: 120px;
    object-fit: contain;
}

.cor-bg-pagina {
    background-color: #88E2B1;
}

#divGrid:not(.login-grid) .formulario__form {
    max-width: 380px;
    margin: 0 auto;
    border-radius: 1rem;
    background: #fff;
    padding: 3rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

#divGrid:not(.login-grid) .login__formulario {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    align-content: center;
}

    #divGrid:not(.login-grid) .login__formulario #upFormTeste {
        --bs-gutter-x: 1.5rem;
        --bs-gutter-y: 0;
        display: flex;
        flex-wrap: wrap;
        margin-top: calc(-1 * var(--bs-gutter-y));
        margin-right: calc(-.5 * var(--bs-gutter-x));
        margin-left: calc(-.5 * var(--bs-gutter-x));
        width: 100%;
        justify-content: center;
    }

        #divGrid:not(.login-grid) .login__formulario #upFormTeste > div {
            flex: 0 0 auto;
            width: 100%;
        }


    .btn-acesso {
        position: fixed;
        margin: 1rem;
        padding: 0.5rem 1rem;
        top: 0;
        right: 0;
        border-radius: 0.5rem;
        background-color: rgb(79 70 229);
        display: flex;
        gap: 0.5rem;
        color: #fff;
        text-decoration: none;
        font-size: 1rem
    }

.validator-output {
    margin-top: 10px;
}

    .validator-output .valid {
        color: green;
        font-weight: 300;
        font-size: 0.85rem;
    }

    .validator-output .invalid {
        color: red;
        font-weight: 300;
        font-size: 0.85rem;
    }

#tituloPagina > * {
    text-align: center;
    font-size: calc(1.275rem + .3vw);
    text-transform: uppercase
}

#subtituloPagina > * {
    text-align: center;
    margin-bottom: 1rem;
}

.info-box {
    border: 1px solid #ccc;
    background-color: #f2f2f2;
    border-radius: 5px;
    color: #333;
    font-size: 0.9rem;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    padding: 1rem;
}

.alert {
    width: 350px;
    max-width: 100%;
}


.login-grid {
    display: grid;
    grid-template-rows: auto auto;
    height: 100vh;
}

    .login-grid .login-block {
        background: #fff;
    }

        .login-grid .login-block > div,
        .login-grid .login-block > div > div{
            height: 100%;
        }

    .login-grid .login-box {
        max-width: 360px;
        margin: 0 auto;
        padding-top: 2rem !important;
        padding-left: 1rem;
        padding-right: 1rem;
        padding-bottom: 2rem !important;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

        .login-grid .login-box .login-panel {
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        .login-grid .logo__login {
            display: none !important;
        }

.img__login {
    width: 100%;
    height: 100%;
}

.login-img-block {
    padding: 1rem;
    background: #fff;
}

    .login-img-block .img__login {
        border-radius: 0.75rem;
        overflow: hidden;
        aspect-ratio: 15.5 / 10.8;
        width: 100%;
    }

.login-grid #tituloPagina > * {
    font-size: calc(1.375rem + 1.5vw);
    text-transform: none;
}

.login-grid #subtituloPagina > * {
    margin-bottom: 3rem;
}

#loader {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    align-items: center;
    justify-content: center;
    z-index: 9999;
    display: none;
}

@media screen and (min-width:992px) {
    #tituloPagina > * {
        font-size: 1.5rem;
    }

    .login-grid {
        grid-template-columns: 460px auto;
        grid-template-rows: unset;
    }

        .login-grid .login-block {
            order: 0
        }

        .login-grid .login-img-block {
            order: 1;
        }

            .login-grid .login-img-block .img__login {
                aspect-ratio: unset;
            }

            .login-grid .login-img-block .img__login img{
               object-position: top left
            }

        .login-grid .login-box {
            padding-top: 6rem !important;
            padding-bottom: 2rem !important
        }

    .img__login {
        height: 100vh;
        min-height: 100vh;
    }
    .login-img-block {
        padding: 0;
    }
        .login-img-block .img__login {
            border-radius: 0;
        }

    .login-grid #tituloPagina > * {
        text-align: start !important;
        font-size: 2.5rem;
    }

    .login-grid #subtituloPagina > * {
        text-align: start;
    }
}

#panelDownload {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    max-width: calc(100% - 2rem);
    z-index: 99;
}