@font-face {
	font-family: 'KelsonSansRegular';
	src: url('../fonts/KelsonSansRegular.eot');
	src: url('../fonts/KelsonSansRegular.eot?#iefix') format('embedded-opentype'), url('../fonts/KelsonSansRegular.woff') format('woff'), url('../fonts/KelsonSansRegular.ttf') format('truetype'), url('../fonts/KelsonSansRegular.svg#KelsonSansRegular') format('svg');
}

@font-face {
	font-family: 'KelsonSansLight';
	src: url('../fonts/KelsonSansLight.eot');
	src: url('../fonts/KelsonSansLight.eot?#iefix') format('embedded-opentype'), url('../fonts/KelsonSansLight.woff') format('woff'), url('../fonts/KelsonSansLight.ttf') format('truetype'), url('../fonts/KelsonSansLight.svg#KelsonSansLight') format('svg');
} 

body {
	background: #e9eaeb;
	font-family: 'KelsonSansRegular', Arial, sans-serif;
	font-size: 100.01%;
	color: #576068;
}

a {
	color: #62a32e;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a:focus {
	outline: 0;
}

h1,
h2 {
	font-family: 'KelsonSansRegular', Arial, sans-serif;
	text-transform: uppercase;
	font-size: 24px;
	color: #62a32e;
	line-height: 1.4;
	letter-spacing: 1px;
}

h1, h2 {
	margin-top: 0;
}

h2.first,
div.content-text.first > h2, div.ce_text.first > h2 {
	margin-top: 0;
}

h3 {
	font-family: 'KelsonSansRegular', Arial, sans-serif;
	font-size: 16px;
	color: #62a32e;
	line-height: 1.4;
	letter-spacing: 1px;
}

.rte {
	margin-bottom: 1.8rem;
}



/* Fokus sichtbar machen */
.level_1 a:focus-visible,
.level_1 .nonavlink:focus-visible,
.level_1 .has-submenu a:focus-visible {
  outline: 2px solid #000;
  outline-offset: 3px;
}

/* Untermenüs standardmäßig ausblenden */
.level_1 ul {
  display: none;
}

/* Untermenü anzeigen bei Hover UND Fokus innerhalb (für Tastatur) */
.level_1 li:hover > ul,
.level_1 li:focus-within > ul {
  display: block;
}

fieldset legend {
	margin-bottom: 1rem;
}

/* Skiplink: standardmäßig versteckt */
a.invisible {
  position: absolute !important;
  left: -9999px !important;
  top: 0 !important;
}

/* Skiplink: bei Fokus sichtbar + ent-verstecken */
a.invisible:focus,
a.invisible:focus-visible {
  left: 12px !important;
  top: 12px !important;

  /* wichtig: falls invisible per clip/size/overflow versteckt */
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  opacity: 1 !important;

  z-index: 10000 !important;
  background: #fff !important;
  color: #576068 !important;
  padding: 10px 14px !important;
  border: 2px solid #576068 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  display: inline-block !important;
}

.contao-cookiebar p {
	color: #576068;
	color: var(--ccb-text,#576068);
	line-height: 1.4;
}
.cc-info > a {
	color: #576068;
	color: var(--ccb-detail-clr,#576068);
	display: inline-block;
	font-size: .813rem;
	-webkit-text-decoration: none;
	text-decoration: none;
}
.cc-detail-btn, .cc-detail-btn-details {
	color: #576068;
	color: var(--ccb-detail-clr,#576068);
	cursor: pointer;
	font-size: 13px;
	letter-spacing: 0;
	text-transform: none;
}

:focus-visible {
  outline: 2px solid #576068;        /* oder eine gut sichtbare Markenfarbe */
  outline-offset: 3px;
}

#logo a:focus-visible,
#menutog a:focus-visible {
  outline: 2px solid #576068;  /* kontrastreich */
  outline-offset: 3px;
}

/* Untermenüs offscreen verstecken */
#mainmenu ul.level_2,
#mainmenu ul.level_3 {
  position: absolute;
  left: -999em;
}

/* Maus: wie bisher */
#mainmenu li:hover > ul.level_2 {
  left: auto;
}
#mainmenu ul.level_2 li:hover > ul.level_3 {
  left: 110px;
}

/* NEU: Tastatur: :focus-within öffnet das Menü */
#mainmenu li:focus-within > ul.level_2 {
  left: auto;
}

#mainmenu ul.level_2 li:focus-within > ul.level_3 {
  left: 110px;
}

/* Fokus für alle Links im Menü sichtbar machen */
#mainmenu a:focus-visible {
  outline: 2px solid #000;
  outline-offset: 3px;
}

.uppercase {
	text-transform: uppercase;
}

.center {
	text-align: center;
}

.nowrap {
	white-space: nowrap;
}

.justify {
	text-align: justify;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

.grey {
	color: #576068;
}

.green {
	color: #62a32e;
}

#wrapper {
	width: 100%;
}

#header {
	background-color: #fff;
	border-bottom: 1px solid #d6d9d9;
}

#header .inside {
	width: 1140px;
	margin: 0 auto;
	position: relative;
	z-index: 999;
}

#content {
	margin: 0 auto;
	width: 1140px;
}

#container {
	margin: 33px 0;
	padding: 0 2%;
}

#logo {
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 3%;
	padding: 15px 25px 10px;
}

#menutog {
    display: none;
}

#mainmenu {
	padding: 0 3% 18px 0;
}

#mainmenu ul {
	float: right;
	margin: 0;
	padding: 0;
}

#mainmenu li {
	float: left;
	line-height: 1;
	margin-left: 5px;
}

#mainmenu a,
#mainmenu span {
	display: block;
	color: #576068;
	font-size: 14px;
	line-height: 1;
	padding: 47px 10px 6px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

#mainmenu span {
	cursor: default;
}

#mainmenu li:hover a,
#mainmenu li.active a,
#mainmenu li.trail a,
#mainmenu li:hover span,
#mainmenu li.active span,
#mainmenu li.trail span
 {
	background: #62a32e;
	color: #fff;
	text-decoration: none;
}

#mainmenu ul.level_2{
	width: auto;
	left: -999em;
	position: absolute;
	border-top: 5px solid #fff;
	padding: 5px 0;
	background-color: #576068;
	background-color: rgba(87, 96, 104, 0.8);
}

#mainmenu ul.level_2 li {
	position: relative;
	float: none;
	margin-left: 0;
}

#mainmenu ul.level_2 a,
#mainmenu ul.level_2 span {
	padding: 5px 13px 5px 12px;
	color: #fff;	
	background-color: transparent;
}

#mainmenu ul.level_2 li:hover a,
#mainmenu ul.level_2 li.active a,
#mainmenu ul.level_2 li.trail a,
#mainmenu ul.level_2 li:hover span,
#mainmenu ul.level_2 li.active span,
#mainmenu ul.level_2 li.trail span {
	color: #62a32e;
	background-color: #e9eaeb;
}

#mainmenu li:hover ul.level_2 {
	left: auto
}

#mainmenu li:hover ul.level_2 ul.level_3 {
	left: -999em;
}

#mainmenu ul.level_3 {
	left: -999em;
	width: 250px;
	position: absolute;
	top: -5px;
	padding: 5px 0;
	border-left: 1px solid #fff;
	border-left: 1px solid rgba(255, 255, 255, 0.8);
	background-color: #576068;
	background-color: rgba(87, 96, 104, 0.8);
}

#mainmenu ul.level_3 li {
	position: relative;
	float: none;
	background-color: transparent;
	margin-left: 0;
}

#mainmenu ul.level_2 li:hover ul.level_3 li a,
#mainmenu ul.level_2 li.active ul.level_3 li a,
#mainmenu ul.level_2 li.trail ul.level_3 li a,
#mainmenu ul.level_2 li:hover ul.level_3 li span,
#mainmenu ul.level_2 li.active ul.level_3 li span,
#mainmenu ul.level_2 li.trail ul.level_3 li span {
	color: #fff;
	background-color: transparent;
	text-transform: none;
	white-space: nowrap;
}

#mainmenu ul.level_3 li:hover a,
#mainmenu ul.level_3 li.active a,
#mainmenu ul.level_3 li.trail a,
#mainmenu ul.level_3 li:hover span,
#mainmenu ul.level_3 li.active span,
#mainmenu ul.level_3 li.trail span {
	color: #62a32e !important;
	background-color: #e9eaeb !important;
}

#mainmenu ul.level_2 li:hover ul.level_3 {
	left: 110px;
}

.custom  {
	min-height: 120px;
}

.custom .inside > div  img, #content .inside > div img {
	border-bottom: 1px solid #d6d9d9;
	width: 100%;
}

.imgmaxwidth #content .media--above img, .imgmaxwidth #content .content-image img {
	width: auto !important;
	max-width: 100% !important;
}

#container .mod_article {
	background-color: #fff;
	margin-bottom: 20px;
	padding: 15px 0;
	margin-right: 1%;
	margin-left: 1%;
}

#container .mod_article.clear {
	margin: 0;
	padding: 0;
}

.g33,
.g67 {
	float: left;
	display: inline;
}

.g33 {
	width: 31.3333%;
}

.g67 {
	width: 64.67%
}

#container .mod_article > .block,
#container .mod_article > .content-text,
#container .mod_article > .content-headline,
#container .mod_article > .ce_headline,
#container .mod_article.homebox > .content-text,
#container .mod_article > .content-image {
	margin-right: 15px;
	margin-left: 15px;
}

.image_container.float_left, .media--left figure {
	width: 29.6667%;
}

.image_container.float_left + div, .media--left .textblock {
	margin-left: 35.1111%;
}

.image_container.float_left + div > h2, .media--left .textblock h2 {
	margin-top: 0;
}

.g33 .content-image + .content-image, .g33 .ce_image + .ce_image {
	margin-top: 20px;
}

#footer {
	width: 1140px;
	margin: 0 auto;
	
}

#footer .inside {
	border-top: 1px dashed #62a32e;
	margin: 0 3%;
}

#footmenu {
	padding: 15px 0 20px 0;
}

#footmenu ul {
	float: right;
	margin: 0 2% 0 0;
	padding: 0;
}

#footmenu li {
	float: left;
	line-height: 1;
	padding: 0 5px 0 6px;
	border-right: 1px solid #576068;
}

#footmenu li.last {
	border-right: 0;
	padding-right: 0;
}

#footmenu a,
#footmenu span {
	display: block;
	color: #576068;
	font-size: 12px;
	line-height: 1;
	padding: 0;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
}

#footmenu ul li:hover a,
#footmenu ul li.active a,
#footmenu ul li.trail a,
#footmenu ul li:hover span,
#footmenu ul li.active span,
#footmenu ul li.trail span {
	color: #62a32e;
}

.content-text p,
.content-hyperlink,
.content-list,
.content-text ol,
.content-text ul,
.content-text td,
.content-table td,
.content-form label,
.ce_text p,
.ce_hyperlink,
.ce_list,
.ce_text ol,
.ce_ext ul,
.ce_text td,
.ce_table td,
.ce_form label,
.teaser,
.comment,
.listing table.single_record td,
.mod_search .context,
.mod_faqlist li,
.formbody .explanation,
.mod_sitemap,
.mod_newslist,
.captcha_text {
	font-family: 'KelsonSansLight', Arial, sans-serif;
	font-size: 16px;
	line-height: 1.4;
}

#main strong {
	font-family: 'KelsonSansRegular', Arial, sans-serif;
	font-weight: normal;
}

#main ul {
	padding-left: 17px;
	list-style-type: disc;
}

.clear_left {
	clear: left;
}

.non-link-marking a {
	color: #576068;
	text-decoration: none;
}

#main .mod_sitemap ul {
	padding-left: 0;
	list-style-type: none;
}

.mod_sitemap ul.level_2 {
	margin: 0 0 5px 12px;
}

.mod_sitemap ul.level_3 {
	margin: 0 0 0 24px;
}

.mod_sitemap ul.level_2 li:before {
	content: "- ";
	color: #576068;
}

.formbody input.text, .formbody input.captcha, textarea {
	border: 1px solid #62a32e;
	padding: 3px 2px;
	font-size: 16px;
	color: #576068;
}

.formbody div.tab-left {
	padding: 2px 0 10px;
}

.formbody .tab-left label {
	display: inline-block;
	vertical-align: top;
	padding-top: 3px;
	width: 150px;
}

.formbody .tab-left input.text, .tab-left textarea {
	width: 60%;
}

.formbody input.captcha {
	width: 50px;
}

.formbody div.widget-submit {
	padding-top: 2px;
	margin-left: 154px;
}

.formbody button.submit {
	background-color: #62a32e;
	color: #fff;
	border: 0 none;
	padding: 5px 20px;
	font-size: 16px;
}

.overlay .image_container {
	position: relative;
}

.overlay .caption, .overlay .rte, .rsts-slide .content-text .rte, .media--below .rte {
    background-color: #62a32e;
	background-color: rgba(98, 163, 46, 0.8);
	width: auto;
    color: #fff;
    left: 3%;
    padding: 15px 3% 5px;
    position: absolute;
	bottom: 50px;
}

.overlay .caption h2, .overlay .rte h2, .rsts-slide .content-text .rte h2, .media--below .rte h2 {
    color: #fff;
	margin: 0;
}

.overlay .caption h1, .overlay .rte h1, .rsts-slide .content-text .rte h1, .media--below .rte h1 {
	color: #fff;
	margin: 0;
}

.content-text .overlay p, .ce_text .overlay p, .rsts-slide .content-text .rte p {
	font-family: 'KelsonSansLight', Arial, sans-serif;
	font-size: 16px;
	line-height: 1.4;
}

.callinfo .rte {
	display: table;
	height: 54px;
	width: 98.44444%;
	background: url("../images/balloon.png") no-repeat 20px center transparent;
	margin-bottom: 0;
}

.callinfo .rte p {
	display: table-cell;
    vertical-align: middle;
	font-family: 'KelsonSansRegular', Arial, sans-serif;
	font-size: 19px;
	text-align: right;
	margin: 0;
	padding-right: 15px;
}

.callinfo .rte a {
	color: #fff;
	background-color: #62a32e;
	padding: 5px 20px;
	margin: 0 0 0 10px;
	display: inline-block;
	font-weight: bold;
}

.callinfo .rte a:hover {
	text-decoration: none;
}

.numeration .toggler, .numeration .ui-accordion-content {
	display: block;
	margin-bottom: 5px;
	font-family: 'KelsonSansLight', Arial, sans-serif !important;
	font-size: 16px;
	cursor: pointer;
	line-height: 1.4;
}

.numeration {
	counter-reset: counter1;
}

.numeration .toggler:before {
	content: counter(counter1) "\A0";
	counter-increment: counter1;
	background-color: #62a32e;
	color: #fff;
	padding: 3px 5px;
	width: 25px;
	display: inline-block;
	text-align: right;
	margin-right: 10px;
}

.numeration .ui-accordion-header-active  {
	color: #62a32e;
	font-weight: 700;
}

.numeration .toggler:after {
	content: "+";
	float: right;
	color: #576068;
}

.numeration .ui-accordion-header-active:after  {
	content: "-";
}

.homebox .content-image, .homebox .ce_image {
	margin-bottom: 12px;
}
	
.job {
	color: #62a32e;
}

.dlh_googlemap {
    height: 480px;
    width: 1140px;
}

@media screen and (min-width: 768px) and (max-width: 1023px){

	#header .inside {
		width: 800px;
	}

	#content {
		width: 800px;
	}
	
	#footer {
		width: 800px;
	}
	
	.content-text p,
	.content-hyperlink,
	.content-list,
	.content-text ol,
	.content-text ul,
	.content-text td,
	.content-table td,
	.content-form label,
	.ce_text p,
	.ce_hyperlink,
	.ce_list,
	.ce_text ol,
	.ce_text ul,
	.ce_text td,
	.ce_table td,
	.ce_form label,
	.teaser,
	.comment,
	.listing table.single_record td,
	.mod_search .context,
	.mod_faqlist li,
	.formbody .explanation,
	.mod_sitemap,
	.captcha_text {
		font-size: 13px;
	}
	
	.callinfo .rte {
		width: 98%;
	}
	
	.callinfo .rte a {
		padding: 4px 15px 3px;
		margin-left: 5px;
	}
	
	.dlh_googlemap {
		height: 375px;
		width: 800px;
	}
	
	.content-text .overlay p, .ce_text .overlay p, .rsts-slide .content-text .rte p {
		font-family: 'KelsonSansLight', Arial, sans-serif;
		font-size: 14px;
		line-height: 1.6;
	}
	
	h1,
	h2 {
		font-family: 'KelsonSansRegular', Arial, sans-serif;
		text-transform: uppercase;
		font-size: 16px;
		color: #62a32e;
		line-height: 1.6;
		letter-spacing: 1px;
	}
	
	.callinfo .rte p {
		font-size: 16px;
	}
	
	
}

@media screen and (max-width: 1023px){
	#header .inside {
		width: 100%;
		height: 50px;
	}
	
	#menutog {
		display: block;
	}
	
	#menutog a {
		background: url("../images/mmenu.png") no-repeat scroll right top transparent !important;
		display: block;
		height: 20px;
		position: absolute;
		right: 3%;
		padding: 4px 30px 0 0;
		color: #576068;
		top: 15px;
		width: auto;
		font-size: 16px;
		line-height: 1;
		text-transform: uppercase;
		letter-spacing: 1px;
	}

	#menutog a:hover {
		text-decoration: none;
	}
	
	#mainmenu {
		width: 70%;
		height: 100%;
		left: -800px;
		top: 0;
		position: fixed;
		overflow: auto;
		display: block;
		margin-bottom: 10px;
		padding: 10px;
		background-color: rgba(255,255,255,.95);
		border-right: 1px solid #bbb;
		-webkit-overflow-scrolling: touch
	}
	
	#mainmenu li {
		float: none;
		padding: 0;
		margin-left: 0;
	}

	#mainmenu ul.level_1 {
		margin-bottom: 24px
	}
	
	#mainmenu ul.level_2 {
		width: inherit;
		left: auto;
		position: relative;
		border: 0;
		padding: 0;
		background: none !important
	}
	
	#mainmenu ul.level_2 span,
	#mainmenu ul.level_2 a {
		color: #576068;
		background: none !important
	}
	
	#mainmenu a.trail {
		color: #444;
	}
	
	#mainmenu ul.level_1 > li {
		margin-top: 15px;
	}
	
	#mainmenu ul.level_1 > li:first-child {
		margin-top: 5px;
	}
	
	#mainmenu ul.level_1 > li:appointment-child {
		margin-bottom: 40px;
	}
	
	#mainmenu ul.level_1 ul {
		margin-top: 6px;
		margin-left: 12px;
	}
	
	#mainmenu li:hover ul {
		left: auto;
	}

	#mainmenu ul {
		float: none;
	}

	#mainmenu a,
	#mainmenu span {
		color: #576068;
		font-size: 13px;
		padding: 0;
	}

	#mainmenu li.active a,
	#mainmenu li.trail a {
		background: none;
		color: #576068;
	}

	#mainmenu li.trail span,
	#mainmenu li span {
		background: none;
		color: #abafb3;
	}
	
	#mainmenu li.active span {
		background: none;
		color: #62a32e;
	}
	
	#mainmenu li:hover a,
	#mainmenu ul.level_2 li:hover a	{
		background: none;
		color: #576068;
		text-decoration: none;
	}

	#mainmenu li:hover span {
		background: none;
		color: #abafb3;
		text-decoration: none;
	}
	
	#mainmenu ul.level_3,
	#mainmenu ul.level_2 li:hover ul.level_3 {
		left: -999em;
	}
}

@media screen and (max-width: 767px){
	#content,
	#footer	{
		width: 100%;
	}
	
	#logo {
		background-color: #fff;
		position: absolute;
		top: 0;
		left: 3%;
		padding: 5px 15px 5px;
	}

	#logo img {
		width: 100px;
	}
	
	#wrapper {
		min-width: 320px;
	}

	#main {
		background-color: transparent;
		padding: 0;
		margin-right: 0;
		margin-left: 0;
		width: 100%;
	}
	
	#main:after {
		clear: both;
		content: "";
		display: table;
	}
	
	.g25,
	.g33,
	.g50,
	.g67,
	.g75 {
		display: block;
		width: 98%;
	}
	
	.overlay .caption, .overlay .rte {
		width: 88%;
		bottom: 15px;
	}
	
	.mod_rocksolid_slider .overlay .caption, .mod_rocksolid_slider .overlay .rte {
		width: 94%;
		bottom: 15px;
	}
	
	.overlay .caption br, .overlay .rte br {
		display: none;
	}
	
	.callinfo .rte {
		display: block;
		width: auto;
		height: auto;
		background: none;
	}

	.callinfo .rte p {
		display: block;
		vertical-align: middle;
		font-size: 19px;
		text-align: center;
		padding-right: 0;
	}
	
	.callinfo .rte a {
		padding: 4px 15px 3px;
		margin-left: 5px;
	}
	
	.m_display_none {
		display: none;
	}
	
	.dlh_googlemap {
		height: 360px;
		width: 100%;
	}
	
	.content-text .overlay p, .ce_text .overlay p, .rsts-slide .content-text .rte p {
		font-family: 'KelsonSansLight', Arial, sans-serif;
		font-size: 14px;
		line-height: 1.6;
	}
	
	h1,
	h2 {
		font-family: 'KelsonSansRegular', Arial, sans-serif;
		text-transform: uppercase;
		font-size: 16px;
		color: #62a32e;
		line-height: 1.6;
		letter-spacing: 1px;
	}
}

@media screen and (min-width: 768px) {
	.homebox {
		min-height: 363px;
	}
}

@media screen and (max-width: 479px) {
	.overlay .caption, .overlay .rte {
		display: none;
	}
}