PageSourceSearch

https://kenyabuzz.com/chunk-OKN63OAS.js

js kenyabuzz.com collected 2026-10-02 07:28:50 UTC 180,554 bytes, 1 lines download raw bytes

1import{a as $n}from"./chunk-N2IEYMKB.js";import{a as jn,b as Nn}from"./chunk-DNE7Y6WJ.js";import{a as qn}from"./chunk-4SCF36RZ.js";import{a as de}from"./chunk-6PBWFV2G.js";import{f as In}from"./chunk-Q6MYA7OP.js";import{a as Ge}from"./chunk-ONPMZU33.js";import{a as pe}from"./chunk-SV4S27PH.js";import{a as Be}from"./chunk-TXJA6R4J.js";import{A as ct,B as Pe,C as Oe,I as Te,K as Ve,c as me,d as ue,e as ge,f as Bn,g as xe,h as Dn,i as he,j as fe,k as An,l as Ce,m as Ze,n as ye,o as Fn,p as be,q as Ln,r as ve,t as ke,u as we,v as zn,w as Me,y as Ee,z as Se}from"./chunk-W7UNWNB7.js";import{b as _e}from"./chunk-3HHMGRZ7.js";import{c as Rn,d as Ie}from"./chunk-WBYVK4U5.js";import{Aa as re,Ca as vn,Da as kn,Fa as Ke,Ga as wn,Ha as Mn,Ia as Ye,Ja as En,Ka as Sn,Pa as Pn,Qa as On,Sa as ae,T as yn,Ta as se,Va as Tn,Wa as le,ab as ce,ra as oe,za as bn}from"./chunk-B5ABC55B.js";import{b as Re,d as je,e as Ne,h as ie,j as Vn,k as Z,l as X}from"./chunk-3KP3FCTT.js";import{E as ne,F as ze,G as Cn,g as st,i as xn,j as lt,l as hn,q as Jt,s as fn,u as te}from"./chunk-UQCIDOQQ.js";import{$a as L,$b as w,Ab as j,Ac as D,Bc as A,C as an,Fc as gn,Gc as z,H as qe,Hb as U,Hc as q,Ib as W,Jb as Q,Lb as y,Lc as F,Ma as cn,Mb as b,Mc as R,Nb as G,O as Fe,Ob as Ue,Pb as V,Pc as N,Qb as I,Qc as $,Rb as d,Sb as a,Tb as r,Tc as Le,Ub as h,W as Qe,Yb as Xt,Zb as Qt,_a as et,_b as dn,a as nn,aa as sn,ab as pn,b as on,dc as g,ea as Je,eb as l,fc as p,g as Y,k as rn,ka as _,la as u,nb as k,oc as mn,pc as _n,qa as He,qc as tt,rc as un,sc as We,tc as s,u as J,ub as ee,uc as v,v as Zt,vc as P,w as Ae,wc as at,x as $e,za as ln,zc as B}from"./chunk-UDT5CVX5.js";var Zn=()=>({standalone:!0}),Hn=o=>["/experiences",o];function Xn(o,n){o&1&&h(0,"div",16)}function Qn(o,n){if(o&1&&(h(0,"hr"),a(1,"div",18)(2,"div",19)(3,"h2"),s(4),r(),a(5,"a",20),s(6),h(7,"i",21),r()(),a(8,"div",22)(9,"h5"),s(10),r(),a(11,"p"),s(12),r(),a(13,"a",23),s(14,"View "),h(15,"i",24),r()(),a(16,"div",12)(17,"img",25),Q("poster-fade-out"),W("poster-fade-in"),r()()(),h(18,"hr")),o&2){let e=n.$implicit;l(4),v(e.name),l(),d("routerLink",R(8,Hn,e.slug)),l(),P("",e.venue," "),l(4),v(e.location),l(2),v(e.description),l(),d("routerLink",R(10,Hn,e.slug)),l(4),d("src",e.poster,L)("alt",e.name)}}function Jn(o,n){o&1&&(a(0,"h3",17),s(1,"Looks like this category is empty (for now). Check out the other categories for more options."),r())}function ei(o,n){if(o&1&&V(0,Qn,19,12,null,null,G,!1,Jn,2,0,"h3",17),o&2){let e=p();I(e.categoryExperiences)}}var pt=class o{constructor(n,e,i,t,c,m,C,M,x){this.router=n;this._Activatedroute=e;this.apiService=i;this.pluginService=t;this.dataService=c;this.trackingService=m;this.titleService=C;this.metaService=M;this.destroyRef=x;this.updateNavBar();let O=this._Activatedroute.paramMap.pipe(Ae(f=>f.get("slug")),qe(f=>!!f),Fe()),T=this._Activatedroute.queryParamMap.pipe(Ae(f=>f.get("utm_source")||null),Fe());$e([O,T]).pipe(Ge(this.destroyRef)).subscribe(([f,E])=>{this.slug=f,this.selectedCategorySlug=f,E&&this.trackingService.setUtmSource(E,f),this.fetchCategories(f),this.slug=f}),this.titleService.setTitle("Experiences Categories | Conveniently book and enjoy outdoor activities"),this.metaService.updateTag({property:"keywords",content:"experiences, ziplining, horse riding, biking, nature walk, museum"}),this.metaService.updateTag({property:"description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."}),this.metaService.updateTag({property:"og:url",content:"https://kenyabuzz.com/experiences/category/"+this.slug}),this.metaService.updateTag({property:"og:title",content:"Experiences Categories | Conveniently book and enjoy outdoor activities"}),this.metaService.updateTag({property:"og:description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."}),this.metaService.updateTag({property:"og:image",content:"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png"}),this.metaService.updateTag({property:"twitter:card",content:"summary_large_image"}),this.metaService.updateTag({property:"twitter:title",content:"Experiences Categories | Conveniently book and enjoy outdoor activities"}),this.metaService.updateTag({property:"twitter:description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."}),this.metaService.updateTag({property:"twitter:image",content:"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png"})}slug=null;isLoading=!0;categories=[];selectedCategory=null;selectedCategorySlug=null;categoryExperiences=[];data=[];fetchCategoriesSubscription;ngOnInit(){this.isLoading=!0}ngAfterViewInit(){this.pluginService.scrollToTop()}updateNavBar(){this.dataService.isBrowser()==!0&&window.scrollTo({top:0,behavior:"smooth"})}fetchCategories(n){let e=this.trackingService.getUtmSource(this.slug),i=this.apiService.getEndpoints().experiences.list_categorized_experiences;this.fetchCategoriesSubscription=this.apiService.get_v3(i).subscribe({next:t=>{if(console.log("Slug > ",n),console.log("raw response > ",t),"data"in t){if("categories"in t.data&&Array.isArray(t.data.categories)){let c=t.data.categories;for(let m=0;m<c.length;m++){let C=c[m],M={id:C.category_id,name:C.category,slug:C.slug};this.categories.push(M)}}if("category_experiences"in t.data&&Array.isArray(t.data.category_experiences)){let c=t.data.category_experiences;for(let m=0;m<c.length;m++){let C=c[m],M=[];
1C.experiences.forEach(O=>{let T={name:O.experience,description:O.description,location:O.location,poster:O.poster,venue:O.venue,slug:O.venue_slug};M.push(T)});let x={category_id:C.category_id,experiences:M};this.data.push(x)}}this.categoryExperiences=this.filterCategoryData(n),this.isLoading=!1}},error:t=>{this.isLoading=!1}})}updateCategoryExperiences(n){console.log("Should filter by > ",n),n&&(this.categoryExperiences=this.filterCategoryData(n))}filterCategoryData(n){let e=this.categories.find(t=>t.slug==n);return this.selectedCategory=e??null,this.selectedCategorySlug=e?.slug??null,console.log("CategorySlug > ",this.selectedCategorySlug),this.data.find(t=>t.category_id==e?.id)?.experiences||[]}goToPage(n){this.router.navigate([n])}ngOnDestroy(){this.fetchCategoriesSubscription?.unsubscribe()}static \u0275fac=function(e){return new(e||o)(k(je),k(Re),k(Z),k(Be),k(X),k(de),k(ze),k(ne),k(He))};static \u0275cmp=ee({type:o,selectors:[["app-category-experiences"]],decls:30,vars:11,consts:[[1,"container-xxl","py-4","py-md-5"],[1,"hero","mb-4","mb-md-5"],["src","../../../assets/images/banners/kb-multicolor-small.png","alt","Categories"],[1,"hero-overlay"],[1,"mb-5","px-3","px-md-5","px-lg-5"],[1,"row","g-4"],[1,"col-12","col-md-6","col-lg-6"],[1,"mini-card"],[1,"eyebrow","mb-3"],["variant","on",1,"w-full"],["optionLabel","name","filterBy","name","inputId","on_label",1,"w-full",3,"ngModelChange","onChange","options","ngModel","ngModelOptions","dataKey","checkmark","filter","showClear","placeholder"],["for","on_label"],[1,"col-12","col-md-6","col-lg-3"],[1,"mini-card-title",3,"click"],["name","arrow_outward"],[1,"mb-2","px-3","px-md-5","px-lg-5"],[1,"kb-loader",2,"margin","10rem auto"],[1,"no-cat-data"],[1,"row","section-row"],[1,"col-12","col-lg-6","list-title"],[1,"see-all",3,"routerLink"],[1,"bi","bi-arrow-right-short"],[1,"col-12","col-md-6","col-lg-3","desc"],[1,"read-link",3,"routerLink"],[1,"bi","bi-arrow-right"],[1,"thumb",3,"src","alt"]],template:function(e,i){e&1&&(a(0,"main",0)(1,"section",1)(2,"img",2),Q("poster-fade-out"),W("poster-fade-in"),r(),a(3,"div",3)(4,"div")(5,"h1"),s(6),r()()()(),a(7,"section",4)(8,"div",5)(9,"div",6)(10,"article",7)(11,"span",8),s(12,"Change Category"),r(),a(13,"p-floatlabel",9)(14,"p-select",10),A("ngModelChange",function(c){return D(i.selectedCategory,c)||(i.selectedCategory=c),c}),g("onChange",function(c){return i.updateCategoryExperiences(c.value==null?null:c.value.slug)}),r(),a(15,"label",11),s(16,"Category"),r()()()(),a(17,"div",12)(18,"article",7)(19,"h3",13),g("click",function(){return i.goToPage("experiences/town/nairobi")}),s(20,"Experiences By Towns "),h(21,"kb-icon",14),r()()(),a(22,"div",12)(23,"article",7)(24,"h3",13),g("click",function(){return i.goToPage("experiences")}),s(25,"All Experiences "),h(26,"kb-icon",14),r()()()()(),a(27,"section",15),y(28,Xn,1,0,"div",16)(29,ei,3,1),r()()),e&2&&(l(6),v(i.selectedCategory==null?null:i.selectedCategory.name),l(8),d("options",i.categories),B("ngModel",i.selectedCategory),d("ngModelOptions",F(10,Zn))("dataKey","slug")("checkmark",!0)("filter",!0)("showClear",!0)("placeholder",(i.selectedCategory==null?null:i.selectedCategory.name)??"Select Category"),l(14),b(i.isLoading?28:29))},dependencies:[te,ie,Ne,ae,Ke,Ye,se,me,_e,pe,oe,ue,ge,xe,he,re,fe,Ce,ye,Ze,be,ve,ke,le,Me,Ee,Se,Pe,ct,Oe,Te,ce,Ve,Ie,we],styles:["[_ngcontent-%COMP%]:root{--sand: #efe7df;--ink: #1c1b1a;--muted: #6c6c6c;--chip: #0da4bd;--chip-2: #eea928;--chip-3: #58a368}body[_ngcontent-%COMP%]{background:var(--sand);color:var(--ink);line-height:1.6}.hero[_ngcontent-%COMP%]{display:flex;position:relative;max-height:35vh;border-radius:.5rem;overflow:hidden;background:#000;justify-content:center;align-items:center}.hero[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;opacity:.7;filter:contrast(105%) saturate(105%)}.hero-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;display:grid;place-items:end start;padding:clamp(1rem,4vw,3rem);color:#fff;background:linear-gradient(180deg,#0000 30%,#00000073,#000000b3)}.hero[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{font-size:4rem;font-weight:800;line-height:1.15;margin:.25rem 0;text-wrap:balance}.eyebrow[_ngcontent-%COMP%]{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .5rem;border-radius:.25rem;background:#d1d1d1;color:#222}.eyebrow--inv[_ngcontent-%COMP%]{background:var(--chip-2)}.eyebrow--geo[_ngcontent-%COMP%]{background:var(--chip-3);color:#0e2b12}.mini-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;gap:.4rem;padding:1rem 0;border-top:1px solid rgba(0,0,0,.08)}@media only screen and (max-width:600px){.mini-card[_ngcontent-%COMP%]   .all-cards-wrapper[_ngcontent-%COMP%]{padding:.5rem 0}}.mini-card[_ngcontent-%COMP%]   .mini-card-title[_ngcontent-%COMP%]{font-weight:300;margin:.35rem .3rem .25rem 0;font-size:2.5rem;cursor:pointer}.mini-card[_ngcontent-%COMP%]   .mini-card-title[_ngcontent-%COMP%]:hover{color:var(--color-exp-text)}.section-row[_ngcontent-%COMP%]{align-items:center;row-gap:1.25rem;padding:2rem 0}.list-title[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{font-size:clamp(1.8rem,3vw,3rem);font-weight:800;margin:0 0 .5rem;line-height:1.1}
1.see-all[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-exp-text);text-decoration:none;transition:color .2s ease}.see-all[_ngcontent-%COMP%]:hover{color:#000}.desc[_ngcontent-%COMP%]   h5[_ngcontent-%COMP%]{font-weight:800;margin-bottom:.35rem}.desc[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:var(--muted);margin-bottom:.75rem}.read-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-weight:700;text-decoration:none;border-bottom:2px solid transparent}.read-link[_ngcontent-%COMP%]:hover{border-color:currentColor}.thumb[_ngcontent-%COMP%]{aspect-ratio:16/9;width:100%;object-fit:cover;border-radius:.5rem;box-shadow:0 10px 24px #0000000f}hr[_ngcontent-%COMP%]{opacity:.2;margin:0}.no-cat-data[_ngcontent-%COMP%]{text-align:center;color:var(--bs-danger);font-size:1.5rem;font-weight:300}  p-floatlabel p-select{width:100%!important;background-color:var(--white-color)!important;color:var(--font-color)!important}  p-floatlabel .p-floatlabel-on:has(.p-inputwrapper-filled) label{background:var(--white-color)!important;color:var(--color-exp-text)!important}  .p-select-option-check-icon{color:var(--font-color)}  .p-select-overlay{background:var(--white-color)!important;color:var(--font-color)!important}  .p-inputtext{color:var(--font-color)!important;background:var(--white-color)!important}  .p-select-option{color:var(--font-color)!important}  .p-select-option .p-select-option-check-icon{color:var(--font-color)!important}  .p-select-option.p-select-option-selected{background:var(--color-exp)!important;color:var(--white-color)!important}  .p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus{background:var(--p-select-option-focus-background);color:var(--white-color)!important}  .p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus .p-select-option-check-icon{color:var(--white-color)!important}  .p-floatlabel-on:has(.p-inputwrapper-filled) label{background:var(--white-color)!important;color:var(--font-color)!important}"]})};var Ht=class o{constructor(n,e,i,t){this.dataService=n;this.apiService=e;this.titleService=i;this.metaService=t}setupMetaTags(){this.titleService.setTitle("Experiences | Conveniently book and enjoy outdoor activities"),[{property:"keywords",content:"experiences, outdoor, fun, outing, family, friends, activities, holiday, tickets"},{property:"description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."},{property:"og:url",content:"https://kenyabuzz.com/experiences"},{property:"og:title",content:"Experiences | Conveniently book and enjoy outdoor activities"},{property:"og:description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."},{property:"og:image",content:"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png"},{property:"twitter:card",content:"summary_large_image"},{property:"twitter:title",content:"Experiences | Conveniently book and enjoy outdoor activities"},{property:"twitter:description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."},{property:"twitter:image",content:"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png"}].forEach(e=>this.metaService.updateTag(e))}processCarouselItems(n){let e=[];for(let i=0;i<n.length;i++){let t=n[i],c={image:t.slider_image,title:t.slider_text,url:"/experiences/"+t.slug,category:t.category};e.push(c)}return e||[]}fetchHeroCarousel(){return Y(this,null,function*(){try{let n=yield J(this.dataService.getExperiencesCarousel());return n&&typeof n=="object"&&"data"in n?[...this.processCarouselItems(n.data)]:[]}catch(n){return console.error("Error fetching hero carousel",n),[]}})}static \u0275fac=function(e){return new(e||o)(Je(X),Je(Z),Je(ze),Je(ne))};static \u0275prov=sn({token:o,factory:o.\u0275fac,providedIn:"root"})};var ni=o=>({$implicit:o,placement:"experiences_card"}),Ut=(o,n)=>n.id,ii=(o,n)=>n.index,oi=(o,n)=>n.key+n.value,ri=(o,n)=>n.id||n.slug;function ai(o,n){o&1&&(a(0,"section",2),h(1,"div",4),r())}function si(o,n){o&1&&(a(0,"section",3),h(1,"kb-icon",5),a(2,"h1"),s(3,"Experiences are taking a moment"),r(),a(4,"p"),s(5,"Please refresh the page to try again."),r()())}function li(o,n){o&1&&(a(0,"strong",32),s(1,"FREE"),r(),a(2,"small"),h(3,"i"),s(4," Booking open"),r())}function ci(o,n){if(o&1&&(a(0,"strong"),s(1),r(),a(2,"small"),h(3,"i"),s(4," Available today"),r()),o&2){let e=p(2),i=p(2);l(),v(i.formatPrice(e.price))}}function pi(o,n){if(o&1&&(a(0,"aside",20)(1,"span"),s(2,"From"),r(),y(3,li,5,0)(4,ci,5,1),r()),o&2){let e=p();l(3),b(e.price===0?3:4)}}function di(o,n){if(o&1&&(a(0,"span"),h(1,"kb-icon",33),s(2),r()),o&2){let e=p();l(2),P(" ",e.categories," ")}}function mi(o,n){if(o&1&&(a(0,"span"),h(1,"kb-icon",34),s(2),r()),o&2){let e=p();l(2),P(" ",e.address," ")}}function _i(o,n){if(o&1){let e=w();a(0,"button",40),g("click",function(){let t=_(e).$implicit,c=p(4);return u(c.selectHero(t.index))}),a(1,"img",41),g("error",function(t){_(e);let c=p(4);return u(t.target.src=c.handleMissingImage())}),r(),a(2,"span"),s(3),r()()}if(o&2){let e=n.$implicit,i=p(4);tt("is-active",e.index===i.activeHeroIndex),U("aria-label","Show "+e.experience.title)("aria-current",e.index===i.activeHeroIndex?"true":null),l(),d("src",e.experience.image||i.handleMissingImage(),L)("alt",e.experience.title),l(2),v(e.experience.title)}}function ui(o,n){if(o&1){let e=w();a(0,"div",31)(1,"button",35),g("click",function(){_(e);let t=p(3);return u(t.toggleHeroPlayback())}),h(2,"kb-icon",36),r(),a(3,"div",37),h(4,"span"),r(),a(5,"div",38),V(6,_i,4,7,"button",39,ii),r()()}if(o&2){let e=p(3);l(),U("aria-label",e.heroPlaying?"Pause featured experiences":"Play featured experiences"),l(),d("name",e.heroPlaying?"pause":"play_arrow"),l(2),_n("width",e.heroProgress,"%"),l(2),I(e.visibleHeroPreviews)}}function gi(o,n){if(o&1){let e=w();a(0,"section",6)(1,"img",18),Q("poster-fade-out"),W("poster-fade-in"),g("error",function(t){_(e);let c=p(2);return u(t.target.src=c.handleMissingImage())}),r(),h(2,"div",19),y(3,pi,5,1,"aside",20),a(4,"div",21)(5,"div",22)(6,"span",23),h(7,"kb-icon",5),s(8),r(),a(9,"span",24),h(10,"i"),s(11," Instant Booking"),r()(),a(12,"h1"),s(13),r(),a(14,"div",25),y(1
15,di,3,1,"span"),y(16,mi,3,1,"span"),r(),a(17,"div",26)(18,"a",27),g("click",function(){let t=_(e),c=p(2);return u(c.trackHero(t,"experiences_hero_book_now"))}),h(19,"kb-icon",28),s(20," Book Now "),r(),a(21,"a",29),g("click",function(){let t=_(e),c=p(2);return u(c.trackHero(t,"experiences_hero_view_details"))}),s(22," View Details "),h(23,"kb-icon",30),r()()(),y(24,ui,8,4,"div",31),r()}if(o&2){let e=n,i=p(2);l(),d("src",e.image||i.handleMissingImage(),L)("alt",e.title),l(2),b(e.price!==null?3:-1),l(5),P(" ",e.town," "),l(5),v(e.title),l(2),b(e.categories?15:-1),l(),b(e.address?16:-1),l(2),d("routerLink",i.experienceRoute(e.slug)),l(3),d("routerLink",i.experienceRoute(e.slug)),l(3),b(i.heroItems.length>1?24:-1)}}function xi(o,n){if(o&1){let e=w();a(0,"button",44),g("click",function(){let t=_(e).$implicit,c=p(3);return u(c.removeFilter(t))}),s(1),h(2,"kb-icon",45),r()}if(o&2){let e=n.$implicit;l(),P(" ",e.label," ")}}function hi(o,n){if(o&1){let e=w();V(0,xi,3,1,"button",42,oi),a(2,"button",43),g("click",function(){_(e);let t=p(2);return u(t.clearAllFilters())}),s(3," Clear all "),r()}if(o&2){let e=p(2);I(e.activeFilters)}}function fi(o,n){o&1&&(a(0,"span"),s(1,"Showing all experiences"),r())}function Ci(o,n){if(o&1){let e=w();a(0,"label",11)(1,"input",12),g("change",function(){let t=_(e).$implicit,c=p(2);return u(c.toggleCategory(t.id))}),r(),a(2,"span"),s(3),r(),a(4,"small"),s(5),r()()}if(o&2){let e=n.$implicit,i=p(2);l(),d("checked",i.selectedCategoryIds.has(e.id)),l(2),v(e.text),l(2),v(i.categoryCount(e.id))}}function yi(o,n){if(o&1){let e=w();a(0,"label",11)(1,"input",12),g("change",function(){let t=_(e).$implicit,c=p(2);return u(c.toggleLocation(t.id))}),r(),a(2,"span"),s(3),r(),a(4,"small"),s(5),r()()}if(o&2){let e=n.$implicit,i=p(2);l(),d("checked",i.selectedLocationIds.has(e.id)),l(2),v(e.text),l(2),v(e.count)}}function bi(o,n){if(o&1&&(a(0,"span",48),s(1),r()),o&2){let e=p();l(),v(e.town)}}function vi(o,n){if(o&1&&(a(0,"p",52),s(1),r()),o&2){let e=p();l(),v(e.fullText)}}function ki(o,n){if(o&1&&(a(0,"span"),s(1),r()),o&2){let e=n.$implicit;l(),v(e.text)}}function wi(o,n){if(o&1&&(a(0,"div",60)(1,"small"),s(2,"From"),r(),a(3,"strong"),s(4),r()()),o&2){let e=p(),i=p(2);tt("is-free",e.price===0),l(4),v(e.price===0?"FREE":i.formatPrice(e.price))}}function Mi(o,n){o&1&&dn(0)}function Ei(o,n){if(o&1&&j(0,Mi,1,0,"ng-container",61),o&2){let e=n.$implicit;p(3);let i=mn(5);d("ngTemplateOutlet",i)("ngTemplateOutletContext",R(2,ni,e))}}function Si(o,n){if(o&1){let e=w();a(0,"div",59)(1,"button",44),g("click",function(){_(e);let t=p(3);return u(t.loadMoreExperiences())}),s(2,"Load More Experiences"),r()()}}function Pi(o,n){if(o&1){let e=w();a(0,"article",46)(1,"a",47),g("click",function(){let t=_(e),c=p(2);return u(c.trackExperienceCard(t,"experiences_featured_image"))}),a(2,"img",41),W("poster-fade-in"),g("error",function(t){_(e);let c=p(2);return u(t.target.src=c.handleMissingImage())}),r(),y(3,bi,2,1,"span",48),r(),a(4,"div",49)(5,"div")(6,"p",50),s(7),r(),a(8,"a",51),g("click",function(){let t=_(e),c=p(2);return u(c.trackExperienceCard(t,"experiences_featured_title"))}),a(9,"h3"),s(10),r()(),y(11,vi,2,1,"p",52),a(12,"div",53)(13,"span"),h(14,"kb-icon",34),s(15),r()(),a(16,"div",54),V(17,ki,2,1,"span",null,Ut),r()(),a(19,"div",55),y(20,wi,5,3,"div",56),a(21,"a",57),g("click",function(){let t=_(e),c=p(2);return u(c.trackExperienceCard(t,"experiences_featured_book"))}),s(22," Book Now "),h(23,"kb-icon",30),r()()()(),a(24,"div",58),V(25,Ei,1,4,"ng-container",null,ri),r(),y(27,Si,3,0,"div",59)}if(o&2){let e=n,i=p(2);l(),d("routerLink",i.experienceRoute(e.slug)),l(),d("src",e.poster||i.handleMissingImage(),L)("alt",e.name),l(),b(e.town?3:-1),l(4),v(i.categorySummary(e)),l(),d("routerLink",i.experienceRoute(e.slug)),l(2),v(e.name),l(),b(e.fullText?11:-1),l(4),P(" ",e.address," "),l(2),I(i.categoryChips(e)),l(3),b(e.price!==null?20:-1),l(),d("routerLink",i.experienceRoute(e.slug)),l(4),I(i.gridExperiences),l(2),b(i.hasMoreExperiences?27:-1)}}function Oi(o,n){o&1&&(a(0,"section",17),h(1,"kb-icon",62),a(2,"h3"),s(3,"No matching experiences"),r(),a(4,"p"),s(5,"Clear one or more filters to widen the results."),r()())}function Ti(o,n){if(o&1){let e=w();y(0,gi,25,10,"section",6),a(1,"div",7),y(2,hi,4,0)(3,fi,2,0,"span"),r(),a(4,"div",8)(5,"aside",9)(6,"section",10)(7,"h2"),s(8,"Category"),r(),a(9,"label",11)(10,"input",12),g("change",function(){_(e);let t=p();return u(t.clearCategories())}),r(),a(11,"span"),s(12,"All Experiences"),r(),a(13,"small"),s(14),r()(),V(15,Ci,6,3,"label",11,Ut),r(),a(17,"section",10)(18,"h2"),s(19,"Location"),r(),a(20,"label",11)(21,"input",12),g("change",function(){_(e);let t=p();return u(t.clearLocations())}),r(),a(22,"span"),s(23,"All Locations"),r(),a(24,"small"),s(25),r()(),V(26,yi,6,3,"label",11,Ut),r()(),a(28,"section",13)(29,"header",14)(30,"div")(31,"h2",15),s(32),r(),a(33,"p"),s(34),r()(),h(35,"kb-icon",16),r(),y(36,Pi,28,12)(37,Oi,6,0,"section",17),r()()}if(o&2){let e,i,t=p();b((e=t.activeHero)?0:-1,e),l(),tt("active-filters--empty",t.activeFilters.length===0),l(),b(t.activeFilters.length>0?2:3),l(8),d("checked",t.selectedCategoryIds.size===0),l(4),v(t.experiences.length),l(),I(t.categories),l(6),d("checked",t.selectedLocationIds.size===0),l(4),v(t.experiences.length),l(),I(t.locations),l(6),v(t.resultsTitle),l(2),v(t.resultsSubtitle),l(2),b((i=t.featuredExperience)?36:37,i)}}
1function Vi(o,n){if(o&1&&(a(0,"span",48),s(1),r()),o&2){let e=p().$implicit;l(),v(e.town)}}function Ii(o,n){if(o&1&&(a(0,"span"),s(1),r()),o&2){let e=n.$implicit;l(),v(e.text)}}function Bi(o,n){if(o&1&&(a(0,"div",60)(1,"small"),s(2,"From"),r(),a(3,"strong"),s(4),r()()),o&2){let e=p().$implicit,i=p();tt("is-free",e.price===0),l(4),v(e.price===0?"FREE":i.formatPrice(e.price))}}function Di(o,n){if(o&1){let e=w();a(0,"article",63)(1,"a",64),g("click",function(){let t=_(e),c=t.$implicit,m=t.placement,C=p();return u(C.trackExperienceCard(c,m+"_image"))}),a(2,"img",65),W("poster-fade-in"),g("error",function(t){_(e);let c=p();return u(t.target.src=c.handleMissingImage())}),r(),y(3,Vi,2,1,"span",48),r(),a(4,"div",66)(5,"p",50),s(6),r(),a(7,"a",51),g("click",function(){let t=_(e),c=t.$implicit,m=t.placement,C=p();return u(C.trackExperienceCard(c,m+"_title"))}),a(8,"h3"),s(9),r()(),a(10,"div",67)(11,"span"),h(12,"kb-icon",34),s(13),r()(),a(14,"div",54),V(15,Ii,2,1,"span",null,Ut),r(),a(17,"div",55),y(18,Bi,5,3,"div",56),a(19,"a",68),g("click",function(){let t=_(e),c=t.$implicit,m=t.placement,C=p();return u(C.trackExperienceCard(c,m+"_book"))}),s(20,"Book"),r()()()()}if(o&2){let e=n.$implicit,i=p();l(),d("routerLink",i.experienceRoute(e.slug)),l(),d("src",e.poster||i.handleMissingImage(),L)("alt",e.name),l(),b(e.town?3:-1),l(3),v(i.categorySummary(e)),l(),d("routerLink",i.experienceRoute(e.slug)),l(2),v(e.name),l(4),P(" ",e.address," "),l(2),I(i.categoryChips(e)),l(3),b(e.price!==null?18:-1),l(),d("routerLink",i.experienceRoute(e.slug))}}var en="experiences-landing-data",Wt=class o{constructor(n,e,i,t,c,m){this.dataService=n;this.pluginService=e;this.apiService=i;this.experiencesService=t;this.trackingService=c;this.transferState=m;this.experiencesService.setupMetaTags()}loading=!0;loadError=!1;heroItems=[];activeHeroIndex=0;heroProgress=0;heroPlaying=!0;experiences=[];categories=[];locations=[];visibleExperienceCount=13;selectedCategoryIds=new Set;selectedLocationIds=new Set;heroDurationMs=6500;heroTimer=null;heroProgressTimer=null;ngOnInit(){return Y(this,null,function*(){yield this.loadLandingData()})}ngAfterViewInit(){this.pluginService.scrollToTop()}ngOnDestroy(){this.clearHeroTimers()}get activeHero(){return this.heroItems[this.activeHeroIndex]??null}get visibleHeroPreviews(){let n=this.heroItems.length;if(n===0)return[];if(n<=3)return this.heroItems.map((t,c)=>({experience:t,index:c}));let e=this.activeHeroIndex%n;return(e===0?[0,1,2]:e===n-1?[n-2,n-1,0]:[e-1,e,e+1]).map(t=>({experience:this.heroItems[t],index:t}))}get filteredExperiences(){return this.experiences.filter(n=>{let e=this.selectedCategoryIds.size===0||n.categoryIds.some(t=>this.selectedCategoryIds.has(t.id)),i=this.selectedLocationIds.size===0||n.townId!==null&&this.selectedLocationIds.has(n.townId);return e&&i})}get featuredExperience(){return this.filteredExperiences[0]??null}get gridExperiences(){return this.filteredExperiences.slice(1,this.visibleExperienceCount)}get hasMoreExperiences(){return this.filteredExperiences.length>this.visibleExperienceCount}get resultsTitle(){if(this.selectedCategoryIds.size===1){let n=[...this.selectedCategoryIds][0],e=this.categories.find(i=>i.id===n);if(e)return`${e.text} Experiences`}if(this.selectedLocationIds.size===1){let n=[...this.selectedLocationIds][0],e=this.locations.find(i=>i.id===n);if(e)return`${e.text} Experiences`}return"All Experiences"}get resultsSubtitle(){let n=this.filteredExperiences.length,e=this.selectedLocationIds.size===1?this.locations.find(i=>i.id===[...this.selectedLocationIds][0])?.text:null;return`${n} ${n===1?"result":"results"}${e?` \xB7 ${e}`:" \xB7 Kenya"}`}get activeFilters(){let n=[];for(let e of this.selectedCategoryIds){let i=this.categories.find(t=>t.id===e);i&&n.push({key:"category",label:i.text,value:e})}for(let e of this.selectedLocationIds){let i=this.locations.find(t=>t.id===e);i&&n.push({key:"location",label:i.text,value:e})}return n}selectHero(n){this.heroItems.length!==0&&(this.activeHeroIndex=(n+this.heroItems.length)%this.heroItems.length,this.restartHeroPlayback())}toggleHeroPlayback(){this.heroPlaying=!this.heroPlaying,this.heroPlaying?this.restartHeroPlayback():this.clearHeroTimers()}toggleCategory(n){this.selectedCategoryIds.has(n)?this.selectedCategoryIds.delete(n):this.selectedCategoryIds.add(n),this.resetVisibleExperiences(),this.trackUserEvent("click","experiences_category_filter",String(n))}clearCategories(){this.selectedCategoryIds.clear(),this.resetVisibleExperiences()}toggleLocation(n){this.selectedLocationIds.has(n)?this.selectedLocationIds.delete(n):this.selectedLocationIds.add(n),this.resetVisibleExperiences(),this.trackUserEvent("click","experiences_location_filter",String(n))}clearLocations(){this.selectedLocationIds.clear(),this.resetVisibleExperiences()}removeFilter(n){n.key==="category"&&this.selectedCategoryIds.delete(n.value),n.key==="location"&&this.selectedLocationIds.delete(n.value),this.resetVisibleExperiences()}clearAllFilters(){this.selectedCategoryIds.clear(),this.selectedLocationIds.clear(),this.resetVisibleExperiences(),this.trackUserEvent("click","experiences_filters","clear_all")}loadMoreExperiences(){this.visibleExperienceCount+=9,this.trackUserEvent("click","experiences_load_more",String(this.visibleExperienceCount))}categoryCount(n){return this.experiences.filter(e=>e.categoryIds.some(i=>i.id===n)).length}categorySummary(n){return n.categories||n.categoryIds.map(e=>e.text).join(" \xB7 ")||"Experience"}categoryChips(n){return n.categoryIds.slice(0,5)}experienceRoute(n){return n?["/experiences",n]:["/experiences"]}
1formatPrice(n){return`KSh ${Math.round(n).toLocaleString("en-KE")}`}trackHero(n,e){this.trackUserEvent("view_item",e,n.title)}trackExperienceCard(n,e){this.trackUserEvent("view_item",e,n.name)}trackUserEvent(n,e,i){this.trackingService.trackEvent(n,e,i)}handleMissingImage(){return this.dataService.placeholdMissingImg()}loadLandingData(){return Y(this,null,function*(){this.loading=!0,this.loadError=!1;try{let n=this.transferState.get(en,null),e,i;if(n)({sliderResponse:e,listResponse:i}=n),this.transferState.remove(en);else{let t=this.apiService.getEndpoints().experiences.list_venues;[e,i]=yield Promise.all([J(this.dataService.getExperiencesCarousel()),J(this.apiService.get_v3(t))]),this.dataService.isBrowser()||this.transferState.set(en,{sliderResponse:e,listResponse:i})}this.heroItems=this.normalizeHeroItems(this.responseData(e)),this.experiences=this.normalizeExperiences(this.responseData(i)),this.categories=this.extractCategories(this.experiences),this.locations=this.normalizeLocations(this.responseLocations(i),this.experiences),this.activeHeroIndex=0,this.resetVisibleExperiences(),this.restartHeroPlayback()}catch(n){console.error("Failed to fetch experiences landing page",n),this.loadError=!0}finally{this.loading=!1}})}normalizeHeroItems(n){return Array.isArray(n)?n.map(e=>{let i=this.recordValue(e);return{title:this.stringValue(i.slider_text,"Featured experience"),image:this.normalizeAsset(i.slider_image),slug:this.stringValue(i.slug),town:this.stringValue(i.town,"Experiences"),categories:this.nullableString(i.categories),address:this.nullableString(i.address),price:this.nullableNumber(i.price)}}).filter(e=>e.title.length>0):[]}normalizeExperiences(n){return Array.isArray(n)?n.map(e=>{let i=this.recordValue(e),t=this.normalizeCategories(i.category_id);return{id:this.numberValue(i.id),name:this.stringValue(i.name,"Untitled experience"),slug:this.stringValue(i.slug),poster:this.normalizeAsset(i.poster),townId:this.nullableNumber(i.town_id),town:this.stringValue(i.town,"Kenya"),address:this.stringValue(i.address,"Location to be announced"),categories:this.stringValue(i.categories),categoryIds:t,fullText:this.stripMarkup(this.stringValue(i.experiences_full_text??i.experiences)),price:this.nullableNumber(i.price)}}).filter(e=>e.slug.length>0||e.id>0):[]}extractCategories(n){let e=new Map;for(let i of n)for(let t of i.categoryIds)e.has(t.id)||e.set(t.id,t);return[...e.values()].sort((i,t)=>i.text.localeCompare(t.text,void 0,{sensitivity:"base"}))}normalizeLocations(n,e){let i=new Map;if(Array.isArray(n))for(let t of n){let c=this.recordValue(t),m=this.numberValue(c.town_id??c.id),C=this.stringValue(c.town??c.text);m>0&&C&&i.set(m,{id:m,text:C,count:0})}for(let t of e){if(t.townId===null)continue;let c=i.get(t.townId);c?c.count+=1:i.set(t.townId,{id:t.townId,text:t.town,count:1})}return[...i.values()].filter(t=>t.count>0).sort((t,c)=>c.count-t.count||t.text.localeCompare(c.text,void 0,{sensitivity:"base"}))}normalizeCategories(n){return Array.isArray(n)?n.map(e=>{let i=this.recordValue(e);return{id:this.numberValue(i.id),text:this.stringValue(i.text??i.category??i.name)}}).filter(e=>e.id>0&&e.text.length>0):[]}restartHeroPlayback(){if(this.clearHeroTimers(),!this.dataService.isBrowser()||!this.heroPlaying||this.heroItems.length<2)return;let n=Date.now();this.heroProgress=0,this.heroProgressTimer=setInterval(()=>{this.heroProgress=Math.min((Date.now()-n)/this.heroDurationMs*100,100)},100),this.heroTimer=setTimeout(()=>this.selectHero(this.activeHeroIndex+1),this.heroDurationMs)}clearHeroTimers(){this.heroTimer&&clearTimeout(this.heroTimer),this.heroProgressTimer&&clearInterval(this.heroProgressTimer),this.heroTimer=null,this.heroProgressTimer=null}resetVisibleExperiences(){this.visibleExperienceCount=13}responseData(n){return this.recordValue(n).data}responseLocations(n){return this.recordValue(n).locations}normalizeAsset(n){let e=this.nullableString(n);return e?e.startsWith("http")||e.startsWith("assets/")?e:`https://static.kenyabuzz.com/public${e.startsWith("/")?e:`/${e}`}`:null}stripMarkup(n){return n.replace(/<[^>]*>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/\s+/g," ").trim()}recordValue(n){return n&&typeof n=="object"?n:{}}stringValue(n,e=""){return typeof n=="string"&&n.trim()?n.trim():e}nullableString(n){return typeof n=="string"&&n.trim()?n.trim():null}numberValue(n){let e=Number(n);return Number.isFinite(e)?e:0}nullableNumber(n){if(n==null||n==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}static \u0275fac=function(e){return new(e||o)(k(X),k(Be),k(Z),k(Ht),k(de),k(cn))};static \u0275cmp=ee({type:o,selectors:[["app-experiences"]],decls:6,vars:1,consts:[["experienceCard",""],[1,"experiences-page"],["aria-live","polite",1,"experiences-loading"],["role","alert",1,"experiences-empty","experiences-empty--page"],[1,"kb-loader",2,"margin","10rem auto"],["aria-hidden","true","name","travel_explore"],["aria-label","Featured experiences",1,"experiences-hero"],["aria-label","Selected filters",1,"active-filters"],[1,"experiences-layout"],["aria-label","Experience filters",1,"experiences-sidebar"],[1,"sidebar-section"],[1,"sidebar-option"],["type","checkbox",3,"change","checked"],["aria-labelledby","experiences-results-title",1,"experiences-results"],[1,"results-header"],["id","experiences-results-title"],["aria-hidden","true","name","grid_view"],[1,"experiences-empty"],[1,"experiences-hero__image",3,"error","src","alt"],[1,"experiences-hero__shade"],["aria-label","Starting price",1,"hero-price"],[1,"experiences-hero__content"],[1,"hero-tags"],[1,"hero-category"],[1,"hero-live"],[1,"hero-meta"],[1,"hero-actions"],[1,"button","button--primary",3,"click","routerLink"],["aria-hidden","true","name","send"],[1,"button","button--outline",3,"click","routerLink"],["aria-hidden","true","name","arrow_forward"],[1,"hero-preview-panel"],[1,"is-free"],["aria-hidden","true","name","interests"],["aria-hidden","true","name","location_on"],["type","button",1,"hero-playback",3,"click"],["aria-hidden","true",3,"name"],["aria-hidden","true",1,"hero-progress"],[1,"hero-previews"],["type","button",1,"hero-preview",3,"is-active"],["type","button",1,"hero-preview",3,"click"],[3,"error","src","alt"],["type","button"],["type","button",1,"active-filters__clear",3,"click"],["type","button",3,"click"],["aria-hidden","true","name","close"],[1,"experience-wide"],[1,"experience-wide__media",3,"click","routerLink"],[1,"town-badge"],[1,"experience-wide__body"],[1,"experience-category"],[3,"click","routerLink"],[1,"experience-description"],[1,"experience-meta","experience-meta--row"],[1,"experience-tags"],[1,"experience-footer"],[1,"experience-price",3,"is-free"],[1,"button","button--card",3,"click","routerLink"],[1,"experience-grid"],[1,"load-more"],[1,"experience-price"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-hidden","true","name","search_off"],[1,"experience-card"],[1,"experience-card__media",3,"click","routerLink"],["loading","lazy",3,"error","src","alt"],[1,"experience-card__body"],[1,"experience-meta"],[1,"button","button--small",3,"click","routerLink"]],template:function(e,i){e&1&&(a(0,"main",1),y(1,ai,2,0,"section",2)(2,si,6,0,"section",3)(3,Ti,38,11),r(),j(4,Di,21,10,"ng-template",null,0,Le)),e&2&&(l(),b(i.loading?1:i.loadError?2:3))},dependencies:[te,hn,ie,Ne,ae,se,me,_e,pe,oe,ue,ge,xe,he,re,fe,Ce,ye,be,ve,ke,le,Me,Ee,Se,Pe,Oe,Te,ce,Ve,Ie,we],styles:["[_nghost-%COMP%]{--experience-accent: var(--color-exp);--experience-accent-strong: var(--color-exp-lt);--experience-accent-bright: var(--color-exp);--experience-accent-soft: var(--color-exp-bg);--experience-page: #f5f7fb;--experience-surface: #ffffff;--experience-surface-2: #edf1f8;--experience-surface-3: #dfe6f3;--experience-text: #171717;--experience-muted: #667085;--experience-border: #dce3ef;--experience-green: #10b981;--experience-shadow: 0 16px 40px rgba(16, 24, 40, .09);display:block;color:var(--experience-text);font-family:DM Sans,Arial,sans-serif}.kb-dark-theme[_nghost-%COMP%], .kb-dark-theme   [_nghost-%COMP%]{--experience-accent-strong: var(--color-exp);--experience-page: #101010;--experience-surface: #1f1f1f;--experience-surface-2: #282828;--experience-surface-3: #333333;--experience-text: #f5f5f5;--experience-muted: #9ca3af;--experience-border: #303030;--experience-shadow: none}*[_ngcontent-%COMP%]{box-sizing:border-box;letter-spacing:0}a[_ngcontent-%COMP%]{color:inherit;text-decoration:none}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{font:inherit}button[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent}.experiences-page[_ngcontent-%COMP%]{width:100%;max-width:100vw;min-height:100vh;overflow:hidden;background:var(--experience-page);color:var(--experience-text);transition:background .18s ease,color .18s ease}.experiences-loading[_ngcontent-%COMP%], .experiences-empty[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;min-height:220px;padding:32px;color:var(--experience-muted);text-align:center}.experiences-loading[_ngcontent-%COMP%]{min-height:520px}.experiences-loading__spinner[_ngcontent-%COMP%]{width:24px;height:24px;border:3px solid var(--experience-border);border-top-color:var(--experience-accent);border-radius:50%;animation:_ngcontent-%COMP%_experience-spin .7s linear infinite}.experiences-empty--page[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{color:var(--experience-accent);font-size:44px}.experiences-empty[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%], .experiences-empty[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%], .experiences-empty[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:0}.experiences-hero[_ngcontent-%COMP%]{position:relative;width:100%;max-width:100vw;min-height:500px;overflow:hidden;isolation:isolate;background:#111;color:#fff}.experiences-hero__image[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;animation:_ngcontent-%COMP%_experience-hero-zoom 10s ease-in-out infinite alternate}.experiences-hero__shade[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#090909f7,#090909d1 38%,#09090957 70%,#09090933),radial-gradient(ellipse 70% 80% at 70% 50%,rgba(31,77,204,.2),transparent 65%),linear-gradient(0deg,rgba(9,9,9,.8) 0%,transparent 48%)}.experiences-hero__content[_ngcontent-%COMP%]{position:absolute;
1left:clamp(24px,4vw,64px);bottom:46px;z-index:2;width:min(680px,100% - 48px)}.hero-tags[_ngcontent-%COMP%], .hero-meta[_ngcontent-%COMP%], .hero-actions[_ngcontent-%COMP%], .experience-meta[_ngcontent-%COMP%], .experience-tags[_ngcontent-%COMP%], .experience-footer[_ngcontent-%COMP%]{display:flex;align-items:center}.hero-tags[_ngcontent-%COMP%]{gap:8px;margin-bottom:14px}.hero-category[_ngcontent-%COMP%], .hero-live[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:5px 11px;border-radius:5px;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase}.hero-category[_ngcontent-%COMP%]{border:1px solid color-mix(in srgb,var(--experience-accent) 30%,transparent);background:var(--experience-accent-soft);color:var(--experience-accent)}.hero-category[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{font-size:14px}.hero-live[_ngcontent-%COMP%]{color:var(--experience-accent);background:var(--experience-accent-soft);border:1px solid color-mix(in srgb,var(--experience-accent) 42%,transparent)}.hero-live[_ngcontent-%COMP%]   i[_ngcontent-%COMP%], .hero-price[_ngcontent-%COMP%]   small[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{width:6px;height:6px;border-radius:50%;background:var(--experience-accent-bright);animation:_ngcontent-%COMP%_experience-pulse 1.2s ease-in-out infinite}.experiences-hero[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{max-width:680px;margin:0 0 18px;font-family:Bebas Neue,Impact,sans-serif;font-size:64px;font-weight:700;line-height:.96;text-transform:uppercase;overflow-wrap:anywhere}.hero-meta[_ngcontent-%COMP%]{flex-wrap:wrap;gap:12px 20px;margin-bottom:22px;color:#d1d5db;font-size:13px}.hero-meta[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px}.hero-meta[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{color:#9ca3af;font-size:17px}.hero-actions[_ngcontent-%COMP%]{flex-wrap:wrap;gap:10px}.button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:0;border-radius:7px;padding:10px 18px;font-weight:800;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.button[_ngcontent-%COMP%]:hover{transform:translateY(-1px)}.button[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{font-size:18px}.button--primary[_ngcontent-%COMP%], .button--card[_ngcontent-%COMP%], .button--small[_ngcontent-%COMP%]{background:var(--experience-accent);color:#111}.button--primary[_ngcontent-%COMP%]:hover, .button--card[_ngcontent-%COMP%]:hover, .button--small[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--experience-accent) 88%,#ffffff)}.button--outline[_ngcontent-%COMP%]{color:#fff;background:#00000029;border:1px solid rgba(255,255,255,.44)}.button--outline[_ngcontent-%COMP%]:hover{border-color:#fff}.button--card[_ngcontent-%COMP%]{margin-left:auto;font-size:12px}.button--small[_ngcontent-%COMP%]{min-height:30px;margin-left:auto;padding:6px 12px;font-size:11px}.hero-price[_ngcontent-%COMP%]{position:absolute;top:28px;right:32px;z-index:2;min-width:154px;padding:14px 18px;border:1px solid color-mix(in srgb,var(--experience-accent-bright) 55%,transparent);border-radius:8px;background:#050505b8;backdrop-filter:blur(8px)}.hero-price[_ngcontent-%COMP%] > span[_ngcontent-%COMP%], .hero-price[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%], .hero-price[_ngcontent-%COMP%] > small[_ngcontent-%COMP%]{display:block}.hero-price[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#9ca3af;font-size:9px;font-weight:700;text-transform:uppercase}.hero-price[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%]{margin:2px 0 5px;font-family:Bebas Neue,Impact,sans-serif;font-size:31px;line-height:1;text-transform:uppercase}.hero-price[_ngcontent-%COMP%] > strong.is-free[_ngcontent-%COMP%], .experience-price.is-free[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{color:var(--experience-green)}.hero-price[_ngcontent-%COMP%] > small[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;color:var(--experience-accent);font-size:11px}.hero-preview-panel[_ngcontent-%COMP%]{position:absolute;right:30px;bottom:28px;z-index:3;width:min(420px,38vw)}.hero-playback[_ngcontent-%COMP%]{position:absolute;right:0;bottom:58px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.34);border-radius:50%;color:#fff;background:#00000094;cursor:pointer}.hero-playback[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{font-size:17px}.hero-progress[_ngcontent-%COMP%]{height:3px;margin:0 0 9px auto;overflow:hidden;border-radius:3px;background:#fff3}.hero-progress[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{display:block;height:100%;background:var(--experience-accent-bright)}.hero-previews[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-preview[_ngcontent-%COMP%]{position:relative;height:58px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:7px;color:#fff;background:#151515;cursor:pointer;opacity:.72}.hero-preview.is-active[_ngcontent-%COMP%]{border-color:var(--experience-accent-bright);opacity:1}.hero-preview[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover}.hero-preview[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{position:absolute;inset:auto 0 0;overflow:hidden;padding:16px 6px 5px;background:linear-gradient(transparent,#000000e0);font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.active-filters[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:50px;padding:9px 22px;border-bottom:1px solid var(--experience-border);background:var(--experience-surface)}.active-filters[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--experience-muted);font-size:12px;font-weight:700}.active-filters[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:4px 10px;border:1px solid var(--experience-border);border-radius:999px;color:var(--experience-text);background:var(--experience-surface-2);font-size:11px;font-weight:700;cursor:pointer}.active-filters[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{font-size:14px}.active-filters[_ngcontent-%COMP%]   button.active-filters__clear[_ngcontent-%COMP%]{border-color:transparent;color:var(--experience-accent-bright);background:transparent}.experiences-layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:270px minmax(0,1fr);align-items:start}.experiences-sidebar[_ngcontent-%COMP%]{position:sticky;top:58px;max-height:calc(100vh - 58px);overflow-y:auto;padding:22px 18px;border-right:1px solid var(--experience-border);background:var(--experience-surface)}.experiences-sidebar[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.sidebar-section[_ngcontent-%COMP%]{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--experience-border)}.sidebar-section[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.sidebar-section[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{margin:0 0 12px;color:var(--experience-muted);font-size:10px;font-weight:900;text-transform:uppercase}.sidebar-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;min-height:28px;color:var(--experience-muted);font-size:12px;cursor:pointer}.sidebar-option[_ngcontent-%COMP%]   input[_ngcontent-%COMP%]{width:16px;height:16px;margin:0;accent-color:var(--experience-accent)}.sidebar-option[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{min-width:0;flex:1}.sidebar-option[_ngcontent-%COMP%]   small[_ngcontent-%COMP%]{color:color-mix(in srgb,var(--experience-muted) 60%,transparent);font-size:10px}.experiences-results[_ngcontent-%COMP%]{min-width:0;padding:24px clamp(18px,3vw,34px) 54px}.results-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.results-header[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%], .experience-wide[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{font-family:Bebas Neue,Impact,sans-serif!important;text-transform:uppercase}.results-header[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{margin:0;font-size:30px}.results-header[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:4px 0 0;color:var(--experience-muted);font-size:13px}.results-header[_ngcontent-%COMP%] > kb-icon[_ngcontent-%COMP%]{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;color:#fff;background:var(--experience-accent);font-size:19px}.experience-wide[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(260px,32%) 1fr;min-height:245px;overflow:hidden;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--experience-accent) 25%,var(--experience-border));border-radius:8px;background:var(--experience-surface);box-shadow:var(--experience-shadow)}.experience-wide__media[_ngcontent-%COMP%], .experience-card__media[_ngcontent-%COMP%]{position:relative;display:block;overflow:hidden;background:var(--experience-surface-2)}.experience-wide__media[_ngcontent-%COMP%]   img[_ngcontent-%COMP%], .experience-card__media[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;transition:transform .26s ease}.experience-wide[_ngcontent-%COMP%]:hover   img[_ngcontent-%COMP%], .experience-card[_ngcontent-%COMP%]:hover   img[_ngcontent-%COMP%]{transform:scale(1.035)}.town-badge[_ngcontent-%COMP%]{position:absolute;top:11px;left:11px;display:inline-flex;align-items:center;max-width:calc(100% - 22px);overflow:hidden;padding:5px 9px;border-radius:4px;border:1px solid color-mix(in srgb,var(--experience-accent) 30%,transparent);color:var(--experience-accent-strong);background:var(--experience-accent-soft);font-size:10px;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.experience-wide__body[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:space-between;min-width:0;
1padding:24px 26px}.experience-category[_ngcontent-%COMP%]{margin:0 0 6px;color:var(--experience-accent-bright);font-size:10px;font-weight:900;text-transform:uppercase}.experience-wide[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%], .experience-card[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{margin:0;color:var(--experience-text)}.experience-wide[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{font-size:31px;line-height:1.05}.experience-description[_ngcontent-%COMP%]{display:-webkit-box;overflow:hidden;margin:10px 0;color:var(--experience-muted);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.experience-meta[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:4px;color:var(--experience-muted);font-size:11px}.experience-meta--row[_ngcontent-%COMP%]{flex-flow:row wrap;gap:8px 16px}.experience-meta[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px}.experience-meta[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{color:var(--experience-accent);font-size:14px}.experience-tags[_ngcontent-%COMP%]{flex-wrap:wrap;gap:5px;margin-top:11px}.experience-tags[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{padding:3px 7px;border-radius:3px;color:var(--experience-muted);background:var(--experience-surface-2);font-size:9px;font-weight:700}.experience-footer[_ngcontent-%COMP%]{min-height:36px;justify-content:space-between;gap:10px;margin-top:14px}.experience-price[_ngcontent-%COMP%]   small[_ngcontent-%COMP%], .experience-price[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{display:block}.experience-price[_ngcontent-%COMP%]   small[_ngcontent-%COMP%]{color:var(--experience-muted);font-size:8px;text-transform:uppercase}.experience-price[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{font-family:Bebas Neue,Impact,sans-serif;font-size:22px;line-height:1;text-transform:uppercase}.experience-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.experience-card[_ngcontent-%COMP%]{display:flex;min-width:0;min-height:390px;overflow:hidden;flex-direction:column;border:1px solid var(--experience-border);border-radius:8px;background:var(--experience-surface);box-shadow:var(--experience-shadow);transition:transform .18s ease,border-color .18s ease}.experience-card[_ngcontent-%COMP%]:hover{border-color:color-mix(in srgb,var(--experience-accent) 45%,var(--experience-border));transform:translateY(-3px)}.experience-card__media[_ngcontent-%COMP%]{height:190px;flex:0 0 190px}.experience-card__body[_ngcontent-%COMP%]{display:flex;min-height:0;flex:1;flex-direction:column;padding:14px}.experience-card[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{font-size:15px;line-height:1.3}.experience-card[_ngcontent-%COMP%]   .experience-footer[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column;margin-top:auto;padding-top:12px}.experience-card[_ngcontent-%COMP%]   .button--small[_ngcontent-%COMP%]{width:100%;margin-left:0}.load-more[_ngcontent-%COMP%]{display:flex;justify-content:center;padding:22px 0 8px}.load-more[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 22px;border:1px solid color-mix(in srgb,var(--experience-accent) 50%,transparent);border-radius:7px;color:var(--experience-accent-bright);background:transparent;font-size:13px;font-weight:800;cursor:pointer}.load-more[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]:hover{background:var(--experience-accent-soft)}@keyframes _ngcontent-%COMP%_experience-spin{to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_experience-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@keyframes _ngcontent-%COMP%_experience-hero-zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.experiences-hero__image[_ngcontent-%COMP%], .hero-live[_ngcontent-%COMP%]   i[_ngcontent-%COMP%], .hero-price[_ngcontent-%COMP%]   small[_ngcontent-%COMP%]   i[_ngcontent-%COMP%], .experiences-loading__spinner[_ngcontent-%COMP%]{animation:none}.experience-wide[_ngcontent-%COMP%], .experience-card[_ngcontent-%COMP%], .button[_ngcontent-%COMP%]{transition:none}}@media(max-width:1180px){.experiences-hero__content[_ngcontent-%COMP%]{max-width:58%}.hero-preview-panel[_ngcontent-%COMP%]{width:36%}.experience-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}
1@media(max-width:900px){.experiences-hero[_ngcontent-%COMP%]{min-height:560px}.experiences-hero__content[_ngcontent-%COMP%]{bottom:122px;max-width:none}.experiences-hero[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{font-size:52px}.hero-preview-panel[_ngcontent-%COMP%]{right:24px;bottom:24px;left:24px;width:auto}.hero-playback[_ngcontent-%COMP%]{bottom:61px}.experiences-layout[_ngcontent-%COMP%]{display:block}.experiences-sidebar[_ngcontent-%COMP%]{position:static;display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:18px;max-height:none;overflow-x:auto;padding:18px;border-right:0;border-bottom:1px solid var(--experience-border)}.sidebar-section[_ngcontent-%COMP%]{min-width:230px;padding:0 18px 0 0;margin:0;border-right:1px solid var(--experience-border);border-bottom:0}}@media(max-width:680px){.experiences-hero[_ngcontent-%COMP%]{min-height:610px}.experiences-hero__shade[_ngcontent-%COMP%]{background:linear-gradient(0deg,#080808fa 5%,#080808bf 62%,#0808084d),linear-gradient(90deg,rgba(8,8,8,.72),transparent)}.experiences-hero__content[_ngcontent-%COMP%]{right:18px;bottom:126px;left:18px;width:auto}.experiences-hero[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{margin-bottom:14px;font-size:40px}.hero-price[_ngcontent-%COMP%]{top:18px;right:18px;min-width:126px;padding:11px 13px}.hero-price[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%]{font-size:25px}.hero-meta[_ngcontent-%COMP%]{gap:7px 14px;margin-bottom:17px;font-size:11px}.hero-actions[_ngcontent-%COMP%]   .button[_ngcontent-%COMP%]{min-height:40px;padding:9px 13px;font-size:12px}.hero-preview-panel[_ngcontent-%COMP%]{right:18px;bottom:18px;left:18px}.hero-preview[_ngcontent-%COMP%]{height:54px}.active-filters[_ngcontent-%COMP%]{padding-right:14px;padding-left:14px}.experiences-results[_ngcontent-%COMP%]{padding:20px 16px 42px}.results-header[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{font-size:27px;overflow-wrap:anywhere}.experience-wide[_ngcontent-%COMP%]{display:flex;min-height:0;flex-direction:column}.experience-wide__media[_ngcontent-%COMP%]{height:220px;flex:0 0 220px}.experience-wide__body[_ngcontent-%COMP%]{padding:18px}.experience-wide[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{font-size:27px}.experience-grid[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}.experience-card[_ngcontent-%COMP%]{min-height:0}.experience-card__media[_ngcontent-%COMP%]{height:220px;flex-basis:220px}}@media(max-width:390px){.experiences-hero[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{font-size:38px}.hero-category[_ngcontent-%COMP%], .hero-live[_ngcontent-%COMP%]{padding-right:8px;padding-left:8px;font-size:10px}.hero-previews[_ngcontent-%COMP%]{gap:6px}}"]})};var Ai=()=>({standalone:!0}),Un=o=>["/experiences",o];function Fi(o,n){o&1&&h(0,"div",16)}function Li(o,n){if(o&1&&(h(0,"hr"),a(1,"div",18)(2,"div",19)(3,"h2"),s(4),r(),a(5,"a",20),s(6),h(7,"i",21),r()(),a(8,"div",22)(9,"h5"),s(10),r(),a(11,"p"),s(12),r(),a(13,"a",23),s(14,"View "),h(15,"i",24),r()(),a(16,"div",12)(17,"img",25),Q("poster-fade-out"),W("poster-fade-in"),r()()(),h(18,"hr")),o&2){let e=n.$implicit,i=p(2);l(4),v(e.name),l(),d("routerLink",R(9,Un,e.slug)),l(),P("",e.venue," "),l(4),at("",i.selectedTown==null?null:i.selectedTown.name,", ",i.selectedTown==null?null:i.selectedTown.country),l(2),v(e.description),l(),d("routerLink",R(11,Un,e.slug)),l(4),d("src",e.poster,L)("alt",e.name)}}function zi(o,n){o&1&&(a(0,"h3",17),s(1,"Looks like this town is empty (for now). Check out the other towns for more options."),r())}function Ri(o,n){if(o&1&&V(0,Li,19,13,null,null,G,!1,zi,2,0,"h3",17),o&2){let e=p();I(e.townExperiences)}}var Kt=class o{constructor(n,e,i,t,c,m,C,M,x){this.router=n;this._Activatedroute=e;this.apiService=i;this.pluginService=t;this.dataService=c;this.trackingService=m;this.titleService=C;this.metaService=M;this.destroyRef=x;this.updateNavBar();let O=this._Activatedroute.paramMap.pipe(Ae(f=>f.get("slug")),qe(f=>!!f),Fe()),T=this._Activatedroute.queryParamMap.pipe(Ae(f=>f.get("utm_source")||null),Fe());$e([O,T]).pipe(Ge(this.destroyRef)).subscribe(([f,E])=>{this.slug=f,this.selectedTownSlug=f,E&&this.trackingService.setUtmSource(E,f),this.fetchTowns(f),this.slug=f}),this.titleService.setTitle("Experiences Towns | Conveniently book and enjoy outdoor activities"),this.metaService.updateTag({property:"keywords",content:"experiences, ziplining, horse riding, biking, nature walk, museum"}),this.metaService.updateTag({property:"description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."}),this.metaService.updateTag({property:"og:url",content:"https://kenyabuzz.com/experiences/town/"+this.slug}),this.metaService.updateTag({property:"og:title",content:"Experiences Towns | Conveniently book and enjoy outdoor activities"}),this.metaService.updateTag({property:"og:description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."}),this.metaService.updateTag({property:"og:image",content:"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png"}),this.metaService.updateTag({property:"twitter:card",content:"summary_large_image"}),this.metaService.updateTag({property:"twitter:title",content:"Experiences Towns | Conveniently book and enjoy outdoor activities"}),this.metaService.updateTag({property:"twitter:description",content:"Find out and buy tickets to fun and exciting outdoor activities to enjoy with friends and family in Kenya."}),this.metaService.updateTag({property:"twitter:image",content:"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png"})}slug=null;isLoading=!0;towns=[];selectedTown=null;selectedTownSlug=null;townExperiences=[];data=[];fetchTownsSubscription;ngOnInit(){this.isLoading=!0}ngAfterViewInit(){this.pluginService.scrollToTop()}updateNavBar(){this.dataService.isBrowser()==!0&&window.scrollTo({top:0,behavior:"smooth"})}fetchTowns(n){let e=this.apiService.getEndpoints().experiences.list_town_experiences;this.fetchTownsSubscription=this.apiService.get_v3(e).subscribe({next:i=>{if(console.log("Slug > ",n),console.log("raw response > ",i),"data"in i){if("towns"in i.data&&Array.isArray(i.data.towns)){let t=i.data.towns;for(let c=0;c<t.length;c++){let m=t[c],C={id:m.id,name:m.town,country:m.country,slug:m.slug};this.towns.push(C)}}if("experiences"in i.data&&Array.isArray(i.data.experiences)){let t=i.data.experiences;for(let c=0;c<t.length;c++){let m=t[c],C=[];
1m.experiences.forEach(x=>{let O={name:x.name,description:x.description,poster:x.poster,venue:x.venue,slug:x.venue_slug,category:x.category};C.push(O)});let M={town_id:m.id,experiences:C};this.data.push(M)}}this.townExperiences=this.filterTownData(n),this.isLoading=!1}},error:i=>{this.isLoading=!1}})}updateTownExperiences(n){console.log("Should filter by > ",n),n&&(this.townExperiences=this.filterTownData(n))}filterTownData(n){let e=this.towns.find(t=>t.slug==n);return this.selectedTown=e??null,this.selectedTownSlug=e?.slug??null,console.log("TownSlug > ",this.selectedTownSlug),this.data.find(t=>t.town_id==e?.id)?.experiences||[]}goToPage(n){this.router.navigate([n])}ngOnDestroy(){this.fetchTownsSubscription?.unsubscribe()}static \u0275fac=function(e){return new(e||o)(k(je),k(Re),k(Z),k(Be),k(X),k(de),k(ze),k(ne),k(He))};static \u0275cmp=ee({type:o,selectors:[["app-town-experiences"]],decls:30,vars:11,consts:[[1,"container-xxl","py-4","py-md-5"],[1,"hero","mb-4","mb-md-5"],["src","../../../assets/images/banners/kb-multicolor-small.png","alt","Categories"],[1,"hero-overlay"],[1,"mb-5","px-3","px-md-5","px-lg-5"],[1,"row","g-4"],[1,"col-12","col-md-6","col-lg-6"],[1,"mini-card"],[1,"eyebrow","mb-3"],["variant","on",1,"w-full"],["optionLabel","name","filterBy","name","inputId","on_label",1,"w-full",3,"ngModelChange","onChange","options","ngModel","ngModelOptions","dataKey","checkmark","filter","showClear","placeholder"],["for","on_label"],[1,"col-12","col-md-6","col-lg-3"],[1,"mini-card-title",3,"click"],["name","arrow_outward"],[1,"mb-2","px-3","px-md-5","px-lg-5"],[1,"kb-loader",2,"margin","10rem auto"],[1,"no-cat-data"],[1,"row","section-row"],[1,"col-12","col-lg-6","list-title"],[1,"see-all",3,"routerLink"],[1,"bi","bi-arrow-right-short"],[1,"col-12","col-md-6","col-lg-3","desc"],[1,"read-link",3,"routerLink"],[1,"bi","bi-arrow-right"],[1,"thumb",3,"src","alt"]],template:function(e,i){e&1&&(a(0,"main",0)(1,"section",1)(2,"img",2),Q("poster-fade-out"),W("poster-fade-in"),r(),a(3,"div",3)(4,"div")(5,"h1"),s(6),r()()()(),a(7,"section",4)(8,"div",5)(9,"div",6)(10,"article",7)(11,"span",8),s(12,"Change Town"),r(),a(13,"p-floatlabel",9)(14,"p-select",10),A("ngModelChange",function(c){return D(i.selectedTown,c)||(i.selectedTown=c),c}),g("onChange",function(c){return i.updateTownExperiences(c.value==null?null:c.value.slug)}),r(),a(15,"label",11),s(16,"Town"),r()()()(),a(17,"div",12)(18,"article",7)(19,"h3",13),g("click",function(){return i.goToPage("experiences/category/ziplininig")}),s(20,"Experiences By Category "),h(21,"kb-icon",14),r()()(),a(22,"div",12)(23,"article",7)(24,"h3",13),g("click",function(){return i.goToPage("experiences")}),s(25,"All Experiences "),h(26,"kb-icon",14),r()()()()(),a(27,"section",15),y(28,Fi,1,0,"div",16)(29,Ri,3,1),r()()),e&2&&(l(6),v(i.selectedTown==null?null:i.selectedTown.name),l(8),d("options",i.towns),B("ngModel",i.selectedTown),d("ngModelOptions",F(10,Ai))("dataKey","slug")("checkmark",!0)("filter",!0)("showClear",!0)("placeholder",(i.selectedTown==null?null:i.selectedTown.name)??"Select Town"),l(14),b(i.isLoading?28:29))},dependencies:[te,ie,Ne,ae,Ke,Ye,se,me,_e,pe,oe,ue,ge,xe,he,re,fe,Ce,ye,Ze,be,ve,ke,le,Me,Ee,Se,Pe,ct,Oe,Te,ce,Ve,Ie,we],styles:["[_ngcontent-%COMP%]:root{--sand: #efe7df;--ink: #1c1b1a;--muted: #6c6c6c;--chip: #0da4bd;--chip-2: #eea928;--chip-3: #58a368}body[_ngcontent-%COMP%]{background:var(--sand);color:var(--ink);line-height:1.6}.hero[_ngcontent-%COMP%]{display:flex;position:relative;max-height:35vh;border-radius:.5rem;overflow:hidden;background:#000;justify-content:center;align-items:center}.hero[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;opacity:.7;filter:contrast(105%) saturate(105%)}.hero-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;display:grid;place-items:end start;padding:clamp(1rem,4vw,3rem);color:#fff;background:linear-gradient(180deg,#0000 30%,#00000073,#000000b3)}.hero[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{font-size:4rem;font-weight:800;line-height:1.15;margin:.25rem 0;text-wrap:balance}.eyebrow[_ngcontent-%COMP%]{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .5rem;border-radius:.25rem;background:#d1d1d1;color:#222}.eyebrow--inv[_ngcontent-%COMP%]{background:var(--chip-2)}.eyebrow--geo[_ngcontent-%COMP%]{background:var(--chip-3);color:#0e2b12}.mini-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;gap:.4rem;padding:1rem 0;border-top:1px solid rgba(0,0,0,.08)}@media only screen and (max-width:600px){.mini-card[_ngcontent-%COMP%]   .all-cards-wrapper[_ngcontent-%COMP%]{padding:.5rem 0}}.mini-card[_ngcontent-%COMP%]   .mini-card-title[_ngcontent-%COMP%]{font-weight:300;margin:.35rem .3rem .25rem 0;font-size:2.5rem;cursor:pointer}.mini-card[_ngcontent-%COMP%]   .mini-card-title[_ngcontent-%COMP%]:hover{color:var(--color-exp-text)}.section-row[_ngcontent-%COMP%]{align-items:center;row-gap:1.25rem;padding:2rem 0}.list-title[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{font-size:clamp(1.8rem,3vw,3rem);font-weight:800;margin:0 0 .5rem;line-height:1.1}
1.see-all[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-exp-text);text-decoration:none;transition:color .2s ease}.see-all[_ngcontent-%COMP%]:hover{color:#000}.desc[_ngcontent-%COMP%]   h5[_ngcontent-%COMP%]{font-weight:800;margin-bottom:.35rem}.desc[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:var(--muted);margin-bottom:.75rem}.read-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-weight:700;text-decoration:none;border-bottom:2px solid transparent}.read-link[_ngcontent-%COMP%]:hover{border-color:currentColor}.thumb[_ngcontent-%COMP%]{aspect-ratio:16/9;width:100%;object-fit:cover;border-radius:.5rem;box-shadow:0 10px 24px #0000000f}hr[_ngcontent-%COMP%]{opacity:.2;margin:0}.no-cat-data[_ngcontent-%COMP%]{text-align:center;color:var(--bs-danger);font-size:1.5rem;font-weight:300}  p-floatlabel p-select{width:100%!important;background-color:var(--white-color)!important;color:var(--font-color)!important}  p-floatlabel .p-floatlabel-on:has(.p-inputwrapper-filled) label{background:var(--white-color)!important;color:var(--color-exp-text)!important}  .p-select-option-check-icon{color:var(--font-color)}  .p-select-overlay{background:var(--white-color)!important;color:var(--font-color)!important}  .p-inputtext{color:var(--font-color)!important;background:var(--white-color)!important}  .p-select-option{color:var(--font-color)!important}  .p-select-option .p-select-option-check-icon{color:var(--font-color)!important}  .p-select-option.p-select-option-selected{background:var(--color-exp)!important;color:var(--white-color)!important}  .p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus{background:var(--p-select-option-focus-background);color:var(--white-color)!important}  .p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus .p-select-option-check-icon{color:var(--white-color)!important}  .p-floatlabel-on:has(.p-inputwrapper-filled) label{background:var(--white-color)!important;color:var(--font-color)!important}"]})};function rt(o){return`${o.getFullYear()}-${String(o.getMonth()+1).padStart(2,"0")}-${String(o.getDate()).padStart(2,"0")}`}function Wn(o,n){return o.block_type==="indefinite"||o.block_type==="date_range"&&n>=o.start_date&&n<=o.end_date||o.block_type==="time_slots"&&o.dates.includes(n)}function Kn(o,n,e){return o.some(i=>Wn(i,n)&&(e||i.block_type!=="time_slots"))}function Yn(o,n,e,i){let t=C=>{let[M,x,O=0]=C.split(":").map(Number);return M*3600+x*60+O},c=t(e),m=c+Math.max(0,i)*60;return o.some(C=>Wn(C,n)&&(C.block_type!=="time_slots"||c<t(C.end_time)&&(m>t(C.start_time)||c>=t(C.start_time))))}var ji=()=>({width:"50rem"}),Ni=()=>({"1199px":"75vw","575px":"90vw"}),tn=o=>({"err-border":o}),H=()=>({standalone:!0}),$i=o=>({"pb-3 xp-item":o}),qi=o=>({noClick:o});function Hi(o,n){o&1&&h(0,"div",2)}function Ui(o,n){o&1&&(a(0,"h4",13),s(1,"Sorry, there seems to be an issue with this venue."),r())}function Wi(o,n){o&1&&(a(0,"p",34),s(1,"Checking availability\u2026"),r())}function Ki(o,n){if(o&1){let e=w();a(0,"div",35),s(1),a(2,"button",114),g("click",function(){_(e);let t=p(3);return u(t.refreshSalesBlocks())}),s(3,"Retry availability"),r()()}if(o&2){let e=p(3);l(),P("",e.salesBlocksError," ")}}function Yi(o,n){o&1&&(a(0,"p",117),s(1,"This experience is not available for now. Please try again later or check our other experiences."),r())}function Gi(o,n){if(o&1){let e=w();a(0,"p-datepicker",130),A("ngModelChange",function(t){_(e);let c=p(3).$implicit;return D(c.set_date,t)||(c.set_date=t),u(t)}),g("onSelect",function(t){_(e);let c=p(3).$index,m=p(3);return u(m.experienceDateSelected(c,t))}),r(),a(1,"small",131),s(2),N(3,"date"),r()}if(o&2){let e=p(3).$implicit,i=p(3);B("ngModel",e.set_date),d("ngModelOptions",F(12,H))("minDate",i.calendarStartDate)("maxDate",i.calendarEndDate)("readonlyInput",!0)("iconDisplay","input")("showIcon",!0)("disabledDates",e.unavailable_dates)("disabled",!i.salesBlocksReady||i.salesBlocksLoading),l(2),P(" ",$(3,10,e.set_date)||"YYYY-MM-DD"," ")}}function Zi(o,n){if(o&1){let e=w();a(0,"p-datepicker",132),A("ngModelChange",function(t){_(e);let c=p(3).$implicit;return D(c.multi_set_date,t)||(c.multi_set_date=t),u(t)}),g("onSelect",function(t){_(e);let c=p(3).$index,m=p(3);return u(m.experienceDateSelected(c,t))}),r(),a(1,"small",131),s(2),N(3,"date"),r()}if(o&2){let e=p(3).$implicit,i=p(3);B("ngModel",e.multi_set_date),d("ngModelOptions",F(12,H))("minDate",i.calendarStartDate)("maxDate",i.calendarEndDate)("readonlyInput",!0)("iconDisplay","input")("showIcon",!0)("disabledDates",e.unavailable_dates)("disabled",!i.salesBlocksReady||i.salesBlocksLoading),l(2),P(" ",e.multi_set_date.length>0?"On / From "+$(3,10,e.multi_set_date[0]):"YYYY-MM-DD"," ")}}function Xi(o,n){o&1&&(a(0,"span"),s(1,", "),r())}function Qi(o,n){if(o&1&&(a(0,"span"),s(1),j(2,Xi,2,0,"span",135),r()),o&2){let e=n.$implicit,i=n.last;l(),P(" ",e==null?null:e.val),l(),d("ngIf",!i)}}function Ji(o,n){if(o&1&&j(0,Qi,3,2,"span",124),o&2){let e=p(4).$implicit;d("ngForOf",e.set_time)}}
1function eo(o,n){o&1&&(a(0,"span"),s(1),r()),o&2&&(l(),v("-"))}function to(o,n){o&1&&(a(0,"small",134),s(1,"No available time slots for this date. Please choose another date."),r())}function no(o,n){if(o&1){let e=w();a(0,"p-multiselect",133),A("ngModelChange",function(t){_(e);let c=p(3).$implicit;return D(c.set_time,t)||(c.set_time=t),u(t)}),g("onChange",function(t){_(e);let c=p(3).$index,m=p(3);return u(m.checkSelectedSlots(c,t))}),r(),a(1,"small",131),y(2,Ji,1,1,"span")(3,eo,2,1,"span"),r(),y(4,to,2,0,"small",134)}if(o&2){let e=p(3).$implicit,i=p(3);d("options",e.available_time_slots),B("ngModel",e.set_time),d("disabled",!i.salesBlocksReady||i.salesBlocksLoading||e.available_time_slots.length==0)("selectionLimit",e.disable_multitime_selection?1:null),l(2),b(e.set_time&&e.set_time.length>0?2:3),l(2),b(e.set_date&&!(e.available_time_slots!=null&&e.available_time_slots.length)&&i.salesBlocksReady?4:-1)}}function io(o,n){if(o&1&&(a(0,"div",30)(1,"div",42)(2,"div",129),y(3,Gi,4,13)(4,Zi,4,13),r()(),a(5,"div",42)(6,"div",129),y(7,no,5,6),r()()()),o&2){let e=p(2).$implicit;l(3),b(e.disable_time_selection?4:3),l(4),b(e.disable_time_selection?-1:7)}}function oo(o,n){if(o&1){let e=w();Xt(0),a(1,"div",136)(2,"div",137)(3,"div",138)(4,"label",139),s(5,"TICKET NAME"),r(),h(6,"input",140)(7,"small",141),r()(),a(8,"div",142)(9,"div",138)(10,"label",139),s(11,"PRICE"),r(),h(12,"input",140),N(13,"number"),h(14,"small",141),r()(),a(15,"div",143)(16,"div",138)(17,"label",139),s(18),r(),h(19,"input",140),N(20,"number"),a(21,"small",141),s(22),r()()(),a(23,"div",143)(24,"div",138)(25,"label",139),s(26,"QTY"),r(),a(27,"input",144),A("ngModelChange",function(t){let c=_(e).$implicit;return D(c.selected_qty,t)||(c.selected_qty=t),u(t)}),g("keyup",function(){let t=_(e).$implicit,c=p(5);return u(c.calculateTicketCost(t.ticket_type_id))})("change",function(){let t=_(e).$implicit,c=p(5);return u(c.calculateTicketCost(t.ticket_type_id))}),r(),a(28,"small",141),s(29,"Ticket Quantity"),r()()(),a(30,"div",143)(31,"div",138)(32,"label",139),s(33,"COST"),r(),h(34,"input",145),N(35,"number"),a(36,"small",141),s(37,"Sub Total"),r()()()(),Qt()}if(o&2){let e=n.$implicit,i=n.index,t=n.last,c=p(2),m=c.$implicit,C=c.$index,M=p(3);l(),d("ngClass",R(72,$i,!t)),l(3),d("for",q("ticket_name_",C,"_",i)),l(2),d("id",q("ticket_name_",C,"_",i))("value",e.name)("disabled",!0),U("aria-describedby","ticket_name_{{$index}}_{{i}}-help"),l(),d("id",q("ticket_name_",C,"_",i,"-help")),l(3),d("for",q("ticket_price_",C,"_",i)),l(2),d("id",q("ticket_price_",C,"_",i))("value","KSh. "+$(13,66,e.price))("disabled",!0),U("aria-describedby","ticket_price_{{$index}}_{{i}}-help"),l(2),d("id",q("ticket_price_",C,"_",i,"-help")),l(3),d("for",q("slots_qty_",C,"_",i)),l(),v(m.disable_time_selection==!0?"DAYS":"TIME SLOTS"),l(),d("id",q("slots_qty_",C,"_",i))("value","X "+(m.disable_time_selection==!0?m.multi_set_date.length:m.set_time?m.set_time.length:$(20,68,0)))("disabled",!0),U("aria-describedby","slots_qty_{{$index}}_{{i}}-help"),l(2),d("id",q("slots_qty_",C,"_",i,"-help")),l(),P("# of ",m.disable_time_selection==!0?"dates":"time slots"),l(3),d("for",q("cost_",C,"_",i)),l(2),d("id",q("tix_qty_",C,"_",i))("min",e.min_per_customer||0)("max",e.max_per_customer),B("ngModel",e.selected_qty),d("ngModelOptions",F(74,H))("disabled",!M.salesBlocksReady||M.salesBlocksLoading||M.isIndefinitelyBlocked(m.experience_id)),U("aria-describedby","tix_qty_{{$index}}_{{i}}-help"),l(),d("id",q("tix_qty_",C,"_",i,"-help")),l(4),d("for",q("cost_",C,"_",i)),l(2),d("id",q("cost_",C,"_",i))("value","KSh. "+$(35,70,e.cost))("disabled",!0),U("aria-describedby","cost_{{$index}}_{{i}}-help"),l(2),d("id",q("cost_",C,"_",i,"-help"))}}function ro(o,n){if(o&1&&(a(0,"p-fieldset",115)(1,"div",116),y(2,Yi,2,0,"p",117)(3,io,8,2,"div",30),a(4,"div",118)(5,"div",119)(6,"form",120)(7,"div",121),h(8,"kb-icon",122),a(9,"h3"),s(10),r()(),a(11,"div",123),j(12,oo,38,75,"ng-container",124),r(),a(13,"div",125)(14,"div",126),s(15,"Total"),r(),a(16,"div",127),s(17," KSh. "),a(18,"span"),s(19),N(20,"number"),r()()()()()()()(),h(21,"div",128)),o&2){let e=p().$implicit,i=p(3);d("legend",gn(e.name))("toggleable",!0),l(2),b(i.isIndefinitelyBlocked(e.experience_id)?2:3),l(8),P("",e.name," Tickets"),l(2),d("ngForOf",e.ticket_types),l(7),v($(20,7,e.ticket_types_total_cost))}}function ao(o,n){if(o&1&&y(0,ro,22,9),o&2){let e=n.$implicit;b(e.is_selected?0:-1)}}function so(o,n){if(o&1){let e=w();a(0,"button",146),g("click",function(){_(e);let t=p(3);
1return u(t.step2())}),a(1,"span",147),s(2," Proceed "),h(3,"kb-icon",148),r()()}}function lo(o,n){o&1&&(a(0,"button",39)(1,"span",147),s(2," Proceed "),h(3,"kb-icon",148),r()())}function co(o,n){if(o&1){let e=w();a(0,"div",152)(1,"div",153)(2,"p",154),s(3),r(),a(4,"div",155)(5,"img",156),g("error",function(){let t=_(e).$implicit,c=p(6);return u(t.icon=c.handleMissingImage())}),r()(),h(6,"br"),a(7,"div",157)(8,"b",158),s(9),N(10,"number"),r()(),h(11,"br"),a(12,"div",159)(13,"div",88)(14,"div",160)(15,"kb-icon",161),g("click",function(){let t=_(e).$implicit,c=p(6);return u(c.selectAddon("remove",t.id))}),r()(),a(16,"div",160)(17,"p",162),s(18),N(19,"number"),r()(),a(20,"div",160)(21,"kb-icon",163),g("click",function(){let t=_(e).$implicit,c=p(6);return u(c.selectAddon("add",t.id))}),r()()(),a(22,"div",30)(23,"div",164),s(24),N(25,"number"),r()()()()()}if(o&2){let e=n.$implicit;l(3),v(e.name),l(2),d("src",e.icon,L)("alt",e.name),l(4),P("KSh. ",$(10,6,e.price)),l(9),v($(19,8,e.selected_qty)),l(6),P(" KSh. ",$(25,10,e.cost)," ")}}function po(o,n){if(o&1&&(a(0,"div",149)(1,"h3",150),s(2),r(),a(3,"div",31)(4,"div",151),V(5,co,26,12,"div",152,Ue),r()()()),o&2){let e=p().$implicit;
1l(2),P("",e.name," Extras"),l(3),I(e.addon_extras)}}function mo(o,n){if(o&1&&y(0,po,7,1,"div",149),o&2){let e=n.$implicit;b(e.has_addons&&e.ticket_types_total_cost>0?0:-1)}}function _o(o,n){if(o&1&&(a(0,"div",32)(1,"h1",33),s(2,"Select your extras"),r(),V(3,mo,1,1,null,null,G),r()),o&2){let e=p(3);l(3),I(e.experienceVenue.experiences)}}function uo(o,n){o&1&&(a(0,"h3",44),s(1,"No Addons / Extras Available"),r())}function go(o,n){if(o&1&&(a(0,"span",170),s(1),r(),h(2,"br")),o&2){let e=p(2).$implicit,i=p(3);l(),v(e.multi_set_date.length==1?i.parseDate(e.formatted_multi_set_date[0]):e.multi_set_date.length+" days from "+i.parseDate(e.formatted_multi_set_date[0]))}}function xo(o,n){o&1&&(a(0,"span"),s(1,", "),r())}function ho(o,n){if(o&1&&(a(0,"i"),s(1),j(2,xo,2,0,"span",135),r()),o&2){let e=n.$implicit,i=n.last;l(),v(e.val),l(),d("ngIf",!i)}}function fo(o,n){if(o&1&&(a(0,"span",170),s(1),j(2,ho,3,2,"i",124),r(),h(3,"br")),o&2){let e=p(2).$implicit,i=p(3);l(),v(i.parseDate(e.set_date)+": "),l(),d("ngForOf",e.set_time)}}function Co(o,n){if(o&1&&(a(0,"div",30)(1,"div",171)(2,"span",172),s(3),r()(),a(4,"div",173)(5,"span",172)(6,"b"),s(7),r()()(),a(8,"div",67)(9,"span",172)(10,"i",174),s(11),N(12,"number"),r()()()()),o&2){let e=p().$implicit;l(3),v(e.name),l(4),P("[x",e.selected_qty,"]"),l(4),P("Ksh. ",$(12,3,e.cost))}}function yo(o,n){if(o&1&&y(0,Co,13,5,"div",30),o&2){let e=n.$implicit;b(e.selected_qty!=null&&e.selected_qty>0?0:-1)}}function bo(o,n){if(o&1&&(a(0,"div",30)(1,"div",171)(2,"span",172),s(3),r()(),a(4,"div",173)(5,"span",172)(6,"b"),s(7),r()()(),a(8,"div",67)(9,"span",172)(10,"i",174),s(11),N(12,"number"),r()()()()),o&2){let e=p().$implicit;l(3),v(e.name),l(4),P("[x",e.selected_qty,"]"),l(4),P("Ksh. ",$(12,3,e.cost))}}function vo(o,n){if(o&1&&y(0,bo,13,5,"div",30),o&2){let e=n.$implicit;b(e.selected_qty!=null&&e.selected_qty>0?0:-1)}}function ko(o,n){if(o&1&&(a(0,"div",166)(1,"h3"),s(2),r()(),V(3,vo,1,1,null,null,Ue),a(5,"div",63)(6,"div",167)(7,"div",30)(8,"div",65)(9,"span",168)(10,"i"),s(11,"Extras Sub Total"),r()()(),a(12,"div",67)(13,"div",169)(14,"i"),s(15),N(16,"number"),r()()()()()()),o&2){let e=p(2).$implicit;l(2),P("",e.name," Extras"),l(),I(e.addon_extras),l(12),P("KSh. ",$(16,2,e.addons_total_cost))}}function wo(o,n){if(o&1&&(a(0,"div",165)(1,"div",166)(2,"h3"),y(3,go,3,1)(4,fo,4,2),s(5),r()(),V(6,yo,1,1,null,null,Ue),a(8,"div",63)(9,"div",167)(10,"div",30)(11,"div",65)(12,"span",168)(13,"i"),s(14,"Ticket Sub Total"),r()()(),a(15,"div",67)(16,"div",169)(17,"i"),s(18),N(19,"number"),r()()()()()(),y(20,ko,17,4),r()),o&2){let e=p().$implicit;l(3),b(e.disable_time_selection==!0?3:4),l(2),P(" ",e.name," Tickets "),l(),I(e.ticket_types),l(12),P("KSh. ",$(19,4,e.ticket_types_total_cost)),l(2),b(e.addon_extras.length>0&&e.has_selected_extras?20:-1)}}function Mo(o,n){if(o&1&&y(0,wo,21,6,"div",165),o&2){let e=n.$implicit;b(e.is_selected&&e.ticket_types_total_cost>0?0:-1)}}function Eo(o,n){if(o&1&&(a(0,"p",73),s(1),r()),o&2){let e=p(3);l(),P(" ",e.errors.name.message," ")}}function So(o,n){if(o&1&&(a(0,"p",76),s(1),r()),o&2){let e=p(3);l(),P(" ",e.errors.email.message," ")}}function Po(o,n){if(o&1&&(a(0,"p",76),s(1),r()),o&2){let e=p(3);l(),P(" ",e.errors.phone.message," ")}}function Oo(o,n){if(o&1){let e=w();a(0,"p",81)(1,"span",175)(2,"input",176),A("ngModelChange",function(t){_(e);let c=p(3);return D(c.payload.customer.marketing_opt_in,t)||(c.payload.customer.marketing_opt_in=t),u(t)}),r()(),s(3),r()}if(o&2){let e=p(3);l(2),B("ngModel",e.payload.customer.marketing_opt_in),d("ngModelOptions",F(3,H)),l(),P(" \xA0Would you like to receive marketing emails from ",e.experienceVenue.venue.venue_name,"? ")}}function To(o,n){if(o&1){let e=w();a(0,"p",177),g("click",function(){_(e);let t=p(3);return u(t.openIndemnityDialog())}),a(1,"span",178)(2,"span",179)(3,"strong"),s(4,"\xBB"),r(),s(5," PLEASE VIEW & CONSENT TO THE INDEMNITY AGREEMENT HERE. "),h(6,"kb-icon",180),r()()()}if(o&2){let e=p(3);l(6),We(e.consentees.length>0?"indemnity-signed":"indemnity-not-signed"),d("name",e.consentees.length>0?"verified":"cancel")}}function Vo(o,n){if(o&1){let e=w();a(0,"div",181)(1,"button",182),g("click",function(){_(e);let t=p(3);return u(t.onCheckout("mpesa"))}),s(2," Pay By"),h(3,"br"),s(4,"M-Pesa "),r()(),a(5,"div",181)(6,"button",183),g("click",function(){_(e);let t=p(3);return u(t.onCheckout("card"))}),s(7," Pay By"),h(8,"br"),s(9,"Card "),r()()}}function Io(o,n){o&1&&(a(0,"div",31),h(1,"div",184),r())}function Bo(o,n){if(o&1){let e=w();a(0,"div",89)(1,"div",31)(2,"button",183),g("click",function(){_(e);let t=p(3);return u(t.onCheckout("business_booking"))}),s(3," Book As Paid "),r()()()}}function Do(o,n){if(o&1&&(a(0,"iframe",90),s(1," Your browser doesn't support iframes "),r()),o&2){let e=p(3);d("src",e.dpoURL,pn)}}function Ao(o,n){if(o&1){let e=w();a(0,"ul",93)(1,"li",185)(2,"button",186),g("click",function(){_(e);let t=p(3);return u(t.viewMpesaExpress=!0)}),s(3," M-PESA EXPRESS "),r()(),a(4,"li",185)(5,"button",187),g("click",function(){_(e);let t=p(3);return u(t.viewMpesaExpress=!1)}),s(6," PAY MANUALLY "),r()()()}if(o&2){let e=p(3);l(2),We(z("nav-link ",e.viewMpesaExpress?"active":"")),U("aria-selected",e.viewMpesaExpress?"true":"false"),l(3),We(z("nav-link ",e.viewMpesaExpress?"":"active")),U("aria-selected",e.viewMpesaExpress?"false":"true")}}function Fo(o,n){if(o&1){let e=w();a(0,"p"),s(1," This is the mobile number we have from you. If it is not the one you intend to use to pay, please change before completing the payment. "),a(2,"b"),s(3,"Unlock your phone and expect a payment prompt."),r()(),a(4,"div",190)(5,"p-inputgroup")(6,"p-inputgroup-addon"),s(7,"M-Pesa Phone"),r(),a(8,"input",191),A("ngModelChange",function(t){_(e);let c=p(4);return D(c.payload.customer.phone,t)||(c.payload.customer.phone=t),u(t)}),g("keyup",function(){_(e);let t=p(4);return u(t.modifyToKenyan())}),r()()()}if(o&2){let e=p(4);l(8),B("ngModel",e.payload.customer.phone),d("ngModelOptions",F(2,H))}}function Lo(o,n){if(o&1){let e=w();s(0," If you do not receive an M-Pesa toolkit popup, try paying manually using the top "),a(1,"b"),s(2,"Pay Manually"),r(),s(3," button. "),h(4,"br")(5,"br"),s(6," This transaction will time out in "),a(7,"b"),s(8),r(),s(9,". "),a(10,"button",192),g("click",function(){_(e);let t=p(4);return u(t.confirmMpesaRef())}),s(11," Auto Confirm Payment "),r(),a(12,"div",193),h(13,"div",194),a(14,"div",195),s(15,"OR"),r(),h(16,"div",194),r(),a(17,"div",196)(18,"input",197),A("ngModelChange",function(t){_(e);let c=p(4);return D(c.transactionCode,t)||(c.transactionCode=t),u(t)}),g("keyup",function(){_(e);let t=p(4);return u(t.upperCase())}),r(),a(19,"div",198)(20,"button",199),g("click",function(){_(e);let t=p(4);return u(t.confirmMpesaTransactionCode(t.transactionCode))}),s(21," Confirm "),r()()()}if(o&2){let e=p(4);l(8),P("",e.timeoutMinutes+":"+e.timeoutSeconds," minutes"),l(10),B("ngModel",e.transactionCode),d("ngModelOptions",F(3,H))}}function zo(o,n){if(o&1){let e=w();a(0,"h1"),s(1,"M-PESA"),r(),a(2,"p"),s(3," You have chosen to complete your payment using M-Pesa. "),r(),h(4,"hr"),y(5,Fo,9,3)(6,Lo,22,4),a(7,"div",97)(8,"a",188),g("click",function(){_(e);let t=p(3);return u(t.pay("kb_mpesa"))}),a(9,"p",189),s(10),r()(),a(11,"button",98),g("click",function(){_(e);let t=p(3);return u(t.closePayOptionsModal())}),s(12," Cancel "),r()()}if(o&2){let e=p(3);
1l(5),b(e.transactionUnderway?6:5),l(3),d("ngClass",R(3,qi,e.transactionUnderway==!0)),l(2),P(" ",e.transactionUnderway?"Wait":"Pay Now"," ")}}function Ro(o,n){if(o&1){let e=w();a(0,"p"),s(1,"On your phone, access the Safaricom SIM Toolkit and select:"),r(),a(2,"ul")(3,"li"),s(4,"1.\xA0M-PESA"),r(),a(5,"li"),s(6,"2.\xA0Lipa na M-PESA"),r(),a(7,"li"),s(8,"3.\xA0Pay Bill"),r(),a(9,"li"),s(10,"4.\xA0Enter Business Number"),r(),a(11,"li"),s(12,"5.\xA0Enter "),a(13,"i")(14,"b"),s(15,"551200"),r()(),s(16," as the business number"),r(),a(17,"li"),s(18,"6.\xA0Select Account No."),r(),a(19,"li"),s(20,"7.\xA0Enter "),a(21,"i")(22,"b"),s(23),r()(),s(24," as the account no."),r(),a(25,"li"),s(26,"8.\xA0Enter the amount "),a(27,"i")(28,"b"),s(29),N(30,"number"),r()()(),a(31,"li"),s(32,"9.\xA0Enter your M-PESA pin"),r(),a(33,"li"),s(34,"10.\xA0Follow the confirmation prompts to complete the payment then confirm the payment below"),r()(),a(35,"button",192),g("click",function(){_(e);let t=p(3);return u(t.confirmMpesaRef())}),s(36," Auto Confirm Payment "),r(),a(37,"div",193),h(38,"div",194),a(39,"div",195),s(40,"OR"),r(),h(41,"div",194),r(),a(42,"div",196)(43,"input",197),A("ngModelChange",function(t){_(e);let c=p(3);return D(c.transactionCode,t)||(c.transactionCode=t),u(t)}),g("keyup",function(){_(e);let t=p(3);return u(t.upperCase())}),r(),a(44,"div",198)(45,"button",200),g("click",function(){_(e);let t=p(3);return u(t.confirmMpesaTransactionCode(t.transactionCode))}),s(46," Confirm "),r()()(),a(47,"button",98),g("click",function(){_(e);let t=p(3);return u(t.closePayOptionsModal())}),s(48," Cancel "),r()}if(o&2){let e=p(3);l(23),v(e.transactionToken),l(6),v($(30,5,e.computedCost)),l(14),B("ngModel",e.transactionCode),d("ngModelOptions",F(7,H)),l(2),d("disabled",e.mpesaCodeIsVerifiying)}}function jo(o,n){if(o&1){let e=w();a(0,"section",14)(1,"div",15)(2,"span",16),g("click",function(){_(e);let t=p(2);return u(t.goBack())}),h(3,"kb-icon",17),r(),h(4,"img",18),r(),a(5,"div",19)(6,"h2",20),s(7),r(),a(8,"p",21),s(9),r(),a(10,"div",22)(11,"a",23),s(12),r()(),a(13,"div",24)(14,"h3",25),s(15," KenyaBuzz Customer care: "),a(16,"a",26),s(17,"0103132337"),r(),s(18," OR "),a(19,"a",27),s(20,"0791478090"),r()()()()(),a(21,"div",28)(22,"div",29)(23,"div",30)(24,"div",31)(25,"div",32)(26,"h1",33),s(27,"Select your tickets"),r(),y(28,Wi,2,0,"p",34),y(29,Ki,4,1,"div",35),V(30,ao,1,1,null,null,G),a(32,"div",36)(33,"div",31)(34,"p",37),s(35),N(36,"number"),r()(),y(37,so,4,0,"button",38)(38,lo,4,0,"button",39),r()()()()(),a(39,"div",40)(40,"div",41)(41,"div",42)(42,"div",43),y(43,_o,5,0,"div",32)(44,uo,2,0,"h3",44),r()(),a(45,"div",42)(46,"div",43)(47,"div",32)(48,"div",45)(49,"div",46)(50,"div",47)(51,"div",48)(52,"h3",49),s(53,"Summary"),r()(),a(54,"div",50)(55,"div",51)(56,"div",52)(57,"h2",53),s(58),r()(),a(59,"div",54)(60,"a",55),g("click",function(){_(e);let t=p(2);return u(t.step2())}),h(61,"kb-icon",56),s(62," Back To Select Tickets "),r()()()()(),a(63,"div",57)(64,"div",58)(65,"div",59)(66,"div",60)(67,"div",61)(68,"div",62),V(69,Mo,1,1,null,null,G),r(),a(71,"div",62)(72,"div",63)(73,"div",64)(74,"div",30)(75,"div",65)(76,"b",66),s(77,"GRAND TOTAL:"),r()(),a(78,"div",67)(79,"b",68),s(80),N(81,"number"),r()()()()()(),a(82,"div",69)(83,"div",30)(84,"div",31)(85,"p-floatlabel",70)(86,"input",71),A("ngModelChange",function(t){_(e);let c=p(2);return D(c.payload.customer.user_name,t)||(c.payload.customer.user_name=t),u(t)}),g("keyup",function(){_(e);let t=p(2);return u(t.validateInputs())}),r(),a(87,"label",72),s(88,"Your Name"),r()(),y(89,Eo,2,1,"p",73),r(),a(90,"div",31)(91,"p-floatlabel",70)(92,"input",74),A("ngModelChange",function(t){_(e);let c=p(2);return D(c.payload.customer.email,t)||(c.payload.customer.email=t),u(t)}),g("keyup",function(){_(e);let t=p(2);return u(t.validateInputs())}),r(),a(93,"label",75),s(94,"Your Email"),r()(),y(95,So,2,1,"p",76),r(),a(96,"div",31)(97,"p-floatlabel",70)(98,"input",77),g("keyup",function(){_(e);let t=p(2);return t.validateInputs(),u(t.modifyToKenyan())}),A("ngModelChange",function(t){_(e);let c=p(2);return D(c.payload.customer.phone,t)||(c.payload.customer.phone=t),u(t)}),r(),a(99,"label",78),s(100,"Phone Number"),r()(),y(101,Po,2,1,"p",76),r()()(),a(102,"div",62)(103,"p",79)(104,"strong"),s(105,"\xBB"),r(),s(106," By proceeding with this ticket purchase, you agree to the KenyaBuzz "),a(107,"a",80),s(108,"Terms & Conditions"),r(),s(109,". "),r(),a(110,"p",79)(111,"strong"),s(112,"\xBB"),r(),s(113," Tickets purchased are non-refundable. Please contact KenyaBuzz for changes to your ticket. "),r(),y(114,Oo,4,4,"p",81),y(115,To,7,3,"p",82),r()()()()()(),a(116,"div",83)(117,"div",84)(118,"div",85)(119,"div",30)(120,"div",31)(121,"div",86)(122,"div",87)(123,"div",88),y(124,Vo,10,0)(125,Io,2,0,"div",31),r(),y(126,Bo,4,0,"div",89),r()()()()()()(),y(127,Do,2,1,"iframe",90),a(128,"div",91)(129,"div",92),y(130,Ao,7,8,"ul",93),a(131,"div",94),y(132,zo,13,5)(133,Ro,49,8),r()()(),a(134,"div",95)(135,"div",92)(136,"h1"),s(137,"CONFIRMING PAYMENT"),r(),a(138,"div"),h(139,"img",96),r(),h(140,"hr"),a(141,"p"),s(142," ATTENTION: DO NOT CLOSE THIS PAGE UNTIL THE TRANSACTION IS VERIFIED "),r(),a(143,"div",97)(144,"button",98),g("click",function(){_(e);let t=p(2);return u(t.endDPOverification())}
1),s(145," CANCEL ANYWAY "),r()(),a(146,"a",99),g("click",function(){_(e);let t=p(2);return u(t.manualVerification())}),s(147," Or verify here manually if already paid "),r()()(),a(148,"div",100)(149,"div",92)(150,"h1"),s(151,"Success!"),r(),a(152,"p"),s(153," Your payment has been receieved successfully. Click on ticket below to view/download your ticket. "),r(),h(154,"hr"),a(155,"div",97)(156,"button",101),g("click",function(){_(e);let t=p(2);return u(t.openTicket())}),s(157," Ticket "),r(),a(158,"button",98),g("click",function(){_(e);let t=p(2);return u(t.closeSuccessModal())}),s(159," Close "),r()(),a(160,"a",102),s(161,"Your ticket will also be sent to the email you provided."),r()()(),a(162,"div",103)(163,"div",92)(164,"h1"),s(165,"Success!"),r(),a(166,"p"),s(167," The order has been successfully placed. You will be redirected to the ticket shortly. "),r(),h(168,"hr"),a(169,"div",97)(170,"button",101),g("click",function(){_(e);let t=p(2);return u(t.openTicket())}),s(171," Ticket "),r(),a(172,"button",98),g("click",function(){_(e);let t=p(2);return u(t.closeSuccessModal())}),s(173," Close "),r()(),a(174,"a",102),s(175,"Your ticket will also be sent to the email you provided."),r()()(),a(176,"div",104)(177,"div",105)(178,"div",106)(179,"div",107)(180,"div",108),h(181,"kb-icon",109),r(),a(182,"h4",110),s(183,"TIME OUT"),r()(),a(184,"div",111)(185,"p"),s(186,"Your payement was not made within the 10 minute limit and the transaction has timed out. Please select your tickets again."),r()(),a(187,"div",112)(188,"button",113),g("click",function(){_(e);let t=p(2);return u(t.timeoutAction())}),s(189,"Okay"),r()()()()()()()()()()()()()}if(o&2){let e=p(2);l(4),d("src",e.experienceVenue.venue.poster,L),l(3),v(e.experienceVenue.venue.venue_name),l(2),v(e.experienceVenue.venue.address),l(2),d("href","tel:"+e.experienceVenue.venue.phone,L),l(),v(e.experienceVenue.venue.phone),l(16),b(e.salesBlocksLoading?28:-1),l(),b(e.salesBlocksError?29:-1),l(),I(e.experienceVenue.experiences),l(5),P("SUB TOTAL: ",$(36,34,e.payload.total_cost)),l(2),b(e.ticketTypesSelected?37:38),l(6),b(e.addonExtrasExist?43:44),l(15),v(e.experienceVenue.venue.venue_name),l(11),I(e.experienceVenue.experiences),l(11),P("KSh. ",$(81,36,e.experienceVenue.grand_total)),l(6),d("ngClass",R(38,tn,e.errors.name.status==!0)),B("ngModel",e.payload.customer.user_name),d("ngModelOptions",F(40,H))("value",e.payload.customer.user_name),l(3),b(e.errors.name.status?89:-1),l(3),d("ngClass",R(41,tn,e.errors.email.status==!0)),B("ngModel",e.payload.customer.email),d("ngModelOptions",F(43,H))("value",e.payload.customer.email),l(3),b(e.errors.email.status?95:-1),l(3),d("ngClass",R(44,tn,e.errors.phone.status==!0)),B("ngModel",e.payload.customer.phone),d("ngModelOptions",F(46,H))("value",e.payload.customer.phone),l(3),b(e.errors.phone.status?101:-1),l(13),b(e.experienceVenue.venue.is_marketing_opt_in?114:-1),l(),b(e.indemnityExists?115:-1),l(9),b(e.transactionUnderway==!1?124:125),l(2),b(e.showAdvancedOptions&&e.transactionUnderway==!1?126:-1),l(),b(e.openDPO?127:-1),l(3),b(e.paymentMode.is_mpesa==!0?130:-1),l(2),b(e.viewMpesaExpress?132:133)}}function No(o,n){if(o&1&&(y(0,Ui,2,0,"h4",13),y(1,jo,190,47)),o&2){let e=p();b(e.experienceDataExists?-1:0),l(),b(e.experienceDataExists&&e.experienceVenue?1:-1)}}function $o(o,n){if(o&1){let e=w();a(0,"p-floatlabel",70)(1,"input",219),A("ngModelChange",function(t){_(e);let c=p().$implicit;return D(c.phone,t)||(c.phone=t),u(t)}),g("keyup",function(){_(e);let t=p(4);return u(t.checkConsenteeData())})("change",function(){_(e);let t=p(4);return u(t.checkConsenteeData())}),r(),a(2,"label",218),s(3,"Phone"),r()(),a(4,"p-floatlabel",220)(5,"input",217),A("ngModelChange",function(t){_(e);let c=p().$implicit;return D(c.national_id,t)||(c.national_id=t),u(t)}),g("keyup",function(){_(e);let t=p(4);return u(t.checkConsenteeData())})("change",function(){_(e);let t=p(4);return u(t.checkConsenteeData())}),r(),a(6,"label",218),s(7,"ID Number / Passport"),r()()}if(o&2){let e=p(),i=e.$implicit,t=e.$index;l(),d("id",z("phone_",t))("value",i.phone),B("ngModel",i.phone),d("ngModelOptions",F(14,H)),l(),d("for",z("phone_",t)),l(3),d("id",z("id_number_",t))("value",i.national_id),B("ngModel",i.national_id),d("ngModelOptions",F(15,H)),l(),d("for",z("id_number_",t))}}function qo(o,n){if(o&1){let e=w();a(0,"p-floatlabel",220)(1,"input",221),A("ngModelChange",function(t){_(e);let c=p().$implicit;return D(c.age,t)||(c.age=t),u(t)}),g("keyup",function(){_(e);let t=p().$implicit;return p(3).checkConsenteeData(),u(t.age>17||t.age<1?t.age=null:t.age)})("change",function(){_(e);let t=p().$implicit;return p(3).checkConsenteeData(),u(t.age>17||t.age<1?t.age=null:t.age)}),r(),a(2,"label",218),s(3,"Age"),r()(),a(4,"p-floatlabel",70)(5,"input",217),A("ngModelChange",function(t){_(e);let c=p().$implicit;return D(c.nationality,t)||(c.nationality=t),u(t)}),g("keyup",function(){_(e);let t=p(4);return u(t.checkConsenteeData())})("change",function(){_(e);let t=p(4);return u(t.checkConsenteeData())}),r(),a(6,"label",218),s(7,"Nationality"),r()()}if(o&2){let e=p(),i=e.$implicit,t=e.$index;l(),d("id",z("age_",t))("min",1)("max",17)("step",1)("value",i.age),B("ngModel",i.age),d("ngModelOptions",F(17,H)),l(),d("for",z("age_",t)),l(3),d("id",z("nationality_",t))("value",i.nationality),B("ngModel",i.nationality),d("ngModelOptions",F(18,H)),l(),d("for",z("nationality_",t))}}function Ho(o,n){if(o&1){let e=w();a(0,"div",213)(1,"div",214)(2,"p-checkbox",215),A("ngModelChange",function(t){let c=_(e).$implicit;return D(c.is_adult,t)||(c.is_adult=t),u(t)}),r(),a(3,"label",216),s(4," Is Adult? "),r()(),a(5,"p-floatlabel",70)(6,"input",217),A("ngModelChange",function(t){let c=_(e).$implicit;return D(c.name,t)||(c.name=t),u(t)}),g("keyup",function(){_(e);let t=p(3);return u(t.checkConsenteeData())})("change",function(){_(e);let t=p(3);return u(t.checkConsenteeData())}),r(),a(7,"label",218),s(8,"Name"),r()(),y(9,$o,8,16),y(10,qo,8,19),r()}if(o&2){let e=n.$implicit,i=n.$index;l(2),d("inputId",z("is_child_",i)),B("ngModel",e.is_adult),d("binary",!0),l(),d("for",z("is_child_",i)),l(3),d("id",z("name_",i))("value",e.name),B("ngModel",e.name),d("ngModelOptions",F(15,H)),l(),d("for",z("name_",i)),l(2),b(e.is_adult?9:-1),l(),b(e.is_adult?-1:10)}}function Uo(o,n){if(o&1){let e=w();Xt(0),a(1,"div",201)(2,"div",202),g("click",function(){let t=_(e).index,c=p(2);return u(c.toggleIndemnityVisibility(t))}),a(3,"h5",203)(4,"button",204)(5,"h3",205),h(6,"kb-icon",180),s(7),r()()()(),a(8,"div",206)(9,"div",207)(10,"div",208)(11,"div",209),h(12,"p",210),r(),a(13,"div",211)(14,"div",212),V(15,Ho,11,16,"div",213,G),r()()()()()(),Qt()}if(o&2){let e=n.$implicit,i=n.index;l(2),d("id","heading"+i),l(2),U("data-target","indemnity-"+i)("aria-controls","indemnity-"+i),l(2),d("name",e.visible?"close_fullscreen":"open_in_full"),l(),P(" Indemnity | ",e.experience_name," "),l(),We(z
1("collapse ",e.visible?"show":"")),d("id","indemnity-"+i),U("aria-labelledby","heading"+i),l(4),d("innerHTML",e.indemnity_form,et),l(3),I(e.consentees)}}function Wo(o,n){if(o&1&&j(0,Uo,17,11,"ng-container",124),o&2){let e=p();d("ngForOf",e.indemnities)}}function Ko(o,n){if(o&1){let e=w();a(0,"div",222)(1,"div",223)(2,"span",224),s(3,"Required Selection"),r()(),a(4,"div",225),s(5),r(),a(6,"h3",226),g("click",function(){_(e);let t=p();return u(t.confirmDateTimeSelectionToaster())}),s(7,"OKAY"),r()()}if(o&2){let e=n.$implicit;l(5),v(e.summary)}}function Yo(o,n){if(o&1){let e=w();a(0,"div",222)(1,"div",223)(2,"span",224),s(3,"Ticket Quantity"),r()(),a(4,"div",225),s(5),r(),a(6,"h3",226),g("click",function(){_(e);let t=p();return u(t.confirmSelectionToaster())}),s(7,"OKAY"),r()()}if(o&2){let e=n.$implicit;l(5),v(e.summary)}}function Go(o,n){if(o&1){let e=w();a(0,"div",222)(1,"div",223)(2,"span",224),s(3,"Required Indemnitors"),r()(),a(4,"div",225),s(5),r(),a(6,"h3",226),g("click",function(){_(e);let t=p();return u(t.confirmRequiredConsenteeToaster())}),s(7,"OKAY"),r()()}if(o&2){let e=n.$implicit;l(5),v(e.summary)}}function Zo(o,n){if(o&1){let e=w();a(0,"div",222)(1,"div",223)(2,"span",224),s(3,"Required Details"),r()(),a(4,"div",225),s(5),r(),a(6,"h3",226),g("click",function(){_(e);let t=p();return u(t.confirmRequiredDetailsToaster())}),s(7,"OKAY"),r()()}if(o&2){let e=n.$implicit;l(5),v(e.summary)}}function Xo(o,n){if(o&1){let e=w();a(0,"div",222)(1,"div",223)(2,"span",224),s(3,"An Error Occurred"),r()(),a(4,"div",225),s(5),r(),a(6,"h3",226),g("click",function(){_(e);let t=p();return u(t.confirmPaymentErrorToaster())}),s(7,"OKAY"),r()()}if(o&2){let e=n.$implicit;l(5),v(e.summary)}}var Yt=class o{constructor(n,e,i,t,c,m,C,M,x,O,T,f,E,De,Xe){this.router=n;this.datePipe=e;this._Activatedroute=i;this.snackBar=t;this.dataService=c;this.pluginService=m;this.mpesaService=C;this.dpoService=M;this.apiService=x;this.authService=O;this.trackingService=T;this.titleService=f;this.metaService=E;this.sanitizer=De;this.messageService=Xe;this.subscriptions.push(this._Activatedroute.params.pipe(Qe(this.destroy$)).subscribe(S=>{this.slug=S.slug})),this.disabledCalendarDates=this.unavailableCalendarDates.map(S=>new Date(S))}destroy$=new rn;subscriptions=[];showAdvancedOptions=!1;slug=null;isLoading=!0;indemnities=[];indemnityExists=!1;indemnityFormIsVisible=!1;indemnitiesIsInitialized=!1;calendarStartDate=new Date;calendarEndDate=new Date(new Date().setMonth(new Date().getMonth()+3));unavailableCalendarDates=[];disabledCalendarDates=[];weekDay=null;experienceVenue=null;experienceDataExists=!1;salesBlocksLoading=!1;salesBlocksError="";salesBlocksReady=!1;salesBlocks=new Map;DateTimeToasterVisible=!1;SelectionToasterVisible=!1;ticketTypesSelected=!1;addonExtrasExist=!1;RequiredConsenteesToasterVisible=!1;consentees=[];RequiredDetailsToasterVisible=!1;PaymentErrorToasterVisible=!1;payload={customer:{user_name:null,email:null,phone:null},total_cost:0,selected_experiences:[]};errors={phone:{status:!1,message:"Invalid phone"},email:{status:!1,message:"Invalid email"},name:{status:!1,message:"Invalid name"}};paymentMode={is_mpesa:!1,is_card:!1,is_business_booking:!1};dpoURL=null;openDPO=!1;dpoResult=null;dpoCompletion=null;paymentVerificationAttempts=[];transactionUnderway=!1;transactionToken=null;orderId=null;transactionCode=null;computedCost=null;timeoutMinutes=10;timeoutSeconds=0;paymentTimer;viewMpesaExpress=!0;mpesaCodeIsVerifiying=!1;businessUser={name:null,email:null,phone:null};ticket_number=null;ngOnInit(){this.subscriptions.push(this.authService.jwtProfile$.pipe(Qe(this.destroy$)).subscribe(()=>this.checkAdvancedOptions())),this.dataService.isBrowser()?this.fetchUserDetailsFromLocal():this.slug&&this.router.navigate(["experiences",this.slug])}ngAfterViewInit(){this.pluginService.scrollToTop()}handleMissingImage(){return this.dataService.placeholdMissingImg()}filterDisabledCalendarDates(n){let e=new Date;e.setHours(0,0,0,0);let i=new Date(e);i.setMonth(i.getMonth()+3);let t=S=>S%7,c=S=>{let K=/^(\d{4})-(\d{2})-(\d{2})$/.exec(S);return K?new Date(+K[1],+K[2]-1,+K[3]):null},m=new Set,C=new Set;for(let S of this.experienceVenue?.venue.open_hours||[]){let K=t(S.day_id);C.add(K),S.is_open!==!1&&m.add(K)}let M=this.experienceVenue?.experiences.find(S=>S.experience_id===n),x=new Set,O=new Set;if(M&&Array.isArray(M.open_hours))for(let S of M.open_hours){let K=t(S.day_id);O.add(K),x.add(K)}let T=new Set;for(let S of m)x.has(S)&&T.add(S);let f=new Set;for(let S=0;S<7;S++)T.has(S)||f.add(S);let E=[];for(let S=new Date(e.getTime());S<=i;S.setDate(S.getDate()+1)){S.setHours(0,0,0,0);let K=S.getDay();f.has(K)&&E.push(new Date(S.getTime()))}let De=this.experienceVenue?.venue.venue_id==10039?E.filter(S=>!new Set(["2025-06-02","2025-10-20","2025-12-12","2025-12-26"]).has(rt(S))):E,Xe=new Map(De.map(S=>[rt(S),S]));if(M)for(let S=new Date(e);S<=i;S.setDate(S.getDate()+1))this.salesDateBlocked(M,rt(S))&&Xe.set(rt(S),new Date(S));return[...Xe.values()]}isIndefinitelyBlocked(n){return(this.salesBlocks.get(Number(n))??[]).some(e=>e.block_type==="indefinite")}salesDateBlocked(n,e){let i=this.salesBlocks.get(Number(n.experience_id))??[];return Kn(i,e,n.disable_time_selection)?!0:i.some(t=>t.block_type==="time_slots"&&t.dates.includes(e))&&!n.disable_time_selection&&this.availableSalesSlots(n,e).length===0}availableSalesSlots(n,e){let i=new Date(`${e}T00:00:00`).getDay()||7,t=n.open_hours.find(O=>Number(O.day_id)===i),c=this.experienceVenue?.venue.open_hours.find(O=>Number(O.day_id)===i);if(!t||!c||c.is_open===!1||t.disable_slots)return[];let m=Number(t.interval)>0?Number(t.interval):60,C=t.open_time||c.open_time,M=t.close_time||c.close_time;if(!C||!M)return[];let x=this.salesBlocks.get(Number(n.experience_id))??[];return this.dataService.generateTimeSlots(C,M,m).filter(O=>!Yn(x,e,O,m))}refreshSalesBlocks(){return Y(this,null,function*(){if(!(!this.experienceVenue||this.salesBlocksLoading)){this.salesBlocksLoading=!0,this.salesBlocksReady=!1,this.salesBlocksError="";try{let n=yield J(this.apiService.get_v3(`${this.apiService.getEndpoints().experiences.get_experience}${this.slug}?availability=${Date.now()}`).pipe(Zt(15e3),Qe(this.destroy$)));if(!Array.isArray(n?.data?.experiences))throw new Error("Missing experience availability");let e=[...new Set(n.data.experiences.map(t=>Number(t.t)).filter(t=>t>0))],i=e.length?yield J(an(e.map(t=>this.apiService.get_v3(`experiences/journey/sales-blocks/${t}?fresh=${Date.now()}`).pipe(Zt(15e3)))).pipe(Qe(this.destroy$))):[];if(i.some(t=>t?.response!=="success"||!Array.isArray(t.data)))throw new Error("Missing sales blocks");this.salesBlocks.clear();for(let t of i)for(let c of t.data){let m=Number(c.experience_id);this.salesBlocks.set(m,[...this.salesBlocks.get(m)??[],c])}for(let t of this.experienceVenue.experiences)t.unavailable_dates=this.filterDisabledCalendarDates(t.experience_id),this.isIndefinitelyBlocked(t.experience_id)||t.formatted_multi_set_date.some(m=>this.salesDateBlocked(t,m))||!!(t.set_date&&(this.salesDateBlocked(t,t.set_date)||t.set_time?.some(m=>!this.availableSalesSlots(t,t.set_date).includes(m.time))))?this.clearBlockedSelection(t):t.set_date&&(t.available_time_slots=this.availableSalesSlots(t,t.set_date).map(m=>({time:m,val:this.dataService.readableTime(m)})));this.salesBlocksReady=!0}catch(n){this.salesBlocksError="Availability could not be checked. Please retry before selecting dates or paying."}finally{this.salesBlocksLoading=!1}}})}clearBlockedSelection(n){n.set_date=null,n.multi_set_date=[],n.formatted_multi_set_date=[],n.set_time=null,n.available_time_slots=[],n.ticket_types_total_cost=n.addons_total_cost=0,n.ticket_types.forEac
1h(e=>{e.selected_qty=null,e.cost=0}),n.addon_extras.forEach(e=>{e.selected_qty=0,e.cost=0}),n.has_selected_extras=!1,this.ticketTypesSelected=this.experienceVenue.experiences.some(e=>e.ticket_types_total_cost>0),this.payload.total_cost=this.experienceVenue.experiences.reduce((e,i)=>e+i.ticket_types_total_cost,0),this.experienceVenue.grand_total=this.experienceVenue.experiences.reduce((e,i)=>e+i.ticket_types_total_cost+i.addons_total_cost,0),this.indemnitiesIsInitialized=!1}fetchUserDetailsFromLocal(){return Y(this,null,function*(){let n=localStorage?.getItem(this.apiService.getEndpoints().local_storage.experiences.step_2);n?(this.experienceVenue=JSON.parse(n),this.experienceVenue&&(this.experienceVenue.grand_total=0,this.pluginService.selectedExperienceDates=[],this.experienceVenue.experiences.forEach(e=>{this.pluginService.selectedExperienceDates.push(null),e.has_selected_extras=!1,e.set_date=null,e.multi_set_date=[],e.formatted_multi_set_date=[],e.available_time_slots=[],e.set_time=null,e.unavailable_dates=this.filterDisabledCalendarDates(e.experience_id),e.disable_time_selection=e.open_hours.some(i=>i.disable_slots),e.ticket_types_total_cost=0,e.addons_total_cost=0,e.ticket_types.forEach(i=>{i.cost=0,i.selected_qty=null}),e.addon_extras.length>0?(e.has_addons=!0,this.addonExtrasExist=!0,e.addon_extras.forEach(i=>{i.cost=0,i.selected_qty=0})):e.has_addons=!1}),this.experienceDataExists=!0,this.isLoading=!1,this.checkIndemnities(),this.setMetaTags(),this.checkAdvancedOptions(),yield this.refreshSalesBlocks())):this.router.navigate(["experiences",this.slug])})}checkIndemnities(){if(this.experienceVenue){for(let n=0;n<this.experienceVenue.experiences.length;n++)if("indemnity_form"in this.experienceVenue.experiences[n]&&"ticket_types_total_cost"in this.experienceVenue.experiences[n]&&this.experienceVenue.experiences[n].ticket_types_total_cost>0&&this.experienceVenue.experiences[n].indemnity_form!=null){this.indemnityExists=!0;break}return this.indemnityExists}else return!1}setMetaTags(){this.experienceVenue&&(this.titleService.setTitle(`Book your experience at ${this.experienceVenue.venue.venue_name}`),this.metaService.updateTag({property:"keywords",content:"experiences, outdoor, fun, outing, family, friends, activities, holiday, tickets"}),this.metaService.updateTag({property:"description",content:`Fun and exciting activities to enjoy with friends and family at ${this.experienceVenue.venue.venue_name}`}),this.metaService.updateTag({property:"og:url",content:"https://kenyabuzz.com/experiences/"+this.slug}),this.metaService.updateTag({property:"og:title",content:`Book your experience at ${this.experienceVenue.venue.venue_name}`}),this.metaService.updateTag({property:"og:description",content:`Fun and exciting activities to enjoy with friends and family at ${this.experienceVenue.venue.venue_name}`}),this.metaService.updateTag({property:"og:image",content:"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png"}),this.metaService.updateTag({property:"twitter:card",content:"summary_large_image"}),this.metaService.updateTag({property:"twitter:title",content:`Book your experience at ${this.experienceVenue.venue.venue_name}`}),this.metaService.updateTag({property:"twitter:description",content:`Fun and exciting activities to enjoy with friends and family at ${this.experienceVenue.venue.venue_name}`}),this.metaService.updateTag({property:"twitter:image",content:"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png"}))}checkAdvancedOptions(){let n=this.authService.tenantAuthSnapshot,e=n.profile,i=this.experienceVenue?.t;this.showAdvancedOptions=!1,!(!n.jwt_exists||!e)&&(n.profile_type==="staff"?this.showAdvancedOptions=!0:n.profile_type==="business"&&e.has_experiences===!0&&i!==null&&typeof i=="number"&&Number.isFinite(i)&&e.organizations.includes(i)&&(this.showAdvancedOptions=!0),this.showAdvancedOptions&&(this.businessUser=this.dataService.fetchLoggedInUser()))}experienceDateSelected(n,e){let i=this.experienceVenue?.experiences[n];if(!i)return;let t=this.datePipe.transform(e,"yyyy-MM-dd");if(!this.salesBlocksReady||this.isIndefinitelyBlocked(i.experience_id)||!i.disable_time_selection&&(!t||this.salesDateBlocked(i,t))){this.clearBlockedSelection(i);return}i.set_time=null,i.available_time_slots=[],i.disable_time_selection?(i.multi_set_date=i.multi_set_date.filter(c=>{let m=this.datePipe.transform(c,"yyyy-MM-dd");return m&&!this.salesDateBlocked(i,m)}).sort((c,m)=>new Date(c).getTime()-new Date(m).getTime()),i.formatted_multi_set_date=i.multi_set_date.map(c=>this.datePipe.transform(c,"yyyy-MM-dd"))):(i.set_date=t,this.weekDay=this.dataService.getDayOfWeekAlternate(t),i.available_time_slots=this.availableSalesSlots(i,t).map(c=>({time:c,val:this.dataService.readableTime(c)}
1))),i.ticket_types.forEach(c=>c.cost=c.price*(c.selected_qty??0)*(i.disable_time_selection?i.multi_set_date.length:0)),this.calculateTicketCost(-1)}checkSelectedSlots(n,e){if(this.experienceVenue?.experiences[n]){let i=this.experienceVenue.experiences[n];if(!this.salesBlocksReady||!i.set_date||this.isIndefinitelyBlocked(i.experience_id)){this.clearBlockedSelection(i);return}let t=new Set(this.availableSalesSlots(i,i.set_date));i.set_time=(i.set_time??[]).filter(c=>t.has(c.time));for(let c=0;c<this.experienceVenue.experiences[n].open_hours.length;c++)for(let m=0;m<this.experienceVenue.experiences[n].ticket_types.length;m++)this.experienceVenue.experiences[n].ticket_types[m].max_per_customer=this.experienceVenue.experiences[n].open_hours[c].max<this.experienceVenue.experiences[n].ticket_types[m].max_per_customer?this.experienceVenue.experiences[n].open_hours[c].max:this.experienceVenue.experiences[n].ticket_types[m].max_per_customer,this.experienceVenue.experiences[n].ticket_types[m].min_per_customer=this.experienceVenue.experiences[n].open_hours[c].min<this.experienceVenue.experiences[n].ticket_types[m].min_per_customer?this.experienceVenue.experiences[n].ticket_types[m].min_per_customer:this.experienceVenue.experiences[n].open_hours[c].min,this.experienceVenue.experiences[n].ticket_types[m].max_per_customer=this.experienceVenue.experiences[n].ticket_types[m].max_per_customer<this.experienceVenue.experiences[n].ticket_types[m].min_per_customer?this.experienceVenue.experiences[n].ticket_types[m].min_per_customer:this.experienceVenue.experiences[n].ticket_types[m].max_per_customer;i.ticket_types.forEach(c=>c.cost=c.price*(c.selected_qty??0)*(i.set_time?.length??0)),this.calculateTicketCost(-1)}}generateTimeList(n,e,i){let t=[],c=n.length>0?n.split(":").map(Number):"09:00".split(":").map(Number),m=e.length>0?e.split(":").map(Number):"17:30".split(":").map(Number),C=c[0],M=c[1],x=m[0],O=m[1],T=C,f=M;for(;T<x||T===x&&f<=O;)t.push(`${T.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`),f+=i,f>=60&&(f=0,T++);return t}calculateTicketCost(n){if(this.payload.total_cost=0,this.experienceVenue){for(let e=0;e<this.experienceVenue.experiences.length;e++){let i=this.experienceVenue.experiences[e];if(i.is_selected){let c=i.open_hours.find(x=>x.day_of_week?.toLowerCase().trim()===this.weekDay?.toLowerCase().trim())?.max??40,C=i.ticket_types.reduce((x,O)=>x+(O.selected_qty??0),0)-c;i.ticket_types_total_cost=0;let M=i.disable_time_selection==!0?i.multi_set_date.length:i.set_time?i.set_time.length:0;i.ticket_types.forEach(x=>{if(x.ticket_type_id==n){if(i.disable_time_selection==!0&&i.multi_set_date.length==0){this.showDateTimeToaster(!1);return}else if(i.disable_time_selection==!1&&i.set_date==null&&(i.set_time==null||i.set_time?.length==0)){this.showDateTimeToaster(!0);return}}x.ticket_type_id==n&&C<1&&(x.selected_qty=x.selected_qty<x.min_per_customer&&x.selected_qty!=0?x.min_per_customer:x.selected_qty,x.selected_qty=x.selected_qty>x.max_per_customer?x.max_per_customer:x.selected_qty,x.cost=M*x.price*(x.selected_qty??0)),
1C>0&&x.ticket_type_id==n&&(x.selected_qty=C,x.cost=M*x.price*(x.selected_qty??0),this.showSelectionToaster(x.max_per_customer,C)),i.ticket_types_total_cost+=x.cost,this.payload.total_cost+=x.cost})}}for(let e of this.experienceVenue.experiences)if(e.is_selected)if(e.disable_time_selection=e.disable_time_selection==!0,e.disable_time_selection!=!0&&e.ticket_types_total_cost>0&&e.set_date!=null&&e.set_time!=null){this.ticketTypesSelected=!0;break}else e.disable_time_selection==!0&&e.ticket_types_total_cost>0&&e.multi_set_date.length>0?this.ticketTypesSelected=!0:this.ticketTypesSelected=!1}}selectAddon(n,e){this.experienceVenue&&(this.experienceVenue.experiences.forEach(i=>{i.addon_extras.forEach(t=>{t.id==e&&(n=="add"&&(t.selected_qty=t.max_selectable==null||t.selected_qty<t.max_selectable?++t.selected_qty:t.selected_qty,t.cost=+t.price*t.selected_qty),n=="remove"&&t.selected_qty>0&&(t.selected_qty=--t.selected_qty,t.is_mandatory&&t.selected_qty==0&&(t.selected_qty=1),t.cost=+t.price*t.selected_qty))}),i.addons_total_cost=i.addon_extras.reduce((t,c)=>t+c.cost,0),i.has_selected_extras=i.addon_extras.some(t=>t.selected_qty>0)}),this.getCurrentGrandTotal())}getCurrentGrandTotal(){this.experienceVenue.grand_total=0,this.experienceVenue.experiences.forEach(n=>{this.experienceVenue.grand_total+=n.ticket_types_total_cost+n.addons_total_cost})}step2(){this.getCurrentGrandTotal(),this.experienceVenue?.experiences.forEach(n=>{if(n.ticket_types_total_cost>0&&n.addon_extras.length>0){n.has_addons=!0,this.addonExtrasExist=!0;for(let e=0;e<n.addon_extras.length;e++)n.addon_extras[e].is_mandatory&&(n.addon_extras[e].selected_qty=1,n.addon_extras[e].cost=+n.addon_extras[e].price*n.addon_extras[e].selected_qty);n.addons_total_cost=n.addon_extras.reduce((e,i)=>e+i.cost,0),this.getCurrentGrandTotal(),n.has_selected_extras=n.addon_extras.some(e=>e.selected_qty>0)}}),this.pluginService.fadeEffectTransition("step-1","step-2"),this.checkIndemnities(),setTimeout(()=>{},3e3)}upperCase(){this.transactionCode=this.transactionCode!=null?this.transactionCode.toUpperCase():""}modifyToKenyan(){this.payload.customer.phone=this.dataService.internationalizePhoneToKenyan(this.payload.customer.phone)}errCheck(){let n=!1;return this.payload.customer.user_name!=null&&(this.payload.customer.user_name=this.dataService.removeSpecialCharacters(this.payload.customer.user_name)),this.payload.customer.email!=null&&(this.payload.customer.email=this.dataService.removeSpaces(this.payload.customer.email)),this.dataService.checkEntry(this.payload.customer.user_name)?this.errors.name.status=!1:(this.errors.name.status=!0,n=!0),this.dataService.validateEmail(this.payload.customer.email)?this.errors.email.status=!1:(this.errors.email.status=!0,n=!0),this.dataService.validatePhone(this.payload.customer.phone)?this.errors.phone.status=!1:(this.errors.phone.status=!0,n=!0),this.dataService.checkEntry(this.payload.customer.user_name)&&this.dataService.validateEmail(this.payload.customer.email)&&this.dataService.validatePhone(this.payload.customer.phone)?(this.errors.name.status=!1,this.errors.email.status=!1,this.errors.phone.status=!1):n=!0,n}validateInputs(){let n=this.errCheck()}onCheckout(n){this.errCheck()==!0?this.showRequiredDetailsToaster():n=="mpesa"?this.viewPayByMpesa():n=="card"?this.pay("dpo"):n=="business_booking"?this.pay("bb"):n=="business_unpaid_booking"&&this.pay("bub")}openIndemnityDialog(){if(this.indemnityFormIsVisible=!0,Array.isArray(this.experienceVenue.experiences)){for(let n=0;n<this.experienceVenue.experiences.length;n++)if("indemnity_form"in this.experienceVenue.experiences[n]&&"ticket_types_total_cost"in this.experienceVenue.experiences[n]&&this.experienceVenue.experiences[n].is_selected==!0&&this.indemnitiesIsInitialized==!1&&this.experienceVenue.experiences[n].indemnity_form!=null&&this.experienceVenue.experiences[n].ticket_types_total_cost>0){let e={experience_id:this.experienceVenue.experiences[n].experience_id,experience_name:this.experienceVenue.experiences[n].name,indemnity_form:this.experienceVenue.experiences[n].indemnity_form,extend_indemnity:this.experienceVenue.experiences[n].extend_indemnity??!1,visible:!1,required_consentees:0,consentees:[]};
1this.experienceVenue.experiences[n].ticket_types.forEach(i=>{if(i.selected_qty>0){e.required_consentees+=i.selected_qty;for(let t=0;t<i.selected_qty;t++)e.consentees.push({name:"",is_adult:!0,phone:null,national_id:null,age:null,nationality:null})}}),this.indemnities.push(e)}this.indemnitiesIsInitialized=!0}this.indemnities.length>0&&(this.indemnities[0].visible=!0)}createPayload(n){let e=this.trackingService.getUtmSource(this.slug),i={mode:n,a:this.experienceVenue.venue.venue_id,c:this.businessUser.email?this.apiService.rot47(this.businessUser.email):null,d:e??null,name:this.payload.customer.user_name,email:this.payload.customer.email,phone:this.payload.customer.phone,m:this.payload.customer.marketing_opt_in,x:[],i:this.consentees};return this.experienceVenue.experiences.forEach(t=>{if(t.ticket_types_total_cost>0){let c={experience_id:t.experience_id,experience_name:t.name,attendance_date:t.set_date,attendance_time:t.set_time,multi_attendance_date:t.disable_time_selection?t.formatted_multi_set_date:[],imd:t.disable_time_selection,extras_exist:t.has_selected_extras,selected_tickets:[],extras:[]};t.ticket_types.forEach(m=>{m.selected_qty!=null&&m.selected_qty>0&&c.selected_tickets.push({ticket_type_id:m.ticket_type_id,name:m.name,qty:m.selected_qty})}),t.has_selected_extras==!0&&t.addon_extras.forEach(m=>{m.selected_qty>0&&c.extras.push({addon_id:m.id,name:m.name,qty:m.selected_qty})}),i.x.push(c)}}),i}viewPayByMpesa(){if(this.validateIndemnityData()){this.paymentMode.is_mpesa=!0,this.paymentMode.is_card=!this.paymentMode.is_mpesa;let e=document.getElementById("payOptionsModal2");e&&(e.style.display="block",e.style.zIndex="99")}}pay(n){if(!this.salesBlocksReady||this.salesBlocksLoading){this.showPaymentErrorToaster("Please wait for availability to be checked, or retry the availability check.");return}if(this.experienceVenue?.experiences.some(t=>t.ticket_types_total_cost>0&&(this.isIndefinitelyBlocked(t.experience_id)||(t.disable_time_selection?!t.formatted_multi_set_date.length||t.formatted_multi_set_date.some(c=>this.salesDateBlocked(t,c)):!t.set_date||!t.set_time?.length||this.salesDateBlocked(t,t.set_date)||t.set_time.some(c=>!this.availableSalesSlots(t,t.set_date).includes(c.time)))))){this.showPaymentErrorToaster("Please select available dates and times for each experience.");return}if(this.validateIndemnityData()){this.paymentMode.is_mpesa=n=="kb_mpesa",this.paymentMode.is_card=!this.paymentMode.is_mpesa,this.paymentMode.is_business_booking=n=="bb"||n=="bub";let t=this.createPayload(n);this.transactionUnderway=!0;let c=this.apiService.getEndpoints().experiences.order_experience,m=this.paymentMode.is_business_booking?{withCredentials:!0}:{};this.subscriptions.push(this.apiService.post_v3(c,t,m).subscribe({next:C=>{if("data"in C){let M=this.authService.checkJwt();(M.profile_type=="staff"||M.profile_type=="business")&&this.paymentMode.is_business_booking==!0?(this.ticket_number="ticket"in C?C.ticket:null,this.trackingService.resetUtmSource(this.slug),this.alertOrderSuccess(),setTimeout(()=>{this.ticket_number?this.openTicket():this.router.navigate(["experiences/"+this.slug])},3e3)):this.handlePaymentResponse(C,n)}else this.showPaymentErrorToaster("message"in C?C.message:"Something happened, preventing your order from being processed. Please try again or contact KenyaBuzz for further assistance."),this.transactionUnderway=!1},error:C=>{this.showPaymentErrorToaster(C?.error?.message??"Something happened, preventing your order from being processed. Please try again or contact KenyaBuzz for further assistance."),this.transactionUnderway=!1,C?.status===409&&C?.error?.code==="experience_sales_blocked"&&(this.closePayOptionsModal(),this.pluginService.fadeEffectTransition("step-2","step-1"),this.refreshSalesBlocks())}}))}}handlePaymentResponse(n,e){this.transactionToken=n.token,this.paymentMode.is_mpesa?this.handleMpesaPayment(n):this.handleCardPayment()}handleMpesaPayment(n){"data"in n&&(this.transactionToken=n.token,this.mpesaService.transactionReference=this.transactionToken,this.orderId=n.order,this.computedCost=n.amount,this.mpesaService.setTransactionMode("experience"),this.startTimer(),setTimeout(()=>
1this.confirmMpesaRef(),5e3),this.transactionUnderway=!1)}handleCardPayment(){setTimeout(()=>{this.dpoURL=this.sanitizer.bypassSecurityTrustResourceUrl(`https://secure.3gdirectpay.com/dpopayment.php?ID=${this.transactionToken}`),this.openDPO=!0},1e3),this.awaitDPOverification(),this.transactionUnderway=!1}confirmMpesaRef(){return Y(this,null,function*(){yield this.mpesaService.confirmPaymentUsingRefCode("experience",this.transactionToken,this.orderId).then(n=>{this.mpesaService.ticket_number!=null&&this.mpesaService.transactionCompleted==!0?(this.trackingService.resetUtmSource(this.slug),this.ticket_number=this.mpesaService.ticket_number,this.alertSuccess(),setTimeout(()=>{this.openTicket()},2500)):this.mpesaService.transactionTimedOut==!1&&this.mpesaService.transactionCompleted==!1&&this.mpesaService.maxVerificationAttempts>0?setTimeout(()=>{this.confirmMpesaRef()},5e3):this.snackBar.open("Your transaction has timed out. Please select your tickets again.","OKAY")},n=>{this.mpesaService.transactionTimedOut==!1&&this.mpesaService.transactionCompleted==!1&&this.mpesaService.maxVerificationAttempts>0&&setTimeout(()=>{this.confirmMpesaRef()},5e3)})})}confirmMpesaTransactionCode(n){return Y(this,null,function*(){this.mpesaCodeIsVerifiying=!0,n=n.trim().toUpperCase(),yield this.mpesaService.confirmPaymentUsingTransactionCode("experience",n,this.orderId).then(e=>{this.mpesaService.ticket_number!=null&&this.mpesaService.transactionCodeError==!1?(this.trackingService.resetUtmSource(this.slug),this.ticket_number=this.mpesaService.ticket_number,this.mpesaCodeIsVerifiying=!1,this.alertSuccess(),setTimeout(()=>{this.openTicket()},2500)):(this.snackBar.open(this.mpesaService.transactionCodeResponse??"No Payment Yet","OKAY"),this.mpesaCodeIsVerifiying=!1)},e=>{this.snackBar.open(this.mpesaService.transactionCodeResponse??"An Error Occurred","OKAY"),this.mpesaCodeIsVerifiying=!1})})}awaitDPOverification(){let n=document.getElementById("cardVerificationModal");n&&(n.style.display="block",n.style.zIndex="99"),this.dpoService.setTxnMode("experience",this.transactionToken),setTimeout(()=>{this.dpoService.startVerification()},5e3),this.subscriptions.push(this.dpoService.result$.subscribe(e=>{e?.ticket_number&&this.handleDpoSuccess(e)})),this.subscriptions.push(this.dpoService.completion$.subscribe(e=>{this.dpoCompletion=e,this.openDPO=!1}))}handleDpoSuccess(n){this.trackingService.resetUtmSource(this.slug),this.openDPO=!1,this.ticket_number=n.ticket_number,this.alertSuccess(),setTimeout(()=>this.openTicket(),1e3)}manualVerification(){this.paymentVerificationAttempts=[],this.awaitDPOverification()}endDPOverification(){let n=document.getElementById("cardVerificationModal");n&&(n.style.display="none")}startTimer(){let n=Date.now(),e=600*1e3,i=()=>{let t=Date.now(),c=t-n;c>=e?this.handleTimeout():(e-=c,n=t,this.timeoutMinutes=Math.floor(e/6e4),this.timeoutSeconds=Math.floor(e%6e4/1e3),requestAnimationFrame(i))};i()}handleTimeout(){this.mpesaService.transactionTimedOut=!0,this.mpesaService.maxVerificationAttempts=0,clearInterval(this.paymentTimer),this.dataService.isBrowser()&&localStorage.setItem(this.apiService.getEndpoints().local_storage.experiences.step_2,""),this.showTimeoutModal(!0)}closePayOptionsModal(){this.paymentMode.is_mpesa=!1,this.paymentMode.is_card=!1;let n=document.getElementById("payOptionsModal");n&&(n.style.display="none");let e=document.getElementById("payOptionsModal2");e&&(e.style.display="none")}showTimeoutModal(n){let e=document.getElementById("timeoutModal");e!=null&&(e.style.display=n==!0?"table":"none",e.style.opacity=n==!0?"1":"0")}timeoutAction(){this.dataService.isBrowser()&&localStorage.setItem(this.apiService.getEndpoints().local_storage.events.step_2,""),this.dataService.isBrowser()&&localStorage.setItem(this.apiService.getEndpoints().local_storage.events.step_3,""),this.router.navigate(["/experiences"])}alertSuccess(){let n=document.getElementById("payOptionsModal");n&&(n.style.display="none");let e=document.getElementById("payCompleteModal");e&&(e.style.display="block",e.style.zIndex="99")}alertOrderSuccess(){let n=document.getElementById("payOptionsModal");n&&(n.style.display="none");let e=document.getElementById("orderCompleteModal");e&&(e.style.display="block",e.style.zIndex="99")}closeSuccessModal(){let n=document.getElementById("payCompleteModal");n&&(n.style.display="none")}openTicket(){this.dataService.isBrowser()&&localStorage.removeItem(this.apiService.getEndpoints().local_storage.events.step_2),this.dataService.isBrowser()&&localStorage.removeItem(this.apiService.getEndpoints().local_storage.events.step_3),this.router.navigate(["/ticket/"+this.ticket_number])}ngOnDestroy(){this.indemnitiesIsInitialized=!1,this.cleanupResources()}cleanupResources(){this.destroy$.next(),this.destroy$.complete(),this.subscriptions.forEach(n=>n.unsubscribe()),this.paymentTimer&&cancelAnimationFrame(this.paymentTimer),this.dataService.isBrowser()&&localStorage.removeItem(this.apiService.getEndpoints().local_storage.events.step_2),this.dataService.isBrowser()&&localStorage.removeItem(this.apiService.getEndpoints().local_storage.events.step_3),this.mpesaService.resetState(),this.dpoService.resetState(),this.experienceVenue=null,this.timeoutMinutes=10,this.timeoutSeconds=0,this.paymentVerificationAttempts=[],this.mpesaCodeIsVerifiying=!1,this.openDPO=!1,this.dpoURL=null,this.ticket_number=null,this.transactionToken=null,this.transactionUnderw
1ay=!1,this.orderId=null,this.paymentMode={is_mpesa:!1,is_card:!1,is_business_booking:!1},this.consentees=[]}toggleIndemnityVisibility(n){this.indemnities[n].visible=!this.indemnities[n].visible}checkConsenteeData(){this.consentees=[];let n=!0;for(let e=0;e<this.indemnities.length;e++)for(let i=0;i<this.indemnities[e].consentees.length;i++){let t=this.indemnities[e].consentees[i];if(t.age=t.is_adult==!1&&t.age!=null&&(+t.age>17||+t.age<1)?null:t.age,t.name==null||t.name.trim()==""||t.is_adult==!0&&(t.phone==null||t.phone.trim()=="")||t.is_adult==!1&&(t.age==null||+t.age>18)||t.is_adult==!1&&(t.nationality==null||t.nationality.trim()=="")){n=!1;break}}if(n==!0)for(let e=0;e<this.indemnities.length;e++){let i={experience_id:this.indemnities[e].experience_id,consentees:this.indemnities[e].consentees};this.consentees.push(i)}return n}validateIndemnityData(){let n=!0;if(!this.indemnityExists)return n;let e=0;for(let t=0;t<this.experienceVenue.experiences.length;t++)this.experienceVenue.experiences[t].ticket_types.forEach(c=>{c.selected_qty>0&&this.experienceVenue.experiences[t].indemnity_form!=null&&this.experienceVenue.experiences[t].is_selected==!0&&(e+=c.selected_qty)});let i=this.consentees.reduce((t,c)=>t+c.consentees.length,0);if(n=this.consentees.length>0&&i==e,!n){let t=e-this.consentees.length;this.showRequiredConsenteesToaster(t)}return n}parseDate(n){return this.dataService.readableDateOnly(n)}closeDialog(){this.indemnityFormIsVisible=!1}showRequiredDetailsToaster(){this.RequiredDetailsToasterVisible||(this.messageService.add({key:"requiredDetailsWarning",sticky:!0,severity:"danger",summary:"Please enter all the required details (name, phone and email) before checking out."}),this.RequiredDetailsToasterVisible=!0)}confirmRequiredDetailsToaster(){this.messageService.clear("requiredDetailsWarning"),this.RequiredDetailsToasterVisible=!1}showDateTimeToaster(n){if(!this.DateTimeToasterVisible){let e="Please select a date";n&&(e+=" and time "),e+=" before proceeding.",this.messageService.add({key:"datetimeWarning",sticky:!0,severity:"danger",summary:e}),this.DateTimeToasterVisible=!0}}confirmDateTimeSelectionToaster(){this.messageService.clear("datetimeWarning"),this.DateTimeToasterVisible=!1}showSelectionToaster(n,e){this.SelectionToasterVisible||(this.messageService.add({key:"selectionWarning",sticky:!0,severity:"danger",summary:`You can select only up to ${n} tickets in total. This was exceeded by ${e}. It has been auto-adjusted.`}),this.SelectionToasterVisible=!0)}confirmSelectionToaster(){this.messageService.clear("selectionWarning"),this.SelectionToasterVisible=!1}showRequiredConsenteesToaster(n){this.RequiredConsenteesToasterVisible||(this.messageService.add({key:"consenteesWarning",sticky:!0,severity:"danger",summary:`Sorry, looks like you need to enter the indemnity information of ${n} attendee(s) before checking out.`}),this.RequiredConsenteesToasterVisible=!0)}confirmRequiredConsenteeToaster(){this.messageService.clear("consenteesWarning"),this.RequiredConsenteesToasterVisible=!1}showPaymentErrorToaster(n){this.PaymentErrorToasterVisible||(this.messageService.add({key:"paymentError",sticky:!0,severity:"danger",summary:n}),this.PaymentErrorToasterVisible=!0)}confirmPaymentErrorToaster(){this.messageService.clear("paymentError"),this.PaymentErrorToasterVisible=!1}goBack(){this.router.navigate(["/experiences"])}static \u0275fac=function(e){return new(e||o)(k(je),k(Jt),k(Re),k($n),k(X),k(Be),k(jn),k(Nn),k(Z),k(In),k(de),k(ze),k(ne),k(Cn),k(yn))};static \u0275cmp=ee({type:o,selectors:[["app-buy-experience"]],decls:26,vars:19,consts:[["message",""],[1,"main-container","experience-venue-page"],[1,"kb-loader",2,"margin","20rem auto"],["header","Review & Consent",3,"visibleChange","modal","visible","breakpoints","maximizable","draggable"],["id","indemnityAccordion",1,"accordion"],[1,"flex","justify-end","gap-2"],[1,"btn","btn-outline-danger","btn-sm","btn-block","mx-3","w-25",3,"click"],[3,"click","disabled"],["position","bottom-center","key","datetimeWarning",3,"onClose","baseZIndex"],["position","bottom-center","key","selectionWarning",3,"onClose","baseZIndex"],["position","bottom-center","key","consenteesWarning",3,"onClose","baseZIndex"],["position","bottom-center","key","requiredDetail
1sWarning",3,"onClose","baseZIndex"],["position","bottom-center","key","paymentError",3,"onClose","baseZIndex"],[1,"no-experience-msg"],[1,"hero"],[1,"hero__media"],[1,"back-icon",3,"click"],["name","west"],["alt","Scenic landscape hero image","loading","eager","decoding","async",3,"src"],[1,"hero__content"],[1,"hero__title"],[1,"hero__subtitle"],[1,"hero__fields"],[3,"href"],[1,"col-12","kb-experience-details"],[1,"hero__customercare"],["href","tel:0103132337"],["href","tel:0791478090"],[1,"movie-wrapper","experience-wrapper"],["id","step-1",1,"fader"],[1,"row"],[1,"col-12"],[1,"experience-card"],[1,"p-3","text-2xl"],["role","status",1,"p-3"],["role","alert",1,"p-3"],[1,"row","px-4"],[1,"fs-5","fw-lighter","text-end"],["type","submit",1,"exp-tkt-btn","proceed-exp"],["type","submit","disabled","",1,"exp-tkt-btn"],["id","step-2",1,"fader","fadedOut"],[1,"row","gx-5"],[1,"col-12","col-md-6"],[1,"row","experience-extras"],[1,"text-center","fs-3","my-4","m-auto"],[1,"events-summary","booking-summary"],[1,"tbl"],[1,"tbl-top"],[1,"tbl-top-title","tbl-top-event"],[1,"title"],[1,"builder-event"],[1,"builder-e-details"],[1,"details-title"],[1,"title-event"],[1,"details-dt"],[1,"exp-nav-back",3,"click"],["name","west",2,"font-size","15px","vertical-align","middle"],[1,"tbl-middle"],[1,"tckts-items","price-tbl"],[1,"builder-body"],[1,"builder-seats"],[1,"seats-faux"],[1,"seats-side"],[1,"price-side"],[1,"price-content",2,"background-color","var(--border-color-1)"],[1,"col-9"],[2,"font-weight","800"],[1,"col-3"],[1,"g-total"],[1,"user-details"],["variant","on"],["pInputText","","id","customer_name","type","text",1,"input-elements",3,"ngModelChange","keyup","ngClass","ngModel","ngModelOptions","value"],["for","customer_name"],[1,"inputs__error",2,"font-weight","600","font-size","11px","color","red"],["pInputText","","id","customer_email","type","email",1,"input-elements",3,"ngModelChange","keyup","ngClass","ngModel","ngModelOptions","value"],["for","customer_email"],[1,"inputs__error",2,"font-weight","600","font-size","14px","color","red"],["pInputText","","id","customer_phone","type","tel",1,"input-elements",3,"keyup","ngModelChange","ngClass","ngModel","ngModelOptions","value"],["for","customer_phone"],[1,"terms-conditions"],["routerLink","/info/terms-and-conditions","target","_blank",1,"journey-terms-link"],[1,"terms-conditions","d-flex"],[1,"terms-conditions","indemnity-forms"],[1,"tbl-bottom"],[1,"tbl-bottom-bottom"],[1,"builder-link"],[1,"buttons-wrapper","pay-btns"],[1,"pay-btns-align"],[1,"row","align-items-center"],[1,"row","align-items-center","mt-3"],[2,"position","fixed","top","0","left","0","bottom","0","right","0","width","100%","height","100%","border","none","margin","0","padding","0","overflow","hidden","z-index","999999",3,"src"],["id","payOptionsModal2",1,"pay-options-modal"],[1,"options-modal-content"],["id","pills-tab","role","tablist",1,"nav","nav-pills","mb-3"],["id","pills-tabContent",1,"tab-content"],["id","cardVerificationModal",1,"pay-options-modal"],["src","https://static.kenyabuzz.com/assets/images/components/wftxn.gif","alt","Verifying Payment"],[1,"pay_modal_final"],["id","completeMmPayment",3,"click"],[1,"safety",2,"font-weight","900",3,"click"],["id","payCompleteModal",1,"pay-options-modal"],["id","completeMmPayment_pay",3,"click"],[1,"safety"],["id","orderCompleteModal",1,"pay-options-modal"],["id","timeoutModal",1,"modal","fade"],[1,"modal-dialog","modal
1-confirm","timeout-modal"],[1,"modal-content"],[1,"modal-header","flex-column"],[1,"icon-box"],["name","timer_off"],[1,"modal-title","w-100"],[1,"modal-body"],[1,"modal-footer","justify-content-center"],["type","button",1,"btn","btn-danger",3,"click"],["type","button",1,"btn","btn-outline-primary",3,"click"],[3,"legend","toggleable"],[1,"experience-tickets-list","mx-3"],["role","status",1,"py-3"],[1,"row","px-2","px-md-3"],[1,"ticketing-section"],["action","",1,"event-ticketing-form"],[1,"main-title"],["name","shopping_cart"],[1,"items-list"],[4,"ngFor","ngForOf"],[1,"total-bar"],[1,"total-Tl"],[1,"amount-ksh"],[1,"mb-4"],[1,"experience-date-container","d-flex","flex-column","mt-5","mt-md-0","px-2","px-md-0"],["dateFormat","yy-mm-dd",3,"ngModelChange","onSelect","ngModel","ngModelOptions","minDate","maxDate","readonlyInput","iconDisplay","showIcon","disabledDates","disabled"],[1,"selected-time-slot-indicator","text-dark"],["dateFormat","yy-mm-dd","selectionMode","multiple",3,"ngModelChange","onSelect","ngModel","ngModelOptions","minDate","maxDate","readonlyInput","iconDisplay","showIcon","disabledDates","disabled"],["placeholder","Select Time","optionLabel","val","display","chip",1,"mx-3",3,"ngModelChange","onChange","options","ngModel","disabled","selectionLimit"],["role","status"],[4,"ngIf"],[1,"row","mx-1","mb-4",3,"ngClass"],[1,"col-12","col-md-3"],[1,"flex","flex-col","gap-2"],[1,"tickets-label",3,"for"],["pInputText","",1,"no-border",3,"id","value","disabled"],[1,"tickets-helper-text",3,"id"],[1,"col-6","col-md-3","mt-2","mt-md-0"],[1,"col-6","col-md-2","mt-2","mt-md-0"],["pInputText","","type","number","inputmode","numeric",3,"ngModelChange","keyup","change","id","min","max","ngModel","ngModelOptions","disabled"],["pInputText","",1,"xp-item-cost",3,"id","value","disabled"],["type","submit",1,"exp-tkt-btn","proceed-exp",3,"click"],[1,"wrap-exp-btn"],["name","double_arrow"],[1,"extras","experience-tickets-list","mx-3","mb-5"],[1,"p-3","fs-6","fw-bold"],[1,"row","align-items-center","extras-list"],[1,"col-6","mb-4"],[1,"concession-item"],[1,"fs-5","fw-lighter","addon-name"],[1,"concession_img"],[3,"error","src","alt"],[1,"concession-price"],[1,"fs-6","fw-bold"],[1,"select-concession"],[1,"col"],["name","remove_circle",1,"extras-select",3,"click"],[1,"fs-6","fw-lighter","extras-qty"],["name","add_circle",1,"extras-select",3,"click"],[1,"col","fw-bold"],[1,"selected-experience-group"],[1,"seats-title","summary-tix-group"],[1,"price-content"],[1,"tix-total"],[1,"tix-cost"],[1,"selected-times"],[1,"col-7"],[1,"tix-name"],[1,"col-2"],[1,"tix-sub-cost"],[1,"d-flex"],["type","checkbox","name","is_marketing_opt_in","id","is_marketing_opt_in",3,"ngModelChange","ngModel","ngModelOptions"],[1,"terms-conditions","indemnity-forms",3,"click"],[1,"indemnity-container"],[1,"indemnity-terms-link"],[3,"name"],[1,"col-6"],[1,"Btn__movie","mpesa",3,"click"],[1,"Btn__movie","Btn__movie--outline",3,"click"],[1,"transaction-loader","m-auto"],["role","presentation",1,"nav-item"],["id","pills-home-tab","type","button","role","tab",3,"click"],["id","pills-profile-tab","type","button","role","tab",3,"click"],["id","completeMmPayment_pay",1,"persist-light",3,"click","ngClass"],[1,"persist-light",2,"margin","20% auto"],[1,"p-field","field-replacement","my-3"],["pInputText","","placeholder","0700100100","name","phone",3,"ngModelChange","keyup","ngModel","ngModelOptions"],[1,"Btn__movie","Btn__movie--fill","mb-3",2,"margin-top","1rem","width","100%",3,"click"],[1,"hr-theme-slash-2"],[1,"hr-line"],[1,"hr-icon"],[1,"input-group","mt-3"],["type","text","placeholder","Transaction Code","aria-label","Transaction Code","aria-describedby","button-addon2",1,"form-control",3,"ngModelChange","keyup","ngModel","ngModelOptions"],[1,"input-group-append"],["type","button","id","button-addon2",1,"btn","btn-info",2,"width","100%",3,"click"],["type","button","id","button-addon2",1,"btn","btn-info",2,"width","100%",3,"click","disabled"],[1,"card","mb-5","indemnity-card"],[1,"card-header",3,"click","id"],[1,"mb-1"],["type","button","data-toggle","collapse","aria-expanded","true",1,"btn","btn-link"],[1,"mb-1","fs-5","fw-bolder","experience-indemnity-sub-title"],["data-parent","#indemnityAccordion","aria-expanded","fal
1se",3,"id"],[1,"card-body"],[1,"row","mb-2"],[1,"col-12","col-md-8"],[1,"fs-6","indemnity-text",3,"innerHTML"],[1,"col-12","col-md-4"],[1,"indemnifier-data"],[1,"consentee"],[1,"consetee-type","flex","items-center"],["name","is_child",1,"me-1",3,"ngModelChange","inputId","ngModel","binary"],[1,"ml-2",3,"for"],["pInputText","","type","text",3,"ngModelChange","keyup","change","id","value","ngModel","ngModelOptions"],[3,"for"],["pInputText","","type","tel",3,"ngModelChange","keyup","change","id","value","ngModel","ngModelOptions"],["variant","on",2,"width","100% !important"],["pInputText","","type","number",3,"ngModelChange","keyup","change","id","min","max","step","value","ngModel","ngModelOptions"],[1,"flex","flex-col","items-start","flex-auto"],[1,"flex","items-center","gap-2"],[1,"fw-bold"],[1,"font-medium","text-lg","my-4"],["severity","dander",1,"fw-bold","text-danger","cursor-pointer",3,"click"]],template:function(e,i){if(e&1){let t=w();a(0,"div",1),y(1,Hi,1,0,"div",2)(2,No,2,2),r(),a(3,"p-dialog",3),A("visibleChange",function(m){return _(t),D(i.indemnityFormIsVisible,m)||(i.indemnityFormIsVisible=m),u(m)}),a(4,"div",4),y(5,Wo,1,1,"ng-container"),r(),a(6,"div",5)(7,"button",6),g("click",function(){return i.closeDialog()}),s(8,"Cancel"),r(),a(9,"button",7),g("click",function(){return i.closeDialog()}),s(10," Agree "),r()()(),a(11,"p-toast",8),g("onClose",function(){return i.confirmDateTimeSelectionToaster()}),j(12,Ko,8,1,"ng-template",null,0,Le),r(),a(14,"p-toast",9),g("onClose",function(){return i.confirmSelectionToaster()}),j(15,Yo,8,1,"ng-template",null,0,Le),r(),a(17,"p-toast",10),g("onClose",function(){return i.confirmRequiredConsenteeToaster()}),j(18,Go,8,1,"ng-template",null,0,Le),r(),a(20,"p-toast",11),g("onClose",function(){return i.confirmRequiredDetailsToaster()}),j(21,Zo,8,1,"ng-template",null,0,Le),r(),a(23,"p-toast",12),g("onClose",function(){return i.confirmPaymentErrorToaster()}),j(24,Xo,8,1,"ng-template",null,0,Le),r()}e&2&&(l(),b(i.isLoading?1:2),l(2),un(F(17,ji)),d("modal",!0),B("visible",i.indemnityFormIsVisible),d("breakpoints",F(18,Ni))("maximizable",!0)("draggable",!1),l(2),b(i.indemnities.length>0?5:-1),l(4),We("btn btn-"+(i.checkConsenteeData()==!1?"danger":"dark")+" btn-sm btn-block indemnity-accept w-25"),d("disabled",!i.checkConsenteeData()),l(2),d("baseZIndex",5e3),l(3),d("baseZIndex",5e3),l(3),d("baseZIndex",5e3),l(3),d("baseZIndex",5e3),l(3),d("baseZIndex",5e3))},dependencies:[te,st,xn,lt,ie,Ne,ae,En,kn,Sn,vn,Ke,wn,On,Pn,Ye,Mn,se,me,_e,pe,oe,ue,ge,xe,Bn,he,Dn,re,bn,fe,Ce,An,ye,Ze,be,Fn,ve,Ln,ke,le,Tn,Me,zn,Ee,Se,Pe,Oe,Te,ce,Ve,Ie,Rn,we,fn,Jt],styles:['[_ngcontent-%COMP%]:root{--hero-min-h: clamp(380px, 60vh, 720px);--pad: clamp(16px, 4vw, 64px)}.hero[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 2fr;background:#000;color:#fff}.hero__media[_ngcontent-%COMP%]{position:relative;overflow:hidden}.hero__media[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;display:block;max-height:20rem}.hero__media[_ngcontent-%COMP%]   .back-icon[_ngcontent-%COMP%]{position:absolute;z-index:500;margin-left:1rem;margin-top:1rem;background-color:var(--bs-blue);border-radius:50%;width:2rem;height:2rem;text-align:center;align-content:center;border:.1rem white solid;cursor:pointer}.hero__media[_ngcontent-%COMP%]   .back-icon[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{vertical-align:middle;font-weight:300}@media only screen and (min-width:768px){.hero__media[_ngcontent-%COMP%]   .back-icon[_ngcontent-%COMP%]{display:none}}.hero__media[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,#0000 94%,#0009,#000 98%)}.hero__content[_ngcontent-%COMP%]{background:#000;padding:var(--pad);display:flex;flex-direction:column;justify-content:center;gap:14px}@media only screen and (max-width:600px){.hero__content[_ngcontent-%COMP%]   .hero__title[_ngcontent-%COMP%]{font-size:2rem;padding:0 1rem}.hero__content[_ngcontent-%COMP%]   .hero__subtitle[_ngcontent-%COMP%]{font-size:1rem;padding:0 1rem}.hero__content[_ngcontent-%COMP%]   .hero__fields[_ngcontent-%COMP%]{display:none}
1.hero__content[_ngcontent-%COMP%]   .kb-experience-details[_ngcontent-%COMP%]{padding:0 1rem 1rem;position:relative;text-align:left;bottom:0}}.hero__title[_ngcontent-%COMP%]{font-size:2.5rem}.hero__subtitle[_ngcontent-%COMP%]{font-size:1.2rem}.hero__fields[_ngcontent-%COMP%]{font-size:.9rem}.hero[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:#fff;text-decoration:none}.hero__customercare[_ngcontent-%COMP%]{text-align:left!important;color:#87cefa}.hero__customercare[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:inherit}@media(min-width:769px){.hero[_ngcontent-%COMP%]{grid-template-columns:3fr 2fr;height:min(var(--hero-min-h, 20rem),20rem);max-height:20rem;overflow:hidden}.hero__media[_ngcontent-%COMP%], .hero__content[_ngcontent-%COMP%]{min-height:0;height:100%}.hero__media[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover}.hero__content[_ngcontent-%COMP%]{overflow:hidden}}@media(max-width:768px){.hero[_ngcontent-%COMP%]{grid-template-columns:1fr;height:auto;max-height:none}.hero__media[_ngcontent-%COMP%]{min-height:45vh}.hero__media[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{max-height:none}.hero__media[_ngcontent-%COMP%]:after{background:linear-gradient(to bottom,#0000 60%,#0009 80%,#000 96%)}}.fader[_ngcontent-%COMP%]{position:relative;z-index:100;-moz-transition:opacity .5s linear,max-height .5s linear;-o-transition:opacity .5s linear,max-height .5s linear;-webkit-transition:opacity .5s linear,max-height .5s linear;transition:opacity .5s linear,max-height .5s linear}.fader.fadedOut[_ngcontent-%COMP%]{opacity:0;max-height:0;z-index:0}.nav-back[_ngcontent-%COMP%]{display:block;margin-right:10px;color:#87cefa}@media only screen and (min-width:601px){.nav-back[_ngcontent-%COMP%]{display:none}}.experiences-border[_ngcontent-%COMP%]{border:1px solid lightblue}.proceed-exp[_ngcontent-%COMP%]:hover{background-color:#00f!important}.movie-wrapper[_ngcontent-%COMP%]{z-index:100}.exp-tkt-btn[_ngcontent-%COMP%]{display:flex;text-align:center;padding:.25rem .5rem;width:100%;border-radius:.375rem;border:none;background-color:#d3d3d3;color:#fff;font-weight:700;font-family:Nunito;text-transform:uppercase;transition:.3s all ease-in-out;align-content:center;align-items:center;margin-bottom:1rem}.exp-tkt-btn.proceed-exp[_ngcontent-%COMP%]{background-color:#007fff!important}.wrap-exp-btn[_ngcontent-%COMP%]{display:flex;margin:0 auto;align-items:center}.experience-tickets-list[_ngcontent-%COMP%]{background-color:#f0f8ff;min-height:5rem;border-radius:.375rem;padding-top:1.75rem}.experience-tickets-list[_ngcontent-%COMP%]   select.time-input[_ngcontent-%COMP%]{width:96%;margin:0 auto;padding:.49rem 1rem;border-radius:.375rem;border:1px solid lightblue}  p-floatlabel .p-inputtext:enabled:focus, .p-floatlabel[_ngcontent-%COMP%]   .p-inputtext[_ngcontent-%COMP%]:enabled:focus{border-color:var(--bs-primary-border-subtle)!important;box-shadow:var(--p-inputtext-focus-ring-shadow);outline:var(--p-inputtext-focus-ring-width) var(--p-inputtext-focus-ring-style) var(--bs-primary-border-subtle)!important;outline-offset:var(--p-inputtext-focus-ring-offset)}  p-floatlabel .p-inputtext:-webkit-autofill,   p-floatlabel .p-inputtext:-webkit-autofill:hover,   p-floatlabel .p-inputtext:-webkit-autofill:focus,   p-floatlabel .p-inputtext:-webkit-autofill:active, .p-floatlabel[_ngcontent-%COMP%]   .p-inputtext[_ngcontent-%COMP%]:-webkit-autofill, .p-floatlabel[_ngcontent-%COMP%]   .p-inputtext[_ngcontent-%COMP%]:-webkit-autofill:hover, .p-floatlabel[_ngcontent-%COMP%]   .p-inputtext[_ngcontent-%COMP%]:-webkit-autofill:focus, .p-floatlabel[_ngcontent-%COMP%]   .p-inputtext[_ngcontent-%COMP%]:-webkit-autofill:active{-webkit-box-shadow:0 0 0 50px var(--bs-body-bg) inset!important;-webkit-text-fill-color:var(--bs-dark)!important}  p-floatlabel.p-floatlabel-on:has(input:focus) label,   p-floatlabel.p-floatlabel-on:has(input.p-filled) label,   p-floatlabel.p-floatlabel-on:has(input:-webkit-autofill) label,   p-floatlabel.p-floatlabel-on:has(textarea:focus) label,   p-floatlabel.p-floatlabel-on:has(textarea.p-filled) label,   p-floatlabel.p-floatlabel-on:has(.p-inputwrapper-focus) label,   p-floatlabel.p-floatlabel-on:has(.p-inputwrapper-filled) label, .p-floatlabel.p-floatlabel-on[_ngcontent-%COMP%]:has(input:focus)   label[_ngcontent-%COMP%], .p-floatlabel.p-floatlabel-on[_ngcontent-%COMP%]:has(input.p-filled)   label[_ngcontent-%COMP%], .p-floatlabel.p-floatlabel-on[_ngcontent-%COMP%]:has(input:-webkit-autofill)   label[_ngcontent-%COMP%], .p-floatlabel.p-floatlabel-on[_ngcontent-%COMP%]:has(textarea:focus)   label[_ngcontent-%COMP%], .p-floatlabel.p-floatlabel-on[_ngcontent-%COMP%]:has(textarea.p-filled)   label[_ngcontent-%COMP%], .p-floatlabel.p-floatlabel-on[_ngcontent-%COMP%]:has(.p-inputwrapper-focus)   label[_ngcontent-%COMP%], .p-floatlabel.p-floatlabel-on[_ngcontent-%COMP%]:has(.p-inputwrapper-filled)   label[_ngcontent-%COMP%]{background:var(--bs-body-bg)!important;color:var(--black-color)!important}  p-datepicker{width:95%!important}  p-datepicker .p-datepicker{width:100%!important}  p-datepicker .p-datepicker .p-datepicker-panel{background:var(--bs-gray-dark)}  p-datepicker .p-datepicker .p-datepicker-panel{background:var(--bs-secondary)!important}  .p-datepicker-day{color:var(--bs-body-bg)!important}  .p-fieldset{background:transparent!important;border:1px solid var(--bs-dark-bg-subtle)!important}@media only screen and (max-width:600px){  .p-fieldset{padding:0!important}  .p-fieldset .xp-item-cost{font-size:.75rem;padding-top:.95rem;padding-bottom:.95rem}}  .p-fieldset label,   .p-fieldset small{color:var(--bs-body-color)!important}  .p-fieldset label.tickets-label,   .p-fieldset small.tickets-label{font-weight:900;font-size:.85rem}  .p-fieldset label.tickets-helper-text,   .p-fieldset small.tickets-helper-text{font-style:italic;font-weight:200;font-size:.85rem}  .p-fieldset .p-inputtext{width:100%!important}  .p-fieldset .p-inputtext.no-border{border:none!important;padding-left:0!important}@media only screen and (max-width:600px){  .p-fieldset .p-inputtext.no-border{padding-top:0!important}}  .p-fieldset-legend{background:transparent!important}  .p-fieldset-toggle-button{color:var(--bs-body-color)!important}p-multiselect[_ngcontent-%COMP%]{border:1px solid var(--bs-gray-dark);border-radius:.375rem;width:90%;height:100%}@media only screen and (max-width:600px){p-multiselect[_ngcontent-%COMP%]{width:100%}}.selected-time-slot-indicator[_ngcontent-%COMP%]{padding-top:.25rem;font-size:.75rem;font-weight:400;text-align:left;width:90%}@media only screen and (max-width:600px){.selected-time-slot-indicator[_ngcontent-%COMP%]{width:100%}}  .p-multiselect{background:transparent!important}  .p-multiselect-overlay{background:var(--white-color)!important}  .p-inputtext{color:var(--bs-dark)!important;background:#f0f8ff!important}  .p-inputtext:enabled:focus{border-color:var(--bs-primary-border-subtle);box-shadow:var(--p-inputtext-focus-ring-shadow);outline:var(--p-inputtext-focus-ring-width) var(--p-inputtext-focus-ring-style) var(--bs-primary-border-subtle);outline-offset:var(--p-inputtext-focus-ring-offset)}  .p-multiselect-option{color:var(--bs-dark)!important}  .p-checkbox-box{background:var(--white-color)!important}  .p-checkbox-checked .p-checkbox-box{border-color:var(--color-exp)!important;background:var(--color-exp)!important}  .p-multiselect-option:not(.p-multiselect-option-selected):not(.p-disabled).p-focus{background:#f0f8ff!important}.experience-date-container[_ngcontent-%COMP%]{align-items:center;display:flex;justify-content:center}.experience-date-container[_ngcontent-%COMP%]   form[_ngcontent-%COMP%]{background-color:#fff;box-shadow:0 8px 24px #00000014;border-radius:.375rem;position:relative;width:100%;line-height:0rem}.experience-date-container[_ngcontent-%COMP%]   form[_ngcontent-%COMP%]   input[_ngcontent-%COMP%]{background-color:transparent!important;border:1px solid lightblue;border-left:1px solid #eee;padding:.5rem;width:100%;border-radius:.375rem}@media only screen and (max-width:600px){.experience-date-container[_ngcontent-%COMP%]   form[_ngcontent-%COMP%]{width:96%;margin:0 auto}}.tix_qty[_ngcontent-%COMP%]{width:4rem;border-radius:.375rem;border:1px solid lightblue;padding:.2rem .5rem;color:var(--black-color);background-color:var(--bs-body-bg);font-size:.8rem}@media only screen and (max-width:600px){.tix_qty[_ngcontent-%COMP%]{width:95%}}@media only screen and (max-width:600px){.experience-extras[_ngcontent-%COMP%]{width:100%;margin:0 auto}.experience-extras[_ngcontent-%COMP%]   .experience-card[_ngcontent-%COMP%]{margin:1rem auto;width:98%;padding:.15rem 0rem}}.extras[_ngcontent-%COMP%]   .col[_ngcontent-%COMP%]   .concession-item[_ngcontent-%COMP%]{text-align:center}.extras[_ngcontent-%COMP%]   .concession-item[_ngcontent-%COMP%]{border:1px dashed var(--gray-border-2);border-radius:.4rem;padding:1rem 2rem;min-height:9rem;text-align:center}.extras[_ngcontent-%COMP%]   .concession-item[_ngcontent-%COMP%]   .addon-name[_ng
1content-%COMP%]{margin-bottom:0}@media only screen and (max-width:600px){.extras[_ngcontent-%COMP%]   .concession-item[_ngcontent-%COMP%]{padding:1rem .5rem}}.extras[_ngcontent-%COMP%]   .extras-list[_ngcontent-%COMP%]{padding:.5rem}.extras[_ngcontent-%COMP%]   div.concession_img[_ngcontent-%COMP%]{height:7rem;display:inline-flex;align-items:center;background-color:#fff}.extras[_ngcontent-%COMP%]   div.concession_img[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:auto;max-height:100%;height:auto}.extras[_ngcontent-%COMP%]   div.concession-price[_ngcontent-%COMP%]{margin:0 auto}@media only screen and (max-width:600px){.extras[_ngcontent-%COMP%]   div.concession-price[_ngcontent-%COMP%]{width:max-content!important}}.extras[_ngcontent-%COMP%]   .select-concession[_ngcontent-%COMP%]   .extras-select[_ngcontent-%COMP%]{cursor:pointer}.extras[_ngcontent-%COMP%]   .select-concession[_ngcontent-%COMP%]   .extras-select[_ngcontent-%COMP%]:hover{color:#1f4dcc}.extras[_ngcontent-%COMP%]   .select-concession[_ngcontent-%COMP%]   .extras-qty[_ngcontent-%COMP%]{display:inline}.events-summary.booking-summary[_ngcontent-%COMP%]{border:none}.events-summary.booking-summary[_ngcontent-%COMP%]   .title[_ngcontent-%COMP%]{color:#1f4dcc}.events-summary.booking-summary[_ngcontent-%COMP%]   a.exp-nav-back[_ngcontent-%COMP%]{font-size:15px;vertical-align:middle;color:#1f4dcc;text-decoration:none;font-weight:600;cursor:pointer}.events-summary.booking-summary[_ngcontent-%COMP%]   a.exp-nav-back[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{font-size:15px;vertical-align:middle}.events-summary.booking-summary[_ngcontent-%COMP%]   .user-details[_ngcontent-%COMP%]{margin-top:1.5rem}.events-summary.booking-summary[_ngcontent-%COMP%]   .user-details[_ngcontent-%COMP%]   input.input-elements[_ngcontent-%COMP%]{padding:10px;width:100%;margin-bottom:.5rem;background-color:var(--bs-body-bg)}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions[_ngcontent-%COMP%]{font-size:12px;font-weight:700}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions[_ngcontent-%COMP%]:first-child{margin-top:2rem}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions[_ngcontent-%COMP%]   a.journey-terms-link[_ngcontent-%COMP%]{color:var(--color-exp);font-weight:900;cursor:pointer}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions[_ngcontent-%COMP%]   span.d-flex[_ngcontent-%COMP%]{align-self:center;margin-right:.3rem}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions[_ngcontent-%COMP%]   span.d-flex[_ngcontent-%COMP%]   input[_ngcontent-%COMP%]{height:1rem;width:1rem}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions.indemnity-forms[_ngcontent-%COMP%]{width:100%;display:inline-flex;align-items:center;border:1px solid var(--bs-blue);border-radius:.375rem;padding:.5rem 1rem;cursor:pointer}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions.indemnity-forms[_ngcontent-%COMP%]   .indemnity-container[_ngcontent-%COMP%]{margin:0 auto;align-content:center;align-items:center;line-height:1rem}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions.indemnity-forms[_ngcontent-%COMP%]   .indemnity-container[_ngcontent-%COMP%]   span.indemnity-terms-link[_ngcontent-%COMP%]{color:#0000cd;display:flex;align-items:center}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions.indemnity-forms[_ngcontent-%COMP%]   .indemnity-container[_ngcontent-%COMP%]   span.indemnity-not-signed[_ngcontent-%COMP%]{color:var(--bs-form-invalid-color);margin-left:.5rem;cursor:none}.events-summary.booking-summary[_ngcontent-%COMP%]   .terms-conditions.indemnity-forms[_ngcontent-%COMP%]   .indemnity-container[_ngcontent-%COMP%]   span.indemnity-signed[_ngcontent-%COMP%]{color:var(--green-color);margin-left:.5rem;cursor:none}.events-summary.booking-summary[_ngcontent-%COMP%]   .builder-link[_ngcontent-%COMP%]{padding:.5rem 0}.events-summary.booking-summary[_ngcontent-%COMP%]   .Btn__movie--outline[_ngcontent-%COMP%]{border:1px solid var(--color-exp);color:var(--color-exp-text);width:100%}.events-summary.booking-summary[_ngcontent-%COMP%]   .Btn__movie--outline[_ngcontent-%COMP%]:hover{background-color:#f0f8ff}.selected-experience-group[_ngcontent-%COMP%]{border:1px dashed gray;border-radius:.375rem;margin-bottom:1rem;padding:.5rem}.events-summary.booking-summary[_ngcontent-%COMP%]   .seats-title.summary-tix-group[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{color:var(--color-exp-text);font-style:italic}.events-summary.booking-summary[_ngcontent-%COMP%]   .seats-title.summary-tix-group[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]   span.selected-times[_ngcontent-%COMP%]{font-size:.95rem;font-weight:900}  .events-summary.booking-summary .tix-sub-cost{display:block;font-size:small;text-align:right;width:100%;padding-right:.4rem}#indemnityAccordion[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{background-color:#f0f8ff;cursor:pointer;border-top-left-radius:1.375rem;border-top-right-radius:1.375rem}#indemnityAccordion[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]   .btn-link[_ngcontent-%COMP%]{text-decoration:none}#indemnityAccordion[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]   .btn-link[_ngcontent-%COMP%]   h3.experience-indemnity-sub-title[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{border:1px solid;border-radius:.375rem;margin-right:.5rem}.indemnity-card[_ngcontent-%COMP%]{border-radius:1.375rem}.indemnity-dialog-title[_ngcontent-%COMP%]{font-weight:800}.experience-indemnity-sub-title[_ngcontent-%COMP%]{color:var(--color-exp-text);display:flex;align-items:center;line-height:1.2}  .indemnifier-data{display:flex;flex-direction:column;flex-grow:1;justify-content:space-between}  .indemnifier-data .consentee{border:1px solid lightgray;border-radius:.375rem;padding-bottom:.5rem;margin-bottom:1rem;display:grid;align-self:center}  .indemnifier-data .consentee .consetee-type{margin:.5rem 0;padding:0 .25rem}  .indemnifier-data .consentee .consetee-type p-checkbox   .p-checkbox-checked .p-checkbox-box{border-color:var(--color-exp)!important;background:transparent!important}  .indemnifier-data .consentee .consetee-type p-checkbox   .p-checkbox{vertical-align:middle!important;height:100%!important}  .indemnifier-data .consentee p-floatlabel,   .indemnifier-data .consentee .p-floatlabel{margin:.25rem auto;padding:0 .25rem}  .indemnifier-data .consentee p-floatlabel .p-inputtext,   .indemnifier-data .consentee .p-floatlabel .p-inputtext{color:var(--bs-dark)!important;background:var(--bs-body-bg)!important}  .indemnifier-data .btn-secondary{line-height:.5rem;border-radius:.375rem}.indemnity-text[_ngcontent-%COMP%]{color:#000}.indemnity-accept[_ngcontent-%COMP%]{color:#fff}  .p-toast{background-color:var(--bs-danger-bg-subtle);border-radius:.375rem}body.kb-light-theme[_nghost-%COMP%]     .p-datepicker, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker, body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-panel, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-panel{background:#fff!important;color:#1f2937!important;border-color:#d1d5db!important}body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-header, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-header, body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-title, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-title, body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-select-month, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-select-month, body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-select-year, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-select-year, body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-weekday, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-weekday, body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-day, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-day, body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-prev-button, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-prev-button, body.kb-light-theme[_nghost-%COMP%]     .p-datepicker-next-button, body.kb-light-theme   [_nghost-%COMP%]     .p-datepicker-next-button{color:#1f2937!important}body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-panel, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-panel{background:var(--kb-theme-surface, #1f1f1f)!important;color:var(--kb-theme-text, #f5f5f5)!important;border-color:#444!important}body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-header, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-header, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-title, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-title, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-select-month, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-select-month, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-select-year, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-select-year, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-weekday, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-weekday, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-day, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-day, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-prev-button, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-prev-button, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-next-button, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-next-button, body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-buttonbar button, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-buttonbar button{color:var(--kb-theme-text, #f5f5f5)!important}body.kb-dark-theme[_nghost-%COMP%]     .p-datepicker-day:not(.p-datepicker-day-selected):not(.p-disabled):hover, body.kb-dark-theme   [_nghost-%COMP%]     .p-datepicker-day:not(.p-datepicker-day-selected):not(.p-disabled):hover{background:var(--kb-theme-surface-2, #282828)!important}body.kb-dark-theme[_nghost-%COMP%]     .p-inputtext:-webkit-autofill, body.kb-dark-theme   [_nghost-%COMP%]     .p-inputtext:-webkit-autofill, body.kb-dark-theme[_nghost-%COMP%]     .p-inputtext:-webkit-autofill:hover, body.kb-dark-theme   [_nghost-%COMP%]     .p-inputtext:-webkit-autofill:hover, body.kb-dark-theme[_nghost-%COMP%]     .p-inputtext:-webkit-autofill:focus, body.kb-dark-theme   [_nghost-%COMP%]     .p-inputtext:-webkit-autofill:focus, body.kb-dark-theme[_nghost-%COMP%]     .p-inputtext:-webkit-autofill:active, body.kb-dark-theme   [_nghost-%COMP%]     .p-inputtext:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--kb-theme-input, #171717) inset!important;-webkit-text-fill-color:var(--kb-theme-text, #f5f5f5)!important;caret-color:var(--kb-theme-text, #f5f5f5)!important;transition:background-color 5000s ease-in-out 0s}']})};var Qo=o=>({"chosen-experience":o}),Gn=o=>({"sticky-btn":o});function Jo(o,n){o&1&&h(0,"div",1)}function er(o,n){o&1&&(a(0,"h4",2),h(1,"kb-icon",3),a(2,"p",4),s(3," Sorry, there seems to be an issue with this venue. "),r()())}
1function tr(o,n){if(o&1&&(a(0,"a",14),s(1),r()),o&2){let e=p(3);d("href",e.experienceVenue.venue.website,L),l(),v(e.experienceVenue.venue.website)}}function nr(o,n){o&1&&s(0," OR ")}function ir(o,n){if(o&1&&(y(0,nr,1,0),a(1,"a",15),s(2),r()),o&2){let e=p(3);b(e.experienceVenue.venue.website?0:-1),l(),d("href","mailto:"+e.experienceVenue.venue.email,L),l(),v(e.experienceVenue.venue.email)}}function or(o,n){o&1&&(a(0,"p",25),s(1,"Not Available"),r())}function rr(o,n){if(o&1&&h(0,"p",26),o&2){let e=p(3);d("innerHTML",e.experienceVenue.venue.description,et)}}function ar(o,n){o&1&&(a(0,"p",29),s(1,"No Adventures Listed Yet"),r())}function sr(o,n){o&1&&h(0,"i",39)}function lr(o,n){o&1&&h(0,"i",40)}function cr(o,n){if(o&1){let e=w();a(0,"p",44)(1,"b",46),g("click",function(){_(e);let t=p().$implicit;return u(t.show_full_description=!0)}),s(2," Show Less "),r()()}if(o&2){let e=p().$implicit;d("innerHTML",e.description,et)}}function pr(o,n){if(o&1){let e=w();a(0,"b",46),g("click",function(){_(e);let t=p(2).$implicit;return u(t.show_full_description=!0)}),s(1," Show More "),r()}}function dr(o,n){if(o&1&&(a(0,"p",45),s(1),j(2,pr,2,0,"b",47),r()),o&2){let e=p().$implicit;l(),P(" ",e.short_description," "),l(),d("ngIf",e.short_description!=null&&e.short_description.length>220)}}function mr(o,n){if(o&1){let e=w();a(0,"div",37),g("click",function(){let t=_(e).$implicit,c=p(4);return t.is_selected=!t.is_selected,u(c.checkSelectedExperiences())}),a(1,"div",21)(2,"div",38),y(3,sr,1,0,"i",39)(4,lr,1,0,"i",40),a(5,"img",41),Q("poster-fade-out"),W("poster-fade-in"),g("error",function(){let t=_(e).$implicit,c=p(4);return u(t.poster=c.handleMissingImage())}),r()(),a(6,"div",42)(7,"h4",43),s(8),r(),y(9,cr,3,1,"p",44)(10,dr,3,2,"p",45),r()()()}if(o&2){let e=n.$implicit;d("ngClass",R(6,Qo,e.is_selected)),l(3),b(e.is_selected?3:4),l(2),d("alt",e.name)("src",e.poster,L),l(3),v(e.name),l(),b(e.show_full_description==!0?9:10)}}function _r(o,n){if(o&1){let e=w();a(0,"button",48),g("click",function(){_(e);let t=p(4);return u(t.proceedToBuy())}),a(1,"span",49),s(2," Proceed "),h(3,"kb-icon",50),r()()}if(o&2){let e=p(4);d("ngClass",R(1,Gn,e.experienceVenue.experiences.length>2))}}function ur(o,n){if(o&1&&(a(0,"button",36)(1,"span",49),s(2," Select To Proceed "),h(3,"kb-icon",50),r()()),o&2){let e=p(4);d("ngClass",R(1,Gn,e.experienceVenue.experiences.length>2))}}function gr(o,n){if(o&1&&(V(0,mr,11,8,"div",34,G),y(2,_r,4,3,"button",35)(3,ur,4,3,"button",36)),o&2){let e=p(3);I(e.experienceVenue.experiences),l(2),b(e.experienceSelected?2:3)}}function xr(o,n){if(o&1&&(a(0,"h5",31)(1,"a",14),s(2," View Location On Google Maps "),h(3,"kb-icon",51),r()()),o&2){let e=p(3);l(),d("href",e.experienceVenue.venue.maps_link,L)}}function hr(o,n){o&1&&(a(0,"p",33),s(1,"No Open Hours"),r())}function fr(o,n){if(o&1&&(a(0,"li",53)(1,"div"),s(2),a(3,"span",55),s(4),r()()()),o&2){let e=n.$implicit;l(2),P("",e.day_of_week,": "),l(2),at(" ",e.open_time," - ",e.close_time," ")}}function Cr(o,n){o&1&&(a(0,"h6",54),s(1,"Also Open On Public Holidays"),r())}function yr(o,n){if(o&1&&(a(0,"ul",52),V(1,fr,5,3,"li",53,Ue),r(),y(3,Cr,2,0,"h6",54)),o&2){let e=p(3);l(),I(e.experienceVenue.venue.open_hours),l(2),b(e.experienceVenue.venue.is_open_on_holiday==!0?3:-1)}}function br(o,n){if(o&1&&(a(0,"img",57),Q("poster-fade-out"),W("poster-fade-in"),r()),o&2){let e=n.$implicit,i=n.$index;d("id",z("pics-slider-img-",i))("alt",z("Image ",i))("src",e,L)}}function vr(o,n){if(o&1&&(a(0,"div",23)(1,"div",56),V(2,br,1,5,"img",57,G),r(),h(4,"div",58),r()),o&2){let e=p(3);l(2),I(e.experienceVenue.venue.other_images)}}function kr(o,n){if(o&1){let e=w();a(0,"section",5)(1,"div",6)(2,"span",7),g("click",function(){_(e);let t=p(2);return u(t.goBack())}),h(3,"kb-icon",8),r(),h(4,"img",9),r(),a(5,"div",10)(6,"h2",11),s(7),r(),a(8,"p",12),s(9),r(),a(10,"div",13),y(11,tr,2,2,"a",14),y(12,ir,3,3),h(13,"br"),a(14,"a",15),s(15),r()(),a(16,"div",16)(17,"h3",17),s(18," KenyaBuzz Customer care: "),a(19,"a",18),s(20,"0103132337"),r(),s(21," OR "),a(22,"a",19),s(23,"0791478090"),r()()()()(),a(24,"div",20)(25,"div",21)(26,"div",22)(27,"div",23)(28,"h1",24),s(29,"Description"),r(),y(30,or,2,0,"p",25),y(31,rr,1,1,"p",26),r(),a(32,"div",23)(33,"h1",24)(34,"span",27),s(35,"Tap To\xA0"),r(),s(36,"Choose Your Adventures!"),r(),a(37,"div",28),y(38,ar,2,0,"p",29)(39,gr,4,1),r()()(),a(40,"div",30)(41,"div",23),y(42,xr,4,1,"h5",31),a(43,"h1",32),s(44,"Open Hours"),r(),y(45,hr,2,0,"p",33)(46,yr,4,1),r(),y(47,vr,5,0,"div",23),r()()()}if(o&2){let e=p(2);l(4),d("src",e.experienceVenue.venue.poster,L),l(3),v(e.experienceVenue.venue.venue_name),l(2),v(e.experienceVenue.venue.address),l(2),b(e.experienceVenue.venue.website?11:-1),l(),b(e.experienceVenue.venue.email?12:-1),l(2),d("href","tel:"+e.experienceVenue.venue.phone,L),l(),v(e.experienceVenue.venue.phone),l(15),b(e.experienceVenue.venue.description==""||e.experienceVenue.venue.description==null?30:-1),l(),b(e.experienceVenue.venue.description?31:-1),l(7),b(e.experienceVenue.experiences.length==0?38:e.experienceVenue.experiences.length>0?39:-1),l(4),b(e.experienceVenue.venue.maps_link?42:-1),l(3),b(e.experienceVenue.venue.open_hours.length==0?45:e.experienceVenue.venue.open_hours.length>0?46:-1),l(2),b(e.experienceVenue.venue.other_images.length>0?47:-1)}}function wr(o,n){if(o&1&&(y(0,er,4,0,"h4",2),y(1,kr,48,13)),o&2){let e=p();b(e.experienceDataExists?-1:0),l(),b(e.experienceDataExists&&e.experienceVenue?1:-1)}}var Gt=class o{constructor(n,e,i,t,c,m,C,M,x,O){this.router=n;this._Activatedroute=e;this.dataService=i;this.pluginService=t;this.apiService=c;this.trackingService=m;this.metaService=C;this.shareService=M;this.destroyRef=x;this.pendingTasks=O;let T=this._Activatedroute.paramMap.pipe(Ae(E=>E.get("slug")),qe(E=>
1!!E),Fe()),f=this._Activatedroute.queryParamMap.pipe(Ae(E=>E.get("utm_source")||null),Fe());$e([T,f]).pipe(Ge(this.destroyRef)).subscribe(([E,De])=>{this.slug=E,De&&this.trackingService.setUtmSource(De,E),this.pendingTasks.run(()=>this.getExperienceDetails(E)),this.slug=E})}slug=null;isLoading=!0;experienceVenue=null;experienceDataExists=!1;experienceSelected=!1;ngOnInit(){this.metaService.removeTag("name='keywords'")}ngAfterViewInit(){this.pluginService.scrollToTop()}getExperienceDetails(n){return Y(this,null,function*(){let e=this.trackingService.getUtmSource(this.slug),i=`${this.apiService.getEndpoints().experiences.get_experience}${n}`;e&&e!="null"&&(i+=`/${e}`);let t=yield J(this.apiService.get_v3(i,{},Vn));if(!t?.data?.location){this.isLoading=!1;return}t.data.location.poster!=null&&!t.data.location.poster.startsWith("https")&&(t.data.location.poster="https://static.kenyabuzz.com/public"+t.data.location.poster),t.data.location.poster==null&&(t.data.location.poster="assets/images/components/no_image_to_show_.jpg");let c=null;if(t.data.location.lat!=null&&t.data.location.lng!=null&&(c=`https://www.google.com/maps/@${t.data.location.lat},${t.data.location.lng},14z`),this.experienceVenue={t:t.data.t??null,venue:{venue_id:t.data.location.location_id,venue_name:t.data.location.location_name,phone:t.data.location.location_phone!=null&&t.data.location.location_phone.trim().length>0?t.data.location.location_phone:"-",email:t.data.location.location_email!=null&&t.data.location.location_email.trim().length>0?t.data.location.location_email:"-",website:t.data.location.location_website!=null&&t.data.location.location_website.trim().length>0?t.data.location.location_website:null,address:t.data.location.location_address!=null&&t.data.location.location_address.trim().length>0?t.data.location.location_address:"-",description:t.data.location.location_description!=null&&t.data.location.location_description.trim().length>0?t.data.location.location_description:null,town_name:t.data.location.town??"-",town_id:t.data.location.town_id??null,poster:t.data.location.poster??null,is_open_on_holiday:t.data.location.is_open_on_holiday??!1,is_marketing_opt_in:t.data.location.is_marketing_opt_in??!1,maps_link:c,other_images:[],open_hours:[]},experiences:[]},t.data.location.img_2!=null&&t.data.location.img_2.trim()!=""&&this.experienceVenue.venue.other_images.push(t.data.location.img_2),t.data.location.img_3!=null&&t.data.location.img_3.trim()!=""&&this.experienceVenue.venue.other_images.push(t.data.location.img_3),t.data.location.img_4!=null&&t.data.location.img_4.trim()!=""&&this.experienceVenue.venue.other_images.push(t.data.location.img_4),t.data.location.img_5!=null&&t.data.location.img_5.trim()!=""&&this.experienceVenue.venue.other_images.push(t.data.location.img_5),"open_hours"in t.data.location&&Array.isArray(t.data.location.open_hours))for(let M=0;M<t.data.location.open_hours.length;M++){let x=t.data.location.open_hours[M],O={open_hour_id:x.id,open_time:this.dataService.readableTime(x.open_time)??"_",close_time:this.dataService.readableTime(x.close_time)??"_",day_of_week:x.name,day_id:x.day_id,is_open:x.is_open};this.experienceVenue.venue.open_hours.push(O)}if("experiences"in t.data&&Array.isArray(t.data.experiences)){for(let M=0;M<t.data.experiences.length;M++){let x=t.data.experiences[M],O={experience_id:x.experience_id,name:x.name,poster:x.poster,slug:x.slug,description:x.description,short_description:x.desc_plain_text!=null&&x.desc_plain_text.trim().length>0?this.dataService.truncateText(x.desc_plain_text,220):"",indemnity_form:x.indemnity_form,extend_indemnity:x.extend_indemnity??!1,open_hours:[],ticket_types:[],addon_extras:[],is_selected:!1,show_full_description:!1,disable_multitime_selection:x.disable_multitime_selection};if("addons"in x&&Array.isArray(x.addons))for(let T=0;T<x.addons.length;T++){let f=x.addons[T],E={id:f.concession_id,name:f.name,price:+f.price,icon:f.icon??null,max_selectable:f.max_selectable>0?f.max_selectable:null,min_selectable:f.min_selectable>0?f.min_selectable:null,is_mandatory:f.is_mandatory??!1};O.addon_extras.push(E)}if("ticket_types"in x&&Array.isArray(x.ticket_types))for(let T=0;T<x.ticket_types.length;T++){let f=x.ticket_types[T],E={ticket_type_id:f.experience_ticket_type_id,name:f.name,price:+f.price,max_per_customer:parseInt(f.max_per_customer)>0?f.max_per_customer:20,min_per_customer:parseInt(f.min_per_customer)>0?f.min_per_customer:0,group_ticket:f.group_ticket??!1,group_quantity:f.group_quantity!=null&&f.group_quantity>
10?parseInt(f.group_quantity):null,slot_data:"slots_data"in f?{attendance_date:f.slots_data.attendance_date,attendance_time:f.slots_data.attendance_time,experience_id:f.slots_data.experience_id,slot:parseInt(f.slots_data.slot),ticket_type_id:parseInt(f.slots_data.ticket_type_id)}:null};O.ticket_types.push(E)}if("operation_hours"in x&&Array.isArray(x.operation_hours)){let T=new Map((t.data.location.open_hours||[]).map(f=>[f.day_id,f]));x.operation_hours=x.operation_hours.map(f=>{let E=T.get(f.day_id);if(E){let De=!f.opens||f.opens<E.open_time?E.open_time:f.opens,Xe=!f.closes||f.closes>E.close_time?E.close_time:f.closes;return on(nn({},f),{opens:De,closes:Xe})}return f});for(let f=0;f<x.operation_hours.length;f++){let E=x.operation_hours[f],De={open_hour_id:E.open_hour_id,open_time:E.opens,close_time:E.closes,day_of_week:E.day,day_id:E.day_id,interval:E.interval,max:E.max,min:E.min,use_interval:E.use_interval,disable_slots:E.disable_slots,time_slots:[]};O.open_hours.push(De)}}this.experienceVenue.experiences.push(O)}this.experienceDataExists=this.experienceVenue!=null&&this.experienceVenue.experiences.length>0,this.isLoading=!1,this.trackExperienceViews(t.data.location?.location_id),this.experienceDataExists&&this.experienceVenue.venue.other_images.length>0&&this.dataService.isBrowser()==!0&&setTimeout(()=>{this.pluginService.initSimplePicsSlider(this.experienceVenue.venue.other_images)},1e3)}let m=this.experienceVenue.venue,C=m.description||`Discover and book experiences at ${m.venue_name} on KenyaBuzz.`;this.metaService.updateTag({property:"keywords",content:"experiences, outdoor, fun, outing, family, friends, activities, holiday, tickets"}),this.shareService.setShareMetadata({title:m.venue_name,description:C,url:`https://kenyabuzz.com/experiences/${n}`,image:m.poster||"https://static.kenyabuzz.com/assets/images/components/og-kb-experiences.png",type:"article"})})}checkSelectedExperiences(){let n=!1;if(this.experienceVenue)for(let e=0;e<this.experienceVenue.experiences.length;e++)this.experienceVenue.experiences[e].is_selected&&(n=!0);this.experienceSelected=n}handleMissingImage(){return this.dataService.placeholdMissingImg()}proceedToBuy(){localStorage.setItem(this.apiService.getEndpoints().local_storage.experiences.step_2,JSON.stringify(this.experienceVenue)),this.router.navigate(["/experiences/"+this.slug+"/buy"])}goBack(){this.router.navigate(["/experiences"])}trackExperienceViews(n){let e=[],i=Number(n);Number.isFinite(i)&&i>0&&e.push({item_type:"VENUE",item_id:i}),this.experienceVenue?.experiences.forEach(t=>{e.push({item_type:"EXPERIENCE",item_id:t.experience_id})}),this.dataService.trackUserViews(e)}static \u0275fac=function(e){return new(e||o)(k(je),k(Re),k(X),k(Be),k(Z),k(de),k(ne),k(qn),k(He),k(ln))};static \u0275cmp=ee({type:o,selectors:[["app-view-experience"]],decls:3,vars:1,consts:[[1,"main-container","experience-venue-page"],[1,"kb-loader",2,"margin","20rem auto"],[1,"no-experience-msg","p-5","text-center"],["name","heart_broken"],[1,"fs-3"],[1,"hero"],[1,"hero__media"],[1,"back-icon",3,"click"],["name","west"],["alt","Scenic landscape hero image","loading","eager","decoding","async",3,"src"],[1,"hero__content"],[1,"hero__title"],[1,"hero__subtitle"],[1,"hero__fields"],["target","_blank",3,"href"],[3,"href"],[1,"col-12","kb-experience-details"],[1,"hero__customercare"],["href","tel:0103132337"],["href","tel:0791478090"],[1,"movie-wrapper","experience-wrapper"],[1,"row"],[1,"col-12","col-md-8"],[1,"experience-card"],[1,"p-3","text-2xl"],[1,"px-3","py-1","fs-5","fw-lighter","experience-desc-text"],[1,"px-3","py-1","fs-5","fw-lighter","experience-desc-text",3,"innerHTML"],[1,"d-block","d-md-none"],[1,"experiences-list"],[1,"px-3","py-1","fs-5","fw-lighter"],[1,"col-12","col-md-4"],[1,"pb-1","px-3","pt-3","fs-6","fw-light","location-map"],[1,"pb-1","px-3","pt-3","text-2xl"],[1,"px-3","fs-5","fw-lighter"],[1,"experience-listing",3,"ngClass"],["type","submit",1,"exp-tkt-btn","proceed-exp",3,"ngClass"],["type","submit","disabled","",1,"exp-tkt-btn",3,"ngClass"],[1,"experience-listing",3,"click","ngClass"],[1,"col-6","col-md-4"],[1,"pi","pi-check-square"],[1,"pi","pi-stop"],[1,"owl-lazy","experience-img",3,"error","alt","src"],[1,"col-6","col-md-8"],[1,"fs-6"],[1,"py-1","fs-6","fw-lighter","experience_desc",3,"innerHTML"],[1,"py-1","fs-6","fw-lighter","experience_desc"],[1,"show-more-less",3,"click"],["class","show-more-less",3,"click",4,"ngIf"],["type","submit",1,"exp-tkt-btn","proceed-exp",3,"click","ngClass"],[1,"wrap-exp-btn"],["name","keyboard_double_arrow_right"],["name","location_on"],[1,"pb-3","pt-1","px-3","open-close-times-list"],[1,"py-1"],[1,"text-center"],[1,"open-close-time"],[1,"pics-slider"],[3,"id","src","alt"],[1,"pics-navigation-button"]],template:function(e,i){e&1&&(a(0,"div",0),y(1,Jo,1,0,"div",1)(2,wr,2,2),r()),e&2&&(l(),b(i.isLoading?1:2))},dependencies:[te,st,lt,ie,ae,se,me,_e,pe,oe,ue,ge,xe,he,re,fe,Ce,ye,be,ve,ke,le,Me,Ee,Se,Pe,Oe,Te,ce,Ve,Ie,we],styles:['[_ngcontent-%COMP%]:root{--hero-min-
1h: clamp(380px, 60vh, 720px);--pad: clamp(16px, 4vw, 64px)}.hero[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 2fr;background:#000;color:#fff}.hero__media[_ngcontent-%COMP%]{position:relative;overflow:hidden}.hero__media[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;display:block;max-height:20rem}.hero__media[_ngcontent-%COMP%]   .back-icon[_ngcontent-%COMP%]{position:absolute;z-index:500;margin-left:1rem;margin-top:1rem;background-color:var(--bs-blue);border-radius:50%;width:2rem;height:2rem;text-align:center;align-content:center;border:.1rem white solid;cursor:pointer}.hero__media[_ngcontent-%COMP%]   .back-icon[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{vertical-align:middle;font-weight:300}@media only screen and (min-width:768px){.hero__media[_ngcontent-%COMP%]   .back-icon[_ngcontent-%COMP%]{display:none}}.hero__media[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,#0000 94%,#0009,#000 98%)}.hero__content[_ngcontent-%COMP%]{background:#000;padding:var(--pad);display:flex;flex-direction:column;justify-content:center;gap:14px}@media only screen and (max-width:600px){.hero__content[_ngcontent-%COMP%]   .hero__title[_ngcontent-%COMP%]{font-size:2rem;padding:0 1rem}.hero__content[_ngcontent-%COMP%]   .hero__subtitle[_ngcontent-%COMP%]{font-size:1rem;padding:0 1rem}.hero__content[_ngcontent-%COMP%]   .hero__fields[_ngcontent-%COMP%]{display:none}.hero__content[_ngcontent-%COMP%]   .kb-experience-details[_ngcontent-%COMP%]{padding:0 1rem 1rem;position:relative;text-align:left;bottom:0}}.hero__title[_ngcontent-%COMP%]{font-size:2.5rem}.hero__subtitle[_ngcontent-%COMP%]{font-size:1.2rem}.hero__fields[_ngcontent-%COMP%]{font-size:.9rem}.hero[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:#fff;text-decoration:none}.hero__customercare[_ngcontent-%COMP%]{text-align:left!important;color:#87cefa}.hero__customercare[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:inherit}@media(min-width:769px){.hero[_ngcontent-%COMP%]{grid-template-columns:3fr 2fr;
1height:min(var(--hero-min-h, 20rem),20rem);max-height:20rem;overflow:hidden}.hero__media[_ngcontent-%COMP%], .hero__content[_ngcontent-%COMP%]{min-height:0;height:100%}.hero__media[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover}.hero__content[_ngcontent-%COMP%]{overflow:hidden}}@media(max-width:768px){.hero[_ngcontent-%COMP%]{grid-template-columns:1fr;height:auto;max-height:none}.hero__media[_ngcontent-%COMP%]{min-height:45vh}.hero__media[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{max-height:none}.hero__media[_ngcontent-%COMP%]:after{background:linear-gradient(to bottom,#0000 60%,#0009 80%,#000 96%)}}@media(prefers-reduced-motion:reduce){*[_ngcontent-%COMP%]{scroll-behavior:auto}}ul.open-close-times-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{border-bottom:1px dashed var(--bs-border-color)}ul.open-close-times-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   .open-close-time[_ngcontent-%COMP%]{float:right}.experiences-list[_ngcontent-%COMP%]{padding:0 1rem}.experience-listing[_ngcontent-%COMP%]{min-height:10rem;margin-bottom:1rem;border:1px solid var(--bs-border-color);border-radius:.375rem;padding:.5rem;cursor:pointer}.experience-listing.chosen-experience[_ngcontent-%COMP%]{background-color:#f0f8ff;border:2px solid #2496ec}.experience-listing[_ngcontent-%COMP%]:hover{background-color:#f0f8ff;border:2px solid #7CB9E8}.experience-listing[_ngcontent-%COMP%]   i.pi[_ngcontent-%COMP%]{color:#00f;font-size:1.3rem;background:var(--white-color);border-radius:.375rem}  .experience_desc p,   .experience_desc *{font-weight:lighter!important;font-size:1rem!important}.show-more-less[_ngcontent-%COMP%]{color:#007fff;font-weight:400!important}img.experience-img[_ngcontent-%COMP%]{border-radius:.375rem!important}.exp-tkt-btn[_ngcontent-%COMP%]{display:flex;text-align:center;padding:.25rem .5rem;width:100%;border-radius:.375rem;border:none;background-color:#d3d3d3;color:#fff;font-weight:700;font-family:Nunito;text-transform:uppercase;transition:.3s all ease-in-out;align-content:center;align-items:center;margin-bottom:1rem}.exp-tkt-btn.proceed-exp[_ngcontent-%COMP%]{background-color:#007fff!important}.wrap-exp-btn[_ngcontent-%COMP%]{display:flex;margin:0 auto;align-items:center}.wrap-exp-btn[_ngcontent-%COMP%]   kb-icon[_ngcontent-%COMP%]{font-size:1.4rem}.proceed-exp[_ngcontent-%COMP%]:hover{background-color:#00f!important}']})};var _a=[{path:"category/:slug",component:pt},{path:"town/:slug",component:Kt},{path:":slug",children:[{path:"buy",component:Yt},{path:"",component:Gt}]},{path:"",component:Wt}];
1export{_a as EXPERIENCES_ROUTES};

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.