/* Startseite: ergaenzende, lokal begrenzte Optimierungen. */
#imContent { color:#263546; }
#imContent [id^="imTextObject_"] { line-height:1.6; }
#imContent .imHeading1 { line-height:1.25; margin-bottom:12px; }
#imTextObject_26 { box-shadow:0 12px 36px #102c4926; border-radius:8px; }
#imTextObject_26 img { margin-bottom:16px; }
.gt-contact { margin-top:22px; }
#imTextObject_26 a.gt-call { display:block; padding:13px 18px; background:#073c78; color:#fff; border-radius:5px; text-decoration:none; font-size:17px; font-weight:bold; line-height:1.45; text-align:center; }
.gt-call span { display:block; font-size:19px; }
#imTextObject_26 a.gt-email { display:inline-block; padding:12px 0 0; color:#073c78; font-size:16px; text-underline-offset:3px; }
a:focus-visible, .hamburger-button:focus-visible { outline:3px solid #d78820; outline-offset:4px; }
#imFooterObjects { display:flex; flex-wrap:wrap; gap:20px 36px; width:100%; max-width:1200px; height:auto; padding:24px; box-sizing:border-box; }
#imFooterObjects > .template-object-wrapper { position:static !important; width:auto !important; height:auto !important; flex:1 1 220px; }
#imFooterObjects > #imFooter_imTextObject_03_wrapper { flex:0 0 auto; }
#imFooter { height:auto !important; min-height:150px; }
#imFooterObjects [id^="imFooter_imTextObject"] { max-width:100%; }
#cookie-law-message { top:auto !important; bottom:16px !important; left:16px !important; width:360px !important; max-width:calc(100vw - 32px); box-sizing:border-box; border:1px solid #d3dde8; border-radius:10px; background:#fff !important; color:#263546 !important; box-shadow:0 8px 30px #142e4933 !important; }
#cookie-law-message .splashContent { background:#fff !important; color:#263546 !important; padding:18px !important; font:14px/1.55 Arial,sans-serif !important; text-align:left !important; max-height:45vh; overflow-y:auto !important; }
#cookie-law-message .imClose { background:#073c78 !important; color:white !important; border-radius:5px; min-height:44px; margin-top:12px; }
#cookie-law-message .imCloseInn { color:white !important; }
@media (max-width:719.9px) {
 #imPage { grid-template-rows:100px auto auto !important; }
 #imHeader, #imHeaderObjects { height:100px !important; }
 #imHeaderObjects { width:100% !important; }
 #imHeader_imObjectImage_05_wrapper { left:16px !important; top:12px !important; width:calc(100% - 32px) !important; }
 #imHeader_imObjectImage_05 img { max-width:100%; height:auto; }
 #imHeader_imMenuObject_04_wrapper { top:58px !important; left:16px !important; width:calc(100% - 32px) !important; height:40px !important; }
 #imCell_26 { padding:48px 16px !important; min-width:0; }
 #imTextObject_26 { padding:24px !important; width:auto !important; min-width:0; }
 #imTextObject_26 .fs16lh1-5 { font-size:19px !important; line-height:1.5 !important; }
 #imContent [id^="imCell_"] { min-width:0; }
 #imContent [id^="imTextObject_"] { overflow-wrap:break-word; }
 #imFooterObjects { padding:24px 20px; gap:18px; }
 #imFooterObjects > .template-object-wrapper { flex-basis:100%; }
 #imFooterObjects .text-inner { text-align:left !important; }
}
@media (prefers-reduced-motion:reduce) {
 *, *::before, *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
 .animable { opacity:1 !important; }
}

#imTextObject_26 { background:#fff !important; box-sizing:border-box; }
#imCellStyleGraphics_26, #imCellStyleBorders_26 { display:none !important; }

#cookie-law-message { left:auto !important; right:16px !important; overflow:hidden; }
#cookie-law-message .imCloseInn { background:#073c78 !important; border-radius:5px; padding:12px 16px !important; }
/* Symmetrische Ausrichtung der Startseiten-Kontaktkarte. */
#imTextObject_26, #imTextObject_26 .text-inner, #imTextObject_26 .imHeading1, #imTextObject_26 .imHeading4 { text-align:center !important; }
#imTextObject_26 img { margin-left:auto; margin-right:auto; }
#imTextObject_26 .gt-contact { width:100%; box-sizing:border-box; }
#imTextObject_26 .gt-email { text-align:center; }

/* Beschreibung in zwei zentrierten Zeilen. */
#imTextObject_26 .gt-tagline { display:block; font-size:16px !important; line-height:1.5 !important; }
#imTextObject_26 .gt-tagline > span { display:block; }
@media(max-width:719.9px) { #imTextObject_26 .gt-tagline { font-size:clamp(12px,3.9vw,16px) !important; } }


/* Kompakte Abschnitte ohne kuenstliche Vollbild-Leerflaechen. */
#imContent .animable { opacity:1 !important; animation:none !important; transform:none !important; }
#imCell_45 { padding-top:36px !important; padding-bottom:20px !important; }
#imCell_38, #imCell_39, #imCell_40 { padding-bottom:32px !important; }

#imContent .animable { visibility:visible !important; }

/* Inhaltsabhaengige Zeilenhoehen statt leerer Vollbildabschnitte. */
#imContent .imPageRow { min-height: 0; }
