{"id":6955,"date":"2025-06-08T12:53:57","date_gmt":"2025-06-08T11:53:57","guid":{"rendered":"https:\/\/x-cube.nl\/locatie-apeldoorn\/"},"modified":"2026-02-24T11:03:30","modified_gmt":"2026-02-24T10:03:30","slug":"locatie-apeldoorn","status":"publish","type":"page","link":"https:\/\/x-cube.nl\/nl\/locatie-apeldoorn\/","title":{"rendered":"Locatie: Apeldoorn"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:54px;--awb-padding-bottom:57px;--awb-margin-top:0px;--awb-background-color:var(--awb-color2);--awb-background-image:linear-gradient(180deg, var(--awb-color2) 0%,var(--awb-color4) 100%);--awb-flex-wrap:wrap;\" ><div class=\"awb-background-pattern\" style=\"background-image:  url(data:image\/svg+xml;utf8,%3Csvg%20width%3D%2280%22%20height%3D%22120%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url%28%23prefix__clip0_43_320%29%22%20fill%3D%22rgba%28255%2C255%2C255%2C0.02%29%22%3E%3Cpath%20d%3D%22M40%200L0%2030v30l40-30V0zm0%2030v30l40%2030V60L40%2030zM40-30V0l40%2030V0L40-30zm0%2090L0%2090v30l40-30V60zm0%2030v30l40%2030v-30L40%2090z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22prefix__clip0_43_320%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h80v120H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E);opacity: 1 ;mix-blend-mode:normal;\"><\/div><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color7);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);\">Battlekart<\/h2><\/div><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-text-color:var(--awb-custom_color_3);--awb-margin-top:-10px;--awb-margin-top-small:-15px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:36;line-height:var(--awb-typography1-line-height);\">Apeldoorn<\/h3><\/div><div ><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-1 fusion-button-span-no fusion-button-default-type\" style=\"--button_accent_color:var(--awb-color7);--button_accent_hover_color:var(--awb-color7);--button_border_hover_color:var(--awb-color4);--button_gradient_top_color:var(--awb-custom_color_3);--button_gradient_bottom_color:var(--awb-custom_color_3);--button_gradient_top_color_hover:hsla(var(--awb-color2-h),calc(var(--awb-color2-s) - 5%),calc(var(--awb-color2-l) - 10%),var(--awb-color2-a));--button_gradient_bottom_color_hover:hsla(var(--awb-color2-h),calc(var(--awb-color2-s) - 5%),calc(var(--awb-color2-l) - 10%),var(--awb-color2-a));--button_font_size:20px;--button_typography-font-family:&quot;Bungee&quot;;--button_typography-font-style:normal;--button_typography-font-weight:400;\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x-pay.nl\/battlekart-apeldoorn\/\"><i class=\"fa-shopping-cart fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Boek nu<\/span><\/a><\/div><div class=\"fusion-text fusion-text-1\" style=\"--awb-text-color:var(--awb-color7);--awb-margin-top:20px;\"><p data-start=\"1115\" data-end=\"1387\">Bij <strong data-start=\"1118\" data-end=\"1138\">BattleKart Apeldoorn<\/strong> kun je de unieke sensatie van de <strong data-start=\"1184\" data-end=\"1194\">X-Cube<\/strong> beleven \u2013 een digitale escape room vol spanning, humor en slimme uitdagingen. In een hightech ruimte met schermen, licht en geluid werk je samen met je team om spannende missies te voltooien.<\/p>\n<p data-start=\"1389\" data-end=\"1910\">De <strong data-start=\"1393\" data-end=\"1434\">X-Cube bevindt zich op de begane grond.<\/strong> Hij is geschikt voor <strong data-start=\"1498\" data-end=\"1526\">2 tot 6 spelers tegelijk<\/strong> en voor grotere groepen kunnen meerdere sessies achter elkaar worden geboekt. Alle speltypes zijn beschikbaar \u2013 van leuke <strong data-start=\"1642\" data-end=\"1667\">spellen van 30 minuten voor kinderen<\/strong>, zoals <em data-start=\"1673\" data-end=\"1692\">Spy Training Kids<\/em>, tot intense <strong data-start=\"1705\" data-end=\"1730\">ervaringen van 60 minuten<\/strong>, zoals <em data-start=\"1739\" data-end=\"1753\">De Verraders <\/em>of Murder at the Mansion. Een perfecte activiteit voor families, vrienden of teamuitjes, en eenvoudig te combineren met BattleKart.<\/p>\n<\/div><div class=\"fusion-image-carousel fusion-image-carousel-auto fusion-image-carousel-1\" style=\"margin-top:20px;margin-bottom:20px;\"><div data-slide-effect=\"fade\" class=\"awb-carousel awb-swiper awb-swiper-carousel awb-carousel--slider awb-swiper-dots-position-bottom\" data-layout=\"slider\" data-autoplay=\"no\" data-autoplayspeed=\"2500\" data-autoplaypause=\"no\" data-columns=\"5\" data-columnsmedium=\"1\" data-columnssmall=\"1\" data-itemmargin=\"13\" data-itemwidth=\"180\" data-touchscroll=\"no\" data-freemode=\"no\" data-imagesize=\"auto\" data-scrollitems=\"0\" data-centeredslides=\"no\" data-rotationangle=\"50\" data-depth=\"100\" data-speed=\"500\" data-shadow=\"yes\" data-pagination=\"bullets\" style=\"--awb-border-radius-top-left:20px;--awb-border-radius-top-right:20px;--awb-border-radius-bottom-right:20px;--awb-border-radius-bottom-left:20px;--awb-arrow-size:30px;--awb-arrow-color:var(--awb-color7);--awb-dots-align:center;\"><div class=\"swiper-wrapper awb-image-carousel-wrapper fusion-flex-align-items-center\"><div class=\"swiper-slide\"><div class=\"fusion-carousel-item-wrapper\"><div class=\"fusion-image-wrapper hover-type-none\"><img decoding=\"async\" width=\"1200\" height=\"800\" src=\"https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2.jpeg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2-200x133.jpeg 200w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2-300x200.jpeg 300w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2-400x267.jpeg 400w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2-600x400.jpeg 600w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2-768x512.jpeg 768w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2-800x533.jpeg 800w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2-1024x683.jpeg 1024w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-1-2.jpeg 1200w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/div><\/div><\/div><div class=\"swiper-slide\"><div class=\"fusion-carousel-item-wrapper\"><div class=\"fusion-image-wrapper hover-type-none\"><img decoding=\"async\" width=\"1200\" height=\"800\" src=\"https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2.jpeg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2-200x133.jpeg 200w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2-300x200.jpeg 300w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2-400x267.jpeg 400w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2-600x400.jpeg 600w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2-768x512.jpeg 768w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2-800x533.jpeg 800w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2-1024x683.jpeg 1024w, https:\/\/x-cube.nl\/wp-content\/uploads\/2026\/02\/Battle-kart-2-2.jpeg 1200w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/div><\/div><\/div><div class=\"swiper-slide\"><div class=\"fusion-carousel-item-wrapper\"><div class=\"fusion-image-wrapper hover-type-none\"><img decoding=\"async\" width=\"900\" height=\"624\" src=\"https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/03\/Achtergrond.jpg\" class=\"attachment-full size-full\" alt=\"X-Cube Apeldoorn\" srcset=\"https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/03\/Achtergrond-200x139.jpg 200w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/03\/Achtergrond-300x208.jpg 300w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/03\/Achtergrond-400x277.jpg 400w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/03\/Achtergrond-600x416.jpg 600w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/03\/Achtergrond-768x532.jpg 768w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/03\/Achtergrond-800x555.jpg 800w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/03\/Achtergrond.jpg 900w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/div><\/div><\/div><div class=\"swiper-slide\"><div class=\"fusion-carousel-item-wrapper\"><div class=\"fusion-image-wrapper hover-type-none\"><img decoding=\"async\" width=\"1191\" height=\"794\" src=\"https:\/\/x-cube.nl\/wp-content\/uploads\/revslider\/traveller-carousel-1\/Slider-afbeeldingen-home-05.jpg\" class=\"attachment-full size-full\" alt=\"X-Cube \" \/><\/div><\/div><\/div><\/div><div class=\"awb-swiper-button awb-swiper-button-prev\"><i class=\"awb-icon-angle-left\" aria-hidden=\"true\"><\/i><\/div><div class=\"awb-swiper-button awb-swiper-button-next\"><i class=\"awb-icon-angle-right\" aria-hidden=\"true\"><\/i><\/div><\/div><\/div><div ><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-2 fusion-button-span-no fusion-button-default-type\" style=\"--button_accent_color:var(--awb-color7);--button_accent_hover_color:var(--awb-color7);--button_border_hover_color:var(--awb-color4);--button_gradient_top_color:var(--awb-custom_color_3);--button_gradient_bottom_color:var(--awb-custom_color_3);--button_gradient_top_color_hover:hsla(var(--awb-color2-h),calc(var(--awb-color2-s) - 5%),calc(var(--awb-color2-l) - 10%),var(--awb-color2-a));--button_gradient_bottom_color_hover:hsla(var(--awb-color2-h),calc(var(--awb-color2-s) - 5%),calc(var(--awb-color2-l) - 10%),var(--awb-color2-a));--button_font_size:20px;--button_typography-font-family:&quot;Bungee&quot;;--button_typography-font-style:normal;--button_typography-font-weight:400;\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x-pay.nl\/battlekart-apeldoorn\/\"><i class=\"fa-shopping-cart fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Boek nu<\/span><\/a><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_3 1_3 fusion-flex-column\" style=\"--awb-padding-top:20px;--awb-padding-right:20px;--awb-padding-bottom:29px;--awb-padding-left:20px;--awb-overflow:hidden;--awb-bg-color:rgba(84,60,255,0.18);--awb-bg-color-hover:rgba(84,60,255,0.18);--awb-bg-size:cover;--awb-border-color:rgba(255,255,255,0.35);--awb-border-top:0.5px;--awb-border-right:0.5px;--awb-border-bottom:0.5px;--awb-border-left:0.5px;--awb-border-style:solid;--awb-border-radius:10px 10px 10px 10px;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:33.333333333333%;--awb-order-medium:0;--awb-spacing-right-medium:5.76%;--awb-spacing-left-medium:5.76%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div ><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-3 fusion-button-span-yes fusion-button-default-type\" style=\"--button_accent_color:var(--awb-color7);--button_accent_hover_color:var(--awb-color7);--button_border_hover_color:var(--awb-color4);--button_gradient_top_color:var(--awb-custom_color_3);--button_gradient_bottom_color:var(--awb-custom_color_3);--button_gradient_top_color_hover:hsla(var(--awb-color2-h),calc(var(--awb-color2-s) - 5%),calc(var(--awb-color2-l) - 10%),var(--awb-color2-a));--button_gradient_bottom_color_hover:hsla(var(--awb-color2-h),calc(var(--awb-color2-s) - 5%),calc(var(--awb-color2-l) - 10%),var(--awb-color2-a));--button_font_size:20px;--button_typography-font-family:&quot;Bungee&quot;;--button_typography-font-style:normal;--button_typography-font-weight:400;\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x-pay.nl\/battlekart-apeldoorn\/\"><i class=\"fa-shopping-cart fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Boek nu<\/span><\/a><\/div><div class=\"fusion-text fusion-text-2\" style=\"--awb-font-size:25px;--awb-text-color:var(--awb-color7);--awb-margin-top:20px;--awb-text-font-family:&quot;Bungee&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p>Informatie<\/p>\n<\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-0 fusion_builder_column_inner_1_6 1_6 fusion-flex-column\" style=\"--awb-padding-top:0px;--awb-padding-right:-20px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:3px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:20%;--awb-order-small:0;--awb-spacing-right-small:9.6%;--awb-spacing-left-small:9.6%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><i class=\"fb-icon-element-1 fb-icon-element fontawesome-icon fa-clock fas circle-yes fusion-text-flow\" style=\"--awb-iconcolor:var(--awb-color7);--awb-iconcolor-hover:var(--awb-color7);--awb-circlecolor:rgba(255,63,146,0);--awb-circlecolor-hover:var(--awb-custom_color_3);--awb-circlebordercolor-hover:var(--awb-color8);--awb-circlebordersize:0px;--awb-font-size:20px;--awb-width:29px;--awb-height:29px;--awb-line-height:29px;--awb-margin-right:10px;\"><\/i><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-1 fusion_builder_column_inner_4_5 4_5 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:80%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.4%;--awb-margin-bottom-large:-20px;--awb-spacing-left-large:0%;--awb-width-medium:80%;--awb-order-medium:0;--awb-spacing-right-medium:2.4%;--awb-spacing-left-medium:0%;--awb-width-small:66.666666666667%;--awb-order-small:0;--awb-spacing-right-small:2.88%;--awb-spacing-left-small:0%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column\"><div class=\"fusion-text fusion-text-3\" style=\"--awb-font-size:18px;--awb-text-color:var(--awb-custom_color_3);--awb-text-font-family:&quot;Montserrat&quot;;--awb-text-font-style:normal;--awb-text-font-weight:700;\"><p>Openingstijden<\/p>\n<\/div><\/div><\/div><\/div><div class=\"fusion-text fusion-text-4\" style=\"--awb-text-color:var(--awb-color7);--awb-margin-top:10px;\"><div class=\"openingstijden\">\n<div><\/div>\n<div><span class=\"dag\">Maandag <\/span><span class=\"tijd\">14:30 &#8211; 21:00<\/span><\/div>\n<div><span class=\"dag\">Dinsdag <\/span><span class=\"tijd\">14:30 &#8211; 21:00<\/span><\/div>\n<div><span class=\"dag\">Woensdag <\/span><span class=\"tijd\">14:30 &#8211; 21:00<\/span><\/div>\n<div><span class=\"dag\">Donderdag <\/span><span class=\"tijd\">14:30 &#8211; 21:00<\/span><\/div>\n<div><span class=\"dag\">Vrijdag <\/span><span class=\"tijd\">14:30 &#8211; 22:00<\/span><\/div>\n<div><span class=\"dag\">Zaterdag <\/span><span class=\"tijd\">10:00 &#8211; 22:00<\/span><\/div>\n<div><span class=\"dag\">Zondag <\/span><span class=\"tijd\">10:00 &#8211; 20:00<\/span><\/div>\n<div><\/div>\n<div><\/div>\n<\/div>\n<div><strong data-start=\"67\" data-end=\"83\">Let op:<\/strong> Openingtijden kunnen afwijken tijdens feestdagen en in vakanties.<\/div>\n<\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"align-self: center;margin-left: auto;margin-right: auto;margin-top:20px;width:100%;\"><div class=\"fusion-separator-border sep-single sep-dotted\" style=\"--awb-height:20px;--awb-amount:20px;--awb-sep-color:rgba(255,255,255,0.32);border-color:rgba(255,255,255,0.32);border-top-width:1px;\"><\/div><\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-2 fusion_builder_column_inner_1_6 1_6 fusion-flex-column\" style=\"--awb-padding-top:0px;--awb-padding-right:-20px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:16px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:3px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:20%;--awb-order-small:0;--awb-spacing-right-small:9.6%;--awb-spacing-left-small:9.6%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><i class=\"fb-icon-element-2 fb-icon-element fontawesome-icon fa-map-marker fas circle-yes fusion-text-flow\" style=\"--awb-iconcolor:var(--awb-color7);--awb-iconcolor-hover:var(--awb-color7);--awb-circlecolor:rgba(255,63,146,0);--awb-circlecolor-hover:var(--awb-custom_color_3);--awb-circlebordercolor-hover:var(--awb-color8);--awb-circlebordersize:0px;--awb-font-size:20px;--awb-width:29px;--awb-height:29px;--awb-line-height:29px;--awb-margin-right:10px;\"><\/i><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-3 fusion_builder_column_inner_4_5 4_5 fusion-flex-column\" style=\"--awb-padding-top:18px;--awb-bg-size:cover;--awb-width-large:80%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.4%;--awb-margin-bottom-large:-20px;--awb-spacing-left-large:0%;--awb-width-medium:80%;--awb-order-medium:0;--awb-spacing-right-medium:2.4%;--awb-spacing-left-medium:0%;--awb-width-small:66.666666666667%;--awb-order-small:0;--awb-spacing-right-small:2.88%;--awb-spacing-left-small:0%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\" style=\"--awb-font-size:18px;--awb-text-color:var(--awb-custom_color_3);--awb-text-font-family:&quot;Montserrat&quot;;--awb-text-font-style:normal;--awb-text-font-weight:700;\"><p>Adres<\/p>\n<\/div><\/div><\/div><\/div><div class=\"fusion-text fusion-text-6\" style=\"--awb-text-color:var(--awb-color7);--awb-margin-top:10px;\"><p><strong>Battlekart Apeldoorn<br \/>\n<\/strong>Schorpioenstraat 10<br \/>\n7323 AK Apeldoorn<br \/>\n+31(0) 55 782 0466<\/p>\n<div><\/div>\n<\/div><div style=\"text-align:left;\"><a class=\"fusion-button button-flat button-medium button-custom fusion-button-default button-4 fusion-button-default-span fusion-button-default-type awb-b-icon-pos-left\" style=\"--button_accent_color:var(--awb-color7);--button_border_color:var(--awb-color7);--button_accent_hover_color:var(--awb-color7);--button_border_hover_color:var(--awb-color4);--button-border-radius-top-left:30px;--button-border-radius-top-right:30px;--button-border-radius-bottom-right:30px;--button-border-radius-bottom-left:30px;--button_gradient_angle:45deg;--button_gradient_top_color:var(--awb-custom_color_2);--button_gradient_bottom_color:var(--awb-custom_color_2);--button_gradient_top_color_hover:hsla(var(--awb-color2-h),calc(var(--awb-color2-s) - 5%),calc(var(--awb-color2-l) - 10%),var(--awb-color2-a));--button_gradient_bottom_color_hover:hsla(var(--awb-color2-h),calc(var(--awb-color2-s) - 5%),calc(var(--awb-color2-l) - 10%),var(--awb-color2-a));--button_text_transform:uppercase;--button_typography-letter-spacing:1px;--button_typography-font-family:&quot;Montserrat&quot;;--button_typography-font-style:normal;--button_typography-font-weight:600;\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" data-hover=\"icon_position\" href=\"https:\/\/www.google.com\/maps\/dir\/?api=1&amp;destination=Dubbelbeek+52,+7333+NJ+Apeldoorn\"><i class=\"fa-map-marker-alt fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><i class=\"fa-map-marker-alt fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Route<\/span><\/a><\/div><div class=\"fusion-text fusion-text-7\" style=\"--awb-text-color:var(--awb-color7);--awb-margin-top:10px;\"><div class=\"openingstijden\">\n<div><strong>Steden dichtbij<\/strong><\/div>\n<div><span class=\"dag\">Arnhem <\/span><span class=\"tijd\">45 km<\/span><\/div>\n<div><span class=\"dag\">Deventer <\/span><span class=\"tijd\">30 km<\/span><\/div>\n<div><span class=\"dag\">Zwolle <\/span><span class=\"tijd\">90 km<\/span><\/div>\n<div><span class=\"dag\">Zutphen <\/span><span class=\"tijd\">60 km<\/span><\/div>\n<div><span class=\"dag\">Harderwijk <\/span><span class=\"tijd\">55 km<\/span><\/div>\n<\/div>\n<div><\/div>\n<\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"align-self: center;margin-left: auto;margin-right: auto;margin-top:20px;width:100%;\"><div class=\"fusion-separator-border sep-single sep-dotted\" style=\"--awb-height:20px;--awb-amount:20px;--awb-sep-color:rgba(255,255,255,0.32);border-color:rgba(255,255,255,0.32);border-top-width:1px;\"><\/div><\/div><div class=\"fusion-text fusion-text-8\" style=\"--awb-font-size:13px;--awb-text-color:var(--awb-color7);\"><\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-4 fusion_builder_column_inner_1_6 1_6 fusion-flex-column\" style=\"--awb-padding-top:0px;--awb-padding-right:-20px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:16px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:3px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:20%;--awb-order-small:0;--awb-spacing-right-small:9.6%;--awb-spacing-left-small:9.6%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><i class=\"fb-icon-element-3 fb-icon-element fontawesome-icon fa-info fas circle-yes fusion-text-flow\" style=\"--awb-iconcolor:var(--awb-color7);--awb-iconcolor-hover:var(--awb-color7);--awb-circlecolor:rgba(255,63,146,0);--awb-circlecolor-hover:var(--awb-custom_color_3);--awb-circlebordercolor-hover:var(--awb-color8);--awb-circlebordersize:0px;--awb-font-size:20px;--awb-width:29px;--awb-height:29px;--awb-line-height:29px;--awb-margin-right:10px;\"><\/i><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-5 fusion_builder_column_inner_4_5 4_5 fusion-flex-column\" style=\"--awb-padding-top:18px;--awb-bg-size:cover;--awb-width-large:80%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.4%;--awb-margin-bottom-large:-20px;--awb-spacing-left-large:0%;--awb-width-medium:80%;--awb-order-medium:0;--awb-spacing-right-medium:2.4%;--awb-spacing-left-medium:0%;--awb-width-small:66.666666666667%;--awb-order-small:0;--awb-spacing-right-small:2.88%;--awb-spacing-left-small:0%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column\"><div class=\"fusion-text fusion-text-9\" style=\"--awb-font-size:18px;--awb-text-color:var(--awb-custom_color_3);--awb-text-font-family:&quot;Montserrat&quot;;--awb-text-font-style:normal;--awb-text-font-weight:700;\"><p>X-Cube informatie<\/p>\n<\/div><\/div><\/div><\/div><div class=\"fusion-text fusion-text-10\" style=\"--awb-text-color:var(--awb-color7);--awb-margin-top:10px;\"><p>Er is <strong data-start=\"826\" data-end=\"838\">1 X-Cube<\/strong> beschikbaar op de begane grond, geschikt voor <strong data-start=\"904\" data-end=\"922\">2 tot 6 spelers.<\/strong> Alle X-Cube-games zijn hier beschikbaar.<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"text-align:center;--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"1000\" height=\"750\" title=\"logo-bk\" src=\"https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/12\/logo-bk.png\" alt class=\"img-responsive wp-image-7753\" srcset=\"https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/12\/logo-bk-200x150.png 200w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/12\/logo-bk-400x300.png 400w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/12\/logo-bk-600x450.png 600w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/12\/logo-bk-800x600.png 800w, https:\/\/x-cube.nl\/wp-content\/uploads\/2025\/12\/logo-bk.png 1000w\" sizes=\"(max-width: 640px) 100vw, 1000px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-padding-bottom:0px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- Include Mapbox GL CSS -->\r\n<link href=\"https:\/\/api.mapbox.com\/mapbox-gl-js\/v3.2.0\/mapbox-gl.css\" rel=\"stylesheet\">\r\n\r\n<!-- Include Mapbox GL JS -->\r\n<script src=\"https:\/\/api.mapbox.com\/mapbox-gl-js\/v3.2.0\/mapbox-gl.js\"><\/script>\r\n\r\n<!-- Include Mapbox GL Geocoder CSS -->\r\n<script src=\"https:\/\/api.mapbox.com\/mapbox-gl-js\/plugins\/mapbox-gl-geocoder\/v5.0.0\/mapbox-gl-geocoder.min.js\"><\/script>\r\n<link rel=\"stylesheet\"\r\n    href=\"https:\/\/api.mapbox.com\/mapbox-gl-js\/plugins\/mapbox-gl-geocoder\/v5.0.0\/mapbox-gl-geocoder.css\" type=\"text\/css\">\r\n\r\n<!-- Preconnect to Google Fonts -->\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap\"\r\n    rel=\"stylesheet\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n<style>\r\n    \/* General styles *\/\r\n    body {\r\n        margin: 0px;\r\n        padding: 0px;\r\n        font-family: \"Montserrat\", sans-serif;\r\n        font-optical-sizing: auto;\r\n        font-weight: normal;\r\n        font-style: normal;\r\n    }\r\n\r\n    \/* Mapbox size *\/\r\n    .map-wrapper {\r\n        max-width: 100%;\r\n        width: 100%;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    \/* Inner map *\/\r\n    .map-wrapper_inner {\r\n        width: 100%;\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        position: relative;\r\n    }\r\n\r\n    \/* Sidebar section *\/\r\n    .aside-section {\r\n        position: absolute;\r\n        left: 0px;\r\n        width: 40%;\r\n        height: auto;\r\n        max-height: 100%;\r\n        margin: 10px;\r\n        z-index: 2;\r\n        box-shadow: 0px 0px 0.25rem #4f4444;\r\n        border-radius: 0.25rem;\r\n        background-color: #fff;\r\n        overflow: hidden;\r\n    }\r\n\r\n    \/* Geocoder *\/\r\n    .geocoder {\r\n        width: 100%;\r\n    }\r\n\t\r\n\t\/* hide default suggestions\t *\/\r\n\t.suggestions-wrapper {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n    \/* Location list *\/\r\n    .location-list {\r\n        width: 100%;\r\n        overflow-y: auto;\r\n        overflow-x: hidden;\r\n        display: none;\r\n    }\r\n\t\r\n\t.location-list::-webkit-scrollbar {\r\n\t\twidth: 8px;\r\n\t}\r\n\t\r\n\t.location-list::-webkit-scrollbar-thumb {\r\n  \t\tbackground: #9e9e9e;\r\n\t\tborder-radius: 8px;\r\n\t}\r\n\r\n\t.location-list::-webkit-scrollbar-thumb:hover {\r\n\t\tbackground: #767676;\r\n\t}\r\n\r\n    .location-list.show {\r\n        max-height: 50vh;\r\n        display: block;\r\n    }\r\n\r\n    .location-item {\r\n\t\ttransition: 0.25s;\r\n        width: 100%;\r\n        border-bottom: 1px solid #ececec;\r\n        padding: 0.8rem 1rem;\r\n        line-height: 1.5rem;\r\n        color: #221f46;\r\n        font-weight: 600;\r\n        text-transform: capitalize;\r\n        cursor: pointer;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\talign-items: center;\r\n    }\r\n\t\r\n\t.location-item .location {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t}\r\n\r\n    .location-item:hover {\r\n\t\tbackground-color: #ececec;\r\n        padding: 0.8rem 1.25rem;\r\n    }\r\n\r\n    .location-item>* {\r\n        pointer-events: none;\r\n    }\r\n\t\r\n\t.location-item h3 {\r\n\t\tcolor: #4A33C9 !important;\r\n\t\tfont-size: 20px !important;\r\n\t\tline-height: 24px !important;\r\n\t\tmargin: 0 !important;\r\n\t}\r\n\t\r\n\t.location-item p {\r\n\t\tline-height: 18px !important;\r\n\t\topacity: 0.75 !important;\r\n\t\tmargin: 0 !important;\r\n\t}\r\n\r\n    \/* Map *\/\r\n    #map {\r\n        width: 100%;\r\n        height: 70vh;\r\n        font-family: \"Montserrat\", sans-serif;\r\n    }\r\n\r\n    \/* Custom marker *\/\r\n    .div-marker {\r\n        cursor: pointer;\r\n    }\r\n\r\n    .div-marker.active svg #path-fill {\r\n        fill: #4A33C9;\r\n    }\r\n\r\n    .div-marker>* {\r\n        pointer-events: none;\r\n    }\r\n\r\n    \/* Mapbox geocoder control *\/\r\n    .mapboxgl-ctrl-geocoder {\r\n        min-width: 100%;\r\n    }\r\n\r\n    \/*Spyglass icon*\/\r\n    .mapboxgl-ctrl-geocoder--icon-search {\r\n        display: none !important;\r\n    }\r\n\r\n    .mapboxgl-ctrl-geocoder--input{\r\n        background-color: #F7F7F7 !important;\r\n    }\r\n\r\n    \/* Mapbox popup content *\/\r\n    .mapboxgl-popup-content {\r\n        border-width: 0px;\r\n        --tw-border-opacity: 1;\r\n        border-color: rgb(79 84 95 \/ var(--tw-border-opacity));\r\n        --tw-text-opacity: 1;\r\n        color: rgb(53 0 85 \/ var(--tw-text-opacity));\r\n        font-family: Rubik, Arial, sans-serif;\r\n        font-size: .875rem;\r\n        line-height: 1.25rem;\r\n        padding: 0;\r\n        height: auto;\r\n        width: -moz-fit-content;\r\n        width: fit-content;\r\n        max-width: 20rem;\r\n    }\r\n\r\n    \/* Mapbox popup close button *\/\r\n    .mapboxgl-popup-close-button {\r\n        padding-top: 0.25rem;\r\n        padding-left: 0.375rem;\r\n        padding-right: 0.375rem;\r\n        font-size: 1.75rem;\r\n    }\r\n\r\n    \/* Mapbox popup content title *\/\r\n    .mapboxgl-popup-content h2 {\r\n        padding-right: 1rem;\r\n        font-style: italic;\r\n        font-weight: 900;\r\n        font-size: 1.125rem;\r\n        line-height: 1.75rem;\r\n        margin: 0;\r\n    }\r\n\r\n    \/* Mapbox popup content body *\/\r\n    .mapboxgl-popup-content .popup-content {\r\n        padding: 1rem;\r\n    }\r\n\r\n    .mapboxgl-popup-content .popup-content>div {\r\n        margin-bottom: 1rem;\r\n    }\r\n\r\n    \/* Mapbox popup content link *\/\r\n    .mapboxgl-popup-content a {\r\n        text-transform: uppercase;\r\n        text-decoration: none;\r\n        color: #fff;\r\n    }\r\n\r\n    \/* Button styles *\/\r\n    .mapboxgl-popup-content a .btn {\r\n        display: flex;\r\n        font-weight: 800;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 1rem;\r\n        padding-left: 1.5rem;\r\n        padding-right: 1.5rem;\r\n        padding-top: 0.8125rem;\r\n        padding-bottom: 0.8125rem;\r\n        font-family: MADESoulmaze, sans-serif;\r\n        font-size: 1rem;\r\n        line-height: 1.25em;\r\n        --tw-text-opacity: 1;\r\n        color: rgb(255 255 255 \/ var(--tw-text-opacity));\r\n\/* \t\tbackground-color: #4A33C9; *\/\r\n    }\r\n\r\n    \/* Button glow effect *\/\r\n    .mapboxgl-popup-content a .btn {\r\n        --glow-color: white;\r\n        --inset-border-color: rgba(79, 0, 128, .25);\r\n        --shadow-color: rgba(0, 0, 0, .25);\r\n        transition-property: background-position, box-shadow;\r\n        transition-timing-function: cubic-bezier(.4, 0, .2, 1);\r\n        transition-duration: .15s;\r\n        transition-duration: 1.2s;\r\n        box-shadow: 0 0 0 0 inset transparent, 0 0 0 0 transparent, 0 0 0 transparent;\r\n    }\r\n\r\n    \/* Button color *\/\r\n    .mapboxgl-popup-content a .btn--pink {\r\n        --glow-color: #FF00B8;\r\n        --inset-border-color: rgba(255, 255, 255, .25);\r\n        --tw-bg-opacity: 1;\r\n        background-color: #4A33C9;\r\n    }\r\n\r\n    \/* Header section *\/\r\n    .header-section {\r\n        display: flex;\r\n        padding: 5px;\r\n    }\r\n\r\n    \/* Toggle button *\/\r\n    .toggle-btn {\r\n        background-color: rgb(236, 236, 236);\r\n        border: none;\r\n        margin-right: 0.25rem;\r\n        cursor: pointer;\r\n        font-size: 18px;\r\n        border-radius: 2px;\r\n        padding: 0.25rem;\r\n        width: 36px;\r\n    }\r\n\r\n    \/* Width for screens smaller than 700px*\/\r\n    @media only screen and (max-width:700px) {\r\n        .map-wrapper {\r\n            width: 100%;\r\n            max-width: 100%;\r\n        }\r\n\r\n        .aside-section {\r\n            width: 90% !important;\r\n            max-width: 90%;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<!-- HTML structure -->\r\n<div class=\"map-wrapper\">\r\n    <div class=\"map-wrapper_inner\">\r\n        <div class=\"aside-section\">\r\n            <div class=\"header-section\">\r\n                <button class=\"btn toggle-btn\" id=\"toggle-btn\">&#9776;<\/button>\r\n                <div id=\"geocoder\" class=\"geocoder\"><\/div>\r\n            <\/div>\r\n\r\n            <!-- Location list -->\r\n            <div class=\"location-list\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Map container -->\r\n        <div id=\"map\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- Include PapaParse for CSV parsing -->\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/PapaParse\/5.4.1\/papaparse.min.js\"\r\n    integrity=\"sha512-dfX5uYVXzyU8+KHqj8bjo7UkOdg18PaOtpa48djpNbZHwExddghZ+ZmzWT06R5v6NSk3ZUfsH6FNEDepLx9hPQ==\"\r\n    crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"><\/script>\r\n\r\n<!-- JavaScript code -->\r\n<script>\r\n\r\n    \/\/ Mapbox access token\r\n    mapboxgl.accessToken = 'pk.eyJ1IjoieGN1YmV0ZWNoIiwiYSI6ImNsazB4aG85bTAwNWkzaW92cW4xejhkaHkifQ.Mr8oNwtF_lxKf9RWSrPDiA';\r\n\r\n    \/\/ Initialize Mapbox map\r\n    const map = new mapboxgl.Map({\r\n        container: 'map',\r\n        style: 'mapbox:\/\/styles\/xcubetech\/cltb7lzhi000401qp6air6qie',\r\n        center: { lng: 5.2913, lat: 52.1326 },\r\n        zoom: 7\r\n    });\r\n    \/\/ Check if the device is mobile\r\n    const mobileCheck = function () {\r\n        \/\/ Regular expression to check for mobile devices\r\n        let check = false;\r\n        (function (a) { if (\/(android|bb\\d+|meego).+mobile|avantgo|bada\\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino\/i.test(a) || \/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-\/i.test(a.substr(0, 4))) check = true; })(navigator.userAgent || navigator.vendor || window.opera);\r\n        return check;\r\n    };\r\n\r\n    \/\/ SVG icons for markers\r\n    const svgIcons = `\r\n        <svg display=\"block\" height=\"41px\" width=\"27px\" viewBox=\"0 0 27 41\">\r\n            <defs>\r\n                <radialGradient id=\"shadowGradient\">\r\n                    <stop offset=\"10%\" stop-opacity=\"0.4\"><\/stop>\r\n                    <stop offset=\"100%\" stop-opacity=\"0.05\"><\/stop>\r\n                <\/radialGradient>\r\n            <\/defs>\r\n            <ellipse cx=\"13.5\" cy=\"34.8\" rx=\"10.5\" ry=\"5.25\" fill=\"url(#shadowGradient)\"><\/ellipse>\r\n            <path id=\"path-fill\" fill=\"#221f46\" d=\"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z\"><\/path>\r\n            <path opacity=\"0.25\" d=\"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z\"><\/path>\r\n            <circle fill=\"white\" cx=\"13.5\" cy=\"13.5\" r=\"5.5\"><\/circle>\r\n        <\/svg>\r\n    `;\r\n\r\n        \/\/ SVG icons for markers\r\n        const svgIconsHidden = `\r\n        <svg display=\"none\">\r\n        <\/svg>\r\n    `;\r\n\r\n    \/\/ Initialize active marker and popup variables\r\n    var activeMarkerEl, activePopup, locationsMarkers, locations = [];\r\n    var popup = new mapboxgl.Popup();\r\n\r\n    \/\/ Forward geocoder function\r\n    function forwardGeocoder(query) {\r\n        const matchingFeatures = [];\r\n        for (const feature of locations) {\r\n            if (\r\n                feature.Name\r\n                    .toLowerCase()\r\n                    .includes(query.toLowerCase())\r\n            ) {\r\n                let locationFeature = {}\r\n                locationFeature['text'] = `${feature.Name}`;\r\n                locationFeature['place_name'] = `${feature.Name}, x-cube-location`;\r\n                locationFeature['center'] = [parseFloat(feature.Longitude), parseFloat(feature.Latitude)];\r\n                locationFeature['place_type'] = ['park'];\r\n                locationFeature['location_type'] = 'x-cube-location';\r\n                matchingFeatures.push(locationFeature);\r\n            }\r\n        }\r\n        return matchingFeatures;\r\n    }\r\n\r\n    \/\/ Add the control to the map.\r\n    const geocoder = new MapboxGeocoder({\r\n        accessToken: mapboxgl.accessToken,\r\n        mapboxgl: mapboxgl,\r\n        marker: false,\r\n        localGeocoder: forwardGeocoder\r\n    });\r\n\r\n    \/\/ Add geocoder control to the map\r\n    document.getElementById('geocoder').appendChild(geocoder.onAdd(map));\r\n\r\n    \/\/ When the map is loaded\r\n    map.on(\"load\", (e) => {\r\n        \/\/ Get the locations\r\n        geocoder.on(\"result\", ({ result }) => {\r\n        })\r\n        getLocations();\r\n\r\n        \/\/ Toggle button click event\r\n        document.getElementById(\"toggle-btn\").onclick = (e) => {\r\n            document.querySelector(\".location-list\").classList.toggle(\"show\");\r\n        }\r\n    });\r\n    function getTopDomain() {\r\n        \/\/ Get the current URL\r\n        var url = document.URL;\r\n\r\n        \/\/ Extract the domain using a regular expression\r\n        var domain = url.match(\/^(?:https?:\\\/\\\/)?(?:[^@\\n]+@)?(?:www\\.)?([^:\\\/\\n]+)\/im)[1];\r\n\r\n        \/\/ Split the domain by '.' to get the top-level domain\r\n        var parts = domain.split('.');\r\n        var topLevelDomain = parts[parts.length - 1];\r\n        return topLevelDomain;\r\n    }\r\n    function getPageURL() {\r\n        \/\/ Get the current URL\r\n        var url = document.URL;\r\n        var parts = url.split('\/')\r\n        var getPageEndURL = parts[parts.length - 2];\r\n        return getPageEndURL;\r\n    }\r\n\r\n    \/\/ Get locations from Google document and add them as markers\r\n    function getLocations() {\r\n        Papa.parse(\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vQd73rANFQawO5P82Rkk1SngvwJ2STRBri_aWCD7WRlYNhVhH-QCVRknwLa2mGQJKGhSbXActYpMIQx\/pub?gid=0&single=true&output=csv\", {\r\n            header: true,\r\n            download: true,\r\n            complete: function ({ data }) {\r\n                locations = [...data.filter(entry => entry.Latitude)];\r\n                let topDomain = getTopDomain();\r\n                let pageURL = getPageURL();\r\n                \/\/ Sorting function URL top level domain\r\n                locations.sort((a, b) => {\r\n                    if (a.WebCode === topDomain) {\r\n                        return -1; \/\/ a comes first\r\n                    } else if (b.WebCode === topDomain) {\r\n                        return 1; \/\/ b comes first\r\n                    } else {\r\n                        return 0; \/\/ no change in\u00a0order\r\n                    }\r\n                });\r\n                if (pageURL != \"locations\") {\r\n                    \/\/ Sorting function URL with \/\r\n                    locations.sort((a, b) => {\r\n                        if (a.Country.toLowerCase() === pageURL) {\r\n                            return -1; \/\/ a comes first\r\n                        } else if (b.Country.toLowerCase() === pageURL) {\r\n                            return 1; \/\/ b comes first\r\n                        } else {\r\n                            return 0; \/\/ no change in\u00a0order\r\n                        }\r\n                    })\r\n                };\r\n                map.flyTo({\r\n                    center: [parseFloat(locations[0].FocusLon), parseFloat(locations[0].FocusLat)],\r\n                    zoom: locations[0].FocusZoom\r\n                });;\r\n                renderMarkers(locations);\r\n                renderLocationList(locations);\r\n            }\r\n        })\r\n    }\r\n\t\r\n\t\/\/ \tFilter locations based off input\r\n\tfunction searchLocation(term) {\r\n\t\tlet filteredLocations = locations.filter(location => {\r\n\t\t  return location.Name.toLowerCase().includes(term.toLowerCase()) ||\r\n\t\t\tlocation.Country.toLowerCase().includes(term.toLowerCase()) ||\r\n\t\t\tlocation.WebCode.toLowerCase().includes(term.toLowerCase()) ||\r\n\t\t\tlocation.City.toLowerCase().includes(term.toLowerCase()) ||\r\n\t\t\tlocation.Address.toLowerCase().includes(term.toLowerCase());\r\n\t\t});\r\n\t\trenderMarkers(filteredLocations);\r\n\t\trenderLocationList(filteredLocations);\r\n\t  }\r\n\r\n\t  \/\/ Listen for input\r\n\t  document.querySelector('.mapboxgl-ctrl-geocoder--input').addEventListener(\"input\", (e) => {\r\n\t\t\r\n\t\tif (e.target.value.length > 0) {\r\n\t\t\tdocument.querySelector('.location-list').classList.add('show');\r\n\t\t}\r\n\t\t  \r\n\t\tsearchLocation(e.target.value);\r\n\t  })\r\n\t\r\n\t\/\/ Listen for input X\r\n\tdocument.querySelector('.mapboxgl-ctrl-geocoder--button').addEventListener(\"click\", (e) => {\r\n\t\tsearchLocation(\"\")\r\n\t  })\r\n\t\r\n\/\/ Render the location list\r\nfunction renderLocationList(items) {\r\n    const itemsContainer = document.querySelector(\".location-list\");\r\n    if (!itemsContainer) {\r\n        return;\r\n    }\r\n\r\n    const locationItems = items\r\n        .filter(entry => !entry.Name.includes('Display'))\r\n        .map(entry => `\r\n            <div class=\"location-item\" data-href=\"\" data-name=\"${entry.Name}\">\r\n                <div class=\"location\">\r\n                    <h3>${entry.Name}<\/h3>\r\n                    <p>${entry.City}, ${entry.Country}<\/p>\r\n                <\/div>\r\n                <img decoding=\"async\" src=\"https:\/\/x-cube.nl\/wp-content\/plugins\/sitepress-multilingual-cms\/res\/flags\/${entry.CountryCode.toLowerCase()}.svg\" alt=\"Country flag\">\r\n            <\/div>\r\n        `)\r\n        .join(\"\");\r\n\r\n    itemsContainer.innerHTML = locationItems;\r\n\r\n    fireClickListener(); \/\/ Make sure this function is defined elsewhere\r\n}\r\n\r\n  \/\/ Add click event listener to location items\r\n  function fireClickListener() {\r\n    let locationListItems = document.querySelectorAll(\".location-item\");\r\n    locationListItems.forEach(item => {\r\n      item.onclick = (e) => {\r\n        let name = item.getAttribute('data-name');\r\n        toggleMarkerByName(name);\r\n        if (mobileCheck()) {\r\n          document.querySelector(\".location-list\").classList.remove(\"show\");\r\n        }\r\n      }\r\n    });\r\n  }\r\n\t\r\n \/\/ Toggle marker by name\r\n  function toggleMarkerByName(name) {\r\n    let location = locations.find(entry => entry.Name === name);\r\n    locationsMarkers.forEach(marker => {\r\n      if (marker.title === name) {\r\n        let popup = marker.getPopup();\r\n        if (activePopup) {\r\n          activePopup.remove();\r\n        }\r\n        marker.togglePopup();\r\n        activeMarkerEl = marker.getElement();\r\n        activeMarkerEl.classList.add(\"active\");\r\n        activePopup = popup;\r\n        \/\/Set point of focus\r\n        map.flyTo({\r\n          center: [parseFloat(location.Longitude), parseFloat(location.Latitude)],\r\n          zoom: 15\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/Render the location markers\r\n  function renderMarkers(cities) {\r\n    locationsMarkers = cities.map((city, i) => {\r\n      let cityMarker = createMarker(city, i);\r\n      return cityMarker;\r\n    });\r\n  }\r\n\r\n  \/\/Marker logic\r\n  function createMarker(entry, i) {\r\n    let markerEl = document.createElement(\"div\");\r\n    markerEl.classList.add(\"div-marker\");\r\n    if (entry['Booking Link']) {\r\n      markerEl.innerHTML += svgIcons;\r\n    } else {\r\n      markerEl.innerHTML += svgIconsHidden;\r\n    }\r\n    let popup = createPopup(entry);\r\n    let marker = new mapboxgl.Marker({ element: markerEl })\r\n    marker.setLngLat([parseFloat(entry.Longitude), parseFloat(entry.Latitude)]).setPopup(popup).addTo(map);\r\n    marker.title = entry.Name;\r\n    popup.on(\"close\", (e) => {\r\n      activeMarkerEl.classList.remove(\"active\");\r\n    });\r\n    markerEl.addEventListener(\"click\", (e) => {\r\n      e.stopPropagation();\r\n      if (activeMarkerEl && activeMarkerEl != e.target) {\r\n        activeMarkerEl.classList.remove(\"active\");\r\n        activePopup.remove();\r\n      }\r\n      e.target.classList.add(\"active\");\r\n      marker.togglePopup();\r\n      activeMarkerEl = e.target;\r\n      activePopup = popup;\r\n    });\r\n    return marker;\r\n  }\r\n\r\n    \/\/Create popup window for marker\r\n    function createPopup(entry) {\r\n        let popupContent\r\n        if (entry['Booking Link']) {\r\n            popupContent = `\r\n            <div class=\"p-4 flex-1 popup-content\">\r\n                <h2 class=\"text-lg font-black italic\">${entry.Name}<span class=\"text-base font-body-ff font-light ml-1 text-normal not-italic normal-case text-pink-300\" data-distance=\"\"><\/span><\/h2>\r\n                <div class=\"mb-4\">${entry.Name}, ${entry.City}, ${entry.Country}<\/div>\r\n                <a href=\"${entry['Booking Link']}\" target=\"_blank\" class=\" uppercase before:bg-secondary\">\r\n                    <div class=\"btn btn--pink relative py-button-y px-button-x text-center\" data-map-select-location=\"\" data-cta-text=\"\">FIND OUT MORE<\/div>\r\n                <\/a>\r\n            <\/div>\r\n            `;\r\n        } else {\r\n            popupContent = `\r\n            <div class=\"p-4 flex-1 popup-content\" hidden>\r\n            <h2 class=\"text-lg font-black italic\">${entry.Name}<span class=\"text-base font-body-ff font-light ml-1 text-normal not-italic normal-case text-pink-300\" data-distance=\"\"><\/span><\/h2>\r\n            <div class=\"mb-4\">${entry.Name}, ${entry.City}, ${entry.Country}<\/div>\r\n            <a href=\"${entry['Booking Link']}\" class=\"uppercase before:bg-secondary\">\r\n                <div class=\"btn btn--pink relative py-button-y px-button-x text-center\" data-map-select-location=\"\" data-cta-text=\"\">FIND OUT MORE<\/div>\r\n        <\/a>\r\n        <\/div>\r\n            `;\r\n        }\r\n\r\n        let coordinates = [parseFloat(entry.Longitude), parseFloat(entry.Latitude)];\r\n        return new mapboxgl.Popup({ focusAfterOpen: false, offset: [0, -10] }).setHTML(popupContent);\r\n    }\r\n<\/script><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":7,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"footnotes":""},"class_list":["post-6955","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/x-cube.nl\/nl\/wp-json\/wp\/v2\/pages\/6955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/x-cube.nl\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/x-cube.nl\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/x-cube.nl\/nl\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/x-cube.nl\/nl\/wp-json\/wp\/v2\/comments?post=6955"}],"version-history":[{"count":0,"href":"https:\/\/x-cube.nl\/nl\/wp-json\/wp\/v2\/pages\/6955\/revisions"}],"wp:attachment":[{"href":"https:\/\/x-cube.nl\/nl\/wp-json\/wp\/v2\/media?parent=6955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}