@charset "utf-8";

/*#wrapLine { position:fixed; z-index:5555555; right:0; left:0; height:2px; background:#000; }*/

/*
font-family: 'Bitter', serif;
font-family: 'Raleway', sans-serif;
*/

/****************** General ******************/
	html { background:#6caf9a26; font-size:62.5% !important; font-family:'Raleway', sans-serif; font-weight:400; color:#000; word-break:break-word; -webkit-overflow-scrolling:touch; }
	body { margin:0; width:auto !important; font-family:inherit !important; -webkit-overflow-scrolling:touch; }
	b, strong { font-weight:700; }
	ul { padding:0; }
	a { color:#000; }
	a:hover { color:#6caf9a; text-decoration:none; }
	img { max-width:100%; }
	h1,
	h2,
	h3 { margin:0; padding:0; }

	img { max-width:100%; }

	.hidden { display:none; }
	.clearfix { display:block; clear:both; }
	.absolute { position:absolute; top:0; right:0; bottom:0; left:0; }

	#userinfo { position:fixed; top:0; left:0; z-index:9999; padding:20px 10px; background:#fff; font-size:15px; line-height:20px; }
	#userinfo span { display:block; }


	#button { position:fixed; top:50vh; left:calc((100vw - 1340px) / 2); z-index:5; transform:translateX(-50%); width:200px; height:200px; background:url(../mm/button.png) no-repeat center center; background-size:contain; opacity: 0; pointer-events: none; }


	/* Grundlayout */
		#dscontent { position:relative; z-index:8; margin:-150px auto 0; padding-top:40px; width:100%; max-width:1340px; min-height:100vh; background:#fff; box-shadow:0px 10px 10px 2px #999; }
		#dssitefooter { position:relative; z-index:10; margin:0 auto; width:100%; max-width:1340px; background:#fff; box-shadow:0px 10px 10px 2px #999; }


	/* Header */
		#dssiteheader { position:fixed; top:0; right:0; left:0; z-index:20; transition:.4s background; }
		.navigation #dssiteheader { background:rgba(108, 175, 154, 0.5); }
		#siteheader { margin:0 auto; padding:20px; width:auto; max-width:1340px; }
		#siteheader:after { content:""; display:block; clear:both; }


		/* Fitness Störer */
			.fitness-stoerer { position:relative; top:-36px; right:-270px; z-index:8; width:250px; height:570px; transition: height .2s; float:right; background-image:url(../svg/stoerer_fitness_desktop.svg); background-size:cover;background-repeat:no-repeat}
			.navigation .fitness-stoerer { height: 0;}
			#ajaxdiv { padding:50px 40px 15px; width:calc(100vw - 170px); max-width:800px; }
			a.ajaxclose { position:absolute; top:10px; right:20px; font-size:25px; line-height:25px; }
			#ajaxdiv { font-size:1.5rem; font-size:15px; }
			#ajaxdiv h2 { font-size:20px; line-height:1; }
			#ajaxdiv .hinweis { line-height:1 }

		/* Logo */
			#logo-mobile { opacity:0; visibility:hidden; filter:alpha(opacity=0); }
			#logo { position:absolute; top:100px; right:10px; left:10px; z-index:6; transition:.4s opacity, .4s visibility; text-align:center; }
			#logo a { display:block; height:300px; max-height:300px; min-height:100px; transition:.4s min-height; background-image:url(../svg/logo.svg); background-repeat:no-repeat; background-size:contain; background-position:center center; }
			#logo span { display:block; padding-top:40px; font-size:40px; line-height:50px; font-family:"Bitter", serif; color:#fff; transition:.4s all; }


			.navigation #logo a { min-height:50px; }

		/* Navigation */
			#nav-wrapper { position:relative; z-index:9; float:right; }

			#nav-logo { position:absolute; top:130px; right:0; left:0; transform:translateY(-50%); height:130px; background-image:url(../svg/logo.svg); background-repeat:no-repeat; background-size:contain; background-position:center center; }

			#nav { position:fixed; top:0; right:0; bottom:0; left:0; z-index:8; background:rgba(0,0,0,.9); opacity:0; transition:.7s all; visibility:hidden; filter:alpha(opactiy=0);}
			.showNav #nav { opacity:1; visibility:visible; filter:alpha(opactiy=100); }

			nav { position:absolute; top:50%; right:0; left:0; transform:translateY(-40%); margin:0 auto; width:100%; max-width:1340px; }
			#dsmenus li { padding:0 0 40px; text-align:center; }
			#dsmenus a { display:block; font-size:25px; font-size:2.5rem; line-height:30px; line-height:3rem; font-weight:700; text-transform:uppercase; color:#fff; transition:.7s all; letter-spacing:2px; }
			#dsmenus a:hover,
			#dsmenus li.dsmenu_active a { transform:scale(1.4); font-family:"Bitter", serif; color:#6caf9a; }
			#dsmenus > li > ul { padding-top:20px; }
			#dsmenus > li > ul > li > a { font-size:25px; font-size:2.5rem; }

			/* Menutrigger */
				#menutrigger { display:block; margin-top:0; width:40px; height:40px; }
				#menutrigger span { width:40px; height:5px; background:#fff; border-radius:0; }
				#menutrigger span.line1 { top:0; }
				#menutrigger span.line2,
				#menutrigger span.line3 { top:11px; }
				#menutrigger span.line4 { top:23px; }


			/* Quicklinks */
				.quicklinks { position:relative; z-index:5; padding:0 50px; float:left; }
				.quicklinks > li { float:left; }
				.quicklinks > li + li { padding-left:40px; }
				.quicklinks a { width:30px; height:30px; background-repeat:no-repeat; background-size:contain; background-position:center center; }
				.quicklinks .location { background-image:url(../svg/location.svg); }
				.quicklinks .contact { background-image:url(../svg/contact.svg); }

	/* Footer */
		#dssitefooter { padding-bottom:5px; font-size:15px; font-size:1.5rem; }
		#dssitefooter .desktop { text-align:center; }
		#dssitefooter .desktop > div { display:inline-block; border-bottom:none; display:flex; justify-content:center; gap:40px; }
		#dssitefooter .desktop > div.row > .col.logo { width:180px; }

	/* Articledesign */

		/* Default */
			.dsarticle { position:relative; margin:0 auto; padding:40px 20px 40px; box-sizing:border-box; max-width:800px; }
			.dsarticle h1,
			.dsarticle h2 { padding-bottom:40px; font-size:30px; font-size:3rem; line-height:35px; line-height:3.5rem; font-family:"Bitter", serif; text-align:center; }
			.dsarticle div[class^="dsbody_"] { font-size:15px; font-size:1.5rem; line-height:20px; line-height:2rem; text-align:center; }

		/* Article 2 */
			.dsarticle_2 { padding-right:0; padding-left:0; width:100%; max-width:none; }

		/* Article 3 */
			.dsarticle_3 { width:100%; max-width:none; background:#b5d7cc; }

		/* Article 4 */
			.dsarticle_4 { width:100%; max-width:none; background:#b5d7cc; }
			.dsarticle_4 .dsbody_4 { margin:0 auto; max-width:800px; }

		/* Article 5 */
			.dsarticle_5 { margin-top:-150px; padding:0 20px 40px; }

			/* Images */
				div[class^="dsimage"] { float:none; }
				img[class*='dsimage_titleleft_'] { position:absolute; top:0; left:calc((700px / 2) * (-1) + 60px); z-index:4 !important; }
				img[class*='dsimage_titleright_'] { position:absolute; top:-20px; right:0; }


		/* Articlelinks */
			ul[class^="dslinklist_"] { margin:0 auto; padding:20px 0; max-width:700px; }
			ul[class^="dslinklist_"] > li { width:50%; float:left; }
			ul[class^="dslinklist_"] > li > a:not(.dsbutton) { border:none; font-size:18px; font-size:1.8rem; line-height:20px; line-height:2rem; }
			ul[class^="dslinklist_"] > li > a:not(.dsbutton):after { content:"\f101"; margin-left:20px; font-family:"FontAwesome"; }
			ul[class^="dslinklist_"] > li > a:not(.dsbutton):before { display:none; }

	/* Individual Articles */
		#dsarticlebody_5058561 .dsimage_1 { position: relative; left: 50%; transform: translateX(-50%); }

	/* Modules */
		/* Flickity */
			.flickity-viewport { height:100% !important; }
			.flickity-slider > div { width:100%; height:100%; transition:.05s top; background-repeat:no-repeat; background-size:cover; background-position:center center; }

			/*Animation*/
				.flickity-wrapper .flickity-viewport { z-index:1; }
				/*.flickity-slider { width:100%; height:100%; overflow-x:hidden; overflow-y:scroll; perspective:1px; perspective-origin:0 0; }*/
				.flickity-slider { left:0 !important; transform:none !important; height:100vh; }
				.flickity-slider > div { right:0 !important; left:0 !important; transform:translateZ(0); opacity:0; transition:2s opacity; transition:top .05s; filter:alpha(opacity=0); background-position:center top; }
				.flickity-slider > div.is-selected { opacity:1; filter:alpha(opacity=100); }

				.ie .flickity-slider { height:100%; transition:.2s top ease-in-out; }
				.ie .flickity-slider > div { background-position:center center; }
				.ie #maps > div { transition:.2s top ease-in-out; }

		/* Imagepool */
			.cvideo.view { position:relative; }
			.cvideo.view:after { content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:5; background:rgba(0,0,0,0.3); }
			.cvideo.view .video-wrapper { overflow:hidden; }
			.cvideo.view .video-wrapper > div { position:relative; padding-bottom:45%; height:0; }
			.cvideo.view video { position:absolute; top:0; right:0; bottom:0; left:0; width:100%; height:100% !important; object-fit:cover; }


		/* Contentbox */
			.contentbox { padding-top:20px; }
			.contentbox .text { color:#fff; }
			.contentbox .item .box { padding:20px; background:#6caf9a; box-shadow:5px -3px 5px #999; border:none; cursor:pointer; transition:.4s transform; }
			.contentbox .item .box.nolink { cursor:initial !important; }
			.contentbox .item .box:hover,
			.contentbox .item .box:focus { transform:scale(1.1); }
			.contentbox .item .box .image { position:relative; margin:20px 0; padding-bottom:60%; }
			.contentbox .item .box .image > div { position:absolute; top:0; right:0; bottom:0; left:0; background-repeat:no-repeat; background-size:contain; background-position:center center; }
			.contentbox .item .box .titel { padding:20px 0; font-size:30px; font-size:3rem; line-height:35px; line-height:3.5rem; font-family:"Bitter", serif; color:#fff; }

		/* Items */
			.item { width:33.33%; }

		/* Gallery Slider */
			.cgallery.slider { position:relative; }
			.cgallery.slider .editbalken { position:absolute; top:0; z-index:1000; }
			.cgallery.slider .flickity-gallery { position:absolute; top:0; right:0; bottom:0; left:0; }
			.cgallery.slider .flickity-viewport { transform:translateX(0); }
			.cgallery.slider .flickity-wrapper { overflow:hidden; padding-bottom:30%; height:0; }

	/* Maps */
		.cmaps.view { position:relative; z-index:-1; height:100%; }
		.cmaps.view .editbalken { position:absolute; top:0; z-index:1000; }

		.maps-wrapper { padding-bottom:40%; }
		.maps-wrapper .maps-content { position:absolute; top:0; right:0; bottom:0; left:0; transform:translateX(0); overflow:hidden; }
		html:not(.ie) #maps { position:fixed !important; width:100%; height:100vh !important; }

	/* Flipster */
		.coverflow.view { position:relative; overflow:hidden; padding-top:20px; }
		.coverflow.view .editbalken { position:absolute; z-index:5; }
		.coverflow.view .flipster ul:not(.flipster__container) { overflow:hidden; height:350px; opacity:0; filter:alpha(opacity=0); }
		.coverflow.view .cover-content { padding-top:20px; min-height:150px; transition:opacity .4s, visibility .4s; }
		.coverflow.view .cover-content.hide { opacity:0; filter:alpha(opacity=0); visibility:hidden; }
		.coverflow.view .flipster--infinite-carousel .flipster__item { max-width:250px; perspective:none !important; }
		.coverflow.view .flipster--infinite-carousel .flipster__item img { max-width:100%; }
		.coverflow.view .flipster--infinite-carousel .flipster__item--past-1 .flipster__item__content { transform:translateX(-50%) rotate(0deg) scale(0.8); }
		.coverflow.view .flipster--infinite-carousel .flipster__item--past-2 .flipster__item__content { transform:translateX(-81%) rotate(0deg) scale(0.6); }
		.coverflow.view .flipster--infinite-carousel .flipster__item--future-1 .flipster__item__content { transform:translateX(50%) rotateY(0deg) scale(0.8); }
		.coverflow.view .flipster--infinite-carousel .flipster__item--future-2 .flipster__item__content { transform:translateX(81%) rotateY(0deg) scale(0.6); }

		.coverflow.view .flipster-previous,
		.coverflow.view .flipster-next { position:absolute; top:130px; z-index:3; width:40px; height:40px; font-size:40px; line-height:40px; color:#6caf9a; text-align:center; }
		.coverflow.view .flipster-previous { left:0; }
		.coverflow.view .flipster-next { right:0; }
		.coverflow.view .flipster-previous:before { content:"\f104"; font-family:FontAwesome; }
		.coverflow.view .flipster-next:before { content:"\f105"; font-family:FontAwesome; }


	/* Immotool */
		.cimmotool { font-size:15px; font-size:1.5rem; line-height:20px; line-height:2rem; }
		.cimmotool.view > .row { border-bottom:0; }

		.cimmotool.view > .row > .col { padding:5px 0px; }
		.cimmotool.view > .row > .col:first-of-type { width:700px; }
		.cimmotool.view > .row > .col:last-of-type { width:600px; }

		.cimmotool.view .list:not(.scroll) { padding-top:100px; }
		.cimmotool .row.header { background:transparent; border-bottom:none; }
		.cimmotool .list.scroll .row { border-bottom:1px #888 solid; }
		.cimmotool .list.scroll .row:hover { background:#6caf9a; }

		.cimmotool .list .row .col.right { text-align:right; }
		.cimmotool .list .row .col.center { text-align:center; }
		.cimmotool .list .row .col.left { text-align:left; }

		.cimmotool .haftung { padding-top:20px; text-align:center; }

		.cimmotool.view .icons > a { width:50%; float:left; }
		.cimmotool.view .icons > a + a { padding-left:20px; box-sizing:border-box;}
		.cimmotool.view .icons:after { content:""; display:block; clear:both; }


		/* Extranet */
			.cimmotool.extranet .col { width:14.28% !important; }



	/* Gallery */
		.cgallery.view { padding:20px 0; }
		.cgallery.view .items { margin-left:-40px; }
		.cgallery.view .item { transform:translateY(100%); margin-bottom:40px; opacity:0; transition:.7s transform ease, .7s opacity, .7s visibility; filter:alpha(opacity=0); visibility:hidden; }
		.cgallery.view .item.imgVisible { transform:translateY(0); opacity:1; filter:alpha(opacity=100); visibility:visible; }
		.cgallery.view .item.general { margin-bottom:0; }
		.cgallery.view .item .box { position:relative; margin-left:40px; padding:0; height:300px; box-shadow:none; border:none; }
		.cgallery.view .item .box > div:after { content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:2; background:rgba(255,255,255,0.7); cursor:pointer; transition:.4s background; }
		.cgallery.view .item .box:hover > div:after,
		.cgallery.view .item .box:focus > div:after { background:transparent; }
		.cgallery.view .item.height2 .box { height:calc(600px + (1 * 40px)); }
		.cgallery.view .item.height3 .box { height:calc(900px + (2 * 40px)); }

		.cgallery.view .item.width2 { width:66.66%; }
		.cgallery.view .item.width3 { width:100%; }

		.cgallery.view .placeholder { position:static; }


	/* Form */

		.cform { padding-top:20px; }

		input[type=text],
		input[type=number],
		input[type=email],
		input[type=password],
		textarea { background:#fff; border:1px #999 solid; font-family:"Bitter", serif; }
		textarea { resize:vertical; }

		/* Input Placeholder */
		::-webkit-input-placeholder { font-family:"Bitter", serif; color:#000 !important; }
		:-moz-placeholder { font-family:"Bitter", serif; color:#000 !important; }
		::-moz-placeholder { font-family:"Bitter", serif; color:#000 !important; }
		:-ms-placeholder { font-family:"Bitter", serif; color:#000 !important; }


		.cis-select { text-align:left; }
		.cis-select > div { font-family:"Bitter", serif; color:#000; border-color:#999; }

		.checkboxCheck > div { padding:0 40px 10px 0; width:auto; }
		.checkboxCheck > div > label { padding:0 0 0 30px; line-height:25px; }
		.checkboxCheck > div label:before { width:15px; height:15px; background:#6caf9a; border:none; border-radius:50%; }
		.checkboxCheck > div input[type=checkbox]:checked + label:before,
		.checkboxCheck > div input[type=radio]:checked + label:before,
		.checkboxCheck > div label.checked:before { line-height:15px; color:#fff; }

		.f1_row.spamfilter:after { content:""; display:block; clear:both; }
		.f1_row.spamfilter > input { width:200px; float:left; }
		.f1_row.spamfilter > label { float:left; }

		button { background:#6caf9a; color:#fff; }

		.hinweis { padding:20px 0; }




/*Scrolltop*/
	#scrolltop { right:50px;
		bottom:120px; margin:0 auto; width:40px; height:40px; line-height:40px; color:#6caf9a;
		transition:opacity .2s, visibility .2s; border-width:0; background-color:transparent;
	}
	#scrolltop:before { content:"\f062"; font-size:40px; }
	#scrolltop:active { opacity:.6; }
	#scrolldown {
		position:fixed; right:50px; bottom:60px; z-index:5; margin:0 auto; width:40px; height:40px; cursor:pointer; line-height:40px; color:#6caf9a; transition:opacity .2s, visibility .2s; border-width:0; background-color:transparent;
		text-align:center;
	}
	#scrolldown:before { content:"\f063"; font-size:40px; font-family:FontAwesome; }
	#scrolldown:active { opacity:.6; }

	.hide-scrollbar #scrolldown,
	#scrolldown.hide { opacity:0; visibility:hidden; }

/*Mouse selections*/
	::selection { background:#6caf9a; color:#fff; }
	::-moz-selection { background:#6caf9a; color:#fff; }


