Messages
Ordered list of dispatched messages across all your buses
"Contao\CoreBundle\Messenger\Message\SearchIndexMessage" |
|
|---|---|
| Caller | In SearchIndexListener.php line |
| Bus | messenger.bus.default |
| Message | Contao\CoreBundle\Messenger\Message\SearchIndexMessage {#21704 -document: Contao\CoreBundle\Search\Document {#21703 -originalDocument: null -jsonLds: null -uri: Nyholm\Psr7\Uri {#21705 -scheme: "https" -userInfo: "" -host: "dls.c5.bargon.net" -port: null -path: "/ueber-uns/unser-handwerk" -query: "" -fragment: "" } -statusCode: 200 -headers: [ "cache-control" => [ "max-age=1800, private" ] "date" => [ "Sat, 04 Apr 2026 10:13:56 GMT" ] "content-type" => [ "text/html; charset=UTF-8" ] "x-cache-debug" => [ "1" ] "x-content-type-options" => [ "nosniff" ] "referrer-policy" => [ "no-referrer-when-downgrade, strict-origin-when-cross-origin" ] "permissions-policy" => [ "interest-cohort=()" ] "strict-transport-security" => [ "max-age=31536000" ] "x-cache-tags" => [ "contao.db.tl_module.39,contao.db.tl_module.40,contao.db.tl_page.68,contao.db.tl_page.48,contao.db.tl_page.49,contao.db.tl_page.50,contao.db.tl_page.18,contao.db.tl_page.60,contao.db.tl_page.101,contao.db.tl_page.5,contao.db.tl_page.45,contao.db.tl_page.46,contao.db.tl_page.75,contao.db.tl_page.47,contao.db.tl_page.61,contao.db.tl_page.71,contao.db.tl_page.38,contao.db.tl_page.14,contao.db.tl_page.15,contao.db.tl_page.16,contao.db.tl_page.17,contao.db.tl_page.43,contao.db.tl_page.44,contao.db.tl_page.6,contao.db.tl_page.77,contao.db.tl_page.69,contao.db.tl_page.70,contao.db.tl_page.76,contao.db.tl_page.3,contao.db.tl_module.91,contao.db.tl_module.86,contao.db.tl_form_field.37,contao.db.tl_form_field.83,contao.db.tl_form_field.38,contao.db.tl_form.2,contao.db.tl_module.67,contao.db.tl_article.52,contao.db.tl_content.442,contao.db.tl_article.79,contao.db.tl_content.635,contao.db.tl_content.452,contao.db.tl_content.640,contao.db.tl_content.637,contao.db.tl_content.453,contao.db.tl_content.638,contao.db.tl_article.95,contao.db.tl_content.641,contao.db.tl_module.57,contao.db.tl_article.94,contao.db.tl_content.639,contao.db.tl_content.454,contao.db.tl_content.455,contao.db.tl_content.456,contao.db.tl_content.457,contao.db.tl_content.458,contao.db.tl_content.459,contao.db.tl_content.460,contao.db.tl_content.636,contao.db.tl_article.107,contao.db.tl_content.739,contao.db.tl_content.740,contao.db.tl_content.741,contao.db.tl_content.742,contao.db.tl_content.743,contao.db.tl_content.744,contao.db.tl_content.745,contao.db.tl_content.746,contao.db.tl_content.747,contao.db.tl_content.748,contao.db.tl_module.94,contao.db.tl_article.219,contao.db.tl_content.2875,contao.db.tl_content.2870,contao.db.tl_content.2871,contao.db.tl_content.2872,contao.db.tl_content.2873,contao.db.tl_content.2874,contao.db.tl_content.2877,contao.db.tl_content.2876,contao.db.tl_content.2878,contao.db.tl_content.2879,contao.db.tl_page.1" ] "x-frame-options" => [ "SAMEORIGIN" ] "x-xss-protection" => [ "1; mode=block" ] "x-debug-token" => [ "827588" ] "x-debug-token-link" => [ "https://dls.c5.bargon.net/_profiler/827588" ] "x-robots-tag" => [ "noindex" ] ] -body: """ \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/frontend/fe_page.html5 -->\n <!DOCTYPE html>\n <html lang="de">\n <head>\n \n <meta charset="UTF-8">\n <title>Unser Handwerk - DLS Vollkorn-Mühlenbäckerei GmbH</title>\n <base href="https://dls.c5.bargon.net/">\n \n <meta name="robots" content="index,follow">\n <meta name="description" content="Das Bio-Vollkornmehl und -schrot für unsere Backwaren mahlen wir selbst in eigenen Mühlen. Mit Rücksicht auf Allergiker arbeiten wir mit verschiedenen Mühlen, in denen immer nur eine Sorte Getreide vermahlen wird.">\n <meta name="generator" content="Contao Open Source CMS">\n \n <link rel="canonical" href="https://dls.c5.bargon.net/ueber-uns/unser-handwerk">\n \n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <link rel="stylesheet" href="/bundles/rocksolidslider/css/rocksolid-slider.min.css?v=91e803dc"><link rel="stylesheet" href="/bundles/rocksolidslider/css/default-skin.min.css?v=91e803dc"><link rel="stylesheet" href="/assets/colorbox/css/colorbox.min.css?v=83af8d5b"><link rel="stylesheet" href="/assets/tablesorter/css/tablesorter.min.css?v=54af7ed9"><link rel="stylesheet" href="/assets/swipe/css/swipe.min.css?v=693e5985"><link rel="stylesheet" href="/files/template/css/animate.css?v=0ed69536"><link rel="stylesheet" href="/files/template/genericons/genericons.css?v=0ed69536"><link rel="stylesheet" href="/files/template/gylphicons/css/glyphicons.css?v=f752d113"><link rel="stylesheet" href="/assets/css/files_template_nutschell_nutshell.scss.css?v=b13f3554"><link rel="stylesheet" href="/files/template/stickyfooter/stickyfooter.css?v=b13f3554"><link rel="stylesheet" href="/files/template/superfish/css/superfish-base.css?v=c2e82606"><link rel="stylesheet" href="/files/template/superfish/css/superfish.css?v=c2e82606"><link rel="stylesheet" href="/files/template/Webfonts/Lato/lato.css?v=a8cf0e00"><link rel="stylesheet" href="/assets/css/files_template_redesign24_css_Catalog_Manager.scss.css?v=a937c135"><link rel="stylesheet" href="/files/template/redesign24/font/fontawsome/css/all.min.css?v=c6f0d1a0"><link rel="stylesheet" href="/files/template/redesign24/font/fontawsome/css/fontawesome.min.css?v=4d19a741"><link rel="stylesheet" href="/files/template/redesign24/font/fontawsome/css/regular.min.css?v=4d19a741"><link rel="stylesheet" href="/files/template/redesign24/font/fontawsome/css/solid.min.css?v=4d19a741"><link rel="stylesheet" href="/files/template/redesign24/font/fontawsome/css/svg-with-js.min.css?v=c6f0d1a0"><link rel="stylesheet" href="/files/template/redesign24/font/fontawsome/css/v4-shims.min.css?v=c6f0d1a0"><link rel="stylesheet" href="/assets/css/files_template_redesign24_css_Job_seite.scss.css?v=e0d54b4a"><link rel="stylesheet" href="/assets/css/files_template_redesign24_css_footer.scss.css?v=5e9441ed"><link rel="stylesheet" href="/files/template/css/images.css?v=d254393c"><link rel="stylesheet" href="/files/template/css/infoboxen.css?v=650e63b7"><link rel="stylesheet" href="/files/template/css/nav.css?v=35dcf5f4"><link rel="stylesheet" href="/files/template/css/print.css?v=50cc44a7"><link rel="stylesheet" href="/files/template/css/slider.css?v=50cc44a7"><link rel="stylesheet" href="/files/template/css/stoerer.css?v=cd53d694"><link rel="stylesheet" href="/files/template/css/storelocator.css?v=39a28d24"><link rel="stylesheet" href="/files/template/css/suche.css?v=39a28d24"><link rel="stylesheet" href="/files/template/css/template.css?v=bc56051d"><link rel="stylesheet" href="/files/template/css/typo.css?v=565db84e"><link rel="stylesheet" href="/files/template/css/media_query_suche.css?v=41b65082"><link rel="stylesheet" href="/files/template/css/ipad-landscape.css?v=1da9995b"><link rel="stylesheet" href="/files/template/css/ipad-portrai.css?v=30476927"><link rel="stylesheet" href="/files/template/css/mobile.css?v=58ace8c1"> <script src="/assets/jquery/js/jquery.min.js?v=2e868dd8"></script><script src="/bundles/rocksolidslider/js/rocksolid-slider.min.js?v=91e803dc"></script><meta name="google-site-verification" content="vCOjj0OiVboifZPL3zwe5WH5TKhOFiNNtVOo49vYriE" />\n <script src="files/template/stickyfooter/stickyfooter.js"></script>\n <script type="text/javascript" src="files/template/js/js/jquery.min.js"></script>\n <link rel="apple-touch-icon" sizes="144x144" href="files/template/favicon/apple-touch-icon.png">\n <link rel="icon" type="image/png" sizes="32x32" href="files/template/favicon/favicon-32x32.png">\n <link rel="icon" type="image/png" sizes="16x16" href="files/template/favicon/favicon-16x16.png">\n <link rel="manifest" href="files/template/favicon/site.webmanifest">\n <link rel="mask-icon" href="files/template/favicon/safari-pinned-tab.svg" color="#5bbad5">\n <link rel="shortcut icon" href="files/template/favicon/favicon.ico">\n <meta name="msapplication-TileColor" content="#da532c">\n <meta name="msapplication-config" content="files/template/favicon/browserconfig.xml">\n <meta name="theme-color" content="#ffffff">\n \n </head>\n <body id="top">\n \n \n <div id="wrapper">\n \n <header id="header">\n <div class="inside">\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div id="logolink">\n \t<a href="https://dls.c5.bargon.net/" title="zurück zur Startseite">\n \t\t<img src="files/template/img/Logo.png" alt="DLS Logo"/>\n \t</a>\n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="mainnav">\n \t<div class="nav-wrapper">\n \t<div class="nav-inside">\n \t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n <!-- indexer::stop -->\n <nav class="mod_navigation mainnav block">\n \n \n <a href="/ueber-uns/unser-handwerk#skipNavigation91" class="invisible">Navigation überspringen</a>\n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_1">\n <li class="submenu trail"><a href="/ueber-uns" title="Über DLS" class="submenu trail" aria-haspopup="true">Über uns</a>\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_2">\n <li class="sibling"><a href="/ueber-uns/nachhaltigkeit" title="Nachhaltigkeit" class="sibling">Nachhaltigkeit</a></li>\n <li class="sibling"><a href="/ueber-uns/unsere-verantwortung" title="Unsere Verantwortung" class="sibling">Unsere Verantwortung</a></li>\n <li class="img-100 sibling"><a href="/ueber-uns/unsere-qualitaet" title="Unsere Qualität" class="img-100 sibling">Unsere Qualität</a></li>\n <li class="active"><strong class="active" aria-current="page">Unser Handwerk</strong></li>\n <li class="sibling"><a href="/ueber-uns/zertifizierungen" title="Zertifizierungen" class="sibling">Zertifizierungen</a></li>\n <li class="ohne-kopfbild sibling"><a href="/ueber-uns/faq" title="FAQ - Kunden fragen DLS" class="ohne-kopfbild sibling">FAQ</a></li>\n <li class="karriere sibling"><a href="/karriere" title="Karriere" class="karriere sibling">Karriere</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n </li>\n <li class="submenu"><a href="/aktuelles" title="Aktuelles" class="submenu" aria-haspopup="true">Aktuelles</a>\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_2">\n <li class="ohne-kopfbild"><a href="/aktuelles/termine" title="Termine" class="ohne-kopfbild">Termine</a></li>\n <li class="ohne-kopfbild"><a href="/aktuelles/presse" title="Presse" class="ohne-kopfbild">Presse</a></li>\n <li class="ohne-kopfbild"><a href="/aktuelles/gewinnspiel" title="Gewinnspiel" class="ohne-kopfbild">Gewinnspiel</a></li>\n <li class="ohne-kopfbild"><a href="/aktuelles/frisch-aus-der-backstube" title="Frisch aus der Backstube" class="ohne-kopfbild">Frisch aus der Backstube</a></li>\n <li><a href="/aktuelles/dls-erleben" title="DLS erleben">DLS erleben</a></li>\n <li><a href="/ueber-uns/interview-mit-biobauer-juergen-becker" title="Interview mit Biobauer Jürgen Becker">Interview mit Biobauer Jürgen Becker</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n </li>\n <li class="submenu"><a href="/sortiment" title="Sortiment" class="submenu" aria-haspopup="true">Sortiment</a>\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_2">\n <li><a href="/sortiment/produktkategorien/brote" title="Brote">Brote</a></li>\n <li><a href="/sortiment/produktkategorien/broetchen" title="Brötchen">Brötchen</a></li>\n <li><a href="/sortiment/produktkategorien/kuchen" title="Kuchen">Kuchen</a></li>\n <li><a href="/sortiment/produktkategorien/dauergebaeck" title="Dauergebäck">Dauergebäck</a></li>\n <li><a href="/sortiment/snacks" title="Snacks">Teilchen & Snacks</a></li>\n <li><a href="/sortiment/saisonales" title="Saisonales">Saisonales</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n </li>\n <li class="img-100"><a href="/toasty" title="Toasty" class="img-100">Toasty</a></li>\n <li class="submenu ohne-kopfbild"><a href="/dls-vor-ort" title="DLS vor Ort" class="submenu ohne-kopfbild" aria-haspopup="true">DLS vor Ort</a>\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_2">\n <li class="ohne-kopfbild"><a href="/dls-vor-ort/standorte-dls-l%C3%A4den-m%C3%A4rkte" title="Standorte - DLS Läden und Märkte" class="ohne-kopfbild">Standorte - DLS Läden/Märkte</a></li>\n <li class="ohne-kopfbild"><a href="/standorte/standorte-partner-laeden" title="Standorte - Partner Läden" class="ohne-kopfbild">Standorte - Partner Läden</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n </li>\n <li class="kontakt"><a href="/kontakt" title="Kontakt" class="kontakt">Kontakt</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <span id="skipNavigation91" class="invisible"></span>\n \n </nav>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n \t</div>\n \t</div>\n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="search-icon" id="such-icon" onclick="javascript:show('search-form'); return false">\n \t<img src="files/template/img/search-white.svg">\n </div>\n <div style="display: none" id="search-form">\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/forms/form_wrapper.html5 -->\n \n <!-- indexer::stop -->\n <div class="ce_form block">\n \n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/forms/form_inline.html5 -->\n <form action="/suchergebnisse" method="get" enctype="application/x-www-form-urlencoded" id="search">\n <div class="formbody">\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/forms/form_text.html5 -->\n \n <div class="widget widget-text">\n \n \n <input type="text" name="keywords" id="ctrl_37" class="text" value="">\n </div>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/forms/form_text.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/forms/form_radio.html5 -->\n \n <div class="widget widget-radio">\n \n <fieldset id="ctrl_83" class="radio_container">\n \n \n \n \n <span><input type="radio" name="suchweiche" id="opt_83_0" class="radio" value="volltext" checked> <label id="lbl_83_0" for="opt_83_0">Volltextsuche</label></span>\n \n \n </fieldset>\n </div>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/forms/form_radio.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/forms/form_submit.html5 -->\n \n <div class="widget widget-submit">\n \n <button type="submit" id="ctrl_38" class="submit">Suchen</button>\n </div>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/forms/form_submit.html5 -->\n </div>\n </form>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/forms/form_inline.html5 -->\n \n </div>\n <!-- indexer::continue -->\n \n <script>\n document.currentScript.previousElementSibling.querySelector('form')?.addEventListener('submit', e => {\n // Prevent double form submission\n if (e.submitter) {\n setTimeout(() => e.submitter.disabled = true);\n setTimeout(() => e.submitter.disabled = false, 30000);\n }\n });\n </script>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/forms/form_wrapper.html5 -->\n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n </div>\n </header>\n \n \n <div id="container">\n \n <main id="main">\n <div class="inside">\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="facebook-link">\n \t<a href="https://www.facebook.com/ihredls/" title="zur Fanseite von DLS" target="_blank">\n \t\t<img src="files/content/icons/facebook-dls.png" alt="facebooklogo">\n \t</a>\n </div>\n <div class="Instragm-link">\n \t<a href="https://www.instagram.com/ihredls/" title="zur Instgramseite von DLS" target="_blank">\n \t\t<img src="files/content/icons/instagram_dls.png" alt="instagramlogo">\n \t</a>\n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n \n <div class="mod_article article--full kopfbild block" id="article-52">\n \n \n <div class="inside">\n \n \n <!-- TEMPLATE START: vendor/madeyourday/contao-rocksolid-slider/src/Resources/contao/templates/rsts_default.html5 -->\n <div class="mod_rocksolid_slider block">\n \n \t\t\t\n \t\n \t\n \t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="smilie-plätzchen">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/slilie_pl%C3%A4tzchen.jpg" width="1920" height="649" alt="" title="Spitzbuben werden hergestellt" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="Hörnchen rollen">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/hoernchen_rollen.jpg" width="1920" height="649" alt="" title="Croissants werden gerollt" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="iLoveYou">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/iloveu.jpg" width="1920" height="649" alt="" title="Backwaren verzieren" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="Zimtsterne">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/viele_zimtsterne.jpg" width="1920" height="649" alt="" title="Zimtsterne legen" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="rezept abhaken">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/rezept_abhaken.jpg" width="1920" height="649" alt="" title="ein Rezept abhaken" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="spritzen">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/spritzen.jpg" width="1920" height="649" alt="" title="Spritgebäck spritzen" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="teig kneten">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/teig_kneten.jpg" width="1920" height="649" alt="" title="Teig kneten" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="teig schneiden">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/teig_schneiden.jpg" width="1920" height="649" alt="" title="Teig schneiden" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\t\n \t\t\n \t\t\n \t\t\t\n \t\t\t<div data-rsts-type="image" data-rsts-name="Zimtsterne ausstechen">\n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/content/content_bilder/startseite/slider_startseite/zimtstern_ausstechen.jpg" width="1920" height="649" alt="" title="Zimtsterne ausstechen" data-rsts-scale-mode="crop" data-rsts-position="center">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\n \t\t\n \t\t\n \t\t</div>\n \n \t\t\n \t\n \t\n </div>\n \n <script>\n (function() {\n \n var sliderElement = [].slice.call(document.getElementsByClassName('mod_rocksolid_slider'), -1 )[0];\n \n if (window.jQuery && jQuery.fn.rstSlider) {\n \tinit();\n }\n else {\n \tdocument.addEventListener('DOMContentLoaded', init);\n }\n \n function init() {\n \n \tvar $ = jQuery;\n \tvar slider = $(sliderElement);\n \n \t\tslider.find('video[data-rsts-background], [data-rsts-type=video] video').each(function() {\n \t\t// Disable mejs for videos\n \t\tthis.player = true;\n \t});\n \t\n \tslider.rstSlider({"type":"slide","direction":"x","width":"css","height":"css","navType":"bullets","scaleMode":"fit","imagePosition":"center","centerContent":false,"random":true,"loop":true,"videoAutoplay":false,"autoplayProgress":true,"pauseAutoplayOnHover":true,"keyboard":true,"captions":false,"controls":true,"thumbControls":false,"combineNavItems":true,"autoplay":3500,"visibleAreaAlign":0.5,"gapSize":"0%"});\n \n \t\t// Fix missing lightbox links\n \t$(function() {\n \n \t\tif (!$.fn.colorbox) {\n \t\t\treturn;\n \t\t}\n \n \t\tvar lightboxConfig = {\n \t\t\t\t\t\tloop: false,\n \t\t\trel: function() {\n \t\t\t\treturn $(this).attr('data-lightbox');\n \t\t\t},\n \t\t\tmaxWidth: '95%',\n \t\t\tmaxHeight: '95%'\n \t\t\t\t\t};\n \n \t\t\n \t\tvar update = function(links) {\n \t\t\t\t\t\tlinks.colorbox(lightboxConfig);\n \t\t};\n \n \t\tslider.on('rsts-slidestart rsts-slidestop', function(event) {\n \t\t\tupdate(slider.find('a[data-lightbox]'));\n \t\t});\n \n \t\tupdate(slider.find('a[data-lightbox]'));\n \n \t});\n \t\n }\n \n })();\n </script>\n \n <!-- TEMPLATE END: vendor/madeyourday/contao-rocksolid-slider/src/Resources/contao/templates/rsts_default.html5 -->\n \n </div>\n </div>\n \n \n <!-- TEMPLATE END: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n <!-- TEMPLATE START: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n \n <div class="mod_article block" id="article-79">\n \n \n <div class="inside">\n \n \n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n \n <div class="row ce_rowStart">\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 ">\n \n \n \n <h1 class="content-headline">Unser Handwerk</h1>\n \n \n \n \n </div>\n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n </div>\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n \n <div class="row ce_rowStart">\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 ">\n \n \n <div class="image-border content-text media media--right"> \n <h2>Herstellung</h2>\n \n \n <figure>\n <picture>\n <source srcset="/assets/images/d/unser_handwerk_unser_handwerk-a10d3858.jpg 1x, /files/content/content_bilder/ueber_uns/unser_handwerk/unser_handwerk_unser_handwerk.jpg 2x" media="(max-width:979px)" width="300" height="200">\n <source srcset="/assets/images/b/unser_handwerk_unser_handwerk-523f44e1.jpg 1x, /files/content/content_bilder/ueber_uns/unser_handwerk/unser_handwerk_unser_handwerk.jpg 1.875x" media="(min-width:980px)" width="320" height="213">\n <source srcset="/assets/images/d/unser_handwerk_unser_handwerk-04ap5ard176v21c.jpg 1x, /files/content/content_bilder/ueber_uns/unser_handwerk/unser_handwerk_unser_handwerk.jpg 1.667x" media="(min-width:1050px)" width="360" height="239">\n \n <img src="/files/content/content_bilder/ueber_uns/unser_handwerk/unser_handwerk_unser_handwerk.jpg" alt width="600" height="399">\n \n </picture>\n \n \n \n </figure>\n \n \n <div class="rte">\n <p>Das Bio-Vollkornmehl und -schrot für unsere Brote und Backwaren mahlen wir selbst mit eigenen Mühlen. Dazu verfügen wir über einen separaten Raum, in dem zehn Zentrofan-Mühlen arbeiten. Mit Natursteinen aus Basalt-Lava aus der Eifel vermahlen die Mühlen auf schonendste Weise ohne Erhitzung das ganze Korn inklusive Randschichten und Keimling. Es entsteht ein lockeres, backstarkes Mehl, das alle Mineralstoffe, Vitamine und Ballaststoffe des vollen Getreides enthält.</p>\n <p>Mit Rücksicht auf Allergiker arbeiten wir mit verschiedenen Mühlen, in denen jeweils immer nur eine Sorte Getreide vermahlen wird. So garantieren wir, dass zum Beispiel ein reines Dinkelbrot keinerlei Spuren anderer Getreidesorten enthält. Menschen, die gegen Weizen und/oder Roggen allergisch sind, finden bei uns daher viele Produkte, die sie ohne Bedenken genießen können.</p>\n <p>Die Mühle für den Vollkornreis - ein wichtiger Bestandteil unserer glutenfreien Brote - steht in einem separaten Raum. Damit stellen wir sicher, dass diese Brote garantiert frei von Gluten sind.</p>\n <p>Dank der handwerklichen Fertigkeiten eines Meisterbetriebes brauchen wir keine industriellen Backhilfsmittel und Zusatzstoffe. Stattdessen arbeiten wir mit einem hohen Maß an Sorgfalt, Zeit und Geduld. Nach diesen Prinzipien und mit Hilfe traditioneller Arten der Teigführung backen wir Brote für verschiedene Bedürfnisse und Geschmacksvorlieben.</p>\n </div>\n \n </div>\n \n \n \n </div>\n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n </div>\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n </div>\n </div>\n \n \n <!-- TEMPLATE END: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n <!-- TEMPLATE START: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n \n <div class="mod_article article--full bildstreifen block" id="article-95">\n \n \n <div class="inside">\n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_randomImage.html5 -->\n \n <!-- indexer::stop -->\n <div class="mod_randomImage block">\n \n \n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/image/image.html5 -->\n \n <figure class="image_container">\n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n <picture>\n <source srcset="/assets/images/7/trenner_unser_handwerk-6a190b6f.jpg 1x, /files/content/content_bilder/ueber_uns/unser_handwerk/trenner_unser_handwerk.jpg 1.006x" media="(min-width:1450px)" width="1908" height="645">\n <source srcset="/assets/images/f/trenner_unser_handwerk-cda91c51.jpg 1x, /assets/images/7/trenner_unser_handwerk-b2cf419d.jpg 1.026x" media="(min-width:1000px)" width="1685" height="600">\n <source srcset="/assets/images/8/trenner_unser_handwerk-82ea8826.jpg" media="(min-width:800px)" width="1345" height="548">\n <source srcset="/assets/images/8/trenner_unser_handwerk-fb396352.jpg" media="(min-width:600px)" width="1153" height="515">\n <source srcset="/assets/images/h/trenner_unser_handwerk-v1amwk5ynxv2pfe.jpg 1x, /assets/images/b/trenner_unser_handwerk-17a9c528.jpg 1.069x" media="(min-width:200px)" width="899" height="450">\n \n <img src="/files/content/content_bilder/ueber_uns/unser_handwerk/trenner_unser_handwerk.jpg" width="1920" height="649" alt="" title="Handwerk Bäckerrei">\n \n </picture>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n </figure>\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/image/image.html5 -->\n \n \n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_randomImage.html5 -->\n \n </div>\n </div>\n \n \n <!-- TEMPLATE END: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n <!-- TEMPLATE START: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n \n <div class="mod_article block" id="article-94">\n \n \n <div class="inside">\n \n \n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n \n <div class="row ce_rowStart">\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n \n <section class="ce_accordionSingle ce_accordion ce_text block">\n \n <div class="toggler">\n Reine Hefebrote </div>\n \n <div class="accordion">\n <div>\n <p>sind leichte, leckere und besonders bekömmliche Brote. Unsere Hefebrote und Brötchen backen wir nur mit frischer Bio-Hefe. Sie enthalten keine weiteren Lockerungsmittel.</p> \n \n </div>\n </div>\n \n </section>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n </div><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n \n <section class="ce_accordionSingle ce_accordion ce_text block">\n \n <div class="toggler">\n Reine Sauerteigbrote </div>\n \n <div class="accordion">\n <div>\n <p>schmecken deftig, herzhaft und bestehen zu 100 Prozent aus Roggenmehl. Wir stellen diese Brote ausschließlich mit hauseigenem Natursauer her. Den erzeugen wir selbst in einer dreistufigen Teigführung über einen Zeitraum von 24 Stunden. Dabei schaffen wir über die Temperatur, das Verhältnis von Mehl zu Wasser und den pH-Wert optimale Bedingungen für die Gärung. Selbstverständlich enthalten unsere Sauerteigbrote weder Hefe noch Altbrot.</p> \n \n </div>\n </div>\n \n </section>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n </div><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n \n <section class="ce_accordionSingle ce_accordion ce_text block">\n \n <div class="toggler">\n Reine Backfermentbrote </div>\n \n <div class="accordion">\n <div>\n <p>sind leicht gesäuerte Brote ohne Zusatz von Hefe. Backferment ist ein Mittel zur Teiglockerung, das ähnlich wie Sauerteig auf der Milchsäuregärung beruht. Die beteiligten Mikroorganismen sorgen dafür, dass unsere Backfermentbrote leicht verdaulich sind. Wir stellen sie in einem zweistufigen Backferment-Verfahren nach dem Anthroposophen Hugo Erbe her.</p> \n \n </div>\n </div>\n \n </section>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n </div><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n \n <section class="ce_accordionSingle ce_accordion ce_text block">\n \n <div class="toggler">\n Mischbrote </div>\n \n <div class="accordion">\n <div>\n <p>gehören zu den beliebtesten Brotsorten im Rheinland. Sie enthalten oft Roggen und Weizen in unterschiedlichen Anteilen, aber auch Dinkel, Emmer, Kamut oder andere Getreidearten. Manche unserer Mischbrote backen wir mit Hilfe von Natursauer, andere mit Backferment und Hefe. So entstehen durch die Mischbrotführung Brote für jeden Geschmack: von mild bis kräftig, von locker bis kompakt.</p> \n \n </div>\n </div>\n \n </section>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n </div><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n \n <section class="ce_accordionSingle ce_accordion ce_text block">\n \n <div class="toggler">\n Spontangärungsbrote </div>\n \n <div class="accordion">\n <div>\n <p>sind Spezialitäten, die nur Wasser, Honig, Salz und Dinkel (DinkelHonigSalzbrot) bzw. Dinkel und Hirse (Dinkel-Hirsebrot), enthalten. Die Führung eines Honig-Salzteiges verlangt großes handwerkliches Können. Durch langes Kneten und sorgfältige Gärung über 24 Stunden gelingt es uns, dieses wohlschmeckende und voll aufgeschlossene Brot ausschließlich mit Hilfe von Honig und Salz herzustellen. Es enthält keine Lockerungsmittel wie Hefe, Natursauer oder Backferment.</p> \n \n </div>\n </div>\n \n </section>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n </div><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n \n <section class="ce_accordionSingle ce_accordion ce_text block">\n \n <div class="toggler">\n Langzeit-Hefeteigführung </div>\n \n <div class="accordion">\n <div>\n <p>Für diese Art der Hefeteigführung setzen wir den kompletten Teig am Vortag mit einer sehr kleinen Menge Hefe an. Am nächsten Tag schöpfen wir den Teig von Hand, formen Brote oder Baguettes daraus und lassen diese eine weitere Stunde gären, bevor sie in den Ofen kommen. Durch diese Teigführung erhalten unsere MühlenBrote und MühlenBaguettes ihre typisch grobporige, lockere Struktur und plastische Krume. Diese Weißbrot-Spezialitäten bleiben sogar bis zu fünf Tage lang frisch.</p> \n \n </div>\n </div>\n \n </section>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n </div><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n \n <section class="ce_accordionSingle ce_accordion ce_text block">\n \n <div class="toggler">\n Französische Baguette-Teigführung </div>\n \n <div class="accordion">\n <div>\n <p>Diese traditionelle Teigführung ist sehr aufwändig und genau auf das französische Baguette abgestimmt. Sie beginnt mit einem Vorteig, der bereits alle Zutaten enthält. Er wird über mehrere Stunden nach einer speziellen Technik bearbeitet. Dann werden die Baguettes von Hand geformt und in Gärtücher gelegt bis sie in den heißen Ofen geschoben werden können.</p> \n \n </div>\n </div>\n \n </section>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/elements/ce_accordionSingle.html5 -->\n </div>\n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n </div>\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n </div>\n </div>\n \n \n <!-- TEMPLATE END: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n <!-- TEMPLATE START: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n \n <div class="mod_article article--full stoerer animated block" id="article-107">\n \n \n <div class="inside">\n \n \n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n \n <div class="row ce_rowStart article-inside">\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n \n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_colStart.html5 -->\n <div class="ce_columns ce_colStart col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 ">\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_colStart.html5 -->\n <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 ">\n \n \n <div class="stoerer-bild image-border content-image"> \n <figure>\n <a href="/ueber-uns/zertifizierungen"> <picture>\n <source srcset="/assets/images/7/RoggenEmmerBrot-25f83c4d.jpg 1x, /files/content/content_bilder/stoerer_alt/RoggenEmmerBrot.jpg 1.5x" media="(max-width:979px)" width="400" height="300">\n <source srcset="/assets/images/e/RoggenEmmerBrot-7db8dff0.jpg 1x, /files/content/content_bilder/stoerer_alt/RoggenEmmerBrot.jpg 1.06x" media="(min-width:980px)" width="566" height="425">\n \n <img src="/files/content/content_bilder/stoerer_alt/RoggenEmmerBrot.jpg" alt width="600" height="450">\n \n </picture>\n \n \n </a>\n \n </figure>\n </div>\n \n \n \n </div>\n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_colEnd.html5 -->\n \n </div>\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_colEnd.html5 -->\n \n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_colStart.html5 -->\n <div class="ce_columns ce_colStart col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 stoerer-text text-rechts">\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_colStart.html5 -->\n <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 ">\n \n \n \n <h3 class="stoerer-heading content-headline">Zertifizierte Qualität</h3>\n \n \n \n \n </div><div class="col-xs-12 col-sm-12 col-md-11 col-lg-11 col-xl-11 offset-md-1 offset-lg-1 offset-xl-1 ">\n \n \n <div class="content-text"> \n \n \n <div class="rte">\n <p>Unser Ziel ist die Herstellung von Brot und Backwaren bester Qualität. Um das zu garantieren, lassen wir unseren Betrieb und unsere Produkte regelmäßig zertifizieren</p>\n </div>\n \n </div>\n \n \n \n </div><div class="col-xs-12 col-sm-12 col-md-11 col-lg-11 col-xl-11 offset-md-1 offset-lg-1 offset-xl-1 ">\n \n \n <div class="btn btn--primary content-hyperlink"> \n <a href="/ueber-uns/zertifizierungen">mehr</a> </div>\n \n \n \n </div>\n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_colEnd.html5 -->\n \n </div>\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_colEnd.html5 -->\n \n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n </div>\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n </div>\n </div>\n \n \n <!-- TEMPLATE END: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n </div>\n </main>\n \n \n \n </div>\n \n \n <footer id="footer">\n <div class="inside">\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n \n \n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n \n <div class="row ce_rowStart flex-row">\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowStart.html5 -->\n <div class="col-xs-12 col-sm-4 col-md-3 col-lg-1 ">\n \n \n <div class="content-image"> \n <figure>\n <img src="/files/template/redesign24/img/Logo.svg" alt width="76" height="144">\n \n \n \n </figure>\n </div>\n \n \n \n </div> <div class="footer-social col-xs-12 col-sm-4 col-md-3 col-lg-1">\n \t<h5>Social</h5>\n \t<div class="social-icon">\n \t\t<a href="https://www.facebook.com/ihredls/" target="_blank">\n \t\t\t<i class="fab fa-facebook"></i>\n \t\t</a>\n \t</div>\n \t<div class="social-icon">\n \t\t<a href="https://www.instagram.com/ihredls/" target="_blank">\n \t\t\t<i class="fab fa-instagram"></i>\n \t\t</a>\n \t</div>\n </div><div class="col-xs-12 col-sm-4 col-md-3 col-lg-2 ">\n \n \n <div class="pl-1 content-text"> \n <h5>Sortiment</h5>\n \n \n \n \n <div class="rte">\n <p><a href="/sortiment/produktkategorien/brote">Brote</a><br><a href="/sortiment/produktkategorien/broetchen">Brötchen</a><br><a href="/sortiment/produktkategorien/kuchen">Kuchen</a><br><a href="/sortiment/saisonales">Saison</a></p>\n </div>\n \n </div>\n \n \n \n </div><div class="col-xs-12 col-sm-4 col-md-3 col-lg-2 ">\n \n \n <div class="content-text"> \n <h5>Partner</h5>\n \n \n \n \n <div class="rte">\n <p><a href="/downloads">Partner Infos</a><br><a href="/downloads">Partner Login</a><br><a href="/downloads">Partner Downloads</a></p>\n </div>\n \n </div>\n \n \n \n </div><div class="col-xs-12 col-sm-4 col-md-3 col-lg-2 ">\n \n \n <div class="content-text"> \n <h5>Handwerk</h5>\n \n \n \n \n <div class="rte">\n <p><a href="/ueber-uns">Über DLS</a><br><a href="/karriere">Karriere</a><br><a href="/ueber-uns/nachhaltigkeit">Nachhaltigkeit</a><br><a href="/ueber-uns/unsere-verantwortung">Verantwortung</a></p>\n </div>\n \n </div>\n \n \n \n </div><div class="col-xs-12 col-sm-4 col-md-3 col-lg-2 ">\n \n \n <div class="content-text"> \n <h5>Standorte</h5>\n \n \n \n \n <div class="rte">\n <p><a href="/dls-vor-ort/standorte-dls-l%C3%A4den-m%C3%A4rkte">DLS Filialen</a><br><a href="/standorte/standorte-partner-laeden">Partnermärkte</a><br><a href="/dls-vor-ort/standorte-dls-l%C3%A4den-m%C3%A4rkte">Ökomärkte</a><br><br></p>\n </div>\n \n </div>\n \n \n \n </div>\n <!-- TEMPLATE START: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n \n </div>\n \n <!-- TEMPLATE END: vendor/erdmannfreunde/contao-grid-bundle/contao/templates/ce_rowEnd.html5 -->\n <div class="col-xs-12 ">\n \n \n <div class="footer-gally content-gallery content-gallery--cols-5"> \n \n \n <ul>\n <li> <figure>\n <a target="_blank" href="ueber-uns/zertifizierungen.html"> <img src="/files/template/redesign24/img/demeter_logo.svg" alt width="115" height="53" loading="lazy">\n \n \n </a>\n \n </figure>\n </li>\n <li> <figure>\n <a target="_blank" href="ueber-uns/zertifizierungen.html"> <picture>\n <source srcset="/assets/images/e/Logo_OG-ab38c03f.webp 1x, /assets/images/4/Logo_OG-cd986ee8.webp 4.988x, /assets/images/7/Logo_OG-73138399.webp 2x" type="image/webp" width="85" height="85">\n \n <img src="/assets/images/e/Logo_OG-b02b1bc9.png" alt srcset="/assets/images/e/Logo_OG-b02b1bc9.png 1x, /assets/images/b/Logo_OG-3dc43c83.png 4.988x, /assets/images/a/Logo_OG-d10bc55f.png 2x" width="85" height="85" loading="lazy">\n \n </picture>\n \n \n </a>\n \n </figure>\n </li>\n <li> <figure>\n <a target="_blank" href="ueber-uns/zertifizierungen.html"> <picture>\n <source srcset="/assets/images/d/bio_eu-e3c4d15a.webp 1x, /assets/images/1/bio_eu-82d11f4d.webp 1.471x" type="image/webp" width="170" height="85">\n \n <img src="/assets/images/8/bio_eu-a159cde7.png" alt srcset="/assets/images/8/bio_eu-a159cde7.png 1x, /files/template/redesign24/img/bio_eu.png 1.471x" width="170" height="85" loading="lazy">\n \n </picture>\n \n \n </a>\n \n </figure>\n </li>\n <li> <figure>\n <a target="_blank" href="ueber-uns/zertifizierungen.html"> <picture>\n <source srcset="/assets/images/6/fairbio-db064047.webp 1x, /assets/images/1/fairbio-331b0666.webp 5x, /assets/images/e/fairbio-6e1dadae.webp 2x" type="image/webp" width="93" height="85">\n \n <img src="/assets/images/9/fairbio-0e5138c0.png" alt srcset="/assets/images/9/fairbio-0e5138c0.png 1x, /assets/images/5/fairbio-f6c09985.png 5x, /assets/images/4/fairbio-e298759e.png 2x" width="93" height="85" loading="lazy">\n \n </picture>\n \n \n </a>\n \n </figure>\n </li>\n <li> <figure>\n <a href="/files/content/content_bilder/ueber_uns/zertifizierungen/sfd-unterstuetzer-2024-logo-rahmen-160px.jpg" data-lightbox="lb2878"> <picture>\n <source srcset="/assets/images/7/sfd-unterstuetzer-2024-logo-rahmen-160px-fc883bb8.webp 1x, /assets/images/b/sfd-unterstuetzer-2024-logo-rahmen-160px-cc56d560.webp 1.882x" type="image/webp" width="85" height="85">\n \n <img src="/assets/images/2/sfd-unterstuetzer-2024-logo-rahmen-160px-ca139e7f.jpg" alt srcset="/assets/images/2/sfd-unterstuetzer-2024-logo-rahmen-160px-ca139e7f.jpg 1x, /files/content/content_bilder/ueber_uns/zertifizierungen/sfd-unterstuetzer-2024-logo-rahmen-160px.jpg 1.882x" width="85" height="85" loading="lazy">\n \n </picture>\n \n \n </a>\n \n </figure>\n </li>\n </ul>\n \n \n </div>\n \n \n \n </div><div class="col-xs-12 ">\n \n \n <div class="center content-text"> \n \n \n <div class="rte">\n <p>© DLS Vollkorn Mühlenbäckerei | <a href="/impressum">Impressum</a> | <a href="/datenschutz">Datenschutz</a></p>\n </div>\n \n </div>\n \n \n \n </div> \n \n <!-- TEMPLATE END: vendor/heart-bits/contao-article-backgrounds-bundle/src/Resources/contao/templates/mod_article.html5 -->\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n </div>\n </footer>\n \n </div>\n \n \n \n <!-- TEMPLATE START: templates/j_accordion.html5 -->\n \r\n <script src="/assets/jquery-ui/js/jquery-ui.min.js?v=1.13.2"></script>\r\n <script>\r\n jQuery(function($) {\r\n $(document).accordion({\r\n // Put custom options here\r\n heightStyle: 'content',\r\n header: '.toggler',\r\n active: false,\r\n collapsible: true,\r\n create: function(event, ui) {\r\n ui.header.addClass('active');\r\n $('.toggler').attr('tabindex', 0);\r\n },\r\n activate: function(event, ui) {\r\n ui.newHeader.addClass('active');\r\n ui.oldHeader.removeClass('active');\r\n $('.toggler').attr('tabindex', 0);\r\n }\r\n });\r\n });\r\n </script>\r\n \n <!-- TEMPLATE END: templates/j_accordion.html5 -->\n \n <!-- TEMPLATE START: templates/j_colorbox.html5 -->\n \r\n <script src="/assets/colorbox/js/colorbox.min.js?v=1.6.4.2"></script>\r\n <script>\r\n jQuery(function($) {\r\n $('a[data-lightbox]').map(function() {\r\n $(this).colorbox({\r\n // Put custom options here\r\n loop: false,\r\n rel: $(this).attr('data-lightbox'),\r\n current: "Bild {current} von {total}",\r\n maxWidth: '95%',\r\n maxHeight: '95%'\r\n });\r\n });\r\n });\r\n </script>\r\n \n <!-- TEMPLATE END: templates/j_colorbox.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/jquery/j_tablesort.html5 -->\n \n <script src="/assets/tablesorter/js/tablesorter.min.js?v=2.31.3.1"></script>\n <script>\n jQuery(function($) {\n $('.ce_table .sortable').each(function(i, table) {\n var attr = $(table).attr('data-sort-default'),\n opts = {}, s;\n \n if (attr) {\n s = attr.split('|');\n opts = { sortList: [[s[0], s[1] == 'desc' | 0]] };\n }\n \n $(table).tablesorter(opts);\n });\n });\n </script>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/jquery/j_tablesort.html5 -->\n \n <!-- TEMPLATE START: templates/j_masonary.html5 -->\n <script>\r\n /*!\r\n * Masonry PACKAGED v4.1.1\r\n * Cascading grid layout library\r\n * http://masonry.desandro.com\r\n * MIT License\r\n * by David DeSandro\r\n */\r\n \r\n !function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r.isBoxSizeOuter=s=200==t(o.width),i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,E=a.borderTopWidth+a.borderBottomWidth,z=d&&s,b=t(r.width);b!==!1&&(a.width=b+(z?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(z?0:g+E)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+E),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i||100)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?t():document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var r=i.toDashed(o),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+"-options",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r)}catch(a){return void(n&&n.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,i);l&&l.data(t,o,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=this.layout.size,s=-1!=n.indexOf("%")?parseFloat(n)/100*r.width:parseInt(n,10),a=-1!=o.indexOf("%")?parseFloat(o)/100*r.height:parseInt(o,10);s=isNaN(s)?0:s,a=isNaN(a)?0:a,s-=e?r.paddingLeft:r.paddingRight,a-=i?r.paddingTop:r.paddingBottom,this.position.x=s,this.position.y=a},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",d=n?"bottom":"top",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),r=parseInt(e,10),s=o===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return void this.layoutPosition();var a=t-i,h=e-n,u={};u.transform=this.getTranslate(a,h),this.transition({to:u,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(f)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");return i.compatOptions.fitWidth="isFitWidth",i.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0},i.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},i.prototype.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this._getColGroup(n),r=Math.min.apply(Math,o),s=o.indexOf(r),a={x:this.columnWidth*s,y:r},h=r+t.size.outerHeight,u=this.cols+1-o.length,d=0;u>d;d++)this.colYs[s+d]=h;return a},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});/*!\r\n * Masonry PACKAGED v4.1.1\r\n * Cascading grid layout library\r\n * http://masonry.desandro.com\r\n * MIT License\r\n * by David DeSandro\r\n */\r\n \r\n !function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r.isBoxSizeOuter=s=200==t(o.width),i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,E=a.borderTopWidth+a.borderBottomWidth,z=d&&s,b=t(r.width);b!==!1&&(a.width=b+(z?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(z?0:g+E)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+E),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i||100)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?t():document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var r=i.toDashed(o),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+"-options",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r)}catch(a){return void(n&&n.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,i);l&&l.data(t,o,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=this.layout.size,s=-1!=n.indexOf("%")?parseFloat(n)/100*r.width:parseInt(n,10),a=-1!=o.indexOf("%")?parseFloat(o)/100*r.height:parseInt(o,10);s=isNaN(s)?0:s,a=isNaN(a)?0:a,s-=e?r.paddingLeft:r.paddingRight,a-=i?r.paddingTop:r.paddingBottom,this.position.x=s,this.position.y=a},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",d=n?"bottom":"top",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),r=parseInt(e,10),s=o===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return void this.layoutPosition();var a=t-i,h=e-n,u={};u.transform=this.getTranslate(a,h),this.transition({to:u,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(f)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");return i.compatOptions.fitWidth="isFitWidth",i.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0},i.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},i.prototype.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this._getColGroup(n),r=Math.min.apply(Math,o),s=o.indexOf(r),a={x:this.columnWidth*s,y:r},h=r+t.size.outerHeight,u=this.cols+1-o.length,d=0;u>d;d++)this.colYs[s+d]=h;return a},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});\r\n </script>\n <!-- TEMPLATE END: templates/j_masonary.html5 -->\n \n <!-- TEMPLATE START: templates/j_hoverintent.html5 -->\n <script>/**\r\n * hoverIntent is similar to jQuery's built-in "hover" method except that\r\n * instead of firing the handlerIn function immediately, hoverIntent checks\r\n * to see if the user's mouse has slowed down (beneath the sensitivity\r\n * threshold) before firing the event. The handlerOut function is only\r\n * called after a matching handlerIn.\r\n *\r\n * hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+\r\n * http://cherne.net/brian/resources/jquery.hoverIntent.html\r\n *\r\n * You may use hoverIntent under the terms of the MIT license. Basically that\r\n * means you are free to use hoverIntent as long as this header is left intact.\r\n * Copyright 2007, 2013 Brian Cherne\r\n *\r\n * // basic usage ... just like .hover()\r\n * .hoverIntent( handlerIn, handlerOut )\r\n * .hoverIntent( handlerInOut )\r\n *\r\n * // basic usage ... with event delegation!\r\n * .hoverIntent( handlerIn, handlerOut, selector )\r\n * .hoverIntent( handlerInOut, selector )\r\n *\r\n * // using a basic configuration object\r\n * .hoverIntent( config )\r\n *\r\n * @param handlerIn function OR configuration object\r\n * @param handlerOut function OR selector for delegation OR undefined\r\n * @param selector selector OR undefined\r\n * @author Brian Cherne <brian(at)cherne(dot)net>\r\n **/\r\n (function($) {\r\n $.fn.hoverIntent = function(handlerIn,handlerOut,selector) {\r\n \r\n // default configuration values\r\n var cfg = {\r\n interval: 100,\r\n sensitivity: 7,\r\n timeout: 0\r\n };\r\n \r\n if ( typeof handlerIn === "object" ) {\r\n cfg = $.extend(cfg, handlerIn );\r\n } else if ($.isFunction(handlerOut)) {\r\n cfg = $.extend(cfg, { over: handlerIn, out: handlerOut, selector: selector } );\r\n } else {\r\n cfg = $.extend(cfg, { over: handlerIn, out: handlerIn, selector: handlerOut } );\r\n }\r\n \r\n // instantiate variables\r\n // cX, cY = current X and Y position of mouse, updated by mousemove event\r\n // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval\r\n var cX, cY, pX, pY;\r\n \r\n // A private function for getting mouse position\r\n var track = function(ev) {\r\n cX = ev.pageX;\r\n cY = ev.pageY;\r\n };\r\n \r\n // A private function for comparing current and previous mouse position\r\n var compare = function(ev,ob) {\r\n ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);\r\n // compare mouse positions to see if they've crossed the threshold\r\n if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {\r\n $(ob).off("mousemove.hoverIntent",track);\r\n // set hoverIntent state to true (so mouseOut can be called)\r\n ob.hoverIntent_s = 1;\r\n return cfg.over.apply(ob,[ev]);\r\n } else {\r\n // set previous coordinates for next time\r\n pX = cX; pY = cY;\r\n // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)\r\n ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );\r\n }\r\n };\r\n \r\n // A private function for delaying the mouseOut function\r\n var delay = function(ev,ob) {\r\n ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);\r\n ob.hoverIntent_s = 0;\r\n return cfg.out.apply(ob,[ev]);\r\n };\r\n \r\n // A private function for handling mouse 'hovering'\r\n var handleHover = function(e) {\r\n // copy objects to be passed into t (required for event object to be passed in IE)\r\n var ev = jQuery.extend({},e);\r\n var ob = this;\r\n \r\n // cancel hoverIntent timer if it exists\r\n if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }\r\n \r\n // if e.type == "mouseenter"\r\n if (e.type == "mouseenter") {\r\n // set "previous" X and Y position based on initial entry point\r\n pX = ev.pageX; pY = ev.pageY;\r\n // update "current" X and Y position based on mousemove\r\n $(ob).on("mousemove.hoverIntent",track);\r\n // start polling interval (self-calling timeout) to compare mouse coordinates over time\r\n if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}\r\n \r\n // else e.type == "mouseleave"\r\n } else {\r\n // unbind expensive mousemove event\r\n $(ob).off("mousemove.hoverIntent",track);\r\n // if hoverIntent state is true, then call the mouseOut function after the specified delay\r\n if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}\r\n }\r\n };\r\n \r\n // listen for mouseenter and mouseleave\r\n return this.on({'mouseenter.hoverIntent':handleHover,'mouseleave.hoverIntent':handleHover}, cfg.selector);\r\n };\r\n })(jQuery);\r\n </script>\n <!-- TEMPLATE END: templates/j_hoverintent.html5 -->\n \n <!-- TEMPLATE START: templates/j_superfish.html5 -->\n <script>\r\n superfish/*\r\n * jQuery Superfish Menu Plugin - v1.7.7\r\n * Copyright (c) 2015\r\n *\r\n * Dual licensed under the MIT and GPL licenses:\r\n *\thttp://www.opensource.org/licenses/mit-license.php\r\n *\thttp://www.gnu.org/licenses/gpl.html\r\n */\r\n \r\n ;(function ($, w) {\r\n "use strict";\r\n \r\n var methods = (function () {\r\n // private properties and methods go here\r\n var c = {\r\n bcClass: 'sf-breadcrumb',\r\n menuClass: 'sf-js-enabled',\r\n anchorClass: 'sf-with-ul',\r\n menuArrowClass: 'sf-arrows'\r\n },\r\n ios = (function () {\r\n var ios = /^(?![\w\W]*Windows Phone)[\w\W]*(iPhone|iPad|iPod)/i.test(navigator.userAgent);\r\n if (ios) {\r\n // tap anywhere on iOS to unfocus a submenu\r\n $('html').css('cursor', 'pointer').on('click', $.noop);\r\n }\r\n return ios;\r\n })(),\r\n wp7 = (function () {\r\n var style = document.documentElement.style;\r\n return ('behavior' in style && 'fill' in style && /iemobile/i.test(navigator.userAgent));\r\n })(),\r\n unprefixedPointerEvents = (function () {\r\n return (!!w.PointerEvent);\r\n })(),\r\n toggleMenuClasses = function ($menu, o) {\r\n var classes = c.menuClass;\r\n if (o.cssArrows) {\r\n classes += ' ' + c.menuArrowClass;\r\n }\r\n $menu.toggleClass(classes);\r\n },\r\n setPathToCurrent = function ($menu, o) {\r\n return $menu.find('li.' + o.pathClass).slice(0, o.pathLevels)\r\n .addClass(o.hoverClass + ' ' + c.bcClass)\r\n .filter(function () {\r\n return ($(this).children(o.popUpSelector).hide().show().length);\r\n }).removeClass(o.pathClass);\r\n },\r\n toggleAnchorClass = function ($li) {\r\n $li.children('a').toggleClass(c.anchorClass);\r\n $li.children('span.active').toggleClass(c.anchorClass);\r\n },\r\n toggleTouchAction = function ($menu) {\r\n var msTouchAction = $menu.css('ms-touch-action');\r\n var touchAction = $menu.css('touch-action');\r\n touchAction = touchAction || msTouchAction;\r\n touchAction = (touchAction === 'pan-y') ? 'auto' : 'pan-y';\r\n $menu.css({\r\n 'ms-touch-action': touchAction,\r\n 'touch-action': touchAction\r\n });\r\n },\r\n applyHandlers = function ($menu, o) {\r\n var targets = 'li:has(' + o.popUpSelector + ')';\r\n if ($.fn.hoverIntent && !o.disableHI) {\r\n $menu.hoverIntent(over, out, targets);\r\n }\r\n else {\r\n $menu\r\n .on('mouseenter.superfish', targets, over)\r\n .on('mouseleave.superfish', targets, out);\r\n }\r\n var touchevent = 'MSPointerDown.superfish';\r\n if (unprefixedPointerEvents) {\r\n touchevent = 'pointerdown.superfish';\r\n }\r\n if (!ios) {\r\n touchevent += ' touchend.superfish';\r\n }\r\n if (wp7) {\r\n touchevent += ' mousedown.superfish';\r\n }\r\n $menu\r\n .on('focusin.superfish', 'li', over)\r\n .on('focusout.superfish', 'li', out)\r\n .on(touchevent, 'a', o, touchHandler)\r\n .on(touchevent, 'span.active', o, touchHandler);\r\n },\r\n touchHandler = function (e) {\r\n var $this = $(this),\r\n o = getOptions($this),\r\n $ul = $this.siblings(e.data.popUpSelector);\r\n \r\n if (o.onHandleTouch.call($ul) === false) {\r\n return this;\r\n }\r\n \r\n if ($ul.length > 0 && $ul.is(':hidden')) {\r\n $this.one('click.superfish', false);\r\n if (e.type === 'MSPointerDown' || e.type === 'pointerdown') {\r\n $this.trigger('focus');\r\n } else {\r\n $.proxy(over, $this.parent('li'))();\r\n }\r\n }\r\n },\r\n over = function () {\r\n var $this = $(this),\r\n o = getOptions($this);\r\n clearTimeout(o.sfTimer);\r\n $this.siblings().superfish('hide').end().superfish('show');\r\n },\r\n out = function () {\r\n var $this = $(this),\r\n o = getOptions($this);\r\n if (ios) {\r\n $.proxy(close, $this, o)();\r\n }\r\n else {\r\n clearTimeout(o.sfTimer);\r\n o.sfTimer = setTimeout($.proxy(close, $this, o), o.delay);\r\n }\r\n },\r\n close = function (o) {\r\n o.retainPath = ($.inArray(this[0], o.$path) > -1);\r\n this.superfish('hide');\r\n \r\n if (!this.parents('.' + o.hoverClass).length) {\r\n o.onIdle.call(getMenu(this));\r\n if (o.$path.length) {\r\n $.proxy(over, o.$path)();\r\n }\r\n }\r\n },\r\n getMenu = function ($el) {\r\n return $el.closest('.' + c.menuClass);\r\n },\r\n getOptions = function ($el) {\r\n return getMenu($el).data('sf-options');\r\n };\r\n \r\n return {\r\n // public methods\r\n hide: function (instant) {\r\n if (this.length) {\r\n var $this = this,\r\n o = getOptions($this);\r\n if (!o) {\r\n return this;\r\n }\r\n var not = (o.retainPath === true) ? o.$path : '',\r\n $ul = $this.find('li.' + o.hoverClass).add(this).not(not).removeClass(o.hoverClass).children(o.popUpSelector),\r\n speed = o.speedOut;\r\n \r\n if (instant) {\r\n $ul.show();\r\n speed = 0;\r\n }\r\n o.retainPath = false;\r\n \r\n if (o.onBeforeHide.call($ul) === false) {\r\n return this;\r\n }\r\n \r\n $ul.stop(true, true).animate(o.animationOut, speed, function () {\r\n var $this = $(this);\r\n o.onHide.call($this);\r\n });\r\n }\r\n return this;\r\n },\r\n show: function () {\r\n var o = getOptions(this);\r\n if (!o) {\r\n return this;\r\n }\r\n var $this = this.addClass(o.hoverClass),\r\n $ul = $this.children(o.popUpSelector);\r\n \r\n if (o.onBeforeShow.call($ul) === false) {\r\n return this;\r\n }\r\n \r\n $ul.stop(true, true).animate(o.animation, o.speed, function () {\r\n o.onShow.call($ul);\r\n });\r\n return this;\r\n },\r\n destroy: function () {\r\n return this.each(function () {\r\n var $this = $(this),\r\n o = $this.data('sf-options'),\r\n $hasPopUp;\r\n if (!o) {\r\n return false;\r\n }\r\n $hasPopUp = $this.find(o.popUpSelector).parent('li');\r\n clearTimeout(o.sfTimer);\r\n toggleMenuClasses($this, o);\r\n toggleAnchorClass($hasPopUp);\r\n toggleTouchAction($this);\r\n // remove event handlers\r\n $this.off('.superfish').off('.hoverIntent');\r\n // clear animation's inline display style\r\n $hasPopUp.children(o.popUpSelector).attr('style', function (i, style) {\r\n return style.replace(/display[^;]+;?/g, '');\r\n });\r\n // reset 'current' path classes\r\n o.$path.removeClass(o.hoverClass + ' ' + c.bcClass).addClass(o.pathClass);\r\n $this.find('.' + o.hoverClass).removeClass(o.hoverClass);\r\n o.onDestroy.call($this);\r\n $this.removeData('sf-options');\r\n });\r\n },\r\n init: function (op) {\r\n return this.each(function () {\r\n var $this = $(this);\r\n if ($this.data('sf-options')) {\r\n return false;\r\n }\r\n var o = $.extend({}, $.fn.superfish.defaults, op),\r\n $hasPopUp = $this.find(o.popUpSelector).parent('li');\r\n o.$path = setPathToCurrent($this, o);\r\n \r\n $this.data('sf-options', o);\r\n \r\n toggleMenuClasses($this, o);\r\n toggleAnchorClass($hasPopUp);\r\n toggleTouchAction($this);\r\n applyHandlers($this, o);\r\n \r\n $hasPopUp.not('.' + c.bcClass).superfish('hide', true);\r\n \r\n o.onInit.call(this);\r\n });\r\n }\r\n };\r\n })();\r\n \r\n $.fn.superfish = function (method, args) {\r\n if (methods[method]) {\r\n return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));\r\n }\r\n else if (typeof method === 'object' || ! method) {\r\n return methods.init.apply(this, arguments);\r\n }\r\n else {\r\n return $.error('Method ' + method + ' does not exist on jQuery.fn.superfish');\r\n }\r\n };\r\n \r\n $.fn.superfish.defaults = {\r\n popUpSelector: 'ul,.sf-mega', // within menu context\r\n hoverClass: 'sfHover',\r\n pathClass: 'overrideThisToUse',\r\n pathLevels: 1,\r\n delay: 800,\r\n animation: {opacity: 'show'},\r\n animationOut: {opacity: 'hide'},\r\n speed: 'normal',\r\n speedOut: 'slow',\r\n cssArrows: false,\r\n disableHI: false,\r\n onInit: $.noop,\r\n onBeforeShow: $.noop,\r\n onShow: $.noop,\r\n onBeforeHide: $.noop,\r\n onHide: $.noop,\r\n onIdle: $.noop,\r\n onDestroy: $.noop,\r\n onHandleTouch: $.noop\r\n };\r\n \r\n })(jQuery, window);\r\n </script>\n <!-- TEMPLATE END: templates/j_superfish.html5 -->\n \n <!-- TEMPLATE START: templates/j_supersubs.html5 -->\n <script>\r\n /*\r\n * Supersubs v0.3b - jQuery plugin\r\n * Copyright (c) 2013 Joel Birch\r\n *\r\n * Dual licensed under the MIT and GPL licenses:\r\n * \thttp://www.opensource.org/licenses/mit-license.php\r\n * \thttp://www.gnu.org/licenses/gpl.html\r\n *\r\n *\r\n * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of\r\n * their longest list item children. If you use this, please expect bugs and report them\r\n * to the jQuery Google Group with the word 'Superfish' in the subject line.\r\n *\r\n */\r\n \r\n ;(function($){ // $ will refer to jQuery within this closure\r\n \r\n \t$.fn.supersubs = function(options){\r\n \t\tvar opts = $.extend({}, $.fn.supersubs.defaults, options);\r\n \t\t// return original object to support chaining\r\n \t\treturn this.each(function() {\r\n \t\t\t// cache selections\r\n \t\t\tvar $$ = $(this);\r\n \t\t\t// support metadata\r\n \t\t\tvar o = $.meta ? $.extend({}, opts, $$.data()) : opts;\r\n \t\t\t// cache all ul elements and show them in preparation for measurements\r\n \t\t\tvar $ULs = $$.find('ul').show();\r\n \t\t\t// get the font size of menu.\r\n \t\t\t// .css('fontSize') returns various results cross-browser, so measure an em dash instead\r\n \t\t\tvar fontsize = $('<li id="menu-fontsize">—</li>').css({\r\n \t\t\t\t'padding' : 0,\r\n \t\t\t\t'position' : 'absolute',\r\n \t\t\t\t'top' : '-999em',\r\n \t\t\t\t'width' : 'auto'\r\n \t\t\t}).appendTo($$)[0].clientWidth; //clientWidth is faster than .width()\r\n \t\t\t// remove em dash\r\n \t\t\t$('#menu-fontsize').remove();\r\n \t\t\t// loop through each ul in menu\r\n \t\t\t$ULs.each(function(i) {\t\r\n \t\t\t\t// cache this ul\r\n \t\t\t\tvar $ul = $(this);\r\n \t\t\t\t// get all (li) children of this ul\r\n \t\t\t\tvar $LIs = $ul.children();\r\n \t\t\t\t// get all anchor grand-children\r\n \t\t\t\tvar $As = $LIs.children('a');\r\n \t\t\t\t// force content to one line and save current float property\r\n \t\t\t\tvar liFloat = $LIs.css('white-space','nowrap').css('float');\r\n \t\t\t\t// remove width restrictions and floats so elements remain vertically stacked\r\n \t\t\t\t$ul.add($LIs).add($As).css({\r\n \t\t\t\t\t'float' : 'none',\r\n \t\t\t\t\t'width'\t: 'auto'\r\n \t\t\t\t});\r\n \t\t\t\t// this ul will now be shrink-wrapped to longest li due to position:absolute\r\n \t\t\t\t// so save its width as ems.\r\n \t\t\t\tvar emWidth = $ul[0].clientWidth / fontsize;\r\n \t\t\t\t// add more width to ensure lines don't turn over at certain sizes in various browsers\r\n \t\t\t\temWidth += o.extraWidth;\r\n \t\t\t\t// restrict to at least minWidth and at most maxWidth\r\n \t\t\t\tif (emWidth > o.maxWidth)\t\t{ emWidth = o.maxWidth; }\r\n \t\t\t\telse if (emWidth < o.minWidth)\t{ emWidth = o.minWidth; }\r\n \t\t\t\temWidth += 'em';\r\n \t\t\t\t// set ul to width in ems\r\n \t\t\t\t$ul.css('width',emWidth);\r\n \t\t\t\t// restore li floats to avoid IE bugs\r\n \t\t\t\t// set li width to full width of this ul\r\n \t\t\t\t// revert white-space to normal\r\n \t\t\t\t$LIs.css({\r\n \t\t\t\t\t'float' : liFloat,\r\n \t\t\t\t\t'width' : '100%',\r\n \t\t\t\t\t'white-space' : 'normal'\r\n \t\t\t\t})\r\n \t\t\t\t// update offset position of descendant ul to reflect new width of parent.\r\n \t\t\t\t// set it to 100% in case it isn't already set to this in the CSS\r\n \t\t\t\t.each(function(){\r\n \t\t\t\t\tvar $childUl = $(this).children('ul');\r\n \t\t\t\t\tvar offsetDirection = $childUl.css('left') !== undefined ? 'left' : 'right';\r\n \t\t\t\t\t$childUl.css(offsetDirection,'100%');\r\n \t\t\t\t});\r\n \t\t\t}).hide();\r\n \t\t\t\r\n \t\t});\r\n \t};\r\n \t// expose defaults\r\n \t$.fn.supersubs.defaults = {\r\n \t\tminWidth\t\t: 9,\t\t// requires em unit.\r\n \t\tmaxWidth\t\t: 25,\t\t// requires em unit.\r\n \t\textraWidth\t\t: 0\t\t\t// extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values\r\n \t};\r\n \t\r\n })(jQuery); // plugin code ends\r\n </script>\n <!-- TEMPLATE END: templates/j_supersubs.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/js/js_autofocus.html5 -->\n \n <script>\n (function() {\n var p = document.querySelector('p.error') || document.querySelector('p.confirm');\n if (p) {\n p.scrollIntoView();\n }\n })();\n </script>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/js/js_autofocus.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/js/js_slider.html5 -->\n \n <script src="/assets/swipe/js/swipe.min.js?v=2.2.2"></script>\n <script>\n (function() {\n var e = document.querySelectorAll('.content-slider, .slider-control'), c, i;\n for (i=0; i<e.length; i+=2) {\n c = e[i].getAttribute('data-config').split(',');\n new Swipe(e[i], {\n // Put custom options here\n 'auto': parseInt(c[0]),\n 'speed': parseInt(c[1]),\n 'startSlide': parseInt(c[2]),\n 'continuous': parseInt(c[3]),\n 'menu': e[i+1]\n });\n }\n })();\n </script>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/js/js_slider.html5 -->\n \n <script type="text/javascript" src="files/template/js/animate.js"></script>\n <script type="text/javascript" src="files/template/stickyfooter/stickyfooter.js"></script>\n <script>\n /* Toggle between adding and removing the "active" and "show" classes when the user clicks on one of the "Section" buttons. The "active" class is used to add a background color to the current button when its belonging panel is open. The "show" class is used to open the specific accordion panel */\n var acc = document.getElementsByClassName("accordion");\n var i;\n \n for (i = 0; i < acc.length; i++) {\n acc[i].onclick = function(){\n this.classList.toggle("active");\n this.nextElementSibling.classList.toggle("show");\n }\n }\n \n </script>\n <script type="text/javascript">\n try {\n window.onscroll = setNavPosition;\n }\n catch(e) {\n document.documentElement.onscroll = setNavPosition;\n }\n \n function setNavPosition(){\n $('.produkt-filter').stop();\n try {\n if (document.body.scrollTop > document.documentElement.scrollTop) {\n var targetPosition = document.body.scrollTop;\n }\n else {\n var targetPosition = document.documentElement.scrollTop;\n }\n }\n catch(e) {\n var targetPosition = document.documentElement.scrollTop;\n }\n if (document.body.scrollTop > 450 || document.documentElement.scrollTop > 450) {\n $('.produkt-filter').animate({top: targetPosition+15}, 500);\n }\n else{\n \t$('.produkt-filter').animate({top:455}, 500);\n }\n }\n \n </script>\n <script>\n \t//Scroll to Top link einblenden\n $(document).ready(function() {\n $('.to-top').hide();\n $(window).scroll(function(){\n var value = 200;\n var scrolling = $(window).scrollTop();\n if (scrolling > value) {\n $('.to-top').fadeIn();\n } else {\n $('.to-top').fadeOut();\n }\n });\n $('.to-top').click(function(){\n $('html, body').animate({scrollTop:'0px'}, 1000);\n return false;\n });\n });\n \n </script>\n \n <script>\n \t//masonary\n \t$('.grid').masonry({\n itemSelector: '.grid-item',\n columnWidth: 320,\n isFitWidth: true\n });\n </script>\n \n <script>\n function show(id) {\n if(document.getElementById) {\n var mydiv = document.getElementById(id);\n mydiv.style.display = (mydiv.style.display=='block'?'none':'block');\n }\n }\n </script>\n \n <script>\n \t(function($) {\n \t\t$('#search input.radio').click(function() {\n \t\t\tlet $this = $(this);\n \t\t\tlet action = '';\n \t\t\t\n \t\t\tif ($this.attr('value') == 'produkt') {\n \t\t\t\taction = 'sortiment.html';\n \t\t\t} else {\n \t\t\t\taction = 'suchergebnisse.html';\t\n \t\t\t}\n \t\t\t\n \t\t\t$this.parents('form').attr('action', action);\n \t\t});\n \t})(jQuery);\n </script>\n \n <script>\n \t(function($) {\n \t\t$(document).ready(function(){\n \t$( "#such-button").click(function() {\n $( "#search-form").toggle();\n });\n \n });\n \t})(jQuery);\n </script>\n \n <div id="thumbnail" class="invisible" style="position: absolute; float: left; z-index: 1000;"><img style="max-height: 150px; max-width: 150px;" src="" /></div>\n \n <script>\n $(document).bind('mousemove', function(e){\n $('#thumbnail').css({\n left: e.pageX + 20,\n top: e.pageY\n });\n });\n </script>\n <script type="application/ld+json">\n {\n "@context": "https:\/\/schema.org",\n "@graph": [\n {\n "@type": "WebPage"\n },\n {\n "@id": "#\/schema\/image\/a0fa9515-c215-11e6-b371-001c42000273",\n "@type": "ImageObject",\n "contentUrl": "\/files\/content\/content_bilder\/ueber_uns\/unser_handwerk\/unser_handwerk_unser_handwerk.jpg"\n },\n {\n "@id": "#\/schema\/image\/a0fa9525-c215-11e6-b371-001c42000273",\n "@type": "ImageObject",\n "contentUrl": "\/files\/content\/content_bilder\/ueber_uns\/unser_handwerk\/trenner_unser_handwerk.jpg",\n "name": "Handwerk Bäckerrei"\n },\n {\n "@id": "#\/schema\/image\/36596142-9056-11e6-8044-001c42000273",\n "@type": "ImageObject",\n "contentUrl": "\/files\/content\/content_bilder\/stoerer_alt\/RoggenEmmerBrot.jpg"\n },\n {\n "@id": "#\/schema\/image\/ae717905-69d3-11ee-881f-8ada7f861d63",\n "@type": "ImageObject",\n "contentUrl": "\/files\/template\/redesign24\/img\/Logo.svg"\n },\n {\n "@id": "#\/schema\/image\/b78cff80-69d3-11ee-881f-8ada7f861d63",\n "@type": "ImageObject",\n "contentUrl": "\/files\/template\/redesign24\/img\/demeter_logo.svg"\n },\n {\n "@id": "#\/schema\/image\/3085492b-845e-11ee-8ea4-8ada7f861d63",\n "@type": "ImageObject",\n "contentUrl": "\/assets\/images\/e\/Logo_OG-b02b1bc9.png"\n },\n {\n "@id": "#\/schema\/image\/256667a4-845e-11ee-8ea4-8ada7f861d63",\n "@type": "ImageObject",\n "contentUrl": "\/assets\/images\/8\/bio_eu-a159cde7.png"\n },\n {\n "@id": "#\/schema\/image\/79ebb7f5-e1e1-11ee-bd59-8ada7f861d63",\n "@type": "ImageObject",\n "contentUrl": "\/assets\/images\/9\/fairbio-0e5138c0.png"\n },\n {\n "@id": "#\/schema\/image\/c51f4d73-42ab-11ef-88ab-8ada7f861d63",\n "@type": "ImageObject",\n "contentUrl": "\/assets\/images\/2\/sfd-unterstuetzer-2024-logo-rahmen-160px-ca139e7f.jpg"\n }\n ]\n }\n </script>\n <script type="application/ld+json">\n {\n "@context": "https:\/\/schema.contao.org",\n "@graph": [\n {\n "@type": "Page",\n "fePreview": false,\n "groups": [],\n "noSearch": false,\n "pageId": 50,\n "protected": false,\n "title": "Unser Handwerk"\n }\n ]\n }\n </script>\n <div id="sfwdt827588" class="sf-toolbar sf-display-none" role="region" aria-label="Symfony Web Debug Toolbar"> <!-- START of Symfony Web Debug Toolbar --><div id="sfMiniToolbar-827588" class="sf-minitoolbar" data-no-turbolink data-turbo="false"> <button type="button" title="Show Symfony toolbar" id="sfToolbarMiniToggler-827588" accesskey="D" aria-expanded="false" aria-controls="sfToolbarMainContent-827588"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z"/></svg> </button></div><div id="sfToolbarClearer-827588" class="sf-toolbar-clearer"></div><div id="sfToolbarMainContent-827588" class="sf-toolbarreset notranslate clear-fix" data-no-turbolink data-turbo="false"> <div class="sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal " > <a href="https://dls.c5.bargon.net/_profiler/827588?panel=request"> <div class="sf-toolbar-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z"/></svg> <span class="sf-toolbar-value sf-toolbar-ajax-request-counter"> Loading… </span> </div> </a> <div class="sf-toolbar-info"> <div class="sf-toolbar-info-piece"> <b>Loading the web debug toolbar…</b> </div> <div class="sf-toolbar-info-piece"> Attempt #<span id="sfLoadCounter-827588"></span> </div> <div class="sf-toolbar-info-piece"> <b> <button class="sf-cancel-button" type="button" id="sfLoadCancel-827588" title="Cancel loading">Cancel</button> </b> </div> </div></div> <button class="hide-button" type="button" id="sfToolbarHideButton-827588" title="Close Toolbar" accesskey="D" aria-expanded="true" aria-controls="sfToolbarMainContent-827588"> <svg xmlns="http://www.w3.org/2000/svg" data-icon-name="icon-tabler-x" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <line x1="18" y1="6" x2="6" y2="18"></line> <line x1="6" y1="6" x2="18" y2="18"></line></svg> </button></div><!-- END of Symfony Web Debug Toolbar --></div><style nonce="86d7de21448d7ade14ba361ad27af992"> .sf-toolbarreset { --sf-toolbar-font-family-system: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --sf-toolbar-font-family-monospace: "Ubuntu Mono", "JetBrains Mono", ui-monospace, "Roboto Mono", SFMono-Regular, Menlo, Monaco, Consolas,"Liberation Mono", "Courier New", monospace; --sf-toolbar-white: #fff; --sf-toolbar-black: #000; --sf-toolbar-gray-50: #fafafa; --sf-toolbar-gray-100: #f5f5f5; --sf-toolbar-gray-200: #e5e5e5; --sf-toolbar-gray-300: #d4d4d4; --sf-toolbar-gray-400: #a3a3a3; --sf-toolbar-gray-500: #737373; --sf-toolbar-gray-600: #525252; --sf-toolbar-gray-700: #404040; --sf-toolbar-gray-800: #262626; --sf-toolbar-gray-900: #171717; --sf-toolbar-red-50: #FEFBFC; --sf-toolbar-red-100: #FCE9ED; --sf-toolbar-red-200: #F5B8C5; --sf-toolbar-red-300: #EF869C; --sf-toolbar-red-400: #E85574; --sf-toolbar-red-500: #E1244B; --sf-toolbar-red-600: #B41939; --sf-toolbar-red-700: #83122A; --sf-toolbar-red-800: #510B1A; --sf-toolbar-red-900: #20040A; --sf-toolbar-yellow-50: #fef7e1; --sf-toolbar-yellow-100: #fef2cd; --sf-toolbar-yellow-200: #fde496; --sf-toolbar-yellow-300: #fcd55f; --sf-toolbar-yellow-400: #fbc728; --sf-toolbar-yellow-500: #e6af05; --sf-toolbar-yellow-600: #af8503; --sf-toolbar-yellow-700: #785b02; --sf-toolbar-yellow-800: #413101; --sf-toolbar-yellow-900: #0a0800; --sf-toolbar-green-50: #eff5f5; --sf-toolbar-green-100: #deeaea; --sf-toolbar-green-200: #bbd5d5; --sf-toolbar-green-300: #99bfbf; --sf-toolbar-green-400: #76a9a9; --sf-toolbar-green-500: #598e8e; --sf-toolbar-green-600: #436c6c; --sf-toolbar-green-700: #2e4949; --sf-toolbar-green-800: #182727; --sf-toolbar-green-900: #030404;}.sf-minitoolbar { --sf-toolbar-gray-800: #262626; background-color: var(--sf-toolbar-gray-800); border-top-left-radius: 4px; bottom: 0; box-sizing: border-box; display: none; height: 36px; padding: 6px; position: fixed; right: 0; z-index: 99999;}.sf-minitoolbar button { background-color: transparent; padding: 0; border: none;}.sf-minitoolbar svg,.sf-minitoolbar img { --sf-toolbar-gray-200: #e5e5e5; color: var(--sf-toolbar-gray-200); max-height: 24px; max-width: 24px; display: inline;}.sf-toolbar-clearer { clear: both; height: 36px;}.sf-display-none { display: none;}.sf-toolbarreset *:not(svg rect) { box-sizing: content-box; vertical-align: baseline; letter-spacing: normal; width: auto;}.sf-toolbarreset { background-color: var(--sf-toolbar-gray-800); bottom: 0; box-shadow: inset 0 1px 0 var(--sf-toolbar-black), 0 -1px 0 rgba(0, 0, 0, 0.5); color: var(--sf-toolbar-gray-200); font: 11px var(--sf-toolbar-font-family-system); left: 0; margin: 0; padding: 0 36px 0 0; position: fixed; right: 0; text-align: left; text-transform: none; z-index: 99999; direction: ltr; /* neutralize the aliasing defined by external CSS styles */ -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;}.sf-toolbarreset abbr { border: dashed var(--sf-toolbar-gray-500); border-width: 0 0 1px;}.sf-toolbarreset svg,.sf-toolbarreset img { height: 20px; width: 20px; display: inline-block;}.sf-toolbarreset .sf-cancel-button { color: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-300); display: block; position: absolute; top: 2px; right: 0; width: 36px; height: 34px; cursor: pointer; text-align: center; border: none; margin: 0; padding: 0;}.sf-toolbarreset .hide-button:hover { background: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button svg { max-height: 18px; margin-top: 1px;}.sf-toolbar-block { cursor: default; display: block; float: left; height: 36px; margin-right: 0; position: relative; white-space: nowrap; max-width: 15%;}.sf-toolbar-block > a,.sf-toolbar-block > a:hover { display: block; text-decoration: none; background-color: transparent; color: inherit;}.sf-toolbar-block span { display: inline-block;}.sf-toolbar-block .sf-toolbar-value { color: var(--sf-toolbar-gray-100); font-size: 13px; line-height: 36px; padding: 0;}.sf-toolbar-block .sf-toolbar-label,.sf-toolbar-block .sf-toolbar-class-separator { color: var(--sf-toolbar-gray-400); font-size: 12px; margin-left: 2px;}.sf-toolbar-block .sf-toolbar-info { border-collapse: collapse; display: table; z-index: 100000;}.sf-toolbar-block hr { border-top: 1px solid var(--sf-toolbar-gray-500); margin: 4px 0; padding-top: 4px;}.sf-toolbar-block .sf-toolbar-info-piece { /* this 'border-bottom' trick is needed because 'margin-bottom' doesn't work for table rows */ border-bottom: solid transparent 3px; display: table-row;}.sf-toolbar-block .sf-toolbar-info-piece-additional,.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: none;}.sf-toolbar-block .sf-toolbar-info-group { margin-bottom: 4px; padding-bottom: 2px; border-bottom: 1px solid #333333;}.sf-toolbar-block .sf-toolbar-info-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { border-radius: 4px; padding: 2px 5px; margin-bottom: 0;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status + .sf-toolbar-status { margin-left: 4px;}.sf-toolbar-block .sf-toolbar-info-piece:last-child { margin-bottom: 0;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece a { color: #99CDD8; text-decoration: underline;}div.sf-toolbar .sf-toolbar-block a:hover { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info-piece b { color: var(--sf-toolbar-gray-400); display: table-cell; font-size: 11px; padding: 4px 8px 4px 0;}.sf-toolbar-block:not(.sf-toolbar-block-dump) .sf-toolbar-info-piece span { color: var(--sf-toolbar-gray-100);}.sf-toolbar-block .sf-toolbar-info-piece span { font-size: 12px;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece.sf-toolbar-info-php-ext a { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info { background-color: var(--sf-toolbar-gray-700); border-radius: 4px; border-bottom-left-radius: 0; bottom: 36px; color: var(--sf-toolbar-gray-100); display: none; padding: 9px 0; position: absolute;}.sf-toolbar-block.sf-toolbar-block-right .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0;}.sf-toolbar-block .sf-toolbar-info:empty { visibility: hidden;}.sf-toolbar-block .sf-toolbar-status { display: inline-block; color: var(--sf-toolbar-white); background-color: var(--sf-toolbar-gray-600); padding: 3px 6px; margin: 0 4px; min-width: 15px; min-height: 13px; text-align: center;}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-green,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-green { background-color: #059669; color: var(--white);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-red,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-red { background-color: var(--sf-toolbar-red-500); color: var(--sf-toolbar-red-50);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-yellow,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); color: var(--sf-toolbar-yellow-800);}.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block.sf-toolbar-status-yellow::before { background: var(--sf-toolbar-yellow-400); border-radius: 6px; content: ''; position: absolute; bottom: 1px; left: 0; width: 98%; height: 3px; z-index: 10005;}.sf-toolbar-block.sf-toolbar-status-red::before { background: var(--sf-toolbar-red-400);}.sf-toolbar-block.sf-toolbar-status-green::before { background: var(--sf-toolbar-green-400);}.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-yellow::before { display: none;}.sf-toolbar-block-request .sf-toolbar-status { border-radius: 6px; color: #fff; display: inline-block; flex-shrink: 0; font-size: 13px; font-weight: 500; padding: 4px 8px;}.sf-toolbar-block-request .sf-toolbar-info-piece a { background-color: transparent; text-decoration: none;}.sf-toolbar-block-request .sf-toolbar-info-piece a:hover { text-decoration: underline;}.sf-toolbar-block-request .sf-toolbar-redirection-status { font-weight: normal; padding: 2px 4px; line-height: 18px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-redirection-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); border-radius: 4px; color: var(--sf-toolbar-yellow-800); padding: 1px 4px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-info-piece .sf-toolbar-redirection-method { background: transparent; color: var(--sf-toolbar-gray-300); border: 1px solid var(--sf-toolbar-gray-400); padding: 1px 4px;}.sf-toolbar-block-request .sf-toolbar-info-piece span.sf-toolbar-redirection-method { font-size: 12px; height: 17px; line-height: 17px; margin-right: 5px;}.sf-toolbar-block-request .sf-toolbar-request-icon svg { stroke-width: 3px;}.sf-toolbar-block-ajax .sf-toolbar-icon { cursor: pointer;}.sf-toolbar-status-green .sf-toolbar-label,.sf-toolbar-status-yellow .sf-toolbar-label,.sf-toolbar-status-red .sf-toolbar-label { color: var(--sf-toolbar-white);}.sf-toolbar-block-config svg path,.sf-toolbar-block-config svg .sf-svg-path { fill: var(--sf-toolbar-white);}.sf-toolbar-block .sf-toolbar-icon { color: var(--sf-toolbar-gray-300); align-items: center; display: flex; height: 36px; padding: 0 7px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-block:hover .sf-toolbar-icon { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block.sf-toolbar-block-right:hover .sf-toolbar-icon { box-shadow: -1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0;}.sf-toolbar-block .sf-toolbar-icon img,.sf-toolbar-block .sf-toolbar-icon svg { border-width: 0;}.sf-toolbar-block .sf-toolbar-icon img + span,.sf-toolbar-block .sf-toolbar-icon svg + span { margin-left: 4px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-value,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-value { margin-left: 5px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-label { margin-left: 0;}.sf-toolbar-block:hover,.sf-toolbar-block.hover { position: relative;}.sf-toolbar-block:hover .sf-toolbar-icon,.sf-toolbar-block.hover .sf-toolbar-icon { background-color: var(--sf-toolbar-gray-700); position: relative; z-index: 10002;}.sf-toolbar-block-ajax.hover .sf-toolbar-info { z-index: 10001;}.sf-toolbar-block:hover .sf-toolbar-info,.sf-toolbar-block.hover .sf-toolbar-info { display: block; padding: 10px; max-width: 525px; max-height: 480px; word-wrap: break-word; overflow: hidden; overflow-y: auto;}.sf-toolbar-info-piece b.sf-toolbar-ajax-info { color: var(--sf-toolbar-gray-100);}.sf-toolbar-ajax-requests { border: 1px solid var(--sf-toolbar-gray-500); font-variant: tabular-nums; margin: 5px 0 0; width: 100%;}.sf-toolbar-ajax-requests td { background-color: var(--sf-toolbar-gray-700); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-100); font-size: 12px; padding: 4px; vertical-align: middle;}.sf-toolbar-ajax-requests thead { border: 0;}.sf-toolbar-ajax-requests th { background-color: var(--sf-toolbar-gray-800); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-200); font-size: 11px; padding: 4px;}.sf-ajax-request-url { max-width: 250px; line-height: 9px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-ajax-requests .sf-ajax-request-url a { text-decoration: none;}.sf-toolbar-ajax-requests .sf-ajax-request-url a:hover { text-decoration: underline;}.sf-ajax-request-duration { text-align: right;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-ajax-requests .sf-toolbar-status { font-size: 11px; padding: 1px 3px;}.sf-ajax-request-loading { animation: sf-blink .5s ease-in-out infinite;}@keyframes sf-blink { 0% { background: var(--sf-toolbar-gray-800); } 50% { background: var(--sf-toolbar-gray-700); } 100% { background: var(--sf-toolbar-gray-800); }}.sf-toolbar-block.sf-toolbar-block-dump .sf-toolbar-info { max-width: none; width: 100%; position: fixed; box-sizing: border-box; left: 0;}.sf-toolbar-block-dump pre.sf-dump { background-color: var(--sf-toolbar-gray-800); border-color: var(--sf-toolbar-gray-500); border-radius: 0; margin: 6px 0 12px 0;}.sf-toolbar-block-dump pre.sf-dump:last-child { margin-bottom: 0;}.sf-toolbar-block-dump pre.sf-dump .sf-dump-search-wrapper { margin-bottom: 5px;}.sf-toolbar-block-dump pre.sf-dump span.sf-dump-search-count { color: #333; font-size: 12px;}.sf-toolbar-block-dump .sf-toolbar-info-piece { display: block;}.sf-toolbar-block-dump .sf-toolbar-info-piece .sf-toolbar-file-line { color: var(--sf-toolbar-gray-400); margin-left: 4px;}.sf-toolbar-block-dump .sf-toolbar-info img { display: none;}.sf-toolbar-block-serializer .detailed-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 15px; margin-top: 15px;}/* Responsive Design */.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value { display: none;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-cli .sf-toolbar-icon .sf-toolbar-label { display: inline-block;}/* Legacy Design - these styles are maintained to make old panels look a bit better on the new toolbar */.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-gray-400); font-size: 12px;}.sf-toolbar-status-green .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-yellow .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-red .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-white);}@media (min-width: 768px) { .sf-toolbar-icon .sf-toolbar-label, .sf-toolbar-icon .sf-toolbar-value { display: inline; } .sf-toolbar-block-time .sf-toolbar-icon svg, .sf-toolbar-block-memory .sf-toolbar-icon svg { display: none; } .sf-toolbar-block-time .sf-toolbar-icon svg + span, .sf-toolbar-block-memory .sf-toolbar-icon svg + span { margin-left: 0; } .sf-toolbar-block .sf-toolbar-icon { padding: 0 10px; } .sf-toolbar-block-time .sf-toolbar-icon { padding-right: 5px; } .sf-toolbar-block-memory .sf-toolbar-icon { padding-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon { display: flex; align-items: center; padding-left: 0; padding-right: 0; } .sf-toolbar-block-request .sf-toolbar-label { margin-left: 4px; margin-right: 1px; } .sf-toolbar-block-request .sf-toolbar-status + .sf-toolbar-request-icon { display: inline-flex; margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon .sf-toolbar-request-icon + .sf-toolbar-label { margin-left: 0; } .sf-toolbar-block-request .sf-toolbar-label + .sf-toolbar-value { margin-right: 5px; } .sf-toolbar-block-request:hover .sf-toolbar-info { max-width: none; } .sf-toolbar-block .sf-toolbar-info-piece b { font-size: 12px; } .sf-toolbar-block .sf-toolbar-info-piece span { font-size: 13px; } .sf-toolbar-block-right { float: right; margin-left: 0; margin-right: 0; } .sf-toolbarreset .sf-toolbar-block.sf-toolbar-block-right:not(.sf-toolbar-block-sf-cli) .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; }}@media (min-width: 1024px) { .sf-toolbar-block .sf-toolbar-info-piece-additional, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: inline; } .sf-toolbar-block .sf-toolbar-info-piece-additional:empty, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail:empty { display: none; }}/***** Error Toolbar *****/.sf-error-toolbar .sf-toolbarreset { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-100); font: 13px/36px var(--sf-toolbar-font-family-system); height: 36px; padding: 0 15px; text-align: left;}.sf-error-toolbar .sf-toolbarreset svg { height: auto;}.sf-error-toolbar .sf-toolbarreset a { color: #99cdd8; margin-left: 5px; text-decoration: underline;}.sf-error-toolbar .sf-toolbarreset a:hover { text-decoration: none;}.sf-error-toolbar .sf-toolbarreset .sf-toolbar-icon { float: left; padding: 5px 0; margin-right: 10px;}.sf-full-stack { left: 0px; font-size: 12px;}/***** Media query print: Do not print the Toolbar. *****/@media print { .sf-toolbar { display: none !important; }}</style><script nonce="f08478c27e18d8f83c22fcfe1710c3ef">/*<![CDATA[*/ if (typeof Sfjs === 'undefined' || typeof Sfjs.loadToolbar === 'undefined') { Sfjs = (function() { "use strict"; if ('classList' in document.documentElement) { var hasClass = function (el, cssClass) { return el.classList.contains(cssClass); }; var removeClass = function(el, cssClass) { el.classList.remove(cssClass); }; var addClass = function(el, cssClass) { el.classList.add(cssClass); }; var toggleClass = function(el, cssClass) { el.classList.toggle(cssClass); }; } else { var hasClass = function (el, cssClass) { return el.className.match(new RegExp('\\b' + cssClass + '\\b')); }; var removeClass = function(el, cssClass) { el.className = el.className.replace(new RegExp('\\b' + cssClass + '\\b'), ' '); }; var addClass = function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className += " " + cssClass; } }; var toggleClass = function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); }; } var noop = function() {}; var profilerStorageKey = 'symfony/profiler/'; var addEventListener; var el = document.createElement('div'); if (!('addEventListener' in el)) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, callback); }; } else { addEventListener = function (element, eventName, callback) { element.addEventListener(eventName, callback, false); }; } var request = function(url, onSuccess, onError, payload, options, tries) { var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); options = options || {}; options.retry = options.retry || false; tries = tries || 1; /* this delays for 125, 375, 625, 875, and 1000, ... */ var delay = tries < 5 ? (tries - 0.5) * 250 : 1000; xhr.open(options.method || 'GET', url, true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.onreadystatechange = function(state) { if (4 !== xhr.readyState) { return null; } if (xhr.status == 404 && options.retry && !options.stop) { setTimeout(function() { if (options.stop) { return; } request(url, onSuccess, onError, payload, options, tries + 1); }, delay); return null; } if (200 === xhr.status) { (onSuccess || noop)(xhr); } else { (onError || noop)(xhr); } }; if (options.onSend) { options.onSend(tries); } xhr.send(payload || ''); }; var getPreference = function(name) { if (!window.localStorage) { return null; } return localStorage.getItem(profilerStorageKey + name); }; var setPreference = function(name, value) { if (!window.localStorage) { return null; } localStorage.setItem(profilerStorageKey + name, value); }; var requestStack = []; var extractHeaders = function(xhr, stackElement) { /* Here we avoid to call xhr.getResponseHeader in order to */ /* prevent polluting the console with CORS security errors */ var allHeaders = xhr.getAllResponseHeaders(); var ret; if (ret = allHeaders.match(/^x-debug-token:\s+(.*)$/im)) { stackElement.profile = ret[1]; } if (ret = allHeaders.match(/^x-debug-token-link:\s+(.*)$/im)) { stackElement.profilerUrl = ret[1]; } if (ret = allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\s+(.*)$/im)) { stackElement.toolbarReplaceFinished = false; stackElement.toolbarReplace = '1' === ret[1]; } }; var successStreak = 4; var pendingRequests = 0; var renderAjaxRequests = function() { var requestCounter = document.querySelector('.sf-toolbar-ajax-request-counter'); if (!requestCounter) { return; } requestCounter.textContent = requestStack.length; var infoSpan = document.querySelector(".sf-toolbar-ajax-info"); if (infoSpan) { infoSpan.textContent = requestStack.length + ' AJAX request' + (requestStack.length !== 1 ? 's' : ''); } var ajaxToolbarPanel = document.querySelector('.sf-toolbar-block-ajax'); if (requestStack.length) { ajaxToolbarPanel.style.display = 'block'; } else { ajaxToolbarPanel.style.display = 'none'; } if (pendingRequests > 0) { addClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); } else if (successStreak < 4) { addClass(ajaxToolbarPanel, 'sf-toolbar-status-red'); removeClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); } else { removeClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); removeClass(ajaxToolbarPanel, 'sf-toolbar-status-red'); } }; var startAjaxRequest = function(index) { var tbody = document.querySelector('.sf-toolbar-ajax-request-list'); if (!tbody) { return; } var nbOfAjaxRequest = tbody.rows.length; if (nbOfAjaxRequest >= 100) { tbody.deleteRow(0); } var request = requestStack[index]; pendingRequests++; var row = document.createElement('tr'); request.DOMNode = row; var requestNumberCell = document.createElement('td'); requestNumberCell.textContent = index + 1; row.appendChild(requestNumberCell); var profilerCell = document.createElement('td'); profilerCell.textContent = 'n/a'; row.appendChild(profilerCell); var methodCell = document.createElement('td'); methodCell.textContent = request.method; row.appendChild(methodCell); var typeCell = document.createElement('td'); typeCell.textContent = request.type; row.appendChild(typeCell); var statusCodeCell = document.createElement('td'); var statusCode = document.createElement('span'); statusCode.textContent = 'n/a'; statusCodeCell.appendChild(statusCode); row.appendChild(statusCodeCell); var pathCell = document.createElement('td'); pathCell.className = 'sf-ajax-request-url'; if ('GET' === request.method) { var pathLink = document.createElement('a'); pathLink.setAttribute('href', request.url); pathLink.textContent = request.url; pathCell.appendChild(pathLink); } else { pathCell.textContent = request.url; } pathCell.setAttribute('title', request.url); row.appendChild(pathCell); var durationCell = document.createElement('td'); durationCell.className = 'sf-ajax-request-duration'; durationCell.textContent = 'n/a'; row.appendChild(durationCell); request.liveDurationHandle = setInterval(function() { durationCell.textContent = (new Date() - request.start) + ' ms'; }, 100); row.className = 'sf-ajax-request sf-ajax-request-loading'; tbody.insertBefore(row, null); var toolbarInfo = document.querySelector('.sf-toolbar-block-ajax .sf-toolbar-info'); toolbarInfo.scrollTop = toolbarInfo.scrollHeight; renderAjaxRequests(); }; var finishAjaxRequest = function(index) { var request = requestStack[index]; clearInterval(request.liveDurationHandle); if (!request.DOMNode) { return; } if (request.toolbarReplace && !request.toolbarReplaceFinished && request.profile) { /* Flag as complete because finishAjaxRequest can be called multiple times. */ request.toolbarReplaceFinished = true; /* Search up through the DOM to find the toolbar's container ID. */ for (var elem = request.DOMNode; elem && elem !== document; elem = elem.parentNode) { if (elem.id.match(/^sfwdt/)) { Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, ''), request.profile); break; } } } pendingRequests--; var row = request.DOMNode; /* Unpack the children from the row */ var profilerCell = row.children[1]; var methodCell = row.children[2]; var statusCodeCell = row.children[4]; var statusCodeElem = statusCodeCell.children[0]; var durationCell = row.children[6]; if (request.error) { row.className = 'sf-ajax-request sf-ajax-request-error'; methodCell.className = 'sf-ajax-request-error'; successStreak = 0; } else { row.className = 'sf-ajax-request sf-ajax-request-ok'; successStreak++; } if (request.statusCode) { if (request.statusCode < 300) { statusCodeElem.setAttribute('class', 'sf-toolbar-status'); } else if (request.statusCode < 400) { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-yellow'); } else { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-red'); } statusCodeElem.textContent = request.statusCode; } else { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-red'); } if (request.duration) { durationCell.textContent = request.duration + ' ms'; } if (request.profilerUrl) { profilerCell.textContent = ''; var profilerLink = document.createElement('a'); profilerLink.setAttribute('href', request.profilerUrl); profilerLink.textContent = request.profile; profilerCell.appendChild(profilerLink); } renderAjaxRequests(); }; if (window.fetch && window.fetch.polyfill === undefined) { var oldFetch = window.fetch; window.fetch = function () { var promise = oldFetch.apply(this, arguments); var url = arguments[0]; var params = arguments[1]; var paramType = Object.prototype.toString.call(arguments[0]); if (paramType === '[object Request]') { url = arguments[0].url; params = { method: arguments[0].method, credentials: arguments[0].credentials, headers: arguments[0].headers, mode: arguments[0].mode, redirect: arguments[0].redirect }; } else { url = String(url); } if (!url.match(new RegExp("^\/((index|app(_[\\w]+)?)\\.php\/)?_wdt"))) { var method = 'GET'; if (params && params.method !== undefined) { method = params.method; } var stackElement = { error: false, url: url, method: method, type: 'fetch', start: new Date() }; var idx = requestStack.push(stackElement) - 1; promise.then(function (r) { stackElement.duration = new Date() - stackElement.start; stackElement.error = r.status < 200 || r.status >= 400; stackElement.statusCode = r.status; stackElement.profile = r.headers.get('x-debug-token'); stackElement.profilerUrl = r.headers.get('x-debug-token-link'); stackElement.toolbarReplaceFinished = false; stackElement.toolbarReplace = '1' === r.headers.get('Symfony-Debug-Toolbar-Replace'); finishAjaxRequest(idx); }, function (e){ stackElement.error = true; finishAjaxRequest(idx); }); startAjaxRequest(idx); } return promise; }; } if (window.XMLHttpRequest && XMLHttpRequest.prototype.addEventListener) { var proxied = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { var self = this; /* prevent logging AJAX calls to static and inline files, like templates */ var path = url; if (url.slice(0, 1) === '/') { if (0 === url.indexOf('')) { path = url.slice(0); } } else if (0 === url.indexOf('https\u003A\/\/dls.c5.bargon.net')) { path = url.slice(25); } if (!path.match(new RegExp("^\/((index|app(_[\\w]+)?)\\.php\/)?_wdt"))) { var stackElement = { error: false, url: url, method: method, type: 'xhr', start: new Date() }; var idx = requestStack.push(stackElement) - 1; this.addEventListener('readystatechange', function() { if (self.readyState == 4) { stackElement.duration = new Date() - stackElement.start; stackElement.error = self.status < 200 || self.status >= 400; stackElement.statusCode = self.status; extractHeaders(self, stackElement); finishAjaxRequest(idx); } }, false); startAjaxRequest(idx); } proxied.apply(this, Array.prototype.slice.call(arguments)); }; } return { hasClass: hasClass, removeClass: removeClass, addClass: addClass, toggleClass: toggleClass, getPreference: getPreference, setPreference: setPreference, addEventListener: addEventListener, request: request, renderAjaxRequests: renderAjaxRequests, getSfwdt: function(token) { return document.getElementById('sfwdt' + token); }, load: function(selector, url, onSuccess, onError, options) { var el = document.getElementById(selector); if (el && el.getAttribute('data-sfurl') !== url) { request( url, function(xhr) { el.innerHTML = xhr.responseText; el.setAttribute('data-sfurl', url); removeClass(el, 'loading'); var pending = pendingRequests; for (var i = 0; i < requestStack.length; i++) { startAjaxRequest(i); if (requestStack[i].duration || requestStack[i].error) { finishAjaxRequest(i); } } /* Revert the pending state in case there was a start called without a finish above. */ pendingRequests = pending; (onSuccess || noop)(xhr, el); }, function(xhr) { (onError || noop)(xhr, el); }, '', options ); } return this; }, showToolbar: function(token) { var sfwdt = this.getSfwdt(token); removeClass(sfwdt, 'sf-display-none'); if (getPreference('toolbar/displayState') == 'none') { document.getElementById('sfToolbarMainContent-' + token).style.display = 'none'; document.getElementById('sfToolbarClearer-' + token).style.display = 'none'; document.getElementById('sfMiniToolbar-' + token).style.display = 'block'; } else { document.getElementById('sfToolbarMainContent-' + token).style.display = 'block'; document.getElementById('sfToolbarClearer-' + token).style.display = 'block'; document.getElementById('sfMiniToolbar-' + token).style.display = 'none'; } }, hideToolbar: function(token) { var sfwdt = this.getSfwdt(token); addClass(sfwdt, 'sf-display-none'); }, initToolbar: function(token) { this.showToolbar(token); var hideButton = document.getElementById('sfToolbarHideButton-' + token); var hideButtonSvg = hideButton.querySelector('svg'); hideButtonSvg.setAttribute('aria-hidden', 'true'); hideButtonSvg.setAttribute('focusable', 'false'); addEventListener(hideButton, 'click', function (event) { event.preventDefault(); var p = this.parentNode; p.style.display = 'none'; (p.previousElementSibling || p.previousSibling).style.display = 'none'; document.getElementById('sfMiniToolbar-' + token).style.display = 'block'; setPreference('toolbar/displayState', 'none'); }); var showButton = document.getElementById('sfToolbarMiniToggler-' + token); var showButtonSvg = showButton.querySelector('svg'); showButtonSvg.setAttribute('aria-hidden', 'true'); showButtonSvg.setAttribute('focusable', 'false'); addEventListener(showButton, 'click', function (event) { event.preventDefault(); var elem = this.parentNode; if (elem.style.display == 'none') { document.getElementById('sfToolbarMainContent-' + token).style.display = 'none'; document.getElementById('sfToolbarClearer-' + token).style.display = 'none'; elem.style.display = 'block'; } else { document.getElementById('sfToolbarMainContent-' + token).style.display = 'block'; document.getElementById('sfToolbarClearer-' + token).style.display = 'block'; elem.style.display = 'none' } setPreference('toolbar/displayState', 'block'); }); }, loadToolbar: function(token, newToken) { var that = this; var triesCounter = document.getElementById('sfLoadCounter-' + token); var options = { retry: true, onSend: function (count) { if (count === 3) { that.initToolbar(token); } if (triesCounter) { triesCounter.textContent = count; } }, }; var cancelButton = document.getElementById('sfLoadCancel-' + token); if (cancelButton) { addEventListener(cancelButton, 'click', function (event) { event.preventDefault(); options.stop = true; that.hideToolbar(token); }); } newToken = (newToken || token); this.load( 'sfwdt' + token, 'https\u003A\/\/dls.c5.bargon.net\/_wdt\/xxxxxx'.replace(/xxxxxx/, newToken), function(xhr, el) { var toolbarContent = document.getElementById('sfToolbarMainContent-' + newToken); /* Do nothing in the edge case where the toolbar has already been replaced with a new one */ if (!toolbarContent) { return; } /* Replace the ID, it has to match the new token */ toolbarContent.parentElement.id = 'sfwdt' + newToken; /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts = [].slice.call(el.querySelectorAll('script')); for (i = 0; i < scripts.length; ++i) { if (scripts[i].firstChild) { eval.call({}, scripts[i].firstChild.nodeValue); } } el.style.display = -1 !== xhr.responseText.indexOf('sf-toolbarreset') ? 'block' : 'none'; if (el.style.display == 'none') { return; } that.initToolbar(newToken); /* Handle toolbar-info position */ var toolbarBlocks = [].slice.call(el.querySelectorAll('.sf-toolbar-block')); for (i = 0; i < toolbarBlocks.length; ++i) { toolbarBlocks[i].onmouseover = function () { var toolbarInfo = this.querySelectorAll('.sf-toolbar-info')[0]; var pageWidth = document.body.clientWidth; var elementWidth = toolbarInfo.offsetWidth; var leftValue = (elementWidth + this.offsetLeft) - pageWidth; var rightValue = (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth; /* Reset right and left value, useful on window resize */ toolbarInfo.style.right = ''; toolbarInfo.style.left = ''; if (elementWidth > pageWidth) { toolbarInfo.style.left = 0; } else if (leftValue > 0 && rightValue > 0) { toolbarInfo.style.right = (rightValue * -1) + 'px'; } else if (leftValue < 0) { toolbarInfo.style.left = 0; } else { toolbarInfo.style.right = '0px'; } }; } renderAjaxRequests(); addEventListener(document.querySelector('.sf-toolbar-ajax-clear'), 'click', function() { requestStack = []; renderAjaxRequests(); successStreak = 4; document.querySelector('.sf-toolbar-ajax-request-list').innerHTML = ''; }); addEventListener(document.querySelector('.sf-toolbar-block-ajax'), 'mouseenter', function (event) { var elem = document.querySelector('.sf-toolbar-block-ajax .sf-toolbar-info'); elem.scrollTop = elem.scrollHeight; }); addEventListener(document.querySelector('.sf-toolbar-block-ajax > .sf-toolbar-icon'), 'click', function (event) { event.preventDefault(); toggleClass(this.parentNode, 'hover'); }); var dumpInfo = document.querySelector('.sf-toolbar-block-dump .sf-toolbar-info'); if (null !== dumpInfo) { addEventListener(dumpInfo, 'sfbeforedumpcollapse', function () { dumpInfo.style.minHeight = dumpInfo.getBoundingClientRect().height+'px'; }); addEventListener(dumpInfo, 'mouseleave', function () { dumpInfo.style.minHeight = ''; }); } }, function(xhr) { if (xhr.status !== 0 && !options.stop) { var sfwdt = that.getSfwdt(token); sfwdt.innerHTML = '\ <div class="sf-toolbarreset notranslate">\ <div class="sf-toolbar-icon"><svg width="26" height="28" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" viewBox="0 0 26 28" enable-background="new 0 0 26 28" xml:space="preserve"><path fill="#FFFFFF" d="M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z"/></svg></div>\ An error occurred while loading the web debug toolbar. <a href="https\u003A\/\/dls.c5.bargon.net\/_profiler\/' + newToken + '">Open the web profiler.</a>\ </div>\ '; sfwdt.setAttribute('class', 'sf-toolbar sf-error-toolbar'); } }, options ); return this; }, toggle: function(selector, elOn, elOff) { var tmp = elOn.style.display, el = document.getElementById(selector); elOn.style.display = elOff.style.display; elOff.style.display = tmp; if (el) { el.style.display = 'none' === tmp ? 'none' : 'block'; } return this; }, }; })(); } Sfjs.loadToolbar('827588');/*]]>*/</script>\n </body>\n </html>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/frontend/fe_page.html5 -->\n """ } -action: "delete" } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#21744 -busName: "messenger.bus.default" } Symfony\Component\Messenger\Stamp\SentStamp {#21774 -senderClass: "Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport" -senderAlias: "contao_prio_low" } Symfony\Component\Messenger\Stamp\TransportMessageIdStamp {#21781 -id: "2341993" } |