{"id":2853,"date":"2024-04-25T14:34:45","date_gmt":"2024-04-25T13:34:45","guid":{"rendered":"https:\/\/devsite.x-cube.nl\/sweden\/"},"modified":"2025-03-28T14:19:06","modified_gmt":"2025-03-28T13:19:06","slug":"sweden","status":"publish","type":"page","link":"https:\/\/devsite.x-cube.nl\/nl\/sweden\/","title":{"rendered":"Zweden"},"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-background-position-small:left top;--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:99px;--awb-padding-bottom:71px;--awb-padding-top-small:65px;--awb-margin-top-small:0px;--awb-background-image:linear-gradient(180deg, var(--awb-color2) 0%,var(--awb-color4) 100%);--awb-flex-wrap:wrap;\" id=\"aboutthexcube\" ><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.3%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: 0.13 ;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_1_2 1_2 fusion-flex-column\" style=\"--awb-padding-top-small:14px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--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-row fusion-flex-align-items-center\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two fusion-animated\" 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;--awb-font-size:80px;--awb-animation-color:var(--awb-color4);\" data-animationType=\"revealInLeft\" data-animationDuration=\"0.5\" data-animationOffset=\"top-into-view\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;letter-spacing:-3px;font-size:1em;--fontSize:80;line-height:1;\"><h3><b>X-Cube in Zweden<\/b><\/h3><\/h2><\/div><div class=\"fusion-text fusion-text-1\" style=\"--awb-text-color:#ffffff;\"><p>Vanaf 2025 zullen we verschillende locaties openen in Zweden. Onze focus zal in eerste instantie liggen op de grote steden in Zweden, zoals Stockholm, G\u00f6teborg, Malm\u00f6, Uppsala, Link\u00f6ping, V\u00e4ster\u00e5s, \u00d6rebro en Helsingborg. Bij de opening zullen we ervoor zorgen dat onze spellen beschikbaar zijn in het Zweeds, zodat we kunnen voldoen aan de lokale marktvoorkeuren.<\/p>\n<p>Houd deze pagina en\/of onze sociale media in de gaten om onze voortgang op de Zweedse markt te volgen.<\/p>\n<\/div><div ><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-1 fusion-button-default-span fusion-button-default-type fusion-has-button-gradient\" 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:#4a33c9;--button_gradient_bottom_color:#ff3f92;--button_gradient:radial-gradient(circle at center center,#4a33c9 0%,#ff3f92 0%);--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:3px;--button_typography-font-family:&quot;Montserrat&quot;;--button_typography-font-style:normal;--button_typography-font-weight:700;\" target=\"_self\" href=\"#locations\"><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\">Zie onze locaties<\/span><\/a><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--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-image-element \" style=\"--awb-caption-title-color:#7c7c7c;--awb-caption-overlay-color:rgba(255,255,255,0);--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);--awb-caption-text-font-family:&quot;Amaranth&quot;;--awb-caption-text-font-style:normal;--awb-caption-text-font-weight:400;--awb-filter:saturate(120%);--awb-filter-transition:filter 0.3s ease;--awb-filter-hover:saturate(100%);\"><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none fusion-animated\" data-animationType=\"lightspeedin\" data-animationDuration=\"0.3\" data-animationOffset=\"top-into-view\"><img decoding=\"async\" width=\"500\" height=\"542\" title=\"xcube\" src=\"https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2024\/04\/xcube.png\" data-orig-src=\"https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2024\/04\/xcube.png\" alt class=\"lazyload img-responsive wp-image-2521\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27500%27%20height%3D%27542%27%20viewBox%3D%270%200%20500%20542%27%3E%3Crect%20width%3D%27500%27%20height%3D%27542%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2024\/04\/xcube-200x217.png 200w, https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2024\/04\/xcube-400x434.png 400w, https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2024\/04\/xcube.png 500w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 500px\" \/><\/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-top:37px;--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\"><div class=\"fusion-title title fusion-title-2 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);\">Vul de map met jouw eigen X-Cube<\/h2><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 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%;\" id=\"locations\" data-scroll-devices=\"small-visibility,medium-visibility,large-visibility\"><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    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    .map-wrapper {\r\n        max-width: 100%;\r\n        width: 100%;\r\n        margin: 0 auto;\r\n    }\r\n\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    .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        width: 100%;\r\n    }\r\n\r\n    .suggestions-wrapper {\r\n        display: none;\r\n    }\r\n\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\r\n    .location-list::-webkit-scrollbar {\r\n        width: 8px;\r\n    }\r\n\r\n    .location-list::-webkit-scrollbar-thumb {\r\n        background: #9e9e9e;\r\n        border-radius: 8px;\r\n    }\r\n\r\n    .location-list::-webkit-scrollbar-thumb:hover {\r\n        background: #767676;\r\n    }\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        transition: 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        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    \/* FIX: keyboard focus style for accessibility *\/\r\n    .location-item:focus {\r\n        outline: 2px solid #4A33C9;\r\n        outline-offset: -2px;\r\n        background-color: #f0eeff;\r\n    }\r\n\r\n    .location-item .location {\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    .location-item:hover {\r\n        background-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\r\n    .location-item h3 {\r\n        color: #4A33C9 !important;\r\n        font-size: 20px !important;\r\n        line-height: 24px !important;\r\n        margin: 0 !important;\r\n    }\r\n\r\n    .location-item p {\r\n        line-height: 18px !important;\r\n        opacity: 0.75 !important;\r\n        margin: 0 !important;\r\n    }\r\n\r\n    #map {\r\n        width: 100%;\r\n        height: 70vh;\r\n        font-family: \"Montserrat\", sans-serif;\r\n    }\r\n\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    .mapboxgl-ctrl-geocoder {\r\n        min-width: 100%;\r\n    }\r\n\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    .mapboxgl-popup-content {\r\n        border-width: 0px;\r\n        color: rgb(53 0 85);\r\n        font-family: \"Montserrat\", sans-serif;\r\n        font-size: .875rem;\r\n        line-height: 1.25rem;\r\n        padding: 0;\r\n        height: auto;\r\n        width: fit-content;\r\n        max-width: 20rem;\r\n    }\r\n\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    .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    .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: 0.5rem;\r\n    }\r\n\r\n    \/* FIX: simplified popup button \u2014 no broken glow variables, clean solid style *\/\r\n    .mapboxgl-popup-content a {\r\n        text-decoration: none;\r\n        display: block;\r\n        margin-top: 0.75rem;\r\n    }\r\n\r\n    .mapboxgl-popup-content .btn--pink {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        background-color: #4A33C9;\r\n        color: #fff;\r\n        font-family: \"Montserrat\", sans-serif;\r\n        font-weight: 700;\r\n        font-size: 0.875rem;\r\n        letter-spacing: 0.05em;\r\n        text-transform: uppercase;\r\n        padding: 0.75rem 1.5rem;\r\n        border-radius: 4px;\r\n        transition: background-color 0.2s ease;\r\n    }\r\n\r\n    .mapboxgl-popup-content .btn--pink:hover {\r\n        background-color: #3826a8;\r\n    }\r\n\r\n    \/* FIX: distance badge in popup *\/\r\n    .popup-distance {\r\n        display: inline-block;\r\n        font-size: 0.75rem;\r\n        font-weight: 500;\r\n        font-style: normal;\r\n        color: #888;\r\n        margin-left: 0.4rem;\r\n    }\r\n\r\n    .header-section {\r\n        display: flex;\r\n        padding: 5px;\r\n    }\r\n\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    @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<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                <!-- FIX: aria-label for accessibility -->\r\n                <button class=\"btn toggle-btn\" id=\"toggle-btn\" aria-label=\"Toggle location list\">&#9776;<\/button>\r\n                <div id=\"geocoder\" class=\"geocoder\"><\/div>\r\n            <\/div>\r\n            <div class=\"location-list\" role=\"list\" aria-label=\"Locations\"><\/div>\r\n        <\/div>\r\n        <div id=\"map\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\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<script>\r\n    mapboxgl.accessToken = 'pk.eyJ1IjoieGN1YmV0ZWNoIiwiYSI6ImNsazB4aG85bTAwNWkzaW92cW4xejhkaHkifQ.Mr8oNwtF_lxKf9RWSrPDiA';\r\n\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\r\n    \/\/ FIX: hoisted to a constant \u2014 evaluated once, not on every click\r\n    const isMobile = (function () {\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    const svgIcons = `\r\n        <svg display=\"block\" height=\"41px\" width=\"27px\" viewBox=\"0 0 27 41\" role=\"img\" aria-label=\"Location marker\">\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    function getLanguageCode() {\r\n        const match = window.location.pathname.match(\/\\\/([a-z]{2})\\\/\/i);\r\n        return match ? match[1].toUpperCase() : null;\r\n    }\r\n\r\n    const langCode = getLanguageCode();\r\n\r\n    function ensureAbsoluteURL(url) {\r\n        if (!url) return url;\r\n        return url.match(\/^https?:\\\/\\\/\/i) ? url : `https:\/\/${url}`;\r\n    }\r\n\r\n    function getBookingLink(entry) {\r\n        const localKey = langCode ? `Booking Link ${langCode}` : null;\r\n        const link = (localKey && entry[localKey]) ? entry[localKey] : entry['Booking Link'];\r\n        return ensureAbsoluteURL(link);\r\n    }\r\n\r\n    \/\/ FIX: compute distance in km between two lat\/lng points (Haversine formula)\r\n    function getDistanceKm(lat1, lng1, lat2, lng2) {\r\n        const R = 6371;\r\n        const dLat = (lat2 - lat1) * Math.PI \/ 180;\r\n        const dLng = (lng2 - lng1) * Math.PI \/ 180;\r\n        const a = Math.sin(dLat \/ 2) ** 2 +\r\n            Math.cos(lat1 * Math.PI \/ 180) * Math.cos(lat2 * Math.PI \/ 180) *\r\n            Math.sin(dLng \/ 2) ** 2;\r\n        return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n    }\r\n\r\n    \/\/ FIX: request the user's location once and cache it\r\n    let userCoords = null;\r\n    if (navigator.geolocation) {\r\n        navigator.geolocation.getCurrentPosition(pos => {\r\n            userCoords = { lat: pos.coords.latitude, lng: pos.coords.longitude };\r\n        });\r\n    }\r\n\r\n    var activeMarkerEl, activePopup;\r\n    \/\/ FIX: always initialised as array so .forEach never throws\r\n    var locationsMarkers = [];\r\n    var locations = [];\r\n\r\n    \/\/ FIX: track sidebar open state independently so search doesn't force it open\r\n    var sidebarOpen = false;\r\n\r\n    function forwardGeocoder(query) {\r\n        const matchingFeatures = [];\r\n        for (const feature of locations) {\r\n            if (feature.Name.toLowerCase().includes(query.toLowerCase())) {\r\n                matchingFeatures.push({\r\n                    text: feature.Name,\r\n                    place_name: `${feature.Name}, x-cube-location`,\r\n                    center: [parseFloat(feature.Longitude), parseFloat(feature.Latitude)],\r\n                    place_type: ['park'],\r\n                    location_type: 'x-cube-location'\r\n                });\r\n            }\r\n        }\r\n        return matchingFeatures;\r\n    }\r\n\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    document.getElementById('geocoder').appendChild(geocoder.onAdd(map));\r\n\r\n    map.on(\"load\", () => {\r\n        getLocations();\r\n\r\n        document.getElementById(\"toggle-btn\").onclick = () => {\r\n            sidebarOpen = !sidebarOpen;\r\n            document.querySelector(\".location-list\").classList.toggle(\"show\", sidebarOpen);\r\n        };\r\n    });\r\n\r\n    function getTopDomain() {\r\n        const parts = window.location.hostname.split('.');\r\n        return parts[parts.length - 1];\r\n    }\r\n\r\n    function getPageURL() {\r\n        const parts = window.location.pathname.split('\/').filter(Boolean);\r\n        return parts[parts.length - 1];\r\n    }\r\n\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                const topDomain = getTopDomain();\r\n                const pageURL = getPageURL();\r\n\r\n                locations.sort((a, b) => {\r\n                    if (a.WebCode === topDomain) return -1;\r\n                    if (b.WebCode === topDomain) return 1;\r\n                    return 0;\r\n                });\r\n\r\n                if (pageURL !== \"locations\") {\r\n                    locations.sort((a, b) => {\r\n                        if (a.Country.toLowerCase() === pageURL) return -1;\r\n                        if (b.Country.toLowerCase() === pageURL) return 1;\r\n                        return 0;\r\n                    });\r\n                }\r\n\r\n                \/\/ FIX: added easing and padding to initial flyTo\r\n                map.flyTo({\r\n                    center: [parseFloat(locations[0].FocusLon), parseFloat(locations[0].FocusLat)],\r\n                    zoom: locations[0].FocusZoom,\r\n                    speed: 1.2,\r\n                    curve: 1.4,\r\n                    easing: t => t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t\r\n                });\r\n\r\n                renderMarkers(locations);\r\n                renderLocationList(locations);\r\n            }\r\n        });\r\n    }\r\n\r\n    function searchLocation(term) {\r\n        const filteredLocations = locations.filter(location =>\r\n            location.Name.toLowerCase().includes(term.toLowerCase()) ||\r\n            location.Country.toLowerCase().includes(term.toLowerCase()) ||\r\n            location.WebCode.toLowerCase().includes(term.toLowerCase()) ||\r\n            location.City.toLowerCase().includes(term.toLowerCase()) ||\r\n            location.Address.toLowerCase().includes(term.toLowerCase())\r\n        );\r\n        renderMarkers(filteredLocations);\r\n        renderLocationList(filteredLocations);\r\n    }\r\n\r\n    document.querySelector('.mapboxgl-ctrl-geocoder--input').addEventListener(\"input\", (e) => {\r\n        \/\/ FIX: only open the sidebar if the user has explicitly opened it before or is actively typing\r\n        if (e.target.value.length > 0 && sidebarOpen) {\r\n            document.querySelector('.location-list').classList.add('show');\r\n        } else if (e.target.value.length > 0) {\r\n            sidebarOpen = true;\r\n            document.querySelector('.location-list').classList.add('show');\r\n        }\r\n        searchLocation(e.target.value);\r\n    });\r\n\r\n    document.querySelector('.mapboxgl-ctrl-geocoder--button').addEventListener(\"click\", () => {\r\n        searchLocation(\"\");\r\n    });\r\n\r\n    function renderLocationList(items) {\r\n        const itemsContainer = document.querySelector(\".location-list\");\r\n        if (!itemsContainer) return;\r\n\r\n        const locationItems = items\r\n            .filter(entry => !entry.Name.includes('Display') && getBookingLink(entry))\r\n            .map(entry => `\r\n                <div class=\"location-item\" role=\"listitem\" tabindex=\"0\" data-name=\"${entry.Name}\" aria-label=\"${entry.Name}, ${entry.City}, ${entry.Country}\">\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 class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2716%27%20viewBox%3D%270%200%2024%2016%27%3E%3Crect%20width%3D%2724%27%20height%3D%2716%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/x-cube.nl\/wp-content\/plugins\/sitepress-multilingual-cms\/res\/flags\/${entry.CountryCode.toLowerCase()}.svg\" alt=\"${entry.Country} flag\" width=\"24\" height=\"16\">\r\n                <\/div>\r\n            `)\r\n            .join(\"\");\r\n\r\n        itemsContainer.innerHTML = locationItems;\r\n        fireClickListener();\r\n    }\r\n\r\n    function fireClickListener() {\r\n        document.querySelectorAll(\".location-item\").forEach(item => {\r\n            const name = item.getAttribute('data-name');\r\n\r\n            item.onclick = () => {\r\n                toggleMarkerByName(name);\r\n                if (isMobile) {\r\n                    sidebarOpen = false;\r\n                    document.querySelector(\".location-list\").classList.remove(\"show\");\r\n                }\r\n            };\r\n\r\n            \/\/ FIX: keyboard navigation \u2014 Enter and Space activate the item\r\n            item.onkeydown = (e) => {\r\n                if (e.key === 'Enter' || e.key === ' ') {\r\n                    e.preventDefault();\r\n                    toggleMarkerByName(name);\r\n                    if (isMobile) {\r\n                        sidebarOpen = false;\r\n                        document.querySelector(\".location-list\").classList.remove(\"show\");\r\n                    }\r\n                }\r\n                \/\/ Arrow key navigation through the list\r\n                if (e.key === 'ArrowDown') {\r\n                    e.preventDefault();\r\n                    const next = item.nextElementSibling;\r\n                    if (next) next.focus();\r\n                }\r\n                if (e.key === 'ArrowUp') {\r\n                    e.preventDefault();\r\n                    const prev = item.previousElementSibling;\r\n                    if (prev) prev.focus();\r\n                }\r\n            };\r\n        });\r\n    }\r\n\r\n    function toggleMarkerByName(name) {\r\n        const location = locations.find(entry => entry.Name === name);\r\n        if (!location) return;\r\n\r\n        locationsMarkers.forEach(marker => {\r\n            if (marker.title === name) {\r\n                const popup = marker.getPopup();\r\n                if (activePopup) activePopup.remove();\r\n                marker.togglePopup();\r\n                activeMarkerEl = marker.getElement();\r\n                activeMarkerEl.classList.add(\"active\");\r\n                activePopup = popup;\r\n\r\n                \/\/ FIX: smoother flyTo with easing and padding so popup isn't clipped\r\n                map.flyTo({\r\n                    center: [parseFloat(location.Longitude), parseFloat(location.Latitude)],\r\n                    zoom: 14,\r\n                    speed: 1.4,\r\n                    curve: 1.4,\r\n                    padding: { top: 60, bottom: 60, left: 320, right: 60 },\r\n                    easing: t => t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t\r\n                });\r\n            }\r\n        });\r\n    }\r\n\r\n    \/\/ FIX: remove old markers before creating new ones \u2014 prevents accumulation on every search\r\n    function renderMarkers(cities) {\r\n        locationsMarkers.forEach(marker => marker.remove());\r\n\r\n        locationsMarkers = cities\r\n            .filter(city => getBookingLink(city))\r\n            .map((city, i) => createMarker(city, i));\r\n    }\r\n\r\n    function createMarker(entry, i) {\r\n        const markerEl = document.createElement(\"div\");\r\n        markerEl.classList.add(\"div-marker\");\r\n        \/\/ FIX: accessible label on the marker element itself\r\n        markerEl.setAttribute(\"aria-label\", entry.Name);\r\n        markerEl.innerHTML += svgIcons;\r\n\r\n        const popup = createPopup(entry);\r\n        const marker = new mapboxgl.Marker({ element: markerEl });\r\n        marker.setLngLat([parseFloat(entry.Longitude), parseFloat(entry.Latitude)])\r\n              .setPopup(popup)\r\n              .addTo(map);\r\n        marker.title = entry.Name;\r\n\r\n        \/\/ FIX: null-guard prevents crash on first popup close\r\n        popup.on(\"close\", () => {\r\n            if (activeMarkerEl) {\r\n                activeMarkerEl.classList.remove(\"active\");\r\n            }\r\n        });\r\n\r\n        markerEl.addEventListener(\"click\", (e) => {\r\n            e.stopPropagation();\r\n            if (activeMarkerEl && activeMarkerEl !== e.currentTarget) {\r\n                activeMarkerEl.classList.remove(\"active\");\r\n                if (activePopup) activePopup.remove();\r\n            }\r\n            markerEl.classList.add(\"active\");\r\n            marker.togglePopup();\r\n            activeMarkerEl = markerEl;\r\n            activePopup = popup;\r\n        });\r\n\r\n        return marker;\r\n    }\r\n\r\n    function createPopup(entry) {\r\n        \/\/ FIX: compute and display distance from user if geolocation was granted\r\n        let distanceLabel = '';\r\n        if (userCoords) {\r\n            const km = getDistanceKm(\r\n                userCoords.lat, userCoords.lng,\r\n                parseFloat(entry.Latitude), parseFloat(entry.Longitude)\r\n            );\r\n            distanceLabel = km < 1000\r\n                ? `${Math.round(km)} km away`\r\n                : `${(km \/ 1000).toFixed(1)}k km away`;\r\n        }\r\n\r\n        const popupContent = `\r\n            <div class=\"popup-content\">\r\n                <h2>${entry.Name}${distanceLabel ? `<span class=\"popup-distance\">${distanceLabel}<\/span>` : ''}<\/h2>\r\n                <div>${entry.City}, ${entry.Country}<\/div>\r\n                <a href=\"${getBookingLink(entry)}\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n                    <div class=\"btn--pink\">FIND OUT MORE<\/div>\r\n                <\/a>\r\n            <\/div>\r\n        `;\r\n\r\n        return new mapboxgl.Popup({ focusAfterOpen: false, offset: [0, -10] }).setHTML(popupContent);\r\n    }\r\n<\/script><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-padding-top:37px;--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-row fusion-flex-align-items-center\"><div style=\"text-align:left;\"><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-2 fusion-button-default-span fusion-button-default-type awb-b-icon-pos-left fusion-has-button-gradient\" style=\"--awb-margin-right:20px;--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-color4);--button_gradient_bottom_color:var(--awb-color3);--button_gradient:radial-gradient(circle at center center,var(--awb-color4) 0%,var(--awb-color3) 0%);--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:3px;--button_typography-font-family:&quot;Montserrat&quot;;--button_typography-font-style:normal;--button_typography-font-weight:500;\" target=\"_self\" data-hover=\"icon_position\" href=\"https:\/\/x-cube.com\/locations\" rel=\"nofollow noopener\"><i class=\"fa-angle-right fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><i class=\"fa-angle-right 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\">Verenigde staten<\/span><\/a><\/div><div style=\"text-align:left;\"><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-3 fusion-button-default-span fusion-button-default-type awb-b-icon-pos-left fusion-has-button-gradient\" style=\"--awb-margin-right:20px;--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-color4);--button_gradient_bottom_color:var(--awb-color3);--button_gradient:radial-gradient(circle at center center,var(--awb-color4) 0%,var(--awb-color3) 0%);--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:3px;--button_typography-font-family:&quot;Montserrat&quot;;--button_typography-font-style:normal;--button_typography-font-weight:500;\" target=\"_self\" data-hover=\"icon_position\" href=\"https:\/\/x-cube.pt\/portugal\" rel=\"nofollow noopener\"><i class=\"fa-angle-right fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><i class=\"fa-angle-right 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\">Portugal<\/span><\/a><\/div><div style=\"text-align:left;\"><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-4 fusion-button-default-span fusion-button-default-type awb-b-icon-pos-left fusion-has-button-gradient\" style=\"--awb-margin-right:20px;--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-color4);--button_gradient_bottom_color:var(--awb-color3);--button_gradient:radial-gradient(circle at center center,var(--awb-color4) 0%,var(--awb-color3) 0%);--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:3px;--button_typography-font-family:&quot;Montserrat&quot;;--button_typography-font-style:normal;--button_typography-font-weight:500;\" target=\"_self\" data-hover=\"icon_position\" href=\"https:\/\/devsite.x-cube.nl\/nl\/belgium\/\"><i class=\"fa-angle-right fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><i class=\"fa-angle-right 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\">Belgi\u00eb<\/span><\/a><\/div><div style=\"text-align:left;\"><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-5 fusion-button-default-span fusion-button-default-type awb-b-icon-pos-left fusion-has-button-gradient\" style=\"--awb-margin-right:20px;--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-color4);--button_gradient_bottom_color:var(--awb-color3);--button_gradient:radial-gradient(circle at center center,var(--awb-color4) 0%,var(--awb-color3) 0%);--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:3px;--button_typography-font-family:&quot;Montserrat&quot;;--button_typography-font-style:normal;--button_typography-font-weight:500;\" target=\"_self\" data-hover=\"icon_position\" href=\"https:\/\/devsite.x-cube.nl\/nl\/netherlands\/\"><i class=\"fa-angle-right fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><i class=\"fa-angle-right 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\">Nederland<\/span><\/a><\/div><div style=\"text-align:left;\"><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-6 fusion-button-default-span fusion-button-default-type awb-b-icon-pos-left fusion-has-button-gradient\" style=\"--awb-margin-right:20px;--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-color4);--button_gradient_bottom_color:var(--awb-color3);--button_gradient:radial-gradient(circle at center center,var(--awb-color4) 0%,var(--awb-color3) 0%);--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:3px;--button_typography-font-family:&quot;Montserrat&quot;;--button_typography-font-style:normal;--button_typography-font-weight:500;\" target=\"_self\" data-hover=\"icon_position\" href=\"https:\/\/devsite.x-cube.nl\/nl\/malta\/\"><i class=\"fa-angle-right fas awb-button__icon awb-button__icon--default button-icon-left\" aria-hidden=\"true\"><\/i><i class=\"fa-angle-right 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\">Malta<\/span><\/a><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-padding-top:37px;--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-row fusion-flex-align-items-center\"><div class=\"fusion-text fusion-text-2\" style=\"--awb-text-color:var(--awb-color7);\"><h3 class=\"fusion-responsive-typography-calculated\" style=\"--fontsize: 36; line-height: 1.2; color: #ffffff;\" data-fontsize=\"36\" data-lineheight=\"43.2px\">Een X-Cube in Zweden plaatsen?<\/h3>\n<p>Bedrijven die zich richten op vrije tijd en entertainment kunnen contact met ons opnemen om de mogelijkheden te bespreken voor het plaatsen van een X-Cube op locatie. X-Cubes zijn ideaal voor het uitbreiden van een bestaande portfolio. De X-Cube is slechts 16m2 groot, vereist geen operator, en we hebben spellen en ervaringen voor verschillende doelgroepen in verschillende talen, binnenkort ook in het Zweeds en nog veel meer.<\/p>\n<p>De X-Cube is ideaal voor recreatiecentra, bowlingcentra, escaperoomcentra, VR-centra, winkelcentra, vakantieparken, hotels en andere locaties waar entertainment een belangrijk onderdeel is.<\/p>\n<p><a style=\"color: var(--awb-color5);\" href=\"https:\/\/devsite.x-cube.nl\/nl\/contact\/\">Neem contact met ons op<\/a> voor meer informatie.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_2_5 2_5 fusion-flex-column\" style=\"--awb-padding-top:37px;--awb-padding-bottom:0px;--awb-bg-size:cover;--awb-width-large:40%;--awb-margin-top-large:0px;--awb-spacing-right-large:4.8%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:4.8%;--awb-width-medium:40%;--awb-order-medium:0;--awb-spacing-right-medium:4.8%;--awb-spacing-left-medium:4.8%;--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-row fusion-flex-align-items-center\"><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-one\" 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;--awb-font-size:38px;\"><h1 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;font-size:1em;--fontSize:38;line-height:var(--awb-typography1-line-height);\">Over 40 X-Cubes op 25 locations wereldwijd<\/h1><\/div><div class=\"fusion-text fusion-text-3\" style=\"--awb-text-color:var(--awb-color7);\"><p>Onze toewijding om innovatieve entertainmentervaringen naar publiek over de hele wereld te brengen, blijft groeien, waardoor het avontuur nooit ver van uw deur is. Verken ons steeds groeiende netwerk en vind de dichtstbijzijnde X-Cube voor je volgende adrenalinekick!<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_3_5 3_5 fusion-flex-column\" style=\"--awb-overflow:hidden;--awb-bg-size:cover;--awb-border-radius:15px 15px 15px 15px;--awb-width-large:60%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.2%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.2%;--awb-width-medium:60%;--awb-order-medium:0;--awb-spacing-right-medium:3.2%;--awb-spacing-left-medium:3.2%;--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-image-element \" style=\"--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-3 hover-type-none\"><img decoding=\"async\" width=\"800\" height=\"533\" title=\"xCube-13\" src=\"https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2023\/08\/xCube-13.jpg\" data-orig-src=\"https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2023\/08\/xCube-13.jpg\" alt class=\"lazyload img-responsive wp-image-1567\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27800%27%20height%3D%27533%27%20viewBox%3D%270%200%20800%20533%27%3E%3Crect%20width%3D%27800%27%20height%3D%27533%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2023\/08\/xCube-13-200x133.jpg 200w, https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2023\/08\/xCube-13-400x267.jpg 400w, https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2023\/08\/xCube-13-600x400.jpg 600w, https:\/\/devsite.x-cube.nl\/wp-content\/uploads\/2023\/08\/xCube-13.jpg 800w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 800px\" \/><\/span><\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"footnotes":""},"class_list":["post-2853","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/devsite.x-cube.nl\/nl\/wp-json\/wp\/v2\/pages\/2853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devsite.x-cube.nl\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/devsite.x-cube.nl\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/devsite.x-cube.nl\/nl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/devsite.x-cube.nl\/nl\/wp-json\/wp\/v2\/comments?post=2853"}],"version-history":[{"count":0,"href":"https:\/\/devsite.x-cube.nl\/nl\/wp-json\/wp\/v2\/pages\/2853\/revisions"}],"wp:attachment":[{"href":"https:\/\/devsite.x-cube.nl\/nl\/wp-json\/wp\/v2\/media?parent=2853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}