protese.php
Arquivo público de prótese capilar presente no pacote do sistema. O código abaixo é a cópia integral do arquivo enviado.
Arquivo público de prótese capilar presente no pacote do sistema. O código abaixo é a cópia integral do arquivo enviado.
Fonte conferida: protese.php
SHA-256: 1ca0d582fa0acffe726aeb2c9e62b546a3be4561c9dc5aff90512d2d4842487e
Dependências extraídas do arquivo:
Include: $_SERVER['DOCUMENT_ROOT'] . '/sistema/conexao.php'Include: __DIR__ . '/security.php'Include: $___recaptcha_fileTabela: site_carrosselTabela: foto_adminTabela: comentarios
Bytes inválidos em UTF-8 são exibidos como \xNN, sem alterar o arquivo original.
Página pública
Página pública
4228
| Linha | Código | Explicação técnica |
|---|---|---|
| 1 | <?php | Abre um bloco PHP executado no servidor. |
| 2 | ini_set('display_errors', 0); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3 | ini_set('display_startup_errors', 0); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4 | error_reporting(E_ALL); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 5 | Linha em branco usada para separar blocos do arquivo. | |
| 6 | if (!headers_sent() && !ob_get_level()) { | Avalia a condição escrita nesta linha. |
| 7 | if (extension_loaded('zlib') && !ini_get('zlib.output_compression')) { | Avalia a condição escrita nesta linha. |
| 8 | ob_start('ob_gzhandler'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 9 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 10 | ob_start(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 11 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 12 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 13 | Linha em branco usada para separar blocos do arquivo. | |
| 14 | /* ============================================================ | Comentário existente no código-fonte. |
| 15 | BOOT / SEGURANÇA | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 16 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 17 | Linha em branco usada para separar blocos do arquivo. | |
| 18 | // Sessão com flags seguras (antes de qualquer output) | Comentário existente no código-fonte. |
| 19 | if (session_status() === PHP_SESSION_NONE) { | Avalia a condição escrita nesta linha. |
| 20 | $secure = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'); | Atribui o valor ou resultado exibido à variável. |
| 21 | session_set_cookie_params([ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 22 | 'lifetime' => 0, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 23 | 'path' => '/', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 24 | 'domain' => $_SERVER['HTTP_HOST'] ?? '', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 25 | 'secure' => $secure, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 26 | 'httponly' => true, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 27 | 'samesite' => 'Lax', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 28 | ]); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 29 | @session_start(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 30 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 31 | Linha em branco usada para separar blocos do arquivo. | |
| 32 | // Headers de segurança | Comentário existente no código-fonte. |
| 33 | header('Content-Type: text/html; charset=UTF-8'); | Define um cabeçalho HTTP. |
| 34 | header('X-Content-Type-Options: nosniff'); | Define um cabeçalho HTTP. |
| 35 | header('X-Frame-Options: SAMEORIGIN'); | Define um cabeçalho HTTP. |
| 36 | header('Referrer-Policy: strict-origin-when-cross-origin'); | Define um cabeçalho HTTP. |
| 37 | header('Permissions-Policy: geolocation=(), microphone=(), camera=()'); | Define um cabeçalho HTTP. |
| 38 | Linha em branco usada para separar blocos do arquivo. | |
| 39 | if (!headers_sent()) { | Avalia a condição escrita nesta linha. |
| 40 | if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') { | Avalia a condição escrita nesta linha. |
| 41 | header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload'); | Define um cabeçalho HTTP. |
| 42 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 43 | Linha em branco usada para separar blocos do arquivo. | |
| 44 | $csp = [ | Atribui o valor ou resultado exibido à variável. |
| 45 | "default-src 'self'", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 46 | "base-uri 'self'", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 47 | "form-action 'self'", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 48 | "frame-ancestors 'self'", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 49 | "upgrade-insecure-requests", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 50 | "img-src 'self' data: https: i.ytimg.com s.ytimg.com", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 51 | "script-src 'self' 'unsafe-inline' https://www.youtube.com https://www.youtube-nocookie.com https://www.google.com https://www.gstatic.com https://s.ytimg.com https://code.jquery.com https://cdn.jsdelivr.net https://cdnjs.cloudflare.com https://www.googletagmanager.com https://www.google-analytics.com", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 52 | "style-src 'self' 'unsafe-inline'", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 53 | "frame-src https://www.youtube.com https://www.youtube-nocookie.com https://www.google.com", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 54 | "connect-src 'self' https://www.youtube.com https://www.google.com https://www.gstatic.com https://i.ytimg.com https://s.ytimg.com https://*.googlevideo.com https://www.googletagmanager.com https://www.google-analytics.com", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 55 | "media-src 'self' https: blob: https://*.googlevideo.com", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 56 | "font-src 'self' data: https:" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 57 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 58 | Linha em branco usada para separar blocos do arquivo. | |
| 59 | header('Content-Security-Policy: ' . implode('; ', $csp)); | Define um cabeçalho HTTP. |
| 60 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 61 | Linha em branco usada para separar blocos do arquivo. | |
| 62 | /* ============================================================ | Comentário existente no código-fonte. |
| 63 | CONEXÃO | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 64 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 65 | $pdo = null; | Atribui o valor ou resultado exibido à variável. |
| 66 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 67 | require_once $_SERVER['DOCUMENT_ROOT'] . '/sistema/conexao.php'; | Carrega o arquivo ou a dependência indicada na própria linha. |
| 68 | } catch (Throwable $e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 69 | $pdo = null; | Atribui o valor ou resultado exibido à variável. |
| 70 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 71 | require_once __DIR__ . '/security.php'; | Carrega o arquivo ou a dependência indicada na própria linha. |
| 72 | Linha em branco usada para separar blocos do arquivo. | |
| 73 | /* ============================================================ | Comentário existente no código-fonte. |
| 74 | HELPERS | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 75 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 76 | function h($v) { return htmlspecialchars((string)$v, ENT_QUOTES, 'UTF-8'); } | Declara a função e os parâmetros mostrados. |
| 77 | function d($s) { return preg_replace('/\D+/', '', (string)$s); } | Declara a função e os parâmetros mostrados. |
| 78 | Linha em branco usada para separar blocos do arquivo. | |
| 79 | function money_br($v) { | Declara a função e os parâmetros mostrados. |
| 80 | if ($v === null || $v === '') return ''; | Avalia a condição escrita nesta linha. |
| 81 | if (is_string($v) && preg_match('/^\d+(?:[.,]\d+)?$/', $v)) { | Avalia a condição escrita nesta linha. |
| 82 | $v = str_replace(',', '.', $v); | Atribui o valor ou resultado exibido à variável. |
| 83 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 84 | return 'R$ ' . number_format((float)$v, 2, ',', '.'); | Retorna o valor indicado pela linha. |
| 85 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 86 | Linha em branco usada para separar blocos do arquivo. | |
| 87 | function table_exists(?PDO $pdo, $t) { | Declara a função e os parâmetros mostrados. |
| 88 | if (!$pdo) return false; | Avalia a condição escrita nesta linha. |
| 89 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 90 | $st = $pdo->prepare('SHOW TABLES LIKE :t'); | Prepara uma instrução SQL com PDO. |
| 91 | $st->execute([':t' => $t]); | Executa a instrução preparada. |
| 92 | return (bool)$st->fetch(PDO::FETCH_NUM); | Retorna o valor indicado pela linha. |
| 93 | } catch (Throwable $e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 94 | return false; | Retorna o valor indicado pela linha. |
| 95 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 96 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 97 | Linha em branco usada para separar blocos do arquivo. | |
| 98 | function col_exists(PDO $pdo, $t, $c) { | Declara a função e os parâmetros mostrados. |
| 99 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 100 | $st = $pdo->prepare("SHOW COLUMNS FROM `$t` LIKE :c"); | Prepara uma instrução SQL com PDO. |
| 101 | $st->execute([':c' => $c]); | Executa a instrução preparada. |
| 102 | return (bool)$st->fetch(PDO::FETCH_ASSOC); | Retorna o valor indicado pela linha. |
| 103 | } catch (Throwable $e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 104 | return false; | Retorna o valor indicado pela linha. |
| 105 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 106 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 107 | Linha em branco usada para separar blocos do arquivo. | |
| 108 | function coalesce_expr(PDO $pdo, $t, $cands, $alias) { | Declara a função e os parâmetros mostrados. |
| 109 | $cands = (array)$cands; | Atribui o valor ou resultado exibido à variável. |
| 110 | $ok = []; | Atribui o valor ou resultado exibido à variável. |
| 111 | foreach ($cands as $c) { | Controla uma repetição conforme a expressão exibida. |
| 112 | if (col_exists($pdo, $t, $c)) $ok[] = $c; | Avalia a condição escrita nesta linha. |
| 113 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 114 | Linha em branco usada para separar blocos do arquivo. | |
| 115 | if (!empty($ok)) { | Avalia a condição escrita nesta linha. |
| 116 | $parts = []; | Atribui o valor ou resultado exibido à variável. |
| 117 | foreach ($ok as $c) { | Controla uma repetição conforme a expressão exibida. |
| 118 | $c = str_replace('`', '', $c); | Atribui o valor ou resultado exibido à variável. |
| 119 | $parts[] = '`' . $c . '`'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 120 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 121 | $cols = implode(',', $parts); | Atribui o valor ou resultado exibido à variável. |
| 122 | return "COALESCE($cols) AS $alias"; | Retorna o valor indicado pela linha. |
| 123 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 124 | Linha em branco usada para separar blocos do arquivo. | |
| 125 | return "NULL AS $alias"; | Retorna o valor indicado pela linha. |
| 126 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 127 | Linha em branco usada para separar blocos do arquivo. | |
| 128 | function official_agenda_link(): string { | Declara a função e os parâmetros mostrados. |
| 129 | return '/agendamentos/'; | Retorna o valor indicado pela linha. |
| 130 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 131 | Linha em branco usada para separar blocos do arquivo. | |
| 132 | function normalize_agenda_link(string $url): string { | Declara a função e os parâmetros mostrados. |
| 133 | $url = trim($url); | Atribui o valor ou resultado exibido à variável. |
| 134 | if ($url === '') return official_agenda_link(); | Avalia a condição escrita nesta linha. |
| 135 | Linha em branco usada para separar blocos do arquivo. | |
| 136 | $normalized = rtrim(strtolower($url), '/'); | Atribui o valor ou resultado exibido à variável. |
| 137 | $agendaAliases = [ | Atribui o valor ou resultado exibido à variável. |
| 138 | '/agendamentos', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 139 | 'agendamentos', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 140 | 'https://jacycabeleireiro.com/agendamentos', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 141 | 'http://jacycabeleireiro.com/agendamentos', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 142 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 143 | Linha em branco usada para separar blocos do arquivo. | |
| 144 | if (in_array($normalized, $agendaAliases, true)) { | Avalia a condição escrita nesta linha. |
| 145 | return official_agenda_link(); | Retorna o valor indicado pela linha. |
| 146 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 147 | Linha em branco usada para separar blocos do arquivo. | |
| 148 | return $url; | Retorna o valor indicado pela linha. |
| 149 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 150 | Linha em branco usada para separar blocos do arquivo. | |
| 151 | function canonical_link($u) { | Declara a função e os parâmetros mostrados. |
| 152 | $u = trim((string)$u); | Atribui o valor ou resultado exibido à variável. |
| 153 | if ($u === '' || $u === '#') return ''; | Avalia a condição escrita nesta linha. |
| 154 | Linha em branco usada para separar blocos do arquivo. | |
| 155 | if (preg_match('#^(https?:)?//#i', $u)) return normalize_agenda_link($u); | Avalia a condição escrita nesta linha. |
| 156 | if ($u[0] === '/') return normalize_agenda_link($u); | Avalia a condição escrita nesta linha. |
| 157 | if (preg_match('/^[\w.-]+\.[a-z]{2,}(\/.*)?$/i', $u)) return normalize_agenda_link('https://' . $u); | Avalia a condição escrita nesta linha. |
| 158 | Linha em branco usada para separar blocos do arquivo. | |
| 159 | return normalize_agenda_link('/' . ltrim($u, '/')); | Retorna o valor indicado pela linha. |
| 160 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 161 | Linha em branco usada para separar blocos do arquivo. | |
| 162 | function yt_id(string $urlOrId): string { | Declara a função e os parâmetros mostrados. |
| 163 | $u = trim($urlOrId); | Atribui o valor ou resultado exibido à variável. |
| 164 | if ($u === '') return ''; | Avalia a condição escrita nesta linha. |
| 165 | Linha em branco usada para separar blocos do arquivo. | |
| 166 | if (preg_match('~^(?:https?://)?(?:www\.)?(?:youtube\.com/(?:watch\?v=|embed/)|youtu\.be/)([A-Za-z0-9_-]{6,})~i', $u, $m)) { | Avalia a condição escrita nesta linha. |
| 167 | return $m[1]; | Retorna o valor indicado pela linha. |
| 168 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 169 | Linha em branco usada para separar blocos do arquivo. | |
| 170 | if (preg_match('~^[A-Za-z0-9_-]{6,}$~', $u)) return $u; | Avalia a condição escrita nesta linha. |
| 171 | return ''; | Retorna o valor indicado pela linha. |
| 172 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 173 | Linha em branco usada para separar blocos do arquivo. | |
| 174 | function fix_path(string $raw): string { | Declara a função e os parâmetros mostrados. |
| 175 | $raw = trim($raw); | Atribui o valor ou resultado exibido à variável. |
| 176 | if ($raw === '' || $raw === '#') return ''; | Avalia a condição escrita nesta linha. |
| 177 | if (preg_match('#^(?:https?:)?//#i', $raw) || strncmp($raw, 'data:', 5) === 0) return $raw; | Avalia a condição escrita nesta linha. |
| 178 | if ($raw[0] === '/') return $raw; | Avalia a condição escrita nesta linha. |
| 179 | Linha em branco usada para separar blocos do arquivo. | |
| 180 | $cands = []; | Atribui o valor ou resultado exibido à variável. |
| 181 | if (preg_match('#^(paginas/|site/|uploads_)#i', $raw)) { | Avalia a condição escrita nesta linha. |
| 182 | $cands[] = '/sistema/painel/' . $raw; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 183 | $cands[] = '/' . $raw; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 184 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 185 | Linha em branco usada para separar blocos do arquivo. | |
| 186 | if (defined('UP')) $cands[] = rtrim(UP, '/') . '/' . ltrim($raw, '/'); | Avalia a condição escrita nesta linha. |
| 187 | $cands[] = '/sistema/painel/paginas/site/' . ltrim($raw, '/'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 188 | Linha em branco usada para separar blocos do arquivo. | |
| 189 | foreach ($cands as $u) { | Controla uma repetição conforme a expressão exibida. |
| 190 | $abs = $_SERVER['DOCUMENT_ROOT'] . $u; | Atribui o valor ou resultado exibido à variável. |
| 191 | if (is_file($abs)) return $u; | Avalia a condição escrita nesta linha. |
| 192 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 193 | Linha em branco usada para separar blocos do arquivo. | |
| 194 | return $cands[0] ?? '/' . $raw; | Retorna o valor indicado pela linha. |
| 195 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 196 | Linha em branco usada para separar blocos do arquivo. | |
| 197 | function resolve_media_src(string $raw): array { | Declara a função e os parâmetros mostrados. |
| 198 | $u = fix_path($raw); | Atribui o valor ou resultado exibido à variável. |
| 199 | $path = parse_url($u, PHP_URL_PATH) ?? $u; | Atribui o valor ou resultado exibido à variável. |
| 200 | $isVideo = preg_match('/\.(mp4|webm|ogg)$/i', $path); | Atribui o valor ou resultado exibido à variável. |
| 201 | return $isVideo ? ['img' => '', 'video' => $u] : ['img' => $u, 'video' => '']; | Retorna o valor indicado pela linha. |
| 202 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 203 | Linha em branco usada para separar blocos do arquivo. | |
| 204 | /* ============================================================ | Comentário existente no código-fonte. |
| 205 | SETTINGS | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 206 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 207 | function loadSettings(?PDO $pdo) { | Declara a função e os parâmetros mostrados. |
| 208 | $out = [ | Atribui o valor ou resultado exibido à variável. |
| 209 | 'site' => 'https://jacycabeleireiro.com/', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 210 | 'nome' => 'Jacy Cabeleireiro', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 211 | 'descricao' => 'Cortes, prótese capilar, mechas e escovas com técnica e acabamento profissional.', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 212 | 'whatsapp' => '5545999882100', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 213 | 'telefone' => '(45) 99988-2100', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 214 | 'email' => 'jacycordeiro1@gmail.com', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 215 | 'endereco' => 'Rio Grande do Sul, 2151 - Cascavel/PR', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 216 | 'uploads' => '/sistema/painel/paginas/site/uploads_banners', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 217 | 'logo_png' => '/sistema/img/logo.png', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 218 | 'logo_webp' => '/sistema/img/logo.webp', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 219 | 'agenda_url' => official_agenda_link(), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 220 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 221 | Linha em branco usada para separar blocos do arquivo. | |
| 222 | if (!$pdo) return $out; | Avalia a condição escrita nesta linha. |
| 223 | Linha em branco usada para separar blocos do arquivo. | |
| 224 | $tabs = ['site_config', 'configuracoes', 'empresa', 'institucional', 'config_site', 'settings', 'config']; | Atribui o valor ou resultado exibido à variável. |
| 225 | foreach ($tabs as $t) { | Controla uma repetição conforme a expressão exibida. |
| 226 | if (!table_exists($pdo, $t)) continue; | Avalia a condição escrita nesta linha. |
| 227 | Linha em branco usada para separar blocos do arquivo. | |
| 228 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 229 | $nome = coalesce_expr($pdo, $t, ['nome', 'titulo', 'razao_social', 'nome_fantasia'], 'nome'); | Atribui o valor ou resultado exibido à variável. |
| 230 | $desc = coalesce_expr($pdo, $t, ['descricao', 'descricao_site', 'sobre', 'texto'], 'descricao'); | Atribui o valor ou resultado exibido à variável. |
| 231 | $wpp = coalesce_expr($pdo, $t, ['whatsapp', 'wpp', 'telefone2'], 'whatsapp'); | Atribui o valor ou resultado exibido à variável. |
| 232 | $tel = coalesce_expr($pdo, $t, ['telefone', 'fone'], 'telefone'); | Atribui o valor ou resultado exibido à variável. |
| 233 | $mail = coalesce_expr($pdo, $t, ['email', 'mail', 'contato'], 'email'); | Atribui o valor ou resultado exibido à variável. |
| 234 | $end = coalesce_expr($pdo, $t, ['endereco', 'endereço', 'address'], 'endereco'); | Atribui o valor ou resultado exibido à variável. |
| 235 | $logo = coalesce_expr($pdo, $t, ['logo_webp', 'logo', 'logo_png'], 'logo'); | Atribui o valor ou resultado exibido à variável. |
| 236 | $uploads = coalesce_expr($pdo, $t, ['uploads_base', 'uploads', 'upload_dir'], 'uploads'); | Atribui o valor ou resultado exibido à variável. |
| 237 | $agenda = coalesce_expr($pdo, $t, ['agenda', 'agenda_url', 'link_agenda'], 'agenda_url'); | Atribui o valor ou resultado exibido à variável. |
| 238 | $site = coalesce_expr($pdo, $t, ['site', 'url', 'dominio'], 'site'); | Atribui o valor ou resultado exibido à variável. |
| 239 | Linha em branco usada para separar blocos do arquivo. | |
| 240 | $sql = "SELECT $nome,$desc,$wpp,$tel,$mail,$end,$logo,$uploads,$agenda,$site FROM `$t` LIMIT 1"; | Atribui o valor ou resultado exibido à variável. |
| 241 | $r = $pdo->query($sql)->fetch(PDO::FETCH_ASSOC); | Executa uma consulta pelo objeto PDO. |
| 242 | Linha em branco usada para separar blocos do arquivo. | |
| 243 | if ($r) { | Avalia a condição escrita nesta linha. |
| 244 | foreach ($r as $k => $v) { | Controla uma repetição conforme a expressão exibida. |
| 245 | if ($v !== null && $v !== '') { | Avalia a condição escrita nesta linha. |
| 246 | $out[$k] = $v; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 247 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 248 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 249 | break; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 250 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 251 | } catch (Throwable $e) {} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 252 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 253 | Linha em branco usada para separar blocos do arquivo. | |
| 254 | $out['agenda_url'] = official_agenda_link(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 255 | return $out; | Retorna o valor indicado pela linha. |
| 256 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 257 | Linha em branco usada para separar blocos do arquivo. | |
| 258 | $SET = loadSettings($pdo); | Atribui o valor ou resultado exibido à variável. |
| 259 | $AGENDA_LINK = official_agenda_link(); | Atribui o valor ou resultado exibido à variável. |
| 260 | $SET['agenda_url'] = $AGENDA_LINK; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 261 | Linha em branco usada para separar blocos do arquivo. | |
| 262 | $WPP = 'https://wa.me/' . (strpos($SET['whatsapp'], '55') === 0 ? $SET['whatsapp'] : '55' . d($SET['whatsapp'])); | Atribui o valor ou resultado exibido à variável. |
| 263 | $SERVICOS_LINK = '/servicos'; | Atribui o valor ou resultado exibido à variável. |
| 264 | $BARBEIRO_LINK = '/corte-cabelo'; | Atribui o valor ou resultado exibido à variável. |
| 265 | $PRODUTOS_LINK = '/produtos'; | Atribui o valor ou resultado exibido à variável. |
| 266 | $INSTAGRAM_LINK = !empty($instagram_sistema) ? $instagram_sistema : $WPP; | Atribui o valor ou resultado exibido à variável. |
| 267 | if (!defined('UP')) define('UP', rtrim($SET['uploads'] ?? '/sistema/public/uploads/site/', '/') . '/'); | Avalia a condição escrita nesta linha. |
| 268 | Linha em branco usada para separar blocos do arquivo. | |
| 269 | /* ============================================================ | Comentário existente no código-fonte. |
| 270 | SLIDES (topo edge-to-edge) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 271 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 272 | function loadSlides(?PDO $pdo) { | Declara a função e os parâmetros mostrados. |
| 273 | $fallback = [[ | Atribui o valor ou resultado exibido à variável. |
| 274 | 'img' => UP . 'banner-1.webp', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 275 | 'video' => '', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 276 | 'titulo'=> 'Prótese Capilar Masculino', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 277 | 'texto' => 'Técnica discreta e com acabamento profissional.', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 278 | 'link' => official_agenda_link() | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 279 | ]]; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 280 | Linha em branco usada para separar blocos do arquivo. | |
| 281 | if (!$pdo) return $fallback; | Avalia a condição escrita nesta linha. |
| 282 | Linha em branco usada para separar blocos do arquivo. | |
| 283 | $table = table_exists($pdo, 'site_banners_data') ? 'site_banners_data' | Atribui o valor ou resultado exibido à variável. |
| 284 | : (table_exists($pdo, 'site_banners') ? 'site_banners' | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 285 | : (table_exists($pdo, 'arquivos') ? 'arquivos' : null)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 286 | Linha em branco usada para separar blocos do arquivo. | |
| 287 | if (!$table) return $fallback; | Avalia a condição escrita nesta linha. |
| 288 | Linha em branco usada para separar blocos do arquivo. | |
| 289 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 290 | $isData = ($table === 'site_banners_data'); | Atribui o valor ou resultado exibido à variável. |
| 291 | Linha em branco usada para separar blocos do arquivo. | |
| 292 | $midia = $isData | Atribui o valor ou resultado exibido à variável. |
| 293 | ? coalesce_expr($pdo, $table, ['arquivo', 'src', 'caminho', 'midia'], 'src') | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 294 | : coalesce_expr($pdo, $table, ['arquivo', 'src', 'caminho', 'link', 'url'], 'src'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 295 | Linha em branco usada para separar blocos do arquivo. | |
| 296 | $titulo = coalesce_expr($pdo, $table, ['titulo', 'nome', 'legenda'], 'titulo'); | Atribui o valor ou resultado exibido à variável. |
| 297 | $texto = coalesce_expr($pdo, $table, ['texto', 'descricao', 'conteudo', 'caption'], 'texto'); | Atribui o valor ou resultado exibido à variável. |
| 298 | $cta = coalesce_expr($pdo, $table, ['btn_url', 'cta_url', 'link_url', 'href', 'url', 'link', 'arquivo_url'], 'cta'); | Atribui o valor ou resultado exibido à variável. |
| 299 | $ordem = col_exists($pdo, $table, 'ordem') ? 'ordem' : (col_exists($pdo, $table, 'posicao') ? 'posicao' : 'id'); | Atribui o valor ou resultado exibido à variável. |
| 300 | Linha em branco usada para separar blocos do arquivo. | |
| 301 | $wheres = []; | Atribui o valor ou resultado exibido à variável. |
| 302 | if (col_exists($pdo, $table, 'ativo')) $wheres[] = 'COALESCE(ativo,1)=1'; | Avalia a condição escrita nesta linha. |
| 303 | if (col_exists($pdo, $table, 'registro')) $wheres[] = "registro IN ('home','site','index','banner_home')"; | Avalia a condição escrita nesta linha. |
| 304 | Linha em branco usada para separar blocos do arquivo. | |
| 305 | $sqlWhere = $wheres ? (' WHERE ' . implode(' AND ', $wheres)) : ''; | Atribui o valor ou resultado exibido à variável. |
| 306 | Linha em branco usada para separar blocos do arquivo. | |
| 307 | $rows = $pdo->query("SELECT $titulo,$texto,$midia,$cta FROM `$table` $sqlWhere ORDER BY $ordem ASC LIMIT 12") | Executa uma consulta pelo objeto PDO. |
| 308 | ->fetchAll(PDO::FETCH_ASSOC); | Lê dados retornados pela consulta. |
| 309 | Linha em branco usada para separar blocos do arquivo. | |
| 310 | $out = []; | Atribui o valor ou resultado exibido à variável. |
| 311 | foreach ($rows as $r) { | Controla uma repetição conforme a expressão exibida. |
| 312 | $src = trim((string)($r['src'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 313 | if ($src === '') continue; | Avalia a condição escrita nesta linha. |
| 314 | Linha em branco usada para separar blocos do arquivo. | |
| 315 | if (!preg_match('#^(?:https?:)?//#i', $src) && strpos($src, '/') === false) { | Avalia a condição escrita nesta linha. |
| 316 | $src = rtrim(UP, '/') . '/' . $src; | Atribui o valor ou resultado exibido à variável. |
| 317 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 318 | Linha em branco usada para separar blocos do arquivo. | |
| 319 | $media = resolve_media_src($src); | Atribui o valor ou resultado exibido à variável. |
| 320 | Linha em branco usada para separar blocos do arquivo. | |
| 321 | $out[] = [ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 322 | 'img' => $media['img'], | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 323 | 'video' => $media['video'], | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 324 | 'titulo'=> trim((string)($r['titulo'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 325 | 'texto' => trim((string)($r['texto'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 326 | 'link' => canonical_link((string)($r['cta'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 327 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 328 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 329 | Linha em branco usada para separar blocos do arquivo. | |
| 330 | return $out ?: $fallback; | Retorna o valor indicado pela linha. |
| 331 | } catch (Throwable $e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 332 | return $fallback; | Retorna o valor indicado pela linha. |
| 333 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 334 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 335 | Linha em branco usada para separar blocos do arquivo. | |
| 336 | $slides = loadSlides($pdo); | Atribui o valor ou resultado exibido à variável. |
| 337 | Linha em branco usada para separar blocos do arquivo. | |
| 338 | function jacy_fast_img_src(string $src): string { | Declara a função e os parâmetros mostrados. |
| 339 | $src = trim($src); | Atribui o valor ou resultado exibido à variável. |
| 340 | if ($src === '' || preg_match('#^(?:https?:)?//#i', $src) || strncmp($src, 'data:', 5) === 0) return $src; | Avalia a condição escrita nesta linha. |
| 341 | Linha em branco usada para separar blocos do arquivo. | |
| 342 | $path = parse_url($src, PHP_URL_PATH) ?: $src; | Atribui o valor ou resultado exibido à variável. |
| 343 | if ($path === '' || preg_match('/\.webp(?:\?.*)?$/i', $path)) return $src; | Avalia a condição escrita nesta linha. |
| 344 | if (!preg_match('/\.(jpe?g|png)$/i', $path)) return $src; | Avalia a condição escrita nesta linha. |
| 345 | Linha em branco usada para separar blocos do arquivo. | |
| 346 | $info = pathinfo($path); | Atribui o valor ou resultado exibido à variável. |
| 347 | $dir = $info['dirname'] ?? ''; | Atribui o valor ou resultado exibido à variável. |
| 348 | $filename = $info['filename'] ?? ''; | Atribui o valor ou resultado exibido à variável. |
| 349 | if ($filename === '') return $src; | Avalia a condição escrita nesta linha. |
| 350 | Linha em branco usada para separar blocos do arquivo. | |
| 351 | $mobileWebp = rtrim($dir, '/') . '/' . $filename . '-mobile.webp'; | Atribui o valor ou resultado exibido à variável. |
| 352 | $webp = rtrim($dir, '/') . '/' . $filename . '.webp'; | Atribui o valor ou resultado exibido à variável. |
| 353 | Linha em branco usada para separar blocos do arquivo. | |
| 354 | $doc = $_SERVER['DOCUMENT_ROOT'] ?? ''; | Atribui o valor ou resultado exibido à variável. |
| 355 | if ($doc !== '') { | Avalia a condição escrita nesta linha. |
| 356 | if (is_file($doc . $mobileWebp)) return $mobileWebp; | Avalia a condição escrita nesta linha. |
| 357 | if (is_file($doc . $webp)) return $webp; | Avalia a condição escrita nesta linha. |
| 358 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 359 | Linha em branco usada para separar blocos do arquivo. | |
| 360 | return $src; | Retorna o valor indicado pela linha. |
| 361 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 362 | Linha em branco usada para separar blocos do arquivo. | |
| 363 | $LCP = ''; | Atribui o valor ou resultado exibido à variável. |
| 364 | foreach ($slides as $__slide) { | Controla uma repetição conforme a expressão exibida. |
| 365 | if (!empty($__slide['img'])) { | Avalia a condição escrita nesta linha. |
| 366 | $LCP = jacy_fast_img_src((string)$__slide['img']); | Atribui o valor ou resultado exibido à variável. |
| 367 | break; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 368 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 369 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 370 | if ($LCP === '' && !empty($SET['logo_png'])) { | Avalia a condição escrita nesta linha. |
| 371 | $LCP = fix_path((string)$SET['logo_png']); | Atribui o valor ou resultado exibido à variável. |
| 372 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 373 | $LCP_POSTER = $LCP !== '' ? $LCP : '/images/favicon.png'; | Atribui o valor ou resultado exibido à variável. |
| 374 | Linha em branco usada para separar blocos do arquivo. | |
| 375 | /* ============================================================ | Comentário existente no código-fonte. |
| 376 | HERO (Agenda Seletiva, ESQ) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 377 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 378 | function loadHeroCarousel(?PDO $pdo): array { | Declara a função e os parâmetros mostrados. |
| 379 | $fallback = [ | Atribui o valor ou resultado exibido à variável. |
| 380 | ['id' => '108YeuHhaFQ', 'titulo' => '', 'subtitulo' => '', 'thumb' => 'https://img.youtube.com/vi/108YeuHhaFQ/hqdefault.jpg'], | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 381 | ['id' => '26ZB20BR0E4', 'titulo' => '', 'subtitulo' => '', 'thumb' => 'https://img.youtube.com/vi/26ZB20BR0E4/hqdefault.jpg'], | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 382 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 383 | Linha em branco usada para separar blocos do arquivo. | |
| 384 | if (!$pdo || !table_exists($pdo, 'site_carrossel')) return $fallback; | Avalia a condição escrita nesta linha. |
| 385 | Linha em branco usada para separar blocos do arquivo. | |
| 386 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 387 | $sql = "SELECT id, titulo, subtitulo, video_url, thumb, ordem, ativo | Atribui o valor ou resultado exibido à variável. |
| 388 | FROM site_carrossel | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 389 | WHERE COALESCE(ativo,1)=1 | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 390 | ORDER BY COALESCE(ordem,0), id"; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 391 | Linha em branco usada para separar blocos do arquivo. | |
| 392 | $rows = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); | Executa uma consulta pelo objeto PDO. |
| 393 | $out = []; | Atribui o valor ou resultado exibido à variável. |
| 394 | Linha em branco usada para separar blocos do arquivo. | |
| 395 | foreach ($rows as $r) { | Controla uma repetição conforme a expressão exibida. |
| 396 | $vid = yt_id((string)$r['video_url']); | Atribui o valor ou resultado exibido à variável. |
| 397 | if ($vid === '') continue; | Avalia a condição escrita nesta linha. |
| 398 | Linha em branco usada para separar blocos do arquivo. | |
| 399 | $thumb = trim((string)($r['thumb'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 400 | if ($thumb !== '') { | Avalia a condição escrita nesta linha. |
| 401 | if (!preg_match('#^(?:https?:)?//#i', $thumb) && strncmp($thumb, 'data:', 5) !== 0) { | Avalia a condição escrita nesta linha. |
| 402 | $thumbPath = parse_url($thumb, PHP_URL_PATH) ?: $thumb; | Atribui o valor ou resultado exibido à variável. |
| 403 | $thumbFile = basename($thumbPath); | Atribui o valor ou resultado exibido à variável. |
| 404 | $thumb = '/sistema/painel/paginas/site/uploads_carrossel/' . $thumbFile; | Atribui o valor ou resultado exibido à variável. |
| 405 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 406 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 407 | $thumb = "https://img.youtube.com/vi/$vid/hqdefault.jpg"; | Atribui o valor ou resultado exibido à variável. |
| 408 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 409 | Linha em branco usada para separar blocos do arquivo. | |
| 410 | $out[] = [ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 411 | 'id' => $vid, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 412 | 'thumb' => $thumb, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 413 | 'titulo' => trim((string)($r['titulo'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 414 | 'subtitulo' => trim((string)($r['subtitulo'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 415 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 416 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 417 | Linha em branco usada para separar blocos do arquivo. | |
| 418 | return $out ?: $fallback; | Retorna o valor indicado pela linha. |
| 419 | } catch (Throwable $e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 420 | return $fallback; | Retorna o valor indicado pela linha. |
| 421 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 422 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 423 | Linha em branco usada para separar blocos do arquivo. | |
| 424 | $HERO = loadHeroCarousel($pdo); | Atribui o valor ou resultado exibido à variável. |
| 425 | Linha em branco usada para separar blocos do arquivo. | |
| 426 | /* ============================================================ | Comentário existente no código-fonte. |
| 427 | SERVIÇOS | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 428 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 429 | function loadServices(?PDO $pdo): array { | Declara a função e os parâmetros mostrados. |
| 430 | if (!$pdo) return []; | Avalia a condição escrita nesta linha. |
| 431 | Linha em branco usada para separar blocos do arquivo. | |
| 432 | $cands = [ | Atribui o valor ou resultado exibido à variável. |
| 433 | ['t' => 'servicos', 'title' => ['titulo', 'nome'], 'desc' => ['descricao', 'texto', 'resumo'], 'preco' => ['preco', 'valor'], 'img' => ['capa', 'img', 'imagem', 'thumb'], 'link' => ['link', 'url', 'slug'], 'ativo' => ['ativo', 'status']], | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 434 | ['t' => 'produtos_servicos', 'title' => ['titulo', 'nome'], 'desc' => ['descricao', 'texto'], 'preco' => ['preco', 'valor'], 'img' => ['imagem', 'capa'], 'link' => ['url', 'slug'], 'ativo' => ['ativo', 'status']], | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 435 | ['t' => 'servicos_site', 'title' => ['titulo', 'nome'], 'desc' => ['descricao', 'texto'], 'preco' => ['preco', 'valor'], 'img' => ['imagem', 'capa'], 'link' => ['url', 'slug'], 'ativo' => ['ativo', 'status']], | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 436 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 437 | Linha em branco usada para separar blocos do arquivo. | |
| 438 | foreach ($cands as $c) { | Controla uma repetição conforme a expressão exibida. |
| 439 | if (!table_exists($pdo, $c['t'])) continue; | Avalia a condição escrita nesta linha. |
| 440 | Linha em branco usada para separar blocos do arquivo. | |
| 441 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 442 | $title = coalesce_expr($pdo, $c['t'], $c['title'], 'titulo'); | Atribui o valor ou resultado exibido à variável. |
| 443 | $desc = coalesce_expr($pdo, $c['t'], $c['desc'], 'descricao'); | Atribui o valor ou resultado exibido à variável. |
| 444 | $preco = coalesce_expr($pdo, $c['t'], $c['preco'], 'preco'); | Atribui o valor ou resultado exibido à variável. |
| 445 | $img = coalesce_expr($pdo, $c['t'], $c['img'], 'img'); | Atribui o valor ou resultado exibido à variável. |
| 446 | $link = coalesce_expr($pdo, $c['t'], $c['link'], 'link'); | Atribui o valor ou resultado exibido à variável. |
| 447 | Linha em branco usada para separar blocos do arquivo. | |
| 448 | $ativoCol = null; | Atribui o valor ou resultado exibido à variável. |
| 449 | foreach ($c['ativo'] as $ac) { | Controla uma repetição conforme a expressão exibida. |
| 450 | if (col_exists($pdo, $c['t'], $ac)) { | Avalia a condição escrita nesta linha. |
| 451 | $ativoCol = $ac; | Atribui o valor ou resultado exibido à variável. |
| 452 | break; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 453 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 454 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 455 | Linha em branco usada para separar blocos do arquivo. | |
| 456 | $where = $ativoCol ? "WHERE COALESCE($ativoCol,1)=1" : ""; | Atribui o valor ou resultado exibido à variável. |
| 457 | $sql = "SELECT $title,$desc,$preco,$img,$link FROM `{$c['t']}` $where ORDER BY 1 LIMIT 12"; | Atribui o valor ou resultado exibido à variável. |
| 458 | $rows = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); | Executa uma consulta pelo objeto PDO. |
| 459 | Linha em branco usada para separar blocos do arquivo. | |
| 460 | if (!$rows) continue; | Avalia a condição escrita nesta linha. |
| 461 | Linha em branco usada para separar blocos do arquivo. | |
| 462 | $out = []; | Atribui o valor ou resultado exibido à variável. |
| 463 | foreach ($rows as $r) { | Controla uma repetição conforme a expressão exibida. |
| 464 | $imgSrc = trim((string)($r['img'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 465 | if ($imgSrc === '') continue; | Avalia a condição escrita nesta linha. |
| 466 | Linha em branco usada para separar blocos do arquivo. | |
| 467 | $path = parse_url($imgSrc, PHP_URL_PATH) ?: ''; | Atribui o valor ou resultado exibido à variável. |
| 468 | $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); | Atribui o valor ou resultado exibido à variável. |
| 469 | $isImg = in_array($ext, ['jpg', 'jpeg', 'png', 'webp', 'gif'], true); | Atribui o valor ou resultado exibido à variável. |
| 470 | $isVideo = in_array($ext, ['mp4', 'webm', 'ogg'], true); | Atribui o valor ou resultado exibido à variável. |
| 471 | Linha em branco usada para separar blocos do arquivo. | |
| 472 | if (!$isImg && !$isVideo) continue; | Avalia a condição escrita nesta linha. |
| 473 | Linha em branco usada para separar blocos do arquivo. | |
| 474 | if (!preg_match('#^https?://#i', $imgSrc) && ($imgSrc[0] ?? '') !== '/') { | Avalia a condição escrita nesta linha. |
| 475 | if (preg_match('#^/?paginas/#', $imgSrc)) { | Avalia a condição escrita nesta linha. |
| 476 | $imgSrc = '/sistema/painel/' . ltrim($imgSrc, '/'); | Atribui o valor ou resultado exibido à variável. |
| 477 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 478 | $imgSrc = '/' . ltrim($imgSrc, '/'); | Atribui o valor ou resultado exibido à variável. |
| 479 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 480 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 481 | Linha em branco usada para separar blocos do arquivo. | |
| 482 | $out[] = [ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 483 | 'img' => $isImg ? $imgSrc : '', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 484 | 'video' => $isVideo ? $imgSrc : '', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 485 | 'titulo' => trim((string)($r['titulo'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 486 | 'descricao' => trim((string)($r['descricao'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 487 | 'preco' => trim((string)($r['preco'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 488 | 'link' => canonical_link((string)($r['link'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 489 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 490 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 491 | Linha em branco usada para separar blocos do arquivo. | |
| 492 | return $out; | Retorna o valor indicado pela linha. |
| 493 | } catch (Throwable $e) {} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 494 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 495 | Linha em branco usada para separar blocos do arquivo. | |
| 496 | return []; | Retorna o valor indicado pela linha. |
| 497 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 498 | Linha em branco usada para separar blocos do arquivo. | |
| 499 | $servicos = loadServices($pdo); | Atribui o valor ou resultado exibido à variável. |
| 500 | Linha em branco usada para separar blocos do arquivo. | |
| 501 | /* ============================================================ | Comentário existente no código-fonte. |
| 502 | GALERIA | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 503 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 504 | if (!function_exists('galeria_resolve_img')) { | Avalia a condição escrita nesta linha. |
| 505 | function galeria_resolve_img(string $nome): string { | Declara a função e os parâmetros mostrados. |
| 506 | $nome = trim($nome); | Atribui o valor ou resultado exibido à variável. |
| 507 | if ($nome === '') return ''; | Avalia a condição escrita nesta linha. |
| 508 | Linha em branco usada para separar blocos do arquivo. | |
| 509 | $maybe = fix_path($nome); | Atribui o valor ou resultado exibido à variável. |
| 510 | $absMaybe = $_SERVER['DOCUMENT_ROOT'] . (parse_url($maybe, PHP_URL_PATH) ?? $maybe); | Atribui o valor ou resultado exibido à variável. |
| 511 | if (is_file($absMaybe)) return (parse_url($maybe, PHP_URL_PATH) ?? $maybe); | Avalia a condição escrita nesta linha. |
| 512 | Linha em branco usada para separar blocos do arquivo. | |
| 513 | $nome = basename($nome); | Atribui o valor ou resultado exibido à variável. |
| 514 | $roots = [ | Atribui o valor ou resultado exibido à variável. |
| 515 | $_SERVER['DOCUMENT_ROOT'] . "/sistema/painel/img/foto_admin/$nome", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 516 | $_SERVER['DOCUMENT_ROOT'] . "/sistema/painel/img/fotos/$nome", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 517 | $_SERVER['DOCUMENT_ROOT'] . "/sistema/painel/img/galeria/$nome", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 518 | $_SERVER['DOCUMENT_ROOT'] . "/sistema/public/uploads/site/$nome", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 519 | $_SERVER['DOCUMENT_ROOT'] . "/sistema/img/$nome", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 520 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 521 | Linha em branco usada para separar blocos do arquivo. | |
| 522 | foreach ($roots as $abs) { | Controla uma repetição conforme a expressão exibida. |
| 523 | if (is_file($abs)) return str_replace($_SERVER['DOCUMENT_ROOT'], '', $abs); | Avalia a condição escrita nesta linha. |
| 524 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 525 | Linha em branco usada para separar blocos do arquivo. | |
| 526 | return "/sistema/painel/img/foto_admin/sem-foto.jpg"; | Retorna o valor indicado pela linha. |
| 527 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 528 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 529 | Linha em branco usada para separar blocos do arquivo. | |
| 530 | if (!function_exists('galeria_load_rows')) { | Avalia a condição escrita nesta linha. |
| 531 | function galeria_load_rows(?PDO $pdo): array { | Declara a função e os parâmetros mostrados. |
| 532 | if (!$pdo) return []; | Avalia a condição escrita nesta linha. |
| 533 | Linha em branco usada para separar blocos do arquivo. | |
| 534 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 535 | $sql = "SELECT id, titulo, imagem FROM foto_admin ORDER BY data_cad DESC, id DESC"; | Atribui o valor ou resultado exibido à variável. |
| 536 | $rows = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); | Executa uma consulta pelo objeto PDO. |
| 537 | $out = []; | Atribui o valor ou resultado exibido à variável. |
| 538 | Linha em branco usada para separar blocos do arquivo. | |
| 539 | foreach ($rows as $r) { | Controla uma repetição conforme a expressão exibida. |
| 540 | $src = galeria_resolve_img((string)($r['imagem'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 541 | if ($src !== '') { | Avalia a condição escrita nesta linha. |
| 542 | $out[] = [ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 543 | 'titulo' => trim((string)($r['titulo'] ?? '')), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 544 | 'src' => $src | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 545 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 546 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 547 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 548 | Linha em branco usada para separar blocos do arquivo. | |
| 549 | return $out; | Retorna o valor indicado pela linha. |
| 550 | } catch (Throwable $e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 551 | return []; | Retorna o valor indicado pela linha. |
| 552 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 553 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 554 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 555 | Linha em branco usada para separar blocos do arquivo. | |
| 556 | $GALERIA_ROWS = galeria_load_rows($pdo); | Atribui o valor ou resultado exibido à variável. |
| 557 | Linha em branco usada para separar blocos do arquivo. | |
| 558 | /* ============================================================ | Comentário existente no código-fonte. |
| 559 | HTML | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 560 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 561 | ?> | Fecha o bloco PHP. |
| 562 | <!doctype html> | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 563 | <html lang="pt-BR"> | Marca HTML presente na saída da página. |
| 564 | <head> | Marca HTML presente na saída da página. |
| 565 | Linha em branco usada para separar blocos do arquivo. | |
| 566 | <!-- Meta Pixel Code otimizado: carrega somente após load/interação para não travar a renderização inicial --> | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 567 | <script> | Marca HTML presente na saída da página. |
| 568 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 569 | var pixelLoaded = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 570 | function loadMetaPixel(){ | Declara a função e os parâmetros mostrados. |
| 571 | if (pixelLoaded) return; | Avalia a condição escrita nesta linha. |
| 572 | pixelLoaded = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 573 | !function(f,b,e,v,n,t,s){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 574 | if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)}; | Avalia a condição escrita nesta linha. |
| 575 | if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; | Avalia a condição escrita nesta linha. |
| 576 | n.queue=[];t=b.createElement(e);t.async=!0;t.src=v; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 577 | s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 578 | }(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 579 | fbq('init', '957398226898063'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 580 | fbq('track', 'PageView'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 581 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 582 | window.jacyLoadMetaPixel = loadMetaPixel; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 583 | window.addEventListener('load', function(){ setTimeout(loadMetaPixel, 6000); }, {once:true}); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 584 | document.addEventListener('pointerdown', loadMetaPixel, {once:true, passive:true}); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 585 | document.addEventListener('keydown', loadMetaPixel, {once:true}); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 586 | document.addEventListener('touchstart', loadMetaPixel, {once:true, passive:true}); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 587 | document.addEventListener('scroll', loadMetaPixel, {once:true, passive:true}); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 588 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 589 | </script> | Marca HTML presente na saída da página. |
| 590 | <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=957398226898063&ev=PageView&noscript=1" alt=""></noscript> | Marca HTML presente na saída da página. |
| 591 | <!-- End Meta Pixel Code otimizado --> | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 592 | Linha em branco usada para separar blocos do arquivo. | |
| 593 | <!-- Google tag (gtag.js) --> | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 594 | <link rel="dns-prefetch" href="//www.googletagmanager.com"> | Marca HTML presente na saída da página. |
| 595 | <script> | Marca HTML presente na saída da página. |
| 596 | window.dataLayer = window.dataLayer || []; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 597 | function gtag(){dataLayer.push(arguments);} | Declara a função e os parâmetros mostrados. |
| 598 | Linha em branco usada para separar blocos do arquivo. | |
| 599 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 600 | var gtagLoaded = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 601 | Linha em branco usada para separar blocos do arquivo. | |
| 602 | function loadGtag(){ | Declara a função e os parâmetros mostrados. |
| 603 | if (gtagLoaded) return; | Avalia a condição escrita nesta linha. |
| 604 | gtagLoaded = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 605 | Linha em branco usada para separar blocos do arquivo. | |
| 606 | var s = document.createElement('script'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 607 | s.src = 'https://www.googletagmanager.com/gtag/js?id=AW-10875176701'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 608 | s.async = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 609 | document.head.appendChild(s); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 610 | Linha em branco usada para separar blocos do arquivo. | |
| 611 | gtag('js', new Date()); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 612 | gtag('config', 'AW-10875176701'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 613 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 614 | Linha em branco usada para separar blocos do arquivo. | |
| 615 | window.loadGtag = loadGtag; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 616 | Linha em branco usada para separar blocos do arquivo. | |
| 617 | window.addEventListener('load', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 618 | setTimeout(loadGtag, 6000); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 619 | }, { once:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 620 | Linha em branco usada para separar blocos do arquivo. | |
| 621 | document.addEventListener('pointerdown', loadGtag, { once:true, passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 622 | document.addEventListener('keydown', loadGtag, { once:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 623 | document.addEventListener('touchstart', loadGtag, { once:true, passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 624 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 625 | </script> | Marca HTML presente na saída da página. |
| 626 | Linha em branco usada para separar blocos do arquivo. | |
| 627 | <?php | Abre um bloco PHP executado no servidor. |
| 628 | $scheme = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https://' : 'http://'; | Atribui o valor ou resultado exibido à variável. |
| 629 | $httpHost = $_SERVER['HTTP_HOST'] ?? 'jacycabeleireiro.com'; | Atribui o valor ou resultado exibido à variável. |
| 630 | $requestUri = $_SERVER['REQUEST_URI'] ?? '/protese'; | Atribui o valor ou resultado exibido à variável. |
| 631 | $path = parse_url($requestUri, PHP_URL_PATH) ?: '/protese'; | Atribui o valor ou resultado exibido à variável. |
| 632 | Linha em branco usada para separar blocos do arquivo. | |
| 633 | $canonical = rtrim($scheme . $httpHost . $path, '/'); | Atribui o valor ou resultado exibido à variável. |
| 634 | if ($canonical === rtrim($scheme . $httpHost, '/')) { | Avalia a condição escrita nesta linha. |
| 635 | $canonical = rtrim($scheme . $httpHost, '/') . '/'; | Atribui o valor ou resultado exibido à variável. |
| 636 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 637 | Linha em branco usada para separar blocos do arquivo. | |
| 638 | $metaTitle = !empty($meta_title) | Atribui o valor ou resultado exibido à variável. |
| 639 | ? $meta_title | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 640 | : 'Prótese Capilar em Cascavel | Jacy Cabeleireiro'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 641 | Linha em branco usada para separar blocos do arquivo. | |
| 642 | $metaDescription = !empty($meta_description) | Atribui o valor ou resultado exibido à variável. |
| 643 | ? $meta_description | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 644 | : 'Prótese capilar em Cascavel com avaliação profissional, aplicação, manutenção e acabamento natural. Agende seu atendimento com Jacy Cabeleireiro.'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 645 | Linha em branco usada para separar blocos do arquivo. | |
| 646 | $metaKeywords = !empty($meta_keywords) | Atribui o valor ou resultado exibido à variável. |
| 647 | ? $meta_keywords | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 648 | : 'prótese capilar em Cascavel, manutenção de prótese capilar, prótese capilar masculina, cabeleireiro em Cascavel, barbeiro em Cascavel'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 649 | Linha em branco usada para separar blocos do arquivo. | |
| 650 | $faviconSeoFile = __DIR__ . '/images/favicon.png'; | Atribui o valor ou resultado exibido à variável. |
| 651 | $faviconSeoUrl = '/images/favicon.png'; | Atribui o valor ou resultado exibido à variável. |
| 652 | $faviconPadrao = 'images/' . ltrim((string)($icone_site ?? ''), '/'); | Atribui o valor ou resultado exibido à variável. |
| 653 | $faviconUrl = is_file($faviconSeoFile) ? $faviconSeoUrl : $faviconPadrao; | Atribui o valor ou resultado exibido à variável. |
| 654 | Linha em branco usada para separar blocos do arquivo. | |
| 655 | $siteName = !empty($SET['nome']) ? $SET['nome'] : 'Jacy Cabeleireiro'; | Atribui o valor ou resultado exibido à variável. |
| 656 | $ogImagePath = !empty($SET['logo_png']) ? $SET['logo_png'] : $faviconUrl; | Atribui o valor ou resultado exibido à variável. |
| 657 | if (!preg_match('#^(https?:)?//#i', $ogImagePath)) { | Avalia a condição escrita nesta linha. |
| 658 | $ogImage = $scheme . $httpHost . '/' . ltrim($ogImagePath, '/'); | Atribui o valor ou resultado exibido à variável. |
| 659 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 660 | $ogImage = $ogImagePath; | Atribui o valor ou resultado exibido à variável. |
| 661 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 662 | Linha em branco usada para separar blocos do arquivo. | |
| 663 | $serviceSchema = [ | Atribui o valor ou resultado exibido à variável. |
| 664 | '@context' => 'https://schema.org', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 665 | '@type' => 'Service', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 666 | 'name' => 'Prótese Capilar em Cascavel', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 667 | 'serviceType' => 'Prótese Capilar', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 668 | 'description' => $metaDescription, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 669 | 'url' => $canonical, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 670 | 'provider' => [ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 671 | '@type' => 'HairSalon', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 672 | 'name' => $siteName, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 673 | 'url' => rtrim($scheme . $httpHost, '/') . '/', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 674 | 'image' => $ogImage, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 675 | 'areaServed' => [ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 676 | '@type' => 'City', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 677 | 'name' => 'Cascavel' | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 678 | ] | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 679 | ] | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 680 | ]; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 681 | Linha em branco usada para separar blocos do arquivo. | |
| 682 | if (!empty($SET['telefone'])) { | Avalia a condição escrita nesta linha. |
| 683 | $serviceSchema['provider']['telephone'] = $SET['telefone']; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 684 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 685 | ?> | Fecha o bloco PHP. |
| 686 | Linha em branco usada para separar blocos do arquivo. | |
| 687 | <meta charset="utf-8"> | Marca HTML presente na saída da página. |
| 688 | <meta http-equiv="x-dns-prefetch-control" content="on"> | Marca HTML presente na saída da página. |
| 689 | <meta name="viewport" content="width=device-width,initial-scale=1"> | Marca HTML presente na saída da página. |
| 690 | <title><?=h($metaTitle)?></title> | Marca HTML presente na saída da página. |
| 691 | <meta name="description" content="<?=h($metaDescription)?>"> | Marca HTML presente na saída da página. |
| 692 | <meta name="keywords" content="<?=h($metaKeywords)?>"> | Marca HTML presente na saída da página. |
| 693 | <meta name="author" content="Jacy Cordeiro"> | Marca HTML presente na saída da página. |
| 694 | <meta name="theme-color" content="#05070a"> | Marca HTML presente na saída da página. |
| 695 | <link rel="icon" type="image/png" sizes="48x48" href="<?=h($faviconUrl)?>"> | Marca HTML presente na saída da página. |
| 696 | <link rel="shortcut icon" href="<?=h($faviconUrl)?>" type="image/x-icon"> | Marca HTML presente na saída da página. |
| 697 | <link rel="apple-touch-icon" href="<?=h($faviconUrl)?>"> | Marca HTML presente na saída da página. |
| 698 | <meta name="robots" content="index,follow,max-image-preview:large"> | Marca HTML presente na saída da página. |
| 699 | <link rel="canonical" href="<?=h($canonical)?>"> | Marca HTML presente na saída da página. |
| 700 | Linha em branco usada para separar blocos do arquivo. | |
| 701 | <meta property="og:type" content="website"> | Marca HTML presente na saída da página. |
| 702 | <meta property="og:locale" content="pt_BR"> | Marca HTML presente na saída da página. |
| 703 | <meta property="og:site_name" content="<?=h($siteName)?>"> | Marca HTML presente na saída da página. |
| 704 | <meta property="og:title" content="<?=h($metaTitle)?>"> | Marca HTML presente na saída da página. |
| 705 | <meta property="og:description" content="<?=h($metaDescription)?>"> | Marca HTML presente na saída da página. |
| 706 | <meta property="og:url" content="<?=h($canonical)?>"> | Marca HTML presente na saída da página. |
| 707 | <meta property="og:image" content="<?=h($ogImage)?>"> | Marca HTML presente na saída da página. |
| 708 | <meta name="twitter:card" content="summary_large_image"> | Marca HTML presente na saída da página. |
| 709 | <meta name="twitter:title" content="<?=h($metaTitle)?>"> | Marca HTML presente na saída da página. |
| 710 | <meta name="twitter:description" content="<?=h($metaDescription)?>"> | Marca HTML presente na saída da página. |
| 711 | <meta name="twitter:image" content="<?=h($ogImage)?>"> | Marca HTML presente na saída da página. |
| 712 | Linha em branco usada para separar blocos do arquivo. | |
| 713 | <script type="application/ld+json"><?=json_encode($serviceSchema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)?></script> | Converte dados para JSON. |
| 714 | <link rel="dns-prefetch" href="//cdn.jsdelivr.net"> | Marca HTML presente na saída da página. |
| 715 | <link rel="dns-prefetch" href="//connect.facebook.net"> | Marca HTML presente na saída da página. |
| 716 | Linha em branco usada para separar blocos do arquivo. | |
| 717 | <?php if ($LCP): | Abre um bloco PHP executado no servidor. |
| 718 | $isExt = preg_match('#^https?://#i', $LCP); | Atribui o valor ou resultado exibido à variável. |
| 719 | ?> | Fecha o bloco PHP. |
| 720 | <link rel="preload" as="image" href="<?=h($LCP)?>" fetchpriority="high" <?= $isExt ? 'crossorigin' : ''?>> | Marca HTML presente na saída da página. |
| 721 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 722 | <?php | Abre um bloco PHP executado no servidor. |
| 723 | $___recaptcha_file = $_SERVER['DOCUMENT_ROOT'] . '/config/recaptcha.php'; | Atribui o valor ou resultado exibido à variável. |
| 724 | if (is_file($___recaptcha_file)) { | Avalia a condição escrita nesta linha. |
| 725 | require_once $___recaptcha_file; | Carrega o arquivo ou a dependência indicada na própria linha. |
| 726 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 727 | $___site_key = defined('RECAPTCHA_SITE_KEY') ? RECAPTCHA_SITE_KEY : ''; | Atribui o valor ou resultado exibido à variável. |
| 728 | ?> | Fecha o bloco PHP. |
| 729 | <script>window.RECAPTCHA_SITE_KEY="<?=h($___site_key)?>";</script> | Marca HTML presente na saída da página. |
| 730 | <?php | Abre um bloco PHP executado no servidor. |
| 731 | $indexCssFile = __DIR__ . '/css/index.css'; | Atribui o valor ou resultado exibido à variável. |
| 732 | $indexCssVersion = file_exists($indexCssFile) ? filemtime($indexCssFile) : time(); | Atribui o valor ou resultado exibido à variável. |
| 733 | ?> | Fecha o bloco PHP. |
| 734 | <!-- V7: carrega os CSS essenciais imediatamente para não quebrar carrossel, grid, menu e rodapé --> | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 735 | <link rel="stylesheet" href="/css/bootstrap.css?v=<?php echo (int)$indexCssVersion; ?>"> | Marca HTML presente na saída da página. |
| 736 | <link rel="stylesheet" href="/css/style.css?v=<?php echo (int)$indexCssVersion; ?>"> | Marca HTML presente na saída da página. |
| 737 | <link rel="stylesheet" href="/css/responsive.css?v=<?php echo (int)$indexCssVersion; ?>"> | Marca HTML presente na saída da página. |
| 738 | <link rel="stylesheet" href="/css/font-awesome.min.css?v=<?php echo (int)$indexCssVersion; ?>"> | Marca HTML presente na saída da página. |
| 739 | <link rel="stylesheet" href="/css/index.css?v=<?php echo (int)$indexCssVersion; ?>"> | Marca HTML presente na saída da página. |
| 740 | <link rel="stylesheet" href="/css/protese-google-ads.css?v=<?php echo (int)$indexCssVersion; ?>"> | Marca HTML presente na saída da página. |
| 741 | <noscript> | Marca HTML presente na saída da página. |
| 742 | <link rel="stylesheet" href="/css/bootstrap.css"> | Marca HTML presente na saída da página. |
| 743 | <link rel="stylesheet" href="/css/style.css"> | Marca HTML presente na saída da página. |
| 744 | <link rel="stylesheet" href="/css/responsive.css"> | Marca HTML presente na saída da página. |
| 745 | <link rel="stylesheet" href="/css/font-awesome.min.css"> | Marca HTML presente na saída da página. |
| 746 | <link rel="stylesheet" href="/css/index.css"> | Marca HTML presente na saída da página. |
| 747 | <link rel="stylesheet" href="/css/protese-google-ads.css"> | Marca HTML presente na saída da página. |
| 748 | </noscript> | Marca HTML presente na saída da página. |
| 749 | <style> | Marca HTML presente na saída da página. |
| 750 | Linha em branco usada para separar blocos do arquivo. | |
| 751 | /* ============================================================ | Comentário existente no código-fonte. |
| 752 | PATCH V7 - correção visual segura | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 753 | Objetivo: evitar carrossel empilhado e rodapé sem grid quando | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 754 | a página /protese usa cabeçalho parcial otimizado. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 755 | Não altera consultas, formulários, banco, links ou lógica PHP. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 756 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 757 | .carousel{position:relative;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 758 | .carousel-inner{position:relative;width:100%;overflow:hidden;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 759 | .carousel-item{position:relative;display:none;width:100%;backface-visibility:hidden;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 760 | .carousel-item.active{display:block!important;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 761 | .slider_section .carousel-inner{overflow:hidden!important;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 762 | .slider_section .carousel-item:not(.active){display:none!important;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 763 | .slider_section .carousel-item.active{display:block!important;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 764 | .slider_section .carousel-item > div{width:100%;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 765 | .footer_section .container{width:100%;max-width:1140px;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 766 | .footer_section .row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 767 | .footer_section [class*="col-"]{position:relative;width:100%;padding-right:15px;padding-left:15px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 768 | .footer_section .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 769 | .footer_section .btn{display:inline-block;font-weight:700;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;padding:.55rem .85rem;border-radius:.25rem;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 770 | .footer_section .btn-block{display:block;width:100%;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 771 | @media (min-width:768px){.footer_section .col-md-5{flex:0 0 41.666667%;max-width:41.666667%;}.footer_section .col-md-6{flex:0 0 50%;max-width:50%;}.footer_section .col-md-7{flex:0 0 58.333333%;max-width:58.333333%;}} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 772 | @media (min-width:992px){.footer_section .col-lg-3{flex:0 0 25%;max-width:25%;}.footer_section .col-lg-4{flex:0 0 33.333333%;max-width:33.333333%;}.footer_section .col-lg-5{flex:0 0 41.666667%;max-width:41.666667%;}} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 773 | Linha em branco usada para separar blocos do arquivo. | |
| 774 | /* ============================================================ | Comentário existente no código-fonte. |
| 775 | PAGESPEED V6 - crítico da /protese | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 776 | Mantém a lógica e reduz bloqueio, CLS e reflow no mobile. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 777 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 778 | *,*::before,*::after{box-sizing:border-box;} | Comentário existente no código-fonte. |
| 779 | img,video,iframe{max-width:100%;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 780 | .jacy-header-lite{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 781 | position:sticky!important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 782 | top:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 783 | left:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 784 | right:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 785 | z-index:10000; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 786 | min-height:84px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 787 | padding:10px 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 788 | background:rgba(0,0,0,.96); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 789 | box-shadow:0 8px 22px rgba(0,0,0,.18); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 790 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 791 | .jacy-header-lite .container{width:100%;max-width:1140px;margin:0 auto;padding:0 15px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 792 | .jacy-header-lite .navbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 793 | .jacy-header-lite .navbar-brand{display:inline-flex;align-items:center;flex:0 0 auto;text-decoration:none;color:#fff;font-weight:800;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 794 | .jacy-header-lite .navbar-brand img{display:block;width:80px;height:54px;object-fit:contain;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 795 | .jacy-header-lite .navbar-collapse{display:flex;align-items:center;justify-content:flex-end;flex:1 1 auto;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 796 | .jacy-header-lite .navbar-nav{display:flex;align-items:center;gap:6px;margin:0 0 0 auto;padding:0;list-style:none;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 797 | .jacy-header-lite .nav-link{display:block;color:#fff;text-decoration:none;text-transform:uppercase;font-weight:800;font-size:15px;line-height:1.25;padding:10px 13px;border-radius:8px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 798 | .jacy-header-lite .nav-link:hover,.jacy-header-lite .nav-link:focus{color:#d1aa57;background:rgba(209,170,87,.08);} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 799 | .jacy-header-lite .navbar-toggler{display:none;width:44px;height:40px;border:0;background:transparent;padding:0;cursor:pointer;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 800 | .jacy-header-lite .navbar-toggler span,.jacy-header-lite .navbar-toggler span::before,.jacy-header-lite .navbar-toggler span::after{display:block;width:34px;height:4px;background:#fff;border-radius:8px;content:"";position:relative;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 801 | .jacy-header-lite .navbar-toggler span::before{position:absolute;top:-10px;left:0;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 802 | .jacy-header-lite .navbar-toggler span::after{position:absolute;top:10px;left:0;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 803 | .jacy-header-lite .dropdown{position:relative;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 804 | .jacy-header-lite .dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;padding:8px 0;margin:4px 0 0;background:#080808;border:1px solid rgba(209,170,87,.25);border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.35);z-index:10001;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 805 | .jacy-header-lite .dropdown-menu.show{display:block;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 806 | .jacy-header-lite .dropdown-item{display:block;color:#fff;text-decoration:none;padding:10px 16px;font-weight:700;white-space:nowrap;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 807 | .jacy-header-lite .dropdown-item:hover{background:rgba(209,170,87,.16);color:#d1aa57;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 808 | .jacy-header-lite .dropdown-divider{height:1px;background:rgba(255,255,255,.09);margin:4px 0;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 809 | .slider_section .carousel-inner,.slider_section .carousel-item{min-height:720px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 810 | #agenda-seletiva{min-height:620px;} | Comentário existente no código-fonte. |
| 811 | .modal{position:fixed;inset:0;z-index:10050;display:none;overflow:auto;background:rgba(0,0,0,.45);} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 812 | .modal.show{display:block;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 813 | .modal-dialog{position:relative;width:auto;margin:1.5rem auto;pointer-events:none;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 814 | .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:#fff;border-radius:12px;outline:0;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 815 | .modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:10040;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 816 | @media (max-width:991px){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 817 | .jacy-header-lite{min-height:74px;padding:8px 0;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 818 | .jacy-header-lite .navbar-brand img{width:72px;height:48px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 819 | .jacy-header-lite .navbar-toggler{display:grid;place-items:center;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 820 | .jacy-header-lite .navbar-collapse{display:none;position:absolute;top:100%;left:0;right:0;background:#050505;border-top:1px solid rgba(209,170,87,.22);padding:12px 15px;box-shadow:0 16px 30px rgba(0,0,0,.35);} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 821 | .jacy-header-lite .navbar-collapse.show{display:block;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 822 | .jacy-header-lite .navbar-nav{display:block;margin:0;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 823 | .jacy-header-lite .nav-link{text-align:left;padding:12px 8px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 824 | .jacy-header-lite .dropdown-menu{position:static;min-width:0;margin:5px 0 8px;box-shadow:none;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 825 | .slider_section .carousel-inner,.slider_section .carousel-item,.slider_section .carousel-item > div{min-height:560px!important;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 826 | #agenda-seletiva{min-height:760px;} | Comentário existente no código-fonte. |
| 827 | #agenda-seletiva>div{grid-template-columns:1fr!important;padding-top:44px!important;padding-bottom:44px!important;} | Comentário existente no código-fonte. |
| 828 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 829 | Linha em branco usada para separar blocos do arquivo. | |
| 830 | :root{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 831 | --bg:#0b0b0d; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 832 | --card:#1a1c23; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 833 | --text:#e9e9ee; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 834 | --muted:#d2d6de; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 835 | --brand:#2d86ff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 836 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 837 | Linha em branco usada para separar blocos do arquivo. | |
| 838 | html, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 839 | body{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 840 | margin:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 841 | background:var(--bg); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 842 | color:var(--text); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 843 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 844 | Linha em branco usada para separar blocos do arquivo. | |
| 845 | body{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 846 | overflow-x:hidden; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 847 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 848 | Linha em branco usada para separar blocos do arquivo. | |
| 849 | main{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 850 | display:block; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 851 | margin:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 852 | padding:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 853 | background:#020202; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 854 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 855 | Linha em branco usada para separar blocos do arquivo. | |
| 856 | .sr-only{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 857 | position:absolute !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 858 | width:1px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 859 | height:1px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 860 | padding:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 861 | margin:-1px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 862 | overflow:hidden !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 863 | clip:rect(0,0,0,0) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 864 | white-space:nowrap !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 865 | border:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 866 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 867 | Linha em branco usada para separar blocos do arquivo. | |
| 868 | .grecaptcha-badge{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 869 | z-index:2147483647; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 870 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 871 | Linha em branco usada para separar blocos do arquivo. | |
| 872 | main > section:not(.slider_section), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 873 | #agenda-seletiva, | Comentário existente no código-fonte. |
| 874 | #galeria-banco, | Comentário existente no código-fonte. |
| 875 | .experience-section, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 876 | #depoimentos{ | Comentário existente no código-fonte. |
| 877 | content-visibility:auto; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 878 | contain-intrinsic-size:900px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 879 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 880 | Linha em branco usada para separar blocos do arquivo. | |
| 881 | /* Banner padrão do sistema */ | Comentário existente no código-fonte. |
| 882 | .slider_section{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 883 | position:relative; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 884 | display:block !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 885 | margin:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 886 | padding:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 887 | background:#000 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 888 | overflow:hidden; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 889 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 890 | Linha em branco usada para separar blocos do arquivo. | |
| 891 | .slider_section #customCarouselProtese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 892 | position:relative !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 893 | width:100%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 894 | background:#000; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 895 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 896 | Linha em branco usada para separar blocos do arquivo. | |
| 897 | .slider_section #customCarouselProtese > .container{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 898 | position:absolute; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 899 | left:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 900 | right:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 901 | bottom:24px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 902 | z-index:6; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 903 | pointer-events:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 904 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 905 | Linha em branco usada para separar blocos do arquivo. | |
| 906 | .slider_section .carousel-inner, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 907 | .slider_section .carousel-item{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 908 | background:#000; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 909 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 910 | Linha em branco usada para separar blocos do arquivo. | |
| 911 | .slider_section .carousel-item > div{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 912 | min-height:720px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 913 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 914 | Linha em branco usada para separar blocos do arquivo. | |
| 915 | .slider_section .carousel_btn-box{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 916 | display:flex; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 917 | align-items:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 918 | gap:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 919 | margin:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 920 | padding:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 921 | width:auto; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 922 | pointer-events:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 923 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 924 | Linha em branco usada para separar blocos do arquivo. | |
| 925 | .slider_section .carousel-control-prev, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 926 | .slider_section .carousel-control-next{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 927 | position:relative !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 928 | inset:auto !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 929 | width:52px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 930 | height:52px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 931 | border-radius:50% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 932 | display:inline-flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 933 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 934 | justify-content:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 935 | background:#111 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 936 | border:1px solid rgba(255,255,255,.22) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 937 | color:#fff !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 938 | opacity:1 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 939 | text-shadow:none !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 940 | box-shadow:0 8px 18px rgba(0,0,0,.28); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 941 | pointer-events:auto; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 942 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 943 | Linha em branco usada para separar blocos do arquivo. | |
| 944 | .slider_section .carousel-control-prev:hover, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 945 | .slider_section .carousel-control-next:hover{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 946 | background:#b8862d !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 947 | color:#fff !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 948 | text-decoration:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 949 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 950 | Linha em branco usada para separar blocos do arquivo. | |
| 951 | .section{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 952 | margin:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 953 | padding:28px 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 954 | background:#020202; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 955 | border-top:1px solid #161616; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 956 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 957 | Linha em branco usada para separar blocos do arquivo. | |
| 958 | /* Correção: evita espaço vazio entre o banner e a próxima seção quando não houver cards de serviços */ | Comentário existente no código-fonte. |
| 959 | .section:empty{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 960 | display:none !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 961 | margin:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 962 | padding:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 963 | border:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 964 | min-height:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 965 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 966 | Linha em branco usada para separar blocos do arquivo. | |
| 967 | .cards{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 968 | display:grid; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 969 | grid-template-columns:repeat(3,minmax(0,1fr)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 970 | gap:16px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 971 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 972 | Linha em branco usada para separar blocos do arquivo. | |
| 973 | .card{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 974 | background:var(--card); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 975 | border:1px solid rgba(255,255,255,.07); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 976 | border-radius:14px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 977 | overflow:hidden; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 978 | display:flex; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 979 | flex-direction:column; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 980 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 981 | Linha em branco usada para separar blocos do arquivo. | |
| 982 | .card img{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 983 | width:100%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 984 | height:180px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 985 | object-fit:cover; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 986 | display:block; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 987 | background:#000; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 988 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 989 | Linha em branco usada para separar blocos do arquivo. | |
| 990 | .card .p{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 991 | padding:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 992 | display:flex; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 993 | flex-direction:column; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 994 | gap:6px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 995 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 996 | Linha em branco usada para separar blocos do arquivo. | |
| 997 | .price{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 998 | font-weight:800; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 999 | color:#fff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1000 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1001 | Linha em branco usada para separar blocos do arquivo. | |
| 1002 | .muted{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1003 | color:var(--muted); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1004 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1005 | Linha em branco usada para separar blocos do arquivo. | |
| 1006 | /* Experiência */ | Comentário existente no código-fonte. |
| 1007 | .xp-wrap{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1008 | max-width:1280px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1009 | margin:0 auto; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1010 | padding:0 16px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1011 | position:relative; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1012 | z-index:2; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1013 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1014 | Linha em branco usada para separar blocos do arquivo. | |
| 1015 | .xp-grid{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1016 | display:grid; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1017 | grid-template-columns:1.1fr 1fr; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1018 | gap:32px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1019 | align-items:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1020 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1021 | Linha em branco usada para separar blocos do arquivo. | |
| 1022 | .xp-left-year{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1023 | position:relative; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1024 | text-align:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1025 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1026 | Linha em branco usada para separar blocos do arquivo. | |
| 1027 | .xp-year{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1028 | display:block; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1029 | margin:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1030 | font-size:min(22vw,200px); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1031 | line-height:.85; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1032 | font-weight:900; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1033 | letter-spacing:2px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1034 | background:linear-gradient(180deg,#ffffff 0%,#b9c5ff 60%,#8aa2ff 100%); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1035 | -webkit-background-clip:text; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1036 | background-clip:text; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1037 | -webkit-text-fill-color:transparent; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1038 | color:transparent; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1039 | text-shadow:0 10px 40px rgba(0,0,0,.25); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1040 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1041 | Linha em branco usada para separar blocos do arquivo. | |
| 1042 | .xp-subtitle{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1043 | display:block; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1044 | margin:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1045 | font-size:28px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1046 | font-weight:800; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1047 | color:#cfe1ff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1048 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1049 | Linha em branco usada para separar blocos do arquivo. | |
| 1050 | .xp-underline{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1051 | width:120px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1052 | height:4px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1053 | background:linear-gradient(90deg,#2d86ff,#3ddc97); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1054 | border-radius:6px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1055 | margin:10px auto 18px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1056 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1057 | Linha em branco usada para separar blocos do arquivo. | |
| 1058 | .xp-visitas{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1059 | background:rgba(255,255,255,.05); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1060 | border:2px solid rgba(66,133,244,.30); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1061 | border-radius:15px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1062 | padding:20px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1063 | display:flex; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1064 | align-items:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1065 | justify-content:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1066 | gap:14px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1067 | max-width:100%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1068 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1069 | Linha em branco usada para separar blocos do arquivo. | |
| 1070 | .xp-vis-num{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1071 | font-size:2.4rem; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1072 | font-weight:800; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1073 | color:#4285f4; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1074 | line-height:1; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1075 | margin:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1076 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1077 | Linha em branco usada para separar blocos do arquivo. | |
| 1078 | .xp-vis-label{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1079 | font-size:.9rem; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1080 | color:#bbbbbb; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1081 | text-transform:uppercase; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1082 | letter-spacing:1px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1083 | font-weight:600; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1084 | margin:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1085 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1086 | Linha em branco usada para separar blocos do arquivo. | |
| 1087 | .xp-title{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1088 | color:#ffffff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1089 | font-size:clamp(28px,4.4vw,56px); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1090 | line-height:1.05; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1091 | font-weight:900; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1092 | margin:0 0 10px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1093 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1094 | Linha em branco usada para separar blocos do arquivo. | |
| 1095 | .xp-title .blue{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1096 | color:#8ab4ff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1097 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1098 | Linha em branco usada para separar blocos do arquivo. | |
| 1099 | .xp-desc{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1100 | color:#d7dbff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1101 | line-height:1.75; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1102 | margin:0 0 22px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1103 | max-width:60ch; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1104 | font-size:18px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1105 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1106 | Linha em branco usada para separar blocos do arquivo. | |
| 1107 | .exp-stats{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1108 | display:grid; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1109 | grid-template-columns:repeat(3,minmax(0,1fr)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1110 | gap:14px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1111 | margin-top:26px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1112 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1113 | Linha em branco usada para separar blocos do arquivo. | |
| 1114 | .exp-card{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1115 | background:rgba(255,255,255,.05); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1116 | border:1px solid rgba(255,255,255,.10); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1117 | border-radius:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1118 | padding:18px 12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1119 | text-align:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1120 | min-width:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1121 | min-height:120px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1122 | overflow:hidden; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1123 | display:flex; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1124 | flex-direction:column; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1125 | justify-content:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1126 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1127 | Linha em branco usada para separar blocos do arquivo. | |
| 1128 | .exp-num{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1129 | max-width:100%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1130 | font-size:clamp(1.35rem,1.75vw,2.2rem); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1131 | font-weight:800; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1132 | line-height:1.15; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1133 | margin-bottom:6px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1134 | overflow-wrap:break-word; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1135 | word-break:normal; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1136 | hyphens:auto; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1137 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1138 | Linha em branco usada para separar blocos do arquivo. | |
| 1139 | .exp-label{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1140 | max-width:100%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1141 | font-size:.9rem; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1142 | line-height:1.35; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1143 | letter-spacing:1px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1144 | text-transform:uppercase; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1145 | color:#bbbbbb; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1146 | font-weight:600; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1147 | overflow-wrap:break-word; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1148 | word-break:normal; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1149 | hyphens:auto; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1150 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1151 | Linha em branco usada para separar blocos do arquivo. | |
| 1152 | .exp-num--blue{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1153 | color:#4285f4; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1154 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1155 | Linha em branco usada para separar blocos do arquivo. | |
| 1156 | .exp-num--green{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1157 | color:#34a853; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1158 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1159 | Linha em branco usada para separar blocos do arquivo. | |
| 1160 | .exp-num--gold{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1161 | color:#fbbc04; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1162 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1163 | Linha em branco usada para separar blocos do arquivo. | |
| 1164 | .xp-badges{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1165 | display:flex; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1166 | gap:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1167 | flex-wrap:wrap; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1168 | margin-top:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1169 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1170 | Linha em branco usada para separar blocos do arquivo. | |
| 1171 | .xp-badge{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1172 | display:inline-flex; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1173 | align-items:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1174 | gap:10px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1175 | padding:10px 18px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1176 | border-radius:999px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1177 | font-weight:800; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1178 | border:1px solid; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1179 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1180 | Linha em branco usada para separar blocos do arquivo. | |
| 1181 | .xp-badge--cert{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1182 | background:#0e1935; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1183 | border-color:rgba(141,176,255,.25); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1184 | color:#cfe1ff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1185 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1186 | Linha em branco usada para separar blocos do arquivo. | |
| 1187 | .xp-badge--qual{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1188 | background:#0f1d15; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1189 | border-color:rgba(83,214,155,.25); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1190 | color:#bff3dd; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1191 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1192 | Linha em branco usada para separar blocos do arquivo. | |
| 1193 | .xp-badge .dot{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1194 | display:inline-grid; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1195 | place-items:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1196 | width:22px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1197 | height:22px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1198 | border-radius:50%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1199 | flex:0 0 22px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1200 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1201 | Linha em branco usada para separar blocos do arquivo. | |
| 1202 | .xp-badge--cert .dot{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1203 | background:#2d86ff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1204 | color:#ffffff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1205 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1206 | Linha em branco usada para separar blocos do arquivo. | |
| 1207 | .xp-badge--qual .dot{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1208 | background:#3ddc97; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1209 | color:#0d2a1f; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1210 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1211 | Linha em branco usada para separar blocos do arquivo. | |
| 1212 | .experience-section.visitas-normal{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1213 | --vis-w:100%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1214 | --vis-pad:20px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1215 | --vis-num:2.4rem; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1216 | --vis-icon:2.2rem; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1217 | --vis-bw:2px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1218 | --under-w:120px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1219 | --under-h:4px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1220 | --under-m:10px auto 18px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1221 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1222 | Linha em branco usada para separar blocos do arquivo. | |
| 1223 | .experience-section.visitas-normal .xp-visitas{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1224 | max-width:var(--vis-w); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1225 | margin:10px auto 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1226 | padding:var(--vis-pad); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1227 | border-width:var(--vis-bw); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1228 | border-radius:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1229 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1230 | Linha em branco usada para separar blocos do arquivo. | |
| 1231 | .experience-section.visitas-normal .xp-visitas > div:first-child{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1232 | font-size:var(--vis-icon) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1233 | line-height:1; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1234 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1235 | Linha em branco usada para separar blocos do arquivo. | |
| 1236 | .experience-section.visitas-normal .xp-visitas .xp-vis-num{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1237 | font-size:var(--vis-num); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1238 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1239 | Linha em branco usada para separar blocos do arquivo. | |
| 1240 | .experience-section.visitas-normal .xp-left-year .xp-underline{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1241 | width:var(--under-w); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1242 | height:var(--under-h); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1243 | margin:var(--under-m); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1244 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1245 | Linha em branco usada para separar blocos do arquivo. | |
| 1246 | /* Modal específico da página */ | Comentário existente no código-fonte. |
| 1247 | #modalSimulacaoCliente .modal-dialog{ | Comentário existente no código-fonte. |
| 1248 | max-width:1100px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1249 | margin:1.5rem auto; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1250 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1251 | Linha em branco usada para separar blocos do arquivo. | |
| 1252 | #modalSimulacaoCliente .modal-content{ | Comentário existente no código-fonte. |
| 1253 | border-radius:18px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1254 | border:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1255 | overflow:hidden; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1256 | box-shadow:0 18px 50px rgba(0,0,0,.25); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1257 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1258 | Linha em branco usada para separar blocos do arquivo. | |
| 1259 | #modalSimulacaoCliente .modal-header{ | Comentário existente no código-fonte. |
| 1260 | background:linear-gradient(90deg,#111 0%,#1f1f1f 100%); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1261 | color:#fff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1262 | border-bottom:0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1263 | padding:18px 22px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1264 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1265 | Linha em branco usada para separar blocos do arquivo. | |
| 1266 | #modalSimulacaoCliente .modal-header .close{ | Comentário existente no código-fonte. |
| 1267 | color:#fff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1268 | opacity:1; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1269 | text-shadow:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1270 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1271 | Linha em branco usada para separar blocos do arquivo. | |
| 1272 | #modalSimulacaoCliente .modal-body{ | Comentário existente no código-fonte. |
| 1273 | background:#f7f8fa; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1274 | padding:22px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1275 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1276 | Linha em branco usada para separar blocos do arquivo. | |
| 1277 | #modalSimulacaoCliente .alert{ | Comentário existente no código-fonte. |
| 1278 | border-radius:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1279 | border:1px solid #d7c29a; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1280 | background:#f7f0e3; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1281 | color:#5e4824; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1282 | margin-bottom:18px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1283 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1284 | Linha em branco usada para separar blocos do arquivo. | |
| 1285 | #modalSimulacaoCliente .form-group label{ | Comentário existente no código-fonte. |
| 1286 | font-weight:700; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1287 | color:#333; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1288 | margin-bottom:8px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1289 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1290 | Linha em branco usada para separar blocos do arquivo. | |
| 1291 | #modalSimulacaoCliente .form-control{ | Comentário existente no código-fonte. |
| 1292 | border-radius:10px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1293 | min-height:46px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1294 | border:1px solid #d8dee6; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1295 | box-shadow:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1296 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1297 | Linha em branco usada para separar blocos do arquivo. | |
| 1298 | #modalSimulacaoCliente .form-control:focus{ | Comentário existente no código-fonte. |
| 1299 | border-color:#b8862d; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1300 | box-shadow:0 0 0 .15rem rgba(184,134,45,.15); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1301 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1302 | Linha em branco usada para separar blocos do arquivo. | |
| 1303 | .painel-comparacao-simulacao{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1304 | background:#fff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1305 | border:1px solid #e4e7eb; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1306 | border-radius:16px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1307 | padding:16px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1308 | box-shadow:0 6px 20px rgba(0,0,0,.05); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1309 | height:100%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1310 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1311 | Linha em branco usada para separar blocos do arquivo. | |
| 1312 | .painel-comparacao-simulacao .titulo-painel{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1313 | font-size:15px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1314 | font-weight:700; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1315 | color:#2d3436; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1316 | margin-bottom:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1317 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1318 | Linha em branco usada para separar blocos do arquivo. | |
| 1319 | .box-imagem-simulacao{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1320 | background:linear-gradient(180deg,#ffffff 0%,#f8f9fb 100%); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1321 | border:1px solid #dfe4ea; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1322 | border-radius:14px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1323 | min-height:340px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1324 | display:flex; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1325 | align-items:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1326 | justify-content:center; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1327 | padding:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1328 | position:relative; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1329 | overflow:hidden; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1330 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1331 | Linha em branco usada para separar blocos do arquivo. | |
| 1332 | .box-imagem-simulacao img{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1333 | position:relative; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1334 | z-index:2; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1335 | max-width:100%; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1336 | max-height:310px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1337 | border-radius:10px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1338 | box-shadow:0 8px 24px rgba(0,0,0,.12); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1339 | background:#fff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1340 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1341 | Linha em branco usada para separar blocos do arquivo. | |
| 1342 | .legenda-simulacao{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1343 | margin-top:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1344 | font-size:13px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1345 | color:#6c757d; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1346 | line-height:20px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1347 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1348 | Linha em branco usada para separar blocos do arquivo. | |
| 1349 | #btn_simular_cliente{ | Comentário existente no código-fonte. |
| 1350 | border-radius:50px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1351 | min-height:52px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1352 | font-size:18px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1353 | font-weight:700; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1354 | box-shadow:0 10px 24px rgba(184,134,45,.18); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1355 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1356 | Linha em branco usada para separar blocos do arquivo. | |
| 1357 | #mensagem_simulacao_cliente{ | Comentário existente no código-fonte. |
| 1358 | font-size:14px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1359 | font-weight:600; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1360 | min-height:22px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1361 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1362 | Linha em branco usada para separar blocos do arquivo. | |
| 1363 | .selo-comparacao{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1364 | display:inline-block; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1365 | padding:6px 12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1366 | border-radius:30px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1367 | font-size:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1368 | font-weight:700; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1369 | background:#111; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1370 | color:#fff; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1371 | margin-bottom:10px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1372 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1373 | Linha em branco usada para separar blocos do arquivo. | |
| 1374 | @media (max-width:1000px){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1375 | .cards{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1376 | grid-template-columns:repeat(2,minmax(0,1fr)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1377 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1378 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1379 | Linha em branco usada para separar blocos do arquivo. | |
| 1380 | @media (max-width:991px){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1381 | .slider_section .carousel-item > div{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1382 | min-height:620px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1383 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1384 | Linha em branco usada para separar blocos do arquivo. | |
| 1385 | .slider_section #customCarouselProtese > .container{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1386 | bottom:18px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1387 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1388 | Linha em branco usada para separar blocos do arquivo. | |
| 1389 | .xp-grid{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1390 | grid-template-columns:1fr; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1391 | gap:24px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1392 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1393 | Linha em branco usada para separar blocos do arquivo. | |
| 1394 | .exp-stats{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1395 | grid-template-columns:repeat(2,1fr); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1396 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1397 | Linha em branco usada para separar blocos do arquivo. | |
| 1398 | #modalSimulacaoCliente .modal-body{ | Comentário existente no código-fonte. |
| 1399 | padding:16px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1400 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1401 | Linha em branco usada para separar blocos do arquivo. | |
| 1402 | .box-imagem-simulacao{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1403 | min-height:260px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1404 | margin-bottom:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1405 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1406 | Linha em branco usada para separar blocos do arquivo. | |
| 1407 | .box-imagem-simulacao img{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1408 | max-height:230px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1409 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1410 | Linha em branco usada para separar blocos do arquivo. | |
| 1411 | #btn_simular_cliente{ | Comentário existente no código-fonte. |
| 1412 | font-size:16px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1413 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1414 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1415 | Linha em branco usada para separar blocos do arquivo. | |
| 1416 | @media (max-width:768px){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1417 | .slider_section .detail-box{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1418 | margin-top:110px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1419 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1420 | Linha em branco usada para separar blocos do arquivo. | |
| 1421 | .slider_section .detail-box h2{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1422 | font-size:32px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1423 | line-height:1.2; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1424 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1425 | Linha em branco usada para separar blocos do arquivo. | |
| 1426 | .slider_section .detail-box p{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1427 | font-size:15px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1428 | line-height:1.6; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1429 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1430 | Linha em branco usada para separar blocos do arquivo. | |
| 1431 | .slider_section .carousel-control-prev, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1432 | .slider_section .carousel-control-next{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1433 | width:46px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1434 | height:46px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1435 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1436 | Linha em branco usada para separar blocos do arquivo. | |
| 1437 | .xp-year{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1438 | font-size:min(30vw,140px); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1439 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1440 | Linha em branco usada para separar blocos do arquivo. | |
| 1441 | .xp-subtitle{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1442 | font-size:22px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1443 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1444 | Linha em branco usada para separar blocos do arquivo. | |
| 1445 | .xp-title{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1446 | font-size:clamp(24px,8vw,38px); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1447 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1448 | Linha em branco usada para separar blocos do arquivo. | |
| 1449 | .xp-desc{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1450 | font-size:16px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1451 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1452 | Linha em branco usada para separar blocos do arquivo. | |
| 1453 | .exp-stats{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1454 | grid-template-columns:1fr; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1455 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1456 | Linha em branco usada para separar blocos do arquivo. | |
| 1457 | .xp-badges{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1458 | flex-direction:column; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1459 | align-items:flex-start; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1460 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1461 | Linha em branco usada para separar blocos do arquivo. | |
| 1462 | .cards{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1463 | grid-template-columns:1fr; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1464 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1465 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1466 | Linha em branco usada para separar blocos do arquivo. | |
| 1467 | Linha em branco usada para separar blocos do arquivo. | |
| 1468 | /* PATCH V5: estabilidade visual sem mudar a lógica */ | Comentário existente no código-fonte. |
| 1469 | html{scroll-behavior:auto;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1470 | .layout_padding,.footer_section,footer{content-visibility:auto;contain-intrinsic-size:760px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1471 | .header_section{min-height:96px;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1472 | @media (max-width:768px){.header_section{min-height:84px;}} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1473 | img{max-width:100%;height:auto;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1474 | .carousel-item img[width][height]{height:100%;} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1475 | Linha em branco usada para separar blocos do arquivo. | |
| 1476 | Linha em branco usada para separar blocos do arquivo. | |
| 1477 | /* ============================================================ | Comentário existente no código-fonte. |
| 1478 | GALERIA DE TRABALHOS - movimento contínuo e clique no atendimento | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1479 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1480 | #galeria-banco #galeriaWrap{ | Comentário existente no código-fonte. |
| 1481 | touch-action:pan-y; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1482 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1483 | Linha em branco usada para separar blocos do arquivo. | |
| 1484 | #galeria-banco #galeriaViewport{ | Comentário existente no código-fonte. |
| 1485 | overflow:hidden; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1486 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1487 | Linha em branco usada para separar blocos do arquivo. | |
| 1488 | #galeria-banco #galTrack{ | Comentário existente no código-fonte. |
| 1489 | transition:none !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1490 | will-change:transform; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1491 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1492 | Linha em branco usada para separar blocos do arquivo. | |
| 1493 | #galeria-banco .galItem{ | Comentário existente no código-fonte. |
| 1494 | cursor:pointer; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1495 | user-select:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1496 | -webkit-user-select:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1497 | outline:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1498 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1499 | Linha em branco usada para separar blocos do arquivo. | |
| 1500 | #galeria-banco .galItem:focus-visible{ | Comentário existente no código-fonte. |
| 1501 | box-shadow:0 0 0 3px rgba(209,170,87,.82); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1502 | border-radius:12px; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1503 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1504 | Linha em branco usada para separar blocos do arquivo. | |
| 1505 | #galeria-banco .galItem img{ | Comentário existente no código-fonte. |
| 1506 | pointer-events:none; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1507 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1508 | Linha em branco usada para separar blocos do arquivo. | |
| 1509 | Linha em branco usada para separar blocos do arquivo. | |
| 1510 | /* ============================================================ | Comentário existente no código-fonte. |
| 1511 | DEPOIMENTOS /PROTESE - organização profissional dos cards | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1512 | Mantém os IDs, classes depItem e o carrossel original. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1513 | Ajusta somente espaçamento, tamanho padrão e responsividade. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1514 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1515 | .depoimentos-protese-section{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1516 | background:#050607 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1517 | color:#fff !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1518 | padding:118px 0 58px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1519 | margin:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1520 | scroll-margin-top:130px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1521 | overflow:hidden !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1522 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1523 | .depoimentos-protese-container{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1524 | width:100% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1525 | max-width:1320px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1526 | margin:0 auto !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1527 | padding:0 18px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1528 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1529 | .depoimentos-protese-titulo{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1530 | color:#fff8ea !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1531 | text-align:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1532 | font-size:38px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1533 | line-height:1.2 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1534 | font-weight:900 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1535 | margin:0 0 28px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1536 | letter-spacing:.2px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1537 | text-shadow:0 8px 24px rgba(0,0,0,.45) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1538 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1539 | .depoimentos-controle-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1540 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1541 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1542 | gap:12px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1543 | margin:0 auto 18px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1544 | max-width:1020px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1545 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1546 | .depoimentos-controle-protese button{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1547 | border:1px solid rgba(209,170,87,.28) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1548 | background:rgba(209,170,87,.10) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1549 | color:#fff !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1550 | width:42px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1551 | height:42px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1552 | border-radius:50% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1553 | cursor:pointer !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1554 | font-size:26px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1555 | line-height:1 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1556 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1557 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1558 | justify-content:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1559 | box-shadow:0 10px 24px rgba(0,0,0,.22) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1560 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1561 | .depoimentos-controle-protese button:disabled{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1562 | opacity:.45 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1563 | cursor:not-allowed !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1564 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1565 | .depoimentos-dots-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1566 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1567 | gap:7px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1568 | flex:1 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1569 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1570 | justify-content:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1571 | min-height:12px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1572 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1573 | .depoimentos-viewport-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1574 | overflow:hidden !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1575 | padding:2px 0 8px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1576 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1577 | .depoimentos-track-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1578 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1579 | gap:26px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1580 | align-items:stretch !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1581 | transition:transform .45s ease !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1582 | will-change:transform !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1583 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1584 | .depoimento-item-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1585 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1586 | align-items:stretch !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1587 | box-sizing:border-box !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1588 | padding:0 0 8px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1589 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1590 | .depoimento-card-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1591 | width:100% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1592 | height:650px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1593 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1594 | flex-direction:column !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1595 | background:linear-gradient(180deg,#121821 0%,#0a0d12 100%) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1596 | border:1px solid rgba(209,170,87,.22) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1597 | border-radius:22px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1598 | padding:26px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1599 | box-shadow:0 20px 48px rgba(0,0,0,.38) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1600 | overflow:hidden !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1601 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1602 | .depoimento-card-topo-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1603 | min-height:112px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1604 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1605 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1606 | gap:20px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1607 | padding-bottom:18px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1608 | margin-bottom:18px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1609 | border-bottom:1px solid rgba(209,170,87,.16) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1610 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1611 | .depoimento-card-foto-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1612 | width:96px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1613 | height:96px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1614 | object-fit:cover !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1615 | border-radius:50% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1616 | border:3px solid rgba(209,170,87,.42) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1617 | background:#000 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1618 | box-shadow:0 12px 28px rgba(0,0,0,.32) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1619 | flex:0 0 96px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1620 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1621 | .depoimento-card-info-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1622 | flex:1 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1623 | min-width:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1624 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1625 | .depoimento-card-info-protese strong{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1626 | display:block !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1627 | color:#fff !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1628 | font-size:26px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1629 | line-height:1.15 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1630 | font-weight:900 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1631 | margin:0 0 7px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1632 | word-break:break-word !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1633 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1634 | .depoimento-card-info-protese span{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1635 | display:inline-flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1636 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1637 | gap:7px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1638 | color:#d7c6a8 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1639 | font-size:15px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1640 | line-height:1.4 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1641 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1642 | .depoimento-card-info-protese span:before{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1643 | content:"✓" !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1644 | width:19px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1645 | height:19px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1646 | display:inline-flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1647 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1648 | justify-content:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1649 | border-radius:50% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1650 | background:rgba(209,170,87,.18) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1651 | color:#d1aa57 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1652 | font-size:12px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1653 | font-weight:900 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1654 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1655 | .depoimento-card-corpo-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1656 | flex:1 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1657 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1658 | flex-direction:column !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1659 | min-height:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1660 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1661 | .depoimento-card-texto-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1662 | height:178px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1663 | overflow:auto !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1664 | scrollbar-width:thin !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1665 | margin:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1666 | padding:20px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1667 | color:#f4f4f4 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1668 | background:#0b0c0f !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1669 | border:1px solid rgba(255,255,255,.08) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1670 | border-radius:16px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1671 | text-align:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1672 | font-size:17px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1673 | line-height:1.75 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1674 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1675 | .depoimento-card-midias-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1676 | height:260px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1677 | margin-top:16px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1678 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1679 | gap:14px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1680 | min-height:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1681 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1682 | .depoimento-card-midia-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1683 | flex:1 1 0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1684 | min-width:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1685 | height:100% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1686 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1687 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1688 | justify-content:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1689 | background:#020203 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1690 | border:1px solid rgba(255,255,255,.10) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1691 | border-radius:18px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1692 | overflow:hidden !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1693 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1694 | .depoimento-card-midia-protese video, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1695 | .depoimento-card-midia-protese img{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1696 | width:100% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1697 | height:100% !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1698 | object-fit:contain !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1699 | display:block !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1700 | border:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1701 | border-radius:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1702 | background:#020203 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1703 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1704 | .depoimento-card-sem-midia-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1705 | flex:1 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1706 | margin-top:16px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1707 | display:flex !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1708 | align-items:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1709 | justify-content:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1710 | text-align:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1711 | min-height:260px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1712 | color:#a99d88 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1713 | border:1px dashed rgba(209,170,87,.20) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1714 | border-radius:18px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1715 | background:rgba(209,170,87,.035) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1716 | font-size:15px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1717 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1718 | .depoimentos-protese-botao{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1719 | text-align:center !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1720 | margin-top:24px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1721 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1722 | .depoimentos-protese-botao a{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1723 | display:inline-block !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1724 | background:#d1aa57 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1725 | color:#111 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1726 | padding:14px 28px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1727 | border-radius:999px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1728 | font-weight:900 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1729 | text-decoration:none !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1730 | box-shadow:0 10px 28px rgba(209,170,87,.32) !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1731 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1732 | @media (max-width:899px){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1733 | .depoimentos-protese-section{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1734 | padding:104px 0 46px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1735 | scroll-margin-top:112px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1736 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1737 | .depoimentos-protese-titulo{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1738 | font-size:30px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1739 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1740 | .depoimentos-track-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1741 | gap:18px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1742 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1743 | .depoimento-card-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1744 | height:auto !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1745 | min-height:0 !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1746 | padding:20px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1747 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1748 | .depoimento-card-topo-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1749 | min-height:88px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1750 | gap:15px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1751 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1752 | .depoimento-card-foto-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1753 | width:78px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1754 | height:78px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1755 | flex-basis:78px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1756 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1757 | .depoimento-card-info-protese strong{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1758 | font-size:22px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1759 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1760 | .depoimento-card-texto-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1761 | height:auto !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1762 | max-height:230px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1763 | font-size:16px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1764 | padding:18px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1765 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1766 | .depoimento-card-midias-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1767 | height:auto !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1768 | flex-direction:column !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1769 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1770 | .depoimento-card-midia-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1771 | height:280px !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1772 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1773 | .depoimento-card-sem-midia-protese{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1774 | display:none !important; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1775 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1776 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1777 | Linha em branco usada para separar blocos do arquivo. | |
| 1778 | </style> | Marca HTML presente na saída da página. |
| 1779 | <!-- Google Ads: conversão somente em ação real do usuário | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1780 | Não dispara conversão apenas por abrir a página. --> | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1781 | <script> | Marca HTML presente na saída da página. |
| 1782 | window.JACY_ADS_CONVERSION_SEND_TO = 'AW-10875176701/WWgPCPKFp4ocEP2N2MEo'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1783 | window.jacyTrackAdsConversion = window.jacyTrackAdsConversion || function(label){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1784 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1785 | if (window.loadGtag) window.loadGtag(); | Avalia a condição escrita nesta linha. |
| 1786 | if (typeof gtag === 'function') { | Avalia a condição escrita nesta linha. |
| 1787 | gtag('event', 'conversion', { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1788 | 'send_to': window.JACY_ADS_CONVERSION_SEND_TO, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1789 | 'event_category': 'lead', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1790 | 'event_label': label || 'protese_capilar', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1791 | 'transport_type': 'beacon' | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1792 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1793 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1794 | } catch(e) {} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1795 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1796 | </script> | Marca HTML presente na saída da página. |
| 1797 | Linha em branco usada para separar blocos do arquivo. | |
| 1798 | <!-- Patch PageSpeed V6 aplicado em /protese: header parcial, footer leve, CSS assíncrono e imagens otimizáveis. --> | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1799 | </head> | Marca HTML presente na saída da página. |
| 1800 | <body class="pagina-protese-google-ads"> | Marca HTML presente na saída da página. |
| 1801 | Linha em branco usada para separar blocos do arquivo. | |
| 1802 | <?php if (!defined('JACY_HEADER_PARTIAL_ONLY')) define('JACY_HEADER_PARTIAL_ONLY', true); require_once("cabecalho.php"); ?> | Abre um bloco PHP executado no servidor. |
| 1803 | Linha em branco usada para separar blocos do arquivo. | |
| 1804 | <main> | Marca HTML presente na saída da página. |
| 1805 | <section class="slider_section" aria-label="Destaques"> | Marca HTML presente na saída da página. |
| 1806 | <div id="customCarouselProtese" class="carousel slide" data-ride="carousel" data-interval="5000" aria-roledescription="carousel"> | Marca HTML presente na saída da página. |
| 1807 | <div class="carousel-inner"> | Marca HTML presente na saída da página. |
| 1808 | <?php foreach ($slides as $i => $s): | Abre um bloco PHP executado no servidor. |
| 1809 | $ativo = ($i === 0) ? 'active' : ''; | Atribui o valor ou resultado exibido à variável. |
| 1810 | $titulo = trim((string)($s['titulo'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 1811 | $descricao = trim((string)($s['texto'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 1812 | $botao_link = trim((string)($s['link'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 1813 | $botao_texto = 'Agendar'; | Atribui o valor ou resultado exibido à variável. |
| 1814 | $botao_target = '_self'; | Atribui o valor ou resultado exibido à variável. |
| 1815 | $botao_rel = ''; | Atribui o valor ou resultado exibido à variável. |
| 1816 | Linha em branco usada para separar blocos do arquivo. | |
| 1817 | if ($botao_link === '' || preg_match('/^\s*javascript:/i', $botao_link)) { | Avalia a condição escrita nesta linha. |
| 1818 | $botao_link = $SET['agenda_url']; | Atribui o valor ou resultado exibido à variável. |
| 1819 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1820 | $botao_texto = 'Saiba mais'; | Atribui o valor ou resultado exibido à variável. |
| 1821 | if (preg_match('/^(https?:)?\/\//i', $botao_link)) { | Avalia a condição escrita nesta linha. |
| 1822 | $botao_target = '_blank'; | Atribui o valor ou resultado exibido à variável. |
| 1823 | $botao_rel = 'noopener noreferrer'; | Atribui o valor ou resultado exibido à variável. |
| 1824 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1825 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 1826 | ?> | Fecha o bloco PHP. |
| 1827 | <div class="carousel-item <?php echo $ativo; ?>"> | Marca HTML presente na saída da página. |
| 1828 | <div style="position:relative;min-height:720px;background:#000;overflow:hidden;"> | Marca HTML presente na saída da página. |
| 1829 | <div style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;"> | Marca HTML presente na saída da página. |
| 1830 | <?php if (!empty($s['video'])): ?> | Abre um bloco PHP executado no servidor. |
| 1831 | <video | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1832 | poster="<?=h($LCP_POSTER)?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1833 | muted | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1834 | playsinline | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1835 | loop | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1836 | preload="none" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1837 | style="width:100%;height:100%;object-fit:cover;display:block;opacity:.38;" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1838 | > | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1839 | <source src="<?=h($s['video'])?>" type="video/mp4"> | Marca HTML presente na saída da página. |
| 1840 | </video> | Marca HTML presente na saída da página. |
| 1841 | <?php else: ?> | Abre um bloco PHP executado no servidor. |
| 1842 | <img | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1843 | src="<?=h(jacy_fast_img_src((string)$s['img']))?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1844 | alt="<?=h($titulo !== '' ? $titulo : 'Banner')?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1845 | title="<?=h($titulo)?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1846 | width="1920" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1847 | height="720" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1848 | <?php echo ($i === 0) ? 'loading="eager" fetchpriority="high"' : 'loading="lazy"'; ?> | Abre um bloco PHP executado no servidor. |
| 1849 | decoding="async" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1850 | sizes="100vw" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1851 | style="width:100%;height:100%;object-fit:cover;display:block;opacity:.38;" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1852 | > | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1853 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1854 | </div> | Marca HTML presente na saída da página. |
| 1855 | Linha em branco usada para separar blocos do arquivo. | |
| 1856 | <div style="position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.62) 45%, rgba(0,0,0,.25) 100%);z-index:2;"></div> | Marca HTML presente na saída da página. |
| 1857 | Linha em branco usada para separar blocos do arquivo. | |
| 1858 | <div class="container" style="position:relative;z-index:3;"> | Marca HTML presente na saída da página. |
| 1859 | <div class="row align-items-center" style="min-height:720px;"> | Marca HTML presente na saída da página. |
| 1860 | <div class="col-md-7 col-lg-6"> | Marca HTML presente na saída da página. |
| 1861 | <div class="detail-box" style="margin-top:80px;"> | Marca HTML presente na saída da página. |
| 1862 | <?php if ($titulo !== ''): ?> | Abre um bloco PHP executado no servidor. |
| 1863 | <h2 style="color:#fff;"><?php echo h($titulo); ?></h2> | Marca HTML presente na saída da página. |
| 1864 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1865 | Linha em branco usada para separar blocos do arquivo. | |
| 1866 | <?php if ($descricao !== ''): ?> | Abre um bloco PHP executado no servidor. |
| 1867 | <p style="color:#fff;"><?php echo h($descricao); ?></p> | Marca HTML presente na saída da página. |
| 1868 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1869 | Linha em branco usada para separar blocos do arquivo. | |
| 1870 | <div class="btn-box"> | Marca HTML presente na saída da página. |
| 1871 | <a | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1872 | href="<?php echo h($botao_link); ?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1873 | target="<?php echo $botao_target; ?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1874 | <?php if ($botao_rel !== ''): ?>rel="<?php echo $botao_rel; ?>"<?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1875 | class="btn btn-lg btn-contact" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1876 | > | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 1877 | <?php echo h($botao_texto); ?> | Abre um bloco PHP executado no servidor. |
| 1878 | </a> | Marca HTML presente na saída da página. |
| 1879 | </div> | Marca HTML presente na saída da página. |
| 1880 | </div> | Marca HTML presente na saída da página. |
| 1881 | </div> | Marca HTML presente na saída da página. |
| 1882 | </div> | Marca HTML presente na saída da página. |
| 1883 | </div> | Marca HTML presente na saída da página. |
| 1884 | </div> | Marca HTML presente na saída da página. |
| 1885 | </div> | Marca HTML presente na saída da página. |
| 1886 | <?php endforeach; ?> | Abre um bloco PHP executado no servidor. |
| 1887 | </div> | Marca HTML presente na saída da página. |
| 1888 | Linha em branco usada para separar blocos do arquivo. | |
| 1889 | <div class="container"> | Marca HTML presente na saída da página. |
| 1890 | <div class="carousel_btn-box"> | Marca HTML presente na saída da página. |
| 1891 | <a class="carousel-control-prev" href="#customCarouselProtese" role="button" data-slide="prev" aria-label="Anterior"> | Marca HTML presente na saída da página. |
| 1892 | <i class="fa fa-arrow-left" aria-hidden="true"></i><span class="sr-only">Previous</span> | Marca HTML presente na saída da página. |
| 1893 | </a> | Marca HTML presente na saída da página. |
| 1894 | <a class="carousel-control-next" href="#customCarouselProtese" role="button" data-slide="next" aria-label="Próximo"> | Marca HTML presente na saída da página. |
| 1895 | <i class="fa fa-arrow-right" aria-hidden="true"></i><span class="sr-only">Next</span> | Marca HTML presente na saída da página. |
| 1896 | </a> | Marca HTML presente na saída da página. |
| 1897 | </div> | Marca HTML presente na saída da página. |
| 1898 | </div> | Marca HTML presente na saída da página. |
| 1899 | </div> | Marca HTML presente na saída da página. |
| 1900 | </section> | Marca HTML presente na saída da página. |
| 1901 | Linha em branco usada para separar blocos do arquivo. | |
| 1902 | <?php if ($servicos): ?> | Abre um bloco PHP executado no servidor. |
| 1903 | <section class="section"> | Marca HTML presente na saída da página. |
| 1904 | <div class="container"> | Marca HTML presente na saída da página. |
| 1905 | <?php if ($servicos): ?> | Abre um bloco PHP executado no servidor. |
| 1906 | <div class="cards"> | Marca HTML presente na saída da página. |
| 1907 | <?php foreach ($servicos as $s): ?> | Abre um bloco PHP executado no servidor. |
| 1908 | <article class="card"> | Marca HTML presente na saída da página. |
| 1909 | <img src="<?=h(jacy_fast_img_src($s['img'] ? $s['img'] : (UP . 'placeholder.webp')))?>" width="600" height="360" alt="<?=h($s['titulo'])?>" loading="lazy" decoding="async" fetchpriority="low" sizes="(max-width: 600px) 100vw, 33vw"> | Marca HTML presente na saída da página. |
| 1910 | <div class="p"> | Marca HTML presente na saída da página. |
| 1911 | <strong><?=h($s['titulo'])?></strong> | Marca HTML presente na saída da página. |
| 1912 | Linha em branco usada para separar blocos do arquivo. | |
| 1913 | <?php if (!empty($s['descricao'])): ?> | Abre um bloco PHP executado no servidor. |
| 1914 | <div class="muted"><?=h(mb_strimwidth(strip_tags($s['descricao']), 0, 160, '…', 'UTF-8'))?></div> | Marca HTML presente na saída da página. |
| 1915 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1916 | Linha em branco usada para separar blocos do arquivo. | |
| 1917 | <div style="display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px"> | Marca HTML presente na saída da página. |
| 1918 | <?php if ($s['preco'] !== ''): ?><span class="price"><?=h(money_br($s['preco']))?></span><?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1919 | <span class="muted">·</span> | Marca HTML presente na saída da página. |
| 1920 | <a class="btn btn-brand" href="<?=h($SET['agenda_url'])?>">Agendar</a> | Marca HTML presente na saída da página. |
| 1921 | <a class="btn btn-outline" href="<?=h($WPP)?>" target="_blank" rel="noopener">WhatsApp</a> | Marca HTML presente na saída da página. |
| 1922 | <?php if (!empty($s['link'])): ?> | Abre um bloco PHP executado no servidor. |
| 1923 | <a class="btn btn-outline" href="<?=h($s['link'])?>" target="_blank" rel="noopener">Detalhes</a> | Marca HTML presente na saída da página. |
| 1924 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1925 | </div> | Marca HTML presente na saída da página. |
| 1926 | </div> | Marca HTML presente na saída da página. |
| 1927 | </article> | Marca HTML presente na saída da página. |
| 1928 | <?php endforeach; ?> | Abre um bloco PHP executado no servidor. |
| 1929 | </div> | Marca HTML presente na saída da página. |
| 1930 | <?php else: ?> | Abre um bloco PHP executado no servidor. |
| 1931 | <p class="muted" aria-hidden="true"></p> | Marca HTML presente na saída da página. |
| 1932 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1933 | </div> | Marca HTML presente na saída da página. |
| 1934 | </section> | Marca HTML presente na saída da página. |
| 1935 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1936 | Linha em branco usada para separar blocos do arquivo. | |
| 1937 | <section id="agenda-seletiva" style="background:radial-gradient(1200px 600px at 70% -10%,#0d1f17 0%,#070b09 60%,#050807 100%);color:#fff"> | Marca HTML presente na saída da página. |
| 1938 | <div style="max-width:1200px;margin:0 auto;padding:60px 20px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center"> | Marca HTML presente na saída da página. |
| 1939 | <div> | Marca HTML presente na saída da página. |
| 1940 | <div id="heroSlider" style="position:relative;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 20px 60px rgba(0,0,0,.35)"> | Marca HTML presente na saída da página. |
| 1941 | <div id="heroTrack" style="display:flex;transition:transform .5s ease"> | Marca HTML presente na saída da página. |
| 1942 | <?php foreach ($HERO as $h): ?> | Abre um bloco PHP executado no servidor. |
| 1943 | <div class="hero-slide" data-video="<?=h($h['id'])?>" style="min-width:100%;position:relative;aspect-ratio:16/9;background:#000"> | Marca HTML presente na saída da página. |
| 1944 | <img alt="<?=h($h['titulo'] ?: 'Vídeo')?>" loading="lazy" fetchpriority="low" width="640" height="360" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9" src="<?=h($h['thumb'])?>" onerror="this.onerror=null;this.src='https://img.youtube.com/vi/<?=h($h['id'])?>/hqdefault.jpg'"> | Marca HTML presente na saída da página. |
| 1945 | <button class="play-btn" type="button" aria-label="Reproduzir vídeo" style="position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;border:0;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.35)"> | Marca HTML presente na saída da página. |
| 1946 | <svg width="28" height="28" viewBox="0 0 24 24" fill="#fff" aria-hidden="true"><path d="M8 5v14l11-7z"/></svg> | Marca HTML presente na saída da página. |
| 1947 | <span class="sr" style="position:absolute;left:-9999px">Reproduzir vídeo</span> | Marca HTML presente na saída da página. |
| 1948 | </button> | Marca HTML presente na saída da página. |
| 1949 | </div> | Marca HTML presente na saída da página. |
| 1950 | <?php endforeach; ?> | Abre um bloco PHP executado no servidor. |
| 1951 | </div> | Marca HTML presente na saída da página. |
| 1952 | Linha em branco usada para separar blocos do arquivo. | |
| 1953 | <button id="heroPrev" aria-label="Anterior" style="position:absolute;left:14px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:grid;place-items:center">‹</button> | Marca HTML presente na saída da página. |
| 1954 | <button id="heroNext" aria-label="Próximo" style="position:absolute;right:14px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:grid;place-items:center">›</button> | Marca HTML presente na saída da página. |
| 1955 | Linha em branco usada para separar blocos do arquivo. | |
| 1956 | <div id="heroDots" style="position:absolute;left:0;right:0;bottom:12px;display:flex;gap:8px;justify-content:center"> | Marca HTML presente na saída da página. |
| 1957 | <?php for ($i = 0, $n = count($HERO); $i < $n; $i++): ?> | Abre um bloco PHP executado no servidor. |
| 1958 | <button type="button" data-i="<?=$i?>" aria-label="Ir para o vídeo <?=$i + 1?>" style="width:8px;height:8px;border-radius:50%;border:0;cursor:pointer;<?=$i === 0 ? 'background:#ffffffaa' : 'background:#ffffff55'?>"></button> | Marca HTML presente na saída da página. |
| 1959 | <?php endfor; ?> | Abre um bloco PHP executado no servidor. |
| 1960 | </div> | Marca HTML presente na saída da página. |
| 1961 | </div> | Marca HTML presente na saída da página. |
| 1962 | </div> | Marca HTML presente na saída da página. |
| 1963 | Linha em branco usada para separar blocos do arquivo. | |
| 1964 | <div> | Marca HTML presente na saída da página. |
| 1965 | <h1 style="font-size:48px;line-height:1.1;margin:0 0 20px 0;font-weight:800;letter-spacing:.5px">Prótese Capilar em Cascavel<br>com Avaliação Profissional</h1> | Marca HTML presente na saída da página. |
| 1966 | <p style="color:#cfe6dc;line-height:1.7;margin:0 0 28px 0;max-width:46ch">Atendimento com hora marcada, avaliação individual, orientação sobre aplicação, manutenção e acabamento para um visual natural e alinhado ao seu perfil.</p> | Marca HTML presente na saída da página. |
| 1967 | <div style="display:flex;flex-direction:column;gap:16px;max-width:560px"> | Marca HTML presente na saída da página. |
| 1968 | <a id="ctaWhats" href="<?=h($WPP)?>" target="_blank" rel="noopener" style="display:block;text-align:center;background:#b8862d;color:#fff;padding:18px 24px;border-radius:32px;text-decoration:none;font-weight:700;letter-spacing:.3px;box-shadow:0 6px 24px rgba(19,170,120,.25)">FALAR COM O JACY PELO WHATSAPP</a> | Marca HTML presente na saída da página. |
| 1969 | <a id="ctaApp" href="<?=h($AGENDA_LINK)?>" target="_blank" rel="noopener" style="display:block;text-align:center;background:transparent;color:#d1aa57;padding:18px 24px;border-radius:32px;text-decoration:none;font-weight:700;letter-spacing:.3px;border:2px solid rgba(215,239,230,.35)">AGENDAR PELO BARBERBOT</a> | Marca HTML presente na saída da página. |
| 1970 | </div> | Marca HTML presente na saída da página. |
| 1971 | </div> | Marca HTML presente na saída da página. |
| 1972 | </div> | Marca HTML presente na saída da página. |
| 1973 | </section> | Marca HTML presente na saída da página. |
| 1974 | Linha em branco usada para separar blocos do arquivo. | |
| 1975 | <?php if (!empty($GALERIA_ROWS)): ?> | Abre um bloco PHP executado no servidor. |
| 1976 | <section id="galeria-banco" style="padding:40px 0;background:#0b0b0d;color:#fff"> | Marca HTML presente na saída da página. |
| 1977 | <div style="max-width:1200px;margin:0 auto;padding:0 16px"> | Marca HTML presente na saída da página. |
| 1978 | <h2 style="margin:0 0 22px;font-size:28px;font-weight:800;letter-spacing:.3px">Galeria de trabalhos</h2> | Marca HTML presente na saída da página. |
| 1979 | Linha em branco usada para separar blocos do arquivo. | |
| 1980 | <div id="galeriaWrap" style="position:relative"> | Marca HTML presente na saída da página. |
| 1981 | <button id="galPrev" type="button" aria-label="Anterior" style="position:absolute;left:-8px;top:45%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.15);color:#fff;font-size:24px;z-index:2">‹</button> | Marca HTML presente na saída da página. |
| 1982 | <button id="galNext" type="button" aria-label="Próximo" style="position:absolute;right:-8px;top:45%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.15);color:#fff;font-size:24px;z-index:2">›</button> | Marca HTML presente na saída da página. |
| 1983 | Linha em branco usada para separar blocos do arquivo. | |
| 1984 | <div id="galeriaViewport" style="overflow:hidden"> | Marca HTML presente na saída da página. |
| 1985 | <div id="galTrack" style="display:flex;gap:22px;transition:none;will-change:transform"> | Marca HTML presente na saída da página. |
| 1986 | <?php foreach ($GALERIA_ROWS as $g): ?> | Abre um bloco PHP executado no servidor. |
| 1987 | <figure class="galItem" data-jacy-open-whatsapp-modal="1" role="button" tabindex="0" aria-label="Abrir atendimento pelo WhatsApp" style="margin:0;min-width:25%;display:flex;flex-direction:column;align-items:center"> | Marca HTML presente na saída da página. |
| 1988 | <div style="width:100%;aspect-ratio:1/1.02;position:relative;border-radius:12px;overflow:hidden;background:#000"> | Marca HTML presente na saída da página. |
| 1989 | <img src="<?=h(jacy_fast_img_src((string)$g['src']))?>" alt="<?=h($g['titulo'] ?: 'Foto')?>" width="400" height="408" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block" loading="lazy" decoding="async" fetchpriority="low" onerror="this.onerror=null;this.src='/sistema/painel/img/foto_admin/sem-foto.jpg'"> | Marca HTML presente na saída da página. |
| 1990 | </div> | Marca HTML presente na saída da página. |
| 1991 | <?php if (!empty($g['titulo'])): ?> | Abre um bloco PHP executado no servidor. |
| 1992 | <figcaption style="margin-top:12px;font-weight:700;text-align:center"><?=h($g['titulo'])?></figcaption> | Marca HTML presente na saída da página. |
| 1993 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 1994 | </figure> | Marca HTML presente na saída da página. |
| 1995 | <?php endforeach; ?> | Abre um bloco PHP executado no servidor. |
| 1996 | </div> | Marca HTML presente na saída da página. |
| 1997 | </div> | Marca HTML presente na saída da página. |
| 1998 | </div> | Marca HTML presente na saída da página. |
| 1999 | </div> | Marca HTML presente na saída da página. |
| 2000 | </section> | Marca HTML presente na saída da página. |
| 2001 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 2002 | Linha em branco usada para separar blocos do arquivo. | |
| 2003 | <section class="jacy-simulacao-section" style="background:linear-gradient(180deg,#090909 0%,#0f0c08 100%);padding:56px 0 48px;border-top:1px solid rgba(209,170,87,.18);border-bottom:1px solid rgba(209,170,87,.18);"> | Marca HTML presente na saída da página. |
| 2004 | <div style="max-width:1280px;margin:0 auto;padding:0 16px;"> | Marca HTML presente na saída da página. |
| 2005 | Linha em branco usada para separar blocos do arquivo. | |
| 2006 | <div style="text-align:center;margin:0 auto 34px;max-width:980px;"> | Marca HTML presente na saída da página. |
| 2007 | <h2 style="margin:0 0 14px;font-size:42px;line-height:1.15;font-weight:800;color:#fff;"> | Marca HTML presente na saída da página. |
| 2008 | Simulação visual para apoiar sua avaliação | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2009 | </h2> | Marca HTML presente na saída da página. |
| 2010 | Linha em branco usada para separar blocos do arquivo. | |
| 2011 | <p style="margin:0 auto;max-width:860px;color:#d7d7d7;line-height:1.8;font-size:16px;"> | Marca HTML presente na saída da página. |
| 2012 | Envie uma foto frontal para gerar uma prévia visual de referência. A simulação ajuda na conversa inicial e respeita a cor natural do cabelo. A definição final de cor, densidade e modelo é feita durante a avaliação profissional. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2013 | </p> | Marca HTML presente na saída da página. |
| 2014 | </div> | Marca HTML presente na saída da página. |
| 2015 | Linha em branco usada para separar blocos do arquivo. | |
| 2016 | <div style="display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:28px;align-items:stretch;"> | Marca HTML presente na saída da página. |
| 2017 | <div class="jacy-sim-card" style="flex:1 1 320px;max-width:390px;min-width:280px;background:linear-gradient(180deg,#f4ead7 0%,#e7d8bf 100%);border:1px solid rgba(209,170,87,.38);border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.22);padding:28px 22px;text-align:center;"> | Marca HTML presente na saída da página. |
| 2018 | <div class="jacy-sim-num" style="width:72px;height:72px;line-height:72px;margin:0 auto 15px;border-radius:50%;background:linear-gradient(135deg,#d4ad5a 0%,#b8872d 100%);color:#17120b;font-size:28px;font-weight:900;box-shadow:0 10px 22px rgba(184,134,45,.24);">1</div> | Marca HTML presente na saída da página. |
| 2019 | <h4 style="margin:0 0 10px;font-weight:900;color:#1f160a !important;text-shadow:none !important;opacity:1 !important;">Envie sua foto</h4> | Marca HTML presente na saída da página. |
| 2020 | <p style="margin:0;color:#5c4a2f !important;line-height:1.7;text-shadow:none !important;opacity:1 !important;font-weight:600;">Envie uma foto frontal para gerar uma prévia visual de referência para o atendimento.</p> | Marca HTML presente na saída da página. |
| 2021 | </div> | Marca HTML presente na saída da página. |
| 2022 | Linha em branco usada para separar blocos do arquivo. | |
| 2023 | <div class="jacy-sim-card" style="flex:1 1 320px;max-width:390px;min-width:280px;background:linear-gradient(180deg,#f4ead7 0%,#e7d8bf 100%);border:1px solid rgba(209,170,87,.38);border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.22);padding:28px 22px;text-align:center;"> | Marca HTML presente na saída da página. |
| 2024 | <div class="jacy-sim-num" style="width:72px;height:72px;line-height:72px;margin:0 auto 15px;border-radius:50%;background:linear-gradient(135deg,#d4ad5a 0%,#b8872d 100%);color:#17120b;font-size:28px;font-weight:900;box-shadow:0 10px 22px rgba(184,134,45,.24);">2</div> | Marca HTML presente na saída da página. |
| 2025 | <h4 style="margin:0 0 10px;font-weight:900;color:#1f160a !important;text-shadow:none !important;opacity:1 !important;">Prévia com referência natural</h4> | Marca HTML presente na saída da página. |
| 2026 | <p style="margin:0;color:#5c4a2f !important;line-height:1.7;text-shadow:none !important;opacity:1 !important;font-weight:600;">A prévia considera a cor natural do cabelo e serve como apoio para a avaliação presencial ou online.</p> | Marca HTML presente na saída da página. |
| 2027 | </div> | Marca HTML presente na saída da página. |
| 2028 | Linha em branco usada para separar blocos do arquivo. | |
| 2029 | <div class="jacy-sim-card" style="flex:1 1 320px;max-width:390px;min-width:280px;background:linear-gradient(180deg,#f4ead7 0%,#e7d8bf 100%);border:1px solid rgba(209,170,87,.38);border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.22);padding:28px 22px;text-align:center;"> | Marca HTML presente na saída da página. |
| 2030 | <div class="jacy-sim-num" style="width:72px;height:72px;line-height:72px;margin:0 auto 15px;border-radius:50%;background:linear-gradient(135deg,#d4ad5a 0%,#b8872d 100%);color:#17120b;font-size:28px;font-weight:900;box-shadow:0 10px 22px rgba(184,134,45,.24);">3</div> | Marca HTML presente na saída da página. |
| 2031 | <h4 style="margin:0 0 10px;font-weight:900;color:#1f160a !important;text-shadow:none !important;opacity:1 !important;">Receba uma referência visual</h4> | Marca HTML presente na saída da página. |
| 2032 | <p style="margin:0;color:#5c4a2f !important;line-height:1.7;text-shadow:none !important;opacity:1 !important;font-weight:600;">Visualize uma referência antes do atendimento. O resultado final depende da avaliação, materiais, técnica de aplicação e manutenção.</p> | Marca HTML presente na saída da página. |
| 2033 | </div> | Marca HTML presente na saída da página. |
| 2034 | </div> | Marca HTML presente na saída da página. |
| 2035 | Linha em branco usada para separar blocos do arquivo. | |
| 2036 | <div style="max-width:760px;margin:0 auto;"> | Marca HTML presente na saída da página. |
| 2037 | <div class="jacy-sim-cta" style="text-align:center;padding:28px;background:linear-gradient(180deg,rgba(24,21,16,.94) 0%,rgba(16,14,11,.98) 100%);border:1px solid rgba(209,170,87,.24);border-radius:16px;box-shadow:0 18px 36px rgba(0,0,0,.26);"> | Marca HTML presente na saída da página. |
| 2038 | <h4 style="margin:0 0 12px;color:#fff;font-weight:700;">Solicite uma simulação visual com orientação profissional</h4> | Marca HTML presente na saída da página. |
| 2039 | <p style="margin:0 0 20px;color:#d7d7d7;line-height:1.8;"> | Marca HTML presente na saída da página. |
| 2040 | Envie sua foto e receba uma prévia visual para iniciar sua avaliação. A definição final de cor, densidade e modelo será orientada pelo profissional durante o atendimento. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2041 | </p> | Marca HTML presente na saída da página. |
| 2042 | Linha em branco usada para separar blocos do arquivo. | |
| 2043 | <a | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2044 | href="#modalSimulacaoCliente" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2045 | id="btnAbrirSimuladorProtese" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2046 | data-toggle="modal" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2047 | data-target="#modalSimulacaoCliente" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2048 | role="button" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2049 | class="btn btn-primary btn-lg" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2050 | style="font-size:1.3rem;padding:12px 34px;border-radius:50px;text-decoration:none;display:inline-block;font-weight:900;background:linear-gradient(135deg,#d1aa57 0%,#b8862d 55%,#8f6520 100%);border:0;color:#111;box-shadow:0 12px 28px rgba(184,134,45,.28);" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2051 | > | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2052 | Solicitar simulação visual | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2053 | </a> | Marca HTML presente na saída da página. |
| 2054 | </div> | Marca HTML presente na saída da página. |
| 2055 | </div> | Marca HTML presente na saída da página. |
| 2056 | Linha em branco usada para separar blocos do arquivo. | |
| 2057 | </div> | Marca HTML presente na saída da página. |
| 2058 | </section> | Marca HTML presente na saída da página. |
| 2059 | Linha em branco usada para separar blocos do arquivo. | |
| 2060 | <section class="experience-section visitas-normal" style="background:linear-gradient(135deg,#11100d 0%,#1b1711 55%,#0f0d0a 100%); color:#e9e9ee; padding:56px 0 48px; border-top:1px solid #2a2a2a; border-bottom:1px solid #2a2a2a; position:relative; overflow:hidden"> | Marca HTML presente na saída da página. |
| 2061 | <div class="xp-wrap"> | Marca HTML presente na saída da página. |
| 2062 | <div class="xp-grid"> | Marca HTML presente na saída da página. |
| 2063 | <div class="xp-left-year"> | Marca HTML presente na saída da página. |
| 2064 | <div class="xp-year">1999</div> | Marca HTML presente na saída da página. |
| 2065 | <div class="xp-subtitle">Início da nossa trajetória</div> | Marca HTML presente na saída da página. |
| 2066 | <div class="xp-underline"></div> | Marca HTML presente na saída da página. |
| 2067 | Linha em branco usada para separar blocos do arquivo. | |
| 2068 | <div class="xp-visitas"> | Marca HTML presente na saída da página. |
| 2069 | <div style="font-size:2.2rem">👁️</div> | Marca HTML presente na saída da página. |
| 2070 | <div style="text-align:left"> | Marca HTML presente na saída da página. |
| 2071 | <div class="xp-vis-num"><span class="counter-1999" data-target="0">0</span></div> | Marca HTML presente na saída da página. |
| 2072 | <div class="xp-vis-label">Visitas ao site</div> | Marca HTML presente na saída da página. |
| 2073 | </div> | Marca HTML presente na saída da página. |
| 2074 | </div> | Marca HTML presente na saída da página. |
| 2075 | </div> | Marca HTML presente na saída da página. |
| 2076 | Linha em branco usada para separar blocos do arquivo. | |
| 2077 | <div> | Marca HTML presente na saída da página. |
| 2078 | <h2 class="xp-title">Experiência desde <span class="blue">1999</span></h2> | Marca HTML presente na saída da página. |
| 2079 | <p class="xp-desc"> | Marca HTML presente na saída da página. |
| 2080 | Há mais de 25 anos, Jacy Cordeiro oferece atendimento personalizado | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2081 | em Cascavel, com avaliação individual, orientação sobre aplicação, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2082 | manutenção e acabamento para um resultado discreto e alinhado ao | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2083 | perfil de cada cliente.</p> | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2084 | Linha em branco usada para separar blocos do arquivo. | |
| 2085 | <div class="exp-stats"> | Marca HTML presente na saída da página. |
| 2086 | <div class="exp-card"> | Marca HTML presente na saída da página. |
| 2087 | <div class="exp-num exp-num--blue">+ 25 anos</div> | Marca HTML presente na saída da página. |
| 2088 | <div class="exp-label">de experiências</div> | Marca HTML presente na saída da página. |
| 2089 | </div> | Marca HTML presente na saída da página. |
| 2090 | <div class="exp-card"> | Marca HTML presente na saída da página. |
| 2091 | <div class="exp-num exp-num--green">Atendimento </div> | Marca HTML presente na saída da página. |
| 2092 | <div class="exp-label">personalizado</div> | Marca HTML presente na saída da página. |
| 2093 | </div> | Marca HTML presente na saída da página. |
| 2094 | <div class="exp-card"> | Marca HTML presente na saída da página. |
| 2095 | <div class="exp-num exp-num--gold">Resultado</div> | Marca HTML presente na saída da página. |
| 2096 | <div class="exp-label">natural e discreto</div> | Marca HTML presente na saída da página. |
| 2097 | </div> | Marca HTML presente na saída da página. |
| 2098 | </div> | Marca HTML presente na saída da página. |
| 2099 | Linha em branco usada para separar blocos do arquivo. | |
| 2100 | <div class="xp-badges"> | Marca HTML presente na saída da página. |
| 2101 | <span class="xp-badge xp-badge--cert"><span class="dot">✔</span>Avaliação individual</span> | Marca HTML presente na saída da página. |
| 2102 | <span class="xp-badge xp-badge--qual"><span class="dot">🏆</span>Experiência e cuidado</span> | Marca HTML presente na saída da página. |
| 2103 | </div> | Marca HTML presente na saída da página. |
| 2104 | </div> | Marca HTML presente na saída da página. |
| 2105 | </div> | Marca HTML presente na saída da página. |
| 2106 | </div> | Marca HTML presente na saída da página. |
| 2107 | Linha em branco usada para separar blocos do arquivo. | |
| 2108 | <div style="position:absolute;inset:auto -10% -40% -10%;height:300px;background:radial-gradient(60% 60% at 50% 0%,rgba(45,134,255,.25),transparent 60%)"></div> | Marca HTML presente na saída da página. |
| 2109 | </section> | Marca HTML presente na saída da página. |
| 2110 | Linha em branco usada para separar blocos do arquivo. | |
| 2111 | <section style="background:#0b0b0d;color:#fff;padding:36px 0"> | Marca HTML presente na saída da página. |
| 2112 | <div style="max-width:1280px;margin:0 auto;padding:0 16px;display:flex;flex-wrap:wrap;gap:24px;align-items:center"> | Marca HTML presente na saída da página. |
| 2113 | <div style="flex:1 1 520px;min-width:280px"> | Marca HTML presente na saída da página. |
| 2114 | <div style="border-radius:14px;overflow:hidden;background:#000"> | Marca HTML presente na saída da página. |
| 2115 | <?php | Abre um bloco PHP executado no servidor. |
| 2116 | $url_video = isset($url_video) ? (string)$url_video : ''; | Atribui o valor ou resultado exibido à variável. |
| 2117 | $posicao_video = isset($posicao_video) ? (string)$posicao_video : ''; | Atribui o valor ou resultado exibido à variável. |
| 2118 | $imagem_sobre = isset($imagem_sobre) ? basename((string)$imagem_sobre) : 'sobre.jpg'; | Atribui o valor ou resultado exibido à variável. |
| 2119 | $texto_sobre = isset($texto_sobre) ? (string)$texto_sobre : ''; | Atribui o valor ou resultado exibido à variável. |
| 2120 | $videoEmCima = ($url_video !== '' && trim($posicao_video) === 'sobre'); | Atribui o valor ou resultado exibido à variável. |
| 2121 | $videoEmBaixo = ($url_video !== '' && trim($posicao_video) === 'abaixo'); | Atribui o valor ou resultado exibido à variável. |
| 2122 | Linha em branco usada para separar blocos do arquivo. | |
| 2123 | if ($videoEmCima) { | Avalia a condição escrita nesta linha. |
| 2124 | echo '<div style="position:relative;width:100%;padding-top:56.25%"><iframe src="about:blank" data-src="' . h($url_video) . '" class="js-lazy-iframe" title="Vídeo institucional" frameborder="0" loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen referrerpolicy="strict-origin-when-cross-origin" style="position:absolute;inset:0;width:100%;height:100%;display:block;border:0"></iframe></div>'; | Envia conteúdo para a saída da requisição. |
| 2125 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2126 | $imgPath = "images/{$imagem_sobre}"; | Atribui o valor ou resultado exibido à variável. |
| 2127 | $webpPath = preg_replace('/\.(jpe?g|png)$/i', '.webp', $imgPath); | Atribui o valor ou resultado exibido à variável. |
| 2128 | ?> | Fecha o bloco PHP. |
| 2129 | <picture> | Marca HTML presente na saída da página. |
| 2130 | <?php if ($webpPath && file_exists($webpPath)): ?> | Abre um bloco PHP executado no servidor. |
| 2131 | <source type="image/webp" srcset="<?=h($webpPath)?>"> | Marca HTML presente na saída da página. |
| 2132 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 2133 | <img src="<?=h($imgPath)?>" alt="Sobre nós" width="1200" height="675" loading="lazy" decoding="async" fetchpriority="low" style="width:100%;height:auto;display:block"> | Marca HTML presente na saída da página. |
| 2134 | </picture> | Marca HTML presente na saída da página. |
| 2135 | <?php } ?> | Abre um bloco PHP executado no servidor. |
| 2136 | </div> | Marca HTML presente na saída da página. |
| 2137 | </div> | Marca HTML presente na saída da página. |
| 2138 | Linha em branco usada para separar blocos do arquivo. | |
| 2139 | <div style="flex:1 1 520px;min-width:280px;display:flex;align-items:center"> | Marca HTML presente na saída da página. |
| 2140 | <div style="width:100%"> | Marca HTML presente na saída da página. |
| 2141 | <h4 style="margin:0 0 14px;font-size:42px;line-height:1.15;font-weight:800;letter-spacing:.4px">Sobre Nós</h4> | Marca HTML presente na saída da página. |
| 2142 | <p style="margin:0 0 22px;line-height:1.75;font-size:16px;color:#EDEDED"><?=nl2br(h($texto_sobre))?></p> | Marca HTML presente na saída da página. |
| 2143 | <a href="#empresa" data-toggle="modal" data-target="#empresa" aria-controls="empresa" aria-label="Abrir informações da empresa" style="display:inline-block;background:#d1aa57;border:0;color:#fff;padding:14px 22px;border-radius:999px;font-weight:800;letter-spacing:.3px;text-decoration:none;box-shadow:0 8px 26px rgba(209,170,87,.35)">Mais Informações</a> | Marca HTML presente na saída da página. |
| 2144 | </div> | Marca HTML presente na saída da página. |
| 2145 | </div> | Marca HTML presente na saída da página. |
| 2146 | </div> | Marca HTML presente na saída da página. |
| 2147 | </section> | Marca HTML presente na saída da página. |
| 2148 | Linha em branco usada para separar blocos do arquivo. | |
| 2149 | <?php if (!empty($videoEmBaixo)): ?> | Abre um bloco PHP executado no servidor. |
| 2150 | <div style="background:#0b0b0d;padding:12px 0"> | Marca HTML presente na saída da página. |
| 2151 | <div style="max-width:1280px;margin:0 auto;padding:0 16px"> | Marca HTML presente na saída da página. |
| 2152 | <div style="position:relative;width:100%;padding-top:56.25%;border-radius:14px;overflow:hidden;background:#000"> | Marca HTML presente na saída da página. |
| 2153 | <iframe class="video_mobile js-lazy-iframe" src="about:blank" data-src="<?=h($url_video)?>" title="Vídeo institucional" frameborder="0" loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen referrerpolicy="strict-origin-when-cross-origin" style="position:absolute;inset:0;width:100%;height:100%;display:block;border:0"></iframe> | Marca HTML presente na saída da página. |
| 2154 | </div> | Marca HTML presente na saída da página. |
| 2155 | </div> | Marca HTML presente na saída da página. |
| 2156 | </div> | Marca HTML presente na saída da página. |
| 2157 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 2158 | Linha em branco usada para separar blocos do arquivo. | |
| 2159 | <?php | Abre um bloco PHP executado no servidor. |
| 2160 | $resDep = []; | Atribui o valor ou resultado exibido à variável. |
| 2161 | Linha em branco usada para separar blocos do arquivo. | |
| 2162 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2163 | $__colsDep = $pdo ? $pdo->query("SHOW COLUMNS FROM comentarios")->fetchAll(PDO::FETCH_COLUMN) : []; | Executa uma consulta pelo objeto PDO. |
| 2164 | $__selectDep = "nome, texto, foto"; | Atribui o valor ou resultado exibido à variável. |
| 2165 | Linha em branco usada para separar blocos do arquivo. | |
| 2166 | if (in_array('video', $__colsDep, true)) { | Avalia a condição escrita nesta linha. |
| 2167 | $__selectDep .= ", video"; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2168 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2169 | $__selectDep .= ", '' AS video"; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2170 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2171 | Linha em branco usada para separar blocos do arquivo. | |
| 2172 | if (in_array('print_whatsapp', $__colsDep, true)) { | Avalia a condição escrita nesta linha. |
| 2173 | $__selectDep .= ", print_whatsapp"; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2174 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2175 | $__selectDep .= ", '' AS print_whatsapp"; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2176 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2177 | Linha em branco usada para separar blocos do arquivo. | |
| 2178 | $resDep = $pdo ? $pdo->query("SELECT {$__selectDep} FROM comentarios WHERE ativo='Sim' ORDER BY id DESC LIMIT 20")->fetchAll(PDO::FETCH_ASSOC) : []; | Executa uma consulta pelo objeto PDO. |
| 2179 | } catch (Throwable $e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2180 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2181 | $resDep = $pdo ? $pdo->query("SELECT nome, texto, foto, '' AS video, '' AS print_whatsapp FROM comentarios WHERE ativo='Sim' ORDER BY id DESC LIMIT 20")->fetchAll(PDO::FETCH_ASSOC) : []; | Executa uma consulta pelo objeto PDO. |
| 2182 | } catch (Throwable $e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2183 | $resDep = []; | Atribui o valor ou resultado exibido à variável. |
| 2184 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2185 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2186 | Linha em branco usada para separar blocos do arquivo. | |
| 2187 | if ($resDep && count($resDep) > 0): | Avalia a condição escrita nesta linha. |
| 2188 | ?> | Fecha o bloco PHP. |
| 2189 | Linha em branco usada para separar blocos do arquivo. | |
| 2190 | <section id="depoimentos" class="depoimentos-protese-section"> | Marca HTML presente na saída da página. |
| 2191 | <div class="depoimentos-protese-container"> | Marca HTML presente na saída da página. |
| 2192 | <h2 class="depoimentos-protese-titulo">Depoimentos de clientes</h2> | Marca HTML presente na saída da página. |
| 2193 | Linha em branco usada para separar blocos do arquivo. | |
| 2194 | <div class="depoimentos-controle-protese"> | Marca HTML presente na saída da página. |
| 2195 | <button id="depPrev" type="button" aria-label="Anterior">‹</button> | Marca HTML presente na saída da página. |
| 2196 | <div id="depDots" class="depoimentos-dots-protese"></div> | Marca HTML presente na saída da página. |
| 2197 | <button id="depNext" type="button" aria-label="Próximo">›</button> | Marca HTML presente na saída da página. |
| 2198 | </div> | Marca HTML presente na saída da página. |
| 2199 | Linha em branco usada para separar blocos do arquivo. | |
| 2200 | <div class="depoimentos-viewport-protese"> | Marca HTML presente na saída da página. |
| 2201 | <div id="depTrack" class="depoimentos-track-protese"> | Marca HTML presente na saída da página. |
| 2202 | <?php foreach ($resDep as $c): | Abre um bloco PHP executado no servidor. |
| 2203 | $nome = trim($c['nome'] ?? ''); | Atribui o valor ou resultado exibido à variável. |
| 2204 | $texto = trim($c['texto'] ?? ''); | Atribui o valor ou resultado exibido à variável. |
| 2205 | $foto = basename((string)($c['foto'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 2206 | $video = basename((string)($c['video'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 2207 | $print_whatsapp = basename((string)($c['print_whatsapp'] ?? '')); | Atribui o valor ou resultado exibido à variável. |
| 2208 | Linha em branco usada para separar blocos do arquivo. | |
| 2209 | $path = "sistema/painel/img/comentarios/" . ($foto ?: 'sem-foto.jpg'); | Atribui o valor ou resultado exibido à variável. |
| 2210 | $webp = preg_replace('/\.(jpe?g|png)$/i', '.webp', $path); | Atribui o valor ou resultado exibido à variável. |
| 2211 | $src = (is_file($_SERVER['DOCUMENT_ROOT'] . '/' . $webp) ? $webp : $path); | Atribui o valor ou resultado exibido à variável. |
| 2212 | Linha em branco usada para separar blocos do arquivo. | |
| 2213 | $videoSrc = $video !== '' ? "sistema/painel/img/comentarios/" . $video : ''; | Atribui o valor ou resultado exibido à variável. |
| 2214 | $printSrc = $print_whatsapp !== '' ? "sistema/painel/img/comentarios/" . $print_whatsapp : ''; | Atribui o valor ou resultado exibido à variável. |
| 2215 | ?> | Fecha o bloco PHP. |
| 2216 | <article class="depItem depoimento-item-protese"> | Marca HTML presente na saída da página. |
| 2217 | <div class="depoimento-card-protese"> | Marca HTML presente na saída da página. |
| 2218 | <div class="depoimento-card-topo-protese"> | Marca HTML presente na saída da página. |
| 2219 | <img | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2220 | class="depoimento-card-foto-protese" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2221 | src="<?=h(jacy_fast_img_src((string)$src))?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2222 | alt="<?=h($nome ?: 'Cliente')?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2223 | width="96" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2224 | height="96" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2225 | loading="lazy" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2226 | decoding="async" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2227 | fetchpriority="low" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2228 | > | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2229 | Linha em branco usada para separar blocos do arquivo. | |
| 2230 | <div class="depoimento-card-info-protese"> | Marca HTML presente na saída da página. |
| 2231 | <strong><?=h($nome ?: 'Cliente')?></strong> | Marca HTML presente na saída da página. |
| 2232 | <span>Avaliação verificada</span> | Marca HTML presente na saída da página. |
| 2233 | </div> | Marca HTML presente na saída da página. |
| 2234 | </div> | Marca HTML presente na saída da página. |
| 2235 | Linha em branco usada para separar blocos do arquivo. | |
| 2236 | <div class="depoimento-card-corpo-protese"> | Marca HTML presente na saída da página. |
| 2237 | <p class="depoimento-card-texto-protese"><?=nl2br(h($texto))?></p> | Marca HTML presente na saída da página. |
| 2238 | Linha em branco usada para separar blocos do arquivo. | |
| 2239 | <?php if ($videoSrc !== '' || $printSrc !== ''): ?> | Abre um bloco PHP executado no servidor. |
| 2240 | <div class="depoimento-card-midias-protese"> | Marca HTML presente na saída da página. |
| 2241 | <?php if ($videoSrc !== ''): ?> | Abre um bloco PHP executado no servidor. |
| 2242 | <div class="depoimento-card-midia-protese"> | Marca HTML presente na saída da página. |
| 2243 | <video controls preload="metadata" playsinline> | Marca HTML presente na saída da página. |
| 2244 | <source src="<?=h($videoSrc)?>" type="video/mp4"> | Marca HTML presente na saída da página. |
| 2245 | </video> | Marca HTML presente na saída da página. |
| 2246 | </div> | Marca HTML presente na saída da página. |
| 2247 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 2248 | Linha em branco usada para separar blocos do arquivo. | |
| 2249 | <?php if ($printSrc !== ''): ?> | Abre um bloco PHP executado no servidor. |
| 2250 | <div class="depoimento-card-midia-protese"> | Marca HTML presente na saída da página. |
| 2251 | <img | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2252 | src="<?=h($printSrc)?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2253 | alt="Print do WhatsApp do depoimento de <?=h($nome ?: 'cliente')?>" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2254 | loading="lazy" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2255 | decoding="async" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2256 | > | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2257 | </div> | Marca HTML presente na saída da página. |
| 2258 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 2259 | </div> | Marca HTML presente na saída da página. |
| 2260 | <?php else: ?> | Abre um bloco PHP executado no servidor. |
| 2261 | <div class="depoimento-card-sem-midia-protese"> | Marca HTML presente na saída da página. |
| 2262 | Depoimento cliente satisfeit. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2263 | </div> | Marca HTML presente na saída da página. |
| 2264 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 2265 | </div> | Marca HTML presente na saída da página. |
| 2266 | </div> | Marca HTML presente na saída da página. |
| 2267 | </article> | Marca HTML presente na saída da página. |
| 2268 | <?php endforeach; ?> | Abre um bloco PHP executado no servidor. |
| 2269 | </div> | Marca HTML presente na saída da página. |
| 2270 | </div> | Marca HTML presente na saída da página. |
| 2271 | Linha em branco usada para separar blocos do arquivo. | |
| 2272 | <div class="depoimentos-protese-botao"> | Marca HTML presente na saída da página. |
| 2273 | <a href="#modalComentario" data-toggle="modal" data-target="#modalComentario">Enviar depoimento</a> | Marca HTML presente na saída da página. |
| 2274 | </div> | Marca HTML presente na saída da página. |
| 2275 | </div> | Marca HTML presente na saída da página. |
| 2276 | </section> | Marca HTML presente na saída da página. |
| 2277 | <?php endif; ?> | Abre um bloco PHP executado no servidor. |
| 2278 | </main> | Marca HTML presente na saída da página. |
| 2279 | Linha em branco usada para separar blocos do arquivo. | |
| 2280 | <?php require_once("rodape.php"); ?> | Abre um bloco PHP executado no servidor. |
| 2281 | Linha em branco usada para separar blocos do arquivo. | |
| 2282 | <div class="modal fade" id="modalSimulacaoCliente" tabindex="-1" role="dialog" aria-labelledby="modalSimulacaoClienteLabel" aria-hidden="true"> | Marca HTML presente na saída da página. |
| 2283 | <div class="modal-dialog modal-xl" role="document"> | Marca HTML presente na saída da página. |
| 2284 | <div class="modal-content"> | Marca HTML presente na saída da página. |
| 2285 | <div class="modal-header"> | Marca HTML presente na saída da página. |
| 2286 | <h4 class="modal-title" id="modalSimulacaoClienteLabel">Simulação Visual de Prótese Capilar</h4> | Marca HTML presente na saída da página. |
| 2287 | <button type="button" class="close" data-dismiss="modal" aria-label="Fechar modal"> | Marca HTML presente na saída da página. |
| 2288 | <span aria-hidden="true">×</span> | Marca HTML presente na saída da página. |
| 2289 | </button> | Marca HTML presente na saída da página. |
| 2290 | </div> | Marca HTML presente na saída da página. |
| 2291 | Linha em branco usada para separar blocos do arquivo. | |
| 2292 | <form id="form_simulacao_cliente" method="post" action="javascript:void(0);" enctype="multipart/form-data" onsubmit="return false;"> | Marca HTML presente na saída da página. |
| 2293 | <div class="modal-body"> | Marca HTML presente na saída da página. |
| 2294 | <div class="alert alert-info" style="font-size:14px;line-height:22px;"> | Marca HTML presente na saída da página. |
| 2295 | Envie uma foto frontal para uma prévia visual de referência. A imagem será usada para atendimento e simulação, conforme a Política de Privacidade. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2296 | </div> | Marca HTML presente na saída da página. |
| 2297 | Linha em branco usada para separar blocos do arquivo. | |
| 2298 | <div class="row"> | Marca HTML presente na saída da página. |
| 2299 | <div class="col-md-6"> | Marca HTML presente na saída da página. |
| 2300 | <div class="form-group"> | Marca HTML presente na saída da página. |
| 2301 | <label for="nome_simulacao_cliente">Seu Nome *</label> | Marca HTML presente na saída da página. |
| 2302 | <input type="text" class="form-control" id="nome_simulacao_cliente" name="nome" autocomplete="name" placeholder="Digite seu nome" required> | Marca HTML presente na saída da página. |
| 2303 | </div> | Marca HTML presente na saída da página. |
| 2304 | </div> | Marca HTML presente na saída da página. |
| 2305 | Linha em branco usada para separar blocos do arquivo. | |
| 2306 | <div class="col-md-6"> | Marca HTML presente na saída da página. |
| 2307 | <div class="form-group"> | Marca HTML presente na saída da página. |
| 2308 | <label for="telefone_simulacao_cliente">WhatsApp *</label> | Marca HTML presente na saída da página. |
| 2309 | <input type="tel" class="form-control" id="telefone_simulacao_cliente" name="telefone" autocomplete="tel" inputmode="tel" placeholder="(00) 00000-0000" maxlength="15" required> | Marca HTML presente na saída da página. |
| 2310 | </div> | Marca HTML presente na saída da página. |
| 2311 | </div> | Marca HTML presente na saída da página. |
| 2312 | </div> | Marca HTML presente na saída da página. |
| 2313 | Linha em branco usada para separar blocos do arquivo. | |
| 2314 | <div class="row"> | Marca HTML presente na saída da página. |
| 2315 | <div class="col-md-12"> | Marca HTML presente na saída da página. |
| 2316 | <div class="form-group"> | Marca HTML presente na saída da página. |
| 2317 | <label for="foto_simulacao_cliente">Escolha sua foto</label> | Marca HTML presente na saída da página. |
| 2318 | <input type="file" class="form-control" id="foto_simulacao_cliente" name="foto" accept=".jpg,.jpeg,.png,.webp" onchange="carregarPreviewSimulacaoCliente()" required> | Marca HTML presente na saída da página. |
| 2319 | </div> | Marca HTML presente na saída da página. |
| 2320 | </div> | Marca HTML presente na saída da página. |
| 2321 | </div> | Marca HTML presente na saída da página. |
| 2322 | Linha em branco usada para separar blocos do arquivo. | |
| 2323 | <div class="row linha-imagens"> | Marca HTML presente na saída da página. |
| 2324 | <div class="col-md-6"> | Marca HTML presente na saída da página. |
| 2325 | <div class="painel-comparacao-simulacao"> | Marca HTML presente na saída da página. |
| 2326 | <span class="selo-comparacao">Antes</span> | Marca HTML presente na saída da página. |
| 2327 | <div class="titulo-painel">Imagem Original</div> | Marca HTML presente na saída da página. |
| 2328 | <div class="box-imagem-simulacao"> | Marca HTML presente na saída da página. |
| 2329 | <img src="/sistema/painel/images/simulacoes/sem-foto.jpg" id="preview_original_simulacao_cliente" alt="Prévia da imagem original enviada" width="260" height="260" loading="lazy" decoding="async" fetchpriority="low"> | Marca HTML presente na saída da página. |
| 2330 | </div> | Marca HTML presente na saída da página. |
| 2331 | <div class="legenda-simulacao">Foto enviada para referência visual no atendimento.</div> | Marca HTML presente na saída da página. |
| 2332 | </div> | Marca HTML presente na saída da página. |
| 2333 | </div> | Marca HTML presente na saída da página. |
| 2334 | Linha em branco usada para separar blocos do arquivo. | |
| 2335 | <div class="col-md-6"> | Marca HTML presente na saída da página. |
| 2336 | <div class="painel-comparacao-simulacao"> | Marca HTML presente na saída da página. |
| 2337 | <span class="selo-comparacao">Depois</span> | Marca HTML presente na saída da página. |
| 2338 | <div class="titulo-painel">Imagem Simulada</div> | Marca HTML presente na saída da página. |
| 2339 | <div class="box-imagem-simulacao"> | Marca HTML presente na saída da página. |
| 2340 | <img src="/sistema/painel/images/simulacoes/sem-foto.jpg" id="preview_resultado_simulacao_cliente" alt="Prévia da simulação gerada" width="260" height="260" loading="lazy" decoding="async" fetchpriority="low"> | Marca HTML presente na saída da página. |
| 2341 | </div> | Marca HTML presente na saída da página. |
| 2342 | <div class="legenda-simulacao">Prévia visual gerada para apoiar a avaliação profissional.</div> | Marca HTML presente na saída da página. |
| 2343 | </div> | Marca HTML presente na saída da página. |
| 2344 | </div> | Marca HTML presente na saída da página. |
| 2345 | </div> | Marca HTML presente na saída da página. |
| 2346 | Linha em branco usada para separar blocos do arquivo. | |
| 2347 | <div class="row linha-botao"> | Marca HTML presente na saída da página. |
| 2348 | <div class="col-md-12"> | Marca HTML presente na saída da página. |
| 2349 | <button type="button" id="btn_simular_cliente" class="btn btn-primary btn-block" onclick="enviarSimulacaoCliente()"> | Marca HTML presente na saída da página. |
| 2350 | <i id="icone_btn_simular_cliente" class="fa fa-magic"></i> | Marca HTML presente na saída da página. |
| 2351 | <span id="texto_btn_simular_cliente">Solicitar simulação</span> | Marca HTML presente na saída da página. |
| 2352 | </button> | Marca HTML presente na saída da página. |
| 2353 | </div> | Marca HTML presente na saída da página. |
| 2354 | </div> | Marca HTML presente na saída da página. |
| 2355 | Linha em branco usada para separar blocos do arquivo. | |
| 2356 | <div class="row" style="margin-top:12px;"> | Marca HTML presente na saída da página. |
| 2357 | <div class="col-md-12"> | Marca HTML presente na saída da página. |
| 2358 | <div id="mensagem_simulacao_cliente" role="status" aria-live="polite" style="text-align:center"></div> | Marca HTML presente na saída da página. |
| 2359 | </div> | Marca HTML presente na saída da página. |
| 2360 | </div> | Marca HTML presente na saída da página. |
| 2361 | </div> | Marca HTML presente na saída da página. |
| 2362 | </form> | Marca HTML presente na saída da página. |
| 2363 | </div> | Marca HTML presente na saída da página. |
| 2364 | </div> | Marca HTML presente na saída da página. |
| 2365 | </div> | Marca HTML presente na saída da página. |
| 2366 | Linha em branco usada para separar blocos do arquivo. | |
| 2367 | <div class="modal fade" id="modalComentario" tabindex="-1" role="dialog" aria-labelledby="modalComentarioLabel" aria-hidden="true"> | Marca HTML presente na saída da página. |
| 2368 | <div class="modal-dialog" role="document" style="max-width:760px"> | Marca HTML presente na saída da página. |
| 2369 | <div class="modal-content" style="background:#0f0f10;color:#eaeef3;border:1px solid #2a2a2c;border-radius:12px;overflow:hidden"> | Marca HTML presente na saída da página. |
| 2370 | <div class="modal-header" style="border:0;padding:14px 16px"> | Marca HTML presente na saída da página. |
| 2371 | <h5 class="modal-title" id="modalComentarioLabel" style="margin:0;font-weight:800;letter-spacing:.3px">Enviar depoimento</h5> | Marca HTML presente na saída da página. |
| 2372 | <button type="button" class="close" data-dismiss="modal" aria-label="Fechar" style="border:0;background:transparent;color:#eaeef3;font-size:28px;line-height:1;opacity:.9;cursor:pointer"><span aria-hidden="true">×</span></button> | Marca HTML presente na saída da página. |
| 2373 | </div> | Marca HTML presente na saída da página. |
| 2374 | Linha em branco usada para separar blocos do arquivo. | |
| 2375 | <form id="form" enctype="multipart/form-data"> | Marca HTML presente na saída da página. |
| 2376 | <div class="modal-body" style="padding:10px 16px 6px"> | Marca HTML presente na saída da página. |
| 2377 | <div style="margin-bottom:12px"> | Marca HTML presente na saída da página. |
| 2378 | <label for="nome_cliente" style="display:block;margin:0 0 6px;font-weight:700">Nome</label> | Marca HTML presente na saída da página. |
| 2379 | <input type="text" id="nome_cliente" name="nome" autocomplete="name" placeholder="Seu nome completo" required class="form-control" style="width:100%;background:#eaecef;border:0;border-radius:8px;box-shadow:none;padding:12px 14px;outline:none;color:#111"> | Marca HTML presente na saída da página. |
| 2380 | </div> | Marca HTML presente na saída da página. |
| 2381 | Linha em branco usada para separar blocos do arquivo. | |
| 2382 | <div style="margin-bottom:16px"> | Marca HTML presente na saída da página. |
| 2383 | <label for="texto_cliente" style="display:block;margin:0 0 6px;font-weight:700">Texto <small style="opacity:.8;font-weight:400">(até 500 caracteres)</small></label> | Marca HTML presente na saída da página. |
| 2384 | <textarea id="texto_cliente" name="texto" maxlength="500" rows="4" required placeholder="Seu depoimento" class="form-control" style="width:100%;background:#eaecef;border:0;border-radius:8px;box-shadow:none;padding:12px 14px;outline:none;color:#111"></textarea> | Marca HTML presente na saída da página. |
| 2385 | </div> | Marca HTML presente na saída da página. |
| 2386 | Linha em branco usada para separar blocos do arquivo. | |
| 2387 | <div style="display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap"> | Marca HTML presente na saída da página. |
| 2388 | <div style="flex:1 1 360px"> | Marca HTML presente na saída da página. |
| 2389 | <label for="foto" style="display:block;margin:0 0 6px;font-weight:700">Foto</label> | Marca HTML presente na saída da página. |
| 2390 | <input id="foto" name="foto" type="file" accept=".jpg,.jpeg,.png,.webp" class="form-control" onchange="carregarImg()" style="width:100%;background:#eaecef;border:0;border-radius:8px;box-shadow:none;padding:10px 12px;outline:none;color:#111"> | Marca HTML presente na saída da página. |
| 2391 | <div style="margin-top:6px;font-size:12px;opacity:.8">Opcional: JPG/PNG/WebP (até 5MB)</div> | Marca HTML presente na saída da página. |
| 2392 | </div> | Marca HTML presente na saída da página. |
| 2393 | Linha em branco usada para separar blocos do arquivo. | |
| 2394 | <div id="divImg" style="flex:0 0 110px;margin-left:auto;display:grid;place-items:center"> | Marca HTML presente na saída da página. |
| 2395 | <img id="target" alt="Pré-visualização" src="sistema/painel/img/comentarios/sem-foto.jpg" width="96" height="96" loading="lazy" decoding="async" fetchpriority="low" style="display:block;width:96px;height:96px;object-fit:cover;border-radius:50%;border:2px solid #2a2a2c;background:#000"> | Marca HTML presente na saída da página. |
| 2396 | </div> | Marca HTML presente na saída da página. |
| 2397 | </div> | Marca HTML presente na saída da página. |
| 2398 | Linha em branco usada para separar blocos do arquivo. | |
| 2399 | <div style="margin-top:14px"> | Marca HTML presente na saída da página. |
| 2400 | <label for="video" style="display:block;margin:0 0 6px;font-weight:700">Vídeo do depoimento</label> | Marca HTML presente na saída da página. |
| 2401 | <input id="video" name="video" type="file" accept=".mp4,.mov,.webm,.3gp,.m4v,video/*" class="form-control" style="width:100%;background:#eaecef;border:0;border-radius:8px;box-shadow:none;padding:10px 12px;outline:none;color:#111"> | Marca HTML presente na saída da página. |
| 2402 | <div style="margin-top:6px;font-size:12px;opacity:.8">Opcional: MP4, MOV, WEBM, 3GP ou M4V (até 80MB)</div> | Marca HTML presente na saída da página. |
| 2403 | </div> | Marca HTML presente na saída da página. |
| 2404 | Linha em branco usada para separar blocos do arquivo. | |
| 2405 | <div style="margin-top:14px"> | Marca HTML presente na saída da página. |
| 2406 | <label for="print_whatsapp" style="display:block;margin:0 0 6px;font-weight:700">Print do WhatsApp</label> | Marca HTML presente na saída da página. |
| 2407 | <input id="print_whatsapp" name="print_whatsapp" type="file" accept=".jpg,.jpeg,.png,.webp" class="form-control" style="width:100%;background:#eaecef;border:0;border-radius:8px;box-shadow:none;padding:10px 12px;outline:none;color:#111"> | Marca HTML presente na saída da página. |
| 2408 | <div style="margin-top:6px;font-size:12px;opacity:.8">Opcional: print da conversa em JPG/PNG/WebP (até 5MB)</div> | Marca HTML presente na saída da página. |
| 2409 | </div> | Marca HTML presente na saída da página. |
| 2410 | Linha em branco usada para separar blocos do arquivo. | |
| 2411 | <input type="hidden" name="id" id="id"> | Marca HTML presente na saída da página. |
| 2412 | <input type="hidden" name="cliente" value="1"> | Marca HTML presente na saída da página. |
| 2413 | <div id="mensagem-comentario" role="status" aria-live="polite" style="margin-top:12px;text-align:center;font-size:13px;min-height:18px"></div> | Marca HTML presente na saída da página. |
| 2414 | </div> | Marca HTML presente na saída da página. |
| 2415 | Linha em branco usada para separar blocos do arquivo. | |
| 2416 | <div class="modal-footer" style="border-top:1px solid #24262b;padding:12px 16px;display:flex;gap:10px;justify-content:flex-end"> | Marca HTML presente na saída da página. |
| 2417 | <button type="button" class="btn btn-secondary" data-dismiss="modal" style="background:transparent;color:#eaeef3;border:1px solid #333;border-radius:10px;padding:10px 18px;font-weight:700;cursor:pointer">Cancelar</button> | Marca HTML presente na saída da página. |
| 2418 | <button type="submit" class="btn btn-primary" style="background:#b8862d;border:0;border-radius:10px;padding:10px 18px;font-weight:700;cursor:pointer">Inserir</button> | Marca HTML presente na saída da página. |
| 2419 | </div> | Marca HTML presente na saída da página. |
| 2420 | </form> | Marca HTML presente na saída da página. |
| 2421 | </div> | Marca HTML presente na saída da página. |
| 2422 | </div> | Marca HTML presente na saída da página. |
| 2423 | </div> | Marca HTML presente na saída da página. |
| 2424 | Linha em branco usada para separar blocos do arquivo. | |
| 2425 | <div id="empresa" class="modal fade" role="dialog"> | Marca HTML presente na saída da página. |
| 2426 | <div class="modal-dialog modal-lg"> | Marca HTML presente na saída da página. |
| 2427 | <div class="modal-content"> | Marca HTML presente na saída da página. |
| 2428 | <form method="POST" action=""> | Marca HTML presente na saída da página. |
| 2429 | <div class="modal-header"> | Marca HTML presente na saída da página. |
| 2430 | <h1 class="modal-title"><small>JACY CABELEIREIRO</small></h1> | Marca HTML presente na saída da página. |
| 2431 | <button type="button" class="close" data-dismiss="modal" aria-label="Fechar modal">×</button> | Marca HTML presente na saída da página. |
| 2432 | </div> | Marca HTML presente na saída da página. |
| 2433 | </form> | Marca HTML presente na saída da página. |
| 2434 | Linha em branco usada para separar blocos do arquivo. | |
| 2435 | <div class="modal-body"> | Marca HTML presente na saída da página. |
| 2436 | <p class="text-muted"><small>Com mais de 25 anos de experiência, Jacy Cordeiro atende com foco em técnica, acabamento e orientação personalizada.<br>Especializado em cortes, barba e prótese capilar, trabalha com avaliação individual para indicar o melhor caminho de acordo com o perfil de cada cliente.<br><br>💇♂️ Cabeleireiro & Barbeiro<br>✨ Especialista em Prótese Capilar<br>📆 Atendimento com hora marcada<br>✅ Aplicação, manutenção e acabamento natural<br>Agende uma avaliação e converse diretamente com o profissional.</small></p> | Marca HTML presente na saída da página. |
| 2437 | <p class="text-muted"><small>Jacy Cordeiro - CNPJ: 38.896.614/0001-40.<br>Assista o vídeo a seguir.</small></p> | Marca HTML presente na saída da página. |
| 2438 | <iframe width="100%" height="500" src="about:blank" data-src="https://www.youtube.com/embed/fO_s7jlO1tU?si=n3Yntmowyfms6aFm&controls=0" class="js-lazy-iframe" title="Vídeo sobre Jacy Cabeleireiro" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe> | Marca HTML presente na saída da página. |
| 2439 | <p class="text-muted" align="center"><small>"Motivação é aquilo que te faz começar. Habito é aquilo que te faz continuar."</small></p> | Marca HTML presente na saída da página. |
| 2440 | </div> | Marca HTML presente na saída da página. |
| 2441 | </div> | Marca HTML presente na saída da página. |
| 2442 | </div> | Marca HTML presente na saída da página. |
| 2443 | </div> | Marca HTML presente na saída da página. |
| 2444 | Linha em branco usada para separar blocos do arquivo. | |
| 2445 | <div id="modalTermos" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modalTermosLabel" aria-hidden="true"> | Marca HTML presente na saída da página. |
| 2446 | <div class="modal-dialog modal-lg" role="document"> | Marca HTML presente na saída da página. |
| 2447 | <div class="modal-content"> | Marca HTML presente na saída da página. |
| 2448 | <div class="modal-header"> | Marca HTML presente na saída da página. |
| 2449 | <h1 class="modal-title" id="modalTermosLabel"><small>Termos de Uso</small></h1> | Marca HTML presente na saída da página. |
| 2450 | <button type="button" class="close" data-dismiss="modal" aria-label="Fechar"><span aria-hidden="true">×</span></button> | Marca HTML presente na saída da página. |
| 2451 | </div> | Marca HTML presente na saída da página. |
| 2452 | Linha em branco usada para separar blocos do arquivo. | |
| 2453 | <div class="modal-body"> | Marca HTML presente na saída da página. |
| 2454 | <div class="col-lg-12"><span class="text-muted"><small><i> | Marca HTML presente na saída da página. |
| 2455 | <br> | Marca HTML presente na saída da página. |
| 2456 | <h2><span style="color:#444">1. Termos</span></h2> | Marca HTML presente na saída da página. |
| 2457 | <p><span style="color:#444">Ao acessar ao site <a href="<?=h($AGENDA_LINK)?>">Jacy Cabeleireiro</a>, concorda em cumprir estes termos de serviço, todas as leis e regulamentos aplicáveis e concorda que é responsável pelo cumprimento de todas as leis locais aplicáveis. Se você não concordar com algum desses termos, está proibido de usar ou acessar este site. Os materiais contidos neste site são protegidos pelas leis de direitos autorais e marcas comerciais aplicáveis.</span></p> | Marca HTML presente na saída da página. |
| 2458 | <h2><span style="color:#444">2. Uso de Licença</span></h2> | Marca HTML presente na saída da página. |
| 2459 | <p><span style="color:#444">É concedida permissão para baixar temporariamente uma cópia dos materiais (informações ou software) no site Jacy Cabeleireiro , apenas para visualização transitória pessoal e não comercial. Esta é a concessão de uma licença, não uma transferência de título e, sob esta licença, você não pode: </span></p> | Marca HTML presente na saída da página. |
| 2460 | <ol> | Marca HTML presente na saída da página. |
| 2461 | <li><span style="color:#444">modificar ou copiar os materiais; </span></li> | Marca HTML presente na saída da página. |
| 2462 | <li><span style="color:#444">usar os materiais para qualquer finalidade comercial ou para exibição pública (comercial ou não comercial); </span></li> | Marca HTML presente na saída da página. |
| 2463 | <li><span style="color:#444">tentar descompilar ou fazer engenharia reversa de qualquer software contido no site Jacy Cabeleireiro; </span></li> | Marca HTML presente na saída da página. |
| 2464 | <li><span style="color:#444">remover quaisquer direitos autorais ou outras notações de propriedade dos materiais; ou </span></li> | Marca HTML presente na saída da página. |
| 2465 | <li><span style="color:#444">transferir os materiais para outra pessoa ou 'espelhe' os materiais em qualquer outro servidor.</span></li> | Marca HTML presente na saída da página. |
| 2466 | </ol> | Marca HTML presente na saída da página. |
| 2467 | <p><span style="color:#444">Esta licença será automaticamente rescindida se você violar alguma dessas restrições e poderá ser rescindida por Jacy Cabeleireiro a qualquer momento. Ao encerrar a visualização desses materiais ou após o término desta licença, você deve apagar todos os materiais baixados em sua posse, seja em formato eletrónico ou impresso.</span></p> | Marca HTML presente na saída da página. |
| 2468 | <h2><span style="color:#444">3. Isenção de responsabilidade</span></h2> | Marca HTML presente na saída da página. |
| 2469 | <ol> | Marca HTML presente na saída da página. |
| 2470 | <li><span style="color:#444">Os materiais no site da Jacy Cabeleireiro são fornecidos 'como estão'. Jacy Cabeleireiro não oferece garantias, expressas ou implícitas, e, por este meio, isenta e nega todas as outras garantias, incluindo, sem limitação, garantias implícitas ou condições de comercialização, adequação a um fim específico ou não violação de propriedade intelectual ou outra violação de direitos.</span></li> | Marca HTML presente na saída da página. |
| 2471 | <li><span style="color:#444">Além disso, o Jacy Cabeleireiro não garante ou faz qualquer representação relativa à precisão, aos resultados prováveis ou à confiabilidade do uso dos materiais em seu site ou de outra forma relacionado a esses materiais ou em sites vinculados a este site.</span></li> | Marca HTML presente na saída da página. |
| 2472 | </ol> | Marca HTML presente na saída da página. |
| 2473 | <h2><span style="color:#444">4. Limitações</span></h2> | Marca HTML presente na saída da página. |
| 2474 | <p><span style="color:#444">Em nenhum caso o Jacy Cabeleireiro ou seus fornecedores serão responsáveis por quaisquer danos (incluindo, sem limitação, danos por perda de dados ou lucro ou devido a interrupção dos negócios) decorrentes do uso ou da incapacidade de usar os materiais em Jacy Cabeleireiro, mesmo que Jacy Cabeleireiro ou um representante autorizado da Jacy Cabeleireiro tenha sido notificado oralmente ou por escrito da possibilidade de tais danos. Como algumas jurisdições não permitem limitações em garantias implícitas, ou limitações de responsabilidade por danos consequentes ou incidentais, essas limitações podem não se aplicar a você.</span></p> | Marca HTML presente na saída da página. |
| 2475 | <h2><span style="color:#444">5. Precisão dos materiais</span></h2> | Marca HTML presente na saída da página. |
| 2476 | <p><span style="color:#444">Os materiais exibidos no site da Jacy Cabeleireiro podem incluir erros técnicos, tipográficos ou fotográficos. Jacy Cabeleireiro não garante que qualquer material em seu site seja preciso, completo ou atual. Jacy Cabeleireiro pode fazer alterações nos materiais contidos em seu site a qualquer momento, sem aviso prévio. No entanto, Jacy Cabeleireiro não se compromete a atualizar os materiais.</span></p> | Marca HTML presente na saída da página. |
| 2477 | <h2><span style="color:#444">6. Links</span></h2> | Marca HTML presente na saída da página. |
| 2478 | <p><span style="color:#444">O Jacy Cabeleireiro não analisou todos os sites vinculados ao seu site e não é responsável pelo conteúdo de nenhum site vinculado. A inclusão de qualquer link não implica endosso por Jacy Cabeleireiro do site. O uso de qualquer site vinculado é por conta e risco do usuário.</span></p> | Marca HTML presente na saída da página. |
| 2479 | <h3><span style="color:#444">Modificações</span></h3> | Marca HTML presente na saída da página. |
| 2480 | <p><span style="color:#444">O Jacy Cabeleireiro pode revisar estes termos de serviço do site a qualquer momento, sem aviso prévio. Ao usar este site, você concorda em ficar vinculado à versão atual desses termos de serviço.</span></p> | Marca HTML presente na saída da página. |
| 2481 | <h3><span style="color:#444">Lei aplicável</span></h3> | Marca HTML presente na saída da página. |
| 2482 | <p><span style="color:#444">Estes termos e condições são regidos e interpretados de acordo com as leis do Jacy Cabeleireiro e você se submete irrevogavelmente à jurisdição exclusiva dos tribunais naquele estado ou localidade.</span></p> | Marca HTML presente na saída da página. |
| 2483 | </i></small></span></div> | Marca HTML presente na saída da página. |
| 2484 | </div> | Marca HTML presente na saída da página. |
| 2485 | Linha em branco usada para separar blocos do arquivo. | |
| 2486 | <div class="modal-footer"> | Marca HTML presente na saída da página. |
| 2487 | <small><span class="text-muted ml-4">WhatsApp <a class="text-muted" href="https://api.whatsapp.com/send?1=pt_BR&phone=<?=$tel_whatsapp?>" target="_blank" rel="noopener"><?=$whatsapp_sistema?></a></span></small> | Marca HTML presente na saída da página. |
| 2488 | </div> | Marca HTML presente na saída da página. |
| 2489 | </div> | Marca HTML presente na saída da página. |
| 2490 | </div> | Marca HTML presente na saída da página. |
| 2491 | </div> | Marca HTML presente na saída da página. |
| 2492 | Linha em branco usada para separar blocos do arquivo. | |
| 2493 | <div id="privacidade" class="modal fade" role="dialog" aria-hidden="true"> | Marca HTML presente na saída da página. |
| 2494 | <div class="modal-dialog modal-lg"> | Marca HTML presente na saída da página. |
| 2495 | <div class="modal-content" style="background:#0f0f10;color:#e6e6e6"> | Marca HTML presente na saída da página. |
| 2496 | <div class="modal-header" style="border-bottom:1px solid #2a2a2c"> | Marca HTML presente na saída da página. |
| 2497 | <h5 class="modal-title" style="color:#fff;margin:0">Política de privacidade</h5> | Marca HTML presente na saída da página. |
| 2498 | <button type="button" class="close" data-dismiss="modal" aria-label="Fechar" style="color:#e6e6e6;opacity:1"><span aria-hidden="true">×</span></button> | Marca HTML presente na saída da página. |
| 2499 | </div> | Marca HTML presente na saída da página. |
| 2500 | Linha em branco usada para separar blocos do arquivo. | |
| 2501 | <div class="modal-body" style="line-height:1.6"> | Marca HTML presente na saída da página. |
| 2502 | <p>A sua privacidade é importante para nós. É política do <strong>Jacy Cabeleireiro</strong> respeitar a sua privacidade em relação a qualquer informação sua que possamos coletar no site <a href="<?=h($AGENDA_LINK)?>" target="_blank" rel="noopener" style="color:#e6e6e6;text-decoration:underline">Jacy Cabeleireiro</a> e outros sites que possuímos e operamos.</p> | Marca HTML presente na saída da página. |
| 2503 | <p>Solicitamos informações pessoais apenas quando realmente precisamos delas para lhe fornecer um serviço. Fazemos isso por meios justos e legais, com o seu conhecimento e consentimento. Também informamos por que estamos coletando e como será usado.</p> | Marca HTML presente na saída da página. |
| 2504 | <p>Apenas retemos as informações coletadas pelo tempo necessário para fornecer o serviço solicitado. Quando armazenamos dados, protegemos dentro de meios comercialmente aceitáveis para evitar perdas, roubos, acesso, divulgação, cópia, uso ou modificação não autorizados.</p> | Marca HTML presente na saída da página. |
| 2505 | <p>Não compartilhamos informações de identificação pessoal publicamente ou com terceiros, exceto quando exigido por lei.</p> | Marca HTML presente na saída da página. |
| 2506 | <p>Nosso site pode conter links para sites externos que não são operados por nós. Não temos controle sobre o conteúdo e práticas desses sites e não podemos aceitar responsabilidade por suas respectivas <a href="https://politicaprivacidade.com/" target="_blank" rel="noopener" style="color:#e6e6e6;text-decoration:underline">políticas de privacidade</a>.</p> | Marca HTML presente na saída da página. |
| 2507 | <p>Você é livre para recusar nossa solicitação de informações pessoais, entendendo que talvez não possamos fornecer alguns dos serviços desejados.</p> | Marca HTML presente na saída da página. |
| 2508 | <p>O uso continuado de nosso site será considerado como aceitação de nossas práticas em torno de privacidade e informações pessoais. Se você tiver alguma dúvida sobre como lidamos com dados do usuário e informações pessoais, entre em contato conosco.</p> | Marca HTML presente na saída da página. |
| 2509 | Linha em branco usada para separar blocos do arquivo. | |
| 2510 | <h6 style="color:#fff;margin-top:18px">Cookies, Google Ads e medição</h6> | Marca HTML presente na saída da página. |
| 2511 | <ul style="padding-left:18px;margin:0"> | Marca HTML presente na saída da página. |
| 2512 | <li>Podemos utilizar cookies, Google Ads, Google Analytics, Google Tag Manager, reCAPTCHA e tags de conversão para segurança, medição de visitas e análise de campanhas.</li> | Marca HTML presente na saída da página. |
| 2513 | <li>Cliques em WhatsApp, agendamento e envio de formulário podem ser medidos como conversões para avaliar o desempenho dos anúncios.</li> | Marca HTML presente na saída da página. |
| 2514 | <li>Fotos enviadas para simulação são usadas para gerar a prévia visual e apoiar o atendimento solicitado. Você pode pedir exclusão dos dados pelo WhatsApp informado no site.</li> | Marca HTML presente na saída da página. |
| 2515 | </ul> | Marca HTML presente na saída da página. |
| 2516 | Linha em branco usada para separar blocos do arquivo. | |
| 2517 | <h6 style="color:#fff;margin-top:18px">Compromisso do usuário</h6> | Marca HTML presente na saída da página. |
| 2518 | <ul style="padding-left:18px;margin:0"> | Marca HTML presente na saída da página. |
| 2519 | <li>Não se envolver em atividades ilegais ou contrárias à boa-fé e à ordem pública.</li> | Marca HTML presente na saída da página. |
| 2520 | <li>Não difundir conteúdo discriminatório, ilegal, violento ou que viole direitos humanos.</li> | Marca HTML presente na saída da página. |
| 2521 | <li>Não causar danos aos sistemas do site, nem introduzir vírus ou softwares maliciosos.</li> | Marca HTML presente na saída da página. |
| 2522 | </ul> | Marca HTML presente na saída da página. |
| 2523 | Linha em branco usada para separar blocos do arquivo. | |
| 2524 | <h6 style="color:#fff;margin-top:18px">Mais informações</h6> | Marca HTML presente na saída da página. |
| 2525 | <p>Se restarem dúvidas, é geralmente mais seguro manter os cookies ativados caso interaja com algum recurso que você usa em nosso site.</p> | Marca HTML presente na saída da página. |
| 2526 | <p style="opacity:.85">Esta política foi atualizada em <strong>26/05/2026</strong>.</p> | Marca HTML presente na saída da página. |
| 2527 | <p style="opacity:.85">reCAPTCHA v3 aplicado para proteção de formulários.</p> | Marca HTML presente na saída da página. |
| 2528 | </div> | Marca HTML presente na saída da página. |
| 2529 | Linha em branco usada para separar blocos do arquivo. | |
| 2530 | <div class="modal-footer" style="border-top:1px solid #2a2a2c"> | Marca HTML presente na saída da página. |
| 2531 | <small>WhatsApp: <a href="https://api.whatsapp.com/send?1=pt_BR&phone=<?=$tel_whatsapp?>" target="_blank" rel="noopener" style="color:#e6e6e6;text-decoration:underline"><?=$whatsapp_sistema?></a></small> | Marca HTML presente na saída da página. |
| 2532 | </div> | Marca HTML presente na saída da página. |
| 2533 | </div> | Marca HTML presente na saída da página. |
| 2534 | </div> | Marca HTML presente na saída da página. |
| 2535 | </div> | Marca HTML presente na saída da página. |
| 2536 | Linha em branco usada para separar blocos do arquivo. | |
| 2537 | <div id="ytModal" style="position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:99999"> | Marca HTML presente na saída da página. |
| 2538 | <div style="position:relative;width:96vw;max-width:980px;background:#000;border-radius:14px;overflow:hidden"> | Marca HTML presente na saída da página. |
| 2539 | <button id="ytClose" aria-label="Fechar" style="position:absolute;top:10px;right:10px;border:0;background:rgba(255,255,255,.15);color:#fff;padding:6px 10px;border-radius:6px;cursor:pointer;z-index:1">✕</button> | Marca HTML presente na saída da página. |
| 2540 | <div style="position:relative;width:100%;padding-top:56.25%"><div id="ytPlayer" style="position:absolute;inset:0"></div></div> | Marca HTML presente na saída da página. |
| 2541 | </div> | Marca HTML presente na saída da página. |
| 2542 | </div> | Marca HTML presente na saída da página. |
| 2543 | Linha em branco usada para separar blocos do arquivo. | |
| 2544 | <script> | Marca HTML presente na saída da página. |
| 2545 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2546 | var recaptchaJaCarregado = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2547 | Linha em branco usada para separar blocos do arquivo. | |
| 2548 | function carregarRecaptcha(){ | Declara a função e os parâmetros mostrados. |
| 2549 | if (recaptchaJaCarregado || !window.RECAPTCHA_SITE_KEY) { | Avalia a condição escrita nesta linha. |
| 2550 | return; | Retorna o valor indicado pela linha. |
| 2551 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2552 | Linha em branco usada para separar blocos do arquivo. | |
| 2553 | recaptchaJaCarregado = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2554 | Linha em branco usada para separar blocos do arquivo. | |
| 2555 | var s = document.createElement('script'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2556 | s.src = 'https://www.google.com/recaptcha/api.js?render=' + window.RECAPTCHA_SITE_KEY; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2557 | s.async = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2558 | s.defer = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2559 | document.head.appendChild(s); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2560 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2561 | Linha em branco usada para separar blocos do arquivo. | |
| 2562 | window.addEventListener('load', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2563 | setTimeout(carregarRecaptcha, 2500); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2564 | }, { once:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2565 | Linha em branco usada para separar blocos do arquivo. | |
| 2566 | document.addEventListener('focusin', function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2567 | if (e.target.closest('#form_cadastro') || e.target.closest('#form_simulacao_cliente')) { | Avalia a condição escrita nesta linha. |
| 2568 | carregarRecaptcha(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2569 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2570 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2571 | Linha em branco usada para separar blocos do arquivo. | |
| 2572 | document.addEventListener('pointerdown', function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2573 | if (e.target.closest('#form_cadastro') || e.target.closest('#form_simulacao_cliente')) { | Avalia a condição escrita nesta linha. |
| 2574 | carregarRecaptcha(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2575 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2576 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2577 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2578 | </script> | Marca HTML presente na saída da página. |
| 2579 | Linha em branco usada para separar blocos do arquivo. | |
| 2580 | <script> | Marca HTML presente na saída da página. |
| 2581 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2582 | function getModalBySelector(sel){ | Declara a função e os parâmetros mostrados. |
| 2583 | if (!sel || sel.charAt(0) !== '#') return null; | Avalia a condição escrita nesta linha. |
| 2584 | Linha em branco usada para separar blocos do arquivo. | |
| 2585 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2586 | return document.querySelector(sel); | Retorna o valor indicado pela linha. |
| 2587 | } catch (e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2588 | return null; | Retorna o valor indicado pela linha. |
| 2589 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2590 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2591 | Linha em branco usada para separar blocos do arquivo. | |
| 2592 | function getSelectorFromTrigger(el){ | Declara a função e os parâmetros mostrados. |
| 2593 | if (!el) return ''; | Avalia a condição escrita nesta linha. |
| 2594 | Linha em branco usada para separar blocos do arquivo. | |
| 2595 | return el.getAttribute('data-target') | Retorna o valor indicado pela linha. |
| 2596 | || el.getAttribute('data-bs-target') | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2597 | || el.getAttribute('href') | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2598 | || ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2599 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2600 | Linha em branco usada para separar blocos do arquivo. | |
| 2601 | function criarBackdrop(modal){ | Declara a função e os parâmetros mostrados. |
| 2602 | removerBackdrop(modal); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2603 | Linha em branco usada para separar blocos do arquivo. | |
| 2604 | var backdrop = document.createElement('div'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2605 | backdrop.className = 'modal-backdrop fade show jacy-modal-backdrop'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2606 | backdrop.setAttribute('data-modal-fallback', modal.id || ''); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2607 | document.body.appendChild(backdrop); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2608 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2609 | Linha em branco usada para separar blocos do arquivo. | |
| 2610 | function removerBackdrop(modal){ | Declara a função e os parâmetros mostrados. |
| 2611 | var id = modal && modal.id ? modal.id : ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2612 | var seletor = id | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2613 | ? '.jacy-modal-backdrop[data-modal-fallback="' + id + '"]' | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2614 | : '.jacy-modal-backdrop'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2615 | Linha em branco usada para separar blocos do arquivo. | |
| 2616 | document.querySelectorAll(seletor).forEach(function(item){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2617 | if (item && item.parentNode) item.parentNode.removeChild(item); | Avalia a condição escrita nesta linha. |
| 2618 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2619 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2620 | Linha em branco usada para separar blocos do arquivo. | |
| 2621 | function abrirModalFallback(modal){ | Declara a função e os parâmetros mostrados. |
| 2622 | if (!modal) return; | Avalia a condição escrita nesta linha. |
| 2623 | Linha em branco usada para separar blocos do arquivo. | |
| 2624 | modal.style.display = 'block'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2625 | modal.removeAttribute('aria-hidden'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2626 | modal.setAttribute('aria-modal', 'true'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2627 | modal.classList.add('show'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2628 | document.body.classList.add('modal-open'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2629 | document.body.style.overflow = 'hidden'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2630 | criarBackdrop(modal); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2631 | Linha em branco usada para separar blocos do arquivo. | |
| 2632 | setTimeout(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2633 | var primeiroCampo = modal.querySelector('input, select, textarea, button, a[href]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2634 | if (primeiroCampo && typeof primeiroCampo.focus === 'function') primeiroCampo.focus(); | Avalia a condição escrita nesta linha. |
| 2635 | }, 80); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2636 | Linha em branco usada para separar blocos do arquivo. | |
| 2637 | modal.dispatchEvent(new Event('shown.bs.modal', { bubbles:true })); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2638 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2639 | Linha em branco usada para separar blocos do arquivo. | |
| 2640 | function fecharModalFallback(modal){ | Declara a função e os parâmetros mostrados. |
| 2641 | if (!modal) return; | Avalia a condição escrita nesta linha. |
| 2642 | Linha em branco usada para separar blocos do arquivo. | |
| 2643 | modal.classList.remove('show'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2644 | modal.style.display = 'none'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2645 | modal.setAttribute('aria-hidden', 'true'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2646 | modal.removeAttribute('aria-modal'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2647 | removerBackdrop(modal); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2648 | Linha em branco usada para separar blocos do arquivo. | |
| 2649 | if (!document.querySelector('.modal.show')) { | Avalia a condição escrita nesta linha. |
| 2650 | document.body.classList.remove('modal-open'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2651 | document.body.style.overflow = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2652 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2653 | Linha em branco usada para separar blocos do arquivo. | |
| 2654 | modal.dispatchEvent(new Event('hidden.bs.modal', { bubbles:true })); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2655 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2656 | Linha em branco usada para separar blocos do arquivo. | |
| 2657 | function abrirModalSistema(sel){ | Declara a função e os parâmetros mostrados. |
| 2658 | var modal = getModalBySelector(sel); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2659 | if (!modal) return false; | Avalia a condição escrita nesta linha. |
| 2660 | Linha em branco usada para separar blocos do arquivo. | |
| 2661 | if (window.jQuery && window.jQuery.fn && typeof window.jQuery.fn.modal === 'function') { | Avalia a condição escrita nesta linha. |
| 2662 | window.jQuery(modal).modal('show'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2663 | return true; | Retorna o valor indicado pela linha. |
| 2664 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2665 | Linha em branco usada para separar blocos do arquivo. | |
| 2666 | if (window.bootstrap && window.bootstrap.Modal) { | Avalia a condição escrita nesta linha. |
| 2667 | var instancia = window.bootstrap.Modal.getOrCreateInstance(modal); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2668 | instancia.show(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2669 | return true; | Retorna o valor indicado pela linha. |
| 2670 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2671 | Linha em branco usada para separar blocos do arquivo. | |
| 2672 | abrirModalFallback(modal); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2673 | return true; | Retorna o valor indicado pela linha. |
| 2674 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2675 | Linha em branco usada para separar blocos do arquivo. | |
| 2676 | function fecharModalSistema(modal){ | Declara a função e os parâmetros mostrados. |
| 2677 | if (!modal) return false; | Avalia a condição escrita nesta linha. |
| 2678 | Linha em branco usada para separar blocos do arquivo. | |
| 2679 | if (window.jQuery && window.jQuery.fn && typeof window.jQuery.fn.modal === 'function') { | Avalia a condição escrita nesta linha. |
| 2680 | window.jQuery(modal).modal('hide'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2681 | return true; | Retorna o valor indicado pela linha. |
| 2682 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2683 | Linha em branco usada para separar blocos do arquivo. | |
| 2684 | if (window.bootstrap && window.bootstrap.Modal) { | Avalia a condição escrita nesta linha. |
| 2685 | var instancia = window.bootstrap.Modal.getOrCreateInstance(modal); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2686 | instancia.hide(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2687 | return true; | Retorna o valor indicado pela linha. |
| 2688 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2689 | Linha em branco usada para separar blocos do arquivo. | |
| 2690 | fecharModalFallback(modal); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2691 | return true; | Retorna o valor indicado pela linha. |
| 2692 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2693 | Linha em branco usada para separar blocos do arquivo. | |
| 2694 | window.abrirModalSistema = abrirModalSistema; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2695 | window.fecharModalSistema = fecharModalSistema; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2696 | Linha em branco usada para separar blocos do arquivo. | |
| 2697 | document.addEventListener('click', function(ev){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2698 | var abrir = ev.target.closest('[data-toggle="modal"], [data-bs-toggle="modal"]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2699 | if (!abrir) return; | Avalia a condição escrita nesta linha. |
| 2700 | Linha em branco usada para separar blocos do arquivo. | |
| 2701 | var sel = getSelectorFromTrigger(abrir); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2702 | if (!getModalBySelector(sel)) return; | Avalia a condição escrita nesta linha. |
| 2703 | Linha em branco usada para separar blocos do arquivo. | |
| 2704 | ev.preventDefault(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2705 | abrirModalSistema(sel); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2706 | Linha em branco usada para separar blocos do arquivo. | |
| 2707 | if (history.replaceState && sel === '#modalSimulacaoCliente') { | Avalia a condição escrita nesta linha. |
| 2708 | history.replaceState(null, '', location.pathname + location.search); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2709 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2710 | }, false); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2711 | Linha em branco usada para separar blocos do arquivo. | |
| 2712 | document.addEventListener('click', function(ev){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2713 | var fechar = ev.target.closest('[data-dismiss="modal"], [data-bs-dismiss="modal"], .modal .close'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2714 | if (fechar) { | Avalia a condição escrita nesta linha. |
| 2715 | var modalFechar = fechar.closest('.modal'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2716 | if (modalFechar) { | Avalia a condição escrita nesta linha. |
| 2717 | ev.preventDefault(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2718 | fecharModalSistema(modalFechar); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2719 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2720 | return; | Retorna o valor indicado pela linha. |
| 2721 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2722 | Linha em branco usada para separar blocos do arquivo. | |
| 2723 | if (ev.target && ev.target.classList && ev.target.classList.contains('modal')) { | Avalia a condição escrita nesta linha. |
| 2724 | fecharModalSistema(ev.target); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2725 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2726 | }, false); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2727 | Linha em branco usada para separar blocos do arquivo. | |
| 2728 | document.addEventListener('keydown', function(ev){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2729 | if (ev.key !== 'Escape') return; | Avalia a condição escrita nesta linha. |
| 2730 | Linha em branco usada para separar blocos do arquivo. | |
| 2731 | var modais = document.querySelectorAll('.modal.show'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2732 | if (!modais.length) return; | Avalia a condição escrita nesta linha. |
| 2733 | Linha em branco usada para separar blocos do arquivo. | |
| 2734 | fecharModalSistema(modais[modais.length - 1]); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2735 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2736 | Linha em branco usada para separar blocos do arquivo. | |
| 2737 | document.addEventListener('DOMContentLoaded', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2738 | var parametros = new URLSearchParams(window.location.search); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2739 | Linha em branco usada para separar blocos do arquivo. | |
| 2740 | if (parametros.get('abrir_simulador') === '1') { | Avalia a condição escrita nesta linha. |
| 2741 | setTimeout(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2742 | abrirModalSistema('#modalSimulacaoCliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2743 | }, 250); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2744 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2745 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2746 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2747 | Linha em branco usada para separar blocos do arquivo. | |
| 2748 | const LINK_WHATSAPP = <?=json_encode($WPP, JSON_UNESCAPED_SLASHES)?>; | Converte dados para JSON. |
| 2749 | const LINK_APP = <?=json_encode($AGENDA_LINK, JSON_UNESCAPED_SLASHES)?>; | Converte dados para JSON. |
| 2750 | Linha em branco usada para separar blocos do arquivo. | |
| 2751 | var btnW = document.getElementById('ctaWhats'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2752 | if (btnW) btnW.href = LINK_WHATSAPP; | Avalia a condição escrita nesta linha. |
| 2753 | Linha em branco usada para separar blocos do arquivo. | |
| 2754 | var btnA = document.getElementById('ctaApp'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2755 | if (btnA) btnA.href = LINK_APP; | Avalia a condição escrita nesta linha. |
| 2756 | Linha em branco usada para separar blocos do arquivo. | |
| 2757 | const track = document.getElementById('heroTrack'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2758 | const slidesV = track ? Array.from(track.querySelectorAll('.hero-slide')) : []; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2759 | const dotsV = Array.from(document.querySelectorAll('#heroDots button')); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2760 | Linha em branco usada para separar blocos do arquivo. | |
| 2761 | let heroIndex = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2762 | Linha em branco usada para separar blocos do arquivo. | |
| 2763 | function heroGo(i){ | Declara a função e os parâmetros mostrados. |
| 2764 | if (!track) return; | Avalia a condição escrita nesta linha. |
| 2765 | heroIndex = (i + slidesV.length) % slidesV.length; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2766 | track.style.transform = 'translateX(' + (heroIndex * -100) + '%)'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2767 | dotsV.forEach((d, idx) => d.style.background = idx === heroIndex ? '#ffffffaa' : '#ffffff55'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2768 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2769 | Linha em branco usada para separar blocos do arquivo. | |
| 2770 | var prevH = document.getElementById('heroPrev'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2771 | if (prevH) prevH.onclick = () => heroGo(heroIndex - 1); | Avalia a condição escrita nesta linha. |
| 2772 | Linha em branco usada para separar blocos do arquivo. | |
| 2773 | var nextH = document.getElementById('heroNext'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2774 | if (nextH) nextH.onclick = () => heroGo(heroIndex + 1); | Avalia a condição escrita nesta linha. |
| 2775 | Linha em branco usada para separar blocos do arquivo. | |
| 2776 | dotsV.forEach(d => d.onclick = () => heroGo(parseInt(d.dataset.i, 10))); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2777 | let heroTimer = null; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2778 | Linha em branco usada para separar blocos do arquivo. | |
| 2779 | function startHeroTimer(){ | Declara a função e os parâmetros mostrados. |
| 2780 | stopHeroTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2781 | if (document.hidden) return; | Avalia a condição escrita nesta linha. |
| 2782 | heroTimer = setInterval(() => heroGo(heroIndex + 1), 4000); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2783 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2784 | Linha em branco usada para separar blocos do arquivo. | |
| 2785 | function stopHeroTimer(){ | Declara a função e os parâmetros mostrados. |
| 2786 | clearInterval(heroTimer); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2787 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2788 | Linha em branco usada para separar blocos do arquivo. | |
| 2789 | let __ytApiRequested = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2790 | Linha em branco usada para separar blocos do arquivo. | |
| 2791 | function ensureYTApiLoaded(cb){ | Declara a função e os parâmetros mostrados. |
| 2792 | if (window.YT && window.YT.Player) { | Avalia a condição escrita nesta linha. |
| 2793 | cb(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2794 | return; | Retorna o valor indicado pela linha. |
| 2795 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2796 | Linha em branco usada para separar blocos do arquivo. | |
| 2797 | if (!__ytApiRequested) { | Avalia a condição escrita nesta linha. |
| 2798 | __ytApiRequested = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2799 | var s = document.createElement('script'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2800 | s.src = 'https://www.youtube.com/iframe_api'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2801 | s.async = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2802 | document.head.appendChild(s); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2803 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2804 | Linha em branco usada para separar blocos do arquivo. | |
| 2805 | (function wait(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2806 | if (window.YT && window.YT.Player) cb(); | Avalia a condição escrita nesta linha. |
| 2807 | else setTimeout(wait, 80); | Abre o caminho alternativo da condição anterior. |
| 2808 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2809 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2810 | Linha em branco usada para separar blocos do arquivo. | |
| 2811 | let ytPlayer; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2812 | const ytModal = document.getElementById('ytModal'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2813 | const ytClose = document.getElementById('ytClose'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2814 | function onYouTubeIframeAPIReady(){} | Declara a função e os parâmetros mostrados. |
| 2815 | Linha em branco usada para separar blocos do arquivo. | |
| 2816 | function openVideo(videoId){ | Declara a função e os parâmetros mostrados. |
| 2817 | if (!ytModal) return; | Avalia a condição escrita nesta linha. |
| 2818 | Linha em branco usada para separar blocos do arquivo. | |
| 2819 | ytModal.style.display = 'flex'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2820 | document.body.style.overflow = 'hidden'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2821 | stopHeroTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2822 | Linha em branco usada para separar blocos do arquivo. | |
| 2823 | ensureYTApiLoaded(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2824 | if (!ytPlayer) { | Avalia a condição escrita nesta linha. |
| 2825 | ytPlayer = new YT.Player('ytPlayer', { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2826 | videoId: videoId, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2827 | playerVars: {autoplay:1, rel:0, controls:1, modestbranding:1, playsinline:1}, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2828 | events: { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2829 | onReady: (e) => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2830 | const ifr = e.target.getIframe(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2831 | ifr.style.position = 'absolute'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2832 | ifr.style.inset = '0'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2833 | ifr.style.width = '100%'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2834 | ifr.style.height = '100%'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2835 | }, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2836 | onStateChange: (e) => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2837 | if (e.data === YT.PlayerState.ENDED) closeVideo(); | Avalia a condição escrita nesta linha. |
| 2838 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2839 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2840 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2841 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2842 | ytPlayer.loadVideoById(videoId); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2843 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2844 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2845 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2846 | Linha em branco usada para separar blocos do arquivo. | |
| 2847 | function closeVideo(){ | Declara a função e os parâmetros mostrados. |
| 2848 | if (!ytModal) return; | Avalia a condição escrita nesta linha. |
| 2849 | ytModal.style.display = 'none'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2850 | document.body.style.overflow = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2851 | if (ytPlayer && ytPlayer.stopVideo) ytPlayer.stopVideo(); | Avalia a condição escrita nesta linha. |
| 2852 | startHeroTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2853 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2854 | Linha em branco usada para separar blocos do arquivo. | |
| 2855 | if (ytClose) ytClose.onclick = closeVideo; | Avalia a condição escrita nesta linha. |
| 2856 | if (ytModal) ytModal.addEventListener('click', (ev) => { if (ev.target === ytModal) closeVideo(); }); | Avalia a condição escrita nesta linha. |
| 2857 | document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeVideo(); }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2858 | document.addEventListener('visibilitychange', () => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2859 | if (document.hidden) stopHeroTimer(); | Avalia a condição escrita nesta linha. |
| 2860 | else if (!ytModal || ytModal.style.display !== 'flex') startHeroTimer(); | Avalia a condição escrita nesta linha. |
| 2861 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2862 | Linha em branco usada para separar blocos do arquivo. | |
| 2863 | startHeroTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2864 | Linha em branco usada para separar blocos do arquivo. | |
| 2865 | slidesV.forEach(slide => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2866 | const id = slide.dataset.video; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2867 | var p = slide.querySelector('.play-btn'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2868 | if (p) p.addEventListener('click', () => openVideo(id)); | Avalia a condição escrita nesta linha. |
| 2869 | slide.addEventListener('dblclick', () => openVideo(id)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2870 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2871 | Linha em branco usada para separar blocos do arquivo. | |
| 2872 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2873 | const root = document.getElementById('hero'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2874 | if (!root) return; | Avalia a condição escrita nesta linha. |
| 2875 | Linha em branco usada para separar blocos do arquivo. | |
| 2876 | const slides = root.querySelector('#slides'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2877 | const items = Array.from(root.querySelectorAll('.slide')); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2878 | const dotsEl = root.querySelector('#dots'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2879 | const btnPrev = root.querySelector('#prev'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2880 | const btnNext = root.querySelector('#next'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2881 | Linha em branco usada para separar blocos do arquivo. | |
| 2882 | let idx = 0, timer = null, hover = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2883 | const duration = 5000; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2884 | const reduced = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2885 | Linha em branco usada para separar blocos do arquivo. | |
| 2886 | items.forEach((_, i) => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2887 | const b = document.createElement('button'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2888 | b.type = 'button'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2889 | b.setAttribute('aria-label', 'Ir para o slide ' + (i + 1)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2890 | b.addEventListener('click', () => go(i), { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2891 | dotsEl.appendChild(b); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2892 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2893 | Linha em branco usada para separar blocos do arquivo. | |
| 2894 | function mark(){ dotsEl.querySelectorAll('button').forEach((b, i) => b.classList.toggle('active', i === idx)); } | Declara a função e os parâmetros mostrados. |
| 2895 | Linha em branco usada para separar blocos do arquivo. | |
| 2896 | function syncVideos(){ | Declara a função e os parâmetros mostrados. |
| 2897 | items.forEach((item, itemIndex) => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2898 | const video = item.querySelector('video[data-hero-video]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2899 | if (!video) return; | Avalia a condição escrita nesta linha. |
| 2900 | Linha em branco usada para separar blocos do arquivo. | |
| 2901 | if (itemIndex === idx) { | Avalia a condição escrita nesta linha. |
| 2902 | const playNow = function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2903 | const promise = video.play(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2904 | if (promise && typeof promise.catch === 'function') { | Avalia a condição escrita nesta linha. |
| 2905 | promise.catch(function(){}); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2906 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2907 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2908 | Linha em branco usada para separar blocos do arquivo. | |
| 2909 | if (video.readyState >= 2) playNow(); | Avalia a condição escrita nesta linha. |
| 2910 | else { | Abre o caminho alternativo da condição anterior. |
| 2911 | video.addEventListener('loadeddata', playNow, { once:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2912 | video.load(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2913 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2914 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2915 | video.pause(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2916 | try { video.currentTime = 0; } catch(e) {} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2917 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2918 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2919 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2920 | Linha em branco usada para separar blocos do arquivo. | |
| 2921 | function go(i){ | Declara a função e os parâmetros mostrados. |
| 2922 | idx = (i + items.length) % items.length; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2923 | slides.style.transform = 'translateX(' + (-100 * idx) + '%)'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2924 | mark(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2925 | syncVideos(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2926 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2927 | function next(){ go(idx + 1); } | Declara a função e os parâmetros mostrados. |
| 2928 | function prev(){ go(idx - 1); } | Declara a função e os parâmetros mostrados. |
| 2929 | function loop(){ | Declara a função e os parâmetros mostrados. |
| 2930 | clearTimeout(timer); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2931 | if (hover || reduced) return; | Avalia a condição escrita nesta linha. |
| 2932 | timer = setTimeout(() => { next(); loop(); }, duration); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2933 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2934 | Linha em branco usada para separar blocos do arquivo. | |
| 2935 | if (btnPrev) btnPrev.addEventListener('click', prev, { passive:true }); | Avalia a condição escrita nesta linha. |
| 2936 | if (btnNext) btnNext.addEventListener('click', next, { passive:true }); | Avalia a condição escrita nesta linha. |
| 2937 | Linha em branco usada para separar blocos do arquivo. | |
| 2938 | root.addEventListener('pointerenter', () => { hover = true; clearTimeout(timer); }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2939 | root.addEventListener('pointerleave', () => { hover = false; loop(); }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2940 | Linha em branco usada para separar blocos do arquivo. | |
| 2941 | let sx = 0, dx = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2942 | root.addEventListener('touchstart', e => { sx = e.touches[0].clientX; }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2943 | root.addEventListener('touchmove', e => { dx = e.touches[0].clientX - sx; }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2944 | root.addEventListener('touchend', () => { if (Math.abs(dx) > 40) { dx < 0 ? next() : prev(); } dx = 0; }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2945 | Linha em branco usada para separar blocos do arquivo. | |
| 2946 | let visibleOnScreen = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2947 | Linha em branco usada para separar blocos do arquivo. | |
| 2948 | function stopLoop(){ | Declara a função e os parâmetros mostrados. |
| 2949 | clearTimeout(timer); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2950 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2951 | Linha em branco usada para separar blocos do arquivo. | |
| 2952 | function startLoop(){ | Declara a função e os parâmetros mostrados. |
| 2953 | if (!visibleOnScreen || document.hidden) return; | Avalia a condição escrita nesta linha. |
| 2954 | loop(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2955 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2956 | Linha em branco usada para separar blocos do arquivo. | |
| 2957 | if ('IntersectionObserver' in window) { | Avalia a condição escrita nesta linha. |
| 2958 | const obs = new IntersectionObserver(function(entries){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2959 | visibleOnScreen = entries.some(function(entry){ return entry.isIntersecting; }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2960 | if (visibleOnScreen) { | Avalia a condição escrita nesta linha. |
| 2961 | syncVideos(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2962 | startLoop(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2963 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2964 | stopLoop(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2965 | items.forEach(function(item){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2966 | const video = item.querySelector('video[data-hero-video]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2967 | if (video) video.pause(); | Avalia a condição escrita nesta linha. |
| 2968 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2969 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2970 | }, { threshold: 0.2 }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2971 | Linha em branco usada para separar blocos do arquivo. | |
| 2972 | obs.observe(root); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2973 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2974 | Linha em branco usada para separar blocos do arquivo. | |
| 2975 | document.addEventListener('visibilitychange', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2976 | if (document.hidden) { | Avalia a condição escrita nesta linha. |
| 2977 | stopLoop(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2978 | items.forEach(function(item){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2979 | const video = item.querySelector('video[data-hero-video]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2980 | if (video) video.pause(); | Avalia a condição escrita nesta linha. |
| 2981 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2982 | return; | Retorna o valor indicado pela linha. |
| 2983 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 2984 | syncVideos(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2985 | startLoop(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2986 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2987 | Linha em branco usada para separar blocos do arquivo. | |
| 2988 | const boot = () => { go(0); startLoop(); }; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2989 | if ('requestIdleCallback' in window) requestIdleCallback(boot, { timeout: 1200 }); | Avalia a condição escrita nesta linha. |
| 2990 | else window.addEventListener('load', boot, { once:true }); | Abre o caminho alternativo da condição anterior. |
| 2991 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2992 | Linha em branco usada para separar blocos do arquivo. | |
| 2993 | /* ============================================================ | Comentário existente no código-fonte. |
| 2994 | Galeria foto_admin | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2995 | Movimento contínuo e abertura do mesmo modal usado pelo | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2996 | botão flutuante de WhatsApp do rodapé. | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2997 | ============================================================ */ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2998 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 2999 | 'use strict'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3000 | Linha em branco usada para separar blocos do arquivo. | |
| 3001 | var wrap = document.getElementById('galeriaWrap'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3002 | var track = document.getElementById('galTrack'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3003 | Linha em branco usada para separar blocos do arquivo. | |
| 3004 | if (!wrap || !track || track.getAttribute('data-carrossel-continuo') === '1') return; | Avalia a condição escrita nesta linha. |
| 3005 | Linha em branco usada para separar blocos do arquivo. | |
| 3006 | var viewport = document.getElementById('galeriaViewport') || track.parentElement; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3007 | var itensOriginais = Array.prototype.slice.call(track.querySelectorAll('.galItem')); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3008 | var anterior = document.getElementById('galPrev'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3009 | var proximo = document.getElementById('galNext'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3010 | Linha em branco usada para separar blocos do arquivo. | |
| 3011 | if (!viewport || !itensOriginais.length) { | Avalia a condição escrita nesta linha. |
| 3012 | if (anterior) anterior.hidden = true; | Avalia a condição escrita nesta linha. |
| 3013 | if (proximo) proximo.hidden = true; | Avalia a condição escrita nesta linha. |
| 3014 | return; | Retorna o valor indicado pela linha. |
| 3015 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3016 | Linha em branco usada para separar blocos do arquivo. | |
| 3017 | track.setAttribute('data-carrossel-continuo', '1'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3018 | Linha em branco usada para separar blocos do arquivo. | |
| 3019 | var clones = []; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3020 | var posicao = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3021 | var larguraSequencia = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3022 | var passoItem = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3023 | var ultimoTempo = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3024 | var animacaoId = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3025 | var visivelNaTela = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3026 | var toqueAtivo = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3027 | var inicioToque = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3028 | var deslocamentoToque = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3029 | var ignorarCliqueAte = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3030 | var resizeTimer = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3031 | var velocidade = 38; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3032 | Linha em branco usada para separar blocos do arquivo. | |
| 3033 | function normalizarTexto(valor){ | Declara a função e os parâmetros mostrados. |
| 3034 | var texto = String(valor || '').toLowerCase(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3035 | Linha em branco usada para separar blocos do arquivo. | |
| 3036 | if (typeof texto.normalize === 'function') { | Avalia a condição escrita nesta linha. |
| 3037 | texto = texto.normalize('NFD').replace(/[\u0300-\u036f]/g, ''); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3038 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3039 | Linha em branco usada para separar blocos do arquivo. | |
| 3040 | return texto.replace(/\s+/g, ' ').trim(); | Retorna o valor indicado pela linha. |
| 3041 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3042 | Linha em branco usada para separar blocos do arquivo. | |
| 3043 | function estaVisivel(elemento){ | Declara a função e os parâmetros mostrados. |
| 3044 | if (!elemento) return false; | Avalia a condição escrita nesta linha. |
| 3045 | Linha em branco usada para separar blocos do arquivo. | |
| 3046 | var estilo = window.getComputedStyle(elemento); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3047 | if (estilo.display === 'none' || estilo.visibility === 'hidden' || estilo.opacity === '0') return false; | Avalia a condição escrita nesta linha. |
| 3048 | Linha em branco usada para separar blocos do arquivo. | |
| 3049 | var caixa = elemento.getBoundingClientRect(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3050 | return caixa.width > 0 && caixa.height > 0; | Retorna o valor indicado pela linha. |
| 3051 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3052 | Linha em branco usada para separar blocos do arquivo. | |
| 3053 | function abrirModalElemento(modal){ | Declara a função e os parâmetros mostrados. |
| 3054 | if (!modal) return false; | Avalia a condição escrita nesta linha. |
| 3055 | Linha em branco usada para separar blocos do arquivo. | |
| 3056 | if (!modal.id) modal.id = 'jacyModalWhatsAppRodape'; | Avalia a condição escrita nesta linha. |
| 3057 | Linha em branco usada para separar blocos do arquivo. | |
| 3058 | if (typeof window.abrirModalSistema === 'function') { | Avalia a condição escrita nesta linha. |
| 3059 | return window.abrirModalSistema('#' + modal.id); | Retorna o valor indicado pela linha. |
| 3060 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3061 | Linha em branco usada para separar blocos do arquivo. | |
| 3062 | if (window.jQuery && window.jQuery.fn && typeof window.jQuery.fn.modal === 'function') { | Avalia a condição escrita nesta linha. |
| 3063 | window.jQuery(modal).modal('show'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3064 | return true; | Retorna o valor indicado pela linha. |
| 3065 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3066 | Linha em branco usada para separar blocos do arquivo. | |
| 3067 | if (window.bootstrap && window.bootstrap.Modal) { | Avalia a condição escrita nesta linha. |
| 3068 | window.bootstrap.Modal.getOrCreateInstance(modal).show(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3069 | return true; | Retorna o valor indicado pela linha. |
| 3070 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3071 | Linha em branco usada para separar blocos do arquivo. | |
| 3072 | return false; | Retorna o valor indicado pela linha. |
| 3073 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3074 | Linha em branco usada para separar blocos do arquivo. | |
| 3075 | function localizarModalWhatsAppRodape(){ | Declara a função e os parâmetros mostrados. |
| 3076 | var modais = document.querySelectorAll('.modal'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3077 | Linha em branco usada para separar blocos do arquivo. | |
| 3078 | for (var i = 0; i < modais.length; i++) { | Controla uma repetição conforme a expressão exibida. |
| 3079 | var texto = normalizarTexto(modais[i].textContent); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3080 | Linha em branco usada para separar blocos do arquivo. | |
| 3081 | if (texto.indexOf('fale conosco') !== -1 && texto.indexOf('whatsapp') !== -1) { | Avalia a condição escrita nesta linha. |
| 3082 | return modais[i]; | Retorna o valor indicado pela linha. |
| 3083 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3084 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3085 | Linha em branco usada para separar blocos do arquivo. | |
| 3086 | return null; | Retorna o valor indicado pela linha. |
| 3087 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3088 | Linha em branco usada para separar blocos do arquivo. | |
| 3089 | function localizarGatilhoWhatsAppRodape(){ | Declara a função e os parâmetros mostrados. |
| 3090 | var elementos = document.querySelectorAll('a, button, [role="button"]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3091 | var melhor = null; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3092 | var melhorPontuacao = -1; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3093 | Linha em branco usada para separar blocos do arquivo. | |
| 3094 | for (var i = 0; i < elementos.length; i++) { | Controla uma repetição conforme a expressão exibida. |
| 3095 | var elemento = elementos[i]; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3096 | Linha em branco usada para separar blocos do arquivo. | |
| 3097 | if (wrap.contains(elemento) || elemento.id === 'ctaWhats' || !estaVisivel(elemento)) continue; | Avalia a condição escrita nesta linha. |
| 3098 | Linha em branco usada para separar blocos do arquivo. | |
| 3099 | var dados = normalizarTexto([ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3100 | elemento.id, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3101 | elemento.className, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3102 | elemento.getAttribute('aria-label'), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3103 | elemento.getAttribute('title'), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3104 | elemento.getAttribute('href'), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3105 | elemento.getAttribute('data-target'), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3106 | elemento.getAttribute('data-bs-target'), | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3107 | elemento.innerHTML | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3108 | ].join(' ')); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3109 | Linha em branco usada para separar blocos do arquivo. | |
| 3110 | if (dados.indexOf('whatsapp') === -1 && dados.indexOf('wa.me') === -1 && dados.indexOf('api.whatsapp.com') === -1) { | Avalia a condição escrita nesta linha. |
| 3111 | continue; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3112 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3113 | Linha em branco usada para separar blocos do arquivo. | |
| 3114 | var pontuacao = 20; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3115 | var alvoModal = elemento.getAttribute('data-target') || elemento.getAttribute('data-bs-target') || ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3116 | var estilo = window.getComputedStyle(elemento); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3117 | var caixa = elemento.getBoundingClientRect(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3118 | Linha em branco usada para separar blocos do arquivo. | |
| 3119 | if (alvoModal.charAt(0) === '#' && document.querySelector(alvoModal + '.modal')) pontuacao += 80; | Avalia a condição escrita nesta linha. |
| 3120 | if (estilo.position === 'fixed' || estilo.position === 'sticky') pontuacao += 60; | Avalia a condição escrita nesta linha. |
| 3121 | if (caixa.right >= window.innerWidth * 0.70) pontuacao += 20; | Avalia a condição escrita nesta linha. |
| 3122 | if (caixa.bottom >= window.innerHeight * 0.60) pontuacao += 20; | Avalia a condição escrita nesta linha. |
| 3123 | if (elemento.closest('footer, .footer_section')) pontuacao += 10; | Avalia a condição escrita nesta linha. |
| 3124 | Linha em branco usada para separar blocos do arquivo. | |
| 3125 | if (pontuacao > melhorPontuacao) { | Avalia a condição escrita nesta linha. |
| 3126 | melhor = elemento; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3127 | melhorPontuacao = pontuacao; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3128 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3129 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3130 | Linha em branco usada para separar blocos do arquivo. | |
| 3131 | return melhor; | Retorna o valor indicado pela linha. |
| 3132 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3133 | Linha em branco usada para separar blocos do arquivo. | |
| 3134 | function abrirWhatsAppRodape(){ | Declara a função e os parâmetros mostrados. |
| 3135 | var modal = localizarModalWhatsAppRodape(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3136 | if (modal && abrirModalElemento(modal)) return true; | Avalia a condição escrita nesta linha. |
| 3137 | Linha em branco usada para separar blocos do arquivo. | |
| 3138 | var gatilho = localizarGatilhoWhatsAppRodape(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3139 | if (!gatilho) return false; | Avalia a condição escrita nesta linha. |
| 3140 | Linha em branco usada para separar blocos do arquivo. | |
| 3141 | var alvo = gatilho.getAttribute('data-target') || gatilho.getAttribute('data-bs-target') || gatilho.getAttribute('href') || ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3142 | Linha em branco usada para separar blocos do arquivo. | |
| 3143 | if (alvo.charAt(0) === '#') { | Avalia a condição escrita nesta linha. |
| 3144 | var modalAlvo = document.querySelector(alvo); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3145 | if (modalAlvo && modalAlvo.classList.contains('modal') && abrirModalElemento(modalAlvo)) return true; | Avalia a condição escrita nesta linha. |
| 3146 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3147 | Linha em branco usada para separar blocos do arquivo. | |
| 3148 | gatilho.click(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3149 | return true; | Retorna o valor indicado pela linha. |
| 3150 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3151 | Linha em branco usada para separar blocos do arquivo. | |
| 3152 | function quantidadeVisivel(){ | Declara a função e os parâmetros mostrados. |
| 3153 | var largura = window.innerWidth; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3154 | Linha em branco usada para separar blocos do arquivo. | |
| 3155 | if (largura < 520) return 1; | Avalia a condição escrita nesta linha. |
| 3156 | if (largura < 768) return 2; | Avalia a condição escrita nesta linha. |
| 3157 | if (largura < 1024) return 3; | Avalia a condição escrita nesta linha. |
| 3158 | Linha em branco usada para separar blocos do arquivo. | |
| 3159 | return 4; | Retorna o valor indicado pela linha. |
| 3160 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3161 | Linha em branco usada para separar blocos do arquivo. | |
| 3162 | function gapTrack(){ | Declara a função e os parâmetros mostrados. |
| 3163 | var estilo = window.getComputedStyle(track); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3164 | var valor = parseFloat(estilo.columnGap || estilo.gap || '0'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3165 | Linha em branco usada para separar blocos do arquivo. | |
| 3166 | return Number.isFinite(valor) ? valor : 0; | Retorna o valor indicado pela linha. |
| 3167 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3168 | Linha em branco usada para separar blocos do arquivo. | |
| 3169 | function removerIdsDuplicados(elemento){ | Declara a função e os parâmetros mostrados. |
| 3170 | if (elemento.id) elemento.removeAttribute('id'); | Avalia a condição escrita nesta linha. |
| 3171 | Linha em branco usada para separar blocos do arquivo. | |
| 3172 | var filhos = elemento.querySelectorAll('[id]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3173 | for (var i = 0; i < filhos.length; i++) filhos[i].removeAttribute('id'); | Controla uma repetição conforme a expressão exibida. |
| 3174 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3175 | Linha em branco usada para separar blocos do arquivo. | |
| 3176 | function removerClones(){ | Declara a função e os parâmetros mostrados. |
| 3177 | for (var i = 0; i < clones.length; i++) { | Controla uma repetição conforme a expressão exibida. |
| 3178 | if (clones[i] && clones[i].parentNode === track) track.removeChild(clones[i]); | Avalia a condição escrita nesta linha. |
| 3179 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3180 | Linha em branco usada para separar blocos do arquivo. | |
| 3181 | clones = []; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3182 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3183 | Linha em branco usada para separar blocos do arquivo. | |
| 3184 | function aplicarLarguraItem(item, largura){ | Declara a função e os parâmetros mostrados. |
| 3185 | item.style.width = largura + 'px'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3186 | item.style.minWidth = largura + 'px'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3187 | item.style.maxWidth = largura + 'px'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3188 | item.style.flex = '0 0 ' + largura + 'px'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3189 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3190 | Linha em branco usada para separar blocos do arquivo. | |
| 3191 | function montarSequencia(){ | Declara a função e os parâmetros mostrados. |
| 3192 | removerClones(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3193 | Linha em branco usada para separar blocos do arquivo. | |
| 3194 | var visiveis = quantidadeVisivel(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3195 | var gap = gapTrack(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3196 | var larguraViewport = viewport.clientWidth; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3197 | var larguraItem = (larguraViewport - (gap * (visiveis - 1))) / visiveis; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3198 | Linha em branco usada para separar blocos do arquivo. | |
| 3199 | if (!Number.isFinite(larguraItem) || larguraItem <= 0) return; | Avalia a condição escrita nesta linha. |
| 3200 | Linha em branco usada para separar blocos do arquivo. | |
| 3201 | passoItem = larguraItem + gap; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3202 | larguraSequencia = passoItem * itensOriginais.length; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3203 | Linha em branco usada para separar blocos do arquivo. | |
| 3204 | for (var i = 0; i < itensOriginais.length; i++) { | Controla uma repetição conforme a expressão exibida. |
| 3205 | aplicarLarguraItem(itensOriginais[i], larguraItem); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3206 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3207 | Linha em branco usada para separar blocos do arquivo. | |
| 3208 | var quantidadeClones = Math.max( | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3209 | visiveis + 2, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3210 | Math.ceil((larguraViewport + passoItem) / passoItem) + 1 | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3211 | ); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3212 | Linha em branco usada para separar blocos do arquivo. | |
| 3213 | for (var indice = 0; indice < quantidadeClones; indice++) { | Controla uma repetição conforme a expressão exibida. |
| 3214 | var clone = itensOriginais[indice % itensOriginais.length].cloneNode(true); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3215 | Linha em branco usada para separar blocos do arquivo. | |
| 3216 | clone.setAttribute('data-galeria-clone', '1'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3217 | clone.setAttribute('aria-hidden', 'true'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3218 | clone.setAttribute('tabindex', '-1'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3219 | removerIdsDuplicados(clone); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3220 | aplicarLarguraItem(clone, larguraItem); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3221 | Linha em branco usada para separar blocos do arquivo. | |
| 3222 | track.appendChild(clone); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3223 | clones.push(clone); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3224 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3225 | Linha em branco usada para separar blocos do arquivo. | |
| 3226 | if (larguraSequencia > 0) posicao = posicao % larguraSequencia; | Avalia a condição escrita nesta linha. |
| 3227 | aplicarTransformacao(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3228 | Linha em branco usada para separar blocos do arquivo. | |
| 3229 | var esconderControles = itensOriginais.length <= 1; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3230 | if (anterior) anterior.hidden = esconderControles; | Avalia a condição escrita nesta linha. |
| 3231 | if (proximo) proximo.hidden = esconderControles; | Avalia a condição escrita nesta linha. |
| 3232 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3233 | Linha em branco usada para separar blocos do arquivo. | |
| 3234 | function normalizarPosicao(){ | Declara a função e os parâmetros mostrados. |
| 3235 | if (!larguraSequencia) return; | Avalia a condição escrita nesta linha. |
| 3236 | Linha em branco usada para separar blocos do arquivo. | |
| 3237 | while (posicao >= larguraSequencia) posicao -= larguraSequencia; | Controla uma repetição conforme a expressão exibida. |
| 3238 | while (posicao < 0) posicao += larguraSequencia; | Controla uma repetição conforme a expressão exibida. |
| 3239 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3240 | Linha em branco usada para separar blocos do arquivo. | |
| 3241 | function aplicarTransformacao(){ | Declara a função e os parâmetros mostrados. |
| 3242 | normalizarPosicao(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3243 | track.style.transform = 'translate3d(-' + posicao.toFixed(3) + 'px,0,0)'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3244 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3245 | Linha em branco usada para separar blocos do arquivo. | |
| 3246 | function animar(tempo){ | Declara a função e os parâmetros mostrados. |
| 3247 | if (!animacaoId) return; | Avalia a condição escrita nesta linha. |
| 3248 | Linha em branco usada para separar blocos do arquivo. | |
| 3249 | if (!ultimoTempo) ultimoTempo = tempo; | Avalia a condição escrita nesta linha. |
| 3250 | Linha em branco usada para separar blocos do arquivo. | |
| 3251 | var delta = Math.min(64, tempo - ultimoTempo); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3252 | ultimoTempo = tempo; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3253 | Linha em branco usada para separar blocos do arquivo. | |
| 3254 | if (!toqueAtivo && visivelNaTela && !document.hidden && larguraSequencia > 0) { | Avalia a condição escrita nesta linha. |
| 3255 | posicao += velocidade * (delta / 1000); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3256 | aplicarTransformacao(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3257 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3258 | Linha em branco usada para separar blocos do arquivo. | |
| 3259 | animacaoId = window.requestAnimationFrame(animar); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3260 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3261 | Linha em branco usada para separar blocos do arquivo. | |
| 3262 | function iniciarAnimacao(){ | Declara a função e os parâmetros mostrados. |
| 3263 | if (animacaoId || document.hidden || !visivelNaTela || !larguraSequencia) return; | Avalia a condição escrita nesta linha. |
| 3264 | Linha em branco usada para separar blocos do arquivo. | |
| 3265 | ultimoTempo = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3266 | animacaoId = window.requestAnimationFrame(animar); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3267 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3268 | Linha em branco usada para separar blocos do arquivo. | |
| 3269 | function pararAnimacao(){ | Declara a função e os parâmetros mostrados. |
| 3270 | if (animacaoId) window.cancelAnimationFrame(animacaoId); | Avalia a condição escrita nesta linha. |
| 3271 | Linha em branco usada para separar blocos do arquivo. | |
| 3272 | animacaoId = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3273 | ultimoTempo = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3274 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3275 | Linha em branco usada para separar blocos do arquivo. | |
| 3276 | function moverUmItem(direcao){ | Declara a função e os parâmetros mostrados. |
| 3277 | if (!passoItem) return; | Avalia a condição escrita nesta linha. |
| 3278 | Linha em branco usada para separar blocos do arquivo. | |
| 3279 | posicao += passoItem * direcao; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3280 | aplicarTransformacao(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3281 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3282 | Linha em branco usada para separar blocos do arquivo. | |
| 3283 | if (anterior) { | Avalia a condição escrita nesta linha. |
| 3284 | anterior.setAttribute('type', 'button'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3285 | anterior.addEventListener('click', function(evento){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3286 | evento.preventDefault(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3287 | evento.stopPropagation(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3288 | moverUmItem(-1); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3289 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3290 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3291 | Linha em branco usada para separar blocos do arquivo. | |
| 3292 | if (proximo) { | Avalia a condição escrita nesta linha. |
| 3293 | proximo.setAttribute('type', 'button'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3294 | proximo.addEventListener('click', function(evento){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3295 | evento.preventDefault(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3296 | evento.stopPropagation(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3297 | moverUmItem(1); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3298 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3299 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3300 | Linha em branco usada para separar blocos do arquivo. | |
| 3301 | track.addEventListener('touchstart', function(evento){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3302 | toqueAtivo = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3303 | inicioToque = evento.touches[0].clientX; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3304 | deslocamentoToque = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3305 | pararAnimacao(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3306 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3307 | Linha em branco usada para separar blocos do arquivo. | |
| 3308 | track.addEventListener('touchmove', function(evento){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3309 | deslocamentoToque = evento.touches[0].clientX - inicioToque; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3310 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3311 | Linha em branco usada para separar blocos do arquivo. | |
| 3312 | track.addEventListener('touchend', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3313 | if (Math.abs(deslocamentoToque) > 40) { | Avalia a condição escrita nesta linha. |
| 3314 | moverUmItem(deslocamentoToque < 0 ? 1 : -1); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3315 | ignorarCliqueAte = Date.now() + 450; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3316 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3317 | Linha em branco usada para separar blocos do arquivo. | |
| 3318 | deslocamentoToque = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3319 | toqueAtivo = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3320 | iniciarAnimacao(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3321 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3322 | Linha em branco usada para separar blocos do arquivo. | |
| 3323 | wrap.addEventListener('click', function(evento){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3324 | var item = evento.target.closest('.galItem[data-jacy-open-whatsapp-modal="1"]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3325 | Linha em branco usada para separar blocos do arquivo. | |
| 3326 | if (!item || Date.now() < ignorarCliqueAte) return; | Avalia a condição escrita nesta linha. |
| 3327 | Linha em branco usada para separar blocos do arquivo. | |
| 3328 | evento.preventDefault(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3329 | abrirWhatsAppRodape(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3330 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3331 | Linha em branco usada para separar blocos do arquivo. | |
| 3332 | wrap.addEventListener('keydown', function(evento){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3333 | var item = evento.target.closest('.galItem[data-jacy-open-whatsapp-modal="1"]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3334 | Linha em branco usada para separar blocos do arquivo. | |
| 3335 | if (!item || (evento.key !== 'Enter' && evento.key !== ' ')) return; | Avalia a condição escrita nesta linha. |
| 3336 | Linha em branco usada para separar blocos do arquivo. | |
| 3337 | evento.preventDefault(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3338 | abrirWhatsAppRodape(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3339 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3340 | Linha em branco usada para separar blocos do arquivo. | |
| 3341 | document.addEventListener('visibilitychange', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3342 | if (document.hidden) pararAnimacao(); | Avalia a condição escrita nesta linha. |
| 3343 | else iniciarAnimacao(); | Abre o caminho alternativo da condição anterior. |
| 3344 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3345 | Linha em branco usada para separar blocos do arquivo. | |
| 3346 | if ('IntersectionObserver' in window) { | Avalia a condição escrita nesta linha. |
| 3347 | var observador = new IntersectionObserver(function(entradas){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3348 | visivelNaTela = entradas.some(function(entrada){ return entrada.isIntersecting; }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3349 | Linha em branco usada para separar blocos do arquivo. | |
| 3350 | if (visivelNaTela) iniciarAnimacao(); | Avalia a condição escrita nesta linha. |
| 3351 | else pararAnimacao(); | Abre o caminho alternativo da condição anterior. |
| 3352 | }, { threshold:0.01 }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3353 | Linha em branco usada para separar blocos do arquivo. | |
| 3354 | observador.observe(wrap); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3355 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3356 | Linha em branco usada para separar blocos do arquivo. | |
| 3357 | window.addEventListener('resize', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3358 | window.clearTimeout(resizeTimer); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3359 | resizeTimer = window.setTimeout(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3360 | montarSequencia(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3361 | iniciarAnimacao(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3362 | }, 120); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3363 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3364 | Linha em branco usada para separar blocos do arquivo. | |
| 3365 | track.style.transition = 'none'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3366 | montarSequencia(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3367 | iniciarAnimacao(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3368 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3369 | Linha em branco usada para separar blocos do arquivo. | |
| 3370 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3371 | var track = document.getElementById('depTrack'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3372 | if (!track) return; | Avalia a condição escrita nesta linha. |
| 3373 | Linha em branco usada para separar blocos do arquivo. | |
| 3374 | var items = Array.from(track.querySelectorAll('.depItem')); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3375 | var prev = document.getElementById('depPrev'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3376 | var next = document.getElementById('depNext'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3377 | var dotsEl = document.getElementById('depDots'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3378 | var dots = []; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3379 | var index = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3380 | var t = null; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3381 | var videoEmUso = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3382 | var retomadaTimer = null; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3383 | Linha em branco usada para separar blocos do arquivo. | |
| 3384 | function perView(){ | Declara a função e os parâmetros mostrados. |
| 3385 | return (window.innerWidth >= 900) ? 2 : 1; | Retorna o valor indicado pela linha. |
| 3386 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3387 | Linha em branco usada para separar blocos do arquivo. | |
| 3388 | function temVideoAssistindo(){ | Declara a função e os parâmetros mostrados. |
| 3389 | var videos = Array.from(track.querySelectorAll('video')); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3390 | return videos.some(function(video){ | Retorna o valor indicado pela linha. |
| 3391 | return video && !video.paused && !video.ended; | Retorna o valor indicado pela linha. |
| 3392 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3393 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3394 | Linha em branco usada para separar blocos do arquivo. | |
| 3395 | function temVideoTelaCheia(){ | Declara a função e os parâmetros mostrados. |
| 3396 | var fs = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3397 | return !!(fs && track.contains(fs)); | Retorna o valor indicado pela linha. |
| 3398 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3399 | Linha em branco usada para separar blocos do arquivo. | |
| 3400 | function podeRodarAutomatico(){ | Declara a função e os parâmetros mostrados. |
| 3401 | return !document.hidden && !videoEmUso && !temVideoAssistindo() && !temVideoTelaCheia(); | Retorna o valor indicado pela linha. |
| 3402 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3403 | Linha em branco usada para separar blocos do arquivo. | |
| 3404 | function stopDepoTimer(){ | Declara a função e os parâmetros mostrados. |
| 3405 | if (t) { | Avalia a condição escrita nesta linha. |
| 3406 | clearInterval(t); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3407 | t = null; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3408 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3409 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3410 | Linha em branco usada para separar blocos do arquivo. | |
| 3411 | function startDepoTimer(){ | Declara a função e os parâmetros mostrados. |
| 3412 | stopDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3413 | if (!podeRodarAutomatico()) return; | Avalia a condição escrita nesta linha. |
| 3414 | Linha em branco usada para separar blocos do arquivo. | |
| 3415 | t = setInterval(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3416 | if (!podeRodarAutomatico()) { | Avalia a condição escrita nesta linha. |
| 3417 | stopDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3418 | return; | Retorna o valor indicado pela linha. |
| 3419 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3420 | Linha em branco usada para separar blocos do arquivo. | |
| 3421 | var pv = perView(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3422 | var pages = Math.max(1, Math.ceil(items.length / pv)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3423 | go((index + 1) % pages, false, false); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3424 | }, 6000); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3425 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3426 | Linha em branco usada para separar blocos do arquivo. | |
| 3427 | function pausarOutrosVideos(videoAtual){ | Declara a função e os parâmetros mostrados. |
| 3428 | Array.from(track.querySelectorAll('video')).forEach(function(video){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3429 | if (video !== videoAtual) { | Avalia a condição escrita nesta linha. |
| 3430 | try { video.pause(); } catch(e) {} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3431 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3432 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3433 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3434 | Linha em branco usada para separar blocos do arquivo. | |
| 3435 | function pausarVideosForaDaPagina(){ | Declara a função e os parâmetros mostrados. |
| 3436 | var pv = perView(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3437 | var inicio = index * pv; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3438 | var fim = inicio + pv; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3439 | Linha em branco usada para separar blocos do arquivo. | |
| 3440 | items.forEach(function(item, pos){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3441 | if (pos < inicio || pos >= fim) { | Avalia a condição escrita nesta linha. |
| 3442 | Array.from(item.querySelectorAll('video')).forEach(function(video){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3443 | try { video.pause(); } catch(e) {} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3444 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3445 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3446 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3447 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3448 | Linha em branco usada para separar blocos do arquivo. | |
| 3449 | function marcarVideoEmUso(){ | Declara a função e os parâmetros mostrados. |
| 3450 | videoEmUso = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3451 | if (retomadaTimer) clearTimeout(retomadaTimer); | Avalia a condição escrita nesta linha. |
| 3452 | stopDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3453 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3454 | Linha em branco usada para separar blocos do arquivo. | |
| 3455 | function liberarVideoSeParado(){ | Declara a função e os parâmetros mostrados. |
| 3456 | if (retomadaTimer) clearTimeout(retomadaTimer); | Avalia a condição escrita nesta linha. |
| 3457 | Linha em branco usada para separar blocos do arquivo. | |
| 3458 | retomadaTimer = setTimeout(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3459 | if (!temVideoAssistindo() && !temVideoTelaCheia()) { | Avalia a condição escrita nesta linha. |
| 3460 | videoEmUso = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3461 | startDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3462 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3463 | }, 1200); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3464 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3465 | Linha em branco usada para separar blocos do arquivo. | |
| 3466 | function layout(){ | Declara a função e os parâmetros mostrados. |
| 3467 | var pv = perView(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3468 | var w = (100 / pv) + '%'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3469 | items.forEach(function(el){ el.style.minWidth = w; }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3470 | Linha em branco usada para separar blocos do arquivo. | |
| 3471 | if (dotsEl) dotsEl.innerHTML = ''; | Avalia a condição escrita nesta linha. |
| 3472 | dots = []; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3473 | Linha em branco usada para separar blocos do arquivo. | |
| 3474 | var pages = Math.max(1, Math.ceil(items.length / pv)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3475 | for (var i = 0; i < pages; i++) { | Controla uma repetição conforme a expressão exibida. |
| 3476 | var b = document.createElement('button'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3477 | b.type = 'button'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3478 | b.style.cssText = 'width:10px;height:10px;border-radius:999px;border:0;background:#3a3c44;cursor:pointer;'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3479 | (function(i){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3480 | b.addEventListener('click', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3481 | videoEmUso = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3482 | pausarOutrosVideos(null); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3483 | go(i, false, true); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3484 | startDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3485 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3486 | })(i); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3487 | if (dotsEl) dotsEl.appendChild(b); | Avalia a condição escrita nesta linha. |
| 3488 | dots.push(b); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3489 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3490 | Linha em branco usada para separar blocos do arquivo. | |
| 3491 | clamp(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3492 | go(index, true, false); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3493 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3494 | Linha em branco usada para separar blocos do arquivo. | |
| 3495 | function clamp(){ | Declara a função e os parâmetros mostrados. |
| 3496 | var pv = perView(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3497 | var pages = Math.max(1, Math.ceil(items.length / pv)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3498 | if (index < 0) index = 0; | Avalia a condição escrita nesta linha. |
| 3499 | if (index > pages - 1) index = pages - 1; | Avalia a condição escrita nesta linha. |
| 3500 | dots.forEach(function(d, i){ d.style.background = (i === index ? '#ffffff' : '#3a3c44'); }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3501 | if (prev) prev.disabled = (index === 0); | Avalia a condição escrita nesta linha. |
| 3502 | if (next) next.disabled = (index === pages - 1); | Avalia a condição escrita nesta linha. |
| 3503 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3504 | Linha em branco usada para separar blocos do arquivo. | |
| 3505 | function go(i, noAnim, navegacaoManual){ | Declara a função e os parâmetros mostrados. |
| 3506 | index = i; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3507 | clamp(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3508 | Linha em branco usada para separar blocos do arquivo. | |
| 3509 | if (navegacaoManual) { | Avalia a condição escrita nesta linha. |
| 3510 | videoEmUso = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3511 | pausarOutrosVideos(null); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3512 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3513 | Linha em branco usada para separar blocos do arquivo. | |
| 3514 | if (noAnim) track.style.transition = 'none'; | Avalia a condição escrita nesta linha. |
| 3515 | var shift = (100 * index); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3516 | track.style.transform = 'translateX(' + (-shift) + '%)'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3517 | if (noAnim) requestAnimationFrame(function(){ track.style.transition = '.45s ease'; }); | Avalia a condição escrita nesta linha. |
| 3518 | Linha em branco usada para separar blocos do arquivo. | |
| 3519 | pausarVideosForaDaPagina(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3520 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3521 | Linha em branco usada para separar blocos do arquivo. | |
| 3522 | if (prev) { | Avalia a condição escrita nesta linha. |
| 3523 | prev.addEventListener('click', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3524 | videoEmUso = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3525 | pausarOutrosVideos(null); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3526 | go(index - 1, false, true); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3527 | startDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3528 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3529 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3530 | Linha em branco usada para separar blocos do arquivo. | |
| 3531 | if (next) { | Avalia a condição escrita nesta linha. |
| 3532 | next.addEventListener('click', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3533 | videoEmUso = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3534 | pausarOutrosVideos(null); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3535 | go(index + 1, false, true); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3536 | startDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3537 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3538 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3539 | Linha em branco usada para separar blocos do arquivo. | |
| 3540 | var sx = 0, dx = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3541 | track.addEventListener('touchstart', function(e){ sx = e.touches[0].clientX; }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3542 | track.addEventListener('touchmove', function(e){ dx = e.touches[0].clientX - sx; }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3543 | track.addEventListener('touchend', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3544 | if (Math.abs(dx) > 40) { | Avalia a condição escrita nesta linha. |
| 3545 | videoEmUso = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3546 | pausarOutrosVideos(null); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3547 | dx < 0 ? go(index + 1, false, true) : go(index - 1, false, true); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3548 | startDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3549 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3550 | dx = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3551 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3552 | Linha em branco usada para separar blocos do arquivo. | |
| 3553 | Array.from(track.querySelectorAll('video')).forEach(function(video){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3554 | ['pointerdown','mousedown','touchstart','click','focus','seeking','volumechange'].forEach(function(evt){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3555 | video.addEventListener(evt, marcarVideoEmUso, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3556 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3557 | Linha em branco usada para separar blocos do arquivo. | |
| 3558 | video.addEventListener('play', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3559 | marcarVideoEmUso(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3560 | pausarOutrosVideos(video); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3561 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3562 | Linha em branco usada para separar blocos do arquivo. | |
| 3563 | video.addEventListener('pause', liberarVideoSeParado); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3564 | video.addEventListener('ended', liberarVideoSeParado); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3565 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3566 | Linha em branco usada para separar blocos do arquivo. | |
| 3567 | ['fullscreenchange','webkitfullscreenchange','mozfullscreenchange','MSFullscreenChange'].forEach(function(evt){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3568 | document.addEventListener(evt, function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3569 | if (temVideoTelaCheia()) marcarVideoEmUso(); | Avalia a condição escrita nesta linha. |
| 3570 | else liberarVideoSeParado(); | Abre o caminho alternativo da condição anterior. |
| 3571 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3572 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3573 | Linha em branco usada para separar blocos do arquivo. | |
| 3574 | window.addEventListener('resize', layout, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3575 | Linha em branco usada para separar blocos do arquivo. | |
| 3576 | document.addEventListener('visibilitychange', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3577 | if (document.hidden) stopDepoTimer(); | Avalia a condição escrita nesta linha. |
| 3578 | else startDepoTimer(); | Abre o caminho alternativo da condição anterior. |
| 3579 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3580 | Linha em branco usada para separar blocos do arquivo. | |
| 3581 | layout(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3582 | startDepoTimer(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3583 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3584 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3585 | document.addEventListener('click', function(ev){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3586 | document.querySelectorAll('header details[open]').forEach(function(d){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3587 | if (!d.contains(ev.target)) d.removeAttribute('open'); | Avalia a condição escrita nesta linha. |
| 3588 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3589 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3590 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3591 | Linha em branco usada para separar blocos do arquivo. | |
| 3592 | function carregarImg(){ | Declara a função e os parâmetros mostrados. |
| 3593 | var input = document.getElementById('foto'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3594 | var img = document.getElementById('target'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3595 | var msg = document.getElementById('mensagem-comentario'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3596 | Linha em branco usada para separar blocos do arquivo. | |
| 3597 | if (!input || !input.files || !input.files[0]) return; | Avalia a condição escrita nesta linha. |
| 3598 | Linha em branco usada para separar blocos do arquivo. | |
| 3599 | var file = input.files[0]; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3600 | var okTypes = ['image/jpeg', 'image/jpg', 'image/png', 'image/webp']; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3601 | Linha em branco usada para separar blocos do arquivo. | |
| 3602 | if (okTypes.indexOf(file.type) === -1) { | Avalia a condição escrita nesta linha. |
| 3603 | msg.textContent = 'Arquivo inválido. Use JPG, PNG ou WebP.'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3604 | msg.style.color = '#ff8080'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3605 | input.value = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3606 | img.src = 'sistema/painel/img/comentarios/sem-foto.jpg'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3607 | return; | Retorna o valor indicado pela linha. |
| 3608 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3609 | Linha em branco usada para separar blocos do arquivo. | |
| 3610 | if (file.size > 5 * 1024 * 1024) { | Avalia a condição escrita nesta linha. |
| 3611 | msg.textContent = 'Arquivo muito grande (máx. 5MB).'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3612 | msg.style.color = '#ff8080'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3613 | input.value = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3614 | img.src = 'sistema/painel/img/comentarios/sem-foto.jpg'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3615 | return; | Retorna o valor indicado pela linha. |
| 3616 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3617 | Linha em branco usada para separar blocos do arquivo. | |
| 3618 | var reader = new FileReader(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3619 | reader.onload = function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3620 | img.src = e.target.result; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3621 | msg.textContent = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3622 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3623 | reader.readAsDataURL(file); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3624 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3625 | </script> | Marca HTML presente na saída da página. |
| 3626 | Linha em branco usada para separar blocos do arquivo. | |
| 3627 | <script> | Marca HTML presente na saída da página. |
| 3628 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3629 | var ENDPOINT = '/cadastrar.php'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3630 | var tel = document.getElementById('telefone_rodape'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3631 | Linha em branco usada para separar blocos do arquivo. | |
| 3632 | if (tel) { | Avalia a condição escrita nesta linha. |
| 3633 | tel.addEventListener('input', function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3634 | var d = e.target.value.replace(/\D/g, '').slice(0, 11); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3635 | var out = d; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3636 | Linha em branco usada para separar blocos do arquivo. | |
| 3637 | if (d.length > 2) out = '(' + d.slice(0, 2) + ') ' + d.slice(2); | Avalia a condição escrita nesta linha. |
| 3638 | if (d.length >= 11) out = '(' + d.slice(0, 2) + ') ' + d.slice(2, 7) + '-' + d.slice(7); | Avalia a condição escrita nesta linha. |
| 3639 | else if (d.length >= 7) out = '(' + d.slice(0, 2) + ') ' + d.slice(2, 6) + '-' + d.slice(6); | Avalia a condição escrita nesta linha. |
| 3640 | Linha em branco usada para separar blocos do arquivo. | |
| 3641 | e.target.value = out; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3642 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3643 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3644 | Linha em branco usada para separar blocos do arquivo. | |
| 3645 | var form = document.getElementById('form_cadastro'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3646 | if (!form) return; | Avalia a condição escrita nesta linha. |
| 3647 | Linha em branco usada para separar blocos do arquivo. | |
| 3648 | form.addEventListener('submit', function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3649 | e.preventDefault(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3650 | if (window.loadSwal) window.loadSwal(); | Avalia a condição escrita nesta linha. |
| 3651 | Linha em branco usada para separar blocos do arquivo. | |
| 3652 | var action = (form.getAttribute('data-recaptcha-action') || 'cadastro').trim(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3653 | var tokEl = form.querySelector('input[name="recaptcha_token"]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3654 | var actEl = form.querySelector('input[name="recaptcha_action"]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3655 | if (actEl) actEl.value = action; | Avalia a condição escrita nesta linha. |
| 3656 | Linha em branco usada para separar blocos do arquivo. | |
| 3657 | function prosseguirEnvio(){ | Declara a função e os parâmetros mostrados. |
| 3658 | var nome = (form.querySelector('[name="nome"]').value || '').trim(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3659 | var fone = (form.querySelector('[name="telefone"]').value || '').replace(/\D/g, ''); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3660 | Linha em branco usada para separar blocos do arquivo. | |
| 3661 | if (!nome || fone.length < 10) { | Avalia a condição escrita nesta linha. |
| 3662 | if (window.Swal) Swal.fire({icon:'error', title:'❌ Dados inválidos', text:'Preencha corretamente nome e telefone.', confirmButtonColor:'#DAA520'}); | Avalia a condição escrita nesta linha. |
| 3663 | else alert('Preencha corretamente nome e telefone.'); | Abre o caminho alternativo da condição anterior. |
| 3664 | return; | Retorna o valor indicado pela linha. |
| 3665 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3666 | Linha em branco usada para separar blocos do arquivo. | |
| 3667 | var xhr = new XMLHttpRequest(); | Inicia ou configura uma requisição assíncrona no navegador. |
| 3668 | xhr.open('POST', ENDPOINT, true); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3669 | xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); | Inicia ou configura uma requisição assíncrona no navegador. |
| 3670 | Linha em branco usada para separar blocos do arquivo. | |
| 3671 | xhr.onreadystatechange = function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3672 | if (xhr.readyState !== 4) return; | Avalia a condição escrita nesta linha. |
| 3673 | Linha em branco usada para separar blocos do arquivo. | |
| 3674 | var ok = (xhr.status >= 200 && xhr.status < 300); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3675 | var resp = (xhr.responseText || '').replace(/\s+/g, ' ').trim(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3676 | Linha em branco usada para separar blocos do arquivo. | |
| 3677 | if (!ok) { | Avalia a condição escrita nesta linha. |
| 3678 | if (window.Swal) Swal.fire({icon:'error', title:'❌ Erro ao enviar', text:'HTTP ' + xhr.status, confirmButtonColor:'#DAA520'}); | Avalia a condição escrita nesta linha. |
| 3679 | else alert('Erro HTTP ' + xhr.status); | Abre o caminho alternativo da condição anterior. |
| 3680 | return; | Retorna o valor indicado pela linha. |
| 3681 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3682 | Linha em branco usada para separar blocos do arquivo. | |
| 3683 | if (resp.indexOf('Cadastrado com Sucesso') === 0) { | Avalia a condição escrita nesta linha. |
| 3684 | if (window.Swal) { | Avalia a condição escrita nesta linha. |
| 3685 | Swal.fire({icon:'success', title:'✅ Sucesso!', text:'Cadastro realizado com sucesso.', confirmButtonColor:'#DAA520'}) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3686 | .then(function(){ window.location.href = '/sistema/acesso'; }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3687 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3688 | alert('Cadastro realizado com sucesso.'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3689 | window.location.href = '/sistema/acesso'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3690 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3691 | } else if (resp.indexOf('Você já está Cadastrado') === 0) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3692 | if (window.Swal) { | Avalia a condição escrita nesta linha. |
| 3693 | Swal.fire({icon:'warning', title:'⚠️ Já cadastrado', text:'Você já tem cadastro.', confirmButtonColor:'#DAA520'}) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3694 | .then(function(){ window.location.href = '/sistema/acesso'; }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3695 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3696 | alert('Você já tem cadastro.'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3697 | window.location.href = '/sistema/acesso'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3698 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3699 | } else if (resp.indexOf('Preencha nome e telefone') === 0) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3700 | if (window.Swal) Swal.fire({icon:'error', title:'❌ Dados inválidos', text:'Preencha corretamente nome e telefone.', confirmButtonColor:'#DAA520'}); | Avalia a condição escrita nesta linha. |
| 3701 | else alert('Preencha corretamente nome e telefone.'); | Abre o caminho alternativo da condição anterior. |
| 3702 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3703 | if (window.Swal) Swal.fire({icon:'error', title:'❌ Erro inesperado', html:'Retorno:<br><pre style="white-space:pre-wrap">' + resp + '</pre>', confirmButtonColor:'#DAA520'}); | Avalia a condição escrita nesta linha. |
| 3704 | else alert('Erro: ' + resp); | Abre o caminho alternativo da condição anterior. |
| 3705 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3706 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3707 | Linha em branco usada para separar blocos do arquivo. | |
| 3708 | xhr.onerror = function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3709 | if (window.Swal) Swal.fire({icon:'error', title:'❌ Falha de rede', text:'Não foi possível enviar os dados.', confirmButtonColor:'#DAA520'}); | Avalia a condição escrita nesta linha. |
| 3710 | else alert('Falha de rede.'); | Abre o caminho alternativo da condição anterior. |
| 3711 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3712 | Linha em branco usada para separar blocos do arquivo. | |
| 3713 | xhr.send(new FormData(form)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3714 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3715 | Linha em branco usada para separar blocos do arquivo. | |
| 3716 | if (window.grecaptcha && window.RECAPTCHA_SITE_KEY) { | Avalia a condição escrita nesta linha. |
| 3717 | grecaptcha.ready(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3718 | grecaptcha.execute(window.RECAPTCHA_SITE_KEY, {action:action}).then(function(token){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3719 | if (tokEl) tokEl.value = token; | Avalia a condição escrita nesta linha. |
| 3720 | prosseguirEnvio(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3721 | }).catch(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3722 | prosseguirEnvio(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3723 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3724 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3725 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3726 | prosseguirEnvio(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3727 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3728 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3729 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3730 | </script> | Marca HTML presente na saída da página. |
| 3731 | Linha em branco usada para separar blocos do arquivo. | |
| 3732 | Linha em branco usada para separar blocos do arquivo. | |
| 3733 | <script type="application/ld+json"> | Marca HTML presente na saída da página. |
| 3734 | { | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3735 | "@context":"https://schema.org", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3736 | "@type":"HairSalon", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3737 | "name":<?=json_encode($SET['nome'], JSON_UNESCAPED_UNICODE)?>, | Converte dados para JSON. |
| 3738 | "url":<?=json_encode(rtrim($SET['site'], '/') . '/', JSON_UNESCAPED_SLASHES)?>, | Converte dados para JSON. |
| 3739 | "description":<?=json_encode($SET['descricao'], JSON_UNESCAPED_UNICODE)?>, | Converte dados para JSON. |
| 3740 | "telephone":<?=json_encode($SET['telefone'], JSON_UNESCAPED_UNICODE)?>, | Converte dados para JSON. |
| 3741 | "image":<?=json_encode($SET['logo_png'], JSON_UNESCAPED_SLASHES)?>, | Converte dados para JSON. |
| 3742 | "address":{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3743 | "@type":"PostalAddress", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3744 | "streetAddress":"Rua Rio Grande do Sul, 2151", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3745 | "addressLocality":"Cascavel", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3746 | "addressRegion":"PR", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3747 | "postalCode":"85801-050", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3748 | "addressCountry":"BR" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3749 | }, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3750 | "geo":{ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3751 | "@type":"GeoCoordinates", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3752 | "latitude":-24.957842, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3753 | "longitude":-53.458627 | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3754 | }, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3755 | "areaServed":"Cascavel e região oeste do Paraná", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3756 | "priceRange":"R$R$", | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3757 | "openingHoursSpecification":[ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3758 | {"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"19:00"}, | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3759 | {"@type":"OpeningHoursSpecification","dayOfWeek":"Saturday","opens":"09:00","closes":"17:00"} | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3760 | ], | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3761 | "sameAs":[ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3762 | <?=json_encode($INSTAGRAM_LINK ?: "https://www.instagram.com/jacycabeleireiro", JSON_UNESCAPED_SLASHES)?>, | Converte dados para JSON. |
| 3763 | "https://maps.app.goo.gl/PGDcFaCRaq2pmMVa9" | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3764 | ] | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3765 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3766 | </script> | Marca HTML presente na saída da página. |
| 3767 | Linha em branco usada para separar blocos do arquivo. | |
| 3768 | <script> | Marca HTML presente na saída da página. |
| 3769 | document.addEventListener('DOMContentLoaded', function () { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3770 | const el = document.querySelector('.counter-1999'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3771 | const sec = document.querySelector('.experience-section'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3772 | if (!el) return; | Avalia a condição escrita nesta linha. |
| 3773 | Linha em branco usada para separar blocos do arquivo. | |
| 3774 | fetch('/contador-visitas.php', { cache: 'no-store' }) | Inicia ou configura uma requisição assíncrona no navegador. |
| 3775 | .then(r => r.ok ? r.json() : Promise.reject(r.status)) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3776 | .then(data => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3777 | const total = Number(data && data.visitas) || 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3778 | const finalFmt = (data && data.formatado) ? String(data.formatado) : total.toLocaleString('pt-BR'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3779 | startCounter(total, finalFmt); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3780 | }) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3781 | .catch(() => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3782 | startCounter(5280, (5280).toLocaleString('pt-BR')); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3783 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3784 | Linha em branco usada para separar blocos do arquivo. | |
| 3785 | function startCounter(target, finalFmt) { | Declara a função e os parâmetros mostrados. |
| 3786 | el.textContent = '0'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3787 | el.setAttribute('data-target', String(target)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3788 | const run = () => animateTo(target, finalFmt); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3789 | Linha em branco usada para separar blocos do arquivo. | |
| 3790 | if ('IntersectionObserver' in window && sec) { | Avalia a condição escrita nesta linha. |
| 3791 | const io = new IntersectionObserver((entries) => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3792 | if (entries.some(e => e.isIntersecting) && !el.classList.contains('animated')) { | Avalia a condição escrita nesta linha. |
| 3793 | el.classList.add('animated'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3794 | run(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3795 | io.disconnect(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3796 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3797 | }, { threshold: 0.3 }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3798 | io.observe(sec); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3799 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3800 | run(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3801 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3802 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3803 | Linha em branco usada para separar blocos do arquivo. | |
| 3804 | function animateTo(target, finalFmt) { | Declara a função e os parâmetros mostrados. |
| 3805 | if (!target || target <= 0) { el.textContent = '0'; return; } | Avalia a condição escrita nesta linha. |
| 3806 | Linha em branco usada para separar blocos do arquivo. | |
| 3807 | let current = 0; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3808 | const duration = 2400; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3809 | const steps = 100; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3810 | const increment = Math.max(1, Math.ceil(target / steps)); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3811 | const tick = Math.max(16, Math.floor(duration / Math.ceil(target / increment))); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3812 | Linha em branco usada para separar blocos do arquivo. | |
| 3813 | const t = setInterval(() => { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3814 | current += increment; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3815 | if (current >= target) { | Avalia a condição escrita nesta linha. |
| 3816 | clearInterval(t); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3817 | el.textContent = finalFmt; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3818 | return; | Retorna o valor indicado pela linha. |
| 3819 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3820 | el.textContent = current.toLocaleString('pt-BR'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3821 | }, tick); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3822 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3823 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3824 | </script> | Marca HTML presente na saída da página. |
| 3825 | Linha em branco usada para separar blocos do arquivo. | |
| 3826 | <script> | Marca HTML presente na saída da página. |
| 3827 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3828 | var urlSimulacaoCliente = '/ajax/gerar_ia_cliente.php'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3829 | var urlCadastroCliente = '/cadastrar.php'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3830 | var imagemPadrao = '/sistema/painel/images/simulacoes/sem-foto.jpg'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3831 | var pastaSimulacoes = '/sistema/painel/images/simulacoes/'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3832 | var simulacaoEmAndamento = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3833 | Linha em branco usada para separar blocos do arquivo. | |
| 3834 | function normalizarUrlImagem(url){ | Declara a função e os parâmetros mostrados. |
| 3835 | if (!url) return ''; | Avalia a condição escrita nesta linha. |
| 3836 | url = String(url).trim(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3837 | if (!url) return ''; | Avalia a condição escrita nesta linha. |
| 3838 | Linha em branco usada para separar blocos do arquivo. | |
| 3839 | if (/^https?:\/\//i.test(url)) return url; | Avalia a condição escrita nesta linha. |
| 3840 | if (url.charAt(0) === '/') return window.location.origin + url; | Avalia a condição escrita nesta linha. |
| 3841 | Linha em branco usada para separar blocos do arquivo. | |
| 3842 | return window.location.origin + '/' + url.replace(/^\.?\//, ''); | Retorna o valor indicado pela linha. |
| 3843 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3844 | Linha em branco usada para separar blocos do arquivo. | |
| 3845 | function montarUrlSimulacao(caminho){ | Declara a função e os parâmetros mostrados. |
| 3846 | if (!caminho) return ''; | Avalia a condição escrita nesta linha. |
| 3847 | caminho = String(caminho).trim(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3848 | if (!caminho) return ''; | Avalia a condição escrita nesta linha. |
| 3849 | Linha em branco usada para separar blocos do arquivo. | |
| 3850 | if (/^https?:\/\//i.test(caminho)) return caminho; | Avalia a condição escrita nesta linha. |
| 3851 | if (caminho.indexOf('sistema/painel/images/simulacoes/') !== -1) return normalizarUrlImagem(caminho); | Avalia a condição escrita nesta linha. |
| 3852 | if (caminho.charAt(0) === '/') return normalizarUrlImagem(caminho); | Avalia a condição escrita nesta linha. |
| 3853 | Linha em branco usada para separar blocos do arquivo. | |
| 3854 | return normalizarUrlImagem(pastaSimulacoes + caminho.replace(/^\.?\//, '')); | Retorna o valor indicado pela linha. |
| 3855 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3856 | Linha em branco usada para separar blocos do arquivo. | |
| 3857 | function adicionarCacheNaImagem(url){ | Declara a função e os parâmetros mostrados. |
| 3858 | if (!url) return ''; | Avalia a condição escrita nesta linha. |
| 3859 | return url + (url.indexOf('?') !== -1 ? '&v=' : '?v=') + Date.now(); | Retorna o valor indicado pela linha. |
| 3860 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3861 | Linha em branco usada para separar blocos do arquivo. | |
| 3862 | function retornoFoiSucesso(status){ | Declara a função e os parâmetros mostrados. |
| 3863 | if (!status) return false; | Avalia a condição escrita nesta linha. |
| 3864 | status = String(status).toLowerCase().trim(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3865 | return status === 'success' || status === 'sucesso'; | Retorna o valor indicado pela linha. |
| 3866 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3867 | Linha em branco usada para separar blocos do arquivo. | |
| 3868 | function formatarTelefoneBR(valor){ | Declara a função e os parâmetros mostrados. |
| 3869 | var d = String(valor || '').replace(/\D/g, '').slice(0, 11); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3870 | if (!d) return ''; | Avalia a condição escrita nesta linha. |
| 3871 | Linha em branco usada para separar blocos do arquivo. | |
| 3872 | if (d.length <= 2) return d; | Avalia a condição escrita nesta linha. |
| 3873 | if (d.length <= 6) return '(' + d.slice(0, 2) + ') ' + d.slice(2); | Avalia a condição escrita nesta linha. |
| 3874 | if (d.length <= 10) return '(' + d.slice(0, 2) + ') ' + d.slice(2, 6) + '-' + d.slice(6); | Avalia a condição escrita nesta linha. |
| 3875 | Linha em branco usada para separar blocos do arquivo. | |
| 3876 | return '(' + d.slice(0, 2) + ') ' + d.slice(2, 7) + '-' + d.slice(7, 11); | Retorna o valor indicado pela linha. |
| 3877 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3878 | Linha em branco usada para separar blocos do arquivo. | |
| 3879 | function aplicarMascaraTelefoneSimulador(){ | Declara a função e os parâmetros mostrados. |
| 3880 | var campo = document.getElementById('telefone_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3881 | if (!campo) return; | Avalia a condição escrita nesta linha. |
| 3882 | Linha em branco usada para separar blocos do arquivo. | |
| 3883 | if (campo.getAttribute('data-mask-simulador') === '1') { | Avalia a condição escrita nesta linha. |
| 3884 | campo.value = formatarTelefoneBR(campo.value); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3885 | return; | Retorna o valor indicado pela linha. |
| 3886 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3887 | Linha em branco usada para separar blocos do arquivo. | |
| 3888 | var aplicar = function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3889 | campo.value = formatarTelefoneBR(campo.value); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3890 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3891 | Linha em branco usada para separar blocos do arquivo. | |
| 3892 | campo.addEventListener('input', aplicar); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3893 | campo.addEventListener('blur', aplicar); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3894 | campo.addEventListener('paste', function(){ setTimeout(aplicar, 0); }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3895 | Linha em branco usada para separar blocos do arquivo. | |
| 3896 | campo.setAttribute('data-mask-simulador', '1'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3897 | aplicar(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3898 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3899 | Linha em branco usada para separar blocos do arquivo. | |
| 3900 | function setEstadoBotao(carregando){ | Declara a função e os parâmetros mostrados. |
| 3901 | var btn = document.getElementById('btn_simular_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3902 | var icone = document.getElementById('icone_btn_simular_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3903 | var texto = document.getElementById('texto_btn_simular_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3904 | var msg = document.getElementById('mensagem_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3905 | Linha em branco usada para separar blocos do arquivo. | |
| 3906 | if (!btn || !icone || !texto || !msg) return; | Avalia a condição escrita nesta linha. |
| 3907 | Linha em branco usada para separar blocos do arquivo. | |
| 3908 | if (carregando) { | Avalia a condição escrita nesta linha. |
| 3909 | btn.disabled = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3910 | btn.style.pointerEvents = 'none'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3911 | icone.className = 'fa fa-spinner fa-spin'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3912 | texto.innerText = 'Simulando...'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3913 | msg.className = 'text-info'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3914 | msg.innerText = 'Gerando simulação, aguarde...'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3915 | return; | Retorna o valor indicado pela linha. |
| 3916 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3917 | Linha em branco usada para separar blocos do arquivo. | |
| 3918 | btn.disabled = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3919 | btn.style.pointerEvents = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3920 | icone.className = 'fa fa-magic'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3921 | texto.innerText = 'Simular'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3922 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3923 | Linha em branco usada para separar blocos do arquivo. | |
| 3924 | function resetarModalSimulacaoCliente(){ | Declara a função e os parâmetros mostrados. |
| 3925 | var form = document.getElementById('form_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3926 | var imgOriginal = document.getElementById('preview_original_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3927 | var imgResultado = document.getElementById('preview_resultado_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3928 | var msg = document.getElementById('mensagem_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3929 | Linha em branco usada para separar blocos do arquivo. | |
| 3930 | simulacaoEmAndamento = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3931 | Linha em branco usada para separar blocos do arquivo. | |
| 3932 | if (form) form.reset(); | Avalia a condição escrita nesta linha. |
| 3933 | if (imgOriginal) imgOriginal.src = adicionarCacheNaImagem(imagemPadrao); | Avalia a condição escrita nesta linha. |
| 3934 | if (imgResultado) imgResultado.src = adicionarCacheNaImagem(imagemPadrao); | Avalia a condição escrita nesta linha. |
| 3935 | Linha em branco usada para separar blocos do arquivo. | |
| 3936 | if (msg) { | Avalia a condição escrita nesta linha. |
| 3937 | msg.innerText = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3938 | msg.className = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3939 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3940 | Linha em branco usada para separar blocos do arquivo. | |
| 3941 | setEstadoBotao(false); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3942 | aplicarMascaraTelefoneSimulador(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3943 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3944 | Linha em branco usada para separar blocos do arquivo. | |
| 3945 | function inicializarSimuladorCliente(){ | Declara a função e os parâmetros mostrados. |
| 3946 | aplicarMascaraTelefoneSimulador(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3947 | Linha em branco usada para separar blocos do arquivo. | |
| 3948 | var imgOriginal = document.getElementById('preview_original_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3949 | var imgResultado = document.getElementById('preview_resultado_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3950 | Linha em branco usada para separar blocos do arquivo. | |
| 3951 | if (imgOriginal && (!imgOriginal.getAttribute('src') || imgOriginal.getAttribute('src') === '')) { | Avalia a condição escrita nesta linha. |
| 3952 | imgOriginal.src = adicionarCacheNaImagem(imagemPadrao); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3953 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3954 | Linha em branco usada para separar blocos do arquivo. | |
| 3955 | if (imgResultado && (!imgResultado.getAttribute('src') || imgResultado.getAttribute('src') === '')) { | Avalia a condição escrita nesta linha. |
| 3956 | imgResultado.src = adicionarCacheNaImagem(imagemPadrao); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3957 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3958 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3959 | Linha em branco usada para separar blocos do arquivo. | |
| 3960 | window.carregarPreviewSimulacaoCliente = function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3961 | var campo = document.getElementById('foto_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3962 | var imgOriginal = document.getElementById('preview_original_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3963 | var imgResultado = document.getElementById('preview_resultado_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3964 | Linha em branco usada para separar blocos do arquivo. | |
| 3965 | if (!campo || !imgOriginal || !imgResultado) return; | Avalia a condição escrita nesta linha. |
| 3966 | Linha em branco usada para separar blocos do arquivo. | |
| 3967 | if (!campo.files || !campo.files[0]) { | Avalia a condição escrita nesta linha. |
| 3968 | imgOriginal.src = adicionarCacheNaImagem(imagemPadrao); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3969 | imgResultado.src = adicionarCacheNaImagem(imagemPadrao); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3970 | return; | Retorna o valor indicado pela linha. |
| 3971 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3972 | Linha em branco usada para separar blocos do arquivo. | |
| 3973 | var arquivo = campo.files[0]; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3974 | var reader = new FileReader(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3975 | Linha em branco usada para separar blocos do arquivo. | |
| 3976 | reader.onload = function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3977 | imgOriginal.src = e.target.result; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3978 | imgResultado.src = adicionarCacheNaImagem(imagemPadrao); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3979 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3980 | Linha em branco usada para separar blocos do arquivo. | |
| 3981 | reader.onerror = function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3982 | imgOriginal.src = adicionarCacheNaImagem(imagemPadrao); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3983 | imgResultado.src = adicionarCacheNaImagem(imagemPadrao); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3984 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3985 | Linha em branco usada para separar blocos do arquivo. | |
| 3986 | reader.readAsDataURL(arquivo); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3987 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 3988 | Linha em branco usada para separar blocos do arquivo. | |
| 3989 | window.enviarSimulacaoCliente = function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3990 | if (window.loadSwal) window.loadSwal(); | Avalia a condição escrita nesta linha. |
| 3991 | var form = document.getElementById('form_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3992 | var campo = document.getElementById('foto_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3993 | var nomeCampo = document.getElementById('nome_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3994 | var telefoneCampo = document.getElementById('telefone_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3995 | var msg = document.getElementById('mensagem_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3996 | var imgOriginal = document.getElementById('preview_original_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3997 | var imgResultado = document.getElementById('preview_resultado_simulacao_cliente'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 3998 | Linha em branco usada para separar blocos do arquivo. | |
| 3999 | if (simulacaoEmAndamento) return; | Avalia a condição escrita nesta linha. |
| 4000 | if (!form || !campo || !msg || !imgOriginal || !imgResultado) return; | Avalia a condição escrita nesta linha. |
| 4001 | Linha em branco usada para separar blocos do arquivo. | |
| 4002 | var nome = nomeCampo ? nomeCampo.value.trim() : ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4003 | var telefone = telefoneCampo ? telefoneCampo.value.trim() : ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4004 | Linha em branco usada para separar blocos do arquivo. | |
| 4005 | if (!nome || !telefone) { | Avalia a condição escrita nesta linha. |
| 4006 | msg.className = 'text-danger'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4007 | msg.innerText = 'Preencha nome e WhatsApp'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4008 | return; | Retorna o valor indicado pela linha. |
| 4009 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4010 | Linha em branco usada para separar blocos do arquivo. | |
| 4011 | if (telefone.replace(/\D/g, '').length < 10) { | Avalia a condição escrita nesta linha. |
| 4012 | msg.className = 'text-danger'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4013 | msg.innerText = 'Preencha um WhatsApp válido'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4014 | return; | Retorna o valor indicado pela linha. |
| 4015 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4016 | Linha em branco usada para separar blocos do arquivo. | |
| 4017 | if (!campo.files || !campo.files[0]) { | Avalia a condição escrita nesta linha. |
| 4018 | msg.className = 'text-danger'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4019 | msg.innerText = 'Selecione uma imagem para simular'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4020 | return; | Retorna o valor indicado pela linha. |
| 4021 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4022 | Linha em branco usada para separar blocos do arquivo. | |
| 4023 | simulacaoEmAndamento = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4024 | setEstadoBotao(true); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4025 | Linha em branco usada para separar blocos do arquivo. | |
| 4026 | var formData = new FormData(form); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4027 | Linha em branco usada para separar blocos do arquivo. | |
| 4028 | fetch(urlSimulacaoCliente, { | Inicia ou configura uma requisição assíncrona no navegador. |
| 4029 | method: 'POST', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4030 | body: formData | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4031 | }) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4032 | .then(async function(response){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4033 | var texto = await response.text(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4034 | var dados = null; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4035 | Linha em branco usada para separar blocos do arquivo. | |
| 4036 | try { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4037 | dados = JSON.parse(texto); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4038 | } catch (e) { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4039 | throw new Error(texto || 'Resposta inválida do servidor'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4040 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4041 | Linha em branco usada para separar blocos do arquivo. | |
| 4042 | if (!response.ok || !dados || !retornoFoiSucesso(dados.status)) { | Avalia a condição escrita nesta linha. |
| 4043 | throw new Error((dados && dados.mensagem) ? dados.mensagem : 'Erro ao processar a simulação'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4044 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4045 | Linha em branco usada para separar blocos do arquivo. | |
| 4046 | var urlOriginal = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4047 | var urlSimulada = ''; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4048 | Linha em branco usada para separar blocos do arquivo. | |
| 4049 | if (dados.url_original) urlOriginal = normalizarUrlImagem(dados.url_original); | Avalia a condição escrita nesta linha. |
| 4050 | else if (dados.foto_original) urlOriginal = montarUrlSimulacao(dados.foto_original); | Avalia a condição escrita nesta linha. |
| 4051 | Linha em branco usada para separar blocos do arquivo. | |
| 4052 | if (dados.url_simulada) urlSimulada = normalizarUrlImagem(dados.url_simulada); | Avalia a condição escrita nesta linha. |
| 4053 | else if (dados.imagem_simulada) urlSimulada = montarUrlSimulacao(dados.imagem_simulada); | Avalia a condição escrita nesta linha. |
| 4054 | Linha em branco usada para separar blocos do arquivo. | |
| 4055 | if (!urlSimulada) throw new Error('A imagem simulada não foi retornada'); | Avalia a condição escrita nesta linha. |
| 4056 | Linha em branco usada para separar blocos do arquivo. | |
| 4057 | if (urlOriginal) imgOriginal.src = adicionarCacheNaImagem(urlOriginal); | Avalia a condição escrita nesta linha. |
| 4058 | imgResultado.src = adicionarCacheNaImagem(urlSimulada); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4059 | Linha em branco usada para separar blocos do arquivo. | |
| 4060 | fetch(urlCadastroCliente, { | Inicia ou configura uma requisição assíncrona no navegador. |
| 4061 | method: 'POST', | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4062 | body: new FormData(form) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4063 | }).catch(function(){}); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4064 | Linha em branco usada para separar blocos do arquivo. | |
| 4065 | msg.className = 'text-success'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4066 | msg.innerText = 'Simulação enviada com sucesso'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4067 | if (typeof window.jacyTrackAdsConversion === 'function') { window.jacyTrackAdsConversion('simulacao_protese_sucesso'); } | Avalia a condição escrita nesta linha. |
| 4068 | }) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4069 | .catch(function(erro){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4070 | imgResultado.src = adicionarCacheNaImagem(imagemPadrao); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4071 | msg.className = 'text-danger'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4072 | msg.innerText = erro.message ? erro.message : 'Erro ao processar a simulação'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4073 | }) | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4074 | .finally(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4075 | simulacaoEmAndamento = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4076 | setEstadoBotao(false); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4077 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4078 | }; | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4079 | Linha em branco usada para separar blocos do arquivo. | |
| 4080 | document.addEventListener('DOMContentLoaded', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4081 | inicializarSimuladorCliente(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4082 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4083 | Linha em branco usada para separar blocos do arquivo. | |
| 4084 | window.addEventListener('load', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4085 | inicializarSimuladorCliente(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4086 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4087 | Linha em branco usada para separar blocos do arquivo. | |
| 4088 | document.addEventListener('click', function(ev){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4089 | var abrir = ev.target.closest('[data-target="#modalSimulacaoCliente"], a[href="#modalSimulacaoCliente"]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4090 | if (abrir) { | Avalia a condição escrita nesta linha. |
| 4091 | setTimeout(function(){ inicializarSimuladorCliente(); }, 80); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4092 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4093 | Linha em branco usada para separar blocos do arquivo. | |
| 4094 | var fechar = ev.target.closest('#modalSimulacaoCliente [data-dismiss="modal"], #modalSimulacaoCliente .close'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4095 | if (fechar) { | Avalia a condição escrita nesta linha. |
| 4096 | setTimeout(function(){ resetarModalSimulacaoCliente(); }, 80); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4097 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4098 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4099 | Linha em branco usada para separar blocos do arquivo. | |
| 4100 | if (window.jQuery) { | Avalia a condição escrita nesta linha. |
| 4101 | window.jQuery('#modalSimulacaoCliente').on('hidden.bs.modal', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4102 | resetarModalSimulacaoCliente(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4103 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4104 | Linha em branco usada para separar blocos do arquivo. | |
| 4105 | window.jQuery('#modalSimulacaoCliente').on('shown.bs.modal', function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4106 | inicializarSimuladorCliente(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4107 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4108 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4109 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4110 | </script> | Marca HTML presente na saída da página. |
| 4111 | Linha em branco usada para separar blocos do arquivo. | |
| 4112 | Linha em branco usada para separar blocos do arquivo. | |
| 4113 | <script> | Marca HTML presente na saída da página. |
| 4114 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4115 | var frames = Array.prototype.slice.call(document.querySelectorAll('iframe.js-lazy-iframe[data-src]')); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4116 | if (!frames.length) return; | Avalia a condição escrita nesta linha. |
| 4117 | Linha em branco usada para separar blocos do arquivo. | |
| 4118 | function loadFrame(frame){ | Declara a função e os parâmetros mostrados. |
| 4119 | if (!frame || frame.dataset.loaded === '1') return; | Avalia a condição escrita nesta linha. |
| 4120 | var src = frame.getAttribute('data-src'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4121 | if (!src) return; | Avalia a condição escrita nesta linha. |
| 4122 | frame.src = src; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4123 | frame.dataset.loaded = '1'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4124 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4125 | Linha em branco usada para separar blocos do arquivo. | |
| 4126 | if ('IntersectionObserver' in window) { | Avalia a condição escrita nesta linha. |
| 4127 | var io = new IntersectionObserver(function(entries){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4128 | entries.forEach(function(entry){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4129 | if (!entry.isIntersecting) return; | Avalia a condição escrita nesta linha. |
| 4130 | loadFrame(entry.target); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4131 | io.unobserve(entry.target); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4132 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4133 | }, { rootMargin: '350px 0px', threshold: 0.01 }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4134 | Linha em branco usada para separar blocos do arquivo. | |
| 4135 | frames.forEach(function(frame){ io.observe(frame); }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4136 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4137 | frames.forEach(loadFrame); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4138 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4139 | Linha em branco usada para separar blocos do arquivo. | |
| 4140 | document.addEventListener('shown.bs.modal', function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4141 | if (!e.target) return; | Avalia a condição escrita nesta linha. |
| 4142 | var frame = e.target.querySelector('iframe.js-lazy-iframe[data-src]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4143 | if (frame) loadFrame(frame); | Avalia a condição escrita nesta linha. |
| 4144 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4145 | Linha em branco usada para separar blocos do arquivo. | |
| 4146 | document.addEventListener('click', function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4147 | var opener = e.target.closest('[data-target="#empresa"], a[href="#empresa"], [data-target="#modalVideo"], a[href="#modalVideo"]'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4148 | if (!opener) return; | Avalia a condição escrita nesta linha. |
| 4149 | setTimeout(function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4150 | frames.forEach(function(frame){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4151 | if (frame.offsetParent !== null) loadFrame(frame); | Avalia a condição escrita nesta linha. |
| 4152 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4153 | }, 120); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4154 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4155 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4156 | </script> | Marca HTML presente na saída da página. |
| 4157 | Linha em branco usada para separar blocos do arquivo. | |
| 4158 | <script> | Marca HTML presente na saída da página. |
| 4159 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4160 | var swalLoaded = false; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4161 | Linha em branco usada para separar blocos do arquivo. | |
| 4162 | function loadSwal(){ | Declara a função e os parâmetros mostrados. |
| 4163 | if (swalLoaded) return; | Avalia a condição escrita nesta linha. |
| 4164 | swalLoaded = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4165 | Linha em branco usada para separar blocos do arquivo. | |
| 4166 | var s = document.createElement('script'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4167 | s.src = 'https://cdn.jsdelivr.net/npm/sweetalert2@11'; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4168 | s.defer = true; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4169 | document.head.appendChild(s); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4170 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4171 | Linha em branco usada para separar blocos do arquivo. | |
| 4172 | window.loadSwal = loadSwal; | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4173 | Linha em branco usada para separar blocos do arquivo. | |
| 4174 | if ('requestIdleCallback' in window) { | Avalia a condição escrita nesta linha. |
| 4175 | requestIdleCallback(function(){ setTimeout(loadSwal, 10000); }, { timeout: 7000 }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4176 | } else { | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4177 | window.addEventListener('load', function(){ setTimeout(loadSwal, 10000); }, { once:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4178 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4179 | Linha em branco usada para separar blocos do arquivo. | |
| 4180 | document.addEventListener('focusin', function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4181 | if (e.target.closest('#form_cadastro') || e.target.closest('#form_simulacao_cliente') || e.target.closest('#form')) { | Avalia a condição escrita nesta linha. |
| 4182 | loadSwal(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4183 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4184 | }); | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4185 | Linha em branco usada para separar blocos do arquivo. | |
| 4186 | document.addEventListener('pointerdown', function(e){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4187 | if (e.target.closest('#form_cadastro') || e.target.closest('#form_simulacao_cliente') || e.target.closest('#form')) { | Avalia a condição escrita nesta linha. |
| 4188 | loadSwal(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4189 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4190 | }, { passive:true }); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4191 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4192 | </script> | Marca HTML presente na saída da página. |
| 4193 | Linha em branco usada para separar blocos do arquivo. | |
| 4194 | Linha em branco usada para separar blocos do arquivo. | |
| 4195 | <script> | Marca HTML presente na saída da página. |
| 4196 | (function(){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4197 | function marcarConversaoPorClique(rotulo){ | Declara a função e os parâmetros mostrados. |
| 4198 | if (typeof window.jacyTrackAdsConversion === 'function') { | Avalia a condição escrita nesta linha. |
| 4199 | window.jacyTrackAdsConversion(rotulo); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4200 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4201 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4202 | Linha em branco usada para separar blocos do arquivo. | |
| 4203 | document.addEventListener('click', function(ev){ | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4204 | var alvo = ev.target.closest('a, button'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4205 | if (!alvo) return; | Avalia a condição escrita nesta linha. |
| 4206 | Linha em branco usada para separar blocos do arquivo. | |
| 4207 | var href = (alvo.getAttribute('href') || '').toLowerCase(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4208 | var id = (alvo.getAttribute('id') || '').toLowerCase(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4209 | Linha em branco usada para separar blocos do arquivo. | |
| 4210 | if (id === 'ctawhats' || href.indexOf('wa.me/') !== -1 || href.indexOf('api.whatsapp.com') !== -1) { | Avalia a condição escrita nesta linha. |
| 4211 | marcarConversaoPorClique('clique_whatsapp_protese'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4212 | return; | Retorna o valor indicado pela linha. |
| 4213 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4214 | Linha em branco usada para separar blocos do arquivo. | |
| 4215 | if (id === 'ctaapp' || href.indexOf('/agendamentos') !== -1 || href.indexOf('agendamentos') !== -1) { | Avalia a condição escrita nesta linha. |
| 4216 | marcarConversaoPorClique('clique_agendamento_protese'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4217 | return; | Retorna o valor indicado pela linha. |
| 4218 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4219 | Linha em branco usada para separar blocos do arquivo. | |
| 4220 | if (href.indexOf('abrir_simulador=1') !== -1 || href.indexOf('#modalsimulacaocliente') !== -1) { | Avalia a condição escrita nesta linha. |
| 4221 | marcarConversaoPorClique('clique_simulacao_protese'); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4222 | } | Fecha ou delimita a estrutura iniciada anteriormente. |
| 4223 | }, true); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4224 | })(); | Linha do arquivo original; deve ser lida junto com o bloco em que está inserida. |
| 4225 | </script> | Marca HTML presente na saída da página. |
| 4226 | Linha em branco usada para separar blocos do arquivo. | |
| 4227 | </body> | Marca HTML presente na saída da página. |
| 4228 | </html> | Marca HTML presente na saída da página. |