/* ROUD-HAUS: local typography, keyboard access and resilient layout. */
html { scroll-padding-top: 130px; scroll-padding-bottom: 90px; }
body, p, .mk-fancy-title, .page-title, .mk-main-navigation, #mk-footer, #sub-footer { font-family: Arial, Helvetica, sans-serif; }
.team-member-position { color: #595959 !important; }
body { font-size: 16px !important; line-height: 1.6; }
p { line-height: 1.6; }
#theme-page p a:not(.mk-button):not(.mk-image-lightbox) { text-decoration: underline; text-underline-offset: 3px; }
#theme-page p, #theme-page li, #theme-page h1, #theme-page h2, #theme-page h3, .page-title { overflow-wrap: anywhere; }
#theme-page .mk-blockquote:has(> p[style*="color: #fff"]) { background-color: #b62b00 !important; }
#theme-page .mk-button:not(.mk-button--dimension-outline) { background-color: #0672a5 !important; border-color: #0672a5 !important; color: #fff !important; }
#theme-page .mk-button .mk-button--text { color: inherit !important; }
#theme-page .architekturstil .title2 { color: #0672a5 !important; }
button, input, select, textarea { font-family: inherit; }
a, button, input, select, textarea, [tabindex] { scroll-margin-top: 140px; scroll-margin-bottom: 100px; }
:focus-visible { outline: 3px solid #092c46 !important; outline-offset: 3px; box-shadow: 0 0 0 5px #fff !important; }
.roud-skip-link { position: fixed; left: 16px; top: -100px; z-index: 10000000; padding: 12px 20px; background: #fff; color: #092c46; border: 2px solid #092c46; font-size: 18px; font-weight: 700; }
.roud-skip-link:focus { top: 12px; }
#theme-page:focus { outline: none; }
body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #mk-page-introduce { padding: 36px 0 20px; margin: 0; background: #f3f6f8; }
body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #mk-page-introduce > .mk-grid,
body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #theme-page .theme-page-wrapper { max-width: 1100px !important; width: 100% !important; margin: 0 auto !important; box-sizing: border-box; }
body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #theme-page .theme-page-wrapper { padding: 0 !important; }
body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #mk-page-introduce > .mk-grid { padding: 0 24px !important; }
body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) h1.page-title { float: none; font: 700 clamp(26px,3vw,36px)/1.25 Arial,Helvetica,sans-serif; color: #073f67; padding: 0 !important; margin: 0 !important; overflow-wrap: anywhere; }
body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #theme-page .theme-content { width: 100%; padding: 32px 24px 56px !important; box-sizing: border-box; }
.roud-legal-content { width: 100%; max-width: none; margin: 0; font-size: 16px; line-height: 1.6; }
.roud-legal-content p, .roud-legal-content li { font-size: 1em; }
.roud-legal-content h2 { font-size: 24px; margin: 32px 0 14px; color: #073f67; }
.roud-legal-content h3 { font-size: 20px; margin: 24px 0 12px; color: #073f67; }
.roud-legal-content p, .roud-legal-content ul, .roud-legal-content ol { margin-bottom: 20px; }
.roud-legal-content li { margin-bottom: 8px; }
.roud-legal-content table { font-size: 15px; line-height: 1.5; }
.roud-legal-content th { color: #073f67; }
.roud-cookie-table-wrap { border: 1px solid #cbd6df; border-radius: 6px; overscroll-behavior-x: contain; }
.roud-cookie-table-wrap table { min-width: 650px; }
.roud-cookie-table-wrap:focus-visible { outline-offset: 2px; }
.roud-cookie-page-actions button { min-height: 44px; }
.mk-nav-responsive-link { appearance: none; border: 0; background: transparent; min-width: 44px; min-height: 44px; padding: 10px; cursor: pointer; color: #073f67; }
.mk-nav-responsive-link .mk-css-icon-menu { display: block; width: 24px; height: 22px; }
.mk-nav-responsive-link .mk-css-icon-menu > span { display: block; height: 3px; width: 24px; margin: 4px 0; background: currentColor; }
.mk-main-navigation > ul > li > a, .mk-main-navigation > ul > li > a.menu-item-link { font-family: Arial,Helvetica,sans-serif; font-size: 14px; line-height: 1.4; min-height: 44px; box-sizing: border-box; }
.header-style-1 .mk-header-bg, .mk-header .mk-header-nav-container { background-color: #0672a5 !important; }
.mk-header .mk-main-navigation { background-color: #0672a5 !important; }
.mk-main-navigation > ul > li > a { color: #fff !important; }
.mk-main-navigation .sub-menu a { color: #13354d !important; background: #fff; min-height: 44px; line-height: 1.4; }
.mk-main-navigation .menu-item-has-children { position: relative; }
.roud-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 28px; min-height: 44px; padding: 2px; border: 0; background: transparent; color: #fff; cursor: pointer; vertical-align: middle; }
.roud-submenu-toggle svg { width: 16px; height: 16px; }
.mk-main-navigation li.roud-submenu-open > .sub-menu, .mk-main-navigation li:focus-within:not(.roud-submenu-closed) > .sub-menu { display: block !important; visibility: visible !important; opacity: 1 !important; transform: none !important; }
.mk-main-navigation li.roud-submenu-closed > .sub-menu { display: none !important; }
.mk-main-navigation .sub-menu .roud-submenu-toggle { color: #13354d; }
.roud-display-settings { background: #f3f6f8; color: #13354d; border-top: 1px solid #cbd6df; padding: 20px 24px; }
.roud-display-settings-inner { max-width: 1100px; margin: auto; display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; padding-right: 70px; }
.roud-display-settings a { color: #075983; text-decoration: underline; text-underline-offset: 3px; }
#roud-accessibility-toolbar .a11y-toolbar { position: static !important; display: block !important; top: auto; width: auto; }
#roud-accessibility-toolbar .a11y-toolbar-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
#roud-accessibility-toolbar .a11y-toolbar-list-item { float: none; margin: 0; }
#roud-accessibility-toolbar .a11y-toggle { display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 8px; width: auto !important; height: auto !important; max-width: 100%; min-height: 44px; padding: 10px 14px; border: 2px solid #075983; border-radius: 6px; background: #fff; color: #075983; font: 600 16px/1.4 Arial,Helvetica,sans-serif; }
#roud-accessibility-toolbar .a11y-toggle .offscreen { position: static !important; display: inline; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; overflow: visible !important; white-space: normal !important; background: transparent; color: inherit; border: 0; padding: 0 !important; margin: 0 !important; }
#roud-accessibility-toolbar { max-width: 100%; }
#roud-accessibility-toolbar .a11y-toolbar-list-item { max-width: 100%; }
#roud-accessibility-toolbar .a11y-toggle[aria-pressed="true"] { background: #075983; color: #fff; }
#roud-accessibility-toolbar .a11y-toggle .aticon { font-size: 18px; }
#mk-footer { font-size: 16px; line-height: 1.6; }
#mk-footer p, #mk-footer li, #mk-footer .widgettitle, #sub-footer, .roud-display-settings { overflow-wrap: anywhere; }
#mk-footer .widgettitle, #mk-footer .widget-title { font-size: 17px; line-height: 1.4; }
#mk-footer .footer-buttom { background: #0672a5 !important; border-color: #0672a5 !important; min-height: 44px; }
#mk-footer .footer-buttom .mk-button--text { font-size: 14px; line-height: 1.5; }
#sub-footer { font-size: 14px; line-height: 1.6; }
#sub-footer > .mk-grid { padding-right: 90px; padding-bottom: 20px; box-sizing: border-box; }
#mk-footer-navigation ul { display: flex; flex-wrap: wrap; gap: 4px 16px; }
#mk-footer-navigation li { float: none; }
#mk-footer-navigation a { display: inline-flex; align-items: center; min-height: 44px; line-height: 1.4; color: #13354d; }
.wpcf7 p, .wpcf7 label, .wpcf7 .wpcf7-list-item-label { font-size: 16px; line-height: 1.6; }
.wpcf7 input:not([type="radio"]):not([type="checkbox"]), .wpcf7 select, .wpcf7 textarea { min-height: 44px; max-width: 100%; box-sizing: border-box; }
.wpcf7 .wpcf7-quiz-label { display: block; margin-bottom: 8px; }
.wpcf7 .wpcf7-quiz { width: 100%; }
.wpcf7 input[type="radio"], .wpcf7 input[type="checkbox"] { width: 22px; height: 22px; vertical-align: middle; margin-right: 8px; accent-color: #075983; }
.wpcf7 .wpcf7-list-item { display: block; margin: 8px 0; }
.wpcf7 .wpcf7-list-item label { display: flex; gap: 4px; align-items: center; min-height: 44px; cursor: pointer; max-width: 100%; }
.wpcf7 .wpcf7-list-item label > input { flex: 0 0 22px; }
.wpcf7 .wpcf7-list-item-label { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.wpcf7 fieldset { min-width: 0; border: 1px solid #cbd6df; border-radius: 6px; padding: 16px; margin: 0 0 24px; }
.wpcf7 legend { width: auto; max-width: 100%; padding: 0 6px; font-weight: 700; color: #13354d; font-size: 18px; line-height: 1.5; overflow-wrap: anywhere; }
.wpcf7 .roud-form-privacy { font-size: 16px; }
.wpcf7 .wpcf7-not-valid-tip { color: #ad1b1b; font-size: 16px; }
html.fontsize body { line-height: 1.6; }
html.fontsize .wpcf7 label input:not([type="radio"]):not([type="checkbox"]), html.fontsize .wpcf7 label textarea, html.fontsize .wpcf7 label select { font-size: 32px !important; }
html.fontsize .mk-main-navigation > ul > li > a { height: auto; padding-top: 12px; padding-bottom: 12px; }
html.fontsize .roud-contact-actions { position: static; display: flex; flex-wrap: wrap; width: auto; margin: 16px 24px; background: transparent; gap: 8px; }
html.fontsize .roud-contact-action { display: flex; flex: 1 1 160px; width: auto; height: auto; min-height: 60px; border-radius: 6px; padding: 12px; }
html.fontsize .roud-action-appointment > span { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
html.fontsize .add-header-height { height: auto !important; min-height: 96px; flex-wrap: wrap; }
html.fontsize .roud-header-contact { flex-wrap: wrap; padding: 12px 0; }
html.fontsize .mk-main-navigation > ul { display: flex; flex-wrap: wrap; width: 100%; }
html.fontsize .mk-main-navigation > ul > li { float: none; height: auto; }
html.fontsize .roud-header-contact .action-button { white-space: normal; height: auto; }
.cky-consent-container { max-height: calc(100dvh - 145px); overflow-y: auto; }
#ckyPreferenceCenter { width: min(730px,calc(100vw - 24px)); max-height: calc(100dvh - 90px); box-sizing: border-box; }
body.contrast #roud-accessibility-toolbar .a11y-toggle { border-color: #fff !important; }
@media (max-width: 1140px) {
  .roud-submenu-toggle { color: #13354d; }
  .mk-responsive-wrap .menu-item-link { font-size: 16px; min-height: 44px; line-height: 1.5; }
  .mk-responsive-wrap .roud-submenu-toggle { display: none; }
  .mk-responsive-wrap .mk-nav-arrow { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 90px; scroll-padding-bottom: 140px; }
  body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #mk-page-introduce { padding: 24px 0 18px; }
  body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #mk-page-introduce > .mk-grid { padding: 0 20px !important; }
  body:is(.page-id-8,.page-id-221,.page-id-3145,.page-id-3154) #theme-page .theme-content { padding: 24px 20px 40px !important; }
  #sub-footer > .mk-grid { padding: 16px 20px 72px; }
  #mk-footer-navigation { float: none; }
  #mk-footer-navigation ul { padding: 0; justify-content: flex-start; }
  .roud-display-settings-inner { padding: 0 0 65px; align-items: flex-start; }
  .roud-display-settings { padding: 20px; }
  .roud-contact-action { min-height: 58px; height: auto; line-height: 1.4; font-size: 14px; padding: 8px 2px; }
  .wpcf7 [class*="vc_col-"] { width: 100%; margin-left: 0; box-sizing: border-box; }
  .wpcf7 .vc_row { margin-left: 0; margin-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
