{"id":17,"date":"2026-01-16T20:10:27","date_gmt":"2026-01-16T20:10:27","guid":{"rendered":"https:\/\/sonotrey.com\/maploca\/?page_id=17"},"modified":"2026-07-17T06:03:06","modified_gmt":"2026-07-17T06:03:06","slug":"impacto-social","status":"publish","type":"page","link":"https:\/\/maploca.com\/en\/impacto-social\/","title":{"rendered":"SOCIAL IMPACT"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"17\" class=\"elementor elementor-17\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a476b67 e-flex e-con-boxed e-con e-parent\" data-id=\"a476b67\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;video&quot;,&quot;background_video_link&quot;:&quot;https:\\\/\\\/maploca.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Final-web-Caravana-1.mp4&quot;,&quot;background_play_on_mobile&quot;:&quot;yes&quot;,&quot;background_privacy_mode&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-background-video-container\">\n\t\t\t\t\t\t\t<video class=\"elementor-background-video-hosted\" role=\"presentation\" autoplay muted playsinline loop><\/video>\n\t\t\t\t\t<\/div>\t\t<div class=\"elementor-element elementor-element-5fcc2b4 elementor-widget elementor-widget-heading\" data-id=\"5fcc2b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Construimos pa\u00eds<br>junto a ti<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cde9f8c e-flex e-con-boxed e-con e-parent\" data-id=\"cde9f8c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b39f84a elementor-widget elementor-widget-html\" data-id=\"b39f84a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"maploca-impacto\">\n    <div class=\"mi-gallery\" id=\"miGallery\"><\/div>\n    <div class=\"mi-modal\" id=\"miModal\" aria-hidden=\"true\">\n      <div class=\"mi-backdrop\" data-close><\/div>\n      <div class=\"mi-panel\" role=\"dialog\" aria-modal=\"true\">\n        <button class=\"mi-close\" data-close aria-label=\"Cerrar\">&times;<\/button>\n        <div class=\"mi-content\" id=\"miContent\"><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<style>\n\/* ================= IMPACTO SOCIAL \u2014 GALER\u00cdA + POPUP ================= *\/\n.maploca-impacto{\n  --mi-orange:#FF5E14; --mi-blue:#002D40; --mi-text:#5a6770; --mi-radius:16px;\n  font-family:'Onest',sans-serif; width:100%;\n}\n\/* ---------- GALER\u00cdA (grid que se expande) ---------- *\/\n.maploca-impacto .mi-gallery{\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:22px;\n}\n.maploca-impacto .mi-card{\n  position:relative; aspect-ratio:3\/4; border:0; padding:0; margin:0;\n  border-radius:var(--mi-radius); overflow:hidden; cursor:pointer; background:#1f2a30;\n  box-shadow:0 12px 30px rgba(0,0,0,.14); transition:transform .35s ease, box-shadow .35s ease; display:block;\n}\n.maploca-impacto .mi-card:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(0,0,0,.22); }\n.maploca-impacto .mi-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }\n.maploca-impacto .mi-card:hover img{ transform:scale(1.06); }\n.maploca-impacto .mi-card.is-empty{ background:linear-gradient(150deg,#2b3a42,#0f1418); }\n.maploca-impacto .mi-card-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.55) 100%); transition:background .35s ease; }\n.maploca-impacto .mi-card:hover .mi-card-overlay{ background:linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.45) 100%); }\n.maploca-impacto .mi-card-title{\n  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center;\n  padding:0 18px; color:#fff; font-weight:700; font-size:18px; letter-spacing:.02em; line-height:1.25;\n  text-transform:uppercase; text-shadow:0 2px 10px rgba(0,0,0,.45);\n}\n\/* ---------- MODAL ---------- *\/\n.maploca-impacto .mi-modal{ position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; padding:30px 18px; }\n.maploca-impacto .mi-modal.is-open{ display:flex; }\n.maploca-impacto .mi-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.78); backdrop-filter:blur(2px); animation:miFade .25s ease; }\n.maploca-impacto .mi-panel{\n  position:relative; width:100%; max-width:1120px; max-height:90vh; overflow-y:auto;\n  background:#fff; border-radius:22px; padding:46px 50px; box-shadow:0 30px 80px rgba(0,0,0,.4);\n  animation:miPop .3s cubic-bezier(.2,.9,.3,1.1);\n}\n@keyframes miFade{ from{opacity:0} to{opacity:1} }\n@keyframes miPop{ from{opacity:0; transform:translateY(18px) scale(.97)} to{opacity:1; transform:none} }\n.maploca-impacto .mi-close{\n  position:absolute; top:18px; right:20px; width:40px; height:40px; border:0; border-radius:50%;\n  background:#f1f2f3; color:#333; font-size:24px; line-height:1; cursor:pointer;\n  display:flex; align-items:center; justify-content:center; transition:background .2s ease, transform .2s ease; z-index:5;\n}\n.maploca-impacto .mi-close:hover{ background:var(--mi-orange); color:#fff; transform:rotate(90deg); }\n.maploca-impacto .mi-head{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }\n.maploca-impacto .mi-title{ margin:0; color:var(--mi-blue); font-size:34px; font-weight:700; line-height:1.1; }\n.maploca-impacto .mi-logo{ height:38px; width:auto; flex-shrink:0; }\n\/* ---------- GALER\u00cdA DE FOTOS (fila a misma altura, ancho por proporci\u00f3n) ---------- *\/\n.maploca-impacto .mi-strip{ position:relative; width:100%; height:300px; overflow:hidden; margin-bottom:30px; }\n.maploca-impacto .mi-strip-track{\n  display:flex; gap:16px; height:100%; width:max-content;\n  will-change:transform;\n}\n.maploca-impacto .mi-strip img{\n  height:100%; width:auto; display:block; flex:0 0 auto;\n  border-radius:14px; object-fit:cover; background:#111;\n}\n\/* ---------- STATS ---------- *\/\n.maploca-impacto .mi-stats{ display:flex; align-items:center; gap:0; margin-bottom:30px; }\n.maploca-impacto .mi-stat{ flex:1; display:flex; align-items:center; gap:16px; padding:0 26px; }\n.maploca-impacto .mi-stat + .mi-stat{ border-left:1px solid #e2e6e8; }\n.maploca-impacto .mi-stat-icon{ width:46px; height:auto; flex-shrink:0; }\n.maploca-impacto .mi-stat-num{ font-size:42px; font-weight:700; color:var(--mi-blue); line-height:1; white-space:nowrap; }\n.maploca-impacto .mi-stat-num .mi-suffix{ font-size:24px; vertical-align:top; }\n.maploca-impacto .mi-stat-label{ display:flex; flex-direction:column; line-height:1.15; }\n.maploca-impacto .mi-stat-label .l1{ color:var(--mi-orange); font-weight:700; font-size:16px; }\n.maploca-impacto .mi-stat-label .l2{ color:var(--mi-blue); font-weight:600; font-size:16px; }\n\/* ---------- DESCRIPCI\u00d3N + BOTONES ---------- *\/\n.maploca-impacto .mi-bottom{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }\n.maploca-impacto .mi-desc{ margin:0; color:var(--mi-text); font-size:15px; line-height:1.6; max-width:62%; }\n.maploca-impacto .mi-actions{ display:flex; gap:14px; flex-shrink:0; }\n.maploca-impacto .mi-btn{\n  display:inline-block; padding:12px 26px; border:1.5px solid var(--mi-orange); border-radius:10px;\n  color:var(--mi-blue); font-weight:600; font-size:15px; text-decoration:none; white-space:nowrap; transition:all .25s ease;\n}\n.maploca-impacto .mi-btn:hover{ background:var(--mi-orange); color:#fff; }\n\/* ---------- RESPONSIVE ---------- *\/\n@media (max-width:1024px){\n  .maploca-impacto .mi-gallery{ grid-template-columns:repeat(2,1fr); }\n  .maploca-impacto .mi-panel{ padding:40px 32px; }\n  .maploca-impacto .mi-title{ font-size:28px; }\n  .maploca-impacto .mi-strip{ height:240px; }\n  .maploca-impacto .mi-stat-num{ font-size:34px; }\n}\n@media (max-width:640px){\n  .maploca-impacto .mi-gallery{ grid-template-columns:repeat(2,1fr); gap:12px; }\n  .maploca-impacto .mi-card{ aspect-ratio:1\/1; }\n  .maploca-impacto .mi-panel{ padding:30px 20px; }\n  .maploca-impacto .mi-strip{ height:170px; }\n  .maploca-impacto .mi-head{ flex-direction:column; align-items:flex-start; gap:14px; }\n  .maploca-impacto .mi-stats{ flex-direction:column; gap:18px; align-items:stretch; }\n  .maploca-impacto .mi-stat + .mi-stat{ border-left:0; border-top:1px solid #e2e6e8; padding-top:18px; }\n  .maploca-impacto .mi-stat{ padding:0; }\n  .maploca-impacto .mi-bottom{ flex-direction:column; align-items:stretch; }\n  .maploca-impacto .mi-desc{ max-width:100%; }\n  .maploca-impacto .mi-actions{ flex-direction:column; }\n  .maploca-impacto .mi-btn{ text-align:center; }\n}\n\/* \u2190 FIX: en m\u00f3vil, altura real en las tarjetas (aspect-ratio no propaga altura al contenedor en iOS) *\/\n@media (max-width: 640px){\n  .maploca-impacto .mi-card{\n    aspect-ratio: auto !important;\n    height: 200px !important;\n  }\n  .maploca-impacto{\n    padding-left: 16px;\n    padding-right: 16px;\n  }\n}\n<\/style>\n<script>\n(function(){\n  \/* =================================================================\n     DATOS DE LOS PROYECTOS  \u2014  edita aqu\u00ed (4 proyectos)\n     - photos: [ ... ]  -> las im\u00e1genes de la galer\u00eda del popup.\n       Se muestran TODAS a la misma altura; el ancho lo da su proporci\u00f3n\n       (16:9 = ancha, 9:16 = angosta). Si no caben, la fila rota en bucle.\n     ================================================================= *\/\n  var PROJECTS = [\n    {\n      cardTitle: \"Caravana Escuela\",\n      cardImage: \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/FOTO-PRINCIPAL.png\",  \/\/ \u2190 PENDIENTE: FOTO PRINCIPAL de la card\n      title: \"Caravana Escuela\",\n      logo:  \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/Captura-de-pantalla-2026-01-16-235206_nobg.png\",\n      photos: [   \/\/ \u2190 DEMO: reemplazar por las fotos reales de Caravana\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/2_3.1.1.png\",\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/3_4.1.1.png\",\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/4_2.14.1.png\",\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/5_2.19.1.png\",\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/6_2.20.1.png\",\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/8_1.31.1.png\",\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/9_1.32.1.png\",\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/10_1.33.1.png\",\n        \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/Captura-2026-04-24-164154_1.6.1.png\",\n        \"\"\n      ],\n      stats: [\n        { icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/01\/Vector-3.png\", value:10,  suffix:\"\",  l1:\"Comunidades\", l2:\"beneficiadas\" },\n        { icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/01\/Vector-4.png\", value:20,  suffix:\"k\", l1:\"Herramientas\", l2:\"fabricadas\" },\n        { icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/01\/Vector-5.png\", value:667, suffix:\"\",  l1:\"Personas\", l2:\"formadas\" }\n      ],\n      desc:  \"La Caravana Escuela es un proyecto educativo itinerante en Venezuela que lleva talleres de herrer\u00eda a comunidades rurales remotas para ense\u00f1ar el oficio ancestral de la forja, empoderando a los j\u00f3venes y adultos con habilidades para fabricar sus propias herramientas, diversificar ingresos y transformar su futuro y el de sus comunidades.\",\n      webUrl:  \"https:\/\/lacaravanaescuela.org\/es_es\/\"\n    },\n    {\n      cardTitle: \"Fundaci\u00f3n Amigos del Ni\u00f1o con C\u00e1ncer\",\n      cardImage: \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/FOTO-PRINCIPAL-1.png\", title: \"Fundaci\u00f3n Amigos del Ni\u00f1o con C\u00e1ncer\", logo:\"\", photos:[\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-Apr-24-2026-03_01_59-PM-1.png\"],\n      stats: [ {icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/barra-de-acero.png\",value:20,suffix:\"mil\",l1:\"Toneladas de\",l2:\"Cabillas donadas\"}, {icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/familia-adoptiva.png\", suffix:\"+\", value:+1000,l1:\"Familias\",l2:\"beneficiadas\"},  ],\n      desc:\"El nuevo albergue de la Fundaci\u00f3n Amigos del Ni\u00f1o con C\u00e1ncer nace como un espacio de apoyo, esperanza y acompa\u00f1amiento para ni\u00f1os y familias que deben trasladarse desde el interior del pa\u00eds a Caracas para recibir tratamiento.<br><br>M\u00e1s que una infraestructura, este proyecto representa un lugar de resguardo para quienes atraviesan una etapa dif\u00edcil lejos de su hogar, ofreciendo cercan\u00eda, contenci\u00f3n y mejores condiciones durante su proceso m\u00e9dico.\", infoUrl:\"#\", webUrl:\"https:\/\/fninoscancer.org\/\"\n    },\n    {\n      cardTitle: \"Fundaci\u00f3n Huellas al Coraz\u00f3n\",\n      cardImage: \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/FOTO-PRINCIPAL-2.png\", title: \"Fundaci\u00f3n Huellas al Coraz\u00f3n\", logo:\"\", photos:[\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/FOTO-PRINCIPAL-2.png\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/9_1.7.9.png\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/7_1.7.7.png\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/6_1.7.6.png\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/5_1.7.5.png\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/4_1.7.4.png\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/3_1.7.3.png\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/2_1.7.2.png\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/1_1.7.1.png\"\n      ],\n      stats: [ {icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/tabla-de-planchar-1.png\",value:64,suffix:\"m2\",l1:\"De Techo\",l2:\"donado\"}, {icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/huella.png\",value:50,suffix:\"+\",l1:\"Perritos\",l2:\"beneficiados\"}],\n      desc:\"En Huellas al Coraz\u00f3n, cada espacio del refugio cumple un prop\u00f3sito: cuidar,alimentar y proteger a perritos que han sido rescatados y necesitan una nueva oportunidad. <br><br>La recuperaci\u00f3n del techo del \u00e1rea de cocina permite fortalecer un espacio clave para la operaci\u00f3n diaria de la fundaci\u00f3n, donde se preparan los alimentos que sostienen el cuidado de los perritos bajo su resguardo.\", infoUrl:\"#\", webUrl:\"http:\/\/www.instagram.com\/huellasalcorazonve?igsh=YndlcTEzNHE1YWFm\"\n    },\n    {\n      cardTitle: \"Generaci\u00f3n de Acero\",\n      cardImage: \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/FOTO-PRINCIPAL-scaled.jpg\", title: \"Generaci\u00f3n de Acero\", logo:\"\", photos:[\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/6-scaled.jpg\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/5-scaled.jpg\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/4-scaled.jpg\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/2-scaled.jpg\",\n          \"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/1-scaled.jpg\"\n    ],\n      stats: [ {icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/gorro-de-graduacion-2.png\",value:500,suffix:\"+\",l1:\"Estudiantes\",l2:\"impactados\"}, {icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/marcador-de-posicion-1.png\",value:20,suffix:\"+\",l1:\"Visitas t\u00e9cnicas\",l2:\"realizadas\"}, {icon:\"https:\/\/maploca.com\/wp-content\/uploads\/2026\/05\/universidad.png\",value:2,suffix:\"\",l1:\"Universidades\",l2:\"participantes\"} ],\n      desc:\"Maploca abre las puertas de sus plantas Sigalca y Properca para acercar a estudiantes de ingenier\u00eda y arquitectura al mundo real del acero. A trav\u00e9s de visitas t\u00e9cnicas con universidades como la Universidad Metropolitana y la Universidad Central de Venezuela, los participantes conocen de primera mano nuestros procesos productivos, est\u00e1ndares de calidad y soluciones constructivas para el pa\u00eds.\", infoUrl:\"#\", webUrl:\"https:\/\/wa.me\/584122028789\"\n    }\n  ];\n  var SPEED = 45;   \/\/ velocidad de rotaci\u00f3n de la fila (px\/seg) cuando hay overflow\n  var root=document.querySelector('.maploca-impacto');\n  var gallery=root.querySelector('#miGallery');\n  var modal=root.querySelector('#miModal');\n  var content=root.querySelector('#miContent');\n  \/* estado de la fila *\/\n  var ST={ strip:null, track:null, raf:null, x:0, period:0, paused:false, last:null };\n  \/* ---- construir la galer\u00eda ---- *\/\n  PROJECTS.forEach(function(p,i){\n    var card=document.createElement('button');\n    card.className='mi-card'+(p.cardImage?'':' is-empty');\n    card.setAttribute('data-id',i);\n    card.innerHTML=(p.cardImage?'<img decoding=\"async\" src=\"'+p.cardImage+'\" alt=\"'+p.cardTitle+'\">':'')+\n      '<span class=\"mi-card-overlay\"><\/span><span class=\"mi-card-title\">'+p.cardTitle+'<\/span>';\n    card.addEventListener('click',function(){ openModal(i); });\n    gallery.appendChild(card);\n  });\n  \/* ---- abrir modal ---- *\/\n  function openModal(i){\n    var p=PROJECTS[i];\n    var photos=p.photos||[];\n    var photoHtml = photos.length\n      ? '<div class=\"mi-strip\" id=\"miStrip\"><div class=\"mi-strip-track\" id=\"miTrack\">'+\n          photos.map(function(src){ return '<img decoding=\"async\" src=\"'+src+'\" alt=\"\">'; }).join('')+\n        '<\/div><\/div>'\n      : '';\n    var statsHtml=p.stats.map(function(s){\n      return '<div class=\"mi-stat\">'+(s.icon?'<img decoding=\"async\" class=\"mi-stat-icon\" src=\"'+s.icon+'\" alt=\"\">':'')+\n        '<div class=\"mi-stat-body\"><div class=\"mi-stat-num\"><span class=\"mi-count\" data-to=\"'+s.value+'\">0<\/span>'+\n        (s.suffix?'<span class=\"mi-suffix\">'+s.suffix+'<\/span>':'')+'<\/div>'+\n        '<div class=\"mi-stat-label\"><span class=\"l1\">'+s.l1+'<\/span><span class=\"l2\">'+s.l2+'<\/span><\/div><\/div><\/div>';\n    }).join('');\n    content.innerHTML=\n      '<div class=\"mi-head\"><h2 class=\"mi-title\">'+p.title+'<\/h2>'+(p.logo?'<img decoding=\"async\" class=\"mi-logo\" src=\"'+p.logo+'\" alt=\"\">':'')+'<\/div>'+\n      photoHtml+\n      '<div class=\"mi-stats\">'+statsHtml+'<\/div>'+\n      '<div class=\"mi-bottom\"><p class=\"mi-desc\">'+p.desc+'<\/p><div class=\"mi-actions\">'+\n  '<a class=\"mi-btn\" href=\"'+p.webUrl+'\" target=\"_blank\" rel=\"noopener\">P\u00e1gina web<\/a>'+\n'<\/div><\/div>';\n    modal.classList.add('is-open'); modal.setAttribute('aria-hidden','false');\n    document.body.style.overflow='hidden';\n    runCounters();\n    if(photos.length) initStrip();\n  }\n  \/* ---- cerrar modal ---- *\/\n  function closeModal(){\n    stopStrip();\n    ST={ strip:null, track:null, raf:null, x:0, period:0, paused:false, last:null };\n    modal.classList.remove('is-open'); modal.setAttribute('aria-hidden','true');\n    document.body.style.overflow='';\n  }\n  modal.addEventListener('click',function(e){ if(e.target.hasAttribute('data-close')) closeModal(); });\n  document.addEventListener('keydown',function(e){ if(e.key==='Escape') closeModal(); });\n  \/* ---- contadores 0 -> valor ---- *\/\n  function runCounters(){\n    content.querySelectorAll('.mi-count').forEach(function(el){\n      var to=parseFloat(el.getAttribute('data-to'))||0, dur=1500, start=null;\n      function tick(ts){ if(!start) start=ts; var prog=Math.min((ts-start)\/dur,1);\n        var eased=1-Math.pow(1-prog,3); el.textContent=Math.round(eased*to);\n        if(prog<1) requestAnimationFrame(tick); }\n      requestAnimationFrame(tick);\n    });\n  }\n  \/* ================= GALER\u00cdA DE FOTOS (fila rotativa) ================= *\/\n  function initStrip(){\n    ST.strip=content.querySelector('#miStrip');\n    ST.track=content.querySelector('#miTrack');\n    var imgs=ST.track.querySelectorAll('img');\n    var n=imgs.length, done=0;\n    imgs.forEach(function(img){\n      if(img.complete && img.naturalWidth){ if(++done===n) layoutStrip(); }\n      else img.addEventListener('load',function(){ layoutStrip(); });\n    });\n    layoutStrip(); \/\/ primer intento (por si est\u00e1n en cach\u00e9)\n  }\n  function layoutStrip(){\n    if(!ST.track) return;\n    stopStrip();\n    \/\/ quitar clones anteriores\n    ST.track.querySelectorAll('[data-clone]').forEach(function(c){ c.remove(); });\n    ST.track.style.transform='none';\n    var gap=parseFloat(getComputedStyle(ST.track).gap)||16;\n    var kids=ST.track.children, single=0;\n    for(var i=0;i<kids.length;i++){ single+=kids[i].offsetWidth; }\n    single+=gap*(kids.length-1);\n    var cw=ST.strip.clientWidth;\n    if(single<=cw+1){\n      \/\/ caben: fila centrada, est\u00e1tica (sin huecos a los lados)\n      ST.track.style.justifyContent='center';\n      ST.track.style.width='100%';\n      return;\n    }\n    \/\/ no caben: clonar y rotar en bucle continuo\n    ST.track.style.justifyContent='flex-start';\n    ST.track.style.width='max-content';\n    var originals=Array.prototype.slice.call(ST.track.children);\n    originals.forEach(function(node){ var c=node.cloneNode(true); c.setAttribute('data-clone','1'); ST.track.appendChild(c); });\n    ST.period=single+gap;\n    ST.x=0; ST.last=null;\n    startStrip();\n  }\n  function frame(ts){\n    if(ST.last==null) ST.last=ts;\n    var dt=(ts-ST.last)\/1000; ST.last=ts;\n    if(!ST.paused){\n      ST.x-=SPEED*dt;\n      if(ST.x<=-ST.period) ST.x+=ST.period;\n      ST.track.style.transform='translateX('+ST.x+'px)';\n    }\n    ST.raf=requestAnimationFrame(frame);\n  }\n  function startStrip(){\n    stopStrip();\n    ST.raf=requestAnimationFrame(frame);\n    ST.strip.addEventListener('mouseenter', pauseStrip);\n    ST.strip.addEventListener('mouseleave', resumeStrip);\n  }\n  function pauseStrip(){ ST.paused=true; }\n  function resumeStrip(){ ST.paused=false; ST.last=null; }\n  function stopStrip(){ if(ST.raf){ cancelAnimationFrame(ST.raf); ST.raf=null; } }\n  window.addEventListener('resize',function(){ if(modal.classList.contains('is-open') && ST.track) layoutStrip(); });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Construimos pa\u00edsjunto a ti &times;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-17","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"acf":[],"_links":{"self":[{"href":"https:\/\/maploca.com\/en\/wp-json\/wp\/v2\/pages\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maploca.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/maploca.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/maploca.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maploca.com\/en\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":235,"href":"https:\/\/maploca.com\/en\/wp-json\/wp\/v2\/pages\/17\/revisions"}],"predecessor-version":[{"id":3652,"href":"https:\/\/maploca.com\/en\/wp-json\/wp\/v2\/pages\/17\/revisions\/3652"}],"wp:attachment":[{"href":"https:\/\/maploca.com\/en\/wp-json\/wp\/v2\/media?parent=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}