{"id":1839,"date":"2026-07-02T23:58:55","date_gmt":"2026-07-02T21:58:55","guid":{"rendered":"https:\/\/www.flensburg-ferienwohnung.com\/?page_id=1839"},"modified":"2026-07-13T17:35:15","modified_gmt":"2026-07-13T15:35:15","slug":"bo-dave","status":"publish","type":"page","link":"https:\/\/www.flensburg-ferienwohnung.com\/en\/bo-dave\/","title":{"rendered":"Bo &amp; Dave"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1839\" class=\"elementor elementor-1839\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7517eed elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7517eed\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d66cea9\" data-id=\"d66cea9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d71f143 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"d71f143\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dbecd47 elementor-widget elementor-widget-heading\" data-id=\"dbecd47\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Lieber Bo und lieber Dave,<br>\nHerzlichen Gl\u00fcckwunsch zum Achtzehnten!\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8f2f2c elementor-widget elementor-widget-text-editor\" data-id=\"a8f2f2c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><br \/>Meine lieben jungen Menschen,<br \/>heute, an diesem feinen Tag, beginnt f\u00fcr Euch etwas, das man im Leben nicht einfach \u201epassieren\u201c l\u00e4sst. Ihr werdet erwachsen.\u00a0<\/p><p>Das ist kein blo\u00dfer kosmetischer Effekt \u2013 Ihr seid nicht pl\u00f6tzlich sch\u00f6ner, wohlhaariger oder besser gekleidet, Ihr werdet nicht gleich einen Bart haben, der Euch ins Gesicht passt, und Ihr werdet nicht gleich wissen, wo Ihr mit dem Geld hinfahren sollt, wenn Ihr mal Euer erstes Gehalt verdient.<br \/><span style=\"font-size: 1rem;\">Nein, Ihr werdet rechtlich gesehen,\u2026 vollj\u00e4hrig.<\/span><\/p><p><span style=\"font-size: 1rem;\">Ab heute d\u00fcrft und m\u00fcsst Ihr vieles selbst entscheiden. Vertr\u00e4ge unterschreiben, Verantwortung tragen und irgendwann auch Steuern zahlen.<\/span><\/p><p><span style=\"font-size: 1rem;\">Ja, Erwachsene sind nicht blo\u00df froh, wenn sie w\u00e4hlen k\u00f6nnen \u2013 sie sind auch froh, wenn sie nicht belangt werden.<\/span><\/p><p>Unten habe ich eine kleines Spiel f\u00fcr Euch vorbereitet, wo Ihr mal zeigen k\u00f6nnt, wie risikobereit Ihr seid \u2013 und was das Leben so f\u00fcr Euch bereithalten k\u00f6nnte, wenn man alles richtig macht und Geduld beweist.<\/p><p>Also:<br \/>Herzlichen Gl\u00fcckwunsch zum Achtzehnten!<br \/>Und \u2013 werdet bei Eurem Aktienspiel trotzdem nicht zu risikoreich.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d60e11 elementor-widget elementor-widget-spacer\" data-id=\"1d60e11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ffd9cb elementor-widget elementor-widget-html\" data-id=\"9ffd9cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html>\r\n<head>\r\n  <title>Bo & Dave Aktienb\u00f6rse<\/title>\r\n  <style>\r\n    body {\r\n      font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\r\n      background: linear-gradient(180deg, #111936, #0b1020);\r\n      color: #f7f7ff;\r\n      margin: 0;\r\n      padding: 24px 12px;\r\n      box-sizing: border-box;\r\n    }\r\n    .stage {\r\n      width: min(1180px, 100%);\r\n      background: linear-gradient(180deg, rgba(17, 25, 54, .98), rgba(11, 16, 32, .98));\r\n      border: 1px solid rgba(255, 255, 255, .08);\r\n      border-radius: 28px;\r\n      box-shadow: 0 14px 35px rgba(0, 0, 0, .35);\r\n      padding: 24px;\r\n      box-sizing: border-box;\r\n      position: relative;\r\n      overflow: hidden;\r\n    }\r\n    .topline {\r\n      position: relative;\r\n      text-align: center;\r\n    }\r\n    .title {\r\n      font-size: clamp(22px, 3vw, 34px);\r\n      font-weight: 900;\r\n      line-height: 1.05;\r\n      color: #fff;\r\n      text-shadow: 0 2px 0 rgba(0, 0, 0, .65), 0 0 12px rgba(255, 255, 255, .12);\r\n    }\r\n    .subtitle {\r\n      margin-top: 8px;\r\n      color: #b8c0e0;\r\n      font-size: 14px;\r\n      line-height: 1.35;\r\n    }\r\n    .grid {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 18px;\r\n      margin-top: 18px;\r\n    }\r\n    .card {\r\n      background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .03));\r\n      border: 1px solid rgba(255, 255, 255, .09);\r\n      border-radius: 24px;\r\n      min-height: 330px;\r\n      padding: 18px;\r\n      box-sizing: border-box;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: center;\r\n      align-items: center;\r\n      position: relative;\r\n      overflow: hidden;\r\n    }\r\n    .name {\r\n      font-size: clamp(28px, 4vw, 50px);\r\n      font-weight: 1000;\r\n      color: #fff;\r\n      text-shadow: 0 2px 0 rgba(0, 0, 0, .8), 0 0 10px rgba(255, 255, 255, .15);\r\n      margin-bottom: 8px;\r\n    }\r\n    .number {\r\n      font-size: clamp(54px, 8vw, 96px);\r\n      font-weight: 1000;\r\n      line-height: 1;\r\n      color: #ffd86b;\r\n      text-shadow: 0 3px 0 rgba(0, 0, 0, .9), 0 0 12px rgba(255, 216, 107, .25);\r\n      font-variant-numeric: tabular-nums;\r\n      min-width: 4ch;\r\n      text-align: center;\r\n    }\r\n    .pill {\r\n      margin-top: 14px;\r\n      padding: 8px 14px;\r\n      border-radius: 999px;\r\n      background: rgba(255, 255, 255, .06);\r\n      border: 1px solid rgba(255, 255, 255, .08);\r\n      color: #b8c0e0;\r\n      font-size: 13px;\r\n      text-transform: uppercase;\r\n    }\r\n    .chart-container {\r\n      margin-top: 16px;\r\n      width: 100%;\r\n      height: 120px;\r\n      background: rgba(0, 0, 0, .2);\r\n      border-radius: 12px;\r\n      position: relative;\r\n      overflow: hidden;\r\n    }\r\n    .chart-line {\r\n      position: absolute;\r\n      left: 0;\r\n      right: 0;\r\n      bottom: 0;\r\n      height: 100%;\r\n      pointer-events: none;\r\n    }\r\n    .controls {\r\n      display: flex;\r\n      justify-content: center;\r\n      gap: 12px;\r\n      margin-top: 18px;\r\n      flex-wrap: wrap;\r\n    }\r\n    .ctrl {\r\n      flex: 1 1 260px;\r\n      display: flex;\r\n      justify-content: center;\r\n    }\r\n    button {\r\n      appearance: none;\r\n      border: none;\r\n      border-radius: 16px;\r\n      padding: 14px 18px;\r\n      font-size: 16px;\r\n      font-weight: 900;\r\n      cursor: pointer;\r\n      color: #09111f;\r\n      background: linear-gradient(180deg, #fff3cc, #ffd86b);\r\n      box-shadow: 0 10px 24px rgba(0, 0, 0, .25);\r\n      min-width: 180px;\r\n    }\r\n    button:disabled {\r\n      opacity: .55;\r\n      cursor: not-allowed;\r\n      animation: blinkBtn 1s infinite;\r\n    }\r\n    @keyframes blinkBtn {\r\n      0%, 100% { opacity: .55; }\r\n      50% { opacity: .75; }\r\n    }\r\n    .overlay {\r\n      position: fixed;\r\n      inset: 0;\r\n      background: rgba(4, 8, 18, .78);\r\n      display: none;\r\n      align-items: center;\r\n      justify-content: center;\r\n      z-index: 20;\r\n      backdrop-filter: blur(6px);\r\n    }\r\n    .overlay.show { display: flex; }\r\n    .overlay-card {\r\n      width: min(640px, 92%);\r\n      border-radius: 26px;\r\n      padding: 28px;\r\n      text-align: center;\r\n      color: #fff;\r\n      background: linear-gradient(180deg, rgba(32, 42, 84, .98), rgba(10, 14, 28, .98));\r\n      border: 1px solid rgba(255, 255, 255, .12);\r\n      box-shadow: 0 18px 50px rgba(0, 0, 0, .5);\r\n    }\r\n    .overlay-title {\r\n      font-size: clamp(26px, 4vw, 44px);\r\n      font-weight: 1000;\r\n      margin-bottom: 12px;\r\n    }\r\n    .overlay-text {\r\n      font-size: 18px;\r\n      line-height: 1.45;\r\n      color: #ffe3a0;\r\n    }\r\n    .status {\r\n      margin-top: 14px;\r\n      text-align: center;\r\n      color: #b8c0e0;\r\n      font-size: 13px;\r\n      min-height: 18px;\r\n    }\r\n    .warning {\r\n      position: absolute;\r\n      top: 10px;\r\n      left: 10px;\r\n      right: 10px;\r\n      padding: 10px;\r\n      border-radius: 12px;\r\n      background: rgba(255, 100, 0, .2);\r\n      border: 1px solid rgba(255, 100, 0, .5);\r\n      color: #ff7b7b;\r\n      font-size: 14px;\r\n      font-weight: 700;\r\n      text-align: center;\r\n      z-index: 10;\r\n      display: none;\r\n    }\r\n    canvas {\r\n      position: fixed;\r\n      inset: 0;\r\n      width: 100%;\r\n      height: 100%;\r\n      pointer-events: none;\r\n      z-index: 15;\r\n      display: none;\r\n    }\r\n    canvas.show { display: block; }\r\n    @media (max-width: 780px) {\r\n      .grid { grid-template-columns: 1fr; }\r\n      .card { min-height: 280px; }\r\n      button { min-width: 100%; }\r\n    }\r\n  <\/style>\r\n\r\n  <body>\r\n    <div class=\"stage\">\r\n      <canvas id=\"fx\"><\/canvas>\r\n      <div class=\"overlay\" id=\"overlay\">\r\n        <div class=\"overlay-card\">\r\n          <div class=\"overlay-title\" id=\"overlay-title\">...<\/div>\r\n          <div class=\"overlay-text\" id=\"overlay-text\">...<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"warning\" id=\"warning\">Vorsicht, Inflation!<\/div>\r\n\r\n      <div class=\"topline\">\r\n        <div class=\"title\">Bo & Dave Aktienb\u00f6rse<\/div>\r\n        <div class=\"subtitle\">Start: 500 \u20ac | Trade-Kosten: 10 \u20ac | Ziel: 1.000 \u20ac<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"grid\">\r\n        <div class=\"card\" id=\"cardA\">\r\n          <div class=\"name\">Bo<\/div>\r\n          <div class=\"number\" id=\"numA\">500 \u20ac<\/div>\r\n          <div class=\"pill\" id=\"pillA\">Handel<\/div>\r\n          <div class=\"chart-container\" id=\"chartContainerA\">\r\n            <svg class=\"chart-line\" id=\"chartA\" viewBox=\"0 0 300 100\" preserveAspectRatio=\"none\">\r\n              <polyline id=\"polyA\" points=\"\" stroke=\"#7cf0c8\" stroke-width=\"2\" fill=\"none\" \/>\r\n            <\/svg>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"card\" id=\"cardB\">\r\n          <div class=\"name\">Dave<\/div>\r\n          <div class=\"number\" id=\"numB\">500 \u20ac<\/div>\r\n          <div class=\"pill\" id=\"pillB\">Handel<\/div>\r\n          <div class=\"chart-container\" id=\"chartContainerB\">\r\n            <svg class=\"chart-line\" id=\"chartB\" viewBox=\"0 0 300 100\" preserveAspectRatio=\"none\">\r\n              <polyline id=\"polyB\" points=\"\" stroke=\"#ff7b7b\" stroke-width=\"2\" fill=\"none\" \/>\r\n            <\/svg>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"controls\">\r\n        <div class=\"ctrl\"><button id=\"tradeA\" type=\"button\">Bo traden (10 Trades)<\/button><\/div>\r\n        <div class=\"ctrl\"><button id=\"tradeB\" type=\"button\">Dave traden (10 Trades)<\/button><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"status\" id=\"status\">Warte auf Start...<\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n      (function(){\r\n        \/\/ Einfache devicePixelRatio Definition\r\n        const devicePixelRatio = window.devicePixelRatio || 1;\r\n\r\n        function initGame(){\r\n          const numA = document.getElementById('numA');\r\n          const numB = document.getElementById('numB');\r\n          const pillA = document.getElementById('pillA');\r\n          const pillB = document.getElementById('pillB');\r\n          const tradeA = document.getElementById('tradeA');\r\n          const tradeB = document.getElementById('tradeB');\r\n          const overlay = document.getElementById('overlay');\r\n          const overlayTitle = document.getElementById('overlay-title');\r\n          const overlayText = document.getElementById('overlay-text');\r\n          const warning = document.getElementById('warning');\r\n          const status = document.getElementById('status');\r\n          const polyA = document.getElementById('polyA');\r\n          const polyB = document.getElementById('polyB');\r\n          const fx = document.getElementById('fx');\r\n\r\n          let a = 500, b = 500, finished = false, aPoints = [], bPoints = [], aTrend = 0, bTrend = 0;\r\n          let aFinishedPhase = false, bFinishedPhase = false;\r\n          let aClickCount = 0, bClickCount = 0;\r\n          let particles = [];\r\n          const fmt = n => Math.round(n).toLocaleString('de-DE') + ' \u20ac';\r\n\r\n          function setText(){ numA.textContent = fmt(a); numB.textContent = fmt(b); }\r\n\r\n          function ensureAudio() {\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) {\r\n              audioCtx.gctx = new audioCtx();\r\n            }\r\n            if(audioCtx.gctx && audioCtx.gctx.state === 'suspended') audioCtx.gctx.resume();\r\n          }\r\n\r\n          function clickSound() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t0 = audioCtx.gctx.currentTime;\r\n            const o = audioCtx.gctx.createOscillator();\r\n            const g = audioCtx.gctx.createGain();\r\n            o.type = 'sine';\r\n            o.frequency.setValueAtTime(400, t0);\r\n            o.frequency.exponentialRampToValueAtTime(150, t0 + 0.08);\r\n            g.gain.setValueAtTime(0, t0);\r\n            g.gain.linearRampToValueAtTime(0.3, t0 + 0.015);\r\n            g.gain.exponentialRampToValueAtTime(0.001, t0 + 0.08);\r\n            o.connect(g);\r\n            g.connect(audioCtx.gctx.destination);\r\n            o.start(t0);\r\n            o.stop(t0 + 0.09);\r\n          }\r\n\r\n          function winSound() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const notes=[523.25,659.25,783.99,1046.5];\r\n            notes.forEach((f,i)=>{\r\n              const o=audioCtx.gctx.createOscillator();\r\n              const g=audioCtx.gctx.createGain();\r\n              o.type='triangle';\r\n              o.frequency.setValueAtTime(f,t+i*0.08);\r\n              g.gain.setValueAtTime(0.0001,t+i*0.08);\r\n              g.gain.exponentialRampToValueAtTime(0.06,t+i*0.08+0.01);\r\n              g.gain.exponentialRampToValueAtTime(0.0001,t+i*0.08+0.12);\r\n              o.connect(g);\r\n              g.connect(audioCtx.gctx.destination);\r\n              o.start(t+i*0.08);\r\n              o.stop(t+i*0.08+0.15);\r\n            });\r\n          }\r\n\r\n          function loseSound() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const o=audioCtx.gctx.createOscillator();\r\n            const g=audioCtx.gctx.createGain();\r\n            o.type='sawtooth';\r\n            o.frequency.setValueAtTime(150,t);\r\n            o.frequency.linearRampToValueAtTime(100,t+0.3);\r\n            g.gain.setValueAtTime(0.0001,t);\r\n            g.gain.exponentialRampToValueAtTime(0.05,t+0.02);\r\n            g.gain.exponentialRampToValueAtTime(0.0001,t+0.3);\r\n            o.connect(g);\r\n            g.connect(audioCtx.gctx.destination);\r\n            o.start(t);\r\n            o.stop(t+0.35);\r\n          }\r\n\r\n          function stockExchangeHorn() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const o=audioCtx.gctx.createOscillator();\r\n            const g=audioCtx.gctx.createGain();\r\n            o.type='sawtooth';\r\n            o.frequency.setValueAtTime(200,t);\r\n            o.frequency.setValueAtTime(180,t+0.1);\r\n            o.frequency.setValueAtTime(200,t+0.2);\r\n            g.gain.setValueAtTime(0.1,t);\r\n            g.gain.exponentialRampToValueAtTime(0.001,t+0.4);\r\n            o.connect(g);\r\n            g.connect(audioCtx.gctx.destination);\r\n            o.start(t);\r\n            o.stop(t+0.4);\r\n          }\r\n\r\n          function alarmSound() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const o=audioCtx.gctx.createOscillator();\r\n            const g=audioCtx.gctx.createGain();\r\n            o.type='sine';\r\n            o.frequency.setValueAtTime(800,t);\r\n            o.frequency.setValueAtTime(1000,t+0.1);\r\n            o.frequency.setValueAtTime(800,t+0.2);\r\n            o.frequency.setValueAtTime(1000,t+0.3);\r\n            g.gain.setValueAtTime(0.15,t);\r\n            g.gain.exponentialRampToValueAtTime(0.001,t+0.5);\r\n            o.connect(g);\r\n            g.connect(audioCtx.gctx.destination);\r\n            o.start(t);\r\n            o.stop(t+0.5);\r\n          }\r\n\r\n          function sirenSound() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const o=audioCtx.gctx.createOscillator();\r\n            const g=audioCtx.gctx.createGain();\r\n            o.type='sawtooth';\r\n            o.frequency.setValueAtTime(400,t);\r\n            o.frequency.linearRampToValueAtTime(600,t+0.15);\r\n            o.frequency.linearRampToValueAtTime(400,t+0.3);\r\n            o.frequency.linearRampToValueAtTime(600,t+0.45);\r\n            g.gain.setValueAtTime(0.15,t);\r\n            g.gain.exponentialRampToValueAtTime(0.001,t+0.6);\r\n            o.connect(g);\r\n            g.connect(audioCtx.gctx.destination);\r\n            o.start(t);\r\n            o.stop(t+0.6);\r\n          }\r\n\r\n          function fanfareSound() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const notes=[523.25,659.25,783.99,1046.5,1318.5,1760];\r\n            const step=0.12;\r\n            notes.forEach((f,i)=>{\r\n              const o=audioCtx.gctx.createOscillator();\r\n              const g=audioCtx.gctx.createGain();\r\n              o.type='triangle';\r\n              o.frequency.setValueAtTime(f,t+i*step);\r\n              g.gain.setValueAtTime(0.0001,t+i*step);\r\n              g.gain.exponentialRampToValueAtTime(0.1,t+i*step+0.01);\r\n              g.gain.exponentialRampToValueAtTime(0.0001,t+i*step+0.22);\r\n              o.connect(g);\r\n              g.connect(audioCtx.gctx.destination);\r\n              o.start(t+i*step);\r\n              o.stop(t+i*step+0.25);\r\n            });\r\n          }\r\n\r\n          function victorySound() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const notes=[392,523.25,659.25,783.99,1046.5,1318.5,1567.98,1760];\r\n            const step=0.1;\r\n            notes.forEach((f,i)=>{\r\n              const o=audioCtx.gctx.createOscillator();\r\n              const g=audioCtx.gctx.createGain();\r\n              o.type='triangle';\r\n              o.frequency.setValueAtTime(f,t+i*step);\r\n              g.gain.setValueAtTime(0.0001,t+i*step);\r\n              g.gain.exponentialRampToValueAtTime(0.15,t+i*step+0.01);\r\n              g.gain.exponentialRampToValueAtTime(0.0001,t+i*step+0.2);\r\n              o.connect(g);\r\n              g.connect(audioCtx.gctx.destination);\r\n              o.start(t+i*step);\r\n              o.stop(t+i*step+0.23);\r\n            });\r\n          }\r\n\r\n          function confettiSound() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            for(let i=0; i<8; i++){\r\n              const o=audioCtx.gctx.createOscillator();\r\n              const g=audioCtx.gctx.createGain();\r\n              o.type='sine';\r\n              o.frequency.setValueAtTime(800+Math.random()*400,t+i*0.05);\r\n              g.gain.setValueAtTime(0.02,t+i*0.05);\r\n              g.gain.exponentialRampToValueAtTime(0.001,t+i*0.05+0.1);\r\n              o.connect(g);\r\n              g.connect(audioCtx.gctx.destination);\r\n              o.start(t+i*0.05);\r\n              o.stop(t+i*0.05+0.12);\r\n            }\r\n          }\r\n\r\n          \/\/ NEU: B\u00f6rsen-Chime (steigende Preise)\r\n          function risingChime() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const o=audioCtx.gctx.createOscillator();\r\n            const g=audioCtx.gctx.createGain();\r\n            o.type='sine';\r\n            o.frequency.setValueAtTime(300,t);\r\n            o.frequency.linearRampToValueAtTime(600,t+0.2);\r\n            g.gain.setValueAtTime(0.08,t);\r\n            g.gain.exponentialRampToValueAtTime(0.001,t+0.3);\r\n            o.connect(g);\r\n            g.connect(audioCtx.gctx.destination);\r\n            o.start(t);\r\n            o.stop(t+0.35);\r\n          }\r\n\r\n          \/\/ NEU: Fallende Preise (lustig)\r\n          function fallingTone() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const o=audioCtx.gctx.createOscillator();\r\n            const g=audioCtx.gctx.createGain();\r\n            o.type='triangle';\r\n            o.frequency.setValueAtTime(500,t);\r\n            o.frequency.linearRampToValueAtTime(200,t+0.25);\r\n            g.gain.setValueAtTime(0.06,t);\r\n            g.gain.exponentialRampToValueAtTime(0.001,t+0.3);\r\n            o.connect(g);\r\n            g.connect(audioCtx.gctx.destination);\r\n            o.start(t);\r\n            o.stop(t+0.35);\r\n          }\r\n\r\n          \/\/ NEU: Gl\u00fccks-Glocke\r\n          function happyBell() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const o=audioCtx.gctx.createOscillator();\r\n            const g=audioCtx.gctx.createGain();\r\n            o.type='sine';\r\n            o.frequency.setValueAtTime(1200,t);\r\n            g.gain.setValueAtTime(0.1,t);\r\n            g.gain.exponentialRampToValueAtTime(0.001,t+0.5);\r\n            o.connect(g);\r\n            g.connect(audioCtx.gctx.destination);\r\n            o.start(t);\r\n            o.stop(t+0.55);\r\n          }\r\n\r\n          \/\/ NEU: Konfetti-Pop\r\n          function confettiPop() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            for(let i=0; i<5; i++){\r\n              const o=audioCtx.gctx.createOscillator();\r\n              const g=audioCtx.gctx.createGain();\r\n              o.type='square';\r\n              o.frequency.setValueAtTime(1000+Math.random()*500,t+i*0.03);\r\n              g.gain.setValueAtTime(0.03,t+i*0.03);\r\n              g.gain.exponentialRampToValueAtTime(0.001,t+i*0.03+0.08);\r\n              o.connect(g);\r\n              g.connect(audioCtx.gctx.destination);\r\n              o.start(t+i*0.03);\r\n              o.stop(t+i*0.03+0.1);\r\n            }\r\n          }\r\n\r\n          \/\/ NEU: B\u00f6rsen-Trompete (f\u00fcr gro\u00dfe Events)\r\n          function stockTrumpet() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const notes=[659.25,783.99,1046.5,783.99,659.25];\r\n            notes.forEach((f,i)=>{\r\n              const o=audioCtx.gctx.createOscillator();\r\n              const g=audioCtx.gctx.createGain();\r\n              o.type='triangle';\r\n              o.frequency.setValueAtTime(f,t+i*0.1);\r\n              g.gain.setValueAtTime(0.08,t+i*0.1);\r\n              g.gain.exponentialRampToValueAtTime(0.001,t+i*0.1+0.15);\r\n              o.connect(g);\r\n              g.connect(audioCtx.gctx.destination);\r\n              o.start(t+i*0.1);\r\n              o.stop(t+i*0.1+0.18);\r\n            });\r\n          }\r\n\r\n          \/\/ NEU: Geburtstag-Musik (Happy Birthday simpler)\r\n          function birthdayMusic() {\r\n            ensureAudio();\r\n            const audioCtx = window.AudioContext || window.webkitAudioContext;\r\n            if(!audioCtx.gctx) return;\r\n            const t=audioCtx.gctx.currentTime;\r\n            const notes=[392,392,440,392,523.25,493.88];\r\n            notes.forEach((f,i)=>{\r\n              const o=audioCtx.gctx.createOscillator();\r\n              const g=audioCtx.gctx.createGain();\r\n              o.type='triangle';\r\n              o.frequency.setValueAtTime(f,t+i*0.15);\r\n              g.gain.setValueAtTime(0.1,t+i*0.15);\r\n              g.gain.exponentialRampToValueAtTime(0.001,t+i*0.15+0.2);\r\n              o.connect(g);\r\n              g.connect(audioCtx.gctx.destination);\r\n              o.start(t+i*0.15);\r\n              o.stop(t+i*0.15+0.25);\r\n            });\r\n          }\r\n\r\n          function updateChart(which, balance) {\r\n            const points = which === 'A' ? aPoints : bPoints;\r\n            const poly = which === 'A' ? polyA : polyB;\r\n\r\n            if(points.length === 0) {\r\n              points.push(balance);\r\n            } else {\r\n              points.push(balance);\r\n            }\r\n\r\n            \/\/ Maximale 30 Punkte\r\n            if(points.length > 30) points.shift();\r\n\r\n            const max = Math.max(...points);\r\n            const min = Math.min(...points);\r\n            const range = max - min || 1;\r\n\r\n            const s = points.map((p, i) => {\r\n              const x = (i \/ (points.length - 1)) * 300;\r\n              const y = 100 - ((p - min) \/ range) * 100;\r\n              return `${x},${y}`;\r\n            });\r\n\r\n            poly.setAttribute('points', s.join(' '));\r\n          }\r\n\r\n          function showWarning(msg){\r\n            warning.textContent = msg;\r\n            warning.style.display = 'block';\r\n            setTimeout(() => { warning.style.display = 'none'; }, 3000);\r\n          }\r\n\r\n          function showOverlay(title, text, autoClose=true){\r\n            overlayTitle.textContent = title;\r\n            overlayText.textContent = text;\r\n            overlay.classList.add('show');\r\n            if(autoClose) {\r\n              setTimeout(() => { overlay.classList.remove('show'); }, 2000);\r\n            }\r\n          }\r\n\r\n          function resizeFx(){ const rect = fx.parentElement.getBoundingClientRect(); fx.width = Math.floor(rect.width * devicePixelRatio); fx.height = Math.floor(rect.height * devicePixelRatio); }\r\n          function fireworkBurst(x,y,colors){ for(let i=0;i<40;i++) particles.push({x,y,vx:(Math.random()*2-1)*(3+Math.random()*5),vy:(Math.random()*2-1)*(3+Math.random()*5),life:60+Math.random()*30,color:colors[Math.floor(Math.random()*colors.length)],size:3+Math.random()*3}); }\r\n          function drawFx(){ const ctx=fx.getContext('2d'); ctx.clearRect(0,0,fx.width,fx.height); particles=particles.filter(p=>p.life>0); particles.forEach(p=>{ p.life--; p.x += p.vx*devicePixelRatio; p.y += p.vy*devicePixelRatio; p.vy += 0.1*devicePixelRatio; ctx.fillStyle=p.color; ctx.beginPath(); ctx.arc(p.x,p.y,p.size*devicePixelRatio,0,Math.PI*2); ctx.fill(); }); if(particles.length) requestAnimationFrame(drawFx); }\r\n         \r\n          function startFx(target, enhanced=false){ resizeFx(); fx.classList.add('show'); const rect=target.getBoundingClientRect(), pr=fx.getBoundingClientRect(), x=(rect.left+rect.width\/2-pr.left)*devicePixelRatio, y=(rect.top+rect.height\/2-pr.top)*devicePixelRatio; const bursts = enhanced ? 8 : 3; for(let i=0;i<bursts;i++){ fireworkBurst(x+(Math.random()*100-50)*devicePixelRatio,y+(Math.random()*100-50)*devicePixelRatio,enhanced ? ['#ff7b7b','#ffd86b','#7cf0c8','#8ea6ff','#ffb84d','#ffffff','#ff00ff'] : ['#ff7b7b','#ffd86b','#7cf0c8','#8ea6ff','#ffb84d']); } requestAnimationFrame(drawFx); if(enhanced) { fanfareSound(); } else { winSound(); } }\r\n         \r\n          function grandCelebration(){ resizeFx(); fx.classList.add('show'); const colors=['#ff7b7b','#ffd86b','#7cf0c8','#8ea6ff','#ffb84d','#ffffff','#ff00ff','#00ff00','#00ffff']; for(let j=0;j<15;j++){ setTimeout(()=>{ const x=Math.random()*fx.width, y=Math.random()*fx.height*0.7; fireworkBurst(x,y,colors); }, j*200); } victorySound(); requestAnimationFrame(drawFx); }\r\n\r\n          \/\/ NEU: Verbesserte Finale Celebration (mit requestAnimationFrame)\r\n          function superGrandCelebration(){\r\n            resizeFx();\r\n            fx.classList.add('show');\r\n            const colors=['#ff7b7b','#ffd86b','#7cf0c8','#8ea6ff','#ffb84d','#ffffff','#ff00ff','#00ff00','#00ffff','#32cd32','#1e90ff','#ff6b6b','#6bffb8','#ffd93d'];\r\n            for(let j=0;j<40;j++){\r\n              setTimeout(()=>{\r\n                const x=Math.random()*fx.width, y=Math.random()*fx.height*0.7;\r\n                fireworkBurst(x,y,colors);\r\n              }, j*100);\r\n            }\r\n            victorySound();\r\n            confettiSound();\r\n            stockTrumpet();\r\n            birthdayMusic();\r\n            requestAnimationFrame(drawFx); \/\/ NEU: Animation starten!\r\n          }\r\n\r\n          async function tradeBatch(which){\r\n            if(finished) return;\r\n            const isA = which === 'A';\r\n            const player = isA ? 'Bo' : 'Dave';\r\n            const disabled = isA ? aFinishedPhase : bFinishedPhase;\r\n            if(disabled){\r\n              status.textContent = `${player} hat sein Ziel erreicht! Warte auf den anderen.`;\r\n              return;\r\n            }\r\n\r\n            \/\/ Klick-Z\u00e4hler f\u00fcr 10\u201315 Klicks (100\u2013150 Trades) bis 1.000 \u20ac\r\n            if(isA) aClickCount++; else bClickCount++;\r\n\r\n            status.textContent = `${player} trade 10 Times...`;\r\n\r\n            for(let i=0; i<10; i++){\r\n              clickSound();\r\n\r\n              \/\/ 10 \u20ac Einsatz abziehen per Trade (ORIGINAL: 10 Trades per Klick)\r\n              if(isA) a = Math.max(10, a - 10); else b = Math.max(10, b - 10);\r\n\r\n              \/\/ KI-gesteuerte Kursentwicklung: Spektrum von 10\u2013950 \u20ac richtig ausnutzen\r\n              if(isA) {\r\n                \/\/ Spektrum: -150 bis +200 (50 \u20ac, 200 \u20ac, 300 \u20ac, 400 \u20ac viel \u00f6fter)\r\n                const delta = (Math.random() - 0.42) * 350;\r\n                a = Math.max(10, a + delta);\r\n                \/\/ Auwacht! B\u00f6rsen-Hupe bei starkem Aufw\u00e4rtstrend\r\n                if(delta > 100 && i%4===0) stockExchangeHorn();\r\n                \/\/ Nicht \u00fcber 950 \u20ac (au\u00dfer beim Finale)\r\n                if(a > 950 && !aFinishedPhase) a = 950;\r\n                updateChart('A', a);\r\n              } else {\r\n                const delta = (Math.random() - 0.42) * 350;\r\n                b = Math.max(10, b + delta);\r\n                \/\/ Auwacht! B\u00f6rsen-Hupe bei starkem Aufw\u00e4rtstrend\r\n                if(delta > 100 && i%4===0) stockExchangeHorn();\r\n                \/\/ Nicht \u00fcber 950 \u20ac (au\u00dfer beim Finale)\r\n                if(b > 950 && !bFinishedPhase) b = 950;\r\n                updateChart('B', b);\r\n              }\r\n\r\n              setText();\r\n\r\n              \/\/ Positive & negative Ger\u00e4uschkulisse\r\n              if((isA && a > 500) || (!isA && b > 500)) {\r\n                if(i%3===0) { winSound(); }\r\n              } else if((isA && a < 500) || (!isA && b < 500)) {\r\n                if(i%3===0) loseSound();\r\n              }\r\n\r\n              \/\/ Warnhinweise \/ Action-Fakes bei R\u00fcckgang\r\n              if((isA && a < 400) || (!isA && b < 400)) {\r\n                if(i%5===0) showWarning('Vorsicht, Inflation!');\r\n              }\r\n              if((isA && a < 300) || (!isA && b < 300)) {\r\n                if(i%7===0) { showWarning('B\u00f6rsenkrach!'); sirenSound(); }\r\n              }\r\n              if((isA && a < 200) || (!isA && b < 200)) {\r\n                if(i%9===0) { showWarning('Weltwirtschaftskrise!'); alarmSound(); }\r\n              }\r\n              if((isA && a < 150) || (!isA && b < 150)) {\r\n                if(i%11===0) showWarning('Notfallprogramm gestartet!');\r\n              }\r\n\r\n              await new Promise(r => setTimeout(r, 150)); \/\/ 150 ms Pause per Trade\r\n            }\r\n\r\n            status.textContent = '10 Trades abgeschlossen';\r\n\r\n            \/\/ Wenn nach 15 Klicks (150 Trades) noch nicht 1.000 \u20ac: erzwingen 1.000 \u20ac\r\n            if(isA && aClickCount >= 15 && a < 1000 && !aFinishedPhase) {\r\n              a = 1000;\r\n              setText();\r\n              updateChart('A', a);\r\n            }\r\n            if(!isA && bClickCount >= 15 && b < 1000 && !bFinishedPhase) {\r\n              b = 1000;\r\n              setText();\r\n              updateChart('B', b);\r\n            }\r\n\r\n            \/\/ Fanfare & Feuerwerk bei 1.000 \u20ac + Overlay nach 1,5 Sekunden\r\n            if(isA && a >= 1000 && !aFinishedPhase) {\r\n              aFinishedPhase = true;\r\n              fanfareSound();\r\n              startFx(document.getElementById('cardA'), true);\r\n              setTimeout(() => {\r\n                showOverlay('Du hast dein Hauptziel erreicht!', 'Bo hat 1.000 \u20ac erreicht! Warte auf Dave.', true);\r\n              }, 1500);\r\n              tradeA.disabled = true;\r\n            }\r\n            if(!isA && b >= 1000 && !bFinishedPhase) {\r\n              bFinishedPhase = true;\r\n              fanfareSound();\r\n              startFx(document.getElementById('cardB'), true);\r\n              setTimeout(() => {\r\n                showOverlay('Du hast dein Hauptziel erreicht!', 'Dave hat 1.000 \u20ac erreicht! Warte auf Bo.', true);\r\n              }, 1500);\r\n              tradeB.disabled = true;\r\n            }\r\n\r\n            \/\/ Erst wenn beide fertig = Spiel beendet + Gro\u00dfes Feuerwerk\r\n            if(a >= 1000 && b >= 1000){\r\n              finished = true;\r\n              setTimeout(() => {\r\n                showOverlay('Jetzt habt ihr es wirklich geschafft!', 'Beide haben 1.000 \u20ac erreicht. Herzlichen Gl\u00fcckwunsch!', false);\r\n                grandCelebration();\r\n              }, 1500);\r\n              tradeA.disabled = true; tradeB.disabled = true;\r\n              status.textContent = 'Phase 1 beendet! Warte 15 Sekunden auf Phase 2...';\r\n             \r\n              startPhase2();\r\n            }\r\n          }\r\n\r\n          async function startPhase2(){\r\n            \/\/ Buttons deaktivieren\r\n            tradeA.disabled = true;\r\n            tradeB.disabled = true;\r\n\r\n            \/\/ 15 Sekunden Pause nach 1.000 \u20ac (mit kleinen Sounds)\r\n            status.textContent = 'Phase 1 beendet! Warte 15 Sekunden...';\r\n            await waitWithSounds(15);\r\n\r\n            \/\/ 6 Schritte: 2.000 \u2192 2.500 \u2192 3.000 \u2192 3.500 \u2192 4.000 \u2192 4.500 \u2192 5.000\r\n            const levels = [2000, 2500, 3000, 3500, 4000, 4500, 5000];\r\n\r\n            for(let i=0; i<levels.length; i++){\r\n              const target = levels[i];\r\n             \r\n              if(i === 0){\r\n                \/\/ Start: 2.000 \u20ac\r\n                a = target;\r\n                b = target;\r\n                setText();\r\n                updateChart('A', a);\r\n                updateChart('B', b);\r\n                status.textContent = `Phase 2: Start bei ${fmt(target)} \u20ac! Warte 12 Sekunden...`;\r\n              } else if(i === levels.length - 1){\r\n                \/\/ Finale: 5.000 \u20ac\r\n                a = target;\r\n                b = target;\r\n                setText();\r\n                updateChart('A', a);\r\n                updateChart('B', b);\r\n               \r\n                \/\/ Overlay zuerst, dann 3 Sekunden warten, dann Feuerwerk\r\n                overlayTitle.textContent = 'Herzlichen Gl\u00fcckwunsch zu eurem 18. Geburtstag!';\r\n                overlayText.textContent = 'Ihr habt es jetzt geschafft!';\r\n                overlay.classList.add('show');\r\n               \r\n                status.textContent = 'GAME OVER! 5.000 \u20ac erreicht!';\r\n               \r\n                \/\/ 3 Sekunden warten, dann Overlay schlie\u00dfen\r\n                await new Promise(r => setTimeout(r, 3000));\r\n                overlay.classList.remove('show');\r\n               \r\n                \/\/ Dann Feuerwerk + Sounds (NEU: requestAnimationFrame)\r\n                superGrandCelebration();\r\n              } else {\r\n                \/\/ Intermediate: 2.500 \u2192 4.500\r\n                a = target;\r\n                b = target;\r\n                setText();\r\n                updateChart('A', a);\r\n                updateChart('B', b);\r\n               \r\n                fanfareSound();\r\n                startFx(document.getElementById('cardA'), false);\r\n                setTimeout(() => {\r\n                  startFx(document.getElementById('cardB'), false);\r\n                }, 200);\r\n               \r\n                \/\/ NEU: Kleiner Sound bei jedem Schritt\r\n                stockTrumpet();\r\n                happyBell();\r\n               \r\n                status.textContent = `Phase 2: ${fmt(target)} \u20ac erreicht! Warte 12 Sekunden...`;\r\n              }\r\n\r\n              \/\/ 12 Sekunden Pause mit kleinen Sounds (ablenken)\r\n              if(i < levels.length - 1){\r\n                await waitWithSounds(12);\r\n              }\r\n            }\r\n          }\r\n\r\n          async function waitWithSounds(seconds){\r\n            \/\/ NEU: Mehr alternative Sounds in der Pause (ablenken, \u00f6fter)\r\n            const interval = Math.floor(seconds \/ 9); \/\/ 9 Sounds in der Pause\r\n            for(let s=0; s<9; s++){\r\n              if(s === 0 || s === 4 || s === 8){\r\n                alarmSound();\r\n              } else if(s === 1 || s === 5){\r\n                sirenSound();\r\n              } else if(s === 2 || s === 6){\r\n                winSound();\r\n                happyBell(); \/\/ NEU: Gl\u00fccks-Glocke\r\n              } else if(s === 3){\r\n                loseSound();\r\n                fallingTone(); \/\/ NEU: Fallende-T\u00f6ne\r\n              } else {\r\n                stockExchangeHorn(); \/\/ NEU: B\u00f6rsen-Hupe\r\n              }\r\n              await new Promise(r => setTimeout(r, interval * 1000));\r\n            }\r\n            await new Promise(r => setTimeout(r, interval * 1000));\r\n          }\r\n\r\n          function reset(){\r\n            a = 500; b = 500; finished = false; aPoints = []; bPoints = []; aTrend = 0; bTrend = 0;\r\n            aFinishedPhase = false; bFinishedPhase = false;\r\n            aClickCount = 0; bClickCount = 0;\r\n            tradeA.disabled = false; tradeB.disabled = false;\r\n            overlay.classList.remove('show');\r\n            pillA.textContent = 'Handel'; pillB.textContent = 'Handel';\r\n            polyA.setAttribute('points', ''); polyB.setAttribute('points', '');\r\n            setText(); status.textContent = 'Warte auf Start...';\r\n            particles = []; fx.classList.remove('show');\r\n            warning.style.display = 'none';\r\n          }\r\n\r\n          \/\/ EventListeners - au\u00dferhalb von initGame()\r\n          tradeA.addEventListener('click', tradeBatch.bind(null, 'A'));\r\n          tradeB.addEventListener('click', tradeBatch.bind(null, 'B'));\r\n          \/\/ Reset-Button entfernt (wie gew\u00fcnscht)\r\n\r\n          window.addEventListener('resize', resizeFx);\r\n          setText();\r\n        }\r\n\r\n        \/\/ Spiel direkt starten\r\n        initGame();\r\n      })();\r\n    <\/script>\r\n  <\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Lieber Bo und lieber Dave, Herzlichen Gl\u00fcckwunsch zum Achtzehnten! Meine lieben jungen Menschen,heute, an diesem feinen Tag, beginnt f\u00fcr Euch etwas, das man im Leben nicht einfach \u201epassieren\u201c l\u00e4sst. Ihr werdet erwachsen.\u00a0 Das ist kein blo\u00dfer kosmetischer Effekt \u2013 Ihr seid nicht pl\u00f6tzlich sch\u00f6ner, wohlhaariger oder besser gekleidet, Ihr werdet nicht gleich einen Bart haben, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1839","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Bo &amp; Dave - Flensburg Ferienwohnung<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.flensburg-ferienwohnung.com\/en\/bo-dave\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bo &amp; Dave - Flensburg Ferienwohnung\" \/>\n<meta property=\"og:description\" content=\"Lieber Bo und lieber Dave, Herzlichen Gl\u00fcckwunsch zum Achtzehnten! Meine lieben jungen Menschen,heute, an diesem feinen Tag, beginnt f\u00fcr Euch etwas, das man im Leben nicht einfach \u201epassieren\u201c l\u00e4sst. Ihr werdet erwachsen.\u00a0 Das ist kein blo\u00dfer kosmetischer Effekt \u2013 Ihr seid nicht pl\u00f6tzlich sch\u00f6ner, wohlhaariger oder besser gekleidet, Ihr werdet nicht gleich einen Bart haben, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.flensburg-ferienwohnung.com\/en\/bo-dave\/\" \/>\n<meta property=\"og:site_name\" content=\"Flensburg Ferienwohnung\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-13T15:35:15+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/bo-dave\\\/\",\"url\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/bo-dave\\\/\",\"name\":\"Bo &amp; Dave - Flensburg Ferienwohnung\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/#website\"},\"datePublished\":\"2026-07-02T21:58:55+00:00\",\"dateModified\":\"2026-07-13T15:35:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/bo-dave\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/bo-dave\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/bo-dave\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bo &amp; Dave\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/#website\",\"url\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/\",\"name\":\"Flensburg Ferienwohnung\",\"description\":\"Ferienwohnung | \u00dcbernachtungen Ferien Urlaub in Flensburg\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/#organization\",\"name\":\"Flensburg Ferienwohnung\",\"url\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/cropped-Logo-Ferienwohnung.png\",\"contentUrl\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/cropped-Logo-Ferienwohnung.png\",\"width\":1573,\"height\":215,\"caption\":\"Flensburg Ferienwohnung\"},\"image\":{\"@id\":\"https:\\\/\\\/www.flensburg-ferienwohnung.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.youtube.com\\\/watch?v=GvsCkxZ-aNY\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bo &amp; Dave - Flensburg Ferienwohnung","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.flensburg-ferienwohnung.com\/en\/bo-dave\/","og_locale":"en_GB","og_type":"article","og_title":"Bo &amp; Dave - Flensburg Ferienwohnung","og_description":"Lieber Bo und lieber Dave, Herzlichen Gl\u00fcckwunsch zum Achtzehnten! Meine lieben jungen Menschen,heute, an diesem feinen Tag, beginnt f\u00fcr Euch etwas, das man im Leben nicht einfach \u201epassieren\u201c l\u00e4sst. Ihr werdet erwachsen.\u00a0 Das ist kein blo\u00dfer kosmetischer Effekt \u2013 Ihr seid nicht pl\u00f6tzlich sch\u00f6ner, wohlhaariger oder besser gekleidet, Ihr werdet nicht gleich einen Bart haben, [&hellip;]","og_url":"https:\/\/www.flensburg-ferienwohnung.com\/en\/bo-dave\/","og_site_name":"Flensburg Ferienwohnung","article_modified_time":"2026-07-13T15:35:15+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.flensburg-ferienwohnung.com\/bo-dave\/","url":"https:\/\/www.flensburg-ferienwohnung.com\/bo-dave\/","name":"Bo &amp; Dave - Flensburg Ferienwohnung","isPartOf":{"@id":"https:\/\/www.flensburg-ferienwohnung.com\/#website"},"datePublished":"2026-07-02T21:58:55+00:00","dateModified":"2026-07-13T15:35:15+00:00","breadcrumb":{"@id":"https:\/\/www.flensburg-ferienwohnung.com\/bo-dave\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.flensburg-ferienwohnung.com\/bo-dave\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.flensburg-ferienwohnung.com\/bo-dave\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.flensburg-ferienwohnung.com\/"},{"@type":"ListItem","position":2,"name":"Bo &amp; Dave"}]},{"@type":"WebSite","@id":"https:\/\/www.flensburg-ferienwohnung.com\/#website","url":"https:\/\/www.flensburg-ferienwohnung.com\/","name":"Flensburg Ferienwohnung","description":"Ferienwohnung | \u00dcbernachtungen Ferien Urlaub in Flensburg","publisher":{"@id":"https:\/\/www.flensburg-ferienwohnung.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.flensburg-ferienwohnung.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.flensburg-ferienwohnung.com\/#organization","name":"Flensburg Ferienwohnung","url":"https:\/\/www.flensburg-ferienwohnung.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.flensburg-ferienwohnung.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.flensburg-ferienwohnung.com\/wp-content\/uploads\/2022\/08\/cropped-Logo-Ferienwohnung.png","contentUrl":"https:\/\/www.flensburg-ferienwohnung.com\/wp-content\/uploads\/2022\/08\/cropped-Logo-Ferienwohnung.png","width":1573,"height":215,"caption":"Flensburg Ferienwohnung"},"image":{"@id":"https:\/\/www.flensburg-ferienwohnung.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.youtube.com\/watch?v=GvsCkxZ-aNY"]}]}},"_links":{"self":[{"href":"https:\/\/www.flensburg-ferienwohnung.com\/en\/wp-json\/wp\/v2\/pages\/1839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flensburg-ferienwohnung.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.flensburg-ferienwohnung.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.flensburg-ferienwohnung.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flensburg-ferienwohnung.com\/en\/wp-json\/wp\/v2\/comments?post=1839"}],"version-history":[{"count":41,"href":"https:\/\/www.flensburg-ferienwohnung.com\/en\/wp-json\/wp\/v2\/pages\/1839\/revisions"}],"predecessor-version":[{"id":1885,"href":"https:\/\/www.flensburg-ferienwohnung.com\/en\/wp-json\/wp\/v2\/pages\/1839\/revisions\/1885"}],"wp:attachment":[{"href":"https:\/\/www.flensburg-ferienwohnung.com\/en\/wp-json\/wp\/v2\/media?parent=1839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}