/* -webkit-align-items */ 
/* -webkit-justify-content */ 
/* -webkit-flex-direction */ 
/* -webkit-flex-wrap */ 

@import url('https://fonts.googleapis.com/css2?family=Exo:wght@100;200;300;400;500;600;700;800;900&family=Roboto:wght@100;300;400;500;700;900&display=swap');


* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    border: none;
    outline: none;
    font-weight: 300;
    font-family: 'Exo', sans-serif;
}

html,
body {
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    background-color: #30383C!important;
}

div.container-principal {
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    flex-direction: column;
    -webkit-flex-direction: column;
    width: 100vw;
    height: 100vh;
}

div.row-principal {   
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    /* background-color: #f4f4f4; */
    border-radius: 10px;
}

div.bloco-superior-login {
    margin-bottom: 3rem;
    text-align: center;
    position: relative;
    padding: 5vw 0 3vw 0;
}

div.bloco-superior-login img {
    max-width: 20rem;
    max-height: 10rem;
    margin-bottom: 0vw;
}

div.bloco-inferior-login header {
    font-size: 6vw;
}

div.bloco-inferior-login {
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    -webkit-flex-direction: column;
    align-items: center;
    -webkit-align-items: center;
    width: 90.3vw;
}

button#entrar {
    border: none;
    width: 87vw;
    border-radius: 2vw;
    -webkit-border-radius: 2vw;
    font-size: 1rem;
}

div#mensagem,
div#mensagem-modal {
    display: none;
    justify-content: center;
    -webkit-justify-content: center;
}

div.msg-error {
    width: 23rem;
    height: 4rem;
    font-size: 1rem;
}

div.valida-campo {
    height: 2rem;
    display: flex;
}

.btn-subInfo {
    width: 100%;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    align-items: center;
    -webkit-align-items: center;
    flex-direction: row;
    -webkit-flex-direction: row;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

div.modal-footer {
    border: none;
}

div.modal-footer button.btn-primary {
    height: 9vw;
    padding: 0 6vw 0 6vw;
    font-size: 4.5vw;
}

#recuperarSenha .modal-body input[type=text] {
    border-radius: 0.3rem!important;
    -webkit-border-radius: 0.3rem!important;
}

input#cpf::-webkit-input-placeholder {
    font-size: 5.3vw;
}

#contatomodal .modal-header {
    border-bottom: 1px solid #e9ecef;
}

#contatomodal .modal-body {
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    flex-direction: column;
    -webkit-flex-direction: column;
    margin: 0;
    padding: 0;
}

#contatomodal .modal-body #contato_bloco {
    width: 100%;
    display: flex;
    flex-direction: column;
    -webkit-flex-direction: column;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
}

#contatomodal .modal-body #contato_bloco:last-child {
    border-bottom: 0;
}

#contatomodal .modal-body #contato_bloco .titulo_contato {
    width: 100%;
    height: 3rem;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    background-color: #f5f5f5;
}

#contatomodal .modal-body #contato_bloco .titulo_contato h5 {
    margin: 0;
}

#contatomodal .modal-body #contato_bloco .dados_contato {
    width: 100%;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}

#contatomodal .modal-body #contato_bloco .dados_contato ul {
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: row;
    -webkit-flex-direction: row;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
    align-items: center;
    -webkit-align-items: center;
    padding: 0.5rem;
}

#contatomodal .modal-body #contato_bloco .dados_contato ul li {
    min-height: 2.5rem;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}

#contatomodal .modal-body #contato_bloco .dados_contato ul li a {
    text-decoration: none;
}

#contatomodal .modal-body #contato_bloco .dados_contato ul li a img {
    height: 1.8rem;
    margin-right: 0.6rem;
}

.display-flex-wrap {
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    flex-direction: row;
    -webkit-flex-direction: row;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    justify-content: center;
    -webkit-justify-content: center;
}

.mr-li {
    margin-right: 1rem;
}

div.bloco-whatsapp {
    display: flex;
    align-items: center;
    -webkit-align-items: center;
}

div.bloco-telefone {
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
}

div.bloco-whatsapp span,
div.bloco-telefone span {
    display: flex;
    flex-direction: column;
    -webkit-flex-direction: column;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}



div.ct_b_principal {
    padding: 2rem;
    /* border-radius: 0.3rem;
    -webkit-border-radius: 0.3rem; */
    height: 100%;
}

div.ct_b_principal .icone-login {
    width: 1.7rem;
}

div.ct_b_principal .input-group {
    height: 3rem;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100%;
    background-color: #ffffff;
    border-radius: 0.3rem;
}

div.ct_b_principal .input-group .form-control {
    height: 100%;
    border-top-right-radius: 0.3rem;
    -webkit-border-top-right-radius: 0.3rem;
    border-bottom-right-radius: 0.3rem;
    -webkit-border-bottom-right-radius: 0.3rem;
    font-size: 0.8rem;
    font-weight: 500;
    text-align: left;
    width: 82.1%;
}

div.ct_b_principal .input-group .form-control::placeholder {
    color: #bcbcbd;
}

div.ct_b_principal span.input-group-addon {
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    padding: 0rem 0.8rem;
    border-top-left-radius: 0.3rem;
    -webkit-border-top-left-radius: 0.3rem;
    border-bottom-left-radius: 0.3rem;
    -webkit-border-bottom-left-radius: 0.3rem;
}

div.ct_b_principal span.input-group-addon label {
    margin-bottom: 0;
}

div.ct_b_principal div.ct_b_header {
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    flex-direction: column;
    -webkit-flex-direction: column;
    width: 100%;
}

div.ct_b_principal div.ct_b_header img.logo {
    max-width: 20rem;
    padding: 1rem;
}

div.ct_b_principal div.ct_b_header span {
    padding: 1rem;
    font-size: 1.3rem;
    text-align: center;
}

div.ct_b_principal div.ct_b_body div {
    margin: 1rem 0rem;
}

div.ct_b_principal div.ct_b_body form button {
    margin: 1rem 0rem;
    width: 100%;
    height: 3rem;
    font-size: 1.1rem;
    border-radius: 0.3rem;
    -webkit-border-radius: 0.3rem;
}

div.ct_b_principal div.ct_b_footer {
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    flex-direction: column;
    -webkit-flex-direction: column;
}

div.ct_b_principal div.ct_b_footer div {
    width: 100%;
    margin: 0.8rem 0rem;
    display: flex;
    flex-direction: row;
    -webkit-flex-direction: row;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

div.ct_b_principal div.ct_b_footer div button {
    width: 50%;
    margin: 5px;
}

.btn-default {
    background-color:  #394247;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

div.ct_b_principal div.ct_b_footer button.btn-transparent {
    background-color: transparent;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
}

div.ct_b_principal div.ct_b_footer button.btn-transparent:hover {
    border: #ffffff 1px solid;
}


#modal_conhecer_planos .nav-link  {
    pointer-events: none;
    cursor: default;
}

.btn {
    padding: .8rem 0.75rem;
    border-radius: 5px;
}

/* "ACESSE SUAS FATURAS" */

.secundario {
    background-color: #f4f4f4;
    padding: 2rem;
    /* border-radius: 1rem; */
    height: 100%;
    display: flex;
    align-items: center;
}

.container-head {
    padding-top: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.container-head span {
    font-size: 1.2rem;
    font-weight: 600;
    padding: .9rem;
}

/* .secundario-body {
    margin-top: 2rem;
} */

.form-consulta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow:  0px 8px 4px -4px rgba(214, 214, 214, 0.75)
}

.form-consulta input {
    border-bottom: #30383C 1px solid;
    text-align: center;
    width: 89%;
    padding: 5px;
    font-size: .8rem;
    font-weight: 600;
    color: black;
    background-color: #f4f4f4;
}

.form-consulta input::placeholder {
    color: black;
}

.form-consulta button {
    background-color: #394247;
    color: #ffffff;
    padding: 7px 20px 7px 20px;
    font-weight: 600;
    border-radius: 3px;
    cursor: pointer;
    margin-top: 20px;
    margin-bottom: 2.7rem;
}

.container-footer {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.container-footer span {
    font-size: 1rem;
    font-weight: 600;
    margin-top: 1.3rem;
}

.downloadContainer {
    display: flex;
    /* flex-direction: column; */
    align-items: center;
    gap: 5px;
}

.loja {
    width: 140px;
    cursor: pointer;
    transition: 300ms;
}

.loja:hover {
    transform: scale(102%);
}

@media (max-width: 720px) {
    html, 
    body { 
        overflow-y: auto;
    }

    div.container-principal {
        height: auto;
    }

    div.ct_b_principal div.ct_b_footer div {
        flex-direction: column;
        -webkit-flex-direction: column;
        margin: 0;
    }

    div.ct_b_principal div.ct_b_footer div button {
        width: 80%;
        margin: 0.5rem 0rem;
    }
}

@media (min-width: 1700px) {

    div.bloco-superior-login {
        padding: 0 0 0 0;
    }

    div.bloco-superior-login img {
        max-width: 20rem;
        max-height: 10rem;
        margin-bottom: 0vw;
    }

    div.bloco-inferior-login header {
        font-size: 1.6rem;
        line-height: 2vw;
    }

    button#entrar {
        margin-top: 0vw;
        width: 100%;
        height: 3.2rem;
        padding: 0.5vw;
        border-radius: 0.3vw;
        -webkit-border-radius: 0.3vw;
        font-size: 1rem;
        font-weight: 600;
    }

    div.msg-error {
        width: 23rem;
        height: 4rem;
        font-size: 1rem;
    }

    div.valida-campo {
        height: 2rem;
        padding: 0;
    }

    #recuperarSenha div.modal-body {
        height: auto;
    }

    div.modal-footer {
        padding: 0;
    }

    div.modal-footer button.btn-primary {
        height: 3rem;
        width: 100%;
        font-size: 1.2vw;
        font-weight: 500;
        border-radius: 0.3rem;
        -webkit-border-radius: 0.3rem;
        margin: 1vw;
    }

    input#cpf::-webkit-input-placeholder {
        font-size: 1vw;
    }

}

@media (min-width: 1200px) and (max-width: 1699.98px) {

    div.bloco-superior-login {
        margin-bottom: 2rem;
        padding: 0 0 0 0;
    }

    div.bloco-superior-login img {
        max-width: 20rem;
        max-height: 6rem;
        margin-bottom: 0vw;
    }

    div.bloco-inferior-login header {
        font-size: 1.6rem;
    }

    button#entrar {
        margin-top: 0vw;
        width: 19rem;
        height: 3rem;
        border-radius: 0.4vw;
        -webkit-border-radius: 0.4vw;
    }

    div.bloco-inferior-login p {
        margin-top: 1.8vw;
        font-size: 1.1vw;
    }
    div.msg-error {
        width: 23rem;
        height: 4rem;
        font-size: 1rem;
    }

    div.valida-campo {
        height: 2rem;
    }

    #contatomodal .modal-body {
        height: auto!important;
    }

    div.modal-footer button.btn-primary {
        height: 3vw;
        width: 100%;
        font-size: 1.2vw;
        font-weight: 500;
        border-radius: 1px;
        -webkit-border-radius: 1px;
        margin: 1vw;
    }
    div.modal-footer {
        padding: 0;
        margin: 0;
    }
    input#cpf::-webkit-input-placeholder {
        font-size: 1.2vw;
    }

}

@media (min-width: 992px) and (max-width: 1199.98px) {

    div.bloco-superior-login {
        padding: 0 0 0 0;
    }
    div.bloco-superior-login img {
        max-width: 20rem;
        max-height: 10rem;
        margin-bottom: 0vw;
    }
    div.bloco-inferior-login header {
        font-size: 1.6rem;
    }

    button#entrar {
        margin-top: 0vw;
        width: 23rem;
        height: 3.2rem;
        padding: 1vw;
        border-radius: 0.4vw;
        -webkit-border-radius: 0.4vw;
    }

    div.bloco-inferior-login p {
        margin-top: 3.5vw;
        font-size: 1.5vw;
    }
    div.msg-error {
        width: 23rem;
        height: 4rem;
        font-size: 1rem;
    }

    div.valida-campo {
        height: 2rem;
    }

    #contatomodal .modal-body {
        height: auto!important;
    }

    div.modal-footer button.btn-primary {
        height: 4vw;
        width: 100%;
        font-size: 1.4vw;
        font-weight: 500;
        border-radius: 1px;
        -webkit-border-radius: 1px;
        margin: 0.5vw;
    }
    input#cpf::-webkit-input-placeholder {
        font-size: 1.8vw;
    }

}

@media (max-width: 991.8px) {
     div.row-principal {
        flex-direction: column;
        border: none;
        border-radius: 0;
        width: 100%;
        background-image: none;
    }
    div.container-principal {
        height: auto;
        width: 100%;
    }
    div.ct_b_principal {
        width: 100%;
        border-radius: 0;

    }
    body {
        width: 100%;
    }
    button#entrar {
        margin-top: 0vw;
        width: 100%;
        height: 3.2rem;
        padding: 1.5vw;
        border-radius: 0.3rem;
        -webkit-border-radius: 0.3rem;
    }
    
}

/*================= Medium - 768px a 991px ==================*/

@media (min-width: 768px) and (max-width: 991.98px) {

    div.bloco-superior-login {
        padding: 0 0 0 0;
    }
    div.bloco-inferior-login form {
        width: 23rem;
    }
    div.bloco-superior-login img {
        max-width: 20rem;
        max-height: 10rem;
        margin-bottom: 0vw;
    }
    div.bloco-inferior-login header {
        font-size: 1.6rem;
    }   

    div.msg-error {
        width: 23rem;
        height: 4rem;
        font-size: 1rem;
    }

    div.valida-campo {
        height: 2rem;
    }

    #contatomodal .modal-body {
        height: auto!important;
    }
    #contatomodal .modal-dialog {
        width: 80%!important;
    }

    div.modal-footer button.btn-primary {
        height: 6vw;
        width: 100%;
        font-size: 2vw;
        font-weight: 500;
        border-radius: 1px;
        -webkit-border-radius: 1px;
        margin: 0.8vw;
    }
    input#cpf::-webkit-input-placeholder {
        font-size: 3.2vw;
    }

}


/*================= Small - 576px a 767px ==================*/

@media (min-width: 576px) and (max-width: 767.98px) {

    div.bloco-superior-login {
        padding: 0 0 0 0;
    }
    div.bloco-superior-login img {
        max-height: 10rem;
        max-width: 30rem;
    }
    div.bloco-inferior-login header {
        font-size: 2rem;
    }  

    div.msg-error {
        width: 90.2vw;
    }

    div.valida-campo {
        height: 3.2rem;
    }

    #contatomodal .modal-body {
        height: auto!important;
    }

    div.modal-footer button.btn-primary {
        height: 6vw;
        width: 100%;
        font-size: 2.4vw;
        font-weight: 500;
        border-radius: 1px;
        -webkit-border-radius: 1px;
        margin: 0.8vw;
    }
    input#cpf::-webkit-input-placeholder {
        font-size: 4.3vw;
    }
}

@media (max-width: 576px) and (max-height: 600px) {
    html,
    body {
        align-items: normal;
        -webkit-align-items: normal;
    }

    form#login {
        display: flex;
        justify-content: center;
        -webkit-justify-content: center;
        align-items: center;
        -webkit-align-items: center;
        flex-direction: column;
        -webkit-flex-direction: column;
    }
    div.bloco-superior-login img {
        max-height: 7rem;
        max-width: 20rem;
    }
    div.bloco-inferior-login header {
        font-size: 1rem;
    }
    div.msg-error {
        width: 14.5rem;
        height: 2rem;
        font-size: 1rem;
    }

    div.valida-campo {
        height: 2rem;
    }

    div.bloco-superior-login {
        margin-top: -4rem;
        margin-bottom: -6rem;
        padding: 0;
    }

    div.modal-footer .btn-laranja {
        height: 15vw!important;
        font-size: 5vw!important;
    }
}

@media (max-width: 576px) and (max-height: 1080px) and (min-height: 601px) {
    html,
    body {
        align-items: normal;
        -webkit-align-items: normal;
    }

    form#login {
        display: flex;
        justify-content: center;
        -webkit-justify-content: center;
        align-items: center;
        -webkit-align-items: center;
        flex-direction: column;
        -webkit-flex-direction: column;
    }
    div.bloco-superior-login img {
        max-height: 10rem;
        max-width: 20rem;
    }
    div.bloco-inferior-login header {
        font-size: 1.5rem;
    }
    div.msg-error {
        width: 24.5rem;
        height: 3rem;
        font-size: 1.2rem;
    }

    div.valida-campo {
        height: 2rem;
    }

    div.bloco-superior-login {
        margin-top: -4rem;
        margin-bottom: -6rem;
        padding: 0;
    }

    div.modal-footer .btn-laranja {
        height: 15vw!important;
        font-size: 5vw!important;
    }

    div.ct_b_principal .input-group .form-control {
        width: 81.5%;
    }

}

@media (max-width: 355px) {
    div.ct_b_principal .input-group .form-control {
        width: 75.5%;
    }
    .container-head span {
        font-size: 1rem;
    }
    div.ct_b_principal div.ct_b_header span {
        font-size: 1rem;
    }
    /* .downloadContainer {
        display: initial;
        gap: 0;
    }
    .downloadContainer div {
        justify-content: center;
        display: flex;
    } */
    .loja {
        width: 120px;   
        /* padding-bottom: 5px;  */    
    }
    div.ct_b_principal div.ct_b_header img.logo {
        padding: 0;
    }
    .secundario {
        padding: 1rem;
    }
}

input[type="text"]::placeholder {
    /* Firefox, Chrome, Opera */
    text-align: left;
}
input[type="password"]::placeholder {
    /* Firefox, Chrome, Opera */
    text-align: left;
}


input[data-boleto="sim"]::placeholder {
    /* Firefox, Chrome, Opera */
    text-align: center;
}
input[data-boleto="sim"]::placeholder {
    /* Firefox, Chrome, Opera */
    text-align: center;
}