{"id":162110,"date":"2026-05-11T10:42:37","date_gmt":"2026-05-11T08:42:37","guid":{"rendered":"https:\/\/woonwoon.de\/?page_id=162110"},"modified":"2026-06-08T16:23:51","modified_gmt":"2026-06-08T14:23:51","slug":"which-berlin-district-suits-you","status":"publish","type":"page","link":"https:\/\/woonwoon.de\/en\/welcher-berliner-bezirk-passt-zu-dir\/","title":{"rendered":"Which Berlin district suits you?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"162110\" class=\"elementor elementor-162110\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4313ae2 e-flex e-con-boxed e-con e-parent\" data-id=\"4313ae2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cc08b3b elementor-widget__width-inherit elementor-widget elementor-widget-shortcode\" data-id=\"cc08b3b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"wwq162070\" class=\"ww-quiz ww-quiz-has-intro\" style=\"--ww-color1:#3d5a80;--ww-color2:#ffffff;\">\n        <div class=\"ww-hero\" id=\"wwq162070-hero\">\n            <p class=\"ww-eyebrow\" id=\"wwq162070-eyebrow\">Quiz<\/p>\n            <h2 class=\"elementor-heading-title\" id=\"wwq162070-htitle\">Which Berlin district suits you?<\/h2>\n            <p class=\"ww-after-title\" id=\"wwq162070-hafter\" style=\"display:none\"><\/p>\n            <p class=\"ww-subtitle\" id=\"wwq162070-hsub\">10 questions - under 2 minutes - instant result<\/p>\n            <div class=\"ww-pbar ww-quiz-progress\"><div class=\"ww-pfill\" id=\"wwq162070-prog\"><\/div><\/div>\n            <div class=\"ww-plbl ww-quiz-progress\" id=\"wwq162070-lbl\"><\/div>\n        <\/div>\n        <div class=\"ww-quiz-body\">\n            <div id=\"wwq162070-area\"><\/div>\n        <\/div>\n    <\/div>\n    <script>\n    (function(){\n        var UID   = 'wwq162070';\n        var Q     = [{\"q\":\"How important is nightlife to you?\",\"opts\":[\"Very important - I often go out partying\",\"Occasional bars &amp; caf\\u00e9s\",\"Rather quiet, I rarely go out\",\"Not important at all\"],\"pts\":[3,2,1,0]},{\"q\":\"How important is the public transport connection to you?\",\"opts\":[\"Very important\",\"Medium\",\"No matter\",\"Hardly important\"],\"pts\":[3,2,1,0]},{\"q\":\"How important is nature and greenery in your neighbourhood to you?\",\"opts\":[\"Absolutely - park, lakes or forest right next door\",\"Nice if available, but not a must\",\"Anyway, I prefer urban life\",\"In the middle of the hustle and bustle - nature can wait\"],\"pts\":[0,1,2,3]},{\"q\":\"What stage of life are you in?\",\"opts\":[\"Single or couple, no children\",\"couple, children planned\",\"Family with children\",\"Quieter phase of life, space is important\"],\"pts\":[3,2,1,0]},{\"q\":\"What is more important to you - a central location or cheaper rent?\",\"opts\":[\"Central location - I prefer to pay more for proximity\",\"Rather central, but not at any price\",\"Rather favourable, even if it is a little further\",\"Favourable rent - location is less important to me\"],\"pts\":[3,2,1,0]},{\"q\":\"How important is an international community to you?\",\"opts\":[\"Very important\",\"Quite nice, but not a must\",\"Rather unimportant\",\"Not important at all\"],\"pts\":[3,2,1,0]},{\"q\":\"How important is a cultural programme to you?\",\"opts\":[\"Very - Galleries, theatre, events\",\"Medium - occasionally gladly\",\"Little - a good restaurant is enough\",\"Not important at all\"],\"pts\":[3,2,1,0]},{\"q\":\"Where is your favourite place to shop?\",\"opts\":[\"Many restaurants &amp; Sp\\u00e4tis around the corner\",\"Weekly market &amp; local shops\",\"Supermarket is enough for me\",\"Mainly online\"],\"pts\":[3,2,1,0]},{\"q\":\"How far can your flat be from the city centre by car?\",\"opts\":[\"Maximum 10 minutes - I want to be central\",\"10-20 minutes - good balance\",\"20-30 minutes - no problem\",\"Even further - peace and quiet is more important to me than closeness\"],\"pts\":[3,2,1,0]},{\"q\":\"What is most important to you in your immediate neighbourhood?\",\"opts\":[\"Good restaurants &amp; caf\\u00e9s right on the doorstep\",\"Lively neighbourhood with shops &amp; people\",\"Quiet streets &amp; clean surroundings\",\"Green spaces &amp; playgrounds in the neighbourhood\"],\"pts\":[3,2,1,0]}];\n        var R     = [{\"min\":26,\"name\":\"Mitte-Kreuzberg\",\"traits\":[\"Urban\",\"Cultural\",\"Diverse\"],\"desc\":\"You love the vibrant city life, culture, nightlife and diversity. Mitte and Kreuzberg offer you just that - at every turn.\",\"url\":\"https:\\\/\\\/woonwoon.de\\\/berlin-kreuzberg\"},{\"min\":21,\"name\":\"Neuk\\u00f6lln\",\"traits\":[\"Creative\",\"Open\",\"Scene\"],\"desc\":\"Creative, open, a mix of scene and everyday life. Neuk\\u00f6lln is your neighbourhood - authentic, lively and never boring.\",\"url\":\"https:\\\/\\\/woonwoon.de\\\/neukoelln\"},{\"min\":17,\"name\":\"Sch\\u00f6neberg\",\"traits\":[\"Balanced\",\"Lifestyle\",\"Relaxed\"],\"desc\":\"You are looking for a balance: life, culture and relaxation. Sch\\u00f6neberg combines an urban lifestyle with quiet corners.\",\"url\":\"https:\\\/\\\/woonwoon.de\\\/schoeneberg\"},{\"min\":13,\"name\":\"Charlottenburg-Wilmersdorf\",\"traits\":[\"Stylish\",\"Structured\",\"Upscale\"],\"desc\":\"Style, structure and upscale surroundings. Charlottenburg suits you - elegant streets, good restaurants, solid connections.\",\"url\":\"https:\\\/\\\/woonwoon.de\\\/charlottenburg\"},{\"min\":9,\"name\":\"Prenzlauer Berg\",\"traits\":[\"Relaxed\",\"Caf\\u00e9s\",\"Close to the family\"],\"desc\":\"Relaxed, caf\\u00e9s everywhere and urban life at a quiet pace. Prenzlauer Berg is made for you.\",\"url\":\"https:\\\/\\\/woonwoon.de\\\/prenzlauer-berg\"},{\"min\":6,\"name\":\"Wei\\u00dfensee\",\"traits\":[\"Quiet\",\"Close to the city\",\"Naturally\"],\"desc\":\"Quiet and yet close to the city - Wei\\u00dfensee offers space, nature and good connections without all the urban chaos.\",\"url\":\"https:\\\/\\\/woonwoon.de\\\/weissensee\"},{\"min\":3,\"name\":\"Steglitz-Zehlendorf\",\"traits\":[\"Nature\",\"Peace and quiet\",\"Family\"],\"desc\":\"Nature, tranquillity and family friendliness - Steglitz-Zehlendorf is ideal if you are looking for some distance from the hustle and bustle.\",\"url\":\"https:\\\/\\\/woonwoon.de\\\/steglitz\"},{\"min\":0,\"name\":\"Tegel\",\"traits\":[\"Maximum peace and quiet\",\"Distance\",\"Green\"],\"desc\":\"Maximum peace and quiet and distance from the hustle and bustle. Tegel offers greenery, tranquillity and still Berlin - perfect for you.\",\"url\":\"https:\\\/\\\/woonwoon.de\\\/tegel\"}];\n        var L     = {\"next\":\"Next\",\"showResult\":\"Show result\",\"questionOf\":\"Question {current} of {total}\",\"yourResult\":\"Your result\",\"yourDistrict\":\"Your district is\",\"alsoTitle\":\"Also a good fit\",\"restart\":\"Restart quiz\",\"discover\":\"Discover {name}\"};\n        var INTRO = {\"enabled\":true,\"current\":\"en\",\"de\":{\"eyebrow\":\"BEZIRK-QUIZ\",\"headline\":\"Welcher Berliner Bezirk passt zu dir?\",\"subtext\":\"Dein perfekter Bezirk wartet. Finde ihn in zwei Minuten.\",\"stats\":[{\"value\":\"10\",\"label\":\"Fragen\"},{\"value\":\"2 min\",\"label\":\"Dauer\"},{\"value\":\"1:1\",\"label\":\"Ergebnis\"}],\"quote\":\"Finde deinen Bezirk in Berlin.\",\"quoteBy\":\"WOONWOON QUIZ\",\"langLabel\":\"SPRACHE\",\"button\":\"Quiz starten\",\"image\":\"https:\\\/\\\/woonwoon.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Gemini_Generated_Image_hgyd8hhgyd8hhgyd-1-1-1024x683.png\",\"imageAlt\":\"Welcher Berliner Bezirk passt zu dir?\"},\"en\":{\"eyebrow\":\"DISTRICT QUIZ\",\"headline\":\"Welcher Berliner Bezirk passt zu dir?\",\"subtext\":\"Your perfect neighborhood is waiting. Find it in two minutes.\",\"stats\":[{\"value\":\"10\",\"label\":\"Questions\"},{\"value\":\"2 min\",\"label\":\"Duration\"},{\"value\":\"1:1\",\"label\":\"Result\"}],\"quote\":\"Find your district in Berlin.\",\"quoteBy\":\"WOONWOON QUIZ\",\"langLabel\":\"LANGUAGE\",\"button\":\"Quiz starten\",\"image\":\"https:\\\/\\\/woonwoon.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Gemini_Generated_Image_hgyd8hhgyd8hhgyd-1-1-1024x683.png\",\"imageAlt\":\"Welcher Berliner Bezirk passt zu dir?\"},\"langUrls\":{\"de\":\"https:\\\/\\\/woonwoon.de\\\/en\\\/wp-json\\\/wp\\\/v2\\\/pages\\\/162110#TRPLINKPROCESSED\",\"en\":\"https:\\\/\\\/woonwoon.de\\\/en\\\/wp-json\\\/wp\\\/v2\\\/pages\\\/162110#TRPLINKPROCESSED\"}};\n        var LEAD  = {\"enabled\":true,\"headline\":\"Apartments that match your criteria delivered straight to your inbox\",\"text\":\"We\\u0027ll send you listings for new apartments and let you know when something suitable becomes available\",\"button\":\"Request offer\",\"success\":\"Thanks! We will be in touch soon.\",\"consent\":\"I agree that woonwoon may contact me about my quiz result.\",\"namePh\":\"Your name\",\"emailPh\":\"Your email\",\"error\":\"Something went wrong. Please try again.\"};\n        var SHARE = {\"enabled\":true,\"title\":\"Share your result\",\"text\":\"Are you a {name} type? Let your friends know.\",\"shareMsg\":\"I\\u0027m a {name} type! Find your Berlin district at woonwoon.de\\\/quiz\",\"btnWhatsapp\":\"WhatsApp\",\"btnCopy\":\"Copy link\",\"btnCopied\":\"Copied!\",\"btnInstagram\":\"Instagram\",\"igHint\":\"Text copied \\u2013 paste into your Instagram Story\",\"storyTitle\":\"Instagram Story\",\"storyBtn\":\"Download story graphic\",\"storyTagline\":\"Find your district\",\"storyUrl\":\"woonwoon.de\\\/quiz\",\"storyDistrict\":\"Your district is\"};\n        var HERO  = {\"eyebrow\":\"Quiz\",\"title\":\"Which Berlin district suits you?\",\"title_after\":\"\",\"subtitle\":\"10 questions - under 2 minutes - instant result\"};\n        var AJAX  = {\"url\":\"https:\\\/\\\/woonwoon.de\\\/wp-admin\\\/admin-ajax.php\",\"nonce\":\"3b72f48c66\"};\n        var QUIZ_ID = 162070;\n        var UI_LANG = 'en';\n\n        R.sort(function(a,b){ return parseInt(b.min) - parseInt(a.min); });\n\n        var cur = 0, ans = [], score = 0, started = !INTRO.enabled;\n        var resultAt = 0, leadSubmitted = false;\n        var introLang = INTRO.current || 'de';\n        var letters = ['A','B','C','D'];\n\n        function $id(id){ return document.getElementById(id); }\n        function area(){ return $id(UID+'-area'); }\n        function root(){ return $id(UID); }\n\n        function questionLbl(a, b) {\n            return L.questionOf.replace('{current}', String(a)).replace('{total}', String(b));\n        }\n        function discoverLbl(name) {\n            return L.discover.replace('{name}', name);\n        }\n        function escH(s) {\n            return String(s||'').replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');\n        }\n        function setProgressVisible(on) {\n            var nodes = root().querySelectorAll('.ww-quiz-progress');\n            for (var i = 0; i < nodes.length; i++) {\n                nodes[i].style.display = on ? '' : 'none';\n            }\n        }\n        function introCopy() {\n            return INTRO[introLang] || INTRO.de || {};\n        }\n        function langBtnHtml(code) {\n            var url = (INTRO.langUrls && INTRO.langUrls[code]) ? INTRO.langUrls[code] : '';\n            var active = introLang === code ? ' is-active' : '';\n            var label = escH(code.toUpperCase());\n            if (url && url !== window.location.href.split('#')[0]) {\n                return '<a class=\"ww-intro-lang-btn' + active + '\" href=\"' + escH(url) + '\">' + label + '<\/a>';\n            }\n            return '<button type=\"button\" class=\"ww-intro-lang-btn' + active + '\" onclick=\"' + UID + '_setLang(\\'' + code + '\\')\">' + label + '<\/button>';\n        }\n        function renderIntro() {\n            root().classList.add('ww-quiz-on-intro');\n            var c = introCopy();\n            var statsHtml = '';\n            var stats = c.stats || [];\n            for (var si = 0; si < stats.length; si++) {\n                if (!stats[si]) continue;\n                statsHtml += '<div class=\"ww-intro-stat\"><span class=\"ww-intro-stat-val\">' + escH(stats[si].value) + '<\/span><span class=\"ww-intro-stat-lbl\">' + escH(stats[si].label) + '<\/span><\/div>';\n            }\n            var imgHtml = c.image\n                ? '<img decoding=\"async\" class=\"ww-intro-img\" src=\"' + escH(c.image) + '\" alt=\"' + escH(c.imageAlt || '') + '\" loading=\"lazy\">'\n                : '<div class=\"ww-intro-img ww-intro-img--empty\"><\/div>';\n            var quoteHtml = (c.quote || c.quoteBy)\n                ? '<div class=\"ww-intro-quote\"><p class=\"ww-intro-quote-text\">' + escH(c.quote || '') + '<\/p><p class=\"ww-intro-quote-by\">' + escH(c.quoteBy || '') + '<\/p><\/div>'\n                : '';\n            area().innerHTML =\n                '<div class=\"ww-intro-screen\">' +\n                '<div class=\"ww-intro-grid\">' +\n                '<div class=\"ww-intro-copy\">' +\n                (c.eyebrow ? '<p class=\"ww-intro-eyebrow\">' + escH(c.eyebrow) + '<\/p>' : '') +\n                '<h2 class=\"ww-intro-title\">' + escH(c.headline || '') + '<\/h2>' +\n                (c.subtext ? '<p class=\"ww-intro-lead\">' + escH(c.subtext) + '<\/p>' : '') +\n                (statsHtml ? '<div class=\"ww-intro-stats\">' + statsHtml + '<\/div>' : '') +\n                '<div class=\"ww-intro-bottom\">' +\n                '<button type=\"button\" class=\"ww-intro-cta\" onclick=\"' + UID + '_start()\">' + escH(c.button || '') + '<span class=\"ww-intro-cta-arrow\" aria-hidden=\"true\">\u2192<\/span><\/button>' +\n                '<div class=\"ww-intro-lang\"><div class=\"ww-intro-lang-btns\">' + langBtnHtml('de') + langBtnHtml('en') + '<\/div><\/div>' +\n                '<\/div>' +\n                '<\/div>' +\n                '<div class=\"ww-intro-visual\"><div class=\"ww-intro-img-wrap\">' + imgHtml + quoteHtml + '<\/div><\/div>' +\n                '<\/div><\/div>';\n        }\n        window[UID+'_setLang'] = function(lang) {\n            if (!INTRO[lang]) return;\n            introLang = lang;\n            renderIntro();\n        };\n        function setHeroQuiz() {\n            var eb = $id(UID+'-eyebrow');\n            if (eb) {\n                if (HERO.eyebrow) { eb.textContent = HERO.eyebrow; eb.style.display = ''; }\n                else { eb.style.display = 'none'; }\n            }\n            $id(UID+'-htitle').textContent = HERO.title || '';\n            var af = $id(UID+'-hafter');\n            if (af) {\n                if (HERO.title_after) { af.innerHTML = escH(HERO.title_after).replace(\/\\n\/g, '<br>'); af.style.display = ''; }\n                else { af.style.display = 'none'; }\n            }\n            $id(UID+'-hsub').textContent = HERO.subtitle || '';\n            setProgressVisible(true);\n        }\n        function getTopResults(s) {\n            var matched = [];\n            for (var i = 0; i < R.length; i++) {\n                if (s >= parseInt(R[i].min)) matched.push(R[i]);\n            }\n            if (!matched.length) matched.push(R[R.length-1]);\n            return matched.slice(0, 3);\n        }\n        function postAjax(action, data) {\n            var fd = new FormData();\n            fd.append('action', action);\n            fd.append('nonce', AJAX.nonce);\n            for (var k in data) {\n                if (Object.prototype.hasOwnProperty.call(data, k)) {\n                    fd.append(k, data[k]);\n                }\n            }\n            return fetch(AJAX.url, { method: 'POST', body: fd, credentials: 'same-origin' });\n        }\n        function logCompletion(main) {\n            postAjax('ww_quiz_log_completion', {\n                quiz_id: QUIZ_ID,\n                result_name: main.name,\n                score: score,\n                lang: UI_LANG\n            }).catch(function(){});\n        }\n        function render() {\n            root().classList.remove('ww-quiz-on-intro');\n            setHeroQuiz();\n            var pct = Math.round((cur \/ Q.length) * 100);\n            $id(UID+'-prog').style.width = pct + '%';\n            $id(UID+'-lbl').textContent = questionLbl(cur + 1, Q.length);\n            var q = Q[cur];\n            var html = '<div class=\"ww-card\"><p class=\"ww-q\">' + escH(q.q) + '<\/p><div class=\"ww-opts\">';\n            for (var i = 0; i < q.opts.length; i++) {\n                if (!q.opts[i]) continue;\n                html += '<button type=\"button\" class=\"ww-opt\" onclick=\"' + UID + '_sel(' + i + ')\" id=\"' + UID + 'o' + i + '\">';\n                html += '<span class=\"ww-let\">' + letters[i] + '<\/span>' + escH(q.opts[i]) + '<\/button>';\n            }\n            html += '<\/div><div class=\"ww-nav\"><button type=\"button\" class=\"ww-btn\" id=\"' + UID + '-next\" onclick=\"' + UID + '_next()\">';\n            html += (cur < Q.length - 1 ? L.next : L.showResult);\n            html += '<\/button><\/div><\/div>';\n            area().innerHTML = html;\n        }\n        window[UID+'_start'] = function() {\n            started = true;\n            cur = 0; ans = []; score = 0;\n            _ga('quiz_started', {});\n            render();\n        };\n        window[UID+'_sel'] = function(i) {\n            var btns = document.querySelectorAll('#'+UID+' .ww-opt');\n            for (var b = 0; b < btns.length; b++) btns[b].classList.remove('sel');\n            $id(UID+'o'+i).classList.add('sel');\n            ans[cur] = i;\n            $id(UID+'-next').classList.add('on');\n        };\n        window[UID+'_next'] = function() {\n            if (ans[cur] == null) return;\n            score += (parseInt(Q[cur].pts[ans[cur]]) || 0);\n            cur++;\n            if (cur >= Q.length) { showResult(); } else { render(); }\n        };\n        function leadBlockHtml(main) {\n            if (!LEAD.enabled || leadSubmitted) return '';\n            return '<div class=\"ww-lead\" id=\"' + UID + '-lead\">' +\n                '<p class=\"ww-lead-title\">' + escH(LEAD.headline) + '<\/p>' +\n                '<p class=\"ww-lead-text\">' + escH(LEAD.text.replace(\/\\{name\\}\/g, main.name).replace(\/\\{Bezirk\\}\/g, main.name)) + '<\/p>' +\n                '<form class=\"ww-lead-form\" onsubmit=\"return ' + UID + '_leadSubmit(event)\">' +\n                '<input type=\"text\" name=\"ww_hp\" class=\"ww-hp\" tabindex=\"-1\" autocomplete=\"off\" aria-hidden=\"true\">' +\n                '<div class=\"ww-lead-inputs-row\">' +\n                '<input type=\"text\" name=\"name\" placeholder=\"' + escH(LEAD.namePh) + '\" required maxlength=\"100\" class=\"ww-lead-input\">' +\n                '<input type=\"email\" name=\"email\" placeholder=\"' + escH(LEAD.emailPh) + '\" required maxlength=\"200\" class=\"ww-lead-input\">' +\n                '<\/div>' +\n                '<label class=\"ww-lead-consent\"><input type=\"checkbox\" name=\"consent\" required> ' + escH(LEAD.consent) + '<\/label>' +\n                '<button type=\"submit\" class=\"ww-cta-main ww-lead-btn\">' + escH(LEAD.button) + '<\/button>' +\n                '<p class=\"ww-lead-msg\" id=\"' + UID + '-lead-msg\" hidden><\/p>' +\n                '<\/form><\/div>';\n        }\n        window[UID+'_leadSubmit'] = function(e) {\n            e.preventDefault();\n            var form = e.target;\n            if (form.ww_hp && form.ww_hp.value) return false;\n            var msg = $id(UID+'-lead-msg');\n            var main = getTopResults(score)[0];\n            postAjax('ww_quiz_submit_lead', {\n                quiz_id: QUIZ_ID,\n                result_name: main.name,\n                score: score,\n                lang: UI_LANG,\n                name: form.name.value,\n                email: form.email.value,\n                consent: form.consent.checked ? '1' : '',\n                result_at: resultAt,\n                ww_hp: form.ww_hp ? form.ww_hp.value : ''\n            }).then(function(r){ return r.json(); }).then(function(res) {\n                if (res.success) {\n                    leadSubmitted = true;\n                    _ga('quiz_lead_submitted', { district: main.name });\n                    form.style.display = 'none';\n                    msg.hidden = false;\n                    msg.textContent = LEAD.success;\n                    msg.className = 'ww-lead-msg ww-lead-ok';\n                } else {\n                    msg.hidden = false;\n                    msg.textContent = LEAD.error || '';\n                    msg.className = 'ww-lead-msg ww-lead-err';\n                }\n            }).catch(function(){\n                msg.hidden = false;\n                msg.textContent = LEAD.error || '';\n                msg.className = 'ww-lead-msg ww-lead-err';\n            });\n            return false;\n        };\n        function shareBlockHtml(main) {\n            if (!SHARE.enabled) return '';\n            var shareMsg = SHARE.shareMsg.replace(\/\\{name\\}\/g, main.name);\n            var shareText = SHARE.text.replace(\/\\{name\\}\/g, main.name);\n            return '<div class=\"ww-share\" id=\"' + UID + '-share\">' +\n                '<p class=\"ww-share-title\">' + escH(SHARE.title) + '<\/p>' +\n                '<p class=\"ww-share-text\">' + escH(shareText) + '<\/p>' +\n                '<div class=\"ww-share-btns\">' +\n                '<button type=\"button\" class=\"ww-share-btn ww-share-wa\" data-action=\"whatsapp\">' +\n                '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.374 0 0 5.373 0 12c0 2.117.554 4.103 1.524 5.82L.057 23.428l5.779-1.516A11.95 11.95 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 21.818c-1.849 0-3.591-.528-5.068-1.441l-.363-.216-3.03.795.81-2.957-.237-.381A9.825 9.825 0 012.182 12C2.182 6.478 6.477 2.182 12 2.182c5.522 0 9.818 4.296 9.818 9.818 0 5.523-4.296 9.818-9.818 9.818z\"\/><\/svg>' +\n                escH(SHARE.btnWhatsapp) + '<\/button>' +\n                '<button type=\"button\" class=\"ww-share-btn ww-share-ig\" data-action=\"instagram\">' +\n                '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z\"\/><\/svg>' +\n                escH(SHARE.btnInstagram) + '<\/button>' +\n                '<button type=\"button\" class=\"ww-share-btn ww-share-copy\" data-action=\"copy\">' +\n                '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z\"\/><\/svg>' +\n                '<span class=\"ww-copy-lbl\">' + escH(SHARE.btnCopy) + '<\/span><\/button>' +\n                '<\/div>' +\n                '<p class=\"ww-share-hint\" id=\"' + UID + '-share-hint\" hidden><\/p>' +\n                '<\/div>';\n        }\n        function _bindShareEvents(main) {\n            if (!SHARE.enabled) return;\n            var shareEl = $id(UID+'-share');\n            if (!shareEl) return;\n            var shareMsg = SHARE.shareMsg.replace(\/\\{name\\}\/g, main.name);\n            var hint = $id(UID+'-share-hint');\n            shareEl.querySelector('.ww-share-wa').addEventListener('click', function() {\n                _ga('quiz_share', { method: 'whatsapp', district: main.name });\n                var url = 'https:\/\/wa.me\/?text=' + encodeURIComponent(shareMsg + '\\n' + window.location.href);\n                window.open(url, '_blank', 'noopener');\n            });\n            shareEl.querySelector('.ww-share-ig').addEventListener('click', function() {\n                _ga('quiz_share', { method: 'instagram', district: main.name });\n                var tmpCanvas = document.createElement('canvas');\n                tmpCanvas.width = 540;\n                tmpCanvas.height = 960;\n                _drawStoryCanvasEl(tmpCanvas, main);\n                tmpCanvas.toBlob(function(blob) {\n                    var file = new File([blob], 'woonwoon-story.png', { type: 'image\/png' });\n                    if (navigator.canShare && navigator.canShare({ files: [file] })) {\n                        navigator.share({ files: [file], title: 'woonwoon Quiz \u2013 ' + main.name }).catch(function(){});\n                    } else {\n                        var link = document.createElement('a');\n                        link.download = 'woonwoon-quiz-story.png';\n                        link.href = tmpCanvas.toDataURL('image\/png');\n                        link.click();\n                        if (hint) {\n                            hint.textContent = SHARE.igHint;\n                            hint.hidden = false;\n                            setTimeout(function(){ hint.hidden = true; }, 4000);\n                        }\n                    }\n                }, 'image\/png');\n            });\n            shareEl.querySelector('.ww-share-copy').addEventListener('click', function() {\n                _ga('quiz_share', { method: 'copy_link', district: main.name });\n                _copyText(shareMsg + '\\n' + window.location.href);\n                var lbl = this.querySelector('.ww-copy-lbl');\n                if (lbl) {\n                    lbl.textContent = SHARE.btnCopied;\n                    setTimeout(function(){ lbl.textContent = SHARE.btnCopy; }, 2500);\n                }\n            });\n        }\n        function _ga(eventName, params) {\n            if (typeof gtag === 'function') {\n                params.quiz_id = QUIZ_ID;\n                gtag('event', eventName, params);\n            }\n        }\n        function _copyText(text) {\n            if (navigator.clipboard && navigator.clipboard.writeText) {\n                navigator.clipboard.writeText(text).catch(function(){});\n            } else {\n                var ta = document.createElement('textarea');\n                ta.value = text;\n                ta.style.position = 'fixed';\n                ta.style.opacity = '0';\n                document.body.appendChild(ta);\n                ta.focus(); ta.select();\n                try { document.execCommand('copy'); } catch(e){}\n                document.body.removeChild(ta);\n            }\n        }\n        function _drawStoryCanvasEl(canvas, main) {\n            var ctx = canvas.getContext('2d');\n            var W = canvas.width, H = canvas.height;\n            var pad = 56;\n            var maxTextW = W - pad * 2;\n            \/* Background *\/\n            ctx.fillStyle = '#3d5a7a';\n            ctx.fillRect(0, 0, W, H);\n            var grad = ctx.createLinearGradient(0, 0, 0, H);\n            grad.addColorStop(0, 'rgba(61,90,122,1)');\n            grad.addColorStop(0.6, 'rgba(30,55,85,0.9)');\n            grad.addColorStop(1, 'rgba(15,35,60,1)');\n            ctx.fillStyle = grad;\n            ctx.fillRect(0, 0, W, H);\n            \/* Decorative circle *\/\n            ctx.strokeStyle = 'rgba(255,255,255,0.08)';\n            ctx.lineWidth = 2;\n            ctx.beginPath();\n            ctx.arc(W\/2, H * 0.42, 220, 0, Math.PI * 2);\n            ctx.stroke();\n            \/* woonwoon logo *\/\n            ctx.fillStyle = 'rgba(255,255,255,0.5)';\n            ctx.font = 'bold 28px system-ui, sans-serif';\n            ctx.textAlign = 'center';\n            ctx.fillText('woonwoon', W\/2, 72);\n            \/* District label *\/\n            ctx.fillStyle = 'rgba(255,255,255,0.7)';\n            ctx.font = '400 34px system-ui, sans-serif';\n            ctx.textAlign = 'center';\n            ctx.fillText(SHARE.storyDistrict || 'Dein Bezirk ist', W\/2, H * 0.38);\n            \/* District name \u2014 auto-fit font size *\/\n            ctx.fillStyle = '#ffffff';\n            ctx.textAlign = 'center';\n            var nameSize = 88;\n            ctx.font = 'bold ' + nameSize + 'px system-ui, sans-serif';\n            while (nameSize > 32 && ctx.measureText(main.name).width > maxTextW) {\n                nameSize -= 4;\n                ctx.font = 'bold ' + nameSize + 'px system-ui, sans-serif';\n            }\n            \/* If still too wide after scaling, wrap into two lines *\/\n            if (ctx.measureText(main.name).width > maxTextW) {\n                var midIdx = Math.floor(main.name.length \/ 2);\n                var breakAt = main.name.indexOf('-', midIdx - 4);\n                if (breakAt < 0) breakAt = main.name.lastIndexOf(' ', midIdx);\n                if (breakAt < 0) breakAt = midIdx;\n                var line1 = main.name.slice(0, breakAt + 1).trim();\n                var line2 = main.name.slice(breakAt + 1).trim();\n                ctx.fillText(line1, W\/2, H * 0.47);\n                ctx.fillText(line2, W\/2, H * 0.47 + nameSize * 1.15);\n            } else {\n                ctx.fillText(main.name, W\/2, H * 0.50);\n            }\n            \/* Traits *\/\n            if (main.traits) {\n                var traitList = Array.isArray(main.traits) ? main.traits : String(main.traits).split(',');\n                var traitStr = traitList.map(function(t){ return t.trim(); }).filter(Boolean).join('  \u00b7  ');\n                ctx.fillStyle = 'rgba(255,255,255,0.6)';\n                ctx.font = '300 28px system-ui, sans-serif';\n                ctx.textAlign = 'center';\n                ctx.fillText(traitStr, W\/2, H * 0.62);\n            }\n            \/* Tagline *\/\n            ctx.fillStyle = 'rgba(255,225,150,0.92)';\n            ctx.font = '600 34px system-ui, sans-serif';\n            ctx.textAlign = 'center';\n            ctx.fillText(SHARE.storyTagline, W\/2, H * 0.82);\n            \/* URL *\/\n            ctx.fillStyle = 'rgba(255,255,255,0.45)';\n            ctx.font = '300 26px system-ui, sans-serif';\n            ctx.textAlign = 'center';\n            ctx.fillText(SHARE.storyUrl, W\/2, H - 52);\n        }\n        function showResult() {\n            var hero = $id(UID+'-hero');\n            if (hero) hero.style.display = 'none';\n            resultAt = Math.floor(Date.now() \/ 1000);\n            var top = getTopResults(score);\n            var main = top[0];\n            var secondary = top.slice(1);\n            logCompletion(main);\n            if (typeof gtag === 'function') {\n                gtag('event', 'quiz_completed', {\n                    quiz_id: QUIZ_ID,\n                    quiz_result: main.name,\n                    quiz_score: score\n                });\n            }\n            var traits = '';\n            var traitList = Array.isArray(main.traits) ? main.traits : String(main.traits).split(',');\n            for (var i = 0; i < traitList.length; i++) {\n                if (traitList[i].trim()) traits += '<span class=\"ww-trait\">' + escH(traitList[i].trim()) + '<\/span>';\n            }\n            var secHtml = '';\n            for (var j = 0; j < secondary.length; j++) {\n                var s = secondary[j];\n                secHtml += '<div class=\"ww-sec-card\"><p class=\"ww-sec-name\">' + escH(s.name) + '<\/p><p class=\"ww-sec-desc\">' + escH(s.desc || '') + '<\/p><a class=\"ww-cta-sec\" href=\"' + escH(s.url) + '\">' + escH(discoverLbl(s.name)) + '<\/a><\/div>';\n            }\n            var alsoBlock = secondary.length > 0 ? '<div class=\"ww-also\"><p class=\"ww-also-title\">' + escH(L.alsoTitle) + '<\/p><div class=\"ww-secondary-results\">' + secHtml + '<\/div><\/div>' : '';\n            area().innerHTML =\n                '<div class=\"ww-result\">' +\n                '<div class=\"ww-main-result\">' +\n                '<p class=\"ww-rlbl\">' + escH(L.yourDistrict) + '<\/p>' +\n                '<div class=\"ww-badge\">' + escH(main.name) + '<\/div>' +\n                '<div class=\"ww-traits\">' + traits + '<\/div>' +\n                '<p class=\"ww-desc\">' + escH(main.desc) + '<\/p>' +\n                '<a class=\"ww-cta-main\" href=\"' + escH(main.url) + '\">' + escH(discoverLbl(main.name)) + '<\/a>' +\n                '<\/div>' + alsoBlock +\n                leadBlockHtml(main) +\n                shareBlockHtml(main) +\n                '<button type=\"button\" class=\"ww-restart\" onclick=\"' + UID + '_restart()\">' + escH(L.restart) + '<\/button>' +\n                '<\/div>';\n            _bindShareEvents(main);\n            \/* Track main CTA click *\/\n            var mainCta = area().querySelector('.ww-main-result .ww-cta-main');\n            if (mainCta) {\n                mainCta.addEventListener('click', function() {\n                    _ga('quiz_cta_click', { district: main.name, url: main.url });\n                });\n            }\n            \/* Track secondary CTA clicks *\/\n            var secCtas = area().querySelectorAll('.ww-cta-sec');\n            for (var sc = 0; sc < secCtas.length; sc++) {\n                (function(el) {\n                    el.addEventListener('click', function() {\n                        _ga('quiz_cta_click', { district: el.textContent, label: 'secondary' });\n                    });\n                })(secCtas[sc]);\n            }\n        }\n        window[UID+'_restart'] = function() {\n            _ga('quiz_restart', {});\n            cur = 0; ans = []; score = 0;\n            leadSubmitted = false;\n            resultAt = 0;\n            var hero = $id(UID+'-hero');\n            if (hero) hero.style.display = '';\n            setHeroQuiz();\n            render();\n        };\n        if (INTRO.enabled && !started) {\n            renderIntro();\n        } else {\n            render();\n        }\n    })();\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-162110","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/woonwoon.de\/en\/wp-json\/wp\/v2\/pages\/162110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/woonwoon.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/woonwoon.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/woonwoon.de\/en\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/woonwoon.de\/en\/wp-json\/wp\/v2\/comments?post=162110"}],"version-history":[{"count":50,"href":"https:\/\/woonwoon.de\/en\/wp-json\/wp\/v2\/pages\/162110\/revisions"}],"predecessor-version":[{"id":181572,"href":"https:\/\/woonwoon.de\/en\/wp-json\/wp\/v2\/pages\/162110\/revisions\/181572"}],"wp:attachment":[{"href":"https:\/\/woonwoon.de\/en\/wp-json\/wp\/v2\/media?parent=162110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}