PageSourceSearch

https://grass-haus.de/shop

html grass-haus.de collected 2026-10-02 17:25:13 UTC 104,321 bytes, 1,608 lines download raw bytes

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&ouml;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 &amp; 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 &amp; 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.