@charset "utf-8";


@media (max-width:2050px){

	/* Content */
		#dscontent { max-width:1200px; padding:60px 40px; }
	/* Closer */
		#closer { right:calc((100% - 1500px) / 2); }

}


@media (max-width:1920px){
	html { font-size:56% !important; -webkit-text-size-adjust:100%; /* Prevent font scaling in landscape */ }

	#logo-wrapper > a { padding-bottom:60%; }
	#dsmenucontainer,
	#dsmenufooter,
	.scrolled #dsmenuheader { width:240px; }

	/* Menü */
		#dsmenus > li > a { padding-left:10px; font-size:1.9rem; }
		#dsmenus > li > ul > li > a { line-height:24px; padding:13px 15px; }


	/* Artikel */
		h1[class^="dstitle_"] { font-size:35px; }
		h2[class^="dstitle_"] { font-size:26px; }

	/* Abstände */
		.items { margin-left:-30px; }
		.item  { margin-bottom:30px; }
		.item .box { margin-left:30px; }

		.searchpanel > form { margin-left:-30px; }
		.searchpanel > form > div { padding-left:30px; padding-bottom:30px; }

	/* Imagepool */
		#background-gallery > div.cimagepool { width:calc(100% - 240px); }

	/* Closer */
		#closer { right:calc((100% - 1440px) / 2); }

	/* News */
		.cnews.viewue #newsslider { padding:0 70px; margin-bottom:20px; }


	/* Footer */
		#dsmenufooter { padding:15px; }
}


@media (max-width:1799px){
	html { font-size:62.5% !important; -webkit-text-size-adjust:100%; /* Prevent font scaling in landscape */ }

	#dsmenus > li > a { font-size:1.8rem; }

	/* Content */
		#dscontent { max-width:1100px; padding:50px 30px 0px 30px; }

	/* Artikel */
		.dsarticle { margin-bottom:40px }
		h1[class^="dstitle_"] { font-size:39px; }
		h2[class^="dstitle_"] { font-size:29px; }


	/* Closer */
		#closer { right:calc((100% - 1340px) / 2); }
}

@media (max-width:1640px){
	#ajaxdiv { right:20px; left:20px; width:auto; transform:translateY(-50%); }
}

@media (max-width:1520px){

	/* Content */
		#dscontent { max-width:950px; }

	/* Closer */
		#closer { right:calc((100% - 1190px) / 2); }

	/* News */
		.cnews.view .item { width:50%; }

	.flickity-wrapper .flickity-prev-next-button { opacity:1; filter:alpha(opacity=100); }
}


@media (min-width:1360px) and (max-height:850px) {
	#dsmenuheader { position:relative; z-index:1; }

	#dsmenufooter { z-index:2; padding-top:24px; background-color:#097c35; color:#fff; transform:translateY(100%); transition:transform 1s; }
	#dsmenufooter a { color:#fff; text-decoration:underline; }
	#dsmenufooter.in { transform:translateY(0%); }
	#footer-adresse-trigger {
		display:block; position:absolute; top:-40px; left:50%; transform:translateX(-50%); width:40px; height:40px;
		background-color:#097c35; line-height:40px; text-align:center; cursor:pointer;
	}
	#footer-adresse-trigger:before { content:"\f015"; font-family:"Font Awesome 5 Pro"; font-size:20px; font-weight:700; color:#fff; }
}

@media (max-width:1360px){
	#dssubbody { padding-top:0; }
	#siteheader { display:block; }
	#siteheader:after { content:""; display:block; clear:both; }
	#dsmenucontainer { display:none; }

	#background-gallery { position:relative; top:auto; right:auto; bottom:auto; left:auto; height:450px; padding-bottom:0; }
	body.dsdid_51061 #background-gallery { display:none; }

	#logo-wrapper { width:110px; }
	#logo-wrapper > a { height:70px; padding-bottom:0; }

	/*Ajaxdiv*/
		#ajaxdiv { top:0 !important; right:0; bottom:0; left:0; width:auto; transform:none; height:100%; margin:0; }
		#ajaxdiv > div { padding:0; background-color:#fff; height:100%; overflow:auto; -webkit-overflow-scrolling:touch; }
		#ajaxdiv .flickity-wrapper { height:0; padding-bottom:50%; margin-right:0; background-color:#ededed; }
		#ajaxdiv .flickity-wrapper .flickity-gallery { top:20px; right:20px; bottom:20px; left:20px; }
		#ajaxdiv .popupcontent { position:relative; top:auto; right:auto; bottom:auto; width:auto; max-height:none; }
		#ajaxdiv .popupheader .logo-wrapper { float:none; margin:0 auto; }
		#ajaxdiv .popupbody { padding-top:20px; }

		/*Video*/
			#ajaxdiv.video { bottom:auto; max-width:calc(100% - 40px); }
			#ajaxdiv.video > div { height:auto; overflow:hidden; }

		/* fullscreen */
			#ajaxdiv.fullscreen .popupheader { display:none; }
			#ajaxdiv.fullscreen { max-width:none; }
			#ajaxdiv.fullscreen > div { overflow:auto; }
			#ajaxdiv.fullscreen .popupcontent { width:auto; transform:none; }

	/*Layout umstellen*/
		#closer { display:none; }
		#dsmain { display:block; flex-wrap:initial; min-height:calc(100vh - 227px); box-sizing:border-box; }
		#dsmenucontainer { position:absolute; top:0; left:0; width:100%; min-height:0; height:auto; padding-bottom:0; }
		.scrolled #dsmenucontainer { position:fixed; }
		.scrolled #dsmenuheader { position:relative; top:auto; left:auto; width:auto; }
		#dsmenuheader { padding-top:0; }
		#dsmenufooter { display:none; }
		#dscontent { max-width:none; min-height:0; margin:0; padding-top:40px; padding-bottom:0; }

	/*Header*/
		#dsmenucontainer { max-height:100vh; overflow:auto; -webkit-overflow-scrolling:touch; }
		#logo-wrapper { float:left; width:207px; padding:10px 0 10px 30px; }
		#logo-wrapper > a { background-position:left center; }

		/*Menutrigger*/
			#menutrigger { position:fixed; z-index:80; top:30px; right:30px; display:block; margin:0; }
			#menutrigger > span { width:100%; background-color:#097c35; border-radius:0; transition:all .7s; height:4px; }
			.showNav #menutrigger > span { background-color:#000; }

		/*Navigation*/
			nav { position:fixed; z-index:10; top:0; right:0; bottom:0; left:0; background-color:rgba(255, 255, 255, .95); opacity:0; filter:alpha(opacity=0); visibility:hidden; transition:all .8s; }
			.showNav nav { opacity:1; filter:alpha(opacity=100); visibility:visible; }
			.showNav #dsmenus { transform:translateY(-40%); }

			#dsmenus { position:absolute; top:45%; left:0; right:0; transform:scale(.5) translateY(-50%); transform-origin:top center; max-height:75vh; max-width:500px; margin:0 auto; overflow:auto; -webkit-overflow-scrolling:touch; padding-right:0; transition:transform .7s; }
			#dsmenus a:focus { outline:none; }
			#dsmenus > li:last-of-type { padding-bottom:100px; }
			#dsmenus > li { position:relative; padding:0; border-bottom:none; text-align:center; }
			#dsmenus > li.has_subnav > a:after {
				content:"\f107"; position:absolute; top:5px; right:0; width:40px; height:70px; line-height:75px; color:#000; font-family:"Font Awesome 5 Pro"; transition:transform .4s; color:#000;
			}
			#dsmenus > li > a { padding:30px 40px 15px 0; color:#097c35; font-weight:700; font-size:35px; }
			#dsmenus > li.has_subnav.running > a:after,
			/*#dsmenus > li.has_subnav.dsmenu_active > a:after { transform:rotate(-90deg); }*/
			#dsmenus > li.dsmenu_active > a { color:#000; background-color:transparent; }


			#dsmenus > li.has_subnav > ul { display:none; position:relative; top:auto; right:auto; left:auto; width:auto; background-color:transparent; }
			#dsmenus > li.dsmenu_active > ul { display:block; }

			#dsmenus > li > ul { padding-right:40px; padding-bottom:20px; }
			#dsmenus > li > ul > li { border-bottom:none; }
			#dsmenus > li > ul > li > a { padding:5px 0; color:#097c35; font-weight:700; font-size:25px; line-height:30px;}
			#dsmenus > li > ul > li.dssubmenu_active > a { background-color:transparent; color:#000; font-weight:700; }


			#dsmenus > li > ul > li.dssubmenu_active > a:hover,
			#dsmenus > li > ul > li.running > a,
			#dsmenus > li > ul > li > a:hover,
			#dsmenus > li:hover > a,
			#dsmenus > li > a:hover,
			#dsmenus > li.running > a { background-color:transparent; color:#000; }

	/*Inhalt*/
		#dscontentheader .flickity-wrapper,
		#dscontentheader .cmaps.view .maps-wrapper{ height:auto; padding-bottom:34.5%; }

	/*Footer*/
		#dssitefooter { display:block; position:relative; z-index:4; padding:0 30px; font-size:1.5rem; line-height:2.5rem; text-align:center; }
		#sitefooter { position:relative; z-index:2; padding:10px 0 20px; font-size:1.7rem; }

		#footerbuttons { margin-left:-20px; }
		#footerbuttons:after { content:""; display:block; clear:both; }
		#footerbuttons > div { float:left; width:33.33%; padding:0 0 24px 20px; box-sizing:border-box; }
		#footerbuttons > div > a { display:block; height:40px; line-height:40px; text-align:center; color:#fff; }
		#footerbuttons > div > a:before { font-family:"Font Awesome 5 Pro"; font-size:20px; font-weight:700; }
		#footerbuttons > div.phone > a { background-color:#097c35; }
		#footerbuttons > div.phone > a:before { content:"\f095"; }
		#footerbuttons > div.email > a { background-color:#097c35; }
		#footerbuttons > div.email > a:before { content:"\f1fa"; font-weight:300; }
		#footerbuttons > div.maps > a { background-color:#097c35; }
		#footerbuttons > div.maps > a:before { content:"\f041"; }

		#scrolltop { right:30px; bottom:15px; }

	/* Imagepool */
		#background-gallery > div.cimagepool { position:absolute; top:0; left:0; width:100%; height:100%; }

	/* News */
		.cnews.view .item { width:33.333%; }

}

@media (max-width:1023px){

	.creferenzen.view .item { width:50%; }

	.cis-select > div { text-align:left; }

	/*Filter*/
		.searchpanel > form { display:none; }
		.searchpanel > form > div { width:100%; }
		.searchpanel > span.name {
			position:relative; z-index:2; background-color:#097c35; color:#fff; line-height:40px;
			text-align:center; margin-bottom:15px; cursor:pointer;
		}
		.searchpanel > span.name.out { display:block; }
		.searchpanel.in > span.name.out { display:none; }
		.searchpanel.in > span.name.in { display:block; }

	/* Team */
		.cteam.view .item { width:50%; }

	/* News */
		.cnews.view .item { width:50%; }

}

@media (max-width:850px){

	/* Navigation */
		#dsarticleheader .dsarticle { margin-bottom:20px; }
		.nav ul.dslinklist_0 { flex-wrap:wrap; }
		.nav ul.dslinklist_0 > li { margin-bottom:10px; }
		.nav ul.dslinklist_0 > li + li { margin-left:10px; }
}

@media (max-width:780px){
	html { font-size:62% !important; -webkit-text-size-adjust:100%; /* Prevent font scaling in landscape */ }

	#scrolltop { right:10px; }

	/* Header */
		#background-gallery { height:280px; padding-bottom:0; }

		/* Menü */
			#menutrigger { top:15px; right:15px; }
			#dsmenus > li > a { padding:20px 40px 10px 0; font-size:24px; }
			#dsmenus > li > ul > li > a { padding:5px 0; font-size:20px; line-height:27px;}
			#dsmenus > li.has_subnav > a:after { top:5px; height:55px; line-height:60px; right:20px; }

		/* Logo  */
			#logo-wrapper { padding:5px 0 5px 10px; }


		/* Navigation */
			#dsmenus > li > a,
			#dsmenus > li > ul > li > a { padding-right:50px; padding-left:10px; }
			#dsmenus > li > ul { padding-right:0; }

	/* Content */
		#dscontent { padding-right:0; padding-left:0; }
		#dscontentheader { padding-bottom:0; }
		#dscontentheader .flickity-wrapper,
		#dscontentheader .cmaps.view { height:280px; padding-bottom:0; }

		#dsmenuheader { padding-top:10px; }

		/* Article */
			#dsarticleheader .dsarticle_2 { background-color:transparent; padding-top:0; }

			.dsarticle { padding:0 15px 20px; margin-bottom:35px }
			.dsarticle:last-of-type { margin-bottom:0; }
			.dsarticle_2, .dsarticle_4  { padding-top:30px; padding-bottom:30px; }
			h1[class^="dstitle_"] { padding-bottom:20px; }
			h2[class^="dstitle_"] { padding-bottom:10px; }
			h1[class^="dstitle_"], h2[class^="dstitle_"] { font-size:27px; }

	/* Footer */
		#dssitefooter { padding:10px; }

	/* Searchpanel */
		.searchpanel > form > div { padding-bottom:15px; }

	/* Items */
		.items { margin-left:-15px; }
		.item { margin-bottom:15px; }
		.item .box { margin-left:15px; }

	/* Ajaxdiv */
		#ajaxdiv .flickity-wrapper { height:300px; padding-bottom:0; padding-right:0; padding-left:0; }
		#ajaxdiv .flickity-wrapper .flickity-gallery { top:10px; right:10px; bottom:10px; left:10px; }
		#ajaxdiv.fullscreen .popupcontent > .popupbody { padding:20px 10px; }

	/*Galerie*/
		.cgallery.view .items { margin-left:-15px; }
		.cgallery.view .item { width:50%; }
		.cgallery.view .item:not(.sizer) { padding-bottom:15px; }
		.cgallery.view .item .box { margin-left:15px; }

	/*Team*/
		/*Übersicht*/
			.cteam.view .item { width:50%; }

	/* News */
		.cnews.viewue #newsslider { padding:0 50px; }
		.cnews.viewue > a { float:right; margin:0; }
		.cnews.viewue .flickity-slider > .slide .box .content .text { font-size:1.7rem; }

	/* Team in Article */
		.dsarticle.has_teamviewue { min-height:0; }
		.dsarticle.has_teamviewue #contact-person { position:relative; top:auto; left:auto; right:auto; bottom:auto; max-height:none; width:auto; min-height:0; margin:0 !important; }
		.dsarticle.has_teamviewue .dsarticle_content { padding-right:0; }
		.dsarticle.has_contentimage.pos-right + .dsarticle.has_teamviewue .dsarticle_content { padding-left:0; }
}

@media (max-width:666px){

	/* Story */
		.cstory.view .item { width:100% !important; }

		/*Standard*/
			.cstory.view .item.layout0 .box { display:block; }
			.cstory.view .item.layout0 .box .placeholder { float:none; width:100%; }
			.cstory.view .item.layout0 .box .placeholder > div { height:0; padding-bottom:calc((720 / 1280) * 100%); }
			.cstory.view .item.layout0 .box .placeholder + .content { float:none; width:100%; }

		/*Vollbild*/
			.cstory.view .item.layout1 .box .placeholder > div { height:0; padding-bottom:calc((720 / 1280) * 100%); }
			.cstory.view .item.layout1:not(.no-image) .box .content { position:relative; right:auto; bottom:auto; left:auto; line-height:2.7rem; }
			.cstory.view .item.layout1 .box .content h3 { white-space:normal; }

			.cstory.view .item.white.layout1 .content { background-color:rgba(255, 255, 255, 1); }
			.cstory.view .item.green.layout1 .content { background-color:rgba(9,124,53, 1); }
			.cstory.view .item.grey.layout1 .content { background-color:rgba(237, 237, 237, 1); }

	/* Referenzen */
		.creferenzen.view .item { width:100%; }

	/* Article */
		.dsarticle.has_contentimage { min-height:0; }
		.dsarticle.has_contentimage .contentimage.view { position:relative; top:auto; left:auto; right:auto; bottom:auto; max-height:none; width:auto; min-height:0; }
		.dsarticle.has_contentimage.pos-left .dsarticle_content { padding-left:0; }
		.dsarticle.has_contentimage.pos-right .dsarticle_content { padding-right:0; }
		.dsarticle.has_contentimage.pos-right .contentimage.view { right:auto; }
		.contentimage.view .placeholder { height:0; padding-bottom:60%; }

	/*Item */
		.cteam .item { width:100%; }
		.cteam.view .item { width:100%; }

	/*Formular*/
		.f1_col1of2,
		.f1_col2of2 { float:none; width:auto; padding-right:0; padding-left:0; }
		.f1_row.empty { display:none; }


	/* Footer */
		#footerbuttons { margin-left:-10px; }
		#footerbuttons > div { padding-left:10px; }

	/* News */
		.cnews.view .item { width:100%; }
		.cnews.viewue .flickity-slider > .slide .box { display:block; padding:10px 0 30px 0; background-color:#fff; }
		.cnews.viewue .flickity-slider > .slide .box .placeholder { float:none; margin:0 auto 20px; }
		.cnews.viewue .flickity-slider > .slide .box .content { width:100%; padding:20px; background-color:transparent; }
		.cnews.viewue .flickity-slider > .slide .box .content .text { height:13.5rem; }
		.cnews.viewue #newsslider { padding:0; }
		.cnews.viewue #newsslider:after { content:""; display:block; clear:both; }
		.cnews.viewue #newsslider .flickity-prev-next-button { position:relative; top:auto; left:auto; right:auto; bottom:auto; float:left; margin-bottom:-69px; transform:none; }
}

@media (max-width:479px){
	html { font-size:64.2% !important; -webkit-text-size-adjust:100%; /* Prevent font scaling in landscape */ }

	#background-gallery { height:320px; padding-bottom:0; }
	#dscontentheader .flickity-wrapper,
	#dscontentheader .cmaps.view { height:320px; padding-bottom:0; }

	/* Navigation */
		.nav ul.dslinklist_0 > li > a { font-size:1.6rem; }
		.nav ul.dslinklist_0 > li + li { margin-left:5px; }

	/* News */
		.cnews.view .item { width:100%; }
		.cnews.view .item .box .placeholder > div,
		.cnews.view .item.portrait .box .placeholder > div { padding-bottom:0; }

	/* Item */
		.cgallery.view .item .box .placeholder > div { height:150px; padding-bottom:0; }
		.item .box .placeholder > div { height:270px; padding-bottom:0; }

}
