1<!DOCTYPE html> 2<html lang="de-de" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <meta name="description" content="Erfahren Sie alles über anstehende Veranstaltungen, Events und Termine in Bad Doberan. Planen Sie Ihren Aufenthalt mit unserem Veranstaltungskalender."> 7 <meta name="generator" content="Joomla! - Open Source Content Management"> 8 <title>Veranstaltungskalender für Bad Doberan: Termine und Events</title> 9 <link href="/images/favicon.png" rel="icon" sizes="any"> 10 <link href="/images/DBR_Logo_rund_4c.jpg" rel="apple-touch-icon"> 11 12 <link href="/modules/mod_guestsurvey/media/css/style.css?3b3013" rel="stylesheet"> 13 <link href="/media/vendor/joomla-custom-elements/css/joomla-alert.min.css?0.4.1" rel="stylesheet"> 14 <link href="/media/system/css/joomla-fontawesome.min.css?5.0.48" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> 15 <link href="/templates/yootheme/css/theme.12.css?1790928823" rel="stylesheet"> 16 <link href="/templates/yootheme/css/theme.update.css?5.0.48" rel="stylesheet"> 17 18
18<script src="/modules/mod_guestsurvey/media/js/script.js?3b3013" defer></script>
18 19
19<script type="application/json" class="joomla-script-options new">{"joomla.jtext":{"ERROR":"Fehler","MESSAGE":"Nachricht","NOTICE":"Hinweis","WARNING":"Warnung","SUCCESS":"Success","JCLOSE":"SchlieÃen","JOK":"OK","JOPEN":"Ãffnen"},"system.paths":{"root":"","rootFull":"https:\/\/www.bad-doberan-heiligendamm.de\/","base":"","baseFull":"https:\/\/www.bad-doberan-heiligendamm.de\/"},"csrf.token":"275e45a23988dfb1d731790b7985bf8f","plg_system_schedulerunner":{"interval":300}}</script>
19 20
20<script src="/media/system/js/core.min.js?a3d8f8"></script>
20 21
21<script src="/media/system/js/joomla-hidden-mail.min.js?80d9c7" type="module"></script>
21 22
22<script src="/media/system/js/messages.min.js?9a4811" type="module"></script>
22 23
23<script src="/media/plg_system_schedulerunner/js/run-schedule.min.js?229d3b" type="module"></script>
23 24
24<script src="/templates/yootheme/assets/site/js/consent.js?5.0.48" type="module"></script>
24 25
25<script src="/templates/yootheme/vendor/assets/uikit/dist/js/uikit.min.js?5.0.48"></script>
25 26
26<script src="/templates/yootheme/vendor/assets/uikit/dist/js/uikit-icons-fuse.min.js?5.0.48"></script>
26 27
27<script src="/templates/yootheme/assets/site/js/theme.js?5.0.48"></script>
27 28
28<script src="/media/com_widgetkit/js/maps.js" defer></script>
28 29
29<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.bad-doberan-heiligendamm.de/#/schema/Organization/base","name":"Bad Doberan - Heiligendamm","url":"https://www.bad-doberan-heiligendamm.de/"},{"@type":"WebSite","@id":"https://www.bad-doberan-heiligendamm.de/#/schema/WebSite/base","url":"https://www.bad-doberan-heiligendamm.de/","name":"Bad Doberan - Heiligendamm","publisher":{"@id":"https://www.bad-doberan-heiligendamm.de/#/schema/Organization/base"},"potentialAction":{"@type":"SearchAction","target":"https://www.bad-doberan-heiligendamm.de/component/finder/search?q={search_term_string}\u0026amp;Itemid=102","query-input":"required name=search_term_string"}},{"@type":"WebPage","@id":"https://www.bad-doberan-heiligendamm.de/#/schema/WebPage/base","url":"https://www.bad-doberan-heiligendamm.de/kultur-events/veranstaltungskalender","name":"Veranstaltungskalender für Bad Doberan: Termine und Events","description":"Erfahren Sie alles über anstehende Veranstaltungen, Events und Termine in Bad Doberan. Planen Sie Ihren Aufenthalt mit unserem Veranstaltungskalender.","isPartOf":{"@id":"https://www.bad-doberan-heiligendamm.de/#/schema/WebSite/base"},"about":{"@id":"https://www.bad-doberan-heiligendamm.de/#/schema/Organization/base"},"inLanguage":"de-DE"},{"@type":"Article","@id":"https://www.bad-doberan-heiligendamm.de/#/schema/com_content/article/48","name":"Veranstaltungskalender","headline":"Veranstaltungskalender","inLanguage":"de-DE","isPartOf":{"@id":"https://www.bad-doberan-heiligendamm.de/#/schema/WebPage/base"}}]}</script>
29 30
30<script>window.yootheme ||= {}; yootheme.consent = {"type":"optin","banner_layout":"card-bottom-center","categories":{"functional":[],"statistics":["Trackboxx"]}};</script>
30 31
31<script>window.yootheme ||= {}; yootheme.theme = {"i18n":{"close":{"label":"Schlie\u00dfen"},"totop":{"label":"Zur\u00fcck nach oben"},"marker":{"label":"\u00d6ffnen"},"navbarToggleIcon":{"label":"Men\u00fc \u00f6ffnen"},"paginationPrevious":{"label":"Vorherige Seite"},"paginationNext":{"label":"N\u00e4chste Seite"},"searchIcon":{"toggle":"Suche \u00f6ffnen","submit":"Suche ausf\u00fchren"},"slider":{"next":"N\u00e4chste Folie","previous":"Vorherige Folie","slideX":"Folie %s","slideLabel":"%s von %s"},"slideshow":{"next":"N\u00e4chste Folie","previous":"Vorherige Folie","slideX":"Folie %s","slideLabel":"%s von %s"},"lightboxPanel":{"next":"N\u00e4chste Folie","previous":"Vorherige Folie","slideLabel":"%s von %s","close":"Schlie\u00dfen"}}};</script>
31 32 <button 33 type="button" 34 class="vamedpatei-toggle" 35 data-vp="toggle" 36 aria-label="Barrierefreiheits-Optionen öffnen" 37 aria-expanded="false" 38> 39 <i class="fa-solid fa-universal-access" aria-hidden="true"></i> 40</button> 41 42<div class="vamedpatei-overlay" data-vp="overlay" hidden></div> 43 44<aside 45 class="vamedpatei-panel" 46 data-vp="panel" 47 role="dialog" 48 aria-modal="true" 49 aria-labelledby="vamedpatei-title" 50 hidden 51> 52 <header class="vamedpatei-header"> 53 <div> 54 <h2 id="vamedpatei-title" class="vamedpatei-title">Barrierefreiheit</h2> 55 <p class="vamedpatei-subtitle">Ansicht & Bedienung anpassen</p> 56 </div> 57 58 <button class="vamedpatei-close" data-vp="close" type="button" aria-label="SchlieÃen"> 59 <i class="fa-solid fa-xmark" aria-hidden="true"></i> 60 </button> 61 </header> 62 63 <div class="vamedpatei-body"> 64 <!-- LEFT COLUMN --> 65 <div class="vamedpatei-col"> 66 <!-- TEXT --> 67 <section class="vamedpatei-card"> 68 <h3 class="vamedpatei-h3"><i class="fa-solid fa-font" aria-hidden="true"></i> Text</h3> 69 70 <div class="vamedpatei-row"> 71 <span>SchriftgröÃe</span> 72 <div class="vamedpatei-controls" role="group" aria-label="SchriftgröÃe steuern"> 73 <button type="button" data-vp-font="dec" aria-label="Verkleinern"> 74 <i class="fa-solid fa-minus" aria-hidden="true"></i> 75 </button> 76 <button type="button" data-vp-font="inc" aria-label="VergröÃern"> 77 <i class="fa-solid fa-plus" aria-hidden="true"></i> 78 </button> 79 <button type="button" data-vp-font="reset" aria-label="Zurücksetzen"> 80 <i class="fa-solid fa-rotate" aria-hidden="true"></i> 81 </button> 82 </div> 83 </div> 84 85 <label class="vamedpatei-field"> 86 <span>Zeilenabstand</span> 87 <input data-vp="lineheight" type="range" min="1.1" max="2.0" step="0.05" value="1.5"> 88 </label> 89 90 <label class="vamedpatei-field"> 91 <span>Buchstabenabstand</span> 92 <input data-vp="letterspace" type="range" min="0" max="0.12" step="0.01" value="0.01"> 93 </label> 94 95 <label class="vamedpatei-switch"> 96 <input data-vp="readingmode" type="checkbox"> 97 <span class="vamedpatei-switch-ui" aria-hidden="true"></span> 98 <span>Lesemodus (Textbreite)</span> 99 </label> 100 101 <label class="vamedpatei-switch"> 102 <input data-vp="readablefont" type="checkbox"> 103 <span class="vamedpatei-switch-ui" aria-hidden="true"></span> 104 <span>Lesefreundliche Schrift</span> 105 </label> 106 107 <div class="vamedpatei-divider"></div> 108 109 <label class="vamedpatei-field"> 110 <span>MausgröÃe (Cursor)</span> 111 <select class="vamedpatei-select" data-vp="cursor"> 112 <option value="normal">Normal</option> 113 <option value="big">GroÃ</option> 114 <option value="huge">Sehr groÃ</option> 115 </select> 116 </label> 117 118 <p class="vamedpatei-note">Tipp: Cursor-GröÃe wirkt global auf Links/Buttons/Inputs.</p> 119 </section> 120 121 <!-- SPEECH --> 122 <section class="vamedpatei-card"> 123 <h3 class="vamedpatei-h3"><i class="fa-solid fa-volume-high" aria-hidden="true"></i> Vorlesen</h3> 124 125 <div class="vamedpatei-grid"> 126 <button class="vamedpatei-btn" type="button" data-vp-speech="start"> 127 <i class="fa-solid fa-play" aria-hidden="true"></i> Start 128 </button> 129 <button class="vamedpatei-btn" type="button" data-vp-speech="pause"> 130 <i class="fa-solid fa-pause" aria-hidden="true"></i> Pause/Fortsetzen 131 </button> 132 <button class="vamedpatei-btn" type="button" data-vp-speech="stop"> 133 <i class="fa-solid fa-stop" aria-hidden="true"></i> Stopp 134 </button> 135 <button class="vamedpatei-btn" type="button" data-vp-preset="reset"> 136 <i class="fa-solid fa-rotate-left" aria-hidden="true"></i> Reset 137 </button> 138 </div> 139 140 <label class="vamedpatei-switch"> 141 <input data-vp="hoverread" type="checkbox">
142 <span class="vamedpatei-switch-ui" aria-hidden="true"></span> 143 <span>Mauszeiger-Vorlesen (Links/Buttons)</span> 144 </label> 145 146 <label class="vamedpatei-field"> 147 <span>Lautstärke</span> 148 <input data-vp="volume" type="range" min="0" max="1" step="0.05" value="1"> 149 </label> 150 151 <p class="vamedpatei-status" data-vp="status" aria-live="polite" aria-atomic="true"></p> 152 </section> 153 </div> 154 155 <!-- RIGHT COLUMN --> 156 <div class="vamedpatei-col"> 157 <!-- VISIBILITY --> 158 <section class="vamedpatei-card"> 159 <h3 class="vamedpatei-h3"><i class="fa-solid fa-circle-half-stroke" aria-hidden="true"></i> Sichtbarkeit</h3> 160 161 <div class="vamedpatei-grid"> 162 <button class="vamedpatei-btn" type="button" data-vp-filter="none"> 163 <i class="fa-solid fa-sun" aria-hidden="true"></i> Normal 164 </button> 165 <button class="vamedpatei-btn" type="button" data-vp-filter="blue"> 166 <i class="fa-solid fa-droplet" aria-hidden="true"></i> Blaufilter 167 </button> 168 <button class="vamedpatei-btn" type="button" data-vp-filter="high"> 169 <i class="fa-solid fa-eye" aria-hidden="true"></i> Kontrast 170 </button> 171 <button class="vamedpatei-btn" type="button" data-vp-preset="focus"> 172 <i class="fa-solid fa-bullseye" aria-hidden="true"></i> Fokus-Preset 173 </button> 174 </div> 175 176 <label class="vamedpatei-switch"> 177 <input data-vp="highlightlinks" type="checkbox"> 178 <span class="vamedpatei-switch-ui" aria-hidden="true"></span> 179 <span>Links hervorheben</span> 180 </label> 181 182 <label class="vamedpatei-switch"> 183 <input data-vp="strongfocus" type="checkbox"> 184 <span class="vamedpatei-switch-ui" aria-hidden="true"></span> 185 <span>Fokus stärker anzeigen</span> 186 </label> 187 </section> 188 189 <!-- CALM / ADHD --> 190 <section class="vamedpatei-card"> 191 <h3 class="vamedpatei-h3"><i class="fa-solid fa-wind" aria-hidden="true"></i> Ruhe & Fokus</h3> 192 193 <label class="vamedpatei-switch"> 194 <input data-vp="reducemotion" type="checkbox"> 195 <span class="vamedpatei-switch-ui" aria-hidden="true"></span> 196 <span>Animationen aus</span> 197 </label> 198 199 <label class="vamedpatei-switch"> 200 <input data-vp="focusmode" type="checkbox"> 201 <span class="vamedpatei-switch-ui" aria-hidden="true"></span> 202 <span>Fokus-/ADHS-Modus</span> 203 </label> 204 205 <label class="vamedpatei-switch"> 206 <input data-vp="dim" type="checkbox"> 207 <span class="vamedpatei-switch-ui" aria-hidden="true"></span> 208 <span>Hintergrund abdunkeln</span> 209 </label> 210 211 <div class="vamedpatei-grid"> 212 <button class="vamedpatei-btn" type="button" data-vp-preset="calm"> 213 <i class="fa-solid fa-leaf" aria-hidden="true"></i> Ruhig-Preset 214 </button> 215 <button class="vamedpatei-btn" type="button" data-vp-preset="reset"> 216 <i class="fa-solid fa-rotate-left" aria-hidden="true"></i> Reset 217 </button> 218 </div> 219 220 <p class="vamedpatei-note"> 221 Hinweis: âAnimationen ausâ stoppt CSS-Animationen/Transitions. Slider/Video-Autoplay ggf. separat pausieren. 222 </p> 223 </section> 224 225 <!-- â NEW: BIG RESET BUTTON (right column bottom) --> 226 <section class="vamedpatei-card vamedpatei-card-reset"> 227 <button class="vamedpatei-btn vamedpatei-btn-danger" type="button" data-vp-preset="reset" aria-label="Alles zurücksetzen"> 228 <i class="fa-solid fa-trash-arrow-up" aria-hidden="true"></i> Alles zurücksetzen 229 </button> 230 <p class="vamedpatei-note">Setzt alle Anpassungen (Text, Filter, Cursor, Vorlesen, Ruhe) zurück.</p> 231 </section> 232 </div> 233 </div> 234 235 <footer class="vamedpatei-footer"> 236 <a class="vamedpatei-link" href="/erklaerung-zur-barrierefreiheit"> 237 <i class="fa-solid fa-circle-info" aria-hidden="true"></i> Barrierefreiheit-Seite 238 </a> 239 </footer> 240</aside> 241 242
243<script> 244document.addEventListener("DOMContentLoaded", () => { 245 const $ = (sel) => document.querySelector(sel); 246 247 const toggle = $('[data-vp="toggle"]'); 248 const panel = $('[data-vp="panel"]'); 249 const close = $('[data-vp="close"]'); 250 const overlay= $('[data-vp="overlay"]'); 251 const status = $('[data-vp="status"]'); 252 253 if (!toggle || !panel || !close || !overlay) { 254 console.error("VAMEDPATEI: Elements missing", { toggle, panel, close, overlay }); 255 return; 256 } 257 258 const synth = window.speechSynthesis; 259 let lastFocus = null; 260 let hoverTimer = null; 261 262 const root = document.documentElement; 263 264 const LS = { 265 get(k, d){ const v = localStorage.getItem(k); return v === null ? d : v; }, 266 set(k, v){ localStorage.setItem(k, String(v)); } 267 }; 268 269 const setStatus = (t) => { if (status) status.textContent = t || ""; }; 270 const setVar = (name, value) => root.style.setProperty(name, value); 271 const setClass = (cls, on) => root.classList.toggle(cls, !!on); 272 273 const isOpen = () => !panel.hasAttribute("hidden"); 274 275 const getFocusable = (rootEl) => { 276 const selectors = [ 277 "a[href]", 278 "button:not([disabled])", 279 "input:not([disabled])", 280 "select:not([disabled])", 281 "textarea:not([disabled])", 282 "[tabindex]:not([tabindex='-1'])" 283 ]; 284 return Array.from(rootEl.querySelectorAll(selectors.join(","))) 285 .filter(el => el.offsetParent !== null); 286 }; 287 288 const trapFocus = (e) => { 289 if (!isOpen() || e.key !== "Tab") return; 290 const f = getFocusable(panel); 291 if (!f.length) return; 292 const first = f[0]; 293 const last = f[f.length - 1]; 294 if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); } 295 else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); } 296 }; 297 298 const applyOverlayDim = () => { 299 const dimOn = LS.get("vp_dim", "false") === "true"; 300 overlay.style.background = dimOn ? "rgba(2,6,23,0.55)" : "rgba(2,6,23,0.35)"; 301 }; 302 303 const openPanel = () => { 304 lastFocus = document.activeElement; 305 306 overlay.hidden = false; 307 panel.hidden = false; 308 applyOverlayDim(); 309 310 void panel.offsetWidth; // reflow for transition 311 panel.classList.add("vp-show"); 312 toggle.classList.add("vp-hide"); 313 toggle.setAttribute("aria-expanded", "true"); 314 315 close.focus(); 316 setStatus("Panel geöffnet."); 317 }; 318 319 const closePanel = () => { 320 panel.classList.remove("vp-show"); 321 toggle.classList.remove("vp-hide"); 322 toggle.setAttribute("aria-expanded", "false"); 323 324 setTimeout(() => { 325 panel.hidden = true; 326 overlay.hidden = true; 327 }, 250); 328 329 if (synth) synth.cancel(); 330 setStatus("Panel geschlossen."); 331 (lastFocus && lastFocus.focus) ? lastFocus.focus() : toggle.focus(); 332 }; 333 334 toggle.addEventListener("click", openPanel); 335 close.addEventListener("click", closePanel); 336 overlay.addEventListener("click", closePanel); 337 338 document.addEventListener("keydown", (e) => { 339 if (e.key === "Escape" && isOpen()) { e.preventDefault(); closePanel(); } 340 }); 341 document.addEventListener("keydown", trapFocus); 342 343 // ---- Restore settings 344 setVar("--vp-scale", String(parseFloat(LS.get("vp_scale","1")) || 1)); 345 setVar("--vp-line", String(parseFloat(LS.get("vp_line","1.5")) || 1.5)); 346 setVar("--vp-letter", `${parseFloat(LS.get("vp_letter","0.01")) || 0.01}em`); 347 348 setClass("vp-readingmode", LS.get("vp_reading","false") === "true"); 349 setClass("vp-readablefont", LS.get("vp_readablefont","false") === "true");
350 setClass("vp-highlightlinks", LS.get("vp_highlightlinks","false") === "true"); 351 setClass("vp-strongfocus", LS.get("vp_strongfocus","false") === "true"); 352 setClass("vp-reducemotion", LS.get("vp_rm","false") === "true"); 353 setClass("vp-focusmode", LS.get("vp_focus","false") === "true"); 354 355 // filter 356 root.classList.remove("vp-filter-blue","vp-filter-high"); 357 const f = LS.get("vp_filter","none"); 358 if (f === "blue") root.classList.add("vp-filter-blue"); 359 if (f === "high") root.classList.add("vp-filter-high"); 360 361 // cursor size 362 root.classList.remove("vp-cursor-big","vp-cursor-huge"); 363 const cursor = LS.get("vp_cursor", "normal"); 364 if (cursor === "big") root.classList.add("vp-cursor-big"); 365 if (cursor === "huge") root.classList.add("vp-cursor-huge"); 366 367 // ---- Bind inputs 368 const lineEl = $('[data-vp="lineheight"]'); 369 const letterEl = $('[data-vp="letterspace"]'); 370 const readingEl= $('[data-vp="readingmode"]'); 371 const readableFontEl = $('[data-vp="readablefont"]'); 372 const highlightLinksEl= $('[data-vp="highlightlinks"]'); 373 const strongFocusEl = $('[data-vp="strongfocus"]'); 374 const rmEl = $('[data-vp="reducemotion"]'); 375 const focusEl = $('[data-vp="focusmode"]'); 376 const dimEl = $('[data-vp="dim"]'); 377 const hoverEl = $('[data-vp="hoverread"]'); 378 const volEl = $('[data-vp="volume"]'); 379 const cursorEl = $('[data-vp="cursor"]'); 380 381 if (lineEl) { 382 lineEl.value = LS.get("vp_line","1.5"); 383 lineEl.addEventListener("input", () => { 384 setVar("--vp-line", lineEl.value); 385 LS.set("vp_line", lineEl.value); 386 setStatus(`Zeilenabstand: ${lineEl.value}`); 387 }); 388 } 389 if (letterEl) { 390 letterEl.value = LS.get("vp_letter","0.01"); 391 letterEl.addEventListener("input", () => { 392 setVar("--vp-letter", `${letterEl.value}em`); 393 LS.set("vp_letter", letterEl.value); 394 setStatus(`Buchstabenabstand: ${letterEl.value}em`); 395 }); 396 } 397 398 const bindSwitch = (el, key, cls, onText, offText) => { 399 if (!el) return; 400 el.checked = LS.get(key,"false") === "true"; 401 if (cls) setClass(cls, el.checked); 402 el.addEventListener("change", () => { 403 LS.set(key, el.checked); 404 if (cls) setClass(cls, el.checked); 405 if (key === "vp_dim") applyOverlayDim(); 406 setStatus(el.checked ? onText : offText); 407 }); 408 }; 409 410 bindSwitch(readingEl, "vp_reading", "vp-readingmode", "Lesemodus an.", "Lesemodus aus."); 411 bindSwitch(readableFontEl, "vp_readablefont", "vp-readablefont", "Lesefreundliche Schrift an.", "Lesefreundliche Schrift aus."); 412 bindSwitch(highlightLinksEl, "vp_highlightlinks", "vp-highlightlinks", "Links hervorgehoben.", "Links normal."); 413 bindSwitch(strongFocusEl, "vp_strongfocus", "vp-strongfocus", "Fokus stärker.", "Fokus normal."); 414 bindSwitch(rmEl, "vp_rm", "vp-reducemotion", "Animationen aus.", "Animationen an."); 415 bindSwitch(focusEl, "vp_focus", "vp-focusmode", "Fokus-/ADHS-Modus an.", "Fokus-/ADHS-Modus aus."); 416 bindSwitch(dimEl, "vp_dim", null, "Hintergrund abdunkeln an.", "Hintergrund abdunkeln aus."); 417 418 // Cursor select 419 if (cursorEl) { 420 cursorEl.value = LS.get("vp_cursor","normal"); 421 cursorEl.addEventListener("change", () => {
422 const v = cursorEl.value; 423 LS.set("vp_cursor", v); 424 root.classList.remove("vp-cursor-big","vp-cursor-huge"); 425 if (v === "big") root.classList.add("vp-cursor-big"); 426 if (v === "huge") root.classList.add("vp-cursor-huge"); 427 setStatus(v === "normal" ? "Cursor: Normal." : v === "big" ? "Cursor: GroÃ." : "Cursor: Sehr groÃ."); 428 }); 429 } 430 431 // Volume + hover 432 if (volEl) { 433 volEl.value = LS.get("vp_volume","1"); 434 volEl.addEventListener("input", () => { 435 const v = Math.min(1, Math.max(0, parseFloat(volEl.value))); 436 LS.set("vp_volume", v); 437 setStatus(`Lautstärke: ${Math.round(v*100)}%`); 438 }); 439 } 440 if (hoverEl) { 441 hoverEl.checked = LS.get("vp_hoverread","false") === "true"; 442 hoverEl.addEventListener("change", () => { 443 LS.set("vp_hoverread", hoverEl.checked); 444 setStatus(hoverEl.checked ? "Mauszeiger-Vorlesen an." : "Mauszeiger-Vorlesen aus."); 445 }); 446 } 447 448 const getVolume = () => { 449 const v = parseFloat(LS.get("vp_volume","1")); 450 return Number.isFinite(v) ? Math.min(1, Math.max(0, v)) : 1; 451 }; 452 const speak = (text) => { 453 if (!synth) return; 454 const t = (text || "").trim(); 455 if (!t) return; 456 synth.cancel(); 457 const u = new SpeechSynthesisUtterance(t); 458 u.volume = getVolume(); 459 synth.speak(u); 460 }; 461 const readMain = () => { 462 const main = document.querySelector("main"); 463 if (!main) { setStatus("Kein <main> gefunden."); return; } 464 speak(main.innerText); 465 setStatus("Vorlesen gestartet."); 466 }; 467 const pauseResume = () => { 468 if (!synth) return; 469 if (synth.speaking && !synth.paused) { synth.pause(); setStatus("Vorlesen pausiert."); } 470 else if (synth.paused) { synth.resume(); setStatus("Vorlesen fortgesetzt."); } 471 }; 472 const stop = () => { if (!synth) return; synth.cancel(); setStatus("Vorlesen gestoppt."); }; 473 474 // Hover read 475 document.body.addEventListener("mouseover", (e) => { 476 if (!hoverEl?.checked || !synth) return; 477 const el = e.target?.closest?.("a,button,label,input,textarea,select"); 478 if (!el) return; 479 const text = (el.innerText || el.value || "").trim(); 480 if (!text || text.length < 2 || text.length > 120) return; 481 482 clearTimeout(hoverTimer); 483 hoverTimer = setTimeout(() => speak(text), 250); 484 }, { passive: true }); 485 486 // ---- Button delegation (font/filter/presets/speech) 487 panel.addEventListener("click", (e) => { 488 const b = e.target.closest("button"); 489 if (!b) return; 490 491 // font 492 if (b.dataset.vpFont) { 493 const cur = parseFloat(LS.get("vp_scale","1")) || 1; 494 if (b.dataset.vpFont === "inc") { 495 const n = Math.min(1.7, cur*1.1); 496 setVar("--vp-scale", String(n)); 497 LS.set("vp_scale", n); 498 setStatus(`SchriftgröÃe: ${Math.round(n*100)}%`); 499 } 500 if (b.dataset.vpFont === "dec") { 501 const n = Math.max(0.85, cur*0.9); 502 setVar("--vp-scale", String(n)); 503 LS.set("vp_scale", n); 504 setStatus(`SchriftgröÃe: ${Math.round(n*100)}%`); 505 } 506 if (b.dataset.vpFont === "reset") { 507 setVar("--vp-scale", "1"); 508 LS.set("vp_scale", "1"); 509 setStatus("SchriftgröÃe zurückgesetzt."); 510 } 511 } 512 513 // filter 514 if (b.dataset.vpFilter) { 515 root.classList.remove("vp-filter-blue","vp-filter-high"); 516 const type = b.dataset.vpFilter; 517 if (type === "blue") root.classList.add("vp-filter-blue"); 518 if (type === "high") root.classList.add("vp-filter-high"); 519 LS.set("vp_filter", type); 520 setStatus(type === "none" ? "Filter: Normal." : type === "blue" ? "Filter: Blaufilter." : "Filter: Hoher Kontrast."); 521 } 522 523 // speech 524 if (b.dataset.vpSpeech) { 525 if (b.dataset.vpSpeech === "start") readMain(); 526 if (b.dataset.vpSpeech === "pause") pauseResume(); 527 if (b.dataset.vpSpeech === "stop") stop(); 528 } 529 530 // presets 531 if (b.dataset.vpPreset === "focus") { 532 setClass("vp-focusmode", true); LS.set("vp_focus","true"); if (focusEl) focusEl.checked = true; 533 setClass("vp-reducemotion", true); LS.set("vp_rm","true"); if (rmEl) rmEl.checked = true; 534 setClass("vp-readingmode", true); LS.set("vp_reading","true"); if (readingEl) readingEl.checked = true; 535 setClass("vp-highlightlinks", true); LS.set("vp_highlightlinks","true"); if (highlightLinksEl) highlightLinksEl.checked = true; 536 setClass("vp-strongfocus", true); LS.set("vp_strongfocus","true"); if (strongFocusEl) strongFocusEl.checked = true; 537 538 setVar("--vp-line","1.65"); LS.set("vp_line","1.65"); if (lineEl) lineEl.value = "1.65"; 539 setStatus("Fokus-Preset aktiviert."); 540 } 541 542 if (b.dataset.vpPreset === "calm") { 543 setClass("vp-reducemotion", true); LS.set("vp_rm","true"); if (rmEl) rmEl.checked = true; 544 setClass("vp-highlightlinks", true); LS.set("vp_highlightlinks","true"); if (highlightLinksEl) highlightLinksEl.checked = true; 545 setStatus("Ruhig-Preset aktiviert."); 546 } 547 548 if (b.dataset.vpPreset === "reset") {
549 const keys = [ 550 "vp_scale","vp_line","vp_letter","vp_reading","vp_readablefont","vp_highlightlinks","vp_strongfocus", 551 "vp_rm","vp_focus","vp_dim","vp_filter","vp_volume","vp_hoverread","vp_cursor" 552 ]; 553 keys.forEach(k => localStorage.removeItem(k)); 554 555 setVar("--vp-scale","1"); 556 setVar("--vp-line","1.5"); 557 setVar("--vp-letter","0.01em"); 558 559 root.classList.remove( 560 "vp-readingmode","vp-readablefont","vp-highlightlinks","vp-strongfocus","vp-reducemotion","vp-focusmode", 561 "vp-filter-blue","vp-filter-high","vp-cursor-big","vp-cursor-huge" 562 ); 563 564 if (lineEl) lineEl.value = "1.5"; 565 if (letterEl) letterEl.value = "0.01"; 566 if (readingEl) readingEl.checked = false; 567 if (readableFontEl) readableFontEl.checked = false; 568 if (highlightLinksEl) highlightLinksEl.checked = false; 569 if (strongFocusEl) strongFocusEl.checked = false; 570 if (rmEl) rmEl.checked = false; 571 if (focusEl) focusEl.checked = false; 572 if (dimEl) dimEl.checked = false; 573 if (hoverEl) hoverEl.checked = false; 574 if (volEl) volEl.value = "1"; 575 if (cursorEl) cursorEl.value = "normal"; 576 577 applyOverlayDim(); 578 if (synth) synth.cancel(); 579 setStatus("Zurückgesetzt."); 580 } 581 }); 582 583 console.log("VAMEDPATEI: updated layout ready"); 584}); 585</script>
585 586 587<!-- Datenschutz-Button --> 588<a class="datenschutz-button" href="#consent-settings" role="button" aria-label="Zur Datenschutzerklärung"> 589 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 590 <path d="M12 1C8.13 1 5 2.67 5 4.5v6c0 4.32 2.83 8.43 7 9.5 4.17-1.07 7-5.18 7-9.5v-6C19 2.67 15.87 1 12 1zm0 2c2.76 0 5 .89 5 1.5S14.76 6 12 6 7 5.11 7 4.5 9.24 3 12 3zm0 16c-2.79-1.02-5-4.42-5-7.5V6.97c1.41.69 3.3 1.03 5 1.03s3.59-.34 5-1.03V11.5c0 3.08-2.21 6.48-5 7.5z"/> 591 </svg> 592</a> 593
593<script type="text/plain" data-category="statistics.Trackboxx"> 594 (function(d, s, id, w, f){ 595 w[f] = w[f] || function() { 596 (w[f].q = w[f].q || []).push(arguments) 597 }; 598 var js, fjs = d.getElementsByTagName(s)[0]; 599 if (d.getElementById(id)){ return; } 600 js = d.createElement(s); js.id = id; 601 js.onload = function(){ 602 document.dispatchEvent(new Event('tbScriptLoaded')); 603 }; 604 js.async = true; 605 js.src = "https://cdn.trackboxx.info/p/tracker.js"; 606 fjs.parentNode.insertBefore(js, fjs); 607 }(document, 'script', 'trackboxx-script', window, 'trackboxx')); 608 trackboxx('set', 'siteId', 'TB-00583525'); 609 trackboxx('trackPageview'); 610</script>
610 611 612 </head> 613 <body class=""> 614 615 <div class="uk-hidden-visually uk-notification uk-notification-top-left uk-width-auto"> 616 <div class="uk-notification-message"> 617 <a href="#tm-main" class="uk-link-reset">Zum Hauptinhalt springen</a> 618 </div> 619 </div> 620 621 622 623 <div class="tm-page"> 624 625 626 627 628<header class="tm-header-mobile uk-hidden@m"> 629 630 631 632 <div class="uk-navbar-container"> 633 634 <div class="uk-container uk-container-expand"> 635 <nav class="uk-navbar" uk-navbar="{"align":"left","container":".tm-header-mobile","boundary":".tm-header-mobile .uk-navbar-container"}"> 636 637 <div class="uk-navbar-left "> 638 639 640<div class="uk-navbar-item" id="module-123"> 641 642 643 644<div class="uk-margin-remove-last-child custom" ><p><a href="https://www.bad-doberan-heiligendamm.de/"><img style="width: 100px;" src="/images/logo_rund.png" alt="Logo Bad Doberan Heiligendamm" loading="lazy" data-path="local-images:/logo_rund.png"></a></p></div> 645 646</div> 647 648 649 650 651 </div> 652 653 654 <div class="uk-navbar-right"> 655 656 657 658 <a uk-toggle href="#tm-dialog-mobile" class="uk-navbar-toggle" aria-controls="tm-dialog-mobile"> 659 660 661 <div uk-navbar-toggle-icon></div> 662 663 664 </a> 665 666 </div> 667 668 </nav> 669 </div> 670 671 </div> 672 673 674 675 676 677 <div id="tm-dialog-mobile" uk-offcanvas="container: true; overlay: true" mode="slide" flip> 678 <div class="uk-offcanvas-bar uk-flex uk-flex-column" aria-label="Menü"> 679 680 <button class="uk-offcanvas-close uk-close-large" type="button" uk-close uk-toggle="cls: uk-close-large; mode: media; media: @s"></button> 681 682 <div class="uk-margin-auto-bottom"> 683 684<div class="uk-grid uk-child-width-1-1" uk-grid> <div> 685<div class="uk-panel" id="module-125"> 686 687 688 689<div class="uk-margin-remove-last-child custom" ><p> 690 691 <div id="wk-grid822" class="uk-child-width-1-1 uk-grid-match uk-text-left " uk-height-match="target: > div > .uk-panel, > div > .uk-card; row: true" uk-grid > 692 693 694 <div > 695 <div class="uk-panel"> 696 697 698 699 <div class="uk-text-center uk-margin uk-margin-remove-top"><img src="/media/widgetkit/20-79881a1207458205ee8674eb1deb5ec2.png" class=" uk-transition-scale-up uk-transition-opaque" alt="20" width="250"></div> 700 701 702 703 704 705 706 707 <div class="uk-margin"> 708 709 <div id="wk-grid38c" class="uk-child-width-1-1 uk-grid-match uk-text-left " uk-height-match="target: > div > .uk-panel, > div > .uk-card; row: true" uk-grid > 710 711 712 <div > 713 <div class="uk-panel"> 714 715 716 717 718 719 720 721 722 723 724 <div class="uk-margin"><div style="color: #4085c4;"> 725<div class="uk-child-width-expand uk-text-center" uk-grid> 726 <div> 727 <a href="https://www.stadt-bad-doberan.de" target="_blank" uk-icon="home"></a> 728 <p style="margin-top: 0px;"><a style="color: #4085c4;" href="https://www.stadt-bad-doberan.de" target="_blank">Rathaus</p></a> 729 </div> 730 731 <div> 732 <a href="/kuesten-guide" uk-icon="location" style="margin-left: -42px;"></a> 733 <p style="margin-top: 0px; margin-right: 99px;"><a style="color: #4085c4;" href="/kuesten-guide">KÃSTENGUIDE</p></a> 734 </div> 735 </div> 736</div> 737 <div style="color: #4085c4;"> 738<div class="uk-child-width-expand uk-text-center" uk-grid> 739 <div> 740 <a style="color: #4085c4;" href="https://buchen.bad-doberan-heiligendamm.de" uk-icon="bookmark"></a> 741 <p style="margin-top: 0px;"><a style="color: #4085c4;" href="https://buchen.bad-doberan-heiligendamm.de">Buchen</p></a> 742 </div> 743 <div> 744 <a style="color: #4085c4;" href="/kultur-events/veranstaltungskalender" uk-icon="calendar"></a> 745 <p style="margin-top: 0px;"><a style="color: #4085c4;" href="/kultur-events/veranstaltungskalender">Events</p></a> 746 </div> 747 <div> 748 <a style="color: #4085c4;" href="/service/" uk-icon="settings"></a> 749 <p style="margin-top: 0px;"><a style="color: #4085c4;" href="/service/">Service</p></a> 750 </div> 751 <div> 752 <a style="color: #4085c4;" href="/kontakt" uk-icon="mail"></a> 753 <p style="margin-top: 0px;"><a style="color: #4085c4;" href="/kontakt">Kontakt</p></a> 754 755 </div> 756</div> 757</div> 758</div> 759 760 761 762 763 764 </div> 765 </div> 766 767 768 </div> 769 770 771<p><br /> <b>Kontakt</b></p> 772<p>Tourist-Information<br /> Bad Doberan-Heiligendamm<br /> Mollistr. 10<br /> 18209 Bad Doberan<br /><br /> Tel: +49(0)38203 - 420 311<br /> <joomla-hidden-mail is-link="1" is-email="1" first="aW5mbw==" last="YmFkLWRvYmVyYW4taGVpbGlnZW5kYW1tLmRl" text="aW5mb0BiYWQtZG9iZXJhbi1oZWlsaWdlbmRhbW0uZGU=" base="" >Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.</joomla-hidden-mail></p></div> 773 774 775 776 777 778 </div> 779 </div> 780 781 782 </div> 783 784</p></div> 785 786</div> 787</div> <div> 788<div class="uk-panel" id="module-124"> 789 790 791 792<ul class="uk-nav uk-nav-default"> 793 794 <li class="item-102"><a href="/" title="Startseite Bad Doberan Heiligendamm">Start</a></li> 795 <li class="item-108 uk-parent"><a href="/bad-doberan-heiligendamm" title="Infos zur Stadt & Region">Stadt & Region</a> 796 <ul class="uk-nav-sub"> 797 798 <li class="item-172"><a href="/bad-doberan-heiligendamm/kuesten-guide" title="Küsten Guide">
798Küsten Guide</a></li></ul></li> 799 <li class="item-104"><a href="/gastgeber" title="Infos zu den Gastgeber">Gastgeber</a></li> 800 <li class="item-105 uk-active uk-parent"><a href="/kultur-events" title="Termine und Infos zu Kultur & Events">Kultur & Events</a> 801 <ul class="uk-nav-sub"> 802 803 <li class="item-214"><a href="/kultur-events/18-bad-doberaner-kulturnacht">18. Bad Doberaner Kulturnacht</a></li></ul></li> 804 <li class="item-106"><a href="/wellness-gesundheit" title="Bereich Wellness- & Gesundheit">Wellness- & Gesundheit</a></li> 805 <li class="item-107"><a href="/aktiv-unterwegs" title="Bereich zu Aktiv & Unterwegs">Aktiv & Unterwegs</a></li></ul> 806 807</div> 808</div></div> 809 </div> 810 811 812 </div> 813 </div> 814 815 816 817 818</header> 819 820 821<div class="tm-toolbar tm-toolbar-default uk-visible@m"> 822 <div class="uk-container uk-flex uk-flex-middle uk-container-expand"> 823 824 825 <div class="uk-margin-auto-left"> 826 <div class="uk-grid-medium uk-child-width-auto uk-flex-middle" uk-grid="margin: uk-margin-small-top"> 827 <div> 828<div class="uk-panel" id="module-115"> 829 830 831 832<div class="uk-margin-remove-last-child custom" > 833 834 835 <div id="wk-grideee" class="uk-child-width-1-1 uk-grid-match uk-text-left " uk-height-match="target: > div > .uk-panel, > div > .uk-card; row: true" uk-grid > 836 837 838 <div > 839 <div class="uk-panel"> 840 841 842 843 844 845 846 847 848 849 850 <div class="uk-margin"><style> 851.quick-nav { 852 display: flex; 853 align-items: flex-start; 854 justify-content: space-between; 855 width: 100%; 856 gap: 25px; 857} 858 859.quick-nav-item { 860 flex: 1; 861 text-align: center; 862} 863 864.quick-nav-item a { 865 color: #4085c4; 866 text-decoration: none; 867 transition: color 0.2s ease, transform 0.2s ease; 868} 869 870.quick-nav-icon { 871 display: flex; 872 align-items: center; 873 justify-content: center; 874 width: 46px; 875 height: 46px; 876 margin: 0 auto 6px auto; 877 border: 1px solid rgba(64, 133, 196, 0.25); 878 border-radius: 50%; 879 transition: all 0.2s ease; 880} 881 882.quick-nav-icon span { 883 width: 21px; 884 height: 21px; 885} 886 887.quick-nav-label { 888 display: block; 889 margin: 0; 890 font-size: 13px; 891 font-weight: 500; 892 letter-spacing: 0.2px; 893 white-space: nowrap; 894} 895 896.quick-nav-item a:hover { 897 color: #255274; 898} 899 900.quick-nav-item a:hover .quick-nav-icon { 901 transform: translateY(-2px); 902 border-color: #255274; 903 background: rgba(64, 133, 196, 0.06); 904} 905 906/* Tablet */ 907@media (max-width: 900px) { 908 .quick-nav { 909 gap: 12px; 910 } 911 912 .quick-nav-label { 913 font-size: 12px; 914 } 915} 916 917/* Smartphone */ 918@media (max-width: 640px) { 919 .quick-nav { 920 flex-wrap: wrap; 921 gap: 20px 5px; 922 } 923 924 .quick-nav-item { 925 flex: 0 0 calc(33.333% - 5px); 926 } 927} 928</style> 929 930<nav class="quick-nav" aria-label="Schnellnavigation"> 931 932 933<!-- Rathaus --> 934<div class="quick-nav-item"> 935 <a href="https://www.stadt-bad-doberan.de" 936 target="_blank" 937 rel="noopener" 938 aria-label="Rathaus"> 939 940 <span class="quick-nav-icon"> 941 <span uk-icon="icon: home"></span> 942 </span> 943 944 <span class="quick-nav-label">Rathaus</span> 945 </a> 946</div> 947 948 949<!-- Küstenguide --> 950<div class="quick-nav-item"> 951 <a href="/kuesten-guide" 952 aria-label="Küstenguide"> 953 954 <span class="quick-nav-icon"> 955 <span uk-icon="icon: location"></span> 956 </span> 957 958 <span class="quick-nav-label">Küstenguide</span> 959 </a> 960</div> 961 962 963<!-- Buchen --> 964<div class="quick-nav-item"> 965 <a href="https://buchen.bad-doberan-heiligendamm.de" 966 aria-label="Unterkunft buchen"> 967 968 <span class="quick-nav-icon"> 969 <span uk-icon="icon: bookmark"></span> 970 </span> 971 972 <span class="quick-nav-label">Buchen</span> 973 </a> 974</div> 975 976 977<!-- Events --> 978<div class="quick-nav-item"> 979 <a href="/kultur-events/veranstaltungskalender" 980 aria-label="Veranstaltungskalender"> 981
982 <span class="quick-nav-icon"> 983 <span uk-icon="icon: calendar"></span> 984 </span> 985 986 <span class="quick-nav-label">Events</span> 987 </a> 988</div> 989 990 991<!-- Service --> 992<div class="quick-nav-item"> 993 <a href="/service/" 994 aria-label="Service"> 995 996 <span class="quick-nav-icon"> 997 <span uk-icon="icon: info"></span> 998 </span> 999 1000 <span class="quick-nav-label">Service</span> 1001 </a> 1002</div> 1003 1004 1005<!-- Kontakt --> 1006<div class="quick-nav-item"> 1007 <a href="/kontakt" 1008 aria-label="Kontakt"> 1009 1010 <span class="quick-nav-icon"> 1011 <span uk-icon="icon: mail"></span> 1012 </span> 1013 1014 <span class="quick-nav-label">Kontakt</span> 1015 </a> 1016</div> 1017 1018 1019</nav> 1020</div> 1021 1022 1023 1024 1025 1026 </div> 1027 </div> 1028 1029 1030 </div> 1031 1032</div> 1033 1034</div> 1035</div> 1036 </div> 1037 </div> 1038 1039 </div> 1040</div> 1041 1042<header class="tm-header uk-visible@m"> 1043 1044 1045 1046 1047 <div class="uk-navbar-container"> 1048 1049 <div class="uk-container uk-container-expand"> 1050 <nav class="uk-navbar" uk-navbar="{"align":"left","container":".tm-header","boundary":".tm-header .uk-navbar-container"}"> 1051 1052 <div class="uk-navbar-left "> 1053 1054 1055<div class="uk-navbar-item" id="module-122"> 1056 1057 1058 1059<div class="uk-margin-remove-last-child custom" ><p><a href="https://www.bad-doberan-heiligendamm.de/"><img style="width: 200px;" title="Bad Doberan Heiligendamm" src="/images/logo_rund.png" alt="Logo Bad Doberan Heiligendamm" loading="lazy" data-path="local-images:/logo_rund.png"></a></p></div> 1060 1061</div> 1062 1063<div class="uk-navbar-item" id="module-143"> 1064 1065 1066 <div id="gs-popup-143" 1067 class="gs-popup" 1068 role="dialog" 1069 aria-modal="true" 1070 aria-hidden="true" 1071 aria-labelledby="gs-popup-143-title" 1072 aria-describedby="gs-popup-143-desc" 1073 data-gs-settings="{"moduleId":143,"delayMs":3200,"showAgainDays":0,"storageKey":"gsPopupShown_143","openOnEachPage":true}" 1074 style="--gs-accent: #3730a3; 1075 --gs-radius: 20px;"> 1076 <div class="gs-popup__backdrop" data-gs-close></div> 1077 1078 <div class="gs-popup__dialog" role="document" tabindex="-1"> 1079 <button class="gs-popup__close" type="button" aria-label="SchlieÃen" data-gs-close>×</button> 1080 1081 <div class="gs-popup__badge">Ihre Meinung zählt</div> 1082 1083 <h2 id="gs-popup-143-title" class="gs-popup__title"> 1084 Gästebefragung Bad Doberan & Heiligendamm </h2> 1085 1086 <p id="gs-popup-143-desc" class="gs-popup__text"> 1087 Bitte nehmen Sie sich 2 Minuten Zeit für unsere Gästebefragung. Ihr Feedback hilft uns, unsere Leistungen direkt zu verbessern. </p> 1088 1089 <a href="https://www.gaeste-zufriedenheit.de/bad-doberan-heiligendamm" 1090 target="_blank" rel="noopener" 1091 class="uk-button uk-border-pill uk-button-primary"> 1092 Zur Gästebefragung </a> 1093 1094 <p class="gs-popup__smallprint"> 1095 Dieses Fenster erscheint nur einmal pro Besucher. </p> 1096 </div> 1097</div> 1098 1099</div> 1100 1101 1102 1103 1104 </div> 1105 1106 1107 <div class="uk-navbar-right"> 1108 1109 1110<ul class="uk-navbar-nav" id="module-111"> 1111 1112 <li class="item-102"><a href="/" title="Startseite Bad Doberan Heiligendamm">Start</a></li> 1113 <li class="item-108 uk-parent"><a href="/bad-doberan-heiligendamm" title="Infos zur Stadt & Region">Stadt & Region</a> 1114 <div class="uk-drop uk-navbar-dropdown"><div><ul class="uk-nav uk-navbar-dropdown-nav"> 1115 1116 <li class="item-172"><a href="/bad-doberan-heiligendamm/kuesten-guide" title="Küsten Guide">Küsten Guide</a></li></ul></div></div></li> 1117 <li class="item-104"><a href="/gastgeber" title="Infos zu den Gastgeber">Gastgeber</a></li> 1118 <li class="item-105 uk-active uk-parent"><a href="/kultur-events" title="Termine und Infos zu Kultur & Events">Kultur & Events</a> 1119 <div class="uk-drop uk-navbar-dropdown"><div><ul class="uk-nav uk-navbar-dropdown-nav"> 1120 1121 <li class="item-214"><a href="/kultur-events/18-bad-doberaner-kulturnacht">
112118. Bad Doberaner Kulturnacht</a></li></ul></div></div></li> 1122 <li class="item-106"><a href="/wellness-gesundheit" title="Bereich Wellness- & Gesundheit">Wellness- & Gesundheit</a></li> 1123 <li class="item-107"><a href="/aktiv-unterwegs" title="Bereich zu Aktiv & Unterwegs">Aktiv & Unterwegs</a></li></ul> 1124 1125 1126 1127 1128 </div> 1129 1130 </nav> 1131 </div> 1132 1133 </div> 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143</header> 1144 1145 1146 1147 1148 <main id="tm-main"> 1149 1150 1151 <div id="system-message-container" aria-live="polite"></div> 1152 1153 <!-- Builder #page --><style class="uk-margin-remove-adjacent">#page\#0{margin-top: -50px;}</style> 1154<div id="page#0" class="uk-section-default uk-section" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; delay: false;"> 1155 1156 1157 1158 1159 1160 <div class="uk-container"> 1161 1162<div class="uk-grid tm-grid-expand uk-child-width-1-1 uk-margin-xlarge"> 1163 1164 1165<div class="uk-width-1-1@m"> 1166 1167 1168 1169 1170 1171 1172 1173<div class="uk-h1 uk-margin-remove-bottom uk-text-center" uk-scrollspy-class> 1174 1175 1176 <h1>Wann und Was? Unser Veranstaltungs­kalender!</h1> 1177 1178 1179</div><div class="uk-divider-small uk-text-center uk-margin-medium" uk-scrollspy-class></div> 1180 1181 1182 1183 1184</div> 1185 1186</div> 1187 </div> 1188 1189 1190 1191</div> 1192<div class="uk-section-default uk-section uk-padding-remove-vertical"> 1193 1194 1195 1196 1197 1198 <div class="uk-container"> 1199 1200<div class="uk-grid-margin uk-grid tm-grid-expand uk-child-width-1-1"> 1201 1202 1203<div class="uk-width-1-1"> 1204 1205 1206 1207 1208 1209 1210 1211<div class="uk-margin uk-text-center"> 1212 1213 <div class="uk-grid uk-child-width-1-1 uk-grid-match"> <div> 1214<div class="el-item uk-panel uk-margin-remove-first-child"> 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 <div class="el-content uk-panel uk-margin-top"><p>Entdecken Sie vielfältige Veranstaltungen und Termine in Bad Doberan mit unserem Veranstaltungskalender. Von kulturellen Events bis hin zu spannenden Aktivitäten â erfahren Sie, was in unserer charmanten Stadt geboten wird. Planen Sie Ihren Aufenthalt und verpassen Sie keine Highlights. Bleiben Sie informiert über lokale Events und genieÃen Sie unvergessliche Erlebnisse in Bad Doberan. Willkommen zu einer facettenreichen Zeit in unserer Region!</p></div> 1232 1233 1234 1235 1236 1237 1238 1239 1240</div></div> 1241 </div> 1242 1243</div> 1244 1245 1246 1247 1248</div> 1249 1250</div> 1251 </div> 1252 1253 1254 1255</div> 1256<div id="kalender" class="uk-section-default uk-section" role="kalender" aria-label="Veranstaltungskalender"> 1257 1258 1259 1260 1261 1262 <div class="uk-container"> 1263 1264<div class="uk-grid-margin uk-grid tm-grid-expand uk-child-width-1-1"> 1265 1266 1267<div class="uk-width-1-1"> 1268 1269 1270 1271 1272 1273 1274 <div class="uk-panel uk-margin">
1274<script type="text/javascript" src="https://tmvwhl.infomaxnet.de/action/widget?token=n3Um79xL3ow.&containerId=dbr"></script>
1274</div> 1275 1276 1277 1278 1279</div> 1280 1281</div> 1282 </div> 1283 1284 1285 1286</div> 1287 1288 1289 </main> 1290 1291 1292<div class="tm-bottom uk-section-default uk-section"> 1293 1294 1295 1296 1297 1298 <div class="uk-container"> 1299 1300 1301<div class="uk-panel" id="module-129"> 1302 1303 1304 1305<div class="uk-margin-remove-last-child custom" ><p><a href="/kultur-events"> < Zurück zur Ãbersicht</a></p></div> 1306 1307</div> 1308 1309 </div> 1310 1311 1312 1313</div> 1314 1315 1316 <footer> 1317 <!-- Builder #footer --> 1318<div class="uk-section-overlap-flip uk-section-default uk-section-overlap uk-overflow-hidden"> 1319 <div class="uk-background-norepeat uk-background-center-center uk-section" style="background-size: 1px 1px; background-color: rgba(248, 248, 248, 0.15);" data-sources="[{"type":"image\/webp","srcset":"\/media\/yootheme\/cache\/24\/bg-24d83a0d.webp 1w","sizes":"(min-width: 1px) 1px"}]" data-src="/images/bg.png" uk-img> 1320 1321 1322 1323 1324 <div class="uk-container uk-container-xlarge"> 1325
1326<div class="uk-grid-margin-large uk-grid tm-grid-expand uk-grid-row-large" uk-grid> 1327 1328 1329<div class="uk-width-1-3@m"> 1330 1331 1332 1333 1334 1335 1336 1337<div class="uk-margin"> 1338 <a class="el-link" href="/" aria-label="Logo Bad Doberan Heiligendamm"><picture><source type="image/webp" srcset="/media/yootheme/cache/19/20-19c9687a.webp 300w, /media/yootheme/cache/ca/20-cafb9f1c.webp 600w" sizes="(min-width: 300px) 300px"><img class="el-image" src="/media/yootheme/cache/a2/20-a25c8c40.png" alt="Bad Doberan heiligendamm" loading="lazy" width="300" height="300"></picture></a> 1339 1340</div> 1341 1342 1343 1344 1345</div> 1346<div class="uk-width-1-3@m"> 1347 1348 1349 1350 1351 1352 1353 1354<div class="uk-panel uk-margin-remove-first-child uk-margin uk-text-left"> 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 <h3 class="el-title uk-text-large uk-text-muted uk-margin-top uk-margin-remove-bottom">Kontakt</h3> 1367 1368 1369 1370 1371 <div class="el-content uk-panel uk-margin-top"><p>Tourist-Information<br />Bad Doberan-Heiligendamm<br />Mollistr. 10<br />18209 Bad Doberan</p> 1372<p>Tel: +49(0)38203 - 420 311<br /><joomla-hidden-mail is-link="1" is-email="1" first="aW5mbw==" last="YmFkLWRvYmVyYW4taGVpbGlnZW5kYW1tLmRl" text="aW5mb0BiYWQtZG9iZXJhbi1oZWlsaWdlbmRhbW0uZGU=" base="" >Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.</joomla-hidden-mail></p></div> 1373 1374 1375 1376 1377 1378 1379 1380 1381</div> 1382 1383 1384 1385 1386</div> 1387<div class="uk-width-1-3@m"> 1388 1389 1390 1391 1392 1393 1394 1395<h3 class="uk-text-large uk-text-muted uk-text-left"> 1396 1397 1398 Suchen und finden 1399 1400 1401</h3> 1402<div> 1403 <form role="search" class="uk-search uk-search-default uk-width-1-1" action="/component/finder/search?Itemid=102" method="get"> 1404 1405 <input type="search" placeholder="Suche" class="uk-search-input" required aria-label="Suche" name="q"> 1406 <input type="hidden" name="Itemid" value="102"> 1407 1408 </form> 1409</div> 1410<h3 class="uk-text-large uk-text-muted uk-text-left"> 1411 1412 1413 Prospekte 1414 1415 1416</h3> 1417<div class="uk-margin"> 1418 1419 1420 1421 1422<a class="el-content uk-button uk-button-default" title="Prospektbestellung" aria-label="Hier gehts zur Prospektbestellung" href="https://www.bad-doberan-heiligendamm.de/de/service/prospektbestellung"> 1423 1424 Prospektbestellung 1425 1426</a> 1427 1428 1429 1430 1431 1432</div> 1433 1434 1435 1436 1437 1438</div> 1439 1440</div> 1441<div class="uk-grid tm-grid-expand uk-margin-large" uk-grid> 1442 1443 1444<div class="uk-width-1-3@m"> 1445 1446 1447 1448 1449 1450 1451 1452<h3 class="uk-text-large uk-text-muted uk-text-left"> 1453 1454 1455 Mitgliedschaften 1456 1457 1458</h3><div class="uk-panel uk-margin"><p>Verband Mecklenburgischer Ostseebäder <br> Bäderverband Mecklenburg-Vorpommern<br> Europäische Route der Backsteingotik</p></div> 1459<div class="uk-margin"> 1460 <picture><source type="image/webp" srcset="/media/yootheme/cache/de/logo_neu_vmo-def6d593.webp 260w" sizes="(min-width: 260px) 260px"><img class="el-image" src="/images/logo_neu_vmo.jpg" alt="Ostseeküste Mecklenburg" loading="lazy" width="260" height="81"></picture> 1461 1462</div> 1463 1464 1465 1466 1467</div> 1468<div class="uk-width-1-3@m"> 1469 1470 1471 1472 1473 1474 1475 1476<h3 class="uk-text-large uk-text-muted uk-text-left"> 1477 1478 1479 Ãffnungszeiten 1480 1481 1482</h3><div class="uk-panel uk-margin"><p><strong>April - Oktober</strong></p> 1483<p>MO-FR   10.00 - 16.00 Uhr // SA 10 - 14 Uhr</p> 1484<p><strong>November - März</strong></p> 1485<p>MO-FR     9.00 - 16.00 Uhr</p></div> 1486<h3 class="uk-text-large uk-text-muted uk-text-left"> 1487 1488 1489 Social Media 1490 1491 1492</h3> 1493<div class="uk-margin uk-text-left"> <ul class="uk-child-width-auto uk-grid-medium uk-flex-inline uk-flex-middle" uk-grid> 1494 <li class="el-item"> 1495<a class="el-link uk-icon-link" href="https://www.facebook.com/bad.doberan.heiligendamm.de/" aria-label="linkfacebook" target="_blank"><span uk-icon="icon: facebook;"></span></a></li> 1496 <li class="el-item"> 1497<a class="el-link uk-icon-link" href="https://goo.gl/maps/4SvXwqR1Wt7p6Ka19" aria-label="linkgooglemaps" target="_blank"><span uk-icon="icon: social;"></span></a></li> 1498 <li class="el-item"> 1499<a class="el-link uk-icon-link" href="https://www.instagram.com/baddoberan_heiligendamm/" aria-label="linkinstagram" target="_blank"><span uk-icon="icon: instagram;"></span></a></li> 1500 1501 </ul></div><div class="uk-panel uk-text-small uk-text-muted uk-margin"><p>© Bad Doberan</p></div> 1502 1503 1504 1505 1506</div> 1507<div class="uk-width-1-3@m"> 1508 1509 1510 1511 1512 1513 1514
1515<h3 class="uk-text-large uk-text-muted uk-text-left"> 1516 1517 1518 Links 1519 1520 1521</h3><div class="uk-panel uk-margin"><ul class="uk-list"> 1522<li><a href="https://www.stadt-bad-doberan.de/" aria-label="Zur Startseite von Stadt Bad Doberan">Stadt Bad Doberan</a></li> 1523<li><a href="https://www.bad-doberan-heiligendamm.de/kuesten-guide" aria-label="Zur Seite Der Küsten Guide">Der Küsten Guide</a></li> 1524<li><a href="/gastgeber" aria-label="Zur Gastgeber-Seite">Gastgeber</a></li> 1525<li><a href="/service" aria-label="Zur Service-Seite">Service</a></li> 1526<li><a href="/kontakt" aria-label="Zur Kontakt-Seite">Kontakt</a></li> 1527 <li><a href="/erklaerung-zur-barrierefreiheit" aria-label="Zur Barrierefreiheit-Seite">Barrierefreiheit</a></li> 1528<li><a href="/datenschutz" aria-label="Zur Datenschutzerklärung">Datenschutz</a></li> 1529<li><a href="/impressum" aria-label="Zum Impressum">Impressum</a></li> 1530</ul></div> 1531 1532 1533 1534 1535</div> 1536 1537</div> 1538 </div> 1539 1540 1541 </div> 1542 1543</div> 1544<div class="uk-section-default uk-section uk-section-xsmall"> 1545 1546 1547 1548 1549 1550 <div class="uk-container"> 1551 1552<div class="uk-grid-margin uk-grid tm-grid-expand uk-child-width-1-1"> 1553 1554 1555<div class="uk-width-1-1"> 1556 1557 1558 1559 1560 1561 1562 <div class="uk-panel uk-text-small uk-margin uk-text-center"><p>Ihre Datenschutzeinstellungen</p> 1563<p><a href="#consent-settings">Einstellungen ändern</a><br><br><a href="https://www.vamediagmbh.de" title="Vamedia Deutschland GmbH" target="_blank">Made by Vamedia</a></p> 1564<a href="#" class="scroll-to-top" aria-label="Zur Navigation springen"> 1565 â 1566</a></div> 1567 1568 1569 1570 1571</div> 1572 1573</div> 1574 </div> 1575 1576 1577 1578</div> 1579<div class="uk-section-default uk-preserve-color uk-light uk-position-relative"> 1580 <div class="uk-background-norepeat uk-background-contain uk-background-bottom-center uk-background-fixed uk-section uk-section-large" data-sources="[{"type":"image\/webp","srcset":"\/media\/yootheme\/cache\/a3\/footer_ng-a32ea85d.webp 768w, \/media\/yootheme\/cache\/ce\/footer_ng-cef5ad8b.webp 1024w, \/media\/yootheme\/cache\/ab\/footer_ng-ab88bd4f.webp 1366w, \/media\/yootheme\/cache\/aa\/footer_ng-aa833e41.webp 1600w, \/media\/yootheme\/cache\/d5\/footer_ng-d5b02a12.webp 1920w","sizes":"(min-width: 1920px) 1920px"}]" data-src="/images/Bilder%20Homepage/footer_ng.png" uk-img> 1581 1582 <div class="uk-position-cover" style="background-color: rgba(0, 0, 0, 0.13);"></div> 1583 1584 1585 <div class="uk-position-relative uk-panel"> 1586 1587<div class="uk-grid-margin uk-container uk-container-large"> 1588 <div class="uk-grid tm-grid-expand uk-child-width-1-1"> 1589 1590<div class="uk-width-1-1"> 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602</div> 1603 </div> 1604</div> 1605 </div> 1606 1607 1608 </div> 1609 1610</div> </footer> 1611 1612 </div> 1613 1614 1615 1616<template id="consent-banner"> 1617 <div class="tm-consent uk-position-bottom-center uk-position-fixed uk-position-z-index-high uk-position-medium" style="width: 750px;"> <div class="uk-card uk-card-default uk-card-body"> 1618 1619 <p> Wir verwenden Cookies und ähnliche Technologien, um Ihre Erfahrung auf unserer Website zu verbessern. 1620 Weitere Informationen in unserer <a href="/datenschutz">Datenschutzerklärung</a>. </p> 1621 1622 <div class="uk-child-width-1-1 uk-child-width-auto@s uk-grid-small" uk-grid> <div> 1623 <button type="button" data-consent-button="accept" class="uk-button uk-button-primary uk-width-1-1" data-uk-toggle="target: !.tm-consent; animation: uk-animation-fade;">Akzeptieren</button> 1624 </div> <div> 1625 <button type="button" data-consent-button="reject" class="uk-button uk-button-default uk-width-1-1" data-uk-toggle="target: !.tm-consent; animation: uk-animation-fade;">Ablehnen</button> 1626 </div> <div> 1627 <button type="button" data-consent-button="settings" class="uk-button uk-button-default uk-width-1-1">Einstellungen verwalten</button> 1628 </div> </div> 1629 1630 </div> </div></template> 1631 1632<template id="consent-settings"> 1633 <div class="uk-position-z-index-highest" uk-modal> 1634 <form class="uk-modal-dialog uk-margin-auto-vertical uk-modal-body" style="width: 720px;" aria-label="Cookie-Einstellungen"> 1635 <button class="uk-modal-close-default uk-close-large" type="button" uk-close></button> 1636 1637 1638 <h2 class="uk-modal-title">Cookie-Einstellungen</h2> 1639 1640 <p> Diese Website verwendet Cookies und ähnliche Technologien. Sie sind in Kategorien unterteilt, die Sie unten verwalten können. Ihre Einstellungen zu nicht notwendigen Cookies können Sie jederzeit ändern. 1641 Weitere Informationen finden Sie in unserer <a href="/datenschutz">Datenschutzerklärung</a>. </p> 1642 1643 <div class="uk-gri
1643d-column-small uk-grid-row-medium" uk-grid> 1644 <div class="uk-width-auto "> 1645 1646 <div class="uk-h4"> 1647 <input id="consent-cookies-functional" class="uk-checkbox uk-form-large" type="checkbox" checked disabled> 1648 </div> 1649 1650 </div> 1651 <div class="uk-width-expand"> 1652 1653 1654 <h3 class="uk-h4 uk-margin-remove"> 1655 <label for="consent-cookies-functional">Funktional</label> 1656 </h3> 1657 1658 <p class="uk-margin-small-top uk-margin-remove-bottom">Diese Technologien sind erforderlich, um die grundlegenden Funktionen unserer Website zu gewährleisten.</p> 1659 1660 1661 </div> 1662 </div> 1663 <div class="uk-grid-column-small uk-grid-row-medium" uk-grid> 1664 <div class="uk-width-auto "> 1665 1666 <div class="uk-h4"> 1667 <input id="consent-cookies-statistics" class="uk-checkbox uk-form-large" type="checkbox" name="statistics"> 1668 </div> 1669 1670 </div> 1671 <div class="uk-width-expand"> 1672 1673 1674 <h3 class="uk-h4 uk-margin-remove"> 1675 <label for="consent-cookies-statistics">Statistik</label> 1676 </h3> 1677 1678 <p class="uk-margin-small-top uk-margin-remove-bottom">Diese Technologien ermöglichen es uns, die Nutzung unserer Website zu analysieren, um die Leistung zu messen und zu verbessern.</p> 1679 1680 1681 <ul class="uk-list tm-toggle uk-margin-small-top "> 1682 <li class="uk-text-emphasis"> 1683 <input id="consent-cookies-Trackboxx" class="uk-checkbox uk-margin-xsmall-right" type="checkbox" name="statistics.Trackboxx"> 1684 <label for="consent-cookies-Trackboxx">Trackboxx</label> 1685 </li> 1686 </ul> 1687 1688 1689 1690 </div> 1691 </div> 1692 1693 1694 1695 <div class="uk-margin-medium-top uk-child-width-1-1 uk-child-width-auto@s uk-grid-small" uk-grid> <div> 1696 <button type="button" data-consent-button="accept" class="uk-button uk-button-default uk-width-1-1 uk-modal-close">Alle akzeptieren</button> 1697 </div> <div> 1698 <button type="button" data-consent-button="reject" class="uk-button uk-button-default uk-width-1-1 uk-modal-close">Alle ablehnen</button> 1699 </div> <div class="uk-margin-auto-left@s"> 1700 <button type="submit" data-consent-button="save" class="uk-button uk-button-primary uk-width-1-1 uk-modal-close">Speichern</button> 1701 </div> </div> 1702 1703 </form> </div> 1704</template> 1705 1706 1707 1708
1708<script> 1709(function(c,d){"JUri"in d||(d.JUri="https://www.bad-doberan-heiligendamm.de/");c.addEventListener("click",function(a){var b=a.target?a.target.closest('[class*="ba-click-lightbox-form-"], [href*="ba-click-lightbox-form-"]'):null;if(b){a.preventDefault();if("pending"==b.clicked)return!1;b.clicked="pending";"formsAppClk"in window?formsAppClk.click(b):(a=document.createElement("script"),a.src=JUri+"components/com_baforms/assets/js/click-trigger.js",a.onload=function(){formsAppClk.click(b)}, 1710c.head.append(a))}})})(document,window); 1711</script>
1711 1712</body> 1713</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.