1"use strict";(()=>{var y=".tb-details",T="is-desktop-width",P={duration:300,easing:"ease-in"},E=new WeakMap;function g(e=document.body){let t=e.closest(`.${T}`)!==null;e.querySelectorAll(y).forEach(n=>{n.dataset.tbDetails!=="always"&&(U(n),n.open=t||n.hasAttribute("data-open-on-mobile"))})}function U(e){var t;(t=E.get(e))==null||t.animation.cancel(),E.delete(e),e.style.overflow=""}function B(e,t){let n=getComputedStyle(e);return t.getBoundingClientRect().bottom-e.getBoundingClientRect().top+parseFloat(n.paddingBottom)+parseFloat(n.borderBottomWidth)}function I(e,t){let n=e.getBoundingClientRect().height,o=E.get(e);o==null||o.animation.cancel();let i=o?!o.closing:e.open;e.open=!0;let r=i?B(e,t):e.getBoundingClientRect().height;e.style.overflow="clip";let s=e.animate({height:[`${n}px`,`${r}px`]},P);E.set(e,{animation:s,closing:i}),s.onfinish=()=>{E.delete(e),e.style.overflow="",i&&(e.open=!1)}}function X(e){let t=e.target,n=t.closest("summary"),o=n==null?void 0:n.parentElement;if(!n||!(o instanceof HTMLDetailsElement)||!o.matches(y))return;let i=t.closest("a, button, input, select, textarea");o.querySelector(":scope > summary")!==n||i&&n.contains(i)||matchMedia("(prefers-reduced-motion: reduce)").matches||(e.preventDefault(),I(o,n))}function M(){tb.onRootElementReady(e=>{if(CSS.supports("interpolate-size","allow-keywords")||e.addEventListener("click",X),!e.querySelector(y))return;let t=e.classList.contains(T);g(e),e.addEventListener("tb-width-changed",()=>{let n=e.classList.contains(T);n!==t&&(t=n,g(e))})})}function w(){let e=document.querySelectorAll(".average-reviews-wrapper[data-embed-social-id]");if(!e.length)return;let t=new Map;e.forEach(n=>{var i,r,s;let o=JSON.stringify([(i=n.getAttribute("data-embed-social-id"))!=null?i:"",(r=n.getAttribute("data-reviews-redirect-url"))!=null?r:""]);t.set(o,[...(s=t.get(o))!=null?s:[],n])}),t.forEach((n,o)=>{let[i,r]=JSON.parse(o),s={action:"load_average_embed_social_reviews",reviews_redirect_url:r,embed_social_id:i},a=Object.keys(s).map(c=>encodeURIComponent(c)+"="+encodeURIComponent(s[c])).join("&"),l=new XMLHttpRequest;l.open("POST",tb.AJAX_URL,!0),l.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),l.onreadystatechange=function(){if(l.readyState!==4||l.status!==200)return;let c=V(l.responseText);c!==null&&n.forEach(u=>{u.innerHTML=c})},l.send(a)})}function V(e){var t,n;try{let o=(n=(t=JSON.parse(e))==null?void 0:t.data)==null?void 0:n.html;return typeof o=="string"?o:null}catch{return null}}var W="tb-breadcrumbs__toggle";function $(){let e=document.createElement("li");return e.className=W,e.innerHTML='<button type="button" aria-label="Show the full path">…</button>',e}function J(e){let t=e[0],n=e[e.length-1];return!!t&&!!n&&n.offsetTop>t.offsetTop}function G(e){let t=e.querySelector("ol");if(!t)return;let n=Array.from(t.children).filter(s=>s instanceof HTMLElement);if(n.length<3)return;let o=null,i=()=>{o==null||o.remove(),o=null,e.classList.remove("is-collapsed")},r=()=>{i(),J(n)&&(o=$(),o.addEventListener("click",()=>{i(),window.removeEventListener("resize",r)},{once:!0}),t.prepend(o),e.classList.add("is-collapsed"))};r(),window.addEventListener("resize",r)}function A(){document.querySelectorAll(".tb-breadcrumbs").forEach(G)}function K(e,t){e.href=`tel:${t}`;let n=Array.from(e.childNodes).find(o=>{var i;return o.nodeType===Node.TEXT_NODE&&((i=o.textContent)!=null?i:"").trim()!==""});n&&(n.textContent=t)}function H(){document.querySelectorAll(".call-button[data-basecamp]").forEach(t=>{var i,r;let n=(i=t.dataset.basecamp)!=null?i:"",o=(r=t.dataset.lang)!=null?r:"";!n||!o||fetch(tb.AJAX_URL,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:"tb_resolve_phone_number",basecamp:n,lang:o})}).then(s=>s.json()).then(s=>{var l;let a=(l=s==null?void 0:s.data)==null?void 0:l.phone_number;s!=null&&s.success&&typeof a=="string"&&a!==""&&K(t,a)}).catch(()=>{})})}var j=/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/,z=/^\+[1-9]\d{6,14}$/,Y=["hidden","submit","button","reset","image"];function Q(e){return Array.from(e.querySelectorAll("input, select, textarea")).filter(t=>t.disabled?!1:!(t instanceof HTMLInputElement&&Y.includes(t.type)))}function F(e){return e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")}function Z(e){if(F(e))return e.required?e.type==="radio"&&e.form&&e.name?e.form.querySelector(`input[type="radio"][name="${CSS.escape(e.name)}
1"]:checked`)?null:"required":e.checked?null:"required":null;let t=e.value.trim();return t===""?e.required?"required":null:e instanceof HTMLInputElement&&e.type==="email"?j.test(t)&&e.checkValidity()?null:"email":e instanceof HTMLInputElement&&e.type==="tel"?e.pattern?e.checkValidity()?null:"phone":z.test(t)?null:"phone":e.checkValidity()?null:"invalid"}function ee(e){var t;return(t=e.closest(".tb-input-container, label"))!=null?t:e.parentElement}function te(e,t){let n=e.form,o=n?{required:n.dataset.errorRequired,email:n.dataset.errorEmail,phone:n.dataset.errorPhone,invalid:n.dataset.errorInvalid}[t]:void 0;return e.dataset.errorMessage||o||e.validationMessage||""}function _(e,t){let n=ee(e),o=t===null;if(e.classList.toggle("invalid",!o),n==null||n.classList.toggle("invalid",!o),o){e.removeAttribute("aria-invalid"),n==null||delete n.dataset.tbError;return}e.setAttribute("aria-invalid","true"),n&&!F(e)&&(n.dataset.tbError=te(e,t))}function ne(e){_(e,null)}function oe(e){return e.querySelector('input[type="submit"], button[type="submit"], button:not([type])')}var re=800,v=new WeakMap;function m(e,t={}){t.touchAll&&(e.dataset.tbSubmitAttempted="1");let n=e.dataset.tbSubmitAttempted==="1",o=!0;Q(e).forEach(r=>{let s=Z(r);s!==null&&(o=!1),!(r===t.typingIn&&s!==null)&&(n||r.dataset.tbTouched==="1"?_(r,s):ne(r))});let i=oe(e);return i&&(i.classList.toggle("disabled",!o),i.setAttribute("aria-disabled",o?"false":"true")),o}function L(e){if(e.dataset.tbValidationBound==="1"){m(e);return}e.dataset.tbValidationBound="1",e.noValidate=!0;let t=i=>{let r=i.target;return r instanceof HTMLInputElement||r instanceof HTMLSelectElement||r instanceof HTMLTextAreaElement?r:null},n=i=>{let r=v.get(i);r!==void 0&&(window.clearTimeout(r),v.delete(i))};e.addEventListener("input",i=>{let r=t(i);r&&(n(r),m(e,{typingIn:r}),v.set(r,window.setTimeout(()=>{v.delete(r),r.dataset.tbTouched="1",m(e)},re)))});let o=i=>{let r=t(i);r&&(n(r),r.dataset.tbTouched="1",m(e))};e.addEventListener("change",o),e.addEventListener("focusout",o),m(e)}function R(e=document){e.querySelectorAll('form.tb-form:not([data-tb-validate="off"])').forEach(t=>{L(t)})}var h=class{constructor(t={}){this.keepUpdatedXhr=new XMLHttpRequest,t.skipButtons||this.initButtons()}initButtons(){document.querySelectorAll(".button-general-keep-me-updated").forEach(n=>{n.addEventListener("click",o=>this.handleButtonClick(o))})}handleButtonClick(t){t.preventDefault();let n={action:"open_keep_me_updated_popup"};this.keepUpdatedXhr&&this.keepUpdatedXhr.readyState!==4&&this.keepUpdatedXhr.abort(),this.keepUpdatedXhr.open("POST",tb.AJAX_URL,!0),this.keepUpdatedXhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),this.keepUpdatedXhr.onreadystatechange=()=>{if(this.keepUpdatedXhr.readyState===4)if(this.keepUpdatedXhr.status===200)try{let o=JSON.parse(this.keepUpdatedXhr.responseText);o.success&&this.showPopup(o.data.html)}catch(o){console.error("Error parsing response:",o)}else console.error(`Error: ${this.keepUpdatedXhr.status} - ${this.keepUpdatedXhr.statusText}`)},this.keepUpdatedXhr.send(new URLSearchParams(n).toString())}showPopup(t){var s,a;let n=document.createElement("div");n.innerHTML=t;let o=n.querySelector(".tb-popup--keep-updated-wrapper");if(!o)return;document.body.appendChild(o);let i=(s=o.querySelector(".tb-popup__content"))==null?void 0:s.cloneNode(!0);o.innerHTML='<div class="tb-popup-inner tb-block"><div class="tb-popup"></div><div class="tb-popup-close"><i class="fa-solid fa-xmark fa-fw" aria-hidden="true"></i></div></div>';let r=o.querySelector(".tb-popup");r&&i&&r.appendChild(i),o.showModal(),this.initForms(),(a=o.querySelector(".tb-popup-close"))==null||a.addEventListener("click",()=>{o.close(),o.remove()})}initForms(){document.querySelectorAll(".tb-popup--keep-updated-wrapper form").forEach(n=>{var i;let o=(i=n.getAttribute("data-recaptcha-key"))!=null?i:"";this.setHiddenInputs(n),n.dataset.tbLeadBound||(n.dataset.tbLeadBound="1",n.addEventListener("submit",r=>{r.preventDefault(),this.submitForm(n,o)})),L(n)})}submitForm(t,n){if(t.dataset.tbSubmitting||!m(t,{touchAll:!0}))return;t.dataset.tbSubmitting="1";let o=t.closest(".tb-form-container");o==null||o.classList.add("is-submitting"),o==null||o.querySelectorAll(".tb-form-message").forEach(r=>{r.hidden=!0});let i=r=>{let s=[];t.querySelectorAll("input").forEach(a=>{if(a.type==="checkbox"){a.checked&&s.push({name:a.name,value:"1"});return}s.push({name:a.name,value:a.value})}),this.postLeadData(t,s,r)};if(typeof grecaptcha=="undefined"||!n){i("");return}grecaptcha.enterprise.ready(async()=>{let r=await grecaptcha.enterprise.execute(n,{action:"LOGIN"});i(r)})}postLeadData(t,n,o){let i=new XMLHttpRequest,r={action:"post_lead_data",formData:JSON.stringify(n),grecaptchaResponse:o};i.open("POST",tb.AJAX_URL,!0),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.onreadystatechange=()=>{var c,u,d;if(i.readyState!==4)return;delete t.dataset.tbSubmitting;let s=t.closest(".tb-form-container");s==null||s.classList.remove("is-submitting");let a=(p,f)=>{let b=s==null?void 0:s.querySelector(p?".tb-form-message--success":".tb-form-message--error");
1if(!b)return;let S=b.querySelector("p");S&&(S.innerHTML=f),b.hidden=!1};if(i.status!==200){console.error("Error:",i.statusText),a(!1,(c=t.dataset.errorInvalid)!=null?c:"");return}let l=JSON.parse(i.responseText);a(l.data.formSuccess,l.data.message),l.data.formSuccess&&((d=(u=t.closest(".tb-popup"))==null?void 0:u.querySelector(".remove-me-on-result"))==null||d.remove(),t.hidden=!0)},i.send(new URLSearchParams(r).toString())}setHiddenInputs(t){if(tb.TB_BRAND_ID===void 0||tb.TB_BRAND_ID===null)return;let n=[{type:"brands",id:tb.TB_BRAND_ID}];t.querySelectorAll('input[type="hidden"]').forEach(o=>{o.name.includes("brands")&&(o.value=JSON.stringify(n))})}};function k(e){let t=new URLSearchParams({action:e});return fetch(tb.AJAX_URL,{method:"POST",body:t}).then(n=>n.json()).then(n=>n.success?n.data.html:null).catch(()=>null)}function x(){new h,tb.openWaitingListPopup=e=>{k("open_waiting_list_popup").then(t=>{if(t!==null&&(new h().showPopup(t),e)){let n=document.querySelector('.tb-popup--keep-updated-wrapper input[name="departure"]');n&&(n.value=e)}})},tb.openKeepMeUpdatedPopup=()=>{k("open_keep_me_updated_popup").then(e=>{e!==null&&new h().showPopup(e)})},document.addEventListener("click",e=>{var o;let t=e.target;t!=null&&t.closest('a[href="#tb-interest-form"]')&&(e.preventDefault(),(o=tb.openKeepMeUpdatedPopup)==null||o.call(tb))})}var ie=".tb-header__subnav",O="tb-header__subnav-control";var se={prev:"M7 1 1 7l6 6",next:"M1 1l6 6-6 6"},ae={prev:"Scroll to previous categories",next:"Scroll to more categories"};function C(e){let t=document.createElement("button");return t.type="button",t.className=`${O} ${O}--${e}`,t.setAttribute("aria-label",ae[e]),t.innerHTML=`<svg viewBox="0 0 8 14" aria-hidden="true" focusable="false"><path d="${se[e]}" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`,t}function le(e){let t=[];return e.querySelectorAll("li > a:not(.tb-button)").forEach(n=>{var s,a;let o=(a=(s=n.getAttribute("href"))==null?void 0:s.slice(1))!=null?a:"",i=o?document.getElementById(decodeURIComponent(o)):null,r=n.parentElement;i&&r&&t.push({item:r,link:n,target:i})}),t}function ce(e,t){let n=le(t),o=0,i=()=>{o=Date.now()+2e3};if(!n.length)return i;let r=-1,s=0,a=u=>{let d=t.scrollWidth-t.clientWidth;if(d<=2||Date.now()<o)return;let p=u.getBoundingClientRect().left-t.getBoundingClientRect().left,f=t.scrollLeft+p-(t.clientWidth-u.offsetWidth)/2;t.scrollTo({left:Math.min(Math.max(f,0),d),behavior:"smooth"})},l=()=>{let u=getComputedStyle(e).position==="fixed"?e.getBoundingClientRect().bottom:0,d=-1;n.forEach((p,f)=>{!p.item.hidden&&p.target.getBoundingClientRect().top-8<=u&&(d=f)}),d!==r&&(r=d,n.forEach((p,f)=>{let b=f===d;p.item.classList.toggle("active",b),b?p.link.setAttribute("aria-current","true"):p.link.removeAttribute("aria-current")}),d>=0&&a(n[d].item))},c=()=>{s||(s=requestAnimationFrame(()=>{s=0,l()}))};return window.addEventListener("scroll",c,{passive:!0}),window.addEventListener("resize",c),["pointerdown","wheel","touchstart","keydown"].forEach(u=>{t.addEventListener(u,i,{passive:!0})}),l(),i}function de(e){var a;let t=e.querySelector("ul");if(!t)return;let n=C("prev"),o=C("next");t.before(n),t.after(o);let i=ce(e,t),r=()=>{let l=t.scrollWidth-t.clientWidth,c=l>2;n.disabled=!c||t.scrollLeft<=2,o.disabled=!c||t.scrollLeft>=l-2,e.classList.toggle("is-scrollable",c),e.classList.toggle("can-scroll-prev",!n.disabled),e.classList.toggle("can-scroll-next",!o.disabled)},s=l=>{let c=Math.max(t.clientWidth*.8,120);i(),t.scrollBy({left:l==="next"?c:-c,behavior:"smooth"})};n.addEventListener("click",()=>s("prev")),o.addEventListener("click",()=>s("next")),t.addEventListener("scroll",r,{passive:!0}),new ResizeObserver(r).observe(t),(a=document.fonts)==null||a.ready.then(r),r()}function q(){document.querySelectorAll(ie).forEach(de)}var ue=".tb-trip-bar",pe=".site-footer";function D(e,t,n){new IntersectionObserver(([o])=>{t.classList.toggle(n,o.isIntersecting)},{threshold:0}).observe(e)}function N(){let e=document.querySelector(ue);if(!e)return;let t=document.querySelector(pe);t&&D(t,e,"is-at-footer");let n=e.querySelector("a");if(!(n!=null&&n.hash))return;let o=null;try{o=document.querySelector(n.hash)}catch{return}o&&D(o,e,"is-at-target")}window.tbSyncAccordions=g;window.KeepMeUpdated=h;window.tbFormValidation={init:L,validate:m};tb.onRootElementReady(()=>{M(),w(),A(),H(),R(),x(),q(),N()});})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.