{"id":258,"date":"2026-08-03T00:31:43","date_gmt":"2026-08-03T00:31:43","guid":{"rendered":"https:\/\/viadialoga.com\/?page_id=258"},"modified":"2026-08-05T19:44:38","modified_gmt":"2026-08-05T19:44:38","slug":"schedule","status":"publish","type":"page","link":"https:\/\/viadialoga.com\/es\/schedule\/","title":{"rendered":"Schedule"},"content":{"rendered":"\n<!-- =========================================\nV\u00cdA DIALOGA \u2014 FULL-WIDTH RESPONSIVE NAVIGATION\n\nDesktop: horizontal and edge-to-edge\nTablet: horizontal and edge-to-edge\nMobile: dropdown hamburger menu\nNo JavaScript required\n========================================= -->\n\n<style>\n  .vd-site-nav,\n  .vd-site-nav * {\n    box-sizing: border-box;\n  }\n\n  .vd-site-nav {\n    --vd-dark: #172f2a;\n    --vd-green: #1d5a49;\n    --vd-green-hover: #17483b;\n    --vd-cream: #fbfaf7;\n    --vd-white: #ffffff;\n    --vd-border: #d9e2de;\n    --vd-text: #26302d;\n\n    position: relative;\n    z-index: 1000;\n\n    \/*\n     * Breaks the navigation outside the WordPress\n     * content container on desktop, tablet, and mobile.\n     *\/\n    width: 100vw;\n    max-width: none;\n    margin-right: calc(50% - 50vw);\n    margin-left: calc(50% - 50vw);\n\n    padding: 0;\n    border-bottom: 1px solid var(--vd-border);\n    background: var(--vd-cream);\n    color: var(--vd-text);\n    font-family: Arial, Helvetica, sans-serif;\n  }\n\n  .vd-nav-inner {\n    display: flex;\n    width: 100%;\n    min-height: 76px;\n    margin: 0;\n    padding: 0 32px;\n    align-items: center;\n    justify-content: space-between;\n    gap: 28px;\n  }\n\n  .vd-nav-brand {\n    display: inline-flex;\n    color: var(--vd-dark);\n    font-size: clamp(1.55rem, 3vw, 2.15rem);\n    font-weight: 800;\n    line-height: 1;\n    text-decoration: none;\n    white-space: nowrap;\n    align-items: center;\n  }\n\n  .vd-nav-brand:hover {\n    color: var(--vd-green);\n    text-decoration: none;\n  }\n\n  .vd-nav-links {\n    display: flex;\n    margin: 0;\n    padding: 0;\n    list-style: none;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 6px;\n  }\n\n  .vd-nav-links li {\n    margin: 0;\n    padding: 0;\n  }\n\n  .vd-nav-link {\n    display: inline-flex;\n    min-height: 44px;\n    padding: 10px 15px;\n    border-radius: 9px;\n    color: var(--vd-text);\n    font-size: 0.98rem;\n    font-weight: 700;\n    line-height: 1.2;\n    text-decoration: none;\n    align-items: center;\n    justify-content: center;\n    transition:\n      background 0.2s ease,\n      color 0.2s ease,\n      transform 0.2s ease;\n  }\n\n  .vd-nav-link:hover {\n    background: #edf4f1;\n    color: var(--vd-green);\n    text-decoration: none;\n    transform: translateY(-1px);\n  }\n\n  .vd-nav-link:focus-visible,\n  .vd-nav-brand:focus-visible,\n  .vd-nav-toggle-label:focus-visible {\n    outline: 3px solid rgba(29, 90, 73, 0.25);\n    outline-offset: 3px;\n  }\n\n  .vd-nav-schedule {\n    margin-left: 6px;\n    padding-right: 20px;\n    padding-left: 20px;\n    background: var(--vd-green);\n    color: var(--vd-white);\n  }\n\n  .vd-nav-schedule:hover {\n    background: var(--vd-green-hover);\n    color: var(--vd-white);\n  }\n\n  \/*\n   * Hidden checkbox controls the mobile menu.\n   *\/\n\n  .vd-nav-toggle {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    overflow: hidden;\n    opacity: 0;\n    pointer-events: none;\n  }\n\n  .vd-nav-toggle-label {\n    display: none;\n    width: auto;\n    min-width: 90px;\n    height: 42px;\n    padding: 0 13px;\n    border: 1px solid var(--vd-border);\n    border-radius: 9px;\n    background: var(--vd-white);\n    cursor: pointer;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n  }\n\n  .vd-nav-toggle-text {\n    color: var(--vd-dark);\n    font-size: 0.92rem;\n    font-weight: 700;\n    line-height: 1;\n  }\n\n  .vd-nav-toggle-icon,\n  .vd-nav-toggle-icon::before,\n  .vd-nav-toggle-icon::after {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 2px;\n    background: var(--vd-dark);\n    transition:\n      transform 0.2s ease,\n      opacity 0.2s ease;\n  }\n\n  .vd-nav-toggle-icon {\n    position: relative;\n  }\n\n  .vd-nav-toggle-icon::before,\n  .vd-nav-toggle-icon::after {\n    position: absolute;\n    left: 0;\n    content: \"\";\n  }\n\n  .vd-nav-toggle-icon::before {\n    top: -7px;\n  }\n\n  .vd-nav-toggle-icon::after {\n    top: 7px;\n  }\n\n  \/*\n   * Tablet layout remains horizontal.\n   *\/\n\n  @media (max-width: 900px) and (min-width: 621px) {\n    .vd-nav-inner {\n      min-height: 70px;\n      padding-right: 20px;\n      padding-left: 20px;\n      gap: 12px;\n    }\n\n    .vd-nav-brand {\n      font-size: 1.55rem;\n    }\n\n    .vd-nav-links {\n      gap: 2px;\n    }\n\n    .vd-nav-link {\n      padding-right: 10px;\n      padding-left: 10px;\n      font-size: 0.9rem;\n    }\n\n    .vd-nav-schedule {\n      margin-left: 2px;\n      padding-right: 14px;\n      padding-left: 14px;\n    }\n  }\n\n  \/*\n   * Mobile dropdown begins only below 620px.\n   *\/\n\n  @media (max-width: 620px) {\n    .vd-nav-inner {\n      position: relative;\n      min-height: 68px;\n      padding: 0 12px;\n      flex-wrap: wrap;\n      gap: 0;\n    }\n\n    .vd-nav-brand {\n      font-size: 1.45rem;\n    }\n\n    .vd-nav-toggle-label {\n      display: inline-flex;\n      margin-right: 16px;\n    }\n\n    .vd-nav-links {\n      display: none;\n      width: calc(100% + 24px);\n      margin-right: -12px;\n      margin-left: -12px;\n      padding: 0;\n      border-top: 1px solid var(--vd-border);\n      background: var(--vd-white);\n      flex-direction: column;\n      align-items: stretch;\n      gap: 0;\n    }\n\n    .vd-nav-links li {\n      width: 100%;\n      border-bottom: 1px solid var(--vd-border);\n    }\n\n    .vd-nav-links li:last-child {\n      border-bottom: 0;\n    }\n\n    .vd-nav-link {\n      width: 100%;\n      min-height: 54px;\n      padding: 14px 20px;\n      border: 0;\n      border-radius: 0;\n      justify-content: flex-start;\n    }\n\n    .vd-nav-link:hover {\n      background: #edf4f1;\n      transform: none;\n    }\n\n    .vd-nav-schedule {\n      margin: 0;\n      background: var(--vd-green);\n      color: var(--vd-white);\n      justify-content: center;\n    }\n\n    .vd-nav-schedule:hover {\n      background: var(--vd-green-hover);\n      color: var(--vd-white);\n    }\n\n    .vd-nav-toggle:checked ~ .vd-nav-links {\n      display: flex;\n    }\n\n    .vd-nav-toggle:checked\n      + .vd-nav-toggle-label\n      .vd-nav-toggle-icon {\n      background: transparent;\n    }\n\n    .vd-nav-toggle:checked\n      + .vd-nav-toggle-label\n      .vd-nav-toggle-icon::before {\n      top: 0;\n      transform: rotate(45deg);\n    }\n\n    .vd-nav-toggle:checked\n      + .vd-nav-toggle-label\n      .vd-nav-toggle-icon::after {\n      top: 0;\n      transform: rotate(-45deg);\n    }\n  }\n<\/style>\n\n<nav class=\"vd-site-nav\" aria-label=\"Main navigation\">\n  <div class=\"vd-nav-inner\">\n\n    <a class=\"vd-nav-brand\" href=\"https:\/\/viadialoga.com\/\" aria-label=\"V\u00eda Dialoga home\">\n      V\u00eda Dialoga\n    <\/a>\n\n    <input class=\"vd-nav-toggle\" id=\"vdNavToggle\" type=\"checkbox\">\n\n    <label class=\"vd-nav-toggle-label\" for=\"vdNavToggle\" aria-label=\"Open or close navigation menu\">\n      <span class=\"vd-nav-toggle-text\">Menu<\/span>\n      <span class=\"vd-nav-toggle-icon\"><\/span>\n    <\/label>\n\n    <ul class=\"vd-nav-links\">\n      <li>\n        <a class=\"vd-nav-link\" href=\"https:\/\/viadialoga.com\/\">\n          Home\n        <\/a>\n      <\/li>\n\n      <li>\n        <a class=\"vd-nav-link\" href=\"https:\/\/viadialoga.com\/about-us\/\">\n          About Us\n        <\/a>\n      <\/li>\n\n      <li>\n        <a class=\"vd-nav-link\" href=\"https:\/\/viadialoga.com\/prices\/\">\n          Prices\n        <\/a>\n      <\/li>\n\n      <li>\n        <a class=\"vd-nav-link\" href=\"https:\/\/viadialoga.com\/free-study-material\/\">\n          Free Study Material\n        <\/a>\n      <\/li>\n\n      <li>\n        <a class=\"vd-nav-link vd-nav-schedule\" href=\"https:\/\/viadialoga.com\/schedule\/\">\n          Schedule\n        <\/a>\n      <\/li>\n    <\/ul>\n\n  <\/div>\n<\/nav>\n\n\n\n<style>\n  .vd-punchpass-header-section,\n  .vd-punchpass-header-section * {\n    box-sizing: border-box;\n  }\n\n  .vd-punchpass-header-section {\n    width: 100%;\n    margin: 0;\n    padding: 14px 16px;\n    background: #fbfaf7;\n    color: #26302d;\n    font-family: Arial, Helvetica, sans-serif;\n  }\n\n  .vd-punchpass-header-section .vd-punchpass-inner {\n    width: 100%;\n    max-width: 1240px;\n    margin: 0 auto;\n  }\n\n  .vd-punchpass-header-section .vd-schedule-top {\n    display: flex;\n    width: 100%;\n    align-items: center;\n    justify-content: space-between;\n    gap: 18px;\n  }\n\n  .vd-punchpass-header-section .vd-schedule-top-text {\n    flex: 1 1 auto;\n    min-width: 0;\n  }\n\n  .vd-punchpass-header-section .vd-punchpass-heading {\n    margin: 0;\n    color: #26302d;\n    font-size: clamp(2.2rem, 5vw, 4rem);\n    font-weight: 800;\n    line-height: 1.02;\n  }\n\n  .vd-punchpass-header-section .vd-punchpass-description {\n    display: block;\n    margin-top: 6px;\n    color: #26302d;\n    font-size: 1rem;\n    line-height: 1.2;\n  }\n\n  .vd-punchpass-header-section .vd-private-button {\n    display: inline-flex;\n    flex: 0 0 315px;\n    min-height: 88px;\n    padding: 14px 22px;\n    border: 0;\n    border-radius: 16px;\n    background: #1d5a49;\n    color: #ffffff !important;\n    font-size: 1.2rem;\n    font-weight: 800;\n    line-height: 1.15;\n    text-align: center;\n    text-decoration: none !important;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 8px 20px rgba(29, 90, 73, 0.18);\n  }\n\n  .vd-punchpass-header-section .vd-private-button:hover {\n    background: #17483b;\n    color: #ffffff !important;\n    text-decoration: none !important;\n  }\n\n  @media (max-width: 700px) {\n    .vd-punchpass-header-section {\n      padding: 10px 16px;\n    }\n\n    .vd-punchpass-header-section .vd-schedule-top {\n      flex-direction: column;\n      align-items: stretch;\n      gap: 10px;\n    }\n\n    .vd-punchpass-header-section .vd-punchpass-heading {\n      font-size: 2.2rem;\n      line-height: 1.02;\n    }\n\n    .vd-punchpass-header-section .vd-punchpass-description {\n      display: none;\n    }\n\n    .vd-punchpass-header-section .vd-private-button {\n      width: 100%;\n      flex-basis: auto;\n      min-height: 54px;\n      padding: 10px 18px;\n      font-size: 1rem;\n      line-height: 1.1;\n    }\n  }\n<\/style>\n\n<section class=\"vd-punchpass-header-section\">\n  <div class=\"vd-punchpass-inner\">\n\n    <div class=\"vd-schedule-top\">\n\n      <div class=\"vd-schedule-top-text\">\n        <h1 class=\"vd-punchpass-heading\">\n          Group Class Schedule\n        <\/h1>\n\n        <b class=\"vd-punchpass-description\">\n          To schedule a private one-on-one lesson or private group lesson,\n          use the green button.\n        <\/b>\n      <\/div>\n\n      <a class=\"vd-private-button\" href=\"https:\/\/viadialoga.com\/private-lessons\/\">\n        Schedule Private<br>\n        Lessons &amp; Groups\n      <\/a>\n\n    <\/div>\n\n  <\/div>\n<\/section>\n\n\n\n<style data-wp-block-html=\"css\">\n.vd-world-time-tool,\n.vd-world-time-tool *,\n.vd-world-time-tool *::before,\n.vd-world-time-tool *::after {\n  box-sizing: border-box;\n}\n\n.vd-world-time-tool {\n  width: 100%;\n  font-family: Arial, Helvetica, sans-serif;\n}\n\n.vd-world-time-tool__open {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  min-height: 64px;\n  padding: 16px 24px;\n  border: 0;\n  border-radius: 8px;\n  background: #ff6600;\n  color: #ffffff;\n  font: inherit;\n  font-size: 20px;\n  font-weight: 800;\n  line-height: 1.2;\n  text-align: center;\n  cursor: pointer;\n}\n\n.vd-world-time-tool__open:hover {\n  background: #e65c00;\n}\n\n.vd-world-time-tool__open:active {\n  background: #cc5200;\n}\n\n.vd-world-time-tool button:focus-visible,\n.vd-world-time-tool input:focus-visible,\n.vd-world-time-tool select:focus-visible {\n  outline: 3px solid rgba(255, 102, 0, 0.35);\n  outline-offset: 2px;\n}\n\n.vd-world-time-dialog {\n  width: min(680px, calc(100% - 28px));\n  max-height: calc(100dvh - 28px);\n  margin: auto;\n  padding: 0;\n  border: 0;\n  border-radius: 16px;\n  background: #ffffff;\n  color: #172033;\n  overflow: hidden;\n  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.38);\n}\n\n.vd-world-time-dialog::backdrop {\n  background: rgba(0, 0, 0, 0.7);\n}\n\n.vd-world-time-dialog__content {\n  position: relative;\n  max-height: calc(100dvh - 28px);\n  padding: 26px;\n  overflow-y: auto;\n  overscroll-behavior: contain;\n}\n\n.vd-world-time-dialog__close {\n  position: absolute;\n  top: 9px;\n  right: 10px;\n  z-index: 4;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 42px;\n  height: 42px;\n  padding: 0;\n  border: 0;\n  border-radius: 50%;\n  background: transparent;\n  color: #172033;\n  font-size: 34px;\n  line-height: 1;\n  cursor: pointer;\n}\n\n.vd-world-time-dialog__close:hover {\n  background: #edf1f5;\n}\n\n.vd-world-time-dialog__header {\n  margin: 12px 42px 22px;\n  text-align: center;\n}\n\n.vd-world-time-dialog__header h2 {\n  margin: 0;\n  color: #172033;\n  font-size: 28px;\n  line-height: 1.2;\n}\n\n.vd-language-field {\n  max-width: 210px;\n}\n\n.vd-world-time-form {\n  display: grid;\n  gap: 17px;\n}\n\n.vd-world-time-field {\n  display: grid;\n  gap: 7px;\n}\n\n.vd-world-time-field label {\n  color: #172033;\n  font-size: 16px;\n  font-weight: 700;\n}\n\n.vd-world-time-field select,\n.vd-world-time-field input {\n  display: block;\n  width: 100%;\n  min-width: 0;\n  min-height: 48px;\n  border: 1px solid #aeb8c6;\n  border-radius: 9px;\n  background: #ffffff;\n  color: #172033;\n  font: inherit;\n  font-size: 16px;\n}\n\n.vd-world-time-field select,\n.vd-world-time-field input[type=\"search\"] {\n  padding: 10px 12px;\n}\n\n.vd-world-time-field input[type=\"date\"] {\n  padding: 8px 10px;\n}\n\n.vd-location-search-wrapper {\n  position: relative;\n}\n\n.vd-location-results {\n  position: absolute;\n  z-index: 20;\n  top: calc(100% + 5px);\n  right: 0;\n  left: 0;\n  max-height: 280px;\n  border: 1px solid #aeb8c6;\n  border-radius: 9px;\n  background: #ffffff;\n  overflow-y: auto;\n  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);\n}\n\n.vd-location-result {\n  display: block;\n  width: 100%;\n  padding: 11px 13px;\n  border: 0;\n  border-bottom: 1px solid #e6e9ee;\n  border-radius: 0;\n  background: #ffffff;\n  color: #172033;\n  font: inherit;\n  font-size: 15px;\n  line-height: 1.35;\n  text-align: left;\n  cursor: pointer;\n}\n\n.vd-location-result:last-child {\n  border-bottom: 0;\n}\n\n.vd-location-result:hover,\n.vd-location-result.is-active {\n  background: #fff0e6;\n}\n\n.vd-location-empty {\n  padding: 13px;\n  color: #5d6878;\n  font-size: 14px;\n  line-height: 1.4;\n}\n\n.vd-selected-location {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 6px;\n  padding: 10px 12px;\n  border: 1px solid #f2b38a;\n  border-radius: 9px;\n  background: #fff6f0;\n  color: #26384f;\n  font-size: 14px;\n  line-height: 1.4;\n}\n\n.vd-selected-location[hidden] {\n  display: none;\n}\n\n.vd-clear-location {\n  margin-left: auto;\n  padding: 5px 9px;\n  border: 1px solid #c46b32;\n  border-radius: 6px;\n  background: #ffffff;\n  color: #7a3b14;\n  font: inherit;\n  font-size: 13px;\n  font-weight: 700;\n  cursor: pointer;\n}\n\n.vd-world-time-convert {\n  width: 100%;\n  min-height: 51px;\n  margin-top: 2px;\n  padding: 12px 18px;\n  border: 0;\n  border-radius: 9px;\n  background: #ff6600;\n  color: #ffffff;\n  font: inherit;\n  font-size: 17px;\n  font-weight: 700;\n  cursor: pointer;\n}\n\n.vd-world-time-convert:hover {\n  background: #e65c00;\n}\n\n.vd-world-time-convert:active {\n  background: #cc5200;\n}\n\n.vd-world-time-message {\n  min-height: 22px;\n  margin-top: 14px;\n  color: #a12622;\n  font-size: 15px;\n  font-weight: 700;\n  line-height: 1.4;\n  text-align: center;\n}\n\n.vd-world-time-result {\n  margin-top: 7px;\n  padding: 23px 17px;\n  border: 2px solid #ff6600;\n  border-radius: 12px;\n  background: #fff6f0;\n  text-align: center;\n}\n\n.vd-world-time-result[hidden] {\n  display: none;\n}\n\n.vd-result-heading {\n  margin-bottom: 8px;\n  color: #5a4639;\n  font-size: 16px;\n  font-weight: 700;\n}\n\n.vd-result-time {\n  color: #c94f00;\n  font-size: 36px;\n  font-weight: 800;\n  line-height: 1.15;\n}\n\n.vd-result-date {\n  margin-top: 7px;\n  color: #26384f;\n  font-size: 18px;\n  font-weight: 700;\n  line-height: 1.35;\n}\n\n.vd-result-zone {\n  margin-top: 5px;\n  color: #536176;\n  font-size: 15px;\n}\n\n.vd-result-day {\n  margin-top: 12px;\n  color: #8a4b00;\n  font-size: 15px;\n  font-weight: 700;\n  line-height: 1.4;\n}\n\n.vd-result-source {\n  margin-top: 15px;\n  padding-top: 13px;\n  border-top: 1px solid #e0b99f;\n  color: #425269;\n  font-size: 14px;\n  line-height: 1.45;\n}\n\nbody.vd-world-time-open {\n  overflow: hidden;\n}\n\n@media (max-width: 560px) {\n  .vd-world-time-tool__open {\n    min-height: 58px;\n    padding: 14px 18px;\n    font-size: 18px;\n  }\n\n  .vd-world-time-dialog {\n    width: calc(100% - 16px);\n    max-height: calc(100dvh - 16px);\n    border-radius: 12px;\n  }\n\n  .vd-world-time-dialog__content {\n    max-height: calc(100dvh - 16px);\n    padding: 21px 14px 18px;\n  }\n\n  .vd-world-time-dialog__header {\n    margin-right: 35px;\n    margin-left: 35px;\n  }\n\n  .vd-world-time-dialog__header h2 {\n    font-size: 23px;\n  }\n\n  .vd-language-field {\n    max-width: none;\n    padding-right: 44px;\n  }\n\n  .vd-result-time {\n    font-size: 30px;\n  }\n\n  .vd-result-date {\n    font-size: 16px;\n  }\n\n  .vd-location-results {\n    max-height: 220px;\n  }\n\n  .vd-clear-location {\n    width: 100%;\n    margin: 4px 0 0;\n  }\n}\n\n#vd-result-zone {\n  display: none !important;\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\n(function () {\n  \"use strict\";\n\n  \/\/ WordPress can load custom JavaScript before the page markup exists.\n  \/\/ Put the entire converter inside an initializer and call it only after\n  \/\/ DOMContentLoaded (or immediately when the DOM is already available).\n  function initWorldTimeTool() {\n\n  const EASTERN_ZONE = \"America\/New_York\";\n  const MAX_RESULTS = 12;\n\n  const LOCATIONS = [\n    {\n      zone: \"Pacific\/Pago_Pago\",\n      en: \"American Samoa \u2014 Pago Pago\",\n      es: \"Samoa Americana \u2014 Pago Pago\",\n      keywords: \"american samoa pago pago oceania pacific\"\n    },\n    {\n      zone: \"Europe\/Andorra\",\n      en: \"Andorra\",\n      es: \"Andorra\",\n      keywords: \"andorra europe europa\"\n    },\n    {\n      zone: \"Africa\/Luanda\",\n      en: \"Angola \u2014 Luanda\",\n      es: \"Angola \u2014 Luanda\",\n      keywords: \"angola luanda africa\"\n    },\n    {\n      zone: \"America\/Antigua\",\n      en: \"Antigua and Barbuda\",\n      es: \"Antigua y Barbuda\",\n      keywords: \"antigua barbuda caribbean caribe\"\n    },\n    {\n      zone: \"America\/Argentina\/Buenos_Aires\",\n      en: \"Argentina \u2014 Buenos Aires\",\n      es: \"Argentina \u2014 Buenos Aires\",\n      keywords: \"argentina buenos aires cordoba rosario south america sudamerica\"\n    },\n    {\n      zone: \"Asia\/Yerevan\",\n      en: \"Armenia \u2014 Yerevan\",\n      es: \"Armenia \u2014 Erev\u00e1n\",\n      keywords: \"armenia yerevan erevan asia caucasus caucaso\"\n    },\n    {\n      zone: \"America\/Aruba\",\n      en: \"Aruba\",\n      es: \"Aruba\",\n      keywords: \"aruba caribbean caribe\"\n    },\n    {\n      zone: \"Australia\/Sydney\",\n      en: \"Australia \u2014 Sydney, Melbourne and Canberra\",\n      es: \"Australia \u2014 S\u00eddney, Melbourne y Canberra\",\n      keywords: \"australia sydney sidney melbourne canberra new south wales victoria\"\n    },\n    {\n      zone: \"Australia\/Brisbane\",\n      en: \"Australia \u2014 Brisbane and Queensland\",\n      es: \"Australia \u2014 Brisbane y Queensland\",\n      keywords: \"australia brisbane queensland\"\n    },\n    {\n      zone: \"Australia\/Adelaide\",\n      en: \"Australia \u2014 Adelaide and South Australia\",\n      es: \"Australia \u2014 Adelaida y Australia Meridional\",\n      keywords: \"australia adelaide adelaida south australia\"\n    },\n    {\n      zone: \"Australia\/Darwin\",\n      en: \"Australia \u2014 Darwin and Northern Territory\",\n      es: \"Australia \u2014 Darwin y Territorio del Norte\",\n      keywords: \"australia darwin northern territory\"\n    },\n    {\n      zone: \"Australia\/Perth\",\n      en: \"Australia \u2014 Perth and Western Australia\",\n      es: \"Australia \u2014 Perth y Australia Occidental\",\n      keywords: \"australia perth western australia\"\n    },\n    {\n      zone: \"Europe\/Vienna\",\n      en: \"Austria \u2014 Vienna\",\n      es: \"Austria \u2014 Viena\",\n      keywords: \"austria vienna viena europe europa\"\n    },\n    {\n      zone: \"Asia\/Baku\",\n      en: \"Azerbaijan \u2014 Baku\",\n      es: \"Azerbaiy\u00e1n \u2014 Bak\u00fa\",\n      keywords: \"azerbaijan azerbaiyan baku asia caucasus\"\n    },\n    {\n      zone: \"America\/Nassau\",\n      en: \"The Bahamas \u2014 Nassau\",\n      es: \"Las Bahamas \u2014 Nas\u00e1u\",\n      keywords: \"bahamas nassau nasau caribbean caribe\"\n    },\n    {\n      zone: \"Asia\/Bahrain\",\n      en: \"Bahrain \u2014 Manama\",\n      es: \"Bar\u00e9in \u2014 Manama\",\n      keywords: \"bahrain barein manama gulf middle east medio oriente\"\n    },\n    {\n      zone: \"Asia\/Dhaka\",\n      en: \"Bangladesh \u2014 Dhaka\",\n      es: \"Banglad\u00e9s \u2014 Daca\",\n      keywords: \"bangladesh dhaka daca asia\"\n    },\n    {\n      zone: \"America\/Barbados\",\n      en: \"Barbados\",\n      es: \"Barbados\",\n      keywords: \"barbados caribbean caribe\"\n    },\n    {\n      zone: \"Europe\/Minsk\",\n      en: \"Belarus \u2014 Minsk\",\n      es: \"Bielorrusia \u2014 Minsk\",\n      keywords: \"belarus bielorrusia minsk europe europa\"\n    },\n    {\n      zone: \"Europe\/Brussels\",\n      en: \"Belgium \u2014 Brussels\",\n      es: \"B\u00e9lgica \u2014 Bruselas\",\n      keywords: \"belgium belgica brussels bruselas europe europa\"\n    },\n    {\n      zone: \"America\/Belize\",\n      en: \"Belize\",\n      es: \"Belice\",\n      keywords: \"belize belice central america centroamerica\"\n    },\n    {\n      zone: \"Africa\/Porto-Novo\",\n      en: \"Benin \u2014 Porto-Novo\",\n      es: \"Ben\u00edn \u2014 Porto Novo\",\n      keywords: \"benin porto novo africa west africa\"\n    },\n    {\n      zone: \"Atlantic\/Bermuda\",\n      en: \"Bermuda\",\n      es: \"Bermudas\",\n      keywords: \"bermuda bermudas atlantic atlantico\"\n    },\n    {\n      zone: \"Asia\/Thimphu\",\n      en: \"Bhutan \u2014 Thimphu\",\n      es: \"But\u00e1n \u2014 Timbu\",\n      keywords: \"bhutan butan thimphu timbu asia\"\n    },\n    {\n      zone: \"America\/La_Paz\",\n      en: \"Bolivia \u2014 La Paz\",\n      es: \"Bolivia \u2014 La Paz\",\n      keywords: \"bolivia la paz santa cruz south america sudamerica\"\n    },\n    {\n      zone: \"Europe\/Sarajevo\",\n      en: \"Bosnia and Herzegovina \u2014 Sarajevo\",\n      es: \"Bosnia y Herzegovina \u2014 Sarajevo\",\n      keywords: \"bosnia herzegovina sarajevo europe europa balkans balcanes\"\n    },\n    {\n      zone: \"Africa\/Gaborone\",\n      en: \"Botswana \u2014 Gaborone\",\n      es: \"Botsuana \u2014 Gaborone\",\n      keywords: \"botswana botsuana gaborone africa\"\n    },\n    {\n      zone: \"America\/Sao_Paulo\",\n      en: \"Brazil \u2014 S\u00e3o Paulo, Rio de Janeiro and Bras\u00edlia\",\n      es: \"Brasil \u2014 S\u00e3o Paulo, R\u00edo de Janeiro y Brasilia\",\n      keywords: \"brazil brasil sao paulo san pablo rio janeiro brasilia\"\n    },\n    {\n      zone: \"America\/Manaus\",\n      en: \"Brazil \u2014 Manaus and Central Amazon\",\n      es: \"Brasil \u2014 Manaos y Amazon\u00eda Central\",\n      keywords: \"brazil brasil manaus manaos amazon amazonas\"\n    },\n    {\n      zone: \"America\/Rio_Branco\",\n      en: \"Brazil \u2014 Acre and Rio Branco\",\n      es: \"Brasil \u2014 Acre y R\u00edo Branco\",\n      keywords: \"brazil brasil acre rio branco\"\n    },\n    {\n      zone: \"America\/Noronha\",\n      en: \"Brazil \u2014 Fernando de Noronha\",\n      es: \"Brasil \u2014 Fernando de Noronha\",\n      keywords: \"brazil brasil fernando noronha\"\n    },\n    {\n      zone: \"Asia\/Brunei\",\n      en: \"Brunei \u2014 Bandar Seri Begawan\",\n      es: \"Brun\u00e9i \u2014 Bandar Seri Begawan\",\n      keywords: \"brunei bandar seri begawan asia\"\n    },\n    {\n      zone: \"Europe\/Sofia\",\n      en: \"Bulgaria \u2014 Sofia\",\n      es: \"Bulgaria \u2014 Sof\u00eda\",\n      keywords: \"bulgaria sofia europe europa\"\n    },\n    {\n      zone: \"Africa\/Ouagadougou\",\n      en: \"Burkina Faso \u2014 Ouagadougou\",\n      es: \"Burkina Faso \u2014 Uagadug\u00fa\",\n      keywords: \"burkina faso ouagadougou uagadugu africa\"\n    },\n    {\n      zone: \"Africa\/Bujumbura\",\n      en: \"Burundi \u2014 Bujumbura\",\n      es: \"Burundi \u2014 Buyumbura\",\n      keywords: \"burundi bujumbura buyumbura africa\"\n    },\n    {\n      zone: \"Asia\/Phnom_Penh\",\n      en: \"Cambodia \u2014 Phnom Penh\",\n      es: \"Camboya \u2014 Nom Pen\",\n      keywords: \"cambodia camboya phnom penh nom pen asia\"\n    },\n    {\n      zone: \"Africa\/Douala\",\n      en: \"Cameroon \u2014 Douala and Yaound\u00e9\",\n      es: \"Camer\u00fan \u2014 Duala y Yaund\u00e9\",\n      keywords: \"cameroon camerun douala duala yaounde yaunde africa\"\n    },\n    {\n      zone: \"America\/Toronto\",\n      en: \"Canada \u2014 Eastern Time, Toronto and Ottawa\",\n      es: \"Canad\u00e1 \u2014 Hora del Este, Toronto y Ottawa\",\n      keywords: \"canada eastern east toronto ottawa ontario quebec montreal\"\n    },\n    {\n      zone: \"America\/Halifax\",\n      en: \"Canada \u2014 Atlantic Time, Halifax\",\n      es: \"Canad\u00e1 \u2014 Hora del Atl\u00e1ntico, Halifax\",\n      keywords: \"canada atlantic atlantico halifax nova scotia new brunswick\"\n    },\n    {\n      zone: \"America\/St_Johns\",\n      en: \"Canada \u2014 Newfoundland, St. John's\",\n      es: \"Canad\u00e1 \u2014 Terranova, San Juan de Terranova\",\n      keywords: \"canada newfoundland terranova st johns\"\n    },\n    {\n      zone: \"America\/Winnipeg\",\n      en: \"Canada \u2014 Central Time, Winnipeg\",\n      es: \"Canad\u00e1 \u2014 Hora Central, Winnipeg\",\n      keywords: \"canada central winnipeg manitoba\"\n    },\n    {\n      zone: \"America\/Regina\",\n      en: \"Canada \u2014 Saskatchewan, Regina\",\n      es: \"Canad\u00e1 \u2014 Saskatchewan, Regina\",\n      keywords: \"canada saskatchewan regina\"\n    },\n    {\n      zone: \"America\/Edmonton\",\n      en: \"Canada \u2014 Mountain Time, Edmonton and Calgary\",\n      es: \"Canad\u00e1 \u2014 Hora de la Monta\u00f1a, Edmonton y Calgary\",\n      keywords: \"canada mountain montana edmonton calgary alberta\"\n    },\n    {\n      zone: \"America\/Vancouver\",\n      en: \"Canada \u2014 Pacific Time, Vancouver\",\n      es: \"Canad\u00e1 \u2014 Hora del Pac\u00edfico, Vancouver\",\n      keywords: \"canada pacific pacifico vancouver british columbia\"\n    },\n    {\n      zone: \"America\/Whitehorse\",\n      en: \"Canada \u2014 Yukon, Whitehorse\",\n      es: \"Canad\u00e1 \u2014 Yuk\u00f3n, Whitehorse\",\n      keywords: \"canada yukon whitehorse\"\n    },\n    {\n      zone: \"Atlantic\/Cape_Verde\",\n      en: \"Cape Verde \u2014 Praia\",\n      es: \"Cabo Verde \u2014 Praia\",\n      keywords: \"cape verde cabo verde praia africa atlantic\"\n    },\n    {\n      zone: \"Africa\/Bangui\",\n      en: \"Central African Republic \u2014 Bangui\",\n      es: \"Rep\u00fablica Centroafricana \u2014 Bangui\",\n      keywords: \"central african republic republica centroafricana bangui africa\"\n    },\n    {\n      zone: \"Africa\/Ndjamena\",\n      en: \"Chad \u2014 N'Djamena\",\n      es: \"Chad \u2014 Yamena\",\n      keywords: \"chad ndjamena yamena africa\"\n    },\n    {\n      zone: \"America\/Santiago\",\n      en: \"Chile \u2014 Santiago and most continental regions\",\n      es: \"Chile \u2014 Santiago y la mayor\u00eda del territorio continental\",\n      keywords: \"chile santiago valparaiso concepcion south america sudamerica\"\n    },\n    {\n      zone: \"America\/Punta_Arenas\",\n      en: \"Chile \u2014 Punta Arenas and Magallanes\",\n      es: \"Chile \u2014 Punta Arenas y Magallanes\",\n      keywords: \"chile punta arenas magallanes patagonia\"\n    },\n    {\n      zone: \"Pacific\/Easter\",\n      en: \"Chile \u2014 Easter Island\",\n      es: \"Chile \u2014 Isla de Pascua\",\n      keywords: \"chile easter island isla pascua rapa nui\"\n    },\n    {\n      zone: \"Asia\/Shanghai\",\n      en: \"China \u2014 Beijing, Shanghai and most regions\",\n      es: \"China \u2014 Pek\u00edn, Shangh\u00e1i y la mayor\u00eda de las regiones\",\n      keywords: \"china beijing pekin shanghai guangzhou shenzhen\"\n    },\n    {\n      zone: \"America\/Bogota\",\n      en: \"Colombia \u2014 Bogot\u00e1\",\n      es: \"Colombia \u2014 Bogot\u00e1\",\n      keywords: \"colombia bogota medellin cali cartagena south america sudamerica\"\n    },\n    {\n      zone: \"Indian\/Comoro\",\n      en: \"Comoros \u2014 Moroni\",\n      es: \"Comoras \u2014 Moroni\",\n      keywords: \"comoros comoras moroni africa indian ocean\"\n    },\n    {\n      zone: \"Africa\/Kinshasa\",\n      en: \"DR Congo \u2014 Kinshasa and western regions\",\n      es: \"Rep\u00fablica Democr\u00e1tica del Congo \u2014 Kinsasa y regiones occidentales\",\n      keywords: \"dr congo democratic republic congo republica democratica kinsasa kinshasa\"\n    },\n    {\n      zone: \"Africa\/Lubumbashi\",\n      en: \"DR Congo \u2014 Lubumbashi and eastern regions\",\n      es: \"Rep\u00fablica Democr\u00e1tica del Congo \u2014 Lubumbashi y regiones orientales\",\n      keywords: \"dr congo democratic republic congo lubumbashi eastern\"\n    },\n    {\n      zone: \"Africa\/Brazzaville\",\n      en: \"Republic of the Congo \u2014 Brazzaville\",\n      es: \"Rep\u00fablica del Congo \u2014 Brazzaville\",\n      keywords: \"republic congo republica brazzaville africa\"\n    },\n    {\n      zone: \"America\/Costa_Rica\",\n      en: \"Costa Rica\",\n      es: \"Costa Rica\",\n      keywords: \"costa rica san jose central america centroamerica\"\n    },\n    {\n      zone: \"Europe\/Zagreb\",\n      en: \"Croatia \u2014 Zagreb\",\n      es: \"Croacia \u2014 Zagreb\",\n      keywords: \"croatia croacia zagreb europe europa balkans\"\n    },\n    {\n      zone: \"America\/Havana\",\n      en: \"Cuba \u2014 Havana\",\n      es: \"Cuba \u2014 La Habana\",\n      keywords: \"cuba havana habana caribbean caribe\"\n    },\n    {\n      zone: \"Asia\/Nicosia\",\n      en: \"Cyprus \u2014 Nicosia\",\n      es: \"Chipre \u2014 Nicosia\",\n      keywords: \"cyprus chipre nicosia europe asia mediterranean\"\n    },\n    {\n      zone: \"Europe\/Prague\",\n      en: \"Czechia \u2014 Prague\",\n      es: \"Chequia \u2014 Praga\",\n      keywords: \"czechia czech republic chequia republica checa prague praga europe\"\n    },\n    {\n      zone: \"Europe\/Copenhagen\",\n      en: \"Denmark \u2014 Copenhagen\",\n      es: \"Dinamarca \u2014 Copenhague\",\n      keywords: \"denmark dinamarca copenhagen copenhague europe\"\n    },\n    {\n      zone: \"Africa\/Djibouti\",\n      en: \"Djibouti\",\n      es: \"Yibuti\",\n      keywords: \"djibouti yibuti africa\"\n    },\n    {\n      zone: \"America\/Dominica\",\n      en: \"Dominica\",\n      es: \"Dominica\",\n      keywords: \"dominica caribbean caribe\"\n    },\n    {\n      zone: \"America\/Santo_Domingo\",\n      en: \"Dominican Republic \u2014 Santo Domingo\",\n      es: \"Rep\u00fablica Dominicana \u2014 Santo Domingo\",\n      keywords: \"dominican republic republica dominicana santo domingo dr rd caribbean\"\n    },\n    {\n      zone: \"Asia\/Dili\",\n      en: \"East Timor \u2014 Dili\",\n      es: \"Timor Oriental \u2014 Dili\",\n      keywords: \"east timor timor leste timor oriental dili asia\"\n    },\n    {\n      zone: \"America\/Guayaquil\",\n      en: \"Ecuador \u2014 Quito, Guayaquil and mainland regions\",\n      es: \"Ecuador \u2014 Quito, Guayaquil y territorio continental\",\n      keywords: \"ecuador quito guayaquil mainland continental south america\"\n    },\n    {\n      zone: \"Pacific\/Galapagos\",\n      en: \"Ecuador \u2014 Gal\u00e1pagos Islands\",\n      es: \"Ecuador \u2014 Islas Gal\u00e1pagos\",\n      keywords: \"ecuador galapagos islands islas\"\n    },\n    {\n      zone: \"Africa\/Cairo\",\n      en: \"Egypt \u2014 Cairo\",\n      es: \"Egipto \u2014 El Cairo\",\n      keywords: \"egypt egipto cairo el cairo africa middle east\"\n    },\n    {\n      zone: \"America\/El_Salvador\",\n      en: \"El Salvador\",\n      es: \"El Salvador\",\n      keywords: \"el salvador san salvador central america centroamerica\"\n    },\n    {\n      zone: \"Africa\/Malabo\",\n      en: \"Equatorial Guinea \u2014 Malabo\",\n      es: \"Guinea Ecuatorial \u2014 Malabo\",\n      keywords: \"equatorial guinea guinea ecuatorial malabo africa\"\n    },\n    {\n      zone: \"Africa\/Asmara\",\n      en: \"Eritrea \u2014 Asmara\",\n      es: \"Eritrea \u2014 Asmara\",\n      keywords: \"eritrea asmara africa\"\n    },\n    {\n      zone: \"Europe\/Tallinn\",\n      en: \"Estonia \u2014 Tallinn\",\n      es: \"Estonia \u2014 Tallin\",\n      keywords: \"estonia tallinn tallin europe\"\n    },\n    {\n      zone: \"Africa\/Mbabane\",\n      en: \"Eswatini \u2014 Mbabane\",\n      es: \"Esuatini \u2014 Mbabane\",\n      keywords: \"eswatini swaziland esuatini mbabane africa\"\n    },\n    {\n      zone: \"Africa\/Addis_Ababa\",\n      en: \"Ethiopia \u2014 Addis Ababa\",\n      es: \"Etiop\u00eda \u2014 Ad\u00eds Abeba\",\n      keywords: \"ethiopia etiopia addis ababa adis abeba africa\"\n    },\n    {\n      zone: \"Atlantic\/Faroe\",\n      en: \"Faroe Islands\",\n      es: \"Islas Feroe\",\n      keywords: \"faroe islands islas feroe europe atlantic\"\n    },\n    {\n      zone: \"Pacific\/Fiji\",\n      en: \"Fiji \u2014 Suva\",\n      es: \"Fiyi \u2014 Suva\",\n      keywords: \"fiji fiyi suva oceania pacific\"\n    },\n    {\n      zone: \"Europe\/Helsinki\",\n      en: \"Finland \u2014 Helsinki\",\n      es: \"Finlandia \u2014 Helsinki\",\n      keywords: \"finland finlandia helsinki europe\"\n    },\n    {\n      zone: \"Europe\/Paris\",\n      en: \"France \u2014 Paris and metropolitan France\",\n      es: \"Francia \u2014 Par\u00eds y Francia metropolitana\",\n      keywords: \"france francia paris europe\"\n    },\n    {\n      zone: \"America\/Cayenne\",\n      en: \"French Guiana \u2014 Cayenne\",\n      es: \"Guayana Francesa \u2014 Cayena\",\n      keywords: \"french guiana guayana francesa cayenne cayena south america\"\n    },\n    {\n      zone: \"Pacific\/Tahiti\",\n      en: \"French Polynesia \u2014 Tahiti\",\n      es: \"Polinesia Francesa \u2014 Tahit\u00ed\",\n      keywords: \"french polynesia polinesia francesa tahiti\"\n    },\n    {\n      zone: \"Africa\/Libreville\",\n      en: \"Gabon \u2014 Libreville\",\n      es: \"Gab\u00f3n \u2014 Libreville\",\n      keywords: \"gabon libreville africa\"\n    },\n    {\n      zone: \"Africa\/Banjul\",\n      en: \"The Gambia \u2014 Banjul\",\n      es: \"Gambia \u2014 Banjul\",\n      keywords: \"gambia banjul africa\"\n    },\n    {\n      zone: \"Asia\/Tbilisi\",\n      en: \"Georgia \u2014 Tbilisi\",\n      es: \"Georgia \u2014 Tiflis\",\n      keywords: \"georgia tbilisi tiflis caucasus asia europe\"\n    },\n    {\n      zone: \"Europe\/Berlin\",\n      en: \"Germany \u2014 Berlin\",\n      es: \"Alemania \u2014 Berl\u00edn\",\n      keywords: \"germany alemania berlin europe\"\n    },\n    {\n      zone: \"Africa\/Accra\",\n      en: \"Ghana \u2014 Accra\",\n      es: \"Ghana \u2014 Acra\",\n      keywords: \"ghana accra acra west africa\"\n    },\n    {\n      zone: \"Europe\/Athens\",\n      en: \"Greece \u2014 Athens\",\n      es: \"Grecia \u2014 Atenas\",\n      keywords: \"greece grecia athens atenas europe\"\n    },\n    {\n      zone: \"America\/Grenada\",\n      en: \"Grenada\",\n      es: \"Granada\",\n      keywords: \"grenada granada caribbean caribe\"\n    },\n    {\n      zone: \"America\/Guadeloupe\",\n      en: \"Guadeloupe\",\n      es: \"Guadalupe\",\n      keywords: \"guadeloupe guadalupe caribbean caribe\"\n    },\n    {\n      zone: \"Pacific\/Guam\",\n      en: \"Guam\",\n      es: \"Guam\",\n      keywords: \"guam oceania pacific\"\n    },\n    {\n      zone: \"America\/Guatemala\",\n      en: \"Guatemala\",\n      es: \"Guatemala\",\n      keywords: \"guatemala central america centroamerica\"\n    },\n    {\n      zone: \"Africa\/Conakry\",\n      en: \"Guinea \u2014 Conakry\",\n      es: \"Guinea \u2014 Conakri\",\n      keywords: \"guinea conakry conakri africa\"\n    },\n    {\n      zone: \"Africa\/Bissau\",\n      en: \"Guinea-Bissau \u2014 Bissau\",\n      es: \"Guinea-Bis\u00e1u \u2014 Bis\u00e1u\",\n      keywords: \"guinea bissau guinea bisau africa\"\n    },\n    {\n      zone: \"America\/Guyana\",\n      en: \"Guyana \u2014 Georgetown\",\n      es: \"Guyana \u2014 Georgetown\",\n      keywords: \"guyana georgetown south america\"\n    },\n    {\n      zone: \"America\/Port-au-Prince\",\n      en: \"Haiti \u2014 Port-au-Prince\",\n      es: \"Hait\u00ed \u2014 Puerto Pr\u00edncipe\",\n      keywords: \"haiti port au prince puerto principe caribbean\"\n    },\n    {\n      zone: \"America\/Tegucigalpa\",\n      en: \"Honduras \u2014 Tegucigalpa\",\n      es: \"Honduras \u2014 Tegucigalpa\",\n      keywords: \"honduras tegucigalpa central america\"\n    },\n    {\n      zone: \"Asia\/Hong_Kong\",\n      en: \"Hong Kong\",\n      es: \"Hong Kong\",\n      keywords: \"hong kong china asia\"\n    },\n    {\n      zone: \"Europe\/Budapest\",\n      en: \"Hungary \u2014 Budapest\",\n      es: \"Hungr\u00eda \u2014 Budapest\",\n      keywords: \"hungary hungria budapest europe\"\n    },\n    {\n      zone: \"Atlantic\/Reykjavik\",\n      en: \"Iceland \u2014 Reykjav\u00edk\",\n      es: \"Islandia \u2014 Reikiavik\",\n      keywords: \"iceland islandia reykjavik reikiavik europe\"\n    },\n    {\n      zone: \"Asia\/Kolkata\",\n      en: \"India \u2014 Delhi, Mumbai, Kolkata and Bengaluru\",\n      es: \"India \u2014 Delhi, Bombay, Calcuta y Bangalore\",\n      keywords: \"india delhi new delhi mumbai bombay kolkata calcutta bengaluru bangalore\"\n    },\n    {\n      zone: \"Asia\/Jakarta\",\n      en: \"Indonesia \u2014 Jakarta and western regions\",\n      es: \"Indonesia \u2014 Yakarta y regiones occidentales\",\n      keywords: \"indonesia jakarta yakarta java sumatra western\"\n    },\n    {\n      zone: \"Asia\/Makassar\",\n      en: \"Indonesia \u2014 Bali, Makassar and central regions\",\n      es: \"Indonesia \u2014 Bali, Macasar y regiones centrales\",\n      keywords: \"indonesia bali makassar macasar central\"\n    },\n    {\n      zone: \"Asia\/Jayapura\",\n      en: \"Indonesia \u2014 Papua and eastern regions\",\n      es: \"Indonesia \u2014 Pap\u00faa y regiones orientales\",\n      keywords: \"indonesia papua jayapura eastern\"\n    },\n    {\n      zone: \"Asia\/Tehran\",\n      en: \"Iran \u2014 Tehran\",\n      es: \"Ir\u00e1n \u2014 Teher\u00e1n\",\n      keywords: \"iran tehran teheran middle east\"\n    },\n    {\n      zone: \"Asia\/Baghdad\",\n      en: \"Iraq \u2014 Baghdad\",\n      es: \"Irak \u2014 Bagdad\",\n      keywords: \"iraq irak baghdad bagdad middle east\"\n    },\n    {\n      zone: \"Europe\/Dublin\",\n      en: \"Ireland \u2014 Dublin\",\n      es: \"Irlanda \u2014 Dubl\u00edn\",\n      keywords: \"ireland irlanda dublin europe\"\n    },\n    {\n      zone: \"Asia\/Jerusalem\",\n      en: \"Israel \u2014 Jerusalem and Tel Aviv\",\n      es: \"Israel \u2014 Jerusal\u00e9n y Tel Aviv\",\n      keywords: \"israel jerusalem jerusalen tel aviv middle east\"\n    },\n    {\n      zone: \"Europe\/Rome\",\n      en: \"Italy \u2014 Rome\",\n      es: \"Italia \u2014 Roma\",\n      keywords: \"italy italia rome roma europe\"\n    },\n    {\n      zone: \"Africa\/Abidjan\",\n      en: \"Ivory Coast \u2014 Abidjan\",\n      es: \"Costa de Marfil \u2014 Abiy\u00e1n\",\n      keywords: \"ivory coast cote d ivoire costa marfil abidjan abiyan africa\"\n    },\n    {\n      zone: \"America\/Jamaica\",\n      en: \"Jamaica \u2014 Kingston\",\n      es: \"Jamaica \u2014 Kingston\",\n      keywords: \"jamaica kingston caribbean\"\n    },\n    {\n      zone: \"Asia\/Tokyo\",\n      en: \"Japan \u2014 Tokyo\",\n      es: \"Jap\u00f3n \u2014 Tokio\",\n      keywords: \"japan japon tokyo tokio osaka kyoto asia\"\n    },\n    {\n      zone: \"Asia\/Amman\",\n      en: \"Jordan \u2014 Amman\",\n      es: \"Jordania \u2014 Am\u00e1n\",\n      keywords: \"jordan jordania amman aman middle east\"\n    },\n    {\n      zone: \"Asia\/Almaty\",\n      en: \"Kazakhstan \u2014 Almaty and Astana\",\n      es: \"Kazajist\u00e1n \u2014 Almaty y Astan\u00e1\",\n      keywords: \"kazakhstan kazajistan almaty astana asia\"\n    },\n    {\n      zone: \"Africa\/Nairobi\",\n      en: \"Kenya \u2014 Nairobi\",\n      es: \"Kenia \u2014 Nairobi\",\n      keywords: \"kenya kenia nairobi east africa\"\n    },\n    {\n      zone: \"Pacific\/Tarawa\",\n      en: \"Kiribati \u2014 Tarawa\",\n      es: \"Kiribati \u2014 Tarawa\",\n      keywords: \"kiribati tarawa oceania pacific\"\n    },\n    {\n      zone: \"Asia\/Kuwait\",\n      en: \"Kuwait \u2014 Kuwait City\",\n      es: \"Kuwait \u2014 Ciudad de Kuwait\",\n      keywords: \"kuwait kuwait city gulf middle east\"\n    },\n    {\n      zone: \"Asia\/Bishkek\",\n      en: \"Kyrgyzstan \u2014 Bishkek\",\n      es: \"Kirguist\u00e1n \u2014 Biskek\",\n      keywords: \"kyrgyzstan kirguistan bishkek biskek asia\"\n    },\n    {\n      zone: \"Asia\/Vientiane\",\n      en: \"Laos \u2014 Vientiane\",\n      es: \"Laos \u2014 Vienti\u00e1n\",\n      keywords: \"laos vientiane vientian asia\"\n    },\n    {\n      zone: \"Europe\/Riga\",\n      en: \"Latvia \u2014 Riga\",\n      es: \"Letonia \u2014 Riga\",\n      keywords: \"latvia letonia riga europe\"\n    },\n    {\n      zone: \"Asia\/Beirut\",\n      en: \"Lebanon \u2014 Beirut\",\n      es: \"L\u00edbano \u2014 Beirut\",\n      keywords: \"lebanon libano beirut middle east\"\n    },\n    {\n      zone: \"Africa\/Maseru\",\n      en: \"Lesotho \u2014 Maseru\",\n      es: \"Lesoto \u2014 Maseru\",\n      keywords: \"lesotho lesoto maseru africa\"\n    },\n    {\n      zone: \"Africa\/Monrovia\",\n      en: \"Liberia \u2014 Monrovia\",\n      es: \"Liberia \u2014 Monrovia\",\n      keywords: \"liberia monrovia africa\"\n    },\n    {\n      zone: \"Africa\/Tripoli\",\n      en: \"Libya \u2014 Tripoli\",\n      es: \"Libia \u2014 Tr\u00edpoli\",\n      keywords: \"libya libia tripoli africa\"\n    },\n    {\n      zone: \"Europe\/Vaduz\",\n      en: \"Liechtenstein \u2014 Vaduz\",\n      es: \"Liechtenstein \u2014 Vaduz\",\n      keywords: \"liechtenstein vaduz europe\"\n    },\n    {\n      zone: \"Europe\/Vilnius\",\n      en: \"Lithuania \u2014 Vilnius\",\n      es: \"Lituania \u2014 Vilna\",\n      keywords: \"lithuania lituania vilnius vilna europe\"\n    },\n    {\n      zone: \"Europe\/Luxembourg\",\n      en: \"Luxembourg\",\n      es: \"Luxemburgo\",\n      keywords: \"luxembourg luxemburgo europe\"\n    },\n    {\n      zone: \"Asia\/Macau\",\n      en: \"Macau\",\n      es: \"Macao\",\n      keywords: \"macau macao china asia\"\n    },\n    {\n      zone: \"Indian\/Antananarivo\",\n      en: \"Madagascar \u2014 Antananarivo\",\n      es: \"Madagascar \u2014 Antananarivo\",\n      keywords: \"madagascar antananarivo africa indian ocean\"\n    },\n    {\n      zone: \"Africa\/Blantyre\",\n      en: \"Malawi \u2014 Lilongwe and Blantyre\",\n      es: \"Malaui \u2014 Lilong\u00fce y Blantyre\",\n      keywords: \"malawi malaui lilongwe blantyre africa\"\n    },\n    {\n      zone: \"Asia\/Kuala_Lumpur\",\n      en: \"Malaysia \u2014 Kuala Lumpur\",\n      es: \"Malasia \u2014 Kuala Lumpur\",\n      keywords: \"malaysia malasia kuala lumpur asia\"\n    },\n    {\n      zone: \"Indian\/Maldives\",\n      en: \"Maldives \u2014 Mal\u00e9\",\n      es: \"Maldivas \u2014 Mal\u00e9\",\n      keywords: \"maldives maldivas male indian ocean\"\n    },\n    {\n      zone: \"Africa\/Bamako\",\n      en: \"Mali \u2014 Bamako\",\n      es: \"Mal\u00ed \u2014 Bamako\",\n      keywords: \"mali bamako africa\"\n    },\n    {\n      zone: \"Europe\/Malta\",\n      en: \"Malta \u2014 Valletta\",\n      es: \"Malta \u2014 La Valeta\",\n      keywords: \"malta valletta valeta europe mediterranean\"\n    },\n    {\n      zone: \"Pacific\/Majuro\",\n      en: \"Marshall Islands \u2014 Majuro\",\n      es: \"Islas Marshall \u2014 Majuro\",\n      keywords: \"marshall islands islas majuro oceania pacific\"\n    },\n    {\n      zone: \"America\/Martinique\",\n      en: \"Martinique\",\n      es: \"Martinica\",\n      keywords: \"martinique martinica caribbean\"\n    },\n    {\n      zone: \"Africa\/Nouakchott\",\n      en: \"Mauritania \u2014 Nouakchott\",\n      es: \"Mauritania \u2014 Nuakchot\",\n      keywords: \"mauritania nouakchott nuakchot africa\"\n    },\n    {\n      zone: \"Indian\/Mauritius\",\n      en: \"Mauritius \u2014 Port Louis\",\n      es: \"Mauricio \u2014 Port Louis\",\n      keywords: \"mauritius mauricio port louis africa indian ocean\"\n    },\n    {\n      zone: \"America\/Mexico_City\",\n      en: \"Mexico \u2014 Mexico City and most central regions\",\n      es: \"M\u00e9xico \u2014 Ciudad de M\u00e9xico y la mayor\u00eda de las regiones centrales\",\n      keywords: \"mexico mexico city ciudad cdmx central guadalajara monterrey\"\n    },\n    {\n      zone: \"America\/Cancun\",\n      en: \"Mexico \u2014 Canc\u00fan and Quintana Roo\",\n      es: \"M\u00e9xico \u2014 Canc\u00fan y Quintana Roo\",\n      keywords: \"mexico cancun quintana roo\"\n    },\n    {\n      zone: \"America\/Tijuana\",\n      en: \"Mexico \u2014 Tijuana and Baja California\",\n      es: \"M\u00e9xico \u2014 Tijuana y Baja California\",\n      keywords: \"mexico tijuana baja california\"\n    },\n    {\n      zone: \"America\/Hermosillo\",\n      en: \"Mexico \u2014 Sonora and Hermosillo\",\n      es: \"M\u00e9xico \u2014 Sonora y Hermosillo\",\n      keywords: \"mexico sonora hermosillo\"\n    },\n    {\n      zone: \"America\/Mazatlan\",\n      en: \"Mexico \u2014 Sinaloa and Mazatl\u00e1n\",\n      es: \"M\u00e9xico \u2014 Sinaloa y Mazatl\u00e1n\",\n      keywords: \"mexico sinaloa mazatlan\"\n    },\n    {\n      zone: \"Pacific\/Chuuk\",\n      en: \"Micronesia \u2014 Chuuk\",\n      es: \"Micronesia \u2014 Chuuk\",\n      keywords: \"micronesia chuuk oceania pacific\"\n    },\n    {\n      zone: \"Europe\/Chisinau\",\n      en: \"Moldova \u2014 Chi\u0219in\u0103u\",\n      es: \"Moldavia \u2014 Chisin\u00e1u\",\n      keywords: \"moldova moldavia chisinau europe\"\n    },\n    {\n      zone: \"Europe\/Monaco\",\n      en: \"Monaco\",\n      es: \"M\u00f3naco\",\n      keywords: \"monaco europe\"\n    },\n    {\n      zone: \"Asia\/Ulaanbaatar\",\n      en: \"Mongolia \u2014 Ulaanbaatar\",\n      es: \"Mongolia \u2014 Ul\u00e1n Bator\",\n      keywords: \"mongolia ulaanbaatar ulan bator asia\"\n    },\n    {\n      zone: \"Europe\/Podgorica\",\n      en: \"Montenegro \u2014 Podgorica\",\n      es: \"Montenegro \u2014 Podgorica\",\n      keywords: \"montenegro podgorica europe balkans\"\n    },\n    {\n      zone: \"Africa\/Casablanca\",\n      en: \"Morocco \u2014 Casablanca and Rabat\",\n      es: \"Marruecos \u2014 Casablanca y Rabat\",\n      keywords: \"morocco marruecos casablanca rabat africa\"\n    },\n    {\n      zone: \"Africa\/Maputo\",\n      en: \"Mozambique \u2014 Maputo\",\n      es: \"Mozambique \u2014 Maputo\",\n      keywords: \"mozambique maputo africa\"\n    },\n    {\n      zone: \"Asia\/Yangon\",\n      en: \"Myanmar \u2014 Yangon\",\n      es: \"Myanmar \u2014 Rang\u00fan\",\n      keywords: \"myanmar burma birmania yangon rangun asia\"\n    },\n    {\n      zone: \"Africa\/Windhoek\",\n      en: \"Namibia \u2014 Windhoek\",\n      es: \"Namibia \u2014 Windhoek\",\n      keywords: \"namibia windhoek africa\"\n    },\n    {\n      zone: \"Pacific\/Nauru\",\n      en: \"Nauru\",\n      es: \"Nauru\",\n      keywords: \"nauru oceania pacific\"\n    },\n    {\n      zone: \"Asia\/Kathmandu\",\n      en: \"Nepal \u2014 Kathmandu\",\n      es: \"Nepal \u2014 Katmand\u00fa\",\n      keywords: \"nepal kathmandu katmandu asia\"\n    },\n    {\n      zone: \"Europe\/Amsterdam\",\n      en: \"Netherlands \u2014 Amsterdam\",\n      es: \"Pa\u00edses Bajos \u2014 \u00c1msterdam\",\n      keywords: \"netherlands holland holanda paises bajos amsterdam europe\"\n    },\n    {\n      zone: \"Pacific\/Noumea\",\n      en: \"New Caledonia \u2014 Noum\u00e9a\",\n      es: \"Nueva Caledonia \u2014 Numea\",\n      keywords: \"new caledonia nueva caledonia noumea numea oceania\"\n    },\n    {\n      zone: \"Pacific\/Auckland\",\n      en: \"New Zealand \u2014 Auckland and Wellington\",\n      es: \"Nueva Zelanda \u2014 Auckland y Wellington\",\n      keywords: \"new zealand nueva zelanda auckland wellington\"\n    },\n    {\n      zone: \"Pacific\/Chatham\",\n      en: \"New Zealand \u2014 Chatham Islands\",\n      es: \"Nueva Zelanda \u2014 Islas Chatham\",\n      keywords: \"new zealand nueva zelanda chatham islands\"\n    },\n    {\n      zone: \"America\/Managua\",\n      en: \"Nicaragua \u2014 Managua\",\n      es: \"Nicaragua \u2014 Managua\",\n      keywords: \"nicaragua managua central america\"\n    },\n    {\n      zone: \"Africa\/Niamey\",\n      en: \"Niger \u2014 Niamey\",\n      es: \"N\u00edger \u2014 Niamey\",\n      keywords: \"niger niamey africa\"\n    },\n    {\n      zone: \"Africa\/Lagos\",\n      en: \"Nigeria \u2014 Lagos and Abuja\",\n      es: \"Nigeria \u2014 Lagos y Abuya\",\n      keywords: \"nigeria lagos abuja africa\"\n    },\n    {\n      zone: \"Asia\/Pyongyang\",\n      en: \"North Korea \u2014 Pyongyang\",\n      es: \"Corea del Norte \u2014 Pionyang\",\n      keywords: \"north korea corea norte pyongyang pionyang asia\"\n    },\n    {\n      zone: \"Europe\/Skopje\",\n      en: \"North Macedonia \u2014 Skopje\",\n      es: \"Macedonia del Norte \u2014 Skopie\",\n      keywords: \"north macedonia macedonia norte skopje skopie europe\"\n    },\n    {\n      zone: \"Europe\/Oslo\",\n      en: \"Norway \u2014 Oslo\",\n      es: \"Noruega \u2014 Oslo\",\n      keywords: \"norway noruega oslo europe\"\n    },\n    {\n      zone: \"Asia\/Muscat\",\n      en: \"Oman \u2014 Muscat\",\n      es: \"Om\u00e1n \u2014 Mascate\",\n      keywords: \"oman muscat mascate gulf middle east\"\n    },\n    {\n      zone: \"Asia\/Karachi\",\n      en: \"Pakistan \u2014 Karachi and Islamabad\",\n      es: \"Pakist\u00e1n \u2014 Karachi e Islamabad\",\n      keywords: \"pakistan karachi islamabad asia\"\n    },\n    {\n      zone: \"Pacific\/Palau\",\n      en: \"Palau\",\n      es: \"Palaos\",\n      keywords: \"palau palaos oceania pacific\"\n    },\n    {\n      zone: \"Asia\/Hebron\",\n      en: \"Palestinian Territories \u2014 West Bank\",\n      es: \"Territorios Palestinos \u2014 Cisjordania\",\n      keywords: \"palestine palestinian territorios palestinos west bank cisjordania hebron\"\n    },\n    {\n      zone: \"Asia\/Gaza\",\n      en: \"Palestinian Territories \u2014 Gaza\",\n      es: \"Territorios Palestinos \u2014 Gaza\",\n      keywords: \"palestine palestinian territorios palestinos gaza\"\n    },\n    {\n      zone: \"America\/Panama\",\n      en: \"Panama \u2014 Panama City\",\n      es: \"Panam\u00e1 \u2014 Ciudad de Panam\u00e1\",\n      keywords: \"panama panama city ciudad central america\"\n    },\n    {\n      zone: \"Pacific\/Port_Moresby\",\n      en: \"Papua New Guinea \u2014 Port Moresby\",\n      es: \"Pap\u00faa Nueva Guinea \u2014 Port Moresby\",\n      keywords: \"papua new guinea papua nueva guinea port moresby oceania\"\n    },\n    {\n      zone: \"America\/Asuncion\",\n      en: \"Paraguay \u2014 Asunci\u00f3n\",\n      es: \"Paraguay \u2014 Asunci\u00f3n\",\n      keywords: \"paraguay asuncion south america\"\n    },\n    {\n      zone: \"America\/Lima\",\n      en: \"Peru \u2014 Lima\",\n      es: \"Per\u00fa \u2014 Lima\",\n      keywords: \"peru lima cusco arequipa south america\"\n    },\n    {\n      zone: \"Asia\/Manila\",\n      en: \"Philippines \u2014 Manila\",\n      es: \"Filipinas \u2014 Manila\",\n      keywords: \"philippines filipinas manila asia\"\n    },\n    {\n      zone: \"Europe\/Warsaw\",\n      en: \"Poland \u2014 Warsaw\",\n      es: \"Polonia \u2014 Varsovia\",\n      keywords: \"poland polonia warsaw varsovia europe\"\n    },\n    {\n      zone: \"Europe\/Lisbon\",\n      en: \"Portugal \u2014 Lisbon and mainland regions\",\n      es: \"Portugal \u2014 Lisboa y territorio continental\",\n      keywords: \"portugal lisbon lisboa europe\"\n    },\n    {\n      zone: \"Atlantic\/Azores\",\n      en: \"Portugal \u2014 Azores\",\n      es: \"Portugal \u2014 Azores\",\n      keywords: \"portugal azores\"\n    },\n    {\n      zone: \"Atlantic\/Madeira\",\n      en: \"Portugal \u2014 Madeira\",\n      es: \"Portugal \u2014 Madeira\",\n      keywords: \"portugal madeira\"\n    },\n    {\n      zone: \"America\/Puerto_Rico\",\n      en: \"Puerto Rico\",\n      es: \"Puerto Rico\",\n      keywords: \"puerto rico san juan caribbean\"\n    },\n    {\n      zone: \"Asia\/Qatar\",\n      en: \"Qatar \u2014 Doha\",\n      es: \"Catar \u2014 Doha\",\n      keywords: \"qatar catar doha gulf middle east\"\n    },\n    {\n      zone: \"Europe\/Bucharest\",\n      en: \"Romania \u2014 Bucharest\",\n      es: \"Rumania \u2014 Bucarest\",\n      keywords: \"romania rumania bucharest bucarest europe\"\n    },\n    {\n      zone: \"Europe\/Moscow\",\n      en: \"Russia \u2014 Moscow and Saint Petersburg\",\n      es: \"Rusia \u2014 Mosc\u00fa y San Petersburgo\",\n      keywords: \"russia rusia moscow moscu saint petersburg san petersburgo\"\n    },\n    {\n      zone: \"Asia\/Yekaterinburg\",\n      en: \"Russia \u2014 Yekaterinburg\",\n      es: \"Rusia \u2014 Ekaterimburgo\",\n      keywords: \"russia rusia yekaterinburg ekaterimburgo\"\n    },\n    {\n      zone: \"Asia\/Novosibirsk\",\n      en: \"Russia \u2014 Novosibirsk\",\n      es: \"Rusia \u2014 Novosibirsk\",\n      keywords: \"russia rusia novosibirsk siberia\"\n    },\n    {\n      zone: \"Asia\/Vladivostok\",\n      en: \"Russia \u2014 Vladivostok\",\n      es: \"Rusia \u2014 Vladivostok\",\n      keywords: \"russia rusia vladivostok far east\"\n    },\n    {\n      zone: \"Africa\/Kigali\",\n      en: \"Rwanda \u2014 Kigali\",\n      es: \"Ruanda \u2014 Kigali\",\n      keywords: \"rwanda ruanda kigali africa\"\n    },\n    {\n      zone: \"America\/St_Kitts\",\n      en: \"Saint Kitts and Nevis\",\n      es: \"San Crist\u00f3bal y Nieves\",\n      keywords: \"saint kitts nevis san cristobal nieves caribbean\"\n    },\n    {\n      zone: \"America\/St_Lucia\",\n      en: \"Saint Lucia\",\n      es: \"Santa Luc\u00eda\",\n      keywords: \"saint lucia santa lucia caribbean\"\n    },\n    {\n      zone: \"America\/St_Vincent\",\n      en: \"Saint Vincent and the Grenadines\",\n      es: \"San Vicente y las Granadinas\",\n      keywords: \"saint vincent grenadines san vicente granadinas caribbean\"\n    },\n    {\n      zone: \"Pacific\/Apia\",\n      en: \"Samoa \u2014 Apia\",\n      es: \"Samoa \u2014 Apia\",\n      keywords: \"samoa apia oceania pacific\"\n    },\n    {\n      zone: \"Europe\/San_Marino\",\n      en: \"San Marino\",\n      es: \"San Marino\",\n      keywords: \"san marino europe\"\n    },\n    {\n      zone: \"Africa\/Sao_Tome\",\n      en: \"S\u00e3o Tom\u00e9 and Pr\u00edncipe\",\n      es: \"Santo Tom\u00e9 y Pr\u00edncipe\",\n      keywords: \"sao tome principe santo tome africa\"\n    },\n    {\n      zone: \"Asia\/Riyadh\",\n      en: \"Saudi Arabia \u2014 Riyadh\",\n      es: \"Arabia Saudita \u2014 Riad\",\n      keywords: \"saudi arabia arabia saudita riyadh riad middle east\"\n    },\n    {\n      zone: \"Africa\/Dakar\",\n      en: \"Senegal \u2014 Dakar\",\n      es: \"Senegal \u2014 Dakar\",\n      keywords: \"senegal dakar west africa\"\n    },\n    {\n      zone: \"Europe\/Belgrade\",\n      en: \"Serbia \u2014 Belgrade\",\n      es: \"Serbia \u2014 Belgrado\",\n      keywords: \"serbia belgrade belgrado europe balkans\"\n    },\n    {\n      zone: \"Indian\/Mahe\",\n      en: \"Seychelles \u2014 Victoria\",\n      es: \"Seychelles \u2014 Victoria\",\n      keywords: \"seychelles victoria africa indian ocean\"\n    },\n    {\n      zone: \"Africa\/Freetown\",\n      en: \"Sierra Leone \u2014 Freetown\",\n      es: \"Sierra Leona \u2014 Freetown\",\n      keywords: \"sierra leone freetown africa\"\n    },\n    {\n      zone: \"Asia\/Singapore\",\n      en: \"Singapore\",\n      es: \"Singapur\",\n      keywords: \"singapore singapur asia\"\n    },\n    {\n      zone: \"Europe\/Bratislava\",\n      en: \"Slovakia \u2014 Bratislava\",\n      es: \"Eslovaquia \u2014 Bratislava\",\n      keywords: \"slovakia eslovaquia bratislava europe\"\n    },\n    {\n      zone: \"Europe\/Ljubljana\",\n      en: \"Slovenia \u2014 Ljubljana\",\n      es: \"Eslovenia \u2014 Liubliana\",\n      keywords: \"slovenia eslovenia ljubljana liubliana europe\"\n    },\n    {\n      zone: \"Pacific\/Guadalcanal\",\n      en: \"Solomon Islands \u2014 Honiara\",\n      es: \"Islas Salom\u00f3n \u2014 Honiara\",\n      keywords: \"solomon islands islas salomon honiara oceania\"\n    },\n    {\n      zone: \"Africa\/Mogadishu\",\n      en: \"Somalia \u2014 Mogadishu\",\n      es: \"Somalia \u2014 Mogadiscio\",\n      keywords: \"somalia mogadishu mogadiscio africa\"\n    },\n    {\n      zone: \"Africa\/Johannesburg\",\n      en: \"South Africa \u2014 Johannesburg, Pretoria and Cape Town\",\n      es: \"Sud\u00e1frica \u2014 Johannesburgo, Pretoria y Ciudad del Cabo\",\n      keywords: \"south africa sudafrica johannesburg johannesburgo pretoria cape town ciudad cabo\"\n    },\n    {\n      zone: \"Asia\/Seoul\",\n      en: \"South Korea \u2014 Seoul\",\n      es: \"Corea del Sur \u2014 Se\u00fal\",\n      keywords: \"south korea corea sur seoul seul asia\"\n    },\n    {\n      zone: \"Africa\/Juba\",\n      en: \"South Sudan \u2014 Juba\",\n      es: \"Sud\u00e1n del Sur \u2014 Yuba\",\n      keywords: \"south sudan sudan sur juba yuba africa\"\n    },\n    {\n      zone: \"Europe\/Madrid\",\n      en: \"Spain \u2014 Madrid and mainland regions\",\n      es: \"Espa\u00f1a \u2014 Madrid y territorio peninsular\",\n      keywords: \"spain espana madrid barcelona mainland peninsula\"\n    },\n    {\n      zone: \"Atlantic\/Canary\",\n      en: \"Spain \u2014 Canary Islands\",\n      es: \"Espa\u00f1a \u2014 Islas Canarias\",\n      keywords: \"spain espana canary islands islas canarias tenerife gran canaria\"\n    },\n    {\n      zone: \"Asia\/Colombo\",\n      en: \"Sri Lanka \u2014 Colombo\",\n      es: \"Sri Lanka \u2014 Colombo\",\n      keywords: \"sri lanka colombo asia\"\n    },\n    {\n      zone: \"Africa\/Khartoum\",\n      en: \"Sudan \u2014 Khartoum\",\n      es: \"Sud\u00e1n \u2014 Jartum\",\n      keywords: \"sudan khartoum jartum africa\"\n    },\n    {\n      zone: \"America\/Paramaribo\",\n      en: \"Suriname \u2014 Paramaribo\",\n      es: \"Surinam \u2014 Paramaribo\",\n      keywords: \"suriname surinam paramaribo south america\"\n    },\n    {\n      zone: \"Europe\/Stockholm\",\n      en: \"Sweden \u2014 Stockholm\",\n      es: \"Suecia \u2014 Estocolmo\",\n      keywords: \"sweden suecia stockholm estocolmo europe\"\n    },\n    {\n      zone: \"Europe\/Zurich\",\n      en: \"Switzerland \u2014 Zurich, Geneva and Bern\",\n      es: \"Suiza \u2014 Z\u00farich, Ginebra y Berna\",\n      keywords: \"switzerland suiza zurich geneva ginebra bern berna\"\n    },\n    {\n      zone: \"Asia\/Damascus\",\n      en: \"Syria \u2014 Damascus\",\n      es: \"Siria \u2014 Damasco\",\n      keywords: \"syria siria damascus damasco middle east\"\n    },\n    {\n      zone: \"Asia\/Taipei\",\n      en: \"Taiwan \u2014 Taipei\",\n      es: \"Taiw\u00e1n \u2014 Taip\u00e9i\",\n      keywords: \"taiwan taipei asia\"\n    },\n    {\n      zone: \"Asia\/Dushanbe\",\n      en: \"Tajikistan \u2014 Dushanbe\",\n      es: \"Tayikist\u00e1n \u2014 Dusamb\u00e9\",\n      keywords: \"tajikistan tayikistan dushanbe dusambe asia\"\n    },\n    {\n      zone: \"Africa\/Dar_es_Salaam\",\n      en: \"Tanzania \u2014 Dar es Salaam\",\n      es: \"Tanzania \u2014 Dar es-Salam\",\n      keywords: \"tanzania dar es salaam salam africa\"\n    },\n    {\n      zone: \"Asia\/Bangkok\",\n      en: \"Thailand \u2014 Bangkok\",\n      es: \"Tailandia \u2014 Bangkok\",\n      keywords: \"thailand tailandia bangkok asia\"\n    },\n    {\n      zone: \"Africa\/Lome\",\n      en: \"Togo \u2014 Lom\u00e9\",\n      es: \"Togo \u2014 Lom\u00e9\",\n      keywords: \"togo lome africa\"\n    },\n    {\n      zone: \"Pacific\/Tongatapu\",\n      en: \"Tonga \u2014 Nuku\u02bbalofa\",\n      es: \"Tonga \u2014 Nukualofa\",\n      keywords: \"tonga nukualofa oceania pacific\"\n    },\n    {\n      zone: \"America\/Port_of_Spain\",\n      en: \"Trinidad and Tobago\",\n      es: \"Trinidad y Tobago\",\n      keywords: \"trinidad tobago port of spain puerto espana caribbean\"\n    },\n    {\n      zone: \"Africa\/Tunis\",\n      en: \"Tunisia \u2014 Tunis\",\n      es: \"T\u00fanez \u2014 T\u00fanez\",\n      keywords: \"tunisia tunez tunis africa\"\n    },\n    {\n      zone: \"Europe\/Istanbul\",\n      en: \"T\u00fcrkiye \u2014 Istanbul and Ankara\",\n      es: \"Turqu\u00eda \u2014 Estambul y Ankara\",\n      keywords: \"turkey turkiye turquia istanbul estambul ankara\"\n    },\n    {\n      zone: \"Asia\/Ashgabat\",\n      en: \"Turkmenistan \u2014 Ashgabat\",\n      es: \"Turkmenist\u00e1n \u2014 Asjabad\",\n      keywords: \"turkmenistan ashgabat asjabad asia\"\n    },\n    {\n      zone: \"Pacific\/Funafuti\",\n      en: \"Tuvalu \u2014 Funafuti\",\n      es: \"Tuvalu \u2014 Funafuti\",\n      keywords: \"tuvalu funafuti oceania pacific\"\n    },\n    {\n      zone: \"Africa\/Kampala\",\n      en: \"Uganda \u2014 Kampala\",\n      es: \"Uganda \u2014 Kampala\",\n      keywords: \"uganda kampala africa\"\n    },\n    {\n      zone: \"Europe\/Kyiv\",\n      en: \"Ukraine \u2014 Kyiv\",\n      es: \"Ucrania \u2014 Kyiv\",\n      keywords: \"ukraine ucrania kyiv kiev europe\"\n    },\n    {\n      zone: \"Asia\/Dubai\",\n      en: \"United Arab Emirates \u2014 Dubai and Abu Dhabi\",\n      es: \"Emiratos \u00c1rabes Unidos \u2014 Dub\u00e1i y Abu Dabi\",\n      keywords: \"united arab emirates uae emiratos arabes dubai abu dhabi\"\n    },\n    {\n      zone: \"Europe\/London\",\n      en: \"United Kingdom \u2014 London\",\n      es: \"Reino Unido \u2014 Londres\",\n      keywords: \"united kingdom uk britain great britain england london reino unido gran bretana inglaterra londres\"\n    },\n    {\n      zone: \"America\/New_York\",\n      en: \"United States \u2014 Eastern Time, New York and Philadelphia\",\n      es: \"Estados Unidos \u2014 Hora del Este, Nueva York y Filadelfia\",\n      keywords: \"united states usa us estados unidos eastern east new york nueva york philadelphia filadelfia miami\"\n    },\n    {\n      zone: \"America\/Chicago\",\n      en: \"United States \u2014 Central Time, Chicago\",\n      es: \"Estados Unidos \u2014 Hora Central, Chicago\",\n      keywords: \"united states usa estados unidos central chicago texas dallas houston\"\n    },\n    {\n      zone: \"America\/Denver\",\n      en: \"United States \u2014 Mountain Time, Denver\",\n      es: \"Estados Unidos \u2014 Hora de la Monta\u00f1a, Denver\",\n      keywords: \"united states usa estados unidos mountain montana denver colorado\"\n    },\n    {\n      zone: \"America\/Phoenix\",\n      en: \"United States \u2014 Arizona, Phoenix\",\n      es: \"Estados Unidos \u2014 Arizona, Phoenix\",\n      keywords: \"united states usa estados unidos arizona phoenix\"\n    },\n    {\n      zone: \"America\/Los_Angeles\",\n      en: \"United States \u2014 Pacific Time, Los Angeles and Seattle\",\n      es: \"Estados Unidos \u2014 Hora del Pac\u00edfico, Los \u00c1ngeles y Seattle\",\n      keywords: \"united states usa estados unidos pacific pacifico los angeles california seattle\"\n    },\n    {\n      zone: \"America\/Anchorage\",\n      en: \"United States \u2014 Alaska, Anchorage\",\n      es: \"Estados Unidos \u2014 Alaska, Anchorage\",\n      keywords: \"united states usa estados unidos alaska anchorage\"\n    },\n    {\n      zone: \"Pacific\/Honolulu\",\n      en: \"United States \u2014 Hawaii, Honolulu\",\n      es: \"Estados Unidos \u2014 Haw\u00e1i, Honolulu\",\n      keywords: \"united states usa estados unidos hawaii hawai honolulu\"\n    },\n    {\n      zone: \"America\/Montevideo\",\n      en: \"Uruguay \u2014 Montevideo\",\n      es: \"Uruguay \u2014 Montevideo\",\n      keywords: \"uruguay montevideo south america\"\n    },\n    {\n      zone: \"Asia\/Tashkent\",\n      en: \"Uzbekistan \u2014 Tashkent\",\n      es: \"Uzbekist\u00e1n \u2014 Taskent\",\n      keywords: \"uzbekistan tashkent taskent asia\"\n    },\n    {\n      zone: \"Pacific\/Efate\",\n      en: \"Vanuatu \u2014 Port Vila\",\n      es: \"Vanuatu \u2014 Port Vila\",\n      keywords: \"vanuatu port vila oceania pacific\"\n    },\n    {\n      zone: \"Europe\/Vatican\",\n      en: \"Vatican City\",\n      es: \"Ciudad del Vaticano\",\n      keywords: \"vatican city ciudad vaticano europe\"\n    },\n    {\n      zone: \"America\/Caracas\",\n      en: \"Venezuela \u2014 Caracas\",\n      es: \"Venezuela \u2014 Caracas\",\n      keywords: \"venezuela caracas south america\"\n    },\n    {\n      zone: \"Asia\/Ho_Chi_Minh\",\n      en: \"Vietnam \u2014 Ho Chi Minh City and Hanoi\",\n      es: \"Vietnam \u2014 Ciudad Ho Chi Minh y Han\u00f3i\",\n      keywords: \"vietnam ho chi minh saigon hanoi asia\"\n    },\n    {\n      zone: \"Asia\/Aden\",\n      en: \"Yemen \u2014 Sana'a and Aden\",\n      es: \"Yemen \u2014 San\u00e1 y Ad\u00e9n\",\n      keywords: \"yemen sana sanaa aden middle east\"\n    },\n    {\n      zone: \"Africa\/Lusaka\",\n      en: \"Zambia \u2014 Lusaka\",\n      es: \"Zambia \u2014 Lusaka\",\n      keywords: \"zambia lusaka africa\"\n    },\n    {\n      zone: \"Africa\/Harare\",\n      en: \"Zimbabwe \u2014 Harare\",\n      es: \"Zimbabue \u2014 Harare\",\n      keywords: \"zimbabwe zimbabue harare africa\"\n    }\n  ];\n\n  const TEXT = {\n    en: {\n      open: \"Convert My Time\",\n      close: \"Close\",\n      language: \"Language:\",\n      title: \"Class Time Converter\",\n      time: \"I am available at:\",\n      date: \"On:\",\n      location: \"Where will you be during the class?\",\n      searchPlaceholder: \"Type a country, city or region\",\n      selected: \"Selected location:\",\n      change: \"Change\",\n      convert: \"Convert to Eastern Time\",\n      resultHeading: \"Select a class scheduled at:\",\n      sourcePrefix: \"Your selected availability:\",\n      noResults:\n        \"Location not found. Try a country, major city, region or another spelling.\",\n      selectTime: \"Please select your available time.\",\n      selectDate: \"Please select today or a future date.\",\n      selectLocation:\n        \"Please search for and select where you will be during the class.\",\n      invalidDate:\n        \"Please select today or a future date using the calendar.\",\n      missingTime:\n        \"That local time does not exist on the selected date because the clocks change in that location. Select another time.\",\n      sameDay:\n        \"The class occurs on the same calendar date.\",\n      nextDay:\n        \"The Eastern Time class occurs on the following day.\",\n      previousDay:\n        \"The Eastern Time class occurs on the previous day.\",\n      easternZone: \"Eastern Time is {zone} on this date.\",\n      in: \"in\",\n      genericError: \"The time could not be converted.\"\n    },\n\n    es: {\n      open: \"Convertir mi hora\",\n      close: \"Cerrar\",\n      language: \"Idioma:\",\n      title: \"Conversor de horario de clases\",\n      time: \"Estoy disponible a las:\",\n      date: \"El:\",\n      location: \"\u00bfD\u00f3nde estar\u00e1s durante la clase?\",\n      searchPlaceholder: \"Escribe un pa\u00eds, ciudad o regi\u00f3n\",\n      selected: \"Ubicaci\u00f3n seleccionada:\",\n      change: \"Cambiar\",\n      convert: \"Convertir a la hora del Este\",\n      resultHeading: \"Selecciona una clase programada a las:\",\n      sourcePrefix: \"Tu disponibilidad seleccionada:\",\n      noResults:\n        \"No se encontr\u00f3 la ubicaci\u00f3n. Prueba con un pa\u00eds, una ciudad principal, una regi\u00f3n u otra forma de escribirla.\",\n      selectTime: \"Selecciona la hora a la que est\u00e1s disponible.\",\n      selectDate: \"Selecciona la fecha de hoy o una fecha futura.\",\n      selectLocation:\n        \"Busca y selecciona d\u00f3nde estar\u00e1s durante la clase.\",\n      invalidDate:\n        \"Selecciona la fecha de hoy o una fecha futura utilizando el calendario.\",\n      missingTime:\n        \"Esa hora local no existe en la fecha seleccionada porque los relojes cambian en esa ubicaci\u00f3n. Selecciona otra hora.\",\n      sameDay:\n        \"La clase ocurre en la misma fecha del calendario.\",\n      nextDay:\n        \"La clase en hora del Este ocurre al d\u00eda siguiente.\",\n      previousDay:\n        \"La clase en hora del Este ocurre el d\u00eda anterior.\",\n      easternZone:\n        \"La hora del Este corresponde a {zone} en esta fecha.\",\n      in: \"en\",\n      genericError: \"No se pudo convertir la hora.\"\n    }\n  };\n\n  const tool = document.getElementById(\"vd-world-time-tool\");\n  const dialog = document.getElementById(\"vd-world-time-dialog\");\n  const openButton = document.getElementById(\"vd-open-world-time\");\n  const closeButton = document.getElementById(\"vd-close-world-time\");\n\n  const languageSelect = document.getElementById(\"vd-language\");\n  const languageLabel = document.getElementById(\"vd-language-label\");\n  const title = document.getElementById(\"vd-world-time-title\");\n\n  const timeLabel = document.getElementById(\"vd-time-label\");\n  const timeSelect = document.getElementById(\"vd-availability-time\");\n\n  const dateLabel = document.getElementById(\"vd-date-label\");\n  const dateInput = document.getElementById(\"vd-class-date\");\n\n  const locationLabel = document.getElementById(\"vd-location-label\");\n  const locationSearch = document.getElementById(\"vd-location-search\");\n  const locationResults = document.getElementById(\"vd-location-results\");\n  const selectedZoneInput =\n    document.getElementById(\"vd-selected-time-zone\");\n\n  const selectedLocationBox =\n    document.getElementById(\"vd-selected-location\");\n\n  const selectedLocationPrefix =\n    document.getElementById(\"vd-selected-location-prefix\");\n\n  const selectedLocationName =\n    document.getElementById(\"vd-selected-location-name\");\n\n  const clearLocationButton =\n    document.getElementById(\"vd-clear-location\");\n\n  const convertButton =\n    document.getElementById(\"vd-convert-world-time\");\n\n  const messageBox =\n    document.getElementById(\"vd-world-time-message\");\n\n  const resultBox =\n    document.getElementById(\"vd-world-time-result\");\n\n  const resultHeading =\n    document.getElementById(\"vd-result-heading\");\n\n  const resultTime =\n    document.getElementById(\"vd-result-time\");\n\n  const resultDate =\n    document.getElementById(\"vd-result-date\");\n\n  const resultZone =\n    document.getElementById(\"vd-result-zone\");\n\n  const resultDay =\n    document.getElementById(\"vd-result-day\");\n\n  const resultSourcePrefix =\n    document.getElementById(\"vd-result-source-prefix\");\n\n  const resultSourceValue =\n    document.getElementById(\"vd-result-source-value\");\n\n  let currentLanguage = \"en\";\n  let selectedLocation = null;\n  let activeResultIndex = -1;\n  let currentMatches = [];\n\n  if (\n    !tool ||\n    !dialog ||\n    !openButton ||\n    !closeButton ||\n    !languageSelect ||\n    !timeSelect ||\n    !dateInput ||\n    !locationSearch ||\n    !locationResults ||\n    !convertButton\n  ) {\n    console.error(\n      \"V\u00eda Dialoga time converter could not start because one or more HTML elements are missing.\"\n    );\n    return;\n  }\n\n  \/\/ Prevent duplicate event listeners if a WordPress optimization\/plugin\n  \/\/ evaluates the same script more than once.\n  if (tool.dataset.vdWorldTimeInitialized === \"true\") {\n    return;\n  }\n\n  tool.dataset.vdWorldTimeInitialized = \"true\";\n\n  function setText(element, value) {\n    if (element) {\n      element.textContent = value;\n    }\n  }\n\n  function setHidden(element, hidden) {\n    if (element) {\n      element.hidden = hidden;\n    }\n  }\n\n  function hideElement(element) {\n    if (element) {\n      element.style.display = \"none\";\n    }\n  }\n\n  function hideRedundantDetails() {\n    hideElement(selectedLocationBox);\n    hideElement(resultDay);\n\n    if (resultSourcePrefix) {\n      const sourceParent =\n        resultSourcePrefix.parentElement;\n\n      if (sourceParent) {\n        if (resultSourceValue) {\n          if (\n            resultSourceValue.parentElement ===\n              sourceParent\n          ) {\n            if (sourceParent !== resultBox) {\n              hideElement(sourceParent);\n              return;\n            }\n          }\n        }\n      }\n    }\n\n    hideElement(resultSourcePrefix);\n    hideElement(resultSourceValue);\n  }\n\n  function normalizeText(value) {\n    return String(value || \"\")\n      .normalize(\"NFD\")\n      .replace(\/[\\u0300-\\u036f]\/g, \"\")\n      .toLowerCase()\n      .trim();\n  }\n\n  function getTodayString() {\n    const now = new Date();\n\n    return [\n      now.getFullYear(),\n      String(now.getMonth() + 1).padStart(2, \"0\"),\n      String(now.getDate()).padStart(2, \"0\")\n    ].join(\"-\");\n  }\n\n  function configureDateInput() {\n    const today = getTodayString();\n\n    dateInput.min = today;\n\n    if (!dateInput.value) {\n      dateInput.value = today;\n      return;\n    }\n\n    if (\n      Math.sign(\n        dateInput.value.localeCompare(today)\n      ) === -1\n    ) {\n      dateInput.value = today;\n    }\n  }\n\n  function formatClockTime(hour, minute) {\n    const clockHour = hour % 12 || 12;\n\n    const period =\n      Math.floor(hour \/ 12) === 0\n        ? \"AM\"\n        : \"PM\";\n\n    return (\n      String(clockHour) +\n      \":\" +\n      String(minute).padStart(2, \"0\") +\n      \" \" +\n      period\n    );\n  }\n\n  function formatHour(hour, language) {\n    return formatClockTime(hour, 0);\n  }\n\n  function buildHourOptions() {\n    const previousValue =\n      timeSelect.value || \"19:00\";\n\n    timeSelect.replaceChildren();\n\n    for (let hour = 0; hour !== 24; hour++) {\n      const option =\n        document.createElement(\"option\");\n\n      option.value =\n        String(hour).padStart(2, \"0\") + \":00\";\n\n      option.textContent =\n        formatHour(hour, currentLanguage);\n\n      timeSelect.appendChild(option);\n    }\n\n    timeSelect.value = previousValue;\n\n    if (!timeSelect.value) {\n      timeSelect.value = \"19:00\";\n    }\n  }\n\n  function locationLabelFor(location) {\n    return location[currentLanguage];\n  }\n\n  function updateSelectedLocationDisplay() {\n    if (!selectedLocation) {\n      setHidden(selectedLocationBox, true);\n      setText(selectedLocationName, \"\");\n      return;\n    }\n\n    setText(\n      selectedLocationName,\n      locationLabelFor(selectedLocation)\n    );\n\n    setHidden(selectedLocationBox, false);\n  }\n\n  function applyLanguage() {\n    const text = TEXT[currentLanguage];\n\n    setText(openButton, text.open);\n    closeButton.setAttribute(\n      \"aria-label\",\n      text.close\n    );\n\n    setText(languageLabel, text.language);\n    setText(title, text.title);\n    setText(timeLabel, text.time);\n    setText(dateLabel, text.date);\n    setText(locationLabel, text.location);\n\n    locationSearch.placeholder =\n      text.searchPlaceholder;\n\n    setText(\n      selectedLocationPrefix,\n      text.selected\n    );\n\n    setText(\n      clearLocationButton,\n      text.change\n    );\n\n    setText(convertButton, text.convert);\n\n    setText(resultHeading, text.resultHeading);\n\n    setText(\n      resultSourcePrefix,\n      text.sourcePrefix\n    );\n\n    buildHourOptions();\n    updateSelectedLocationDisplay();\n\n    if (selectedLocation) {\n      locationSearch.value =\n        locationLabelFor(selectedLocation);\n    }\n\n    if (resultBox) {\n      if (!resultBox.hidden) {\n        convertTime();\n      }\n    }\n\n    if (!locationResults.hidden) {\n      renderSearchResults();\n    }\n  }\n\n  function getSearchText(location) {\n    return normalizeText(\n      [\n        location.en,\n        location.es,\n        location.keywords,\n        location.zone\n      ].join(\" \")\n    );\n  }\n\n  function searchLocations(query) {\n    const normalizedQuery =\n      normalizeText(query);\n\n    if (!normalizedQuery.length) {\n      return [];\n    }\n\n    if (normalizedQuery.length === 1) {\n      return [];\n    }\n\n    return LOCATIONS\n      .filter(function (location) {\n        return getSearchText(location)\n          .includes(normalizedQuery);\n      })\n      .sort(function (a, b) {\n        const aLabel = normalizeText(\n          locationLabelFor(a)\n        );\n\n        const bLabel = normalizeText(\n          locationLabelFor(b)\n        );\n\n        const aStarts =\n          aLabel.startsWith(normalizedQuery)\n            ? 0\n            : 1;\n\n        const bStarts =\n          bLabel.startsWith(normalizedQuery)\n            ? 0\n            : 1;\n\n        if (aStarts !== bStarts) {\n          return aStarts - bStarts;\n        }\n\n        return aLabel.localeCompare(bLabel);\n      })\n      .slice(0, MAX_RESULTS);\n  }\n\n  function hideResults() {\n    locationResults.hidden = true;\n    locationSearch.setAttribute(\n      \"aria-expanded\",\n      \"false\"\n    );\n\n    activeResultIndex = -1;\n  }\n\n  function setActiveResult(index) {\n    const buttons =\n      locationResults.querySelectorAll(\n        \".vd-location-result\"\n      );\n\n    buttons.forEach(function (\n      button,\n      buttonIndex\n    ) {\n      button.classList.toggle(\n        \"is-active\",\n        buttonIndex === index\n      );\n\n      button.setAttribute(\n        \"aria-selected\",\n        buttonIndex === index\n          ? \"true\"\n          : \"false\"\n      );\n    });\n\n    activeResultIndex = index;\n\n    if (buttons[index]) {\n      buttons[index].scrollIntoView({\n        block: \"nearest\"\n      });\n    }\n  }\n\n  function chooseLocation(location) {\n    selectedLocation = location;\n\n    if (selectedZoneInput) {\n      selectedZoneInput.value = location.zone;\n    }\n\n    locationSearch.value =\n      locationLabelFor(location);\n\n    updateSelectedLocationDisplay();\n    hideResults();\n    clearError();\n\n    if (resultBox) {\n      if (!resultBox.hidden) {\n        convertTime();\n      }\n    }\n  }\n\n  function createResultButton(\n    location,\n    index\n  ) {\n    const button =\n      document.createElement(\"button\");\n\n    button.type = \"button\";\n    button.className =\n      \"vd-location-result\";\n\n    button.setAttribute(\"role\", \"option\");\n    button.setAttribute(\n      \"aria-selected\",\n      \"false\"\n    );\n\n    button.dataset.index =\n      String(index);\n\n    button.textContent =\n      locationLabelFor(location);\n\n    button.addEventListener(\n      \"click\",\n      function () {\n        chooseLocation(location);\n      }\n    );\n\n    return button;\n  }\n\n  function renderSearchResults() {\n    const query = locationSearch.value;\n    const text = TEXT[currentLanguage];\n\n    currentMatches =\n      searchLocations(query);\n\n    locationResults.replaceChildren();\n    activeResultIndex = -1;\n\n    const normalizedQuery =\n      normalizeText(query);\n\n    if (!normalizedQuery.length) {\n      hideResults();\n      return;\n    }\n\n    if (normalizedQuery.length === 1) {\n      hideResults();\n      return;\n    }\n\n    if (!currentMatches.length) {\n      const empty =\n        document.createElement(\"div\");\n\n      empty.className =\n        \"vd-location-empty\";\n\n      empty.textContent =\n        text.noResults;\n\n      locationResults.appendChild(empty);\n      locationResults.hidden = false;\n\n      locationSearch.setAttribute(\n        \"aria-expanded\",\n        \"true\"\n      );\n\n      return;\n    }\n\n    currentMatches.forEach(function (\n      location,\n      index\n    ) {\n      locationResults.appendChild(\n        createResultButton(\n          location,\n          index\n        )\n      );\n    });\n\n    locationResults.hidden = false;\n\n    locationSearch.setAttribute(\n      \"aria-expanded\",\n      \"true\"\n    );\n  }\n\n  function clearLocation() {\n    selectedLocation = null;\n\n    if (selectedZoneInput) {\n      selectedZoneInput.value = \"\";\n    }\n\n    locationSearch.value = \"\";\n    setHidden(selectedLocationBox, true);\n    setHidden(resultBox, true);\n\n    locationSearch.focus();\n  }\n\n  function getZoneParts(\n    date,\n    timeZone\n  ) {\n    const formatter =\n      new Intl.DateTimeFormat(\n        \"en-US-u-ca-gregory-nu-latn\",\n        {\n          timeZone: timeZone,\n          year: \"numeric\",\n          month: \"2-digit\",\n          day: \"2-digit\",\n          hour: \"2-digit\",\n          minute: \"2-digit\",\n          second: \"2-digit\",\n          hourCycle: \"h23\"\n        }\n      );\n\n    const values = {};\n\n    formatter\n      .formatToParts(date)\n      .forEach(function (part) {\n        if (part.type !== \"literal\") {\n          values[part.type] =\n            part.value;\n        }\n      });\n\n    return {\n      year: Number(values.year),\n      month: Number(values.month),\n      day: Number(values.day),\n      hour: Number(values.hour),\n      minute: Number(values.minute),\n      second: Number(values.second)\n    };\n  }\n\n  function localDateTimeToInstant(\n    year,\n    month,\n    day,\n    hour,\n    minute,\n    timeZone\n  ) {\n    const requestedUTC = Date.UTC(\n      year,\n      month - 1,\n      day,\n      hour,\n      minute,\n      0\n    );\n\n    let estimate = requestedUTC;\n\n    for (\n      let attempt = 0;\n      attempt !== 8;\n      attempt++\n    ) {\n      const displayed =\n        getZoneParts(\n          new Date(estimate),\n          timeZone\n        );\n\n      const displayedUTC = Date.UTC(\n        displayed.year,\n        displayed.month - 1,\n        displayed.day,\n        displayed.hour,\n        displayed.minute,\n        displayed.second\n      );\n\n      const difference =\n        requestedUTC -\n        displayedUTC;\n\n      if (difference === 0) {\n        break;\n      }\n\n      estimate += difference;\n    }\n\n    const result =\n      new Date(estimate);\n\n    const verification =\n      getZoneParts(\n        result,\n        timeZone\n      );\n\n    let valid = true;\n\n    if (verification.year !== year) {\n      valid = false;\n    }\n\n    if (verification.month !== month) {\n      valid = false;\n    }\n\n    if (verification.day !== day) {\n      valid = false;\n    }\n\n    if (verification.hour !== hour) {\n      valid = false;\n    }\n\n    if (verification.minute !== minute) {\n      valid = false;\n    }\n\n    if (!valid) {\n      throw new Error(\n        \"MISSING_LOCAL_TIME\"\n      );\n    }\n\n    return result;\n  }\n\n  function getEasternZoneName(date) {\n    const formatter =\n      new Intl.DateTimeFormat(\n        currentLanguage === \"es\"\n          ? \"es-US\"\n          : \"en-US\",\n        {\n          timeZone: EASTERN_ZONE,\n          timeZoneName: \"short\"\n        }\n      );\n\n    const part = formatter\n      .formatToParts(date)\n      .find(function (item) {\n        return (\n          item.type ===\n          \"timeZoneName\"\n        );\n      });\n\n    return part\n      ? part.value\n      : \"ET\";\n  }\n\n  function formatEasternTime(date) {\n    const parts = getZoneParts(\n      date,\n      EASTERN_ZONE\n    );\n\n    return formatClockTime(\n      parts.hour,\n      parts.minute\n    );\n  }\n\n  function formatEasternDate(date) {\n    return new Intl.DateTimeFormat(\n      currentLanguage === \"es\"\n        ? \"es-ES\"\n        : \"en-US\",\n      {\n        timeZone: EASTERN_ZONE,\n        weekday: \"long\",\n        year: \"numeric\",\n        month: \"long\",\n        day: \"numeric\"\n      }\n    ).format(date);\n  }\n\n  function formatSourceDate(date) {\n    return new Intl.DateTimeFormat(\n      currentLanguage === \"es\"\n        ? \"es-ES\"\n        : \"en-US\",\n      {\n        timeZone:\n          selectedLocation.zone,\n        year: \"numeric\",\n        month: \"long\",\n        day: \"numeric\"\n      }\n    ).format(date);\n  }\n\n  function getDateKey(parts) {\n    return Date.UTC(\n      parts.year,\n      parts.month - 1,\n      parts.day\n    );\n  }\n\n  function getDayDescription(\n    sourceParts,\n    easternParts\n  ) {\n    const text =\n      TEXT[currentLanguage];\n\n    const difference = Math.round(\n      (\n        getDateKey(easternParts) -\n        getDateKey(sourceParts)\n      ) \/\n      86400000\n    );\n\n    if (difference === 1) {\n      return text.nextDay;\n    }\n\n    if (difference === -1) {\n      return text.previousDay;\n    }\n\n    return text.sameDay;\n  }\n\n  function showError(message) {\n    setText(messageBox, message);\n    setHidden(resultBox, true);\n  }\n\n  function clearError() {\n    setText(messageBox, \"\");\n  }\n\n  function validateDate() {\n    const today =\n      getTodayString();\n\n    if (!dateInput.value) {\n      return false;\n    }\n\n    if (\n      Math.sign(\n        dateInput.value.localeCompare(today)\n      ) === -1\n    ) {\n      return false;\n    }\n\n    if (!dateInput.validity.valid) {\n      return false;\n    }\n\n    return true;\n  }\n\n  function convertTime() {\n    clearError();\n\n    const text =\n      TEXT[currentLanguage];\n\n    if (!timeSelect.value) {\n      showError(text.selectTime);\n      return;\n    }\n\n    if (!validateDate()) {\n      showError(text.invalidDate);\n      return;\n    }\n\n    if (!selectedLocation) {\n      showError(\n        text.selectLocation\n      );\n\n      return;\n    }\n\n    if (selectedZoneInput) {\n      if (!selectedZoneInput.value) {\n        showError(\n          text.selectLocation\n        );\n\n        return;\n      }\n    }\n\n    const dateParts =\n      dateInput.value\n        .split(\"-\")\n        .map(Number);\n\n    const timeParts =\n      timeSelect.value\n        .split(\":\")\n        .map(Number);\n\n    try {\n      const instant =\n        localDateTimeToInstant(\n          dateParts[0],\n          dateParts[1],\n          dateParts[2],\n          timeParts[0],\n          timeParts[1],\n          selectedLocation.zone\n        );\n\n      const sourceParts =\n        getZoneParts(\n          instant,\n          selectedLocation.zone\n        );\n\n      const easternParts =\n        getZoneParts(\n          instant,\n          EASTERN_ZONE\n        );\n\n      const zoneName =\n        getEasternZoneName(\n          instant\n        );\n\n      setText(\n        resultTime,\n        formatEasternTime(instant) + \" ET\"\n      );\n\n      setText(\n        resultDate,\n        formatEasternDate(instant)\n      );\n\n      setText(\n        resultZone,\n        text.easternZone.replace(\n          \"{zone}\",\n          zoneName\n        )\n      );\n\n      setText(\n        resultDay,\n        getDayDescription(\n          sourceParts,\n          easternParts\n        )\n      );\n\n      setText(\n        resultSourceValue,\n        [\n          formatHour(\n            timeParts[0],\n            currentLanguage\n          ),\n          text.in,\n          locationLabelFor(\n            selectedLocation\n          ),\n          \"\u2014\",\n          formatSourceDate(instant)\n        ].join(\" \")\n      );\n\n      setHidden(resultBox, false);\n\n      if (resultBox) {\n        resultBox.scrollIntoView({\n          behavior: \"smooth\",\n          block: \"nearest\"\n        });\n      }\n    } catch (error) {\n      if (error instanceof Error) {\n        if (\n          error.message ===\n            \"MISSING_LOCAL_TIME\"\n        ) {\n          showError(\n            text.missingTime\n          );\n\n          return;\n        }\n      }\n\n      console.error(error);\n      showError(\n        text.genericError\n      );\n    }\n  }\n\n  function openDialog() {\n    configureDateInput();\n\n    if (\n      typeof dialog.showModal ===\n      \"function\"\n    ) {\n      dialog.showModal();\n    } else {\n      dialog.setAttribute(\n        \"open\",\n        \"\"\n      );\n    }\n\n    document.body.classList.add(\n      \"vd-world-time-open\"\n    );\n\n    setTimeout(function () {\n      languageSelect.focus();\n    }, 0);\n  }\n\n  function closeDialog() {\n    if (\n      typeof dialog.close ===\n      \"function\"\n    ) {\n      if (dialog.open) {\n        dialog.close();\n      } else {\n        dialog.removeAttribute(\n          \"open\"\n        );\n      }\n    } else {\n      dialog.removeAttribute(\n        \"open\"\n      );\n    }\n\n    document.body.classList.remove(\n      \"vd-world-time-open\"\n    );\n\n    hideResults();\n    openButton.focus();\n  }\n\n  configureDateInput();\n  applyLanguage();\n  hideRedundantDetails();\n\n  openButton.addEventListener(\n    \"click\",\n    openDialog\n  );\n\n  closeButton.addEventListener(\n    \"click\",\n    closeDialog\n  );\n\n  languageSelect.addEventListener(\n    \"change\",\n    function () {\n      currentLanguage =\n        languageSelect.value === \"es\"\n          ? \"es\"\n          : \"en\";\n\n      applyLanguage();\n    }\n  );\n\n  locationSearch.addEventListener(\n    \"input\",\n    function () {\n      if (selectedLocation) {\n        if (\n          locationSearch.value !==\n            locationLabelFor(\n              selectedLocation\n            )\n        ) {\n          selectedLocation = null;\n\n          if (selectedZoneInput) {\n            selectedZoneInput.value = \"\";\n          }\n\n          setHidden(\n            selectedLocationBox,\n            true\n          );\n\n          setHidden(resultBox, true);\n        }\n      }\n\n      renderSearchResults();\n    }\n  );\n\n  locationSearch.addEventListener(\n    \"focus\",\n    function () {\n      const query = normalizeText(\n        locationSearch.value\n      );\n\n      if (!query.length) {\n        return;\n      }\n\n      if (query.length === 1) {\n        return;\n      }\n\n      renderSearchResults();\n    }\n  );\n\n  locationSearch.addEventListener(\n    \"keydown\",\n    function (event) {\n      if (\n        locationResults.hidden\n      ) {\n        return;\n      }\n\n      if (\n        event.key ===\n        \"ArrowDown\"\n      ) {\n        event.preventDefault();\n\n        setActiveResult(\n          Math.min(\n            activeResultIndex + 1,\n            currentMatches.length - 1\n          )\n        );\n      }\n\n      if (\n        event.key ===\n        \"ArrowUp\"\n      ) {\n        event.preventDefault();\n\n        setActiveResult(\n          Math.max(\n            activeResultIndex - 1,\n            0\n          )\n        );\n      }\n\n      if (event.key === \"Enter\") {\n        if (activeResultIndex !== -1) {\n          if (\n            currentMatches[\n              activeResultIndex\n            ]\n          ) {\n            event.preventDefault();\n\n            chooseLocation(\n              currentMatches[\n                activeResultIndex\n              ]\n            );\n          }\n        }\n      }\n\n      if (\n        event.key === \"Escape\"\n      ) {\n        hideResults();\n      }\n    }\n  );\n\n  if (clearLocationButton) {\n    clearLocationButton.addEventListener(\n      \"click\",\n      clearLocation\n    );\n  }\n\n  convertButton.addEventListener(\n    \"click\",\n    convertTime\n  );\n\n  dateInput.addEventListener(\n    \"change\",\n    function () {\n      if (!validateDate()) {\n        dateInput.value =\n          getTodayString();\n\n        showError(\n          TEXT[currentLanguage]\n            .invalidDate\n        );\n\n        return;\n      }\n\n      if (resultBox) {\n        if (!resultBox.hidden) {\n          convertTime();\n        }\n      }\n    }\n  );\n\n  timeSelect.addEventListener(\n    \"change\",\n    function () {\n      if (resultBox) {\n        if (!resultBox.hidden) {\n          convertTime();\n        }\n      }\n    }\n  );\n\n  dialog.addEventListener(\n    \"cancel\",\n    function (event) {\n      event.preventDefault();\n      closeDialog();\n    }\n  );\n\n  dialog.addEventListener(\n    \"click\",\n    function (event) {\n      if (\n        event.target === dialog\n      ) {\n        closeDialog();\n      }\n    }\n  );\n\n  document.addEventListener(\n    \"click\",\n    function (event) {\n      if (tool.contains(event.target)) {\n        return;\n      }\n\n      if (dialog.contains(event.target)) {\n        return;\n      }\n\n      if (locationResults.hidden) {\n        return;\n      }\n\n      hideResults();\n    }\n  );\n\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\n      \"DOMContentLoaded\",\n      initWorldTimeTool,\n      { once: true }\n    );\n  } else {\n    initWorldTimeTool();\n  }\n})();\n<\/script>\n\n<div class=\"vd-world-time-tool\" id=\"vd-world-time-tool\">\n\n  <button type=\"button\" class=\"vd-world-time-tool__open\" id=\"vd-open-world-time\" aria-haspopup=\"dialog\" aria-controls=\"vd-world-time-dialog\">\n    Convert My Time\n  <\/button>\n\n  <dialog class=\"vd-world-time-dialog\" id=\"vd-world-time-dialog\" aria-labelledby=\"vd-world-time-title\">\n    <div class=\"vd-world-time-dialog__content\">\n\n      <button type=\"button\" class=\"vd-world-time-dialog__close\" id=\"vd-close-world-time\" aria-label=\"Close\">\n        \u00d7\n      <\/button>\n\n      <div class=\"vd-world-time-field vd-language-field\">\n        <label for=\"vd-language\" id=\"vd-language-label\">\n          Language:\n        <\/label>\n\n        <select id=\"vd-language\">\n          <option value=\"en\">English<\/option>\n          <option value=\"es\">Espa\u00f1ol<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"vd-world-time-dialog__header\">\n        <h2 id=\"vd-world-time-title\">\n          Class Time Converter\n        <\/h2>\n      <\/div>\n\n      <div class=\"vd-world-time-form\">\n\n        <div class=\"vd-world-time-field\">\n          <label for=\"vd-availability-time\" id=\"vd-time-label\">\n            I am available at:\n          <\/label>\n\n          <select id=\"vd-availability-time\" required=\"\"><\/select>\n        <\/div>\n\n        <div class=\"vd-world-time-field\">\n          <label for=\"vd-class-date\" id=\"vd-date-label\">\n            On:\n          <\/label>\n\n          <input id=\"vd-class-date\" type=\"date\" required=\"\">\n        <\/div>\n\n        <div class=\"vd-world-time-field\">\n          <label for=\"vd-location-search\" id=\"vd-location-label\">\n            Where will you be during the class?\n          <\/label>\n\n          <div class=\"vd-location-search-wrapper\">\n            <input id=\"vd-location-search\" type=\"search\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"Type a country, city or region\" aria-autocomplete=\"list\" aria-controls=\"vd-location-results\" aria-expanded=\"false\">\n\n            <div class=\"vd-location-results\" id=\"vd-location-results\" role=\"listbox\" hidden=\"\"><\/div>\n          <\/div>\n\n          <input id=\"vd-selected-time-zone\" type=\"hidden\">\n\n          <div class=\"vd-selected-location\" id=\"vd-selected-location\" hidden=\"\">\n            <span id=\"vd-selected-location-prefix\">\n              Selected location:\n            <\/span>\n\n            <strong id=\"vd-selected-location-name\"><\/strong>\n\n            <button type=\"button\" class=\"vd-clear-location\" id=\"vd-clear-location\">\n              Change\n            <\/button>\n          <\/div>\n        <\/div>\n\n        <button type=\"button\" class=\"vd-world-time-convert\" id=\"vd-convert-world-time\">\n          Convert to Eastern Time\n        <\/button>\n\n      <\/div>\n\n      <div class=\"vd-world-time-message\" id=\"vd-world-time-message\" aria-live=\"polite\"><\/div>\n\n      <div class=\"vd-world-time-result\" id=\"vd-world-time-result\" aria-live=\"polite\" hidden=\"\">\n        <div class=\"vd-result-heading\" id=\"vd-result-heading\">\n          Select a class scheduled at:\n        <\/div>\n\n        <div class=\"vd-result-time\" id=\"vd-result-time\"><\/div>\n\n        <div class=\"vd-result-date\" id=\"vd-result-date\"><\/div>\n\n        <div class=\"vd-result-zone\" id=\"vd-result-zone\"><\/div>\n\n        <div class=\"vd-result-day\" id=\"vd-result-day\"><\/div>\n\n        <div class=\"vd-result-source\">\n          <span id=\"vd-result-source-prefix\">\n            Your selected availability:\n          <\/span>\n\n          <strong id=\"vd-result-source-value\"><\/strong>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/dialog>\n\n<\/div>\n\n\n\n<!-- =========================================\nV\u00cdA DIALOGA \u2014 RESPONSIVE PUNCHPASS SCHEDULE\n\nDesktop\/tablet:\n- Normal full-width iframe\n\nMobile:\n- Separate 375px internal iframe\n- Mobile iframe container uses 98% width\n- Overflow contained only inside the iframe area\n\nEnglish locale\nList view\nFilters hidden\n========================================= -->\n\n<style>\n  .vd-punchpass-schedule,\n  .vd-punchpass-schedule * {\n    box-sizing: border-box;\n  }\n\n  .vd-punchpass-schedule {\n    --vd-muted: #56615d;\n    --vd-border: #d9e2de;\n    --vd-background: #fbfaf7;\n    --vd-white: #ffffff;\n\n    position: relative;\n    width: 100%;\n    max-width: 100%;\n    margin: 0;\n    padding: 10px 16px 14px;\n    background: var(--vd-background);\n    font-family: Arial, Helvetica, sans-serif;\n  }\n\n  .vd-punchpass-inner {\n    position: relative;\n    width: 100%;\n    max-width: 1240px;\n    margin: 0 auto;\n    padding: 0;\n  }\n\n  \/* =========================================\n     DESKTOP AND TABLET\n  ========================================= *\/\n\n  .vd-punchpass-desktop {\n    display: block;\n    width: 100%;\n    max-width: 100%;\n    overflow: hidden;\n    border: 1px solid var(--vd-border);\n    border-radius: 14px;\n    background: var(--vd-white);\n    box-shadow: 0 10px 30px rgba(23, 47, 42, 0.08);\n  }\n\n  .vd-punchpass-desktop iframe {\n    display: block;\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n    height: 950px;\n    margin: 0;\n    padding: 0;\n    border: 0;\n    background: var(--vd-white);\n  }\n\n  \/* =========================================\n     MOBILE\n  ========================================= *\/\n\n  .vd-punchpass-mobile {\n    display: none;\n    position: relative;\n    width: 98%;\n    max-width: 98%;\n    margin-right: auto;\n    margin-left: auto;\n    padding: 0;\n    overflow: hidden;\n    border-top: 1px solid var(--vd-border);\n    border-bottom: 1px solid var(--vd-border);\n    background: var(--vd-white);\n    contain: layout paint;\n  }\n\n  .vd-punchpass-mobile-scaler {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 375px;\n    margin: 0;\n    padding: 0;\n    transform-origin: top left;\n  }\n\n  .vd-punchpass-mobile iframe {\n    display: block;\n    width: 375px !important;\n    min-width: 375px !important;\n    max-width: 375px !important;\n    height: 1400px;\n    margin: 0;\n    padding: 0;\n    border: 0;\n    background: var(--vd-white);\n  }\n\n  .vd-punchpass-note {\n    margin: 8px auto 0;\n    color: var(--vd-muted);\n    font-size: 0.9rem;\n    line-height: 1.35;\n    text-align: center;\n  }\n\n  \/* =========================================\n     MOBILE DISPLAY RULES\n  ========================================= *\/\n\n  @media (max-width: 700px) {\n    .vd-punchpass-schedule {\n      width: 100%;\n      max-width: 100%;\n      margin: 0;\n      padding: 6px 0 10px;\n      overflow: visible;\n    }\n\n    .vd-punchpass-inner {\n      width: 100%;\n      max-width: 100%;\n      margin: 0;\n      padding: 0;\n      overflow: visible;\n    }\n\n    .vd-punchpass-note {\n      margin-top: 6px;\n      padding-right: 16px;\n      padding-left: 16px;\n      line-height: 1.2;\n    }\n\n    .vd-punchpass-desktop {\n      display: none;\n    }\n\n    .vd-punchpass-mobile {\n      display: block;\n      width: 98%;\n      max-width: 98%;\n      margin-right: auto;\n      margin-left: auto;\n      overflow: hidden;\n    }\n  }\n<\/style>\n\n<section class=\"vd-punchpass-schedule\">\n  <div class=\"vd-punchpass-inner\">\n\n    <!-- Desktop and tablet schedule -->\n\n    <div class=\"vd-punchpass-desktop\">\n      <iframe\n        src=\"https:\/\/app.punchpass.com\/org\/21195\/classes?embed=true&amp;hidefilter=true&amp;locale=en\"\n        title=\"V\u00eda Dialoga English class schedule\"\n        loading=\"lazy\"\n        scrolling=\"yes\"\n      ><\/iframe>\n    <\/div>\n\n    <!-- Mobile schedule -->\n\n    <div\n      class=\"vd-punchpass-mobile\"\n      id=\"vdPunchpassMobileViewport\"\n    >\n      <div\n        class=\"vd-punchpass-mobile-scaler\"\n        id=\"vdPunchpassMobileScaler\"\n      >\n        <iframe\n          id=\"vdPunchpassMobileFrame\"\n          src=\"https:\/\/app.punchpass.com\/org\/21195\/classes?embed=true&amp;hidefilter=true&amp;locale=en\"\n          title=\"V\u00eda Dialoga English mobile class schedule\"\n          loading=\"lazy\"\n          scrolling=\"yes\"\n        ><\/iframe>\n      <\/div>\n    <\/div>\n\n    <p class=\"vd-punchpass-note\">\n      Select an available class to view its details and continue with your\n      reservation.\n    <\/p>\n\n  <\/div>\n<\/section>\n\n<script>\n  document.addEventListener(\"DOMContentLoaded\", function () {\n    \"use strict\";\n\n    const mobileViewport =\n      document.getElementById(\"vdPunchpassMobileViewport\");\n\n    const mobileScaler =\n      document.getElementById(\"vdPunchpassMobileScaler\");\n\n    const mobileFrame =\n      document.getElementById(\"vdPunchpassMobileFrame\");\n\n    const punchpassInternalWidth = 375;\n    const punchpassInternalHeight = 1400;\n\n    function resizePunchpassMobile() {\n      if (\n        !mobileViewport ||\n        !mobileScaler ||\n        !mobileFrame\n      ) {\n        return;\n      }\n\n      if (window.matchMedia(\"(min-width: 701px)\").matches) {\n        mobileViewport.style.height = \"\";\n        mobileScaler.style.transform = \"\";\n        return;\n      }\n\n      const availableWidth =\n        Math.floor(\n          mobileViewport.getBoundingClientRect().width\n        );\n\n      if (availableWidth <= 0) {\n        return;\n      }\n\n      const scale =\n        Math.min(\n          availableWidth \/ punchpassInternalWidth,\n          1\n        );\n\n      mobileScaler.style.width =\n        punchpassInternalWidth + \"px\";\n\n      mobileScaler.style.height =\n        punchpassInternalHeight + \"px\";\n\n      mobileScaler.style.transform =\n        \"scale(\" + scale + \")\";\n\n      mobileFrame.style.width =\n        punchpassInternalWidth + \"px\";\n\n      mobileFrame.style.height =\n        punchpassInternalHeight + \"px\";\n\n      mobileViewport.style.height =\n        Math.ceil(\n          punchpassInternalHeight * scale\n        ) + \"px\";\n    }\n\n    resizePunchpassMobile();\n\n    window.addEventListener(\n      \"resize\",\n      resizePunchpassMobile,\n      { passive: true }\n    );\n\n    window.addEventListener(\n      \"orientationchange\",\n      function () {\n        window.setTimeout(\n          resizePunchpassMobile,\n          200\n        );\n      }\n    );\n\n    window.setTimeout(\n      resizePunchpassMobile,\n      300\n    );\n\n    window.setTimeout(\n      resizePunchpassMobile,\n      1000\n    );\n  });\n<\/script>\n\n\n\n<style data-wp-block-html=\"css\">\nbody .site-footer,\nbody footer,\nbody .wp-block-template-part footer {\n  display: none !important;\n}\n<\/style>\n\n\n\n<!-- =========================================\nV\u00cdA DIALOGA \u2014 SIMPLE LEGAL LINKS\n========================================= -->\n\n<style>\n  .vd-legal-links {\n    display: flex;\n    width: 100%;\n    margin: 0;\n    padding: 12px 16px;\n    color: #56615d;\n    font-family: Arial, Helvetica, sans-serif;\n    font-size: 0.88rem;\n    line-height: 1.5;\n    text-align: center;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: center;\n    gap: 6px 10px;\n  }\n\n  .vd-legal-links a {\n    color: #56615d;\n    text-decoration: underline;\n    text-underline-offset: 3px;\n  }\n\n  .vd-legal-links a:hover {\n    color: #1d5a49;\n  }\n\n  .vd-legal-divider {\n    color: #9aa39f;\n  }\n\n  @media (max-width: 600px) {\n    .vd-legal-links {\n      padding: 12px;\n      font-size: 0.84rem;\n      gap: 5px 8px;\n    }\n  }\n<\/style>\n\n<nav class=\"vd-legal-links\" aria-label=\"Legal and company information\">\n\n  <a href=\"https:\/\/viadialoga.com\/privacy-policy\/\">\n    Privacy Policy\n  <\/a>\n\n  <span class=\"vd-legal-divider\" aria-hidden=\"true\">\u2022<\/span>\n\n  <a href=\"https:\/\/viadialoga.com\/terms-of-service\/\">\n    Terms of Service\n  <\/a>\n\n  <span class=\"vd-legal-divider\" aria-hidden=\"true\">\u2022<\/span>\n\n  <a href=\"https:\/\/viadialoga.com\/subscription-policy\/\">\n    Subscription Policy\n  <\/a>\n\n  <span class=\"vd-legal-divider\" aria-hidden=\"true\">\u2022<\/span>\n\n  <a href=\"https:\/\/viadialoga.com\/cancellation-policy\/\">\n    Cancellation Policy\n  <\/a>\n\n  <span class=\"vd-legal-divider\" aria-hidden=\"true\">\u2022<\/span>\n\n  <a href=\"https:\/\/viadialoga.com\/manage-membership\/\">\n    Manage or Cancel Membership\n  <\/a>\n\n  <span class=\"vd-legal-divider\" aria-hidden=\"true\">\u2022<\/span>\n\n  <a href=\"https:\/\/viadialoga.com\/about-us\/\">\n    About Us\n  <\/a>\n\n<\/nav>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>V\u00eda Dialoga Menu Home About Us Prices Free Study Material Schedule Group Class Schedule To schedule a private one-on-one lesson or private group lesson, use the green button. Schedule Private Lessons &amp; Groups Convert My Time \u00d7 Language: EnglishEspa\u00f1ol Class Time Converter I am available at: On: Where will you be during the class? Selected [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-258","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/pages\/258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/comments?post=258"}],"version-history":[{"count":54,"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/pages\/258\/revisions"}],"predecessor-version":[{"id":466,"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/pages\/258\/revisions\/466"}],"wp:attachment":[{"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/media?parent=258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}