1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="https://www.w3.org/1999/xhtml" lang="en"> 3<head> 4 5
5<script> 6window.KeruveCookieConsentConfig = { 7 language: 'auto', 8 privacyUrls: { 9 es: '/privacy.php', 10 fr: '/privacy.php', 11 de: '/privacy.php', 12 en: '/privacy.php', 13 }, 14 google: { 15 adsId: 'AW-1055398391', 16 analyticsId: 'G-5H653W1Z1H', 17 gtmId: 'GTM-KML7V567', 18 loadTags: false 19 }, 20 enhancedConversions: { 21 enabled: true, 22 defaultPhoneCountryCode: 'auto' 23 }, 24 adroll: { 25 enabled: false 26 } 27}; 28</script>
vendor: 1 bytes, line 28
28
29<script src="/assets/keruve-cookie-consent.js"></script>
29 30 31<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 31-32
31 32<script async src="https://www.googletagmanager.com/gtag/js?id=
32AW-1055398391
vendor: 12 bytes, line 32
32"></script>
33<script> 34
vendor: 134 bytes, lines 34-38
34window.dataLayer = window.dataLayer || []; 35 function gtag(){dataLayer.push(arguments);} 36 gtag('js', new Date()); 37 38 gtag('config', '
38AW-1055398391
vendor: 4 bytes, line 38
38');
39</script>
39 40 41<!-- Google Tag Manager -->
42<script>
vendor: 343 bytes, lines 42-46
42(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 43 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 44 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 45 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 46 })(window,document,'script','dataLayer','
46GTM-KML7V567
vendor: 3 bytes, line 46
46');
46</script>
46 47 <!-- End Google Tag Manager --> 48 49<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 49-50
49 50<script async src="https://www.googletagmanager.com/gtag/js?id=
50G-5H653W1Z1H
vendor: 12 bytes, line 50
50"></script>
51<script> 52
vendor: 134 bytes, lines 52-56
52window.dataLayer = window.dataLayer || []; 53 function gtag(){dataLayer.push(arguments);} 54 gtag('js', new Date()); 55 56 gtag('config', '
56G-5H653W1Z1H
vendor: 4 bytes, line 56
56');
57</script>
57 58
59<script type="text/javascript"> 60 window._mfq = window._mfq || []; 61 (function() { 62 var mf = document.createElement("script"); 63 mf.type = "text/javascript"; mf.defer = true; 64 mf.src = "//cdn.mouseflow.com/projects/9b9f8e3d-b3f1-43d5-8b8e-17f62875260c.js"; 65 document.getElementsByTagName("head")[0].appendChild(mf); 66 })(); 67</script>
67 68 69 70<!--meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/--> 71<meta charset="UTF-8"> 72<meta http-equiv="imagetoolbar" content="no" /> 73<meta name="keywords" content="Vision Localization Systems" /> 74<meta name="robots" content="all" /> 75<!--meta http-equiv="refresh" content="1800"/--> <!--DESACTIVADO EL 21 DE JULIO DE 2016--> 76<meta http-equiv="Cache-Control" content="no-cache"/> 77<meta http-equiv="Content-Language" content="en" /> 78<meta name="google-site-verification" content="vT6IjZKGS4psIxEKG4yLU4QMWKnQcCkoqPIocdf5zbg" /> 79 80<title>Keruve Vision Localization Systems </title> 81 82<meta property="og:title" content="Keruve Family direct locator" /> 83 <meta property="og:type" content="website" /> 84 <meta property="og:image" content="/_templates/html/images/en/people_keruve.png" /> 85 <meta property="og:url" content="/" /> 86 <meta property="og:site_name" content="keruve" /> 87 88 89<!--link href="/_templates/html/estilo/estructura-10y.css" rel="stylesheet" type="text/css"/> 90<link href="/_templates/html/estilo/reserve.css" rel="stylesheet" type="text/css"/> 91<link href="/_templates/html/estilo/funcionamiento.css" rel="stylesheet" type="text/css"/> 92<link href="/_templates/html/estilo/confianza.css" rel="stylesheet" type="text/css"/> 93<link href="/_templates/html/estilo/comprar.css" rel="stylesheet" type="text/css"/> 94<link href="/_templates/html/estilo/cookies.css" rel="stylesheet" type="text/css"/--> 95 96<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet"> 97 98<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
99<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
99 100<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css"> 101 102 103<link href="https://www.keruve.com/_templates/html/estilo/estilo2024.css" rel="stylesheet" type="text/css"/> 104 105 106 107 108 109 110 111 112 113
113<script src="/js/jquery-2.1.0.min.js"></script>
113 114
114<script type="text/javascript" src="/fancybox/jquery.mousewheel-3.0.2.pack.js"></script>
114 115
115<script type="text/javascript" src="/fancybox/jquery.fancybox-1.3.1.js"></script>
115 116 <link rel="stylesheet" type="text/css" href="/fancybox/jquery.fancybox-1.3.1.css" media="screen" /> 117 118 119 120 121 122 123 124
124<script src="/js/exitpopup.js" type="text/javascript" onload=" 125 const opt = digitalruby_exitpopup_options; 126 opt.element_id = 'digitalruby_exitpopup_div'; // required 127 opt.background_element_id = 'digitalruby_exitpopup_div_background'; // optional 128 opt.top_only = false; // default false, whether popup shows only through top exit or all exits 129 opt.click_outside_to_close = true; // default true, whether clicking outside the popup will close it 130 opt.delay = 3000; // delay before allowing popup to show, default is 3000 milliseconds 131 opt.path_regex = ''; // optional, specify a regex to filter the path on, if no match, exit popup will not show 132 opt.will_show = function() // optional, specify a function to execute before the popup shows 133 { 134 console.log('popup showing'); 135 // return false to not show the popup 136 }; 137" async defer></script>
137 138 139<style type="text/css"> 140 141/* it's recommended that your html fill the window to properly detect when the mouse leaves */ 142html 143{ 144 min-width: 100%; 145 min-height: 100%; 146} 147 148html,* { box-sizing: border-box; } 149body { } 150.lead { font-size: 1.5rem; font-weight: 300; } 151/*.container { margin: 150px auto; max-width: 960px; }*/ 152.btn { padding: 0.75rem; border: 0; border-radius: 3px; background-color: #007691; color: #fff; cursor: pointer; font-weight: bold; } 153 154/* css for the popup, important notes are display of none and fixed position along with a high z index and centering */ 155#digitalruby_exitpopup_div { 156 border-radius: 15px; 157 display: none; 158 position: fixed; 159 z-index: 999; 160 padding: 2rem; 161 background-color: #FFF; 162 color: #000; 163 left: 50%; 164 top: 50%; 165 transform: translate(-50%, -50%); 166 max-width: 600px; 167 max-height: 500px; 168 width: 75%; 169 height: 75%; 170 filter: drop-shadow(0px 0px 10px black); 171} 172 173/* css for the popup background, also display of none and fixed position along with filling the viewport */ 174#digitalruby_exitpopup_div_background 175{ 176 display: none; 177 position: fixed; 178 background-color: rgba(20, 20, 20, 0.5); 179 z-index: 0; 180 transform: translate(0%, 0%); 181 left: 0; 182 top: 0; 183 width: 100%; 184 height: 100%; 185} 186 187</style> 188 189 190 191 192 193 194 195 196 197 198 199
200<script type="text/javascript"> 201function controlcookies() { 202 // si variable no existe se crea (al clicar en Aceptar) 203 localStorage.controlcookie = (localStorage.controlcookie || 0); 204 205 localStorage.controlcookie++; // incrementamos cuenta de la cookie 206 cookie1.style.display='none'; // Esconde la pol?tica de cookies 207} 208</script>
208 209
210<script language="javascript" type="text/javascript"> 211 212 213$(document).ready(function() { 214 /* 215 * Examples - images 216 */ 217 $("a[rel=example_group]").fancybox({ 218 'transitionIn' : 'none', 219 'transitionOut' : 'none', 220 'titlePosition' : 'over', 221 222 }); 223 224}); 225 226 227 function checkform(form) 228 { 229 var NoError = true; 230 String.prototype.trim= function() {//Agrega la funci�n trim al objeto String 231 return this.replace(/(^\s*)|(\s*$)/g,""); //elimina espacios a izquierda y derecha 232 } 233 var nombre = ""; 234 if (form.nombre!=null){ 235 nombre = form.nombre.value; 236 nombre = nombre.trim(); 237 if (nombre == "" || nombre == "Name" || nombre == "Nombre" || nombre=="Naam" || nombre=="Nome" || nombre=="Nom") { 238 //document.getElementById("nombre").style.border="solid 1px red"; 239 form.nombre.style.border="solid 1px red"; 240 NoError = false; 241 } 242 } 243 if (form.email!=null){ 244 var final_mail = form.email.value; 245 final_mail = final_mail.toLowerCase(); 246 //MAL var expresion=/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/; 247 if ( final_mail== ""){ // || (expresion.exec(final_mail))==null) { 248 //document.getElementById("email").style.border="solid 1px red"; 249 form.email.style.border="solid 1px red"; 250 NoError = false; 251 252 } 253 } 254 if (form.condiciones!=null){ 255 var condiciones = form.condiciones.checked; 256 if (!condiciones) { 257 NoError = false; 258 } 259 260 } 261 262 return NoError; 263 } 264mapaConfianza1 = new Image(360,250) 265mapaConfianza1.src = "/_templates/html/images/spain_map_keruve.png" 266mapaConfianza2 = new Image(360,250) 267mapaConfianza2.src = "/_templates/html/images/worldmap_keruve.png" 268 269pack = new Image(360,250) 270pack.src = "/_templates/html/images/packaging_keruve.png" 271pack1 = new Image(360,250) 272pack1.src = "/_templates/html/images/packaging_keruve2.png" 273 274function restartValueInput(input,text){ 275 if(input.value=='')input.value = text; 276} 277 278function preCarga() { 279 if (!document.images){ 280 return; 281 } 282 283 var ar = new Array(); 284 ar[0] = new Image(); 285 ar[0].src = "/_templates/html/images/reserve_normal.png"; 286 ar[1] = new Image(); 287 ar[1].src = "/_templates/html/images/reserve_over.png"; 288 ar[2] = new Image(); 289 ar[2].src = "/_templates/html/images/button_more_normal.png"; 290 ar[3] = new Image(); 291 ar[3].src = "/_templates/html/images/button_more_over.png"; 292 ar[4] = new Image(); 293 ar[4].src = "/_templates/html/images/download_info_normal.png"; 294 ar[5] = new Image(); 295 ar[5].src = "/_templates/html/images/download_info_over.png"; 296} 297function color(n) { 298 return "0123456789ABCDEF".charAt(parseInt(n / 16)) + "0123456789ABCDEF".charAt(parseInt(n % 16)); 299} 300function changeBandera(){ 301 var selectmenu=document.getElementById('idiomas'); 302 var chosenoption=selectmenu.options[selectmenu.selectedIndex]; 303 if (chosenoption.value=='es') 304 document.images['bandera'].src = '/_templates/html/images/flag_es_normal.png'; 305 else if (chosenoption.value=='fr') 306 document.images['bandera'].src = '/_templates/html/images/flag_fr_normal.png'; 307 else if(chosenoption.value=='en') 308 document.images['bandera'].src = '/_templates/html/images/flag_en_normal.png'; 309 else if(chosenoption.value=='cat') 310 document.images['bandera'].src = '/_templates/html/images/flag_cat_normal.png'; 311 else if(chosenoption.value=='de') 312 document.images['bandera'].src = '/_templates/html/images/flag_de_normal.png'; 313 else if(chosenoption.value=='uk') 314 document.images['bandera'].src = '/_templates/html/images/flag_uk_normal.png'; 315 else if(chosenoption.value=='it') 316 document.images['bandera'].src = '/_templates/html/images/flag_it_normal.png'; 317 else if(chosenoption.value=='nl') 318 document.images['bandera'].src = '/_templates/html/images/flag_nl_normal.png'; 319 else if(chosenoption.value=='pt') 320 document.images['bandera'].src = '/_templates/html/images/flag_pt_normal.png'; 321 else if(chosenoption.value=='br') 322 document.images['bandera'].src = '/_templates/html/images/flag_br_normal.png'; 323 else if(chosenoption.value=='be') 324 document.images['bandera'].src = '/_templates/html/images/flag_be_normal.png'; 325 326 var urlFinal ="https://www.keruve" 327 if (chosenoption.value=='es') 328 urlFinal = urlFinal+".es/?lg=es"; 329 else if (chosenoption.value=='fr') 330 urlFinal = urlFinal+".fr/?lg=fr"; 331 else if(chosenoption.value=='en') 332 urlFinal = urlFinal+".com/?lg=en"; 333 else if(chosenoption.value=='cat') 334 urlFinal = urlFinal+".com/?lg=cat"; 335 else if(chosenoption.value=='de') 336 urlFinal = urlFinal+".de/?lg=de"; 337 else if(chosenoption.value=='uk') 338 urlFinal = urlFinal+".com/?lg=en"; 339 else if(chosenoption.value=='it') 340 urlFinal = urlFinal+".it/?lg=it"; 341 else if(chosenoption.value=='nl') 342 urlFinal = urlFinal+".com/?lg=nl"; 343 else if(chosenoption.value=='pt') 344 urlFinal = urlFinal+".com/?lg=pt"; 345 else if(chosenoption.value=='br') 346 urlFinal = urlFinal+".com/?lg=pt"; 347 else if(chosenoption.value=='be') 348 urlFinal = urlFinal+".com/?lg=fr"; 349 350 document.location.href=urlFinal; 351} 352function changeImg(cImg,ref) { 353 document.images[cImg].src = ref.src 354} 355function changeImgConfianza(ref) { 356 document.images['confianza'].src = ref.src 357} 358function changeImgPackaging(ref) { 359 document.images['packaging'].src = ref.src 360} 361function changeImgGallery(ref) { 362 document.images['gallery'].src = ref.src 363} 364 365function changeImg2(cImg,src){ 366 document.images[cImg].src = src 367} 368 369 370 371</script>
371 372 373 374 375 376 377 <style> 378 body { 379 margin: 0; 380 font-family: "Inter", "Helvetica Neue", "Helvetica" , "Arial" , "sans-serif"; 381 background-image: url('URL_DE_TU_IMAGEN_DE_FONDO'); 382 background-size: cover; 383 background-attachment: fixed; 384 font-size: 1rem; 385 line-height: 1.47059; 386 font-weight: 400; 387 letter-spacing: -0.022em; 388 color: #1d1d1f; 389 font-style: normal; 390 background-color: white; 391 -moz-font-feature-settings: "kern"; 392 -webkit-font-smoothing: antialiased; 393 -moz-osx-font-smoothing: grayscale; 394 } 395 396 p { 397 display: block; 398 margin-block-start: 1em; 399 margin-block-end: 1em; 400 margin-inline-start: 0px; 401 margin-inline-end: 0px; 402 unicode-bidi: isolate; 403 } 404 405 /* --- Encabezados --- */ 406 h1, h2, h3, h4, h5, h6 { 407 font-weight: 600; /* Semibold */ 408 line-height: 1.1; 409 margin-top: 1em; 410 margin-bottom: 0.5em; 411 color: #1d1d1f; /*Usan el mismo color que el texto principal*/ 412 } 413 414 h1 { font-size: 2.5rem; } /* 40px aprox. */ 415 h2 { font-size: 2rem; } /* 32px aprox. */ 416 h3 { font-size: 1.5rem; } /* 24px aprox. */ 417 h4 { font-size: 1.25rem; } /* 20px aprox. */ 418 h5 { font-size: 1rem; } /* 16px aprox. */ 419 h6 { font-size: 0.875rem; }/* 14px aprox. */ 420 421 .titulospag { font-size: 2.5rem; width:100%; margin-top:20px; margin-bottom:10px; text-align:center;} /* h1 40px aprox. */ 422 .mejor{ font-size: 2rem; margin-top:20px; margin-bottom:10px;} /*h2 32px aprox. */ 423 424 /* --- Párrafos (Texto) --- */ 425 p { 426 font-size: 1rem; /* 17px, ajustado a 16px para mayor compatibilidad */ 427 margin-bottom: 1em; 428 line-height: 1.5; /* Buen interlineado */ 429 } 430 .note, .small, .legal{ 431 /*color:#6e6e73;*/ 432 color:#000; 433 font-size: 0.7rem; 434 } 435 436 /* --- Listas (li) --- */ 437 ul, ol { 438 margin-top: 0; 439 margin-bottom: 1em; 440 padding-left: 20px; /* SangrÃa */ 441 } 442 443 li { 444 font-size: 1rem; 445 line-height: 1.4; 446 margin-bottom: 0.5em; 447 } 448 449 /* --- Enlaces (a) --- */ 450 a { 451 color:rgb(0, 98, 120); /* Azul de Apple */ 452 text-decoration: none; /* Quita el subrayado por defecto */ 453 transition: color 0.2s ease; /* Transición suave */ 454 } 455 456 a:hover, a:focus { 457 text-decoration: underline; /* Subrayado al hacer hover o focus */ 458 color:rgb(0, 79, 97); /* Un azul más oscuro al hacer hover */ 459 } 460 461 a:focus { /* Estilos de enfoque para accesibilidad */ 462 outline: 2px solidrgb(0, 81, 99); /* Borde punteado */ 463 outline-offset: 2px; 464 } 465 a.more { 466 display: inline-block; 467 margin-top: 10px; 468 font-weight: 500; 469 } 470 471 /* --- Inputs --- */ 472 input, 473 select, 474 textarea 475 { 476 font-size: 1rem; 477 padding: 6px 8px; 478 border: 1px solid #d2d2d7; 479 border-radius:6px; 480 background-color: #fff; 481 color: #333; 482 width: 100%; /* Ocupa todo el ancho disponible */ 483 box-sizing: border-box; /* Incluye padding y borde en el ancho */ 484 margin-bottom: 6px; 485 transition: border-color 0.2s ease; 486 outline: none; /* Quita el outline por defecto */ 487 } 488 489 input[type="checkbox"] 490 { 491 width: auto; 492 margin-right: 3px; 493 } 494 495 input:focus, 496 select:focus, 497 textarea:focus 498 { 499 border-color: #007A96; /* Azul al enfocar */ 500 outline: none; /* Quita el outline por defecto */ 501 box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.25); /* Sombra sutil */ 502 } 503 504 input[type="button"], input[type="button"] { 505 background-color: #007A96; 506 color: white; 507 padding: 12px 20px; 508 border: none; 509 border-radius: 6px; 510 cursor: pointer; 511 font-size: 16px; 512 font-family: Inter, Helvetica Neue, Helvetica, Arial, sans-serif; 513 transition: background-color 0.3s ease; 514 width: auto; 515 margin-bottom: 10px; 516 } 517 518 input[type="button"]:hover, input[type="button"]:hover { 519 background-color: #005662; 520 } 521 522 523 524 /* --- Botones --- */ 525 .button { 526 display: inline-block; 527 padding: 10px 20px; 528 font-size: 1rem; 529 font-weight: 500; 530 text-align: center; 531 text-decoration: none; 532 border-radius: 4px; 533 cursor: pointer; 534 transition: background-color 0.2s ease, color 0.2s ease; 535 border: none; /* Generalmente sin borde */ 536 background-color: #007A96; /* Azul de Apple */ 537 color: #fff; 538 box-sizing: border-box; 539 } 540 541 .button:hover, .button:focus { 542 background-color:rgb(0, 87, 107); /* Un azul más oscuro al hacer hover */ 543 } 544 .button-secondary { 545 background-color: #fff; 546 color: #007A96; 547 border: 1px solid #007A96; 548 } 549 550 .button-secondary:hover, .button-secondary:focus { 551 background-color: #f5f5f7; /* Gris claro al hacer hover */ 552 color:rgb(0, 85, 104); 553 } 554 .button-container { 555 display: flex; 556 justify-content: space-around; /* Distribuye los botones uniformemente */ 557 flex-wrap: wrap; /* Permite que los botones se envuelvan a la siguiente lÃnea si no hay espacio */ 558 gap: 10px; /* Espacio entre botones */ 559 margin-bottom: 20px; 560 } 561 562 .menu-bar { 563 position: fixed; 564 top: 0; 565 left: 0; 566 width: 100%; 567 height: 50px; 568 background-color: rgba(255, 255, 255, 0.8); 569 /*background-color: rgba(248, 248, 248, 0.8);*/ 570 backdrop-filter: blur(20px); 571 padding: 10px 0; 572 z-index: 100; 573 /*border-bottom: 1px solid rgba(255, 255, 255, 0.638);*/ 574 /*border-bottom: 1px solid rgba(75, 75, 75, 0.06); /* Añade el borde inferior de 1px y color gris */ 575 display: flex; /* Convierte el menú en un contenedor flexbox */ 576 align-items: center; /* Centra verticalmente los elementos del menú */ 577 } 578 579 .menu-container { 580 width: 1040px; 581 margin: 0 auto; 582 display: flex; 583 justify-content: flex-start; /* Alinea los elementos al inicio */ 584 align-items: center; /* Centra verticalmente los elementos dentro del contenedor del menú */ 585 height: 100%; 586 } 587 588 .logo-container { 589 position: relative; /* Cambiado a relative */ 590 top: 0; /* Reseteamos top y left para que se posicione con flexbox */ 591 left: 0; 592 z-index: 101; 593 margin-right: auto;
593 /* Empuja el logo a la izquierda */ 594 } 595 596 .menu-items { 597 flex: 1; 598 text-align: right; /* Alinea el texto a la derecha */ 599 padding: 0 20px; 600 height: 100%; 601 display: flex; 602 align-items: center; 603 justify-content: flex-end; /* Alinea los items a la derecha */ 604 } 605 606 607 608 .menu-bar ul { 609 list-style-type: none; 610 margin: 0; 611 padding: 0; 612 white-space: nowrap; 613 } 614 615 .menu-bar li { 616 display: inline; 617 margin: 0 10px; 618 } 619 620 .menu-bar a { 621 text-decoration: none; 622 color: #333; 623 font-family: Inter, Helvetica Neue, Helvetica, Arial, sans-serif; 624 font-size: 12px; 625 } 626 627 628 629 630 .content { 631 padding: 50px 20px; 632 text-align: center; 633 color: black; 634 display: flex; /* Añadimos flexbox al contenedor del contenido */ 635 justify-content: space-between; /* Espacio entre las columnas */ 636 align-items: stretch; /* Para que las columnas tengan la misma altura */ 637 max-width: 1040px; /* Ancho del contenedor del contenido */ 638 margin: 0 auto; /* Centrar el contenedor */ 639 } 640 641 .text-content { 642 width: 100%; /* Ancho de la columna izquierda */ 643 margin-right: 0px; 644 text-align: left; 645 display: flex; 646 flex-wrap: wrap; 647 } 648 649 650 651 .right-column { 652 width: 300px; 653 text-align: left; 654 position: relative; /* Establecer el contexto de posicionamiento para el div flotante */ 655 /*background-color: rgba(255, 255, 255, 0.638);*/ 656 background-color: rgba(255, 255, 255, 0.5); 657 /*backdrop-filter: blur(20px);*/ 658 /*backdrop-filter: brightness(100%);*/ 659 /*backdrop-filter: opacity(5%);*/ 660 backdrop-filter: opacity(5%) brightness(100%); 661 /*border-left: 1px solid rgba(255, 255, 255, 0.46); */ 662 } 663 664 .right-float { 665 position: sticky; /* Habilitar el posicionamiento sticky */ 666 top: 50px; /* Ajustar la posición vertical según sea necesario */ 667 /* Asegúrate de que este valor no sea menor que la altura del menú-bar */ 668 background-color: rgba(255, 255, 255, 0); /* Para que el contenido no se mezcle con el fondo */ 669 padding: 0px; 670 z-index: 10; /* Asegurar que el contenido flotante esté por encima de otros elementos */ 671 margin-left:20px; 672 margin-right:20px; 673 color:#000; 674 675 676 } 677 678 679 680 681 682.headerFunc, .parrafoFunc{ 683margin-top: 1em; 684margin-bottom: 1em; 685width:100%; 686/*float:left;*/ 687/*text-align:justify;*/ 688/*padding-left:20px;*/ 689font-family: Inter, Helvetica Neue, Helvetica, Arial, sans-serif; 690/*font-size:11px;*/ 691color:black; 692font-size: 1rem; /* 17px, ajustado a 16px para mayor compatibilidad */ 693margin-bottom: 1em; 694line-height: 1.5; 695} 696 697 </style> 698 699 <style> 700 .custom-hero { 701 702 background-size: auto 100%; /* Redimensiona según la altura */ 703 background-position: right center; /* Alinea a la derecha */ 704 height: 500px; 705 position: relative; 706 color: white; 707 } 708 709 710 711 .hero-content { 712 position: relative; 713 z-index: 1; 714 height: 100%; 715 display: flex; 716 align-items: center; 717 padding-left: 2rem; 718 max-width: 60%; 719 } 720 721 .hero-content h1 { 722 font-size: 2.5rem; 723 font-weight: bold; 724 color: white; 725 } 726 727 .hero-content p { 728 font-size: 1.2rem; 729 color: white; 730 } 731 732 733 .hero-home { 734 background-image: url('https://www.keruve.com/images/home-image4.jpg'); 735 background-repeat: no-repeat; 736 background-size: auto 500px; /* Redimensiona según la altura */ 737 background-position: right 50px; /* Alinea a la derecha */ 738 /*height: 1000px;*/ 739 position: relative; 740 741 } 742 743 .hero-home::before { 744 content: ""; 745 position: absolute; 746 top: 50; 747 left: 0; 748 width: 100%; 749 height: 500px; 750 background: linear-gradient(to right, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 70%); /* degradado para mejorar legibilidad */ 751 752 z-index: 0; 753 } 754 755 </style> 756 757 758 759 760 761<!-- SCRIPTS RECAPTCHA -->
vendor: 61 bytes, lines 761-762
761 762<script src="https://www.google.com/recaptcha/api.js?render=
7626LcnHyQrAAAAAMrYk-LkPhbkWPVEJ6RB014Hm_3z
vendor: 13 bytes, lines 762-763
762"></script> 763
764<script> 765 766function onSubmit(form) { 767 // Realizar la validación de los campos requeridos 768 const requiredFields = form.querySelectorAll('[required]'); 769 let isValid = true; 770 771 requiredFields.forEach(field => { 772 if (!field.value.trim()) { 773 isValid = false; 774 // Aquà puedes añadir lógica para mostrar un mensaje de error al usuario 775 alert(`El campo "${field.placeholder || field.name}" es requerido.`); 776 field.focus(); // Opcional: enfocar el campo inválido 777 return false; // Detener el bucle forEach 778 } 779 }); 780 781 if (!isValid) { 782 return; // Detener la ejecución de onSubmit si algún campo no es válido 783 } 784 785 // Si todos los campos requeridos están llenos, proceder con reCAPTCHA 786 grecaptcha.ready(function() { 787 grecaptcha.execute('6LcnHyQrAAAAAMrYk-LkPhbkWPVEJ6RB014Hm_3z', { action: 'submit' }).then(function(token) { 788 form.querySelector("#recaptchaResponse").value = token; 789 form.submit(); 790 }); 791 }); 792} 793 794 795 796</script>
796 797 798 799</head> 800 801<!--<body onload="preCarga();_googWcmGet('number', googleNumber);" style="font-family: Verdana;font-size:12px;" >--> 802<body onload="preCarga();" > 803 804<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 804-805
804 805<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
805GTM-KML7V567
vendor: 83 bytes, lines 805-806
805" 806height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
807<!-- End Google Tag Manager (noscript) --> 808 809
810<script type="text/javascript"> 811if (localStorage.controlcookie>0){ 812cookie1.style.display='none'; 813} 814</script>
814 815 816 817 818<div style="visibility:hidden;position:absolute;left:-10;"> 819 <!-- IMPORTANTE: Esta imagen debe ser la primera despues de BODY --> 820 <img src="/_templates/html/images/keruve_icon.jpg"> 821</div> 822 823 824 825 826<!-- ################ MENU SUPERIOR ######################--> 827 828 <div class="menu-bar"> 829 <div class="menu-container"> 830 <div class="logo-container"> 831 <img src="https://www.keruve.com/_images/keruve-18-years.png" height="40" alt="Logotipo"> 832 </div> 833 <div class="menu-items"> 834 <ul id="navi"> 835 <li> 836 <a class="navies" 837 href="/">Home</a> 838 </li> 839 <li> 840 <a class="navies" 841 href="/help-alzheimer/">It helps you</a> 842 </li> 843 <li> 844 <a class="navies" 845 href="/best-personal-locator/">Why Keruve?</a> 846 </li> 847 <li> 848 <a class="navies" 849 href="/testimonials-personal-tracker/">Testimonials</a> 850 </li> 851 <li> 852 <a class="navies" 853 href="/images-locator/">Gallery</a> 854 </li> 855 <li> 856 <a class="navies" 857 href="/buy-gps-tracking/buy.php">Buy</a> 858 </li> 859 <li> 860 <a class="naviespress" href="/about-vision-localization-systems/">About Us</a> 861 </li> 862 </ul> 863 </div> 864 </div> 865 </div> 866 867<!-- ################ FIN MENU SUPERIOR ######################--> 868 869 870 871 872<!-- ################ CONTENIDO Y MENU LATERAL ######################--> 873 874 875 876 <div class="content " > 877 <div class="text-content"> 878 879 880 881<div class='container'> 882<h1>About us</h1> 883</div> 884<div class='container'> 885<div class='row'> 886<div class='col-12'> 887 888<img src='/_templates/html/images/en/vision_logo.jpg' style='float:right'> 889 <p>Vision Localization Systems is a technology company that focuses on the research, design and commercialisation of locators for people with a high risk of getting lost.</p> 890 891<p>For this reason, in its first stage in 2004, it focused on the development of Keruve, the Direct Family Locator especially designed for people with Alzheimer's.</p> 892 893<p>Our only goal is to make life easier for families living with a member affected by Alzheimer's disease. We have clients in more than twenty countries both individuals and corporate clients (Alzheimer Associations, elderly care nurseries, etc). Throughout the years, we have helped thousands of families improve their quality of life and, additionally, worked with the principal alzheimer's disease associations in many countries in order to evolutionize our product development.</p> 894 895<p>Vision Localization Systems develops its own technology based on continuous research of its customers needs and the state of the art. The innovations that differentiate its products worldwide are protected with international patents which ensure our privileged position in the market. As technology advances, new possibilities are created that can provide newer and better solutions to everyday problems. Vision Localization Systems has detected the need and utiliy of localization technology for many years now and will continue to be at the head of innovation in this sector.</p> 896 897</div> 898</div> 899</div> 900 901<div class="container"><br><br><a href="/pre_download.php"><button>Download brochure</button></a></div> 902 903 </div> 904 <div class="right-column"> 905 906 <div class="right-float"> 907 908 909 910 911 912 913 914 915 <!--form method="POST" action="/contact_us.php"> 916 <input type="text" id="nombre" name="nombre" placeholder="Nombre"> 917 <input type="email" id="email" name="email" placeholder="Email"> 918 <input type="tel" id="telefono" name="telefono" placeholder="Teléfono"> 919 <textarea id="comentarios" name="comentarios" placeholder="Comentarios"></textarea> 920 <input type="button" value="Enviar"> 921 </form--> 922 923 924 925<!--button class="open-popup-button btn-bf-anim" data-popup-id="popup1"> 926 <span class="bf-text-1">Black Friday</span> 927 <span class="bf-text-2">25% Coupon</span> 928</button> 929<br--> 930<h4>Need advice?</h4> 931 932<button id="whatsapp-button" class="whatsapp-button-small"> 933<img src="/_images/24px-WhatsApp.svg.png" width="24px" alt="WhatsApp Icon"> 934WhatsApp 935</button> 936<p></p> 937 938<form method="POST" action="/contact_us.php" > 939 <input type="text" id="nombre" size="15" name="nombre" placeholder="Name" required> 940 <input type="email" id="email" size="15" name="email" placeholder="Email" required> 941 <input type="tel" name="telefono" placeholder="Phone" > 942 <textarea rows='4' cols='15' name='comentarios' placeholder='Questions?' value='Questions?'></textarea> 943 <input type="checkbox" name="condiciones" checked="checked"/><a href="http://www.keruve.com/privacy.php/" class="note">Accept Privacy Policy</a> 944 <input type="hidden" name="form_id" value="form_contacto"> 945 <input type="hidden" id="recaptchaResponse" name="recaptcha_response"> 946 <input type="button" name="enviar" value="Ask" onclick="onSubmit(this.form)"/> 947 <input type="hidden" name="next" value="solicitud"/> 948</form> 949 950 </div> 951 </div> 952 </div> 953 954 955 956 957<!-- ################ FIN CONTENIDO Y MENU LATERAL ######################--> 958 959 960 961 962<br> 963<br> 964 965 966 967 968 969 970<br> 971<br> 972<div id="copyright"> 973Copyright © 2026 Keruve. All rights reserved. 974 975 976 977<p><a class="condicionesCompra" href="/terms.php/">Terms and Conditions | </a><a class="condicionesCompra" href="/returns.php/">Returns | </a><a class="condicionesCompra" href="/privacy.php/">Privacy Policy</a></p> 978 979 980 981 982 983<div class="copyright"><span> 984Keruve LTD. (reg. Number 11735127) 344-354 Gray's Inn Road, London, England.<br> 985VISION Systémes de Localisation SARL. Green Park III, 298 Allée du Lac, 31670, Labège, France.<br> 986Téléphone (+33) 06 44 64 57 36 . <br> 987</span><div class="direccionPie"></div> 988 989 990 991</div> 992</div> 993 994 995 996 997<!--script type="text/javascript"> 998adroll_adv_id = "SFVA3KJT2NFU7OSARQOUVN"; 999adroll_pix_id = "FLZ6MCPDMVBJJPPOVL7IZX"; 1000(function () { 1001var oldonload = window.onload; 1002window.onload = function(){ 1003 __adroll_loaded=true; 1004 var scr = document.createElement("script"); 1005 var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "https://a.adroll.com"); 1006 scr.setAttribute('async', 'true'); 1007 scr.type = "text/javascript";
1008 scr.src = host + "/j/roundtrip.js"; 1009 ((document.getElementsByTagName('head') || [null])[0] || 1010 document.getElementsByTagName('script')[0].parentNode).appendChild(scr); 1011 if(oldonload){oldonload()}}; 1012}()); 1013</script--> 1014 1015 1016 1017 1018 1019 1020 1021<!--???????????--> 1022 1023 1024 1025 1026 1027 1028 1029<!-- Google Code for aa All Visitors Not Bouncing --> 1030 1031 1032 1033 1034 1035 1036 1037<!--ENTRY-BEFOREBODYCLOSE--> 1038 1039 1040 1041 1042 1043<!--########################## POPUPS MULTIPLES ##########################--> 1044 1045 <style> 1046 1047 1048 .button-container { 1049 display: flex; 1050 gap: 20px; 1051 } 1052 1053 button { 1054 padding: 15px 30px; 1055 font-size: 16px; 1056 cursor: pointer; 1057 border: none; 1058 border-radius: 5px; 1059 background-color: #007A96; 1060 color: white; 1061 } 1062 1063 button:hover { 1064 background-color:#3096ad; 1065 } 1066 1067 .popup-overlay { 1068 display: none; 1069 position: fixed; 1070 top: 0; 1071 left: 0; 1072 width: 100%; 1073 height: 100%; 1074 background-color: rgba(255, 255, 255, 0.5); 1075 backdrop-filter: blur(5px); 1076 z-index: 1000; 1077 justify-content: center; 1078 align-items: center; 1079 } 1080 1081 .popup { 1082 background-color: white; 1083 padding: 20px; 1084 border-radius: 20px; 1085 box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); 1086 position: fixed; 1087 top: 50px; 1088 left: 25%; 1089 text-align: left; /* Alineamos el texto del formulario a la izquierda */ 1090 width: 500px; /* Ancho del popup del formulario */ 1091 } 1092 1093 .popup-header { 1094 display: flex; 1095 justify-content: flex-end; 1096 margin-bottom: 10px; 1097 } 1098 1099 .close-button { 1100 background: none; 1101 border: none; 1102 font-size: 20px; 1103 cursor: pointer; 1104 color: #555; 1105 } 1106 .close-button:hover { 1107 background: none; 1108 border: none; 1109 font-size: 20px; 1110 cursor: pointer; 1111 color: #555; 1112 } 1113 1114 .popup-content { 1115 font-size: 16px; 1116 padding-left: 30px; 1117 padding-right: 30px; 1118 padding-bottom: 30px; 1119 } 1120 1121 .popup-content label { 1122 display: block; 1123 margin-bottom: 5px; 1124 font-weight: bold; 1125 } 1126 1127 .popup-content input[type="text"], 1128 .popup-content input[type="tel"], 1129 .popup-content textarea { 1130 width: 100%; 1131 padding: 10px; 1132 margin-bottom: 15px; 1133 border: 1px solid #ccc; 1134 border-radius: 4px; 1135 box-sizing: border-box; /* Asegura que el padding y el borde se incluyan en el ancho */ 1136 font-size: 16px; 1137 outline: none; 1138 } 1139 1140 .popup-content input[type="text"]:focus, 1141 .popup-content input[type="tel"]:focus, 1142 .popup-content textarea:focus { 1143 border-color: #007a94; 1144 } 1145 1146 .popup-content textarea { 1147 min-height: 100px; 1148 } 1149 1150 .popup-content button[type="button"] { 1151 background-color: #007a94; 1152 color: white; 1153 border: none; 1154 padding: 10px 15px; 1155 border-radius: 5px; 1156 cursor: pointer; 1157 font-size: 16px; 1158 } 1159 1160 .popup-content button[type="button"]:hover { 1161 background-color: #3899ae; 1162 } 1163 1164 1165 #whatsapp-button img { 1166 width: 24px; 1167 height: 24px; 1168 margin-right: 10px; 1169 } 1170 #whatsapp-button { 1171 background-color: #25d366; 1172 color: white; 1173 font-weight: bold; 1174 /*border: none; 1175 padding: 15px 15px; 1176 border-radius: 5px; 1177 cursor: pointer; 1178 font-size: 16px; 1179 display: flex; 1180 align-items: center; 1181 margin: auto;*/ 1182 1183 } 1184 1185 1186 .whatsapp-button-small { 1187 background-color: #25d366; 1188 color: white; 1189 font-weight: bold; 1190 /*border: none;*/ 1191 padding: 4px 8px; 1192 /*border-radius: 5px; 1193 cursor: pointer; 1194 font-size: 16px; 1195 display: flex; 1196 align-items: center; 1197 margin: auto;*/ 1198 1199 } 1200 1201 1202 1203/* Estilos para el botón Descuento */ 1204.btn-bf-anim { 1205 position: relative; 1206 width: 100%; 1207 background-color: #000; /* Fondo Negro */ 1208 color: #fff; 1209 font-weight: bold; 1210 font-size: 18px; 1211 border: 2px solid #d00; /* Borde rojo para destacar */ 1212 padding: 15px; 1213 overflow: hidden; 1214 height: 55px; /* Altura fija para evitar saltos */ 1215 transition: background-color 0.3s; 1216} 1217 1218.btn-bf-anim:hover { 1219 background-color: #333; 1220} 1221 1222.btn-bf-anim span { 1223 position: absolute; 1224 width: 100%; 1225 left: 0; 1226 top: 50%; 1227 transform: translateY(-50%); 1228 transition: opacity 0.5s ease-in-out; 1229} 1230 1231/* Animación de intermitencia */ 1232.bf-text-1 { 1233 animation: fadeText1 4s infinite; 1234} 1235.bf-text-2 { 1236 animation: fadeText2 4s infinite; 1237} 1238 1239@keyframes fadeText1 { 1240 0%, 45% { opacity: 1; } 1241 50%, 100% { opacity: 0; } 1242} 1243 1244@keyframes fadeText2 { 1245 0%, 45% { opacity: 0; } 1246 50%, 100% { opacity: 1; } 1247} 1248 1249/* Estilos para la Tarjeta Hero Descuento */ 1250.bf-hero-card { 1251 background: rgba(0, 0, 0, 0.85); /* Fondo negro semitransparente */ 1252 border: 2px solid #ff0000; /* Borde rojo neón */ 1253 border-radius: 10px; 1254 padding: 15px 20px; 1255 margin-top: 20px; 1256 margin-bottom: 20px; 1257 display: inline-block; /* Se ajusta al contenido */ 1258 max-width: 400px; 1259 box-shadow: 0 0 15px rgba(255, 0, 0, 0.3); /* Resplandor rojo */ 1260 animation: slideIn 1s ease-out; 1261} 1262 1263.bf-row { 1264 display: flex; 1265 align-items: center; 1266 gap: 10px; 1267 margin-bottom: 5px; 1268} 1269 1270.bf-tag { 1271 background-color: #ff0000; 1272 color: white; 1273 font-weight: 800; 1274 padding: 2px 8px; 1275 text-transform: uppercase; 1276 font-size: 14px; 1277 border-radius: 3px; 1278} 1279 1280.bf-off { 1281 color: #fff; 1282 font-size: 24px; 1283 font-weight: 900; 1284 font-family: "Arial Black", Gadget, sans-serif; 1285} 1286 1287.bf-timer { 1288 color: #ccc; 1289 font-size: 12px !important; /* Forzamos tamaño pequeño */ 1290 margin: 0 0 10px 0 !important; 1291 text-transform: uppercase; 1292 letter-spacing: 1px; 1293} 1294 1295.bf-cta-hero { 1296 background-color: white !important; 1297 color: black !important; 1298 font-weight: bold; 1299 border: none; 1300 padding: 10px 20px; 1301 width: 100%; 1302 cursor: pointer; 1303 text-transform: uppercase; 1304 transition: transform 0.2s; 1305} 1306 1307.bf-cta-hero:hover { 1308 transform: scale(1.05); /* Efecto zoom al pasar el ratón */ 1309 background-color: #f0f0f0 !important; 1310} 1311 1312/* Animación de entrada */ 1313@keyframes slideIn { 1314 from { opacity: 0; transform: translateY(-20px); } 1315 to { opacity: 1; transform: translateY(0); } 1316} 1317 1318/* Ajuste para móviles */ 1319@media (max-width: 768px) { 1320 .bf-hero-card { 1321 width: 100%; 1322 } 1323} 1324 1325.bf-timer { 1326 color: #cccccc; /* Gris claro para el texto "Ends in" */ 1327 font-size: 14px; 1328 margin: 5px 0 15px 0; 1329 text-transform: uppercase; 1330 letter-spacing: 1px; 1331} 1332 </style> 1333 1334 1335 1336 1337<!-- ################# INICIO POPUP CITA #######################--> 1338 1339 <div id="popup1" class="popup-overlay"> 1340 <div class="popup"> 1341 <div class="popup-header"> 1342 <button class="close-button" data-popup-id="popup1">×</button> 1343 </div> 1344 <div class="popup-content"> 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 <h3>Phone appointment request</h3> 1355 <form method="post" action="/contact_us.php"> 1356 <div> 1357 1358 <input type="text" id="nombre" name="nombre" placeholder="Name" required> 1359 </div> 1360 <div> 1361 1362 <input type="tel" id="telefono" name="telefono" placeholder="Phone" required> 1363 </div> 1364 <div> 1365 1366 <textarea id="mensaje" name="comentarios">Please call me preferably on ____________ day, from ______ to ________ hours.</textarea> 1367 </div> 1368 <input type="hidden" name="form_id" value="popup_cita"> 1369 <input type="hidden" id="recaptchaResponse" name="recaptcha_response"> 1370 1371 <button type="button" onclick="onSubmit(this.form)">Send</button> 1372 </form> 1373 1374 1375 </p> 1376 1377 </div> 1378 </div> 1379 </div> 1380 1381 <!-- ################# FIN POPUP CITA #######################--> 1382 <!-- ################# INICIO POPUP WHATSAPP #######################--> 1383 1384 <div id="popup2" class="popup-overlay"> 1385 <div class="popup"> 1386 <div class="popup-header"> 1387 <button class="close-button" data-popup-id="popup2">×</button> 1388 </div> 1389 <div class="popup-content"> 1390 <h3>WhatsApp Support</h3> 1391 <form method="post" action="/contact_us.php"> 1392 <div> 1393 <input type="text" id="nombre" name="nombre" placeholder="Name" required> 1394 </div> 1395 <div> 1396 <input type="tel" id="telefono" name="telefono" placeholder="Your WhatsApp" required> 1397 </div> 1398 1399 <input type="hidden" name="comentarios" value="whatsapp"></input> 1400 <input type="hidden" name="form_id" value="popup_whatsapp"> 1401 <input type="hidden" id="recaptchaResponse" name="recaptcha_response"> 1402 <button id="whatsapp-button" onclick="onSubmit(this.form)"> 1403 <img src="/_images/24px-WhatsApp.svg.png" alt="WhatsApp Icon" > 1404 Start WhatsApp 1405 </button> 1406 </form> 1407 </div> 1408 </div> 1409 </div> 1410 1411 <!-- ################# FIN POPUP WHATSAPP #######################--> 1412 1413 1414 1415
1415<script> 1416 const openPopupButtons = document.querySelectorAll('.open-popup-button'); 1417 const closeButtons = document.querySelectorAll('.close-button'); 1418 const popupOverlays = document.querySelectorAll('.popup-overlay'); 1419 1420 const whatsappButton = document.getElementById("whatsapp-button"); 1421 const whatsappLinkMobile = "https://wa.me/+34692202396?text=Buenas%2C%20tengo%20una%20pregunta%20sobre%20el%20localizador%20Keruve"; 1422 1423 const popup1 = document.getElementById("popup1"); 1424 1425 openPopupButtons.forEach(button => { 1426 button.addEventListener('click', () => { 1427 const popupId = button.getAttribute('data-popup-id'); 1428 const popup = document.getElementById(popupId); 1429 if (popup) { 1430 popup.style.display = 'block'; 1431 } 1432 }); 1433 }); 1434 1435 closeButtons.forEach(button => { 1436 button.addEventListener('click', (event) => { 1437 event.stopPropagation(); 1438 const popupId = button.getAttribute('data-popup-id'); 1439 const popup = document.getElementById(popupId); 1440 if (popup) { 1441 popup.style.display = 'none'; 1442 } 1443 }); 1444 }); 1445 1446 popupOverlays.forEach(overlay => { 1447 overlay.addEventListener('click', (event) => { 1448 if (event.target === overlay) { 1449 overlay.style.display = 'none'; 1450 } 1451 }); 1452 }); 1453 1454 function openPopup(popupId) { 1455 const popup = document.getElementById(popupId); 1456 if (popup) { 1457 popup.style.display = 'block'; 1458 } 1459 } 1460 1461 function getParameterByName(name, url = window.location.href) { 1462 name = name.replace(/[\[\]]/g, "\\$&"); 1463 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 1464 results = regex.exec(url); 1465 if (!results) return null; 1466 if (!results[2]) return ""; 1467 return decodeURIComponent(results[2].replace(/\+/g, " ")); 1468 } 1469 1470 document.addEventListener("DOMContentLoaded", function() { 1471 const citaParam = getParameterByName("call"); 1472 const whatsappParam = getParameterByName("whatsapp"); 1473 1474 if (citaParam === "1") { 1475 popup1.style.display = "block"; 1476 //overlay.style.display = "block"; // Mostrar el velo 1477 } 1478 else if (whatsappParam === "1") { 1479 popup2.style.display = "block"; 1480 //overlay.style.display = "block"; // Mostrar el velo 1481 } 1482 }); 1483 1484 1485 /*##### PARTE DE WHATSAPP####*/ 1486 whatsappButton.addEventListener("click", () => { 1487 if (isMobile()) { 1488 window.location.href = whatsappLinkMobile; 1489 } else { 1490 popup2.style.display = "block"; 1491 } 1492 }); 1493 1494 function isMobile() { 1495 return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); 1496 } 1497 1498 </script>
1498 1499<!--------------------- FIN POPUPS -------------------------->
1500<script> 1501// SCRIPT CONTADOR DESCUENTO 1502(function() { 1503 // --- CONFIGURACIÃN --- 1504 // Define aquà la fecha final. Formato: "AAAA-MM-DDTHH:MM:SS" 1505 // La "T" separa la fecha de la hora. 1506 var fechaFinConfig = "2026-02-28T23:59:59"; 1507 // --------------------- 1508 1509 // 1. Convertimos la fecha configurada a tiempo en milisegundos 1510 var countDownDate = new Date(fechaFinConfig).getTime(); 1511 1512 // 2. Actualizar el contador cada segundo 1513 var x = setInterval(function() { 1514 var now = new Date().getTime(); 1515 var distance = countDownDate - now; 1516 1517 // Cálculos de tiempo 1518 var days = Math.floor(distance / (1000 * 60 * 60 * 24)); 1519 var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); 1520 var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); 1521 var seconds = Math.floor((distance % (1000 * 60)) / 1000); 1522 1523 // Mostrar resultado en el elemento con id="bf-countdown" 1524 var displayElement = document.getElementById("bf-countdown"); 1525 if (displayElement) { 1526 1527 // Si la cuenta termina (distancia menor a 0) 1528 if (distance < 0) { 1529 clearInterval(x); 1530 displayElement.innerHTML = "EXPIRED"; 1531 } else { 1532 // Formato: 4d 12h 30m 05s 1533 // Se añade un '0' delante si el número es menor a 10 para mejor estética (opcional) 1534 hours = (hours < 10) ? "0" + hours : hours; 1535 minutes = (minutes < 10) ? "0" + minutes : minutes; 1536 seconds = (seconds < 10) ? "0" + seconds : seconds; 1537 1538 displayElement.innerHTML = days + "d " + hours + "h " 1539 + minutes + "m " + seconds + "s "; 1540 } 1541 } 1542 }, 1000); 1543})(); 1544</script>
1544 1545</body> 1546</html> 1547
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.