@charset "utf-8";

section#form-infos {
    float: left;
    width: 100%;
    padding: 50px 0;
}

section#form-infos h1{
    display: inline-block;
    width: 90%;
    color: var(--cms-primary, #1b0688);
    font-size: 30px;
    font-weight: 700;
}

section#form-infos div.infos {
    display: inline-block;
    width: 100%;
    margin-top: 20px;
}

section#form-infos div.infos figure{
    display: inline-block;
    width: 90%;
    margin-top: 30px;
}

section#form-infos div.infos figure figcaption{
    display: inline-block;
    width: 100%;
    margin-top: 10px;
}

section#form-infos div.infos figure figcaption strong {
    color: var(--cms-primary, #1b0688);
    font-size: 25px;
}

section#form-infos div.infos figure figcaption p {
    display: inline-block;
    width: 100%;
    color: #666;
    line-height: normal;
    font-weight: 700;
    margin-top: 5px;
}

section#form-infos form#form {
    display: inline-block;
    width: 90%;
    margin-top: 30px;
}

section#form-infos form#form input, section#form-infos form#form textarea {
    display: inline-block;
    width: 99%;
    /* border: 1px solid #e7e8e5; colocar essa depois */
    border: 0 none;
    color: #5a5a5a;
    font-family: 'montserrat-regular', sans-serif;
    font-size: 18px;
    text-indent: 10px;
    padding: 15px 0;
    margin: 5px 0;
}

section#form-infos form#form input::placeholder, section#form-infos form#form textarea::placeholder {
    padding: 5px;
    color: #5a5a5a;
    font-family: 'montserrat-regular', sans-serif;
}

section#form-infos form#form textarea {
    resize: none;
    height: 150px;
}

section#form-infos form#form input.envia {
    float: right;
    display: unset;
    width: unset;
    cursor: pointer;
    padding: 10px 35px;
    font-family: 'montserrat-bold', sans-serif;
    color: #ffffff;
    background-color: var(--cms-primary, #1b0688);
    transition: .4s;
    -o-transition: .4s;
    -moz-transition: .4s;
    -webkit-transition: .4s;
}

section#form-infos form#form input.upload-arquivos[type="file"] {
    display: none;
}

section#form-infos form#form label.anexar span#file-name {
    display: inline-block;
    width: 97%;
    /* border: 1px solid #e7e8e5; colocar essa depois */
    border: 0 none;
    color: #5a5a5a;
    background-color: #ffffff;
    font-family: 'montserrat-regular', sans-serif;
    font-size: 18px;
    padding: 10px 0 10px 7px;
    margin: 5px 0;
    text-align: left;
    cursor: pointer;
}

section#form-infos form#form label.anexar p {
    display: inline-block;
    color: #ffffff;
    font-family: 'montserrat-regular', sans-serif;
    font-size: 18px;
    padding: 11px 15px;
    margin: 5px 0;
    border:1px solid #408ddb;
    background-color: #408ddb;
    cursor: pointer;
    transition: .4s;
    -o-transition: .4s;
    -moz-transition: .4s;
    -webkit-transition: .4s;
}

section#form-infos form#form label.anexar p:hover {
    color: #408ddb;
    background-color: #ffffff;
}


section#form-infos form#form input.envia:hover {
    background-color: var(--cms-primary-dark, #100356);
}

section#app{
    float: left;
    width: 100%;
    margin: 50px 0 80px 0;
}

section#app div#cont-app{
    display: inline-block;
    width: 90%;
    border-radius: 20px;
    background-color: var(--cms-primary-dark, #100356);
    color: #fff;
    padding: 50px 0;
    position: relative;
}

section#app div#cont-app img#celulares{
    display: none;
}

section#app div#cont-app h1{
    display: inline-block;
    width: 90%;
    font-size: 30px;
    font-weight: 700;
    margin-top: 20px;
}

section#app div#cont-app h2{
    display: inline-block;
    width: 90%;
    margin-top: 10px;
    font-size: 20px;
}

section#app div#cont-app p{
    display: inline-block;
    width: 90%;
    margin-top: 20px;
    font-size: 15px;
    line-height: normal;
}

section#app div#cont-app a{
    display: inline-block;
    width: 172px;
    height: 49px;
    vertical-align: middle;
    margin: 20px 5px 0 5px;
    background: left top no-repeat;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}

section#app div#cont-app a#googleplay{
    background-image: url(../imagens/google-play.png);
}

section#app div#cont-app a#applestore{
    width: 172px;
    background-image: url(../imagens/apple-store.png);
}

section#app div#cont-app a:hover{
    background: left bottom no-repeat;
}

@media screen and (min-width: 768px){
    section#form-infos h1{
        font-size: 40px;
    }

    section#form-infos form#form {
        max-width: 600px;
        margin-right: 20px;
    }

    section#form-infos form#form input.metade-linha {
        width: 48%;
    }

    section#form-infos form#form input.mar-esqr {
        margin-left: 2%;
    }

    section#form-infos form#form label.anexar  {
        display: inline-flex;
        justify-content: center;
        align-items: center;
    }
    

    section#form-infos form#form label.anexar span#file-name {
        width: 201px;
        height: 18px;
        font-size: 14px;
        margin: 5px 0;
    }

    section#form-infos form#form label.anexar p {
        padding: 10px 13px;
    }

    section#form-infos div.infos{
        width: 450px;
        text-align: left;
    }

    section#form-infos div.infos figure img{
        display: inline-block;
        margin-right: 5px;
        vertical-align: middle;
    }

    section#form-infos div.infos figure figcaption{
        width: 280px;
        vertical-align: middle;
        text-align: left;
        margin-top: -5px;
    }

    section#form-infos div.infos figure figcaption strong{
        font-size: 30px;
    }

    section#form-infos div.infos figure figcaption p{
        font-size: 18px;
    }

    section#app div#cont-app div#cont-dir{
        float: right;
        width: 55%;
        text-align: left;
    }

    section#app div#cont-app h1{
        font-size: 40px;
    }

    section#app div#cont-app h2{
        font-size: 25px;
    }

    section#app div#cont-app img#celulares{
        display: inline-block;
        position: absolute;
        width: 50%;
        top: 80px;
        left: -40px;
    }
}

@media screen and (min-width: 1024px){
    section#form-infos h1{
        text-align: left;
    }

    section#form-infos form#form{
        float: left;
        width: 500px;
        margin-left: 20px;
    }

    section#form-infos div.infos{
        float: right;
    }

    section#form-infos div.infos figure:first-of-type{
        margin-top: 10px;
    }

    section#app div#cont-app div#cont-dir{
        width: 45%;
    }

    section#app div#cont-app img#celulares{
        top: 10px;
        width: 55%;
        left: -50px;
    }
}

@media screen and (min-width: 1200px){
    section#form-infos h1{
        width: 100%;
    }

    section#form-infos form#form{
        width: 700px;
        margin-left: 0;
    }

    section#form-infos div.infos{
        float: right;
    }

    section#app{
        margin-top: 80px;
    }

    section#app div#cont-app{
        width: 80%;
    }

    section#app div#cont-app div#cont-dir{
        width: 50%;
    }

    section#app div#cont-app img#celulares{
        width: 53%;
        left: -60px;
    }
}
/* Ajuste dos campos do formulário de contato */
section#form-infos form#form input:not(.envia):not(.upload-arquivos),
section#form-infos form#form textarea{
    border: 1px solid #dddddd;
    box-sizing: border-box;
    font-family: inherit;
    font-weight: 400;
}

section#form-infos form#form input:not(.envia):not(.upload-arquivos)::placeholder,
section#form-infos form#form textarea::placeholder{
    color: #5a5a5a;
    font-family: inherit;
    font-weight: 400;
    opacity: 1;
}

section#form-infos form#form input:not(.envia):not(.upload-arquivos)::-webkit-input-placeholder,
section#form-infos form#form textarea::-webkit-input-placeholder{
    color: #5a5a5a;
    font-family: inherit;
    font-weight: 400;
}

section#form-infos form#form input:not(.envia):not(.upload-arquivos)::-moz-placeholder,
section#form-infos form#form textarea::-moz-placeholder{
    color: #5a5a5a;
    font-family: inherit;
    font-weight: 400;
    opacity: 1;
}


/* Fundo geométrico nos quadros escuros do aplicativo/atendimento */
section#app div#cont-app{
    background-color: var(--cms-primary-dark, #100356) !important;
    background-image: url(../imagens/bg.png), url(../imagens/bg.png) !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: center center, center center !important;
    background-size: cover, cover !important;
}


/* Ajuste contato responsivo: imagem do aplicativo abaixo do quadro */
@media screen and (max-width: 767px){
    section#app{
        margin: 45px 0 70px 0 !important;
    }

    section#app div#cont-app{
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 92% !important;
        max-width: 440px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 34px 22px 0 22px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    section#app div#cont-app div#cont-dir{
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        position: relative !important;
        z-index: 2 !important;
    }

    section#app div#cont-app h1{
        width: 100% !important;
        margin: 0 auto 12px auto !important;
        font-size: 28px !important;
        line-height: 1 !important;
    }

    section#app div#cont-app h2{
        width: 100% !important;
        margin: 0 auto !important;
        font-size: 21px !important;
        line-height: 1.08 !important;
    }

    section#app div#cont-app p{
        width: 100% !important;
        margin: 20px auto 0 auto !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    section#app div#cont-app a#googleplay,
    section#app div#cont-app a#applestore{
        transform: scale(.86);
        transform-origin: center center;
        margin: 18px -4px 0 -4px !important;
    }

    section#app div#cont-app img#celulares{
        order: 2 !important;
        display: block !important;
        position: relative !important;
        width: 82% !important;
        max-width: 325px !important;
        height: auto !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        margin: 30px auto 0 auto !important;
        z-index: 1 !important;
    }
}


/* Ajuste final: hover dos botões de chamada em azul */
section#app div#cont-app a:hover,
section#app-escolha div#cont-app a:hover{
    background-color: var(--cms-secondary, #58c8ea) !important;
    color: #fff !important;
}


/* Ajuste final contato: imagem alinhada dentro do quadro */
@media screen and (min-width: 768px){
    section#app div#cont-app{
        overflow: hidden !important;
    }

    section#app div#cont-app img#celulares{
        top: auto !important;
        bottom: 0 !important;
        left: -34px !important;
        width: 48% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: left bottom !important;
    }
}

@media screen and (min-width: 1024px){
    section#app div#cont-app img#celulares{
        top: auto !important;
        bottom: 0 !important;
        left: -34px !important;
        width: 50% !important;
    }
}


/* Ajuste final: hover dos botões de chamada sempre azul */
section#app div#cont-app a:hover,
section#app-escolha div#cont-app a:hover{
    background-color: var(--cms-secondary, #58c8ea) !important;
    color: #fff !important;
    text-decoration: none !important;
}


/* Ajuste final contato: moça/app alinhada no bottom do quadro */
@media screen and (min-width: 768px){
    section#app div#cont-app{
        overflow: hidden !important;
    }

    section#app div#cont-app img#celulares{
        position: absolute !important;
        top: auto !important;
        bottom: 0 !important;
        left: -26px !important;
        height: 100% !important;
        max-height: 100% !important;
        width: auto !important;
        max-width: 50% !important;
        object-fit: contain !important;
        object-position: left bottom !important;
    }
}

/* Toast e reCAPTCHA do formulário de contato */
.contato-toast{
    position: fixed;
    top: 22px;
    right: 22px;
    z-index: 10050;
    max-width: 360px;
    padding: 14px 18px;
    border-radius: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    box-shadow: 0 10px 30px rgba(0,0,0,.24);
    animation: contatoToast 5s ease forwards;
}

.contato-toast.sucesso{
    background-color: var(--cms-primary, #1b0688);
}

.contato-toast.erro{
    background-color: #b3261e;
}

.recaptcha-contato{
    display: inline-block;
    width: 100%;
    margin-top: 18px;
    text-align: left;
}

.recaptcha-contato .g-recaptcha{
    display: inline-block;
}

@keyframes contatoToast{
    0%{ opacity: 0; transform: translateY(-12px); }
    8%{ opacity: 1; transform: translateY(0); }
    86%{ opacity: 1; transform: translateY(0); }
    100%{ opacity: 0; transform: translateY(-12px); pointer-events: none; }
}

@media screen and (max-width: 767px){
    .contato-toast{
        left: 18px;
        right: 18px;
        top: 16px;
        max-width: none;
        text-align: center;
    }

    .recaptcha-contato{
        text-align: center;
    }
}


/* Aceite da Política de Privacidade */
.aceite-politica{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 90%;
    max-width: 520px;
    margin-top: 18px;
    color: #333;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}

.aceite-politica input{
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
}

.aceite-politica a{
    color: var(--cms-primary, #1b0688);
    font-weight: 800;
    text-decoration: underline;
}

.aceite-politica a:hover{
    color: var(--cms-secondary, #58c8ea);
}

/* Ícones Font Awesome no bloco de contato */
section#form-infos div.infos figure .contato-fa-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:96px;
    height:96px;
    min-width:96px;
    border-radius:50%;
    background:var(--cms-primary, #1b0688);
    color:#fff;
    font-size:44px;
    line-height:1;
}
section#form-infos div.infos figure .contato-fa-icon i{line-height:1;}
@media screen and (max-width:767px){section#form-infos div.infos figure .contato-fa-icon{width:82px;height:82px;min-width:82px;font-size:36px;margin:0 auto 12px;}}


/* Ajustes ALFREDO v15 - app contato sobreposto como a index */
section#app div#cont-app{
    overflow:visible !important;
    box-shadow:0 14px 28px rgba(0,0,0,.10) !important;
}
@media screen and (min-width:768px){
    section#app{
        margin-top:80px !important;
        margin-bottom:70px !important;
    }
    section#app div#cont-app{
        padding:50px 0 !important;
    }
    section#app div#cont-app img#celulares{
        position:absolute !important;
        display:inline-block !important;
        width:54% !important;
        height:auto !important;
        max-height:none !important;
        max-width:none !important;
        left:-70px !important;
        bottom:0 !important;
        top:auto !important;
        object-fit:contain !important;
        object-position:left bottom !important;
        z-index:1 !important;
    }
    section#app div#cont-app div#cont-dir{
        position:relative !important;
        z-index:2 !important;
    }
}

/* Ajuste ALFREDO v17 - contato: app mais baixo e celular no mesmo porte da index */
@media screen and (min-width:768px){
    section#app{
        margin-top:115px !important;
        margin-bottom:80px !important;
    }
    section#app div#cont-app{
        padding:52px 0 !important;
    }
    section#app div#cont-app img#celulares{
        width:49% !important;
        max-width:none !important;
        height:auto !important;
        left:-42px !important;
        bottom:0 !important;
        top:auto !important;
        object-fit:contain !important;
    }
}
@media screen and (min-width:1024px){
    section#app{
        margin-top:125px !important;
    }
    section#app div#cont-app img#celulares{
        width:48% !important;
        left:-36px !important;
    }
}
@media screen and (min-width:1200px){
    section#app{
        margin-top:130px !important;
    }
    section#app div#cont-app img#celulares{
        width:47% !important;
        left:-30px !important;
    }
}

/* Ajuste ALFREDO v18 - contatos: ícone ao lado do texto */
section#form-infos div.infos figure{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;
    width:100% !important;
    max-width:450px !important;
    margin-top:28px !important;
    text-align:left !important;
}

section#form-infos div.infos figure .contato-fa-icon{
    flex:0 0 92px !important;
    width:92px !important;
    height:92px !important;
    min-width:92px !important;
    margin:0 !important;
}

section#form-infos div.infos figure figcaption{
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    margin:0 !important;
    text-align:left !important;
    vertical-align:middle !important;
}

section#form-infos div.infos figure figcaption strong,
section#form-infos div.infos figure figcaption p{
    width:100% !important;
}

@media screen and (max-width:767px){
    section#form-infos div.infos{
        width:92% !important;
        max-width:430px !important;
        text-align:left !important;
    }

    section#form-infos div.infos figure{
        gap:14px !important;
        max-width:100% !important;
        margin:26px auto 0 auto !important;
    }

    section#form-infos div.infos figure .contato-fa-icon{
        flex:0 0 76px !important;
        width:76px !important;
        height:76px !important;
        min-width:76px !important;
        font-size:34px !important;
        margin:0 !important;
    }

    section#form-infos div.infos figure figcaption strong{
        font-size:28px !important;
        line-height:1.05 !important;
    }

    section#form-infos div.infos figure figcaption p{
        font-size:16px !important;
        line-height:1.45 !important;
        margin-top:6px !important;
    }
}
