{"id":12060,"date":"2024-05-22T17:21:26","date_gmt":"2024-05-22T15:21:26","guid":{"rendered":"https:\/\/triumphadventure.es\/?page_id=12060"},"modified":"2026-07-27T12:12:06","modified_gmt":"2026-07-27T10:12:06","slug":"tour-calendar","status":"publish","type":"page","link":"https:\/\/triumphadventure.es\/en\/tour-calendar\/","title":{"rendered":"Tour Calendar"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12060\" class=\"elementor elementor-12060 elementor-11500\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d65110f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d65110f\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-466ecdf\" data-id=\"466ecdf\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-afd5328 elementor-widget elementor-widget-html\" data-id=\"afd5328\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ============================================================\r\n     AUTOMATIC CALENDAR EN - All dates from WooCommerce\r\n     Requires WPCode \/wp-json\/ta\/v1\/dates?id=PRODUCT_ID\r\n     ============================================================ -->\r\n\r\n<style>\r\n  .ta-auto-cal {\r\n    --accent: #CD192D;\r\n    --accent-dark: #8F111F;\r\n    --neon: #D2FF0E;\r\n    --dark: #000;\r\n    --panel: #122724;\r\n    --panel-2: #162b28;\r\n    --line: rgba(255,255,255,.1);\r\n    --text: #EFE9E5;\r\n    --muted: #A7A9AC;\r\n    --soft: #8a9e9a;\r\n    background: #000;\r\n    color: var(--text);\r\n    font-family: 'TriumphBrokman', system-ui, -apple-system, sans-serif;\r\n    padding: 4.5rem 0;\r\n  }\r\n\r\n  .ta-auto-cal * { box-sizing: border-box; }\r\n\r\n  .ta-auto-cal-wrap {\r\n    max-width: 1160px;\r\n    margin: 0 auto;\r\n    padding: 0 2rem;\r\n  }\r\n\r\n  .ta-auto-cal-head {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    gap: 24px;\r\n    align-items: end;\r\n    border-bottom: 1px solid var(--line);\r\n    padding-bottom: 22px;\r\n    margin-bottom: 24px;\r\n  }\r\n\r\n  .ta-auto-cal-eyebrow {\r\n    display: block;\r\n    color: var(--accent);\r\n    font-size: 10px;\r\n    font-weight: 800;\r\n    letter-spacing: 3.5px;\r\n    text-transform: uppercase;\r\n    margin-bottom: 10px;\r\n  }\r\n\r\n  .ta-auto-cal-title {\r\n    margin: 0;\r\n    color: var(--text);\r\n    font-size: clamp(1.8rem, 3.3vw, 2.7rem);\r\n    line-height: 1.05;\r\n    text-transform: uppercase;\r\n    font-weight: 800;\r\n  }\r\n\r\n  .ta-auto-cal-sub {\r\n    max-width: 520px;\r\n    margin: 0;\r\n    color: var(--muted);\r\n    font-size: 13px;\r\n    line-height: 1.6;\r\n  }\r\n\r\n  .ta-auto-cal-grid {\r\n    display: grid;\r\n    gap: 14px;\r\n  }\r\n\r\n  .ta-auto-cal-tour {\r\n    background: var(--panel);\r\n    border: 1px solid rgba(255,255,255,.07);\r\n    border-radius: 8px;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .ta-auto-cal-tour-head {\r\n    display: grid;\r\n    grid-template-columns: minmax(0, 1fr) auto;\r\n    gap: 18px;\r\n    align-items: center;\r\n    padding: 18px 20px;\r\n    background: rgba(255,255,255,.035);\r\n    border-bottom: 1px solid var(--line);\r\n  }\r\n\r\n  .ta-auto-cal-tour-kicker {\r\n    color: var(--soft);\r\n    font-size: 10px;\r\n    font-weight: 800;\r\n    letter-spacing: 2px;\r\n    text-transform: uppercase;\r\n    margin-bottom: 5px;\r\n  }\r\n\r\n  .ta-auto-cal-tour-title {\r\n    margin: 0;\r\n    color: var(--text);\r\n    font-size: 18px;\r\n    line-height: 1.2;\r\n    font-weight: 800;\r\n  }\r\n\r\n  .ta-auto-cal-meta {\r\n    display: flex;\r\n    gap: 7px;\r\n    flex-wrap: wrap;\r\n    margin-top: 10px;\r\n  }\r\n\r\n  .ta-auto-cal-pill {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    border: 1px solid rgba(255,255,255,.12);\r\n    border-radius: 99px;\r\n    color: var(--muted);\r\n    background: rgba(255,255,255,.045);\r\n    font-size: 10px;\r\n    font-weight: 700;\r\n    letter-spacing: .8px;\r\n    text-transform: uppercase;\r\n    padding: 5px 9px;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  .ta-auto-cal-pill--off {\r\n    color: var(--neon);\r\n    border-color: rgba(210,255,14,.35);\r\n    background: rgba(210,255,14,.08);\r\n  }\r\n\r\n  .ta-auto-cal-tour-count {\r\n    min-width: 112px;\r\n    text-align: right;\r\n    color: var(--muted);\r\n    font-size: 11px;\r\n    font-weight: 800;\r\n    letter-spacing: 1.5px;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  .ta-auto-cal-dates {\r\n    display: grid;\r\n  }\r\n\r\n  .ta-auto-cal-date {\r\n    display: grid;\r\n    grid-template-columns: minmax(170px, 1fr) 120px 150px 170px;\r\n    gap: 16px;\r\n    align-items: center;\r\n    padding: 16px 20px;\r\n    border-bottom: 1px solid rgba(255,255,255,.06);\r\n  }\r\n\r\n  .ta-auto-cal-date:last-child { border-bottom: 0; }\r\n\r\n  .ta-auto-cal-date-label {\r\n    color: var(--text);\r\n    font-size: 18px;\r\n    font-weight: 800;\r\n    line-height: 1.15;\r\n  }\r\n\r\n  .ta-auto-cal-date-id {\r\n    color: var(--soft);\r\n    font-size: 10px;\r\n    font-weight: 700;\r\n    letter-spacing: 1.5px;\r\n    text-transform: uppercase;\r\n    margin-top: 5px;\r\n  }\r\n\r\n  .ta-auto-cal-stock {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    min-height: 36px;\r\n  }\r\n\r\n  .ta-auto-cal-stock-num {\r\n    color: var(--neon);\r\n    font-size: 34px;\r\n    font-weight: 900;\r\n    line-height: 1;\r\n  }\r\n\r\n  .ta-auto-cal-stock-num--low,\r\n  .ta-auto-cal-stock-num--out { color: #FF6B6B; }\r\n\r\n  .ta-auto-cal-stock-text {\r\n    color: var(--muted);\r\n    font-size: 10px;\r\n    line-height: 1.15;\r\n    font-weight: 800;\r\n    letter-spacing: 1px;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  .ta-auto-cal-status {\r\n    justify-self: start;\r\n    display: inline-flex;\r\n    align-items: center;\r\n    border-radius: 4px;\r\n    border: 1px solid rgba(239,233,229,.28);\r\n    color: var(--text);\r\n    background: rgba(239,233,229,.08);\r\n    padding: 6px 9px;\r\n    font-size: 10px;\r\n    font-weight: 800;\r\n    letter-spacing: 1.1px;\r\n    text-transform: uppercase;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  .ta-auto-cal-status--low {\r\n    color: #FF6B6B;\r\n    border-color: rgba(255,107,107,.45);\r\n    background: rgba(255,107,107,.12);\r\n  }\r\n\r\n  .ta-auto-cal-status--out {\r\n    color: #fff;\r\n    border-color: var(--accent);\r\n    background: var(--accent);\r\n  }\r\n\r\n  .ta-auto-cal-cta {\r\n    display: inline-flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    min-height: 42px;\r\n    color: #fff !important;\r\n    background: var(--accent);\r\n    border-radius: 6px;\r\n    text-decoration: none !important;\r\n    font-size: 11px;\r\n    font-weight: 900;\r\n    letter-spacing: 1.5px;\r\n    text-transform: uppercase;\r\n    padding: 12px 16px;\r\n    transition: background .2s ease, transform .15s ease;\r\n    text-align: center;\r\n  }\r\n\r\n  .ta-auto-cal-cta:hover {\r\n    background: var(--accent-dark);\r\n    color: #fff !important;\r\n    transform: translateY(-1px);\r\n  }\r\n\r\n  .ta-auto-cal-cta--wait {\r\n    background: #333;\r\n  }\r\n\r\n  .ta-auto-cal-cta--wait:hover {\r\n    background: #333;\r\n  }\r\n\r\n  .ta-auto-cal-empty,\r\n  .ta-auto-cal-loading,\r\n  .ta-auto-cal-error {\r\n    padding: 18px 20px;\r\n    color: var(--muted);\r\n    font-size: 13px;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  .ta-auto-cal-error { color: #FF6B6B; }\r\n\r\n  .ta-auto-cal-noscript {\r\n    background: var(--panel);\r\n    border: 1px solid rgba(255,255,255,.08);\r\n    border-radius: 8px;\r\n    color: var(--muted);\r\n    font-size: 13px;\r\n    line-height: 1.55;\r\n    margin-top: 16px;\r\n    padding: 18px 20px;\r\n  }\r\n\r\n  .ta-auto-cal-noscript p { margin: 0 0 12px; }\r\n\r\n  .ta-auto-cal-noscript ul {\r\n    display: grid;\r\n    gap: 8px;\r\n    list-style: none;\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n\r\n  .ta-auto-cal-noscript a {\r\n    color: var(--text);\r\n    font-weight: 800;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .ta-auto-cal-noscript a:hover { color: var(--neon); }\r\n\r\n  @media (max-width: 820px) {\r\n    .ta-auto-cal-head,\r\n    .ta-auto-cal-tour-head {\r\n      grid-template-columns: 1fr;\r\n      display: grid;\r\n      align-items: start;\r\n    }\r\n\r\n    .ta-auto-cal-tour-count { text-align: left; }\r\n\r\n    .ta-auto-cal-date {\r\n      grid-template-columns: 1fr;\r\n      gap: 12px;\r\n      align-items: start;\r\n    }\r\n\r\n    .ta-auto-cal-stock { justify-content: flex-start; }\r\n    .ta-auto-cal-cta { width: 100%; }\r\n  }\r\n\r\n  @media (max-width: 560px) {\r\n    .ta-auto-cal { padding: 3.2rem 0; }\r\n    .ta-auto-cal-wrap { padding: 0 1rem; }\r\n    .ta-auto-cal-tour-head,\r\n    .ta-auto-cal-date { padding: 16px; }\r\n  }\r\n<\/style>\r\n\r\n<section class=\"ta-auto-cal\" id=\"ta-tour-calendar-en\" aria-labelledby=\"ta-tour-calendar-title-en\">\r\n  <div class=\"ta-auto-cal-wrap\">\r\n    <div class=\"ta-auto-cal-head\">\r\n      <div>\r\n        <span class=\"ta-auto-cal-eyebrow\">Tour calendar<\/span>\r\n        <h2 class=\"ta-auto-cal-title\" id=\"ta-tour-calendar-title-en\">Motorcycle tour calendar: upcoming available dates<\/h2>\r\n      <\/div>\r\n      <p class=\"ta-auto-cal-sub\">\r\n        Check the next Triumph Adventure On-Road and Off-Road departures, with live availability so you can book your ride before it sells out.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"ta-auto-cal-grid\" data-ta-calendar-list aria-live=\"polite\">\r\n      <div class=\"ta-auto-cal-loading\">Loading calendar...<\/div>\r\n    <\/div>\r\n\r\n    <noscript>\r\n      <div class=\"ta-auto-cal-noscript\">\r\n        <p>Triumph Adventure motorcycle tour calendar with dates and spots for On-Road and Off-Road routes.<\/p>\r\n        <ul>\r\n          <li><a href=\"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/triumph-transpyrenean-tour\/\">Triumph Transpyrenean Tour<\/a><\/li>\r\n          <li><a href=\"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/morocco-motorcycle-tours\/\">Triumph Rewards of Morocco Tour<\/a><\/li>\r\n          <li><a href=\"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/guided-motorcycle-tour-andalucia\/\">Triumph: Land of Light - Andalucia Tour<\/a><\/li>\r\n          <li><a href=\"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/triumph-rewards-of-morocco-enduro-tour\/\">Triumph Rewards of Morocco Enduro Tour<\/a><\/li>\r\n          <li><a href=\"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/portugal-motorcycle-tours\/\">Triumph Translusitania Off-Road Tour<\/a><\/li>\r\n          <li><a href=\"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/triumph-red-desert-off-road-gorafe\/\">Triumph Red Desert Off-Road Tour<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n    <\/noscript>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function () {\r\n  var config = {\r\n    \"file\": \"ta-tour-calendar-automatic-en.html\",\r\n    \"comment\": \"AUTOMATIC CALENDAR EN - All dates from WooCommerce\",\r\n    \"guard\": \"__taAutoTourCalendarENLoaded\",\r\n    \"sectionId\": \"ta-tour-calendar-en\",\r\n    \"titleId\": \"ta-tour-calendar-title-en\",\r\n    \"schemaId\": \"ta-auto-cal-schema-en\",\r\n    \"lang\": \"en\",\r\n    \"eyebrow\": \"Tour calendar\",\r\n    \"title\": \"Motorcycle tour calendar: upcoming available dates\",\r\n    \"sub\": \"Check the next Triumph Adventure On-Road and Off-Road departures, with live availability so you can book your ride before it sells out.\",\r\n    \"loading\": \"Loading calendar...\",\r\n    \"noscript\": \"Triumph Adventure motorcycle tour calendar with dates and spots for On-Road and Off-Road routes.\",\r\n    \"tbc\": \"Date to be confirmed\",\r\n    \"variation\": \"Variation #\",\r\n    \"soldOutStock\": \"no spots\",\r\n    \"availableStock\": \"spots<br>available\",\r\n    \"soldOutStatus\": \"Sold out\",\r\n    \"lowStatus\": \"Last spots\",\r\n    \"availableStatus\": \"Available\",\r\n    \"bookCta\": \"Book now\",\r\n    \"waitCta\": \"Join waitlist\",\r\n    \"empty\": \"Dates coming soon.\",\r\n    \"error\": \"Could not load the calendar. Check that \/wp-json\/ta\/v1\/dates is active.\",\r\n    \"departure\": \"Departure \",\r\n    \"listName\": \"Triumph Adventure motorcycle tour calendar\",\r\n    \"offlineLocationPrefix\": \"Departure \",\r\n    \"emailSubjectPrefix\": \"Waiting list - \",\r\n    \"emailBodyStart\": \"Hi, I am interested in \",\r\n    \"emailBodyMiddle\": \" for the date \",\r\n    \"emailBodyEnd\": \". Please let me know if a spot becomes available. Thank you.\",\r\n    \"tours\": [\r\n        {\r\n            \"id\": 26778,\r\n            \"title\": \"Triumph Transpyrenean Tour\",\r\n            \"type\": \"On-Road\",\r\n            \"level\": \"Beginner\",\r\n            \"duration\": \"6 days\",\r\n            \"start\": \"Barcelona\",\r\n            \"url\": \"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/triumph-transpyrenean-tour\/\"\r\n        },\r\n        {\r\n            \"id\": 3154,\r\n            \"title\": \"Triumph Rewards of Morocco Tour\",\r\n            \"type\": \"On-Road\",\r\n            \"level\": \"Beginner\",\r\n            \"duration\": \"8 days\",\r\n            \"start\": \"Malaga\",\r\n            \"url\": \"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/morocco-motorcycle-tours\/\"\r\n        },\r\n        {\r\n            \"id\": 3242,\r\n            \"title\": \"Triumph: Land of Light - Andalucia Tour\",\r\n            \"type\": \"On-Road\",\r\n            \"level\": \"Beginner\",\r\n            \"duration\": \"8 days\",\r\n            \"start\": \"Malaga\",\r\n            \"url\": \"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/guided-motorcycle-tour-andalucia\/\"\r\n        },\r\n        {\r\n            \"id\": 21192,\r\n            \"title\": \"Triumph Rewards of Morocco Enduro Tour\",\r\n            \"type\": \"Off-Road\",\r\n            \"level\": \"Intermediate\",\r\n            \"duration\": \"9 days\",\r\n            \"start\": \"Malaga\",\r\n            \"url\": \"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/triumph-rewards-of-morocco-enduro-tour\/\"\r\n        },\r\n        {\r\n            \"id\": 3290,\r\n            \"title\": \"Triumph Translusitania Off-Road Tour\",\r\n            \"type\": \"Off-Road\",\r\n            \"level\": \"Intermediate\",\r\n            \"duration\": \"7 days\",\r\n            \"start\": \"Portugal\",\r\n            \"url\": \"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/portugal-motorcycle-tours\/\"\r\n        },\r\n        {\r\n            \"id\": 7332,\r\n            \"title\": \"Triumph Red Desert Off-Road Tour\",\r\n            \"type\": \"Off-Road\",\r\n            \"level\": \"Basic Off-Road\",\r\n            \"duration\": \"3 days\",\r\n            \"start\": \"Gorafe\",\r\n            \"url\": \"https:\/\/triumphadventure.es\/en\/producto\/motorcycle-tours\/triumph-red-desert-off-road-gorafe\/\"\r\n        }\r\n    ],\r\n    \"monthTranslations\": {\r\n        \"ene\": \"January\",\r\n        \"enero\": \"January\",\r\n        \"jan\": \"January\",\r\n        \"january\": \"January\",\r\n        \"januar\": \"January\",\r\n        \"feb\": \"February\",\r\n        \"febrero\": \"February\",\r\n        \"february\": \"February\",\r\n        \"februar\": \"February\",\r\n        \"mar\": \"March\",\r\n        \"marzo\": \"March\",\r\n        \"march\": \"March\",\r\n        \"marz\": \"March\",\r\n        \"maerz\": \"March\",\r\n        \"abr\": \"April\",\r\n        \"abril\": \"April\",\r\n        \"apr\": \"April\",\r\n        \"april\": \"April\",\r\n        \"may\": \"May\",\r\n        \"mayo\": \"May\",\r\n        \"mai\": \"May\",\r\n        \"jun\": \"June\",\r\n        \"junio\": \"June\",\r\n        \"june\": \"June\",\r\n        \"juni\": \"June\",\r\n        \"jul\": \"July\",\r\n        \"julio\": \"July\",\r\n        \"july\": \"July\",\r\n        \"juli\": \"July\",\r\n        \"ago\": \"August\",\r\n        \"agosto\": \"August\",\r\n        \"aug\": \"August\",\r\n        \"august\": \"August\",\r\n        \"sep\": \"September\",\r\n        \"sept\": \"September\",\r\n        \"septiembre\": \"September\",\r\n        \"september\": \"September\",\r\n        \"oct\": \"October\",\r\n        \"octubre\": \"October\",\r\n        \"okt\": \"October\",\r\n        \"oktober\": \"October\",\r\n        \"october\": \"October\",\r\n        \"nov\": \"November\",\r\n        \"noviembre\": \"November\",\r\n        \"november\": \"November\",\r\n        \"dic\": \"December\",\r\n        \"diciembre\": \"December\",\r\n        \"dec\": \"December\",\r\n        \"december\": \"December\",\r\n        \"dez\": \"December\",\r\n        \"dezember\": \"December\"\r\n    }\r\n};\r\n  if (window[config.guard]) return;\r\n  window[config.guard] = true;\r\n  var tours = config.tours;\r\n\r\n  function escapeHtml(value) {\r\n    return String(value == null ? '' : value).replace(\/[&<>\"']\/g, function (char) {\r\n      return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[char];\r\n    });\r\n  }\r\n\r\n  function normalizeText(value) {\r\n    return String(value || '').toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '').replace(\/\\.$\/, '');\r\n  }\r\n\r\n  function translateMonth(month) {\r\n    return config.monthTranslations[normalizeText(month)] || month;\r\n  }\r\n\r\n  function formatDateLabel(date) {\r\n    var text = String(date.label || '').trim();\r\n    var range = text.match(\/^\\s*(?:(?:del|vom|from)\\s+)?(\\d{1,2})\\.?\\s*(?:al|a|to|until|bis|-)\\s*(\\d{1,2})\\.?\\s*(?:de\\s*)?([\\p{L}]+)\\s*(?:de\\s*)?(20\\d{2})\\s*$\/iu);\r\n    if (range) {\r\n      var rangeMonth = translateMonth(range[3]);\r\n      return range[1] + ' to ' + range[2] + ' ' + rangeMonth + ' ' + range[4];\r\n    }\r\n    var single = text.match(\/^\\s*(\\d{1,2})\\.?\\s*(?:de\\s*)?([\\p{L}]+)\\s*(?:de\\s*)?(20\\d{2})\\s*$\/iu);\r\n    if (single) {\r\n      var singleMonth = translateMonth(single[2]);\r\n      return single[1] + ' ' + singleMonth + ' ' + single[3];\r\n    }\r\n\r\n    var isoDate = getDateIso(date);\r\n    if (isoDate) {\r\n      var parts = isoDate.split('-');\r\n      var localDate = new Date(Number(parts[0]), Number(parts[1]) - 1, Number(parts[2]));\r\n      return new Intl.DateTimeFormat('en-GB', {\r\n        day: 'numeric',\r\n        month: 'long',\r\n        year: 'numeric'\r\n      }).format(localDate);\r\n    }\r\n\r\n    return text || config.tbc;\r\n  }\r\n\r\n  function getDatesUrl(productId) {\r\n    var useRemote = window.location.protocol === 'file:' || \/^(localhost|127\\.0\\.0\\.1)$\/i.test(window.location.hostname);\r\n    var base = useRemote ? 'https:\/\/triumphadventure.es\/wp-json\/ta\/v1\/dates' : '\/wp-json\/ta\/v1\/dates';\r\n    return base + '?id=' + encodeURIComponent(productId) + '&_=' + Date.now();\r\n  }\r\n\r\n  function getDateIso(date) { if (date.date_iso) return date.date_iso; var timestamp = parseInt(date.timestamp, 10); if (isNaN(timestamp) || timestamp <= 0) return ''; return new Date(timestamp * 1000).toISOString().slice(0, 10); }\r\n  function getSchemaAvailability(stock, inStock) { var parsedStock = parseInt(stock, 10); var available = inStock !== false && !isNaN(parsedStock) && parsedStock > 0; return available ? 'https:\/\/schema.org\/InStock' : 'https:\/\/schema.org\/SoldOut'; }\r\n  function getSchemaDescription(tour) { return tour.title + ' is a Triumph Adventure ' + tour.type + ' motorcycle tour departing from ' + tour.start + '.'; }\r\n\r\n  function buildCalendarSchema(results) {\r\n    var items = [];\r\n    results.forEach(function (result) {\r\n      var tour = result.tour;\r\n      result.dates.forEach(function (date) {\r\n        var isoDate = getDateIso(date);\r\n        if (!isoDate) return;\r\n        var label = formatDateLabel(date);\r\n        var event = { '@type': 'Event', name: tour.title + ' - ' + label, description: getSchemaDescription(tour), startDate: isoDate, eventStatus: 'https:\/\/schema.org\/EventScheduled', eventAttendanceMode: 'https:\/\/schema.org\/OfflineEventAttendanceMode', url: tour.url, organizer: { '@type': 'Organization', name: 'Triumph Adventure', url: 'https:\/\/triumphadventure.es\/' }, location: { '@type': 'Place', name: config.offlineLocationPrefix + tour.start }, offers: { '@type': 'Offer', url: tour.url, availability: getSchemaAvailability(date.stock, date.in_stock) } };\r\n        items.push({ '@type': 'ListItem', position: items.length + 1, item: event });\r\n      });\r\n    });\r\n    if (!items.length) return null;\r\n    return { '@context': 'https:\/\/schema.org', '@type': 'ItemList', name: config.listName, itemListElement: items };\r\n  }\r\n\r\n  function injectCalendarSchema(results) {\r\n    var schema = buildCalendarSchema(results);\r\n    if (!schema || !document.head) return;\r\n    var script = document.getElementById(config.schemaId);\r\n    if (!script) { script = document.createElement('script'); script.type = 'application\/ld+json'; script.id = config.schemaId; document.head.appendChild(script); }\r\n    script.textContent = JSON.stringify(schema);\r\n  }\r\n\r\n  function waitlistHref(tour, dateLabel) { var subject = config.emailSubjectPrefix + tour.title; var body = config.emailBodyStart + tour.title + config.emailBodyMiddle + dateLabel + config.emailBodyEnd; return 'mailto:info@triumphadventure.es?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body); }\r\n\r\n  function renderStock(stock, inStock) {\r\n    var parsedStock = parseInt(stock, 10);\r\n    var soldOut = !inStock || isNaN(parsedStock) || parsedStock <= 0;\r\n    var low = !soldOut && parsedStock <= 5;\r\n    if (soldOut) return '<div class=\"ta-auto-cal-stock\"><div class=\"ta-auto-cal-stock-num ta-auto-cal-stock-num--out\">0<\/div><div class=\"ta-auto-cal-stock-text\">' + config.soldOutStock + '<\/div><\/div>';\r\n    return '<div class=\"ta-auto-cal-stock\"><div class=\"ta-auto-cal-stock-num' + (low ? ' ta-auto-cal-stock-num--low' : '') + '\">' + parsedStock + '<\/div><div class=\"ta-auto-cal-stock-text\">' + config.availableStock + '<\/div><\/div>';\r\n  }\r\n\r\n  function renderStatus(stock, inStock) {\r\n    var parsedStock = parseInt(stock, 10);\r\n    var soldOut = !inStock || isNaN(parsedStock) || parsedStock <= 0;\r\n    if (soldOut) return '<span class=\"ta-auto-cal-status ta-auto-cal-status--out\">' + config.soldOutStatus + '<\/span>';\r\n    if (parsedStock <= 5) return '<span class=\"ta-auto-cal-status ta-auto-cal-status--low\">' + config.lowStatus + '<\/span>';\r\n    return '<span class=\"ta-auto-cal-status\">' + config.availableStatus + '<\/span>';\r\n  }\r\n\r\n  function renderDate(tour, date) {\r\n    var stock = parseInt(date.stock, 10);\r\n    var inStock = date.in_stock !== false && !isNaN(stock) && stock > 0;\r\n    var label = formatDateLabel(date);\r\n    var href = inStock ? tour.url : waitlistHref(tour, label);\r\n    var ctaLabel = inStock ? config.bookCta : config.waitCta;\r\n    return '<div class=\"ta-auto-cal-date\"><div><div class=\"ta-auto-cal-date-label\">' + escapeHtml(label) + '<\/div><div class=\"ta-auto-cal-date-id\">' + config.variation + escapeHtml(date.variation_id) + '<\/div><\/div>' + renderStock(stock, inStock) + renderStatus(stock, inStock) + '<a class=\"ta-auto-cal-cta' + (inStock ? '' : ' ta-auto-cal-cta--wait') + '\" href=\"' + escapeHtml(href) + '\">' + ctaLabel + '<\/a><\/div>';\r\n  }\r\n\r\n  function countText(count) { return count === 1 ? '1 date' : count + ' dates'; }\r\n\r\n  function renderTour(tour, dates) {\r\n    var typeClass = tour.type === 'Off-Road' ? ' ta-auto-cal-pill--off' : '';\r\n    var datesHtml = dates.length ? dates.map(function (date) { return renderDate(tour, date); }).join('') : '<div class=\"ta-auto-cal-empty\">' + config.empty + '<\/div>';\r\n    return '<article class=\"ta-auto-cal-tour\"><div class=\"ta-auto-cal-tour-head\"><div><div class=\"ta-auto-cal-tour-kicker\">' + escapeHtml(tour.level) + '<\/div><h3 class=\"ta-auto-cal-tour-title\">' + escapeHtml(tour.title) + '<\/h3><div class=\"ta-auto-cal-meta\"><span class=\"ta-auto-cal-pill' + typeClass + '\">' + escapeHtml(tour.type) + '<\/span><span class=\"ta-auto-cal-pill\">' + escapeHtml(tour.duration) + '<\/span><span class=\"ta-auto-cal-pill\">' + escapeHtml(config.departure + tour.start) + '<\/span><\/div><\/div><div class=\"ta-auto-cal-tour-count\">' + countText(dates.length) + '<\/div><\/div><div class=\"ta-auto-cal-dates\">' + datesHtml + '<\/div><\/article>';\r\n  }\r\n\r\n  function fetchTour(tour) {\r\n    return fetch(getDatesUrl(tour.id), { cache: 'no-store', headers: { 'Cache-Control': 'no-cache' } }).then(function (response) { if (!response.ok) throw new Error('Calendar request failed: ' + tour.title); return response.json(); }).then(function (data) { return { tour: tour, dates: Array.isArray(data.dates) ? data.dates : [] }; });\r\n  }\r\n\r\n  function loadCalendar() {\r\n    var list = document.querySelector('#' + config.sectionId + ' [data-ta-calendar-list]');\r\n    if (!list) return;\r\n    Promise.all(tours.map(fetchTour)).then(function (results) { injectCalendarSchema(results); list.innerHTML = results.map(function (result) { return renderTour(result.tour, result.dates); }).join(''); }).catch(function () { list.innerHTML = '<div class=\"ta-auto-cal-error\">' + config.error + '<\/div>'; });\r\n  }\r\n\r\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', loadCalendar); else loadCalendar();\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-2482f2c e-flex e-con-boxed e-con e-parent\" data-id=\"2482f2c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-78ed16e elementor-widget elementor-widget-html\" data-id=\"78ed16e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ============================================================\r\n     ELEMENTOR: Widget \"HTML\" \u2014 YouTube Videos Morocco Enduro Tour\r\n     Triumph aesthetic \u00b7 2 videos horizontales en fila\r\n     ============================================================ -->\r\n\r\n<style>\r\n  .ta-yt2-wrap {\r\n    --accent: #CE192D;\r\n    --neon: #D2FF0E;\r\n    --dark: #000000;\r\n    --border: #1a1a1a;\r\n    --text: #EFE9E5;\r\n    --muted: #A7A9AC;\r\n    font-family: system-ui, -apple-system, sans-serif;\r\n  }\r\n\r\n  .ta-yt2-eyebrow {\r\n    font-size: 10px; font-weight: 700; letter-spacing: 0.12em;\r\n    text-transform: uppercase; color: var(--muted);\r\n    margin: 0 0 10px; display: block;\r\n  }\r\n  .ta-yt2-title {\r\n    font-size: 22px; font-weight: 700; color: #1C1A17;\r\n    margin: 0 0 28px; line-height: 1.2; letter-spacing: -0.01em;\r\n  }\r\n  .ta-yt2-title span { color: var(--accent); }\r\n\r\n  .ta-yt2-grid {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 16px;\r\n    align-items: start;\r\n  }\r\n\r\n  .ta-yt2-card {\r\n    background: var(--dark);\r\n    border-radius: 14px;\r\n    overflow: hidden;\r\n    cursor: pointer;\r\n    transition: transform 0.2s ease, box-shadow 0.2s ease;\r\n    border: 1px solid var(--border);\r\n  }\r\n  .ta-yt2-card:hover {\r\n    transform: translateY(-4px);\r\n    box-shadow: 0 16px 40px rgba(0,0,0,0.5);\r\n    border-color: #333;\r\n  }\r\n\r\n  .ta-yt2-thumb {\r\n    position: relative;\r\n    overflow: hidden;\r\n    background: #111;\r\n    aspect-ratio: 16 \/ 9;\r\n  }\r\n\r\n  .ta-yt2-thumb img {\r\n    width: 100% !important;\r\n    height: 100% !important;\r\n    object-fit: cover !important;\r\n    object-position: center !important;\r\n    display: block !important;\r\n    transition: transform 0.5s ease;\r\n    filter: brightness(0.8);\r\n  }\r\n  .ta-yt2-card:hover .ta-yt2-thumb img {\r\n    transform: scale(1.06);\r\n    filter: brightness(1);\r\n  }\r\n\r\n  .ta-yt2-overlay {\r\n    position: absolute; inset: 0;\r\n    background: linear-gradient(to bottom, transparent 30%, rgba(0,0,0,0.85) 100%);\r\n  }\r\n\r\n  .ta-yt2-type {\r\n    position: absolute; top: 12px; left: 12px; z-index: 2;\r\n    font-size: 9px; font-weight: 800; letter-spacing: 0.1em;\r\n    text-transform: uppercase; padding: 4px 9px; border-radius: 5px;\r\n    background: var(--accent); color: #fff;\r\n  }\r\n\r\n  .ta-yt2-play {\r\n    position: absolute;\r\n    top: 50%; left: 50%;\r\n    transform: translate(-50%, -50%);\r\n    width: 56px; height: 56px; border-radius: 50%;\r\n    background: rgba(206,25,45,0.88);\r\n    display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s, transform 0.2s;\r\n    box-shadow: 0 4px 20px rgba(206,25,45,0.5);\r\n    z-index: 2;\r\n  }\r\n  .ta-yt2-play svg { width: 22px; height: 22px; margin-left: 4px; }\r\n  .ta-yt2-card:hover .ta-yt2-play {\r\n    background: var(--accent);\r\n    transform: translate(-50%, -50%) scale(1.12);\r\n  }\r\n\r\n  .ta-yt2-info-img {\r\n    position: absolute; bottom: 0; left: 0; right: 0;\r\n    padding: 14px 16px; z-index: 2;\r\n  }\r\n  .ta-yt2-name-img {\r\n    font-size: 13px; font-weight: 600; color: #fff;\r\n    line-height: 1.4; margin: 0;\r\n    text-shadow: 0 1px 4px rgba(0,0,0,0.8);\r\n  }\r\n\r\n  .ta-yt2-note {\r\n    font-size: 12px; color: #A7A9AC;\r\n    margin: 16px 0 0; text-align: center; line-height: 1.6;\r\n  }\r\n\r\n  \/* \u2500\u2500 Lightbox \u2500\u2500 *\/\r\n  .ta-yt2-lb {\r\n    display: none; position: fixed; inset: 0; z-index: 9999;\r\n    background: rgba(0,0,0,0.96);\r\n    align-items: center; justify-content: center;\r\n    backdrop-filter: blur(16px);\r\n  }\r\n  .ta-yt2-lb.open { display: flex; }\r\n\r\n  .ta-yt2-lb-inner { position: relative; width: 92vw; max-width: 960px; }\r\n\r\n  .ta-yt2-lb-frame {\r\n    border-radius: 14px; overflow: hidden; background: #000;\r\n    box-shadow: 0 24px 80px rgba(0,0,0,0.8);\r\n    aspect-ratio: 16\/9;\r\n    position: relative;\r\n  }\r\n\r\n  .ta-yt2-lb-frame iframe {\r\n    position: absolute; inset: 0;\r\n    width: 100% !important; height: 100% !important;\r\n    border: none; display: block;\r\n  }\r\n\r\n  .ta-yt2-lb-close {\r\n    position: absolute; top: -48px; right: 0;\r\n    background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2);\r\n    color: white; font-size: 18px; width: 38px; height: 38px;\r\n    border-radius: 50%; cursor: pointer;\r\n    display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s;\r\n  }\r\n  .ta-yt2-lb-close:hover { background: var(--accent); border-color: var(--accent); }\r\n\r\n  @media (max-width: 600px) {\r\n    .ta-yt2-grid { grid-template-columns: 1fr; }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"ta-yt2-wrap\">\r\n\r\n  <span class=\"ta-yt2-eyebrow\">On the road<\/span>\r\n  <h2 class=\"ta-yt2-title\">Morocco Enduro Tour \u2014 <span>feel the ride<\/span><\/h2>\r\n\r\n  <div class=\"ta-yt2-grid\">\r\n\r\n    <!-- Video 1 -->\r\n    <div class=\"ta-yt2-card\" onclick=\"taYt2Open('dcWNLoaHZ50')\">\r\n      <div class=\"ta-yt2-thumb\">\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/img.youtube.com\/vi\/dcWNLoaHZ50\/sddefault.jpg\"\r\n          onerror=\"this.src='https:\/\/img.youtube.com\/vi\/dcWNLoaHZ50\/hqdefault.jpg'\"\r\n          alt=\"Morocco Enduro Tour \u2014 Triumph TF 450 E\"\r\n          loading=\"lazy\">\r\n        <div class=\"ta-yt2-overlay\"><\/div>\r\n        <span class=\"ta-yt2-type\">Tour video<\/span>\r\n        <div class=\"ta-yt2-play\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M8 5v14l11-7z\"\/><\/svg>\r\n        <\/div>\r\n        <div class=\"ta-yt2-info-img\">\r\n          <p class=\"ta-yt2-name-img\">Triumph Rewards of Morocco \u2014 Enduro Tour<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Video 2 -->\r\n    <div class=\"ta-yt2-card\" onclick=\"taYt2Open('EuBo9HqAnbU')\">\r\n      <div class=\"ta-yt2-thumb\">\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/img.youtube.com\/vi\/EuBo9HqAnbU\/sddefault.jpg\"\r\n          onerror=\"this.src='https:\/\/img.youtube.com\/vi\/EuBo9HqAnbU\/hqdefault.jpg'\"\r\n          alt=\"Morocco Enduro Tour \u2014 Iv\u00e1n Cervantes Special Edition\"\r\n          loading=\"lazy\">\r\n        <div class=\"ta-yt2-overlay\"><\/div>\r\n        <span class=\"ta-yt2-type\">Tour video<\/span>\r\n        <div class=\"ta-yt2-play\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M8 5v14l11-7z\"\/><\/svg>\r\n        <\/div>\r\n        <div class=\"ta-yt2-info-img\">\r\n          <p class=\"ta-yt2-name-img\">Morocco Enduro \u2014 Iv\u00e1n Cervantes Special Edition<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <p class=\"ta-yt2-note\">\ud83c\udfa5 Real footage from the Morocco Enduro Tour \u2014 unscripted, unfiltered<\/p>\r\n\r\n<\/div>\r\n\r\n<!-- Lightbox -->\r\n<div class=\"ta-yt2-lb\" id=\"ta-yt2-lb\" onclick=\"taYt2CloseEv(event)\">\r\n  <div class=\"ta-yt2-lb-inner\" id=\"ta-yt2-inner\">\r\n    <button class=\"ta-yt2-lb-close\" onclick=\"taYt2Close()\">\u2715<\/button>\r\n    <div class=\"ta-yt2-lb-frame\" id=\"ta-yt2-frame\">\r\n      <iframe id=\"ta-yt2-iframe\" src=\"\" allowfullscreen\r\n        allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\">\r\n      <\/iframe>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\nfunction taYt2Open(id) {\r\n  document.getElementById('ta-yt2-iframe').src = 'https:\/\/www.youtube.com\/embed\/' + id + '?autoplay=1&rel=0&modestbranding=1';\r\n  document.getElementById('ta-yt2-lb').classList.add('open');\r\n  document.body.style.overflow = 'hidden';\r\n}\r\nfunction taYt2Close() {\r\n  document.getElementById('ta-yt2-lb').classList.remove('open');\r\n  document.getElementById('ta-yt2-iframe').src = '';\r\n  document.body.style.overflow = '';\r\n}\r\nfunction taYt2CloseEv(e) {\r\n  if (e.target === document.getElementById('ta-yt2-lb')) taYt2Close();\r\n}\r\ndocument.addEventListener('keydown', function(e) {\r\n  if (e.key === 'Escape') taYt2Close();\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cd4b5f5 e-flex e-con-boxed e-con e-parent\" data-id=\"cd4b5f5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b450e1c e-con-full e-flex e-con e-child\" data-id=\"b450e1c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7883ae9 elementor-widget elementor-widget-html\" data-id=\"7883ae9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ============================================================\r\n     ELEMENTOR: Widget \"HTML\" \u2014 YouTube Review Videos v2\r\n     Triumph aesthetic \u00b7 Correct thumbnails \u00b7 Improved design\r\n     ============================================================ -->\r\n\r\n<style>\r\n  .ta-yt2-wrap {\r\n    --accent: #CE192D;\r\n    --neon: #D2FF0E;\r\n    --dark: #000000;\r\n    --border: #1a1a1a;\r\n    --text: #EFE9E5;\r\n    --muted: #A7A9AC;\r\n    font-family: system-ui, -apple-system, sans-serif;\r\n  }\r\n\r\n  \/* \u2500\u2500 Header \u2500\u2500 *\/\r\n  .ta-yt2-eyebrow {\r\n    font-size: 10px; font-weight: 700; letter-spacing: 0.12em;\r\n    text-transform: uppercase; color: var(--muted);\r\n    margin: 0 0 10px; display: block;\r\n  }\r\n  .ta-yt2-title {\r\n    font-size: 22px; font-weight: 700; color: #1C1A17;\r\n    margin: 0 0 28px; line-height: 1.2; letter-spacing: -0.01em;\r\n  }\r\n  .ta-yt2-title span { color: var(--accent); }\r\n\r\n  \/* \u2500\u2500 Main grid \u2500\u2500 *\/\r\n  .ta-yt2-grid {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr 1fr;\r\n    gap: 16px;\r\n    align-items: start;\r\n  }\r\n\r\n  \/* \u2500\u2500 Card \u2500\u2500 *\/\r\n  .ta-yt2-card {\r\n    background: var(--dark);\r\n    border-radius: 14px;\r\n    overflow: hidden;\r\n    cursor: pointer;\r\n    transition: transform 0.2s ease, box-shadow 0.2s ease;\r\n    border: 1px solid var(--border);\r\n  }\r\n  .ta-yt2-card:hover {\r\n    transform: translateY(-4px);\r\n    box-shadow: 0 16px 40px rgba(0,0,0,0.5);\r\n    border-color: #333;\r\n  }\r\n\r\n  \/* \u2500\u2500 Thumbnail wrap \u2500\u2500 *\/\r\n  .ta-yt2-thumb {\r\n    position: relative;\r\n    overflow: hidden;\r\n    background: #111;\r\n  }\r\n\r\n  .ta-yt2-card.short .ta-yt2-thumb { aspect-ratio: 9 \/ 16; }\r\n  .ta-yt2-card.video .ta-yt2-thumb { aspect-ratio: 16 \/ 9; }\r\n\r\n  .ta-yt2-thumb img {\r\n    width: 100% !important;\r\n    height: 100% !important;\r\n    object-fit: cover !important;\r\n    object-position: center !important;\r\n    display: block !important;\r\n    transition: transform 0.5s ease;\r\n    filter: brightness(0.8);\r\n  }\r\n  .ta-yt2-card:hover .ta-yt2-thumb img {\r\n    transform: scale(1.06);\r\n    filter: brightness(1);\r\n  }\r\n\r\n  .ta-yt2-overlay {\r\n    position: absolute; inset: 0;\r\n    background: linear-gradient(to bottom, transparent 30%, rgba(0,0,0,0.85) 100%);\r\n  }\r\n\r\n  .ta-yt2-type {\r\n    position: absolute; top: 12px; left: 12px; z-index: 2;\r\n    font-size: 9px; font-weight: 800; letter-spacing: 0.1em;\r\n    text-transform: uppercase; padding: 4px 9px; border-radius: 5px;\r\n  }\r\n  .ta-yt2-type.short { background: var(--neon); color: #000; }\r\n  .ta-yt2-type.review { background: var(--accent); color: #fff; }\r\n\r\n  .ta-yt2-play {\r\n    position: absolute; bottom: 56px; right: 14px;\r\n    width: 48px; height: 48px; border-radius: 50%;\r\n    background: rgba(206,25,45,0.88);\r\n    display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s, transform 0.2s;\r\n    box-shadow: 0 4px 20px rgba(206,25,45,0.5);\r\n    z-index: 2;\r\n  }\r\n  .ta-yt2-play svg { width: 18px; height: 18px; margin-left: 3px; }\r\n  .ta-yt2-card:hover .ta-yt2-play {\r\n    background: var(--accent);\r\n    transform: scale(1.12);\r\n  }\r\n\r\n  .ta-yt2-info-img {\r\n    position: absolute; bottom: 0; left: 0; right: 0;\r\n    padding: 14px 16px; z-index: 2;\r\n  }\r\n  .ta-yt2-stars-img { color: #F59E0B; font-size: 11px; letter-spacing: 1px; margin-bottom: 4px; }\r\n  .ta-yt2-name-img {\r\n    font-size: 13px; font-weight: 600; color: #fff;\r\n    line-height: 1.4; margin: 0;\r\n    text-shadow: 0 1px 4px rgba(0,0,0,0.8);\r\n  }\r\n\r\n  \/* \u2500\u2500 Lightbox \u2500\u2500 *\/\r\n  .ta-yt2-lb {\r\n    display: none; position: fixed; inset: 0; z-index: 9999;\r\n    background: rgba(0,0,0,0.96);\r\n    align-items: center; justify-content: center;\r\n    backdrop-filter: blur(16px);\r\n  }\r\n  .ta-yt2-lb.open { display: flex; }\r\n\r\n  .ta-yt2-lb-inner { position: relative; width: 92vw; max-width: 960px; }\r\n  .ta-yt2-lb-inner.short { max-width: 420px; }\r\n\r\n  .ta-yt2-lb-frame {\r\n    border-radius: 14px; overflow: hidden; background: #000;\r\n    box-shadow: 0 24px 80px rgba(0,0,0,0.8);\r\n  }\r\n  .ta-yt2-lb-frame.r169 { aspect-ratio: 16\/9; }\r\n  .ta-yt2-lb-frame.r916 { aspect-ratio: 9\/16; }\r\n\r\n  .ta-yt2-lb-frame iframe {\r\n    position: absolute; inset: 0;\r\n    width: 100% !important; height: 100% !important;\r\n    border: none; display: block;\r\n  }\r\n  .ta-yt2-lb-frame { position: relative; }\r\n\r\n  .ta-yt2-lb-close {\r\n    position: absolute; top: -48px; right: 0;\r\n    background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2);\r\n    color: white; font-size: 18px; width: 38px; height: 38px;\r\n    border-radius: 50%; cursor: pointer;\r\n    display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s;\r\n  }\r\n  .ta-yt2-lb-close:hover { background: var(--accent); border-color: var(--accent); }\r\n\r\n  .ta-yt2-note {\r\n    font-size: 12px; color: #A7A9AC;\r\n    margin: 16px 0 0; text-align: center; line-height: 1.6;\r\n  }\r\n\r\n  \/* \u2500\u2500 Responsive \u2500\u2500 *\/\r\n  @media (max-width: 860px) { .ta-yt2-grid { grid-template-columns: 1fr 1fr; } }\r\n  @media (max-width: 500px) { .ta-yt2-grid { grid-template-columns: 1fr; } }\r\n<\/style>\r\n\r\n<div class=\"ta-yt2-wrap\">\r\n\r\n  <span class=\"ta-yt2-eyebrow\">What our riders say<\/span>\r\n  <h2 class=\"ta-yt2-title\">Video reviews \u2014 <span>real experiences<\/span><\/h2>\r\n\r\n  <div class=\"ta-yt2-grid\">\r\n\r\n    <!-- \u2550\u2550 SHORT 1 \u2550\u2550 -->\r\n    <div class=\"ta-yt2-card short\" onclick=\"taYt2Open('InDdggBaCPI','short')\">\r\n      <div class=\"ta-yt2-thumb\">\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/img.youtube.com\/vi\/InDdggBaCPI\/sddefault.jpg\"\r\n          onerror=\"this.src='https:\/\/img.youtube.com\/vi\/InDdggBaCPI\/hqdefault.jpg'\"\r\n          alt=\"Rider review Triumph Adventure Spain\"\r\n          loading=\"lazy\">\r\n        <div class=\"ta-yt2-overlay\"><\/div>\r\n        <span class=\"ta-yt2-type short\">#Short<\/span>\r\n        <div class=\"ta-yt2-play\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M8 5v14l11-7z\"\/><\/svg>\r\n        <\/div>\r\n        <div class=\"ta-yt2-info-img\">\r\n          <div class=\"ta-yt2-stars-img\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n          <p class=\"ta-yt2-name-img\">On the road experience \u2014 Tour Triumph Adventure Spain<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 SHORT 2 \u2550\u2550 -->\r\n    <div class=\"ta-yt2-card short\" onclick=\"taYt2Open('83FXbRbyaro','short')\">\r\n      <div class=\"ta-yt2-thumb\">\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/img.youtube.com\/vi\/83FXbRbyaro\/sddefault.jpg\"\r\n          onerror=\"this.src='https:\/\/img.youtube.com\/vi\/83FXbRbyaro\/hqdefault.jpg'\"\r\n          alt=\"Rider review Triumph Adventure Spain\"\r\n          loading=\"lazy\">\r\n        <div class=\"ta-yt2-overlay\"><\/div>\r\n        <span class=\"ta-yt2-type short\">#Short<\/span>\r\n        <div class=\"ta-yt2-play\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M8 5v14l11-7z\"\/><\/svg>\r\n        <\/div>\r\n        <div class=\"ta-yt2-info-img\">\r\n          <div class=\"ta-yt2-stars-img\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n          <p class=\"ta-yt2-name-img\">On the road experience \u2014 Tour Triumph Adventure Spain<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 SHORT 3 \u2550\u2550 -->\r\n    <div class=\"ta-yt2-card short\" onclick=\"taYt2Open('J5d7FBPxGm8','short')\">\r\n      <div class=\"ta-yt2-thumb\">\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/img.youtube.com\/vi\/J5d7FBPxGm8\/sddefault.jpg\"\r\n          onerror=\"this.src='https:\/\/img.youtube.com\/vi\/J5d7FBPxGm8\/hqdefault.jpg'\"\r\n          alt=\"Rider review Triumph Adventure Spain\"\r\n          loading=\"lazy\">\r\n        <div class=\"ta-yt2-overlay\"><\/div>\r\n        <span class=\"ta-yt2-type short\">#Short<\/span>\r\n        <div class=\"ta-yt2-play\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M8 5v14l11-7z\"\/><\/svg>\r\n        <\/div>\r\n        <div class=\"ta-yt2-info-img\">\r\n          <div class=\"ta-yt2-stars-img\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n          <p class=\"ta-yt2-name-img\">On the road experience \u2014 Tour Triumph Adventure Spain<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <p class=\"ta-yt2-note\">\ud83c\udfa5 Real videos from our riders \u2014 unscripted, unfiltered<\/p>\r\n\r\n<\/div>\r\n\r\n<!-- \u2500\u2500 Lightbox \u2500\u2500 -->\r\n<div class=\"ta-yt2-lb\" id=\"ta-yt2-lb\" onclick=\"taYt2CloseEv(event)\">\r\n  <div class=\"ta-yt2-lb-inner\" id=\"ta-yt2-inner\">\r\n    <button class=\"ta-yt2-lb-close\" onclick=\"taYt2Close()\">\u2715<\/button>\r\n    <div class=\"ta-yt2-lb-frame\" id=\"ta-yt2-frame\">\r\n      <iframe id=\"ta-yt2-iframe\" src=\"\" allowfullscreen\r\n        allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\">\r\n      <\/iframe>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\nfunction taYt2Open(id, type) {\r\n  var inner = document.getElementById('ta-yt2-inner');\r\n  var frame = document.getElementById('ta-yt2-frame');\r\n  var iframe = document.getElementById('ta-yt2-iframe');\r\n  if (type === 'short') {\r\n    inner.className = 'ta-yt2-lb-inner short';\r\n    frame.className = 'ta-yt2-lb-frame r916';\r\n  } else {\r\n    inner.className = 'ta-yt2-lb-inner';\r\n    frame.className = 'ta-yt2-lb-frame r169';\r\n  }\r\n  iframe.src = 'https:\/\/www.youtube.com\/embed\/' + id + '?autoplay=1&rel=0&modestbranding=1';\r\n  document.getElementById('ta-yt2-lb').classList.add('open');\r\n  document.body.style.overflow = 'hidden';\r\n}\r\nfunction taYt2Close() {\r\n  document.getElementById('ta-yt2-lb').classList.remove('open');\r\n  document.getElementById('ta-yt2-iframe').src = '';\r\n  document.body.style.overflow = '';\r\n}\r\nfunction taYt2CloseEv(e) {\r\n  if (e.target === document.getElementById('ta-yt2-lb')) taYt2Close();\r\n}\r\ndocument.addEventListener('keydown', function(e) {\r\n  if (e.key === 'Escape') taYt2Close();\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c9b1a41 e-con e-atomic-element e-flexbox-base e-d8a257a \" data-id=\"c9b1a41\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"c9b1a41\" data-e-type=\"e-flexbox\" data-id=\"c9b1a41\">\n    \t\t<div class=\"elementor-element elementor-element-19fff84 elementor-widget elementor-widget-html\" data-id=\"19fff84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\r\n(function() {\r\n  if (window.__taStockCalendarLoaded) return;\r\n  window.__taStockCalendarLoaded = true;\r\n\r\n  function renderSpots(wrap, stock) {\r\n    if (isNaN(stock) || stock <= 0) {\r\n      wrap.innerHTML =\r\n        '<div style=\"font-size:28px;font-weight:800;color:#FF3B3B;line-height:1;letter-spacing:-0.03em;\">SOLD OUT<\/div>' +\r\n        '<div style=\"font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:#A7A9AC;text-align:center;margin-top:4px;\">no spots<br>available<\/div>';\r\n      return;\r\n    }\r\n\r\n    var color = stock <= 3 ? '#FF3B3B' : '#D2FF0E';\r\n    var aviso = stock <= 3\r\n      ? '<div style=\"font-size:11px;font-weight:700;color:#FF3B3B;text-transform:uppercase;letter-spacing:0.08em;margin-top:2px;\">Last spots!<\/div>'\r\n      : '';\r\n\r\n    wrap.innerHTML =\r\n      '<div style=\"font-size:42px;font-weight:800;color:' + color + ';line-height:1;letter-spacing:-0.03em;\">' + stock + '<\/div>' +\r\n      '<div style=\"font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:#A7A9AC;text-align:center;\">spots<br>available<\/div>' +\r\n      aviso;\r\n  }\r\n\r\n  function loadAllStocks() {\r\n    document.querySelectorAll('[id^=\"ta-spots-\"]').forEach(function(wrap) {\r\n      var id = wrap.id.replace('ta-spots-', '');\r\n      if (!id || wrap.getAttribute('data-ta-stock-loading') === '1') return;\r\n\r\n      wrap.setAttribute('data-ta-stock-loading', '1');\r\n\r\n      fetch('\/wp-json\/ta\/v1\/stock?id=' + encodeURIComponent(id) + '&_=' + Date.now(), {\r\n        cache: 'no-store',\r\n        headers: { 'Cache-Control': 'no-cache' }\r\n      })\r\n        .then(function(r) {\r\n          if (!r.ok) throw new Error('Stock request failed');\r\n          return r.json();\r\n        })\r\n        .then(function(data) {\r\n          renderSpots(wrap, parseInt(data.stock, 10));\r\n        })\r\n        .catch(function() {\r\n          wrap.innerHTML = '<div style=\"font-size:11px;color:#A7A9AC;\">\u2014<\/div>';\r\n        })\r\n        .finally(function() {\r\n          wrap.removeAttribute('data-ta-stock-loading');\r\n        });\r\n    });\r\n  }\r\n\r\n  if (document.readyState === 'loading') {\r\n    document.addEventListener('DOMContentLoaded', loadAllStocks);\r\n  } else {\r\n    loadAllStocks();\r\n  }\r\n\r\n  window.addEventListener('pageshow', loadAllStocks);\r\n  setTimeout(loadAllStocks, 1000);\r\n  setTimeout(loadAllStocks, 3000);\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Tour calendar Motorcycle tour calendar: upcoming available dates Check the next Triumph Adventure On-Road and Off-Road departures, with live availability so you can book your ride before it sells out. Loading calendar&#8230; Triumph Adventure motorcycle tour calendar with dates and spots for On-Road and Off-Road routes. Triumph Transpyrenean Tour Triumph Rewards of Morocco Tour Triumph: [&hellip;]<\/p>\n","protected":false},"author":106,"featured_media":12054,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-12060","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tour Calendar | Triumph Adventure<\/title>\n<meta name=\"description\" content=\"Only for adventurers \u2b50 Triumph Adventure Spain&#039;s 2026 motorcycle touring calendar \u270c\ufe0fGuided Tour &amp; Off-Road Trainings\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/triumphadventure.es\/en\/tour-calendar\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tour Calendar | Triumph Adventure\" \/>\n<meta property=\"og:description\" content=\"Only for adventurers \u2b50 Triumph Adventure Spain&#039;s 2026 motorcycle touring calendar \u270c\ufe0fGuided Tour &amp; Off-Road Trainings\" \/>\n<meta property=\"og:url\" content=\"https:\/\/triumphadventure.es\/en\/tour-calendar\/\" \/>\n<meta property=\"og:site_name\" content=\"Triumph\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-27T10:12:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/triumphadventure.es\/wp-content\/uploads\/2024\/05\/Calendar-of-route-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/de\\\/motorradtouren-kalender\\\/\",\"url\":\"https:\\\/\\\/triumphadventure.es\\\/en\\\/tour-calendar\\\/\",\"name\":\"Tour Calendar | Triumph Adventure\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/en\\\/tour-calendar\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/en\\\/tour-calendar\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/triumphadventure.es\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Calendar-of-route-1.jpg\",\"datePublished\":\"2024-05-22T15:21:26+00:00\",\"dateModified\":\"2026-07-27T10:12:06+00:00\",\"description\":\"Only for adventurers \u2b50 Triumph Adventure Spain's 2026 motorcycle touring calendar \u270c\ufe0fGuided Tour & Off-Road Trainings\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/en\\\/tour-calendar\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/triumphadventure.es\\\/en\\\/tour-calendar\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/en\\\/tour-calendar\\\/#primaryimage\",\"url\":\"https:\\\/\\\/triumphadventure.es\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Calendar-of-route-1.jpg\",\"contentUrl\":\"https:\\\/\\\/triumphadventure.es\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Calendar-of-route-1.jpg\",\"width\":1200,\"height\":900},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/en\\\/tour-calendar\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/triumphadventure.es\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tour Calendar\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/#website\",\"url\":\"https:\\\/\\\/triumphadventure.es\\\/\",\"name\":\"Triumph\",\"description\":\"Triumph Adventure Experience en M\u00e1laga\",\"publisher\":{\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/triumphadventure.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/#organization\",\"name\":\"Triumph\",\"url\":\"https:\\\/\\\/triumphadventure.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/triumphadventure.es\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Triumph-ADV-Spain.png\",\"contentUrl\":\"https:\\\/\\\/triumphadventure.es\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Triumph-ADV-Spain.png\",\"width\":1200,\"height\":161,\"caption\":\"Triumph\"},\"image\":{\"@id\":\"https:\\\/\\\/triumphadventure.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tour Calendar | Triumph Adventure","description":"Only for adventurers \u2b50 Triumph Adventure Spain's 2026 motorcycle touring calendar \u270c\ufe0fGuided Tour & Off-Road Trainings","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/triumphadventure.es\/en\/tour-calendar\/","og_locale":"en_GB","og_type":"article","og_title":"Tour Calendar | Triumph Adventure","og_description":"Only for adventurers \u2b50 Triumph Adventure Spain's 2026 motorcycle touring calendar \u270c\ufe0fGuided Tour & Off-Road Trainings","og_url":"https:\/\/triumphadventure.es\/en\/tour-calendar\/","og_site_name":"Triumph","article_modified_time":"2026-07-27T10:12:06+00:00","og_image":[{"width":1200,"height":900,"url":"https:\/\/triumphadventure.es\/wp-content\/uploads\/2024\/05\/Calendar-of-route-1.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/triumphadventure.es\/de\/motorradtouren-kalender\/","url":"https:\/\/triumphadventure.es\/en\/tour-calendar\/","name":"Tour Calendar | Triumph Adventure","isPartOf":{"@id":"https:\/\/triumphadventure.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/triumphadventure.es\/en\/tour-calendar\/#primaryimage"},"image":{"@id":"https:\/\/triumphadventure.es\/en\/tour-calendar\/#primaryimage"},"thumbnailUrl":"https:\/\/triumphadventure.es\/wp-content\/uploads\/2024\/05\/Calendar-of-route-1.jpg","datePublished":"2024-05-22T15:21:26+00:00","dateModified":"2026-07-27T10:12:06+00:00","description":"Only for adventurers \u2b50 Triumph Adventure Spain's 2026 motorcycle touring calendar \u270c\ufe0fGuided Tour & Off-Road Trainings","breadcrumb":{"@id":"https:\/\/triumphadventure.es\/en\/tour-calendar\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/triumphadventure.es\/en\/tour-calendar\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/triumphadventure.es\/en\/tour-calendar\/#primaryimage","url":"https:\/\/triumphadventure.es\/wp-content\/uploads\/2024\/05\/Calendar-of-route-1.jpg","contentUrl":"https:\/\/triumphadventure.es\/wp-content\/uploads\/2024\/05\/Calendar-of-route-1.jpg","width":1200,"height":900},{"@type":"BreadcrumbList","@id":"https:\/\/triumphadventure.es\/en\/tour-calendar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/triumphadventure.es\/de\/"},{"@type":"ListItem","position":2,"name":"Tour Calendar"}]},{"@type":"WebSite","@id":"https:\/\/triumphadventure.es\/#website","url":"https:\/\/triumphadventure.es\/","name":"Triumph","description":"Triumph Adventure Experience en M\u00e1laga","publisher":{"@id":"https:\/\/triumphadventure.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/triumphadventure.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/triumphadventure.es\/#organization","name":"Triumph","url":"https:\/\/triumphadventure.es\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/triumphadventure.es\/#\/schema\/logo\/image\/","url":"https:\/\/triumphadventure.es\/wp-content\/uploads\/2022\/06\/Triumph-ADV-Spain.png","contentUrl":"https:\/\/triumphadventure.es\/wp-content\/uploads\/2022\/06\/Triumph-ADV-Spain.png","width":1200,"height":161,"caption":"Triumph"},"image":{"@id":"https:\/\/triumphadventure.es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/pages\/12060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/users\/106"}],"replies":[{"embeddable":true,"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/comments?post=12060"}],"version-history":[{"count":40,"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/pages\/12060\/revisions"}],"predecessor-version":[{"id":31555,"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/pages\/12060\/revisions\/31555"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/media\/12054"}],"wp:attachment":[{"href":"https:\/\/triumphadventure.es\/en\/wp-json\/wp\/v2\/media?parent=12060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}