1<!DOCTYPE html> 2<html lang="de" class="no-js galerie2018 museum8 menu23 digital2020 menu2019 look23 logos23"> 3<head><meta charset="utf-8" /> 4<meta http-equiv="imagetoolbar" content="no" /> 5<meta http-equiv="content-language" content="de" /> 6<meta property="og:locale" content="de_DE" /> 7<link rel="manifest" href="/upload/fav/11_manifest.json?t=1745850040" /> 8<link rel="shortcut icon" href="/upload/fav/11_favicon.ico?t=1745850040" /> 9<link rel="apple-touch-icon" sizes="180x180" href="/upload/fav/11_apple-touch-icon.png?t=1745850040" /> 10<link rel="icon" sizes="16x16" type="image/png" href="/upload/fav/11_favicon-16x16.png?t=1745850040" /> 11<link rel="icon" sizes="32x32" type="image/png" href="/upload/fav/11_favicon-32x32.png?t=1745850040" /> 12<meta name="Content-Language" content="de" /> 13<meta name="Generator" content="gradwerk CMS 6 - www.gradwerk.de" /> 14<meta name="Publisher" content="Kulturstiftung Hansestadt Lübeck" /> 15<meta name="Revisit-after" content="14 days" /> 16<meta name="Robots" content="INDEX,FOLLOW" /> 17<meta name="apple-mobile-web-app-title" content="GGH"> 18<meta name="google-site-verification" content="65gO0MCKAocBWHYsynptvzvBhCLZq9hPoWXHgrqnXTM" /> 19 20<link rel="canonical" href="https://grass-haus.de/de/shop" /> 21<meta property="og:url" content="https://grass-haus.de/de/shop" />
22<script>(function(){if(window.__gcms_scerr)return;window.__gcms_scerr=1;var S={},T=[],U="/gcms6/jserr.php";function idf(f){if(!f)return 0;f=String(f);var m=f.match(/[?&]JS=(\d+)/)||f.match(/\/js_(\d+)_/);return m?+m[1]:0;}function send(id,msg,line){if(!id||!msg)return;var now=Date.now();T=T.filter(function(t){return now-t<6e4});if(T.length>=8)return;var k=id+"|"+msg;if(S[k]&&now-S[k]<3e5)return;S[k]=now;T.push(now);try{var p=new URLSearchParams();p.set("id",String(id));p.set("msg",String(msg).slice(0,220));p.set("line",String(line||""));if(navigator.sendBeacon)navigator.sendBeacon(U,p);else{var x=new XMLHttpRequest();x.open("POST",U,true);x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");x.send(p.toString());}}catch(e){}}window.addEventListener("error",function(e){send(idf(e.filename||""),e.message||"",e.lineno||"");});window.addEventListener("unhandledrejection",function(e){var r=e.reason||{},st=r.stack||"";send(idf(st),r.message||String(r),"");});})();</script>
22 23<link rel="preload" href="/gcms6/default-min.css?v=260828" as="style" /><link href="/gcms6/default-min.css?v=260828" rel="stylesheet" /> 24<link rel="preload" href="/gcms6/gcms_ai_label.css?v=20260731c" as="style" /><link href="/gcms6/gcms_ai_label.css?v=20260731c" rel="stylesheet" /> 25<link rel="preload" href="/gcms6/gcms_cookie_v2.css?v=20260914a" as="style" /><link href="/gcms6/gcms_cookie_v2.css?v=20260914a" rel="stylesheet" /> 26<link rel="preload" href="/gcms6/cms_helper260310_pb.js?v=1790694555" as="script" /> 27<link rel="preload" href="/data/css/css_1253_owlcss_1589189580.css" as="style" /> 28<link rel="preload" href="/data/css/css_52_editorcss_1772624050.css" as="style" /> 29<link rel="preload" href="/data/css/css_53_layoutcss_1790157435.css" as="style" /> 30<link rel="preload" href="/data/css/css_21402_look23css_1762953082.css" as="style" /> 31<link rel="preload" href="/data/js/js_1252_owljs_1472814347.js" as="script" /> 32<link rel="preload" href="/data/js/js_55_functionsjs_1790157281.js" as="script" /> 33<link rel="preload" href="/data/css/css_65_flexslidercss_1585644402.css" as="style" /> 34<link rel="stylesheet" type="text/css" media="all" href="/data/css/css_65_flexslidercss_1585644402.css" /> 35<link rel="preload" href="/data/css/css_23407_slickcss_1693916113.css" as="style" /> 36<link rel="stylesheet" type="text/css" media="all" href="/data/css/css_23407_slickcss_1693916113.css" /> 37<link rel="preload" href="/data/js/js_21780_calenderbtnjs_1693993393.js" as="script" /> 38<link rel="preload" href="/data/js/js_66_flexsliderjs_1693560072.js" as="script" /> 39<link rel="preload" href="/data/js/js_14349_ybjs_1680002204.js" as="script" /> 40<link rel="preload" href="/data/js/js_23406_slickjs_1693812765.js" as="script" /> 41<link rel="preload" href="/data/js/js_75_salvattoreminjs_1469170109.js" as="script" /> 42<meta name="twitter:card" content="summary_large_image"> 43<meta property="og:title" content="Shop - Günter Grass-Haus - Die Lübecker Museen" /> 44<meta property="og:image" content="https://grass-haus.de/upload/img/se-header2.webp?w=1200" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="593" /> 45<meta property="og:image" content="https://grass-haus.de/upload/img/ggh-023-2007.jpg?w=1200" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="800" /> 46<meta property="og:image" content="https://grass-haus.de/upload/img/kuss-aus-luebeck.jpg" /><meta property="og:image:width" content="830" /><meta property="og:image:height" content="827" /> 47<meta property="og:image" content="https://grass-haus.de/upload/img/schmuck_kette-butt.jpg?w=1200" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="866" /> 48<meta property="og:image" content="https://grass-haus.de/upload/img/letzte-taenze-vz-graphik-001_zugeschnitten2.jpg?w=1200" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="835" /> 49<meta property="og:image" content="https://grass-haus.de/upload/img/schreibers-hand_zugeschnitten.jpg?w=1200" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="855" /> 50<meta property="og:image" content="https://grass-haus.de/upload/img/lesezeichen1.jpg?w=1200" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="847" /> 51 52 <meta name="viewport" content="width=device-width,initial-scale=1.0" /> 53 <meta charset="UTF-8"> 54 <title>Shop - Günter Grass-Haus - Die Lübecker Museen</title> 55 56 <link rel="stylesheet" type="text/css" media="screen" href="/data/css/css_1253_owlcss_1589189580.css" /> 57 <link rel="stylesheet" type="text/css" media="all" href="/data/css/css_52_editorcss_1772624050.css" /> 58 <link rel="stylesheet" type="text/css" media="all" href="/data/css/css_53_layoutcss_1790157435.css" /> 59 <link rel="stylesheet" type="text/css" media="all" href="/data/css/css_21402_look23css_1762953082.css" /> 60 <meta name="theme-color" content="#4b645f"> 61</head> 62<body>
63<script>var _CMS_REF = "";</script>
63 64 65 66<style>body.gcms_cookie_modal_active::before{content:"";position:fixed;inset:0;z-index:111111110;background:rgba(15,23,42,0.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}</style> 67 68<div id="gcms_cookie_manager" 69 class="gcms_cookie_v2 gcms_cookie_manager_bottom gcms_cookie_modal" 70 style="display:block;position:fixed;z-index:111111111;box-sizing:border-box;bottom:0;left:0;right:0;width:100%;max-height:90vh;max-height:90dvh" 71 role="dialog" 72 tabindex="-1" 73 aria-modal="true" 74 aria-labelledby="gcms_cookie_einleitung_headline" 75 aria-describedby="gcms_cookie_einleitung_desc"> 76 <div id="gcms_cookie_main" tabindex="-1"> 77 <div class="gcms_cookie_einleitung"> 78 <div id="gcms_cookie_tblock"> 79 <div id="gcms_cookie_tblock1"> 80 <h2 id="gcms_cookie_einleitung_headline">Unsere Webseite verwendet Cookies</h2> 81 <p id="gcms_cookie_einleitung_desc"> Sie geben Ihre Einwilligung zu unseren Cookies, wenn Sie diesen Hinweis mit Klick auf einen Akzeptieren-Button wieder ausblenden. Hier finden Sie unsere <a href="/datenschutz">Datenschutzerklärung</a> und unser <a href="/impressum">Impressum</a>. Ihre Einwilligung ist freiwillig und kann jederzeit mit Wirkung für die Zukunft in der <a href="/cookie-erklaerung">Cookie-Erklärung</a> widerrufen werden.</p> 82 <div id="gcms_cookie_leiste"> 83 <div id="gcms_cookie_checks"> 84 <label class="gcms_cookie_checkbox_container"> 85 <p class="gcms_cookie_checkbox_text">Notwendig</p> 86 <input type="checkbox" checked="checked" disabled="disabled"> 87 <span class="gcms_cookie_checkbox_checkmark"></span> 88 </label> 89 <label class="gcms_cookie_checkbox_container"> 90 <p class="gcms_cookie_checkbox_text">Präferenzen</p> 91 <input type="checkbox" id="gcms_cookie_kat1_check"> 92 <span class="gcms_cookie_checkbox_checkmark"></span> 93 </label> 94 <label class="gcms_cookie_checkbox_container"> 95 <p class="gcms_cookie_checkbox_text">Statistiken</p> 96 <input type="checkbox" id="gcms_cookie_kat2_check"> 97 <span class="gcms_cookie_checkbox_checkmark"></span> 98 </label> 99 <label class="gcms_cookie_checkbox_container"> 100 <p class="gcms_cookie_checkbox_text">Marketing</p> 101 <input type="checkbox" id="gcms_cookie_kat3_check"> 102 <span class="gcms_cookie_checkbox_checkmark"></span> 103 </label> 104 </div> 105 </div> 106 <div id="gcms_cookie_toogle"> 107 <a href="javascript:;" onclick="_CMS_toogle_details()" id="gcms_cookie_toogler" role="button" aria-expanded="false" aria-controls="gcms_cookie_details">Cookie-Details einblenden</a> 108 </div> 109 </div> 110 <div id="gcms_cookie_tblock2"> 111 <div class="cookie_buttons"> 112 <div class="cookie_buttons_auswahl"> 113 <button type="button" onclick="_CMS_save_cookie_einstellung_all(0)" id="gcms_cookie_ok">Alle Cookies akzeptieren</button> 114 <button type="button" onclick="_CMS_save_cookie_einstellung(0)" id="gcms_cookie_auswahl">Auswahl bestätigen und speichern</button> 115 <button type="button" onclick="_CMS_save_cookie_einstellung_none(1)" id="gcms_cookie_deny">Alle Cookies ablehnen</button> 116 </div> 117 </div> 118 </div> 119 </div> 120 </div> 121 122 <div id="gcms_cookie_details" style="display:none;"> 123 <button class="gcms_cookie_accordion" id="gcms_cookie_set_req" role="tab" type="button" aria-expanded="false"> 124 <strong>Notwendig (4)</strong> 125 <p>Notwendige Cookies helfen dabei, eine Webseite nutzbar zu machen, indem sie Grundfunktionen wie Seitennavigation und Zugriff auf sichere Bereiche der Webseite ermöglichen. Ohne diese Cookies können wichtige Funktionen nicht bereitgestellt werden und möglicherweise wird der Zugriff auf bestimmte Bereiche verweigert.</p> 126 </button> 127 <div class="gcms_cookie_panel" role="tabpanel" aria-labelledby="gcms_cookie_set_req"> 128 <div class="gcms_cookie_name">cms_cookie</div> 129 <table class="gcms_cookie_table"><tbody> 130 <tr><td>Anbieter</td><td>gradwerk</td></tr> 131 <tr><td>Zweck</td><td>Speichert den Zustimmungsstatus des Benutzers für Cookies bei der aktuellen Domainadresse. Wird der Cookie-Hinweis vom Browser oder einer Browser-Erweiterung ausgeblendet, wird hier zusätzlich vermerkt, dass keine Einwilligung eingeholt werden konnte.</td></tr> 132 <tr><td>Ablauf</td><td>1 Jahr</td></tr> 133 <tr><td>Typ</td><td>HTTP</td></tr> 134 </tbody></table> 135 <div class="gcms_cookie_name">Nachricht</div> 136 <table class="gcms_cookie_table"><tbody> 137 <tr><td>Anbieter</td><td>gradwerk</td></tr> 138 <tr><td>Zweck</td><td>Speichert, ob die Hinweisleiste, die wir für wichtige Ankündigungen auf der Website nutzen, bereits angeklickt worden ist oder nicht.</td></tr> 139 <tr><td>Ablauf</td><td>1 Jahr</td></tr> 140 <tr><td>Typ</td><td>HTTP</td></tr> 141 </tbody></table> 142 <div class="gcms_cookie_name">filter_*</div> 143 <table class="gcms_cookie_table"><tbody> 144 <tr><td>Anbieter</td><td>gradwerk</td></tr> 145 <tr><td>Zweck</td><td>Speicherung der Angebote Filter</td></tr> 146 <tr><td>Ablauf</td><td>30 Tage</td></tr> 147 <tr><td>Typ</td><td>HTTP</td></tr> 148 </tbody></table> 149 <div class="gcms_cookie_name">
149hub_list</div> 150 <table class="gcms_cookie_table"><tbody> 151 <tr><td>Anbieter</td><td>gradwerk</td></tr> 152 <tr><td>Zweck</td><td>Speichert durch den User gemerkte Angebote</td></tr> 153 <tr><td>Ablauf</td><td>1 Jahr</td></tr> 154 <tr><td>Typ</td><td>HTTP</td></tr> 155 </tbody></table> 156 </div> 157 <button class="gcms_cookie_accordion" id="gcms_cookie_set_pref" role="tab" type="button" aria-expanded="false"> 158 <strong>Präferenzen (2)</strong> 159 <p>Präferenz-Cookies ermöglichen einer Webseite sich an Informationen zu erinnern, welche die Art beeinflussen, wie sich eine Webseite verhält oder aussieht.</p> 160 </button> 161 <div class="gcms_cookie_panel" role="tabpanel" aria-labelledby="gcms_cookie_set_pref"> 162 <div class="gcms_cookie_name">player</div> 163 <table class="gcms_cookie_table"><tbody> 164 <tr><td>Anbieter</td><td>Vimeo</td></tr> 165 <tr><td>Zweck</td><td>Speichert die Voreinstellungen des Benutzers beim Abspielen eingebetteter Videos von Vimeo. Ermöglicht die korrekte Funktionalität dieser Videos.</td></tr> 166 <tr><td>Ablauf</td><td>1 Jahr</td></tr> 167 <tr><td>Typ</td><td>HTTP</td></tr> 168 </tbody></table> 169 <div class="gcms_cookie_name">umfrage</div> 170 <table class="gcms_cookie_table"><tbody> 171 <tr><td>Anbieter</td><td>gradwerk</td></tr> 172 <tr><td>Zweck</td><td>Speichert, ob man bereits an der Umfrage teilgenommen hat.</td></tr> 173 <tr><td>Ablauf</td><td>2 Monate</td></tr> 174 <tr><td>Typ</td><td>HTTP</td></tr> 175 </tbody></table> 176 </div> 177 <button class="gcms_cookie_accordion" id="gcms_cookie_set_stat" role="tab" type="button" aria-expanded="false"> 178 <strong>Statistiken (2)</strong> 179 <p>Statistik-Cookies helfen uns zu verstehen, wie unsere Besucher mit Webseiten interagieren, indem hierzu Informationen anonymisiert gesammelt werden.</p> 180 </button> 181 <div class="gcms_cookie_panel" role="tabpanel" aria-labelledby="gcms_cookie_set_stat"> 182 <div class="gcms_cookie_name">cms_stat</div> 183 <table class="gcms_cookie_table"><tbody> 184 <tr><td>Anbieter</td><td>gradwerk</td></tr> 185 <tr><td>Zweck</td><td>Speichert den Zugriff des Benutzers für die Wiedererkennung (eindeutiger Besucher).</td></tr> 186 <tr><td>Ablauf</td><td>3 Jahre</td></tr> 187 <tr><td>Typ</td><td>HTTP</td></tr> 188 </tbody></table> 189 <div class="gcms_cookie_name">cms_statr</div> 190 <table class="gcms_cookie_table"><tbody> 191 <tr><td>Anbieter</td><td>gradwerk</td></tr> 192 <tr><td>Zweck</td><td>Speichert den Referer, also die übergebende Website von der die Nutzer kommen und die erste Seite (Bereichs-, Seiten- und Sprach-ID, Zeitpunkt).</td></tr> 193 <tr><td>Ablauf</td><td>Session</td></tr> 194 <tr><td>Typ</td><td>HTTP</td></tr> 195 </tbody></table> 196 </div> 197 <button class="gcms_cookie_accordion" id="gcms_cookie_set_market" role="tab" type="button" aria-expanded="false"> 198 <strong>Marketing (2)</strong> 199 <p>Marketing-Cookies werden verwendet, um Besuchern auf unserer Webseite zu folgen. Das Ziel ist, zum Beispiel Anzeigen zu zeigen, die für Sie auch wirklich relevant und ansprechend und daher wertvoller für werbetreibende Partner sind.</p> 200 </button> 201 <div class="gcms_cookie_panel" role="tabpanel" aria-labelledby="gcms_cookie_set_market"> 202 <div class="gcms_cookie_name">vuid</div> 203 <table class="gcms_cookie_table"><tbody> 204 <tr><td>Anbieter</td><td>Vimeo</td></tr> 205 <tr><td>Zweck</td><td>Sammelt Daten von Nutzern zu ihrem Besuch und der abgerufenen Seiten.</td></tr> 206 <tr><td>Ablauf</td><td>2 Jahre</td></tr> 207 <tr><td>Typ</td><td>HTTP</td></tr> 208 </tbody></table> 209 <div class="gcms_cookie_name">PREF</div> 210 <table class="gcms_cookie_table"><tbody> 211 <tr><td>Anbieter</td><td>YouTube<br /> 212Google</td></tr> 213 <tr><td>Zweck</td><td>Registriert eine eindeutige ID, die von Google verwendet wird, um Statistiken dazu, wie der Besucher YouTube-Videos auf verschiedenen Websites nutzt, zu behalten.</td></tr> 214 <tr><td>Ablauf</td><td>8 Monate</td></tr> 215 <tr><td>Typ</td><td>HTTP</td></tr> 216 </tbody></table> 217 </div> 218 219 <div id="gcms_cookie_main_2" class="gcms_cookie_maintabcontent"> 220 <div class="gcms_cookie_text"> 221 <p>
221Cookies sind auf Ihrem Gerät gespeicherte Textdateien, die von Webseiten verwendet werden, um die Benutzererfahrung effizienter und vor allem optimaler zu gestalten.<br> 222 Uns ist es erlaubt Cookies auf Ihrem Gerät speichern, wenn diese für den Betrieb dieser Webseite unbedingt notwendig sind. Für alle anderen Cookie-Typen benötigen wir Ihre Erlaubnis. Da Persönlichkeitsrechte für uns wichtig sind, bitten wir Sie hiermit um Ihre Erlaubnis.</p> 223 </div> 224 </div> 225 </div> 226 </div> 227</div> 228
229<script> 230/* Banner sofort am Viewport â nicht auf window.load warten (Bilder/Embeds). 231 * WICHTIG: Der Manager muss DIREKTES Kind von <body> bleiben. 232 * Manche Themes/Plugins (z. B. jPanelMenu) wickeln nach dem Laden alle 233 * Body-Kinder in einen transformierten Wrapper. Ein transformierter Vorfahre 234 * macht position:fixed relativ zu diesem Wrapper statt zum Viewport â das 235 * Banner landet dann am Scroll-Ende. Daher hängen wir es per MutationObserver 236 * immer wieder zurück an <body>, falls es verschoben wurde. */ 237(function () { 238 var pos = "bottom"; 239 var modal = true; 240 241 function detach() { 242 /* zweite ID: nach _CMS_cookie_unblock() (Filter-Umgehung beim 243 * Oeffnen der Einstellungen) traegt der Dialog eine andere ID */ 244 var mgr = document.getElementById('gcms_cookie_manager') 245 || document.getElementById('gcms_einwilligung_dialog'); 246 if (mgr && document.body && mgr.parentNode !== document.body) { 247 document.body.appendChild(mgr); 248 } 249 } 250 window._CMS_cookie_detach = detach; 251 252 detach(); 253 document.documentElement.classList.add('gcms_cookie_scroll_lock'); 254 document.body.classList.add('gcms_cookie_scroll_lock', 'gcms_cookie_open', 'gcms_cookie_body_v2_' + pos); 255 if (modal) { 256 document.body.classList.add('gcms_cookie_modal_active'); 257 } 258 window.scrollTo(0, 0); 259 260 /* Spätere Wrapper-Plugins abfangen: bei jeder Ãnderung an body wieder ausklinken. 261 * Referenz global, damit _CMS_hide_cookie_einstellung den Observer beim 262 * SchlieÃen stoppen kann. */ 263 if (window.MutationObserver) { 264 var mo = new MutationObserver(function () { detach(); }); 265 try { mo.observe(document.body, { childList: true }); window._CMS_cookieObserver = mo; } catch (e) { /* still */ } 266 } 267 /* Belt-and-suspenders für Plugins ohne sofortige DOM-Mutation */ 268 if (window.addEventListener) { 269 window.addEventListener('load', detach, false); 270 document.addEventListener('DOMContentLoaded', detach, false); 271 setTimeout(detach, 300); 272 setTimeout(detach, 1000); 273 } 274})(); 275</script>
275 276
277<script> 278window.GCMS_COOKIE_ERKL_LABELS = {"prefix":"Ihr aktueller Zustand: ","none":"Nur notwendige Cookies verwenden","pref":"Präferenzen","stat":"Statistiken","market":"Marketing","widerruf":" \u003Cspan class=\u0022gcms_cookie_trenner\u0022\u003E|\u003C\/span\u003E \u003Ca href=\u0022javascript:;\u0022 onclick=\u0022_CMS_cookie_widerruf()\u0022\u003EEinwilligung widerrufen\u003C\/a\u003E"}; 279/* =========================================================================== 280 * GCMS Cookie Manager v2 â Banner-Steuerung (Browser-Code) 281 * Speichert/aktualisiert die Auswahl ohne Seiten-Reload (wenn cookie_no_reload=1) 282 * und feuert ein DOM-Event `gcms:consent:granted` mit den Kategorien als Detail. 283 * Externe Inhalte (siehe Helper-JS) lauschen darauf und werden eingeblendet. 284 * ========================================================================= */ 285(function () { 286 var _COOKIE_UNLOAD = false; 287 var _COOKIE_SAVED = false; 288 var _COOKIE_LASTTAB = "gcms_cookie_deny"; 289 var _CMS_savedScrollY = 0; 290 var _COOKIE_POSITION = "bottom"; 291 var _MODAL_ACTIVE = true; 292 var _NO_RELOAD = true; 293 /* Für den Blocker-Merker im Watchdog (siehe _CMS_cookie_mark_blocked) */ 294 var _COOKIE_DOMAIN = ".grass-haus.de"; 295 var _COOKIE_SAMESITE = "Lax"; 296 var _COOKIE_DECIDED = false;
297 var _CURRENT_SPID = 0; 298 var _CURRENT_SEID = 483; 299 300 /* Dialog-Element. Normalerweise #gcms_cookie_manager; nach 301 * _CMS_cookie_unblock() (siehe dort) traegt es die zweite ID. */ 302 var _MGR_ID = "gcms_cookie_manager"; 303 var _MGR_ALT_ID = "gcms_einwilligung_dialog"; 304 function _CMS_mgr() { 305 return document.getElementById(_MGR_ID) || document.getElementById(_MGR_ALT_ID); 306 } 307 308 /* --- Filter-Umgehung beim AUSDRUECKLICHEN Oeffnen der Einstellungen ---- 309 * EasyList Cookie fuehrt die generische Regel "###gcms_cookie_manager" 310 * (in Brave per Default aktiv, ebenso in uBlock/AdGuard mit Cookie- 311 * Liste). Sie setzt display:none !important - ein inline display:block 312 * verliert dagegen. Fuer den Erstaufruf-Banner ist das gewollt (Fail- 313 * Open-Watchdog, siehe unten): Wer Banner blockt, bekommt keinen. Klickt 314 * der Besucher aber selbst auf "Cookie-Einstellungen" (Platzhalter, 315 * Cookie-Erklaerung), will er den Dialog sehen - sonst gaebe es in 316 * diesen Browsern keinen Weg mehr zur Einwilligung. 317 * Vorgehen, nur wenn der Dialog trotz display:block unsichtbar bleibt: 318 * 1. ID auf _MGR_ALT_ID wechseln - die Filterregel greift nur ueber 319 * die ID, alles andere (Klassen, Inline-Styles) bleibt. 320 * 2. Alle CSS-Regeln, die #gcms_cookie_manager im Selektor fuehren, 321 * aus den (gleich-origin) Stylesheets kopieren und mit der neuen 322 * ID in ein <style> haengen - Spezifitaet bleibt identisch (ID -> 323 * ID), das Design steht wie zuvor. @media/@supports werden mit 324 * ihrer Bedingung uebernommen. Cross-Origin-Stylesheets werfen bei 325 * cssRules und werden uebersprungen. 326 * Bleibt der Dialog danach weiterhin unsichtbar (z. B. prozedurale 327 * Regel), gibt der Watchdog die Seite wie bisher frei. */ 328 function _CMS_cookie_unblock(mgr) { 329 if (!mgr || mgr.id === _MGR_ALT_ID) return; 330 var alt = _MGR_ALT_ID, hit = "#" + _MGR_ID, out = []; 331 function sammle(rules) { 332 if (!rules) return; 333 for (var i = 0; i < rules.length; i++) { 334 var r = rules[i]; 335 if (r.cssRules && r.cssRules.length) { 336 var inner = []; 337 for (var k = 0; k < r.cssRules.length; k++) { 338 var ir = r.cssRules[k]; 339 if (ir.selectorText && ir.selectorText.indexOf(hit) !== -1) inner.push(ir.cssText); 340 } 341 if (inner.length) { 342 var prelude = r.cssText.substring(0, r.cssText.indexOf("{")); 343 out.push(prelude + "{" + inner.join("\n") + "}"); 344 } 345 } else if (r.selectorText && r.selectorText.indexOf(hit) !== -1) { 346 out.push(r.cssText); 347 } 348 } 349 } 350 try { 351 for (var s = 0; s < document.styleSheets.length; s++) { 352 try { sammle(document.styleSheets[s].cssRules); } catch (e) { /* cross-origin */ } 353 } 354 } catch (e) { /* still */ } 355 mgr.id = alt; 356 if (out.length && !document.getElementById("gcms_cookie_unblock_css")) { 357 var st = document.createElement("style"); 358 st.id = "gcms_cookie_unblock_css"; 359 st.textContent = out.join("\n").split(hit).join("#" + alt); 360 (document.head || document.documentElement).appendChild(st); 361 } 362 try { mgr.style.setProperty("display", "block", "important"); } catch (e) { mgr.style.display = "block"; } 363 } 364 365 function _CMS_getCookie(cname) { 366 var name = cname + "="; 367 var ca = decodeURIComponent(document.cookie).split(';'); 368 for (var i = 0; i < ca.length; i++) { 369 var c = ca[i].trim(); 370 if (c.indexOf(name) === 0) return c.substring(name.length); 371 } 372 return ""; 373 } 374 375 /** Cookie-Erklärungsseite: âIhr aktueller Zustandâ ohne Reload aktualisieren */ 376 function _CMS_update_cookie_erkl_zustand(pref, stat, market) { 377 var el = document.getElementById('gcms_cookie_erkl_zustand');
378 var L = window.GCMS_COOKIE_ERKL_LABELS; 379 if (!el || !L) return; 380 381 if (typeof pref === 'undefined') { 382 pref = stat = market = false; 383 var raw = _CMS_getCookie('cms_cookie'); 384 if (raw && raw !== '1') { 385 try { 386 var j = JSON.parse(raw); 387 pref = !!j.pref; 388 stat = !!j.stat; 389 market = !!j.market; 390 } catch (e) { /* ignore */ } 391 } 392 } 393 394 var refs = []; 395 if (pref) refs.push(L.pref); 396 if (stat) refs.push(L.stat); 397 if (market) refs.push(L.market); 398 el.textContent = L.prefix + (refs.length ? ' (' + refs.join(', ') + ')' : L.none); 399 400 var links = document.getElementById('gcms_cookie_erkl_links'); 401 if (!links || !L.widerruf) return; 402 var widerrufLink = links.querySelector('a[onclick*="_CMS_cookie_widerruf"]'); 403 if (refs.length && !widerrufLink) { 404 links.insertAdjacentHTML('beforeend', L.widerruf); 405 } else if (!refs.length && widerrufLink) { 406 var trenner = links.querySelector('.gcms_cookie_trenner'); 407 if (trenner) trenner.remove(); 408 widerrufLink.remove(); 409 } 410 } 411 window._CMS_update_cookie_erkl_zustand = _CMS_update_cookie_erkl_zustand; 412 413 function _CMS_focusCookieMain() { 414 /* Fokus auf den Dialog selbst (role=dialog + aria-labelledby/-describedby): 415 * Screenreader kündigen Rolle + Titel + Beschreibung an. */ 416 var d = _CMS_mgr() 417 || document.getElementById("gcms_cookie_main"); 418 if (!d || !d.focus) return; 419 try { 420 d.focus({ preventScroll: true }); 421 } catch (e) { 422 d.focus(); 423 } 424 } 425 426 /** Seite oben halten â kein Sprung zum Banner durch Fokus/Layout */ 427 function _CMS_lockPageScroll() { 428 _CMS_savedScrollY = window.pageYOffset || document.documentElement.scrollTop || 0; 429 window.scrollTo(0, 0); 430 document.documentElement.classList.add("gcms_cookie_scroll_lock"); 431 document.body.classList.add("gcms_cookie_scroll_lock"); 432 } 433 434 function _CMS_unlockPageScroll() { 435 document.documentElement.classList.remove("gcms_cookie_scroll_lock"); 436 document.body.classList.remove("gcms_cookie_scroll_lock"); 437 if (_CMS_savedScrollY) { 438 window.scrollTo(0, _CMS_savedScrollY); 439 _CMS_savedScrollY = 0; 440 } 441 } 442 443 /* --- Fail-Open-Watchdog (Adblocker, v. a. Brave) ------------------------- 444 * EasyList-Cookie enthält die GENERISCHE, domainunabhängige Regel 445 * "###gcms_cookie_manager" (easylist_cookie_general_hide.txt). Brave hat 446 * diese Liste seit 1.45 per Default aktiv und blendet den Banner kurz nach 447 * dem ersten Rendern per display:none aus. Blende und Scroll-Sperre hängen 448 * dagegen an <body> und blieben dadurch stehen: Die Seite war komplett 449 * blockiert, zu sehen war nur noch die unscharfe Blende. 450 * Der Watchdog prüft daher wiederholt, ob der Banner tatsächlich sichtbar 451 * ist, und gibt die Seite andernfalls wieder frei. Dabei wird KEINE 452 * Einwilligung gespeichert - ohne Klick bleibt es beim gesetzlichen 453 * Standard (nur notwendige Cookies). 454 * Timer statt MutationObserver: Brave hängt sein Stylesheet nicht ins DOM, 455 * es gibt also keine Mutation zu beobachten. 456 * 457 * Zusätzlich, unabhängig von der Filterliste: Brave räumt generische 458 * Regeln immer wieder aus (Cookiecrumbler). Dann bleibt der Banner 459 * sichtbar, weil kein display:none mehr gesetzt wird. navigator.brave 460 * gibt es nur in Brave; isBrave() blendet den Erstaufruf-Banner dann 461 * selbst aus. Nicht, wenn schon eine Entscheidung im Cookie steht - 462 * sonst lieÃe sich die Cookie-Erklärung in Brave nicht mehr öffnen. */ 463 var _WATCHDOG_TIMERS = []; 464 var _WATCHDOG_BOUND = false; 465 466 /* Rückgabe: "" = sichtbar, sonst der Grund. "css"/"gone" sind eindeutige 467 * Blocker-Signale, "size" kann auch ein Layout-Artefakt sein - danach wird 468 * die Seite zwar freigegeben, aber KEIN Merker gesetzt. */ 469 function _CMS_banner_hidden() { 470 var mgr = _CMS_mgr(); 471 if (!mgr || !mgr.parentNode) return "gone"; 472 /* Vom eigenen Code geschlossen bzw. gerade am Zuklappen: kein Blocker */ 473 if (mgr.style.display === "none") return ""; 474 if (mgr.classList.contains("gcms_cookie_closing")) return ""; 475 if (window.getComputedStyle) { 476 var cs = window.getComputedStyle(mgr); 477 if (cs.display === "none" || cs.visibility === "hidden") return "css"; 478 } 479 var r = mgr.getBoundingClientRect(); 480 if (r.width === 0 && r.height === 0) return "size"; 481 return ""; 482 } 483 484 /* Merker gegen das Aufblitzen bei jedem Seitenwechsel: Ohne ihn liefert der 485 * Server das Banner erneut aus und Brave versteckt es erneut erst nach dem
486 * Rendern - sichtbar als kurzes Flackern auf JEDER Folgeseite. 487 * Kein eigenes Cookie, sondern der vorhandene Konsens-Cookie cms_cookie: 488 * Page_pb.php setzt setcookiemanager nur bei fehlendem Cookie oder exakt 489 * dem Wert "1". Steht dort gültiges JSON, wird das Banner-Markup gar nicht 490 * erst erzeugt - damit gibt es nichts mehr, was flackern könnte. 491 * Bewusst als SESSION-Cookie (kein expires): Schaltet der Besucher seine 492 * Shields später ab, fragt die Seite nach dem Browser-Neustart wieder. 493 * "blocked" unterscheidet den Fall später von einer echten Ablehnung, 494 * "tset" muss gesetzt sein, sonst läuft die cookie_neu_datum-Prüfung in 495 * Page_pb.php in eine PHP-Warning. */ 496 function _CMS_cookie_mark_blocked() { 497 try { 498 var wert = JSON.stringify({ 499 pref: false, stat: false, market: false, 500 blocked: 1, 501 tset: Math.floor(new Date().getTime() / 1000) 502 }); 503 var c = "cms_cookie=" + encodeURIComponent(wert) + ";path=/"; 504 if (_COOKIE_DOMAIN) c += ";domain=" + _COOKIE_DOMAIN; 505 if (_COOKIE_SAMESITE) c += ";SameSite=" + _COOKIE_SAMESITE; 506 if (location.protocol === "https:") c += ";Secure"; 507 document.cookie = c; 508 } catch (e) { /* still */ } 509 } 510 511 function _CMS_cookie_failopen(grund) { 512 _CMS_cookie_watchdog_stop(); 513 if (window._CMS_cookieObserver) { 514 try { window._CMS_cookieObserver.disconnect(); } catch (e) { /* still */ } 515 window._CMS_cookieObserver = null; 516 } 517 document.body.classList.remove("gcms_cookie_open", "gcms_cookie_modal_active"); 518 _CMS_unlockPageScroll(); 519 520 /* Brave ohne Filter: das Element ist noch sichtbar, also selbst 521 * schlieÃen. Bei "css"/"gone" hat der Blocker das schon erledigt. */ 522 if (grund === "brave") { 523 var mgr = _CMS_mgr(); 524 if (mgr) mgr.style.display = "none"; 525 } 526 527 /* Nur im Modal-Modus: im stillschweigenden Modus speichert 528 * Page_pb.php beim nächsten Aufruf ohnehin über setcookiedatenschutz() 529 * dauerhaft "alles aus" - das ist der bessere Weg, nicht überschreiben. 530 * Ausnahme Brave: ohne Merker käme der Banner auf jeder Folgeseite 531 * wieder, weil der Filter ihn nicht mehr versteckt. 532 * Nicht bei bereits gespeicherter Entscheidung: sonst ginge eine echte 533 * Einwilligung verloren (Fall "Zustimmung neu einfordern"). */ 534 if (!_COOKIE_DECIDED && (grund === "brave" || (_MODAL_ACTIVE && (grund === "css" || grund === "gone")))) { 535 _CMS_cookie_mark_blocked(); 536 } 537 } 538 539 /* navigator.brave existiert nur in Brave. isBrave() ist ein Promise, 540 * deshalb ein Tick nach dem ersten Paint - das Aufblitzen auf der ersten 541 * Seite bleibt, Folgeseiten liefern den Banner wegen des Merker-Cookies 542 * gar nicht mehr aus. */ 543 var _BRAVE_CHECKED = false; 544 function _CMS_cookie_brave_check() { 545 if (_BRAVE_CHECKED || _COOKIE_DECIDED || _COOKIE_SAVED) return; 546 _BRAVE_CHECKED = true; 547 try { 548 if (!navigator.brave || typeof navigator.brave.isBrave !== "function") return; 549 navigator.brave.isBrave().then(function (ja) { 550 if (ja && !_COOKIE_SAVED && !_COOKIE_DECIDED) _CMS_cookie_failopen("brave"); 551 }).catch(function () { /* still */ }); 552 } catch (e) { /* still */ } 553 } 554 555 function _CMS_cookie_watchdog_check() { 556 if (_COOKIE_SAVED || !document.body.classList.contains("gcms_cookie_open")) { 557 _CMS_cookie_watchdog_stop(); 558 return; 559 } 560 var grund = _CMS_banner_hidden(); 561 if (grund) _CMS_cookie_failopen(grund); 562 } 563 564 function _CMS_cookie_watchdog_stop() { 565 while (_WATCHDOG_TIMERS.length) clearTimeout(_WATCHDOG_TIMERS.pop()); 566 } 567 568 function _CMS_cookie_watchdog_start() { 569 _CMS_cookie_watchdog_stop(); 570 _CMS_cookie_brave_check(); 571 /* Erster Check direkt nach dem ersten Frame: Brave filtert oft schon 572 * dort, und je früher der Merker sitzt, desto kürzer bleibt das 573 * Aufblitzen auf der ersten Seite einer Sitzung sichtbar. */ 574 if (window.requestAnimationFrame) { 575 requestAnimationFrame(function () { _CMS_cookie_watchdog_check(); }); 576 } 577 /* gestaffelt: Brave filtert generische Regeln erst nach dem Rendern, 578 * je nach SeitengröÃe und Gerät zwischen ~0,3 und mehreren Sekunden */
579 [400, 1200, 2500, 5000].forEach(function (t) { 580 _WATCHDOG_TIMERS.push(setTimeout(_CMS_cookie_watchdog_check, t)); 581 }); 582 if (!_WATCHDOG_BOUND && window.addEventListener) { 583 window.addEventListener("pageshow", _CMS_cookie_watchdog_check, false); 584 _WATCHDOG_BOUND = true; 585 } 586 } 587 588 function _CMS_cookie_mount() { 589 /* zentrale Ausklink-Funktion nutzen, falls vorhanden (mit Observer) */ 590 if (typeof window._CMS_cookie_detach === "function") { 591 window._CMS_cookie_detach(); 592 return; 593 } 594 var mgr = _CMS_mgr(); 595 if (mgr && document.body && mgr.parentNode !== document.body) { 596 document.body.appendChild(mgr); 597 } 598 } 599 600 function _CMS_cookie_applyOpenState() { 601 var mgr = _CMS_mgr(); 602 if (!mgr || mgr.style.display === "none") return; 603 _CMS_cookie_mount(); 604 document.body.classList.add("gcms_cookie_body_v2_" + _COOKIE_POSITION); 605 _CMS_lockPageScroll(); 606 document.body.classList.add("gcms_cookie_open"); 607 if (_MODAL_ACTIVE) { 608 document.body.classList.add("gcms_cookie_modal_active"); 609 } 610 _CMS_cookie_watchdog_start(); 611 } 612 613 function _CMS_clear_local(id) { 614 var pats = ({ 1: _CMS_CLEAR.pref, 2: _CMS_CLEAR.stat, 3: _CMS_CLEAR.market })[id] || []; 615 if (!pats.length) return; 616 _CMS_clear_store(window.localStorage, pats); 617 _CMS_clear_store(window.sessionStorage, pats); 618 _CMS_clear_js_cookies(pats); 619 } 620 var _CMS_CLEAR = { 621 pref: ["player","umfrage"], 622 stat: ["cms_stat","cms_statr"], 623 market: ["vuid","PREF"] }; 624 function _CMS_name_matches(pattern, name) { 625 if (!pattern || !name) return false; 626 if (pattern === name) return true; 627 var pl = String(pattern).toLowerCase(); 628 var nl = String(name).toLowerCase(); 629 if (pl === "gchat" && nl.indexOf("gchat") === 0) return true; 630 if (pattern.indexOf("*") === -1) return false; 631 var bs = String.fromCharCode(92); 632 var esc = ""; 633 var special = ".+?^${}()|[]"; 634 for (var i = 0; i < pattern.length; i++) { 635 var ch = pattern.charAt(i); 636 if (ch === "*") esc += ".*"; 637 else if (special.indexOf(ch) >= 0) esc += bs + ch; 638 else esc += ch; 639 } 640 try { return new RegExp("^" + esc + "$", "i").test(name); } 641 catch (e) { return false; } 642 } 643 function _CMS_clear_store(store, patterns) { 644 if (!store || !store.length) return; 645 var keys = []; 646 try { 647 for (var i = 0; i < store.length; i++) keys.push(store.key(i)); 648 } catch (e) { return; } 649 keys.forEach(function (k) { 650 if (!k) return; 651 for (var p = 0; p < patterns.length; p++) { 652 if (_CMS_name_matches(patterns[p], k)) { 653 try { store.removeItem(k); } catch (e2) {} 654 break; 655 } 656 } 657 }); 658 } 659 function _CMS_clear_js_cookies(patterns) { 660 var parts = document.cookie ? document.cookie.split(";") : []; 661 for (var i = 0; i < parts.length; i++) { 662 var n = parts[i].split("=")[0].replace(/^\s+/, ""); 663 if (!n || n === "cms_cookie") continue; 664 for (var p = 0; p < patterns.length; p++) { 665 if (_CMS_name_matches(patterns[p], n)) { 666 document.cookie = n + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/"; 667 break; 668 } 669 } 670 } 671 } 672 673 function _CMS_set_gtag(kat) { 674 } 675 676 function _CMS_rem_gtag(kat) { 677 } 678 679 function _CMS_toogle_details() { 680 var x = document.getElementById("gcms_cookie_details"); 681 var btn = document.getElementById("gcms_cookie_toogler"); 682 var open = x.style.display !== "none"; 683 if (open) { 684 x.style.display = "none"; 685 btn.text = "Cookie-Details einblenden"; 686 btn.classList.remove('active'); 687 btn.setAttribute('aria-expanded', 'false');
688 _COOKIE_LASTTAB = "gcms_cookie_deny"; 689 } else { 690 x.style.display = "block"; 691 btn.text = "Cookie-Details ausblenden"; 692 btn.classList.add('active'); 693 btn.setAttribute('aria-expanded', 'true'); 694 _COOKIE_LASTTAB = "gcms_cookie_set_market"; 695 } 696 } 697 window._CMS_toogle_details = _CMS_toogle_details; 698 699 function _CMS_save_cookie_einstellung_all(reload) { 700 document.getElementById("gcms_cookie_kat1_check").checked = true; 701 document.getElementById("gcms_cookie_kat2_check").checked = true; 702 document.getElementById("gcms_cookie_kat3_check").checked = true; 703 _CMS_save_cookie_einstellung(reload); 704 } 705 window._CMS_save_cookie_einstellung_all = _CMS_save_cookie_einstellung_all; 706 707 function _CMS_save_cookie_einstellung_none(reload) { 708 document.getElementById("gcms_cookie_kat1_check").checked = false; 709 document.getElementById("gcms_cookie_kat2_check").checked = false; 710 document.getElementById("gcms_cookie_kat3_check").checked = false; 711 _CMS_save_cookie_einstellung(reload); 712 } 713 window._CMS_save_cookie_einstellung_none = _CMS_save_cookie_einstellung_none; 714 715 /* Externe Boxen auf derselben Seite: Platzhalter nur ersetzen, wenn 716 * JEDE in data-gcms-requires genannte Kategorie in der Auswahl liegt 717 * (z. B. YouTube = pref,market braucht beide). Skripte aus dem 718 * eingefuegten HTML werden neu erzeugt, sonst laufen Embed-Skripte 719 * (Karten, Social) nach dem Einsetzen nicht. */ 720 function _CMS_requires_met(req, granted) { 721 if (!req) return false; 722 var parts = String(req).split(','); 723 for (var i = 0; i < parts.length; i++) { 724 var r = parts[i].replace(/^\s+|\s+$/g, ''); 725 if (r && granted.indexOf(r) === -1) return false; 726 } 727 return true; 728 } 729 function _CMS_revive_scripts(root) { 730 var olds = root.querySelectorAll('script'); 731 for (var i = 0; i < olds.length; i++) { 732 var old = olds[i]; 733 if (!old.parentNode) continue; 734 var s = document.createElement('script'); 735 for (var a = 0; a < old.attributes.length; a++) { 736 s.setAttribute(old.attributes[a].name, old.attributes[a].value); 737 } 738 s.text = old.text || old.textContent || ''; 739 old.parentNode.replaceChild(s, old); 740 } 741 } 742 function _CMS_activate_matching_extern(detail) { 743 var d = detail || {}; 744 var granted = ['req']; 745 if (d.pref) granted.push('pref'); 746 if (d.stat) granted.push('stat'); 747 if (d.market) granted.push('market'); 748 749 var iframes = document.querySelectorAll('iframe[data-gcms-src][data-gcms-requires]'); 750 for (var i = 0; i < iframes.length; i++) { 751 var el = iframes[i]; 752 if (!_CMS_requires_met(el.getAttribute('data-gcms-requires'), granted)) continue; 753 if (el.getAttribute('src')) continue; 754 el.setAttribute('src', el.getAttribute('data-gcms-src')); 755 el.removeAttribute('data-gcms-src'); 756 } 757 var links = document.querySelectorAll('link[data-gcms-href][data-gcms-requires]'); 758 for (var j = 0; j < links.length; j++) { 759 var ln = links[j]; 760 if (!_CMS_requires_met(ln.getAttribute('data-gcms-requires'), granted)) continue; 761 if (ln.getAttribute('href')) continue; 762 ln.setAttribute('href', ln.getAttribute('data-gcms-href')); 763 ln.removeAttribute('data-gcms-href'); 764 } 765 var scripts = document.querySelectorAll('script[type="text/plain"][data-gcms-src][data-gcms-requires]'); 766 for (var k = 0; k < scripts.length; k++) { 767 var sc = scripts[k]; 768 if (!_CMS_requires_met(sc.getAttribute('data-gcms-requires'), granted)) continue; 769 if (!sc.parentNode) continue; 770 var ns = document.createElement('script'); 771 ns.src = sc.getAttribute('data-gcms-src'); 772 if (sc.async) ns.async = true;
773 if (sc.defer) ns.defer = true; 774 sc.parentNode.insertBefore(ns, sc.nextSibling); 775 sc.parentNode.removeChild(sc); 776 } 777 var templates = document.querySelectorAll('template[data-gcms-requires]'); 778 for (var t = 0; t < templates.length; t++) { 779 var tmpl = templates[t]; 780 if (!_CMS_requires_met(tmpl.getAttribute('data-gcms-requires'), granted)) continue; 781 var sel = tmpl.getAttribute('data-gcms-target'); 782 var target = sel ? document.querySelector(sel) : tmpl.parentNode; 783 if (!target || target.getAttribute('data-gcms-activated') === '1') continue; 784 var html = tmpl.innerHTML; 785 if (!html || !html.replace(/\s/g, '')) continue; 786 if (!target.getAttribute('data-gcms-placeholder-html')) { 787 target.setAttribute('data-gcms-placeholder-html', target.innerHTML); 788 } 789 target.setAttribute('data-gcms-activated', '1'); 790 target.innerHTML = html; 791 target.classList.add('gcms_cookie_gated_active'); 792 _CMS_revive_scripts(target); 793 var backCb = target.querySelector('.gcms_extern_toggle1 input[type="checkbox"]'); 794 if (backCb) backCb.checked = true; 795 _CMS_unwrap_video_gate(target); 796 } 797 /* Alte Box aus getCookieAlternativInhalt: Schalter 798 * gcms_save_cookie_extern, kein <template>, der Player ist nicht 799 * im HTML. Video braucht Präferenzen + Marketing. Schalter umlegen 800 * und einmal neu laden, PHP liefert den Inhalt dann direkt. 801 * gcms_save_cookie_extern nicht aufrufen: das würde alle Kategorien 802 * auf ja zwingen. */ 803 _CMS_legacy_extern_reload(d.pref && d.market); 804 } 805 /* Nach dem Einblenden bleibt sonst die Platzhalter-Hülle gcms_extern 806 * um gcms_video_out stehen. Die Hülle fällt weg. id und data-gcms-* 807 * bleiben nicht am Video: das normale Video-Element hat nur die Klasse. */ 808 function _CMS_unwrap_video_gate(target) { 809 if (!target || !target.classList || !target.classList.contains('gcms_extern')) return; 810 var video = null; 811 for (var i = 0; i < target.children.length; i++) { 812 if (target.children[i].classList && target.children[i].classList.contains('gcms_video_out')) { 813 video = target.children[i]; 814 break; 815 } 816 } 817 if (!video || !target.parentNode) return; 818 var rest = []; 819 for (var c = 0; c < target.children.length; c++) { 820 if (target.children[c] !== video) rest.push(target.children[c]); 821 } 822 for (var r = 0; r < rest.length; r++) video.appendChild(rest[r]); 823 target.parentNode.replaceChild(video, target); 824 } 825 window._CMS_unwrap_video_gate = _CMS_unwrap_video_gate; 826 827 function _CMS_legacy_extern_reload(passen) { 828 var inputs = document.querySelectorAll('.gcms_extern_toggle input[type="checkbox"]'); 829 var offen = []; 830 for (var i = 0; i < inputs.length; i++) { 831 var oc = inputs[i].getAttribute('onchange') || ''; 832 if (oc.indexOf('gcms_save_cookie_extern') === -1) continue; 833 if (!inputs[i].checked) offen.push(inputs[i]); 834 } 835 try { 836 if (!offen.length || !passen) { 837 if (!offen.length) sessionStorage.removeItem('gcms_legacy_extern_reload'); 838 return; 839 } 840 for (var j = 0; j < offen.length; j++) offen[j].checked = true; 841 if (window.__gcmsLegacyReload) return; 842 if (sessionStorage.getItem('gcms_legacy_extern_reload') === '1') { 843 sessionStorage.removeItem('gcms_legacy_extern_reload'); 844 return; 845 } 846 window.__gcmsLegacyReload = true; 847 sessionStorage.setItem('gcms_legacy_extern_reload', '1'); 848 document.location.reload(); 849 } catch (e) { /* still */ } 850 } 851 window._CMS_activate_matching_extern = _CMS_activate_matching_extern; 852 853 function _CMS_consentReduced(kat1, kat2, kat3) { 854 var raw = _CMS_getCookie("cms_cookie"); 855 if (!raw || raw === "1") return false;
856 try { 857 var j = JSON.parse(raw); 858 if (j.pref && !kat1) return true; 859 if (j.stat && !kat2) return true; 860 if (j.market && !kat3) return true; 861 } catch (e) { /* ignore */ } 862 return false; 863 } 864 865 function _CMS_save_cookie_einstellung(reload) { 866 var kat1 = document.getElementById("gcms_cookie_kat1_check").checked; 867 var kat2 = document.getElementById("gcms_cookie_kat2_check").checked; 868 var kat3 = document.getElementById("gcms_cookie_kat3_check").checked; 869 870 if (!kat1) { _CMS_clear_local(1); _CMS_rem_gtag(1); } else { _CMS_set_gtag(1); } 871 if (!kat2) { _CMS_clear_local(2); _CMS_rem_gtag(2); } else { _CMS_set_gtag(2); } 872 if (!kat3) { _CMS_clear_local(3); } 873 874 /* Kategorie abgewählt: Reload nötig, sonst bleiben per No-Reload aktivierte Embeds sichtbar */ 875 if (!reload && _CMS_consentReduced(kat1, kat2, kat3)) reload = 1; 876 877 if (_COOKIE_UNLOAD) return; 878 879 if ((kat2) && typeof GCMS_GA_run === 'function') GCMS_GA_run(); 880 881 var stat = 0; 882 if (!reload && kat2) stat = 1; 883 var gcms_java_enabled = navigator.javaEnabled() ? 1 : 0; 884 /* SECURITY 2026-09-18: (int)-Casts - Werte sind IDs/Flags, roh im 885 JS-String waere ein manipulierter DB-Wert Stored XSS im Banner */ 886 var data = "kat1=" + kat1 + "&kat2=" + kat2 + "&kat3=" + kat3 887 + "&zust=1" 888 + "&im=176" 889 + "&ds=6395" 890 + "&stat=" + stat 891 + "&refer=" + encodeURIComponent(_CMS_REF) 892 /* Ursprungsseite fuer cms_statr (Referer ueber den Reload 893 tragen, Page_pb::setcookiedatenschutz) */ 894 + "&cseid=483" 895 + "&cspid=0" 896 + "&cbeid=137" 897 + "&cta=1790961912" 898 + "&orseid=483" 899 + "&ink=0" 900 + "&st_res=" + screen.width + "x" + screen.height 901 + "&st_col=" + screen.colorDepth 902 + "&st_je=" + gcms_java_enabled 903 + "&loc=" + encodeURIComponent(window.location); 904 905 var xhttp = new XMLHttpRequest(); 906 xhttp.open("POST", "/index.php?gcookiesave=1&spid=" + _CURRENT_SPID, true); 907 xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 908 xhttp.onreadystatechange = function () { 909 if (this.readyState !== 4) return; 910 if (this.status !== 200) return; 911 _COOKIE_SAVED = true; 912 913 if (reload) { document.location.reload(); return; } 914 915 /* No-Reload-Pfad: Banner ausblenden, passende externe Boxen 916 * auf DIESER Seite sofort einblenden, danach das Event (Helper, 917 * Cookie-Erklaerung). Die Aktivierung steht hier inline, nicht 918 * nur im Footer-Helper: dessen Listener fehlt, wenn der Browser 919 * noch eine alte cms_helper-Datei cached. */ 920 _CMS_hide_cookie_einstellung(true); 921 _CMS_update_cookie_erkl_zustand(!!kat1, !!kat2, !!kat3); 922 var detail = { pref: !!kat1, stat: !!kat2, market: !!kat3, source: 'banner' }; 923 _CMS_activate_matching_extern(detail); 924 try { 925 document.dispatchEvent(new CustomEvent('gcms:consent:granted', { detail: detail })); 926 } catch (e) { /* ältere Browser: still */ } 927 }; 928 xhttp.send(data); 929 } 930 window._CMS_save_cookie_einstellung = _CMS_save_cookie_einstellung; 931 932 /* Bei Weitersurfen ohne Klick: stillschweigender Standard (nur notwendig) */ 933 function _CMS_save_cookie_einstellung_unload() { 934 if (_COOKIE_SAVED) return; 935 if (!document.getElementById("gcms_cookie_kat1_check").checked) _CMS_clear_local(1); 936 if (document.getElementById("gcms_cookie_kat2_check").checked) { 937 var d = new Date(); 938 d.setTime(d.getTime() + 60 * 1000); 939 /* SECURITY 2026-09-18: (int)-Casts + Secure/SameSite analog zum 940 Konsens-Cookie (vorher ohne Flags und Werte roh im JS-String) */ 941 document.cookie = 'cms_statr=' + JSON.stringify({ 942 ref: _CMS_REF, 943 seid: "483", 944 spid: "0", 945 beid: "137", 946 time: "1790961912" 947 }) + ';expires=' + d.toGMTString() + ';path=/;SameSite=Lax' 948 + (location.protocol === 'https:' ? ';Secure' : ''); 949 } else { 950 _CMS_clear_local(2); 951 } 952 if (!document.getElementById("gcms_cookie_kat3_check").checked) _CMS_clear_local(3); 953 _COOKIE_UNLOAD = true; 954 } 955 956 function _CMS_show_cookie_einstellung() { 957 var cms_cookie = _CMS_getCookie("cms_cookie"); 958 if (!cms_cookie) return; 959 var mgr = _CMS_mgr(); 960 if (!mgr) return; 961 mgr.style.display = "block"; 962 /* Von einem Cookie-Banner-Filter versteckt? Dann ID wechseln 963 * (ausdruecklicher Wunsch des Besuchers, siehe _CMS_cookie_unblock). */ 964 if (window.getComputedStyle) { 965 var cs = window.getComputedStyle(mgr); 966 if (cs.display === "none" || cs.visibility === "hidden") _CMS_cookie_unblock(mgr); 967 } 968 _CMS_cookie_applyOpenState(); 969 _CMS_focusCookieMain(); 970 document.getElementById("gcms_cookie_details").style.display = "block"; 971 var btn = document.getElementById("gcms_cookie_toogler"); 972 if (btn) { btn.text = "Cookie-Details ausblenden"; btn.classList.add('active'); }
973 _COOKIE_LASTTAB = "gcms_cookie_set_market"; 974 } 975 window._CMS_show_cookie_einstellung = _CMS_show_cookie_einstellung; 976 977 function _CMS_hide_cookie_einstellung(animated) { 978 var mgr = _CMS_mgr(); 979 if (!mgr) return; 980 _CMS_cookie_watchdog_stop(); 981 /* Beobachter stoppen: nach dem SchlieÃen darf nichts mehr re-mounten */ 982 if (window._CMS_cookieObserver) { 983 try { window._CMS_cookieObserver.disconnect(); } catch (e) { /* still */ } 984 window._CMS_cookieObserver = null; 985 } 986 if (animated) mgr.classList.add('gcms_cookie_closing'); 987 setTimeout(function () { 988 mgr.style.display = "none"; 989 mgr.classList.remove('gcms_cookie_closing'); 990 /* Blende hängt am body: entfällt zusammen mit der Scroll-Sperre */ 991 document.body.classList.remove("gcms_cookie_open", "gcms_cookie_modal_active"); 992 _CMS_unlockPageScroll(); 993 }, animated ? 240 : 0); 994 } 995 window._CMS_hide_cookie_einstellung = _CMS_hide_cookie_einstellung; 996 997 function _CMS_cookie_widerruf() { 998 _CMS_clear_local(1); _CMS_clear_local(2); _CMS_clear_local(3); 999 var xhttp = new XMLHttpRequest(); 1000 xhttp.open("POST", "/index.php?gcookiesave=1&spid=" + _CURRENT_SPID, true); 1001 xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 1002 xhttp.onreadystatechange = function () { 1003 if (this.readyState === 4 && this.status === 200) document.location.reload(); 1004 }; 1005 /* encodeURIComponent: ohne das brechen &/=/Unicode in Referrer oder 1006 * URL das application/x-www-form-urlencoded-Body-Parsing (Fehler war 1007 * im "Alle akzeptieren/ablehnen"-Pfad bereits korrekt encodiert, 1008 * hier beim Widerruf jedoch nicht). */ 1009 xhttp.send("kat1=false&kat2=false&kat3=false&ref=" + encodeURIComponent(_CMS_REF) + "&loc=" + encodeURIComponent(window.location)); 1010 } 1011 window._CMS_cookie_widerruf = _CMS_cookie_widerruf; 1012 1013 function _CMS_cookie_init() { 1014 var mgr = _CMS_mgr(); 1015 if (!mgr) return; 1016 _CMS_cookie_mount(); 1017 if (mgr.style.display === "block") { 1018 if (!document.body.classList.contains("gcms_cookie_open")) { 1019 _CMS_cookie_applyOpenState(); 1020 } else { 1021 /* Sperre wurde bereits vom Sofort-Script oben gesetzt, ohne 1022 * über _CMS_cookie_applyOpenState zu laufen - Watchdog wäre 1023 * sonst genau im Regelfall nie gestartet. */ 1024 _CMS_cookie_watchdog_start(); 1025 } 1026 _CMS_focusCookieMain(); 1027 /* Wrapper-Plugins (jPanelMenu) hängen den Dialog evtl. kurz nach dem 1028 * Laden um und werfen dabei den Fokus auf BODY. Nur dann nachsetzen. */ 1029 [200, 500, 1100].forEach(function (t) { 1030 setTimeout(function () { 1031 var m = _CMS_mgr(); 1032 if (m && m.style.display === "block" 1033 && document.body.classList.contains("gcms_cookie_open") 1034 && !m.contains(document.activeElement)) { 1035 _CMS_focusCookieMain(); 1036 } 1037 }, t); 1038 }); 1039 } 1040 _CMS_update_cookie_erkl_zustand(); 1041 } 1042 1043 document.addEventListener('gcms:consent:granted', function (ev) { 1044 var d = (ev && ev.detail) ? ev.detail : {}; 1045 _CMS_update_cookie_erkl_zustand(!!d.pref, !!d.stat, !!d.market); 1046 }); 1047 1048 /* Browser-Datenschutzsignale (nur ohne gespeicherte Entscheidung): 1049 * - Do Not Track: nur wenn die Website-Option cookie_dnt gesetzt ist 1050 * (im Backend derzeit ausgeblendet, Phase 4). Nimmt alle drei 1051 * Kategorien aus der Vorauswahl. 1052 * - Global Privacy Control (2026-09-23): navigator.globalPrivacyControl 1053 * ist true, wenn der Browser GPC sendet (Brave Desktop/Android und 1054 * DuckDuckGo standardmaessig, Firefox optional; Brave iOS nur diese 1055 * JS-API, kein Sec-GPC-Header). GPC bedeutet "nicht verkaufen/ 1056 * teilen" und wird IMMER beachtet: Statistik und Marketing werden 1057 * aus der Vorauswahl genommen. Ein ausdruecklicher Klick auf "Alle 1058 * akzeptieren" bleibt moeglich und geht vor - eine aktive Handlung 1059 * des Besuchers wiegt schwerer als ein generelles Browsersignal. 1060 * Praeferenzen (externe Inhalte) sind kein Verkauf/Teilen und 1061 * bleiben von GPC unberuehrt. */ 1062 function _CMS_privacy_signals() { 1063 var dnt = false, gpc = false;
1064 try { if (navigator.globalPrivacyControl === true) gpc = true; } catch (e) { /* still */ } 1065 if (!dnt && !gpc) return; 1066 var k1 = document.getElementById("gcms_cookie_kat1_check"); 1067 var k2 = document.getElementById("gcms_cookie_kat2_check"); 1068 var k3 = document.getElementById("gcms_cookie_kat3_check"); 1069 if (dnt && k1) k1.checked = false; 1070 if (k2) k2.checked = false; 1071 if (k3) k3.checked = false; 1072 } 1073 window._CMS_dnt = _CMS_privacy_signals; /* alter Name, falls extern referenziert */ 1074 1075 _CMS_privacy_signals(); 1076 1077 /* Accordion */ 1078 var gcms_acc = document.getElementsByClassName("gcms_cookie_accordion"); 1079 for (var i = 0; i < gcms_acc.length; i++) { 1080 gcms_acc[i].addEventListener("click", function () { 1081 var open = this.classList.toggle("gcms_cookie_active"); 1082 var panel = this.nextElementSibling; 1083 if (!panel) return; 1084 this.setAttribute('aria-expanded', open ? 'true' : 'false'); 1085 panel.classList.toggle('open', open); 1086 panel.style.maxHeight = open ? (panel.scrollHeight + "px") : null; 1087 }); 1088 } 1089 1090 /* Leertaste aktiviert die als Button ausgezeichneten Links (a[role=button]). 1091 * Native <button> reagieren auf Enter UND Leertaste; <a> nur auf Enter â 1092 * für Tastatur-Barrierefreiheit ergänzen wir die Leertaste. */ 1093 document.addEventListener('keydown', function (e) { 1094 if (e.key !== ' ' && e.key !== 'Spacebar' && e.keyCode !== 32) return; 1095 var mgr = _CMS_mgr(); 1096 if (!mgr || mgr.style.display === "none") return; 1097 var t = e.target; 1098 if (t && t.getAttribute && t.getAttribute('role') === 'button' 1099 && t.tagName === 'A' && mgr.contains(t)) { 1100 e.preventDefault(); 1101 t.click(); 1102 } 1103 }); 1104 1105 /* Fokus im Banner halten (Tab). Escape schlieÃt bewusst nicht (keine 1106 * vorgetäuschte âSchlieÃen ohne Auswahl"-Möglichkeit bei Modal). 1107 * Robust: fängt den Fokus auch ein, wenn er auÃerhalb des Dialogs startet 1108 * (z. B. auf BODY, weil ein Wrapper-Plugin den Dialog umgehängt hat). */ 1109 document.addEventListener('keydown', function (e) { 1110 if (e.key !== 'Tab') return; 1111 var mgr = _CMS_mgr(); 1112 if (!mgr || mgr.style.display === "none") return; 1113 var focusable = mgr.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), [tabindex="0"]'); 1114 if (!focusable.length) return; 1115 var first = focusable[0]; 1116 var last = focusable[focusable.length - 1]; 1117 var a = document.activeElement; 1118 var inside = mgr.contains(a) && a !== mgr; 1119 if (!inside) { 1120 (e.shiftKey ? last : first).focus({ preventScroll: true }); 1121 e.preventDefault(); 1122 return; 1123 } 1124 if (e.shiftKey && a === first) { last.focus({ preventScroll: true }); e.preventDefault(); } 1125 else if (!e.shiftKey && a === last) { first.focus({ preventScroll: true }); e.preventDefault(); } 1126 }); 1127 1128 if (document.readyState === "loading") { 1129 document.addEventListener("DOMContentLoaded", _CMS_cookie_init); 1130 } else { 1131 _CMS_cookie_init(); 1132 } 1133 1134 window.onbeforeunload = _CMS_save_cookie_einstellung_unload; 1135 1136})(); 1137</script>
1137 1138 1139 1140 <div id="snow2"></div> 1141 <div id="skiptocontent"><a href="#maincontent" class="">zum Hauptinhalt springen</a></div> 1142 1143 <nav class="museen" id="museen"> 1144 <div class="max1400 group"> 1145 <div class="museum portal"><a href="http://luebecker-museen.de">Portal der LÃBECKER MUSEEN</a></div><div class="museum"><a href="http://buddenbrookhaus.de">Buddenbrookhaus</a></div><div class="museum"><a class="aktiv" href="http://grass-haus.de">Günter Grass-Haus</a></div><div class="museum"><a href="http://museumskirche.de">Katharinenkirche</a></div><div class="museum"><a href="http://museum-behnhaus-draegerhaus.de">Museum Behnhaus Drägerhaus</a></div><div class="museum"><a href="http://museum-fuer-natur-und-umwelt.de">Museum für Natur und Umwelt</a></div><div class="museum"><a href="http://museum-holstentor.de">Museum Holstentor</a></div><div class="museum"><a href="http://museumsquartier-st-annen.de">Museumsquartier St. Annen</a></div><div class="museum"><a href="http://kunsthalle-st-annen.de">Kunsthalle St. Annen</a></div><div class="museum"><a href="http://st-annen-museum.de">St. Annen-Museum</a></div><div class="museum"><a href="http://skw.luebecker-museen.de">Sammlung Kulturen der Welt </a></div><div class="museum"><a href="http://industriemuseum-herrenwyk.de">Industriemuseum Herrenwyk</a></div> </div> 1146 </nav> 1147
1147<script type="application/ld+json"> 1148 { 1149 "@context": "http://schema.org", 1150 "@type": "Museum", 1151 "name" : "Günter Grass-Haus", 1152 "openingHours": "", 1153 "telephone": "+49 451 1224230", 1154 "faxNumber": "+49 451 1224239", 1155 "logo": { 1156 "@type": "ImageObject", 1157 "url": "http://grass-haus.de/upload/img/logo_grass_haus.svg", 1158 "width": 158, 1159 "height": 56 1160 }, 1161 "image": { 1162 "@type": "ImageObject", 1163 "url": "http://grass-haus.de/upload/img/default_veranstaltung.webp" 1164 }, 1165 "url" : "http://grass-haus.de", 1166 "address": { 1167 "@type": "PostalAddress", 1168 "addressCountry": "de", 1169 "addressLocality": "Lübeck", 1170 "postalCode": "23552", 1171 "streetAddress": "GlockengieÃerstraÃe 21" 1172 } 1173 } </script>
1173 1174
1174<script type="application/ld+json"> 1175 { 1176 "@context": "http://schema.org", 1177 "@type": "WebSite", 1178 "url": "http://grass-haus.de", 1179 "potentialAction": { 1180 "@type": "SearchAction", 1181 "target": "http://grass-haus.de/suche?gcqu={search_term_string}", 1182 "query-input": "required name=search_term_string" 1183 } 1184 } 1185 </script>
1185 1186<style type="text/css"> 1187 /* dynamische Styles */ 1188 mark{ 1189 background-color: var(--color-aktiv-farbe); 1190 padding: 4px; 1191 color: #FFF; 1192 } 1193 mark::before, 1194 mark::after { 1195 clip-path: inset(100%); 1196 clip: rect(1px, 1px, 1px, 1px); 1197 height: 1px; 1198 overflow: hidden; 1199 position: absolute; 1200 white-space: nowrap; 1201 width: 1px; 1202 } 1203 1204 mark::before { 1205 content: " [Text hervorheben Anfang] "; 1206 } 1207 1208 mark::after { 1209 content: " [Text hervorheben Ende] "; 1210 } 1211 :root { 1212 --color-farbe0: #4b645f; 1213 --color-farbe0-80: rgba(75,100,95,0.8); 1214 --color-farbe1: #598d83; 1215 --color-farbe2: #598d83; 1216 --var-textdeco: underline; 1217 1218 --fliesstext-color: #272727; 1219 --color-aktiv-farbe: #45f297; 1220 --url1: url(/index.php?seid=85&spid=0&color=45f297&gfx=1&t=1); 1221 --url2: url(/index.php?seid=85&spid=0&color=45f297&gfx=2&t=1); 1222 --url3: url(/index.php?seid=85&spid=0&color=ffffff&gfx=2&t=1); 1223 --color-aktiv-farbe-schrift: #272727; 1224 1225 --color-linkfarbe: #272727; 1226 } 1227 p a[href$=".pdf"]:hover, 1228 p a[href$=".doc"]:hover, 1229 p a[href$=".docx"]:hover, 1230 p a[href$=".xlsx"]:hover{ 1231 color: var(--color-aktiv-farbe); 1232 } 1233 1234 p a[href$=".pdf"].calltoaction:hover, 1235 p a[href$=".doc"].calltoaction:hover, 1236 p a[href$=".docx"].calltoaction:hover, 1237 p a[href$=".xlsx"].calltoaction:hover, 1238 span.downloadstyle23:hover{ 1239 background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTkuNjY3IDEzLjI5MiA0LjgzMyA0LjgzMyA0LjgzNC00LjgzM00xNC41IDE4LjEyNVYxLjIwOE00LjIzIDIxLjc1djQuODMzSDI0Ljc3VjIxLjc1IiBzdHJva2U9IiM0NWYyOTciIHN0cm9rZS13aWR0aD0iMS44MTMiLz48L3N2Zz4="); 1240 color: var(--color-aktiv-farbe); 1241 border-color: var(--color-aktiv-farbe); 1242 } 1243 1244 .closeicon23{ 1245 background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYuMzQzIDE3LjY1NyAxNy42NTcgNi4zNDNNNi4zNDMgNi4zNDNsMTEuMzE0IDExLjMxNCIgc3Ryb2tlPSIjNDVmMjk3IiBzdHJva2Utd2lkdGg9IjMiLz48L3N2Zz4="); 1246 border-color: var(--color-aktiv-farbe); 1247 } 1248 1249 header, 1250 .mbgc, 1251 .kopbildinfo, 1252 a.btn, 1253 a.ticketlink, 1254 a.calltoaction, 1255 a.mbtn, 1256 .gcms_nlp_digibild_info{ 1257 background-color: #4b645f; 1258 } 1259 1260 1261 1262 .dielogobox, 1263 .ds2_noheader .ds_logoaufbild{ 1264 background-image: url(/upload/img/logo_grass_haus.svg); 1265 background-position: left 24px; 1266 background-repeat: no-repeat; 1267 1268 } 1269 .look23 not(.headercopy) .museums2er, 1270 .look23 not(.headercopy) .museums1er{ 1271 padding-left: 15px; 1272 } 1273 .look23 .dielogobox{ 1274 background-position: left 15px top 24px; 1275 max-width: 1430px; 1276 } 1277 1278 1279 1280 .ausstellung_rueckblick { display: none; } 1281 .ausstellung_rueckblick[data-start='2026'], 1282 .ausstellung_rueckblick[data-ende='2026']{ 1283 display: block; 1284 } 1285 1286 1287 .kopbildinfo{ 1288 background-color: var(--color-farbe0); 1289 1290 } 1291 </style> 1292
1292<script> 1293 function headnav(){ 1294 var akt = document.getElementById("museen").style.display; 1295 document.getElementById("museen").style.display = 'block'; 1296 } 1297 </script>
1297 1298 1299 <div class="seite"> 1300 <header> 1301 <div class="dielogobox maxw group"> 1302 <div class="logo group"><a href="https://grass-haus.de" class="tdcn" titel="Günter Grass-Haus - Startseite"><div class="museumslogo23"><img src="/upload/img/lmlogos.svg#museum8" alt="Günter Grass-Haus Logo" /></div><div class="museums2er"><div class="museumsname"><img src="/upload/img/logo23_ggh_1_neu.svg" alt="" /></div><div class="museumsname2"><img src="/upload/img/logo23_ggh_2.svg" alt="" /></div></div></a></div> 1303 <div class="headnav"> 1304 <a href="https://luebecker-museen.de/luebeck-day-pass-das-tagesticket-der-luebecker-museen" class="ticket">Tickets kaufen</a> 1305 <ul> 1306 <li class="b26 mm-weg"><a href="/barrierefreiheit" title="Infos zur Barrierefreiheit"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><title>Infos zur Barrierefreiheit</title><g clip-path="url(#clip0_3573_1298)" stroke="#fff" id="b26"><path d="M6.418 4.989A1.3 1.3 0 1 1 8.256 3.15 1.3 1.3 0 0 1 6.418 4.99Z"/><path d="m8.447 8.231 1.811-.403a.738.738 0 1 0-.323-1.44l-2.263.504c-.22.049-.45.049-.67 0l-2.263-.505a.738.738 0 1 0-.323 1.44l1.81.404v1.056L5.25 11.31a.737.737 0 0 0 .346.985c.368.177.81.023.988-.344l.754-1.562.754 1.562c.178.367.62.521.988.344a.737.737 0 0 0 .346-.985l-.978-2.024z" stroke-linecap="round" stroke-linejoin="round"/><path d="M2.68 12.331a6.825 6.825 0 1 1 9.652-9.652 6.825 6.825 0 0 1-9.653 9.652" stroke-linecap="round" stroke-linejoin="round"/></g><defs><clipPath id="clip0_3573_1298"><path fill="#fff" d="M0 0h15v15H0z"/></clipPath></defs></svg></a></li> 1307 <li class="ls26 mm-weg"><a href="/leichte-sprache-grass-haus" title="Leichte Sprache"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><title>Leichte Sprache</title><path id="ls26" d="M6.052 4.17a2.047 2.047 0 1 1 2.896-2.895 2.047 2.047 0 0 1-2.896 2.896M9.271 6.135a3.68 3.68 0 0 0-3.542 0M7.5 14.324c1.316-1.17 4.792-2.413 4.792-2.413l-.074-4.627s-3.821.89-4.718 1.594c-.946-.743-4.718-1.594-4.718-1.594l-.074 4.627s3.476 1.243 4.792 2.413M7.5 8.876v5.447" stroke="#fff" stroke-linecap="round" stroke-linejoin="round"/></svg></a></li> 1308 <li class="mmpresse mm-weg"><a href="/kontakt">Kontakt</a></li> 1309 1310 <li class="suche mm-weg"><a href="/suche">Suche</a></li> 1311 <li class="en mm-weg mm-ttu"><a href="https://grass-house.com" hreflang="en">en</a></li> 1312 <li class="en mm-weg mm-ttu"><a href="https://maison-grass.fr" hreflang="fr">fr</a></li> 1313 <li class="allemuseen"><a href="#">Alle Lübecker Museen</a></li> 1314 </ul> 1315 </div> 1316
1317<script> 1318 function nukeitmassage(){ 1319 Cookies.remove('nachricht',{ path: '/' }); 1320 } 1321</script>
1321 1322 1323 <nav class="hauptmenu"> 1324 <ul class="menu2019"><li class="aktiv"><a href="/museum" title="">Museum</a><ul><li><a href="/museum" title="">Museum</a></li><li><a href="/foerderer" title="">Förderer</a></li><li class="aktiv"><a href="/shop" title="">Shop</a></li></ul></li><li><a href="/oeffnungszeiten" title="">Besuch</a><ul><li><a href="/oeffnungszeiten" title="">Ãffnungszeiten</a></li><li><a href="/eintrittspreise" title="">Eintrittspreise</a></li><li><a href="/lage" title="">Lage</a></li><li><a href="/kinder-im-guenter-grass-haus" title="">Kinder und Familien</a></li></ul></li><li><a href="/ausstellungen" title="">Ausstellungen</a></li><li><a href="/programm" title="">Termine</a></li><li><a href="/angebote-uebersicht" title="">Angebote</a></li><li><a href="#" title="">Digital</a><ul><li><a href="/das-virtuelle-archiv-guenter-grass-haus" title="">Das virtuelle Archiv</a></li><li><a href="https://sammlung.grass-haus.de/" title="">Sammlung Online</a></li><li><a href="/digitale-angebote" title="">Digitale Angebote</a></li></ul></li><li><a href="/forschung-guenter-grass-haus" title="">Forschung</a><ul><li><a href="/forschung-guenter-grass-haus" title="">Forschung</a></li><li><a href="https://archiv-guenter-grass-haus.luebeck.de" title="">Datenbank</a></li><li><a href="/literaturhinweise" title="">Literaturhinweise</a></li><li><a href="/publikationen-des-ggh" title="">Publikationen </a></li><li><a href="/links" title="">Partnerinstitutionen</a></li></ul></li></ul> 1325 </nav> 1326 <div class="mm" tabindex="0" aria-label="Menu" role="button" aria-controls="jPanelMenu-menu"> 1327 <span class="mmtext">Menü</span> 1328 <div class="hamburger hamburger--squeeze"> 1329 <div class="hamburger-box"><div class="hamburger-inner"></div></div> 1330 </div> 1331 </div> 1332 </div> 1333 </header> 1334 <main> 1335 <div class="kopfbild max1400"> 1336 <div class="slick"><div class="bog"><picture data-alt="" data-copyright=""> 1337<source srcset="/upload/img/se-header2.webp?w=320&h=158&zx=1800&zy=890&ti=1784724886&code=f42e6617a25e6e4e9b50c9f00ccb5748e75f63fa8c4c9c91c07252aa98741731, /upload/img/se-header2.webp?w=640&h=316&zx=1800&zy=890&ti=1784724886&code=f465e2c967974f30be255f9308b2c2cd65739e8f329aab0a88050134066eb314 2x" media="(min-width: 1px) and (max-width: 320px)"> 1338<source srcset="/upload/img/se-header2.webp?w=480&h=237&zx=1800&zy=890&ti=1784724886&code=8c2db051b084c023a1c3bc0831e7cf2db25016c186358213c9ca6cb8564cafa9, /upload/img/se-header2.webp?w=960&h=474&zx=1800&zy=890&ti=1784724886&code=af1640f09e74ef0f026fe3e3b0f80396e77889ccf38343bc8e0f232c2a9a7ec5 2x" media="(min-width: 321px) and (max-width: 480px)"> 1339<source srcset="/upload/img/se-header2.webp?w=600&h=296&zx=1800&zy=890&ti=1784724886&code=daa7035816914d65dd258f05a2f5154dfc25fcbe1c8620439a8eac76072b4299, /upload/img/se-header2.webp?w=1200&h=592&zx=1800&zy=890&ti=1784724886&code=a4fed38188b18650e68d37923119cc4268968cee02d169dbf4b3b7d78cdd4fb6 2x" media="(min-width: 481px) and (max-width: 600px)"> 1340<source srcset="/upload/img/se-header2.webp?w=800&h=395&zx=1800&zy=890&ti=1784724886&code=1d638db667aa205af06b6660b2ef77801448a158426843d384124c060eda5bcd, /upload/img/se-header2,noindex.webp?w=1600&h=790&zx=1800&zy=890&ti=1784724886&code=3d8b90de4badcdd3e4d7f5c8c9fdb20823c3e91791afce2fd52049a5ffcbe2da 2x" media="(min-width: 601px) and (max-width: 800px)"> 1341<source srcset="/upload/img/se-header2.webp?w=1000&h=494&zx=1800&zy=890&ti=1784724886&code=6caadca0c85371e0f3b30c1bb1d04e710243df0e380d572ac729d0d21a7e25b9, /upload/img/se-header2,noindex.webp?w=2000&h=988&zx=1800&zy=890&ti=1784724886&code=4aec256ae9d06da34f0f94644778d1f25557627a40d757bd8fa01794becd475a 2x" media="(min-width: 801px) and (max-width: 1000px)"> 1342<source srcset="/upload/img/se-header2.webp?w=1200&h=593&zx=1800&zy=890&ti=1784724886&code=b257c433e89e10aab5d43fe0d312824a333fb0be43412df5abf92ba3aef7b6fe, /upload/img/se-header2,noindex.webp?w=2400&h=1186&zx=1800&zy=890&ti=1784724886&code=e5471767140a0b585c521b4360396bc8b5dfc0cb262f19c9112cf158340f278b 2x" media="(min-width: 1001px) and (max-width: 1200px)"> 1343<source srcset="/upload/img/se-header2,noindex.webp?w=1800&h=890&zx=1800&zy=890&ti=1784724886&code=d74f4a2d637e5a2a6dd5b48b1ffb7759b25b2737657e9a34c91388fe1767c4bd, /upload/img/se-header2,noindex.webp?w=3600&h=1780&zx=1800&zy=890&ti=1784724886&code=cecbe9ea9be9df0dcabc4c1956f0d42103a4f1f287b22c1680c9bb11c3c3b802 2x" media="(min-width: 1201px)"> 1344<img srcset="/upload/img/se-header2.webp?w=320&h=158&zx=1800&zy=890&ti=1784724886&code=f42e6617a25e6e4e9b50c9f00ccb5748e75f63fa8c4c9c91c07252aa98741731, /upload/img/se-header2.webp?w=640&h=316&zx=1800&zy=890&ti=1784724886&code=f465e2c967974f30be255f9308b2c2cd65739e8f329aab0a88050134066eb314 2x" alt="" title="" /> 1345</picture><div class="kopbildinfo"><div class="kbi_headline"></div><div class="kbi_headline_text"></div></div></div><div class="bog">
1345<picture data-alt="" data-copyright=""> 1346<source srcset="/upload/img/ggh-023-2007.jpg?w=320&h=158&zx=2250&zy=1500&ti=1521417600&code=ed601f32cefe8ba0e8be7f4293984ec0309f7bdfad2fa2343493d72c9c3bd16a, /upload/img/ggh-023-2007.jpg?w=640&h=316&zx=2250&zy=1500&ti=1521417600&code=66a37658ca0acf7a92490f2ce01c49b7685db707eb31f55912730f3244593792 2x" media="(min-width: 1px) and (max-width: 320px)"> 1347<source srcset="/upload/img/ggh-023-2007.jpg?w=480&h=237&zx=2250&zy=1500&ti=1521417600&code=714e7563638dbb0c76043843c9168dfbd0b59880f385f2790ce3119a6f754162, /upload/img/ggh-023-2007.jpg?w=960&h=474&zx=2250&zy=1500&ti=1521417600&code=53f66267faedd4d36ba69c88820772808cf8fda3fb73d6fe5670cd7d0be9ddb7 2x" media="(min-width: 321px) and (max-width: 480px)"> 1348<source srcset="/upload/img/ggh-023-2007.jpg?w=600&h=296&zx=2250&zy=1500&ti=1521417600&code=146c61269ee46e5d2c7b945dab0197a0e68a2216cc1f53e67cd36a65f45a017b, /upload/img/ggh-023-2007.jpg?w=1200&h=592&zx=2250&zy=1500&ti=1521417600&code=89a673f43fe79a2a6953ea6f6cafcb31ce6bd2d8e1966458c7273aefbd607977 2x" media="(min-width: 481px) and (max-width: 600px)"> 1349<source srcset="/upload/img/ggh-023-2007.jpg?w=800&h=395&zx=2250&zy=1500&ti=1521417600&code=ec507cf6283263c7916d2e11311490e6e66be3e2588efe082c38389d4f767398, /upload/img/ggh-023-2007,noindex.jpg?w=1600&h=790&zx=2250&zy=1500&ti=1521417600&code=e33068b06b10e48ac273b9e5ca398d3131ac87fe5f7ee56df20456aa052a2a99 2x" media="(min-width: 601px) and (max-width: 800px)"> 1350<source srcset="/upload/img/ggh-023-2007.jpg?w=1000&h=494&zx=2250&zy=1500&ti=1521417600&code=8f6807af65bbb702e99cb6612d6fab7c69f7db04f40cae4459e1eef9bf3c7abe, /upload/img/ggh-023-2007,noindex.jpg?w=2000&h=988&zx=2250&zy=1500&ti=1521417600&code=c3ffb628c77fac75621c4593904f604a9cbb8c037c8051ff822c69422226f45e 2x" media="(min-width: 801px) and (max-width: 1000px)"> 1351<source srcset="/upload/img/ggh-023-2007.jpg?w=1200&h=593&zx=2250&zy=1500&ti=1521417600&code=08c5ddb1214d251fd952012a2084f397cec0530ec0295943c3e671eba7c58161, /upload/img/ggh-023-2007,noindex.jpg?w=2400&h=1186&zx=2250&zy=1500&ti=1521417600&code=3ad176388ff679674a40ee8895501dd983b6c175015497bc3d7f18ae222677b9 2x" media="(min-width: 1001px) and (max-width: 1200px)"> 1352<source srcset="/upload/img/ggh-023-2007,noindex.jpg?w=1800&h=890&zx=2250&zy=1500&ti=1521417600&code=4cdf061d1804a1f8bef224cece0dad45efe391f960aeb68c079baf77c0c0cbfc, /upload/img/ggh-023-2007,noindex.jpg?w=3600&h=1780&zx=2250&zy=1500&ti=1521417600&code=7f98ee90256d8d22dc2ad34fc1fe7412636dacc3066627b4b6dc2fde4c44855e 2x" media="(min-width: 1201px)"> 1353<img srcset="/upload/img/ggh-023-2007.jpg?w=320&h=158&zx=2250&zy=1500&ti=1521417600&code=ed601f32cefe8ba0e8be7f4293984ec0309f7bdfad2fa2343493d72c9c3bd16a, /upload/img/ggh-023-2007.jpg?w=640&h=316&zx=2250&zy=1500&ti=1521417600&code=66a37658ca0acf7a92490f2ce01c49b7685db707eb31f55912730f3244593792 2x" alt="" title="" /> 1354</picture><div class="kopbildinfo"><div class="kbi_headline"></div><div class="kbi_headline_text"></div></div></div></div> 1355 <!-- xyx --> 1356 1357 </div> 1358 <article id="maincontent"> 1359 <!--<div class="submenu group"><ul><li><a href="/museum">Museum</a></li><li><a href="/foerderer">Förderer</a></li><li class="aktiv"><a href="/shop">Shop</a></li></ul></div>--> 1360 1361 <div class="gcms_headline1"><h1>Shop</h1></div><div class="gcms_keinbild nogrey"><div class="gcms_text"><h2 style="text-align: justify;">Herzlich willkommen im Shop des Günter Grass-Hauses! </h2> 1362<h3 style="text-align: justify;">Suchen Sie ein ganz besonderes Geschenk, das nur bei uns erhältlich ist?</h3> 1363<p style="text-align: justify;">In unserem Museumsshop können Sie Originalgrafiken, Skulpturen und natürlich Bücher von Günter Grass erwerben. Darüber hinaus bieten wir Sondereditionen von Künstler:innen wie Cornelia Funke, Janosch oder Helme Heine an. Entdecken Sie weitere individuelle Produkte wie Schmuck, Rotter-Gläser, Taschen oder Malutensilien.<br><br>Wir beraten Sie gerne unter Tel. 0451 122 4230 (tägl. 10 bis 17 Uhr) oder per E-Mail an: <a href="mailto:[email protected]">[email protected]</a></p></div></div><div class="gcms_keinbild"><div class="gcms_text"><p>Unsere Bestellmöglichkeiten und -konditionen finden Sie <a href="/ggh---bestellung-und-versand">hier</a>.</p> 1364<p>Bitte beachten Sie auch unsere <a href="/ggh---agb">AGB</a>.</p></div></div><div class="content_menu_teaser_container"> 1365 <div class="content_menu_teaser_control filterbox filteroffen"><span>Sortiment</span></div> 1366 <div class="content_menu_teaser_box" style="display:block;"> 1367 <div class="content_menu_teaser group"> 1368 <div class="cmt_container" style="background-image:url(/upload/img/plusicon_nurpfeil.svg), url(/upload/img/kuss-aus-luebeck.jpg?w=970&h=460&zx=403&zy=490);"> 1369 <a href="/shop?kat=22"> 1370 <h2>Sondereditionen</h2> 1371 <div class="cmt_bild">
1371<picture data-alt="Sondereditionen" data-copyright=""> 1372<source srcset="/upload/img/kuss-aus-luebeck.jpg?w=480&h=230&zx=403&zy=490&ti=1595516353&code=3b2bf650a26560017b1a2fa6baac01b44810f1434e3c6ef91754758f7a239973" media="(min-width: 711px)"> 1373<source srcset="/upload/img/kuss-aus-luebeck.jpg?w=710&h=230&zx=403&zy=490&ti=1595516353&code=9164dbb43f3453ca1ee87087d9ed712797a8f813658af758ae10f1bf829e9147" media="(min-width: 1px) and (max-width: 710px)"> 1374<img srcset="/upload/img/kuss-aus-luebeck.jpg?w=480&h=230&zx=403&zy=490&ti=1595516353&code=3b2bf650a26560017b1a2fa6baac01b44810f1434e3c6ef91754758f7a239973" alt="Sondereditionen" title="" /> 1375</picture><div class="plusicon"><?xml version="1.0" encoding="UTF-8" standalone="no"?> 1376<svg width="83px" height="83px" viewBox="0 0 83 83" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 1377 <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch --> 1378 <desc>Created with Sketch.</desc> 1379 <defs></defs> 1380 <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 1381 <g id="Artboard-2" transform="translate(-9.000000, -3.000000)"> 1382 <g id="plusicon(1)" transform="translate(11.000000, 5.000000)"> 1383 <g id="Page-1"> 1384 <g id="Artboard"> 1385 <g id="Icons"> 1386 <circle id="Oval" stroke="#FFFFFF" stroke-width="3" cx="39.5" cy="39.5" r="39.5"></circle> 1387 <g id="nicht_pfeil" transform="translate(22.000000, 22.000000)" stroke="#FFFFFF" stroke-width="3"> 1388 <path d="M17.5,0.5909091 L17.5,33.5904076" id="plus"></path> 1389 <path d="M33.9772727,17 L0.9777742,17" id="minus"></path> 1390 </g> 1391 <g id="pfeil" opacity="0" transform="translate(21.000000, 22.000000)" fill="#FFFFFF"> 1392 <path d="M1.56697524,18.1174965 L33.849261,18.1174965 L22.7518196,30.6187407 C22.1842631,31.2585591 22.2562401,32.22578 22.9099331,32.7791365 L22.9111131,32.7791365 C23.5636261,33.3324929 24.5524252,33.2633234 25.1199818,32.6258106 L38.6174439,17.4211896 C39.1366224,16.8355541 39.1260029,15.9640177 38.5938449,15.3899104 L24.7730761,0.502316499 C24.1925401,-0.123667973 23.202561,-0.170933835 22.5606675,0.396256515 L22.5606675,0.397409341 C21.9187741,0.964599692 21.8703961,1.93297346 22.452112,2.55895793 L34.0545725,15.0567437 L1.56697524,15.0567437 C0.702070983,15.0567437 0,15.7415223 0,16.5865437 C0,17.4315651 0.702070983,18.1174965 1.56697524,18.1174965" id="arrow_icon"></path> 1393 </g> 1394 </g> 1395 </g> 1396 </g> 1397 </g> 1398 </g> 1399 </g> 1400</svg></div></div> 1401 </a> 1402 </div> 1403 <div class="cmt_container" style="background-image:url(/upload/img/plusicon_nurpfeil.svg), url(/upload/img/schmuck_kette-butt.jpg?w=970&h=460&zx=1303&zy=225);"> 1404 <a href="/shop?kat=23"> 1405 <h2>Günter Grass-Schmuck</h2> 1406 <div class="cmt_bild"><picture data-alt="Günter Grass-Schmuck" data-copyright=""> 1407<source srcset="/upload/img/schmuck_kette-butt.jpg?w=480&h=230&zx=1303&zy=225&ti=1521417600&code=a1f17a92e2e044c2e9fe8809a170964afcfec50060225b0cb4bb3ad61512a48e, /upload/img/schmuck_kette-butt.jpg?w=960&h=460&zx=1303&zy=225&ti=1521417600&code=b1c77de4b57e1523e37097166cb149342a653088c7551da448d366873bcf55f7 2x" media="(min-width: 711px)"> 1408<source srcset="/upload/img/schmuck_kette-butt.jpg?w=710&h=230&zx=1303&zy=225&ti=1521417600&code=bb9be55b94d610725568b7a1c8ddd45ecb6ad6824d8c1c427ea761615575ceb1, /upload/img/schmuck_kette-butt,noindex.jpg?w=1420&h=460&zx=1303&zy=225&ti=1521417600&code=bea45e5ee51172939db18d4c23351f7eb5ee9118e4496accb9c6eecae68a15ce 2x" media="(min-width: 1px) and (max-width: 710px)"> 1409<img srcset="/upload/img/schmuck_kette-butt.jpg?w=480&h=230&zx=1303&zy=225&ti=1521417600&code=a1f17a92e2e044c2e9fe8809a170964afcfec50060225b0cb4bb3ad61512a48e, /upload/img/schmuck_kette-butt.jpg?w=960&h=460&zx=1303&zy=225&ti=1521417600&code=b1c77de4b57e1523e37097166cb149342a653088c7551da448d366873bcf55f7 2x" alt="Günter Grass-Schmuck" title="" /> 1410</picture><div class="plusicon"><?xml version="1.0" encoding="UTF-8" standalone="no"?> 1411<svg width="83px" height="83px" viewBox="0 0 83 83" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 1412 <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch --> 1413 <desc>Created with Sketch.</desc> 1414 <defs></defs> 1415 <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 1416 <g id="Artboard-2" transform="translate(-9.000000, -3.000000)"> 1417 <g id="plusicon(1)" transform="translate(11.000000, 5.000000)"> 1418 <g id="Page-1"> 1419 <g id="Artboard"> 1420 <g id="Icons"> 1421 <circle id="Oval" stroke="#FFFFFF" stroke-width="3" cx="39.5" cy="39.5" r="39.5"></circle> 1422 <g id="nicht_pfeil" transform="translate(22.000000, 22.000000)" stroke="#FFFFFF" stroke-width="3"> 1423 <path d="M17.5,0.5909091 L17.5,33.5904076" id="plus"></path> 1424 <path d="M33.9772727,17 L0.9777742,17" id="minus"></path> 1425 </g> 1426 <g id="pfeil" opacity="0" transform="translate(21.000000, 22.000000)" fill="#FFFFFF"> 1427 <path d="M1.56697524,18.1174965 L33.849261,18.1174965 L22.7518196,30.6187407 C22.1842631,31.2585591 22.2562401,32.22578 22.9099331,32.7791365 L22.9111131,32.7791365 C23.5636261,33.3324929 24.5524252,33.2633234 25.1199818,32.6258106 L38.6174439,17.4211896 C39.1366224,16.8355541 39.1260029,15.9640177 38.5938449,15.3899104 L24.7730761,0.502316499 C24.1925401,-0.123667973 23.202561,-0.170933835 22.5606675,0.396256515 L22.5606675,0.397409341 C21.9187741,0.964599692 21.8703961,1.93297346 22.452112,2.55895793 L34.0545725,15.0567437 L1.56697524,15.0567437 C0.702070983,15.0567437 0,15.7415223 0,16.5865437 C0,17.4315651 0.702070983,18.1174965 1.56697524,18.1174965" id="arrow_icon"></path> 1428 </g> 1429 </g> 1430 </g> 1431 </g> 1432 </g> 1433 </g> 1434 </g> 1435</svg></div></div> 1436 </a> 1437 </div> 1438 <div class="cmt_container" style="background-image:url(/upload/img/plusicon_nurpfeil.svg), url(/upload/img/letzte-taenze-vz-graphik-001_zugeschnitten2.jpg?w=970&h=460&zx=2510&zy=1748);"> 1439 <a href="/shop?kat=24"> 1440 <h2>Besondere Angebote</h2> 1441 <div class="cmt_bild">
1441<picture data-alt="Besondere Angebote" data-copyright=""> 1442<source srcset="/upload/img/letzte-taenze-vz-graphik-001_zugeschnitten2.jpg?w=480&h=230&zx=2510&zy=1748&ti=1592230628&code=d45e9aa93589d60e2ea2667228f6349ebeb7c856ae6d1cec12cfeb6186c1812a, /upload/img/letzte-taenze-vz-graphik-001_zugeschnitten2.jpg?w=960&h=460&zx=2510&zy=1748&ti=1592230628&code=94be175e20e5d944bb8a9697b39b3a8af0e6ccebefec89a79bc173efa3fa2a59 2x" media="(min-width: 711px)"> 1443<source srcset="/upload/img/letzte-taenze-vz-graphik-001_zugeschnitten2.jpg?w=710&h=230&zx=2510&zy=1748&ti=1592230628&code=836907a40279450dbf0b40af629079d5c6246d39f703068c44c59332c793fccd, /upload/img/letzte-taenze-vz-graphik-001_zugeschnitten2,noindex.jpg?w=1420&h=460&zx=2510&zy=1748&ti=1592230628&code=81715776d171015ba9e114eb85dc4bd34febc2eaf9dbfd918a0465320ba69237 2x" media="(min-width: 1px) and (max-width: 710px)"> 1444<img srcset="/upload/img/letzte-taenze-vz-graphik-001_zugeschnitten2.jpg?w=480&h=230&zx=2510&zy=1748&ti=1592230628&code=d45e9aa93589d60e2ea2667228f6349ebeb7c856ae6d1cec12cfeb6186c1812a, /upload/img/letzte-taenze-vz-graphik-001_zugeschnitten2.jpg?w=960&h=460&zx=2510&zy=1748&ti=1592230628&code=94be175e20e5d944bb8a9697b39b3a8af0e6ccebefec89a79bc173efa3fa2a59 2x" alt="Besondere Angebote" title="" /> 1445</picture><div class="plusicon"><?xml version="1.0" encoding="UTF-8" standalone="no"?> 1446<svg width="83px" height="83px" viewBox="0 0 83 83" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 1447 <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch --> 1448 <desc>Created with Sketch.</desc> 1449 <defs></defs> 1450 <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 1451 <g id="Artboard-2" transform="translate(-9.000000, -3.000000)"> 1452 <g id="plusicon(1)" transform="translate(11.000000, 5.000000)"> 1453 <g id="Page-1"> 1454 <g id="Artboard"> 1455 <g id="Icons"> 1456 <circle id="Oval" stroke="#FFFFFF" stroke-width="3" cx="39.5" cy="39.5" r="39.5"></circle> 1457 <g id="nicht_pfeil" transform="translate(22.000000, 22.000000)" stroke="#FFFFFF" stroke-width="3"> 1458 <path d="M17.5,0.5909091 L17.5,33.5904076" id="plus"></path> 1459 <path d="M33.9772727,17 L0.9777742,17" id="minus"></path> 1460 </g> 1461 <g id="pfeil" opacity="0" transform="translate(21.000000, 22.000000)" fill="#FFFFFF"> 1462 <path d="M1.56697524,18.1174965 L33.849261,18.1174965 L22.7518196,30.6187407 C22.1842631,31.2585591 22.2562401,32.22578 22.9099331,32.7791365 L22.9111131,32.7791365 C23.5636261,33.3324929 24.5524252,33.2633234 25.1199818,32.6258106 L38.6174439,17.4211896 C39.1366224,16.8355541 39.1260029,15.9640177 38.5938449,15.3899104 L24.7730761,0.502316499 C24.1925401,-0.123667973 23.202561,-0.170933835 22.5606675,0.396256515 L22.5606675,0.397409341 C21.9187741,0.964599692 21.8703961,1.93297346 22.452112,2.55895793 L34.0545725,15.0567437 L1.56697524,15.0567437 C0.702070983,15.0567437 0,15.7415223 0,16.5865437 C0,17.4315651 0.702070983,18.1174965 1.56697524,18.1174965" id="arrow_icon"></path> 1463 </g> 1464 </g> 1465 </g> 1466 </g> 1467 </g> 1468 </g> 1469 </g> 1470</svg></div></div> 1471 </a> 1472 </div> 1473 <div class="cmt_container" style="background-image:url(/upload/img/plusicon_nurpfeil.svg), url(/upload/img/schreibers-hand_zugeschnitten.jpg?w=970&h=460&zx=3460&zy=2467);"> 1474 <a href="/shop?kat=5"> 1475 <h2>Publikationen</h2> 1476 <div class="cmt_bild"><picture data-alt="Publikationen" data-copyright=""> 1477<source srcset="/upload/img/schreibers-hand_zugeschnitten.jpg?w=480&h=230&zx=3460&zy=2467&ti=1593793586&code=add407a8205b93dd57466b89f881397bbb83ff9ff04d1726fa37b53acd0dc6d6, /upload/img/schreibers-hand_zugeschnitten.jpg?w=960&h=460&zx=3460&zy=2467&ti=1593793586&code=3c9a84c69c33f40e0147ed0b8ab489e47ab7f72ea39cbbff151f013749769fa7 2x" media="(min-width: 711px)"> 1478<source srcset="/upload/img/schreibers-hand_zugeschnitten.jpg?w=710&h=230&zx=3460&zy=2467&ti=1593793586&code=024f86ee7d9a555ba001dfd2053a37210332a6a4375503c74e74a90a9c58be16, /upload/img/schreibers-hand_zugeschnitten,noindex.jpg?w=1420&h=460&zx=3460&zy=2467&ti=1593793586&code=eb25fb05d03a86205122ccc3631829d04e85e76cfb412267b50d8e57223b49ba 2x" media="(min-width: 1px) and (max-width: 710px)"> 1479<img srcset="/upload/img/schreibers-hand_zugeschnitten.jpg?w=480&h=230&zx=3460&zy=2467&ti=1593793586&code=add407a8205b93dd57466b89f881397bbb83ff9ff04d1726fa37b53acd0dc6d6, /upload/img/schreibers-hand_zugeschnitten.jpg?w=960&h=460&zx=3460&zy=2467&ti=1593793586&code=3c9a84c69c33f40e0147ed0b8ab489e47ab7f72ea39cbbff151f013749769fa7 2x" alt="Publikationen" title="" /> 1480</picture><div class="plusicon"><?xml version="1.0" encoding="UTF-8" standalone="no"?> 1481<svg width="83px" height="83px" viewBox="0 0 83 83" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 1482 <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch --> 1483 <desc>Created with Sketch.</desc> 1484 <defs></defs> 1485 <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 1486 <g id="Artboard-2" transform="translate(-9.000000, -3.000000)"> 1487 <g id="plusicon(1)" transform="translate(11.000000, 5.000000)"> 1488 <g id="Page-1"> 1489 <g id="Artboard"> 1490 <g id="Icons"> 1491 <circle id="Oval" stroke="#FFFFFF" stroke-width="3" cx="39.5" cy="39.5" r="39.5"></circle> 1492 <g id="nicht_pfeil" transform="translate(22.000000, 22.000000)" stroke="#FFFFFF" stroke-width="3"> 1493 <path d="M17.5,0.5909091 L17.5,33.5904076" id="plus"></path> 1494 <path d="M33.9772727,17 L0.9777742,17" id="minus"></path> 1495 </g> 1496 <g id="pfeil" opacity="0" transform="translate(21.000000, 22.000000)" fill="#FFFFFF"> 1497 <path d="M1.56697524,18.1174965 L33.849261,18.1174965 L22.7518196,30.6187407 C22.1842631,31.2585591 22.2562401,32.22578 22.9099331,32.7791365 L22.9111131,32.7791365 C23.5636261,33.3324929 24.5524252,33.2633234 25.1199818,32.6258106 L38.6174439,17.4211896 C39.1366224,16.8355541 39.1260029,15.9640177 38.5938449,15.3899104 L24.7730761,0.502316499 C24.1925401,-0.123667973 23.202561,-0.170933835 22.5606675,0.396256515 L22.5606675,0.397409341 C21.9187741,0.964599692 21.8703961,1.93297346 22.452112,2.55895793 L34.0545725,15.0567437 L1.56697524,15.0567437 C0.702070983,15.0567437 0,15.7415223 0,16.5865437 C0,17.4315651 0.702070983,18.1174965 1.56697524,18.1174965" id="arrow_icon"></path> 1498 </g> 1499 </g> 1500 </g> 1501 </g> 1502 </g> 1503 </g> 1504 </g> 1505</svg></div></div> 1506 </a> 1507 </div> 1508 <div class="cmt_container" style="background-image:url(/upload/img/plusicon_nurpfeil.svg), url(/upload/img/lesezeichen1.jpg?w=970&h=460&zx=3509&zy=1508);"> 1509 <a href="/shop?kat=2"> 1510 <h2> Schenken & Behalten</h2> 1511 <div class="cmt_bild">
1511<picture data-alt=" Schenken & Behalten" data-copyright=""> 1512<source srcset="/upload/img/lesezeichen1.jpg?w=480&h=230&zx=3509&zy=1508&ti=1521417600&code=3ec7b02a88b0423f3418dd4cfd7ae7b9fffea4b41187b1fdb2ac8176eca3e837, /upload/img/lesezeichen1.jpg?w=960&h=460&zx=3509&zy=1508&ti=1521417600&code=207994da1d8bd436e3cc839e269eaaeceb81dd3be96ce77debe240ce63f74bbb 2x" media="(min-width: 711px)"> 1513<source srcset="/upload/img/lesezeichen1.jpg?w=710&h=230&zx=3509&zy=1508&ti=1521417600&code=69deff4e7d1ccd9f3ec1f8a016d03427a9a5397b53c01bb4160e27cb5b74ebc7, /upload/img/lesezeichen1,noindex.jpg?w=1420&h=460&zx=3509&zy=1508&ti=1521417600&code=4ec04542f54a56ac55e80d0707a5a8e782023983a89f6155775b62caa3ade0d6 2x" media="(min-width: 1px) and (max-width: 710px)"> 1514<img srcset="/upload/img/lesezeichen1.jpg?w=480&h=230&zx=3509&zy=1508&ti=1521417600&code=3ec7b02a88b0423f3418dd4cfd7ae7b9fffea4b41187b1fdb2ac8176eca3e837, /upload/img/lesezeichen1.jpg?w=960&h=460&zx=3509&zy=1508&ti=1521417600&code=207994da1d8bd436e3cc839e269eaaeceb81dd3be96ce77debe240ce63f74bbb 2x" alt=" Schenken & Behalten" title="" /> 1515</picture><div class="plusicon"><?xml version="1.0" encoding="UTF-8" standalone="no"?> 1516<svg width="83px" height="83px" viewBox="0 0 83 83" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 1517 <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch --> 1518 <desc>Created with Sketch.</desc> 1519 <defs></defs> 1520 <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 1521 <g id="Artboard-2" transform="translate(-9.000000, -3.000000)"> 1522 <g id="plusicon(1)" transform="translate(11.000000, 5.000000)"> 1523 <g id="Page-1"> 1524 <g id="Artboard"> 1525 <g id="Icons"> 1526 <circle id="Oval" stroke="#FFFFFF" stroke-width="3" cx="39.5" cy="39.5" r="39.5"></circle> 1527 <g id="nicht_pfeil" transform="translate(22.000000, 22.000000)" stroke="#FFFFFF" stroke-width="3"> 1528 <path d="M17.5,0.5909091 L17.5,33.5904076" id="plus"></path> 1529 <path d="M33.9772727,17 L0.9777742,17" id="minus"></path> 1530 </g> 1531 <g id="pfeil" opacity="0" transform="translate(21.000000, 22.000000)" fill="#FFFFFF"> 1532 <path d="M1.56697524,18.1174965 L33.849261,18.1174965 L22.7518196,30.6187407 C22.1842631,31.2585591 22.2562401,32.22578 22.9099331,32.7791365 L22.9111131,32.7791365 C23.5636261,33.3324929 24.5524252,33.2633234 25.1199818,32.6258106 L38.6174439,17.4211896 C39.1366224,16.8355541 39.1260029,15.9640177 38.5938449,15.3899104 L24.7730761,0.502316499 C24.1925401,-0.123667973 23.202561,-0.170933835 22.5606675,0.396256515 L22.5606675,0.397409341 C21.9187741,0.964599692 21.8703961,1.93297346 22.452112,2.55895793 L34.0545725,15.0567437 L1.56697524,15.0567437 C0.702070983,15.0567437 0,15.7415223 0,16.5865437 C0,17.4315651 0.702070983,18.1174965 1.56697524,18.1174965" id="arrow_icon"></path> 1533 </g> 1534 </g> 1535 </g> 1536 </g> 1537 </g> 1538 </g> 1539 </g> 1540</svg></div></div> 1541 </a> 1542 </div> 1543 1544<a name="inhalt"></a> 1545</div></div></div> 1546 1547<div class="gcms_extern" id="gcms_gated_1255110555179096191245280700" data-gcms-gated="1" data-gcms-requires="pref,market" data-gcms-spid="0" data-gcms-ds="6395" data-gcms-co="6578" data-gcms-seid="483" data-gcms-ink="0"><div class="gcms_extern_center"><h2>Externer Inhalt â Youtube Video</h2><div class="gcms_extern_text">An dieser Stelle finden Sie einen externen Inhalt, der den Artikel ergänzt. Sie können ihn sich mit einem Klick anzeigen lassen. Der Inhalt ist vom Typ <strong>Youtube Video</strong>.</div><div class="gcms_extern_toggle"><label class="gcms_extern_switch" for="gcms_sw_1153393235179096191245306900"><span style="display:none">Externer Inhalt</span><input type="checkbox" id="gcms_sw_1153393235179096191245306900" onchange="gcms_extern_noreload(this,0,6395,6578,'pref,market','gcms_gated_1255110555179096191245280700')"><span class="gcms_extern_slider"></span></label><label class="gcms_extern_toggle_text" for="gcms_sw_1153393235179096191245306900">Externer Inhalt</label></div><div class="gcms_extern_desc">Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden und akzeptiere alle Cookies dieser Webseite. Damit können personenbezogene Daten an Drittplattformen übermittelt werden. Mehr dazu in unserer <a href="/datenschutz" target="_blank">Datenschutzerklärung</a> und <a href="/cookie-erklaerung" target="_blank">Cookie-Erklärung</a>.</div></div><template data-gcms-requires="pref,market" data-gcms-target="#gcms_gated_1255110555179096191245280700"><div class="gcms_video_out"><div class="gcms_video"><div style="padding:0;position:relative;width:100%;padding-top:56.5%"><iframe style="position:absolute;top:0;left:0;width:100%;height:100%;" src="https://www.youtube-nocookie.com/embed/3U8lNJkiH84?rel=0" title="Youtube Video" referrerpolicy="str
1547ict-origin-when-cross-origin" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></div></div></div></template></div><div class="gcms_extern" id="gcms_gated_1280065959179096191245336400" data-gcms-gated="1" data-gcms-requires="pref,market" data-gcms-spid="0" data-gcms-ds="6395" data-gcms-co="6578" data-gcms-seid="483" data-gcms-ink="0"><div class="gcms_extern_center"><h2>Externer Inhalt â Youtube Video</h2><div class="gcms_extern_text">An dieser Stelle finden Sie einen externen Inhalt, der den Artikel ergänzt. Sie können ihn sich mit einem Klick anzeigen lassen. Der Inhalt ist vom Typ <strong>Youtube Video</strong>.</div><div class="gcms_extern_toggle"><label class="gcms_extern_switch" for="gcms_sw_1434075307179096191245360800"><span style="display:none">Externer Inhalt</span><input type="checkbox" id="gcms_sw_1434075307179096191245360800" onchange="gcms_extern_noreload(this,0,6395,6578,'pref,market','gcms_gated_1280065959179096191245336400')"><span class="gcms_extern_slider"></span></label><label class="gcms_extern_toggle_text" for="gcms_sw_1434075307179096191245360800">Externer Inhalt</label></div><div class="gcms_extern_desc">Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden und akzeptiere alle Cookies dieser Webseite. Damit können personenbezogene Daten an Drittplattformen übermittelt werden. Mehr dazu in unserer <a href="/datenschutz" target="_blank">Datenschutzerklärung</a> und <a href="/cookie-erklaerung" target="_blank">Cookie-Erklärung</a>.</div></div><template data-gcms-requires="pref,market" data-gcms-target="#gcms_gated_1280065959179096191245336400"><div class="gcms_video_out"><div class="gcms_video"><div style="padding:0;position:relative;width:100%;padding-top:56.5%"><iframe style="position:absolute;top:0;left:0;width:100%;height:100%;" src="https://www.youtube-nocookie.com/embed/ZAvBgfiROgc?rel=0" title="Youtube Video" referrerpolicy="strict-origin-when-cross-origin" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></div></div></div></template></div> 1548 1549 1550 </article> 1551 </main> 1552 </div> 1553 <footer class="maxw"> 1554 <nav class="meta group"> 1555 <ul><li><a href="/newsletter">Newsletter</a></li><li><a href="/kontakt">Kontakt</a></li><li><a href="https://luebecker-museen.de/presse">Presse</a></li><li><a href="/barrierefreiheit">Barrierefreiheit</a></li><li><a href="https://luebecker-museen.de/jobs">Jobs</a></li><li><a href="/impressum">Impressum</a></li><li><a href="/datenschutz">Datenschutz</a></li><li><a href="/agb-ggh">AGB</a></li><li><a href="/cookie-erklaerung">Cookie-Erklärung</a></li></ul> </nav> 1556 <div class="footerlogo"><a href="https://luebecker-museen.de" name="Portal der Lübecker Museen" title="Portal der Lübecker Museen"><img src="/upload/img/logos23_footer.svg" alt="Portal der Lübecker Museen" /></a></div> 1557<div class="social group"> 1558 <ul> 1559 <li class="facebook"><a target="_blank" name="Besuchen Sie uns auf Facebook" title="Besuchen Sie uns auf Facebook" href="https://www.facebook.com/grasshaus">Facebook</a></li> 1560 <li class="instagram"><a target="_blank" name="Besuchen Sie uns auf Instagram" title="Besuchen Sie uns auf Instagram" href="http://instagram.com/guentergrasshaus">Instagram</a></li> 1561 <li class="youtube"><a target="_blank" name="Besuchen Sie uns auf Youtube" title="Besuchen Sie uns auf Youtube" href="https://www.youtube.com/channel/UCoGAT6U3m5LjPkf3lq_knbA">youtube</a></li> 1562 </ul> 1563<div class="hashtag-container"> 1564 <span class="hashtag-copy">#LuebeckerMuseen</span> 1565 <div class="copy-feedback">kopiert</div> 1566</div> 1567</div> 1568<style>.hashtag-container { 1569 text-align: center; 1570} 1571 1572.hashtag-copy { 1573 display: block; 1574 font-family: var(--font-Neo-Sans-Medium); 1575 font-size: 1rem; 1576 font-style: normal; 1577 font-weight: 500; 1578 line-height: 1.5; 1579 color: #9b9b9b; 1580 cursor: pointer; 1581 text-decoration: underline; 1582 margin-top: 25px; 1583} 1584 1585.copy-feedback { 1586 display: block; 1587 margin-top: 5px; 1588 color: #9b9b9b; 1589 font-family: var(--font-Neo-Sans-Medium); 1590 font-size: 0.6rem; 1591 font-weight: 500; 1592 opacity: 0; 1593 transition: opacity 0.5s; 1594}</style> 1595 </footer> 1596
1596<script src="/gcms6/plugins/jquery-1.12.4.min.js"></script>
1596 1597
1597<script type="text/javascript" src="/data/js/js_1252_owljs_1472814347.js"></script>
1597 1598
1598<script type="text/javascript" src="/data/js/js_55_functionsjs_1790157281.js"></script>
vendor: 2 bytes, line 1598
1598
1599<script>GCMS_TRACK = 0;GCMS_BS = 0;</script>
1599<script type="text/javascript" src="/gcms6/cms_helper260310_pb.js?v=1790694555"></script>
1599 1600
1601<script type="text/javascript" src="/data/js/js_21780_calenderbtnjs_1693993393.js"></script>
vendor: 1 bytes, line 1601
1601
1602<script type="text/javascript" src="/data/js/js_66_flexsliderjs_1693560072.js"></script>
vendor: 1 bytes, line 1602
1602
1603<script type="text/javascript" src="/data/js/js_14349_ybjs_1680002204.js"></script>
vendor: 1 bytes, line 1603
1603
1604<script type="text/javascript" src="/data/js/js_23406_slickjs_1693812765.js"></script>
vendor: 1 bytes, line 1604
1604
1605<script type="text/javascript" src="/data/js/js_75_salvattoreminjs_1469170109.js"></script>
1605 1606 1607</body> 1608</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.