{"id":31,"date":"2026-07-07T19:42:31","date_gmt":"2026-07-07T19:42:31","guid":{"rendered":"http:\/\/turismo.cheves.co\/?page_id=31"},"modified":"2026-07-17T22:49:35","modified_gmt":"2026-07-17T22:49:35","slug":"home-love-to-travel","status":"publish","type":"page","link":"https:\/\/turismo.cheves.co\/?page_id=31","title":{"rendered":"Home-Love to travel"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"31\" class=\"elementor elementor-31\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e45e125 e-con-full e-flex e-con e-parent\" data-id=\"e45e125\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ead7a73 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"ead7a73\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"cursor-plane\" id=\"cursorPlane\" aria-hidden=\"true\">\r\n  <svg viewBox=\"-18 -14 36 28\">\r\n    <path class=\"cp-body\" d=\"M 17,0 L -15,-11 L -6,0 L -15,11 Z\"\/>\r\n    <line x1=\"17\" y1=\"0\" x2=\"-6\" y2=\"0\" stroke=\"rgba(255,255,255,.4)\" stroke-width=\"1\"\/>\r\n  <\/svg>\r\n<\/div>\r\n\r\n<header class=\"site\">\r\n  <div class=\"wrap nav-row\">\r\n    <a class=\"logo\" href=\"#\" aria-label=\"Love to Travel Vacations\">\r\n      <img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/header-inline-1.png\" alt=\"Love to Travel Vacations\" class=\"logo-img\">\r\n    <\/a>\r\n    <nav class=\"links\">\r\n      <a class=\"active\" href=\"#\">Inicio<\/a>\r\n      <a href=\"#routeSection\">Paquetes<\/a>\r\n      <a href=\"#routeSection\">Cruceros<\/a>\r\n      <a href=\"#\">Viajes<\/a>\r\n      <a href=\"#\">Nosotros<\/a>\r\n      <a href=\"#\">Contacto<\/a>\r\n    <\/nav>\r\n    <a class=\"wa-btn js-magnetic fill-navy\" href=\"#\">\r\n      <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"#fff\"><path d=\"M12 2a10 10 0 00-8.6 15L2 22l5.2-1.4A10 10 0 1012 2z\"\/><\/svg>\r\n      WhatsApp\r\n    <\/a>\r\n  <\/div>\r\n<\/header>\r\n\r\n<script>\r\nvar REDUCED_MOTION = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\nvar HAS_GSAP = (typeof gsap !== 'undefined');\r\n\r\n\/* ---- cursor custom: avi\u00f3n de papel que sigue el mouse y rota seg\u00fan el rumbo ---- *\/\r\n(function(){\r\n  var cursor = document.getElementById('cursorPlane');\r\n  if(!cursor) return;\r\n  var canHover = window.matchMedia('(pointer:fine)').matches;\r\n  if(REDUCED_MOTION || !HAS_GSAP || !canHover) return;\r\n\r\n  document.documentElement.classList.add('has-custom-cursor');\r\n  var qx = gsap.quickTo(cursor, 'x', {duration:0.35, ease:'power3.out'});\r\n  var qy = gsap.quickTo(cursor, 'y', {duration:0.35, ease:'power3.out'});\r\n  var lastX = null, lastY = null, shown = false;\r\n\r\n  window.addEventListener('mousemove', function(e){\r\n    qx(e.clientX);\r\n    qy(e.clientY);\r\n    if(!shown){ cursor.classList.add('is-visible'); shown = true; }\r\n    if(lastX !== null){\r\n      var dx = e.clientX - lastX, dy = e.clientY - lastY;\r\n      if(Math.hypot(dx, dy) > 2){\r\n        gsap.to(cursor, {rotate: Math.atan2(dy, dx) * 180 \/ Math.PI, duration:0.3, ease:'power2.out'});\r\n      }\r\n    }\r\n    lastX = e.clientX; lastY = e.clientY;\r\n  }, {passive:true});\r\n\r\n  document.addEventListener('mouseover', function(e){\r\n    if(e.target.closest && e.target.closest('a, button')){ cursor.classList.add('is-hover'); }\r\n  });\r\n  document.addEventListener('mouseout', function(e){\r\n    if(e.target.closest && e.target.closest('a, button')){ cursor.classList.remove('is-hover'); }\r\n  });\r\n  document.documentElement.addEventListener('mouseleave', function(){ cursor.classList.remove('is-visible'); shown = false; });\r\n})();\r\n\r\n\/* liquid-fill CTA: circle grows from the cursor position *\/\r\ndocument.querySelectorAll('.js-magnetic').forEach(function(el){\r\n  el.addEventListener('mousemove', function(e){\r\n    var r = el.getBoundingClientRect();\r\n    el.style.setProperty('--mx', ((e.clientX - r.left) \/ r.width * 100) + '%');\r\n    el.style.setProperty('--my', ((e.clientY - r.top) \/ r.height * 100) + '%');\r\n  });\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3637c0e e-con-full e-flex e-con e-parent\" data-id=\"3637c0e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-61bb9e4 elementor-widget elementor-widget-html\" data-id=\"61bb9e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Pegar este bloque PRIMERO en WordPress (antes que cualquier otra secci\u00f3n) -->\r\n<!-- Librerias GSAP (una sola vez para toda la pagina) -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3\/dist\/gsap.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3\/dist\/ScrollTrigger.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3\/dist\/SplitText.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3\/dist\/MotionPathPlugin.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3\/dist\/DrawSVGPlugin.min.js\"><\/script>\r\n<script>\r\nvar REDUCED_MOTION = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\nvar HAS_GSAP = (typeof gsap !== 'undefined' && typeof ScrollTrigger !== 'undefined');\r\nif (HAS_GSAP) { gsap.registerPlugin(ScrollTrigger); }\r\n<\/script>\r\n<script>\r\n\/* ---- utilidades compartidas por todos los bloques: reveals al scroll, parallax y el \"liquid fill\" de los CTA ----\r\n   Corre despu\u00e9s de DOMContentLoaded para que no importe en qu\u00e9 orden se pegaron los bloques en WordPress. *\/\r\nwindow.addEventListener('DOMContentLoaded', function(){\r\n\r\n  \/* ---- scroll reveals: grid-aware stagger where it matters, single fade elsewhere ---- *\/\r\n  (function(){\r\n    var handled = new Set();\r\n\r\n    function setupGroup(containerSel, itemSel, fromVars){\r\n      document.querySelectorAll(containerSel).forEach(function(container){\r\n        var items = Array.prototype.slice.call(container.querySelectorAll(itemSel));\r\n        if(!items.length) return;\r\n        items.forEach(function(el){ handled.add(el); el.removeAttribute('style'); });\r\n        if(REDUCED_MOTION || !HAS_GSAP){\r\n          gsap && gsap.set ? gsap.set(items, {opacity:1, x:0, y:0, rotate:0, scale:1}) : items.forEach(function(el){ el.style.opacity=1; });\r\n          return;\r\n        }\r\n        gsap.set(items, fromVars);\r\n        gsap.to(items, {\r\n          opacity:1, x:0, y:0, rotate:0, scale:1, duration:0.6, ease:'back.out(1.5)', stagger:0.09,\r\n          scrollTrigger:{ trigger: container, start:'top 85%', toggleActions:'play none none reverse' }\r\n        });\r\n      });\r\n    }\r\n\r\n    \/* card grids: alternate in from left\/up\/right per column position, with a light snap-in rotation *\/\r\n    setupGroup('.bento-col', '.bento-card', {opacity:0, x:40});\r\n    setupGroup('.testi-track', '.testi-card', {opacity:0, y:30});\r\n\r\n    \/* everything else with .reveal \/ .reveal-l \/ .reveal-r, handled individually\r\n       (esto NO incluye el t\u00edtulo del hero: ese tiene su propia intro en el bloque de hero) *\/\r\n    var singles = Array.prototype.slice.call(document.querySelectorAll('.reveal, .reveal-l, .reveal-r'))\r\n      .filter(function(el){ return !handled.has(el); });\r\n\r\n    if(REDUCED_MOTION || !HAS_GSAP){\r\n      singles.forEach(function(el){ el.style.opacity = 1; });\r\n    } else {\r\n      singles.forEach(function(el){\r\n        var vars = {opacity:0, y:26};\r\n        if(el.classList.contains('reveal-l')) vars = {opacity:0, x:-52};\r\n        if(el.classList.contains('reveal-r')) vars = {opacity:0, x:52};\r\n        gsap.set(el, vars);\r\n        gsap.to(el, {\r\n          opacity:1, x:0, y:0, duration:0.7, ease:'power2.out',\r\n          scrollTrigger:{ trigger: el, start:'top 88%', toggleActions:'play none none reverse' }\r\n        });\r\n      });\r\n    }\r\n  })();\r\n\r\n  \/* ---- GSAP scrub parallax: fotos\/decoraciones con .js-parallax en cualquier bloque ---- *\/\r\n  (function(){\r\n    if(REDUCED_MOTION || !HAS_GSAP) return;\r\n    document.querySelectorAll('.js-parallax').forEach(function(el){\r\n      var speed = parseFloat(el.getAttribute('data-speed')) || 0.2;\r\n      gsap.to(el, {\r\n        yPercent: speed * 18,\r\n        ease: 'none',\r\n        scrollTrigger:{ trigger: el.closest('section') || el.parentElement, start:'top bottom', end:'bottom top', scrub: 0.6 }\r\n      });\r\n    });\r\n  })();\r\n\r\n});\r\n\r\n\/* liquid-fill CTA: c\u00edrculo que crece desde el cursor, delegado en document para que funcione\r\n   sin importar en qu\u00e9 bloque\/orden se agregue cada bot\u00f3n .js-magnetic *\/\r\ndocument.addEventListener('mousemove', function(e){\r\n  var el = e.target.closest && e.target.closest('.js-magnetic');\r\n  if(!el) return;\r\n  var r = el.getBoundingClientRect();\r\n  el.style.setProperty('--mx', ((e.clientX - r.left) \/ r.width * 100) + '%');\r\n  el.style.setProperty('--my', ((e.clientY - r.top) \/ r.height * 100) + '%');\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a9c1ec4 e-con-full e-flex e-con e-parent\" data-id=\"a9c1ec4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-27b6911 elementor-widget elementor-widget-html\" data-id=\"27b6911\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--HERO-->\r\n<section class=\"hero-full\">\r\n  <div class=\"hero-full-bg\" aria-hidden=\"true\">\r\n    <img decoding=\"async\" class=\"js-parallax\" data-speed=\"0.25\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/hero-inline-1.jpg\" alt=\"\" \/>\r\n    <svg class=\"hero-plane hero-plane-1 js-parallax\" data-speed=\"0.5\" viewBox=\"0 0 120 60\" aria-hidden=\"true\">\r\n      <path d=\"M4 30 Q50 6 116 26\" stroke=\"#FBF8F2\" stroke-width=\"2\" fill=\"none\" stroke-dasharray=\"1 10\" stroke-linecap=\"round\" opacity=\".8\"\/>\r\n      <path d=\"M92 20 l22 8 -10 20 z\" fill=\"#FBF8F2\"\/>\r\n    <\/svg>\r\n    <div class=\"hero-full-scrim\"><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"hero-full-content wrap\">\r\n    <div class=\"hero-copy\">\r\n      <span class=\"stamp\" style=\"border-color:rgba(255,255,255,.35); color:rgba(255,255,255,.85);\"><span class=\"dot\"><\/span>EXPERIENCIAS A TU MEDIDA<\/span>\r\n      <h1 class=\"hero-full-title\">\r\n        <span class=\"hero-line hero-line-one\"><span class=\"hero-script\">Ven<\/span><span class=\"hero-title-tail\">, TE<\/span><\/span>\r\n        <span class=\"hero-line\">MOSTRAREMOS<\/span>\r\n        <span class=\"hero-line hero-world\">El mundo<\/span>\r\n      <\/h1>\r\n      <div class=\"hero-full-sub\">\r\n        <p>Explora nuestros destinos destacados y arma el viaje ideal con ayuda de un asesor.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <form class=\"hero-quick-form\" data-mail-to=\"info@turismo.cheves.co\" action=\"mailto:info@turismo.cheves.co\" method=\"post\" enctype=\"text\/plain\">\r\n      <div class=\"hero-form-head\">\r\n        <span class=\"mono\">Destino rapido<\/span>\r\n        <h2>Contanos tu viaje<\/h2>\r\n      <\/div>\r\n      <div class=\"hero-form-grid\">\r\n        <label>Nombre\r\n          <input type=\"text\" name=\"nombre\" autocomplete=\"given-name\" required>\r\n        <\/label>\r\n        <label>Apellido\r\n          <input type=\"text\" name=\"apellido\" autocomplete=\"family-name\" required>\r\n        <\/label>\r\n        <label>Telefono\r\n          <input type=\"tel\" name=\"telefono\" autocomplete=\"tel\" required>\r\n        <\/label>\r\n        <label>Destino\r\n          <select name=\"destino\" required>\r\n            <option value=\"\">Elegir continente<\/option>\r\n            <option>America<\/option>\r\n            <option>Europa<\/option>\r\n            <option>Asia<\/option>\r\n            <option>Africa<\/option>\r\n            <option>Oceania<\/option>\r\n            <option>Antartida<\/option>\r\n          <\/select>\r\n        <\/label>\r\n        <label class=\"hero-form-message\">Mensaje\r\n          <textarea name=\"mensaje\" rows=\"4\" required><\/textarea>\r\n        <\/label>\r\n      <\/div>\r\n      <button class=\"hero-form-submit\" type=\"submit\">Enviar consulta<\/button>\r\n      <p class=\"hero-form-status\" aria-live=\"polite\"><\/p>\r\n    <\/form>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n\/* ---- hero load-in: kinetic split-letter title if SplitText esta cargado, fallback simple si no ---- *\/\r\n(function(){\r\n  var canAnimate = typeof REDUCED_MOTION !== 'undefined' && typeof HAS_GSAP !== 'undefined' && !REDUCED_MOTION && HAS_GSAP;\r\n  if(canAnimate && typeof SplitText !== 'undefined'){\r\n    gsap.registerPlugin(SplitText);\r\n    var heroSplit = new SplitText('.hero-full-title', {type:'words,chars'});\r\n    gsap.set(heroSplit.chars, {opacity:0, y:'115%', rotateZ:6});\r\n    gsap.timeline({defaults:{ease:'power4.out'}})\r\n      .from('.hero-full-content .stamp', {opacity:0, y:16, duration:.5})\r\n      .to(heroSplit.chars, {opacity:1, y:'0%', rotateZ:0, duration:.9, stagger:0.018}, '-=0.15')\r\n      .from('.hero-full-sub', {opacity:0, y:22, duration:.6}, '-=0.5')\r\n      .from('.hero-quick-form', {opacity:0, y:26, scale:.96, duration:.6}, '-=0.4');\r\n  } else if(canAnimate){\r\n    gsap.timeline({defaults:{ease:'power3.out'}})\r\n      .from('.hero-full-content .stamp', {opacity:0, y:16, duration:.5})\r\n      .from('.hero-full-title', {opacity:0, y:36, duration:.8}, '-=0.28')\r\n      .from('.hero-full-sub', {opacity:0, y:22, duration:.6}, '-=0.4')\r\n      .from('.hero-quick-form', {opacity:0, y:22, duration:.6}, '-=0.3');\r\n  }\r\n\r\n  var form = document.querySelector('.hero-quick-form');\r\n  if(form){\r\n    form.addEventListener('submit', function(e){\r\n      e.preventDefault();\r\n      var data = new FormData(form);\r\n      var destino = data.get('destino') || 'Destino';\r\n      var body = [\r\n        'Nombre: ' + (data.get('nombre') || ''),\r\n        'Apellido: ' + (data.get('apellido') || ''),\r\n        'Telefono: ' + (data.get('telefono') || ''),\r\n        'Destino: ' + destino,\r\n        '',\r\n        'Mensaje:',\r\n        data.get('mensaje') || ''\r\n      ].join('\\n');\r\n      var mailTo = form.getAttribute('data-mail-to') || 'info@turismo.cheves.co';\r\n      window.location.href = 'mailto:' + mailTo + '?subject=' + encodeURIComponent('Consulta de viaje - ' + destino) + '&body=' + encodeURIComponent(body);\r\n      var status = form.querySelector('.hero-form-status');\r\n      if(status) status.textContent = 'Se abrio tu correo para enviar la consulta.';\r\n    });\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-352611b e-con-full e-flex e-con e-parent\" data-id=\"352611b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-661f2fc elementor-widget elementor-widget-html\" data-id=\"661f2fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"section\" style=\"padding-block:0;\">\r\n  <div class=\"hero-marquee\">\r\n    <div class=\"hm-track\">\r\n      <span class=\"hm-item\"><b>Santorini<\/b> desde $1.890<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Canc\u00fan<\/b> desde $1.290<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Machu Picchu<\/b> desde $1.650<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Roma<\/b> desde $2.390<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Caribe<\/b> desde $890<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Mediterr\u00e1neo<\/b> desde $1.240<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Fiordos Noruegos<\/b> desde $1.580<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Santorini<\/b> desde $1.890<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Canc\u00fan<\/b> desde $1.290<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Machu Picchu<\/b> desde $1.650<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Roma<\/b> desde $2.390<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Caribe<\/b> desde $890<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Mediterr\u00e1neo<\/b> desde $1.240<\/span><span class=\"hm-dot\"><\/span>\r\n      <span class=\"hm-item\"><b>Fiordos Noruegos<\/b> desde $1.580<\/span><span class=\"hm-dot\"><\/span>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6d58d98 e-con-full e-flex e-con e-parent\" data-id=\"6d58d98\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e2530da elementor-widget elementor-widget-html\" data-id=\"e2530da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--POR QUE ELEGIRNOS-->\r\n<section class=\"section alt why-section\">\r\n  <div class=\"bg-marquee\" aria-hidden=\"true\">\r\n    <svg class=\"bm-plane js-parallax\" data-speed=\"0.35\" viewBox=\"0 0 100 60\">\r\n      <path d=\"M2 30 Q50 8 98 26\" stroke=\"var(--coral)\" stroke-width=\"2\" fill=\"none\" stroke-dasharray=\"1 9\" stroke-linecap=\"round\"\/>\r\n      <path d=\"M76 18 l20 8 -9 18 z\" fill=\"var(--coral)\"\/>\r\n    <\/svg>\r\n    <div class=\"bm-row bm-1\">\r\n      <span>VIAJAR \u2708 VIAJAR \u2708 VIAJAR \u2708 VIAJAR \u2708 VIAJAR \u2708 VIAJAR \u2708 VIAJAR<\/span>\r\n      <span>VIAJAR \u2708 VIAJAR \u2708 VIAJAR \u2708 VIAJAR \u2708 VIAJAR \u2708 VIAJAR \u2708 VIAJAR<\/span>\r\n    <\/div>\r\n    <div class=\"bm-row bm-2\">\r\n      <span>EXPLORAR \u00b7 DESCUBRIR \u00b7 EXPLORAR \u00b7 DESCUBRIR \u00b7 EXPLORAR<\/span>\r\n      <span>EXPLORAR \u00b7 DESCUBRIR \u00b7 EXPLORAR \u00b7 DESCUBRIR \u00b7 EXPLORAR<\/span>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"wrap\">\r\n    <div class=\"head-center reveal\">\r\n      <span class=\"eyebrow\">NUESTRA PROMESA<\/span>\r\n      <h2>Por qu\u00e9 elegirnos<\/h2>\r\n    <\/div>\r\n    <div class=\"bento-grid\">\r\n      <div class=\"bento-feature reveal-l\">\r\n        <div>\r\n          <div class=\"big-num\">15<span>a\u00f1os de experiencia<\/span><\/div>\r\n        <\/div>\r\n        <div>\r\n          <h4>Miles de viajeros ya confiaron en nosotros<\/h4>\r\n          <p>M\u00e1s de 15 a\u00f1os armando viajes a medida, con acompa\u00f1amiento real de principio a fin.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"bento-col\">\r\n        <div class=\"bento-card reveal-r\" data-code=\"N\u00ba 01\">\r\n          <div class=\"bento-icon c1\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><rect x=\"2\" y=\"6\" width=\"20\" height=\"13\" rx=\"2\"\/><path d=\"M2 10h20M6 15h4\"\/><\/svg><\/div>\r\n          <div><h4>Financiaci\u00f3n<\/h4><p>Cuotas sin tarjeta y planes a medida<\/p><\/div>\r\n        <\/div>\r\n        <div class=\"bento-card reveal-r\" data-code=\"N\u00ba 02\" style=\"transition-delay:90ms\">\r\n          <div class=\"bento-icon c2\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M8 12a3 3 0 100-6 3 3 0 000 6zM16 12a3 3 0 100-6 3 3 0 000 6zM3 20c0-3 2.5-5 5-5s5 2 5 5M11 20c0-3 2.5-5 5-5s5 2 5 5\"\/><\/svg><\/div>\r\n          <div><h4>Atenci\u00f3n personalizada<\/h4><p>Un asesor te acompa\u00f1a de principio a fin<\/p><\/div>\r\n        <\/div>\r\n        <div class=\"bento-card reveal-r\" data-code=\"N\u00ba 03\" style=\"transition-delay:180ms\">\r\n          <div class=\"bento-icon c3\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z\"\/><\/svg><\/div>\r\n          <div><h4>Compra segura<\/h4><p>Respaldo y asistencia al viajero incluida<\/p><\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-579fc05 e-con-full e-flex e-con e-parent\" data-id=\"579fc05\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c98cab6 elementor-widget elementor-widget-html\" data-id=\"c98cab6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--LA RUTA: pieza de firma \u2014 un vuelo real que conecta cada destino a medida que se scrollea-->\r\n<section class=\"route-section\" id=\"routeSection\">\r\n  <div class=\"route-pin\">\r\n    <div class=\"route-visual wrap\">\r\n      <div class=\"route-head reveal\">\r\n        <span class=\"eyebrow\">TU PR\u00d3XIMO VUELO<\/span>\r\n        <h2>Segu\u00ed la ruta<\/h2>\r\n      <\/div>\r\n      <div class=\"route-map\">\r\n        <svg class=\"route-svg\" viewBox=\"0 0 1600 500\" preserveAspectRatio=\"xMidYMid meet\" aria-hidden=\"true\">\r\n          <path id=\"routeBase\" d=\"M120,380 C250,460 300,180 380,140 C480,90 580,460 680,400 C800,340 880,60 980,120 C1080,180 1160,460 1260,380 C1360,300 1440,80 1520,150\" fill=\"none\" stroke=\"var(--border-strong)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-dasharray=\"1 14\"\/>\r\n          <path id=\"routePath\" d=\"M120,380 C250,460 300,180 380,140 C480,90 580,460 680,400 C800,340 880,60 980,120 C1080,180 1160,460 1260,380 C1360,300 1440,80 1520,150\" fill=\"none\" stroke=\"var(--coral)\" stroke-width=\"3.4\" stroke-linecap=\"round\" stroke-dasharray=\"1 14\"\/>\r\n          <g id=\"routePlane\" class=\"route-plane-g\">\r\n            <path d=\"M 22,0 L -19,-14 L -8,0 L -19,14 Z\" fill=\"var(--navy)\"\/>\r\n            <line x1=\"22\" y1=\"0\" x2=\"-8\" y2=\"0\" stroke=\"rgba(255,255,255,.4)\" stroke-width=\"1.2\"\/>\r\n          <\/g>\r\n        <\/svg>\r\n        <button class=\"route-stop above\" type=\"button\" style=\"left:7.5%; top:76%;\" data-stop=\"0\" data-route-target=\"cancun\" aria-haspopup=\"dialog\" aria-controls=\"routePopup\" aria-expanded=\"false\" aria-label=\"Abrir destino Cancun\">\r\n          <span class=\"rs-mini\"><span class=\"rs-photo\"><img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/cancun-stop.jpg\" alt=\"\" loading=\"lazy\"><\/span><span class=\"rs-info\"><b>Canc\u00fan<\/b><small>Desde $1.290<\/small><\/span><\/span>\r\n          <span class=\"rs-dot\"><\/span>\r\n        <\/button>\r\n        <button class=\"route-stop below\" type=\"button\" style=\"left:23.75%; top:28%;\" data-stop=\"1\" data-route-target=\"peru\" aria-haspopup=\"dialog\" aria-controls=\"routePopup\" aria-expanded=\"false\" aria-label=\"Abrir destino Peru\">\r\n          <span class=\"rs-dot\"><\/span>\r\n          <span class=\"rs-mini\"><span class=\"rs-photo\"><img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/peru-stop.jpg\" alt=\"\" loading=\"lazy\"><\/span><span class=\"rs-info\"><b>Per\u00fa<\/b><small>Desde $1.650<\/small><\/span><\/span>\r\n        <\/button>\r\n        <button class=\"route-stop above\" type=\"button\" style=\"left:42.5%; top:80%;\" data-stop=\"2\" data-route-target=\"italia\" aria-haspopup=\"dialog\" aria-controls=\"routePopup\" aria-expanded=\"false\" aria-label=\"Abrir destino Italia\">\r\n          <span class=\"rs-mini\"><span class=\"rs-photo\"><img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/italia-stop.jpg\" alt=\"\" loading=\"lazy\"><\/span><span class=\"rs-info\"><b>Italia<\/b><small>Desde $2.390<\/small><\/span><\/span>\r\n          <span class=\"rs-dot\"><\/span>\r\n        <\/button>\r\n        <button class=\"route-stop below\" type=\"button\" style=\"left:61.25%; top:24%;\" data-stop=\"3\" data-route-target=\"caribe\" aria-haspopup=\"dialog\" aria-controls=\"routePopup\" aria-expanded=\"false\" aria-label=\"Abrir destino Caribe\">\r\n          <span class=\"rs-dot\"><\/span>\r\n          <span class=\"rs-mini\"><span class=\"rs-photo\"><img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/caribe-stop.jpg\" alt=\"\" loading=\"lazy\"><\/span><span class=\"rs-info\"><b>Caribe<\/b><small>Desde $890<\/small><\/span><\/span>\r\n        <\/button>\r\n        <button class=\"route-stop above\" type=\"button\" style=\"left:78.75%; top:76%;\" data-stop=\"4\" data-route-target=\"mediterraneo\" aria-haspopup=\"dialog\" aria-controls=\"routePopup\" aria-expanded=\"false\" aria-label=\"Abrir destino Mediterraneo\">\r\n          <span class=\"rs-mini\"><span class=\"rs-photo\"><img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/mediterraneo-stop.jpg\" alt=\"\" loading=\"lazy\"><\/span><span class=\"rs-info\"><b>Mediterr\u00e1neo<\/b><small>Desde $1.240<\/small><\/span><\/span>\r\n          <span class=\"rs-dot\"><\/span>\r\n        <\/button>\r\n        <button class=\"route-stop below\" type=\"button\" style=\"left:95%; top:30%;\" data-stop=\"5\" data-route-target=\"fiordos\" aria-haspopup=\"dialog\" aria-controls=\"routePopup\" aria-expanded=\"false\" aria-label=\"Abrir destino Fiordos\">\r\n          <span class=\"rs-dot\"><\/span>\r\n          <span class=\"rs-mini\"><span class=\"rs-photo\"><img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/fiordos-stop.jpg\" alt=\"\" loading=\"lazy\"><\/span><span class=\"rs-info\"><b>Fiordos<\/b><small>Desde $1.580<\/small><\/span><\/span>\r\n        <\/button>\r\n      <\/div>\r\n      <p class=\"route-hint mono\" id=\"routeHint\">\u2708 Scrolle\u00e1 para volar la ruta<\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"route-popup\" id=\"routePopup\" aria-hidden=\"true\">\r\n    <div class=\"route-popup-backdrop\" aria-hidden=\"true\" data-route-popup-close><\/div>\r\n    <div class=\"route-popup-shell\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"routePopupTitleCancun\">\r\n      <button class=\"route-popup-close\" type=\"button\" aria-label=\"Cerrar destino\" data-route-popup-close>\r\n        <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M6 6l12 12M18 6L6 18\"\/><\/svg>\r\n      <\/button>\r\n      <div class=\"route-popup-stage\">\r\n\r\n        <article class=\"postcard route-popup-card\" id=\"pc-cancun\" data-route-card=\"cancun\" aria-hidden=\"true\">\r\n          <div class=\"pc-photo\">\r\n            <img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/cancun-card.jpg\" alt=\"Playa de Canc\u00fan\" loading=\"lazy\">\r\n            <span class=\"pc-stamp\"><b>CUN<\/b><span>Love to Travel<\/span><\/span>\r\n          <\/div>\r\n          <div class=\"perf\"><\/div>\r\n          <div class=\"pc-body\">\r\n            <span class=\"route-code\">MIA \u2708 CUN \u00b7 7 NOCHES<\/span>\r\n            <h3 id=\"routePopupTitleCancun\">Canc\u00fan Todo Incluido<\/h3>\r\n            <p class=\"pc-meta\">Vuelo + hotel \u00b7 Gu\u00eda incluido<\/p>\r\n            <div class=\"pc-foot\">\r\n              <span class=\"pc-price\"><small>Desde<\/small>$1.290<\/span>\r\n              <a class=\"pc-cta\" href=\"#\">Ver m\u00e1s<\/a>\r\n            <\/div>\r\n            <div class=\"pc-barcode\" aria-hidden=\"true\"><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"postcard route-popup-card\" id=\"pc-peru\" data-route-card=\"peru\" aria-hidden=\"true\">\r\n          <div class=\"pc-photo\">\r\n            <img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/peru-card.jpg\" alt=\"Machu Picchu, Per\u00fa\" loading=\"lazy\">\r\n            <span class=\"pc-stamp\"><b>CUZ<\/b><span>Love to Travel<\/span><\/span>\r\n          <\/div>\r\n          <div class=\"perf\"><\/div>\r\n          <div class=\"pc-body\">\r\n            <span class=\"route-code\">LIM \u2708 CUZ \u00b7 9 D\u00cdAS<\/span>\r\n            <h3 id=\"routePopupTitlePeru\">Per\u00fa M\u00e1gico<\/h3>\r\n            <p class=\"pc-meta\">Cusco y Lima<\/p>\r\n            <div class=\"pc-foot\">\r\n              <span class=\"pc-price\"><small>Desde<\/small>$1.650<\/span>\r\n              <a class=\"pc-cta\" href=\"#\">Ver m\u00e1s<\/a>\r\n            <\/div>\r\n            <div class=\"pc-barcode\" aria-hidden=\"true\"><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"postcard route-popup-card\" id=\"pc-italia\" data-route-card=\"italia\" aria-hidden=\"true\">\r\n          <div class=\"pc-photo\">\r\n            <img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/italia-card.jpg\" alt=\"Costa Amalfitana, Italia\" loading=\"lazy\">\r\n            <span class=\"pc-stamp\"><b>FCO<\/b><span>Love to Travel<\/span><\/span>\r\n          <\/div>\r\n          <div class=\"perf\"><\/div>\r\n          <div class=\"pc-body\">\r\n            <span class=\"route-code\">MIA \u2708 FCO \u00b7 10 D\u00cdAS<\/span>\r\n            <h3 id=\"routePopupTitleItalia\">Italia Cl\u00e1sica<\/h3>\r\n            <p class=\"pc-meta\">Roma, Florencia, Venecia<\/p>\r\n            <div class=\"pc-foot\">\r\n              <span class=\"pc-price\"><small>Desde<\/small>$2.390<\/span>\r\n              <a class=\"pc-cta\" href=\"#\">Ver m\u00e1s<\/a>\r\n            <\/div>\r\n            <div class=\"pc-barcode\" aria-hidden=\"true\"><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"postcard route-popup-card\" id=\"pc-caribe\" data-route-card=\"caribe\" aria-hidden=\"true\">\r\n          <div class=\"pc-photo\">\r\n            <img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/caribe-card.jpg\" alt=\"Crucero por el Caribe\" loading=\"lazy\">\r\n            <span class=\"pc-stamp\"><b>MIA<\/b><span>Love to Travel<\/span><\/span>\r\n          <\/div>\r\n          <div class=\"perf\"><\/div>\r\n          <div class=\"pc-body\">\r\n            <span class=\"route-code\">SALE DESDE MIAMI<\/span>\r\n            <h3 id=\"routePopupTitleCaribe\">Caribe en 7 noches<\/h3>\r\n            <p class=\"pc-meta\">Royal Fleet \u00b7 Todo incluido<\/p>\r\n            <div class=\"pc-foot\">\r\n              <span class=\"pc-price\"><small>Desde<\/small>$890<\/span>\r\n              <a class=\"pc-cta\" href=\"#\">Ver detalle<\/a>\r\n            <\/div>\r\n            <div class=\"pc-barcode\" aria-hidden=\"true\"><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"postcard route-popup-card\" id=\"pc-mediterraneo\" data-route-card=\"mediterraneo\" aria-hidden=\"true\">\r\n          <div class=\"pc-photo\">\r\n            <img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/mediterraneo-card.jpg\" alt=\"Crucero por el Mediterr\u00e1neo\" loading=\"lazy\">\r\n            <span class=\"pc-stamp\"><b>BCN<\/b><span>Love to Travel<\/span><\/span>\r\n          <\/div>\r\n          <div class=\"perf\"><\/div>\r\n          <div class=\"pc-body\">\r\n            <span class=\"route-code\">SALE DESDE BARCELONA<\/span>\r\n            <h3 id=\"routePopupTitleMediterraneo\">Mediterr\u00e1neo Cl\u00e1sico<\/h3>\r\n            <p class=\"pc-meta\">Ocean Star \u00b7 5 puertos<\/p>\r\n            <div class=\"pc-foot\">\r\n              <span class=\"pc-price\"><small>Desde<\/small>$1.240<\/span>\r\n              <a class=\"pc-cta\" href=\"#\">Ver detalle<\/a>\r\n            <\/div>\r\n            <div class=\"pc-barcode\" aria-hidden=\"true\"><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"postcard route-popup-card\" id=\"pc-fiordos\" data-route-card=\"fiordos\" aria-hidden=\"true\">\r\n          <div class=\"pc-photo\">\r\n            <img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/fiordos-card.jpg\" alt=\"Fiordos Noruegos\" loading=\"lazy\">\r\n            <span class=\"pc-stamp\"><b>SOU<\/b><span>Love to Travel<\/span><\/span>\r\n          <\/div>\r\n          <div class=\"perf\"><\/div>\r\n          <div class=\"pc-body\">\r\n            <span class=\"route-code\">SALE DESDE SOUTHAMPTON<\/span>\r\n            <h3 id=\"routePopupTitleFiordos\">Fiordos Noruegos<\/h3>\r\n            <p class=\"pc-meta\">Nordic Line \u00b7 Vistas al fiordo<\/p>\r\n            <div class=\"pc-foot\">\r\n              <span class=\"pc-price\"><small>Desde<\/small>$1.580<\/span>\r\n              <a class=\"pc-cta\" href=\"#\">Ver detalle<\/a>\r\n            <\/div>\r\n            <div class=\"pc-barcode\" aria-hidden=\"true\"><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function(){\r\n  function ready(fn){\r\n    if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', fn);\r\n    else fn();\r\n  }\r\n\r\n  function initRoutes(root){\r\n    var scope = root && root.querySelectorAll ? root : document;\r\n    var sections = [];\r\n    if(scope.matches && scope.matches('.route-section')) sections = [scope];\r\n    else sections = Array.prototype.slice.call(scope.querySelectorAll('.route-section'));\r\n    sections.forEach(initRoute);\r\n  }\r\n\r\n  function initRoute(routeSection){\r\n    if(!routeSection || routeSection.getAttribute('data-route-ready') === 'true') return;\r\n    routeSection.setAttribute('data-route-ready', 'true');\r\n\r\n    var routePin = routeSection.querySelector('.route-pin');\r\n    var routePath = routeSection.querySelector('#routePath');\r\n    var plane = routeSection.querySelector('#routePlane');\r\n    var stops = Array.prototype.slice.call(routeSection.querySelectorAll('.route-stop'));\r\n    var hint = routeSection.querySelector('#routeHint');\r\n    var popup = routeSection.querySelector('.route-popup');\r\n    var popupShell = popup ? popup.querySelector('.route-popup-shell') : null;\r\n    var popupClose = popup ? popup.querySelector('.route-popup-close') : null;\r\n    var popupCards = popup ? Array.prototype.slice.call(popup.querySelectorAll('.route-popup-card')) : [];\r\n    var lastFocused = null;\r\n    var thresholds = stops.map(function(stop){\r\n      return (parseFloat(stop.style.left) || 0) \/ 100;\r\n    });\r\n\r\n    function updateProgress(progress){\r\n      var p = Math.max(0, Math.min(1, progress || 0));\r\n      var currentIdx = -1;\r\n      thresholds.forEach(function(t, i){\r\n        if(p >= t - 0.035) currentIdx = i;\r\n      });\r\n      stops.forEach(function(stop, i){\r\n        stop.classList.toggle('is-active', i <= currentIdx);\r\n      });\r\n      if(!hint) return;\r\n      if(p >= 0.97){\r\n        hint.textContent = 'Recorrido completo. Elegi un punto para ver el detalle.';\r\n        hint.classList.add('is-done');\r\n      } else {\r\n        hint.textContent = 'Scrollea para volar la ruta';\r\n        hint.classList.remove('is-done');\r\n      }\r\n    }\r\n\r\n    function closePopup(){\r\n      if(!popup || !popup.classList.contains('is-open')) return;\r\n      popup.classList.remove('is-open');\r\n      popup.setAttribute('aria-hidden', 'true');\r\n      document.documentElement.classList.remove('route-popup-open');\r\n      popupCards.forEach(function(card){\r\n        card.classList.remove('is-active');\r\n        card.setAttribute('aria-hidden', 'true');\r\n      });\r\n      stops.forEach(function(stop){\r\n        stop.classList.remove('is-open');\r\n        stop.setAttribute('aria-expanded', 'false');\r\n      });\r\n      if(lastFocused && typeof lastFocused.focus === 'function'){\r\n        try { lastFocused.focus({preventScroll:true}); }\r\n        catch(err) { lastFocused.focus(); }\r\n      }\r\n    }\r\n\r\n    function openPopup(key, trigger){\r\n      if(!popup || !key) return;\r\n      var activeCard = popupCards.filter(function(card){\r\n        return card.getAttribute('data-route-card') === key;\r\n      })[0];\r\n      if(!activeCard) return;\r\n\r\n      if(popup.parentNode !== document.body) document.body.appendChild(popup);\r\n\r\n      lastFocused = trigger || document.activeElement;\r\n      popupCards.forEach(function(card){\r\n        var isActive = card === activeCard;\r\n        card.classList.toggle('is-active', isActive);\r\n        card.setAttribute('aria-hidden', isActive ? 'false' : 'true');\r\n      });\r\n      stops.forEach(function(stop){\r\n        var isCurrent = stop.getAttribute('data-route-target') === key;\r\n        stop.classList.toggle('is-open', isCurrent);\r\n        stop.setAttribute('aria-expanded', isCurrent ? 'true' : 'false');\r\n      });\r\n\r\n      var title = activeCard.querySelector('h3[id]');\r\n      if(title && popupShell) popupShell.setAttribute('aria-labelledby', title.id);\r\n      popup.classList.add('is-open');\r\n      popup.setAttribute('aria-hidden', 'false');\r\n      document.documentElement.classList.add('route-popup-open');\r\n      window.setTimeout(function(){\r\n        if(popupClose){\r\n          try { popupClose.focus({preventScroll:true}); }\r\n          catch(err) { popupClose.focus(); }\r\n        }\r\n      }, 0);\r\n    }\r\n\r\n    stops.forEach(function(stop){\r\n      stop.addEventListener('click', function(e){\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        openPopup(stop.getAttribute('data-route-target'), stop);\r\n      });\r\n      stop.addEventListener('keydown', function(e){\r\n        if(e.key !== 'Enter' && e.key !== ' ') return;\r\n        e.preventDefault();\r\n        openPopup(stop.getAttribute('data-route-target'), stop);\r\n      });\r\n    });\r\n\r\n    if(popup){\r\n      popup.addEventListener('click', function(e){\r\n        if(e.target.closest('[data-route-popup-close]')) closePopup();\r\n      });\r\n      document.addEventListener('keydown', function(e){\r\n        if(e.key === 'Escape') closePopup();\r\n        if(e.key !== 'Tab' || !popup.classList.contains('is-open')) return;\r\n        var focusable = Array.prototype.slice.call(popup.querySelectorAll('a[href], button:not([disabled]), [tabindex]:not([tabindex=\"-1\"])')).filter(function(el){\r\n          return el.getClientRects().length && window.getComputedStyle(el).visibility !== 'hidden';\r\n        });\r\n        if(!focusable.length) return;\r\n        var first = focusable[0];\r\n        var last = focusable[focusable.length - 1];\r\n        if(e.shiftKey && document.activeElement === first){\r\n          e.preventDefault();\r\n          last.focus();\r\n        } else if(!e.shiftKey && document.activeElement === last){\r\n          e.preventDefault();\r\n          first.focus();\r\n        }\r\n      });\r\n    }\r\n\r\n    function bindNativeScroll(){\r\n      var ticking = false;\r\n      function updateFromViewport(){\r\n        ticking = false;\r\n        var scrollable = Math.max(1, routeSection.offsetHeight - window.innerHeight);\r\n        var progress = -routeSection.getBoundingClientRect().top \/ scrollable;\r\n        updateProgress(progress);\r\n      }\r\n      function requestUpdate(){\r\n        if(ticking) return;\r\n        ticking = true;\r\n        window.requestAnimationFrame(updateFromViewport);\r\n      }\r\n      window.addEventListener('scroll', requestUpdate, {passive:true});\r\n      window.addEventListener('resize', requestUpdate);\r\n      requestUpdate();\r\n    }\r\n\r\n    if(!routePath || !plane || !stops.length){\r\n      updateProgress(1);\r\n      return;\r\n    }\r\n\r\n    var reduced = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n    var mobile = window.matchMedia && window.matchMedia('(max-width: 768px)').matches;\r\n    if(reduced || mobile){\r\n      updateProgress(1);\r\n      return;\r\n    }\r\n\r\n    var gsapRef = window.gsap;\r\n    var globals = gsapRef && gsapRef.core && gsapRef.core.globals ? gsapRef.core.globals() : {};\r\n    var ScrollTriggerRef = window.ScrollTrigger || globals.ScrollTrigger;\r\n    var DrawSVGRef = window.DrawSVGPlugin || globals.DrawSVGPlugin;\r\n    var MotionPathRef = window.MotionPathPlugin || globals.MotionPathPlugin;\r\n\r\n    if(!gsapRef || !ScrollTriggerRef){\r\n      bindNativeScroll();\r\n      return;\r\n    }\r\n\r\n    gsapRef.registerPlugin(ScrollTriggerRef);\r\n    if(DrawSVGRef) gsapRef.registerPlugin(DrawSVGRef);\r\n    if(MotionPathRef) gsapRef.registerPlugin(MotionPathRef);\r\n    if(DrawSVGRef) gsapRef.set(routePath, {drawSVG:'0%'});\r\n\r\n    var triggerConfig = {\r\n      trigger: routeSection,\r\n      start: 'top top',\r\n      end: function(){\r\n        return '+=' + Math.max(window.innerHeight * 2.6, stops.length * 360);\r\n      },\r\n      pin: routePin || true,\r\n      pinSpacing: true,\r\n      anticipatePin: 1,\r\n      invalidateOnRefresh: true,\r\n      onUpdate: function(self){ updateProgress(self.progress); }\r\n    };\r\n\r\n    if(DrawSVGRef || MotionPathRef){\r\n      var tl = gsapRef.timeline({\r\n        defaults: {ease:'none', duration:1},\r\n        scrollTrigger: Object.assign({scrub:0.6}, triggerConfig)\r\n      });\r\n      if(DrawSVGRef) tl.to(routePath, {drawSVG:'100%'}, 0);\r\n      if(MotionPathRef){\r\n        tl.to(plane, {\r\n          motionPath: {path:routePath, autoRotate:true, alignOrigin:[0.5,0.5]}\r\n        }, 0);\r\n      }\r\n    } else {\r\n      ScrollTriggerRef.create(triggerConfig);\r\n    }\r\n\r\n    updateProgress(0);\r\n    window.setTimeout(function(){\r\n      if(ScrollTriggerRef && ScrollTriggerRef.refresh) ScrollTriggerRef.refresh();\r\n    }, 250);\r\n  }\r\n\r\n  ready(function(){ initRoutes(document); });\r\n\r\n  if(window.jQuery){\r\n    window.jQuery(window).on('elementor\/frontend\/init', function(){\r\n      if(window.elementorFrontend && window.elementorFrontend.hooks){\r\n        window.elementorFrontend.hooks.addAction('frontend\/element_ready\/html.default', function($scope){\r\n          initRoutes($scope && $scope[0] ? $scope[0] : document);\r\n        });\r\n      }\r\n      initRoutes(document);\r\n    });\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5d3fccb e-con-full e-flex e-con e-parent\" data-id=\"5d3fccb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-edae89f elementor-widget elementor-widget-html\" data-id=\"edae89f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--TESTIMONIOS-->\r\n<section class=\"section testi-section\">\r\n  <div class=\"route-thread\" aria-hidden=\"true\"><\/div>\r\n  <div class=\"wrap\">\r\n    <div class=\"head-center reveal\">\r\n      <span class=\"eyebrow\">VIAJEROS REALES<\/span>\r\n      <h2>Lo que dicen nuestros viajeros<\/h2>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"testi-carousel-wrap\">\r\n    <div class=\"testi-track\" id=\"testiTrack\">\r\n      <div class=\"testi-card c-navy reveal\">\r\n        <span class=\"quote-mark-big\">\"<\/span>\r\n        <div class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n        <blockquote>Nos armaron el viaje de bodas perfecto, con acompa\u00f1amiento en cada detalle.<\/blockquote>\r\n        <div class=\"who\">\r\n          <div class=\"avatar\" style=\"background:rgba(255,255,255,.18);\">ML<\/div>\r\n          <div class=\"who-text\"><b>Marta y Luis<\/b><span>Santorini, Grecia<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"testi-card c-aqua reveal\" style=\"transition-delay:80ms\">\r\n        <span class=\"quote-mark-big\">\"<\/span>\r\n        <div class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n        <blockquote>La financiaci\u00f3n nos permiti\u00f3 viajar en familia sin apuros.<\/blockquote>\r\n        <div class=\"who\">\r\n          <div class=\"avatar\" style=\"background:rgba(255,255,255,.18);\">FG<\/div>\r\n          <div class=\"who-text\"><b>Familia G\u00f3mez<\/b><span>Canc\u00fan, M\u00e9xico<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"testi-card c-navy reveal\" style=\"transition-delay:160ms\">\r\n        <span class=\"quote-mark-big\">\"<\/span>\r\n        <div class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n        <blockquote>Atenci\u00f3n r\u00e1pida por WhatsApp y siempre con soluciones.<\/blockquote>\r\n        <div class=\"who\">\r\n          <div class=\"avatar\" style=\"background:rgba(255,255,255,.18);\">DR<\/div>\r\n          <div class=\"who-text\"><b>Diego R.<\/b><span>Per\u00fa M\u00e1gico<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"testi-card c-gold reveal\" style=\"transition-delay:240ms\">\r\n        <span class=\"quote-mark-big\">\"<\/span>\r\n        <div class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n        <blockquote>Italia super\u00f3 todo lo que imaginamos, itinerario perfecto de punta a punta.<\/blockquote>\r\n        <div class=\"who\">\r\n          <div class=\"avatar\" style=\"background:rgba(13,59,69,.14); color:var(--navy-deep);\">AP<\/div>\r\n          <div class=\"who-text\"><b>Ana P.<\/b><span>Italia Cl\u00e1sica<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"testi-nav\">\r\n      <button class=\"testi-arrow\" id=\"testiPrev\" type=\"button\" aria-label=\"Testimonio anterior\">\u2039<\/button>\r\n      <button class=\"testi-arrow\" id=\"testiNext\" type=\"button\" aria-label=\"Testimonio siguiente\">\u203a<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n\/* testimonial carousel arrows *\/\r\n(function(){\r\n  var track = document.getElementById('testiTrack');\r\n  var prev = document.getElementById('testiPrev');\r\n  var next = document.getElementById('testiNext');\r\n  if(!track || !prev || !next) return;\r\n  function step(){\r\n    var card = track.querySelector('.testi-card');\r\n    return card ? card.getBoundingClientRect().width + 22 : 300;\r\n  }\r\n  prev.addEventListener('click', function(){ track.scrollBy({left: -step(), behavior:'smooth'}); });\r\n  next.addEventListener('click', function(){ track.scrollBy({left: step(), behavior:'smooth'}); });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-33c942a e-con-full e-flex e-con e-parent\" data-id=\"33c942a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-596eba3 elementor-widget elementor-widget-html\" data-id=\"596eba3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--NEWSLETTER-->\r\n<section class=\"news-section\">\r\n  <div class=\"wrap\">\r\n    <div class=\"news-card reveal\">\r\n      <svg class=\"news-deco\" viewBox=\"0 0 600 300\" aria-hidden=\"true\" preserveAspectRatio=\"xMidYMid slice\">\r\n        <circle cx=\"520\" cy=\"10\" r=\"150\" fill=\"rgba(255,255,255,.14)\"\/>\r\n        <path d=\"M40,250 Q220,70 560,95\" fill=\"none\" stroke=\"rgba(255,255,255,.55)\" stroke-width=\"2.4\" stroke-dasharray=\"1 12\" stroke-linecap=\"round\"\/>\r\n        <g transform=\"translate(560,95) rotate(-16) scale(1.7)\">\r\n          <path d=\"M 22,0 L -19,-14 L -8,0 L -19,14 Z\" fill=\"#fff\"\/>\r\n        <\/g>\r\n        <circle cx=\"120\" cy=\"55\" r=\"3.2\" fill=\"#fff\" opacity=\".65\"\/>\r\n        <circle cx=\"185\" cy=\"205\" r=\"2.4\" fill=\"#fff\" opacity=\".5\"\/>\r\n        <circle cx=\"380\" cy=\"225\" r=\"4\" fill=\"#fff\" opacity=\".55\"\/>\r\n        <circle cx=\"70\" cy=\"150\" r=\"2\" fill=\"#fff\" opacity=\".4\"\/>\r\n        <circle cx=\"440\" cy=\"40\" r=\"2.6\" fill=\"#fff\" opacity=\".5\"\/>\r\n        <circle cx=\"260\" cy=\"30\" r=\"2\" fill=\"#fff\" opacity=\".4\"\/>\r\n      <\/svg>\r\n      <div class=\"news-copy\">\r\n        <h2>\u00bfBuscas inspiraci\u00f3n para tu pr\u00f3ximo viaje?<\/h2>\r\n        <p>S\u00famate a nuestro newsletter y recibe ofertas exclusivas.<\/p>\r\n      <\/div>\r\n      <form class=\"news-form\" onsubmit=\"return false\">\r\n        <input type=\"email\" placeholder=\"tu@email.com\" required>\r\n        <button type=\"submit\" class=\"js-magnetic fill-gold\">Suscribirme<\/button>\r\n      <\/form>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8f282c6 e-con-full e-flex e-con e-parent\" data-id=\"8f282c6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3f8497f elementor-widget elementor-widget-html\" data-id=\"3f8497f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<footer class=\"site\">\r\n  <div class=\"wrap\">\r\n    <div class=\"foot-grid\">\r\n      <div class=\"foot-brand\">\r\n        <img decoding=\"async\" src=\"http:\/\/turismo.cheves.co\/wp-content\/uploads\/2026\/07\/logo-love-web.png\" alt=\"Love to Travel Vacations\" class=\"foot-logo-img\">\r\n        <p class=\"foot-tag\">Viajes que enamoran, recuerdos que duran toda la vida.<\/p>\r\n      <\/div>\r\n      <nav class=\"foot-col foot-menu\" aria-label=\"Menu footer\">\r\n        <span class=\"foot-label\">Menu<\/span>\r\n        <a href=\"#\">Inicio<\/a>\r\n        <a href=\"#routeSection\">Paquetes<\/a>\r\n        <a href=\"#routeSection\">Cruceros<\/a>\r\n        <a href=\"#routeSection\">Viajes<\/a>\r\n        <a href=\"#\">Nosotros<\/a>\r\n        <a href=\"#\">Contacto<\/a>\r\n      <\/nav>\r\n\r\n      <nav class=\"foot-col foot-legal\" aria-label=\"Legales\">\r\n        <span class=\"foot-label\">Legales<\/span>\r\n        <a href=\"#\">Pol\u00edtica de privacidad<\/a>\r\n        <a href=\"#\">Pol\u00edtica de cookies<\/a>\r\n        <a href=\"#\">Aviso legal<\/a>\r\n      <\/nav>\r\n\r\n      <div class=\"foot-contact foot-col\">\r\n        <span class=\"foot-label\">Contacto<\/span>\r\n        <a href=\"tel:+13058462117\">+1 (305) 846-2117<\/a>\r\n        <a href=\"mailto:love2tvlmia@gmail.com\">love2tvlmia@gmail.com<\/a>\r\n        <span>Miami, FL<\/span>\r\n        <div class=\"foot-socials\" aria-label=\"Redes sociales\">\r\n          <a href=\"#\" aria-label=\"Instagram\">IG<\/a>\r\n          <a href=\"#\" aria-label=\"Facebook\">FB<\/a>\r\n          <a href=\"#\" aria-label=\"WhatsApp\">WA<\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <p class=\"foot-copy\">\u00a9 2026 Love to Travel Vacations. Todos los derechos reservados. <span>Desarrollado por <a href=\"https:\/\/cheves.co\" target=\"_blank\" rel=\"noopener\">cheves.co<\/a><\/span><\/p>\r\n  <\/div>\r\n<\/footer>\r\n\r\n<a class=\"wa-float js-magnetic fill-navy\" href=\"#\" aria-label=\"WhatsApp\">\r\n  <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2a10 10 0 00-8.6 15L2 22l5.2-1.4A10 10 0 1012 2z\"\/><\/svg>\r\n<\/a>\r\n\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>Inicio Paquetes Cruceros Viajes Nosotros Contacto WhatsApp EXPERIENCIAS A TU MEDIDA Ven, TE MOSTRAREMOS El mundo Explora nuestros destinos destacados [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-31","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/turismo.cheves.co\/index.php?rest_route=\/wp\/v2\/pages\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/turismo.cheves.co\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/turismo.cheves.co\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/turismo.cheves.co\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/turismo.cheves.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=31"}],"version-history":[{"count":61,"href":"https:\/\/turismo.cheves.co\/index.php?rest_route=\/wp\/v2\/pages\/31\/revisions"}],"predecessor-version":[{"id":133,"href":"https:\/\/turismo.cheves.co\/index.php?rest_route=\/wp\/v2\/pages\/31\/revisions\/133"}],"wp:attachment":[{"href":"https:\/\/turismo.cheves.co\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}