/*
Theme Name: SMD-IT
Template: twentytwentyfive
Description: Child-Theme von Twenty Twenty-Five für smd-it.de – 1:1-Nachbau des bisherigen Divi-Layouts mit Core-Blöcken. Lokale Schriften (Share Tech, Open Sans) und lokale Symbolschriften (Auszug ETmodules aus Divi, Font Awesome Free Solid).
Version: 2.0.0
Text Domain: smd-it
License: GNU General Public License v2 or later
*/

/*
 * Aufbau: Die Startseite bildet das Divi-Raster nach (Abschnitt > Zeile > Spalte > Modul).
 * Alle Masse (Prozent-Abstaende, Spaltenbreiten, Umbrueche bei 980/767/479 px, 1350 px) entsprechen
 * den Divi-Regeln der Live-Seite, damit die Darstellung pixelgleich bleibt.
 */

/* ---------- Symbolschriften (nur die verwendeten Zeichen) ---------- */
@font-face {
	font-family: "SMD ETmodules";
	src: url("assets/fonts/etmodules-auszug.woff") format("woff");
	font-weight: 400; font-style: normal; font-display: block;
}
@font-face {
	font-family: "SMD FontAwesome";
	src: url("assets/fonts/fa-solid-auszug.woff") format("woff");
	font-weight: 900; font-style: normal; font-display: block;
}/* ---------- Grundlagen wie Divi ---------- */



body {
	margin: 0;
	background-color: #dd3333;
	color: #666;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
body .wp-site-blocks { padding: 0 !important; }
body .wp-site-blocks *, body .wp-site-blocks *::before, body .wp-site-blocks *::after { box-sizing: border-box; }
body .wp-site-blocks :where(p, h1, h2, h3, h4, h5, h6, figure, ul, ol, li, form) { margin: 0; padding: 0; }
body .wp-site-blocks a { text-decoration: none; }/* Divi kennt kein text-wrap: pretty/balance (WordPress-Standard) - sonst andere Zeilenumbrueche */


body .wp-site-blocks * { text-wrap-style: auto !important; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body .wp-site-blocks img { max-width: 100%; height: auto; vertical-align: baseline; }
body .wp-site-blocks p { padding-bottom: 1em; }
body .wp-site-blocks p:last-of-type { padding-bottom: 0; }
body .wp-site-blocks :where(h1, h2, h3, h4, h5, h6) {
	color: #333; padding-bottom: 10px; line-height: 1em; font-weight: 500; letter-spacing: normal;
}
body .wp-site-blocks .smd-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
body .wp-site-blocks [id] { scroll-margin-top: 54px; }

body .wp-site-blocks .smd-icon { speak: never; font-weight: 400; font-style: normal; font-variant: normal; line-height: 1; text-transform: none; display: inline-block; direction: ltr; -webkit-font-smoothing: antialiased; }
body .wp-site-blocks .smd-et { font-family: "SMD ETmodules" !important; font-weight: 400 !important; }
body .wp-site-blocks .smd-fa { font-family: "SMD FontAwesome" !important; font-weight: 900 !important; }/* ---------- Kopfbereich (Divi: #top-header + #main-header, fixiert) ---------- */



body .wp-site-blocks > header.wp-block-template-part { position: relative; height: 111px; margin: 0; }/* Divi verschiebt den Seiteninhalt beim fixierten Kopf um die Schrumpfhoehe (-27 px) und danach um -1 px */


body .wp-site-blocks { transition: margin-top .4s; overflow-y: hidden; }
body.smd-war-fixiert:not(.smd-unten) .wp-site-blocks { margin-top: -1px; }
body.smd-fixiert .wp-site-blocks { margin-top: -27px; }
body .wp-site-blocks .smd-container { width: 80%; max-width: 1080px; margin: auto; position: relative; }
body .wp-site-blocks .smd-container::after { content: ""; display: block; clear: both; }

body .wp-site-blocks .smd-topleiste {
	position: fixed; top: 0; left: 0; right: 0; z-index: 100000;
	background-color: #e02b20; color: #fff; font-size: 12px; line-height: 1em;
	transition: background-color .4s, transform .4s, opacity .4s ease-in-out;
}
body .wp-site-blocks .smd-topleiste .smd-container { padding-top: .75em; font-weight: 600; }
body .wp-site-blocks .smd-topleiste .smd-info { float: left; display: block; padding-bottom: .75em; line-height: 1em; }
body .wp-site-blocks .smd-topleiste a { color: #fff; }
body .wp-site-blocks .smd-topleiste a:hover { opacity: .7; transition: all .4s ease-in-out; }
body .wp-site-blocks .smd-tel, body .wp-site-blocks .smd-mail { position: relative; }
body .wp-site-blocks .smd-tel { margin-right: 13px; }
body .wp-site-blocks .smd-tel::before, body .wp-site-blocks .smd-mail::before { font-family: "SMD ETmodules"; font-weight: 400; speak: never; }
body .wp-site-blocks .smd-tel::before { content: "\e090"; position: relative; top: 2px; margin-right: 2px; }
body .wp-site-blocks .smd-mail::before { content: "\e076"; margin-right: 4px; }

body .wp-site-blocks .smd-kopfzeile {
	position: fixed; top: 31px; left: 0; width: 100%; z-index: 99999;
	background-color: #fff; line-height: 23px; font-weight: 500;
	box-shadow: 0 1px 0 rgba(0,0,0,.1);
	transition: background-color .4s, color .4s, transform .4s, opacity .4s ease-in-out;
}
body .wp-site-blocks .smd-kopfzeile .smd-container { z-index: 99; }
body .wp-site-blocks .smd-kopfzeile .wp-block-site-logo {
	position: absolute; top: 0; left: 0; height: 100%; width: 100%; margin: 0; line-height: 23px;
	
}
body .wp-site-blocks .smd-kopfzeile .wp-block-site-logo::before { content: ""; display: inline-block; height: 100%; width: 0; vertical-align: middle; }
body .wp-site-blocks .smd-kopfzeile .wp-block-site-logo a { margin-left: .2598em; }
body .wp-site-blocks .smd-kopfzeile .wp-block-site-logo img {
	width: auto !important; height: auto !important; max-height: 54%; display: inline-block; vertical-align: middle;
	
}
body .wp-site-blocks .smd-kopfzeile .wp-block-site-logo a { display: inline; }

body .wp-site-blocks .smd-kopfzeile .smd-navigation {
	float: right; padding-top: 33px; font-weight: 600; position: relative; z-index: 2;
	
}
body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation__container {
	display: block !important; float: left; line-height: 0; gap: 0 !important; list-style: none; margin: 0; padding: 0;
}
body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation-item {
	display: inline-block !important; font-size: 14px; line-height: 1em; padding-right: 22px; margin-right: .2598em; position: relative;
}
body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation-item:last-child { padding-right: 0; margin-right: 0; }
body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation-item__content {
	display: block; padding: 0 0 33px !important; color: rgba(0,0,0,.6); position: relative;
	transition: opacity .4s ease-in-out, background-color .4s ease-in-out;
}
body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation-item__content:hover { opacity: .7; text-decoration: none; }
body .wp-site-blocks .smd-menueknopf { display: none; }/* Schrumpfen beim Scrollen (Divi: .et-fixed-header); Uebergang nur waehrend des Umschaltens aktiv */



body.smd-kopf-trans .smd-kopfzeile .smd-navigation { transition: padding-top .4s ease-in-out; }
body.smd-kopf-trans .smd-kopfzeile .smd-navigation .wp-block-navigation-item__content { transition: opacity .4s ease-in-out, background-color .4s ease-in-out, padding .4s ease-in-out; }
body.smd-kopf-trans .smd-kopfzeile .wp-block-site-logo img { transition: max-height .4s ease-in-out; }
body.smd-fixiert .smd-kopfzeile { box-shadow: 0 0 7px rgba(0,0,0,.1) !important; }
body.smd-fixiert .smd-kopfzeile .smd-navigation { padding-top: 20px; }
body.smd-fixiert .smd-kopfzeile .smd-navigation .wp-block-navigation-item__content { padding-bottom: 20px !important; }/* ---------- Abschnitte, Zeilen, Spalten (Divi-Raster) ---------- */



body .wp-site-blocks :where(.smd-start .wp-block-post-content), body .wp-site-blocks :where(.smd-start .wp-block-post-content) > * { margin: 0; }
body .wp-site-blocks .smd-sec { position: relative; background-color: #fff; background-position: 50%; background-size: cover; background-repeat: no-repeat; padding: 27px 0; }
body .wp-site-blocks .smd-sec.smd-fw { padding: 0; }
body .wp-site-blocks .smd-row { width: 80%; max-width: 1080px; margin: auto; position: relative; padding: 27px 0; }
body .wp-site-blocks .smd-row::after { content: ""; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; width: 0; }
body .wp-site-blocks .smd-col { float: left; position: relative; z-index: 2; min-height: 1px; margin-right: 5.5%; background-size: cover; background-position: 50%; }
body .wp-site-blocks .smd-col:last-child { margin-right: 0 !important; }
body .wp-site-blocks .smd-c44 { width: 100%; } body .wp-site-blocks .smd-c35 { width: 57.8%; } body .wp-site-blocks .smd-c25 { width: 36.7%; } body .wp-site-blocks .smd-c13 { width: 29.6667%; }
body .wp-site-blocks .smd-c23 { width: 64.833%; } body .wp-site-blocks .smd-c14 { width: 20.875%; } body .wp-site-blocks .smd-c34 { width: 73.625%; }
body .wp-site-blocks .smd-mod { position: relative; }
body .wp-site-blocks .smd-c44 > .smd-mod:not(:last-child) { margin-bottom: 2.75%; }
body .wp-site-blocks .smd-c13 > .smd-mod:not(:last-child) { margin-bottom: 9.27%; }

@media (min-width: 981px) and (max-width: 1349px) {
	body .wp-site-blocks .smd-sec { padding: 2% 0; }
	body .wp-site-blocks .smd-row { padding: 2% 0; }
}/* Typografie der Textmodule */



body .wp-site-blocks .smd-text { font-family: "Open Sans", Helvetica, Arial, Lucida, sans-serif; font-size: 16px; line-height: 1.8em; overflow-wrap: break-word; }
body .wp-site-blocks .smd-h2 { font-family: "Share Tech", Helvetica, Arial, Lucida, sans-serif; font-size: 48px; line-height: 1.4em; }
body .wp-site-blocks .smd-h2-oben { margin-top: 3px; }
body .wp-site-blocks .smd-name { font-family: "Open Sans", Helvetica, Arial, Lucida, sans-serif; font-size: 16px; line-height: 1.8em; font-weight: 700; color: #666; padding-bottom: 1em; }
body .wp-site-blocks .smd-name-luecke { padding-bottom: 1.8em; }
body .wp-site-blocks .smd-blocksatz { text-align: justify; }/* ---------- Hero (Abschnitt 0) ---------- */



body .wp-site-blocks .smd-fwh { position: relative; padding: 50px 0; background-position: 50%; background-size: cover; }
body .wp-site-blocks .smd-fwh0 { padding-top: 10vw; padding-bottom: 10vw; background-image: linear-gradient(140deg, #e02b20 0%, rgba(41,17,96,.8) 100%); }
body .wp-site-blocks .smd-fwh-c { position: relative; z-index: 3; width: 80%; max-width: 1080px; margin-left: auto; margin-right: auto; }
body .wp-site-blocks .smd-fwh-c.smd-center { display: flex; flex-flow: row wrap; justify-content: center; }
body .wp-site-blocks .smd-fwh-c.smd-center > .smd-fwh-inhalt { width: 80%; max-width: 800px; margin: 20px auto; padding: 10px; text-align: center; align-self: center; }
body .wp-site-blocks .smd-fwh0 h1 { font-family: "Share Tech", Helvetica, Arial, Lucida, sans-serif; font-size: 63px; line-height: 1.2em; text-align: center; color: #fff; }/* Parallax-Ebene (Divi "True Parallax": Hoehe = Fenster * 0,3 + Abschnitt, Versatz per Skript) */



body .wp-site-blocks .smd-px-wrap { position: absolute; inset: 0; overflow: hidden; }
body .wp-site-blocks .smd-px-bg { position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; display: block; background-repeat: no-repeat; background-position: top; background-size: cover; }
body .wp-site-blocks .smd-hero .smd-px-bg, html:not(.smd-js) .smd-hero { background-image: url("assets/bilder/hg-netzwerk.webp"); }
body .wp-site-blocks .smd-band .smd-px-bg, html:not(.smd-js) .smd-band { background-image: url("assets/bilder/hg-hardware.webp"); }/* ---------- Abschnitt 1: Warum + Ueber uns ---------- */



body .wp-site-blocks .smd-c35 > .smd-mod:not(:last-child) { margin-bottom: 4.758%; }
body .wp-site-blocks .smd-bild0 { margin-top: 47px !important; text-align: left; line-height: 0; }
body .wp-site-blocks .smd-bild { line-height: 0; position: relative; display: block; }
body .wp-site-blocks .smd-bild img { width: 100%; height: auto; position: relative; }
body .wp-site-blocks .smd-innenschatten::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; pointer-events: none; box-shadow: inset 0 0 18px 0 #fff; }/* Abschnitt 2 (David Dienst) */



body .wp-site-blocks .smd-sec2 { padding: 0; margin-top: -11px; }
body .wp-site-blocks .smd-sec2 > .smd-row { min-height: 335.6px; margin-bottom: 0; }/* ---------- Abschnitt 3: Dienstleistungen (drei Kacheln) ---------- */



body .wp-site-blocks .smd-sec3 { padding-top: 23px; margin-top: -1px; }
body .wp-site-blocks .smd-sec3 .smd-h2-mitte { text-align: center; margin-top: -6px; margin-bottom: -40px; }
body .wp-site-blocks .smd-kachel { font-family: "Open Sans", Helvetica, Arial, Lucida, sans-serif; font-size: 16px; line-height: 1.8em; color: #fff; padding: 26px 30px; overflow-wrap: break-word; }
body .wp-site-blocks .smd-kachel p { color: #fff; text-align: left; max-width: 550px; margin-left: auto; margin-right: auto; }
body .wp-site-blocks .smd-kachel-1 { background-color: #e02b20; padding-bottom: 38px; }
body .wp-site-blocks .smd-kachel-2 { background-color: #000; padding-bottom: 184.6px; }
body .wp-site-blocks .smd-kachel-3 { background-color: #e02b20; border: 1px solid rgba(21,49,78,.17); padding-bottom: 153px; }
body .wp-site-blocks .smd-sec3 .smd-row:last-child .smd-mod p { text-align: center; }/* ---------- Abschnitt 4: Band "Securely Managed Data" ---------- */



body .wp-site-blocks .smd-band { margin-right: 5%; border-radius: 0 26vw 26vw 0; overflow: hidden; }
body .wp-site-blocks .smd-band .smd-px-wrap { border-radius: 0 26vw 26vw 0; }
body .wp-site-blocks .smd-fwh1 { padding-top: 100px; padding-bottom: 100px; background-image: linear-gradient(140deg, rgba(0,72,114,.9) 0%, #291160 100%); }
body .wp-site-blocks .smd-fwh-c.smd-left { display: flex; flex-flow: row; }
body .wp-site-blocks .smd-fwh-c.smd-left > .smd-fwh-cc, body .wp-site-blocks .smd-fwh-c.smd-left > .smd-fwh-ic { width: 50%; align-self: center; }
body .wp-site-blocks .smd-fwh-c.smd-left .smd-fwh-inhalt { padding: 10px 10px 10px 0; margin-left: 0; margin-right: 6%; text-align: left; }
body .wp-site-blocks .smd-fwh1 h2 { font-family: "Share Tech", Helvetica, Arial, Lucida, sans-serif; font-size: 48px; line-height: 1.2em; color: #fff; }
body .wp-site-blocks .smd-fwh-bild { text-align: center; margin-left: 2%; margin-right: 2%; line-height: 0; }
body .wp-site-blocks .smd-fwh-bild img { width: auto; max-width: 100%; height: auto; }/* ---------- Abschnitt 5: Dienstleistungs-Pillen ---------- */



body .wp-site-blocks .smd-sec5 { background-color: #edf0f2; background-image: linear-gradient(180deg, #fff 0%, #edf0f2 100%); margin-bottom: -1px; }
body .wp-site-blocks .smd-sec5 > .smd-row { max-width: 1440px; padding: 0; }
body .wp-site-blocks .smd-sec5 .smd-c14 { padding: 2.855% 0; }
body .wp-site-blocks .smd-text7 { margin-top: 71px; }
body .wp-site-blocks .smd-text7 h2 { font-family: "Share Tech", Helvetica, Arial, Lucida, sans-serif; font-size: 30px; line-height: 1.2em; }
body .wp-site-blocks .smd-innenzeile { width: 100%; position: relative; padding: 30px 0 0 !important; }
body .wp-site-blocks .smd-innenzeile::after { content: ""; display: block; clear: both; }
body .wp-site-blocks .smd-innenzeile > .smd-col { margin-right: 4.04%; }
body .wp-site-blocks .smd-innenzeile > .smd-ci14 { width: 30.6397%; }
body .wp-site-blocks .smd-innenzeile > .smd-ci44 { width: 100%; }
body .wp-site-blocks .smd-pille {
	font-family: "Open Sans", Helvetica, Arial, Lucida, sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 5px;
	border-radius: 200px; overflow: hidden; padding: 30px; background-size: cover; background-position: 50%; background-repeat: no-repeat;
}
body .wp-site-blocks .smd-pille-1 { background-image: linear-gradient(180deg, #e02b20 0%, rgba(255,255,255,0) 100%), url("assets/bilder/hg-arbeitsspeicher.webp"); }
body .wp-site-blocks .smd-pille-2 { background-image: linear-gradient(180deg, #e02b20 0%, rgba(255,255,255,0) 100%), url("assets/bilder/hg-instandsetzung.webp"); background-color: #fff; }
body .wp-site-blocks .smd-pille-3 { background-image: linear-gradient(180deg, #e02b20 0%, rgba(255,255,255,0) 100%), url("assets/bilder/hg-hardware.webp"); }
body .wp-site-blocks .smd-pille-4 { background-image: linear-gradient(270deg, rgba(255,255,255,0) 0%, #e02b20 100%), url("assets/bilder/hg-netzwerk.webp"); color: #000; }
body .wp-site-blocks .smd-blurb-inhalt { max-width: 550px; margin: 0 auto; position: relative; text-align: center; overflow-wrap: break-word; width: 100%; }
body .wp-site-blocks .smd-blurb-bild { display: inline-block; margin-bottom: 30px; line-height: 0; max-width: 100%; padding: 0; }
body .wp-site-blocks .smd-pille .smd-icon { font-size: 44px; color: #fff; }
body .wp-site-blocks .smd-pille h3 { font-family: inherit; font-size: 12px; font-weight: 700; color: #fff; line-height: 1em; padding-bottom: 10px; letter-spacing: 5px; text-transform: uppercase; text-align: center; }/* ---------- Abschnitt 6: Kontakt ---------- */



body .wp-site-blocks .smd-kontakt {
	padding: 65px 0;
	background-image: linear-gradient(140deg, #e02b20 0%, rgba(41,17,96,.8) 100%), url("assets/bilder/hg-hardware.webp") !important;
	color: #fff;
}
body .wp-site-blocks .smd-kontakt-titel { font-family: "Share Tech", Helvetica, Arial, Lucida, sans-serif; font-size: 50px; line-height: 1.2em; color: #fff; padding-bottom: 16px; overflow-wrap: break-word; }
body .wp-site-blocks .smd-c13.smd-kontakt-daten { padding-top: 120px; }
body .wp-site-blocks .smd-kontakt-daten .smd-blurb { font-family: "Open Sans", Helvetica, Arial, Lucida, sans-serif; font-size: 16px; line-height: 1.8em; color: #fff; }
body .wp-site-blocks .smd-kontakt-daten .smd-blurb-inhalt { display: table; max-width: 1100px; text-align: left; }
body .wp-site-blocks .smd-kontakt-daten .smd-blurb-bild { display: table-cell; width: 32px; line-height: 0; margin: 0; }
body .wp-site-blocks .smd-kontakt-daten .smd-icon { font-size: 28px; color: #fff; }
body .wp-site-blocks .smd-kontakt-daten .smd-blurb-text { display: table-cell; vertical-align: top; padding-left: 15px; }
body .wp-site-blocks .smd-kontakt-daten h3 { font-family: "Share Tech", Helvetica, Arial, Lucida, sans-serif; font-size: 24px; line-height: 1.2em; color: #fff; }
body .wp-site-blocks .smd-kontakt-daten a, body .wp-site-blocks .smd-kontakt-daten p { color: #fff; }/* Formular (Contact Form 7) im Divi-Aussehen */



body .wp-site-blocks .smd-formular { position: relative; }
body .wp-site-blocks .smd-kontakt .wpcf7 form { margin-left: -3%; position: relative; }
body .wp-site-blocks .smd-kontakt .wpcf7 form > div[style*="none"], body .wp-site-blocks .wpcf7 .hidden-fields-container { display: none; }
body .wp-site-blocks .smd-feld { padding: 0 0 0 3%; margin-bottom: 3%; position: relative; clear: both; }
body .wp-site-blocks .smd-feld-halb { width: 50%; float: left; }
body .wp-site-blocks .smd-feld-halb.smd-feld-rechts { clear: none; }
body .wp-site-blocks .smd-feld .wpcf7-form-control-wrap { display: block; position: relative; }
body .wp-site-blocks .smd-feld input, body .wp-site-blocks .smd-feld textarea {
	-webkit-appearance: none; appearance: none; display: block; width: 100%; margin: 0;
	border: 0; border-bottom: 2px solid #fff; border-radius: 0; background-color: transparent;
	color: #fff; font-family: "Open Sans", Helvetica, Arial, Lucida, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 2px; line-height: 1.8em;
	padding: 16px; outline: 0;
}
body .wp-site-blocks .smd-feld textarea { min-height: 150px; height: 150px; resize: vertical; }
body .wp-site-blocks .smd-feld ::placeholder { color: #fff; opacity: 1; font-weight: 700; letter-spacing: 2px; }
body .wp-site-blocks .smd-feld input:focus, body .wp-site-blocks .smd-feld textarea:focus { border-bottom-color: #ffa727; }
body .wp-site-blocks .smd-absenden { float: right; text-align: right; margin-top: -1.5%; display: flex; position: relative; }
body .wp-site-blocks .smd-kontakt .wpcf7-submit {
	-webkit-appearance: none; appearance: none; cursor: pointer; display: inline-block; margin: 0 0 0 18px; position: relative;
	color: #fff; background-color: #e02b20; border: 10px solid #e02b20; border-radius: 100px;
	font-family: "Open Sans", Helvetica, Arial, Lucida, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 5px; text-transform: uppercase;
	line-height: 1.7em; padding: .3em 1em;
	transition: color 300ms ease 0ms, background-color 300ms ease 0ms;
}
body .wp-site-blocks .smd-kontakt .wpcf7-submit:hover { background-color: #e02b20; color: #fff; }
body .wp-site-blocks .smd-kontakt .wpcf7-spinner { display: none; }
body .wp-site-blocks .smd-hinweis { position: absolute; top: 100%; right: 0; width: 100%; min-width: 280px; margin-top: 8px; font-size: 12px; line-height: 1.5; text-align: right; color: #fff; }
body .wp-site-blocks .smd-hinweis a { color: #fff; text-decoration: underline; }
body .wp-site-blocks .smd-kontakt .wpcf7-not-valid-tip { color: #fff; font-size: 12px; display: block; padding: 4px 16px 0; }
body .wp-site-blocks .smd-kontakt .wpcf7-response-output { clear: both; margin: 0 0 0 3%; padding: 6px 16px; border: 2px solid #fff; color: #fff; }
body .wp-site-blocks .smd-kontakt form.init .wpcf7-response-output, body .wp-site-blocks .smd-kontakt form.resetting .wpcf7-response-output, body .wp-site-blocks .smd-kontakt form.submitting .wpcf7-response-output { display: none; }
body .wp-site-blocks .screen-reader-response { position: absolute; overflow: hidden; clip: rect(1px,1px,1px,1px); height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; word-wrap: normal !important; }/* ---------- Fuss (Divi: #main-footer / #footer-bottom) ---------- */



body .wp-site-blocks > footer.wp-block-template-part { margin: 0; }
body .wp-site-blocks .smd-fuss { background-color: #222; }
body .wp-site-blocks .smd-fuss-unten { background-color: rgba(0,0,0,.32); padding: 15px 0 5px; }
body .wp-site-blocks p.smd-fuss-info { text-align: left; color: #fff; padding-bottom: 10px; float: left; }
body .wp-site-blocks .smd-fuss-info a { font-weight: 700; color: #fff; transition: all .4s ease-in-out; }
body .wp-site-blocks .smd-fuss-info a:hover { opacity: .7; }/* ---------- Animationen (Divi-Keyframes) ---------- */



html.smd-js .smd-ani { opacity: 0; }
body .wp-site-blocks .smd-ani.smd-laeuft { animation-duration: 1000ms; animation-fill-mode: both !important; animation-timing-function: ease-in-out; }
body .wp-site-blocks .smd-ani.smd-fold { transform-origin: center; animation-name: smd_fold; }
body .wp-site-blocks .smd-ani.smd-slideLeft { animation-name: smd_slideLeft; }
body .wp-site-blocks .smd-ani.smd-fertig { opacity: 1; }
@keyframes smd_fold { to { opacity: 1; transform: rotateY(0deg); } }
@keyframes smd_slideLeft { to { opacity: 1; transform: translateZ(0); } }
html.smd-js .smd-icon-oben { opacity: 0; }
html.smd-js .smd-icon-oben.smd-oben-an { opacity: 1; animation: smd_fadeTop 1s cubic-bezier(.77,0,.175,1) 1; }
@keyframes smd_fadeTop { 0% { opacity: 0; transform: translateY(-10%); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
	html.smd-js .smd-ani, html.smd-js .smd-icon-oben { opacity: 1 !important; animation: none !important; transform: none !important; }
}

/* ---------- Divi-Tablet (<= 980 px) ---------- */
@media (max-width: 980px) {
	body .wp-site-blocks > header.wp-block-template-part { height: 110px; position: static; }
	body .wp-site-blocks { transition: none; }
	body .wp-site-blocks .smd-topleiste { position: absolute; transition: none; }
	body .wp-site-blocks .smd-topleiste .smd-container { padding-top: 0; }
	body .wp-site-blocks .smd-topleiste .smd-info { padding-top: .75em; }
	body .wp-site-blocks .smd-kopfzeile { position: absolute; top: 31px; transition: none; }
	body .wp-site-blocks .smd-kopfzeile .wp-block-site-logo, body .wp-site-blocks .smd-kopfzeile .wp-block-site-logo img, body .wp-site-blocks .smd-kopfzeile .smd-navigation { transition: none; }
	body .wp-site-blocks .smd-kopfzeile .wp-block-site-logo img { max-width: 50%; }
	body .wp-site-blocks .smd-kopfzeile .smd-navigation { padding-top: 24px; display: block; position: static; }
	body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation { position: static; }
	body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation__container { display: none !important; }
	body .wp-site-blocks .smd-menueknopf {
		display: block; position: relative; float: right; line-height: 0; padding: 0 0 24px; margin: 0; border: 0; background: none; cursor: pointer;
		color: #e02b20; font: 400 32px/0 "SMD ETmodules";
	}
	body .wp-site-blocks .smd-menueknopf::before { content: "a"; font-size: 32px; position: relative; left: 0; top: 0; line-height: 32px; display: inline-block; }
	body.smd-menue-offen .smd-kopfzeile .smd-navigation .wp-block-navigation__container, body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation__container.smd-gleitet {
		display: block !important; float: none; position: absolute; left: 0; top: 100%; width: 100%; z-index: 9999;
		padding: 5%; background: #fff; border-top: 3px solid #e02b20; box-shadow: 0 2px 5px rgba(0,0,0,.1); line-height: 23px; overflow: hidden;
	}
	body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation__container .wp-block-navigation-item { display: block !important; padding: 0; margin: 0; font-size: 14px; line-height: 23px; }
	body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation__container .wp-block-navigation-item__content {
		padding: 10px 5% !important; border-bottom: 1px solid rgba(0,0,0,.03); color: #666 !important; font-size: 14px; line-height: 23px;
		transition: opacity .2s ease-in-out, background-color .2s ease-in-out;
	}
	body .wp-site-blocks .smd-kopfzeile .smd-navigation .wp-block-navigation__container .wp-block-navigation-item__content:hover { background-color: rgba(0,0,0,.03); opacity: .7; }

	body .wp-site-blocks .smd-sec { padding: 50px 0; }
	body .wp-site-blocks .smd-sec.smd-fw { padding: 0; }
	body .wp-site-blocks .smd-row { padding: 30px 0; }
	body .wp-site-blocks .smd-col { width: 100% !important; margin-right: 0; margin-bottom: 30px; }
	body .wp-site-blocks .smd-col:last-child { margin-bottom: 0; }
	body .wp-site-blocks .smd-c44 > .smd-mod:not(:last-child), body .wp-site-blocks .smd-c35 > .smd-mod:not(:last-child), body .wp-site-blocks .smd-c13 > .smd-mod:not(:last-child) { margin-bottom: 30px; }
	body .wp-site-blocks .smd-h2-oben { margin-top: -1px; }
	body .wp-site-blocks .smd-fwh0 { padding-top: 100px; padding-bottom: 100px; }
	body .wp-site-blocks .smd-fwh0 h1 { font-size: 37px; }
	body .wp-site-blocks .smd-bild0 { text-align: center; margin-left: auto; margin-right: auto; }
	body .wp-site-blocks .smd-sec2 { padding: 0; }
	body .wp-site-blocks .smd-sec3 { padding-top: 23px; }
	body .wp-site-blocks .smd-sec3 .smd-h2-mitte { margin-bottom: 0; }
	body .wp-site-blocks .smd-sec5 > .smd-row { padding: 0; }
	body .wp-site-blocks .smd-sec5 > .smd-row > .smd-col { padding-bottom: 0; }
	body .wp-site-blocks .smd-sec5 .smd-c14 { padding: 0; }
	body .wp-site-blocks .smd-innenzeile > .smd-col { margin-right: 0; }
	body .wp-site-blocks .smd-sec6, body .wp-site-blocks .smd-kontakt { padding: 65px 0; }
	body .wp-site-blocks .smd-c13.smd-kontakt-daten { padding-top: 0; }
	body .wp-site-blocks .smd-absenden { flex-wrap: wrap; justify-content: flex-end; }
	body .wp-site-blocks .smd-hinweis { position: static; width: 100%; min-width: 0; }
	body .wp-site-blocks p.smd-fuss-info { float: none; text-align: center; }
}
@media (max-width: 767px) {
	body .wp-site-blocks .smd-topleiste .smd-info { text-align: center; float: none; }
	body .wp-site-blocks .smd-fwh0 h1 { font-size: 20px; }
	body .wp-site-blocks .smd-h2 { font-size: 36px; }
	body .wp-site-blocks .smd-h2-oben { margin-top: -5px; }
	body .wp-site-blocks .smd-fwh1 h2 { font-size: 36px; }
	body .wp-site-blocks .smd-fwh-c.smd-left { flex-flow: column; justify-content: center; }
	body .wp-site-blocks .smd-fwh-c.smd-left > .smd-fwh-cc, body .wp-site-blocks .smd-fwh-c.smd-left > .smd-fwh-ic { width: 100%; }
	body .wp-site-blocks .smd-fwh-c.smd-left .smd-fwh-inhalt { margin: 20px 6% 20px 2%; }
	body .wp-site-blocks .smd-feld-halb { width: 100%; margin-right: 0; }
}/* ---------- Unterseiten (Impressum, Datenschutz) im Divi-Seitenraster ---------- */



body .wp-site-blocks .smd-seite { background-color: #fff; padding: 27px 0; }
body .wp-site-blocks .smd-seite > .wp-block-post-content, body .wp-site-blocks .smd-seite > .wp-block-post-title { width: 80%; max-width: 1080px; margin: 0 auto; }
body .wp-site-blocks .smd-seite { font-size: 16px; line-height: 1.8em; }
body .wp-site-blocks .smd-seite h1 { font-family: "Share Tech", Helvetica, Arial, Lucida, sans-serif; font-size: 48px; line-height: 1.4em; padding: 27px 0 10px; }
body .wp-site-blocks .smd-seite h2 { font-family: "Share Tech", Helvetica, Arial, Lucida, sans-serif; font-size: 30px; line-height: 1.3em; padding: 1em 0 10px; }
body .wp-site-blocks .smd-seite a { color: #e02b20; }
body .wp-site-blocks .smd-seite p { padding-bottom: 1em !important; }
body .wp-site-blocks .smd-seite .wp-block-post-content { padding-bottom: 27px; }

body .wp-site-blocks .smd-menueknopf:focus:not(:focus-visible) { outline: none; }
body .wp-site-blocks .smd-menueknopf:focus-visible { outline: 2px solid #e02b20; outline-offset: 2px; }
