#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
/* Physio Oelper: used presentation rules from the verified 4.1.3 live baseline.
 * No old grid or JavaScript runtime is included. Selectors mapped to TU 4.4.2. */
* { box-sizing: border-box; }
a, abbr, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, input, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, spanstrike, strong, sub, summary, sup, table, textarea, tbody, td, tfoot, th, thead, time, tr, tt, ul, var, video { border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-width: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-kerning: inherit; font-feature-settings: inherit; font-size-adjust: inherit; font-language-override: inherit; font-size: 100%; margin: 0px; padding: 0px; vertical-align: baseline; }
#container::after, article::after, aside::after, blockquote::after, details::after, figcaption::after, figure::after, footer::after, header::after, hgroup::after, menu::after, nav::after, q::after, section::after, .custom::after { clear: both; content: ""; display: table; }
[class*="ce_"], [class*="content-"], [class*="mod_"] { position: relative; z-index: 0; }
html { min-height: 100%; overflow-y: scroll; position: relative; scroll-behavior: smooth; }
html.active { overflow-y: hidden; }
article, aside, figcaption, figure, footer, header, main, nav, section, .custom { display: block; }
fieldset, img, iframe { border: 0px; }
img { border: 0px; display: block; height: auto; width: 100%; vertical-align: bottom; }
.invisible, .anker, .content-anchor-element { border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 0px; line-height: 0; margin: 0px; overflow: hidden; padding: 0px; position: absolute; width: 0px; }
.cover { background-size: cover !important; }
[class*="content-"], [class*="ce_"] { overflow: hidden; }
body, button, input:not([type="radio"]):not([type="checkbox"]), textarea, select { font-family: "Open Sans", sans-serif; font-size: 1rem; font-style: normal; line-height: 1.25; overflow-wrap: break-word; }
h1, h2, h3, h4, h5, h6, p, ul, ol { padding: 7px 0px; }
h1, h2, h3, h4, h5, h6, strong, .content-headline.standard { font-weight: 700; }
h1, .content-headline.standard.headline-h1 { font-size: 2rem; }
h2, .content-headline.standard.headline-h2 { font-size: 1.5rem; }
h3, .content-headline.standard.headline-h3 { font-size: 1.375rem; }
h4, .content-headline.standard.headline-h4 { font-size: 1.25rem; }
button, p.button, input, select, textarea { font-family: inherit; font-size: 99%; font-weight: inherit; line-height: 1; }
.icon i, .icon svg, .icon span { border-color: transparent; border-style: solid; border-width: inherit; line-height: 1.25; overflow: visible; padding: 14px; }
.icon-xlg i, .icon-xlg svg, .icon-xlg span { font-size: 3.75rem; height: 94px; width: 94px; }
.color-white, button.button-dark, .button-dark p.button a, .button-dark button.submit, .content-toplink.button-dark a, .button-dark p.button a:hover, .content-toplink.button-dark a:hover, button.button-success, .button-success p.button a, .button-success button.submit, .content-toplink.button-success a, .button-success p.button a:hover, .content-toplink.button-success a:hover, button.button-info, .button-info p.button a, .button-info button.submit, .content-toplink.button-info a, .button-info p.button a:hover, .content-toplink.button-info a:hover, button.button-danger, .button-danger p.button a, .button-danger button.submit, .content-toplink.button-danger a, .button-danger p.button a:hover, .content-toplink.button-danger a:hover, button.button-primary, .button-primary p.button a, .button-primary button.submit, .content-toplink.button-primary a, .button-primary p.button a:hover, .content-toplink.button-primary a:hover, button.button-secondary, .button-secondary p.button a, .button-secondary button.submit, .content-toplink.button-secondary a, .button-secondary p.button a:hover, .content-toplink.button-secondary a:hover, .icon-white i, i.icon-white, .content-text abbr[title]:hover::before, .content-text kbd, kbd a, kbd a:hover, #colorbox #cboxClose::after, #colorbox #cboxPrevious::after, #colorbox #cboxNext::after, #colorbox #cboxCurrent, #colorbox #cboxTitle, .content-hinweisbox.hinweisbox-black, .content-teaser-image .scrolldown.color-white a, .content-quote-box.icon-white blockquote::before, nav[data-pagination] ol li a.active, .pagination ul li strong, .mod_calendar .calendar-body > div > div.today .label { color: rgb(255, 255, 255); }
.invert, .invert h1, .invert h1 a, .invert h2, .invert h2 a, .invert h3, .invert h3 a, .invert h4, .invert h4 a, .invert h5, .invert h5 a, .invert h6, .invert h6 a, .invert i:not(.icon-white, .icon-light, .icon-dark, .icon-black, .icon-success, .icon-info, .icon-warning, .icon-danger, .icon-primary, .icon-secondary), .invert li a, .invert p, .invert p:not(.button) a, .invert strong, .content-teaser-box.button-link .invert a, .content-teaser-box.button-link .invert a:hover, .content-teaser-box.button-klammer-link .invert a, .content-teaser-box.button-klammer-link .invert a:hover, .content-teaser-box .box-outside .invert-outside, .content-teaser-box .box-outside .invert-outside h1, .invert-outside h1 a, .content-teaser-box .box-outside .invert-outside h2, .invert-outside h2 a, .content-teaser-box .box-outside .invert-outside h3, .invert-outside h3 a, .content-teaser-box .box-outside .invert-outside h4, .invert-outside h4 a, .content-teaser-box .box-outside .invert-outside h5, .invert-outside h5 a, .content-teaser-box .box-outside .invert-outside h6, .invert-outside h6 a, .content-teaser-box .box-outside .invert-outside i, .invert-outside i a, .content-teaser-box .box-outside .invert-outside li a, .content-teaser-box .box-outside .invert-outside p, .invert-outside p:not(.button) a, .content-teaser-box .box-outside .invert-outside strong, .content-teaser-box.button-link .box-outside .invert-outside a, .content-teaser-box.button-link .box-outside .invert-outside a:hover, .content-teaser-box.button-klammer-link .box-outside .invert-outside a, .content-teaser-box.button-klammer-link .box-outside .invert-outside a:hover, .content-text-image-tile .invert a.button-link, .content-text-image-tile .invert a.button-link:hover, .content-text-image-tile .invert a.button-klammer-link, .content-text-image-tile .invert a.button-klammer-link:hover { color: rgb(255, 255, 255) !important; }
.color-dark, body, input:not([type="radio"]):not([type="checkbox"]), textarea, select, button.button-light, .button-light p.button a, .button-light button.submit, .content-toplink.button-light a, .button-light p.button a:hover, .content-toplink.button-light a:hover, button.button-default, .button-default p.button a, .button-default button.submit, .content-toplink.button-default a, .button-default p.button a:hover, .content-toplink.button-default a:hover, button.button-warning, .button-warning p.button a, .button-warning button.submit, .content-toplink.button-warning a, .button-warning p.button a:hover, .content-toplink.button-warning a:hover, #nav-top a, #nav-top strong, #nav-main a, #nav-main strong, #nav-main ul.level_1 > li.submenu > a::after, #nav-main ul.level_1 > li.submenu > strong::after, .nav-sub a, .nav-sub strong, .content-hinweisbox.hinweisbox-white, .icon-dark i, i.icon-dark, .content-team-box .content-headline a, .content-teaser-image .scrolldown.color-dark a, .content-teaser-box .content-headline a, .content-teaser-box .highlight, .content-quote-box.icon-dark blockquote::before, .mod_search h3 a, .mod_newsarchive h2 a, .mod_newslist h2 a { color: rgb(52, 58, 64); }
.color-black, .icon-black i, i.icon-black, #toggle-nav::after, .content-teaser-image .scrolldown.color-black a, .content-quote-box.icon-black blockquote::before { color: rgb(0, 0, 0); }
.color-danger, .icon-danger i, i.icon-danger, .content-teaser-image .scrolldown.color-danger a, .content-quote-box.icon-danger blockquote::before, span.mandatory { color: rgb(220, 53, 69); }
.color-primary, a, button.button-link, .button-link p.button a, .button-link button.submit, .content-toplink.button-link a, button.button-klammer-link, .button-klammer-link p.button a, .button-klammer-link button.submit, .content-toplink.button-klammer-link a, .icon-primary i, i.icon-primary, .content-teaser-image .scrolldown.color-primary a, .content-quote-box.icon-primary blockquote::before { color: rgb(0, 123, 255); }
.hinweisbox-primary, a:hover, button.button-link:hover, .button-link p.button a:hover, .button-link button.submit:hover, .content-toplink.button-link a:hover, button.button-klammer-link:hover, .button-klammer-link p.button a:hover, .button-klammer-link button.submit:hover, .content-toplink.button-klammer-link a:hover { color: rgb(0, 64, 133); }
.bg-white, button.button-default, .button-default p.button, .button-default button.submit, .content-toplink.button-default, .content-hinweisbox.hinweisbox-white, .bg-icon-white i, .bg-icon-white svg, #nav-main ul.level_2, #nav-main ul.level_4, .nav-sub ul.level_1, .nav-sub ul.level_3, .content-download::before, .content-downloads::before, .content-text hr.bg-white, .content-text-image-tile .box-img.arrow::before, .content-text-image-tile.bg-white .box-img.arrow::before, .content-zeitstrahl.timeline-white::before, .content-zeitstrahl.timeline-white .box-text::before, .content-zeitstrahl .box-date::before, .content-zeitstrahl.bg-icon-white .box-date::before, .content-quote-box.zitatbox-3 blockquote::before, .content-quote-box.zitatbox-3.bg-icon-white blockquote::before, .layout_latest, .switch-dark-mode .slider::before { background: rgb(255, 255, 255); }
.bg-light, button.button-light, .button-light p.button, .button-light button.submit, .content-toplink.button-light, #nav-main ul.level_3, .nav-sub ul.level_2, #nav-breadcrumb ul, .filter_reset, .content-code code.hljs, .content-filterumschlag .filter-controls li, .content-gallery figcaption, .content-hinweisbox.hinweisbox-light, .content-hinweisbox.hinweisbox-secondary-light, .bg-icon-light i, .bg-icon-light svg, .content-accordion .handorgel__header button, .content-image figcaption, .content-tabs.tabs-1 > label, .content-text hr, .content-text hr.bg-light, .content-text pre, .content-text-image-tile.bg-light .box-img.arrow::before, .content-zeitstrahl.bg-icon-light .box-date::before, .content-zeitstrahl.timeline-light::before, .content-zeitstrahl.timeline-light .box-text::before, .content-quote-box.zitatbox-3.bg-icon-light blockquote::before, .mod_calendar .calendar-head .label, .mod_calendar .calendar-body > div > div .label, nav[data-pagination] ol li a:hover, .pagination ul li a:hover, tfoot td, th { background: rgb(233, 236, 239); }
.bg-black, .content-hinweisbox.hinweisbox-black, .bg-icon-black i, .bg-icon-black svg, #colorbox #cboxClose::after, #colorbox #cboxPrevious::after, #colorbox #cboxNext::after, #colorbox #cboxTitle, .content-text hr.bg-black, .content-text-image-tile.bg-black .box-img.arrow::before, .content-zeitstrahl.bg-icon-black .box-date::before, .content-zeitstrahl.timeline-black::before, .content-zeitstrahl.timeline-black .box-text::before, .content-quote-box.zitatbox-3.bg-icon-black blockquote::before { background: rgb(0, 0, 0); }
@media screen and (max-width: 779px) {
#nav-main, #nav-main ul.level_3 { background: rgb(255, 255, 255); }
#nav-main ul.level_2, #nav-main ul.level_4 { background: rgb(233, 236, 239); }
}
.border-default, button.button-default, .button-default p.button, .button-default button.submit, .content-toplink.button-default, th, td, input, textarea, select, .content-accordion .handorgel__header button, .content-code code, .content-filterumschlag .filter-controls li, .content-gallery a img, .content-gallery figcaption, .content-hinweisbox .border-default i, .content-hinweisbox .border-default svg, .content-icon-box .border-default i, .content-icon-box .border-default svg, .content-tabs.tabs-1 > label, .content-team-box.border-default, .content-team-box .border-default img, .content-text pre, .content-quote-box .border-default img, .mod_calendar .calendar-head .label, .mod_calendar .calendar-body > div > div, nav[data-pagination] ol li a, .pagination ul li a { border-color: rgb(204, 204, 204); }
.content-hinweisbox.hinweisbox-primary, input:focus, textarea:focus { border-color: rgb(184, 218, 255); }
.contao-cookiebar .cc-inner { box-shadow: none; }
input:hover, textarea:hover, input:focus, textarea:focus { box-shadow: rgb(204, 229, 255) 0px 0px 2px; }
.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }
.vwrapper { display: table; height: 100%; width: 100%; }
.vtop { display: table-cell; vertical-align: top; }
.vcenter { display: table-cell; vertical-align: middle; }
.media--left:not(.media), .media--left figure { float: left; }
.media--right:not(.media), .media--right figure { float: right; }
button, p.button { background: transparent; border-color: transparent; border-style: solid; border-width: 1px; cursor: pointer; display: inline-block; height: 32px; margin: 7px 0px; text-align: center; text-decoration: none; white-space: nowrap; }
button, .button a { display: block; padding: 0px 12px; }
button:hover, .button:hover, p.button:hover a { text-decoration: none !important; }
input:not([type="radio"]):not([type="checkbox"]):not(.submit), input[class*="grid-"], textarea, select { border-style: solid; border-width: 1px; padding: 6px 12px; width: 100%; }
input.text { height: 32px; }
.content-hinweisbox .icon.circle i, .content-hinweisbox .icon.circle svg, .content-icon-box .icon.circle i, .content-icon-box .icon.circle svg, .content-icon-box .icon.circle span, .content-team-box .circle img, .content-quote-box .circle img, .zitatbox-3 blockquote::before, .content-zeitstrahl .box-date::before, .content-zeitstrahl .box-date::after, .switch-dark-mode .slider::before { border-radius: 100%; }
.opacity-after-25::after { opacity: 0.25; }
.overlay::after { background-repeat: repeat; inset: 0px; content: ""; position: absolute; z-index: -1; }
.overlay-black::after { background: url("/bundles/themeultimate/img/overlays/black.webp"); }
#wrapper { padding-bottom: 78px; padding-top: 112px; }
@media screen and (max-width: 1039px) {
#wrapper { padding-bottom: 72px; padding-top: 82px; }
}
@media screen and (max-width: 779px) {
#wrapper { padding-bottom: 105px; padding-top: 89px; }
}
@media screen and (max-width: 519px) {
#wrapper { padding-bottom: 120px; }
}
#header { height: 112px; left: 0px; position: fixed; right: 0px; top: 0px; width: 100%; z-index: 99; }
#header .logo { width: 325px; }
#nav-main-bar, #nav-main-bar .content-column-wrapper { overflow: visible; }
@media screen and (max-width: 1039px) {
#header { height: 82px; }
#header .logo { width: 200px; }
}
@media screen and (max-width: 779px) {
#header { height: 89px; }
#header .logo { margin: 14px 0px; }
}
#container, #teaser, .inside { position: relative; }
#main { width: 100%; }
#main .inside { min-height: 1px; }
#footer { bottom: 0px; clear: both; height: 78px; left: 0px; overflow: hidden; position: absolute; right: 0px; }
#footer .copyright { font-size: 0.875rem; }
#footer .content-toplink { clear: both; display: block; margin: 0px auto; padding: 0px; width: 34px; }
#footer .content-toplink a { display: block; height: 32px; padding: 6px 9px; text-decoration: none; width: 100%; }
#footer .content-toplink a::before { font-size: 1.125rem; line-height: 1; margin: 0px; position: relative; }
#footer .content-toplink span { display: none; }
@media screen and (max-width: 1039px) {
#footer { height: 72px; }
}
@media screen and (max-width: 779px) {
#footer { height: 105px; }
#footer .copyright { float: none; margin: auto; text-align: center; }
}
@media screen and (max-width: 519px) {
#footer { height: 120px; }
#footer .copyright .footer-rechte { display: block; }
}
.content-text { word-break: break-word; }
ul { list-style-type: none; }
.content-list ul, .content-table ul, .content-text ul, .mod_newsletterlist ul { list-style-type: disc; padding-left: 35px; }
.content-accordion :is(h1, h2, h3, h4, h5, h6) { font-size: 1rem; margin-bottom: 2px; padding: 0px; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
p:not(.button) a[target="_blank"]::after, .button-link p.button a[target="_blank"]::after, .content-hyperlink a[target="_blank"]::after { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-size: 0.75rem; font-weight: 700; margin-left: 3px; }
.content-toplink { padding: 7px 0px 7px 12px; }
.content-toplink a::before { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-size: 0.75rem; font-weight: 700; margin: 4px 0px 0px -12px; position: absolute; }
.content-toplink span { margin-left: 3px; }
figure { position: relative; }
.content-gallery ul { list-style: none; display: grid; gap: 14px; padding: 0px; }
.content-gallery--cols-3 ul { grid-template-columns: repeat(3, 1fr); }
@media screen and (max-width: 519px) {
.content-gallery--cols-3 ul, .content-gallery--cols-4 ul { grid-template-columns: repeat(2, 1fr); }
}
#colorbox #cboxClose, #colorbox #cboxPrevious, #colorbox #cboxNext { background: transparent; }
#colorbox #cboxPrevious::after, #colorbox #cboxNext::after { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-size: 2rem; font-weight: 700; height: 65px; left: -2px; line-height: 2; position: absolute; text-indent: 0px; top: 0px; width: 30px; }
#colorbox #cboxNext::after { content: ""; left: 2px; }
#colorbox #cboxTitle { inset: auto 0px 0px; padding: 7px 5px; width: 100%; }
.ce_form .widget { padding: 7px 2px; }
.ce_form .widget-text label, .ce_form .widget-textarea label, .ce_form .widget-select label, .ce_form .widget-password label, .ce_form .widget-upload label, .ce_form .widget-range label, .ce_form .widget-captcha label, .ce_form .widget-radio legend, .ce_form .widget-checkbox legend, fieldset legend { font-weight: 700; }
.ce_form .checkbox_container label, .ce_form .radio_container label { display: block; margin: -21px 0px 0px 21px; }
.ce_form .widget[class*="grid-"] label, .ce_form .widget[class*="grid-"] legend { padding: 0px; width: 100%; }
.content-teaser-image { padding: 35px 0px; width: 100%; }
.content-teaser-image > div { position: relative; }
.content-teaser-image .fullheight { height: calc(-182px + 100vh); }
.content-teaser-image .box-width-50 { padding: 0px 25%; }
.content-teaser-image .right.box-width-50 { padding: 0px 0px 0px 50%; }
.content-teaser-image .inside { display: inline-block; padding: 0px 14px; }
.content-teaser-image .wrapperpadding { padding-bottom: 35px; }
.content-teaser-image .inside:last-of-type { margin-top: 7px; }
.boxed .content-teaser-image .right .inside, .content-teaser-image .right .nobox .content-headline { margin-right: -15px; }
.content-teaser-image .content-headline, .content-teaser-image .content-text { display: block; position: relative; z-index: 1; }
.content-teaser-image .scrolldown { bottom: -25px; left: 0px; position: absolute; right: 0px; text-align: center; width: 100%; }
.content-teaser-image .scrolldown a { font-size: 2rem; }
.content-teaser-image .scrolldown a:hover { text-decoration: none; }
.content-teaser-image .scrolldown a::after { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-weight: 700; position: relative; }
@media screen and (max-width: 1039px) {
.content-teaser-image { padding: 25px 0px; }
.content-teaser-image .fullheight { height: calc(-132px + 100vh); }
}
@media screen and (max-width: 779px) {
.content-teaser-image .fullheight { height: calc(-140px + 100vh); }
.content-teaser-image .box-width-85, .content-teaser-image .box-width-50, .content-teaser-image .box-width-35, .content-teaser-image .left.box-width-85, .content-teaser-image .left.box-width-50, .content-teaser-image .left.box-width-35, .content-teaser-image .right.box-width-85, .content-teaser-image .right.box-width-50, .content-teaser-image .right.box-width-35 { padding-left: 0px; padding-right: 0px; }
.content-teaser-image .inside { padding: 0px 10px; }
.boxed .content-teaser-image .right .inside, .content-teaser-image .fullwidth .right .inside { margin-right: 0px; }
}
@media screen and (max-width: 519px) {
.content-teaser-image .content-headline, .content-teaser-image .content-text { margin: auto 0px; }
}
.content-team-box { border-color: transparent; padding: 7px 11px; width: 100%; }
.content-team-box img { margin: 7px 0px; width: 180px; }
.content-team-box .img-center img { margin: 7px auto; }
.content-team-box p.function { font-size: 0.75rem; margin-top: -21px; }
.content-team-box .email.icon::before, .content-team-box .phone.icon::before, .content-team-box .mobile.icon::before { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-size: 1rem; font-weight: 700; margin-right: 7px; }
.content-team-box .email.icon::before { content: ""; }
.content-team-box .phone.icon::before { content: ""; }
@media screen and (max-width: 1039px) {
.content-team-box img { width: 165px; }
}
@media screen and (max-width: 779px) {
.content-team-box img { width: 150px; }
}
.content-icon-box, .content-icon-box .inside { width: 100%; }
.content-icon-box .icon { margin: 7px 0px; text-align: center; }
.content-icon-box .icon.left i, .content-icon-box .icon.left svg { margin: 0px 7px 0px 0px; }
.content-map { width: 100%; }
.content-map iframe { border: medium !important; display: block; width: 100%; }
@media screen and (min-width: 1300px) {
.content-map.xlg-map-height-vh iframe { height: calc(-112px + 100vh); }
}
.content-anchor-element, .anker { scroll-margin-top: 110px; }
@media screen and (max-width: 1039px) {
.content-anchor-element, .anker { scroll-margin-top: 80px; }
}
@media screen and (max-width: 779px) {
.content-anchor-element, .anker { scroll-margin-top: 87px; }
}
#toggle-nav { background: transparent; border-style: none; border-width: 0px; display: none; font-size: 1.5rem; height: 47px; padding: 0px; position: absolute; right: 2px; text-align: center; width: 47px; }
#toggle-nav::after { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-weight: 700; }
#toggle-nav.active::after { content: ""; }
ul.nav-toggle li { position: relative; }
#nav-main .toggle, .nav-sub .toggle { background: transparent; border: medium; margin: 0px; padding: 5.5px 10px; position: absolute; right: 0px; top: 0px; }
#nav-main .toggle::after, .nav-sub .toggle::after { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-size: 0.875rem; font-weight: 700; }
#nav-main .toggle.active::after, #nav-main .toggle.trail::after, .nav-sub .toggle.active::after, .nav-sub .toggle.trail::after { content: ""; }
@media screen and (min-width: 780px) {
#nav-main ul.level_1 > li > .toggle { display: none; }
}
@media screen and (max-width: 779px) {
#toggle-nav { display: block; }
#nav-main ul li .toggle { height: 48px; right: 0px; width: 50px; }
#nav-main ul li .toggle::after { font-size: 1.125rem; }
}
#nav-main { position: unset; }
#nav-main ul { padding: 0px; }
#nav-main a, #nav-main strong { display: block; font-weight: normal; text-decoration: none; }
@media screen and (min-width: 780px) {
.header-left #nav-main, .header-right #nav-main { width: 100%; }
#nav-main ul.level_1 > li { display: inline-block; position: unset; }
.header-left #nav-main ul.level_1 > li, .header-right #nav-main ul.level_1 > li { display: block; }
#nav-main ul.level_1 > li.submenu > a::after, #nav-main ul.level_1 > li.submenu > strong::after { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-size: 0.875rem; font-weight: 700; margin-left: 7px; }
.header-left #nav-main ul.level_1 > li.submenu > a::after, .header-left #nav-main ul.level_1 > li.submenu > strong::after { content: ""; }
.header-right #nav-main ul.level_1 > li.submenu > a::before, .header-right #nav-main ul.level_1 > li.submenu > strong::before { content: ""; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-size: 0.875rem; font-weight: 700; margin-right: 7px; }
.header-right #nav-main ul.level_1 > li.submenu > a::after, .header-right #nav-main ul.level_1 > li.submenu > strong::after { content: ""; }
body:not(.header-left):not(.header-right) #nav-main ul.level_1 > li:last-child > ul, body:not(.header-left):not(.header-right) #nav-main ul.level_1 > li.nav-last > ul { left: auto; right: 15px; }
#nav-main ul.level_1 > li:hover > ul { display: block; max-height: 80vh; overflow: hidden scroll; }
#nav-main ul.level_1 > li > a, #nav-main ul.level_1 > li > strong { font-weight: 700; padding: 17px 10px; }
#nav-main ul.level_2 { display: none; overflow: hidden; position: absolute; z-index: 99; }
.header-left #nav-main ul.level_2 { left: calc(100% - 15px); top: 0px; }
.header-right #nav-main ul.level_2 { right: calc(100% - 15px); top: 0px; }
#nav-main ul.level_2 li a, #nav-main ul.level_2 li strong { border-bottom: 0px; padding: 7px 10px; }
#nav-main ul.level_2 li a.submenu, #nav-main ul.level_2 li strong.submenu { padding: 7px 30px 7px 10px; }
}
@media screen and (max-width: 1039px) and (min-width: 780px) {
#nav-main ul.level_1 > li > a, #nav-main ul.level_1 > li > strong { padding: 7px; }
#nav-main ul.level_1 > li:last-child > ul { right: 10px; }
}
@media screen and (max-width: 779px) {
#nav-main { bottom: 0px; display: none; height: calc(100% - 89px); left: 0px; overflow: hidden scroll; position: fixed; top: 89px; width: 100%; }
#nav-main.active { display: block; }
#nav-main ul.level_1 li { position: relative; }
#nav-main ul.level_1 li a, #nav-main ul.level_1 li strong { padding: 14px 10px; }
#nav-main ul.level_1 li.active > ul, #nav-main ul.level_1 li.trail > ul { display: block; }
}
#nav-footer ul { padding: 0px; }
#nav-footer ul li { display: inline-block; text-align: left; }
#nav-footer a, #nav-footer strong { display: block; font-size: 0.875rem; font-weight: normal; text-decoration: none; padding: 7px; }
@media screen and (max-width: 779px) {
#nav-footer { float: none; margin: auto; text-align: center; }
}
.contao-cookiebar .cc-btn { line-height: 1; }
.contao-cookiebar .cc-groups .cc-group > label { margin: 5px 10px; }
.contao-cookiebar .cc-close { right: 18px; }
@media screen and (min-width: 520px) {
.contao-cookiebar .cc-inner { max-width: 500px; }
}
[data-theme="dark"] #toggle-nav::after, [data-theme="dark"] #nav-main .toggle, [data-theme="dark"] .nav-sub .toggle, [data-theme="dark"] #nav-breadcrumb ul li a { color: rgb(255, 255, 255) !important; }
[data-theme="dark"] body, [data-theme="dark"] .color-dark, [data-theme="dark"] input:not([type="radio"]):not([type="checkbox"]), [data-theme="dark"] textarea, [data-theme="dark"] select, [data-theme="dark"] #nav-top a, [data-theme="dark"] #nav-top strong, [data-theme="dark"] #nav-main a, [data-theme="dark"] #nav-main strong { color: rgb(190, 190, 190) !important; }
[data-theme="dark"] body, [data-theme="dark"] .bg-white, [data-theme="dark"] #nav-main ul.level_2, [data-theme="dark"] #nav-main ul.level_4, [data-theme="dark"] .nav-sub ul.level_1, [data-theme="dark"] .nav-sub ul.level_3, [data-theme="dark"] .content-download::before, [data-theme="dark"] .content-downloads::before { background-color: rgb(34, 34, 34) !important; }
[data-theme="dark"] .bg-light, [data-theme="dark"] #nav-main ul.level_3, [data-theme="dark"] .nav-sub ul.level_2, [data-theme="dark"] #nav-breadcrumb ul, [data-theme="dark"] .filter_reset, [data-theme="dark"] .content-gallery figcaption, [data-theme="dark"] .content-image figcaption, [data-theme="dark"] .content-text hr, [data-theme="dark"] .content-text pre, [data-theme="dark"] .content-text-image-tile.bg-light .box-img.arrow::before, [data-theme="dark"] .content-zeitstrahl.bg-icon-light .box-date::before, [data-theme="dark"] .content-zeitstrahl.timeline-light::before, [data-theme="dark"] .content-zeitstrahl.timeline-light .box-text::before, [data-theme="dark"] .content-quote-box.zitatbox-3.bg-icon-light blockquote::before, [data-theme="dark"] .mod_calendar .calendar-head .label, [data-theme="dark"] .mod_calendar .calendar-body > div > div .label, [data-theme="dark"] nav[data-pagination] ol li a:hover, [data-theme="dark"] .pagination ul li a:hover, [data-theme="dark"] tfoot td, [data-theme="dark"] th { background-color: rgb(24, 24, 24) !important; }
.agentur-zentral-impressum { line-height: 1; }
.agentur-zentral-impressum a[target="_blank"]::after { content: "" !important; }

/* Existing customer design, after native selector migration. */



p:not(.button):not(.scrolldown) a,
.ce_form label a {
	position: relative;
}
p:not(.button):not(.scrolldown) a:hover,
.ce_form label a:hover {
	text-decoration: none;
}
p:not(.button):not(.scrolldown) a::after,
.ce_form label a::after {
	bottom: -3px;
	content: '';
	height: 1px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 0%;
}
p:not(.button):not(.scrolldown) a:hover::after,
.ce_form label a:hover::after {
	width: 100%;
}



@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('/files/theme/fonts/webfonts/montserrat-v31-latin-300.woff2') format('woff2'); 
}


@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 300;
  src: url('/files/theme/fonts/webfonts/montserrat-v31-latin-300italic.woff2') format('woff2'); 
}


@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('/files/theme/fonts/webfonts/montserrat-v31-latin-600.woff2') format('woff2'); 
}


body,
button,
input:not([type="radio"]):not([type="checkbox"]),
textarea,
select {
	font-family: 'Montserrat';
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.5;
}
.content-headline.standard {
	font-weight: 300;
}
body:not(.nav-impressum):not(.nav-datenschutz):not(.nav-kontakt):not(.wartungsmodus) h1,
.content-headline.standard.headline-h1,
body:not(.nav-impressum):not(.nav-datenschutz):not(.nav-kontakt) h2,
.content-headline.standard.headline-h2 {
	display: inline-block;
	margin-bottom: 21px;
	position: relative;
	text-transform: uppercase;
}
body:not(.nav-impressum):not(.nav-datenschutz):not(.nav-kontakt):not(.wartungsmodus) h1::after,
.content-headline.standard.headline-h1::after,
body:not(.nav-impressum):not(.nav-datenschutz):not(.nav-kontakt) h2::after,
.content-headline.standard.headline-h2::after {
	bottom: 0;
	content: '';
	height: 1px;
	left: 0;
	margin: auto;
	position: absolute;
	width: 150px;
}
body:not(.nav-impressum):not(.nav-datenschutz):not(.nav-kontakt) h2,
.content-headline.standard.headline-h2 {
	font-size: 22px;
	font-size: 1.375rem;
	margin-bottom: 7px;
}
:not(.content-icon-box.left)h2::after {
	right: 0;
}

 @media screen and (max-width: 1299px) {
body,
button,
input:not([type="radio"]):not([type="checkbox"]),
textarea,
select {
	font-size: 16px;
	font-size: 1rem;
}
 }






button.button-corporate,
.button-corporate p.button a,
.button-corporate button.submit,
#nav-top a,
#nav-top strong,
#nav-main a,
#nav-main strong,
.content-toplink a,
.invert .ce_form .widget input,
.invert .ce_form .widget textarea,
.invert .ce_form label a,
.invert .ce_form label a:hover,
.contao-cookiebar .cc-head p,
.contao-cookiebar .cc-inner .cc-info a,
#toggle-nav::after,
body.wartungsmodus .content-text.center p,
body.wartungsmodus .content-text.center a,
body.wartungsmodus .content-text.center a:hover {
	color: #fff;
}
p:not(.button):not(.scrolldown) a,
p:not(.button):not(.scrolldown) a:hover,
button.button-corporate:hover,
.button-corporate p.button:hover a,
.button-corporate button.submit:hover {
	color: #000;
}


button.button-corporate:hover,
.button-corporate p.button:hover,
.button-corporate button.submit:hover,
#nav-main ul.level_1 > li > a span::after,
#nav-main ul.level_1 > li > strong span::after,
input[type="checkbox"]:checked+label::before,
.invert h2::after,
.invert .ce_form label a::after {
	background: #fff;
}
button.button-corporate,
.button-corporate p.button,
.button-corporate button.submit,
#header.fixed,
input[type="checkbox"] + label::before,
.nav-impressum #header,
.nav-datenschutz #header,
.nav-kontakt #header,
p:not(.scrolldown) a:hover::after,
h1::after,
h2::after,
.ce_form .widget input,
.ce_form .widget textarea,
.contao-cookiebar .cc-inner,
body.wartungsmodus {
	background: #000;
}

 @media screen and (max-width: 779px) {
#nav-main {
	background: #000;
}
 }


.invert button.button-corporate,
.invert .button-corporate p.button,
.nav-impressum .button-corporate p.button,
.nav-datenschutz .button-corporate p.button,
.nav-kontakt :not(.content-text).button-corporate p.button,
.invert .button-corporate p.button,
.invert .button-corporate button.submit,
.ce_form .widget input,
.ce_form .widget textarea,
[type="checkbox"] + label::before,
.ce_form .widget.explanation.mandatory::before {
	border-color: #fff;
}
button.button-corporate,
.button-corporate p.button,
.button-corporate button.submit {
	border-color: #000;
}








button,
p.button {
	height: 38px;
}
button,
.button a {
	padding: 3px 12px;
}
button.button-corporate,
.button-corporate p.button,
.button-corporate button.submit {
	border-style: solid;
	border-width: 2px;
}
#nav-back {
	display: none;
	position: absolute;
	right: 10px;
	top: 20px;
}
#nav-back a {
	line-height: 0;
	overflow: hidden;
	padding: 3px;
	text-indent: -999px;
	width: 33px;
}
#nav-back a::after {
	content: "\f100";
	display: block;
	font-family: "Font Awesome 7 Free";
	font-weight: 700;
	line-height: 1;
	position: relative;
	text-indent: 0;
}
#nav-back a:hover::after {
	background: transparent;
}
body.nav-impressum #nav-back,
body.nav-datenschutz #nav-back,
body.nav-kontakt #nav-back {
	display: block;
}

 @media screen and (max-width: 1039px) {
#nav-back {
	top: 15px;
}
 }


.ce_form input:not([type="radio"]):not([type="checkbox"]):not(.submit),
.ce_form input[class*="grid-"],
.ce_form textarea,
.ce_form select {
	padding: 6px 12px 3px;
}
.ce_form input.text {
	height: 45px;
}
.ce_form .widget-checkbox input[type="checkbox"] {
	height: 0;
	left: 27px;
	position: relative;
	top: 6px;
	width: 0;
}
.ce_form input[type="checkbox"] + label::before {
	border-style: solid;
	border-width: 1px;
	content: "";
	display: block;
	float: left;
	height: 15px;
	margin: 5px 7px 0 -1px;
	position: relative;
	width: 15px;
}
.ce_form span.mandatory {
	display: none;
}


button,
.button,
input:not([type="radio"]):not([type="checkbox"]):not(.submit),
textarea,
select {
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}












#header.fixed {
	-webkit-transition: max-height 0.15s ease-in;
	-moz-transition: max-height 0.15s ease-in;
	-ms-transition: max-height 0.15s ease-in;
	-o-transition: max-height 0.15s ease-in;
	transition: max-height 0.15s ease-in;
}
p:not(.button):not(.scrolldown) a::after,
p:not(.button):not(.scrolldown) a:hover::after,
.ce_form label a::after,
.ce_form label a:hover::after,
button.button-corporate:hover,
.button-corporate p.button:hover a,
.button-corporate button.submit:hover,
#nav-main ul.level_1 > li > a span::after,
#nav-main ul.level_1 > li > strong span::after,
#nav-main ul.level_1 > li > a:hover span::after,
#nav-main ul.level_1 > li > strong:hover span::after,
.content-gallery > ul li,
.content-gallery > ul li:hover,
.content-icon-box.effect .icon svg,
.content-icon-box.effect:hover .icon svg,
.content-teaser-image .scrolldown a::after,
.content-teaser-image .scrolldown a:hover::after {
	-webkit-transition: all 0.25s ease-in;
	-moz-transition: all 0.25s ease-in;
	-ms-transition: all 0.25s ease-in;
	-o-transition: all 0.25s ease-in;
	transition: all 0.25s ease-in;
}


#wrapper {
	padding-bottom: 60px;
	padding-top: 0;
}
.nav-impressum #wrapper,
.nav-datenschutz #wrapper,
.nav-kontakt #wrapper {
	padding-top: 90px;
}

 @media screen and (max-width: 1039px) {
#wrapper {
	padding-bottom: 50px;
}
 }

 @media screen and (max-width: 779px) {
#wrapper {
	padding-bottom: 140px;
}
 }


#header {
	max-height: 0;
	padding-top: 35px;
	position: absolute;
}
#header.fixed,
.nav-impressum #header,
.nav-datenschutz #header,
.nav-kontakt #header {
	height: auto;
	max-height: 100%;
	padding-top: 0;
	position: fixed;
}
#header .logo {
	margin: 0 auto;
	width: 380px;
	z-index: 99;
}
#header.fixed .logo,
.nav-impressum #header .logo,
.nav-datenschutz #header .logo,
.nav-kontakt #header .logo {
	width: 300px;
}

 @media screen and (max-width: 1299px) {
#header .logo,
#header.fixed .logo,
.nav-impressum #header .logo,
.nav-datenschutz #header .logo,
.nav-kontakt #header .logo {
	width: 290px;
}
 }

 @media screen and (max-width: 1039px) {
#header .logo,
.nav-impressum #header .logo,
.nav-datenschutz #header .logo,
.nav-kontakt #header .logo {
	width: 310px;
}
#header.fixed .logo {
	margin-bottom: 25px;
	width: 185px;
}
 }

 @media screen and (max-width: 779px) {
#header .logo,
#header.fixed .logo,
.nav-impressum #header .logo,
.nav-datenschutz #header .logo,
.nav-kontakt #header .logo {
	margin: 14px auto;
	width: 260px;
}
 }

 @media screen and (max-width: 519px) {
#header .logo,
#header.fixed .logo,
.nav-impressum #header .logo,
.nav-datenschutz #header .logo,
.nav-kontakt #header .logo {
	margin: 18px auto;
	width: 220px;
}
 }














#footer {
	height: 60px;
}
#footer .copyright {
	top: -32px;
}

 @media screen and (max-width: 1039px) {
#footer {
	height: 50px;
}
#footer .copyright {
	top: 0;
}
 }

 @media screen and (max-width: 779px) {
#footer {
	height: 140px;
}
#footer .copyright .footer-rechte {
	display: block;
}
 }
























.content-gallery > ul li:hover {
	margin-bottom: 5px;
	margin-top: -5px;
}














.ce_form .widget input,
.ce_form .widget textarea {
	border-style: solid;
	border-width: 1px;
}
.ce_form .widget.explanation.mandatory::before {
	border-top-style: solid;
	border-top-width: 1px;
	content: "";
	display: block;
	width: 50px;
}
.ce_form .checkbox_container label,
.ce_form .radio_container label {
	display: block;
	margin: -14px 0 0 21px;
}

 @media screen and (max-width: 779px) {
.ce_form .widget.widget-submit button {
	margin: 7px auto 0;
}
 }




.content-teaser-image .fullheight {
	height: calc(100vh - 70px);
}
.content-teaser-image .content-headline.standard.headline-h1 {
	font-size: 80px;
	font-size: 5rem;
	line-height: 1.25;
	margin-top: 100px;
	text-transform: uppercase;
}
.content-teaser-image .scrolldown a::after {
	top: 0;
}
.content-teaser-image .scrolldown a:hover::after {
	top: -5px;
}

 @media screen and (max-width: 1299px) {
.content-teaser-image .content-headline.standard.headline-h1 {
	font-size: 64px;
	font-size: 4rem;
}
 }

 @media screen and (max-width: 1039px) {
.content-teaser-image .fullheight {
	height: calc(100vh - 50px);
}
.content-teaser-image .content-headline.standard.headline-h1 {
	font-size: 48px;
	font-size: 3rem;
}
 }

 @media screen and (max-width: 779px) {
.content-teaser-image .fullheight .vcenter {
	text-align: center;
	vertical-align: bottom;
}
.content-teaser-image .fullheight .vcenter .inside {
	max-width: 390px;
}
 }














.content-icon-box.effect:hover .icon svg {
	margin-bottom: 5px;
	margin-top: -5px;
}




 @media screen and (min-width: 1300px) {
.content-map.xlg-map-height-vh iframe {
	height: calc(100vh - 85px);
}
 }

 @media screen and (max-width: 1299px) and (min-width: 1040px) {
.content-map.lg-map-height-lg iframe {
	height: calc(100vh - 85px);
}
 }

 @media screen and (max-width: 1039px) and (min-width: 780px) {
.content-map.md-map-height-lg iframe {
	height: calc(100vh - 85px);
}
 }

 @media screen and (max-width: 779px) and (min-width: 520px) {
.content-map.sm-map-height-lg iframe {
	height: calc(100vh - 85px);
}
 }

 @media screen and (max-width: 519px) {
.content-map.xsm-map-height-lg iframe {
	height: calc(100vh - 85px);
}
 }




.content-anchor-element,
.anker {
	scroll-margin-top: 85px;
}

 @media screen and (max-width: 1039px) {
.content-anchor-element,
.anker {
	scroll-margin-top: 80px;
}
 }










#toggle-nav {
	top: 10px;
}
body.nav-impressum #toggle-nav,
body.nav-datenschutz #toggle-nav,
body.nav-kontakt #toggle-nav {
	display: none;
}




body.nav-impressum #nav-main,
body.nav-datenschutz #nav-main,
body.nav-kontakt #nav-main {
	display: none;
}

 @media screen and (min-width: 780px) {
#nav-main {
	left: 0;
	position: absolute;
	right: 0;
	top: 25px;
}
#header.fixed #nav-main {
	top: 20px;
}
#nav-main ul.level_1 > li > a,
#nav-main ul.level_1 > li > strong {
	font-weight: 300;
	padding: 12px;
	text-transform: uppercase;
}
#nav-main ul.level_1 > li > a span,
#nav-main ul.level_1 > li > strong span {
	position: relative;
}
#nav-main ul.level_1 > li > a span::after,
#nav-main ul.level_1 > li > strong span::after {
	bottom: -5px;
	content: '';
	height: 1px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 0%;
}
#nav-main ul.level_1 > li > a:hover span::after,
#nav-main ul.level_1 > li > strong:hover span::after {
	width: 100%;
}
 }

 @media screen and (max-width: 1299px) and (min-width: 780px) {
#header.fixed #nav-main {
	top: 25px;
}
#nav-main ul.level_1 > li > a,
#nav-main ul.level_1 > li > strong {
	padding: 3px 6px;
}
 }

 @media screen and (max-width: 1039px) and (min-width: 780px) {
#nav-main {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	position: absolute;
	top: 100px;
}
#nav-main .mod_customnav {
	float: left;
	margin: 0 3px;
}
#header.fixed #nav-main {
	top: 50px;
}
 }

 @media screen and (max-width: 779px) {
#nav-main {
	height: 100%;
	padding-top: 145px;
	top: 0;
}
#nav-main .mod_customnav {
	float: none;
	text-align: center;
}
 }






#nav-footer {
	margin-right: -7px;
	top: -32px;
}

 @media screen and (max-width: 1039px) {
#nav-footer {
	margin-right: 3px;
	top: 0;
}
#footer .content-toplink {
	float: right;
}
 }

 @media screen and (max-width: 779px) {
#nav-footer {
	margin-right: 0;
}
#footer .content-toplink {
	float: none;
}
 }


#nav-breadcrumb {
	display: none;
}


























.switch-dark-mode {
	display: none;
}










/* Adjustments for the native TU 4.4.2 element structure. */
:root { --bs-body-color: #343a40; }
#header { background: transparent; }
body { min-height: 0; }
.content-column-wrapper { overflow: hidden; }
#header .content-column-wrapper { overflow: visible; }
#header .logo img { inline-size: 100%; block-size: auto; }
.content-gallery img { border-radius: 0; aspect-ratio: auto 650 / 433; }
.content-gallery figure { border-radius: 0; }
/* Preserve container widths while keeping the native Bootstrap column classes. */
.content-page-wrapper > .inside { padding-inline: 0; }
.content-page-wrapper > .inside[class*="-fluid"] > .row { margin-inline: 0; }
@media (max-width:779px) {
  .content-page-wrapper > .inside > .row { margin-inline: 0; }
  .content-teaser-image .fullheight .vcenter { text-align: center !important; }
  #nav-main { padding: 145px 0 0; }
}
#wrapper { display: block; min-height: 0; }
#main { float: left; position: relative; width: 100%; }
#nav-main-bar { background: transparent !important; color: #343a40; }
#nav-main-bar .content-column-wrapper, #footer .content-column-wrapper { display: block; }
#nav-main-bar .logo { padding: 0; }
#nav-main-bar #nav-main :is(a,strong), #nav-main-bar #nav-main :is(a,strong):is(:hover,:focus-visible) { color: #fff; background: transparent; border-radius: 0; }
.content-teaser-image > .vwrapper { display: table !important; }
.content-teaser-image > .vwrapper > .vcenter { display: table-cell; position: static; margin: 0; overflow: visible; }
.content-teaser-image .scrolldown { padding: 7px 0; }
.content-teaser-image .right.box-width-50 > .inside { width: calc(100% + 15px); max-width: none; max-inline-size: none; }
.content-teaser-image > .vwrapper.fullheight { block-size: calc(100vh - 70px); }
@media (max-width:1039px) { .content-teaser-image > .vwrapper.fullheight { block-size: calc(100vh - 50px); } }
@media (max-width:779px) { .content-teaser-image .right.box-width-50 > .inside { width: auto; max-width: 390px; } }
.content-icon-box .inside > .item { vertical-align: top; }
.content-icon-box .inside { display: table; }
.content-icon-box .inside > .icon { display: table-cell; width: 101px; font-size: inherit; line-height: inherit; }
.content-icon-box .inside > .item { display: block; }
.content-icon-box .icon > svg { display: inline; width: 94px; inline-size: 94px; min-width: 94px; max-width: none; height: 94px; block-size: 94px; margin: 0 7px 0 0 !important; overflow: visible; vertical-align: baseline; }
.content-icon-box .content-headline { overflow: hidden; }
.text-invert h2::after { background: #fff; }
.content-map .iframe { height: auto; block-size: auto; border-radius: 0; }
.content-map .iframe > iframe { height: 450px !important; block-size: 450px !important; }
@media (min-width:1300px) { .content-map.xlg-map-height-vh .iframe > iframe { height: calc(100vh - 85px) !important; block-size: calc(100vh - 85px) !important; } }
.content-team-box { color: #343a40; }
.content-team-box .function { margin-bottom: 0; }
.content-team-box :is(.email,.phone).icon::before { display: inline; width: auto; inline-size: auto; height: auto; block-size: auto; }
.content-gallery > ul { gap: 14px; }
.content-gallery a { border-radius: 0; }
/* TU now puts the button class on the link instead of its paragraph. */
p.mb-0:has(> a.btn) { display: inline-block; height: 38px; margin: 7px 0 !important; padding: 0; position: relative; z-index: 1; vertical-align: baseline; }
a.btn { display: block; height: 38px; padding: 8px 12px; font-family: inherit; font-size: 99%; line-height: 1; white-space: nowrap; border-radius: 4px; text-decoration: none; border: 2px solid transparent; }
a.btn.button-corporate { color: #fff; background: #000; border-color: #000; }
.content-text p.mb-0 > a.btn.button-corporate, .content-button p.mb-0 > a.btn.button-corporate { color: #fff; }
.content-text p.mb-0 > a.btn.button-corporate:hover, .content-button p.mb-0 > a.btn.button-corporate:hover { color: #000; }
a.btn.button-corporate:hover { color: #000; background: #fff; }
.invert a.btn.button-corporate { border-color: #fff; }
p.mb-0:has(> a.btn) a::after { content: none; }
/* Original cookiebar palette, including details and focus states. */
.contao-cookiebar, .contao-cookiebar .cc-inner { color: #444; --ccb-bg: #000; --ccb-clr: #444; --ccb-text: #868686; --ccb-bdr: #d0d0d0; --ccb-cookies-bg: #f5f5f5; --ccb-cookies-bdr: #d0d0d0; --ccb-info-bg: #fff; --ccb-info-bdr: #d0d0d0; --ccb-detail-clr: #868686; --ccb-detail-clr-hvr: #444; --ccb-btn-bg: #f5f5f5; --ccb-btn-bg-hvr: #e6e6e6; --ccb-btn-bdr: #cfcfcf; --ccb-btn-clr: #444; --ccb-checked-clr: #399d32; --ccb-checked-bg: #dcf3db; }
.contao-cookiebar .cc-inner { border: 0; border-radius: 3px; }
.contao-cookiebar .cc-btn, .contao-cookiebar .cc-btn.success { border: 1px solid #cfcfcf; color: #444; background: #f5f5f5; padding: 8px 14px; border-radius: 4px; }
.contao-cookiebar .cc-detail-btn { color: #a2a2a2; appearance: auto; }
.contao-cookiebar .cc-detail-btn:hover { color: #717171; }
.contao-cookiebar .cc-close { border: 0; border-radius: 4px; }
.contao-cookiebar { --ccb-focus-clr: #00a4f4; --ccb-unchecked-clr: #9c9b99; --ccb-backdrop: rgba(0,0,0,.75); }
#toggle-nav { border-color: transparent; border-radius: 4px; }
#toggle-nav::after { box-sizing: content-box; }
#toggle-nav::before { content: none !important; }
@media (max-width:779px) {
 #nav-main { z-index: auto; }
 #toggle-nav.active { position: absolute; inset-block-start: 10px; inset-inline-end: 2px; top: 10px; right: 2px; background: transparent; z-index: 99; }
}
.contao-cookiebar .cc-cookie :is(input,label) { color: #444; }
.contao-cookiebar .cc-inner { --ccb-cookies-bg: #fbfbfb; --ccb-cookies-bdr: #fbfbfb; --ccb-info-bdr: #efefef; --ccb-btn-bg-hvr: #ececec; }
.contao-cookiebar :is(.group,.cc-cookie-info) { color: #444; }
.contao-cookiebar label::before, .contao-cookiebar label::after { box-sizing: content-box; }
#colorbox #cboxClose::after { content: "\f00d"; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free"; font-size: 2rem; font-weight: 700; height: 40px; left: 0; line-height: 1.25; position: absolute; text-indent: 0; top: 0; width: 40px; box-sizing: content-box; }
#colorbox #cboxPrevious::after, #colorbox #cboxNext::after { box-sizing: content-box; }
/* Existing native form geometry. */
.ce_form .formbody { display: block; margin: 0; }
.ce_form .formbody::after { content: ''; display: table; clear: both; }
.ce_form .formbody > .widget { clear: none; margin: 0; padding: 7px 2px; }
.ce_form .formbody > .widget[class*="col-"] { clear: none; float: left; }
.ce_form .formbody > .widget > label { margin: 0; }
.ce_form .formbody :is(input[type="text"],input[type="email"],input[type="tel"],textarea) { color: #fff; border: 1px solid #fff; border-radius: 4px; font-family: inherit; font-size: inherit; line-height: inherit; min-height: 0; background: #000; }
.ce_form .formbody textarea { padding: 6px 12px 3px; display: inline-block; height: auto; }
.ce_form .formbody :is(input[type="text"],input[type="email"],input[type="tel"],textarea):focus { outline: 1px auto; box-shadow: 0 0 2px #cce5ff; }
.ce_form .formbody .widget-explanation { background: transparent; border: 0; }
.ce_form .formbody .checkbox_container legend { float: none; font-size: inherit; font-weight: 700; margin: 0; padding: 0; width: auto; }
.ce_form .formbody .checkbox_container > span { display: block; margin: 0; }
.ce_form .formbody .checkbox_container input[type="checkbox"] { appearance: auto; width: 0; height: 0; margin: 0; padding: 0; float: none; display: inline-block; vertical-align: baseline; border-radius: 0; }
.ce_form .checkbox_container label::before, .ce_form .checkbox_container label::after { box-sizing: content-box; }
.ce_form .formbody .checkbox_container label { margin: -14px 0 0 21px; }
.ce_form .formbody .checkbox_container a, .ce_form .formbody .checkbox_container a:hover { color: #fff; }
.ce_form.button-corporate .formbody button.submit { display: block; height: 38px; padding: 3px 12px; font-size: inherit; font-family: inherit; line-height: inherit; color: #fff; background: #000; border: 2px solid #fff; border-radius: 4px; }
#footer { color: #343a40; background: transparent; margin-top: 0; }
#footer .content-column-wrapper { overflow: visible; }
#footer .content-toplink a { background: transparent; border: 0; border-radius: 0; font-size: inherit; line-height: inherit; text-align: start; vertical-align: baseline; }
#footer .content-toplink span { display: none; }
#footer #nav-footer :is(a,strong) { background: transparent; border-radius: 0; }
#nav-footer ul { display: block; }
#nav-footer ul li { display: inline-block; }
#nav-back p.mb-0 { padding: 7px 0; font-size: 99%; line-height: 1; border: 2px solid #fff; border-radius: 4px; background: #000; text-align: center; white-space: nowrap; position: static; }
#nav-back p.mb-0:hover { background: #fff; }
#nav-back p.mb-0 > a.btn { border: 0; border-radius: 0; height: auto; padding: 3px; font-size: inherit; background: transparent; position: static; vertical-align: baseline; }
#nav-back a::after { inset: auto; width: auto; height: auto; margin: 0; }
/* The theme's small icon subset omits this CSS-only customer glyph. */
@font-face { font-family: "Font Awesome 7 Free"; font-style: normal; font-weight: 900; font-display: block; src: url("/bundles/themeultimate/fontawesome/fa7/webfonts/fa-solid-900-full.woff2") format("woff2"); unicode-range: U+F100; }
#nav-back a::after { font-family: "Font Awesome 7 Free"; font-weight: 700; box-sizing: content-box; overflow-wrap: break-word; transition: none; }
.content-button p.mb-0 a.btn.button-corporate { color: #fff; }
.content-team-box p.mb-0 a.btn { text-decoration: none; }
.content-team-box p.mb-0:has(> a.btn), .content-button p.mb-0:has(> a.btn), p.mb-0:has(> a.btn[href="#termin"]) { padding: 7px 0; font-size: 99%; line-height: 1; border: 2px solid #000; border-radius: 4px; background: #000; position: static; white-space: nowrap; }
.content-team-box p.mb-0 > a.btn, .content-button p.mb-0 > a.btn, p.mb-0 > a.btn[href="#termin"] { color: #fff; border: 0; border-radius: 0; height: auto; padding: 3px 12px; font-size: inherit; line-height: 1; background: transparent; position: static; vertical-align: baseline; }
.content-team-box p.mb-0:hover, .content-button p.mb-0:hover, p.mb-0:has(> a.btn[href="#termin"]):hover { background: #fff; }
.content-team-box p.mb-0:hover > a.btn, .content-button p.mb-0:hover > a.btn, p.mb-0:hover > a.btn[href="#termin"] { color: #000; }
#footer #nav-footer li.active > strong { background: transparent; }
.text-invert .content-text p:not(.button):not(.scrolldown) a { color: #fff; }
@media (min-width:780px) and (max-width:1039px) {
 #nav-main { padding: 0; height: auto; block-size: auto; background: transparent; overflow: visible; z-index: auto; }
}

