PageSourceSearch

https://finvero.com/js/utils/navbar2024_v7.js?v=2026_SEP30_v99

js finvero.com collected 2026-10-01 12:31:00 UTC 34,639 bytes, 385 lines download raw bytes

1// navbar2024_v6.js
2const languageElements = {
3  es: { id: "nav-text-es", src: "/assets/img/v2/icons/Mexico.png", alt: "mx-icon", des: "ES" },
4  en: { id: "nav-text-en", src: "/assets/img/v2/icons/USA_circle.png", alt: "us-icon", des: "EN" },
5  ptBr: { id: "nav-text-pt", src: "/assets/img/v2/icons/brazil.png", alt: "br-icon", des: "PT" }
6};
7
8window.blogHref = `href="/blog/index.html"`;
9
10// Capture source page before navigating to registration/sales forms
11document.addEventListener("click", function (e) {
12  const link = e.target.closest("a");
13  if (link && link.href) {
14    const href = link.href;
15    if (href.indexOf("/registro-lenders") !== -1 || href.indexOf("/habla-con-ventas") !== -1 || href.indexOf("/contacto") !== -1) {
16      try {
17        sessionStorage.setItem("fv_came_from", window.location.href);
18      } catch (err) {}
19    }
20  }
21});
22
23function initNavbar() {
24  const navbarContainer = document.getElementById("navBarFV2");
25  if (!navbarContainer) return;
26
27  let labelLang = localStorage.getItem("langfv") || "es";
28  if (!languageElements[labelLang]) labelLang = "es";
29
30  navbarContainer.innerHTML = `<nav class="fv-top-navbar">
31    <a href="/" class="logo"><img id="finveroLogoImg" src="/assets/logos/logo_white.png" height="32" alt="Finvero"></a>
32
33    <span class="spacer"></span>
34    <div class="nav-items">
35      <!-- SOLUCIONES -->
36      <div class="nav-item">
37        <a class="nav-link" href="#"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="vertical-align: -3px; margin-right: 6px;"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg><span data-i18n="navbar.soluciones">Soluciones</span> <i class="fa-solid fa-chevron-down caret"></i></a>
38        <div class="dropdown mega mega-soluciones">
39          <div>
40            <p class="col-cat" data-i18n="mega_servicios.decide_mejor">Decide Mejor</p>
41            <a class="item" href="/score-riesgo/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.score_riesgo_title"><span style="white-space:nowrap;">Score alternativo</span><br>de riesgo</span><span class="item-sub" data-i18n="mega_servicios.score_riesgo_sub">Aprueba más sin subir la mora</span></span></a>
42            <a class="item" href="/score-fraude/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.score_fraude_title">Fraud as a Service</span><span class="item-sub" data-i18n="mega_servicios.score_fraude_sub">Frena el fraude antes de originar</span></span></a>
43            <a class="item" href="/decision-engine/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="9" y="9" width="6" height="6"/><line x1="9" y1="1" x2="9" y2="4"/><line x1="15" y1="1" x2="15" y2="4"/><line x1="9" y1="20" x2="9" y2="23"/><line x1="15" y1="20" x2="15" y2="23"/><line x1="20" y1="9" x2="23" y2="9"/><line x1="20" y1="15" x2="23" y2="15"/><line x1="1" y1="9" x2="4" y2="9"/><line x1="1" y1="15" x2="4" y2="15"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.motor_decision_title">Motor de Decisión</span><span class="item-sub" data-i18n="mega_servicios.motor_decision_sub">Automatiza políticas de crédito en tiempo real</span></span></a>
44            <p class="col-cat" style="margin-top:16px;" data-i18n="mega_servicios.monetiza">Monetiza</p>
45            <a class="item" href="/marketplace/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.marketplace_title">Marketplace</span><span class="item-sub" data-i18n="mega_servicios.marketplace_sub">Convierte tus rechazados en ingreso</span></span></a>
46            <a class="item" href="/marketplace-pyme/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.marketplace_pyme_title">Marketplace PyME</span><span class="item-sub" data-i18n="mega_servicios.marketplace_pyme_sub">Financiamiento y ventas para tu negocio</span></span></a>
47          </div>
48          <div>
49            <p class="col-cat" data-i18n="mega_servicios.origina_cobra">Origina y Cobra</p>
50            <a class="item" href="/plataforma-originacion-de-credito/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.originacion_title">Originación dinámica</span><span class="item-sub" data-i18n="mega_servicios.originacion_sub">De solicitud a decisión en segundos, API o no-code</span></span></a>
51            <a class="item" href="/loan-servicing/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.capacidad_pago_title">Capacidad de Pago</span><span class="item-sub" data-i18n="mega_servicios.capacidad_pago_sub">Cobra primero a quien sí puede pagar</span></span></a>
52            <a class="item" href="/finanzas-pay/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"/><line x1="12" y1="6" x2="12" y2="8"/><line x1="12" y1="16" x2="12" y2="18"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.finanzas_pay_title">Finvero PAY</span><span class="item-sub" data-i18n="mega_servicios.finanzas_pay_sub">Cobros y dispersión automatizados</span></span></a>
53
54            <div class="soluciones-btns-container">
55              <a href="https://finveroasaservice.finvero.com/origination" target="_blank" rel="noopener noreferrer" class="soluciones-btn-sec" data-i18n="mega_servicios.btn_inicio">Iniciar sesión</a>
56              <a href="/habla-con-ventas/index.html?product=score-riesgo" class="plat-btn" data-i18n="mega_servicios.plat_btn">Agendar demo &rarr;</a>
57            </div>
58          </div>
59          <div>
60            <div class="soluciones-plat-panel">
61              <div class="plat-header-tag">
62                <div class="plat-tag-icon">
62<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg></div>
63
64                <span class="plat-tag-text" data-i18n="mega_servicios.plataforma_tag">PLATAFORMA</span>
65              </div>
66              <h4 class="plat-heading" data-i18n="mega_servicios.soluciones_plat_title">Plataforma integral que conecta <b>scoring de riesgo y fraude</b>, <b>originación dinámica</b>, <b>monetización de rechazados</b> y <b>cobranza automatizada</b> para gestionar todo el ciclo crediticio en tiempo real.</h4>
67              <a href="/habla-con-ventas/index.html?product=score-riesgo" class="plat-img-wrapper">
68                <img src="/assets/img/v2/home/orquestador_dashboard_screen.png" alt="Plataforma Orquestador Finvero" class="plat-img">
69              </a>
70            </div>
71          </div>
72        </div>
73      </div>
74
75      <!-- SECTORES -->
76      <div class="nav-item">
77        <a class="nav-link" href="#"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="vertical-align: -3px; margin-right: 6px;"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg><span data-i18n="navbar.sectores">Sectores</span> <i class="fa-solid fa-chevron-down caret"></i></a>
78
79        <div class="dropdown mega mega-sectores">
80          <div>
81            <p class="col-cat" data-i18n="mega_servicios.por_industria">Por Industria</p>
82            <a class="item" href="/automocion/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 16H9m10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-14 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm18-3l-2.3-5.2A2 2 0 0 0 18.8 6H5.2a2 2 0 0 0-1.9 1.8L1 13v5h2m18 0h2v-5l-1-1.5"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.automocion_title">Automotriz</span><span class="item-sub" data-i18n="mega_servicios.automocion_sub">Originación y antifraud para financieras auto</span></span></a>
83            <a class="item" href="/credito-personal/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.credito_personal_title">Crédito Personal</span><span class="item-sub" data-i18n="mega_servicios.credito_personal_sub">Financiamiento para personas sin garantías</span></span></a>
84            <a class="item" href="/hipoteca/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.hipoteca_title">Hipoteca</span><span class="item-sub" data-i18n="mega_servicios.hipoteca_sub">Financiamiento para vivienda</span></span></a>
85            <a class="item" href="/hisuper-consumo/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.hisuper_title">Consumo</span><span class="item-sub" data-i18n="mega_servicios.hisuper_sub">Decisión con ingreso y capacidad real</span></span></a>
86          </div>
87          <div>
88            <a class="item" href="/comercios/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.comercios_title">Comercios</span><span class="item-sub" data-i18n="mega_servicios.comercios_sub">Crédito embebido en tu punto de venta</span></span></a>
89            <a class="item" href="/pymes/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"/><path d="M6 12H4a2 2 0 0 0-2 2v8h4"/><path d="M18 9h2a2 2 0 0 1 2 2v11h-4"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.pymes_title">PyMEs</span><span class="badge" data-i18n="mega_servicios.pymes_nuevo">NUEVO</span><span class="item-sub" data-i18n="mega_servicios.pymes_sub">Score Empresas: decide con flujo real</span></span></a>
90
91            <div class="soluciones-btns-container">
92              <a href="https://finveroasaservice.finvero.com/origination" target="_blank" rel="noopener noreferrer" class="soluciones-btn-sec" data-i18n="mega_servicios.btn_inicio">Iniciar sesión</a>
93              <a href="/habla-con-ventas/index.html?product=score-riesgo" class="plat-btn" data-i18n="mega_servicios.plat_btn">Agendar demo &rarr;</a>
94            </div>
95          </div>
96          <div>
97            <div class="soluciones-plat-panel">
98              <div class="plat-header-tag">
99                <div class="plat-tag-icon">
99<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg></div>
100
101                <span class="plat-tag-text" data-i18n="mega_servicios.plataforma_tag">PLATAFORMA</span>
102              </div>
103              <h4 class="plat-heading" data-i18n="mega_servicios.sectores_plat_title">Orquestador de crédito no-code que automatiza la <b>originación de crédito</b>, <b>evaluación de riesgo y fraude</b> y <b>motores de decisión</b> adaptados a la operación de cada industria.</h4>
104              <a href="/habla-con-ventas/index.html?product=score-riesgo" class="plat-img-wrapper">
105                <img src="/assets/img/v2/home/orquestador_workflow_screen.png" alt="Plataforma Orquestador Finvero Workflow" class="plat-img">
106              </a>
107            </div>
108          </div>
109        </div>
110      </div>
111
112      <!-- RECURSOS -->
113      <div class="nav-item">
114        <a class="nav-link" href="#"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="vertical-align: -3px; margin-right: 6px;"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg><span data-i18n="navbar.recursos">Recursos</span> <i class="fa-solid fa-chevron-down caret"></i></a>
115
116        <div class="dropdown mega mega-recursos" style="width:560px;grid-template-columns:1fr 1fr;left:auto;right:0;">
117          <div>
118            <p class="col-cat" data-i18n="navbar.aprende">Aprende</p>
119            <a class="item" href="/blog/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg></span><span class="item-txt"><span data-i18n="navbar.blog">Blog</span><span class="item-sub" data-i18n="mega_servicios.blog_sub">Scoring, data alternativa y rentabilidad de cartera</span></span></a>
120            <a class="item" href="https://www.openfinance2050.com/" target="_blank"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="7.5" cy="15.5" r="5.5"/><path d="m21 2-9.6 9.6"/><path d="m15.5 7.5 3 3.5"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.open_finance_title">Open Finance 2050</span><span class="item-sub" data-i18n="mega_servicios.open_finance_sub">El foro donde el mercado define lo que sigue</span></span></a>
121            <a class="item" href="/vacantes/Fintechton/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 3.5z"/></svg></span><span class="item-txt"><span data-i18n="mega_servicios.fintech_title">Fintechthon</span><span class="item-sub" data-i18n="mega_servicios.fintech_sub">Innovación con nuestra comunidad técnica</span></span></a>
122          </div>
123          <div>
124            <p class="col-cat" style="display:flex;align-items:center;gap:6px;" data-i18n="navbar.empresa_movil"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"/><path d="M6 12H4a2 2 0 0 0-2 2v8h4"/><path d="M18 9h2a2 2 0 0 1 2 2v11h-4"/><path d="M10 6h4"/><path d="M10 10h4"/><path d="M10 14h4"/><path d="M10 18h4"/></svg> <span>Empresa</span></p>
125            <a class="item" href="/sobre-nosotros/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg></span><span class="item-txt"><span data-i18n="navbar.sobre_nosotros">Sobre nosotros</span><span class="item-sub" data-i18n="navbar.sobre_nosotros_desc">Historia, misión y equipo</span></span></a>
126            <a class="item" href="/política-de-informacion/index.html"><span class="tile"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg></span><span class="item-txt"><span data-i18n="navbar.seguridad">Seguridad</span><span class="item-sub" data-i18n="navbar.seguridad_desc">ISO 27001 y protección de datos</span></span></a>
127
128          </div>
129        </div>
130      </div>
131    </div>
132
133    <div class="nav-item lang-item" style="margin-left:8px;">
134      <span class="lang"><img src="${languageElements[labelLang].src}" alt="${languageElements[labelLang].alt}" width="24" height="24" style="border-radius:50%; object-fit:cover;"> ${languageElements[labelLang].des} <i class="fa-solid fa-chevron-down caret" style="font-size:12px;"></i></span>
135      <div class="dropdown lang-menu" style="left:auto;right:0;">
136        ${Object.keys(languageElements).map(lang => `
137            <a class="lang-opt ${lang === labelLang ? 'active' : ''}" href="#" data-lang-btn="${lang}" style="display:flex; align-items:center; gap:8px;"><img src="${languageElements[lang].src}" alt="${languageElements[lang].alt}" width="24" height="24" style="border-radius:50%; object-fit:cover;"> ${languageElements[lang].id.includes('es') ? 'Español' : languageElements[lang].id.includes('en') ? 'Inglés' : 'Portugués'}</a>
138        `).join('')}
139      </div>
140    </div>
141    <a href="https://finveroasaservice.finvero.com/origination" target="_blank" rel="noopener noreferrer" class="cta-sec" data-i18n="mega_servicios.btn_inicio">Iniciar sesión</a>
142    <a href="/habla-con-ventas/index.html?product=otra" class="cta" data-i18n="navbar.contactanos">Contáctanos</a>
143    <button class="burger" id="burger" aria-label="Abrir menú"><i class="fa-solid fa-bars"></i></button>
144
145  <div class="mobile-panel" id="mobilePanel">
146    <div class="m-section">
147      <button class="m-acc" style="display:flex;align-items:center;gap:8px;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg><span data-i18n="navbar.soluciones">Soluciones</span> <i class="fa-solid fa-chevron-down" style="margin-left:auto;"></i></button>
148      <div class="m-body">
149        <span class="m-cat" data-i18n="mega_servicios.decide_mejor">Decide Mejor</span>
150        <a href="/score-riesgo/index.html"><i class="fa-solid fa-chart-line"></i><span data-i18n="mega_servicios.score_riesgo_title">Score de Riesgo</span></a>
151        <a href="/score-fraude/index.html"><i class="fa-solid fa-shield-halved"></i><span data-i18n="mega_servicios.score_fraude_title">Fraud as a Service</span></a>
152        <a href="/decision-engine/index.html"><i class="fa-solid fa-microchip"></i><span data-i18n="mega_servicios.motor_decision_title">Motor de Decisión</span></a>
153        <span class="m-cat" data-i18n="mega_servicios.monetiza">Monetiza</span>
154        <a href="/marketplace/index.html"><i class="fa-solid fa-cart-shopping"></i><span data-i18n="mega_servicios.marketplace_title">Marketplace</span></a>
155
156        <a href="/marketplace-pyme/index.html"><i class="fa-solid fa-store"></i><span data-i18n="mega_servicios.marketplace_pyme_title">Marketplace PyME</span></a>
157        <span class="m-cat" data-i18n="mega_servicios.origina_cobra">Origina y Cobra</span>
158        <a href="/plataforma-originacion-de-credito/index.html"><i class="fa-solid fa-file-lines"></i><span data-i18n="mega_servicios.originacion_title">Originación dinámica</span></a>
159        <a href="/loan-servicing/index.html"><i class="fa-solid fa-money-bill-wave"></i><span data-i18n="mega_servicios.capacidad_pago_title">Capacidad de Pago</span></a>
160        <a href="/finanzas-pay/index.html"><i class="fa-solid fa-coins"></i><span data-i18n="mega_servicios.finanzas_pay_title">Finvero PAY</span></a>
161      </div>
162    </div>
163
164    <div class="m-section">
165      <button class="m-acc" style="display:flex;align-items:center;gap:8px;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg><span data-i18n="navbar.sectores">Sectores</span> <i class="fa-solid fa-chevron-down" style="margin-left:auto;"></i></button>
166      <div class="m-body">
167        <span class="m-cat" data-i18n="mega_servicios.por_industria">Por Industria</span>
168        <a href="/automocion/index.html"><i class="fa-solid fa-car"></i><span data-i18n="mega_servicios.automocion_title">Automotriz</span></a>
169        <a href="/credito-personal/index.html"><i class="fa-solid fa-coins"></i><span data-i18n="mega_servicios.credito_personal_title">Crédito Personal</span></a>
170        <a href="/hipoteca/index.html"><i class="fa-solid fa-house"></i><span data-i18n="mega_servicios.hipoteca_title">Hipoteca</span></a>
171        <a href="/hisuper-consumo/index.html"><i class="fa-solid fa-money-bill-wave"></i><span data-i18n="mega_servicios.hisuper_title">Consumo</span></a>
172        <a href="/comercios/index.html"><i class="fa-solid fa-store"></i><span data-i18n="mega_servicios.comercios_title">Comercios</span></a>
173        <a href="/pymes/index.html"><i class="fa-solid fa-building"></i><span data-i18n="mega_servicios.pymes_title">PyMEs</span></a>
174      </div>
175    </div>
176
177    <div class="m-section">
178      <button class="m-acc" style="display:flex;align-items:center;gap:8px;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg><span data-i18n="navbar.recursos">
178Recursos</span> <i class="fa-solid fa-chevron-down" style="margin-left:auto;"></i></button>
179      <div class="m-body">
180        <span class="m-cat" data-i18n="navbar.aprende">Aprende</span>
181        <a href="/blog/index.html"><i class="fa-solid fa-book"></i><span data-i18n="navbar.blog">Blog</span></a>
182        <a href="https://www.openfinance2050.com/" target="_blank"><i class="fa-solid fa-certificate"></i><span data-i18n="mega_servicios.open_finance_title">Open Finance 2050</span></a>
183        <a href="/vacantes/Fintechton/index.html"><i class="fa-solid fa-brain"></i><span data-i18n="mega_servicios.fintech_title">Fintechthon</span></a>
184        <span class="m-cat" style="display:flex;align-items:center;gap:6px;" data-i18n="navbar.empresa_movil"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"/><path d="M6 12H4a2 2 0 0 0-2 2v8h4"/><path d="M18 9h2a2 2 0 0 1 2 2v11h-4"/><path d="M10 6h4"/><path d="M10 10h4"/><path d="M10 14h4"/><path d="M10 18h4"/></svg> <span>Empresa</span></span>
185        <a href="/sobre-nosotros/index.html"><i class="fa-solid fa-users"></i><span data-i18n="navbar.sobre_nosotros">Sobre nosotros</span></a>
186        <a href="/política-de-informacion/index.html"><i class="fa-solid fa-lock"></i><span data-i18n="navbar.seguridad">Seguridad</span></a>
187
188      </div>
189    </div>
190
191    <div class="m-footer">
192      <span class="m-lang"><img src="${languageElements[labelLang].src}" alt="${languageElements[labelLang].alt}" width="24" height="24" style="border-radius:50%; object-fit:cover;"> <span data-i18n="navbar.idioma">Idioma</span></span>
193      <div class="m-langs">
194        ${Object.keys(languageElements).map(lang => `
195            <a class="m-lang-opt ${lang === labelLang ? 'active' : ''}" href="#" data-lang-btn="${lang}" style="display:flex; align-items:center; gap:6px;"><img src="${languageElements[lang].src}" alt="${languageElements[lang].alt}" width="24" height="24" style="border-radius:50%; object-fit:cover;"> ${languageElements[lang].id.includes('es') ? 'ES' : languageElements[lang].id.includes('en') ? 'EN' : 'PT'}</a>
196        `).join('')}
197      </div>
198      <a class="cta-mobile-sec" href="https://finveroasaservice.finvero.com/origination" target="_blank" rel="noopener noreferrer" style="display:block;text-align:center;font-size:15px;font-weight:500;color:var(--blue);background:#fff;border:1.5px solid var(--blue);padding:12px;border-radius:10px;text-decoration:none;margin-bottom:8px;" data-i18n="mega_servicios.btn_inicio">Iniciar sesión</a>
199      <a class="cta-mobile" href="/habla-con-ventas/index.html?product=otra" data-i18n="navbar.contactanos">Contáctanos</a>
200    </div>
201  </div>
202  </nav>`;
203
204  // Yellow Top Banner Logic
205const isBannerClosed = localStorage.getItem('fv_banner_closed_v4') === 'true';
206
207  if (!isBannerClosed && !document.getElementById("fv-top-banner")) {
208    if (!document.getElementById("fv-banner-styles")) {
209      const styleEl = document.createElement("style");
210      styleEl.id = "fv-banner-styles";
211      styleEl.textContent = `
212        .fv-banner-text, .fv-banner-bold { font-size: 18px; line-height: 1.2; transition: text-decoration 0.2s ease, color 0.2s ease; }
213        .fv-banner-text { font-weight: 400; }
214        .fv-banner-bold { font-weight: 700; }
215        .fv-banner-link { color: #1A1A1A; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; justify-content: center; flex-wrap: wrap; transition: color 0.2s ease; }
216        .fv-banner-link:hover { color: #3E2723; }
217        .fv-banner-link:hover .fv-banner-text, .fv-banner-link:hover .fv-banner-bold { text-decoration: underline; text-underline-offset: 3px; color: #3E2723; }
218        .fv-banner-arrow { display: inline-block; transition: transform 0.2s ease-in-out, color 0.2s ease; flex-shrink: 0; margin-left: 2px; }
219        .fv-banner-link:hover .fv-banner-arrow { transform: translateX(4px); color: #3E2723; }
220        @media (max-width: 768px) {
221          .fv-banner-text, .fv-banner-bold { font-size: 14px; }
222          #fv-top-banner { padding: 10px 35px 10px 15px !important; }
223          .fv-banner-arrow { width: 16px; height: 16px; }
224        }
225      `;
226      document.head.appendChild(styleEl);
227    }
228
229    const banner = document.createElement("div");
230    banner.id = "fv-top-banner";
231    // Nota: El color amarillo original era #FFC107. Se guardó para cuando se decida regresar.
232    banner.style.cssText = "background-color: #FFC107; color: #1A1A1A; text-align: center; min-height: 60px; height: auto; padding: 10px 40px; font-weight: 500; font-size: 14px; display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; width: 100%; z-index: 100000; font-family: 'Inter', sans-serif; box-sizing: border-box;";
233    banner.innerHTML = `
234      <a href="https://finveroasaservice.finvero.com/origination" target="_blank" rel="noopener noreferrer" class="fv-banner-link">
235        <span class="fv-banner-bold" data-i18n="navbar.banner_brand">finvero-Plataforma.</span>
236        <span class="fv-banner-text" data-i18n="navbar.banner_solicitudes">Aprueba más solicitudes y reduce el riesgo.</span>
237        <span class="fv-banner-bold" data-i18n="navbar.banner_action">Hazte cliente</span>
238        <svg class="fv-banner-arrow" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
239
240      </a>
241      <button id="fv-close-banner-btn" type="button" style="background: none; border: none; position: absolute; right: 10px; cursor: pointer; color: #1A1A1A; padding: 12px; display: flex; align-items: center; justify-content: center; z-index: 99999999999; pointer-events: auto;">
242        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="pointer-events: none;"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
243      </button>
244    `;
245    document.body.appendChild(banner);
246
247    // Master function to adjust padding dynamically
248    window.adjustFinveroBodyPadding = () => {
249      const b = document.getElementById('fv-top-banner');
250      let bannerHeight = 0;
251      if (b && b.style.display !== 'none') {
252        bannerHeight = b.offsetHeight;
253        document.documentElement.style.setProperty('--fv-banner-height', bannerHeight + 'px');
254      } else {
255        document.documentElement.style.setProperty('--fv-banner-height', '0px');
256      }
257      const navEl = document.querySelector('.fv-top-navbar');
258      const navHeight = navEl ? navEl.offsetHeight : 0;
259      document.documentElement.style.setProperty('--fv-header-height', navHe
259ight + 'px');
260      document.body.style.paddingTop = '';
261      document.body.style.transition = '';
262    };
263
264    // NUCLEAR OPTION: Intercept the click at the highest level during the Capture phase
265    document.addEventListener('click', function(e) {
266      if (e.target.closest('#fv-close-banner-btn')) {
267        e.preventDefault();
268        e.stopPropagation();
269        try { localStorage.setItem('fv_banner_closed_v4', 'true'); } catch(err) {}
270        const b = document.getElementById('fv-top-banner');
271        if (b) b.remove(); // Force remove from DOM
272        document.documentElement.style.setProperty('--fv-banner-height', '0px');
273        const s = document.getElementById('fv-banner-styles');
274        if (s) s.remove();
275        
276        // Recalculate padding instantly so the gap disappears!
277        window.adjustFinveroBodyPadding();
278      }
279    }, true); // true = capture phase
280
281    window.addEventListener('resize', window.adjustFinveroBodyPadding);
282    setTimeout(window.adjustFinveroBodyPadding, 50); // initial trigger
283  }
284
285  // JS Logic
286  const burger = document.getElementById('burger');
287  const panel = document.getElementById('mobilePanel');
288  if (burger && panel) {
289    burger.addEventListener('click', () => {
290      const open = panel.classList.toggle('open');
291      burger.innerHTML = open ? '<i class="fa fa-x"></i>' : '<i class="fa-solid fa-bars"></i>';
292      document.body.style.overflow = open ? 'hidden' : '';
293    });
294  }
295  
296  document.querySelectorAll('.m-acc').forEach(btn => {
297    btn.addEventListener('click', () => btn.parentElement.classList.toggle('open'));
298  });
299
300  const nav = document.querySelector('.fv-top-navbar');
301  if (nav) {
302    const onScroll = () => {
303      const isScrolled = window.scrollY > 150;
304      nav.classList.toggle('scrolled', isScrolled);
305      const logoImg = document.getElementById('finveroLogoImg');
306      if (logoImg) {
307        logoImg.src = isScrolled ? '/assets/logos/logo.png' : '/assets/logos/logo_white.png';
308      }
309    };
310    window.addEventListener('scroll', onScroll, { passive: true });
311    onScroll();
312
313    // Ensure padding is correct even if banner logic wasn't triggered
314    if (!window.adjustFinveroBodyPadding) {
315      window.adjustFinveroBodyPadding = () => {
316        const navEl = document.querySelector('.fv-top-navbar');
317        const navHeight = navEl ? navEl.offsetHeight : 0;
318        document.documentElement.style.setProperty('--fv-header-height', navHe
318ight + 'px');
319        document.body.style.paddingTop = '';
320        document.body.style.transition = '';
321      };
322    }
323    window.addEventListener('resize', window.adjustFinveroBodyPadding);
324    setTimeout(window.adjustFinveroBodyPadding, 50);
325  }
326  
327  // Language switcher logic
328  document.addEventListener('click', (e) => {
329    const langBtn = e.target.closest('[data-lang-btn]');
330    if (langBtn) {
331      e.preventDefault();
332      const lang = langBtn.getAttribute('data-lang-btn');
333      localStorage.setItem('langfv', lang);
334      window.location.reload();
335    }
336  });
337}
338
339// Translate banner text if translations are loaded
340setTimeout(() => {
341  const bannerText = document.querySelector('[data-i18n="navbar.banner_solicitudes"]');
342  if (bannerText && window.getTranslation) {
343    const translated = window.getTranslation('navbar.banner_solicitudes');
344    if (translated) bannerText.textContent = translated;
345  }
346}, 100);
347
348// Handle language changes for the banner
349window.addEventListener('languageChanged', () => {
350  const bannerText = document.querySelector('[data-i18n="navbar.banner_solicitudes"]');
351  if (bannerText && window.getTranslation) {
352    const translated = window.getTranslation('navbar.banner_solicitudes');
353    if (translated) bannerText.textContent = translated;
354  }
355});
356
357// Agregar click handler para NoHit
358setTimeout(() => {
359  const nohitLinks = Array.from(document.querySelectorAll('a')).filter(a =>
360    a.textContent.includes('NoHit') && a.textContent.includes('historial')
361  );
362  nohitLinks.forEach(link => {
363    link.addEventListener('click', (e) => {
364      e.preventDefault();
365      window.location.href = '/nohit/index.html';
366    });
367  });
368}, 100);
369
370document.addEventListener("DOMContentLoaded", initNavbar);
371if (document.readyState === "complete" || document.readyState === "interactive") {
372    setTimeout(initNavbar, 1);
373    // Agregar click handler nuevamente después de initNavbar
374    setTimeout(() => {
375      const nohitLinks = Array.from(document.querySelectorAll('a')).filter(a =>
376        a.textContent.includes('NoHit') && a.textContent.includes('historial')
377      );
378      nohitLinks.forEach(link => {
379        link.addEventListener('click', (e) => {
380          e.preventDefault();
381          window.location.href = '/nohit/index.html';
382        });
383      });
384    }, 100);
385}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.