{"id":254978,"date":"2024-12-27T20:31:11","date_gmt":"2024-12-27T20:31:11","guid":{"rendered":"https:\/\/sherdin.de\/?page_id=254978"},"modified":"2026-10-12T13:30:51","modified_gmt":"2026-10-12T13:30:51","slug":"gallery","status":"publish","type":"page","link":"https:\/\/sherdin.de\/en\/gallery","title":{"rendered":"ART GALLERY"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_block_section\"><div class=\"et_pb_row_0 et_pb_row et_block_row\"><div class=\"et_pb_column_0 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- =========================================================\n     SHERDIN \u00b7 GALLERY START\n========================================================= -->\n\n<style>\n\n\/* =========================================================\n   DIESES CODE-MODUL DARF KEINEN PLATZ BEANSPRUCHEN\n========================================================= *\/\n\n.et_pb_code:has(#sherdin-gallery-start){\n  position:absolute !important;\n  width:0 !important;\n  height:0 !important;\n  min-height:0 !important;\n\n  margin:0 !important;\n  padding:0 !important;\n\n  overflow:visible !important;\n}\n\n\n\/* =========================================================\n   SCHWARZE STARTFL\u00c4CHE\n========================================================= *\/\n\n#sherdin-gallery-start{\n  position:fixed;\n  inset:0;\n\n  z-index:2147483646;\n\n  background:#000;\n\n  opacity:1;\n  visibility:visible;\n\n  pointer-events:none;\n\n  transition:\n    opacity .65s ease,\n    visibility 0s linear .65s;\n}\n\n\n\/* =========================================================\n   STARTFL\u00c4CHE AUSBLENDEN\n========================================================= *\/\n\nhtml.sherdin-gallery-start-ready #sherdin-gallery-start{\n  opacity:0;\n  visibility:hidden;\n}\n\n\n\/* =========================================================\n   MEN\u00dc BEIM START ZUR\u00dcCKHALTEN\n========================================================= *\/\n\n#ssn-menu{\n  opacity:0;\n  transition:opacity .55s ease .20s;\n}\n\n\n\/* Men\u00fc anschlie\u00dfend einblenden *\/\nhtml.sherdin-gallery-start-ready #ssn-menu{\n  opacity:1;\n}\n\n<\/style>\n\n\n<div id=\"sherdin-gallery-start\" aria-hidden=\"true\"><\/div>\n\n\n<script>\n(function(){\n\n  function startGallery(){\n\n    window.setTimeout(function(){\n\n      document.documentElement.classList.add(\n        \"sherdin-gallery-start-ready\"\n      );\n\n    }, 300);\n\n  }\n\n\n  if(document.readyState === \"complete\"){\n\n    startGallery();\n\n  }else{\n\n    window.addEventListener(\n      \"load\",\n      startGallery,\n      { once:true }\n    );\n\n  }\n\n})();\n<\/script>\n\n\n\n<style>\n#new-sherdin-art-gallery .sherdin-controls{\n  position:absolute !important;\n  left:50px !important;\n  bottom:34px !important;\n}\n<\/style>\n\n\n\n\n<style>\nhtml,\nbody{\n  height:100% !important;\n  overflow-y:hidden !important;\n}\n<\/style><\/div><\/div><div class=\"et_pb_gallery_0 et_pb_gallery et_pb_bg_layout_light et_pb_slider et_pb_gallery_fullwidth clearfix et_slider_auto et_slider_speed_8500 et_pb_module\" data-auto-rotate=\"off\" data-auto-rotate-speed=\"\" id=\"new-sherdin-art-gallery\"><div class=\"et_pb_gallery_items et_post_gallery clearfix\" data-per_page=\"4\"><div class=\"et_pb_gallery_item et_pb_gallery_item_0_0\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/04\/SherdinArt-SashaSherdin-0934.jpg\" title=\"SherdinArt-SashaSherdin-0934\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/04\/SherdinArt-SashaSherdin-0934.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-256360\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/04\/SherdinArt-SashaSherdin-0934.jpg 800w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/04\/SherdinArt-SashaSherdin-0934-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_1\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0922.jpg\" title=\"SherdinArt-SashaSherdin-0922\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0922.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255373\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0922.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0922-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_2\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0921.jpg\" title=\"SherdinArt-SashaSherdin-0921\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0921.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255364\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0921.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0921-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_3\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0930.jpg\" title=\"SherdinArt-SashaSherdin-0930\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0930.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255365\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0930.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0930-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_4\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0929.jpg\" title=\"SherdinArt-SashaSherdin-0929\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0929.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255366\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0929.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0929-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_5\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0928.jpg\" title=\"SherdinArt-SashaSherdin-0928\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0928.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255367\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0928.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0928-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_6\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0927.jpg\" title=\"SherdinArt-SashaSherdin-0927\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0927.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255368\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0927.jpg 800w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0927-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_7\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0926.jpg\" title=\"SherdinArt-SashaSherdin-0926\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0926.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255369\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0926.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0926-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_8\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0925.jpg\" title=\"SherdinArt-SashaSherdin-0925\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0925.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255370\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0925.jpg 754w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0925-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 754px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_9\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0924.jpg\" title=\"SherdinArt-SashaSherdin-0924\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0924.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255371\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0924.jpg 800w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0924-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_10\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0923.jpg\" title=\"SherdinArt-SashaSherdin-0923\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0923.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255372\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0923.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/03\/SherdinArt-SashaSherdin-0923-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_11\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0918.jpg\" title=\"SherdinArt-SashaSherdin-0918\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0918.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255184\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0918.jpg 668w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0918-480x719.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 668px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_12\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0917-1.jpg\" title=\"SherdinArt-SashaSherdin-0917-1\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0917-1.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255143\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0917-1.jpg 751w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0917-1-480x639.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 751px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_13\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/penado_httpss.mj_.runfexN4x2aZC4_httpss.mj_.runvCvyg27uWQY_vict_ad874623-1b32-4172-b575-ffceaa7a156f_0-Kopie.png\" title=\"penado_httpss.mj.runfexN4x2aZC4_httpss.mj.runvCvyg27uWQY_vict_ad874623-1b32-4172-b575-ffceaa7a156f_0 Kopie\"><img loading=\"lazy\" decoding=\"async\" width=\"1856\" height=\"2464\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/penado_httpss.mj_.runfexN4x2aZC4_httpss.mj_.runvCvyg27uWQY_vict_ad874623-1b32-4172-b575-ffceaa7a156f_0-Kopie.png\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255128\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/penado_httpss.mj_.runfexN4x2aZC4_httpss.mj_.runvCvyg27uWQY_vict_ad874623-1b32-4172-b575-ffceaa7a156f_0-Kopie.png 1856w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/penado_httpss.mj_.runfexN4x2aZC4_httpss.mj_.runvCvyg27uWQY_vict_ad874623-1b32-4172-b575-ffceaa7a156f_0-Kopie-1280x1699.png 1280w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/penado_httpss.mj_.runfexN4x2aZC4_httpss.mj_.runvCvyg27uWQY_vict_ad874623-1b32-4172-b575-ffceaa7a156f_0-Kopie-980x1301.png 980w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/penado_httpss.mj_.runfexN4x2aZC4_httpss.mj_.runvCvyg27uWQY_vict_ad874623-1b32-4172-b575-ffceaa7a156f_0-Kopie-480x637.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1856px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_14\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0916.png\" title=\"SherdinArt-SashaSherdin-0916\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"1248\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0916.png\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255115\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0916.png 960w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0916-480x624.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 960px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_15\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0915.jpg\" title=\"SherdinArt-SashaSherdin-0915\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0915.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255111\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0915.jpg 754w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/02\/SherdinArt-SashaSherdin-0915-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 754px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_16\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/01\/SherdinArt-SashaSherdin-0913.jpg\" title=\"SherdinArt-SashaSherdin-0913\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/01\/SherdinArt-SashaSherdin-0913.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255047\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/01\/SherdinArt-SashaSherdin-0913.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/01\/SherdinArt-SashaSherdin-0913-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_17\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0912.jpg\" title=\"SherdinArt-SashaSherdin-0912\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0912.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255035\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0912.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0912-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_18\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0910.jpg\" title=\"SherdinArt-SashaSherdin-0910\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0910.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255034\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0910.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0910-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_19\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0911-1.jpg\" title=\"SherdinArt-SashaSherdin-0911\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0911-1.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255033\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0911-1.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0911-1-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_20\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0909-1.jpg\" title=\"SherdinArt-SashaSherdin-0909\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0909-1.jpg\" alt=\"\" class=\"wp-image-255032\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0909-1.jpg 800w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0909-1-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_21\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0908-1.jpg\" title=\"SherdinArt-SashaSherdin-0908\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0908-1.jpg\" alt=\"Sherdin Art - Sasha Sherdin\" class=\"wp-image-255031\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0908-1.jpg 800w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0908-1-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_22\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0905-1.jpg\" title=\"SherdinArt-SashaSherdin-0905\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0905-1.jpg\" alt=\"\" class=\"wp-image-4818\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0905-1.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0905-1-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_23\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0906.jpg\" title=\"SherdinArt-SashaSherdin-0906\"><img loading=\"lazy\" decoding=\"async\" width=\"1780\" height=\"1001\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0906.jpg\" alt=\"\" class=\"wp-image-4821\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0906.jpg 1780w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0906-1280x720.jpg 1280w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0906-980x551.jpg 980w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0906-480x270.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1780px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_24\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0807.jpg\" title=\"SherdinArt-SashaSherdin-0807\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0807.jpg\" alt=\"\" class=\"wp-image-4259\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0807.jpg 668w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0807-480x719.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 668px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_25\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0786.jpg\" title=\"SherdinArt-SashaSherdin-0786\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0786.jpg\" alt=\"\" class=\"wp-image-3462\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0786.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0786-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_26\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0911.jpg\" title=\"SherdinArt-SashaSherdin-0911\"><img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0911.jpg\" alt=\"\" class=\"wp-image-4842\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0911.jpg 795w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0911-480x604.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 795px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_27\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0910.jpeg\" title=\"SherdinArt-SashaSherdin-0910\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"1200\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0910.jpeg\" alt=\"\" class=\"wp-image-4838\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0910.jpeg 960w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/12\/SherdinArt-SashaSherdin-0910-480x600.jpeg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 960px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_28\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0805.jpg\" title=\"SherdinArt-SashaSherdin-0805\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0805.jpg\" alt=\"\" class=\"wp-image-4253\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0805.jpg 668w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0805-480x719.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 668px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_29\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-01.jpg\" title=\"SherdinArt-SashaSherdin-20251109-01\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-01.jpg\" alt=\"\" class=\"wp-image-257431\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-01.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-01-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_30\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-05.jpg\" title=\"SherdinArt-SashaSherdin-20251109-05\"><img loading=\"lazy\" decoding=\"async\" width=\"666\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-05.jpg\" alt=\"\" class=\"wp-image-257432\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-05.jpg 666w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-05-480x721.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 666px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_31\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-04.jpg\" title=\"SherdinArt-SashaSherdin-20251109-04\"><img loading=\"lazy\" decoding=\"async\" width=\"896\" height=\"1344\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-04.jpg\" alt=\"\" class=\"wp-image-257433\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-04.jpg 896w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-04-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 896px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_32\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-03.jpg\" title=\"SherdinArt-SashaSherdin-20251109-03\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-03.jpg\" alt=\"\" class=\"wp-image-257434\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-03.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-03-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_33\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-02.jpg\" title=\"SherdinArt-SashaSherdin-20251109-02\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-02.jpg\" alt=\"\" class=\"wp-image-257435\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-02.jpg 800w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251109-02-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_34\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251120-01.jpg\" title=\"SherdinArt-SashaSherdin-20251120-01\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251120-01.jpg\" alt=\"\" class=\"wp-image-257513\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251120-01.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251120-01-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_35\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251125-01.jpg\" title=\"SherdinArt-SashaSherdin-20251125-01\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251125-01.jpg\" alt=\"\" class=\"wp-image-257516\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251125-01.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251125-01-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_36\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251125-02.jpg\" title=\"SherdinArt-SashaSherdin-20251125-02\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251125-02.jpg\" alt=\"\" class=\"wp-image-257517\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251125-02.jpg 753w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-20251125-02-480x637.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 753px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_37\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/12\/SherdinArt-SashaSherdin-20251216-01.jpg\" title=\"SherdinArt-SashaSherdin-20251216-01\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/12\/SherdinArt-SashaSherdin-20251216-01.jpg\" alt=\"\" class=\"wp-image-257524\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/12\/SherdinArt-SashaSherdin-20251216-01.jpg 668w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/12\/SherdinArt-SashaSherdin-20251216-01-480x719.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 668px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_38\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/12\/SherdinArt-SashaSherdin-20251216-02.jpg\" title=\"SherdinArt-SashaSherdin-20251216-02\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/12\/SherdinArt-SashaSherdin-20251216-02.jpg\" alt=\"\" class=\"wp-image-257523\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/12\/SherdinArt-SashaSherdin-20251216-02.jpg 668w, https:\/\/sherdin.de\/wp-content\/uploads\/2025\/12\/SherdinArt-SashaSherdin-20251216-02-480x719.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 668px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_39\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/08\/SherdinArt-SashaSherdin-20260731-001.jpg\" title=\"SherdinArt-SashaSherdin-20260731-001\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"1280\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/08\/SherdinArt-SashaSherdin-20260731-001.jpg\" alt=\"\" class=\"wp-image-257800\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/08\/SherdinArt-SashaSherdin-20260731-001.jpg 958w, https:\/\/sherdin.de\/wp-content\/uploads\/2026\/08\/SherdinArt-SashaSherdin-20260731-001-480x641.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 958px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_40\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/SherdinArt-SashaSherdin-20260728-001-02.jpg\" title=\"SherdinArt-SashaSherdin-20260728-001-02\"><img loading=\"lazy\" decoding=\"async\" width=\"733\" height=\"980\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/SherdinArt-SashaSherdin-20260728-001-02.jpg\" alt=\"\" class=\"wp-image-258023\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/SherdinArt-SashaSherdin-20260728-001-02.jpg 733w, https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/SherdinArt-SashaSherdin-20260728-001-02-480x642.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 733px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_41\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/01\/SherdinArt-SashaSherdin-0791.jpg\" title=\"SherdinArt-SashaSherdin-0791\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/01\/SherdinArt-SashaSherdin-0791.jpg\" alt=\"Color soul exchange\" class=\"wp-image-3792\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/01\/SherdinArt-SashaSherdin-0791.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/01\/SherdinArt-SashaSherdin-0791-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_42\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0811.jpg\" title=\"SherdinArt-SashaSherdin-0811\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0811.jpg\" alt=\"\" class=\"wp-image-4267\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0811.jpg 668w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/06\/SherdinArt-SashaSherdin-0811-480x719.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 668px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_43\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0803.jpg\" title=\"SherdinArt-SashaSherdin-0803\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0803.jpg\" alt=\"\" class=\"wp-image-4161\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0803.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0803-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_44\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0801.jpg\" title=\"SherdinArt-SashaSherdin-0801\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0801.jpg\" alt=\"\" class=\"wp-image-4171\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0801.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0801-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_45\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0804.jpg\" title=\"SherdinArt-SashaSherdin-0804\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"1000\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0804.jpg\" alt=\"\" class=\"wp-image-4172\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0804.jpg 667w, https:\/\/sherdin.de\/wp-content\/uploads\/2024\/05\/SherdinArt-SashaSherdin-0804-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 667px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_46\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0777.png\" title=\"SherdinArt-SashaSherdin-0777\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1200\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0777.png\" alt=\"\" class=\"wp-image-3437\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0777.png 800w, https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0777-480x720.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><div class=\"et_pb_gallery_item et_pb_gallery_item_0_47\"><div class=\"et_pb_gallery_image landscape\" data-per_page=\"4\"><a href=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0766.png\" title=\"SherdinArt-SashaSherdin-0766\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1200\" src=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0766.png\" alt=\"\" class=\"wp-image-3428\" srcset=\"https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0766.png 800w, https:\/\/sherdin.de\/wp-content\/uploads\/2023\/11\/SherdinArt-SashaSherdin-0766-480x720.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><span class=\"et_overlay\" data-icon=\"\" data-icon-tablet=\"\" data-icon-phone=\"\"><\/span><\/a><\/div><\/div><\/div><\/div><div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- SHERDIN \u00b7 Videos und Handy-Positionen -->\n<div id=\"sherdin-video-playlist\" data-mode=\"append\">\n\n  <!-- VIDEOS -->\n  <script type=\"application\/json\">\n  [\n    {\n      \"src\": \"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/10\/SherdinArt-SashaSherdin-0933-small01.mp4\",\n      \"poster\": \"\",\n      \"title\": \"AI Video 001 by Sherdin Art\"\n    },\n    {\n      \"src\": \"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/01\/SherdinArt-SashaSherdin-V0913.mp4\",\n      \"poster\": \"\",\n      \"title\": \"AI Video 002 by Sherdin Art\"\n    },\n    {\n      \"src\": \"https:\/\/sherdin.de\/wp-content\/uploads\/2025\/11\/SherdinArt-SashaSherdin-AIV-0936.mp4\",\n      \"poster\": \"\",\n      \"title\": \"AI Video 003 by Sherdin Art\"\n    }\n  ]\n  <\/script>\n\n<\/div>\n\n\n<!-- =========================================================\n  SHERDIN \u00b7 NUR HANDY: INDIVIDUELLE MEDIENPOSITIONEN\n========================================================= -->\n\n<style>\n@media (max-width:767px){\n\n  \/* =======================================================\n     GRUNDEINSTELLUNG\n     Ohne eigenen Eintrag bleibt jedes Medium mittig.\n  ======================================================= *\/\n\n  #new-sherdin-art-gallery .sherdin-slide{\n    --nach-links:0px;\n    --nach-rechts:0px;\n  }\n\n\n  \/* Hochformat und noch nicht eingestufte Medien *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide\n  .sherdin-media{\n    transform:\n      translateX(\n        calc(\n          var(--nach-rechts) - var(--nach-links)\n        )\n      ) !important;\n  }\n\n\n  \/* Querformat: bisherige Zentrierung bleibt erhalten *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide\n  .sherdin-media.is-wide{\n    transform:\n      translateX(\n        calc(\n          -50% + var(--nach-rechts) - var(--nach-links)\n        )\n      ) !important;\n  }\n\n\n  \/* =======================================================\n     INDIVIDUELLE BILDER\n  ======================================================= *\/\n\n\n  \/* 20251125-02 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-20251125-02\"],\n    [data-src*=\"SherdinArt-SashaSherdin-20251125-02\"],\n    [srcset*=\"SherdinArt-SashaSherdin-20251125-02\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-20251125-02\"]\n  ){\n    --nach-links:90px;\n  }\n\n\n  \/* 20251125-01 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-20251125-01\"],\n    [data-src*=\"SherdinArt-SashaSherdin-20251125-01\"],\n    [srcset*=\"SherdinArt-SashaSherdin-20251125-01\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-20251125-01\"]\n  ){\n    --nach-links:50px;\n  }\n\n\n  \/* 20251109-05 \u00b7 10 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-20251109-05\"],\n    [data-src*=\"SherdinArt-SashaSherdin-20251109-05\"],\n    [srcset*=\"SherdinArt-SashaSherdin-20251109-05\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-20251109-05\"]\n  ){\n    --nach-links:30px;\n  }\n\n\n  \/* 0927 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0927\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0927\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0927\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0927\"]\n  ){\n    --nach-links:60px;\n  }\n\n\n  \/* 0922 \u00b7 10 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0922\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0922\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0922\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0922\"]\n  ){\n    --nach-links:45px;\n  }\n\n\n  \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0928\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0928\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0928\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0928\"]\n  ){\n    --nach-links:50px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n\n\/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0908-1.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0908-1.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0908-1.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0908-1.jpg\"]\n  ){\n    --nach-links:60px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n\/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0909-1.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0909-1.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0909-1.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0909-1.jpg\"]\n  ){\n    --nach-links:100px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n  \n  \n  \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0911.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0911.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0911.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0911.jpg\"]\n  ){\n    --nach-links:95px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n   \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0910.jpeg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0910.jpeg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0910.jpeg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0910.jpeg\"]\n  ){\n    --nach-links:65px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n  \n  \n   \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SashaSherdin-20260731-001.jpg\"],\n    [data-src*=\"SashaSherdin-20260731-001.jpg\"],\n    [srcset*=\"SashaSherdin-20260731-001.jpg\"],\n    [data-srcset*=\"SashaSherdin-20260731-001.jpg\"]\n  ){\n    --nach-links:20px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n  \n    \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SashaSherdin-20251120-01.jpg\"],\n    [data-src*=\"SashaSherdin-20251120-01.jpg\"],\n    [srcset*=\"SashaSherdin-20251120-01.jpg\"],\n    [data-srcset*=\"SashaSherdin-20251120-01.jpg\"]\n  ){\n    --nach-links:50px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n  \n  \n    \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SashaSherdin-20251120-01.jpg\"],\n    [data-src*=\"SashaSherdin-20251120-01.jpg\"],\n    [srcset*=\"SashaSherdin-20251120-01.jpg\"],\n    [data-srcset*=\"SashaSherdin-20251120-01.jpg\"]\n  ){\n    --nach-links:50px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n  \n    \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0930.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0930.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0930.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0930.jpg\"]\n  ){\n    --nach-links:40px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n     \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0918.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0918.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0918.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0918.jpg\"]\n  ){\n    --nach-links:50px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n\n    \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0916.png\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0916.png\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0916.png\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0916.png\"]\n  ){\n    --nach-links:70px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n    \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-V0913.mp4\"],\n    [data-src*=\"SherdinArt-SashaSherdin-V0913.mp4\"],\n    [srcset*=\"SherdinArt-SashaSherdin-V0913.mp4\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-V0913.mp4\"]\n  ){\n    --nach-links:90px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n   \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0904.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0904.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0904.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0904.jpg\"]\n  ){\n    --nach-links:90px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n  \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0926.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0926.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0926.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0926.jpg\"]\n  ){\n    --nach-links:70px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n  \n   \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0923.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0923.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0923.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0923.jpg\"]\n  ){\n    --nach-links:60px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n   \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-20260728-001-02.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-20260728-001-02.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-20260728-001-02.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-20260728-001-02.jpg\"]\n  ){\n    --nach-links:35px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0921.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0921.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0921.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0921.jpg\"]\n  ){\n    --nach-links:40px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n\/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0929.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0929.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0929.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0929.jpg\"]\n  ){\n    --nach-links:40px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n\/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0905-1.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0905-1.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0905-1.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0905-1.jpg\"]\n  ){\n    --nach-links:70px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n  \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-20251120-01.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-20251120-01.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-20251120-01.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-20251120-01.jpg\"]\n  ){\n    --nach-links:70px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n\n\/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0924.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0924.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0924.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0924.jpg\"]\n  ){\n    --nach-links:30px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n  \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0786.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0786.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0786.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0786.jpg\"]\n  ){\n    --nach-links:30px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n   \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0911-1.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0911-1.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0911-1.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0911-1.jpg\"]\n  ){\n    --nach-links:30px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n   \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-0805\"],\n    [data-src*=\"SherdinArt-SashaSherdin-0805\"],\n    [srcset*=\"SherdinArt-SashaSherdin-0805\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-0805\"]\n  ){\n    --nach-links:30px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n\n   \/* 0928 \u00b7 20 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-20260731-001.jpg\"],\n    [data-src*=\"SherdinArt-SashaSherdin-20260731-001.jpg\"],\n    [srcset*=\"SherdinArt-SashaSherdin-20260731-001.jpg\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-20260731-001.jpg\"]\n  ){\n    --nach-links:30px;\n  }\n\n\n  \/* 0921 bleibt mittig \u2013 kein Eintrag erforderlich *\/\n  \n  \/* 20251109-02 \u00b7 30 px nach links *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide:has(\n    [src*=\"SherdinArt-SashaSherdin-20251109-02\"],\n    [data-src*=\"SherdinArt-SashaSherdin-20251109-02\"],\n    [srcset*=\"SherdinArt-SashaSherdin-20251109-02\"],\n    [data-srcset*=\"SherdinArt-SashaSherdin-20251109-02\"]\n  ){\n    --nach-links:80px;\n  }\n\n}\n<\/style<\/div><\/div><div class=\"et_pb_code_2 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- =========================================================\n  BLOCK A \u2014 BOOTFLAG (verhindert Stapeln beim Laden)\n========================================================= -->\n<script>\n(function(){\n  var r=document.getElementById('new-sherdin-art-gallery');\n  if(r){ r.classList.add('sherdin-boot'); }\n})();\n<\/script>\n\n\n<!-- =========================================================\n  BLOCK B \u2014 Basis (B\u00fchne normal), Querformat = 100vw mittig\n========================================================= -->\n<style>\n  \/* Root-Variablen *\/\n  #new-sherdin-art-gallery{\n    --tray-h: clamp(90px, 20vh, 200px);\n    height:100vh; width:100%; position:relative;\n  }\n\n  \/* Divi-Container volle H\u00f6he *\/\n  #new-sherdin-art-gallery .et_pb_module_inner,\n  #new-sherdin-art-gallery .et_pb_gallery{\n    height:100%; padding:0!important; margin:0!important;\n  }\n\n  \/* B\u00fchne: im Modul belassen, \u00dcberbreite erlauben *\/\n  #new-sherdin-art-gallery .sherdin-stage{\n    position:absolute; inset:0; height:100%; width:100%;\n    overflow:visible;                 \/* quer darf \u00fcberstehen *\/\n  }\n\n  \/* Slides *\/\n  #new-sherdin-art-gallery .sherdin-slide{\n    position:absolute; inset:0;\n    display:grid; place-items:center; \/* Grundzentrierung *\/\n    opacity:0; pointer-events:none;\n    transition:opacity 600ms ease;\n    will-change:opacity;\n  }\n  #new-sherdin-art-gallery .sherdin-slide.sherdin-active{\n    opacity:1; pointer-events:auto; z-index:2;\n  }\n\n  \/* Medien \u2013 Default: hochkant freundlich *\/\n  #new-sherdin-art-gallery .sherdin-slide .sherdin-media{\n    display:block;\n    object-fit:contain; object-position:center center;\n    height:100vh; width:auto; max-height:100vh; max-width:none;\n  }\n\n  \/* QUERFORMAT: echte Vollbreite + pixelgenau mittig *\/\n  #new-sherdin-art-gallery .sherdin-slide .sherdin-media.is-wide{\n    position:relative;\n    left:50%; transform:translateX(-50%);\n    width:100vw;            \/* volle Bildschirmbreite *\/\n    max-width:none;\n    height:auto;            \/* H\u00f6he folgt dem Seitenverh\u00e4ltnis *\/\n  }\n  \/* F\u00fcr <picture>: sichtbares <img> zieht mit *\/\n  #new-sherdin-art-gallery .sherdin-slide picture.sherdin-media.is-wide > img{\n    width:100%; height:auto; display:block;\n  }\n\n  \/* Hochkant explizit zur\u00fccksetzen *\/\n  #new-sherdin-art-gallery .sherdin-slide .sherdin-media.is-tall{\n    height:100vh; width:auto; max-width:none;\n    left:auto; transform:none;\n  }\n\n  \/* Divi-Grid unsichtbar\/inert *\/\n  #new-sherdin-art-gallery .et_pb_gallery_items{\n    visibility:hidden !important; opacity:0 !important;\n    pointer-events:none !important; user-select:none !important;\n  }\n\n  \/* Lightbox *\/\n  .mfp-content img,.mfp-content video{\n    max-height:100vh!important; width:auto!important; height:auto; object-fit:contain;\n  }\n\n  @media (max-width:980px){\n    #new-sherdin-art-gallery{min-height:100svh;height:100svh}\n    #new-sherdin-art-gallery .sherdin-slide .sherdin-media{\n      max-height:100svh; height:100svh;\n    }\n    #new-sherdin-art-gallery .sherdin-slide .sherdin-media.is-wide{\n      width:100vw; height:auto;\n      left:50%; transform:translateX(-50%);\n    }\n    #new-sherdin-art-gallery .sherdin-slide picture.sherdin-media.is-wide > img{\n      width:100%; height:auto;\n    }\n  }\n<\/style>\n\n\n\n\n\n\n\n<!-- =========================================================\n  BLOCK C \u2014 VIDEOS tunen (playsinline\/controls)\n========================================================= -->\n<script>\n(function(){\n  function tuneVideos(scope){\n    scope.querySelectorAll('video').forEach(function(v){\n      v.setAttribute('playsinline','');\n      if(!v.hasAttribute('controls')) v.setAttribute('controls','');\n    });\n  }\n  var root=document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n  tuneVideos(root);\n  new MutationObserver(function(ms){\n    ms.forEach(function(rec){\n      rec.addedNodes && rec.addedNodes.forEach(function(n){\n        if(n.nodeType===1) tuneVideos(n);\n      });\n    });\n  }).observe(root,{childList:true,subtree:true});\n})();\n<\/script>\n\n<!-- =========================================================\n  BLOCK D \u2014 DIVI neutralisieren (keine Slider-\/Hover-Logik, keine Dots)\n========================================================= -->\n<style>\n  \/* Divi-Steuerungen & Punktnavigation ausblenden (breit gefasst) *\/\n  #new-sherdin-art-gallery .et_pb_gallery_pagination,\n  #new-sherdin-art-gallery .et_pb_slider_arrows,\n  #new-sherdin-art-gallery .et-pb-slider-arrows,\n  #new-sherdin-art-gallery .et-pb-controllers,\n  #new-sherdin-art-gallery .et_pb_slide_controls,\n  #new-sherdin-art-gallery .flex-control-nav { display:none !important; }\n\n  \/* CSS-Animationen nicht \u201epausieren\u201c *\/\n  #new-sherdin-art-gallery, #new-sherdin-art-gallery *{\n    animation-play-state:running !important;\n  }\n<\/style>\n<script>\n(function(){\n  var r=document.getElementById('new-sherdin-art-gallery'); if(!r) return;\n  r.classList.remove('et_pb_gallery_slider');\n  r.classList.add('et_pb_gallery_grid');\n})();\n<\/script>\n\n\n\n\n<!-- =========================================================\n  BLOCK E \u2014 CONTROLS, TRAY & INFO (Slide-Sync + States)\n========================================================= -->\n<style>\n  #new-sherdin-art-gallery{\n    --tray-h: clamp(90px, 20vh, 200px);\n    \/* Offset steuert Buttons & Info relativ zur Leiste (via transform) *\/\n    --controls-offset: 0px;\n  }\n\n  \/* Controls: immer gleiche Grundlinie (bottom:34px), vertikale Bewegung via transform *\/\n  #new-sherdin-art-gallery .sherdin-controls{\n    position:absolute;\n    left:50px;\n    bottom:34px;                     \/* perfekte Start-H\u00f6he beibehalten *\/\n    display:flex; gap:10px;\n    z-index:10001; pointer-events:auto;\n    transform: translateY(calc(-1 * var(--controls-offset)));\n    transition: transform 300ms ease; \/* slidet weich mit der Leiste *\/\n  }\n  \/* Tray offen \u2192 10px n\u00e4her an die Leiste (wie gew\u00fcnscht) *\/\n  #new-sherdin-art-gallery.sherdin-tray-open{\n    --controls-offset: calc(var(--tray-h) + 40px);\n  }\n\n  \/* Buttons: inaktiv blau, Hover wei\u00df; aktiv wei\u00df, Hover blau *\/\n  #new-sherdin-art-gallery .sherdin-btn{\n    position: relative;\n    width:36px; height:36px; border-radius:50%;\n    border:1.25px solid #0fa4f4; color:#0fa4f4; background:transparent;\n    display:grid; place-items:center; cursor:pointer; user-select:none;\n    transition:color 250ms ease, border-color 250ms ease;\n    overflow:hidden;\n  }\n  #new-sherdin-art-gallery .sherdin-btn:hover{ color:#fff; border-color:#fff; }\n  #new-sherdin-art-gallery .sherdin-btn.is-active{ color:#fff; border-color:#fff; }\n  #new-sherdin-art-gallery .sherdin-btn.is-active:hover{ color:#0fa4f4; border-color:#0fa4f4; }\n  #new-sherdin-art-gallery .sherdin-btn svg{ width:22px; height:22px; display:block; }\n\n  \/* Play\/Pause Crossfade (Icon-Layer) *\/\n  #new-sherdin-art-gallery .sherdin-btn .icon{\n    position:absolute; inset:0; display:grid; place-items:center;\n    opacity:0; transition:opacity 220ms ease;\n  }\n  #new-sherdin-art-gallery .sherdin-btn-play .icon-play{ opacity:1; }\n  #new-sherdin-art-gallery .sherdin-btn-play:hover .icon-play{ opacity:0; }\n  #new-sherdin-art-gallery .sherdin-btn-play:hover .icon-pause{ opacity:1; }\n  #new-sherdin-art-gallery .sherdin-btn-play.is-active .icon-play{ opacity:0; }\n  #new-sherdin-art-gallery .sherdin-btn-play.is-active .icon-pause{ opacity:1; }\n  #new-sherdin-art-gallery .sherdin-btn-play.is-active:hover .icon-play{ opacity:1; }\n  #new-sherdin-art-gallery .sherdin-btn-play.is-active:hover .icon-pause{ opacity:0; }\n\n  \/* Tray: wieder weich sliden *\/\n  #new-sherdin-art-gallery .sherdin-tray{\n    position:absolute; left:0; right:0;\n    bottom:-20px;\n    height:var(--tray-h);\n    transform: translateY(100%);     \/* geschlossen unten geparkt *\/\n    opacity:0; visibility:hidden; pointer-events:none;\n    transition: transform 300ms ease, opacity 250ms ease, visibility 0s linear 250ms;\n    background: rgba(0,0,0,0.35); backdrop-filter: blur(2px);\n    z-index:1000;\n    will-change: transform;\n  }\n  #new-sherdin-art-gallery.sherdin-tray-open .sherdin-tray{\n    transform: translateY(0%);\n    opacity:1; visibility:visible; pointer-events:auto;\n    transition: transform 300ms ease, opacity 250ms ease;\n  }\n\n  \/* Track\/Thumbs (wie gehabt) *\/\n  #new-sherdin-art-gallery .sherdin-track{\n    position:absolute; inset:0;\n    display:flex; align-items:center; gap:0;\n    overflow-x:auto; overflow-y:hidden; padding:0; margin:0;\n    scroll-behavior:smooth; scroll-snap-type:x mandatory;\n    -webkit-overflow-scrolling:touch;\n  }\n  #new-sherdin-art-gallery .sherdin-track::-webkit-scrollbar{height:0}\n  #new-sherdin-art-gallery .sherdin-thumb{\n    box-sizing:border-box; flex:0 0 auto; height:var(--tray-h);\n    margin:0; padding:0; border:0; border-radius:0; background:transparent;\n    display:flex; align-items:center; justify-content:center;\n    overflow:hidden; cursor:pointer; opacity:0.85; filter:grayscale(35%);\n    transition:filter 250ms ease, opacity 250ms ease, outline-color 250ms ease;\n    scroll-snap-align:center;\n  }\n  #new-sherdin-art-gallery .sherdin-thumb:hover{ opacity:1; filter:none; }\n  #new-sherdin-art-gallery .sherdin-thumb img,\n  #new-sherdin-art-gallery .sherdin-thumb video,\n  #new-sherdin-art-gallery .sherdin-thumb picture{\n    height:100%; width:auto; max-height:100%; max-width:100%; object-fit:contain; display:block;\n  }\n  #new-sherdin-art-gallery .sherdin-thumb.is-active{\n    outline:2px solid #0fa4f4; outline-offset:-2px; opacity:1; filter:none;\n  }\n\n  \/* Info-Badge: gleiche Grundlinie wie Buttons (bottom:34px),\n     slidet synchron per transform mit und fadet weich ein\/aus *\/\n  #new-sherdin-art-gallery .sherdin-info{\n    position:absolute; left:50%;\n    bottom:34px; \/* selbe Ausgangsh\u00f6he wie Buttons *\/\n    transform: translate(-50%, calc(8px - var(--controls-offset))); \/* 8px \u201edrop-in\u201c + Offset *\/\n    padding:10px 14px; max-width:min(80vw, 840px);\n    background:#0fa4f4; color:#fff; border-radius:10px;\n    font: 500 14px\/1.35 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;\n    letter-spacing:.2px; text-align:center; white-space:normal;\n    opacity:0; visibility:hidden;\n    transition:\n      transform 300ms ease,   \/* slidet mit der Leiste *\/\n      opacity 220ms ease,     \/* soft fade *\/\n      visibility 0s linear 220ms;\n    z-index:10002; pointer-events:none;\n  }\n  #new-sherdin-art-gallery .sherdin-info.is-visible{\n    opacity:1; visibility:visible;\n    transform: translate(-50%, calc(0px - var(--controls-offset)));\n    transition:\n      transform 300ms ease,\n      opacity 220ms ease;\n  }\n<\/style>\n\n\n\n<!-- =========================================================\n  BLOCK E \u2014 Zusatz: Video-Overlays in Thumbs unterdr\u00fccken\n========================================================= -->\n<style>\n  \/* \u2026deine bisherigen BLOCK-E Styles bleiben\u2026 *\/\n\n  \/* Keine Browser-Overlays\/Controls in der Vorschauleiste *\/\n  #new-sherdin-art-gallery .sherdin-thumb video{\n    pointer-events: none !important;              \/* verhindert Hover-UI *\/\n  }\n  \/* Manche Browser rendern interne Controls \u2013 hart ausblenden *\/\n  #new-sherdin-art-gallery .sherdin-thumb video::-webkit-media-controls { display:none !important; }\n  #new-sherdin-art-gallery .sherdin-thumb video::-moz-media-controls { display:none !important; }\n<\/style>\n\n\n\n\n<!-- =========================================================\n  BLOCK F \u2014 B\u00fchne & Vorschau (Poster bevorzugt, sonst Video-Thumb im Loop)\n========================================================= -->\n<script>\n(function(){\n  const root=document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n  const itemsWrap=root.querySelector('.et_pb_gallery_items'); if(!itemsWrap) return;\n\n  const RANDOMIZE_SHUFFLE = true;\n  const RANDOM_START      = true;\n\n  let stage=root.querySelector('.sherdin-stage');\n  if(!stage){\n    stage=document.createElement('div');\n    stage.className='sherdin-stage';\n    root.appendChild(stage);\n  }\n\n  let tray=root.querySelector('.sherdin-tray');\n  if(!tray){\n    tray=document.createElement('div'); tray.className='sherdin-tray';\n    tray.innerHTML = '<div class=\"sherdin-track\" role=\"list\"><\/div>';\n    root.appendChild(tray);\n  }\n  const track = tray.querySelector('.sherdin-track');\n\n  \/* Helpers ------------------------------------------------------------- *\/\n  const VIDEO_EXT = \/\\.(mp4|webm|ogg|ogv|mov|m4v)(\\?|#|$)\/i;\n\n  function normalizeMedia(el){\n    const tag=(el.tagName||'').toLowerCase();\n    function normImg(img){\n      if(!img) return;\n      const dsrc = img.getAttribute('data-src');\n      if(dsrc && !img.getAttribute('src')) img.setAttribute('src', dsrc);\n      const dset = img.getAttribute('data-srcset');\n      if(dset && !img.getAttribute('srcset')) img.setAttribute('srcset', dset);\n      if(img.getAttribute('srcset') && !img.getAttribute('sizes')){\n        img.setAttribute('sizes','100vw');\n      }\n    }\n    if(tag==='img'){ normImg(el); }\n    else if(tag==='picture'){\n      el.querySelectorAll('source').forEach(s=>{\n        const ds=s.getAttribute('data-srcset');\n        if(ds && !s.getAttribute('srcset')) s.setAttribute('srcset', ds);\n        if(!s.getAttribute('sizes')) s.setAttribute('sizes','100vw');\n      });\n      normImg(el.querySelector('img'));\n    }\n    else if(tag==='video'){\n      el.setAttribute('preload','metadata');\n      el.setAttribute('playsinline','');\n      el.muted = el.muted ?? true;\n      el.crossOrigin = el.crossOrigin || 'anonymous';\n      el.querySelectorAll('source').forEach(s=>{\n        const ds=s.getAttribute('data-src');\n        if(ds && !s.getAttribute('src')) s.setAttribute('src', ds);\n      });\n      const dvs = el.getAttribute('data-src');\n      if(dvs && !el.getAttribute('src')) el.setAttribute('src', dvs);\n      try{ el.load && el.load(); }catch(e){}\n    }\n  }\n\n  function applyFit(el){\n    const tag=(el.tagName||'').toLowerCase();\n    function setClass(isWide){\n      el.classList.remove('is-wide','is-tall');\n      el.classList.add(isWide ? 'is-wide' : 'is-tall');\n    }\n    function byWH(w,h){ if(!w||!h) return false; setClass(w>=h); return true; }\n\n    if(tag==='img'){\n      if(!(byWH(el.naturalWidth, el.naturalHeight))){\n        el.addEventListener('load', ()=> byWH(el.naturalWidth, el.naturalHeight), {once:true});\n      }\n    } else if(tag==='picture'){\n      const img = el.querySelector('img');\n      if(img){\n        if(!(byWH(img.naturalWidth, img.naturalHeight))){\n          img.addEventListener('load', ()=> byWH(img.naturalWidth, img.naturalHeight), {once:true});\n        }\n      }\n    } else if(tag==='video'){\n      const tryClass = ()=> byWH(el.videoWidth, el.videoHeight);\n      if(!(tryClass())){\n        el.addEventListener('loadedmetadata', tryClass, {once:true});\n        el.addEventListener('loadeddata',     tryClass, {once:true});\n      }\n    }\n  }\n\n  function buildVideoEl(src, poster, title){\n    const v = document.createElement('video');\n    v.className = 'sherdin-media';\n    v.setAttribute('preload','metadata');\n    v.setAttribute('playsinline','');\n    v.muted = true;\n    if(poster) v.setAttribute('poster', poster);\n    if(title)  v.setAttribute('title',  title);\n\n    if(src){\n      const s=document.createElement('source'); s.src=src;\n      if(\/\\.mp4($|\\?|\\#)\/i.test(src)) s.type='video\/mp4';\n      else if(\/\\.webm\/i.test(src))    s.type='video\/webm';\n      else if(\/\\.og(g|v)\/i.test(src)) s.type='video\/ogg';\n      v.appendChild(s);\n    }\n    normalizeMedia(v);\n    return v;\n  }\n\n  \/* Video-Thumb (l\u00e4uft im Loop, ohne Controls\/Overlays) *\/\n  function buildVideoThumbLoop(src, poster, title){\n    const v = document.createElement('video');\n    v.className = 'sherdin-media';\n    v.autoplay = true; v.muted = true; v.loop = true; v.playsInline = true;\n    v.preload  = 'auto';\n    v.setAttribute('disablepictureinpicture','');\n    v.setAttribute('controlslist','nodownload noplaybackrate noremoteplayback nofullscreen');\n    if(poster) v.setAttribute('poster', poster);\n    if(title)  v.setAttribute('title', title);\n\n    const s = document.createElement('source');\n    s.src = src;\n    if(\/\\.mp4($|\\?|\\#)\/i.test(src)) s.type='video\/mp4';\n    else if(\/\\.webm\/i.test(src))    s.type='video\/webm';\n    else if(\/\\.og(g|v)\/i.test(src)) s.type='video\/ogg';\n    v.appendChild(s);\n\n    v.addEventListener('canplay', ()=>{ v.play().catch(()=>{}); }, {once:true});\n\n    normalizeMedia(v);\n    applyFit(v);\n    return v;\n  }\n\n  function holderPoster(holder){\n    const img = holder.querySelector('img');\n    if(img){\n      return img.getAttribute('data-src') || img.getAttribute('src') || null;\n    }\n    return null;\n  }\n  function holderTitle(holder){\n    const m = holder.querySelector('img,video,picture,source');\n    return m?.getAttribute('alt') || m?.getAttribute('title') || m?.getAttribute('data-title') || '';\n  }\n\n  function detectDiviItem(it){\n    const holder = it.querySelector('.et_pb_gallery_image') || it;\n    const media  = holder.querySelector('img,video,picture') || null;\n\n    if(media && (media.tagName||'').toLowerCase()==='video'){\n      const src = media.currentSrc || media.getAttribute('src') ||\n                  (media.querySelector('source[src]')?.getAttribute('src')) ||\n                  (media.querySelector('source[data-src]')?.getAttribute('data-src')) || null;\n      return {kind:'video', src, poster: (media.getAttribute('poster') || media.getAttribute('data-poster') || holderPoster(holder)),\n              title: holderTitle(holder), mediaEl: media};\n    }\n    const a = holder.querySelector('a[href]');\n    if(a && VIDEO_EXT.test(a.getAttribute('href')||'')){\n      return {kind:'video', src:a.getAttribute('href'), poster: holderPoster(holder), title: holderTitle(holder), mediaEl:null};\n    }\n    if(media){\n      return {kind:'image', mediaEl: media, title: holderTitle(holder)};\n    }\n    return null;\n  }\n\n  \/* Divi-Items *\/\n  let diviItems = [...itemsWrap.querySelectorAll('.et_pb_gallery_item')]\n      .map(detectDiviItem).filter(Boolean);\n\n  \/* JSON-Playlist mergen *\/\n  (function(){\n    const box = document.getElementById('sherdin-video-playlist');\n    if(!box) return;\n    const mode = (box.getAttribute('data-mode')||'append').toLowerCase();\n    let playlist=[];\n    try{\n      const raw = box.querySelector('script[type=\"application\/json\"]')?.textContent?.trim();\n      if(raw){\n        const json = JSON.parse(raw);\n        if(Array.isArray(json)){\n          playlist = json.filter(x=>x && typeof x.src==='string')\n                        .map(x=>({kind:'video', src:x.src, poster:(x.poster||'')||null, title:x.title||''}));\n        }\n      }\n    }catch(e){}\n    if(!playlist.length) return;\n    if(mode==='replace')       diviItems = playlist;\n    else if(mode==='prepend')  diviItems = [...playlist, ...diviItems];\n    else                       diviItems = [...diviItems, ...playlist];\n  })();\n\n  \/* Shuffle *\/\n  if(RANDOMIZE_SHUFFLE){\n    for(let i=diviItems.length-1;i>0;i--){\n      const j=Math.floor(Math.random()*(i+1));\n      [diviItems[i],diviItems[j]]=[diviItems[j],diviItems[i]];\n    }\n  }\n\n  \/* Slides & Thumbs *\/\n  diviItems.forEach(item=>{\n    const slide=document.createElement('div');\n    slide.className='sherdin-slide';\n\n    let big;\n    if(item.kind==='video'){\n      big = item.mediaEl ? item.mediaEl.cloneNode(true) : buildVideoEl(item.src, item.poster, item.title);\n      big.classList.add('sherdin-media');\n      normalizeMedia(big);\n      if(item.poster && !big.getAttribute('poster')) big.setAttribute('poster', item.poster);\n      if(item.title) big.setAttribute('title', item.title);\n      applyFit(big);\n    } else {\n      big = item.mediaEl.cloneNode(true);\n      big.classList.add('sherdin-media');\n      if(item.title) big.setAttribute('title', item.title);\n      normalizeMedia(big);\n      applyFit(big);\n    }\n    slide.appendChild(big);\n    stage.appendChild(slide);\n\n    const thumb=document.createElement('button');\n    thumb.className='sherdin-thumb';\n    thumb.type='button';\n\n    if(item.kind==='video'){\n      if(item.poster){\n        \/* Poster vorhanden \u2192 Bild zeigen (keine Video-Wiedergabe im Tray) *\/\n        const img=document.createElement('img');\n        img.className='sherdin-media';\n        img.src=item.poster;\n        if(item.title) img.setAttribute('alt', item.title);\n        normalizeMedia(img); applyFit(img);\n        thumb.appendChild(img);\n      } else {\n        \/* Kein Poster \u2192 Video im Loop abspielen *\/\n        const vthumb = buildVideoThumbLoop(item.src, null, item.title);\n        vthumb.removeAttribute('controls');\n        thumb.appendChild(vthumb);\n      }\n    } else {\n      const tMedia=item.mediaEl.cloneNode(true);\n      tMedia.className=(tMedia.className||'')+' sherdin-media';\n      if(item.title) tMedia.setAttribute('alt', item.title);\n      normalizeMedia(tMedia); applyFit(tMedia);\n      thumb.appendChild(tMedia);\n    }\n\n    track.appendChild(thumb);\n  });\n\n  const startIndex = RANDOM_START ? Math.floor(Math.random()*diviItems.length) : 0;\n  root.setAttribute('data-start-index', String(startIndex));\n\n  root.classList.add('sherdin-ready');\n  root.classList.remove('sherdin-boot');\n})();\n<\/script>\n\n\n\n\n\n\n\n<!-- =========================================================\n  BLOCK G \u2014 PLAYER + Tray\/Thumbs + States + Info (Video-Loop bei Pause)\n========================================================= -->\n<script>\n(function(){\n  const root  = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n  root.classList.remove('sherdin-tray-open');\n\n  const stage  = root.querySelector('.sherdin-stage'); if(!stage) return;\n  const slides = [...stage.querySelectorAll('.sherdin-slide')]; if(!slides.length) return;\n\n  const tray  = root.querySelector('.sherdin-tray');\n  const track = tray.querySelector('.sherdin-track');\n  let   thumbs= [...track.querySelectorAll('.sherdin-thumb')];\n\n  let controls = root.querySelector('.sherdin-controls');\n  if(!controls){\n    controls = document.createElement('div');\n    controls.className = 'sherdin-controls';\n    controls.innerHTML = `\n      <button class=\"sherdin-btn sherdin-btn-play\" type=\"button\" aria-label=\"Slideshow steuern\">\n        <span class=\"icon icon-play\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\"><path d=\"M8 6l10 6-10 6V6z\" fill=\"currentColor\"\/><\/svg>\n        <\/span>\n        <span class=\"icon icon-pause\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\"><rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.5\" fill=\"currentColor\"\/><\/svg>\n        <\/span>\n      <\/button>\n      <button class=\"sherdin-btn sherdin-btn-tray\" type=\"button\" aria-label=\"Vorschau \u00f6ffnen\">\n        <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g fill=\"currentColor\">\n          <rect x=\"4\" y=\"4\" width=\"4\" height=\"4\" rx=\"1\"\/><rect x=\"10\" y=\"4\" width=\"4\" height=\"4\" rx=\"1\"\/><rect x=\"16\" y=\"4\" width=\"4\" height=\"4\" rx=\"1\"\/>\n          <rect x=\"4\" y=\"10\" width=\"4\" height=\"4\" rx=\"1\"\/><rect x=\"10\" y=\"10\" width=\"4\" height=\"4\" rx=\"1\"\/><rect x=\"16\" y=\"10\" width=\"4\" height=\"4\" rx=\"1\"\/>\n          <rect x=\"4\" y=\"16\" width=\"4\" height=\"4\" rx=\"1\"\/><rect x=\"10\" y=\"16\" width=\"4\" height=\"4\" rx=\"1\"\/><rect x=\"16\" y=\"16\" width=\"4\" height=\"4\" rx=\"1\"\/>\n        <\/g><\/svg>\n      <\/button>\n      <button class=\"sherdin-btn sherdin-btn-info\" type=\"button\" aria-label=\"Bildtitel einblenden\">\n        <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n          <rect x=\"10.4\" y=\"5.0\" width=\"3.2\" height=\"4.8\" rx=\"1.2\" fill=\"currentColor\"\/>\n          <rect x=\"10.0\" y=\"10.2\" width=\"4.0\" height=\"9.0\" rx=\"1.4\" fill=\"currentColor\"\/>\n        <\/svg>\n      <\/button>`;\n    root.appendChild(controls);\n  }\n  const btnPlay = controls.querySelector('.sherdin-btn-play');\n  const btnTray = controls.querySelector('.sherdin-btn-tray');\n  const btnInfo = controls.querySelector('.sherdin-btn-info');\n\n  let infoBadge = root.querySelector('.sherdin-info');\n  if(!infoBadge){\n    infoBadge = document.createElement('div');\n    infoBadge.className = 'sherdin-info';\n    root.appendChild(infoBadge);\n  }\n  let infoTimer = null;\n\n  function getTitleFor(i){\n    const slide = slides[i]; if(!slide) return '';\n    const m = slide.querySelector('img,video,picture,source');\n    let t = (m?.getAttribute('alt') || m?.getAttribute('title') || m?.getAttribute('data-title') || '');\n    if(!t){\n      const src = (m?.currentSrc || m?.src || '') + '';\n      t = src.split('\/').pop().split('?')[0];\n    }\n    return t || '';\n  }\n  function showInfo(autoHide=true){\n    const txt = getTitleFor(idx);\n    if(!txt){ hideInfo(); return; }\n    infoBadge.textContent = txt;\n    infoBadge.classList.add('is-visible');\n    btnInfo.classList.add('is-active');\n    if(infoTimer) clearTimeout(infoTimer);\n    if(autoHide) infoTimer = setTimeout(hideInfo, 8500);\n  }\n  function hideInfo(){\n    if(infoTimer) clearTimeout(infoTimer); infoTimer=null;\n    infoBadge.classList.remove('is-visible');\n    btnInfo.classList.remove('is-active');\n  }\n\n  let idx = Math.max(0, parseInt(root.getAttribute('data-start-index') || '0',10));\n  let playing = true, timer = null;\n  const INTERVAL = 8500;\n\n  function centerActiveThumb(mode='smooth'){\n    const t = thumbs[idx];\n    if(!t) return;\n    const targetLeft = t.offsetLeft - (track.clientWidth - t.clientWidth)\/2;\n    track.scrollTo({ left: Math.max(0, targetLeft), behavior: (mode==='smooth' ? 'smooth' : 'auto') });\n  }\n\n  function activate(n, centerMode='smooth'){\n    const all = slides.length ? slides : [...stage.querySelectorAll('.sherdin-slide')];\n    n = (n + all.length) % all.length;\n\n    all.forEach((el,i)=>{\n      const on = i===n;\n      el.classList.toggle('sherdin-active', on);\n      el.style.zIndex = on ? 2 : 1;\n      const v = el.querySelector('video');\n      if(v){\n        v.muted = true; v.playsInline = true;\n        if(on){\n          v.loop = !playing;          \/\/ wenn Slideshow pausiert \u2192 loop an\n          try{ v.play(); }catch(e){}\n        }else{\n          v.loop = false;\n          try{ v.pause(); }catch(e){}\n        }\n      }\n    });\n\n    thumbs = [...track.querySelectorAll('.sherdin-thumb')];\n    thumbs.forEach((t,i)=> t.classList.toggle('is-active', i===n));\n    idx = n;\n\n    if(infoBadge.classList.contains('is-visible')){\n      infoBadge.textContent = getTitleFor(idx);\n    }\n    if(root.classList.contains('sherdin-tray-open')) centerActiveThumb(centerMode);\n  }\n\n  function next(){ activate(idx+1, 'auto'); }\n\n  function start(){\n    if(timer) clearInterval(timer);\n    timer = setInterval(next, INTERVAL);\n    playing = true;\n    btnPlay.classList.remove('is-active');\n\n    \/\/ Loop am aktiven Video wieder ausschalten\n    const v = slides[idx]?.querySelector('video');\n    if(v){ v.loop=false; try{ v.play(); }catch(e){} }\n  }\n\n  function stop(){\n    if(timer) clearInterval(timer);\n    timer = null;\n    playing = false;\n    btnPlay.classList.add('is-active');\n\n    \/\/ NEU: aktives Video weiterlaufen lassen \u2013 im Loop\n    const v = slides[idx]?.querySelector('video');\n    if(v){ v.loop=true; v.muted=true; v.playsInline=true; try{ v.play(); }catch(e){} }\n  }\n\n  function restart(){ stop(); start(); }\n\n  activate(idx, 'auto'); start();\n\n  btnPlay.addEventListener('click', ()=>{ playing ? stop() : start(); });\n  btnTray .addEventListener('click', ()=>{\n    const open = root.classList.toggle('sherdin-tray-open');\n    btnTray.classList.toggle('is-active', open);\n    btnTray.setAttribute('aria-label', open ? 'Vorschau schlie\u00dfen' : 'Vorschau \u00f6ffnen');\n    if(open){ requestAnimationFrame(()=> centerActiveThumb('smooth')); }\n    else     { centerActiveThumb('smooth'); }\n  });\n  btnInfo.addEventListener('click', ()=>{\n    if(infoBadge.classList.contains('is-visible')) hideInfo();\n    else showInfo(true);\n  });\n\n  thumbs.forEach((t,i)=> t.addEventListener('click', ()=>{ activate(i,'smooth'); restart(); }));\n\n  stage.addEventListener('click', (e)=>{\n    if(controls.contains(e.target) || tray.contains(e.target)) return;\n    e.preventDefault();\n    next(); restart();\n  }, true);\n\n  tray.addEventListener('mouseleave', ()=>{ centerActiveThumb('smooth'); }, {passive:true});\n})();\n<\/script>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<style>\n  \/* Fullscreen-Button und Counter folgen dem bestehenden Stil *\/\n  #new-sherdin-art-gallery .sherdin-btn.sherdin-btn-fs svg{ width:20px; height:20px; }\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs .icon-enter{ display:none; }\n  #new-sherdin-art-gallery:not(.is-fullscreen) .sherdin-btn-fs .icon-exit{ display:none; }\n\n  \/* Z\u00e4hler rechts neben dem Info-Button *\/\n  #new-sherdin-art-gallery .sherdin-counter{\n    align-self:center;\n    margin-left:8px;\n    font: 600 14px\/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;\n    color:#0fa4f4;\n    background:transparent;\n    padding:6px 8px;\n    border-radius:8px;\n    opacity:.9;\n    user-select:none;\n  }\n\n  \/* Unsichtbare Klick-Zonen \u00fcber die B\u00fchne (50\/50 links\/rechts) *\/\n  #new-sherdin-art-gallery .sherdin-hit{\n    position:absolute; inset:0 50% 0 0; z-index:9000;\n    background:transparent; border:0; padding:0; margin:0; cursor:default;\n  }\n  #new-sherdin-art-gallery .sherdin-hit.right{ inset:0 0 0 50%; }\n\n  \/* Cursor nach Inaktivit\u00e4t ausblenden *\/\n  #new-sherdin-art-gallery.sherdin-idle{ cursor:none !important; }\n\n  \/* Video-Controls nur bei Hover sichtbar (zus\u00e4tzlich zu JS-Schutz) *\/\n  #new-sherdin-art-gallery .sherdin-stage video{\n    --sh-controls-opacity: 0;\n  }\n  #new-sherdin-art-gallery .sherdin-stage video:hover{\n    --sh-controls-opacity: 1;\n  }\n  \/* Manche Browser zeichnen trotzdem kurz UI ein \u2013 hart verstecken *\/\n  #new-sherdin-art-gallery .sherdin-stage video::-webkit-media-controls { opacity: var(--sh-controls-opacity); }\n  #new-sherdin-art-gallery .sherdin-stage video::-moz-media-controls { opacity: var(--sh-controls-opacity); }\n<\/style>\n\n\n\n<script>\n(function(){\n  const root = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n\n  \/* ========= Helpers ========= *\/\n  function qs(sel,ctx=document){ return (ctx||document).querySelector(sel); }\n  function qsa(sel,ctx=document){ return [...(ctx||document).querySelectorAll(sel)]; }\n\n  function slides(){ return qsa('.sherdin-stage .sherdin-slide', root); }\n  function thumbs(){ return qsa('.sherdin-tray .sherdin-thumb', root); }\n\n  function activeIndex(){\n    const list = slides();\n    const i = list.findIndex(el=>el.classList.contains('sherdin-active'));\n    return Math.max(0, i);\n  }\n  function totalCount(){\n    return slides().length;\n  }\n  function gotoIndex(i){\n    \/* Wir nutzen die vorhandene Daumen-Logik -> garantiert sauber (inkl. Restart) *\/\n    const t = thumbs()[ ( (i%totalCount())+totalCount() ) % totalCount() ];\n    t && t.click();\n  }\n  function next(){ gotoIndex(activeIndex()+1); }\n  function prev(){ gotoIndex(activeIndex()-1); }\n\n  \/* ========= 1) Fullscreen-Button einf\u00fcgen ========= *\/\n  const controls = qs('.sherdin-controls', root);\n  const btnInfo  = qs('.sherdin-btn-info', root);\n  if(controls && btnInfo){\n    const btnFs = document.createElement('button');\n    btnFs.className = 'sherdin-btn sherdin-btn-fs';\n    btnFs.type = 'button';\n    btnFs.setAttribute('aria-label','Fullscreen umschalten');\n    btnFs.innerHTML = `\n      <span class=\"icon-enter\" aria-hidden=\"true\">\n        <svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 3h4v2H9v2H7V3zm10 0v4h-2V5h-2V3h4zM7 17h2v2h2v2H7v-4zm10 0v4h-4v-2h2v-2h2z\"\/><\/svg>\n      <\/span>\n      <span class=\"icon-exit\" aria-hidden=\"true\">\n        <svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9 3h2v4H7V5h2V3zm6 0h2v2h2v2h-4V3zM7 17h4v4H9v-2H7v-2zm10 0h4v2h-2v2h-2v-4z\"\/><\/svg>\n      <\/span>`;\n    controls.insertBefore(btnFs, btnInfo); \/\/ links vom Info-Button\n\n    function isFs(){ return !!(document.fullscreenElement || document.webkitFullscreenElement); }\n    function enterFs(){ (root.requestFullscreen||root.webkitRequestFullscreen).call(root); }\n    function exitFs(){ (document.exitFullscreen||document.webkitExitFullscreen).call(document); }\n\n    function syncFsClass(){ root.classList.toggle('is-fullscreen', isFs()); }\n\n    btnFs.addEventListener('click', ()=>{ isFs()? exitFs(): enterFs(); });\n    document.addEventListener('fullscreenchange', syncFsClass);\n    document.addEventListener('webkitfullscreenchange', syncFsClass);\n  }\n\n  \/* ========= 2) Z\u00e4hler rechts neben Info ========= *\/\n  let counter = qs('.sherdin-counter', root);\n  if(!counter){\n    counter = document.createElement('span');\n    counter.className = 'sherdin-counter';\n    controls && controls.insertBefore(counter, qs('.sherdin-btn-info', root).nextSibling);\n  }\n  function updateCounter(){\n    const tot = totalCount();\n    const cur = activeIndex()+1;\n    counter.textContent = cur + ' \/ ' + tot;\n  }\n  updateCounter();\n\n  \/* MutationObserver: reagiert auf Slide-Wechsel (Klassen\u00e4nderung) *\/\n  const stage = qs('.sherdin-stage', root);\n  if(stage){\n    new MutationObserver(()=> updateCounter()).observe(stage,{subtree:true, attributes:true, attributeFilter:['class']});\n  }\n\n  \/* ========= 3) Klick-Zonen (50\/50) ========= *\/\n  function installHitZones(){\n    if(qs('.sherdin-hit', root)) return;\n    const left = document.createElement('button');\n    left.className='sherdin-hit left'; left.type='button'; left.setAttribute('aria-label','Zur\u00fcck');\n    const right= document.createElement('button');\n    right.className='sherdin-hit right'; right.type='button'; right.setAttribute('aria-label','Weiter');\n\n    left.addEventListener('click', (e)=>{ e.stopImmediatePropagation(); e.preventDefault(); prev(); }, true);\n    right.addEventListener('click',(e)=>{ e.stopImmediatePropagation(); e.preventDefault(); next(); }, true);\n\n    \/\/ \u00fcber die B\u00fchne legen\n    const stage = qs('.sherdin-stage', root);\n    stage && stage.appendChild(left) && stage.appendChild(right);\n  }\n  installHitZones();\n\n  \/* ========= 4) Tastatur & Swipe ========= *\/\n  \/\/ Pfeiltasten\n  document.addEventListener('keydown', (e)=>{\n    if(e.key==='ArrowLeft'){ e.preventDefault(); prev(); }\n    else if(e.key==='ArrowRight'){ e.preventDefault(); next(); }\n    else if(e.key==='Escape'){ \/* ESC beendet Fullscreen automatisch *\/ }\n  });\n\n  \/\/ Swipe (Touch \/ Trackpad)\n  let startX=0, startY=0, startT=0, activePointer=null;\n  const SWIPE_X = 45; const SWIPE_MS = 600;\n  function onStart(ev){\n    const e = ev.touches ? ev.touches[0] : ev;\n    activePointer = e.identifier ?? 'mouse';\n    startX=e.clientX; startY=e.clientY; startT=Date.now();\n  }\n  function onEnd(ev){\n    const e = ev.changedTouches ? ev.changedTouches[0] : ev;\n    const dx = (e.clientX - startX), dy = (e.clientY - startY), dt = Date.now()-startT;\n    if(Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > SWIPE_X && dt < SWIPE_MS){\n      dx>0 ? prev() : next();\n    }\n    activePointer=null;\n  }\n  const swipeArea = qs('.sherdin-stage', root);\n  if(swipeArea){\n    swipeArea.addEventListener('touchstart', onStart, {passive:true});\n    swipeArea.addEventListener('touchend',   onEnd,   {passive:true});\n    swipeArea.addEventListener('pointerdown', onStart, {passive:true});\n    swipeArea.addEventListener('pointerup',   onEnd,   {passive:true});\n  }\n\n  \/* ========= 5) Video-Controls: nur bei Hover, ohne Flackern ========= *\/\n  function armVideoHoverControls(scope){\n    qsa('video', scope||root).forEach(v=>{\n      \/\/ Startzustand: keine Controls\n      v.removeAttribute('controls');\n      v.setAttribute('controlslist','nodownload noplaybackrate noremoteplayback');\n      v.setAttribute('disablepictureinpicture','');\n      \/\/ Bei Hover: Controls kurzzeitig an\n      v.addEventListener('mouseenter', ()=>{ v.setAttribute('controls',''); }, {passive:true});\n      v.addEventListener('mouseleave', ()=>{ v.removeAttribute('controls'); }, {passive:true});\n      \/\/ Beim Aktivieren eines Slides greifen wir auch:\n      v.addEventListener('play', ()=>{ \/* nichts *\/ }, {passive:true});\n    });\n  }\n  armVideoHoverControls(root);\n  \/\/ Wenn neue Slides\/Videos aktiviert werden:\n  new MutationObserver((ms)=>{\n    ms.forEach(m=>{\n      m.addedNodes && m.addedNodes.forEach(n=>{\n        if(n.nodeType===1) armVideoHoverControls(n);\n      });\n    });\n  }).observe(root, {childList:true, subtree:true});\n\n  \/* ========= 6) Cursor nach 5s Inaktivit\u00e4t ausblenden ========= *\/\n  let idleTimer=null;\n  function poke(){\n    root.classList.remove('sherdin-idle');\n    if(idleTimer) clearTimeout(idleTimer);\n    idleTimer = setTimeout(()=> root.classList.add('sherdin-idle'), 5000);\n  }\n  ['mousemove','mousedown','keydown','touchstart','wheel','pointermove'].forEach(evt=>{\n    document.addEventListener(evt, poke, {passive:true});\n  });\n  poke(); \/\/ initial starten\n})();\n<\/script>\n\n\n\n\n\n\n\n<style>\n  \/* Alte Hit-Zonen sicher neutralisieren (falls noch vorhanden) *\/\n  #new-sherdin-art-gallery .sherdin-hit{ display:none !important; }\n\n  \/* System-Cursor nach Inaktivit\u00e4t ausblenden *\/\n  #new-sherdin-art-gallery.sherdin-idle{ cursor:none !important; }\n\n  \/* Weiches Ausblenden f\u00fcr g\u00e4ngige Custom-Cursor-Selectoren.\n     Wir setzen eine Klasse auf <html> (sh-cursor-idle), damit es\n     auch dann greift, wenn dein Cursor-Element au\u00dferhalb der Gallery steht. *\/\n  html.sh-cursor-idle .custom-cursor,\n  html.sh-cursor-idle .cursor,\n  html.sh-cursor-idle #cursor,\n  html.sh-cursor-idle [data-custom-cursor]{\n    opacity:0 !important;\n    transition: opacity 400ms ease !important;\n  }\n<\/style>\n\n\n\n<script>\n(function(){\n  const root  = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n  const stage = root.querySelector('.sherdin-stage');\n  const tray  = root.querySelector('.sherdin-tray');\n  const controls = root.querySelector('.sherdin-controls');\n  if(!stage) return;\n\n  \/* 0) Evtl. vorhandene Hit-Zonen entfernen, damit sie deinen Cursor\n        nicht mehr \u201eaktiv\u201c machen. *\/\n  root.querySelectorAll('.sherdin-hit').forEach(el=> el.remove());\n\n  \/* Helpers *\/\n  const slides = () => [...root.querySelectorAll('.sherdin-stage .sherdin-slide')];\n  const thumbs = () => [...root.querySelectorAll('.sherdin-tray .sherdin-thumb')];\n  const total  = () => slides().length;\n  const activeIndex = () => Math.max(0, slides().findIndex(s=>s.classList.contains('sherdin-active')));\n  const gotoIndex = (i)=>{\n    const t = thumbs()[ ((i%total())+total())%total() ];\n    t && t.click();\n  };\n  const next = ()=> gotoIndex(activeIndex()+1);\n  const prev = ()=> gotoIndex(activeIndex()-1);\n\n  \/* 1) Linke 50% = zur\u00fcck \u2014 wir fangen den Klick jetzt\n        in der *Capture*-Phase auf ROOT ab (vor dem Original-Handler),\n        pr\u00fcfen die Position und unterbinden die event bubble,\n        damit der urspr\u00fcngliche \u201eWeiter\u201c-Klick nicht mehr feuert. *\/\n  function clickSplitterCapture(e){\n    \/\/ Nur reagieren, wenn wirklich auf der B\u00fchne geklickt wurde (nicht Controls\/Tray)\n    if(!stage.contains(e.target)) return;\n    if(controls && controls.contains(e.target)) return;\n    if(tray && tray.contains(e.target)) return;\n\n    const r = stage.getBoundingClientRect();\n    const x = e.clientX;\n    const inStage = x>=r.left && x<=r.right && e.clientY>=r.top && e.clientY<=r.bottom;\n    if(!inStage) return;\n\n    const onLeftHalf = x < (r.left + r.width\/2);\n\n    \/\/ Linke H\u00e4lfte: wir \u00fcbernehmen -> \"prev\" und blocken das Event komplett\n    if(onLeftHalf){\n      e.preventDefault();\n      e.stopImmediatePropagation();\n      e.stopPropagation();\n      prev();\n      return;\n    }\n\n    \/\/ Rechte H\u00e4lfte: NICHT blocken; der vorhandene Listener macht \"next\".\n    \/\/ (Optional: selbst \u00fcbernehmen, dann unten entkommentieren)\n    \/\/ e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); next();\n  }\n  \/\/ Capture-Phase auf dem ROOT (fr\u00fcher als der Original-Listener an stage)\n  root.addEventListener('click', clickSplitterCapture, true);\n\n  \/* 2) Cursor-\u201eAktiv\u201c-Zustand nur bei echten interaktiven Elementen.\n        Wir zwingen der B\u00fchne einen neutralen Cursor auf, damit dein\n        Custom-Cursor nicht \u201eaktiv\u201c wird, nur weil die B\u00fchne klickbar ist. *\/\n  stage.style.cursor = 'default';\n\n  \/* 3) Weiches Cursor-Fade nach 5s Inaktivit\u00e4t\n        - Klasse auf #gallery (Systemcursor verstecken)\n        - Klasse auf <html> f\u00fcr Custom-Cursor-Fade (Opacity-Transition) *\/\n  let idleTimer = null;\n  const HTML = document.documentElement;\n\n  function setIdle(on){\n    root.classList.toggle('sherdin-idle', !!on);       \/\/ system cursor\n    HTML.classList.toggle('sh-cursor-idle', !!on);     \/\/ custom cursor (opacity)\n  }\n  function poke(){\n    setIdle(false);\n    if(idleTimer) clearTimeout(idleTimer);\n    idleTimer = setTimeout(()=> setIdle(true), 5000);\n  }\n\n  \/\/ Alle sinnvollen Interaktionen \u201ewecken\u201c\n  ['mousemove','mousedown','keydown','touchstart','touchmove','wheel','pointermove']\n    .forEach(evt=> document.addEventListener(evt, poke, {passive:true}));\n\n  poke(); \/\/ initial starten\n\n})();\n<\/script>\n\n\n\n\n\n\n\n\n<script>\n(function(){\n  const root  = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n  const stage = root.querySelector('.sherdin-stage'); if(!stage) return;\n\n  \/\/ Hilfen auf vorhandene Logik aufsetzen\n  const slides = () => [...root.querySelectorAll('.sherdin-stage .sherdin-slide')];\n  const thumbs = () => [...root.querySelectorAll('.sherdin-tray .sherdin-thumb')];\n  const total  = () => slides().length || 1;\n  const activeIndex = () => Math.max(0, slides().findIndex(s=>s.classList.contains('sherdin-active')));\n  const gotoIndex = (i)=>{ const t = thumbs()[ ((i%total())+total())%total() ]; t && t.click(); };\n  const next = ()=> gotoIndex(activeIndex()+1);\n  const prev = ()=> gotoIndex(activeIndex()-1);\n\n  \/\/ Trackpad-Gesten \u00fcber Wheel-Events\n  let accX = 0, lastT = 0, locked = false;\n  const THRESH = 120;     \/\/ ca. 2\u20133 Finger-\"Flings\" (Pixel bei deltaMode 0)\n  const WINDOW = 220;     \/\/ ms: Zeitfenster zum B\u00fcndeln\n  const COOLDN = 450;     \/\/ ms: danach erst wieder reagieren\n\n  stage.addEventListener('wheel', (e)=>{\n    \/\/ Nur echte Trackpad-Gesten (kein Zoom, kein Shift-Scroll, kein ctrlKey)\n    if(e.ctrlKey || e.shiftKey) return;\n    if(locked) return;\n\n    \/\/ Horizontal dominant?\n    const ax = Math.abs(e.deltaX), ay = Math.abs(e.deltaY);\n    if(ax < ay * 0.9) return;\n\n    const now = performance.now();\n    if(now - lastT > WINDOW) accX = 0;\n    lastT = now;\n    accX += e.deltaX;\n\n    if(Math.abs(accX) >= THRESH){\n      (accX > 0 ? next : prev)();\n      accX = 0;\n      locked = true;\n      setTimeout(()=> locked = false, COOLDN);\n      \/\/ Kein Scroll der Seite\n      e.preventDefault();\n      e.stopPropagation();\n    }\n  }, {passive:false});\n})();\n<\/script>\n\n\n\n\n\n\n<style>\n  \/* Native Maus \u00fcber der gesamten Galerie verstecken *\/\n  #new-sherdin-art-gallery,\n  #new-sherdin-art-gallery * { cursor: none !important; }\n<\/style>\n\n\n\n\n\n\n\n\n<style>\n  \/* D\u00fcnne, ruhige Linien f\u00fcr den FS-Button *\/\n  #new-sherdin-art-gallery .sherdin-btn-fs svg{\n    width:20px; height:20px; display:block;\n    stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap:round; stroke-linejoin:round;\n  }\n  #new-sherdin-art-gallery .sherdin-btn-fs .icon{ position:absolute; inset:0; display:grid; place-items:center; opacity:0; transition:opacity .2s ease;}\n  #new-sherdin-art-gallery .sherdin-btn-fs .icon-enter{ opacity:1; }\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs .icon-enter{ opacity:0; }\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs .icon-exit{ opacity:1; }\n<\/style>\n<script>\n(function(){\n  const root = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n  const btn  = root.querySelector('.sherdin-btn-fs'); if(!btn) return;\n\n  btn.innerHTML = `\n    <span class=\"icon icon-enter\" aria-hidden=\"true\">\n      <!-- Expand: Ecken nach au\u00dfen -->\n      <svg viewBox=\"0 0 24 24\">\n        <path d=\"M4 9V4h5\"\/><path d=\"M4 4l6 6\"\/>\n        <path d=\"M20 15v5h-5\"\/><path d=\"M20 20l-6-6\"\/>\n      <\/svg>\n    <\/span>\n    <span class=\"icon icon-exit\" aria-hidden=\"true\">\n      <!-- Collapse: Ecken nach innen -->\n      <svg viewBox=\"0 0 24 24\">\n        <path d=\"M10 4H4v6\"\/><path d=\"M4 4l7 7\"\/>\n        <path d=\"M14 20h6v-6\"\/><path d=\"M20 20l-7-7\"\/>\n      <\/svg>\n    <\/span>\n  `;\n})();\n<\/script>\n\n\n\n\n\n\n\n<style>\n  \/* Systemcursor in der B\u00fchne verbergen, aber nicht global auf dem <html> *\/\n  #new-sherdin-art-gallery .sherdin-stage,\n  #new-sherdin-art-gallery .sherdin-stage *{ cursor:none !important; }\n<\/style>\n\n<script>\n(function(){\n  const root  = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n\n  \/\/ m\u00f6gliche Selektoren deines Custom-Cursors (erweiterbar)\n  const CURSOR_SELECTORS = [\n    '.custom-cursor', '.cursor', '#cursor', '[data-custom-cursor]'\n  ];\n\n  let cursorEl = null;\n  let cursorOrigParent = null;\n  let cursorOrigNext   = null;\n  let cursorOrigZ      = null;\n\n  function findCursor(){\n    if(cursorEl && document.contains(cursorEl)) return cursorEl;\n    for(const sel of CURSOR_SELECTORS){\n      const el = document.querySelector(sel);\n      if(el){ cursorEl = el; return el; }\n    }\n    return null;\n  }\n\n  function isFs(){\n    return !!(document.fullscreenElement || document.webkitFullscreenElement);\n  }\n\n  function onFsEnter(){\n    const el = findCursor(); if(!el) return;\n    if(el.closest('#new-sherdin-art-gallery')) return; \/\/ schon drin\n    cursorOrigParent = el.parentNode;\n    cursorOrigNext   = el.nextSibling;\n    cursorOrigZ      = el.style.zIndex;\n    \/\/ in die Galerie h\u00e4ngen (ganz oben)\n    el.style.zIndex = '2147483647';\n    root.appendChild(el);\n  }\n\n  function onFsExit(){\n    if(!cursorOrigParent || !cursorEl) return;\n    \/\/ exakt an Originalposition zur\u00fcck\n    if(cursorOrigNext && cursorOrigNext.parentNode === cursorOrigParent){\n      cursorOrigParent.insertBefore(cursorEl, cursorOrigNext);\n    }else{\n      cursorOrigParent.appendChild(cursorEl);\n    }\n    cursorEl.style.zIndex = cursorOrigZ || '';\n    cursorOrigParent = cursorOrigNext = cursorOrigZ = null;\n  }\n\n  function syncFs(){\n    (isFs()? onFsEnter : onFsExit)();\n  }\n\n  document.addEventListener('fullscreenchange', syncFs);\n  document.addEventListener('webkitfullscreenchange', syncFs);\n})();\n<\/script>\n\n\n\n\n\n\n\n\n\n<script>\n(function(){\n  const root  = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n  const stage = root.querySelector('.sherdin-stage'); if(!stage) return;\n\n  const slides = () => [...root.querySelectorAll('.sherdin-stage .sherdin-slide')];\n  const thumbs = () => [...root.querySelectorAll('.sherdin-tray .sherdin-thumb')];\n  const total  = () => Math.max(1, slides().length);\n  const activeIndex = () => Math.max(0, slides().findIndex(s=>s.classList.contains('sherdin-active')));\n  const gotoIndex = (i)=>{ const t = thumbs()[ ((i%total())+total())%total() ]; t && t.click(); };\n  const next = ()=> gotoIndex(activeIndex()+1);\n  const prev = ()=> gotoIndex(activeIndex()-1);\n\n  \/\/ Normalisierung deltaMode: 0=px, 1=lines(~16px), 2=pages(~800px)\n  function normDelta(v, mode){\n    if(mode===1) return v*16;\n    if(mode===2) return v*800;\n    return v;\n  }\n\n  let acc = 0, lastT = 0, locked = false;\n  const WINDOW = 240;  \/\/ ms Sammelfenster\n  const THRESH = 140;  \/\/ Schwellwert in \"px\"\n  const COOLDN = 420;  \/\/ Cooldown\n\n  function wheelHandler(e){\n    if(locked) return;\n    \/\/ keine Zoomgesten\n    if(e.ctrlKey) return;\n\n    const dx = normDelta(e.deltaX, e.deltaMode);\n    const dy = normDelta(e.deltaY, e.deltaMode);\n\n    \/\/ Wenn horizontal schwach ist, aber vertikal deutlich \u2013 auch akzeptieren\n    const primary = (Math.abs(dx) >= Math.abs(dy)*0.8) ? dx : dy;\n\n    \/\/ Sammeln\n    const now = performance.now();\n    if(now - lastT > WINDOW) acc = 0;\n    lastT = now;\n    acc += primary;\n\n    if(Math.abs(acc) >= THRESH){\n      (acc > 0 ? next() : prev());\n      acc = 0;\n      locked = true;\n      setTimeout(()=> locked=false, COOLDN);\n      e.preventDefault(); e.stopPropagation();\n    }\n  }\n\n  \/\/ auf B\u00fchne + root + Dokument h\u00f6ren (manche Themes stoppen Events fr\u00fch)\n  [stage, root, document].forEach(t=> t.addEventListener('wheel', wheelHandler, {passive:false}));\n})();\n<\/script>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<style>\n  #new-sherdin-art-gallery .sherdin-btn-fs{ position:relative; }\n  #new-sherdin-art-gallery .sherdin-btn-fs .icon{ \n    position:absolute; inset:0; display:grid; place-items:center; \n    opacity:0; transition:opacity .18s ease;\n  }\n  #new-sherdin-art-gallery .sherdin-btn-fs svg{\n    width:20px; height:20px; stroke:currentColor; fill:none;\n    stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round;\n  }\n  \/* Default: IN sichtbar *\/\n  #new-sherdin-art-gallery .sherdin-btn-fs .icon-in{ opacity:1; }\n  #new-sherdin-art-gallery .sherdin-btn-fs:hover .icon-in{ opacity:0; }\n  #new-sherdin-art-gallery .sherdin-btn-fs:hover .icon-out{ opacity:1; }\n\n  \/* Im Fullscreen: OUT ist Basis, Hover zeigt IN *\/\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs .icon-in{ opacity:0; }\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs .icon-out{ opacity:1; }\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs:hover .icon-out{ opacity:0; }\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs:hover .icon-in{ opacity:1; }\n\n\n\n\n\/* Steuerungsblock 5 % kleiner \u2013 Hochfahren bleibt erhalten *\/\n#new-sherdin-art-gallery .sherdin-controls{\n  scale:.75;\n  transform-origin:left bottom;\n}\n<\/style>\n\n<script>\n(function(){\n  const root = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n  const btn  = root.querySelector('.sherdin-btn-fs'); if(!btn) return;\n\n  \/\/ saubere, minimalistische Pfeile (innen\/au\u00dfen)\n  btn.innerHTML = `\n    <span class=\"icon icon-in\" aria-hidden=\"true\">\n      <!-- zwei Pfeile nach innen -->\n      <svg viewBox=\"0 0 24 24\">\n        <path d=\"M4 9V4h5\"\/><path d=\"M4 4l7 7\"\/>\n        <path d=\"M20 15v5h-5\"\/><path d=\"M20 20l-7-7\"\/>\n      <\/svg>\n    <\/span>\n    <span class=\"icon icon-out\" aria-hidden=\"true\">\n      <!-- zwei Pfeile nach au\u00dfen -->\n      <svg viewBox=\"0 0 24 24\">\n        <path d=\"M9 4H4v5\"\/><path d=\"M4 4l6 6\"\/>\n        <path d=\"M15 20h5v-5\"\/><path d=\"M20 20l-6-6\"\/>\n      <\/svg>\n    <\/span>\n  `;\n\n  \/\/ Fullscreen State toggeln bleibt wie gehabt\n  function isFs(){ return !!(document.fullscreenElement || document.webkitFullscreenElement); }\n  function enterFs(){ (root.requestFullscreen||root.webkitRequestFullscreen).call(root); }\n  function exitFs(){ (document.exitFullscreen||document.webkitExitFullscreen).call(document); }\n  function syncFsClass(){ root.classList.toggle('is-fullscreen', isFs()); }\n\n  btn.addEventListener('click', ()=>{ isFs()? exitFs(): enterFs(); });\n  document.addEventListener('fullscreenchange', syncFsClass);\n  document.addEventListener('webkitfullscreenchange', syncFsClass);\n})();\n<\/script>\n\n\n\n\n\n\n\n<style>\n  \/* Standard: Systemcursor \u00fcber der B\u00fchne aus (du nutzt Custom-Cursor) *\/\n  #new-sherdin-art-gallery .sherdin-stage,\n  #new-sherdin-art-gallery .sherdin-stage *{ cursor:none !important; }\n\n  \/* Im Fullscreen: Fallback = Systemcursor AN, damit nie \u201eunsichtbar\u201c *\/\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-stage,\n  #new-sherdin-art-gallery.is-fullscreen .sherdin-stage *{ cursor:auto !important; }\n\n  \/* Wenn dein Custom-Cursor im Fullscreen erfolgreich erkannt wurde,\n     schalten wir den Systemcursor wieder AUS (kein Doppelcursor). *\/\n  #new-sherdin-art-gallery.is-fullscreen.sh-fs-has-custom .sherdin-stage,\n  #new-sherdin-art-gallery.is-fullscreen.sh-fs-has-custom .sherdin-stage *{ cursor:none !important; }\n<\/style>\n\n<script>\n(function(){\n  const root = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n\n  \/\/ Liste m\u00f6glicher Cursor-Selektoren \u2013 erg\u00e4nzbar:\n  const CURSOR_SELECTORS = [\n    '.custom-cursor', '.cursor', '#cursor', '[data-custom-cursor]'\n  ];\n\n  \/\/ Merker f\u00fcr re-insert:\n  const moved = new Map(); \/\/ el -> {parent, next, z}\n  let mo = null;\n\n  function isFs(){\n    return !!(document.fullscreenElement || document.webkitFullscreenElement);\n  }\n\n  function findAllCursors(ctx=document){\n    const out = [];\n    for(const sel of CURSOR_SELECTORS){\n      document.querySelectorAll(sel).forEach(el=>{\n        if(!out.includes(el)) out.push(el);\n      });\n    }\n    return out;\n  }\n\n  function moveIntoRoot(el){\n    if(!el || el.closest('#new-sherdin-art-gallery')) return;\n    if(!moved.has(el)){\n      moved.set(el, { parent: el.parentNode, next: el.nextSibling, z: el.style.zIndex });\n    }\n    el.style.zIndex = '2147483647';\n    root.appendChild(el);\n  }\n\n  function restoreAll(){\n    moved.forEach((meta, el)=>{\n      try{\n        if(meta.next && meta.next.parentNode === meta.parent){\n          meta.parent.insertBefore(el, meta.next);\n        }else{\n          meta.parent.appendChild(el);\n        }\n        el.style.zIndex = meta.z || '';\n      }catch(_){}\n    });\n    moved.clear();\n  }\n\n  function syncFsState(){\n    if(isFs()){\n      \/\/ beim Eintritt: alles reinholen + neue Cursor zuk\u00fcnftig abfangen\n      const cursors = findAllCursors();\n      cursors.forEach(moveIntoRoot);\n      root.classList.toggle('is-fullscreen', true);\n      root.classList.toggle('sh-fs-has-custom', cursors.length>0);\n\n      if(!mo){\n        mo = new MutationObserver((ms)=>{\n          if(!isFs()) return;\n          let found = false;\n          ms.forEach(m=>{\n            m.addedNodes && m.addedNodes.forEach(n=>{\n              if(n.nodeType===1){\n                \/\/ Direkter Match?\n                if(CURSOR_SELECTORS.some(sel=> n.matches?.(sel))){\n                  moveIntoRoot(n); found = true;\n                }\n                \/\/ Oder enth\u00e4lt Cursor?\n                findAllCursors(n).forEach(el=>{ moveIntoRoot(el); found = true; });\n              }\n            });\n          });\n          if(found) root.classList.add('sh-fs-has-custom');\n        });\n        mo.observe(document.documentElement, { childList:true, subtree:true });\n      }\n    }else{\n      \/\/ beim Verlassen: sauber zur\u00fcck\n      root.classList.remove('is-fullscreen','sh-fs-has-custom');\n      restoreAll();\n      if(mo){ mo.disconnect(); mo=null; }\n    }\n  }\n\n  document.addEventListener('fullscreenchange', syncFsState);\n  document.addEventListener('webkitfullscreenchange', syncFsState);\n\n  \/\/ Falls schon im FS (edge case)\n  syncFsState();\n})();\n<\/script>\n\n\n\n\n<style>\n  #new-sherdin-art-gallery .sherdin-counter{\n    margin-left: -2px !important; \/* vorher 8px \u2192 8 - 10 = -2 *\/\n  }\n<\/style>\n\n\n\n\n\n\n\n<style>\n  \/* --- Reset: fr\u00fchere pauschale cursor:none-Regeln neutralisieren --- *\/\n  #new-sherdin-art-gallery, #new-sherdin-art-gallery * { cursor:auto !important; }\n\n  \/* B\u00fchne darf in Normalmodus gern \u201eneutral\u201c aussehen (kein Pointer-Handsymbol) *\/\n  #new-sherdin-art-gallery .sherdin-stage,\n  #new-sherdin-art-gallery .sherdin-stage * { cursor:auto !important; }\n\n  \/* Im Fullscreen: Systemcursor NUR verstecken, wenn wir einen Custom-Cursor haben *\/\n  #new-sherdin-art-gallery.is-fullscreen.sh-fs-has-custom .sherdin-stage,\n  #new-sherdin-art-gallery.is-fullscreen.sh-fs-has-custom .sherdin-stage * { cursor:none !important; }\n\n  \/* Unser Cursor-Proxy (falls Original nicht in FS gerendert werden kann) *\/\n  #new-sherdin-art-gallery .sh-fs-cursor-proxy{\n    position:fixed; left:0; top:0;\n    transform: translate3d(var(--sh-x,0px), var(--sh-y,0px), 0) translate(-50%,-50%);\n    pointer-events:none; z-index:2147483647;\n    will-change: transform, opacity;\n  }\n<\/style>\n\n<script>\n(function(){\n  const root = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n\n  \/\/ Kandidaten-Selektoren (ggf. erg\u00e4nzen wir sp\u00e4ter deinen genauen)\n  const CURSOR_SELECTORS = ['.custom-cursor', '.cursor', '#cursor', '[data-custom-cursor]'];\n\n  let proxy = null;\n  let trackedEl = null;  \/\/ das Original au\u00dferhalb des FS (nur zum Klonen\/Styles)\n  let mo = null;\n\n  const isFs = ()=> !!(document.fullscreenElement || document.webkitFullscreenElement);\n\n  function findCustomCursor(){\n    for(const sel of CURSOR_SELECTORS){\n      const el = document.querySelector(sel);\n      if(el) return el;\n    }\n    return null;\n  }\n\n  function makeProxy(fromEl){\n    \/\/ Falls schon vorhanden \u2192 erneuern\n    if(proxy){ proxy.remove(); proxy=null; }\n\n    \/\/ 1) Wenn m\u00f6glich, `fromEl` klonen (\u00fcbernimmt deine Styles\/Kinder)\n    let clone = null;\n    try{\n      clone = fromEl ? fromEl.cloneNode(true) : null;\n    }catch(_){\/* ignore *\/}\n    proxy = clone || document.createElement('div');\n\n    proxy.classList.add('sh-fs-cursor-proxy');\n\n    \/\/ Falls kein Clone m\u00f6glich war \u2192 dezenter Fallback (kleiner Punkt)\n    if(!clone){\n      proxy.style.width='12px'; proxy.style.height='12px';\n      proxy.style.border='2px solid currentColor';\n      proxy.style.borderRadius='50%';\n      proxy.style.color='#0fa4f4';\n      proxy.style.background='transparent';\n    }\n\n    root.appendChild(proxy);\n    root.classList.add('sh-fs-has-custom');\n  }\n\n  function killProxy(){\n    if(proxy){ proxy.remove(); proxy=null; }\n    root.classList.remove('sh-fs-has-custom');\n  }\n\n  function onPointerMove(e){\n    if(!isFs()) return;\n    \/\/ Koordinaten auf FS-Viewport\n    const x = e.clientX + 'px';\n    const y = e.clientY + 'px';\n    root.style.setProperty('--sh-x', x);\n    root.style.setProperty('--sh-y', y);\n  }\n\n  function enterFsSetup(){\n    \/\/ 1) Cursor-Quelle suchen (dein echter Cursor im DOM)\n    trackedEl = findCustomCursor();\n\n    \/\/ 2) Proxy erzeugen (klont Optik deines Cursors)\n    makeProxy(trackedEl);\n\n    \/\/ 3) Mausbewegung tracken (damit der Proxy exakt folgt)\n    document.addEventListener('mousemove', onPointerMove, {passive:true});\n    document.addEventListener('pointermove', onPointerMove, {passive:true});\n    document.addEventListener('touchmove', onPointerMove, {passive:true});\n\n    \/\/ 4) Falls dein Cursor-Element sp\u00e4ter dynamisch erzeugt\/ersetzt wird:\n    if(!mo){\n      mo = new MutationObserver(()=>{\n        if(!isFs()) return;\n        const latest = findCustomCursor();\n        if(latest && latest !== trackedEl){\n          trackedEl = latest;\n          makeProxy(trackedEl);\n        }\n      });\n      mo.observe(document.documentElement, {childList:true, subtree:true});\n    }\n  }\n\n  function exitFsCleanup(){\n    \/\/ Systemcursor wieder normal\n    killProxy();\n    document.removeEventListener('mousemove', onPointerMove, {passive:true});\n    document.removeEventListener('pointermove', onPointerMove, {passive:true});\n    document.removeEventListener('touchmove', onPointerMove, {passive:true});\n    if(mo){ mo.disconnect(); mo=null; }\n  }\n\n  function syncFsState(){\n    root.classList.toggle('is-fullscreen', isFs());\n    if(isFs()) enterFsSetup(); else exitFsCleanup();\n  }\n\n  document.addEventListener('fullscreenchange', syncFsState);\n  document.addEventListener('webkitfullscreenchange', syncFsState);\n\n  \/\/ Falls bereits im FS:\n  syncFsState();\n\n  \/\/ Sicherheitsnetz: Wenn Buttons\/Controls hover den Systemcursor beeinflussen,\n  \/\/ bleibt unser Proxy sichtbar (pointer-events:none verhindert \u201eVerschlucken\u201c).\n})();\n<\/script>\n\n\n\n\n<style>\n  \/* Nur wenn die Galerie im FS ist UND wir deinen Cursor erfolgreich \u00fcbernommen haben,\n     blenden wir den nativen Cursor in der Galerie aus \u2013 auch \u00fcber Buttons\/Links. *\/\n  #new-sherdin-art-gallery.is-fullscreen.fs-custom-ready,\n  #new-sherdin-art-gallery.is-fullscreen.fs-custom-ready *{\n    cursor: none !important;\n  }\n\n  \/* Sicherheit: Dein Cursor-Overlay bleibt \u00fcber allem, klickt aber nichts weg *\/\n  #new-sherdin-art-gallery .fs-cursor-host{\n    position: fixed !important; inset: 0 !important;\n    pointer-events: none !important;\n    z-index: 2147483647 !important;\n  }\n<\/style>\n\n\n\n\n\n\n\n<script>\n(function(){\n  const root = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n\n  \/\/ Dein echter Cursor (aus deinem CSS):\n  const CURSOR_ID = 'cursor-root';     \/\/ Container\n  const DOT_ID    = 'cursor-dot';      \/\/ der blaue Punkt (Info nur der Vollst\u00e4ndigkeit halber)\n\n  \/\/ Original-Position merken, um nach FS sauber zur\u00fcckzusetzen\n  let cursorEl, savedParent, savedNext, savedZ;\n  function getCursor(){ return document.getElementById(CURSOR_ID) || null; }\n\n  function isFs(){\n    return !!(document.fullscreenElement || document.webkitFullscreenElement);\n  }\n\n  function enterFs(){\n    cursorEl = getCursor();\n\n    \/\/ Wenn dein Cursor-Overlay existiert \u2192 in die Galerie ziehen\n    if(cursorEl){\n      if(cursorEl.parentNode !== root){\n        savedParent = cursorEl.parentNode;\n        savedNext   = cursorEl.nextSibling;\n        savedZ      = cursorEl.style.zIndex;\n      }\n\n      \/\/ Als Host f\u00fcr den Cursor im FS markieren (macht ihn fixed + pointer-events:none)\n      cursorEl.classList.add('fs-cursor-host');\n\n      \/\/ Ganz nach oben in die Galerie h\u00e4ngen\n      cursorEl.style.zIndex = '2147483647';\n      root.appendChild(cursorEl);\n\n      \/\/ Jetzt d\u00fcrfen wir den nativen Cursor ausblenden\n      root.classList.add('fs-custom-ready');\n    }else{\n      \/\/ Kein Cursor-Overlay gefunden \u2192 nativen Cursor NICHT ausblenden\n      root.classList.remove('fs-custom-ready');\n    }\n  }\n\n  function exitFs(){\n    \/\/ Cursor zur\u00fcck an seinen Ursprungsort\n    if(cursorEl && savedParent){\n      cursorEl.classList.remove('fs-cursor-host');\n      try{\n        if(savedNext && savedNext.parentNode === savedParent){\n          savedParent.insertBefore(cursorEl, savedNext);\n        }else{\n          savedParent.appendChild(cursorEl);\n        }\n      }catch(e){}\n      cursorEl.style.zIndex = savedZ || '';\n    }\n    cursorEl = savedParent = savedNext = savedZ = null;\n    root.classList.remove('fs-custom-ready');\n  }\n\n  function sync(){\n    root.classList.toggle('is-fullscreen', isFs());\n    isFs() ? enterFs() : exitFs();\n  }\n\n  \/\/ Reagiert auf FS-Ein\/Austritt\n  document.addEventListener('fullscreenchange', sync);\n  document.addEventListener('webkitfullscreenchange', sync);\n\n  \/\/ Falls schon im FS (Edge-Case)\n  sync();\n\n  \/\/ Extra: Falls dein Cursor-Overlay sp\u00e4ter dynamisch erzeugt wird,\n  \/\/ ziehen wir es automatisch nach (nur im FS n\u00f6tig).\n  const mo = new MutationObserver(()=>{\n    if(!isFs()) return;\n    if(!root.classList.contains('fs-custom-ready') && getCursor()){\n      enterFs();\n    }\n  });\n  mo.observe(document.documentElement, {childList:true, subtree:true});\n})();\n<\/script>\n\n\n\n\n<style>\n  \/* SYSTEM-CURSOR \u00dcBER DER GALERIE GRUNDS\u00c4TZLICH AUS \u2022 (Normal + Fullscreen)\n     \u2013 verhindert jeden Doppelcursor, auch bei Buttons\/Links und Inline-Styles *\/\n  #new-sherdin-art-gallery,\n  #new-sherdin-art-gallery * ,\n  #new-sherdin-art-gallery *:hover,\n  #new-sherdin-art-gallery *[style*=\"cursor\"],\n  #new-sherdin-art-gallery *[style*=\"cursor:\"]{\n    cursor: none !important;\n  }\n\n  \/* Ausnahmen: echte Formfelder d\u00fcrften den nativen Cursor zeigen *\/\n  #new-sherdin-art-gallery input,\n  #new-sherdin-art-gallery textarea,\n  #new-sherdin-art-gallery select,\n  #new-sherdin-art-gallery [contenteditable=\"true\"]{\n    cursor: auto !important;\n  }\n<\/style>\n\n\n\n\n\n<style>\n  \/* 1) System-Cursor \u00fcber der Galerie \u00fcberall aus (Normal + FS) *\/\n  #new-sherdin-art-gallery,\n  #new-sherdin-art-gallery * { cursor: none !important; }\n  \/* Ausnahme: echte Formfelder d\u00fcrften Cursor zeigen (falls jemals vorhanden) *\/\n  #new-sherdin-art-gallery input,\n  #new-sherdin-art-gallery textarea,\n  #new-sherdin-art-gallery select,\n  #new-sherdin-art-gallery [contenteditable=\"true\"]{\n    cursor: auto !important;\n  }\n\n  \/* 2) FULLSCREEN: Cursor-\u201eRing\u201c rigoros entfernen *\/\n  \/* Wir targeten dein Setup (#cursor-root \/ #cursor-dot), aber NUR im FS. *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root { pointer-events: none !important; }\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    \/* reine Punkt-Darstellung, keine Rahmen\/Glows\/Filter *\/\n    border: none !important;\n    outline: none !important;\n    box-shadow: none !important;\n    filter: none !important;\n    backdrop-filter: none !important;\n    mix-blend-mode: normal !important;\n    opacity: 1 !important;\n    \/* Hover-Vergr\u00f6\u00dferung OFF, um Ring-\/Halo-Effekt zu vermeiden *\/\n    --scale: 1 !important;\n    transform: translate(-50%, -50%) scale(1) !important;\n  }\n  \/* Eventuelle Pseudo-Elemente als \u201eRing\u201c ausschalten *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::after{\n    content: none !important;\n    display: none !important;\n  }\n  \/* Falls dein Cursor-Overlay noch weitere Deko-Kinder h\u00e4tte:\n     nur den Punkt anzeigen, Rest aus. *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root > :not(#cursor-dot){\n    display: none !important;\n  }\n\n  \/* 3) Auch wenn die Seite global .link-hover setzt:\n        Im Fullscreen keine Hover-Effekte am Cursor erzwingen. *\/\n  html.link-hover #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    --scale: 1 !important;\n    opacity: 1 !important;\n  }\n<\/style>\n\n\n\n\n\n\n\n\n<style>\n  \/* Basis im Fullscreen: reiner Punkt, kein Ring\/Glow *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    border:none !important; outline:none !important;\n    box-shadow:none !important; filter:none !important; backdrop-filter:none !important;\n    mix-blend-mode:normal !important;\n    opacity:1 !important;\n    transform:translate(-50%,-50%) scale(1) !important;\n  }\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::after{ content:none !important; display:none !important; }\n\n  \/* >> Nur wenn wir explizit den Hover-State im FS setzen, wird vergr\u00f6\u00dfert *\/\n  #new-sherdin-art-gallery.is-fullscreen.fs-hover-on #cursor-dot{\n    transform:translate(-50%,-50%) scale(2.1428571429) !important;\n    opacity:.5 !important;\n  }\n<\/style>\n\n\n\n\n\n\n\n<script>\n(function(){\n  const root = document.getElementById('new-sherdin-art-gallery'); if(!root) return;\n\n  const INTERACTIVE = 'a,[href],button,[role=\"button\"],.sherdin-btn,.et_pb_button,'+\n                      'input[type=\"button\"],input[type=\"submit\"],label,summary,[onclick]';\n\n  const isFs = () => !!(document.fullscreenElement || document.webkitFullscreenElement);\n\n  function updateHoverState(target){\n    \/\/ Nur im Fullscreen reagieren\n    if(!isFs()) { root.classList.remove('fs-hover-on'); return; }\n    const el = target?.closest?.(INTERACTIVE);\n    root.classList.toggle('fs-hover-on', !!el);\n  }\n\n  \/\/ schnelles, robustes Tracking\n  root.addEventListener('mousemove', e => updateHoverState(e.target), {passive:true, capture:true});\n  root.addEventListener('mouseover', e => updateHoverState(e.target), {passive:true, capture:true});\n  root.addEventListener('mouseout',  e => updateHoverState(e.relatedTarget), {passive:true, capture:true});\n\n  \/\/ Beim FS-Wechsel sauber zur\u00fccksetzen\n  function syncFs(){ if(!isFs()) root.classList.remove('fs-hover-on'); }\n  document.addEventListener('fullscreenchange', syncFs);\n  document.addEventListener('webkitfullscreenchange', syncFs);\n})();\n<\/script>\n\n\n\n\n<style>\n  \/* Basis im FS: Punkt bleibt voll sichtbar *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    opacity: 1 !important;\n  }\n\n  \/* >>> Hover im FS: jetzt auch halbtransparent (wie bei dir \u00fcblich) *\/\n  #new-sherdin-art-gallery.is-fullscreen.fs-hover-on #cursor-dot{\n    opacity: .5 !important;\n  }\n\n  \/* Falls irgendwo html.link-hover o.\u00e4. noch auf 1 zwingt: \u00fcberstimmen *\/\n  html.link-hover #new-sherdin-art-gallery.is-fullscreen.fs-hover-on #cursor-dot{\n    opacity: .5 !important;\n  }\n\n  \/* Ring weiterhin aus *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::after{\n    content:none !important; display:none !important;\n  }\n<\/style>\n\n\n\n\n<style>\n  \/* Nur im Fullscreen aktiv *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    outline: none !important;\n  }\n\n  \/* Aggressiv ALLE evtl. Ringe\/Pseudo-Layer abschalten (Root & Dot) *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root::after,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::after{\n    content: none !important;\n    display: none !important;\n  }\n\n  \/* Falls dein Cursor noch einen zweiten Layer nutzt (z. B. Outline\/Ring),\n     blenden wir im Fullscreen alles au\u00dfer dem blauen Punkt aus: *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root > *:not(#cursor-dot){\n    display: none !important;\n  }\n\n  \/* Und falls ein \u201eRing\u201c durch Rahmen\/Shadow\/Filter entsteht: komplett neutralisieren *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    border: none !important;\n    box-shadow: none !important;\n    filter: none !important;\n    backdrop-filter: none !important;\n    mix-blend-mode: normal !important;\n  }\n\n  \/* Deine gew\u00fcnschte Hover-Wirkung bleibt bestehen: gr\u00f6\u00dfer + halbtransparent *\/\n  #new-sherdin-art-gallery.is-fullscreen.fs-hover-on #cursor-dot{\n    transform: translate(-50%, -50%) scale(2.1428571429) !important;\n    opacity: .5 !important;\n  }\n<\/style>\n\n\n\n\n<style>\n  \/* NUR IM FULLSCREEN greifen diese Regeln *\/\n  #new-sherdin-art-gallery.is-fullscreen{\n    \/* Systemcursor in der Galerie aus, damit kein Doppelcursor entsteht *\/\n    cursor: none !important;\n  }\n  #new-sherdin-art-gallery.is-fullscreen *{\n    cursor: none !important;\n  }\n\n  \/* --- HOVER-STATE im Fullscreen: nur #cursor-dot sichtbar & gestylt --- *\/\n\n  \/* 1) Alles au\u00dfer #cursor-dot vollst\u00e4ndig verstecken \u2013 auch tief geschachtelt *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root *:not(#cursor-dot){\n    display: none !important;\n  }\n\n  \/* 2) Pseudo-Elemente \u00fcberall killen (inkl. #cursor-dot selbst) *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root::after,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::after{\n    content: none !important;\n    display: none !important;\n  }\n\n  \/* 3) F\u00fcr alle evtl. verbleibenden Descendants ALLES dekorative neutralisieren *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root *,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root * *{\n    border: 0 !important;\n    outline: 0 !important;\n    box-shadow: none !important;\n    filter: none !important;\n    backdrop-filter: none !important;\n    mix-blend-mode: normal !important;\n    background: transparent !important;\n    background-image: none !important;\n    stroke: none !important;\n  }\n\n  \/* 4) Der eigentliche Punkt (#cursor-dot): nur der blaue Fill bleibt *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    width: 14px !important;\n    height: 14px !important;\n    border-radius: 50% !important;\n    background: #2ea3f2 !important;     \/* dein Blau *\/\n    border: none !important;\n    outline: none !important;\n    box-shadow: none !important;\n    filter: none !important;\n    backdrop-filter: none !important;\n    mix-blend-mode: normal !important;\n    transform: translate(-50%, -50%) scale(1) !important;\n    opacity: 1 !important;               \/* Basis: voll sichtbar *\/\n  }\n\n  \/* 5) Dein gew\u00fcnschter Hover im FS bleibt: gr\u00f6\u00dfer + halbtransparent *\/\n  #new-sherdin-art-gallery.is-fullscreen.fs-hover-on #cursor-dot{\n    transform: translate(-50%, -50%) scale(2.1428571429) !important;\n    opacity: .5 !important;\n  }\n<\/style>\n\n\n\n\n<style>\n  \/* --- NUR IM FULLSCREEN: alles au\u00dfer dem blauen Punkt vollst\u00e4ndig ausschalten --- *\/\n\n  \/* 0) Kein Tap\/Click-Highlight, falls Browser so etwas zeigt *\/\n  #new-sherdin-art-gallery.is-fullscreen *{\n    -webkit-tap-highlight-color: transparent !important;\n  }\n\n  \/* 1) Im Cursor-Overlay ALLES au\u00dfer #cursor-dot verstecken (rekursiv) *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root *:not(#cursor-dot){\n    display: none !important;\n  }\n\n  \/* 2) Jegliche Pseudo-Elemente killen \u2013 auch am Dot selbst *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root::after,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::before,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot::after{\n    content: none !important;\n    display: none !important;\n  }\n\n  \/* 3) Falls #cursor-dot intern Kinder\/SVGs hat \u2192 komplett weg damit *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot *{\n    display: none !important;\n  }\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root svg,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root svg *{\n    display: none !important;\n    stroke: none !important;\n    fill: none !important;\n  }\n\n  \/* 4) Alle dekorativen Effekte neutralisieren (R\u00e4nder, Schatten, Masken, Clip etc.) *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-root,\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    border: 0 !important;\n    outline: 0 !important;\n    box-shadow: none !important;\n    filter: none !important;\n    backdrop-filter: none !important;\n    mix-blend-mode: normal !important;\n    background-image: none !important;\n    -webkit-mask: none !important; mask: none !important;\n    clip-path: none !important;\n  }\n\n  \/* 5) Der Punkt selbst (Basiszustand im FS) *\/\n  #new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n    width: 14px !important;\n    height: 14px !important;\n    border-radius: 50% !important;\n    background: #2ea3f2 !important;     \/* dein Blau *\/\n    transform: translate(-50%, -50%) scale(1) !important;\n    opacity: 1 !important;\n  }\n\n  \/* 6) Dein gew\u00fcnschter Hover im Fullscreen bleibt: gr\u00f6\u00dfer + halbtransparent *\/\n  #new-sherdin-art-gallery.is-fullscreen.fs-hover-on #cursor-dot{\n    transform: translate(-50%, -50%) scale(2.1428571429) !important;\n    opacity: .5 !important;\n  }\n\n  \/* 7) Systemcursor in der Galerie grunds\u00e4tzlich aus (kein Doppel) *\/\n  #new-sherdin-art-gallery.is-fullscreen,\n  #new-sherdin-art-gallery.is-fullscreen *{\n    cursor: none !important;\n  }\n<\/style>\n\n\n\n\n<style>\n  \/* Systemcursor in der Galerie (nur im FS) vollst\u00e4ndig aus *\/\n  #new-sherdin-art-gallery.is-fullscreen,\n  #new-sherdin-art-gallery.is-fullscreen *{ cursor:none !important; }\n\n  \/* Eigener, ringfreier FS-Cursor *\/\n  #new-sherdin-art-gallery #fs-cursor-dot{\n    position:fixed; left:0; top:0;\n    width:14px; height:14px; border-radius:50%;\n    background:#2ea3f2;                   \/* dein Blau *\/\n    transform:translate(-50%,-50%) scale(1);\n    transform-origin:50% 50%;\n    pointer-events:none;\n    z-index:2147483647;\n    transition:transform .22s linear, opacity .22s linear;\n    opacity:1;\n  }\n  \/* Hover-Effekt im FS: gr\u00f6\u00dfer + halbtransparent *\/\n  #new-sherdin-art-gallery.fs-hover-on #fs-cursor-dot{\n    transform:translate(-50%,-50%) scale(2.1428571429);\n    opacity:.5;\n  }\n<\/style>\n\n\n\n<style>\n#new-sherdin-art-gallery .sherdin-controls{\n  left:35px !important;\n  right:auto !important;\n}\n\n#new-sherdin-art-gallery.sherdin-tray-open{\n  --controls-offset:calc(var(--tray-h) + 50px) !important;\n}\n<\/style>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<style>\n\/* =========================================================\n   SHERDIN \u00b7 FULLSCREEN-PFEIL OHNE PUNKT\n========================================================= *\/\n\n\/* Fullscreen-Button aktiv = hell *\/\n#new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs,\n#new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs:hover{\n  color:#fff !important;\n  border-color:#fff !important;\n}\n\n\n\/* Fullscreen-Richtungspfeil *\/\n#new-sherdin-art-gallery #sh-fs-arrow-cursor{\n  position:fixed;\n  left:0;\n  top:0;\n  width:1px;\n  height:1px;\n  pointer-events:none;\n  z-index:2147483647;\n\n  opacity:0;\n  visibility:hidden;\n  transition:opacity 450ms ease;\n}\n\n#new-sherdin-art-gallery.is-fullscreen\n#sh-fs-arrow-cursor.is-visible{\n  opacity:1;\n  visibility:visible;\n}\n\n\n\/* D\u00fcnne Pfeillinie *\/\n#new-sherdin-art-gallery #sh-fs-arrow-cursor .sh-fs-arrow-line{\n  position:absolute;\n  top:0;\n  width:34px;\n  height:1px;\n  background:#0fa4f4;\n}\n\n\n\/* Linker Pfeil:\n   Spitze sitzt direkt an der Maus *\/\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-left .sh-fs-arrow-line{\n  left:0;\n}\n\n\n\/* Rechter Pfeil:\n   Spitze sitzt direkt an der Maus *\/\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-right .sh-fs-arrow-line{\n  right:0;\n}\n\n\n\/* Pfeilspitzen *\/\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor .sh-fs-arrow-line::before,\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor .sh-fs-arrow-line::after{\n  content:\"\";\n  position:absolute;\n  top:0;\n  width:9px;\n  height:1px;\n  background:#0fa4f4;\n}\n\n\n\/* Spitze nach links *\/\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-left .sh-fs-arrow-line::before,\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-left .sh-fs-arrow-line::after{\n  left:0;\n  transform-origin:left center;\n}\n\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-left .sh-fs-arrow-line::before{\n  transform:rotate(-35deg);\n}\n\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-left .sh-fs-arrow-line::after{\n  transform:rotate(35deg);\n}\n\n\n\/* Spitze nach rechts *\/\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-right .sh-fs-arrow-line::before,\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-right .sh-fs-arrow-line::after{\n  right:0;\n  transform-origin:right center;\n}\n\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-right .sh-fs-arrow-line::before{\n  transform:rotate(35deg);\n}\n\n#new-sherdin-art-gallery\n#sh-fs-arrow-cursor.is-right .sh-fs-arrow-line::after{\n  transform:rotate(-35deg);\n}\n\n\n\/* W\u00e4hrend der Richtungspfeil sichtbar ist:\n   alle alten blauen Punkte aus *\/\n#new-sherdin-art-gallery.is-fullscreen.sh-fs-arrow-active #cursor-root,\n#new-sherdin-art-gallery.is-fullscreen.sh-fs-arrow-active #cursor-dot,\n#new-sherdin-art-gallery.is-fullscreen.sh-fs-arrow-active #fs-cursor-dot,\n#new-sherdin-art-gallery.is-fullscreen.sh-fs-arrow-active .sh-fs-cursor-proxy{\n  opacity:0 !important;\n}\n\n\n\/* Nach Inaktivit\u00e4t alles weich ausblenden *\/\n#new-sherdin-art-gallery.is-fullscreen.sherdin-idle #cursor-root,\n#new-sherdin-art-gallery.is-fullscreen.sherdin-idle #cursor-dot,\n#new-sherdin-art-gallery.is-fullscreen.sherdin-idle #fs-cursor-dot,\n#new-sherdin-art-gallery.is-fullscreen.sherdin-idle .sh-fs-cursor-proxy,\n#new-sherdin-art-gallery.is-fullscreen.sherdin-idle #sh-fs-arrow-cursor{\n  opacity:0 !important;\n}\n<\/style>\n\n\n<script>\n(function(){\n  const root = document.getElementById('new-sherdin-art-gallery');\n  if(!root || root.dataset.shFsArrowReady === '1') return;\n\n  root.dataset.shFsArrowReady = '1';\n\n  \/* Eventuellen alten Test-Zeiger entfernen *\/\n  root.querySelector('#sh-fs-direction')?.remove();\n\n  const stage = root.querySelector('.sherdin-stage');\n  if(!stage) return;\n\n  const arrow = document.createElement('div');\n  arrow.id = 'sh-fs-arrow-cursor';\n  arrow.setAttribute('aria-hidden','true');\n  arrow.innerHTML = '<span class=\"sh-fs-arrow-line\"><\/span>';\n\n  root.appendChild(arrow);\n\n  const uiSelector =\n    'a, button, [role=\"button\"], .sherdin-controls, ' +\n    '.sherdin-tray, .sherdin-thumb';\n\n  function isFullscreen(){\n    return document.fullscreenElement === root ||\n           document.webkitFullscreenElement === root;\n  }\n\n  function hideArrow(){\n    arrow.classList.remove('is-visible','is-left','is-right');\n    root.classList.remove('sh-fs-arrow-active');\n  }\n\n  function moveArrow(event){\n    if(!isFullscreen()){\n      hideArrow();\n      return;\n    }\n\n    const overControls = !!event.target.closest?.(uiSelector);\n\n    if(overControls){\n      hideArrow();\n      return;\n    }\n\n    arrow.style.left = event.clientX + 'px';\n    arrow.style.top  = event.clientY + 'px';\n\n    const leftSide = event.clientX < window.innerWidth \/ 2;\n\n    arrow.classList.add('is-visible');\n    arrow.classList.toggle('is-left', leftSide);\n    arrow.classList.toggle('is-right', !leftSide);\n\n    root.classList.add('sh-fs-arrow-active');\n  }\n\n  function syncFullscreen(){\n    if(!isFullscreen()){\n      hideArrow();\n    }\n  }\n\n  document.addEventListener('mousemove', moveArrow, {\n    passive:true,\n    capture:true\n  });\n\n  document.addEventListener('pointermove', moveArrow, {\n    passive:true,\n    capture:true\n  });\n\n  document.addEventListener('fullscreenchange', syncFullscreen);\n  document.addEventListener('webkitfullscreenchange', syncFullscreen);\n})();\n<\/script>\n\n\n\n\n\n\n\n\n\n\n<style>\n\/* =========================================================\n   SHERDIN \u00b7 INFOBOX\n========================================================= *\/\n\n#new-sherdin-art-gallery{\n  --info-controls-offset:0px;\n}\n\n\/* Ge\u00f6ffnete Position exakt an das verkleinerte Men\u00fc anpassen *\/\n#new-sherdin-art-gallery.sherdin-tray-open{\n  --info-controls-offset:\n    calc(clamp(67.5px, 15vh, 150px) + 37.5px);\n}\n\n#new-sherdin-art-gallery .sherdin-info{\n  bottom:34px !important;\n\n  background:rgba(0,0,0,.58) !important;\n  -webkit-backdrop-filter:blur(16px) saturate(120%) !important;\n  backdrop-filter:blur(16px) saturate(120%) !important;\n\n  border:0 !important;\n  outline:0 !important;\n  box-shadow:none !important;\n\n  color:#fff !important;\n\n  transform:\n    translate(\n      -50%,\n      calc(8px - var(--info-controls-offset))\n    ) !important;\n}\n\n#new-sherdin-art-gallery .sherdin-info.is-visible{\n  transform:\n    translate(\n      -50%,\n      calc(0px - var(--info-controls-offset))\n    ) !important;\n}\n<\/style>\n\n\n\n\n\n\n\n\n\n\n\n\n<style id=\"sherdin-gallery-mobile-position\">\n\n@media (max-width:767px){\n\n  \/* Geschlossen: 20 px h\u00f6her und 10 px weiter links *\/\n\n  #new-sherdin-art-gallery .sherdin-controls{\n    left:20px !important;\n    bottom:54px !important;\n  }\n\n  #new-sherdin-art-gallery .sherdin-info{\n    bottom:54px !important;\n  }\n\n  \/* Bei ge\u00f6ffneter Vorschau deutlich weiter nach unten *\/\n\n  #new-sherdin-art-gallery.sherdin-tray-open{\n    --controls-offset:\n      calc(var(--tray-h) - 38px) !important;\n  }\n\n}\n\n<\/style>\n\n\n\n<style id=\"sherdin-gallery-mobile-groesse\">\n\n@media (max-width:767px){\n\n  #new-sherdin-art-gallery .sherdin-controls{\n    scale:.90 !important;\n    transform-origin:left center !important;\n  }\n\n}\n\n<\/style>\n\n<!-- =========================================================\n  SHERDIN \u00b7 FINALER SAFE PATCH\n  Vorschauleiste bleibt vollst\u00e4ndig in der bew\u00e4hrten Originalfassung.\n  Repariert nur:\n  1) nativen Cursor\n  2) Pause auf Touch + Pausezustand bei Navigation\n  3) Fullscreen-Button und Innenpfeile\n========================================================= -->\n\n<style>\n\/* ---------------------------------------------------------\n   1. NATIVER CURSOR: auch direkt auf Bild\/Video\/Buttons aus\n--------------------------------------------------------- *\/\n\nhtml body:not(.wp-admin):not(.et-fb):not(.et-fb-root-ancestor)\n#new-sherdin-art-gallery,\nhtml body:not(.wp-admin):not(.et-fb):not(.et-fb-root-ancestor)\n#new-sherdin-art-gallery *,\nhtml body:not(.wp-admin):not(.et-fb):not(.et-fb-root-ancestor)\n#new-sherdin-art-gallery .sherdin-stage .sherdin-slide.sherdin-active,\nhtml body:not(.wp-admin):not(.et-fb):not(.et-fb-root-ancestor)\n#new-sherdin-art-gallery .sherdin-stage .sherdin-slide.sherdin-active > .sherdin-media{\n  cursor:none !important;\n  -webkit-tap-highlight-color:transparent !important;\n}\n\n\/* Im Divi Builder bleibt der normale Cursor erhalten *\/\nbody.et-fb #new-sherdin-art-gallery,\nbody.et-fb #new-sherdin-art-gallery *,\nbody.et-fb-root-ancestor #new-sherdin-art-gallery,\nbody.et-fb-root-ancestor #new-sherdin-art-gallery *{\n  cursor:auto !important;\n}\n\n\n\/* ---------------------------------------------------------\n   2. PLAY\/PAUSE AUF HANDY UND IPAD\n   Kein festh\u00e4ngender Touch-Hover mehr.\n--------------------------------------------------------- *\/\n\n#new-sherdin-art-gallery .sherdin-btn-play{\n  touch-action:manipulation;\n  -webkit-tap-highlight-color:transparent;\n}\n\n\/* Alle Farb- und Symbolwechsel bleiben weich. *\/\n#new-sherdin-art-gallery .sherdin-btn{\n  transition:\n    color 250ms ease,\n    border-color 250ms ease,\n    background-color 250ms ease !important;\n}\n\n#new-sherdin-art-gallery .sherdin-btn .icon,\n#new-sherdin-art-gallery .sherdin-btn .sh-fs-icon{\n  transition:opacity 220ms ease !important;\n}\n\n@media (hover:none), (pointer:coarse){\n\n  \/* Auf Touch darf der nach einem Tap gespeicherte Hover-Zustand\n     die echte Play\/Pause-Anzeige nicht \u00fcberschreiben. *\/\n  #new-sherdin-art-gallery\n  .sherdin-btn-play:not(.is-active),\n  #new-sherdin-art-gallery\n  .sherdin-btn-play:not(.is-active):hover{\n    color:#0fa4f4 !important;\n    border-color:#0fa4f4 !important;\n  }\n\n  #new-sherdin-art-gallery\n  .sherdin-btn-play.is-active,\n  #new-sherdin-art-gallery\n  .sherdin-btn-play.is-active:hover{\n    color:#fff !important;\n    border-color:#fff !important;\n  }\n\n  \/* Standard: blauer Play-Pfeil *\/\n  #new-sherdin-art-gallery\n  .sherdin-btn-play:not(.is-active) .icon-play{\n    opacity:1 !important;\n  }\n\n  #new-sherdin-art-gallery\n  .sherdin-btn-play:not(.is-active) .icon-pause{\n    opacity:0 !important;\n  }\n\n  \/* Aktiv\/pausiert: wei\u00dfes Pause-Symbol *\/\n  #new-sherdin-art-gallery\n  .sherdin-btn-play.is-active .icon-play{\n    opacity:0 !important;\n  }\n\n  #new-sherdin-art-gallery\n  .sherdin-btn-play.is-active .icon-pause{\n    opacity:1 !important;\n  }\n}\n\n\n\/* Bei ge\u00f6ffneter Vorschauleiste endet der komplette Men\u00fcblock\n   10 px tiefer und slidet weiterhin weich mit. *\/\n#new-sherdin-art-gallery.sherdin-tray-open{\n  --controls-offset:calc(var(--tray-h) - 43px) !important;\n}\n\n\/* Desktop mit echter Maus:\n   Bei offener Vorschauleiste endet der Men\u00fcblock weitere 20 px h\u00f6her.\n   Touch-Ger\u00e4te (Handy\/iPad) behalten die bisherige Position. *\/\n@media (hover:hover) and (pointer:fine){\n  #new-sherdin-art-gallery.sherdin-tray-open{\n    --controls-offset:calc(var(--tray-h) + 35px) !important;\n  }\n}\n\n#new-sherdin-art-gallery .sherdin-controls{\n  transition:transform 300ms ease !important;\n}\n\n\n\/* ---------------------------------------------------------\n   3. FULLSCREEN-BUTTON\n--------------------------------------------------------- *\/\n\n#new-sherdin-art-gallery .sherdin-btn-fs{\n  position:relative;\n  touch-action:manipulation;\n  -webkit-tap-highlight-color:transparent;\n}\n\n#new-sherdin-art-gallery .sherdin-btn-fs .sh-fs-icon{\n  position:absolute;\n  inset:0;\n  display:grid;\n  place-items:center;\n  opacity:0;\n  transition:opacity 180ms ease;\n}\n\n#new-sherdin-art-gallery .sherdin-btn-fs .sh-fs-icon-expand{\n  opacity:1;\n}\n\n#new-sherdin-art-gallery .sherdin-btn-fs svg{\n  display:block;\n  width:20px;\n  height:20px;\n  fill:none;\n  stroke:currentColor;\n  stroke-width:1.7;\n  stroke-linecap:round;\n  stroke-linejoin:round;\n}\n\n\/* Fullscreen aktiv: Button bleibt hell *\/\n#new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs,\n#new-sherdin-art-gallery.is-fullscreen .sherdin-btn-fs:hover{\n  color:#fff !important;\n  border-color:#fff !important;\n}\n\n\/* Nur im aktiven Fullscreen:\n   Hover zeigt kleine Pfeile nach innen *\/\n@media (hover:hover) and (pointer:fine){\n\n  #new-sherdin-art-gallery.is-fullscreen\n  .sherdin-btn-fs:hover .sh-fs-icon-expand{\n    opacity:0;\n  }\n\n  #new-sherdin-art-gallery.is-fullscreen\n  .sherdin-btn-fs:hover .sh-fs-icon-collapse{\n    opacity:1;\n  }\n}\n\n\/* Touch hat keinen echten Hover:\n   im aktiven Fullscreen deshalb direkt Innenpfeile zeigen *\/\n@media (hover:none), (pointer:coarse){\n\n  #new-sherdin-art-gallery.is-fullscreen\n  .sherdin-btn-fs .sh-fs-icon-expand{\n    opacity:0;\n  }\n\n  #new-sherdin-art-gallery.is-fullscreen\n  .sherdin-btn-fs .sh-fs-icon-collapse{\n    opacity:1;\n  }\n}\n<\/style>\n\n\n<script>\n(function(){\n  'use strict';\n\n  const root = document.getElementById('new-sherdin-art-gallery');\n  if(!root || root.dataset.sherdinSafePatch === '1') return;\n\n  root.dataset.sherdinSafePatch = '1';\n\n  const playButton = root.querySelector('.sherdin-btn-play');\n  const controls = root.querySelector('.sherdin-controls');\n  const stage = root.querySelector('.sherdin-stage');\n\n\n  \/* -------------------------------------------------------\n     PAUSEZUSTAND BEI MANUELLER NAVIGATION BEWAHREN\n     Der normale Browser-Klick bleibt auf Maus, Handy und\n     iPad unangetastet. Dadurch gibt es keinen Doppelklick\n     durch touchend + click mehr.\n  ------------------------------------------------------- *\/\n\n  if(playButton){\n    \/* Wenn die Slideshow pausiert ist, bleibt sie auch nach\n       Bildklick, Swipe-Ersatzklick oder Thumbnail-Auswahl pausiert. *\/\n    document.addEventListener('click',function(event){\n      if(!root.contains(event.target)) return;\n      if(controls && controls.contains(event.target)) return;\n      if(!playButton.classList.contains('is-active')) return;\n\n      const isGalleryNavigation =\n        (stage && stage.contains(event.target)) ||\n        !!event.target.closest?.('.sherdin-thumb');\n\n      if(!isGalleryNavigation) return;\n\n      window.setTimeout(function(){\n        if(!playButton.classList.contains('is-active')){\n          playButton.click();\n        }\n      },0);\n    },true);\n  }\n\n\n  \/* -------------------------------------------------------\n     FULLSCREEN\n     Der Button wird geklont. Dadurch sind s\u00e4mtliche alten,\n     mehrfach gestapelten anonymen Klickhandler nur an diesem\n     Button entfernt. Vorschau-\/Play-\/Info-Buttons bleiben\n     komplett unangetastet.\n  ------------------------------------------------------- *\/\n\n  const oldFullscreenButton = root.querySelector('.sherdin-btn-fs');\n  if(!oldFullscreenButton) return;\n\n  const fullscreenButton = oldFullscreenButton.cloneNode(false);\n\n  fullscreenButton.className = oldFullscreenButton.className;\n  fullscreenButton.type = 'button';\n  fullscreenButton.setAttribute('aria-label','Fullscreen \u00f6ffnen');\n  fullscreenButton.setAttribute('aria-pressed','false');\n\n  fullscreenButton.innerHTML = `\n    <span class=\"sh-fs-icon sh-fs-icon-expand\" aria-hidden=\"true\">\n      <svg viewBox=\"0 0 24 24\">\n        <path d=\"M4 9V4h5\"\/>\n        <path d=\"M20 15v5h-5\"\/>\n        <path d=\"M4 4l6 6\"\/>\n        <path d=\"M20 20l-6-6\"\/>\n      <\/svg>\n    <\/span>\n\n    <span class=\"sh-fs-icon sh-fs-icon-collapse\" aria-hidden=\"true\">\n      <svg viewBox=\"0 0 24 24\">\n        <path d=\"M4.5 4.5L10 10M10 10V7M10 10H7\"\/>\n        <path d=\"M19.5 4.5L14 10M14 10V7M14 10H17\"\/>\n        <path d=\"M4.5 19.5L10 14M10 14V17M10 14H7\"\/>\n        <path d=\"M19.5 19.5L14 14M14 14V17M14 14H17\"\/>\n      <\/svg>\n    <\/span>\n  `;\n\n  oldFullscreenButton.replaceWith(fullscreenButton);\n\n  function nativeFullscreenElement(){\n    return document.fullscreenElement ||\n           document.webkitFullscreenElement ||\n           null;\n  }\n\n  function isGalleryFullscreen(){\n    return nativeFullscreenElement() === root;\n  }\n\n  function syncFullscreen(){\n    const active = isGalleryFullscreen();\n\n    root.classList.toggle('is-fullscreen',active);\n    fullscreenButton.setAttribute('aria-pressed',active ? 'true' : 'false');\n    fullscreenButton.setAttribute(\n      'aria-label',\n      active ? 'Fullscreen schlie\u00dfen' : 'Fullscreen \u00f6ffnen'\n    );\n  }\n\n  function enterFullscreen(){\n    const request =\n      root.requestFullscreen ||\n      root.webkitRequestFullscreen;\n\n    if(!request) return;\n\n    try{\n      const result = request.call(root);\n      if(result && typeof result.catch === 'function'){\n        result.catch(function(){});\n      }\n    }catch(error){}\n  }\n\n  function exitFullscreen(){\n    const exit =\n      document.exitFullscreen ||\n      document.webkitExitFullscreen;\n\n    if(!exit) return;\n\n    try{\n      const result = exit.call(document);\n      if(result && typeof result.catch === 'function'){\n        result.catch(function(){});\n      }\n    }catch(error){}\n  }\n\n  fullscreenButton.addEventListener('click',function(event){\n    event.preventDefault();\n    event.stopImmediatePropagation();\n    event.stopPropagation();\n\n    if(isGalleryFullscreen()) exitFullscreen();\n    else enterFullscreen();\n  });\n\n  document.addEventListener('fullscreenchange',syncFullscreen);\n  document.addEventListener('webkitfullscreenchange',syncFullscreen);\n\n  syncFullscreen();\n})();\n<\/script>\n\n\n<!-- =========================================================\n  SHERDIN \u00b7 FULLSCREEN-CURSOR CLEANUP\n  Entfernt ausschlie\u00dflich alte doppelte Cursor-Layer.\n========================================================= -->\n\n<style>\n\/* Der alte 12-px-Proxy ist der kleine Kreis im blauen Punkt. *\/\n#new-sherdin-art-gallery .sh-fs-cursor-proxy,\n#new-sherdin-art-gallery #fs-cursor-dot{\n  display:none !important;\n  visibility:hidden !important;\n  opacity:0 !important;\n  width:0 !important;\n  height:0 !important;\n  border:0 !important;\n  outline:0 !important;\n  box-shadow:none !important;\n  pointer-events:none !important;\n}\n\n\/* Im Fullscreen bleibt im echten Cursor-Container nur der blaue Punkt. *\/\n#new-sherdin-art-gallery.is-fullscreen\n#cursor-root > :not(#cursor-dot){\n  display:none !important;\n}\n\n#new-sherdin-art-gallery.is-fullscreen #cursor-dot{\n  border:0 !important;\n  outline:0 !important;\n  box-shadow:none !important;\n  background-image:none !important;\n}\n\n#new-sherdin-art-gallery.is-fullscreen #cursor-dot::before,\n#new-sherdin-art-gallery.is-fullscreen #cursor-dot::after{\n  content:none !important;\n  display:none !important;\n}\n<\/style>\n\n\n\n\n\n\n\n\n\n\n\n\n<style id=\"sherdin-footer-layer-fix\">\n@media (max-width:767px){\n\n  #new-sherdin-art-gallery > #footer01{\n    position:fixed !important;\n    left:0 !important;\n    right:0 !important;\n    bottom:0 !important;\n    width:100% !important;\n    margin:0 !important;\n    z-index:100 !important;\n  }\n\n  \/* Slider unter dem Footer *\/\n  #new-sherdin-art-gallery .sherdin-stage{\n    z-index:1 !important;\n  }\n\n  \/* Vorschauleiste \u00fcber dem Footer *\/\n  #new-sherdin-art-gallery .sherdin-tray{\n    z-index:1000 !important;\n  }\n\n  \/* Men\u00fc und Infobox ganz oben *\/\n  #new-sherdin-art-gallery .sherdin-controls{\n    z-index:10001 !important;\n  }\n\n  #new-sherdin-art-gallery .sherdin-info{\n    z-index:10002 !important;\n  }\n\n  \/* Im echten Fullscreen keinen Footer anzeigen *\/\n  #new-sherdin-art-gallery.is-fullscreen > #footer01{\n    display:none !important;\n  }\n}\n<\/style>\n\n<script>\n(function(){\n\n  function placeFooterInGallery(){\n    const gallery = document.getElementById('new-sherdin-art-gallery');\n    const footer  = document.getElementById('footer01');\n\n    if(!gallery || !footer || footer.dataset.galleryLayerReady === '1'){\n      return;\n    }\n\n    footer.dataset.galleryLayerReady = '1';\n\n    \/* Urspr\u00fcngliche Position merken *\/\n    const marker = document.createComment('footer01-original-position');\n    footer.parentNode.insertBefore(marker, footer);\n\n    const mobile = window.matchMedia('(max-width:767px)');\n\n    function updateFooterPosition(){\n\n      if(mobile.matches){\n\n        \/* Footer in dieselbe Ebenenstruktur wie die Gallery verschieben *\/\n        if(footer.parentNode !== gallery){\n          gallery.appendChild(footer);\n        }\n\n      }else{\n\n        \/* Auf Desktop zur\u00fcck an die urspr\u00fcngliche Divi-Position *\/\n        if(marker.parentNode && footer.parentNode !== marker.parentNode){\n          marker.parentNode.insertBefore(footer, marker.nextSibling);\n        }\n\n      }\n    }\n\n    updateFooterPosition();\n\n    if(mobile.addEventListener){\n      mobile.addEventListener('change', updateFooterPosition);\n    }else{\n      mobile.addListener(updateFooterPosition);\n    }\n  }\n\n  if(document.readyState === 'loading'){\n    document.addEventListener(\n      'DOMContentLoaded',\n      placeFooterInGallery,\n      { once:true }\n    );\n  }else{\n    placeFooterInGallery();\n  }\n\n})();\n<\/script>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- =========================================================\n  SHERDIN \u00b7 LANDSCAPE MEDIA FILL FIX\n  Nur Querformat-Bilder\/Videos auf Querformat-Screens\n========================================================= -->\n\n<style id=\"sherdin-landscape-media-fill-fix\">\n\n@media (orientation: landscape){\n\n  \/* =======================================================\n     QUERFORMAT \u00b7 BILD + VIDEO\n\n     F\u00fcllt die komplette Gallery-B\u00fchne.\n     Seitenverh\u00e4ltnis bleibt erhalten.\n     \u00dcberstand wird automatisch abgeschnitten.\n  ======================================================= *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide\n  .sherdin-media.is-wide{\n\n    width:100% !important;\n    height:100% !important;\n\n    max-width:none !important;\n    max-height:none !important;\n\n    left:auto !important;\n    transform:none !important;\n\n    object-fit:cover !important;\n    object-position:center center !important;\n  }\n\n\n  \/* <picture> selbst muss ebenfalls die B\u00fchne f\u00fcllen *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide\n  picture.sherdin-media.is-wide{\n\n    width:100% !important;\n    height:100% !important;\n  }\n\n\n  \/* Das tats\u00e4chlich sichtbare Bild im <picture> *\/\n\n  #new-sherdin-art-gallery\n  .sherdin-slide\n  picture.sherdin-media.is-wide > img{\n\n    display:block !important;\n\n    width:100% !important;\n    height:100% !important;\n\n    max-width:none !important;\n    max-height:none !important;\n\n    object-fit:cover !important;\n    object-position:center center !important;\n  }\n\n}\n\n<\/style>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- =========================================================\n  SHERDIN \u00b7 VIDEO PATCH\n  Controls AUS \u00b7 Klicks durch \u00b7 Loop sicher\n========================================================= -->\n\n<style>\n\n\/* Video blockiert die Links-\/Rechts-Klickfl\u00e4chen nicht mehr *\/\n#new-sherdin-art-gallery .sherdin-stage video{\n  pointer-events:none !important;\n}\n\n<\/style>\n\n<script>\n(function(){\n\n  const root = document.getElementById('new-sherdin-art-gallery');\n  if(!root) return;\n\n\n  function fixVideo(v){\n\n    if(!v || v.tagName !== 'VIDEO') return;\n\n    \/* Browser-Bedienfeld AUS *\/\n    v.controls = false;\n    v.removeAttribute('controls');\n\n    \/* Video-Einstellungen *\/\n    v.muted = true;\n    v.defaultMuted = true;\n\n    v.playsInline = true;\n    v.setAttribute('playsinline','');\n\n    \/* Loop *\/\n    v.loop = true;\n  }\n\n\n  \/* vorhandene Videos *\/\n  root.querySelectorAll('video').forEach(fixVideo);\n\n\n  \/* sobald ein Video geladen oder abgespielt wird,\n     Einstellungen erneut absichern *\/\n  ['loadedmetadata','canplay','play'].forEach(function(eventName){\n\n    root.addEventListener(eventName,function(e){\n\n      if(e.target && e.target.tagName === 'VIDEO'){\n        fixVideo(e.target);\n      }\n\n    },true);\n\n  });\n\n\n  \/* zus\u00e4tzliche Loop-Sicherung:\n     selbst wenn alter Gallery-Code loop=false setzt,\n     startet das sichtbare Video am Ende wieder *\/\n  root.addEventListener('ended',function(e){\n\n    const v = e.target;\n\n    if(!v || v.tagName !== 'VIDEO') return;\n\n    const slide = v.closest('.sherdin-slide');\n\n    if(slide && !slide.classList.contains('sherdin-active')){\n      return;\n    }\n\n    v.currentTime = 0;\n\n    try{\n      v.play();\n    }catch(err){}\n\n  },true);\n\n})();\n<\/script>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<style id=\"sherdin-info-follow-tray\">\n\n\/* =========================================================\n   SHERDIN \u00b7 INFOBOX FOLGT VORSCHAULEISTE\n========================================================= *\/\n\n@media (min-width:521px){\n\n  \/* -------------------------------------------------------\n     NORMAL \u00b7 VORSCHAULEISTE ZU\n  ------------------------------------------------------- *\/\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-desktop,\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified{\n\n    top:50% !important;\n    bottom:auto !important;\n\n    transform:translateY(-50%) !important;\n\n    transition:\n      top .55s cubic-bezier(.22,.61,.36,1) !important;\n  }\n\n\n  \/* -------------------------------------------------------\n     VORSCHAULEISTE OFFEN\n     Info wird um die halbe Tray-H\u00f6he nach oben verschoben\n  ------------------------------------------------------- *\/\n\n  #new-sherdin-art-gallery.sherdin-tray-open\n  .sh-art-info-panel.sh-info-desktop,\n\n  #new-sherdin-art-gallery.sherdin-tray-open\n  .sh-art-info-panel.sh-info-unified,\n\n  #new-sherdin-art-gallery:has(.sherdin-tray.sherdin-tray-open)\n  .sh-art-info-panel.sh-info-desktop,\n\n  #new-sherdin-art-gallery:has(.sherdin-tray.sherdin-tray-open)\n  .sh-art-info-panel.sh-info-unified{\n\n    top:calc(50% - (var(--tray-h) \/ 2)) !important;\n  }\n\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\/* =========================================================\n   SHERDIN \u00b7 MOBILE \/ IPAD LOGO \u00b7 BURGER MATCH\n========================================================= *\/\n\n@media (max-width:980px){\n\n  #ssn-menu .ssn-logo{\n    width:36px !important;\n    height:36px !important;\n\n    min-width:36px !important;\n    min-height:36px !important;\n\n    display:grid !important;\n    place-items:center !important;\n\n    margin-left:10px !important;\n\n    transform:none !important;\n  }\n\n  #ssn-menu .ssn-logo img{\n    display:block !important;\n\n    width:24px !important;\n    height:auto !important;\n\n    max-width:24px !important;\n    max-height:none !important;\n\n    object-fit:contain !important;\n\n    transform:none !important;\n  }\n\n}\n\n\n\n\n<\/style>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- =========================================================\n  SHERDIN \u00b7 GALLERY KEYBOARD CONTROLS\n\n  SPACE = Vorschauleiste\n  P     = Play \/ Pause\n\n  I wird bereits vom GALERIE INFO-LIST Modul gesteuert\n========================================================= -->\n\n<script>\n(function(){\n\n  const root = document.getElementById('new-sherdin-art-gallery');\n  if(!root || root.dataset.shKeyboardControls === '1') return;\n\n  root.dataset.shKeyboardControls = '1';\n\n\n  document.addEventListener('keydown', function(e){\n\n    if(e.repeat) return;\n\n\n    const target = e.target;\n\n    if(\n      target &&\n      (\n        target.matches?.('input, textarea, select') ||\n        target.isContentEditable\n      )\n    ){\n      return;\n    }\n\n\n    \/* =====================================================\n       SPACE \u00b7 VORSCHAU AUF \/ ZU\n    ===================================================== *\/\n\n    if(e.code === 'Space'){\n\n      const trayButton =\n        root.querySelector('.sherdin-btn-tray');\n\n      if(!trayButton) return;\n\n      e.preventDefault();\n\n      trayButton.click();\n\n      return;\n    }\n\n\n    \/* =====================================================\n       P \u00b7 AUTOMATISCHEN BILDWECHSEL PLAY \/ PAUSE\n    ===================================================== *\/\n\n    if(e.code === 'KeyP'){\n\n      const playButton =\n        root.querySelector('.sherdin-btn-play');\n\n      if(!playButton) return;\n\n      e.preventDefault();\n\n      playButton.click();\n\n    }\n\n  });\n\n})();\n<\/script>\n\n\n\n\n<style>\n\/* =========================================================\n   SHERDIN \u00b7 MOBILE \/ IPAD LOGO \u00b7 FINAL ALIGNMENT\n========================================================= *\/\n\n@media (max-width:980px){\n\n  \/* \u00e4u\u00dferer Logo-Container *\/\n  #ssn-menu .ssn-logo{\n    width:40px !important;\n    height:40px !important;\n    min-width:40px !important;\n    min-height:40px !important;\n\n    margin-left:-2px !important;\n    padding:0 !important;\n\n    display:flex !important;\n    align-items:center !important;\n    justify-content:center !important;\n\n    transform:none !important;\n  }\n\n\n  \/* falls der schwarze Kreis auf dem Link selbst liegt *\/\n  #ssn-menu .ssn-logo > a{\n    width:40px !important;\n    height:40px !important;\n\n    padding:0 !important;\n    margin:0 !important;\n\n    display:flex !important;\n    align-items:center !important;\n    justify-content:center !important;\n\n    border-radius:50% !important;\n  }\n\n\n  \/* wei\u00dfes Sherdin-Symbol *\/\n  #ssn-menu .ssn-logo img{\n    display:block !important;\n\n    width:28px !important;\n    height:auto !important;\n\n    max-width:28px !important;\n    max-height:none !important;\n\n    margin:0 !important;\n    padding:0 !important;\n\n    position:static !important;\n\n    object-fit:contain !important;\n    object-position:center center !important;\n\n    transform:none !important;\n  }\n\n}\n\n\n\n\n\n\/* =========================================================\n   SHERDIN \u00b7 MOBILE LOGO \u00b7 EXAKT WIE BURGER\n========================================================= *\/\n\n@media (max-width:620px){\n\n  #ssn-menu .ssn-logo{\n    visibility:visible !important;\n    pointer-events:auto !important;\n\n    left:12px !important;\n\n    width:34px !important;\n    height:34px !important;\n    min-width:34px !important;\n    min-height:34px !important;\n\n    margin:0 !important;\n    padding:0 !important;\n\n    display:flex !important;\n    align-items:center !important;\n    justify-content:center !important;\n\n    border-radius:50% !important;\n\n    transform:none !important;\n  }\n\n  #ssn-menu .ssn-logo img{\n    display:block !important;\n\n    width:27px !important;\n    height:auto !important;\n\n    max-width:27px !important;\n    max-height:none !important;\n\n    margin:0 !important;\n    padding:0 !important;\n\n    position:static !important;\n\n    object-fit:contain !important;\n    object-position:center center !important;\n\n    transform:none !important;\n  }\n\n}\n<\/style>\n\n\n\n\n\n\n\n<style>\n\/* =========================================================\n   SHERDIN \u00b7 iPAD \u00b7 GALLERY MEN\u00dc POSITION\n========================================================= *\/\n\n@media (min-width:768px) and (max-width:1180px){\n\n  \/* Grundstellung: Originalposition *\/\n  #new-sherdin-art-gallery:not(.sherdin-tray-open) .sherdin-controls{\n    translate:0 0 !important;\n  }\n\n  \/* Vorschauleiste offen: 10 px h\u00f6her als bisher *\/\n  #new-sherdin-art-gallery.sherdin-tray-open .sherdin-controls{\n    translate:0 -44px !important;\n  }\n\n}\n<\/style>\n\n\n\n\n\n\n\n<style id=\"sherdin-preview-button-bigger\">\n\n\/* Alle Elemente bleiben sauber mittig ausgerichtet *\/\n#new-sherdin-art-gallery .sherdin-controls{\n  align-items:center !important;\n}\n\n\/* Vorschaubilder-Button etwas gr\u00f6\u00dfer *\/\n#new-sherdin-art-gallery .sherdin-btn-tray{\n  width:44px !important;\n  height:44px !important;\n  flex:0 0 44px !important;\n}\n\n\/* Symbol passend mitvergr\u00f6\u00dfern *\/\n#new-sherdin-art-gallery .sherdin-btn-tray svg{\n  width:24px !important;\n  height:24px !important;\n}\n\n\n\n\n\/* Bildnummer minimal tiefer *\/\n#new-sherdin-art-gallery .sherdin-counter{\n  position:relative !important;\n  top:2px !important;\n}\n<\/style>\n\n\n\n\n\n<\/div><\/div><div class=\"et_pb_code_3 et_pb_code et_pb_module\" id=\"info-block-01\"><div class=\"et_pb_code_inner\"><!-- =========================================================\n  SHERDIN \u00b7 GALERIE INFO-LIST \u00b7 INFO ONLY \u00b7 V2\n  ---------------------------------------------------------\n  NUR f\u00fcr das Divi-Code-Modul:\n  \"GALERIE INFO-LIST\"\n\n  Dieses Modul besitzt ausschlie\u00dflich:\n  - Info-Button\n  - Info-Panel\n  - Artwork-Daten\n  - QR\n  - Responsive Position des Info-Panels\n\n  Dieses Modul ver\u00e4ndert NICHT:\n  - Gallery-Men\u00fc\n  - Thumbnail-Leiste\n  - Play\/Pause\n  - Fullscreen\n  - Counter\n  - Gallery-Navigation\n\n  FIX V2:\n  - Mobile\/Tablet Info-Box h\u00e4ngt NICHT mehr\n    an der Position des Bildes\/Videos.\n  - Individuell verschobene Mobile-Artworks\n    beeinflussen die Info-Box nicht mehr.\n========================================================= -->\n\n\n<!-- =========================================================\n  01 \u00b7 ARTWORK-DATEN\n========================================================= -->\n<script>\nwindow.SHERDIN_GALLERY_INFO_DATA = [\n\n  {\n    match: [\n      \"SherdinArt-SashaSherdin-0915\"\n    ],\n\n    artist: \"Sasha Sherdin\",\n    title: \"No Experience\",\n\n    description: \"\",\n    note: \"In Memory of Jimi Hendrix.\",\n\n    gallery: \"Ill Berlin Art Gallery\",\n    year: \"2024\",\n\n    platform: \"OBJKT\",\n    url: \"https:\/\/objkt.com\/tokens\/KT1MNZrdLzrimgBRotcLJUKXme6YUrVnS1oT\/13\",\n    qr: \"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/QR-NFT-NoExperience.png\"\n  },\n\n  {\n    match: [\n      \"SherdinArt-SashaSherdin-0933-small01\"\n    ],\n\n    artist: \"Sasha Sherdin\",\n    title: \"Inner Voices\",\n\n    description: \"\",\n    note: \"\",\n\n    gallery: \"Ill Berlin Art Gallery\",\n    year: \"\",\n\n    platform: \"OBJKT\",\n    url: \"https:\/\/objkt.com\/tokens\/KT1MNZrdLzrimgBRotcLJUKXme6YUrVnS1oT\/21\",\n    qr: \"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/QR-NFT-InnerVoices.png\"\n  },\n\n  {\n    match: [\n      \"SherdinArt-SashaSherdin-20251216-01\"\n    ],\n\n    artist: \"Sasha Sherdin\",\n    title: \"The Man Who Shot The Man Who Sold The World\",\n\n    description: \"\",\n    note: \"\",\n\n    gallery: \"Ill Berlin Art Gallery\",\n    year: \"\",\n\n    platform: \"OBJKT\",\n    url: \"https:\/\/objkt.com\/tokens\/KT1MNZrdLzrimgBRotcLJUKXme6YUrVnS1oT\/24\",\n    qr: \"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/QR-NFT-TheManWhoShotTheManWhoSoldTheWorld.png\"\n  },\n\n\n\n\n\n\n\n  {\n    match: [\n      \"SherdinArt-SashaSherdin-0807.jpg\"\n    ],\n\n    artist: \"Sasha Sherdin\",\n    title: \"TV Royal\",\n\n    description: \"\",\n    note: \"\",\n\n    gallery: \"Ill Berlin Art Gallery\",\n    year: \"Berlin 2024\",\n\n    platform: \"OBJKT\",\n    url: \"https:\/\/objkt.com\/tokens\/KT1MNZrdLzrimgBRotcLJUKXme6YUrVnS1oT\/4\",\n    qr: \"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/QR-NFT-TVRoyal-01.png\"\n  },\n\n\n\n\n\n  {\n    match: [\n      \"SherdinArt-SashaSherdin-20251216-02\"\n    ],\n\n    artist: \"Sasha Sherdin\",\n    title: \"Two Dreams Till Insomnia\",\n\n    description: \"\",\n    note: \"\",\n\n    gallery: \"Ill Berlin Art Gallery\",\n    year: \"\",\n\n    platform: \"OBJKT\",\n    url: \"https:\/\/objkt.com\/tokens\/KT1MNZrdLzrimgBRotcLJUKXme6YUrVnS1oT\/23\",\n    qr: \"https:\/\/sherdin.de\/wp-content\/uploads\/2026\/09\/QR-NFT-TwoDreamsTillInsomnia-01.png\"\n  }\n\n];\n<\/script>\n\n\n<style>\n\n\/* =========================================================\n   02 \u00b7 ALTE INFO-BOX DER GALLERY AUSBLENDEN\n========================================================= *\/\n\n#new-sherdin-art-gallery > .sherdin-info{\n  display:none !important;\n}\n\n\n\n\/* =========================================================\n   03 \u00b7 INFO-PANEL \u00b7 BASIS\n========================================================= *\/\n\n#new-sherdin-art-gallery .sh-art-info-panel{\n  position:absolute;\n\n  left:36px;\n  top:50%;\n\n  z-index:10000;\n\n  width:290px;\n  max-width:calc(100% - 28px);\n\n  box-sizing:border-box;\n\n  margin:0;\n  padding:0;\n\n  color:#e8f0f5;\n  text-align:left;\n\n  background:transparent;\n\n  border:0;\n  outline:0;\n  box-shadow:none;\n\n  opacity:0;\n  visibility:hidden;\n  pointer-events:none;\n\n  transform:\n    translateY(-50%)\n    translateX(-7px);\n\n  transition:\n    opacity 240ms ease,\n    visibility 0s linear 360ms,\n    transform 420ms cubic-bezier(.22,.61,.36,1),\n    left 420ms cubic-bezier(.22,.61,.36,1),\n    top 420ms cubic-bezier(.22,.61,.36,1),\n    width 420ms cubic-bezier(.22,.61,.36,1),\n    padding 320ms ease,\n    background-color 320ms ease;\n\n  will-change:\n    left,\n    top,\n    width,\n    transform;\n}\n\n\n#new-sherdin-art-gallery .sh-art-info-panel.is-visible{\n  opacity:1;\n  visibility:visible;\n  pointer-events:auto;\n\n  transform:\n    translateY(-50%)\n    translateX(0);\n\n  transition:\n    opacity 240ms ease,\n    transform 420ms cubic-bezier(.22,.61,.36,1),\n    left 420ms cubic-bezier(.22,.61,.36,1),\n    top 420ms cubic-bezier(.22,.61,.36,1),\n    width 420ms cubic-bezier(.22,.61,.36,1),\n    padding 320ms ease,\n    background-color 320ms ease;\n}\n\n\n\n\/* =========================================================\n   04 \u00b7 TYPOGRAFIE\n========================================================= *\/\n\n#new-sherdin-art-gallery .sh-info-label,\n#new-sherdin-art-gallery .sh-info-dl dt{\n  margin:0 0 4px;\n  padding:0;\n\n  font:\n    500 9px\/1.1\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  letter-spacing:.16em;\n  text-transform:uppercase;\n\n  color:#737373;\n}\n\n\n#new-sherdin-art-gallery .sh-info-value,\n#new-sherdin-art-gallery .sh-info-dl dd{\n  margin:0;\n  padding:0;\n\n  font:\n    400 13px\/1.35\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  letter-spacing:.01em;\n\n  color:#e8f0f5;\n\n  overflow-wrap:anywhere;\n}\n\n\n#new-sherdin-art-gallery .sh-info-title{\n  margin:0;\n  padding:0;\n\n  font:\n    400 20px\/1.14\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  letter-spacing:.01em;\n\n  color:#fff;\n}\n\n\n#new-sherdin-art-gallery .sh-info-group{\n  margin:0 0 12px;\n}\n\n\n#new-sherdin-art-gallery .sh-info-group.is-title{\n  margin-bottom:0;\n}\n\n\n#new-sherdin-art-gallery .sh-info-description{\n  max-width:270px;\n\n  margin:11px 0 0;\n  padding:0;\n\n  font:\n    400 12px\/1.5\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  color:#aaa;\n}\n\n\n#new-sherdin-art-gallery .sh-info-note{\n  max-width:270px;\n\n  margin:7px 0 19px;\n  padding:0;\n\n  font:\n    400 12px\/1.5\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  color:#747474;\n}\n\n\n#new-sherdin-art-gallery .sh-info-dl{\n  margin:0;\n  padding:0;\n}\n\n\n#new-sherdin-art-gallery .sh-info-dl-row{\n  margin:0 0 12px;\n  padding:0;\n}\n\n\n\n\/* =========================================================\n   05 \u00b7 ONLINE \/ QR \u00b7 DESKTOP\n========================================================= *\/\n\n#new-sherdin-art-gallery .sh-info-action{\n  margin:20px 0 0;\n  padding:0;\n}\n\n\n#new-sherdin-art-gallery .sh-info-action-link{\n  display:flex;\n\n  flex-direction:column;\n  align-items:flex-start;\n\n  width:max-content;\n  max-width:100%;\n\n  margin:0;\n  padding:0;\n\n  color:inherit !important;\n  text-decoration:none !important;\n}\n\n\n#new-sherdin-art-gallery .sh-info-online-label{\n  display:block;\n\n  margin:0 0 5px;\n\n  font:\n    500 9px\/1.2\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  letter-spacing:.14em;\n  text-transform:uppercase;\n\n  color:#707070;\n}\n\n\n#new-sherdin-art-gallery .sh-info-online-link{\n  display:block;\n\n  margin:0 0 12px;\n\n  font:\n    500 10px\/1.3\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  letter-spacing:.12em;\n  text-transform:uppercase;\n\n  color:#2ea3f2;\n\n  transition:\n    color 240ms ease;\n}\n\n\n#new-sherdin-art-gallery\n.sh-info-action-link:hover\n.sh-info-online-link{\n  color:#fff;\n}\n\n\n\n\/* =========================================================\n   06 \u00b7 QR\n========================================================= *\/\n\n#new-sherdin-art-gallery .sh-info-qr-shell{\n  display:grid;\n  place-items:center;\n\n  width:104px;\n  height:104px;\n\n  margin:0 0 0 -4px;\n  padding:0;\n\n  background:transparent !important;\n\n  border:0;\n  outline:0;\n  box-shadow:none;\n}\n\n\n#new-sherdin-art-gallery .sh-info-qr{\n  display:block;\n\n  width:100%;\n  height:100%;\n\n  margin:0;\n  padding:0;\n\n  object-fit:contain;\n\n  opacity:1 !important;\n\n  background:transparent !important;\n\n  border:0 !important;\n  outline:0 !important;\n  box-shadow:none !important;\n\n  filter:none !important;\n\n  mix-blend-mode:normal !important;\n}\n\n\n\n\/* =========================================================\n   07 \u00b7 FALLBACK\n========================================================= *\/\n\n#new-sherdin-art-gallery .sh-info-fallback-file{\n  margin:0;\n  padding:0;\n\n  font:\n    400 12px\/1.4\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  letter-spacing:.01em;\n\n  color:#aaa;\n\n  overflow-wrap:anywhere;\n}\n\n\n\n\/* =========================================================\n   08 \u00b7 GROSSER DESKTOP\n========================================================= *\/\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-desktop{\n  width:290px;\n\n  padding:0;\n\n  background:transparent;\n\n  -webkit-backdrop-filter:none;\n  backdrop-filter:none;\n\n  border-radius:0;\n}\n\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-desktop\n.sh-info-layout{\n  display:block;\n}\n\n\n\n\/* =========================================================\n   09 \u00b7 IPAD + PHONE\n========================================================= *\/\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified{\n  --sh-info-qr-size:104px;\n\n  padding:15px 17px;\n\n  background:\n    rgba(0,0,0,.76);\n\n  -webkit-backdrop-filter:\n    blur(18px)\n    saturate(110%);\n\n  backdrop-filter:\n    blur(18px)\n    saturate(110%);\n\n  border-radius:12px;\n}\n\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-layout.has-action{\n  display:grid;\n\n  grid-template-columns:\n    minmax(0,1fr)\n    auto;\n\n  gap:24px;\n\n  align-items:start;\n}\n\n\n\/*\n  Textblock und QR sind gleich hoch.\n*\/\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-layout.has-action\n.sh-info-copy{\n  display:flex;\n\n  flex-direction:column;\n  justify-content:space-between;\n\n  min-width:0;\n\n  min-height:\n    var(--sh-info-qr-size);\n}\n\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-layout:not(.has-action){\n  display:block;\n}\n\n\n\/*\n  Auf Tablet\/Phone nur:\n  ARTIST\n  ARTWORK\n  GALLERY\n  QR\n*\/\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-description,\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-note,\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-year-row,\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-online-label,\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-online-link{\n  display:none !important;\n}\n\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-group,\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-group.is-title,\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-dl,\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-dl-row{\n  margin:0;\n}\n\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-action{\n  margin:0;\n\n  align-self:start;\n  justify-self:end;\n}\n\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-action-link{\n  align-items:flex-end;\n}\n\n\n#new-sherdin-art-gallery\n.sh-art-info-panel.sh-info-unified\n.sh-info-qr-shell{\n  width:\n    var(--sh-info-qr-size);\n\n  height:\n    var(--sh-info-qr-size);\n\n  margin:0;\n}\n\n\n\n\/* =========================================================\n   PHONE\n========================================================= *\/\n\n@media (max-width:520px){\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified{\n    --sh-info-qr-size:90px;\n\n    padding:13px 15px;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-layout.has-action{\n    gap:17px;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-title{\n    font-size:16px;\n    line-height:1.12;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-value,\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-dl dd{\n    font-size:11px;\n    line-height:1.25;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-label,\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-dl dt{\n    font-size:8px;\n  }\n\n}\n\n\n\n\/* =========================================================\n   10 \u00b7 ACCESSIBILITY\n========================================================= *\/\n\n#new-sherdin-art-gallery\n.sherdin-btn-info:focus-visible{\n  outline:\n    2px solid #fff !important;\n\n  outline-offset:\n    4px !important;\n}\n\n\n#new-sherdin-art-gallery\n.sh-info-action-link:focus-visible{\n  outline:\n    2px solid #2ea3f2 !important;\n\n  outline-offset:\n    6px !important;\n}\n\n\n@media (prefers-reduced-motion:reduce){\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel,\n\n  #new-sherdin-art-gallery\n  .sh-info-online-link{\n    transition:\n      none !important;\n  }\n\n}\n\n<\/style>\n\n\n\n<script>\n(function(){\n  'use strict';\n\n\n  const VERSION =\n    'info-only-02-fixed-mobile-anchor';\n\n\n  function init(){\n\n    const root =\n      document.getElementById(\n        'new-sherdin-art-gallery'\n      );\n\n\n    if(!root){\n      return false;\n    }\n\n\n    const stage =\n      root.querySelector(\n        '.sherdin-stage'\n      );\n\n\n    const controls =\n      root.querySelector(\n        '.sherdin-controls'\n      );\n\n\n    const tray =\n      root.querySelector(\n        '.sherdin-tray'\n      );\n\n\n    if(\n      !stage ||\n      !controls\n    ){\n      return false;\n    }\n\n\n    if(\n      root.dataset.shInfoFinal ===\n      VERSION\n    ){\n      return true;\n    }\n\n\n    root.dataset.shInfoFinal =\n      VERSION;\n\n\n\n    \/*\n      Alte Info-Klassen vom Gallery-Root entfernen.\n    *\/\n\n    root.classList.remove(\n      'sh-info-desktop',\n      'sh-info-unified',\n      'sh-mode-desktop',\n      'sh-mode-compact',\n      'sh-mode-portrait'\n    );\n\n\n\n    \/*\n      Falls eine \u00e4ltere fehlerhafte Info-Version\n      einen Inline-Wert hinterlassen hat,\n      einmal entfernen.\n\n      Danach wird --controls-offset von diesem\n      Modul NIE wieder ver\u00e4ndert.\n    *\/\n\n    root.style.removeProperty(\n      '--controls-offset'\n    );\n\n\n\n    const artworks =\n      Array.isArray(\n        window.SHERDIN_GALLERY_INFO_DATA\n      )\n        ? window.SHERDIN_GALLERY_INFO_DATA\n        : [];\n\n\n    let infoOpen =\n      false;\n\n\n    let currentArtwork =\n      null;\n\n\n    let currentMode =\n      null;\n\n\n    let followRaf =\n      0;\n\n\n\n    \/* =====================================================\n       INFO-BUTTON\n    ===================================================== *\/\n\n    const infoButtons =\n      [\n        ...controls.querySelectorAll(\n          '.sherdin-btn-info'\n        )\n      ];\n\n\n    if(!infoButtons.length){\n      return false;\n    }\n\n\n    const oldButton =\n      infoButtons[0];\n\n\n    infoButtons\n      .slice(1)\n      .forEach(\n        button =>\n          button.remove()\n      );\n\n\n    const infoButton =\n      oldButton.cloneNode(\n        true\n      );\n\n\n    oldButton.replaceWith(\n      infoButton\n    );\n\n\n    infoButton.classList.remove(\n      'is-active'\n    );\n\n\n    infoButton.setAttribute(\n      'aria-controls',\n      'sh-art-info-panel'\n    );\n\n\n    infoButton.setAttribute(\n      'aria-pressed',\n      'false'\n    );\n\n\n    infoButton.setAttribute(\n      'aria-expanded',\n      'false'\n    );\n\n\n    infoButton.setAttribute(\n      'aria-label',\n      'Artwork-Information anzeigen'\n    );\n\n\n\n    \/* =====================================================\n       INFO-PANEL\n    ===================================================== *\/\n\n    root\n      .querySelectorAll(\n        '.sh-art-info-panel'\n      )\n      .forEach(\n        oldPanel =>\n          oldPanel.remove()\n      );\n\n\n    const panel =\n      document.createElement(\n        'section'\n      );\n\n\n    panel.id =\n      'sh-art-info-panel';\n\n\n    panel.className =\n      'sh-art-info-panel';\n\n\n    panel.setAttribute(\n      'role',\n      'region'\n    );\n\n\n    panel.setAttribute(\n      'aria-live',\n      'polite'\n    );\n\n\n    panel.setAttribute(\n      'aria-atomic',\n      'true'\n    );\n\n\n    panel.setAttribute(\n      'aria-hidden',\n      'true'\n    );\n\n\n    root.appendChild(\n      panel\n    );\n\n\n    panel.addEventListener(\n      'click',\n      function(event){\n\n        event.stopPropagation();\n\n      }\n    );\n\n\n\n    \/* =====================================================\n       HELPERS\n    ===================================================== *\/\n\n    function escapeHTML(\n      value\n    ){\n\n      return String(\n        value ?? ''\n      )\n\n        .replace(\n          \/&\/g,\n          '&'\n        )\n\n        .replace(\n          \/<\/g,\n          '<'\n        )\n\n        .replace(\n          \/>\/g,\n          '>'\n        )\n\n        .replace(\n          \/\"\/g,\n          '\"'\n        )\n\n        .replace(\n          \/'\/g,\n          '&#039;'\n        );\n    }\n\n\n\n    function normalize(\n      value\n    ){\n\n      let text =\n        String(\n          value || ''\n        );\n\n\n      try{\n\n        text =\n          decodeURIComponent(\n            text\n          );\n\n      }catch(error){}\n\n\n      return text\n        .toLowerCase()\n        .replace(\n          \/[^a-z0-9]+\/g,\n          ''\n        );\n    }\n\n\n\n    function activeSlide(){\n\n      return root.querySelector(\n        '.sherdin-stage .sherdin-slide.sherdin-active'\n      );\n    }\n\n\n\n    function activeMedia(){\n\n      const slide =\n        activeSlide();\n\n\n      if(!slide){\n        return null;\n      }\n\n\n      const picture =\n        slide.querySelector(\n          'picture'\n        );\n\n\n      if(picture){\n\n        return (\n          picture.querySelector(\n            'img'\n          )\n          ||\n          picture\n        );\n      }\n\n\n      return slide.querySelector(\n        'img,video'\n      );\n    }\n\n\n\n    function mediaCandidates(){\n\n      const media =\n        activeMedia();\n\n\n      if(!media){\n        return [];\n      }\n\n\n      const values = [\n\n        media.currentSrc,\n\n        media.getAttribute?.(\n          'src'\n        ),\n\n        media.src,\n\n        media.getAttribute?.(\n          'data-src'\n        ),\n\n        media.getAttribute?.(\n          'srcset'\n        ),\n\n        media.getAttribute?.(\n          'data-srcset'\n        ),\n\n        media.getAttribute?.(\n          'title'\n        ),\n\n        media.getAttribute?.(\n          'alt'\n        ),\n\n        media.getAttribute?.(\n          'data-title'\n        )\n      ];\n\n\n\n      if(\n        media.tagName?.toLowerCase() ===\n        'video'\n      ){\n\n        media\n          .querySelectorAll(\n            'source'\n          )\n          .forEach(\n            function(source){\n\n              values.push(\n                source.getAttribute(\n                  'src'\n                )\n              );\n\n\n              values.push(\n                source.getAttribute(\n                  'data-src'\n                )\n              );\n\n            }\n          );\n      }\n\n\n      return values\n        .filter(Boolean)\n        .map(normalize);\n    }\n\n\n\n    function currentFileName(){\n\n      const media =\n        activeMedia();\n\n\n      if(!media){\n        return 'Untitled';\n      }\n\n\n      let src =\n        media.currentSrc\n        ||\n        media.getAttribute?.(\n          'src'\n        )\n        ||\n        media.src\n        ||\n        media.getAttribute?.(\n          'data-src'\n        )\n        ||\n        '';\n\n\n\n      if(\n        !src &&\n        media.tagName?.toLowerCase() ===\n        'video'\n      ){\n\n        const source =\n          media.querySelector(\n            'source[src],source[data-src]'\n          );\n\n\n        if(source){\n\n          src =\n            source.getAttribute(\n              'src'\n            )\n            ||\n            source.getAttribute(\n              'data-src'\n            )\n            ||\n            '';\n        }\n      }\n\n\n\n      if(!src){\n        return 'Untitled';\n      }\n\n\n      try{\n\n        src =\n          decodeURIComponent(\n            src\n          );\n\n      }catch(error){}\n\n\n\n      return (\n        src\n          .split('\/')\n          .pop()\n          .split('?')[0]\n          .split('#')[0]\n        ||\n        'Untitled'\n      );\n    }\n\n\n\n    function findArtwork(){\n\n      const candidates =\n        mediaCandidates();\n\n\n      if(!candidates.length){\n        return null;\n      }\n\n\n      for(\n        const artwork\n        of artworks\n      ){\n\n        const matches =\n          Array.isArray(\n            artwork.match\n          )\n            ? artwork.match\n            : [artwork.match];\n\n\n\n        for(\n          const match\n          of matches\n        ){\n\n          const wanted =\n            normalize(\n              match\n            );\n\n\n          if(!wanted){\n            continue;\n          }\n\n\n          if(\n            candidates.some(\n              candidate =>\n                candidate.includes(\n                  wanted\n                )\n            )\n          ){\n\n            return artwork;\n          }\n        }\n      }\n\n\n      return null;\n    }\n\n\n\n    function dlRow(\n      label,\n      value,\n      extraClass = ''\n    ){\n\n      if(\n        value === undefined\n        ||\n        value === null\n        ||\n        value === ''\n      ){\n\n        return '';\n      }\n\n\n      return `\n        <div class=\"sh-info-dl-row ${extraClass}\">\n\n          <dt>\n            ${escapeHTML(label)}\n          <\/dt>\n\n          <dd>\n            ${escapeHTML(value)}\n          <\/dd>\n\n        <\/div>\n      `;\n    }\n\n\n\n    function actionHTML(\n      artwork\n    ){\n\n      if(\n        !artwork.qr\n        &&\n        !artwork.url\n      ){\n\n        return '';\n      }\n\n\n      const title =\n        escapeHTML(\n          artwork.title\n          ||\n          'Artwork'\n        );\n\n\n      const platform =\n        escapeHTML(\n          artwork.platform\n          ||\n          'Artwork'\n        );\n\n\n      const url =\n        escapeHTML(\n          artwork.url\n          ||\n          ''\n        );\n\n\n      const qr =\n        escapeHTML(\n          artwork.qr\n          ||\n          ''\n        );\n\n\n\n      const content = `\n\n        <span class=\"sh-info-online-label\">\n          ONLINE\n        <\/span>\n\n\n        ${\n          artwork.url\n            ? `\n              <span class=\"sh-info-online-link\">\n                VIEW ON ${platform}\n              <\/span>\n            `\n            : ''\n        }\n\n\n        ${\n          artwork.qr\n            ? `\n              <span class=\"sh-info-qr-shell\">\n\n                <img decoding=\"async\"\n                  class=\"sh-info-qr\"\n                  src=\"${qr}\"\n                  alt=\"\"\n                  aria-hidden=\"true\"\n                >\n\n              <\/span>\n            `\n            : ''\n        }\n      `;\n\n\n\n      if(artwork.url){\n\n        return `\n\n          <div class=\"sh-info-action\">\n\n            <a\n              class=\"sh-info-action-link\"\n              href=\"${url}\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n              aria-label=\"${title} auf ${platform} \u00f6ffnen, neuer Tab\"\n            >\n\n              ${content}\n\n            <\/a>\n\n          <\/div>\n        `;\n      }\n\n\n\n      return `\n\n        <div class=\"sh-info-action\">\n\n          <div class=\"sh-info-action-link\">\n\n            ${content}\n\n          <\/div>\n\n        <\/div>\n      `;\n    }\n\n\n\n    \/* =====================================================\n       SEO \u00b7 STRUCTURED DATA\n    ===================================================== *\/\n\n    function injectStructuredData(){\n\n      document\n        .getElementById(\n          'sh-gallery-art-jsonld'\n        )\n        ?.remove();\n\n\n\n      const graph =\n        artworks\n\n          .filter(\n            artwork =>\n              artwork.title\n          )\n\n          .map(\n            function(artwork){\n\n              const item = {\n\n                '@type':\n                  'VisualArtwork',\n\n                name:\n                  artwork.title\n              };\n\n\n\n              if(artwork.artist){\n\n                item.creator = {\n\n                  '@type':\n                    'Person',\n\n                  name:\n                    artwork.artist\n                };\n              }\n\n\n\n              if(artwork.year){\n\n                item.dateCreated =\n                  String(\n                    artwork.year\n                  );\n              }\n\n\n\n              const description =\n                [\n                  artwork.description,\n                  artwork.note\n                ]\n\n                  .filter(Boolean)\n\n                  .join(' ');\n\n\n\n              if(description){\n\n                item.description =\n                  description;\n              }\n\n\n\n              if(artwork.gallery){\n\n                item.isPartOf = {\n\n                  '@type':\n                    'Collection',\n\n                  name:\n                    artwork.gallery\n                };\n              }\n\n\n\n              if(artwork.url){\n\n                item.url =\n                  artwork.url;\n              }\n\n\n\n              return item;\n            }\n          );\n\n\n\n      if(!graph.length){\n        return;\n      }\n\n\n\n      const script =\n        document.createElement(\n          'script'\n        );\n\n\n      script.id =\n        'sh-gallery-art-jsonld';\n\n\n      script.type =\n        'application\/ld+json';\n\n\n      script.textContent =\n        JSON.stringify({\n\n          '@context':\n            'https:\/\/schema.org',\n\n          '@graph':\n            graph\n        });\n\n\n      document.head.appendChild(\n        script\n      );\n    }\n\n\n\n    \/* =====================================================\n       RENDER\n    ===================================================== *\/\n\n    function renderFallback(){\n\n      panel.removeAttribute(\n        'aria-labelledby'\n      );\n\n\n      const fileName =\n        currentFileName();\n\n\n      const shortFileName =\n        fileName.length > 26\n          ? fileName.slice(0, 26) + '...'\n          : fileName;\n\n\n      panel.innerHTML = `\n\n        <div class=\"sh-info-layout\">\n\n          <div class=\"sh-info-copy\">\n\n            <div class=\"sh-info-group\">\n\n              <div class=\"sh-info-label\">\n                ARTIST\n              <\/div>\n\n              <div class=\"sh-info-value\">\n                Sasha Sherdin\n              <\/div>\n\n            <\/div>\n\n\n            <div class=\"sh-info-group is-title\">\n\n              <div\n                class=\"sh-info-label\"\n                style=\"text-transform:none;color:#555;\"\n              >\n                ${escapeHTML(shortFileName)}\n              <\/div>\n\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n      `;\n    }\n\n\n\n    function renderArtwork(\n      artwork\n    ){\n\n      const action =\n        actionHTML(\n          artwork\n        );\n\n\n      const titleId =\n        'sh-info-current-title';\n\n\n\n      panel.innerHTML = `\n\n        <div class=\"sh-info-layout ${action ? 'has-action' : ''}\">\n\n          <div class=\"sh-info-copy\">\n\n\n            <div class=\"sh-info-group\">\n\n              <div class=\"sh-info-label\">\n                ARTIST\n              <\/div>\n\n              <div class=\"sh-info-value\">\n                ${escapeHTML(artwork.artist || 'Sasha Sherdin')}\n              <\/div>\n\n            <\/div>\n\n\n\n            ${\n              artwork.title\n                ? `\n\n                  <div class=\"sh-info-group is-title\">\n\n                    <div class=\"sh-info-label\">\n                      ARTWORK\n                    <\/div>\n\n                    <h2\n                      class=\"sh-info-title\"\n                      id=\"${titleId}\"\n                    >\n                      ${escapeHTML(artwork.title)}\n                    <\/h2>\n\n                  <\/div>\n                `\n                : ''\n            }\n\n\n\n            ${\n              artwork.description\n                ? `\n\n                  <p class=\"sh-info-description\">\n                    ${escapeHTML(artwork.description)}\n                  <\/p>\n                `\n                : ''\n            }\n\n\n\n            ${\n              artwork.note\n                ? `\n\n                  <p class=\"sh-info-note\">\n                    ${escapeHTML(artwork.note)}\n                  <\/p>\n                `\n                : ''\n            }\n\n\n\n            <dl class=\"sh-info-dl\">\n\n              ${dlRow(\n                'GALLERY',\n                artwork.gallery,\n                'sh-info-gallery-row'\n              )}\n\n\n              ${dlRow(\n                'YEAR',\n                artwork.year,\n                'sh-info-year-row'\n              )}\n\n            <\/dl>\n\n          <\/div>\n\n\n          ${action}\n\n        <\/div>\n      `;\n\n\n\n      if(artwork.title){\n\n        panel.setAttribute(\n          'aria-labelledby',\n          titleId\n        );\n\n      }else{\n\n        panel.removeAttribute(\n          'aria-labelledby'\n        );\n      }\n    }\n\n\n\n    function render(){\n\n      currentArtwork =\n        findArtwork();\n\n\n      if(currentArtwork){\n\n        renderArtwork(\n          currentArtwork\n        );\n\n      }else{\n\n        renderFallback();\n      }\n\n\n      syncAria();\n\n\n      requestAnimationFrame(\n        positionPanel\n      );\n    }\n\n\n\n    \/* =====================================================\n       NUR ZWEI INFO-MODI\n       -----------------------------------------------------\n       Die Klassen landen ausschlie\u00dflich am INFO-PANEL.\n\n       Niemals am Gallery-Root.\n    ===================================================== *\/\n\n    function syncMode(){\n\n      const rootRect =\n        root.getBoundingClientRect();\n\n\n      const media =\n        activeMedia();\n\n\n      const mediaRect =\n        media?.getBoundingClientRect();\n\n\n      const width =\n        rootRect.width\n        ||\n        window.innerWidth;\n\n\n      const leftSpace =\n        mediaRect\n          ? Math.max(\n              0,\n              mediaRect.left -\n              rootRect.left\n            )\n          : 0;\n\n\n\n      \/*\n        PHONE bis 520px:\n        kompakter Unified-Info-Block.\n\n        IPAD + DESKTOP ab 521px:\n        vollst\u00e4ndiger Desktop-Info-Block.\n      *\/\n\n      currentMode =\n        width <= 520\n          ? 'unified'\n          : 'desktop';\n\n\n\n      panel.classList.toggle(\n        'sh-info-desktop',\n        currentMode ===\n        'desktop'\n      );\n\n\n      panel.classList.toggle(\n        'sh-info-unified',\n        currentMode ===\n        'unified'\n      );\n\n\n\n      return {\n\n        mode:\n          currentMode,\n\n        rootRect:\n          rootRect,\n\n        mediaRect:\n          mediaRect,\n\n        width:\n          width,\n\n        leftSpace:\n          leftSpace\n      };\n    }\n\n\n\n    \/* =====================================================\n       INFO-PANEL POSITION\n       -----------------------------------------------------\n       DESKTOP:\n       weiterhin am verf\u00fcgbaren Bildraum orientiert.\n\n       IPAD + PHONE:\n       horizontal ausschlie\u00dflich am Gallery-Root.\n\n       Dadurch beeinflussen individuelle Mobile-\n       Bildpositionen die Info-Box nicht mehr.\n\n       Vertikal wird nur die sichtbare Position\n       des Gallery-Men\u00fcs gelesen.\n    ===================================================== *\/\n\n    function positionPanel(){\n\n      if(!infoOpen){\n        return;\n      }\n\n\n      const media =\n        activeMedia();\n\n\n      if(!media){\n        return;\n      }\n\n\n\n      const state =\n        syncMode();\n\n\n      const rootRect =\n        state.rootRect;\n\n\n      const mediaRect =\n        media.getBoundingClientRect();\n\n\n\n      \/* ===================================================\n         DESKTOP\n      =================================================== *\/\n\n      if(\n        state.mode ===\n        'desktop'\n      ){\n\n        \/*\n          Hochformat-Ansicht:\n          Info-Block 18px weiter nach rechts.\n          Normale Desktop-Ansicht bleibt bei 36px.\n        *\/\n        const isPortraitView =\n          rootRect.height > rootRect.width;\n\n\n        panel.style.left =\n          isPortraitView\n            ? '54px'\n            : '46px';\n\n\n        panel.style.width =\n          '290px';\n\n\n\n        let usableBottom =\n          rootRect.height;\n\n\n\n        if(\n          tray\n          &&\n          root.classList.contains(\n            'sherdin-tray-open'\n          )\n        ){\n\n          const trayRect =\n            tray.getBoundingClientRect();\n\n\n          usableBottom =\n            Math.min(\n\n              usableBottom,\n\n              trayRect.top -\n              rootRect.top\n            );\n        }\n\n\n\n        const panelHeight =\n          panel.offsetHeight\n          ||\n          0;\n\n\n        const half =\n          panelHeight \/ 2;\n\n\n        const minCenter =\n          24 + half;\n\n\n        const maxCenter =\n          usableBottom -\n          24 -\n          half;\n\n\n\n        let center =\n          usableBottom \/ 2;\n\n\n\n        if(\n          maxCenter >=\n          minCenter\n        ){\n\n          center =\n            Math.max(\n\n              minCenter,\n\n              Math.min(\n                maxCenter,\n                center\n              )\n            );\n        }\n\n\n\n        panel.style.top =\n          center + 'px';\n\n\n        return;\n      }\n\n\n\n      \/* ===================================================\n         IPAD + PHONE\n         ---------------------------------------------------\n         WICHTIG:\n\n         HORIZONTAL NICHT MEHR AM BILD\/VIDEO.\n\n         Die Info-Box wird ausschlie\u00dflich anhand\n         der Gallery-Fl\u00e4che positioniert.\n\n         Ein Bild darf deshalb auf Mobile nach links,\n         rechts, oben oder unten verschoben werden,\n         ohne dass sich die Info-Box mitbewegt.\n      =================================================== *\/\n\n\n      const edge =\n        Math.max(\n\n          16,\n\n          Math.min(\n            28,\n            state.width * 0.026\n          )\n        );\n\n\n\n      const hasAction =\n        !!(\n          currentArtwork\n          &&\n          (\n            currentArtwork.qr\n            ||\n            currentArtwork.url\n          )\n        );\n\n\n\n      const maxPanelWidth =\n        hasAction\n          ? 720\n          : 560;\n\n\n\n      const availableWidth =\n        Math.max(\n          260,\n          rootRect.width -\n          edge * 2\n        );\n\n\n\n      const width =\n        Math.min(\n          maxPanelWidth,\n          availableWidth\n        );\n\n\n\n      \/*\n        Exakt mittig im Gallery-Root.\n\n        NICHT:\n        mediaRect.left\n        mediaRect.right\n        mediaRect.width\n      *\/\n\n      const left =\n        (\n          rootRect.width -\n          width\n        ) \/ 2;\n\n\n\n      panel.style.left =\n        left + 'px';\n\n\n      panel.style.width =\n        width + 'px';\n\n\n\n      const panelHeight =\n        panel.offsetHeight\n        ||\n        0;\n\n\n      const half =\n        panelHeight \/ 2;\n\n\n\n      \/*\n        Vertikale Grund-Sicherheitskante.\n      *\/\n\n      let safeBottom =\n        rootRect.height -\n        72;\n\n\n\n      \/*\n        Gallery-Men\u00fc nur LESEN.\n\n        Die Info-Box sitzt oberhalb der tats\u00e4chlich\n        sichtbaren Button-Reihe.\n\n        Die horizontale Bildposition spielt hier\n        keinerlei Rolle.\n      *\/\n\n      const galleryControls =\n        root.querySelector(\n          '.sherdin-controls'\n        );\n\n\n      if(galleryControls){\n\n        const controlsRect =\n          galleryControls\n            .getBoundingClientRect();\n\n\n\n        const visible =\n          controlsRect.width > 0\n          &&\n          controlsRect.height > 0\n          &&\n          controlsRect.bottom >\n            rootRect.top\n          &&\n          controlsRect.top <\n            rootRect.bottom;\n\n\n\n        if(visible){\n\n          safeBottom =\n            Math.min(\n\n              safeBottom,\n\n              controlsRect.top -\n              rootRect.top -\n              16\n            );\n        }\n      }\n\n\n\n      \/*\n        Thumbnail-Tray ebenfalls nur LESEN.\n      *\/\n\n      if(\n        tray\n        &&\n        root.classList.contains(\n          'sherdin-tray-open'\n        )\n      ){\n\n        const trayRect =\n          tray.getBoundingClientRect();\n\n\n        safeBottom =\n          Math.min(\n\n            safeBottom,\n\n            trayRect.top -\n            rootRect.top -\n            16\n          );\n      }\n\n\n\n      let centerY =\n        safeBottom -\n        half;\n\n\n\n      const minCenter =\n        18 + half;\n\n\n\n      if(\n        centerY <\n        minCenter\n      ){\n\n        centerY =\n          minCenter;\n      }\n\n\n\n      panel.style.top =\n        centerY + 'px';\n    }\n\n\n\n    \/* =====================================================\n       STATE \/ ARIA\n    ===================================================== *\/\n\n    function syncAria(){\n\n      infoButton.classList.toggle(\n        'is-active',\n        infoOpen\n      );\n\n\n      infoButton.setAttribute(\n        'aria-pressed',\n        infoOpen\n          ? 'true'\n          : 'false'\n      );\n\n\n      infoButton.setAttribute(\n        'aria-expanded',\n        infoOpen\n          ? 'true'\n          : 'false'\n      );\n\n\n      infoButton.setAttribute(\n        'aria-label',\n\n        infoOpen\n          ? 'Artwork-Information ausblenden'\n          : 'Artwork-Information anzeigen'\n      );\n\n\n\n      panel.classList.toggle(\n        'is-visible',\n        infoOpen\n      );\n\n\n      panel.setAttribute(\n        'aria-hidden',\n\n        infoOpen\n          ? 'false'\n          : 'true'\n      );\n    }\n\n\n\n    function setInfo(\n      open\n    ){\n\n      infoOpen =\n        !!open;\n\n\n      syncAria();\n\n\n      if(infoOpen){\n\n        render();\n      }\n    }\n\n\n\n    function toggleInfo(){\n\n      setInfo(\n        !infoOpen\n      );\n    }\n\n\n\n    \/* =====================================================\n       INFO-BUTTON \u00b7 PERSISTENT\n    ===================================================== *\/\n\n    infoButton.addEventListener(\n      'click',\n\n      function(event){\n\n        event.preventDefault();\n\n        event.stopImmediatePropagation();\n\n        event.stopPropagation();\n\n\n        toggleInfo();\n\n      },\n\n      true\n    );\n\n\n\n    \/* Taste I *\/\n\n    document.addEventListener(\n      'keydown',\n\n      function(event){\n\n        const target =\n          event.target;\n\n\n\n        if(\n          target\n          &&\n          (\n            target.matches?.(\n              'input,textarea,select'\n            )\n            ||\n            target.isContentEditable\n          )\n        ){\n\n          return;\n        }\n\n\n\n        if(\n          event.key === 'i'\n          ||\n          event.key === 'I'\n        ){\n\n          event.preventDefault();\n\n\n          toggleInfo();\n        }\n      }\n    );\n\n\n\n    \/* =====================================================\n       SLIDE-WECHSEL\n       -----------------------------------------------------\n       Info bleibt ge\u00f6ffnet.\n       Nur Inhalt wird aktualisiert.\n    ===================================================== *\/\n\n    const slideObserver =\n      new MutationObserver(\n\n        function(mutations){\n\n          if(!infoOpen){\n            return;\n          }\n\n\n\n          const changed =\n            mutations.some(\n\n              mutation =>\n                mutation.type ===\n                  'attributes'\n                &&\n                mutation.attributeName ===\n                  'class'\n            );\n\n\n\n          if(changed){\n\n            requestAnimationFrame(\n              render\n            );\n          }\n        }\n      );\n\n\n\n    slideObserver.observe(\n      stage,\n      {\n\n        subtree:true,\n\n        attributes:true,\n\n        attributeFilter:[\n          'class'\n        ]\n      }\n    );\n\n\n\n    \/* =====================================================\n       GALLERY-ZUST\u00c4NDE NUR LESEN\n       -----------------------------------------------------\n       Wenn sich Tray oder Fullscreen \u00e4ndern,\n       folgt ausschlie\u00dflich das Info-Panel.\n\n       KEIN Eingriff ins Gallery-Men\u00fc.\n    ===================================================== *\/\n\n    function followLayout(\n      duration = 380\n    ){\n\n      if(followRaf){\n\n        cancelAnimationFrame(\n          followRaf\n        );\n      }\n\n\n\n      const start =\n        performance.now();\n\n\n\n      function tick(\n        now\n      ){\n\n        if(!infoOpen){\n\n          followRaf =\n            0;\n\n          return;\n        }\n\n\n\n        positionPanel();\n\n\n\n        if(\n          now - start <\n          duration\n        ){\n\n          followRaf =\n            requestAnimationFrame(\n              tick\n            );\n\n        }else{\n\n          followRaf =\n            0;\n\n\n          positionPanel();\n        }\n      }\n\n\n\n      followRaf =\n        requestAnimationFrame(\n          tick\n        );\n    }\n\n\n\n    const rootObserver =\n      new MutationObserver(\n\n        function(mutations){\n\n          if(!infoOpen){\n            return;\n          }\n\n\n\n          const changed =\n            mutations.some(\n\n              function(mutation){\n\n                if(\n                  mutation.type !==\n                    'attributes'\n                  ||\n                  mutation.attributeName !==\n                    'class'\n                ){\n\n                  return false;\n                }\n\n\n\n                const before =\n                  String(\n                    mutation.oldValue\n                    ||\n                    ''\n                  );\n\n\n                const after =\n                  String(\n                    root.className\n                    ||\n                    ''\n                  );\n\n\n\n                return (\n\n                  before.includes(\n                    'sherdin-tray-open'\n                  )\n                  !==\n                  after.includes(\n                    'sherdin-tray-open'\n                  )\n\n                  ||\n\n                  before.includes(\n                    'is-fullscreen'\n                  )\n                  !==\n                  after.includes(\n                    'is-fullscreen'\n                  )\n\n                  ||\n\n                  before.includes(\n                    'sherdin-is-fullscreen'\n                  )\n                  !==\n                  after.includes(\n                    'sherdin-is-fullscreen'\n                  )\n                );\n              }\n            );\n\n\n\n          if(changed){\n\n            followLayout(\n              420\n            );\n          }\n        }\n      );\n\n\n\n    rootObserver.observe(\n      root,\n      {\n\n        attributes:true,\n\n        attributeOldValue:true,\n\n        attributeFilter:[\n          'class'\n        ]\n      }\n    );\n\n\n\n    \/* =====================================================\n       RESIZE\n       -----------------------------------------------------\n       Nur Info neu positionieren.\n    ===================================================== *\/\n\n    function reflow(){\n\n      if(!infoOpen){\n        return;\n      }\n\n\n      requestAnimationFrame(\n        positionPanel\n      );\n    }\n\n\n\n    window.addEventListener(\n      'resize',\n      reflow,\n      {\n        passive:true\n      }\n    );\n\n\n\n    window.addEventListener(\n      'orientationchange',\n\n      function(){\n\n        window.setTimeout(\n          reflow,\n          120\n        );\n\n      },\n\n      {\n        passive:true\n      }\n    );\n\n\n\n    document.addEventListener(\n      'fullscreenchange',\n      reflow\n    );\n\n\n    document.addEventListener(\n      'webkitfullscreenchange',\n      reflow\n    );\n\n\n\n    if(\n      'ResizeObserver'\n      in window\n    ){\n\n      const resizeObserver =\n        new ResizeObserver(\n\n          function(){\n\n            if(infoOpen){\n\n              requestAnimationFrame(\n                positionPanel\n              );\n            }\n          }\n        );\n\n\n\n      resizeObserver.observe(\n        root\n      );\n\n\n      resizeObserver.observe(\n        stage\n      );\n\n\n      if(tray){\n\n        resizeObserver.observe(\n          tray\n        );\n      }\n    }\n\n\n\n    \/* =====================================================\n       START\n    ===================================================== *\/\n\n    injectStructuredData();\n\n\n    syncMode();\n\n\n    syncAria();\n\n\n    return true;\n  }\n\n\n\n  if(!init()){\n\n    let attempts =\n      0;\n\n\n\n    const wait =\n      window.setInterval(\n\n        function(){\n\n          attempts++;\n\n\n\n          if(\n            init()\n            ||\n            attempts > 100\n          ){\n\n            window.clearInterval(\n              wait\n            );\n          }\n\n        },\n\n        100\n      );\n  }\n\n})();\n<\/script>\n\n\n\n\n\n\n\n\n\n\n\n\n<\/div><\/div><div class=\"et_pb_code_4 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><style>\n\n\/* =========================================================\n   SHERDIN \u00b7 GALERIE INFO-LIST FINETUNING\n========================================================= *\/\n\n\n\/* =========================================================\n   DESKTOP \u00b7 INFOBEREICH EINHEITLICH LINKS\n========================================================= *\/\n\n@media (min-width:521px){\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-desktop,\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified{\n\n    left:35px !important;\n    right:auto !important;\n\n    top:50% !important;\n    bottom:auto !important;\n\n    transform:translateY(-50%) !important;\n\n    width:360px !important;\n    max-width:360px !important;\n\n    background:transparent !important;\n    backdrop-filter:none !important;\n    -webkit-backdrop-filter:none !important;\n\n    border:none !important;\n    border-radius:0 !important;\n    box-shadow:none !important;\n\n    padding:0 !important;\n\n    text-align:left !important;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel\n  .sh-info-layout,\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel\n  .sh-info-copy{\n\n    text-align:left !important;\n    align-items:flex-start !important;\n  }\n\n\n  \/* mehr Abstand vor FILE *\/\n  #new-sherdin-art-gallery\n  .sh-art-info-panel\n  .sh-info-layout:not(.has-action)\n  .sh-info-group.is-title{\n\n    margin-top:12px;\n  }\n\n\n  \/* NFT \u00b7 ARTWORK \u2192 GALLERY *\/\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-desktop\n  .sh-info-group.is-title + .sh-info-dl{\n\n    margin-top:18px;\n  }\n\n}\n\n\n\/* =========================================================\n   NORMALE BILDER \u00b7 DATEINAME WIE \"FILE\"\n========================================================= *\/\n\n#new-sherdin-art-gallery\n.sh-info-fallback-file{\n\n  font-size:9px !important;\n  line-height:1.1 !important;\n  font-weight:500 !important;\n\n  letter-spacing:.08em !important;\n\n  color:#737373 !important;\n}\n\n\n\/* =========================================================\n   PHONE \u00b7 INFO FINETUNING\n========================================================= *\/\n\n@media (max-width:520px){\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-layout:not(.has-action)\n  .sh-info-group.is-title{\n\n    margin-top:12px;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-fallback-file{\n\n    font-size:8px !important;\n    line-height:1.3 !important;\n    font-weight:500 !important;\n\n    letter-spacing:.08em !important;\n\n    color:#737373 !important;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-layout.has-action\n  .sh-info-copy{\n\n    justify-content:flex-start;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-layout.has-action\n  .sh-info-group.is-title{\n\n    margin-top:11px;\n  }\n\n\n  #new-sherdin-art-gallery\n  .sh-art-info-panel.sh-info-unified\n  .sh-info-layout.has-action\n  .sh-info-gallery-row{\n\n    margin-top:11px;\n  }\n\n}\n\n\n\/* =========================================================\n   IPAD \u00b7 GLEICHER BUTTON-ABSTAND WIE DESKTOP\n========================================================= *\/\n\n@media (min-width:621px) and (max-width:1180px){\n\n  #new-sherdin-art-gallery.sherdin-tray-open{\n    --controls-offset:\n      calc(var(--tray-h) - 30px) !important;\n  }\n\n}\n\n\n\/* =========================================================\n   SCHMALER DESKTOP \u00b7 VERTIKALE ABST\u00c4NDE\n   Diese Regel ver\u00e4ndert weder Handy noch iPad.\n========================================================= *\/\n\n@media\n  (orientation:portrait)\n  and (hover:hover)\n  and (pointer:fine){\n\n  \/* Gallery-Buttons stabil \u00fcber der Vorschauleiste *\/\n  #new-sherdin-art-gallery.sherdin-tray-open{\n    --controls-offset:\n      calc(var(--tray-h) - 30px) !important;\n  }\n\n  \/* 15px mehr Abstand oberhalb der Gallery-Buttons *\/\n  #new-sherdin-art-gallery.sherdin-tray-open\n  .sh-art-info-panel{\n    transform:\n      translateY(calc(-50% - 15px)) !important;\n  }\n\n}\n\n<\/style>\n\n\n<script>\n(function(){\n\n  const root = document.getElementById('new-sherdin-art-gallery');\n  if(!root) return;\n\n  function cleanFileNames(){\n\n    root.querySelectorAll('.sh-info-fallback-file').forEach(function(el){\n\n      const oldText = el.textContent.trim();\n\n      \/* .jpg .jpeg .png .webp usw. entfernen *\/\n      const newText = oldText.replace(\/\\.[a-z0-9]{2,5}$\/i,'');\n\n      if(oldText !== newText){\n        el.textContent = newText;\n      }\n\n    });\n\n  }\n\n  cleanFileNames();\n\n  \/* reagiert nur darauf, wenn der Info-Inhalt neu aufgebaut wird *\/\n  new MutationObserver(function(){\n    cleanFileNames();\n  }).observe(root,{\n    childList:true,\n    subtree:true\n  });\n\n})();\n<\/script>\n<\/div><\/div><div class=\"et_pb_code_5 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- =========================================================\n  SHERDIN \u00b7 GALLERY NFT MODUS \u00b7 v10\n========================================================= -->\n\n<style id=\"sherdin-nft-gallery-mode-style\">\n\n\n\/* =========================================================\n   01 \u00b7 INFOBLOCK \u00b7 NFT BASIS\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-art-info-panel{\n\n  left:18px !important;\n  width:calc(100% - 36px) !important;\n  max-width:none !important;\n\n  padding:21px 24px 34px !important;\n\n  background:rgba(0,0,0,.76) !important;\n\n  -webkit-backdrop-filter:\n    blur(18px)\n    saturate(110%) !important;\n\n  backdrop-filter:\n    blur(18px)\n    saturate(110%) !important;\n\n  border-radius:14px !important;\n\n  transition:\n    opacity 300ms ease,\n    transform 600ms cubic-bezier(.22,.61,.36,1),\n    left 500ms cubic-bezier(.22,.61,.36,1),\n    width 500ms cubic-bezier(.22,.61,.36,1),\n    border-radius 500ms ease,\n    padding 400ms ease !important;\n}\n\n\n\n\/* =========================================================\n   02 \u00b7 INFOBLOCK \u00b7 NORMALE POSITION\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-art-info-panel.is-visible{\n\n  transform:\n    translateX(0)\n    translateY(-50%) !important;\n}\n\n\n\n\/* =========================================================\n   03 \u00b7 INFOBLOCK \u00b7 STILLSTAND\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle\n.sh-art-info-panel.is-visible{\n\n  transform:\n    translateX(0)\n    translateY(\n      calc(\n        -50% + var(--sh-nft-idle-shift,0px)\n      )\n    ) !important;\n}\n\n\n\n\/* =========================================================\n   04 \u00b7 TYPOGRAFIE\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-label,\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-dl dt{\n\n  font-size:10px !important;\n  line-height:1.15 !important;\n  margin-bottom:5px !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-value,\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-dl dd{\n\n  font-size:14px !important;\n  line-height:1.35 !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-title{\n\n  font-size:22px !important;\n  line-height:1.15 !important;\n}\n\n\n\n\/* =========================================================\n   05 \u00b7 NICHT BEN\u00d6TIGTE INFOS\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-description,\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-note,\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-year-row,\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-online-label,\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-online-link{\n\n  display:none !important;\n}\n\n\n\n\/* =========================================================\n   06 \u00b7 TEXT + QR\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-layout.has-action{\n\n  display:grid !important;\n\n  grid-template-columns:\n    minmax(0,1fr)\n    auto !important;\n\n  gap:34px !important;\n\n  align-items:start !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-layout.has-action\n.sh-info-copy{\n\n  display:flex !important;\n\n  flex-direction:column !important;\n  justify-content:flex-start !important;\n\n  min-width:0 !important;\n}\n\n\n\n\/* =========================================================\n   07 \u00b7 ARTWORK \u00b7 ABSTAND\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-group.is-title{\n\n  margin-top:14px !important;\n}\n\n\n\n\/* =========================================================\n   08 \u00b7 GALLERY \u00b7 ABST\u00c4NDE\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-dl{\n\n  margin:\n    14px\n    0\n    12px\n    0 !important;\n\n  padding:0 !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-dl-row{\n\n  margin:0 !important;\n}\n\n\n\n\/* =========================================================\n   09 \u00b7 QR CODE\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-action{\n\n  margin:0 !important;\n\n  align-self:start !important;\n  justify-self:end !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-action-link{\n\n  align-items:flex-end !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sh-info-qr-shell{\n\n  width:132px !important;\n  height:132px !important;\n\n  margin:0 !important;\n}\n\n\n\n\/* =========================================================\n   10 \u00b7 GALLERY MEN\u00dc\n   ---------------------------------------------------------\n   Liegt sicher \u00fcber dem Footer\n   und bleibt vollst\u00e4ndig anklickbar.\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sherdin-controls{\n\n  opacity:1;\n  visibility:visible;\n\n  z-index:2147483646 !important;\n  pointer-events:auto !important;\n\n  transition:\n    opacity 500ms cubic-bezier(.22,.61,.36,1),\n    transform 500ms cubic-bezier(.22,.61,.36,1),\n    visibility 0s linear 0s !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle\n.sherdin-controls{\n\n  opacity:0 !important;\n  visibility:hidden !important;\n\n  pointer-events:none !important;\n\n  transition:\n    opacity 500ms cubic-bezier(.22,.61,.36,1),\n    transform 500ms cubic-bezier(.22,.61,.36,1),\n    visibility 0s linear 500ms !important;\n}\n\n\n\n\/* =========================================================\n   11 \u00b7 VORSCHAULEISTE \u00b7 STILLSTAND\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode\n.sherdin-tray{\n\n  transition:\n    transform 520ms cubic-bezier(.22,.61,.36,1),\n    opacity 460ms cubic-bezier(.22,.61,.36,1),\n    visibility 0s linear 0s !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle\n.sherdin-tray{\n\n  transform:\n    translateY(100%) !important;\n\n  opacity:0 !important;\n  visibility:hidden !important;\n\n  pointer-events:none !important;\n\n  transition:\n    transform 520ms cubic-bezier(.22,.61,.36,1),\n    opacity 460ms cubic-bezier(.22,.61,.36,1),\n    visibility 0s linear 520ms !important;\n}\n\n\n\n\/* =========================================================\n   12 \u00b7 CURSOR \u00b7 STILLSTAND\n========================================================= *\/\n\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle,\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle *{\n\n  cursor:none !important;\n}\n\n\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle\n#cursor-root,\n\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle\n#cursor-dot,\n\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle\n#fs-cursor-dot,\n\n#new-sherdin-art-gallery.sh-nft-mode.sh-nft-idle\n#sh-fs-arrow-cursor{\n\n  opacity:0 !important;\n}\n\n\n\n\/* =========================================================\n   13 \u00b7 ORIGINAL FOOTER\n   ---------------------------------------------------------\n   WICHTIG:\n   Er wird NICHT verschoben.\n   Keine Position, Gr\u00f6\u00dfe oder Divi-Struktur wird ver\u00e4ndert.\n========================================================= *\/\n\nbody.sh-nft-footer-active\n#footer01{\n\n  opacity:0 !important;\n  visibility:hidden !important;\n\n  pointer-events:none !important;\n}\n\n\n\n\/* =========================================================\n   14 \u00b7 NFT FOOTER \u00b7 BASIS\n   ---------------------------------------------------------\n   Eigener kleiner Layer.\n   Keine Divi-Geometrie.\n========================================================= *\/\n\n#sh-nft-footer-overlay{\n\n  position:fixed !important;\n\n  left:0 !important;\n  right:0 !important;\n  bottom:0 !important;\n\n  width:100vw !important;\n  height:auto !important;\n\n  margin:0 !important;\n  padding:0 18px !important;\n\n  box-sizing:border-box !important;\n\n  display:flex !important;\n\n  justify-content:center !important;\n  align-items:flex-end !important;\n\n  text-align:center !important;\n\n  background:transparent !important;\n\n  opacity:0;\n  visibility:hidden;\n\n  pointer-events:none !important;\n\n  z-index:2147483000 !important;\n\n  transform:none !important;\n  translate:none !important;\n\n  transition:\n    opacity 850ms cubic-bezier(.22,.61,.36,1),\n    bottom 700ms cubic-bezier(.22,.61,.36,1),\n    visibility 0s linear 850ms !important;\n}\n\n\n\n\/* =========================================================\n   15 \u00b7 NFT FOOTER \u00b7 AKTIV\n========================================================= *\/\n\nbody.sh-nft-footer-active\n#sh-nft-footer-overlay{\n\n  bottom:0 !important;\n\n  opacity:.5 !important;\n  visibility:visible !important;\n\n  transition:\n    opacity 850ms cubic-bezier(.22,.61,.36,1),\n    bottom 700ms cubic-bezier(.22,.61,.36,1),\n    visibility 0s linear 0s !important;\n}\n\n\n\n\/* =========================================================\n   16 \u00b7 NFT FOOTER \u00b7 TEXT\n   ---------------------------------------------------------\n   Schriftwerte werden per JS direkt aus dem\n   echten #footer01 \u00fcbernommen.\n========================================================= *\/\n\n#sh-nft-footer-overlay\n.sh-nft-footer-inner{\n\n  position:static !important;\n\n  display:inline-block !important;\n\n  flex:0 0 auto !important;\n\n  width:auto !important;\n  height:auto !important;\n\n  min-width:0 !important;\n  min-height:0 !important;\n\n  max-width:calc(100vw - 36px) !important;\n\n  margin:0 auto !important;\n  padding:0 !important;\n\n  float:none !important;\n\n  background:transparent !important;\n\n  transform:none !important;\n  translate:none !important;\n\n  text-align:center !important;\n\n  white-space:normal;\n\n  font-family:\n    var(--sh-nft-footer-font-family,inherit) !important;\n\n  font-size:\n    var(--sh-nft-footer-font-size,11px) !important;\n\n  font-weight:\n    var(--sh-nft-footer-font-weight,400) !important;\n\n  font-style:\n    var(--sh-nft-footer-font-style,normal) !important;\n\n  line-height:\n    var(--sh-nft-footer-line-height,1.4) !important;\n\n  letter-spacing:\n    var(--sh-nft-footer-letter-spacing,normal) !important;\n\n  text-transform:\n    var(--sh-nft-footer-text-transform,none) !important;\n\n  color:\n    var(--sh-nft-footer-color,#ebebeb) !important;\n}\n\n\n\n\/* =========================================================\n   17 \u00b7 ALTE DIVI-TYPOGRAFIE IM OVERLAY NEUTRALISIEREN\n========================================================= *\/\n\n#sh-nft-footer-overlay\n.sh-nft-footer-inner p,\n\n#sh-nft-footer-overlay\n.sh-nft-footer-inner span{\n\n  position:static !important;\n\n  display:inline !important;\n\n  width:auto !important;\n  height:auto !important;\n\n  margin:0 !important;\n  padding:0 !important;\n\n  float:none !important;\n\n  transform:none !important;\n  translate:none !important;\n\n  font-family:inherit !important;\n  font-size:inherit !important;\n  font-weight:inherit !important;\n  font-style:inherit !important;\n  line-height:inherit !important;\n  letter-spacing:inherit !important;\n  text-transform:inherit !important;\n\n  color:inherit !important;\n\n  text-align:center !important;\n}\n\n\n\n\/* =========================================================\n   18 \u00b7 LINKS\n========================================================= *\/\n\n#sh-nft-footer-overlay\n.sh-nft-footer-inner a{\n\n  position:static !important;\n\n  display:inline !important;\n\n  width:auto !important;\n  height:auto !important;\n\n  margin:0 !important;\n  padding:0 !important;\n\n  float:none !important;\n\n  transform:none !important;\n  translate:none !important;\n\n  font-family:inherit !important;\n  font-size:inherit !important;\n  font-weight:inherit !important;\n  font-style:inherit !important;\n  line-height:inherit !important;\n  letter-spacing:inherit !important;\n\n  text-align:center !important;\n\n  color:\n    var(--sh-nft-footer-link-color,#2ea3f2) !important;\n\n  pointer-events:auto !important;\n\n  transition:\n    color 800ms ease !important;\n}\n\n\n#sh-nft-footer-overlay\n.sh-nft-footer-inner a:hover{\n\n  color:#e8f0f5 !important;\n}\n\n\n\n\/* =========================================================\n   19 \u00b7 STILLSTAND\n   ---------------------------------------------------------\n   KEINE horizontale Bewegung.\n   Nur 8px nach oben.\n========================================================= *\/\n\nbody.sh-nft-footer-active.sh-nft-footer-idle\n#sh-nft-footer-overlay{\n\n  bottom:8px !important;\n\n  opacity:.5 !important;\n  visibility:visible !important;\n}\n\n\n\n\/* =========================================================\n   20 \u00b7 FULLSCREEN\n========================================================= *\/\n\nbody.sh-nft-footer-active.sh-nft-footer-fullscreen\n#sh-nft-footer-overlay{\n\n  position:fixed !important;\n\n  left:0 !important;\n  right:0 !important;\n  bottom:0 !important;\n\n  width:100vw !important;\n\n  opacity:.5 !important;\n  visibility:visible !important;\n\n  pointer-events:none !important;\n\n  z-index:2147483000 !important;\n}\n\n\n\n\/* =========================================================\n   21 \u00b7 FULLSCREEN + STILLSTAND\n========================================================= *\/\n\nbody.sh-nft-footer-active.sh-nft-footer-fullscreen.sh-nft-footer-idle\n#sh-nft-footer-overlay{\n\n  bottom:8px !important;\n\n  opacity:.5 !important;\n  visibility:visible !important;\n}\n\n\n\n\/* =========================================================\n   22 \u00b7 REDUCED MOTION\n========================================================= *\/\n\n@media (prefers-reduced-motion:reduce){\n\n  #new-sherdin-art-gallery.sh-nft-mode\n  .sh-art-info-panel,\n\n  #new-sherdin-art-gallery.sh-nft-mode\n  .sherdin-controls,\n\n  #new-sherdin-art-gallery.sh-nft-mode\n  .sherdin-tray,\n\n  #sh-nft-footer-overlay{\n\n    transition:none !important;\n  }\n\n}\n\n\n\/* =========================================================\n   PATCH \u00b7 NFT FOOTER 20PX H\u00d6HER\n========================================================= *\/\n\nbody.sh-nft-footer-active\n#sh-nft-footer-overlay{\n  bottom:20px !important;\n}\n\n\nbody.sh-nft-footer-active.sh-nft-footer-idle\n#sh-nft-footer-overlay{\n  bottom:28px !important;\n}\n\n\nbody.sh-nft-footer-active.sh-nft-footer-fullscreen\n#sh-nft-footer-overlay{\n  bottom:20px !important;\n}\n\n\nbody.sh-nft-footer-active.sh-nft-footer-fullscreen.sh-nft-footer-idle\n#sh-nft-footer-overlay{\n  bottom:28px !important;\n}\n<\/style>\n\n\n\n<script>\n(function(){\n  'use strict';\n\n\n  let tries = 0;\n\n\n\n  function init(){\n\n    const root =\n      document.getElementById(\n        'new-sherdin-art-gallery'\n      );\n\n\n    const footer =\n      document.getElementById(\n        'footer01'\n      );\n\n\n\n    \/* =====================================================\n       WARTEN BIS GALLERY + FOOTER VORHANDEN\n    ===================================================== *\/\n\n    if(!root || !footer){\n\n      if(tries++ < 100){\n\n        setTimeout(\n          init,\n          100\n        );\n\n      }\n\n      return;\n    }\n\n\n\n    if(\n      root.dataset.shNftModeV10 === '1'\n    ){\n\n      return;\n\n    }\n\n\n    root.dataset.shNftModeV10 =\n      '1';\n\n\n\n    \/* =====================================================\n       01 \u00b7 SCREEN ERKENNUNG\n    ===================================================== *\/\n\n    const ENTER_MIN_WIDTH =\n      900;\n\n\n    const ENTER_MIN_HEIGHT =\n      1400;\n\n\n    const ENTER_MAX_RATIO =\n      0.72;\n\n\n\n    const EXIT_MIN_WIDTH =\n      840;\n\n\n    const EXIT_MIN_HEIGHT =\n      1320;\n\n\n    const EXIT_MAX_RATIO =\n      0.78;\n\n\n\n    \/* =====================================================\n       02 \u00b7 IDLE\n    ===================================================== *\/\n\n    const IDLE_DELAY =\n      2400;\n\n\n    const BOTTOM_EDGE =\n      18;\n\n\n\n    let nftMode =\n      false;\n\n\n    let idleTimer =\n      0;\n\n\n\n    \/* =====================================================\n       03 \u00b7 ALTEN OVERLAY RESTLOS ENTFERNEN\n    ===================================================== *\/\n\n    const oldOverlay =\n      document.getElementById(\n        'sh-nft-footer-overlay'\n      );\n\n\n    if(oldOverlay){\n\n      oldOverlay.remove();\n\n    }\n\n\n\n    \/* =====================================================\n       04 \u00b7 QUELLE DES FOOTERTEXTES\n       -----------------------------------------------------\n       Wir kopieren NUR den Textbereich.\n       Keine Divi Section.\n       Keine Row.\n       Keine Column.\n    ===================================================== *\/\n\n    const footerSource =\n      footer.querySelector(\n        '.et_pb_text_inner'\n      )\n      ||\n      footer.querySelector(\n        '.et_pb_code_inner'\n      )\n      ||\n      footer;\n\n\n\n    \/*\n      F\u00fcr die echte sichtbare Typografie m\u00f6glichst\n      einen normalen Textknoten \/ Absatz benutzen.\n    *\/\n\n    const styleProbe =\n      footerSource.querySelector(\n        'p'\n      )\n      ||\n      footerSource;\n\n\n\n    const sourceStyle =\n      window.getComputedStyle(\n        styleProbe\n      );\n\n\n\n    const sourceLink =\n      footerSource.querySelector(\n        'a'\n      );\n\n\n    const linkStyle =\n      sourceLink\n        ? window.getComputedStyle(sourceLink)\n        : null;\n\n\n\n    \/* =====================================================\n       05 \u00b7 NFT FOOTER BAUEN\n    ===================================================== *\/\n\n    const nftFooter =\n      document.createElement(\n        'div'\n      );\n\n\n    nftFooter.id =\n      'sh-nft-footer-overlay';\n\n\n\n    const nftFooterInner =\n      document.createElement(\n        'div'\n      );\n\n\n    nftFooterInner.className =\n      'sh-nft-footer-inner';\n\n\n\n    \/*\n      NUR sichtbaren Footer-Inhalt \u00fcbernehmen.\n    *\/\n\n    nftFooterInner.innerHTML =\n      footerSource.innerHTML;\n\n\n\n    nftFooter.appendChild(\n      nftFooterInner\n    );\n\n\n    document.body.appendChild(\n      nftFooter\n    );\n\n\n\n    \/* =====================================================\n       06 \u00b7 ORIGINAL TYPOGRAFIE \u00dcBERNEHMEN\n    ===================================================== *\/\n\n    nftFooter.style.setProperty(\n      '--sh-nft-footer-font-family',\n      sourceStyle.fontFamily\n    );\n\n\n    nftFooter.style.setProperty(\n      '--sh-nft-footer-font-size',\n      sourceStyle.fontSize\n    );\n\n\n    nftFooter.style.setProperty(\n      '--sh-nft-footer-font-weight',\n      sourceStyle.fontWeight\n    );\n\n\n    nftFooter.style.setProperty(\n      '--sh-nft-footer-font-style',\n      sourceStyle.fontStyle\n    );\n\n\n    nftFooter.style.setProperty(\n      '--sh-nft-footer-line-height',\n      sourceStyle.lineHeight\n    );\n\n\n    nftFooter.style.setProperty(\n      '--sh-nft-footer-letter-spacing',\n      sourceStyle.letterSpacing\n    );\n\n\n    nftFooter.style.setProperty(\n      '--sh-nft-footer-text-transform',\n      sourceStyle.textTransform\n    );\n\n\n    nftFooter.style.setProperty(\n      '--sh-nft-footer-color',\n      sourceStyle.color\n    );\n\n\n\n    if(linkStyle){\n\n      nftFooter.style.setProperty(\n        '--sh-nft-footer-link-color',\n        linkStyle.color\n      );\n\n    }\n\n\n\n    \/* =====================================================\n       07 \u00b7 VIEWPORT\n    ===================================================== *\/\n\n    function getViewport(){\n\n      const vv =\n        window.visualViewport;\n\n\n      const width =\n        vv\n          ? vv.width\n          : window.innerWidth;\n\n\n      const height =\n        vv\n          ? vv.height\n          : window.innerHeight;\n\n\n      return{\n\n        width,\n\n        height,\n\n        ratio:\n          height\n            ? width \/ height\n            : 1\n\n      };\n\n    }\n\n\n\n    \/* =====================================================\n       08 \u00b7 INFOBLOCK \u00b7 IDLE-POSITION\n    ===================================================== *\/\n\n    function calculateIdleShift(){\n\n      const panel =\n        root.querySelector(\n          '.sh-art-info-panel.is-visible'\n        );\n\n\n      if(!panel){\n\n        return;\n\n      }\n\n\n\n      \/*\n        Immer erst normale Position herstellen.\n      *\/\n\n      root.classList.remove(\n        'sh-nft-idle'\n      );\n\n\n      document.body.classList.remove(\n        'sh-nft-footer-idle'\n      );\n\n\n\n      requestAnimationFrame(\n        function(){\n\n          const rect =\n            panel.getBoundingClientRect();\n\n\n          const vv =\n            window.visualViewport;\n\n\n          const viewportBottom =\n            vv\n              ? vv.height + vv.offsetTop\n              : window.innerHeight;\n\n\n          const targetBottom =\n            viewportBottom\n            - BOTTOM_EDGE;\n\n\n          const shift =\n            targetBottom\n            - rect.bottom;\n\n\n\n          root.style.setProperty(\n            '--sh-nft-idle-shift',\n            Math.round(shift) + 'px'\n          );\n\n\n\n          requestAnimationFrame(\n            function(){\n\n              root.classList.add(\n                'sh-nft-idle'\n              );\n\n\n              document.body.classList.add(\n                'sh-nft-footer-idle'\n              );\n\n            }\n          );\n\n        }\n      );\n\n    }\n\n\n\n    \/* =====================================================\n       09 \u00b7 IDLE TIMER\n    ===================================================== *\/\n\n    function clearIdleTimer(){\n\n      if(!idleTimer){\n\n        return;\n\n      }\n\n\n      clearTimeout(\n        idleTimer\n      );\n\n\n      idleTimer =\n        0;\n\n    }\n\n\n\n    function becomeIdle(){\n\n      if(!nftMode){\n\n        return;\n\n      }\n\n\n      calculateIdleShift();\n\n    }\n\n\n\n    function armIdle(){\n\n      clearIdleTimer();\n\n\n      if(!nftMode){\n\n        return;\n\n      }\n\n\n      idleTimer =\n        setTimeout(\n          becomeIdle,\n          IDLE_DELAY\n        );\n\n    }\n\n\n\n    \/* =====================================================\n       10 \u00b7 AKTIVIT\u00c4T\n    ===================================================== *\/\n\n    function activity(){\n\n      if(!nftMode){\n\n        return;\n\n      }\n\n\n      root.classList.remove(\n        'sh-nft-idle'\n      );\n\n\n      document.body.classList.remove(\n        'sh-nft-footer-idle'\n      );\n\n\n      armIdle();\n\n    }\n\n\n\n    [\n      'pointermove',\n      'pointerdown',\n      'touchstart',\n      'wheel'\n    ].forEach(\n      function(eventName){\n\n        document.addEventListener(\n          eventName,\n          activity,\n          {\n            passive:true,\n            capture:true\n          }\n        );\n\n      }\n    );\n\n\n\n    document.addEventListener(\n      'keydown',\n      activity,\n      true\n    );\n\n\n\n    \/* =====================================================\n       11 \u00b7 FULLSCREEN FOOTER\n       -----------------------------------------------------\n       Nur der kleine NFT-Footer wird verschoben.\n       #footer01 bleibt komplett unangetastet.\n    ===================================================== *\/\n\n    function syncFullscreenFooter(){\n\n      const fullscreenElement =\n        document.fullscreenElement ||\n        document.webkitFullscreenElement ||\n        null;\n\n\n      const fullscreenActive =\n        nftMode &&\n        !!fullscreenElement;\n\n\n\n      document.body.classList.toggle(\n        'sh-nft-footer-fullscreen',\n        fullscreenActive\n      );\n\n\n\n      if(fullscreenActive){\n\n        if(\n          !fullscreenElement.contains(\n            nftFooter\n          )\n        ){\n\n          fullscreenElement.appendChild(\n            nftFooter\n          );\n\n        }\n\n      }else{\n\n        if(\n          nftFooter.parentNode !== document.body\n        ){\n\n          document.body.appendChild(\n            nftFooter\n          );\n\n        }\n\n      }\n\n    }\n\n\n\n    \/* =====================================================\n       12 \u00b7 FOOTER STATUS\n    ===================================================== *\/\n\n    function syncFooterMode(){\n\n      document.body.classList.toggle(\n        'sh-nft-footer-active',\n        nftMode\n      );\n\n\n\n      if(!nftMode){\n\n        document.body.classList.remove(\n          'sh-nft-footer-idle'\n        );\n\n\n        document.body.classList.remove(\n          'sh-nft-footer-fullscreen'\n        );\n\n      }\n\n\n\n      syncFullscreenFooter();\n\n    }\n\n\n\n    \/* =====================================================\n       13 \u00b7 NFT MODUS\n    ===================================================== *\/\n\n    function syncMode(){\n\n      const view =\n        getViewport();\n\n\n      let next =\n        nftMode;\n\n\n\n      if(nftMode){\n\n        next =\n          view.width >= EXIT_MIN_WIDTH &&\n          view.height >= EXIT_MIN_HEIGHT &&\n          view.ratio <= EXIT_MAX_RATIO;\n\n      }else{\n\n        next =\n          view.width >= ENTER_MIN_WIDTH &&\n          view.height >= ENTER_MIN_HEIGHT &&\n          view.ratio <= ENTER_MAX_RATIO;\n\n      }\n\n\n\n      \/*\n        Keine \u00c4nderung.\n      *\/\n\n      if(next === nftMode){\n\n        if(nftMode){\n\n          syncFullscreenFooter();\n\n        }\n\n        return;\n\n      }\n\n\n\n      nftMode =\n        next;\n\n\n\n      root.classList.toggle(\n        'sh-nft-mode',\n        nftMode\n      );\n\n\n\n      if(nftMode){\n\n        root.classList.remove(\n          'sh-nft-idle'\n        );\n\n\n        document.body.classList.remove(\n          'sh-nft-footer-idle'\n        );\n\n\n        armIdle();\n\n      }else{\n\n        clearIdleTimer();\n\n\n        root.classList.remove(\n          'sh-nft-idle'\n        );\n\n\n        document.body.classList.remove(\n          'sh-nft-footer-idle'\n        );\n\n\n        root.style.removeProperty(\n          '--sh-nft-idle-shift'\n        );\n\n      }\n\n\n\n      syncFooterMode();\n\n    }\n\n\n\n    \/* =====================================================\n       14 \u00b7 FULLSCREEN CHANGE\n    ===================================================== *\/\n\n    function handleFullscreenChange(){\n\n      root.classList.remove(\n        'sh-nft-idle'\n      );\n\n\n      document.body.classList.remove(\n        'sh-nft-footer-idle'\n      );\n\n\n      syncFullscreenFooter();\n\n\n\n      if(nftMode){\n\n        armIdle();\n\n      }\n\n    }\n\n\n\n    document.addEventListener(\n      'fullscreenchange',\n      handleFullscreenChange\n    );\n\n\n    document.addEventListener(\n      'webkitfullscreenchange',\n      handleFullscreenChange\n    );\n\n\n\n    \/* =====================================================\n       15 \u00b7 RESIZE \/ SCREEN DREHEN\n    ===================================================== *\/\n\n    function handleResize(){\n\n      syncMode();\n\n\n\n      if(nftMode){\n\n        root.classList.remove(\n          'sh-nft-idle'\n        );\n\n\n        document.body.classList.remove(\n          'sh-nft-footer-idle'\n        );\n\n\n        armIdle();\n\n      }\n\n    }\n\n\n\n    window.addEventListener(\n      'resize',\n      handleResize,\n      {\n        passive:true\n      }\n    );\n\n\n    window.addEventListener(\n      'orientationchange',\n      handleResize,\n      {\n        passive:true\n      }\n    );\n\n\n\n    if(window.visualViewport){\n\n      window.visualViewport.addEventListener(\n        'resize',\n        handleResize,\n        {\n          passive:true\n        }\n      );\n\n    }\n\n\n\n    \/* =====================================================\n       16 \u00b7 START\n    ===================================================== *\/\n\n    syncMode();\n\n  }\n\n\n\n  init();\n\n})();\n<\/script><\/div><\/div><div class=\"et_pb_code_6 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- =========================================================\n  SHERDIN \u00b7 GALLERY START MOTION \u00b7 V8 \u00b7 CLEAN\n\n  ARTWORK\n  \u2192 LOGO + MAIN MENU\n  \u2192 \"the gallery\"\n  \u2192 GALLERY MENU\n  \u2192 FOOTER\n\n  DESKTOP = ORIGINAL\n  MOBILE  = EXAKTER DESKTOP-BLOCK, NUR SKALIERT\n========================================================= -->\n\n\n<!-- =========================================================\n  POPPINS \u00b7 KORREKT LADEN\n========================================================= -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link\n  href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;700&display=swap\"\n  rel=\"stylesheet\"\n>\n\n\n\n<style id=\"sherdin-gallery-motion-v8\">\n\n\n\/* =========================================================\n   01 \u00b7 GLOBALEN #ssn-menu FADE AUSSCHALTEN\n========================================================= *\/\n\nhtml.sh8-gallery-motion #ssn-menu,\nhtml.sherdin-gallery-start-ready.sh8-gallery-motion #ssn-menu{\n\n  opacity:1 !important;\n  visibility:visible !important;\n\n  filter:none !important;\n\n  transition:none !important;\n}\n\n\n\n\/* =========================================================\n   02 \u00b7 DESKTOP \/ IPAD\n   LOGO + NAVIGATION\n========================================================= *\/\n\n@media (min-width:621px){\n\n  html.sh8-gallery-motion #ssn-menu .ssn-logo,\n  html.sh8-gallery-motion #ssn-menu nav{\n\n    animation:none !important;\n    animation-delay:0s !important;\n\n    opacity:0 !important;\n    visibility:hidden !important;\n\n    filter:blur(4px) !important;\n\n    transform:none !important;\n\n    transition:\n      opacity 1.90s cubic-bezier(.22,.61,.36,1),\n      filter 2.05s cubic-bezier(.16,1,.3,1),\n      visibility 0s linear 1.90s !important;\n  }\n\n\n  html.sh8-header-in #ssn-menu .ssn-logo,\n  html.sh8-header-in #ssn-menu nav{\n\n    opacity:1 !important;\n    visibility:visible !important;\n\n    filter:blur(0) !important;\n\n    transform:none !important;\n\n    transition:\n      opacity 1.90s cubic-bezier(.22,.61,.36,1),\n      filter 2.05s cubic-bezier(.16,1,.3,1),\n      visibility 0s linear 0s !important;\n  }\n\n}\n\n\n\n\/* =========================================================\n   03 \u00b7 MOBILE\n   LOGO + BURGER GEMEINSAM\n========================================================= *\/\n\n@media (max-width:620px){\n\n  html.sh8-gallery-motion #ssn-menu .ssn-logo,\n  html.sh8-gallery-motion #ssn-menu .ssn-burger{\n\n    animation:none !important;\n    animation-delay:0s !important;\n\n    opacity:0 !important;\n    visibility:hidden !important;\n\n    filter:blur(4px) !important;\n\n    transition:\n      opacity 1.90s cubic-bezier(.22,.61,.36,1),\n      filter 2.05s cubic-bezier(.16,1,.3,1),\n      visibility 0s linear 1.90s !important;\n  }\n\n\n  html.sh8-header-in #ssn-menu .ssn-logo,\n  html.sh8-header-in #ssn-menu .ssn-burger{\n\n    opacity:1 !important;\n    visibility:visible !important;\n\n    filter:blur(0) !important;\n\n    transition:\n      opacity 1.90s cubic-bezier(.22,.61,.36,1),\n      filter 2.05s cubic-bezier(.16,1,.3,1),\n      visibility 0s linear 0s !important;\n  }\n\n}\n\n\n\n\/* =========================================================\n   04 \u00b7 SEITENWECHSEL\n========================================================= *\/\n\nhtml.sh8-gallery-motion\n#ssn-menu.ssn-leaving .ssn-logo{\n\n  animation:\n    ssn-logo-out\n    .34s ease forwards !important;\n}\n\n\n@media (min-width:621px){\n\n  html.sh8-gallery-motion\n  #ssn-menu.ssn-leaving nav{\n\n    animation:\n      ssn-nav-out\n      .34s ease forwards !important;\n  }\n\n}\n\n\n\n\/* =========================================================\n   05 \u00b7 GALLERY MENU\n========================================================= *\/\n\n#new-sherdin-art-gallery .sherdin-controls{\n\n  opacity:0 !important;\n\n  translate:0 19px;\n\n  will-change:\n    opacity,\n    translate;\n\n  transition:\n    translate 1.70s cubic-bezier(.16,1,.3,1),\n    opacity 1.50s cubic-bezier(.22,.61,.36,1),\n    transform 300ms ease !important;\n}\n\n\nhtml.sh8-controls-in\n#new-sherdin-art-gallery .sherdin-controls{\n\n  opacity:1 !important;\n\n  translate:0 0;\n\n  transition:\n    translate 1.70s cubic-bezier(.16,1,.3,1),\n    opacity 1.50s cubic-bezier(.22,.61,.36,1),\n    transform 300ms ease !important;\n}\n\n\n\n\/* =========================================================\n   06 \u00b7 FOOTER\n========================================================= *\/\n\n#footer01{\n\n  opacity:0 !important;\n\n  transition:\n    opacity 1.75s cubic-bezier(.22,.61,.36,1) !important;\n}\n\n\nhtml.sh8-footer-in #footer01{\n\n  opacity:1 !important;\n}\n\n\n\n\/* =========================================================\n   07 \u00b7 INTRO POSITION \u00b7 DESKTOP\n========================================================= *\/\n\n#sh-gallery-intro{\n\n  position:absolute;\n\n  left:31px;\n\n  top:calc(53% - 40px);\n\n  width:min(\n    850px,\n    calc(100vw - 62px)\n  );\n\n  transform:\n    translateY(-50%);\n\n  transform-origin:\n    left center;\n\n  z-index:9500;\n\n  pointer-events:none !important;\n  user-select:none;\n\n  visibility:hidden;\n\n  color:#fff;\n\n  text-align:left;\n}\n\n\n\n\/* =========================================================\n   08 \u00b7 HEADLINE\n========================================================= *\/\n\n#sh-gallery-intro .sh-title{\n\n  display:flex;\n\n  margin:0;\n\n  white-space:nowrap;\n\n  overflow:visible;\n\n  font-family:\n    \"Poppins\",\n    sans-serif !important;\n\n  font-size:\n    120px !important;\n\n  font-style:\n    normal !important;\n\n  font-weight:\n    700 !important;\n\n  font-synthesis:\n    none !important;\n\n  line-height:\n    .96 !important;\n\n  letter-spacing:\n    -11px !important;\n\n  color:#fff;\n\n  -webkit-font-smoothing:\n    antialiased;\n}\n\n\n\n\/* =========================================================\n   EINZELNE BUCHSTABEN\n========================================================= *\/\n\n#sh-gallery-intro .sh-letter{\n\n  position:relative;\n\n  display:inline-block;\n\n  overflow:visible !important;\n\n  opacity:0;\n\n  font-family:\n    \"Poppins\",\n    sans-serif !important;\n\n  font-style:\n    normal !important;\n\n  font-weight:\n    700 !important;\n\n  font-synthesis:\n    none !important;\n\n  transform:\n    translateY(3px)\n    scaleY(.82);\n\n  transform-origin:\n    center center;\n\n  filter:\n    blur(5px);\n\n  will-change:\n    opacity,\n    transform,\n    filter;\n}\n\n\n\n\/* Abstand zwischen \"the\" und \"gallery\" *\/\n\n#sh-gallery-intro .sh-space{\n\n  width:.30em;\n\n  flex:0 0 .30em;\n}\n\n\n\n\/* =========================================================\n   09 \u00b7 CURATED ZEILE\n========================================================= *\/\n\n#sh-gallery-intro .sh-sub-wrap{\n\n  display:block;\n\n  position:relative;\n\n  left:7px;\n\n  top:-20px;\n\n  overflow:visible;\n\n  margin-top:10px;\n}\n\n\n#sh-gallery-intro .sh-sub{\n\n  display:block;\n\n  white-space:nowrap;\n\n  font-family:\n    \"Poppins\",\n    sans-serif !important;\n\n  font-size:\n    14px;\n\n  font-style:\n    normal !important;\n\n  font-weight:\n    400 !important;\n\n  font-synthesis:\n    none !important;\n\n  line-height:\n    1.35;\n\n  letter-spacing:\n    .012em;\n\n  color:\n    rgba(255,255,255,.92);\n\n  text-shadow:\n    0 1px 9px rgba(0,0,0,.58);\n\n  opacity:0;\n\n  transform:\n    translateY(3px);\n\n  filter:\n    blur(2px);\n}\n\n\n\/* Abstand zwischen \"by\" und \"Sasha\" *\/\n\n#sh-gallery-intro .sh-sub-sasha{\n\n  display:inline-block;\n\n  margin-left:\n    84px;\n}\n\n\n\n\/* =========================================================\n   10 \u00b7 TEXT IN\n========================================================= *\/\n\n#sh-gallery-intro.is-in{\n\n  visibility:visible;\n}\n\n\n#sh-gallery-intro.is-in .sh-letter{\n\n  animation:\n    sh8-letter-in\n    1.25s\n    cubic-bezier(.16,1,.3,1)\n    both;\n\n  animation-delay:\n    calc(var(--i) * 18ms);\n}\n\n\n#sh-gallery-intro.is-in .sh-sub{\n\n  animation:\n    sh8-sub-in\n    1.10s\n    cubic-bezier(.16,1,.3,1)\n    .34s\n    both;\n}\n\n\n\n\/* =========================================================\n   HEADLINE IN\n========================================================= *\/\n\n@keyframes sh8-letter-in{\n\n  0%{\n\n    opacity:0;\n\n    transform:\n      translateY(3px)\n      scaleY(.82);\n\n    filter:\n      blur(5px);\n  }\n\n\n  30%{\n\n    opacity:.45;\n  }\n\n\n  65%{\n\n    opacity:.95;\n\n    filter:\n      blur(.6px);\n  }\n\n\n  100%{\n\n    opacity:1;\n\n    transform:\n      translateY(0)\n      scaleY(1);\n\n    filter:\n      blur(0);\n  }\n\n}\n\n\n\n\/* =========================================================\n   SUBLINE IN\n========================================================= *\/\n\n@keyframes sh8-sub-in{\n\n  0%{\n\n    opacity:0;\n\n    transform:\n      translateY(3px);\n\n    filter:\n      blur(2px);\n  }\n\n\n  38%{\n\n    opacity:.35;\n  }\n\n\n  100%{\n\n    opacity:1;\n\n    transform:\n      translateY(0);\n\n    filter:\n      blur(0);\n  }\n\n}\n\n\n\n\/* =========================================================\n   11 \u00b7 TEXT OUT\n========================================================= *\/\n\n#sh-gallery-intro.is-out{\n\n  visibility:visible;\n}\n\n\n#sh-gallery-intro.is-out .sh-sub{\n\n  animation:\n    sh8-sub-out\n    .72s\n    cubic-bezier(.7,0,.84,0)\n    both;\n}\n\n\n#sh-gallery-intro.is-out .sh-letter{\n\n  animation:\n    sh8-letter-out\n    .88s\n    cubic-bezier(.7,0,.84,0)\n    both;\n\n  animation-delay:\n    calc(\n      (11 - var(--i)) * 16ms + 130ms\n    );\n}\n\n\n\n\/* =========================================================\n   HEADLINE OUT\n========================================================= *\/\n\n@keyframes sh8-letter-out{\n\n  0%{\n\n    opacity:1;\n\n    transform:\n      translateY(0)\n      scaleY(1);\n\n    filter:\n      blur(0);\n  }\n\n\n  48%{\n\n    opacity:.76;\n  }\n\n\n  100%{\n\n    opacity:0;\n\n    transform:\n      translateY(-2px)\n      scaleY(.80);\n\n    filter:\n      blur(5px);\n  }\n\n}\n\n\n\n\/* =========================================================\n   SUBLINE OUT\n========================================================= *\/\n\n@keyframes sh8-sub-out{\n\n  0%{\n\n    opacity:1;\n\n    transform:\n      translateY(0);\n\n    filter:\n      blur(0);\n  }\n\n\n  100%{\n\n    opacity:0;\n\n    transform:\n      translateY(-2px);\n\n    filter:\n      blur(2px);\n  }\n\n}\n\n\n\n\/* =========================================================\n   12 \u00b7 MOBILE\n\n   EXAKTER DESKTOP-BLOCK\n   NUR ALS GANZES VERKLEINERT\n========================================================= *\/\n\n@media (max-width:620px){\n\n  #sh-gallery-intro{\n\n    left:\n      16px !important;\n\n    top:\n      calc(53% - 40px) !important;\n\n    width:\n      850px !important;\n\n    max-width:\n      none !important;\n\n    transform:\n      translateY(-50%)\n      scale(.49) !important;\n\n    transform-origin:\n      left center !important;\n  }\n\n\n  #sh-gallery-intro .sh-title,\n  #sh-gallery-intro .sh-letter{\n\n    font-family:\n      \"Poppins\",\n      sans-serif !important;\n\n    font-style:\n      normal !important;\n\n    font-weight:\n      700 !important;\n\n    font-synthesis:\n      none !important;\n  }\n\n\n  #sh-gallery-intro .sh-title{\n\n    font-size:\n      120px !important;\n\n    line-height:\n      .96 !important;\n\n    letter-spacing:\n      -11px !important;\n  }\n\n\n  #sh-gallery-intro .sh-sub{\n\n    font-family:\n      \"Poppins\",\n      sans-serif !important;\n\n    font-size:\n      14px !important;\n\n    font-style:\n      normal !important;\n\n    font-weight:\n      400 !important;\n\n    font-synthesis:\n      none !important;\n\n    line-height:\n      1.35 !important;\n\n    letter-spacing:\n      .012em !important;\n  }\n\n\n  #sh-gallery-intro .sh-sub-wrap{\n\n    left:\n      7px !important;\n\n    top:\n      -20px !important;\n\n    margin-top:\n      10px !important;\n  }\n\n\n  #sh-gallery-intro .sh-sub-sasha{\n\n    margin-left:\n      90px !important;\n  }\n\n}\n\n\n\n\/* =========================================================\n   13 \u00b7 DIVI BUILDER\n========================================================= *\/\n\nbody.et-fb #ssn-menu .ssn-logo,\nbody.et-fb-root-ancestor #ssn-menu .ssn-logo,\n\nbody.et-fb #ssn-menu nav,\nbody.et-fb-root-ancestor #ssn-menu nav,\n\nbody.et-fb #ssn-menu .ssn-burger,\nbody.et-fb-root-ancestor #ssn-menu .ssn-burger,\n\nbody.et-fb #footer01,\nbody.et-fb-root-ancestor #footer01,\n\nbody.et-fb\n#new-sherdin-art-gallery .sherdin-controls,\n\nbody.et-fb-root-ancestor\n#new-sherdin-art-gallery .sherdin-controls{\n\n  opacity:1 !important;\n\n  visibility:visible !important;\n\n  translate:\n    0 0 !important;\n\n  filter:none !important;\n\n  animation:none !important;\n}\n\n<\/style>\n\n\n\n<script>\n(function(){\n\n  'use strict';\n\n\n  const html =\n    document.documentElement;\n\n\n  if(\n    html.dataset.shGalleryMotionV8 === '1'\n  ){\n    return;\n  }\n\n\n  html.dataset.shGalleryMotionV8 =\n    '1';\n\n\n  html.classList.add(\n    'sh8-gallery-motion'\n  );\n\n\n\n  \/* =========================================================\n     BUILDER\n  ========================================================= *\/\n\n  function isBuilder(){\n\n    return document.body &&\n    (\n      document.body.classList.contains(\n        'et-fb'\n      )\n      ||\n      document.body.classList.contains(\n        'et-fb-root-ancestor'\n      )\n    );\n\n  }\n\n\n\n  \/* =========================================================\n     INTRO BAUEN\n  ========================================================= *\/\n\n  function createIntro(){\n\n    const gallery =\n      document.getElementById(\n        'new-sherdin-art-gallery'\n      );\n\n\n    if(!gallery){\n      return null;\n    }\n\n\n    const old =\n      document.getElementById(\n        'sh-gallery-intro'\n      );\n\n\n    if(old){\n      old.remove();\n    }\n\n\n    const intro =\n      document.createElement(\n        'div'\n      );\n\n\n    intro.id =\n      'sh-gallery-intro';\n\n\n    intro.setAttribute(\n      'aria-hidden',\n      'true'\n    );\n\n\n\n    \/* =====================================================\n       KLEINBUCHSTABEN\n    ===================================================== *\/\n\n    const title =\n      'the gallery';\n\n\n\n    let letters =\n      '';\n\n\n    [...title].forEach(\n      function(\n        char,\n        index\n      ){\n\n\n        if(\n          char === ' '\n        ){\n\n          letters +=\n            '<span class=\"sh-space\"><\/span>';\n\n          return;\n        }\n\n\n        letters +=\n          '<span ' +\n          'class=\"sh-letter\" ' +\n          'style=\"--i:' +\n          index +\n          '\">' +\n          char +\n          '<\/span>';\n\n      }\n    );\n\n\n\n    \/* =====================================================\n       INTRO HTML\n    ===================================================== *\/\n\n    intro.innerHTML = `\n\n      <div class=\"sh-title\">\n        ${letters}\n      <\/div>\n\n\n      <div class=\"sh-sub-wrap\">\n\n        <span class=\"sh-sub\">\n\n          Curated works and NFTs by\n\n          <span class=\"sh-sub-sasha\">\n            Sasha Sherdin.\n          <\/span>\n\n        <\/span>\n\n      <\/div>\n\n    `;\n\n\n    gallery.appendChild(\n      intro\n    );\n\n\n    return intro;\n\n  }\n\n\n\n  \/* =========================================================\n     FONT SICHER LADEN\n  ========================================================= *\/\n\n  function waitForPoppins(\n    callback\n  ){\n\n    if(\n      !document.fonts\n      ||\n      !document.fonts.load\n    ){\n\n      callback();\n\n      return;\n    }\n\n\n    let finished =\n      false;\n\n\n    function done(){\n\n      if(finished){\n        return;\n      }\n\n\n      finished =\n        true;\n\n\n      callback();\n\n    }\n\n\n    Promise.all([\n\n      document.fonts.load(\n        '700 120px \"Poppins\"'\n      ),\n\n      document.fonts.load(\n        '400 14px \"Poppins\"'\n      )\n\n    ])\n    .then(done)\n    .catch(done);\n\n\n    window.setTimeout(\n      done,\n      2500\n    );\n\n  }\n\n\n\n  \/* =========================================================\n     TIMELINE\n  ========================================================= *\/\n\n  function run(){\n\n    if(\n      isBuilder()\n    ){\n      return;\n    }\n\n\n    const gallery =\n      document.getElementById(\n        'new-sherdin-art-gallery'\n      );\n\n\n    if(!gallery){\n      return;\n    }\n\n\n\n    function beginAfterFont(){\n\n\n      const intro =\n        createIntro();\n\n\n\n      function begin(){\n\n\n        if(\n          html.dataset.shGallerySequenceV8 === '1'\n        ){\n          return;\n        }\n\n\n        html.dataset.shGallerySequenceV8 =\n          '1';\n\n\n\n        \/* ===================================================\n           01 \u00b7 LOGO + MAIN MENU\n        =================================================== *\/\n\n        window.setTimeout(\n          function(){\n\n            html.classList.add(\n              'sh8-header-in'\n            );\n\n          },\n          900\n        );\n\n\n\n        \/* ===================================================\n           02 \u00b7 TEXT\n        =================================================== *\/\n\n        window.setTimeout(\n          function(){\n\n            if(intro){\n\n              intro.classList.add(\n                'is-in'\n              );\n\n            }\n\n          },\n          1450\n        );\n\n\n\n        \/* ===================================================\n           03 \u00b7 GALLERY MENU\n        =================================================== *\/\n\n        window.setTimeout(\n          function(){\n\n            html.classList.add(\n              'sh8-controls-in'\n            );\n\n          },\n          1700\n        );\n\n\n\n        \/* ===================================================\n           04 \u00b7 FOOTER\n        =================================================== *\/\n\n        window.setTimeout(\n          function(){\n\n            html.classList.add(\n              'sh8-footer-in'\n            );\n\n          },\n          2900\n        );\n\n\n\n        \/* ===================================================\n           05 \u00b7 TEXT OUT\n        =================================================== *\/\n\n        window.setTimeout(\n          function(){\n\n            if(!intro){\n              return;\n            }\n\n\n            intro.classList.remove(\n              'is-in'\n            );\n\n\n            intro.classList.add(\n              'is-out'\n            );\n\n          },\n          5550\n        );\n\n\n\n        \/* ===================================================\n           06 \u00b7 CLEANUP\n        =================================================== *\/\n\n        window.setTimeout(\n          function(){\n\n            if(intro){\n              intro.remove();\n            }\n\n          },\n          6800\n        );\n\n      }\n\n\n\n      \/* =====================================================\n         GALLERY SCHON READY\n      ===================================================== *\/\n\n      if(\n        html.classList.contains(\n          'sherdin-gallery-start-ready'\n        )\n      ){\n\n        requestAnimationFrame(\n          function(){\n\n            window.setTimeout(\n              begin,\n              1\n            );\n\n          }\n        );\n\n\n        return;\n      }\n\n\n\n      \/* =====================================================\n         AUF GALLERY READY WARTEN\n      ===================================================== *\/\n\n      const observer =\n        new MutationObserver(\n          function(){\n\n\n            if(\n              !html.classList.contains(\n                'sherdin-gallery-start-ready'\n              )\n            ){\n              return;\n            }\n\n\n            observer.disconnect();\n\n\n            requestAnimationFrame(\n              function(){\n\n                window.setTimeout(\n                  begin,\n                  1\n                );\n\n              }\n            );\n\n          }\n        );\n\n\n      observer.observe(\n        html,\n        {\n          attributes:true,\n          attributeFilter:[\n            'class'\n          ]\n        }\n      );\n\n    }\n\n\n\n    waitForPoppins(\n      beginAfterFont\n    );\n\n  }\n\n\n\n  \/* =========================================================\n     PAGE LOAD\n  ========================================================= *\/\n\n  if(\n    document.readyState ===\n    'complete'\n  ){\n\n    run();\n\n  }else{\n\n    window.addEventListener(\n      'load',\n      run,\n      {\n        once:true\n      }\n    );\n\n  }\n\n})();\n<\/script><\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_section_1 et_pb_section et_pb_section--absolute et_section_regular et_block_section\" id=\"footer01\"><div class=\"et_pb_row_1 et_pb_row et_block_row\"><div class=\"et_pb_column_1 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module sherdin-footer-module\"><div class=\"et_pb_text_inner\" data-et-mv-hidden-tablet=\"true\" data-et-mv-hidden-phone=\"true\"><p style=\"text-align: right;\"><span class=\"sherdin-footer\"><br \/>\u00a9\u2117 2026 Sasha Sherdin \u00b7 <a href=\"https:\/\/sherdin.art\">Sherdin Art<\/a> \u00b7 <a href=\"https:\/\/ill.berlin\" target=\"_blank\" rel=\"noopener noreferrer\">Ill Berlin<\/a> | <a href=\"\/imprint\/\">Privacy Policy<\/a> \u00b7 <a href=\"\/imprint\/\">Imprint<\/a><br \/><\/span><\/p>\n<\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_page_layout":"et_right_sidebar","_et_pb_side_nav":"off","footnotes":""},"class_list":["post-254978","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sherdin.de\/en\/wp-json\/wp\/v2\/pages\/254978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sherdin.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sherdin.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sherdin.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sherdin.de\/en\/wp-json\/wp\/v2\/comments?post=254978"}],"version-history":[{"count":598,"href":"https:\/\/sherdin.de\/en\/wp-json\/wp\/v2\/pages\/254978\/revisions"}],"predecessor-version":[{"id":258348,"href":"https:\/\/sherdin.de\/en\/wp-json\/wp\/v2\/pages\/254978\/revisions\/258348"}],"wp:attachment":[{"href":"https:\/\/sherdin.de\/en\/wp-json\/wp\/v2\/media?parent=254978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}