Contato
[et_pb_section fb_built="1" fullwidth="on" admin_label="Header" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"] 01 · CABEÇALHO — só HTML ═══════════════════════════════════════════════════════════════ -->
[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Hero" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"] 02 · HERO — só HTML ═══════════════════════════════════════════════════════════════ -->
Contato Fale com quem entende de notificação. Dúvidas sobre planos, volume, integração ou uma notificação já enviada. Escolha o canal que preferir — ou mande sua mensagem pelo formulário abaixo. Resposta em até 1 dia útil Atendimento humano Desde 2014
[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Canais" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"] 03 · CANAIS DE ATENDIMENTO — só HTML Layout em duas colunas: cards empilhados à esquerda, título à direita. O título vem ANTES dos cards aqui no HTML de propósito — no mobile o grid vira uma coluna só e a ordem de leitura passa a ser a do código. No desktop o CSS joga o título para a coluna 2. Dados conferidos na página /contato publicada e no rodapé da Home: · comercial contato@ar-online.com.br · suporte suporte@ar-online.com.br · telefone +55 (11) 4200-7766 · WhatsApp 5527995753040 (o mesmo do resto do site) O card do WhatsApp tem .js-open-wa: em vez de abrir o wa.me numa aba nova, ele aciona o widget flutuante do site (módulo 06). O href continua ali como fallback, para o caso de o widget não carregar. ⚠ A página /contato antiga mostra outro WhatsApp: 11 91613-2643. Aqui está o número que o site novo usa em todos os CTAs. Se o certo for o outro, troque nos dois lugares — o link e o texto. ═══════════════════════════════════════════════════════════════ -->
Escolha por onde falar com a gente. Comercial e suporte têm filas separadas. Falar direto com a área certa costuma encurtar bastante a resposta.
target="_blank" rel="noopener noreferrer"> WhatsApp (27) 99575-3040 Para dúvidas rápidas e orçamento por volume Telefone +55 (11) 4200-7766 Dias úteis, das 9h às 18h Comercial contato@ar-online.com.br Planos, propostas e contratos Suporte suporte@ar-online.com.br Envios, comprovantes e uso da plataforma
[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Form" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"] 04 · FORMULÁRIO (MAUTIC) + DADOS DA EMPRESA — variante 2 Depende do CSS (00) e do JS (06). Use ESTE arquivo OU o 04-formulario.txt — nunca os dois na mesma página. Esta variante troca o formulário próprio pelo formulário 60 do Mautic (dom360), que já grava o lead direto no CRM. Não depende de WEBHOOK_CONTATO. COMO O SCRIPT FUNCIONA O generate.js injeta o formulário logo DEPOIS da própria tag (document.currentScript + insertAdjacentHTML). Por isso a<!-- [et_pb_line_break_holder] --> tag fica exatamente onde o formulário deve aparecer: dentro do<!-- [et_pb_line_break_holder] --> .form-card.<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> ⚠ Se um plugin de otimização (WP Rocket, LiteSpeed, Autoptimize…)<!-- [et_pb_line_break_holder] --> estiver adiando ou juntando os JS, o document.currentScript vira<!-- [et_pb_line_break_holder] --> null e o formulário simplesmente não aparece. Nesse caso, exclua<!-- [et_pb_line_break_holder] --> "mktaremail.dom360.com.br" das otimizações de JS.<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> VISUAL<!-- [et_pb_line_break_holder] --> Fica no <style> logo abaixo, neste mesmo módulo — trocar só este<!-- [et_pb_line_break_holder] --> módulo no Divi já traz o visual junto. Usa as variáveis de cor e<!-- [et_pb_line_break_holder] --> as classes .form-card/.section-head do CSS da página (00), que já<!-- [et_pb_line_break_holder] --> está publicado. Os campos do Mautic chegam com estilo inline<!-- [et_pb_line_break_holder] --> (fundo branco, botão em Arial); estilo inline só é vencido com<!-- [et_pb_line_break_holder] --> !important, daí o !important em quase tudo.<!-- [et_pb_line_break_holder] --> ═══════════════════════════════════════════════════════════════ --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><style><!-- [et_pb_line_break_holder] -->/* ───────────────────────────────────────────────────────────────────<!-- [et_pb_line_break_holder] --> VISUAL DO FORMULÁRIO DO MAUTIC — mora neste módulo<!-- [et_pb_line_break_holder] --> Tudo escopado em .mautic-card para não vazar para outros forms.<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> Por que tanto !important: o Mautic injeta estilo INLINE nos campos<!-- [et_pb_line_break_holder] --> (background-color:white, font-weight:normal) e no botão<!-- [et_pb_line_break_holder] --> (fundo #ffce00, Arial, raio 60px). Estilo inline vence qualquer<!-- [et_pb_line_break_holder] --> folha de estilo — exceto uma declaração com !important.<!-- [et_pb_line_break_holder] --> ─────────────────────────────────────────────────────────────────── */<!-- [et_pb_line_break_holder] -->/* color-scheme:dark faz o navegador desenhar os controles nativos<!-- [et_pb_line_break_holder] --> (checkbox e rádio desmarcados, alça de redimensionar do textarea)<!-- [et_pb_line_break_holder] --> na versão escura — sem isso eles apareciam como quadrados brancos<!-- [et_pb_line_break_holder] --> sobre o card escuro. */<!-- [et_pb_line_break_holder] -->.mautic-card{color-scheme:dark}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform_wrapper{max-width:none !important;margin:0 !important}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->/* nome + sobrenome e celular + e-mail lado a lado; o resto ocupa a<!-- [et_pb_line_break_holder] --> linha inteira */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-page-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-row{grid-column:1 / -1;min-width:0;margin:0 0 18px !important}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-field-1,.mautic-card .mauticform-field-2,<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-field-3,.mautic-card .mauticform-field-4{grid-column:auto}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-button-wrapper{grid-column:1 / -1;margin:4px 0 0 !important}<!-- [et_pb_line_break_holder] -->/* linha do reCAPTCHA: o selo aparece dentro dela, então precisa de<!-- [et_pb_line_break_holder] --> folga antes do botão — com margin 0 o quadro encostava nele */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-div-wrapper{margin:0 0 14px !important}<!-- [et_pb_line_break_holder] -->@media(max-width:560px){.mautic-card .mauticform-page-wrapper{grid-template-columns:1fr}}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->/* campos — mesmos valores do .text-input deste site */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-input,<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-textarea{<!-- [et_pb_line_break_holder] --> width:100% !important;margin:0 !important;padding:13px 15px !important;<!-- [et_pb_line_break_holder] --> border:1px solid var(--line) !important;border-radius:10px !important;<!-- [et_pb_line_break_holder] --> background:var(--paper) !important;background-color:var(--paper) !important;<!-- [et_pb_line_break_holder] --> color:var(--ink) !important;box-shadow:none !important;box-sizing:border-box !important;<!-- [et_pb_line_break_holder] --> font-family:Poppins,"Segoe UI",system-ui,sans-serif !important;<!-- [et_pb_line_break_holder] --> font-size:16px !important;font-weight:400 !important;line-height:1.4 !important;<!-- [et_pb_line_break_holder] --> transition:border-color .15s ease;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->/* 16px nos campos evita o zoom automático do Safari no iPhone */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-textarea{min-height:130px !important;resize:vertical}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-input::placeholder,<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-textarea::placeholder{color:var(--ink-3) !important;opacity:1}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-input:hover,<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-textarea:hover{border-color:#34496A !important}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-input:focus-visible,<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-textarea:focus-visible{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--gold) !important}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->/* rótulos */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-label{<!-- [et_pb_line_break_holder] --> display:block;margin:0 0 10px !important;<!-- [et_pb_line_break_holder] --> font-size:14.5px !important;font-weight:600 !important;color:var(--ink) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-row.mauticform-required .mauticform-label:after{color:var(--gold-deep) !important}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->/* "Estou entrando em contato pois" — opções viram pílulas.<!-- [et_pb_line_break_holder] --> O rádio nativo continua lá (acessível, navegável por teclado), só<!-- [et_pb_line_break_holder] --> ganha a cor da marca via accent-color. */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp{display:flex !important;flex-wrap:wrap;gap:10px}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp > .mauticform-label,<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp > .mauticform-errormsg{flex:0 0 100%}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp > .mauticform-label{margin-bottom:0 !important}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp-row{<!-- [et_pb_line_break_holder] --> display:flex;align-items:center;gap:9px;margin:0 !important;<!-- [et_pb_line_break_holder] --> padding:9px 16px 9px 13px;border:1px solid var(--line);border-radius:99px;<!-- [et_pb_line_break_holder] --> background:var(--paper);transition:border-color .15s ease,background .15s ease;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp-row:hover{border-color:rgba(251,186,0,.45)}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp-row:has(input:checked){border-color:var(--gold);background:var(--gold-soft)}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp-radio{accent-color:var(--gold);width:16px;height:16px;margin:0 !important;flex:none;cursor:pointer}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp-radio:focus-visible{outline:3px solid var(--gold);outline-offset:2px}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp-label{<!-- [et_pb_line_break_holder] --> margin:0 !important;cursor:pointer;<!-- [et_pb_line_break_holder] --> font-size:14.5px !important;font-weight:500 !important;color:var(--ink-2) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-radiogrp-row:has(input:checked) .mauticform-radiogrp-label{color:var(--ink) !important}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->/* aceite de LGPD */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-checkboxgrp-row{display:flex;align-items:flex-start;gap:10px}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-checkboxgrp-checkbox{accent-color:var(--gold);width:17px;height:17px;margin:3px 0 0 !important;flex:none;cursor:pointer}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-checkboxgrp-label{<!-- [et_pb_line_break_holder] --> display:block !important;margin:0 !important;cursor:pointer;<!-- [et_pb_line_break_holder] --> font-size:13px !important;line-height:1.6 !important;font-weight:400 !important;color:var(--ink-3) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-checkboxgrp-label a{color:var(--blue) !important}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->/* erros por campo */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-errormsg{color:#F3B7B7 !important;font-size:13px;margin-top:6px}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-has-error .mauticform-input,<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-has-error .mauticform-textarea{border-color:rgba(226,90,90,.75) !important}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->/* retorno geral do envio — mesma aparência do .form-msg deste site */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-error:empty,<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-message:empty{display:none}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-error:not(:empty),<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-message:not(:empty){<!-- [et_pb_line_break_holder] --> margin:0 0 18px !important;padding:13px 15px;border-radius:10px;font-size:14.5px;line-height:1.6;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-error:not(:empty){background:rgba(226,90,90,.12);border:1px solid rgba(226,90,90,.4);color:#F3B7B7 !important}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-message:not(:empty){background:rgba(76,191,136,.12);border:1px solid rgba(76,191,136,.4);color:#A9E4C7 !important}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->/* botão — igual ao .btn-gold do site.<!-- [et_pb_line_break_holder] --> display:block (e não flex) é obrigatório: ::first-letter não se<!-- [et_pb_line_break_holder] --> aplica a contêiner flex, e é ele que transforma o "ENVIAR MENSAGEM"<!-- [et_pb_line_break_holder] --> em caixa alta do Mautic no "Enviar mensagem" usado no resto do site. */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-button{<!-- [et_pb_line_break_holder] --> display:block !important;width:100% !important;<!-- [et_pb_line_break_holder] --> padding:14px 24px !important;border:1.5px solid var(--gold) !important;border-radius:10px !important;<!-- [et_pb_line_break_holder] --> background:var(--gold) !important;background-color:var(--gold) !important;color:#103B60 !important;<!-- [et_pb_line_break_holder] --> font-family:Poppins,"Segoe UI",system-ui,sans-serif !important;<!-- [et_pb_line_break_holder] --> font-size:15.5px !important;font-weight:600 !important;line-height:1.3 !important;<!-- [et_pb_line_break_holder] --> text-align:center;text-transform:lowercase;white-space:nowrap;cursor:pointer;<!-- [et_pb_line_break_holder] --> transition:transform .15s ease,box-shadow .15s ease;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-button::first-letter{text-transform:uppercase}<!-- [et_pb_line_break_holder] -->/* seta igual à dos outros botões do site, desenhada com máscara SVG */<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-button::after{<!-- [et_pb_line_break_holder] --> content:"";display:inline-block;width:18px;height:18px;margin-left:9px;vertical-align:-4px;<!-- [et_pb_line_break_holder] --> background:currentColor;<!-- [et_pb_line_break_holder] --> -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;<!-- [et_pb_line_break_holder] --> mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(251,186,0,.35)}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}<!-- [et_pb_line_break_holder] -->.mautic-card .mauticform-button[disabled]{opacity:.6 !important;cursor:not-allowed;transform:none;box-shadow:none}<!-- [et_pb_line_break_holder] --></style><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Sem padding-top:0 aqui.<!-- [et_pb_line_break_holder] --> Copiei esse padrão da Home, mas lá ele existe porque a seção<!-- [et_pb_line_break_holder] --> anterior tem o MESMO fundo navy e as duas leem como um bloco só.<!-- [et_pb_line_break_holder] --> Aqui o fundo muda (navy -> paper) bem nesta borda: com 0, o<!-- [et_pb_line_break_holder] --> "ATENDIMENTO" da coluna direita encostava na troca de cor. --><!-- [et_pb_line_break_holder] --><section id="formulario" data-audit="Formulário"><!-- [et_pb_line_break_holder] -->
Mande sua mensagem. Respondemos em até 1 dia útil, no e-mail que você informar.
da tag do script. O aceite de LGPD já vem nele — por isso não há parágrafo de privacidade próprio neste módulo. -->
<!-- [et_pb_line_break_holder] --> /* Os campos ocultos de UTM e URL do formulário chegam VAZIOS —<!-- [et_pb_line_break_holder] --> o Mautic não os preenche sozinho. Sem isto o lead entra no CRM<!-- [et_pb_line_break_holder] --> sem origem. Ordem de busca: URL da página, depois o que ficou<!-- [et_pb_line_break_holder] --> guardado na sessão (quem chegou por anúncio e navegou até aqui<!-- [et_pb_line_break_holder] --> já não tem a UTM na URL).<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> Roda logo depois do generate.js, quando o formulário já<!-- [et_pb_line_break_holder] --> existe; se não existir ainda, tenta de novo no DOMContentLoaded. */<!-- [et_pb_line_break_holder] --> (function(){<!-- [et_pb_line_break_holder] --> var ID = 'paginadecontatosite';<!-- [et_pb_line_break_holder] --> var KEYS = ['utm_source','utm_medium','utm_campaign','utm_content'];<!-- [et_pb_line_break_holder] --> function campo(nome){ return document.getElementById('mauticform_input_' + ID + '_' + nome); }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function preencher(){<!-- [et_pb_line_break_holder] --> if(!document.getElementById('mauticform_' + ID)) return false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var url = new URLSearchParams(window.location.search), salvo = {};<!-- [et_pb_line_break_holder] --> try{ salvo = JSON.parse(sessionStorage.getItem('arOnlineUtms') || '{}') || {}; }catch(e){}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> KEYS.forEach(function(k){<!-- [et_pb_line_break_holder] --> var el = campo(k);<!-- [et_pb_line_break_holder] --> if(!el || el.value) return;<!-- [et_pb_line_break_holder] --> var v = url.get(k);<!-- [et_pb_line_break_holder] --> if(!v){ try{ v = sessionStorage.getItem(k); }catch(e){} }<!-- [et_pb_line_break_holder] --> if(!v) v = salvo[k];<!-- [et_pb_line_break_holder] --> if(v){<!-- [et_pb_line_break_holder] --> el.value = v;<!-- [et_pb_line_break_holder] --> try{ sessionStorage.setItem(k, v); }catch(e){}<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var u = campo('url');<!-- [et_pb_line_break_holder] --> if(u && !u.value) u.value = window.location.href.split('#')[0];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* reCAPTCHA em tema escuro. O Mautic usa o v2 de caixinha,<!-- [et_pb_line_break_holder] --> desenhado automaticamente pelo api.js do Google — que chega<!-- [et_pb_line_break_holder] --> depois deste script. Marcando data-theme aqui, antes de o<!-- [et_pb_line_break_holder] --> Google desenhar, a caixa já nasce escura em vez de branca. */<!-- [et_pb_line_break_holder] --> var rc = document.querySelector('#mauticform_' + ID + ' .g-recaptcha');<!-- [et_pb_line_break_holder] --> if(rc && !rc.hasAttribute('data-theme')) rc.setAttribute('data-theme', 'dark');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* autofill do navegador e teclado certo no celular — o<!-- [et_pb_line_break_holder] --> Mautic entrega os campos sem autocomplete nem inputmode */<!-- [et_pb_line_break_holder] --> [['nome1','given-name'],['sobrenome','family-name'],<!-- [et_pb_line_break_holder] --> ['celular','tel'],['email','email']].forEach(function(par){<!-- [et_pb_line_break_holder] --> var el = campo(par[0]);<!-- [et_pb_line_break_holder] --> if(!el) return;<!-- [et_pb_line_break_holder] --> el.setAttribute('autocomplete', par[1]);<!-- [et_pb_line_break_holder] --> if(par[0] === 'email') el.setAttribute('inputmode', 'email');<!-- [et_pb_line_break_holder] --> if(par[0] === 'celular') el.setAttribute('inputmode', 'tel');<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> return true;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> if(!preencher()) document.addEventListener('DOMContentLoaded', preencher);<!-- [et_pb_line_break_holder] --> })();<!-- [et_pb_line_break_holder] -->
Atendimento Segunda a sexta9h às 18h Sábado e domingoFechado Feriados nacionaisFechado
Endereço Rua Inácio Higino, 673, Sala 816
Praia da Costa — Vila Velha/ES
Dados da empresa AR ONLINE TECNOLOGIA LTDA
CNPJ 37.459.079/0001-23
Já é cliente? Acompanhe envios e baixe comprovantes direto no Portal do cliente.
[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Rodapé" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"] 05 · RODAPÉ — só HTML Se o rodapé do tema Divi já estiver ativo, desative-o nesta página (Configurações de Página > usar modelo "Em branco") para não duplicar. ═══════════════════════════════════════════════════════════════ -->
Notificação extrajudicial multicanal com Carimbo do Tempo ICP-Brasil. Mais de 50 milhões de ARs enviados desde 2014.
Institucional Sobre Blog Política de Privacidade Termos e Condições
Contato +55 (11) 4200-7766 contato@ar-online.com.br Portal do cliente
AR ONLINE TECNOLOGIA LTDA · CNPJ 37.459.079/0001-23 · Rua Inácio Higino, 673, Sala 816 — Praia da Costa, Vila Velha/ES Carimbo do Tempo ICP-Brasil · Selo ABES · RN 593/ANS
[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="JS Global" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"] 06 · JAVASCRIPT — COLAR NO ÚLTIMO módulo Código da página Faz funcionar: · entrada suave dos blocos (.reveal) · card do WhatsApp (.js-open-wa) abrindo o widget flutuante · validação e envio do formulário de contato · captura das UTMs junto com a mensagem ⚠ PREENCHA WEBHOOK_CONTATO ABAIXO ANTES DE PUBLICAR. ═══════════════════════════════════════════════════════════════ --><!-- [et_pb_line_break_holder] -->(function () {<!-- [et_pb_line_break_holder] --> "use strict";<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* ⚠ TROCAR pelo endpoint real do n8n antes de publicar.<!-- [et_pb_line_break_holder] --> Enquanto for este valor, o formulário não envia e avisa o<!-- [et_pb_line_break_holder] --> visitante para usar telefone, WhatsApp ou e-mail. */<!-- [et_pb_line_break_holder] --> var WEBHOOK_CONTATO = 'COLE_AQUI_O_WEBHOOK_DO_N8N';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function init(){<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* ── entrada em cascata ──<!-- [et_pb_line_break_holder] --> IntersectionObserver em vez de listener de scroll: não roda a<!-- [et_pb_line_break_holder] --> cada quadro e se desliga sozinho depois de revelar. */<!-- [et_pb_line_break_holder] --> var reduz = window.matchMedia('(prefers-reduced-motion: reduce)').matches;<!-- [et_pb_line_break_holder] --> var alvos = document.querySelectorAll('.reveal');<!-- [et_pb_line_break_holder] --> if(alvos.length){<!-- [et_pb_line_break_holder] --> if(reduz){<!-- [et_pb_line_break_holder] --> alvos.forEach(function(el){ el.classList.add('in'); });<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> var obs = new IntersectionObserver(function(entradas){<!-- [et_pb_line_break_holder] --> entradas.forEach(function(e){<!-- [et_pb_line_break_holder] --> if(!e.isIntersecting) return;<!-- [et_pb_line_break_holder] --> var i = +(e.target.dataset.i || 0);<!-- [et_pb_line_break_holder] --> setTimeout(function(){ e.target.classList.add('in'); }, i * 80);<!-- [et_pb_line_break_holder] --> obs.unobserve(e.target);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }, {threshold:.15});<!-- [et_pb_line_break_holder] --> alvos.forEach(function(el, i){ el.dataset.i = i; obs.observe(el); });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* ── CTAs que abrem o popup de WhatsApp (.js-open-wa) ──────────────<!-- [et_pb_line_break_holder] --> O widget flutuante é injetado pelo WordPress, fora do Divi. Testamos<!-- [et_pb_line_break_holder] --> em ordem os seletores conhecidos do botão principal; se nenhum<!-- [et_pb_line_break_holder] --> existir (widget desativado, bloqueado por adblock, script ainda não<!-- [et_pb_line_break_holder] --> carregado), o próprio href do link — um wa.me completo — segue como<!-- [et_pb_line_break_holder] --> fallback e o clique não se perde. */<!-- [et_pb_line_break_holder] --> /* #wppMainBtn é o widget deste site — conferido no HTML de<!-- [et_pb_line_break_holder] --> /contato-v2/. Um <button> que alterna a classe .open em<!-- [et_pb_line_break_holder] --> #wppOptions. Os demais seletores cobrem plugins comuns, caso o<!-- [et_pb_line_break_holder] --> widget seja trocado um dia. */<!-- [et_pb_line_break_holder] --> var WA_SELECTORS = [<!-- [et_pb_line_break_holder] --> "#wppMainBtn",<!-- [et_pb_line_break_holder] --> ".wpp-main-btn", ".wpp-btn-main", "#wpp-main-btn",<!-- [et_pb_line_break_holder] --> ".joinchat__button", ".joinchat .joinchat__button",<!-- [et_pb_line_break_holder] --> ".chaty-main-btn", "#chaty-widget-0 .chaty-btn-wrap",<!-- [et_pb_line_break_holder] --> ".ht-ctc-chat", ".wa__button", ".wa-chat-box-toggle"<!-- [et_pb_line_break_holder] --> ];<!-- [et_pb_line_break_holder] --> function findWaWidget(){<!-- [et_pb_line_break_holder] --> for(var i = 0; i < WA_SELECTORS.length; i++){<!-- [et_pb_line_break_holder] --> var el = document.querySelector(WA_SELECTORS[i]);<!-- [et_pb_line_break_holder] --> /* offsetParent é null em elementos position:fixed — usamos<!-- [et_pb_line_break_holder] --> getClientRects() para saber se o botão está de fato na tela */<!-- [et_pb_line_break_holder] --> if(el && el.getClientRects().length) return el;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> return null;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> document.querySelectorAll(".js-open-wa").forEach(function(a){<!-- [et_pb_line_break_holder] --> a.addEventListener("click", function(e){<!-- [et_pb_line_break_holder] --> window.dataLayer = window.dataLayer || [];<!-- [et_pb_line_break_holder] --> window.dataLayer.push({<!-- [et_pb_line_break_holder] --> event: "abrir_whatsapp",<!-- [et_pb_line_break_holder] --> origem: a.getAttribute("data-qual") || "",<!-- [et_pb_line_break_holder] --> rotulo: (a.textContent || "").trim().slice(0, 60)<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> var w = findWaWidget();<!-- [et_pb_line_break_holder] --> if(!w) return; /* sem widget: usa o href wa.me */<!-- [et_pb_line_break_holder] --> e.preventDefault();<!-- [et_pb_line_break_holder] --> /* stopPropagation é obrigatório: o widget fecha o popup quando um<!-- [et_pb_line_break_holder] --> clique chega ao document vindo de fora dele. Sem esta linha, o<!-- [et_pb_line_break_holder] --> próprio clique que abre o popup continua subindo, o widget<!-- [et_pb_line_break_holder] --> entende como "clicou fora" e fecha na mesma hora — parecia que<!-- [et_pb_line_break_holder] --> o botão não fazia nada. */<!-- [et_pb_line_break_holder] --> e.stopPropagation();<!-- [et_pb_line_break_holder] --> /* O widget do site é um TOGGLE: se o painel já estiver aberto,<!-- [et_pb_line_break_holder] --> um novo clique fecharia em vez de abrir. */<!-- [et_pb_line_break_holder] --> var painel = document.getElementById("wppOptions");<!-- [et_pb_line_break_holder] --> if(painel && painel.classList.contains("open")) return;<!-- [et_pb_line_break_holder] --> var target = w.matches("a,button") ? w : (w.querySelector("a,button") || w);<!-- [et_pb_line_break_holder] --> target.click();<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* ── formulário ── */<!-- [et_pb_line_break_holder] --> var form = document.getElementById('form-contato');<!-- [et_pb_line_break_holder] --> if(!form) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var btn = document.getElementById('btn-enviar');<!-- [et_pb_line_break_holder] --> var btnHTML = btn.innerHTML;<!-- [et_pb_line_break_holder] --> var msg = document.getElementById('form-msg');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* guarda as UTMs da sessão: quem chega por anúncio e navega até<!-- [et_pb_line_break_holder] --> /contato antes de escrever perderia a origem sem isto */<!-- [et_pb_line_break_holder] --> (function(){<!-- [et_pb_line_break_holder] --> var p = new URLSearchParams(window.location.search);<!-- [et_pb_line_break_holder] --> ['utm_source','utm_medium','utm_campaign','utm_content','utm_term','utm_id','gclid','fbclid']<!-- [et_pb_line_break_holder] --> .forEach(function(k){<!-- [et_pb_line_break_holder] --> var v = p.get(k);<!-- [et_pb_line_break_holder] --> if(v){ try{ sessionStorage.setItem(k, v); }catch(e){} }<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> })();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function getUtms(){<!-- [et_pb_line_break_holder] --> function s(k){ try{ return sessionStorage.getItem(k) || ''; }catch(e){ return ''; } }<!-- [et_pb_line_break_holder] --> return {<!-- [et_pb_line_break_holder] --> utm_source:s('utm_source'), utm_medium:s('utm_medium'), utm_campaign:s('utm_campaign'),<!-- [et_pb_line_break_holder] --> utm_content:s('utm_content'), utm_term:s('utm_term'), utm_id:s('utm_id'),<!-- [et_pb_line_break_holder] --> gclid:s('gclid'), fbclid:s('fbclid')<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function mostrar(tipo, texto){<!-- [et_pb_line_break_holder] --> msg.className = 'form-msg show ' + tipo;<!-- [et_pb_line_break_holder] --> msg.textContent = texto;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> function limpar(){<!-- [et_pb_line_break_holder] --> msg.className = 'form-msg';<!-- [et_pb_line_break_holder] --> msg.textContent = '';<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> form.addEventListener('submit', async function(e){<!-- [et_pb_line_break_holder] --> e.preventDefault();<!-- [et_pb_line_break_holder] --> limpar();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var dados = {<!-- [et_pb_line_break_holder] --> nome: document.getElementById('nome').value.trim(),<!-- [et_pb_line_break_holder] --> email: document.getElementById('email').value.trim(),<!-- [et_pb_line_break_holder] --> telefone: document.getElementById('telefone').value.trim(),<!-- [et_pb_line_break_holder] --> empresa: document.getElementById('empresa').value.trim(),<!-- [et_pb_line_break_holder] --> assunto: document.getElementById('assunto').value,<!-- [et_pb_line_break_holder] --> mensagem: document.getElementById('mensagem').value.trim()<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> if(!dados.nome || !dados.email || !dados.assunto || !dados.mensagem){<!-- [et_pb_line_break_holder] --> mostrar('erro', 'Preencha nome, e-mail, assunto e mensagem.');<!-- [et_pb_line_break_holder] --> return;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(dados.email)){<!-- [et_pb_line_break_holder] --> mostrar('erro', 'Informe um e-mail válido para podermos responder.');<!-- [et_pb_line_break_holder] --> return;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* Trava de segurança: sem endpoint configurado a mensagem se<!-- [et_pb_line_break_holder] --> perderia sem ninguém perceber. Melhor recusar e oferecer os<!-- [et_pb_line_break_holder] --> outros canais. */<!-- [et_pb_line_break_holder] --> if(WEBHOOK_CONTATO === 'COLE_AQUI_O_WEBHOOK_DO_N8N'){<!-- [et_pb_line_break_holder] --> mostrar('erro', 'O formulário está em manutenção. Fale com a gente pelo WhatsApp (27) 99575-3040, pelo telefone (11) 4200-7766 ou por contato@ar-online.com.br.');<!-- [et_pb_line_break_holder] --> return;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> btn.disabled = true;<!-- [et_pb_line_break_holder] --> btn.textContent = 'Enviando...';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> window.dataLayer = window.dataLayer || [];<!-- [et_pb_line_break_holder] --> window.dataLayer.push({event:'contato_enviado', assunto:dados.assunto});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> /* mode:'no-cors' devolve resposta opaca: não dá para ler status.<!-- [et_pb_line_break_holder] --> O catch cobre só falha de rede — por isso a confirmação abaixo<!-- [et_pb_line_break_holder] --> fala em "recebemos", sem prometer leitura do retorno. */<!-- [et_pb_line_break_holder] --> try{<!-- [et_pb_line_break_holder] --> await fetch(WEBHOOK_CONTATO, {<!-- [et_pb_line_break_holder] --> method:'POST',<!-- [et_pb_line_break_holder] --> headers:{'Content-Type':'application/json'},<!-- [et_pb_line_break_holder] --> body: JSON.stringify(Object.assign({}, dados, getUtms(), {<!-- [et_pb_line_break_holder] --> pagina: window.location.href<!-- [et_pb_line_break_holder] --> })),<!-- [et_pb_line_break_holder] --> mode:'no-cors'<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> form.reset();<!-- [et_pb_line_break_holder] --> mostrar('ok', 'Mensagem enviada. Respondemos em até 1 dia útil no e-mail informado.');<!-- [et_pb_line_break_holder] --> }catch(_){<!-- [et_pb_line_break_holder] --> mostrar('erro', 'Não conseguimos enviar agora. Tente de novo ou fale pelo WhatsApp (27) 99575-3040.');<!-- [et_pb_line_break_holder] --> }finally{<!-- [et_pb_line_break_holder] --> btn.disabled = false;<!-- [et_pb_line_break_holder] --> btn.innerHTML = btnHTML;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> if(document.readyState === 'loading'){<!-- [et_pb_line_break_holder] --> document.addEventListener('DOMContentLoaded', init);<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> init();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] -->[/et_pb_fullwidth_code][/et_pb_section]
