Como montar uma rotina de concurseiro trabalhando 40 horas semanais

Picture of Laura Amorim

Laura Amorim

Mapas da Lulu. Engenheira, com emprego CLT, estudou 30h por semana e passou em concurso fiscal. Veja como ela montou a rotina e o que você pode adaptar.

Saber como montar uma rotina de concurseiro trabalhando 40 horas semanais é um dos desafios mais comuns de quem decide encarar um concurso sem abrir mão do emprego. A maioria das histórias de aprovação omite exatamente esse detalhe: a pessoa também tinha trabalho, compromissos e uma vida acontecendo ao mesmo tempo. A Bruna Mancuzo tinha tudo isso e, mesmo assim, foi aprovada em um concurso da área fiscal.

Ela é engenheira química, tem mestrado e dez anos de carreira na iniciativa privada, parte deles atuando com desenvolvimento de software. Começou a se preparar para o cargo dos sonhos em dezembro de 2022 e manteve uma carga de estudo de 30 horas por semana durante o pré-edital, chegando a 35 horas na fase pós-edital — tudo isso conciliando uma jornada CLT de 40 horas semanais.

O que tornou isso possível não foi um método secreto, mas sim uma estrutura de rotina construída com cuidado, ajustada ao longo do tempo e sustentada por hábitos simples repetidos todos os dias. Neste artigo, conto como ela fez isso e o que você pode adaptar para a sua preparação.

A estrutura que sustentou 30 horas de estudo por semana

A Bruna acordava às 4h40, tomava o café da manhã com calma e sentava para estudar às 5h45. Às 8h59, um alarme tocava e ela trocava de computador para começar o expediente de trabalho.

Ela trabalhava em home office. Isso eliminou o tempo de deslocamento, o que faz diferença real na preparação. Mas o home office também impõe um desafio próprio: quando estudo, trabalho e descanso acontecem no mesmo ambiente, o cérebro perde os gatilhos naturais que marcam o início e o fim de cada atividade.

Assim, o alarme e a troca de computador eram a solução dela para esse problema. Ambos eram sinais físicos e concretos que diziam ao cérebro: essa etapa acabou; a próxima começa agora.

Nesse mesmo sentido, dormir entre 20h30 e 21h também era parte da estratégia. O sono estava no centro da rotina: era um dos pilares, e não o que sobrava depois de tudo.

Como montar rotina de concurseiro trabalhando exige atenção ao corpo

Academia, pilates e yoga apareciam entre cinco e seis vezes por semana, em sessões de 40 a 60 minutos. Já os treinos mais longos ficavam para o fim de semana.

Não era luxo nem excesso. Era parte do que mantinha o corpo funcionando para suportar a carga de estudos. Quem tenta cortar o exercício para ganhar mais horas de estudo costuma perceber, algumas semanas depois, que a qualidade do estudo caiu junto. Ou seja, dar atenção ao corpo físico é tão necessário quanto qualquer outro aspecto da rotina.

A lógica por trás da consistência diária

Para a Bruna, cumprir a carga de estudos durante a semana tinha uma recompensa concreta: chegar ao fim de semana com tempo para descansar de verdade, sem a sensação de dívida acumulada.

Quando isso não acontecia, ela percebia o efeito direto: tentar compensar no sábado e no domingo fazia a semana seguinte começar já com um cansaço extra.

Com o tempo, ficou claro que a consistência diária produzia resultados muito melhores do que alternar períodos de alta produtividade com maratonas para recuperar o atraso. Não é uma ideia nova, mas vivenciar isso na prática com certeza muda a forma como você organiza os dias.

O problema das revisões e como ela resolveu

A Bruna começou fazendo ciclo de estudos e seguindo planejamento. O gargalo apareceu nas revisões: ela deixava para revisar depois, e nesse depois, já tinha esquecido boa parte do que estudou.

A partir desse diagnóstico, ela passou a combinar diferentes ferramentas ao longo da preparação: revisões por questões, baterias específicas e acompanhamento de consultoria para corrigir a rota e organizar prioridades. Os Mapas da Lulu também entraram como apoio para ajudar a estruturar as informações visualmente e fixar melhor o conteúdo estudado.

Ela também passou a registrar horas de estudo e quantidade de questões resolvidas. Não por burocracia, mas porque medir o desempenho dá parâmetros objetivos para entender onde está tendo evolução, onde trava e o que precisa ser ajustado.

Usando as provas como diagnóstico

A primeira prova que a Bruna fez foi da SEFAZ MT, usada conscientemente como aprendizado. Ela foi eliminada pela banca. Em vez de interpretar aquilo como um sinal de incapacidade, usou a experiência como diagnóstico.

Na prova seguinte, para o ISS-SP, não foi eliminada pela banca — foi eliminada pela concorrência. Para quem está de fora, parece um detalhe pequeno. Para quem está dentro da preparação, é uma confirmação de que a evolução está acontecendo.

Nas provas seguintes, vieram as aprovações.

O que a história da Bruna mostra sobre aprovação em concurso

Quando vemos uma lista de aprovados, é fácil imaginar que existe alguma característica extraordinária por trás daqueles nomes. A história da Bruna mostra o contrário: a aprovação foi construída por hábitos simples, repetidos todos os dias, mesmo quando ninguém estava olhando.

Acordar cedo, dormir no horário, fazer exercício, revisar o que estudou, medir o próprio desempenho. Nada disso é segredo. O difícil — e o que separa quem aprova de quem não aprova — é sustentar esses hábitos por tempo suficiente para que eles produzam resultado.

Se você está tentando encaixar os estudos em uma rotina de trabalho, talvez o que esteja faltando não seja uma nova técnica. Pode ser apenas dar mais espaço a um hábito que você já sabe que funciona, mas ainda não conseguiu manter por tempo suficiente.

Quer saber mais sobre a história da Bruna?

Ficou curioso para saber todos os detalhes da trajetória da Bruna nos concursos? Assista à entrevista completa dela:

Até a próxima!

Quer acelerar sua revisão para o concurso?

Os Mapas da Lulu são mapas mentais prontos, organizados por disciplina, criados especialmente para concurseiros que querem revisar mais em menos tempo. Em vez de montar seu próprio material do zero, você estuda com um resumo visual já estruturado — e foca sua energia no que realmente importa: fixar o conteúdo.

👉 Conheça os Mapas da Lulu

Compartilhe esse artigo

Picture of Sobre a autora

Sobre a autora

Aprovada nos concursos de Auditor Fiscal Estadual de Santa Catarina (7º Lugar), Auditor Fiscal Estadual de Goiás (23º lugar), Consultor Legislativo (4º lugar), Agente da Polícia Federal (em 2021).

Especialista em preparação para concursos públicos, técnicas de aprendizagem acelerada e estudos de alto rendimento.

Sobre a autora

Pós-graduada em Neuroeducação, especialista em preparação para concursos, técnicas de aprendizagem acelerada e estudos de alto rendimento.

Aprovada dentro das vagas em vários dos maiores concursos do país de diversas áreas:

Consultor legislativo CMBH Auditor Fiscal Estadual (SC) Auditor Fiscal Estadual (GO) Agente de Polícia Federal

newsletter

Mantenha-se atualizado com dicas direto no seu e-mail

Ao prosseguir, concordo com os Termos de Uso e reconheço que li as Políticas de Privacidade.

@import url(https://fonts.bunny.net/css?family=ibm-plex-sans:400,600); #_form_17_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_17_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_17_._form-top{top:0}#_form_17_._form-bottom{bottom:0}#_form_17_._form-left{left:0}#_form_17_._form-right{right:0}#_form_17_ input[type="text"],#_form_17_ input[type="tel"],#_form_17_ input[type="date"],#_form_17_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_17_ textarea{resize:none}#_form_17_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#19C714 !important;border:0 !important;-moz-border-radius:4px !important;-webkit-border-radius:4px !important;border-radius:4px !important;color:#FFFFFF !important;padding:10px !important}#_form_17_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_17_ ._submit.processing{position:relative}#_form_17_ ._submit.processing::before{content:"";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#19C714, #19C714), conic-gradient(#19C714, #FFFFFF);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_17_ ._submit.processing::after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:#19C714 !important;border:0 !important;-moz-border-radius:4px !important;-webkit-border-radius:4px !important;border-radius:4px !important;color:#FFFFFF !important;padding:10px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_17_ ._close-icon{cursor:pointer;background-image:url("https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_17_ ._close-icon:before{position:relative}#_form_17_ ._form-body{margin-bottom:30px}#_form_17_ ._form-image-left{width:150px;float:left}#_form_17_ ._form-content-right{margin-left:164px}#_form_17_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_17_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url("https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png");background-size:130px auto;background-repeat:no-repeat}#_form_17_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_17_ ._form-label,#_form_17_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_17_._dark ._form-branding{color:#333}#_form_17_._dark ._form-branding ._logo{background-image:url("https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png")}#_form_17_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_17_ ._form_element *{font-size:14px}#_form_17_ ._form_element._clear{clear:both;width:100%;float:none}#_form_17_ ._form_element._clear:after{clear:left}#_form_17_ ._form_element input[type="text"],#_form_17_ ._form_element input[type="date"],#_form_17_ ._form_element select,#_form_17_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_17_ ._field-wrapper{position:relative}#_form_17_ ._inline-style{float:left}#_form_17_ ._inline-style input[type="text"]{width:150px}#_form_17_ ._inline-style:not(._clear)+._inline-style:not(._clear){margin-left:20px}#_form_17_ ._form_element img._form-image{max-width:100%}#_form_17_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_17_ ._clear-element{clear:left}#_form_17_ ._full_width{width:100%}#_form_17_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_17_ input[type="text"]._has_error,#_form_17_ textarea._has_error{border:#F37C7B 1px solid}#_form_17_ input[type="checkbox"]._has_error{outline:#F37C7B 1px solid}#_form_17_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_17_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_17_ ._error._below{padding-top:8px;top:100%;right:0}#_form_17_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_17_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_17_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0px 1px 4px rgba(31, 33, 41, 0.298295)}#_form_17_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_17_ ._button-wrapper ._error-inner._form_error{position:static}#_form_17_ ._error-inner._no_arrow{margin-bottom:10px}#_form_17_ ._error-arrow{position:absolute;width:0;height:0}#_form_17_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_17_ input[type="text"].datetime_date{width:69%;display:inline}#_form_17_ select.datetime_time{width:29%;display:inline;height:32px}#_form_17_ input[type="date"].datetime_date{width:69%;display:inline-flex}#_form_17_ input[type="time"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_17_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_17_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_17_ ._form-content{margin:0;width:100%}#_form_17_ ._form-inner{display:block;min-width:100%}#_form_17_ ._form-title,#_form_17_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_17_ ._form-title{font-size:1.2em}#_form_17_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_17_ ._form-element,#_form_17_ ._inline-style,#_form_17_ input[type="text"],#_form_17_ label,#_form_17_ p,#_form_17_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_17_ ._row._checkbox-radio label{display:inline}#_form_17_ ._row,#_form_17_ p,#_form_17_ label{margin-bottom:0.7em;width:100%}#_form_17_ ._row input[type="checkbox"],#_form_17_ ._row input[type="radio"]{margin:0 !important;vertical-align:middle !important}#_form_17_ ._row input[type="checkbox"]+span label{display:inline}#_form_17_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_17_ ._form-image{max-width:100%;height:auto !important}#_form_17_ input[type="text"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_17_ input[type="radio"],#_form_17_ input[type="checkbox"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_17_ button[type="submit"]{padding:20px;font-size:1.5em}#_form_17_ ._inline-style{margin:20px 0 0 !important}}#_form_17_{position:relative;text-align:left;margin:25px auto 0;padding-top:20px;padding-right:20px;padding-bottom:20px;padding-left:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:#FFFFFF !important;border:0px solid #B0B0B0 !important;max-width:500px;-moz-border-radius:0px !important;-webkit-border-radius:0px !important;border-radius:0px !important;color:#000000}#_form_17_._inline-form,#_form_17_._inline-form ._form-content{font-family:"IBM Plex Sans", Helvetica, sans-serif}#_form_17_._inline-form ._row span,#_form_17_._inline-form ._row label{font-family:"IBM Plex Sans", Helvetica, sans-serif;font-size:14px;font-weight:400;line-height:1.6em}#_form_17__inlineform input[type="text"],#_form_17__inlineform input[type="date"],#_form_17__inlineform input[type="tel"],#_form_17__inlineform select,#_form_17__inlineform textarea:not(.g-recaptcha-response){font-family:"IBM Plex Sans", Helvetica, sans-serif;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_17_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_17_._inline-form ._form-thank-you{font-family:"IBM Plex Sans", Helvetica, sans-serif}#_form_17_._inline-form ._form-label,#_form_17_._inline-form ._form-emailidentifier,#_form_17_._inline-form ._form-checkbox-option-label{font-family:"IBM Plex Sans", Helvetica, sans-serif;font-size:14px;font-weight:700;line-height:1.6em}#_form_17_._inline-form ._submit{margin-top:12px;font-family:"IBM Plex Sans", Helvetica, sans-serif}#_form_17_._inline-form ._html-code h1,#_form_17_._inline-form ._html-code h2,#_form_17_._inline-form ._html-code h3,#_form_17_._inline-form ._html-code h4,#_form_17_._inline-form ._html-code h5,#_form_17_._inline-form ._html-code h6,#_form_17_._inline-form ._form-title{font-size:22px;line-height:normal;font-weight:600;margin-bottom:0}#_form_17_._inline-form ._form-branding{font-family:"IBM Plex Sans", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_17_:before,#_form_17_:after{content:" ";display:table}#_form_17_:after{clear:both}#_form_17_._inline-style{width:auto;display:inline-block}#_form_17_._inline-style input[type="text"],#_form_17_._inline-style input[type="date"]{padding:10px 12px}#_form_17_._inline-style button._inline-style{position:relative;top:27px}#_form_17_._inline-style p{margin:0}#_form_17_._inline-style ._button-wrapper{position:relative;margin:27px 12.5px 0 20px}#_form_17_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_17_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_17_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_17_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_17_ .iti input{width:100%;height:32px;border:#979797 1px solid;border-radius:4px}#_form_17_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_17_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_17_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_17_ .iti__country-list--dropup{margin-bottom:4px}#_form_17_ .phone-error-hidden{display:none}#_form_17_ .phone-error{color:#E40E49}#_form_17_ .phone-input-error{border:1px solid #E40E49 !important}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_17_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}
Quero este Combo!
window.cfields = {"1":"whatsapp"}; window._show_thank_you = function(id, message, trackcmp_url, email) { var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you'); form.querySelector('._form-content').style.display = 'none'; thank_you.innerHTML = message; thank_you.style.display = 'block'; const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias; var visitorObject = window[vgoAlias]; if (email && typeof visitorObject !== 'undefined') { visitorObject('setEmail', email); visitorObject('update'); } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) { // Site tracking URL to use after inline form submission. _load_script(trackcmp_url); } if (typeof window._form_callback !== 'undefined') window._form_callback(id); }; window._show_unsubscribe = function(id, message, trackcmp_url, email) { var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you'); var branding = form.querySelector('._form-branding'); if (branding) { branding.style.display = 'none'; } form.querySelector('._form-content').style.display = 'none'; unsub.style.display = 'block'; form.insertAdjacentHTML('afterend', message) const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias; var visitorObject = window[vgoAlias]; if (email && typeof visitorObject !== 'undefined') { visitorObject('setEmail', email); visitorObject('update'); } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) { // Site tracking URL to use after inline form submission. _load_script(trackcmp_url); } if (typeof window._form_callback !== 'undefined') window._form_callback(id); }; window._show_error = function(id, message, html) { var form = document.getElementById('_form_' + id + '_'), err = document.createElement('div'), button = form.querySelector('button'), old_error = form.querySelector('._form_error'); if (old_error) old_error.parentNode.removeChild(old_error); err.innerHTML = message; err.className = '_error-inner _form_error _no_arrow'; var wrapper = document.createElement('div'); wrapper.className = '_form-inner'; wrapper.appendChild(err); button.parentNode.insertBefore(wrapper, button); var submitButton = form.querySelector('[id^="_form"][id$="_submit"]'); submitButton.disabled = false; submitButton.classList.remove('processing'); if (html) { var div = document.createElement('div'); div.className = '_error-html'; div.innerHTML = html; err.appendChild(div); } }; window._show_pc_confirmation = function(id, header, detail, show, email) { var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation'); if (pc_confirmation.style.display === 'none') { form.querySelector('._form-content').style.display = 'none'; pc_confirmation.innerHTML = "
" + header + "
" + "

" + detail + "

" + ""; pc_confirmation.style.display = 'block'; var mp = document.querySelector('input[name="mp"]'); mp.value = '0'; } else { form.querySelector('._form-content').style.display = 'inline'; pc_confirmation.style.display = 'none'; } var hideButton = document.getElementById('hideButton'); // Add event listener to the button hideButton.addEventListener('click', function() { var submitButton = document.querySelector('#_form_17_submit'); submitButton.disabled = false; submitButton.classList.remove('processing'); var mp = document.querySelector('input[name="mp"]'); mp.value = '1'; window.location.href = window.location.href; }); const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias; var visitorObject = window[vgoAlias]; if (email && typeof visitorObject !== 'undefined') { visitorObject('setEmail', email); visitorObject('update'); } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) { // Site tracking URL to use after inline form submission. _load_script(trackcmp_url); } if (typeof window._form_callback !== 'undefined') window._form_callback(id); }; window._load_script = function(url, callback, isSubmit) { var head = document.querySelector('head'), script = document.createElement('script'), r = false; var submitButton = document.querySelector('#_form_17_submit'); script.charset = 'utf-8'; script.src = url; if (callback) { script.onload = script.onreadystatechange = function() { if (!r && (!this.readyState || this.readyState == 'complete')) { r = true; callback(); } }; } script.onerror = function() { if (isSubmit) { if (script.src.length > 10000) { _show_error("17", "Desculpe, seu envio falhou. Deixe suas respostas mais curtas e tente novamente."); } else { _show_error("17", "Desculpe, seu envio falhou. Tente novamente."); } submitButton.disabled = false; submitButton.classList.remove('processing'); } } head.appendChild(script); }; (function() { if (window.location.search.search("excludeform") !== -1) return false; var getCookie = function(name) { var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)')); return match ? match[2] : null; } var setCookie = function(name, value) { var now = new Date(); var time = now.getTime(); var expireTime = time + 1000 * 60 * 60 * 24 * 365; now.setTime(expireTime); document.cookie = name + '=' + value + '; expires=' + now + ';path=/; Secure; SameSite=Lax;'; } var addEvent = function(element, event, func) { if (element.addEventListener) { element.addEventListener(event, func); } else { var oldFunc = element['on' + event]; element['on' + event] = function() { oldFunc.apply(this, arguments); func.apply(this, arguments); }; } } var _removed = false; var form_to_submit = document.getElementById('_form_17_'); var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false; var getUrlParam = function(name) { if (name.toLowerCase() !== 'email') { var params = new URLSearchParams(window.location.search); return params.get(name) || false; } // email is a special case because a plus is valid in the email address var qString = window.location.search; if (!qString) { return false; } var parameters = qString.substr(1).split('&'); for (var i = 0; i < parameters.length; i++) { var parameter = parameters[i].split('='); if (parameter[0].toLowerCase() === 'email') { return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]); } } return false; }; var acctDateFormat = "%d/%m/%Y"; var getNormalizedDate = function(date, acctFormat) { var decodedDate = decodeURIComponent(date); if (acctFormat && acctFormat.match(/(%d|%e).*%m/gi) !== null) { return decodedDate.replace(/(\d{2}).*(\d{2}).*(\d{4})/g, '$3-$2-$1'); } else if (Date.parse(decodedDate)) { var dateObj = new Date(decodedDate); var year = dateObj.getFullYear(); var month = dateObj.getMonth() + 1; var day = dateObj.getDate(); return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`; } return false; }; var getNormalizedTime = function(time) { var hour, minutes; var decodedTime = decodeURIComponent(time); var timeParts = Array.from(decodedTime.matchAll(/(\d{1,2}):(\d{1,2})\W*([AaPp][Mm])?/gm))[0]; if (timeParts[3]) { // 12 hour format var isPM = timeParts[3].toLowerCase() === 'pm'; if (isPM) { hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`; } else { hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1]; } } else { // 24 hour format hour = timeParts[1]; } var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour; var minutes = timeParts[2]; return `${normalizedHour}:${minutes}`; }; for (var i = 0; i < allInputs.length; i++) { var regexStr = "field\\[(\\d+)\\]"; var results = new RegExp(regexStr).exec(allInputs[i].name); if (results != undefined) { allInputs[i].dataset.name = allInputs[i].name.match(/\[time\]$/) ? `${window.cfields[results[1]]}_time` : window.cfields[results[1]]; } else { allInputs[i].dataset.name = allInputs[i].name; } var fieldVal = getUrlParam(allInputs[i].dataset.name); if (fieldVal) { if (allInputs[i].dataset.autofill === "false") { continue; } if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") { if (allInputs[i].value == fieldVal) { allInputs[i].checked = true; } } else if (allInputs[i].type == "date") { allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat); } else if (allInputs[i].type == "time") { allInputs[i].value = getNormalizedTime(fieldVal); } else { allInputs[i].value = fieldVal; } } } var remove_tooltips = function() { for (var i = 0; i < tooltips.length; i++) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); } tooltips = []; }; var remove_tooltip = function(elem) { for (var i = 0; i < tooltips.length; i++) { if (tooltips[i].elem === elem) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); tooltips.splice(i, 1); return; } } }; var create_tooltip = function(elem, text) { var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {}; if (elem.type != 'radio' && elem.type != 'checkbox') { tooltip.className = '_error'; arrow.className = '_error-arrow'; inner.className = '_error-inner'; inner.innerHTML = text; tooltip.appendChild(arrow); tooltip.appendChild(inner); elem.parentNode.appendChild(tooltip); } else { tooltip.className = '_error-inner _no_arrow'; tooltip.innerHTML = text; elem.parentNode.insertBefore(tooltip, elem); new_tooltip.no_arrow = true; } new_tooltip.tip = tooltip; new_tooltip.elem = elem; tooltips.push(new_tooltip); return new_tooltip; }; var resize_tooltip = function(tooltip) { var rect = tooltip.elem.getBoundingClientRect(); var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)); if (scrollPosition < 40) { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below'; } else { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above'; } }; var resize_tooltips = function() { if (_removed) return; for (var i = 0; i < tooltips.length; i++) { if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]); } }; var validate_field = function(elem, remove) { var tooltip = null, value = elem.value, no_error = true; remove ? remove_tooltip(elem) : false; if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, ''); if (elem.getAttribute('required') !== null) { if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) { var elems = form_to_submit.elements[elem.name]; if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) { no_error = elem.checked; } else { no_error = false; for (var i = 0; i < elems.length; i++) { if (elems[i].checked) no_error = true; } } if (!no_error) { tooltip = create_tooltip(elem, "Por favor, selecione uma opção."); } } else if (elem.type =='checkbox') { var elems = form_to_submit.elements[elem.name], found = false, err = []; no_error = true; for (var i = 0; i < elems.length; i++) { if (elems[i].getAttribute('required') === null) continue; if (!found && elems[i] !== elem) return true; found = true; elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, ''); if (!elems[i].checked) { no_error = false; elems[i].className = elems[i].className + ' _has_error'; err.push("Marcar %s é necessário".replace("%s", elems[i].value)); } } if (!no_error) { tooltip = create_tooltip(elem, err.join('
')); } } else if (elem.tagName == 'SELECT') { var selected = true; if (elem.multiple) { selected = false; for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected) { selected = true; break; } } } else { for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected && (!elem.options[i].value || (elem.options[i].value.match(/\n/g))) ) { selected = false; } } } if (!selected) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Por favor, selecione uma opção."); } } else if (value === undefined || value === null || value === '') { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Este campo é necessário."); } } if (no_error && (elem.id == 'field[]' || elem.id == 'ca[11][v]')) { if (elem.className.includes('phone-input-error')) { elem.className = elem.className + ' _has_error'; no_error = false; } } if (no_error && elem.name == 'email') { if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Digite um e-mail válido"); } } if (no_error && /date_field/.test(elem.className)) { if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Digite uma data válida."); } } tooltip ? resize_tooltip(tooltip) : false; return no_error; }; var needs_validate = function(el) { if(el.getAttribute('required') !== null){ return true } if(el.name === 'email' && el.value !== ""){ return true } if((el.id == 'field[]' || el.id == 'ca[11][v]') && el.className.includes('phone-input-error')){ return true } return false }; var validate_form = function(e) { var err = form_to_submit.querySelector('._form_error'), no_error = true; if (!submitted) { submitted = true; for (var i = 0, len = allInputs.length; i < len; i++) { var input = allInputs[i]; if (needs_validate(input)) { if (input.type == 'tel') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); } if (input.type == 'text' || input.type == 'number' || input.type == 'time') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); addEvent(input, 'input', function() { validate_field(this, true); }); } else if (input.type == 'radio' || input.type == 'checkbox') { (function(el) { var radios = form_to_submit.elements[el.name]; for (var i = 0; i < radios.length; i++) { addEvent(radios[i], 'click', function() { validate_field(el, true); }); } })(input); } else if (input.tagName == 'SELECT') { addEvent(input, 'change', function() { validate_field(this, true); }); } else if (input.type == 'textarea'){ addEvent(input, 'input', function() { validate_field(this, true); }); } } } } remove_tooltips(); for (var i = 0, len = allInputs.length; i 31 && (charCode 57) && charCode !== 8) { e.preventDefault(); } }); }; var showPhoneInputError = function(inputId) { var errorMessage = document.getElementById("error-msg-" + inputId); var input = document.getElementById(inputId); errorMessage.classList.add("phone-error"); errorMessage.classList.remove("phone-error-hidden"); input.classList.add("phone-input-error"); }; var _form_serialize = function(form){if(!form||form.nodeName!=="FORM"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===""){continue}switch(form.elements[i].nodeName){case"INPUT":switch(form.elements[i].type){case"tel":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(" ")+encodeURIComponent(form.elements[i].value));break;case"text":case"number":case"date":case"time":case"hidden":case"password":case"button":case"reset":case"submit":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"checkbox":case"radio":if(form.elements[i].checked){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value))}break;case"file":break}break;case"TEXTAREA":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"SELECT":switch(form.elements[i].type){case"select-one":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"select-multiple":for(j=0;j { if (key !== 'hideButton') { formData.append(key, value); } //formData.append(key, value); }); let request = { headers: { "Accept": "application/json" }, body: formData, method: "POST" }; let pageUrlParams = new URLSearchParams(window.location.search); if (pageUrlParams.has('t')) { request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t'); } const response = await fetch('https://mapasdalulu.activehosted.com/proc.php?jsonp=true', request); return response.json(); } if (formSupportsPost) { submitForm().then((data) => { eval(data.js); }); } else { _load_script('https://mapasdalulu.activehosted.com/proc.php?' + serialized + '&jsonp=true', null, true); } } return false; }; addEvent(form_to_submit, 'submit', form_submit); })();