/* Customer layout rules measured against the original. Shared Builder remains unchanged. */
body{font-weight:400;overflow-wrap:break-word}h1,h2,h3{letter-spacing:normal;text-wrap:wrap;line-height:inherit}label{display:block;gap:0;font-weight:400}.button{display:block;min-height:0;gap:0;border:0;border-radius:0;background:transparent;color:inherit;font-weight:400;line-height:inherit;justify-content:normal;align-items:normal;padding:7px 0}.checkbox{display:inline-block!important}input[type=checkbox]{width:13px;height:13px;flex:none;margin:0}a{text-underline-offset:auto}a:hover{text-decoration-thickness:auto}button:disabled{opacity:1}
:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}
:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}
:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}


.row{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
*[class*="grid-"]{
	float: left;
	min-height: 1px;
}
#main{
	float: left;
	position: relative;
}
@media screen and (min-width: 1300px){.width-lg{
	margin: 0 auto;
	width: 100%;
}
.boxed .width-lg{
	width: 1240px;
}
.xlg-width-sm{
	margin: 0 auto;
	width: 60%;
}
.boxed .xlg-width-sm{
	width: 744px;
}
.fullwidth{
	width: 100%;
}
.boxed .row{
	margin-left: -15px;
	margin-right: -15px;
}
.boxed .fullwidth .row{
	margin-left: 0;
	margin-right: 0;
}
.row-xlg-bottom-offset-xlg{
	padding-bottom: 55px;
}
.row-xlg-bottom-offset-xsm{
	padding-bottom: 15px;
}
.row-xlg-top-offset-xlg{
	padding-top: 55px;
}
.row-xlg-top-offset-lg{
	padding-top: 45px;
}
.col-xlg-no-offset{
	padding: 0 !important;
}
.col-xlg-top-no-offset{
	padding-top: 0 !important;
}
*[class*="grid-"]{
	padding: 15px;
}
.grid-xlg-5{ width: 41.66666667%; }
.grid-xlg-6{ width: 50%; }
.grid-xlg-7{ width: 58.33333333%; }
.grid-xlg-12{ width: 100%; }}
@media screen and (max-width: 1299px) and (min-width: 1040px){.width-lg{
	margin: 0 auto;
	width: 100%;
}
.boxed .width-lg{
	width: 980px;
}
.lg-width-sm{
	margin: 0 auto;
	width: 60%;
}
.boxed .lg-width-sm{
	width: 588px;
}
.fullwidth{
	width: 100%;
}
.boxed .row{
	margin-left: -15px;
	margin-right: -15px;
}
.boxed .fullwidth .row{
	margin-left: 0;
	margin-right: 0;
}
.row-lg-bottom-offset-lg{
	padding-bottom: 45px;
}
.row-lg-bottom-offset-xsm{
	padding-bottom: 15px;
}
.row-lg-top-offset-lg{
	padding-top: 45px;
}
.col-lg-no-offset{
	padding: 0 !important;
}
.col-lg-top-no-offset{
	padding-top: 0 !important;
}
*[class*="grid-"]{
	padding: 15px;
}
.grid-lg-5{ width: 41.66666667%; }
.grid-lg-6{ width: 50%; }
.grid-lg-7{ width: 58.33333333%; }
.grid-lg-12{ width: 100%; }}
@media screen and (max-width: 1039px) and (min-width: 780px){.width-lg{
	margin: 0 auto;
	width: 100%;
}
.boxed .width-lg{
	width: 720px;
}
.md-width-md{
	margin: 0 auto;
	width: 80%;
}
.boxed .md-width-md{
	width: 576px;
}
.fullwidth{
	width: 100%;
}
.boxed .row{
	margin-left: -10px;
	margin-right: -10px;
}
.boxed .fullwidth .row{
	margin-left: 0;
	margin-right: 0;
}
.row-md-bottom-offset-md{
	padding-bottom: 35px;
}
.row-md-bottom-offset-xsm{
	padding-bottom: 15px;
}
.row-md-top-offset-md{
	padding-top: 35px;
}
.col-md-no-offset{
	padding: 0 !important;
}
.col-md-top-no-offset{
	padding-top: 0 !important;
}
*[class*="grid-"]{
	padding: 10px;
}
.grid-md-4{ width: 33.33333333%; }
.grid-md-6{ width: 50%; }
.grid-md-8{ width: 66.66666667%; }
.grid-md-12{ width: 100%; }}
@media screen and (max-width: 779px) and (min-width: 520px){.width-lg,.fullwidth{
	width: 100%;
}
.sm-width-md{
	margin: 0 auto;
	width: 80%;
}
#main{
	float: none;
	margin-left: 0;
	margin-right: 0;
}
.row-sm-bottom-offset-sm{
	padding-bottom: 25px;
}
.row-sm-bottom-offset-xsm{
	padding-bottom: 15px;
}
.row-sm-top-offset-sm{
	padding-top: 25px;
}
.col-sm-no-offset{
	padding: 0 !important;
}
.col-sm-bottom-no-offset{
	padding-bottom: 0 !important;
}
.col-sm-top-no-offset{
	padding-top: 0 !important;
}
*[class*="grid-"]{
	padding: 10px;
}
.grid-sm-4{ width: 33.33333333%; }
.grid-sm-6{ width: 50%; }
.grid-sm-8{ width: 66.66666667%; }
.grid-sm-12{ width: 100%; }}
@media screen and (max-width: 519px){.width-lg,.xsm-width-lg,.fullwidth{
	width: 100%;
}
#main{
	float: none;
	margin-left: 0;
	margin-right: 0;
}
.row-xsm-bottom-offset-xsm{
	padding-bottom: 15px;
}
.row-xsm-top-offset-xsm{
	padding-top: 15px;
}
.col-xsm-no-offset{
	padding: 0 !important;
}
.col-xsm-bottom-no-offset{
	padding-bottom: 0 !important;
}
.col-xsm-top-no-offset{
	padding-top: 0 !important;
}
*[class*="grid-"]{
	padding: 10px;
}
.grid-xsm-12{ width: 100%; }}
*{ 
	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: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	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{
	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{ 
	display: block;
}
fieldset,img,iframe{
	border: 0;
}
img{
	border: 0;
	display: block;
	height: auto;
	width: 100%;
	vertical-align: bottom;
}
.invisible,.anker,.content-anker-element{
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 0;
	line-height: 0;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 0;
}
.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: 16px;
	font-size: 1rem;
	font-style: normal;
	line-height: 1.25;
	word-wrap: break-word;
}
h1,h2,h3,h4,h5,h6,p,ul,ol{
	padding: 7px 0;
}
h1,h2,h3,h4,h5,h6,strong,.content-headline.standard{
	font-weight: 700;
}
h1,.content-headline.standard.headline-h1{
	font-size: 32px;
	font-size: 2rem;
}
h2{
	font-size: 24px;
	font-size: 1.5rem;
}
h3{
	font-size: 22px;
	font-size: 1.375rem;
}
h4{
	font-size: 20px;
	font-size: 1.250rem;
}
h5{
	font-size: 18px;
	font-size: 1.125rem;
}
h6{
	font-size: 16px;
	font-size: 1rem;
}
small{
	font-size: 65%;
}
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 span{
	display: inline-block;
}
.icon-xlg i,.icon-xlg svg,.icon-xlg span{
	font-size: 60px;
	font-size: 3.75rem;
	height: 94px;
	width: 94px;
}
.color-white,.content-text abbr[title]:hover::before,.content-text kbd,kbd a,kbd a:hover,.content-teaserbild .scrolldown.color-white a,nav[data-pagination] ol li a.active{
	color: #fff;
}
.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 li a,.invert p,.invert p:not(.button) a,.invert strong{
	color: #fff !important;
}
body,input:not([type="radio"]):not([type="checkbox"]),textarea,select,#nav-main a,#nav-main strong,.content-teambox .content-headline a{
	color: #343a40;
}
#toggle-nav::after{
	color: #000;
}
span.mandatory{
	color: #dc3545;
}
a{
	color: #007bff;
}
blockquote footer{
	color: #6c757d;
}
a:hover{
	color: #004085;
}
mark{
	background: #ffff00;
}
.content-gallery figcaption,.content-image figcaption,.content-text hr,.content-text pre,nav[data-pagination] ol li a:hover,tfoot td,th{
	background: #e9ecef;
}
.content-text abbr[title]:hover::before,.content-text kbd{
	background: #343a40;
}
.bg-black,.content-text hr.bg-black{
	background: #000;
}
nav[data-pagination] ol li a.active{
	background: #007bff;
}
@media screen and (max-width: 779px){#nav-main{
	background: #fff;
}}
th,td,input,textarea,select,.content-gallery a img,.content-gallery figcaption,.content-text pre,nav[data-pagination] ol li a{
	border-color: #ccc;
}
blockquote{
	border-color: #e9ecef;
}
nav[data-pagination] ol li a.active{
	border-color: #007bff;
}
input:focus,textarea:focus{
	border-color: #b8daff;
}
input:hover,textarea:hover,input:focus,textarea:focus{
	box-shadow: 0 0 2px #cce5ff;
}
.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 0;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}
button,.button a{
	display: block;
	padding: 0 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-iconbox .icon.circle i,.content-iconbox .icon.circle svg,.content-iconbox .icon.circle span,.content-teambox .circle img{
	border-radius: 100%;
}
.opacity-after-25::after{
	opacity: 0.25;
	filter: alpha(opacity=25);
}
.overlay::after{
	background-repeat: repeat;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}
.overlay-black::after{
	background: url("images/black.webp");
}
*[class*="zoom-neg"]:hover img{
	transform: scale(1);
}
#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: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 99;
}
#header .logo{
	width: 325px;
}
#nav-main-bar,#nav-main-bar .content-spaltenumschlag{
	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 0;
}}
#container,.inside{
	position: relative;
}
#main{
	width: 100%;
}
#main .inside{
	min-height: 1px;
}
#footer{
	bottom: 0;
	clear: both;
	height: 78px;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
}
#footer .copyright{
	font-size: 14px;
	font-size: 0.875rem;
}
#footer .content-toplink{
	clear: both;
	display: block;
	margin: 0 auto;
	padding: 0;
	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: 18px;
	font-size: 1.125rem;
	line-height: 1;
	margin: 0;
	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;
}
.content-text abbr{
	cursor: help;
	position: relative;
}
.content-text code{
	font-family: "Lucida Console", Monaco, monospace;
	font-size: 14px;
	font-size: 0.875rem;
}
.content-text del{
	text-decoration: line-through;
}
.content-text em{
	font-style: italic;
}
.content-text hr{
	border: none;
	height: 2px;
}
.content-text kbd{
	box-decoration-break: clone;
	font-family: "Lucida Console", Monaco, monospace;
	font-size: 14px;
	font-size: 0.875rem;
	padding: 4px 4px 2px;
}
.content-text mark{
	box-decoration-break: clone;
	padding: 0 5px;
}
.content-text pre{
	border-style: solid;
	border-width: 1px;
	display: block;
	font-family: "Lucida Console", Monaco, monospace;
	font-size: 14px;
	font-size: 0.875rem;
	overflow: auto;
	margin: 7px 0;
	padding: 14px;
	white-space: pre;
	word-break: break-all;
	word-wrap: break-word;
}
.content-text sub,.content-text sup{
	font-size: 12px;
	font-size: 0.75rem;
	position: relative;
	top: -3px;
	vertical-align: text-top;
}
.content-text sub{
	top: 3px;
	vertical-align: text-bottom;
}
@media screen and (max-width: 779px){.content-text abbr[title]:hover::before{
	content: attr(title);
	left: -7px;
	padding: 3px 5px;
	position: absolute;
	text-decoration: none;
	top: -26px;
	white-space: nowrap;
}
.content-text abbr[title]:hover::after{
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #343a40;
	clear: both;
	content: "";
	left: 0;
	position: absolute;
	top: -2px;
}}
ul{
	list-style-type: none;
}
.content-text ol{
	counter-reset: item;
	list-style: none;
}
.content-text ol > li{
	counter-increment: item;
	padding-left: 41px;
}
.content-text ol > li::before{
	content: counters(item, ".") ".";
	margin-left: -20.5px;
	margin-right: 7px;
}
.content-text ol ol > li{
	padding-left: 53px;
}
.content-text ol ol > li::before{
	margin-left: -33.5px;
}
.content-text ol ol ol > li{
	padding-left: 66px;
}
.content-text ol ol ol > li::before{
	margin-left: -47px;
}
.content-text ol ol ol ol > li{
	padding-left: 80px;
}
.content-text ol ol ol ol > li::before{
	margin-left: -60px;
}
.content-text ul{
	list-style-type: disc;
	padding-left: 35px;
}
.content-text ul ul{
	list-style-type: circle;
}
.content-text ul ul ul{
	list-style-type: square;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
	display: block;
	font-size: inherit;
	overflow: auto;
	width: 100%;
}
caption{
	padding: 7px 0;
}
caption,th,td{
	text-align: left;
	text-align: start;
	vertical-align: middle;
}
th,td{
	border-style: solid;
	border-width: 1px;
	padding: 7px;
}
th[role=columnheader]{
	padding-right: 14px;
}
th{
	font-weight: 700;
}
@media screen and (max-width: 779px){th[role=columnheader]{
	padding-right: 21px;
}}
h2,h3,h4,h5,h6){
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 2px;
	padding: 0;
}
a{
	text-decoration: none;
}
a:hover{
	text-decoration: underline;
}
p:not(.button) a[target="_blank"]::after{
	content: "\f35d";
	font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: 700;
	margin-left: 3px;
}
.content-toplink{
	padding: 7px 0 7px 12px;
}
.content-toplink a::before{
	content: "\f102";
	font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: 700;
	margin: 4px 0 0 -12px;
	position: absolute;
}
.content-toplink span{
	margin-left: 3px;
}
figure{
	position: relative;
}
.content-image a + figcaption,.content-gallery a + figcaption,.content-text figure a + figcaption{
	margin-top: -7px;
}
.content-image figcaption,.content-gallery figcaption,.content-text figure figcaption{
	margin-top: -4px;
	padding: 7px;
	position: relative;
}
.content-text.media--left figure,.content-text.media--right figure{
	margin: 11px 21px 11px 0;
	width: 33.33333333%;
}
.content-text.media--right figure{
	margin: 11px 0 11px 21px;
}
@media screen and (max-width: 1039px){.content-text.media--left figure,.content-text.media--right figure{
	width: 50%;
}}
@media screen and (max-width: 519px){.content-text.media--left figure,.content-text.media--right figure{
	margin: 7px 0 14px 0;
	width: 100%;
}}
.content-gallery ul{
	list-style: none;
	display: grid;
	grid-gap: 14px;
	padding: 0;
}
.content-gallery--cols-3 ul{
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 519px){.content-gallery--cols-3 ul{
	grid-template-columns: repeat(2, 1fr);
}}
.ce_form .widget{
	padding: 7px 2px;
}
.ce_form .widget-text label,.ce_form .widget-textarea label,.ce_form .widget-captcha label,.ce_form .widget-checkbox legend,fieldset legend{
	font-weight: 700;
}
.ce_form .checkbox_container label{
	display: block;
	margin: -21px 0 0 21px;
}
.ce_form .widget[class*="grid-"] label,.ce_form .widget[class*="grid-"] legend{
	padding: 0;
	width: 100%;
}
.content-teaserbild{
	padding: 35px 0;
	width: 100%;
}
.content-teaserbild > div{
	position: relative;
}
.content-teaserbild .fullheight{
	height: calc(100vh - 182px);
}
.content-teaserbild .box-width-50{
	padding: 0 25%;
}
.content-teaserbild .left.box-width-50{
	padding: 0 50% 0 0;
}
.content-teaserbild .right.box-width-50{
	padding: 0 0 0 50%;
}
.content-teaserbild .inside{
	display: inline-block;
	padding: 0 14px;
}
.content-teaserbild .wrapperpadding{
	padding-bottom: 35px;
}
.content-teaserbild .inside:last-of-type{
	margin-top: 7px;
}
.boxed .content-teaserbild .left .inside{
	margin-left: -15px;
}
.boxed .content-teaserbild .right .inside{
	margin-right: -15px;
}
.content-teaserbild .fullwidth .left .inside{
	margin-left: 0;
}
.content-teaserbild .fullwidth .right .inside{
	margin-right: 0;
}
.content-teaserbild .content-headline,.content-teaserbild .content-text{
	display: block;
	position: relative;
	z-index: 1;
}
.content-teaserbild .fullwidth .content-headline,.content-teaserbild .fullwidth .content-text{
	margin: auto 0;
}
.content-teaserbild .scrolldown{
	bottom: -25px;
	left: 0;
	position: absolute;
	right: 0;
	text-align: center;
	width: 100%;
}
.content-teaserbild .scrolldown a{
	font-size: 32px;
	font-size: 2rem;
}
.content-teaserbild .scrolldown a:hover{
	text-decoration: none;
}
.content-teaserbild .scrolldown a::after{
	content: "\f103";
	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-teaserbild{
	padding: 25px 0;
}
.content-teaserbild .fullheight{
	height: calc(100vh - 132px);
}}
@media screen and (max-width: 779px){.content-teaserbild .fullheight{
	height: calc(100vh - 140px);
}
.content-teaserbild .box-width-50,.content-teaserbild .left.box-width-50,.content-teaserbild .right.box-width-50{
	padding-left: 0;
	padding-right: 0;
}
.content-teaserbild .inside{
	padding: 0 10px;
}
.boxed .content-teaserbild .left .inside,.content-teaserbild .fullwidth .left .inside{
	margin-left: 0;
}
.boxed .content-teaserbild .right .inside,.content-teaserbild .fullwidth .right .inside{
	margin-right: 0;
}}
@media screen and (max-width: 519px){.content-teaserbild .content-headline,.content-teaserbild .content-text{
	margin: auto 0;
}}
.content-teambox{
	border-color: transparent;
	padding: 7px 11px;
	width: 100%;
}
.content-teambox img{
	margin: 7px 0;
	width: 180px;
}
.content-teambox .img-center img{
	margin: 7px auto;
}
.content-teambox p.content-headline{
	font-size: 20px;
	font-size: 1.250rem;
	font-weight: 700;
}
.content-teambox p.function{
	font-size: 12px;
	font-size: 0.75rem;
	margin-top: -21px;
}
.content-teambox .email.icon::before,.content-teambox .phone.icon::before{
	content: "";
	font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	margin-right: 7px;
}
.content-teambox .email.icon::before{
	content: "\f0e0";
}
.content-teambox .phone.icon::before{
	content: "\f095";
}
@media screen and (max-width: 1039px){.content-teambox img{
	width: 165px;
}}
@media screen and (max-width: 779px){.content-teambox img{
	width: 150px;
}}
blockquote{
	border-left-style: solid;
	border-left-width: 3px;
	margin: 14px 0;
	padding-left: 21px;
	position: relative;
	quotes: none;
}
blockquote::before,blockquote::after{
	content: "";
	content: none;
}
blockquote footer{
	font-size: 75%;
	padding: 7px 0;
}
blockquote footer::before{
	content: "\2014 \00A0";
}
@media screen and (max-width: 1039px) and (min-width: 780px){blockquote{
	padding-left: 14px;
}}
@media screen and (max-width: 779px) and (min-width: 520px){blockquote{
	padding-left: 14px;
}}
@media screen and (max-width: 519px){blockquote{
	padding-left: 7px;
}}
.content-iconbox,.content-iconbox .inside{
	width: 100%;
}
.content-iconbox[class*="border-"],.content-iconbox[class*="bg-"]{
	padding: 7px 11px;
}
.content-iconbox .icon{
	margin: 7px 0;
	text-align: center;
}
.content-iconbox .icon a{
	display: block;
}
.content-iconbox .icon.left i,.content-iconbox .icon.left svg{
	margin: 0 7px 0 0;
}
.content-iconbox .icon.right i,.content-iconbox .icon.right svg{
	margin: 0 0 0 7px;
}
.content-landkarte{
	width: 100%;
}
.content-landkarte iframe{
	border: none !important;
	display: block;
	width: 100%;
}
@media screen and (min-width: 1300px){.content-landkarte.xlg-map-height-vh iframe{
	height: calc(100vh - 112px);
}}
.content-anker-element,.anker{
	scroll-margin-top: 110px;
}
@media screen and (max-width: 1039px){.content-anker-element,.anker{
	scroll-margin-top: 80px;
}}
@media screen and (max-width: 779px){.content-anker-element,.anker{
	scroll-margin-top: 87px;
}}
#toggle-nav{
	background: transparent;
	border-style: none;
	border-width: 0;
	display: none;
	font-size: 24px;
	font-size: 1.5rem;
	height: 47px;
	padding: 0;
	position: absolute;
	right: 2px;
	text-align: center;
	width: 47px;
}
#toggle-nav::after{
	content: "\f0c9";
	font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-weight: 700;
}
#toggle-nav.active::after{
	content: "\f00d";
}
ul.nav-toggle:not(.level_1){
	display: none;
}
ul.nav-toggle li{
	position: relative;
}
ul.nav-toggle li.active > ul{
	display: block;
}
@media screen and (max-width: 779px){#toggle-nav{
	display: block;
}}
#nav-main{
	position: unset;
}
#nav-main ul{
	padding: 0;
}
#nav-main a,#nav-main strong{
	display: block;
	font-weight: normal;
	text-decoration: none;
}
@media screen and (min-width: 780px){#nav-main ul.level_1 > li{
	display: inline-block;
	position: unset;
}
body:not(.header-left):not(.header-right) #nav-main ul.level_1 > li:last-child > ul{
	left: auto;
	right: 15px;
}
#nav-main ul.level_1 > li:hover > ul{
	display: block;
	max-height: 80vh;
	overflow-x: hidden;
	overflow-y: scroll;
}
#nav-main ul.level_1 > li > a,#nav-main ul.level_1 > li > strong{
	font-weight: 700;
	padding: 17px 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: 0;
	display: none;
	height: calc(100% - 89px);
	left: 0;
	overflow-x: hidden;
	overflow-y: 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{
	display: block;
}}
#nav-footer ul{
	padding: 0;
}
#nav-footer ul li{
	display: inline-block;
	text-align: left;
}
#nav-footer a,#nav-footer strong{
	display: block;
	font-size: 14px;
	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;
}}
nav[data-pagination] ::marker{
	content: '';
}
nav[data-pagination] ol li{
	float: left;
	margin: 3px 0;
}
nav[data-pagination] ol li a{
	border-style: solid;
	border-width: 1px;
	display: block;
	padding: 5px 10px;
	text-decoration: none;
}
nav[data-pagination] ol li:not(:first-child) a{
	border-left-width: 0;
}
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%;
}



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(:has(#wrapper.nav-impressum)):not(:has(#wrapper.nav-datenschutz)):not(:has(#wrapper.nav-kontakt)):not(.wartungsmodus) h1,.content-headline.standard.headline-h1,body:not(:has(#wrapper.nav-impressum)):not(:has(#wrapper.nav-datenschutz)):not(:has(#wrapper.nav-kontakt)) h2{
	display: inline-block;
	margin-bottom: 21px;
	position: relative;
	text-transform: uppercase;
}
body:not(:has(#wrapper.nav-impressum)):not(:has(#wrapper.nav-datenschutz)):not(:has(#wrapper.nav-kontakt)):not(.wartungsmodus) h1::after,.content-headline.standard.headline-h1::after,body:not(:has(#wrapper.nav-impressum)):not(:has(#wrapper.nav-datenschutz)):not(:has(#wrapper.nav-kontakt)) h2::after{
	bottom: 0;
	content: '';
	height: 1px;
	left: 0;
	margin: auto;
	position: absolute;
	width: 150px;
}
body:not(:has(#wrapper.nav-impressum)):not(:has(#wrapper.nav-datenschutz)):not(:has(#wrapper.nav-kontakt)) h2{
	font-size: 22px;
	font-size: 1.375rem;
	margin-bottom: 7px;
}
:not(.content-iconbox.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-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,#toggle-nav::after{
	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{
	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:has(#wrapper.nav-impressum) #nav-back,body:has(#wrapper.nav-datenschutz) #nav-back,body:has(#wrapper.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-iconbox.effect .icon svg,.content-iconbox.effect:hover .icon svg,.content-teaserbild .scrolldown a::after,.content-teaserbild .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{
	display: block;
	margin: -14px 0 0 21px;
}
@media screen and (max-width: 779px){.ce_form .widget.widget-submit button{
	margin: 7px auto 0;
}}
.content-teaserbild .fullheight{
	height: calc(100vh - 70px);
}
.content-teaserbild .content-headline.standard.headline-h1{
	font-size: 80px;
	font-size: 5rem;
	line-height: 1.25;
	margin-top: 100px;
	text-transform: uppercase;
}
.content-teaserbild .scrolldown a::after{
	top: 0;
}
.content-teaserbild .scrolldown a:hover::after{
	top: -5px;
}
@media screen and (max-width: 1299px){.content-teaserbild .content-headline.standard.headline-h1{
	font-size: 64px;
	font-size: 4rem;
}}
@media screen and (max-width: 1039px){.content-teaserbild .fullheight{
	height: calc(100vh - 50px);
}
.content-teaserbild .content-headline.standard.headline-h1{
	font-size: 48px;
	font-size: 3rem;
}}
@media screen and (max-width: 779px){.content-teaserbild .fullheight .vcenter{
	text-align: center;
	vertical-align: bottom;
}
.content-teaserbild .fullheight .vcenter .inside{
	max-width: 390px;
}}
.content-iconbox.effect:hover .icon svg{
	margin-bottom: 5px;
	margin-top: -5px;
}
@media screen and (min-width: 1300px){.content-landkarte.xlg-map-height-vh iframe{
	height: calc(100vh - 85px);
}}
.content-anker-element,.anker{
	scroll-margin-top: 85px;
}
@media screen and (max-width: 1039px){.content-anker-element,.anker{
	scroll-margin-top: 80px;
}}
#toggle-nav{
	top: 10px;
}
body:has(#wrapper.nav-impressum) #toggle-nav,body:has(#wrapper.nav-datenschutz) #toggle-nav,body:has(#wrapper.nav-kontakt) #toggle-nav{
	display: none;
}
body:has(#wrapper.nav-impressum) #nav-main,body:has(#wrapper.nav-datenschutz) #nav-main,body:has(#wrapper.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;
}}
/* Builder integration and independent interactive components. */
[hidden]{display:none!important}
:root{--accent:#111;scroll-padding-top:0px;color-scheme:normal;background:#fff}
/* Monochrome text selection follows the surrounding light or dark surface. */
:root{--po-selection-bg:#000;--po-selection-ink:#fff}
.bg-black,.invert,.color-white,#header,#footer,.lightbox,.po-button,.button-corporate p.button a,.button-corporate button.submit{--po-selection-bg:#fff;--po-selection-ink:#000}
::selection{background:var(--po-selection-bg);color:var(--po-selection-ink);text-shadow:none}
body{background:transparent}
body,button,input:not([type=radio]):not([type=checkbox]),textarea,select{font-family:Montserrat,Arial,sans-serif}
#header{top:0px}
#header .logo img{aspect-ratio:212.4/42.81}
.overlay-black::after{background:#000}
#top{height:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{z-index:1000}
#wrapper a:focus-visible,#wrapper button:focus-visible,#wrapper input:focus-visible,#wrapper textarea:focus-visible{outline:3px solid #b49b64;outline-offset:3px}
#wrapper .po-fields{padding:0;margin:0;border:0}
#wrapper .checkbox_container input[type=checkbox]{display:inline-block!important;width:13px;height:13px;opacity:0;margin:0;padding:0}
#wrapper .content-teambox img{max-width:none}
#wrapper .checkbox_container input[type=checkbox]:focus-visible+label:before{outline:3px solid #b49b64;outline-offset:3px}
#wrapper .checkbox_container label{font-weight:400}
#wrapper .ce_form .widget label,#wrapper .ce_form legend{color:inherit}
#wrapper .ce_form .widget input,#wrapper .ce_form textarea{color:inherit}
#wrapper .ce_form button:disabled{opacity:1}
#wrapper .appointment-form select.insurance-select{display:block;width:100%;min-height:48px;padding:10px 44px 10px 12px;border:1px solid #999;border-radius:0;background-color:#000;color:#fff;--wb-select-arrow:var(--wb-select-arrow-dark)}
#wrapper .appointment-form .po-select{position:relative;width:100%}
#wrapper .appointment-form .po-select-trigger{position:relative;display:block;width:100%;min-height:48px;padding:10px 48px 10px 12px;border:1px solid #999;border-radius:0;background:#000;color:#fff;font:inherit;line-height:1.5;text-align:left;cursor:pointer}
#wrapper .appointment-form .po-select-trigger::after{content:"";position:absolute;right:18px;top:calc(50% - 5px);width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
#wrapper .appointment-form .po-select-trigger[aria-expanded=true]::after{top:calc(50% - 1px);transform:rotate(225deg)}
#wrapper .appointment-form .po-select-options{position:absolute;z-index:40;top:calc(100% - 1px);left:0;right:0;max-height:min(240px,40vh);overflow-y:auto;border:1px solid #fff;background:#000;color:#fff;padding:4px;box-shadow:0 8px 20px #0005}
#wrapper .appointment-form .po-select-options.above{top:auto;bottom:calc(100% - 1px)}
#wrapper .appointment-form .po-select-option{position:relative;min-height:44px;padding:9px 34px 9px 8px;line-height:1.5;cursor:pointer;font:inherit;color:#fff;background:#000}
#wrapper .appointment-form .po-select-option[aria-selected=true]{color:#000;background:#fff}
#wrapper .appointment-form .po-select-option[data-current=true]::after{content:"✓";position:absolute;right:10px}
/* Clear monochrome validation and an inset focus contour without overlap. */
#wrapper .appointment-form .po-field-error{clear:both;margin:6px 0 16px;padding:9px 12px;border:0;background:#fff;color:#000!important;font-size:16px;font-weight:600;line-height:1.5;text-align:left}
#wrapper .appointment-form :is(input:not([type=checkbox]),textarea,select,.po-select-trigger){border-radius:0;box-shadow:none}
#wrapper .appointment-form [aria-invalid=true]{border-color:#fff;outline:0;box-shadow:inset 0 0 0 1px #fff}
#wrapper .appointment-form :is(input:not([type=checkbox]),textarea,select,button):is(:focus,:focus-visible){outline:3px solid currentColor;outline-offset:-3px;box-shadow:none}
#wrapper .appointment-form .checkbox_container input:focus-visible+label::before{outline:2px solid #fff;outline-offset:3px}
#wrapper .form-feedback:is([role=alert],[role=status]){position:relative;margin:16px 0 24px;padding:20px 20px 20px 62px;border:0;background:#fff;color:#000}
#wrapper .form-feedback:is([role=alert],[role=status]) :is(p,strong,ul,li){color:#000!important}
#wrapper .form-feedback:is([role=alert],[role=status]) .form-feedback-title{display:block;padding:0;font-size:20px;font-weight:700;line-height:1.4}
#wrapper .form-feedback:is([role=alert],[role=status]) p{margin:6px 0 0;padding:0;font-size:16px;line-height:1.5}
#wrapper .form-feedback:is([role=alert],[role=status]) .form-feedback-icon{position:absolute;top:22px;left:20px;display:block;width:26px;height:26px;border:2px solid #000;border-radius:50%;color:#000;font:700 20px/22px Arial,sans-serif;text-align:center}
@media(max-width:519px){#wrapper .form-feedback:is([role=alert],[role=status]){padding:18px 16px 18px 52px}#wrapper .form-feedback:is([role=alert],[role=status]) .form-feedback-icon{left:14px;top:20px}#wrapper .form-feedback:is([role=alert],[role=status]) .form-feedback-title{font-size:18px}}
@media(forced-colors:active){#wrapper .appointment-form :is(input:not([type=checkbox]),textarea,select,button):is(:focus,:focus-visible){outline-color:Highlight}}
#wrapper .appointment-form :is(input,textarea,select,button){scroll-margin-top:140px}
#wrapper p:not(.button):not(.scrolldown) a::after,#wrapper .ce_form label a::after{content:none;display:none;transition:none}
#wrapper p:not(.button):not(.scrolldown) a,#wrapper .ce_form label a{text-decoration:underline;text-underline-offset:3px}
.trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-feedback{padding:15px;border:1px solid currentColor;margin:7px 0}
.map-section{position:relative;height:450px;background:#eeede9;color:#373a3b}
@media(min-width:1300px){.map-section{height:calc(100vh - 85px)}}
.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 20px;gap:8px}
.map-pin{width:38px;height:45px;fill:none;stroke:currentColor;stroke-width:2;flex:none}
.map-placeholder h2{font-size:26px}.map-placeholder p{max-width:620px}.map-placeholder>a{font-size:14px;text-decoration:underline}
.map-container,.map-container iframe{height:100%;width:100%;border:0}.map-container iframe{display:block}
.map-notice{font-size:14px;line-height:1.5}
.po-button,.map-revoke{padding:8px 15px;border:1px solid currentColor;border-radius:4px;background:#000;color:#fff;min-height:44px}
.map-revoke{position:absolute;right:15px;bottom:15px;background:#fff;color:#373a3b;z-index:2}
.lightbox{border:0;padding:55px 24px 20px;background:#111;color:#fff;max-width:94vw;max-height:96vh;width:1100px;border-radius:0;overflow:auto}
.lightbox::backdrop{background:#000c}.lightbox figure{margin:0;text-align:center}.lightbox figure img{display:block;max-height:68vh;max-width:100%;width:auto;height:auto;margin:auto;object-fit:contain}.lightbox figcaption{font-size:15px;margin-top:15px}
.lightbox-close{position:absolute;right:12px;top:5px;border:0;background:transparent;color:white;font-size:38px;width:44px;height:44px;line-height:1}
.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px;font-size:14px}.lightbox-controls button{width:44px;height:44px;background:transparent;color:white;border:1px solid #777;font-size:25px}
.legal-page{max-width:none;padding:130px 0 70px;margin:auto}.legal-page h1{margin-bottom:21px}.legal-copy h2{margin-top:28px}.legal-copy a{overflow-wrap:anywhere;text-decoration:underline}
@media(max-width:779px){html:not(.js) #wrapper:has(#toggle-nav[hidden]) #nav-main{position:relative;display:block;height:auto;padding-top:100px}html:not(.js) #wrapper:has(#toggle-nav[hidden]) #header{position:relative;padding-top:0;max-height:none}html.js #wrapper.nav-index #nav-main:not(.active){display:none}html.js #wrapper.nav-index #toggle-nav[hidden]{display:block!important}.map-placeholder{padding:25px 15px}.map-placeholder h2{font-size:22px}}
/* Match the customer's original, short effects despite the Builder's global duration reset. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  #wrapper p:not(.button):not(.scrolldown) a::after,
  #wrapper .ce_form label a::after,
  #wrapper button.button-corporate:hover,
  #wrapper .button-corporate p.button:hover a,
  #wrapper .button-corporate button.submit:hover,
  #wrapper #nav-main ul.level_1>li>a span::after,
  #wrapper #nav-main ul.level_1>li>strong span::after,
  #wrapper .content-gallery>ul li,
  #wrapper .content-iconbox.effect .icon svg,
  #wrapper .content-teaserbild .scrolldown a::after{transition-duration:0.25s!important}
  #wrapper #header.fixed{transition-duration:0.15s!important}
}

/* Semantic H2 keeps the original team-name typography and spacing. */
#wrapper .content-teambox .po-team-name{display:block!important;position:static!important;font-size:1.375rem!important;margin:0!important;text-transform:none!important}
#wrapper .content-teambox .po-team-name::after{display:none!important}
