{"id":10140,"date":"2026-06-22T02:27:25","date_gmt":"2026-06-22T02:27:25","guid":{"rendered":"https:\/\/mokanaidev.wpenginepowered.com\/?page_id=10140"},"modified":"2026-10-01T19:58:57","modified_gmt":"2026-10-01T19:58:57","slug":"location","status":"publish","type":"page","link":"https:\/\/mo-residencesrivieramaya.com\/es\/location\/","title":{"rendered":"Ubicaci\u00f3n"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10140\" class=\"elementor elementor-10140\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0a402d3 e-con-full e-flex e-con e-parent\" data-id=\"0a402d3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-36af0dd elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"36af0dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">ENDURING\n<br>\nDESTINATION<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-60549a7 e-con-full e-flex e-con e-child\" data-id=\"60549a7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-46cd5c9 elementor-widget__width-initial elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"46cd5c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>EXPLORE KANAI, RIVIERA MAYA<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44a4568 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"44a4568\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"#intro\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40.014\" height=\"21.414\" viewBox=\"0 0 40.014 21.414\"><g id=\"down\" transform=\"translate(0.007 0.007)\"><line id=\"Line_6\" data-name=\"Line 6\" x2=\"20\" y2=\"20\" transform=\"translate(0.7 0.7)\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\"><\/line><line id=\"Line_7\" data-name=\"Line 7\" y1=\"20\" x2=\"20\" transform=\"translate(19.3 0.7)\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\"><\/line><\/g><\/svg>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-49dff09 animated-slow full-width-text-block e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"49dff09\" data-element_type=\"container\" data-e-type=\"container\" id=\"intro\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-750f7fc animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"750f7fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">A LEGACY <span>of<\/span>\n<br>\nLAND <span>and<\/span> LEGEND\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-331779d e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"331779d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f9de5a elementor-widget__width-initial elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"2f9de5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Kanai is a magical setting on Riviera Maya, a place filled with natural beauty on the pristine shores of the Caribbean Sea. Owners will have the rare opportunity to live in a protected setting surrounded by native flora and fauna, yet also a short drive away from a world of exploration. Mayan ruins, swimmable cenotes, UNESCO World Heritage sites,\u00a0 PGA golf courses, vibrant Playa del Carmen nightlife, and cultural destinations are all nearby trips away.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9dd7327 elementor-widget__width-initial elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"9dd7327\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u00a0Kanai is a magical setting on Riviera Maya, a place filled with natural beauty on the pristine shores of the Caribbean Sea. Owners will have the rare opportunity to live in a protected setting surrounded by native flora and fauna, yet also a short drive away from a world of exploration. Mayan ruins, swimmable cenotes, UNESCO World Heritage sites,\u00a0 PGA golf courses, vibrant Playa del Carmen nightlife, and cultural destinations are all nearby trips away.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<script type=\"text\/javascript\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/ac_assets\/parallax-background\/simple-parallax.js\"  id='ue_js_uc_ac_assets_file_simple_parallax_js_32610'><\/script>\n\t\t<div class=\"unlimited-elements-background-overlay\" data-forid=\"49dff09\" data-location=\"back\" style=\"display:none\">\n\t\t\t<template>\n\t\t\t\n<!-- start Parallax Background -->\n<style>\/* widget: Parallax Background *\/\n\n#uc_parallax_background_bg_addon10947{\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon10947 .ue-parallax-item-wrapper{\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon10947 .simpleParallax{\n  height: 100%;\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-9034abf{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-9034abf,\n  .elementor-repeater-item-9034abf .ue-parallax-item-inner,\n  .elementor-repeater-item-9034abf .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-9034abf{\n  display: block;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-9034abf{\n      display: block;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-9034abf{\n      display: none;\n    }\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-1c013f5{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-1c013f5,\n  .elementor-repeater-item-1c013f5 .ue-parallax-item-inner,\n  .elementor-repeater-item-1c013f5 .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-1c013f5{\n  display: none;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-1c013f5{\n      display: none;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-1c013f5{\n      display: block;\n    }\n}\n\n\n<\/style>\n\n<div id=\"uc_parallax_background_bg_addon10947\" class=\"ue-parallax\">\n  <div class=\"ue-parallax-wrapper\">    \n    <div class=\"ue-parallax-item-wrapper elementor-repeater-item-9034abf\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/texture-background-2-1.jpg\" alt=\"Background with dappled light pattern and tree branch shadows on a white surface.\" \/>\n      \n  <\/div>  \n<\/div>\n<div class=\"ue-parallax-item-wrapper elementor-repeater-item-1c013f5\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_892572093-1.jpg\" alt=\"AdobeStock_892572093\" \/>\n      \n  <\/div>  \n<\/div>\n\n  <\/div>  \n<\/div>\n<script type=\"text\/javascript\"  id=\"ue_script_parallax_background\">\n\n\/* Parallax Background scripts: *\/ \n\njQuery(document).ready(function(){\nfunction uc_parallax_background_bg_addon10947_start(){\n\t\t\t\n\n  var objParallaxWidget = jQuery(\"#uc_parallax_background_bg_addon10947\");\n  var objItems = objParallaxWidget.find(\".ue-parallax-item\");\n  \n  \/**\n  * get array of orientations\n  *\/\n  \n  var itemsOrientationArray = [\n        \"up\",\n        \"up\",\n      ]; \n\n  \/**\n  * get array of sensitivity\n  *\/\n  var itemsSensitivityArray = [\n        \"1.4\",\n        \"1.4\",\n      ]; \n   \n  \/**\n  * get array of overflows\n  *\/\n  var itemsOverflowArray = [\n        \"false\",\n        \"false\",\n      ]; \n   \n  \/**\n  * get array of delays\n  *\/\n  var itemsDelayArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of transitions\n  *\/\n  var itemsTransitionArray = [\n        \"ease\",\n        \"ease\",\n      ];  \n   \n  \/**\n  * get array of scale directions\n  *\/\n  var itemSizeDirectionsArray = [\n        \"up\",\n        \"up\",\n      ];  \n   \n  \/**\n  * get array of scales\n  *\/\n  var itemSizeArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of rotate directions\n  *\/\n  var itemRotateDirectionsArray = [\n        \"right\",\n        \"right\",\n      ];  \n   \n  \/**\n  * get array of rotates\n  *\/\n  var itemRotateArray = [\n        \"0\",\n        \"0\",\n      ];\n   \n  \/**\n  * get array of opacity directions\n  *\/\n  var itemOpacityDirectionsArray = [\n        \"fade-in\",\n        \"fade-in\",\n      ];  \n   \n  \/**\n  * get array of opacities\n  *\/\n  var itemOpacityArray = [\n        \"0\",\n        \"0\",\n      ];\n\n  \/**\n  * for each item set its own parallax settings\n  *\/\n  objItems.each(function(index, parallaxElement){\n  \n    new simpleParallax(parallaxElement, {\n      \n        delay: itemsDelayArray[index], \/\/delay before transition\n        orientation: itemsOrientationArray[index], \/\/the direction of the transition\n        scale: itemsSensitivityArray[index], \/\/how visible the transition is\n        overflow: itemsOverflowArray[index] === \"true\", \/\/itemsOverflowArray[index] returns string, so make sure it's a boolean value \/ makes overflow hiden for the image container\n        transition: itemsTransitionArray[index], \/\/css transition\n        sizeDirection: itemSizeDirectionsArray[index], \/\/whether element is getting bigger or smaller\n        sizeSpeed: Number(itemSizeArray[index]), \/\/adjust size of the element during scroll using transform scale(n) css property - the bigger number the faster is change \/ make sure you set a number\n      \trotateDirection: itemRotateDirectionsArray[index], \/\/to right or to left\n      \trotateSpeed: Number(itemRotateArray[index]), \/\/how fast is the rotate\n        opacityDirection: itemOpacityDirectionsArray[index], \/\/fade-in \/ fade-out\n        opacityLevel: Number(itemOpacityArray[index]) \/\/how transparent element is (the higher number the more transparent becomes element)\n      \n    });    \n  \n  });\n    \t\n}if(jQuery(\"#uc_parallax_background_bg_addon10947\").length && !jQuery(\"#uc_parallax_background_bg_addon10947\").parents('[data-elementor-type=\"popup\"]').length) uc_parallax_background_bg_addon10947_start();\n\tjQuery( document ).on( 'elementor\/popup\/show', (event, id, objPopup) => {\n\tif(objPopup.$element.has(jQuery(\"#uc_parallax_background_bg_addon10947\")).length) uc_parallax_background_bg_addon10947_start()});\n});\n\t\t\t\n<\/script>\n<!-- end Parallax Background -->\t\t\t<\/template>\n\t\t<\/div>\n\t\t\n\t\t<div class=\"elementor-element elementor-element-f42e6a5 e-con-full animated-slow elementor-hidden-mobile e-flex elementor-invisible e-con e-parent\" data-id=\"f42e6a5\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7b06fa4 elementor-widget elementor-widget-image\" data-id=\"7b06fa4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"11640\" height=\"6240\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map.jpg\" class=\"attachment-full size-full wp-image-11411\" alt=\"A map of Kanai and the surrounding Riviera Maya in Quintana Roo, located on Mexico&apos;s Yucatan peninsula.\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map.jpg 11640w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map-300x161.jpg 300w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map-1024x549.jpg 1024w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map-768x412.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map-1536x823.jpg 1536w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map-2048x1098.jpg 2048w\" sizes=\"(max-width: 11640px) 100vw, 11640px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a57cc44 e-con-full animated-slow elementor-hidden-mobile e-flex elementor-invisible e-con e-parent\" data-id=\"a57cc44\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-081ddcf elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-image\" data-id=\"081ddcf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1572\" height=\"898\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Group-674.jpg\" class=\"attachment-full size-full wp-image-11068\" alt=\"\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Group-674.jpg 1572w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Group-674-300x171.jpg 300w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Group-674-1024x585.jpg 1024w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Group-674-768x439.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Group-674-1536x877.jpg 1536w\" sizes=\"(max-width: 1572px) 100vw, 1572px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-af40f78 e-con-full animated-slow map-zoom-wrapper elementor-hidden-desktop elementor-hidden-tablet e-flex elementor-invisible e-con e-parent\" data-id=\"af40f78\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_background&quot;:&quot;classic&quot;}\" data-max-scale=\"3\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a234aa1 elementor-absolute map-hint-widget elementor-widget elementor-widget-html\" data-id=\"a234aa1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script src=\"https:\/\/unpkg.com\/@panzoom\/panzoom@4.6.1\/dist\/panzoom.min.js\"><\/script>\r\n\r\n<div class=\"map-gesture-hint\" aria-hidden=\"true\">\r\n  Use two fingers to move and zoom the map\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  const mobileQuery = window.matchMedia(\"(max-width: 767px)\");\r\n\r\n  const PINCH_THRESHOLD = 0.04;\r\n  const MIN_SCALE = 1;\r\n\r\n  function getDistance(touchA, touchB) {\r\n    return Math.hypot(\r\n      touchB.clientX - touchA.clientX,\r\n      touchB.clientY - touchA.clientY\r\n    );\r\n  }\r\n\r\n  function getMidpoint(touchA, touchB) {\r\n    return {\r\n      x: (touchA.clientX + touchB.clientX) \/ 2,\r\n      y: (touchA.clientY + touchB.clientY) \/ 2\r\n    };\r\n  }\r\n\r\n  function initMap(wrapper) {\r\n    if (\r\n      !wrapper ||\r\n      wrapper._mapInitialized ||\r\n      !mobileQuery.matches ||\r\n      typeof window.Panzoom !== \"function\"\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    const stage = wrapper.querySelector(\".map-stage\");\r\n    const map = wrapper.querySelector(\".interactive-map\");\r\n    const hint = wrapper.querySelector(\".map-gesture-hint\");\r\n\r\n    if (!stage || !map) {\r\n      return;\r\n    }\r\n\r\n    const maxScale =\r\n      parseFloat(wrapper.dataset.maxScale) || 2;\r\n\r\n    const panzoom = window.Panzoom(map, {\r\n      minScale: MIN_SCALE,\r\n      maxScale: maxScale,\r\n      contain: \"outside\",\r\n      noBind: true,\r\n      touchAction: \"\"\r\n    });\r\n\r\n    wrapper._mapInitialized = true;\r\n    wrapper._mapPanzoom = panzoom;\r\n\r\n    let gestureActive = false;\r\n    let pinchActive = false;\r\n\r\n    let gestureStartDistance = 0;\r\n    let previousDistance = 0;\r\n    let previousCenter = null;\r\n\r\n    let oneFingerStart = null;\r\n    let oneFingerHintShown = false;\r\n    let hintTimer = null;\r\n\r\n    function hideHint() {\r\n      if (!hint) {\r\n        return;\r\n      }\r\n\r\n      hint.classList.remove(\"is-visible\");\r\n\r\n      if (hintTimer) {\r\n        window.clearTimeout(hintTimer);\r\n        hintTimer = null;\r\n      }\r\n    }\r\n\r\n    function showHint(duration) {\r\n      if (!hint || gestureActive) {\r\n        return;\r\n      }\r\n\r\n      hint.classList.add(\"is-visible\");\r\n\r\n      if (hintTimer) {\r\n        window.clearTimeout(hintTimer);\r\n      }\r\n\r\n      hintTimer = window.setTimeout(function () {\r\n        hint.classList.remove(\"is-visible\");\r\n        hintTimer = null;\r\n      }, duration || 1800);\r\n    }\r\n\r\n    function beginTwoFingerGesture(event) {\r\n      if (event.touches.length !== 2) {\r\n        return;\r\n      }\r\n\r\n      event.preventDefault();\r\n      event.stopPropagation();\r\n\r\n      const touchA = event.touches[0];\r\n      const touchB = event.touches[1];\r\n\r\n      gestureStartDistance = getDistance(\r\n        touchA,\r\n        touchB\r\n      );\r\n\r\n      previousDistance =\r\n        gestureStartDistance;\r\n\r\n      previousCenter = getMidpoint(\r\n        touchA,\r\n        touchB\r\n      );\r\n\r\n      gestureActive = true;\r\n      pinchActive = false;\r\n      oneFingerStart = null;\r\n\r\n      hideHint();\r\n      map.classList.add(\"is-panning\");\r\n    }\r\n\r\n    function updateTwoFingerGesture(event) {\r\n      if (\r\n        !gestureActive ||\r\n        event.touches.length !== 2\r\n      ) {\r\n        return;\r\n      }\r\n\r\n      event.preventDefault();\r\n      event.stopPropagation();\r\n\r\n      const touchA = event.touches[0];\r\n      const touchB = event.touches[1];\r\n\r\n      const currentDistance = getDistance(\r\n        touchA,\r\n        touchB\r\n      );\r\n\r\n      const currentCenter = getMidpoint(\r\n        touchA,\r\n        touchB\r\n      );\r\n\r\n      if (\r\n        !previousCenter ||\r\n        previousDistance <= 0 ||\r\n        gestureStartDistance <= 0\r\n      ) {\r\n        gestureStartDistance =\r\n          currentDistance;\r\n\r\n        previousDistance =\r\n          currentDistance;\r\n\r\n        previousCenter =\r\n          currentCenter;\r\n\r\n        return;\r\n      }\r\n\r\n      const totalScaleChange = Math.abs(\r\n        currentDistance \/\r\n          gestureStartDistance -\r\n          1\r\n      );\r\n\r\n      if (\r\n        !pinchActive &&\r\n        totalScaleChange >= PINCH_THRESHOLD\r\n      ) {\r\n        pinchActive = true;\r\n\r\n        previousDistance =\r\n          currentDistance;\r\n      }\r\n\r\n      const frameScaleRatio =\r\n        previousDistance > 0\r\n          ? currentDistance \/\r\n            previousDistance\r\n          : 1;\r\n\r\n      const currentScale =\r\n        panzoom.getScale();\r\n\r\n      const nextScale = pinchActive\r\n        ? Math.min(\r\n            maxScale,\r\n            Math.max(\r\n              MIN_SCALE,\r\n              currentScale *\r\n                frameScaleRatio\r\n            )\r\n          )\r\n        : currentScale;\r\n\r\n      const deltaX =\r\n        currentCenter.x -\r\n        previousCenter.x;\r\n\r\n      const deltaY =\r\n        currentCenter.y -\r\n        previousCenter.y;\r\n\r\n      if (pinchActive) {\r\n        panzoom.zoomToPoint(\r\n          nextScale,\r\n          {\r\n            clientX: currentCenter.x,\r\n            clientY: currentCenter.y\r\n          },\r\n          {\r\n            animate: false\r\n          }\r\n        );\r\n      }\r\n\r\n      if (\r\n        Math.abs(deltaX) > 0.35 ||\r\n        Math.abs(deltaY) > 0.35\r\n      ) {\r\n        const currentPan =\r\n          panzoom.getPan();\r\n\r\n        panzoom.pan(\r\n          currentPan.x +\r\n            deltaX \/ nextScale,\r\n          currentPan.y +\r\n            deltaY \/ nextScale,\r\n          {\r\n            animate: false,\r\n            force: true\r\n          }\r\n        );\r\n      }\r\n\r\n      if (pinchActive) {\r\n        previousDistance =\r\n          currentDistance;\r\n      }\r\n\r\n      previousCenter =\r\n        currentCenter;\r\n    }\r\n\r\n    function endGesture(event) {\r\n      if (\r\n        gestureActive &&\r\n        event.touches.length < 2\r\n      ) {\r\n        gestureActive = false;\r\n        pinchActive = false;\r\n\r\n        gestureStartDistance = 0;\r\n        previousDistance = 0;\r\n        previousCenter = null;\r\n\r\n        map.classList.remove(\"is-panning\");\r\n      }\r\n\r\n      if (event.touches.length === 0) {\r\n        oneFingerStart = null;\r\n      }\r\n    }\r\n\r\n    stage.addEventListener(\r\n      \"touchstart\",\r\n      function (event) {\r\n        if (event.touches.length === 2) {\r\n          beginTwoFingerGesture(event);\r\n          return;\r\n        }\r\n\r\n        if (event.touches.length === 1) {\r\n          oneFingerStart = {\r\n            x: event.touches[0].clientX,\r\n            y: event.touches[0].clientY\r\n          };\r\n\r\n          oneFingerHintShown = false;\r\n        }\r\n      },\r\n      {\r\n        passive: false\r\n      }\r\n    );\r\n\r\n    stage.addEventListener(\r\n      \"touchmove\",\r\n      function (event) {\r\n        if (\r\n          gestureActive &&\r\n          event.touches.length === 2\r\n        ) {\r\n          updateTwoFingerGesture(event);\r\n          return;\r\n        }\r\n\r\n        if (\r\n          event.touches.length !== 1 ||\r\n          !oneFingerStart ||\r\n          gestureActive ||\r\n          oneFingerHintShown\r\n        ) {\r\n          return;\r\n        }\r\n\r\n        const deltaX =\r\n          event.touches[0].clientX -\r\n          oneFingerStart.x;\r\n\r\n        const deltaY =\r\n          event.touches[0].clientY -\r\n          oneFingerStart.y;\r\n\r\n        if (\r\n          Math.hypot(\r\n            deltaX,\r\n            deltaY\r\n          ) > 16\r\n        ) {\r\n          oneFingerHintShown = true;\r\n          showHint(1700);\r\n        }\r\n      },\r\n      {\r\n        passive: false\r\n      }\r\n    );\r\n\r\n    stage.addEventListener(\r\n      \"touchend\",\r\n      endGesture,\r\n      {\r\n        passive: true\r\n      }\r\n    );\r\n\r\n    stage.addEventListener(\r\n      \"touchcancel\",\r\n      endGesture,\r\n      {\r\n        passive: true\r\n      }\r\n    );\r\n\r\n    wrapper\r\n      .querySelectorAll(\".map-icon\")\r\n      .forEach(function (icon) {\r\n        icon.addEventListener(\r\n          \"click\",\r\n          function (event) {\r\n            if (!mobileQuery.matches) {\r\n              return;\r\n            }\r\n\r\n            event.stopPropagation();\r\n\r\n            const shouldOpen =\r\n              !icon.classList.contains(\r\n                \"is-caption-open\"\r\n              );\r\n\r\n            wrapper\r\n              .querySelectorAll(\r\n                \".map-icon.is-caption-open\"\r\n              )\r\n              .forEach(function (openIcon) {\r\n                openIcon.classList.remove(\r\n                  \"is-caption-open\"\r\n                );\r\n              });\r\n\r\n            if (shouldOpen) {\r\n              icon.classList.add(\r\n                \"is-caption-open\"\r\n              );\r\n            }\r\n          }\r\n        );\r\n      });\r\n\r\n    document.addEventListener(\r\n      \"click\",\r\n      function (event) {\r\n        if (\r\n          !mobileQuery.matches ||\r\n          wrapper.contains(event.target)\r\n        ) {\r\n          return;\r\n        }\r\n\r\n        wrapper\r\n          .querySelectorAll(\r\n            \".map-icon.is-caption-open\"\r\n          )\r\n          .forEach(function (icon) {\r\n            icon.classList.remove(\r\n              \"is-caption-open\"\r\n            );\r\n          });\r\n      }\r\n    );\r\n\r\n    if (\r\n      hint &&\r\n      \"IntersectionObserver\" in window\r\n    ) {\r\n      const observer =\r\n        new IntersectionObserver(\r\n          function (entries) {\r\n            const entry = entries[0];\r\n\r\n            if (\r\n              entry.isIntersecting &&\r\n              entry.intersectionRatio >= 0.35\r\n            ) {\r\n              showHint(2000);\r\n              observer.disconnect();\r\n            }\r\n          },\r\n          {\r\n            threshold: 0.35\r\n          }\r\n        );\r\n\r\n      observer.observe(stage);\r\n      wrapper._mapHintObserver = observer;\r\n    } else if (hint) {\r\n      window.setTimeout(function () {\r\n        showHint(2000);\r\n      }, 500);\r\n    }\r\n  }\r\n\r\n  function destroyMap(wrapper) {\r\n    if (\r\n      !wrapper ||\r\n      !wrapper._mapInitialized\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    const map =\r\n      wrapper.querySelector(\".interactive-map\");\r\n\r\n    const hint =\r\n      wrapper.querySelector(\".map-gesture-hint\");\r\n\r\n    if (wrapper._mapHintObserver) {\r\n      wrapper._mapHintObserver.disconnect();\r\n      wrapper._mapHintObserver = null;\r\n    }\r\n\r\n    if (wrapper._mapPanzoom) {\r\n      wrapper._mapPanzoom.destroy();\r\n    }\r\n\r\n    if (map) {\r\n      map.style.removeProperty(\"transform\");\r\n      map.style.removeProperty(\"transition\");\r\n      map.style.removeProperty(\"cursor\");\r\n\r\n      map.classList.remove(\"is-panning\");\r\n    }\r\n\r\n    if (hint) {\r\n      hint.classList.remove(\"is-visible\");\r\n    }\r\n\r\n    wrapper\r\n      .querySelectorAll(\r\n        \".map-icon.is-caption-open\"\r\n      )\r\n      .forEach(function (icon) {\r\n        icon.classList.remove(\r\n          \"is-caption-open\"\r\n        );\r\n      });\r\n\r\n    wrapper._mapInitialized = false;\r\n    wrapper._mapPanzoom = null;\r\n  }\r\n\r\n  function updateMaps() {\r\n    document\r\n      .querySelectorAll(\".map-zoom-wrapper\")\r\n      .forEach(function (wrapper) {\r\n        if (mobileQuery.matches) {\r\n          initMap(wrapper);\r\n        } else {\r\n          destroyMap(wrapper);\r\n        }\r\n      });\r\n  }\r\n\r\n  function start(attempt) {\r\n    attempt = attempt || 0;\r\n\r\n    if (\r\n      typeof window.Panzoom === \"function\"\r\n    ) {\r\n      updateMaps();\r\n      return;\r\n    }\r\n\r\n    if (attempt >= 50) {\r\n      console.error(\r\n        \"Interactive map: Panzoom failed to load.\"\r\n      );\r\n      return;\r\n    }\r\n\r\n    window.setTimeout(function () {\r\n      start(attempt + 1);\r\n    }, 100);\r\n  }\r\n\r\n  if (\r\n    document.readyState === \"loading\"\r\n  ) {\r\n    document.addEventListener(\r\n      \"DOMContentLoaded\",\r\n      function () {\r\n        start();\r\n      },\r\n      {\r\n        once: true\r\n      }\r\n    );\r\n  } else {\r\n    window.setTimeout(start, 0);\r\n  }\r\n\r\n  if (\r\n    typeof mobileQuery.addEventListener === \"function\"\r\n  ) {\r\n    mobileQuery.addEventListener(\r\n      \"change\",\r\n      updateMaps\r\n    );\r\n  } else {\r\n    mobileQuery.addListener(\r\n      updateMaps\r\n    );\r\n  }\r\n\r\n  if (window.jQuery) {\r\n    jQuery(window).on(\r\n      \"elementor\/frontend\/init\",\r\n      function () {\r\n        window.setTimeout(\r\n          start,\r\n          100\r\n        );\r\n      }\r\n    );\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b0123f3 e-con-full map-stage e-flex e-con e-child\" data-id=\"b0123f3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-1f648df e-con-full interactive-map e-flex e-con e-child\" data-id=\"1f648df\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7ce405d animated-slow boxed-section e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"7ce405d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-5616486 e-con-full animated-slow two-column-layout e-flex elementor-invisible e-con e-child\" data-id=\"5616486\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-9ab17eb e-con-full e-flex e-con e-child\" data-id=\"9ab17eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-87f2687 e-con-full e-flex e-con e-child\" data-id=\"87f2687\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8687b89 elementor-widget elementor-widget-heading\" data-id=\"8687b89\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">IN A WORLD<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d9a8d8 elementor-widget elementor-widget-heading\" data-id=\"4d9a8d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span>of<\/span> ITS OWN,\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29a2cc4 elementor-widget elementor-widget-heading\" data-id=\"29a2cc4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span>yet<\/span> CLOSE<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e4a64f elementor-widget elementor-widget-heading\" data-id=\"6e4a64f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">TO IT ALL<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc92891 elementor-widget__width-initial elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"dc92891\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Kanai is a natural sanctuary that feels miles away from the world at large, yet is within 30 minutes of the international airport, the nightlife of Playa del Carmen, Mayan ruins, swimmable cenotes, PGA golf courses, and much more.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b2b801 elementor-widget__width-initial elementor-hidden-mobile elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"8b2b801\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Kanai is a natural sanctuary that feels miles away from the world at large, yet is within\u00a0<br \/>30 minutes of the international airport, the nightlife of Playa del Carmen, Mayan ruins, swimmable cenotes, PGA golf courses, and much more.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3699b11 e-con-full e-flex e-con e-child\" data-id=\"3699b11\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3ccb9bd elementor-widget elementor-widget-image\" data-id=\"3ccb9bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1620\" height=\"1740\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03465-1.jpg\" class=\"attachment-full size-full wp-image-10143\" alt=\"A woman enjoying a serene moment floating in calm water at Mandarin Oriental Residences in Kanai, Mexico.\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03465-1.jpg 1620w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03465-1-279x300.jpg 279w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03465-1-953x1024.jpg 953w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03465-1-768x825.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03465-1-1430x1536.jpg 1430w\" sizes=\"(max-width: 1620px) 100vw, 1620px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\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 class=\"unlimited-elements-background-overlay\" data-forid=\"7ce405d\" data-location=\"back\" style=\"display:none\">\n\t\t\t<template>\n\t\t\t\n<!-- start Parallax Background -->\n<style>\/* widget: Parallax Background *\/\n\n#uc_parallax_background_bg_addon22798{\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon22798 .ue-parallax-item-wrapper{\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon22798 .simpleParallax{\n  height: 100%;\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-ef0622a{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-ef0622a,\n  .elementor-repeater-item-ef0622a .ue-parallax-item-inner,\n  .elementor-repeater-item-ef0622a .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-ef0622a{\n  display: block;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-ef0622a{\n      display: block;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-ef0622a{\n      display: none;\n    }\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-aa437e6{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-aa437e6,\n  .elementor-repeater-item-aa437e6 .ue-parallax-item-inner,\n  .elementor-repeater-item-aa437e6 .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-aa437e6{\n  display: none;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-aa437e6{\n      display: none;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-aa437e6{\n      display: block;\n    }\n}\n\n\n<\/style>\n\n<div id=\"uc_parallax_background_bg_addon22798\" class=\"ue-parallax\">\n  <div class=\"ue-parallax-wrapper\">    \n    <div class=\"ue-parallax-item-wrapper elementor-repeater-item-ef0622a\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Rectangle-29.jpg\" alt=\"Background with dappled light pattern and tree branch shadows on a white surface.\" \/>\n      \n  <\/div>  \n<\/div>\n<div class=\"ue-parallax-item-wrapper elementor-repeater-item-aa437e6\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_892572093-1.jpg\" alt=\"AdobeStock_892572093\" \/>\n      \n  <\/div>  \n<\/div>\n\n  <\/div>  \n<\/div>\n<script type=\"text\/javascript\"  id=\"ue_script_parallax_background2\">\n\n\/* Parallax Background scripts: *\/ \n\njQuery(document).ready(function(){\nfunction uc_parallax_background_bg_addon22798_start(){\n\t\t\t\n\n  var objParallaxWidget = jQuery(\"#uc_parallax_background_bg_addon22798\");\n  var objItems = objParallaxWidget.find(\".ue-parallax-item\");\n  \n  \/**\n  * get array of orientations\n  *\/\n  \n  var itemsOrientationArray = [\n        \"up\",\n        \"up\",\n      ]; \n\n  \/**\n  * get array of sensitivity\n  *\/\n  var itemsSensitivityArray = [\n        \"1.4\",\n        \"1.4\",\n      ]; \n   \n  \/**\n  * get array of overflows\n  *\/\n  var itemsOverflowArray = [\n        \"false\",\n        \"false\",\n      ]; \n   \n  \/**\n  * get array of delays\n  *\/\n  var itemsDelayArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of transitions\n  *\/\n  var itemsTransitionArray = [\n        \"ease\",\n        \"ease\",\n      ];  \n   \n  \/**\n  * get array of scale directions\n  *\/\n  var itemSizeDirectionsArray = [\n        \"up\",\n        \"up\",\n      ];  \n   \n  \/**\n  * get array of scales\n  *\/\n  var itemSizeArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of rotate directions\n  *\/\n  var itemRotateDirectionsArray = [\n        \"right\",\n        \"right\",\n      ];  \n   \n  \/**\n  * get array of rotates\n  *\/\n  var itemRotateArray = [\n        \"0\",\n        \"0\",\n      ];\n   \n  \/**\n  * get array of opacity directions\n  *\/\n  var itemOpacityDirectionsArray = [\n        \"fade-in\",\n        \"fade-in\",\n      ];  \n   \n  \/**\n  * get array of opacities\n  *\/\n  var itemOpacityArray = [\n        \"0\",\n        \"0\",\n      ];\n\n  \/**\n  * for each item set its own parallax settings\n  *\/\n  objItems.each(function(index, parallaxElement){\n  \n    new simpleParallax(parallaxElement, {\n      \n        delay: itemsDelayArray[index], \/\/delay before transition\n        orientation: itemsOrientationArray[index], \/\/the direction of the transition\n        scale: itemsSensitivityArray[index], \/\/how visible the transition is\n        overflow: itemsOverflowArray[index] === \"true\", \/\/itemsOverflowArray[index] returns string, so make sure it's a boolean value \/ makes overflow hiden for the image container\n        transition: itemsTransitionArray[index], \/\/css transition\n        sizeDirection: itemSizeDirectionsArray[index], \/\/whether element is getting bigger or smaller\n        sizeSpeed: Number(itemSizeArray[index]), \/\/adjust size of the element during scroll using transform scale(n) css property - the bigger number the faster is change \/ make sure you set a number\n      \trotateDirection: itemRotateDirectionsArray[index], \/\/to right or to left\n      \trotateSpeed: Number(itemRotateArray[index]), \/\/how fast is the rotate\n        opacityDirection: itemOpacityDirectionsArray[index], \/\/fade-in \/ fade-out\n        opacityLevel: Number(itemOpacityArray[index]) \/\/how transparent element is (the higher number the more transparent becomes element)\n      \n    });    \n  \n  });\n    \t\n}if(jQuery(\"#uc_parallax_background_bg_addon22798\").length && !jQuery(\"#uc_parallax_background_bg_addon22798\").parents('[data-elementor-type=\"popup\"]').length) uc_parallax_background_bg_addon22798_start();\n\tjQuery( document ).on( 'elementor\/popup\/show', (event, id, objPopup) => {\n\tif(objPopup.$element.has(jQuery(\"#uc_parallax_background_bg_addon22798\")).length) uc_parallax_background_bg_addon22798_start()});\n});\n\t\t\t\n<\/script>\n<!-- end Parallax Background -->\t\t\t<\/template>\n\t\t<\/div>\n\t\t\n\t\t<div class=\"elementor-element elementor-element-234ad61 e-con-full animated-slow elementor-hidden-mobile e-flex elementor-invisible e-con e-parent\" data-id=\"234ad61\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-92c8f34 elementor-widget elementor-widget-image\" data-id=\"92c8f34\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"4098\" height=\"2304\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Flight-map-close-up.jpg\" class=\"attachment-full size-full wp-image-10144\" alt=\"A map showcasing direct flights from around the world to Mexico&apos;s Kanai region, home of the Mandarin Oriental Resort.\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Flight-map-close-up.jpg 4098w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Flight-map-close-up-300x169.jpg 300w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Flight-map-close-up-1024x576.jpg 1024w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Flight-map-close-up-768x432.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Flight-map-close-up-1536x864.jpg 1536w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Flight-map-close-up-2048x1151.jpg 2048w\" sizes=\"(max-width: 4098px) 100vw, 4098px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cb94c4c e-con-full animated-slow map-zoom-wrapper elementor-hidden-desktop elementor-hidden-tablet e-flex elementor-invisible e-con e-parent\" data-id=\"cb94c4c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_background&quot;:&quot;classic&quot;}\" data-max-scale=\"2\">\n\t\t\t\t<div class=\"elementor-element elementor-element-686009b elementor-absolute map-hint-widget elementor-widget elementor-widget-html\" data-id=\"686009b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"map-gesture-hint\" aria-hidden=\"true\">\r\n  Use two fingers to move and zoom the map\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7aa6677 e-con-full map-stage e-flex e-con e-child\" data-id=\"7aa6677\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-3c4083d e-con-full interactive-map e-flex e-con e-child\" data-id=\"3c4083d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f8bc5af animated-slow boxed-section e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"f8bc5af\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e3b5f0f e-con-full animated-slow two-column-layout e-flex elementor-invisible e-con e-child\" data-id=\"e3b5f0f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-24a23d3 e-con-full e-flex e-con e-child\" data-id=\"24a23d3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f64b1e elementor-widget elementor-widget-image\" data-id=\"1f64b1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1410\" height=\"1740\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_1636780696Temple-1.jpg\" class=\"attachment-full size-full wp-image-10145\" alt=\"The Temple of Kukulcan, also known as El Castillo, located in the archaeological site of Chichen Itza in Mexico.\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_1636780696Temple-1.jpg 1410w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_1636780696Temple-1-243x300.jpg 243w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_1636780696Temple-1-830x1024.jpg 830w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_1636780696Temple-1-768x948.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_1636780696Temple-1-1245x1536.jpg 1245w\" sizes=\"(max-width: 1410px) 100vw, 1410px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-12d6f05 e-con-full e-flex e-con e-child\" data-id=\"12d6f05\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-4cced43 e-con-full e-flex e-con e-child\" data-id=\"4cced43\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b7b980f elementor-widget elementor-widget-heading\" data-id=\"b7b980f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">A PRESERVED<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a357866 elementor-hidden-mobile elementor-widget elementor-widget-heading\" data-id=\"a357866\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">SETTING <span>where<\/span> CULTURE<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0aa1dd elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-heading\" data-id=\"d0aa1dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">SETTING <span>where<\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5477c4e elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-heading\" data-id=\"5477c4e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CULTURE<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-52f8ee9 elementor-widget elementor-widget-heading\" data-id=\"52f8ee9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span>and<\/span> MYSTIQUE CONVERGE<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8dfbb84 elementor-widget__width-initial elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"8dfbb84\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Mandarin Oriental Residences Kanai, Riviera Maya is a short way from various UNESCO World Heritage Sites, allowing residents to witness Mayan mysticism firsthand. The Sian Ka\u2019an Biosphere Reserve offers diverse ecosystems including tropical forests, mangroves, and a marine section that is part of the Mesoamerican Barrier Reef. Chichen Itza and Tulum are known for their Mayan ruins and cultural significance, and the National Reef Park of Puerto Morelos offers incredible snorkeling and diving.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1017da6 elementor-widget__width-initial elementor-hidden-mobile elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"1017da6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Mandarin Oriental Residences Kanai, Riviera Maya is a short way from various UNESCO World Heritage Sites, allowing residents to witness Mayan mysticism firsthand. The Sian Ka\u2019an Biosphere Reserve offers diverse ecosystems including tropical forests, mangroves, and a marine section that is part of the Mesoamerican Barrier Reef. Chichen Itza and Tulum are known for their Mayan ruins and cultural significance, and the National Reef Park of Puerto Morelos offers incredible snorkeling and diving.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\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 class=\"unlimited-elements-background-overlay\" data-forid=\"f8bc5af\" data-location=\"back\" style=\"display:none\">\n\t\t\t<template>\n\t\t\t\n<!-- start Parallax Background -->\n<style>\/* widget: Parallax Background *\/\n\n#uc_parallax_background_bg_addon32064{\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon32064 .ue-parallax-item-wrapper{\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon32064 .simpleParallax{\n  height: 100%;\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-ef0622a{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-ef0622a,\n  .elementor-repeater-item-ef0622a .ue-parallax-item-inner,\n  .elementor-repeater-item-ef0622a .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-ef0622a{\n  display: block;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-ef0622a{\n      display: block;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-ef0622a{\n      display: none;\n    }\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-aa437e6{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-aa437e6,\n  .elementor-repeater-item-aa437e6 .ue-parallax-item-inner,\n  .elementor-repeater-item-aa437e6 .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-aa437e6{\n  display: none;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-aa437e6{\n      display: none;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-aa437e6{\n      display: block;\n    }\n}\n\n\n<\/style>\n\n<div id=\"uc_parallax_background_bg_addon32064\" class=\"ue-parallax\">\n  <div class=\"ue-parallax-wrapper\">    \n    <div class=\"ue-parallax-item-wrapper elementor-repeater-item-ef0622a\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/texture3-background.jpg\" alt=\"Background with dappled light pattern and tree branch shadows on a white surface.\" \/>\n      \n  <\/div>  \n<\/div>\n<div class=\"ue-parallax-item-wrapper elementor-repeater-item-aa437e6\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_892572093.jpg\" alt=\"AdobeStock_892572093\" \/>\n      \n  <\/div>  \n<\/div>\n\n  <\/div>  \n<\/div>\n<script type=\"text\/javascript\"  id=\"ue_script_parallax_background3\">\n\n\/* Parallax Background scripts: *\/ \n\njQuery(document).ready(function(){\nfunction uc_parallax_background_bg_addon32064_start(){\n\t\t\t\n\n  var objParallaxWidget = jQuery(\"#uc_parallax_background_bg_addon32064\");\n  var objItems = objParallaxWidget.find(\".ue-parallax-item\");\n  \n  \/**\n  * get array of orientations\n  *\/\n  \n  var itemsOrientationArray = [\n        \"up\",\n        \"up\",\n      ]; \n\n  \/**\n  * get array of sensitivity\n  *\/\n  var itemsSensitivityArray = [\n        \"1.4\",\n        \"1.4\",\n      ]; \n   \n  \/**\n  * get array of overflows\n  *\/\n  var itemsOverflowArray = [\n        \"false\",\n        \"false\",\n      ]; \n   \n  \/**\n  * get array of delays\n  *\/\n  var itemsDelayArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of transitions\n  *\/\n  var itemsTransitionArray = [\n        \"ease\",\n        \"ease\",\n      ];  \n   \n  \/**\n  * get array of scale directions\n  *\/\n  var itemSizeDirectionsArray = [\n        \"up\",\n        \"up\",\n      ];  \n   \n  \/**\n  * get array of scales\n  *\/\n  var itemSizeArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of rotate directions\n  *\/\n  var itemRotateDirectionsArray = [\n        \"right\",\n        \"right\",\n      ];  \n   \n  \/**\n  * get array of rotates\n  *\/\n  var itemRotateArray = [\n        \"0\",\n        \"0\",\n      ];\n   \n  \/**\n  * get array of opacity directions\n  *\/\n  var itemOpacityDirectionsArray = [\n        \"fade-in\",\n        \"fade-in\",\n      ];  \n   \n  \/**\n  * get array of opacities\n  *\/\n  var itemOpacityArray = [\n        \"0\",\n        \"0\",\n      ];\n\n  \/**\n  * for each item set its own parallax settings\n  *\/\n  objItems.each(function(index, parallaxElement){\n  \n    new simpleParallax(parallaxElement, {\n      \n        delay: itemsDelayArray[index], \/\/delay before transition\n        orientation: itemsOrientationArray[index], \/\/the direction of the transition\n        scale: itemsSensitivityArray[index], \/\/how visible the transition is\n        overflow: itemsOverflowArray[index] === \"true\", \/\/itemsOverflowArray[index] returns string, so make sure it's a boolean value \/ makes overflow hiden for the image container\n        transition: itemsTransitionArray[index], \/\/css transition\n        sizeDirection: itemSizeDirectionsArray[index], \/\/whether element is getting bigger or smaller\n        sizeSpeed: Number(itemSizeArray[index]), \/\/adjust size of the element during scroll using transform scale(n) css property - the bigger number the faster is change \/ make sure you set a number\n      \trotateDirection: itemRotateDirectionsArray[index], \/\/to right or to left\n      \trotateSpeed: Number(itemRotateArray[index]), \/\/how fast is the rotate\n        opacityDirection: itemOpacityDirectionsArray[index], \/\/fade-in \/ fade-out\n        opacityLevel: Number(itemOpacityArray[index]) \/\/how transparent element is (the higher number the more transparent becomes element)\n      \n    });    \n  \n  });\n    \t\n}if(jQuery(\"#uc_parallax_background_bg_addon32064\").length && !jQuery(\"#uc_parallax_background_bg_addon32064\").parents('[data-elementor-type=\"popup\"]').length) uc_parallax_background_bg_addon32064_start();\n\tjQuery( document ).on( 'elementor\/popup\/show', (event, id, objPopup) => {\n\tif(objPopup.$element.has(jQuery(\"#uc_parallax_background_bg_addon32064\")).length) uc_parallax_background_bg_addon32064_start()});\n});\n\t\t\t\n<\/script>\n<!-- end Parallax Background -->\t\t\t<\/template>\n\t\t<\/div>\n\t\t\n\t\t<div class=\"elementor-element elementor-element-54bcaa2 e-con-full animated-slow e-flex elementor-invisible e-con e-parent\" data-id=\"54bcaa2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-28fb15e elementor-hidden-mobile elementor-widget elementor-widget-image\" data-id=\"28fb15e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"4098\" height=\"2304\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03263-Edit-1.jpg\" class=\"attachment-full size-full wp-image-10146\" alt=\"A woman wearing an emerald green halter top backless dress surrounded by mangroves at Mandarin Oriental Resort in Kanai.\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03263-Edit-1.jpg 4098w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03263-Edit-1-300x169.jpg 300w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03263-Edit-1-1024x576.jpg 1024w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03263-Edit-1-768x432.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03263-Edit-1-1536x864.jpg 1536w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC03263-Edit-1-2048x1151.jpg 2048w\" sizes=\"(max-width: 4098px) 100vw, 4098px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee1acfb elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-image\" data-id=\"ee1acfb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1179\" height=\"1497\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-1.jpg\" class=\"attachment-full size-full wp-image-10152\" alt=\"\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-1.jpg 1179w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-1-236x300.jpg 236w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-1-806x1024.jpg 806w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-1-768x975.jpg 768w\" sizes=\"(max-width: 1179px) 100vw, 1179px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-32772db animated-slow boxed-section e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"32772db\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-cd7a7f3 e-con-full animated-slow two-column-layout e-flex elementor-invisible e-con e-child\" data-id=\"cd7a7f3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-6e76afb e-con-full e-flex e-con e-child\" data-id=\"6e76afb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a42a21b elementor-widget elementor-widget-image\" data-id=\"a42a21b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1410\" height=\"1743\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC08024-1.jpg\" class=\"attachment-full size-full wp-image-10147\" alt=\"A Black Spiny-tailed Iguana resting on a stone ledge at Mandarin Oriental Residences Kanai in Riviera Maya, Mexico.\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC08024-1.jpg 1410w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC08024-1-243x300.jpg 243w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC08024-1-828x1024.jpg 828w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC08024-1-768x949.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/DSC08024-1-1243x1536.jpg 1243w\" sizes=\"(max-width: 1410px) 100vw, 1410px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-86203d2 e-con-full e-flex e-con e-child\" data-id=\"86203d2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-794b193 e-con-full e-flex e-con e-child\" data-id=\"794b193\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-60b69b2 elementor-widget elementor-widget-heading\" data-id=\"60b69b2\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">A WONDERLAND<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-39fb68d elementor-widget elementor-widget-heading\" data-id=\"39fb68d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span>of<\/span> NATIVE<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5728df elementor-widget elementor-widget-heading\" data-id=\"d5728df\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">FLORA <span>and<\/span> FAUNA<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed38819 elementor-widget__width-initial elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"ed38819\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>At Mandarin Oriental Residences Kanai, Riviera Maya, owners are enveloped by a vibrant, native ecosystem. A lush landscape of mangroves and tropical flora provides a sanctuary for local wildlife, creating a lived experience of constant sensory discovery. By preserving the estate as a Greenfield, the property offers expansive open spaces that ensure a profound and lasting connection to the environment.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e06d706 elementor-widget__width-initial elementor-hidden-mobile elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"e06d706\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>At Mandarin Oriental Residences Kanai, Riviera Maya, owners are enveloped by a vibrant, native ecosystem. A lush landscape of mangroves and tropical flora provides a sanctuary for local wildlife, creating a lived experience of constant sensory discovery. By preserving the estate as a greenfield, the property offers expansive open spaces that ensure a profound and lasting connection to the environment.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\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 class=\"unlimited-elements-background-overlay\" data-forid=\"32772db\" data-location=\"back\" style=\"display:none\">\n\t\t\t<template>\n\t\t\t\n<!-- start Parallax Background -->\n<style>\/* widget: Parallax Background *\/\n\n#uc_parallax_background_bg_addon48668{\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon48668 .ue-parallax-item-wrapper{\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon48668 .simpleParallax{\n  height: 100%;\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-ef0622a{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-ef0622a,\n  .elementor-repeater-item-ef0622a .ue-parallax-item-inner,\n  .elementor-repeater-item-ef0622a .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-ef0622a{\n  display: block;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-ef0622a{\n      display: block;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-ef0622a{\n      display: none;\n    }\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-aa437e6{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-aa437e6,\n  .elementor-repeater-item-aa437e6 .ue-parallax-item-inner,\n  .elementor-repeater-item-aa437e6 .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-aa437e6{\n  display: none;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-aa437e6{\n      display: none;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-aa437e6{\n      display: block;\n    }\n}\n\n\n<\/style>\n\n<div id=\"uc_parallax_background_bg_addon48668\" class=\"ue-parallax\">\n  <div class=\"ue-parallax-wrapper\">    \n    <div class=\"ue-parallax-item-wrapper elementor-repeater-item-ef0622a\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/texture3-background.jpg\" alt=\"Background with dappled light pattern and tree branch shadows on a white surface.\" \/>\n      \n  <\/div>  \n<\/div>\n<div class=\"ue-parallax-item-wrapper elementor-repeater-item-aa437e6\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_892572093.jpg\" alt=\"AdobeStock_892572093\" \/>\n      \n  <\/div>  \n<\/div>\n\n  <\/div>  \n<\/div>\n<script type=\"text\/javascript\"  id=\"ue_script_parallax_background4\">\n\n\/* Parallax Background scripts: *\/ \n\njQuery(document).ready(function(){\nfunction uc_parallax_background_bg_addon48668_start(){\n\t\t\t\n\n  var objParallaxWidget = jQuery(\"#uc_parallax_background_bg_addon48668\");\n  var objItems = objParallaxWidget.find(\".ue-parallax-item\");\n  \n  \/**\n  * get array of orientations\n  *\/\n  \n  var itemsOrientationArray = [\n        \"up\",\n        \"up\",\n      ]; \n\n  \/**\n  * get array of sensitivity\n  *\/\n  var itemsSensitivityArray = [\n        \"1.4\",\n        \"1.4\",\n      ]; \n   \n  \/**\n  * get array of overflows\n  *\/\n  var itemsOverflowArray = [\n        \"false\",\n        \"false\",\n      ]; \n   \n  \/**\n  * get array of delays\n  *\/\n  var itemsDelayArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of transitions\n  *\/\n  var itemsTransitionArray = [\n        \"ease\",\n        \"ease\",\n      ];  \n   \n  \/**\n  * get array of scale directions\n  *\/\n  var itemSizeDirectionsArray = [\n        \"up\",\n        \"up\",\n      ];  \n   \n  \/**\n  * get array of scales\n  *\/\n  var itemSizeArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of rotate directions\n  *\/\n  var itemRotateDirectionsArray = [\n        \"right\",\n        \"right\",\n      ];  \n   \n  \/**\n  * get array of rotates\n  *\/\n  var itemRotateArray = [\n        \"0\",\n        \"0\",\n      ];\n   \n  \/**\n  * get array of opacity directions\n  *\/\n  var itemOpacityDirectionsArray = [\n        \"fade-in\",\n        \"fade-in\",\n      ];  \n   \n  \/**\n  * get array of opacities\n  *\/\n  var itemOpacityArray = [\n        \"0\",\n        \"0\",\n      ];\n\n  \/**\n  * for each item set its own parallax settings\n  *\/\n  objItems.each(function(index, parallaxElement){\n  \n    new simpleParallax(parallaxElement, {\n      \n        delay: itemsDelayArray[index], \/\/delay before transition\n        orientation: itemsOrientationArray[index], \/\/the direction of the transition\n        scale: itemsSensitivityArray[index], \/\/how visible the transition is\n        overflow: itemsOverflowArray[index] === \"true\", \/\/itemsOverflowArray[index] returns string, so make sure it's a boolean value \/ makes overflow hiden for the image container\n        transition: itemsTransitionArray[index], \/\/css transition\n        sizeDirection: itemSizeDirectionsArray[index], \/\/whether element is getting bigger or smaller\n        sizeSpeed: Number(itemSizeArray[index]), \/\/adjust size of the element during scroll using transform scale(n) css property - the bigger number the faster is change \/ make sure you set a number\n      \trotateDirection: itemRotateDirectionsArray[index], \/\/to right or to left\n      \trotateSpeed: Number(itemRotateArray[index]), \/\/how fast is the rotate\n        opacityDirection: itemOpacityDirectionsArray[index], \/\/fade-in \/ fade-out\n        opacityLevel: Number(itemOpacityArray[index]) \/\/how transparent element is (the higher number the more transparent becomes element)\n      \n    });    \n  \n  });\n    \t\n}if(jQuery(\"#uc_parallax_background_bg_addon48668\").length && !jQuery(\"#uc_parallax_background_bg_addon48668\").parents('[data-elementor-type=\"popup\"]').length) uc_parallax_background_bg_addon48668_start();\n\tjQuery( document ).on( 'elementor\/popup\/show', (event, id, objPopup) => {\n\tif(objPopup.$element.has(jQuery(\"#uc_parallax_background_bg_addon48668\")).length) uc_parallax_background_bg_addon48668_start()});\n});\n\t\t\t\n<\/script>\n<!-- end Parallax Background -->\t\t\t<\/template>\n\t\t<\/div>\n\t\t\n\t\t<div class=\"elementor-element elementor-element-2d119e0 e-con-full animated-slow e-flex elementor-invisible e-con e-parent\" data-id=\"2d119e0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b5c3aef elementor-hidden-mobile elementor-widget elementor-widget-image\" data-id=\"b5c3aef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"4098\" height=\"2304\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_444573026Cenote-1.jpg\" class=\"attachment-full size-full wp-image-10148\" alt=\"\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_444573026Cenote-1.jpg 4098w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_444573026Cenote-1-300x169.jpg 300w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_444573026Cenote-1-1024x576.jpg 1024w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_444573026Cenote-1-768x432.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_444573026Cenote-1-1536x864.jpg 1536w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_444573026Cenote-1-2048x1151.jpg 2048w\" sizes=\"(max-width: 4098px) 100vw, 4098px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6977ec3 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-image\" data-id=\"6977ec3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1179\" height=\"1050\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-2.jpg\" class=\"attachment-full size-full wp-image-10153\" alt=\"\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-2.jpg 1179w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-2-300x267.jpg 300w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-2-1024x912.jpg 1024w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/84ce7cb90c76578c036394e355661475-2-768x684.jpg 768w\" sizes=\"(max-width: 1179px) 100vw, 1179px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-93c4cd7 animated-slow boxed-section e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"93c4cd7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-7ec6b39 e-con-full animated-slow two-column-layout e-flex elementor-invisible e-con e-child\" data-id=\"7ec6b39\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-402b663 e-con-full e-flex e-con e-child\" data-id=\"402b663\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-938bfbb e-con-full e-flex e-con e-child\" data-id=\"938bfbb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c4f012d elementor-widget elementor-widget-heading\" data-id=\"c4f012d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">SACRED<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1ad0582 elementor-hidden-mobile elementor-widget elementor-widget-heading\" data-id=\"1ad0582\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">WELLS\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ffa69b elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-heading\" data-id=\"9ffa69b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">WELLS <span>that invite<\/span>\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b1a6e0f elementor-hidden-mobile elementor-widget elementor-widget-heading\" data-id=\"b1a6e0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span>that invite<\/span> DISCOVERY<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19960ba elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-heading\" data-id=\"19960ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">DISCOVERY<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-04ccf10 elementor-widget__width-initial elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"04ccf10\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Derived from the Mayan word for \u201csacred well,\u201d cenotes were revered freshwater sources and gateways to the spiritual world. They serve as a living testament to the site\u2019s ancestral heritage. Beyond the resort, residents may explore Riviera Maya\u2019s renowned swimmable cenotes \u2014 including Cenote Azul, Kantun Chi, Chaak Tun, and Sac Actun \u2014 each offering a profound connection to the region\u2019s natural and cultural legacy.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-17a1a71 elementor-widget__width-initial elementor-hidden-mobile elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"17a1a71\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Derived from the Mayan word for \u201csacred well,\u201d cenotes were revered freshwater sources and gateways to the spiritual world. They serve as a living testament to the site\u2019s ancestral heritage. Beyond the resort, residents may explore Riviera Maya\u2019s renowned swimmable cenotes \u2014 including Cenote Azul, Kantun Chi, Chaak Tun, and Sac Actun \u2014 each offering a profound connection to the region\u2019s natural and cultural legacy.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3d8ed31 e-con-full e-flex e-con e-child\" data-id=\"3d8ed31\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d7470ca elementor-widget elementor-widget-image\" data-id=\"d7470ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1620\" height=\"1740\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Wells.jpg\" class=\"attachment-full size-full wp-image-10149\" alt=\"\" srcset=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Wells.jpg 1620w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Wells-279x300.jpg 279w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Wells-953x1024.jpg 953w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Wells-768x825.jpg 768w, https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/Wells-1430x1536.jpg 1430w\" sizes=\"(max-width: 1620px) 100vw, 1620px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\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 class=\"unlimited-elements-background-overlay\" data-forid=\"93c4cd7\" data-location=\"back\" style=\"display:none\">\n\t\t\t<template>\n\t\t\t\n<!-- start Parallax Background -->\n<style>\/* widget: Parallax Background *\/\n\n#uc_parallax_background_bg_addon54489{\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon54489 .ue-parallax-item-wrapper{\n  position: absolute;\n}\n\n#uc_parallax_background_bg_addon54489 .simpleParallax{\n  height: 100%;\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-ef0622a{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-ef0622a,\n  .elementor-repeater-item-ef0622a .ue-parallax-item-inner,\n  .elementor-repeater-item-ef0622a .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-ef0622a{\n  display: block;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-ef0622a{\n      display: block;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-ef0622a{\n      display: none;\n    }\n}\n\/* parallax type background layer settings *\/\n\n  .elementor-repeater-item-aa437e6{\n\tleft: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .elementor-repeater-item-aa437e6,\n  .elementor-repeater-item-aa437e6 .ue-parallax-item-inner,\n  .elementor-repeater-item-aa437e6 .ue-parallax-item{\n\twidth: 100%;\n    height: 100%;\n  }\n\n\t\n\n\/* visibility settings *\/\n.elementor-repeater-item-aa437e6{\n  display: none;\n}\n\n@media only screen and (max-width: 1024px){\n\t.elementor-repeater-item-aa437e6{\n      display: none;\n    }\n}\n\n@media only screen and (max-width: 767px){\n\t.elementor-repeater-item-aa437e6{\n      display: block;\n    }\n}\n\n\n<\/style>\n\n<div id=\"uc_parallax_background_bg_addon54489\" class=\"ue-parallax\">\n  <div class=\"ue-parallax-wrapper\">    \n    <div class=\"ue-parallax-item-wrapper elementor-repeater-item-ef0622a\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/texture3-background.jpg\" alt=\"Background with dappled light pattern and tree branch shadows on a white surface.\" \/>\n      \n  <\/div>  \n<\/div>\n<div class=\"ue-parallax-item-wrapper elementor-repeater-item-aa437e6\">\n  <div class=\"ue-parallax-item-inner\">\n  \n          <img decoding=\"async\" class=\"ue-parallax-item\" src=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/AdobeStock_892572093.jpg\" alt=\"AdobeStock_892572093\" \/>\n      \n  <\/div>  \n<\/div>\n\n  <\/div>  \n<\/div>\n<script type=\"text\/javascript\"  id=\"ue_script_parallax_background5\">\n\n\/* Parallax Background scripts: *\/ \n\njQuery(document).ready(function(){\nfunction uc_parallax_background_bg_addon54489_start(){\n\t\t\t\n\n  var objParallaxWidget = jQuery(\"#uc_parallax_background_bg_addon54489\");\n  var objItems = objParallaxWidget.find(\".ue-parallax-item\");\n  \n  \/**\n  * get array of orientations\n  *\/\n  \n  var itemsOrientationArray = [\n        \"up\",\n        \"up\",\n      ]; \n\n  \/**\n  * get array of sensitivity\n  *\/\n  var itemsSensitivityArray = [\n        \"1.4\",\n        \"1.4\",\n      ]; \n   \n  \/**\n  * get array of overflows\n  *\/\n  var itemsOverflowArray = [\n        \"false\",\n        \"false\",\n      ]; \n   \n  \/**\n  * get array of delays\n  *\/\n  var itemsDelayArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of transitions\n  *\/\n  var itemsTransitionArray = [\n        \"ease\",\n        \"ease\",\n      ];  \n   \n  \/**\n  * get array of scale directions\n  *\/\n  var itemSizeDirectionsArray = [\n        \"up\",\n        \"up\",\n      ];  \n   \n  \/**\n  * get array of scales\n  *\/\n  var itemSizeArray = [\n        \"0\",\n        \"0\",\n      ];  \n   \n  \/**\n  * get array of rotate directions\n  *\/\n  var itemRotateDirectionsArray = [\n        \"right\",\n        \"right\",\n      ];  \n   \n  \/**\n  * get array of rotates\n  *\/\n  var itemRotateArray = [\n        \"0\",\n        \"0\",\n      ];\n   \n  \/**\n  * get array of opacity directions\n  *\/\n  var itemOpacityDirectionsArray = [\n        \"fade-in\",\n        \"fade-in\",\n      ];  \n   \n  \/**\n  * get array of opacities\n  *\/\n  var itemOpacityArray = [\n        \"0\",\n        \"0\",\n      ];\n\n  \/**\n  * for each item set its own parallax settings\n  *\/\n  objItems.each(function(index, parallaxElement){\n  \n    new simpleParallax(parallaxElement, {\n      \n        delay: itemsDelayArray[index], \/\/delay before transition\n        orientation: itemsOrientationArray[index], \/\/the direction of the transition\n        scale: itemsSensitivityArray[index], \/\/how visible the transition is\n        overflow: itemsOverflowArray[index] === \"true\", \/\/itemsOverflowArray[index] returns string, so make sure it's a boolean value \/ makes overflow hiden for the image container\n        transition: itemsTransitionArray[index], \/\/css transition\n        sizeDirection: itemSizeDirectionsArray[index], \/\/whether element is getting bigger or smaller\n        sizeSpeed: Number(itemSizeArray[index]), \/\/adjust size of the element during scroll using transform scale(n) css property - the bigger number the faster is change \/ make sure you set a number\n      \trotateDirection: itemRotateDirectionsArray[index], \/\/to right or to left\n      \trotateSpeed: Number(itemRotateArray[index]), \/\/how fast is the rotate\n        opacityDirection: itemOpacityDirectionsArray[index], \/\/fade-in \/ fade-out\n        opacityLevel: Number(itemOpacityArray[index]) \/\/how transparent element is (the higher number the more transparent becomes element)\n      \n    });    \n  \n  });\n    \t\n}if(jQuery(\"#uc_parallax_background_bg_addon54489\").length && !jQuery(\"#uc_parallax_background_bg_addon54489\").parents('[data-elementor-type=\"popup\"]').length) uc_parallax_background_bg_addon54489_start();\n\tjQuery( document ).on( 'elementor\/popup\/show', (event, id, objPopup) => {\n\tif(objPopup.$element.has(jQuery(\"#uc_parallax_background_bg_addon54489\")).length) uc_parallax_background_bg_addon54489_start()});\n});\n\t\t\t\n<\/script>\n<!-- end Parallax Background -->\t\t\t<\/template>\n\t\t<\/div>\n\t\t\n\t\t<div class=\"elementor-element elementor-element-dd42c1d animated-slow full-width-text-block e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"dd42c1d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-96fb428 animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"96fb428\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PLANTING<br>\nTHE SEEDS <span>for the<\/span>\n<br>\nFUTURE <span>of<\/span> KANAI\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2d02cda e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"2d02cda\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8268bf6 elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"8268bf6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Defined by a deep sense of stewardship, the majority of the land at Mandarin Oriental Residences Kanai, Riviera Maya remains untouched and protected, ensuring this pristine sanctuary is preserved for generations to come.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-74c44bb elementor-widget__width-initial elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"74c44bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Defined by a deep sense of stewardship, the majority of the land at Mandarin Oriental Residences Kanai, Riviera Maya remains untouched and protected, ensuring this pristine sanctuary is preserved for generations to come.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\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>ENDURING DESTINATION EXPLORE KANAI, RIVIERA MAYA A LEGACY of LAND and LEGEND Kanai is a magical setting on Riviera Maya, a place filled with natural beauty on the pristine shores of the Caribbean Sea. Owners will have the rare opportunity to live in a protected setting surrounded by native flora and fauna, yet also a [&hellip;]<\/p>\n","protected":false},"author":30,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-10140","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kanai On Riviera Maya | Mandarin Oriental Residences<\/title>\n<meta name=\"description\" content=\"Set on the Caribbean coast, Mandarin Oriental Residences Kanai is near the international airport, PGA golf courses, Mayan ruins, and Playa del Carmen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mo-residencesrivieramaya.com\/es\/location\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kanai On Riviera Maya | Mandarin Oriental Residences\" \/>\n<meta property=\"og:description\" content=\"Set on the Caribbean coast, Mandarin Oriental Residences Kanai is near the international airport, PGA golf courses, Mayan ruins and Playa del Carmen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mo-residencesrivieramaya.com\/es\/location\/\" \/>\n<meta property=\"og:site_name\" content=\"Mandarin Oriental Residences Kanai, Riviera Maya\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/YerbaBuenaIslandSF\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-01T19:58:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"11640\" \/>\n\t<meta property=\"og:image:height\" content=\"6240\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Kanai On Riviera Maya | Mandarin Oriental Residences\" \/>\n<meta name=\"twitter:description\" content=\"Set on the Caribbean coast, Mandarin Oriental Residences Kanai is near the international airport, PGA golf courses, Mayan ruins and Playa del Carmen.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Group-674.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/location\\\/\",\"url\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/location\\\/\",\"name\":\"Kanai On Riviera Maya | Mandarin Oriental Residences\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/location\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/location\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Kanai-Map.jpg\",\"datePublished\":\"2026-06-22T02:27:25+00:00\",\"dateModified\":\"2026-10-01T19:58:57+00:00\",\"description\":\"Set on the Caribbean coast, Mandarin Oriental Residences Kanai is near the international airport, PGA golf courses, Mayan ruins, and Playa del Carmen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/location\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/location\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/location\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Kanai-Map.jpg\",\"contentUrl\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Kanai-Map.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/location\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Location\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/#website\",\"url\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/\",\"name\":\"Mandarin Oriental Residences Kanai, Riviera Maya\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/#organization\",\"name\":\"Mandarin Oriental Residences Kanai, Riviera Maya\",\"url\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mok-logo-white-1.svg\",\"contentUrl\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mok-logo-white-1.svg\",\"width\":1344,\"height\":708,\"caption\":\"Mandarin Oriental Residences Kanai, Riviera Maya\"},\"image\":{\"@id\":\"https:\\\/\\\/mo-residencesrivieramaya.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/YerbaBuenaIslandSF\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kanai On Riviera Maya | Mandarin Oriental Residences","description":"Set on the Caribbean coast, Mandarin Oriental Residences Kanai is near the international airport, PGA golf courses, Mayan ruins, and Playa del Carmen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mo-residencesrivieramaya.com\/es\/location\/","og_locale":"es_MX","og_type":"article","og_title":"Kanai On Riviera Maya | Mandarin Oriental Residences","og_description":"Set on the Caribbean coast, Mandarin Oriental Residences Kanai is near the international airport, PGA golf courses, Mayan ruins and Playa del Carmen.","og_url":"https:\/\/mo-residencesrivieramaya.com\/es\/location\/","og_site_name":"Mandarin Oriental Residences Kanai, Riviera Maya","article_publisher":"https:\/\/www.facebook.com\/YerbaBuenaIslandSF","article_modified_time":"2026-10-01T19:58:57+00:00","og_image":[{"width":11640,"height":6240,"url":"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_title":"Kanai On Riviera Maya | Mandarin Oriental Residences","twitter_description":"Set on the Caribbean coast, Mandarin Oriental Residences Kanai is near the international airport, PGA golf courses, Mayan ruins and Playa del Carmen.","twitter_image":"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Group-674.jpg","twitter_misc":{"Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mo-residencesrivieramaya.com\/location\/","url":"https:\/\/mo-residencesrivieramaya.com\/location\/","name":"Kanai On Riviera Maya | Mandarin Oriental Residences","isPartOf":{"@id":"https:\/\/mo-residencesrivieramaya.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mo-residencesrivieramaya.com\/location\/#primaryimage"},"image":{"@id":"https:\/\/mo-residencesrivieramaya.com\/location\/#primaryimage"},"thumbnailUrl":"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map.jpg","datePublished":"2026-06-22T02:27:25+00:00","dateModified":"2026-10-01T19:58:57+00:00","description":"Set on the Caribbean coast, Mandarin Oriental Residences Kanai is near the international airport, PGA golf courses, Mayan ruins, and Playa del Carmen.","breadcrumb":{"@id":"https:\/\/mo-residencesrivieramaya.com\/location\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mo-residencesrivieramaya.com\/location\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/mo-residencesrivieramaya.com\/location\/#primaryimage","url":"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map.jpg","contentUrl":"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/07\/Kanai-Map.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/mo-residencesrivieramaya.com\/location\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mo-residencesrivieramaya.com\/"},{"@type":"ListItem","position":2,"name":"Location"}]},{"@type":"WebSite","@id":"https:\/\/mo-residencesrivieramaya.com\/#website","url":"https:\/\/mo-residencesrivieramaya.com\/","name":"Mandarin Oriental Residences Kanai, Riviera Maya","description":"","publisher":{"@id":"https:\/\/mo-residencesrivieramaya.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mo-residencesrivieramaya.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/mo-residencesrivieramaya.com\/#organization","name":"Mandarin Oriental Residences Kanai, Riviera Maya","url":"https:\/\/mo-residencesrivieramaya.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/mo-residencesrivieramaya.com\/#\/schema\/logo\/image\/","url":"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/mok-logo-white-1.svg","contentUrl":"https:\/\/mo-residencesrivieramaya.com\/wp-content\/uploads\/2026\/06\/mok-logo-white-1.svg","width":1344,"height":708,"caption":"Mandarin Oriental Residences Kanai, Riviera Maya"},"image":{"@id":"https:\/\/mo-residencesrivieramaya.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/YerbaBuenaIslandSF"]}]}},"_links":{"self":[{"href":"https:\/\/mo-residencesrivieramaya.com\/es\/wp-json\/wp\/v2\/pages\/10140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mo-residencesrivieramaya.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mo-residencesrivieramaya.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mo-residencesrivieramaya.com\/es\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/mo-residencesrivieramaya.com\/es\/wp-json\/wp\/v2\/comments?post=10140"}],"version-history":[{"count":99,"href":"https:\/\/mo-residencesrivieramaya.com\/es\/wp-json\/wp\/v2\/pages\/10140\/revisions"}],"predecessor-version":[{"id":12253,"href":"https:\/\/mo-residencesrivieramaya.com\/es\/wp-json\/wp\/v2\/pages\/10140\/revisions\/12253"}],"wp:attachment":[{"href":"https:\/\/mo-residencesrivieramaya.com\/es\/wp-json\/wp\/v2\/media?parent=10140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}