{"id":651465,"date":"2026-03-28T13:00:14","date_gmt":"2026-03-28T12:00:14","guid":{"rendered":"https:\/\/es.exxpress.at\/?p=651465"},"modified":"2026-03-27T15:17:40","modified_gmt":"2026-03-27T14:17:40","slug":"ralph-schoellhammer-die-revolte-die-nie-regiert","status":"publish","type":"post","link":"https:\/\/es.exxpress.at\/meinung\/ralph-schoellhammer-die-revolte-die-nie-regiert\/","title":{"rendered":"Ralph Sch\u00f6llhammer: Die Revolte, die nie regiert"},"content":{"rendered":"<section class=\"wpb-content-wrapper\"><p>[vc_row][vc_column width=&#8221;1\/6&#8243;]\n        <span class=\"article-tag\">\n            Kolumne \n        <\/span>\n    [\/vc_column][vc_column width=&#8221;1\/2&#8243;]<h1 id=\"nativendo-title\" style=\"text-align: left\" class=\"vc_custom_heading article-heading\">Ralph Sch\u00f6llhammer: Die Revolte, die nie regiert<\/h1>[vc_column_text el_class=&#8221;article-subheading&#8221;]Es gibt einen Satz, den man in Br\u00fcssel, Berlin und Paris in verschiedenen Variationen h\u00f6rt, der aber immer dasselbe bedeutet: \u201eDie Brandmauer h\u00e4lt.\u201c Am vergangenen Sonntag konnte man in Echtzeit beobachten, was dieser Satz in der Praxis hei\u00dft und warum er zugleich stimmt und in die Irre f\u00fchrt.[\/vc_column_text][\/vc_column][vc_column width=&#8221;1\/3&#8243;][\/vc_column][\/vc_row][vc_row el_class=&#8221;article-main-content&#8221;][vc_column width=&#8221;1\/6&#8243;]\n        <div class=\"author-box\">\n            <span class=\"author\">Redaktion<\/span>\n            <time datetime=\"2026-03-28T13:00:14+01:00\">28.03.2026 13:00<\/time>\n        <\/div>\n            <div class=\"share-box\">\n            <a href=\"https:\/\/x.com\/intent\/tweet?url=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F651465\" target=\"blank\" class=\"share-icon share-circle-icon share-twitter\"><?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 300 300\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n <path d=\"M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66\"\/>\n<\/svg><\/a>\n            <a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?href=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F651465&u=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F651465\" target=\"blank\" class=\"share-icon share-circle-icon share-facebook\"><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-\/\/W3C\/\/DTD SVG 1.1\/\/EN\" \"http:\/\/www.w3.org\/Graphics\/SVG\/1.1\/DTD\/svg11.dtd\">\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 28 28\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xml:space=\"preserve\" xmlns:serif=\"http:\/\/www.serif.com\/\" style=\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;\">\n    <g transform=\"matrix(1,0,0,1,-12,-11)\">\n        <path d=\"M31,11.2C30.3,11.1 29.7,11 29,11C28.2,10.9 27.3,10.9 26.5,11.1C25.5,11.3 24.6,11.8 23.8,12.7C23.2,13.4 22.8,14.3 22.5,15.2C22.3,15.9 22.3,16.5 22.3,17.2L22.3,21L18.4,21L18.4,25.7L22.4,25.7L22.4,38.6L27.2,38.6L27.2,25.7L30.7,25.7C30.9,24.1 31.1,22.6 31.4,21L27.4,21L27.4,20.8L27.4,17.8C27.4,17.5 27.4,17.2 27.5,16.9C27.7,16 28.3,15.5 29.1,15.3C29.4,15.2 29.7,15.2 30,15.2L31.8,15.2L31.8,11.2C31.3,11.3 31.1,11.2 31,11.2Z\" style=\"fill-rule:nonzero;\"\/>\n    <\/g>\n<\/svg>\n<\/a>\n            <a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F651465\" target=\"blank\" class=\"share-icon share-circle-icon share-linkedin\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\"><path d=\"M0 160h114.496v352H0zM426.368 164.128c-1.216-.384-2.368-.8-3.648-1.152a74.218 74.218 0 00-4.64-.896c-6.08-1.216-12.736-2.08-20.544-2.08-66.752 0-109.088 48.544-123.04 67.296V160H160v352h114.496V320s86.528-120.512 123.04-32v224H512V274.464c0-53.184-36.448-97.504-85.632-110.336z\"\/><circle cx=\"56\" cy=\"56\" r=\"56\"\/><\/svg><\/a>\n            <div class=\"mobile-splitter\"><\/div>\n            <a href=\"mailto:?subject=Exxpress: Ralph Sch\u00f6llhammer: Die Revolte, die nie regiert&body=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F651465\" target=\"blank\" class=\"share-icon share-mail\"><?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<svg version=\"1.1\" id=\"Ebene_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 50 50\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n<g>\n\t<path d=\"M1.2,7.7C0.8,8.1,0.6,8.6,0.6,9.1v31.3c0,0.6,0.2,1.1,0.7,1.4c0.4,0.4,0.8,0.6,1.3,0.6h45c0.5,0,1-0.2,1.3-0.6\n\t\ts0.6-0.9,0.6-1.4V9.1c0-0.5-0.2-0.9-0.6-1.4c-0.4-0.4-0.8-0.6-1.3-0.6h-45C2,7.1,1.6,7.3,1.2,7.7z M4.3,13.8l13,11.3l-13,11.6V13.8\n\t\tz M7.5,11.7h34.9L24.9,27.1L7.5,11.7z M8,38.6l12.2-11.1l3.5,3.3l2.4,0.1l3.8-3.4L42,38.6H8z M45.8,36.7l-13-11.6l13-11.3V36.7z\"\/>\n<\/g>\n<\/svg>\n<\/a>\n            \n        <\/div>\n    [\/vc_column][vc_column width=&#8221;1\/2&#8243; el_class=&#8221;article-body&#8221;]\n            <div class=\"featured-image-box\">\n                <a href=\"https:\/\/es.exxpress.at\/media\/2025\/05\/2.jpg\" data-featherlight=\"image\">\n                    <img decoding=\"async\" class=\"attachment-article_featured_image size-article_featured_image wp-post-image\" src=\"https:\/\/es.exxpress.at\/media\/2025\/05\/2.jpg\" srcset=\"https:\/\/es.exxpress.at\/media\/2025\/05\/2.jpg 2x\">\n                <\/a>\n                <span class=\"tagline\"><span class=\"credits\" style=\"padding-left: 0\">exxpress\/exxpress<\/span><\/span>\n            <\/div>\n        [vc_column_text]<\/p>\n<p style=\"font-weight: 400;\">In Frankreich fanden die Stichwahlen der Kommunalwahlen statt. Marine Le Pens <em>Rassemblement National<\/em> hatte in der ersten Runde am 15. M\u00e4rz in mindestens <a href=\"https:\/\/www.connexionfrance.com\/news\/french-municipal-elections-key-points-from-the-first-round\/777389\">75 Gemeinden den ersten Platz belegt<\/a> \u2013 siebenmal so viele wie 2020. Doch in der Stichwahl griff der altbew\u00e4hrte Mechanismus des <em>front r\u00e9publicain<\/em>: In Marseille <a href=\"https:\/\/www.france24.com\/en\/france\/20260322-le-pen-s-far-right-suffers-setbacks-in-french-mayoral-elections-ex-pm-philippe-wins-key-race\">verlor der RN-Kandidat mit f\u00fcnfzehn Punkten Abstand<\/a>, in Toulon verspielten Le Pens Leute einen Vorsprung von dreizehn Punkten, und <a href=\"https:\/\/www.pbs.org\/newshour\/world\/emmanuel-gregoire-becomes-new-mayor-of-paris-succeeding-fellow-socialist-anne-hidalgo\">Paris blieb zum sechsundzwanzigsten Mal in Folge sozialistisch<\/a>. Die franz\u00f6sische Brandmauer hielt. Vorerst.<\/p>\n<p style=\"font-weight: 400;\">In Deutschland existiert keine solche institutionelle Brandmauer sondern \u201enur\u201c eine politische Absprache. Das Ergebnis ist dasselbe. In Rheinland-Pfalz <a href=\"https:\/\/www.euronews.com\/2026\/03\/22\/election-in-rhineland-palatinate-afd-achieves-record-result-in-western-germany\">verdoppelte die AfD ihren Stimmenanteil auf 19,5 Prozent<\/a> \u2013 ihr bestes Ergebnis in einem westdeutschen Bundesland \u00fcberhaupt. Unter den 18- bis 24-J\u00e4hrigen war sie laut ARD <a href=\"https:\/\/europeanconservative.com\/articles\/news\/rhineland-afd-doubles-vote-spd-crashes\/\">die st\u00e4rkste Kraft<\/a>. Bei Arbeitern erreichte sie rund 30 Prozent; in manchen Wahlkreisen im Westerwald n\u00e4herte sie sich der 50-Prozent-Marke. Die SPD, die das Land f\u00fcnfunddrei\u00dfig Jahre lang ununterbrochen regiert hatte, verlor fast zehn Punkte und wurde von der <a href=\"https:\/\/athens-times.com\/germany-cdu-wins-rhineland-palatinate-elections-grand-coalition-with-spd-likely\/\">CDU abgel\u00f6st<\/a>. \u00c4ndern wird sich trotzdem nichts: Gro\u00dfe Koalition, <em>cordon sanitaire<\/em>, weiter wie gehabt.<\/p>\n<p style=\"font-weight: 400;\">Das Muster ist mittlerweile \u00fcber den gesamten Kontinent hinweg identisch. Die populistische Rechte w\u00e4chst, das Establishment gewinnt trotzdem, und die Kluft zwischen Wahlergebnis und tats\u00e4chlicher Macht wird immer gr\u00f6\u00dfer. In den Niederlanden brauchte Geert Wilders nach seinem historischen Wahlsieg ein halbes Jahr, um \u00fcberhaupt eine Koalition zu bilden und wurde dennoch nicht Ministerpr\u00e4sident. In \u00d6sterreich holt die FP\u00d6 zwar den ersten Platz, aber f\u00fcr die Kanzlerschaft war es dann doch nicht genug. Die W\u00e4hler revoltieren an der Wahlurne, aber die Revolte f\u00fchrt (noch) nicht zur Macht.<\/p>\n<p style=\"font-weight: 400;\">Und selbst wenn sie zur Macht f\u00fchrte, w\u00e4re die entscheidende Frage nicht beantwortet. Denn die unbequeme Wahrheit lautet: Selbst wenn jeder Einwanderungskritiker in Europa morgen alles bek\u00e4me, was er verlangt \u2013 Nettozuwanderung null, volle Grenzkontrolle, verpflichtende Integration \u2013, bliebe man mit einer Zivilisation zur\u00fcck, die nicht wei\u00df, wof\u00fcr sie eigentlich steht. Die Revolte gegen die Masseneinwanderung ist real, berechtigt und l\u00e4ngst \u00fcberf\u00e4llig. Aber Einwanderung ist ein Symptom. Die Krankheit ist eine Sinnkrise.<\/p>\n<p style=\"font-weight: 400;\">Man nehme die Geburtenrate. Jedes europ\u00e4ische Land hat irgendeine Variante pronatalischer Politik ausprobiert: Steuererleichterungen, Elternzeit, Kindergeldreformen. Nichts davon hat funktioniert, weil das Problem nicht prim\u00e4r \u00f6konomisch ist. Eine Gesellschaft, in der beide Partner Vollzeit arbeiten m\u00fcssen, um sich eine bescheidene Wohnung leisten zu k\u00f6nnen, ermutigt nicht zur Familiengr\u00fcndung. Aber auch dort, wo die \u00d6konomie stimmt, bleibt die tiefere Frage unbeantwortet. Menschen bekommen keine Kinder, weil der Staat ihnen einen Steuerbonus bietet. Sie bekommen Kinder, weil sie glauben, dass die Welt, in die sie ein Kind setzen, es wert ist, bewohnt zu werden. Weil sie einen Sinn haben, der \u00fcber die eigene Lebensspanne hinausreicht. Das l\u00e4sst sich nicht verordnen.<\/p>\n<p style=\"font-weight: 400;\">Dasselbe gilt f\u00fcr die Arbeit. In Gro\u00dfbritannien sind derzeit <a href=\"https:\/\/www.gov.uk\/government\/news\/biggest-shake-up-to-welfare-system-in-a-generation-to-get-britain-working\">2,8 Millionen Menschen wegen Langzeiterkrankung wirtschaftlich inaktiv<\/a>. In Deutschland explodieren die Krankschreibungen, und die Diskussion \u00fcber das B\u00fcrgergeld dreht sich ausschlie\u00dflich um H\u00f6he und Sanktionen jedoch nie um die Frage, was es mit einem Menschen macht, wenn er keinen Grund hat, morgens aufzustehen. Ein Mann ohne Arbeit hat nicht nur kein Einkommen. Ihm fehlt Struktur, Zweck und W\u00fcrde. Keine Transferzahlung der Welt adressiert dieses Problem.<\/p>\n<p style=\"font-weight: 400;\">Hier versagt die konventionelle Rechte. Libert\u00e4re bieten Deregulierung und Steuersenkungen, was so weit reicht, wie es eben reicht \u2013 aber die Sinnfrage nicht beantwortet. Die sozialistische Alternative bietet Umverteilung, die materiellen Komfort auf Kosten der Eigenverantwortung erkauft. Was stattdessen gebraucht wird, ist etwas, das man Industrialismus nennen k\u00f6nnte: eine politische \u00d6konomie, die ernst nimmt, dass Arbeit nicht blo\u00df ein Mittel der BIP-Generierung ist, sondern eine Quelle menschlicher W\u00fcrde. Pro Industrie, pro Fertigung, pro Energie. Nicht weil ein Stahlwerk die effizienteste Kapitalallokation darstellt \u2013 die \u00d6konomen werden das Gegenteil behaupten \u2013, sondern weil eine funktionierende Industriewirtschaft etwas bietet, das keine Gig-Economy je ersetzen kann: die Erfahrung, etwas Greifbares, Schwieriges und Notwendiges zu tun.<\/p>\n<p>[\/vc_column_text]<h2 style=\"text-align: left\" class=\"vc_custom_heading running-header\">\u201eEine Revolte ist noch keine Zivilisation\u201c<\/h2>[vc_column_text]<\/p>\n<p style=\"font-weight: 400;\">Wie Vaclav Smil <a href=\"https:\/\/www.gatesnotes.com\/energy-and-the-four-pillars-of-modern-civilization\">uner\u00fcdlich dokumentiert<\/a>, ruht die moderne Zivilisation auf vier materiellen S\u00e4ulen: D\u00fcngemittel, Zement, Kunststoff, Stahl \u2013 alles energieintensive Prozesse. Der Krieg der Klimabewegung gegen diese Prozesse ist kein \u00f6konomischer Rechenfehler. Er ist ein Angriff auf die materiellen Grundlagen eines sinnvollen Lebens. Wenn man ein Kohlekraftwerk schlie\u00dft, beseitigt man nicht nur Arbeitspl\u00e4tze. Man beseitigt den Daseinsgrund einer ganzen Region. Wenn man Fertigung durch eine App-basierte Dienstleistungs\u00f6konomie ersetzt, \u00e4ndert man nicht nur die sektorale Zusammensetzung des BIP. Man \u00e4ndert, was es bedeutet, an diesem Ort zu leben.<\/p>\n<p style=\"font-weight: 400;\">Die gro\u00dfe Ironie unserer Zeit besteht darin, dass diejenigen, die am lautesten \u00fcber \u201eWohlbefinden\u201c und \u201epsychische Gesundheit\u201c dozieren, dieselben sind, deren Politik die Bedingungen systematisch zerst\u00f6rt hat, unter denen gew\u00f6hnliche Menschen gut leben konnten. Bezahlbarer Wohnraum, stabile Besch\u00e4ftigung, erkennbare Gemeinschaften, ein Land, das man als das eigene empfindet \u2013 das sind keine Luxusg\u00fcter. Es sind die Voraussetzungen eines Lebens, das Sinn ergibt. Wenn das Einkommen um zweihundert Euro im Monat steigt, man aber die Stadt um sich herum nicht mehr erkennt, hat man nichts gewonnen. Man hat verloren, was Geld eigentlich kaufen sollte.<\/p>\n<p style=\"font-weight: 400;\">Und genau hier liegt die Herausforderung, die die Aufstandsparteien noch nicht beantwortet haben. Es ist verh\u00e4ltnism\u00e4\u00dfig leicht, gegen etwas zu k\u00e4mpfen: Masseneinwanderung, Klima-Absolutismus, technokratische \u00dcbergriffigkeit. Schwieriger ist die Frage, wof\u00fcr man eigentlich ist. Wenn es gelingt, die Ersatzideologien abzur\u00e4umen \u2013 den Klimakult, die Gendertheologie, den multikulturellen Katechismus \u2013, womit f\u00fcllt man das Vakuum? Die alten Antworten \u2013 Gott, Nation, Pflicht \u2013 sind nicht verschwunden, aber sie wurden durch zwei Generationen institutioneller Gleichschaltung so gr\u00fcndlich delegitimiert, dass man sie nicht einfach per Dekret wieder einsetzen kann.<\/p>\n<p style=\"font-weight: 400;\">Die gute Nachricht: Heute werden Gespr\u00e4che gef\u00fchrt, die vor zehn Jahren unm\u00f6glich gewesen w\u00e4ren. Die schlechte: Gespr\u00e4che sind noch kein Programm. Die sich formierende Gegenelite hat noch viel Arbeit vor sich. Eine Revolte ist noch keine Zivilisation. Und eine Zivilisation, die nur wei\u00df, wogegen sie ist, wird nicht viel l\u00e4nger \u00fcberleben als eine, die an gar nichts mehr glaubt.<\/p>\n<p>[\/vc_column_text][\/vc_column][vc_column width=&#8221;1\/3&#8243;]<div class=\"ad-container\"><div id=\"adnz_rectangle_1\" style=\"padding-top: 0;\"><\/div><\/div><div class=\"ad-container sticky\" style=\"padding-top: 0;\"><div id=\"adnz_halfpage_2\"><\/div><\/div>[\/vc_column][\/vc_row][vc_row][vc_column width=&#8221;1\/6&#8243;][\/vc_column][vc_column width=&#8221;5\/6&#8243;]<div class=\"footer-hook\"><div class=\"move-to-article\">  <details class=\"mollie-donation-modal\" open>\n    <summary>Dein Beitrag z\u00e4hlt \u2013 jetzt spenden!<\/summary>\n    <div class=\"mollie-donation-backdrop\" onclick=\"var modal = document.querySelector('.mollie-donation-modal'); modal.removeAttribute('data-modal-opened')\"><\/div>\n    <div class=\"mollie-donation-form-holder\" id=\"donation\">\n      <div class=\"mollie-donation-close-button\" onclick=\"var modal = document.querySelector('.mollie-donation-modal'); modal.removeAttribute('data-modal-opened')\"><\/div>\n      <p style=\"padding: 0 30px; line-height: 1.3;\">Mit deinem Beitrag schaffen wir Raum f\u00fcr Journalismus, der einordnet, hinterfragt und sichtbar macht, was wirklich z\u00e4hlt.<\/p>\n      <form class=\"mollie-donation\">\n          <div style=\"display: flex; justify-content: center;\">\n            <div class=\"donate-type-btn-holder\">\n                <button type=\"button\" class=\"donate-select-btn\" value=\"onetime\">Einmalig<\/button>\n                <button type=\"button\" class=\"donate-select-btn selected\" value=\"monthly\">Monatlich<\/button>\n                <button type=\"button\" class=\"donate-select-btn\" value=\"yearly\">J\u00e4hrlich<\/button>\n            <\/div>\n          <\/div>\n          <input type=\"email\" name=\"mail\" placeholder=\"E-Mail Adresse*\" required\/>\n          <div class=\"donate-btn-holder\">\n              <button type=\"button\" class=\"donate-select-btn\" value=\"10\">10\u20ac<\/button>\n              <button type=\"button\" class=\"donate-select-btn selected\" value=\"20\">20\u20ac<\/button>\n              <button type=\"button\" class=\"donate-select-btn\" value=\"100\">100\u20ac<\/button>\n              <div class=\"flex-break\"><\/div>\n              <button type=\"button\" class=\"donate-select-btn\" value=\"free\">Anderer Betrag<\/button>\n          <\/div>\n          <input class=\"hidden\" type=\"number\" min=\"2\" step=\"1\" value=\"20\" required\/>\n          <label class=\"checkbox-label hidden privacy-label\">\n              <input type=\"checkbox\" name=\"privacy\" required\/>\n              Ich akzeptiere die <a href=\"https:\/\/es.exxpress.at\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzvereinbarung<\/a>.*\n          <\/label>\n          <label class=\"checkbox-label hidden newsletter-label\">\n              <input type=\"checkbox\" name=\"newsletter\"\/>\n              Bitte halte mich auf dem Laufenden. Ich m\u00f6chte den Newsletter erhalten.\n          <\/label>\n          <a target=\"_blank\" class=\"disabled\" href=\"\" type=\"button\">Dein Beitrag z\u00e4hlt \u2013 jetzt spenden!<\/a>\n      <\/form>\n    <\/div>\n  <\/details>\n          <style>\ndetails.mollie-donation-modal summary {\n  --background: var(--category_bg_color);\n  --border-color: var(--category_bg_color);\n  --color: var(--category_tertiary_color);\n\n  --hover-background: var(--category_tertiary_color);\n  --hover-color: var(--category_bg_color);\n\n  margin: calc(var(--gutter-width-bottom)) auto;\n  transition: background-color 300ms, color 300ms;\n  border: 2px solid var(--border-color);\n  background: var(--background);\n  color: var(--color);\n  padding: 0.5em 1em;\n  font-size: 1em;\n  font-family: Blacker Sans Text;\n  font-weight: 900;\n  text-decoration: none;\n  display: inline-block;\n  cursor: pointer;\n  width: max-content;\n  display: block;\n}\ndetails.mollie-donation-modal summary:hover,\ndetails.mollie-donation-modal[open] summary {\n  background: var(--hover-background);\n  color: var(--hover-color);\n}\ndetails.mollie-donation-modal[data-modal-opened] {\n\n}\ndetails.mollie-donation-modal[data-modal-opened] summary {\n  display: none;\n}\n.mollie-donation-form-holder {\n  --don-bg-color: #fffbf8;\n  --don-border-color: #5e2c4f;\n  --don-color: rgb(26, 25, 25);\n  border: 2px solid var(--don-border-color);\n  background: var(--don-bg-color);\n  color: var(--don-color);\n  padding: 10px 15px;\n  margin-bottom: 15px;\n  position: relative;\n}\n.mollie-donation-form-holder h3 {\n  font-size: 18px;\n  text-align: center;\n  font-weight: bold;\n  margin-top: 5px;\n  margin-bottom: 10px;\n}\n.mollie-donation-form-holder p {\n  max-width: 455px;\n  text-align: center;\n  margin: 0 auto;\n  margin-bottom: 10px;\n}\nform.mollie-donation {\n  max-width: 100%;\n  margin: 0 auto;\n  text-align: center;\n}\nform.mollie-donation input[type=\"checkbox\"] {\n    font-size: 16px;\n}\nform.mollie-donation input[type=\"number\"],\nform.mollie-donation input[type=\"email\"],\nform.mollie-donation select {\n  font-family: 'Blacker Sans';\n  width: 190px;\n  border: none;\n  outline: none;\n  padding: 4px 8px;\n  background: white;\n  font-size: 18px;\n  text-align: center;\n  margin: 0 auto;\n  display: block;\n  border-bottom: 2px solid var(--don-border-color);\n}\nform.mollie-donation .donate-btn-holder {\n  display: flex;\n  flex-direction: row;\n  justify-content: center;\n  flex-wrap: wrap;\n  padding: var(--gutter-width-bottom);\n  max-width: 360px;\n  margin: 0 auto;\n}\nform.mollie-donation .donate-btn-holder .flex-break {\n  min-width: 100%;\n  height: 0px; max-height: 0px; margin: 0; padding: 0;\n}\nform.mollie-donation .donate-btn-holder button {\n  font-size: 16px;\n  border-width: 1px;\n  margin: calc(var(--gutter-width-bottom) \/ 4) calc(var(--gutter-width) \/ 4);\n}\nform.mollie-donation .donate-btn-holder button.selected {\n  cursor: pointer;\n  background: var(--hover-background);\n  color: var(--hover-color);\n}\nform.mollie-donation .donate-type-btn-holder {\n  display: flex;\n  flex-direction: row;\n  justify-content: center;\n  flex-wrap: wrap;\n  padding: var(--gutter-width-bottom);\n  margin-top: 10px;\n  gap: 1px;\n  padding: 1px;\n  background-color: var(--don-border-color);\n}\nform.mollie-donation .donate-type-btn-holder button {\n  font-size: 14px;\n  margin: 0;\n  border: none;\n  background-color: var(--don-bg-color);\n}\nform.mollie-donation .donate-type-btn-holder button.selected {\n  cursor: pointer;\n  background: var(--hover-background);\n  color: var(--hover-color);\n}\nform.mollie-donation input[type=\"email\"] {\n  width: 100%;\n  max-width: 320px;\n  margin-top: 20px;\n}\nform.mollie-donation select {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nform.mollie-donation input[type=\"number\"] {\n  width: 100px;\n  margin-bottom: var(--gutter-width-bottom);\n  margin-top: calc(var(--gutter-width-bottom) * -1);\n}\nform.mollie-donation input[type=\"number\"] ~ small.num-input-error {\n    display: block;\n    margin-top: calc(var(--gutter-width-bottom) * -1);\n    margin-bottom: var(--gutter-width-bottom);\n    color: red;\n}\nform.mollie-donation input[type=\"number\"].hidden {\n  display: none;\n}\nform.mollie-donation button, form.mollie-donation a[type=\"button\"] {\n  margin: 0 auto;\n  display: block;\n  --border-color: var(--don-border-color);\n  --hover-background: #5e2c4f;\n  --color: var(--don-color);\n  --hover-color: #e0d2d8;\n  transition: background-color 300ms, color 300ms;\n  border: 1px solid var(--border-color);\n  background: var(--background);\n  color: var(--color);\n  padding: .3em 1em;\n  padding-bottom: .37em;\n  font-size: 1em;\n  font-family: Blacker Sans Text;\n  font-weight: 900;\n  text-decoration: none;\n  margin-bottom: 10px;\n}\nform.mollie-donation a[type=\"button\"] {\n    --border-color: white;\n    --hover-background: white;\n    --color: white;\n    --hover-color: #c03;\n    background: #c03;\n}\nform.mollie-donation a[type=\"button\"] {\n    display: inline-block;\n}\nform.mollie-donation button.disabled, form.mollie-donation a[type=\"button\"].disabled {\n    opacity: 0.5;\n}\nform.mollie-donation .checkbox-label:not(.hidden) ~ button,\nform.mollie-donation .checkbox-label:not(.hidden) ~ a[type=\"button\"] {\n    margin-top: var(--gutter-width-bottom);\n}\nform.mollie-donation button:disabled {\n  opacity: 0.5;\n}\nform.mollie-donation button:hover,\nform.mollie-donation a[type=\"button\"]:not(.disabled):hover {\n  cursor: pointer;\n  background: var(--hover-background);\n  color: var(--hover-color);\n}\nform.mollie-donation .checkbox-label {\n  display: block;\n  margin-bottom: 3px;\n  text-align: center;\n}\nform.mollie-donation .checkbox-label a {\n  color: inherit;\n}\nform.mollie-donation .checkbox-label.hidden {\n  display: none;\n}\n.mollie-donation-modal {\n  display: block;\n}\n.mollie-donation-modal[data-modal-opened] {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background-color: rgba(255,255,255,0.7);\n  z-index: 10000;\n  -webkit-transition: opacity 0.5s ease-in-out;\n  -moz-transition: opacity 0.5s ease-in-out;\n  -ms-transition: opacity 0.5s ease-in-out;\n  -o-transition: opacity 0.5s ease-in-out;\n  transition: opacity 0.5s ease-in-out;\n}\n.mollie-donation-backdrop {\n  display: block;\n}\n.mollie-donation-modal[data-modal-opened] .mollie-donation-form-holder {\n  margin: 10px;\n  width: max-content;\n  position: absolute;\n  right: 50%;\n  bottom: 50%;\n  transform: translate(50%, 50%);\n}\n.mollie-donation-modal[data-modal-opened] .mollie-donation-backdrop {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 100%;\n  height: 100%;\n}\n.mollie-donation-close-button {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  cursor: pointer;\n  width: 20px;\n  height: 20px;\n  display: flex;\n  align-self: center;\n  justify-content: center;\n  display: none;\n}\n.mollie-donation-modal[data-modal-opened] .mollie-donation-close-button {\n  display: flex;\n}\n.mollie-donation-close-button::after {\n  content: \"\";\n  display: block;\n  width: 2px;\n  height: 20px;\n  background-color: #333;\n  transform: rotate(45deg);\n  position: absolute;\n  top: 0;\n  left: 9px;\n}\n.mollie-donation-close-button::before {\n  content: \"\";\n  display: block;\n  width: 2px;\n  height: 20px;\n  background-color: #333;\n  transform: rotate(-45deg);\n}\n\n\/* Modal open *\/\ndetails.mollie-donation-modal > summary{\n  list-style: none;\n  pointer-events: none;\n  cursor: default;\n  display:none;\n}\ndetails.mollie-donation-modal > summary::-webkit-details-marker{\n  display: none;\n}\n\n.mollie-donation-backdrop,\n.mollie-donation-close-button{\n  display: none !important;\n}\n\ndetails.mollie-donation-modal[data-modal-opened]{\n  position: static;\n  width: auto;\n  height: auto;\n  background: none;\n  display: block;            \n}\n        <\/style>\n    \n          <script>\n          window.addEventListener('load', () => {\n            (($) => {\n                $(() => {\n                    const loadingSpinner = `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" style=\"margin: auto; background: none; display: block; shape-rendering: auto;width: 30px;height: 30px;padding-top: 3px;margin-bottom: 3px;\" width=\"48px\" height=\"48px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\"><circle cx=\"50\" cy=\"50\" fill=\"none\" stroke=\"var(--category_tertiary_color)\" style=\"stroke: var(--category_tertiary_color)\" r=\"40\" stroke-dasharray=\"188.49555921538757 64.83185307179586\" stroke-width=\"11\"><animateTransform attributeName=\"transform\" type=\"rotate\" repeatCount=\"indefinite\" dur=\"1s\" values=\"0 50 50;360 50 50\" keyTimes=\"0;1\"><\/animateTransform><\/circle><\/svg>`;\n                    jQuery('.mollie-donation-modal:not(:eq(0))').remove();\n\n                    $( document ).ready(function() {\n                      var mdf = localStorage.getItem(\"mollie-donation-form\");\n                      if(mdf === null) {\n                        setTimeout(function() {\n                          \/\/ $(\".mollie-donation-modal\").attr(\"data-modal-opened\", \"\");\n                          \/\/ $(\".mollie-donation-modal\").attr(\"open\", \"\");\n                          localStorage.setItem(\"mollie-donation-form\", true);\n                        }, 2000);\n                      }\n                    });\n\n                    const $form = $('form.mollie-donation');\n                    if ($form.length > 0) {\n                        const $numInput = $form.find('input[type=\"number\"]')\n                        const default_value = 10;\n    \n                        $form.find('.donate-btn-holder button').removeClass('selected');\n                        $form.find('.donate-btn-holder button[value=\"' + default_value + '\"]').addClass('selected');\n                        $numInput.val(default_value);\n                        $form.find('input[type=\"email\"]').val('')\n                        $form.find('.checkbox-label input').prop('checked', false);\n    \n                        $form.find('input[type=\"email\"]').on('input', e => {\n                            if (e.delegateTarget.checkValidity()) {\n                                $form.find('.privacy-label').removeClass('hidden');\n                            }\n                        })\n    \n                        $form.find('.privacy-label input').on('change', e => {\n                            $form.find('.newsletter-label').removeClass('hidden');\n                        })\n    \n                        const removeNumInputError = (msg) => {\n                            $form.find('.num-input-error').remove();\n                        }\n                        const addNumInputError = (msg) => {\n                            removeNumInputError();\n                            $numInput.after(`<small class=\"num-input-error\">${msg}<\/small>`);\n                        }\n                        $numInput.on('change', e => {\n                            removeNumInputError();\n                            const $target = $(e.delegateTarget);\n                            const newValue = $target.val();\n                            if(Number.parseInt(newValue).toString() !== newValue) {\n                                $target.val(Number.parseInt(newValue));\n                                addNumInputError('Betrag muss rund und gr\u00f6\u00dfer 2\u20ac sein');\n                            } else if (Number.parseInt(newValue) < 2) {\n                                $target.val(2);\n                                addNumInputError('Betrag muss gr\u00f6\u00dfer 2\u20ac sein');\n                            }\n                        })\n    \n                        $form.find('.donate-btn-holder button').on('click', e => {\n                            $form.find('.donate-btn-holder button').removeClass('selected');\n                            const selected_value = $(e.delegateTarget).attr('value');\n                            $form.find('.donate-btn-holder button[value=\"' + selected_value + '\"]').addClass('selected');\n                            if (selected_value === 'free') {\n                                \/\/ $numInput.removeClass('hidden');\n                            } else {\n                              $numInput.addClass('hidden');\n                              $numInput.val(selected_value);\n                            }\n                            $form.change();\n                        });\n\n                        $form.find('.donate-type-btn-holder button').on('click', e => {\n                            $form.find('.donate-type-btn-holder button').removeClass('selected');\n                            const selected_value = $(e.delegateTarget).attr('value');\n                            $form.find('.donate-type-btn-holder button[value=\"' + selected_value + '\"]').addClass('selected');\n                            if (selected_value === 'free') {\n                              \/\/ some code\n                            } else {\n                              \/\/ $numInput.addClass('hidden');\n                              \/\/ $numInput.val(selected_value);\n                              \/\/ $form.change()\n                            }\n                            $form.change();\n                        });\n    \n                        const setDonateButtonUrl = () => {\n                            const type = jQuery('.donate-type-btn-holder .donate-select-btn.selected').attr('value');\n                            const amount = jQuery('.donate-btn-holder .donate-select-btn.selected').attr('value');\n                            const rawMail = $form.find('input[type=\"email\"]').val();\n                            const mail = encodeURIComponent(rawMail);\n                            const newsletter = $form.find('.newsletter-label input').is(':checked') ? '1' : '0';\n                            const page = site.post.id;\n                            const categories = encodeURIComponent(JSON.stringify(site.post.categories));\n                            console.log('should be setting to amount', amount)\n                            const amountUrlMapping = {\n                              onetime: {\n                                '5': 'https:\/\/buy.stripe.com\/8wMbKR6pi4tm2pa9AA',\n                                '10': 'https:\/\/buy.stripe.com\/4gw8yFeVOcZS1l69AB',\n                                '20': 'https:\/\/buy.stripe.com\/7sIcOV6pibVO7Ju8wy',\n                                '100': 'https:\/\/buy.stripe.com\/6oEcOV4ha1ha2pa3cf',\n                                'free': 'https:\/\/buy.stripe.com\/7sIaGN9BuaRK4xi5ko',\n                              },\n                              monthly: {\n                                '5': 'https:\/\/buy.stripe.com\/28o0297tm3pigg0dQW',\n                                '10': 'https:\/\/buy.stripe.com\/eVaaGN9Bue3W3te7sC',\n                                '20': 'https:\/\/buy.stripe.com\/aEUbKRdRKgc42pa8wF',\n                                '100': 'https:\/\/buy.stripe.com\/4gwg179BubVO4xi7sD',\n                                'free': 'https:\/\/buy.stripe.com\/14k5mt9Bu5xq6Fq28g',\n                              },\n                              yearly: {\n                                '5': 'https:\/\/buy.stripe.com\/14k16d7tmf809RCfZa',\n                                '10': 'https:\/\/buy.stripe.com\/8wMbKRcNG7FyfbW4gt',\n                                '20': 'https:\/\/buy.stripe.com\/00g8yF14Y2leaVGaES ',\n                                '100': 'https:\/\/buy.stripe.com\/dR67uB8xq4tmgg0bIX',\n                                'free': 'https:\/\/buy.stripe.com\/dR6dSZcNG4tm0h228o',\n                              }\n                            }\n                            \/\/ for (const amount in amountUrlMapping[type]) {\n                            \/\/   amountUrlMapping[type][amount] ? $form.find(`.donate-select-btn[value=\"${amount}\"]`).show() : $form.find(`.donate-select-btn[value=\"${amount}\"]`).hide();\n                            \/\/ }\n                            $form.find('a[type=\"button\"]').attr('href', amountUrlMapping[type][amount]);\n                            $('a[type=\"button\"]').off('click');\n                        \n                            if ($form[0].checkValidity() && amountUrlMapping[type][amount]) {\n                                $form.find('a[type=\"button\"]').removeClass('disabled')\n\n                                $('a[type=\"button\"]').on('click', e => {\n                                    \/\/ In a timeout, so the href keeps being the right one while the a click is handled by the browser\n                                    setTimeout(() => {\n                                        if(mauticApi && typeof mauticApi.send === 'function')\u00a0{\n                                            console.log('Sending to mautic ', {email: rawMail, is_newsletter: newsletter})\n                                            mauticApi.send({email: rawMail, is_newsletter: newsletter, source: \"Spende\"});\n                                        }\n                                        if (typeof gtag === 'function') {\n                                            gtag('event', 'donation_submitted', {\n                                                event_category: 'donation',\n                                                event_label: 'form_submitted',\n                                                value: Number.parseInt(amount),\n                                                post: page,\n                                                category_slugs: categories,\n                                            });\n                                        }\n                                        \/*\n                                        Modal bleibt offen\n                                        $(\".mollie-donation-modal\").removeAttr(\"data-modal-opened\");\n                                        $(\".mollie-donation-modal\").removeAttr(\"open\");*\/\n                                        $form.find('button[value=\"' + default_value + '\"]').click()\n                                        $form.find('input[type=\"email\"]').val('')\n                                        $form.find('.checkbox-label').addClass('hidden');\n                                        $form.find('.checkbox-label input').prop('checked', false);\n                                        $form.change();\n                                    }, 100);\n                                });\n                            } else {\n                                $('a[type=\"button\"]').on('click', e => {\n                                    e.preventDefault();\n                                    $form[0].reportValidity();\n                                });\n                                $form.find('a[type=\"button\"]').addClass('disabled')\n                            }\n                        }\n                        setDonateButtonUrl();\n    \n                        $form.on('change', setDonateButtonUrl);\n                    }\n                });\n            })(jQuery);\n          });\n        <\/script>\n    <\/div><\/div>[\/vc_column][\/vc_row]<\/p>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>Es gibt einen Satz, den man in Br\u00fcssel, Berlin und Paris in verschiedenen Variationen h\u00f6rt, der aber immer dasselbe bedeutet: \u201eDie Brandmauer h\u00e4lt.\u201c Am vergangenen Sonntag konnte man in Echtzeit beobachten, was dieser Satz in der Praxis hei\u00dft und warum er zugleich stimmt und in die Irre f\u00fchrt.<\/p>\n","protected":false},"author":13,"featured_media":562788,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_wp_rev_ctl_limit":""},"categories":[12],"tags":[],"class_list":["post-651465","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-meinung"],"acf":[],"_links":{"self":[{"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/posts\/651465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/comments?post=651465"}],"version-history":[{"count":3,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/posts\/651465\/revisions"}],"predecessor-version":[{"id":651478,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/posts\/651465\/revisions\/651478"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/media\/562788"}],"wp:attachment":[{"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/media?parent=651465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/categories?post=651465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/tags?post=651465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}