﻿@charset "utf-8";
/* MASTER-CSS für www.damboeck.de */

/* FARBEN
#00a0e9 - Grün (Logo)
#a1a5a7 - Grau (Logo)
#000000 - Text
#4d4d4d - Text hell (Breadcrumb)
#f4f4f4 - Hellgrau (Foot)
#212929 - Dunkelgrau
*/
	
/* +++++++++++++++++++++++++++++++++++++++ GENERALLY FORMATTING +++++++++++++++++++++++++++++++++++++++ */
html					{ width: 100%; height: 100%; -webkit-tap-highlight-color: #000; }
body					{ width: 100%; height: 100%; position: relative; scrolling: auto; font-family: 'Source Sans Pro'; font-weight: 400; color: #000000; font-size: 74%; background: #fff; -webkit-tap-highlight-color: transparent; }

#pageinfo				{ position: fixed; z-index: 99999; top: 1px; left: 1px; color: #000; background: #fff; padding: 3px; display: block; }
.boxlink:hover			{ cursor: pointer; }
.clear					{ clear: both; height: 0px; overflow: hidden; }
.rounded				{ -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
.shadow					{ -moz-box-shadow: 1px 1px 5px #a7a6a6; -webkit-box-shadow: 1px 1px 5px #a7a6a6; box-shadow: 1px 1px 5px #a7a6a6; }
.border-box, div, section, aside, article, nav, main, header, footer, nav, a, li, ul, button, h1, h2, h3, h4, p, label, input, select, textarea, table, td, tr, span, picture
						{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; *behaviour: url("../boxsizing.htc"); }
.transition_all			{ -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.transition_op			{ -webkit-transition: opacity 0.3s ease-in-out; -moz-transition: opacity 0.3s ease-in-out; -ms-transition: opacity 0.3s ease-in-out; -o-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; }
.transition_bg			{ -webkit-transition: background 0.3s ease-in-out; -moz-transition: background 0.3s ease-in-out; -ms-transition: background 0.3s ease-in-out; -o-transition: background 0.3s ease-in-out; transition: background 0.3s ease-in-out; }
.small					{ font-size: 0.9em; }

/* +++++++++++++++++++++++++++++++++++++++ LINKS +++++++++++++++++++++++++++++++++++++++ */
a[href^="tel"], a[href^="fax"]	{ color: inherit; text-decoration: none; } /* removing autoformat of phone numbers */

a:hover, a:active 		{ outline: none; } /* for screenreaders */
a						{ color: #000000; text-decoration: underline; }
a:hover					{ color: #00a0e9; text-decoration: underline; }
a:before				{ text-decoration: none !important; }

a.noline				{ color: #000000; text-decoration: none; }
a.noline:hover			{ color: #00a0e9; text-decoration: underline; }

a.next					{ position: relative; display: block; padding: 0.1em 0 0 21px; }
a.next:before			{ position: absolute; top: 0; left: 0; content: "\f105"; color: #00a0e9; font-size: 24px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }
a.next:hover			{ text-decoration: underline !important; }
a.next:hover:before		{ color: #00a0e9; }

a.back					{ position: relative; display: block; padding: 0 0 0 1.4em; }
a.back:before			{ position: absolute; top: 2px; left: 0; content: "\f104"; color: #4d4d4d; font-size: 18px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }
a.back:hover			{ text-decoration: underline !important; }
a.back:hover:before		{ color: #00a0e9; }

a.link					{ position: relative; display: block; padding: 0.1em 0 0 1.6em; }
a.link:before			{ position: absolute; top: 3px; left: 0; content: "\f35d"; color: #00a0e9; font-size: 19px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }
a.link:hover			{ text-decoration: underline !important; }
a.link:hover:before		{ color: #00a0e9; }

a.email					{ position: relative; display: block; padding: 0 0 0 26px; }
a.email:before			{ position: absolute; top: 2px; left: 0; content: "\f0e0"; color: #000000; font-size: 17px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }
a.email:hover			{ text-decoration: underline !important; }
a.email:hover:before	{ color: #00a0e9; }

a.phone					{ position: relative; display: block; padding: 0 0 0 26px; }
a.phone:before			{ position: absolute; top: 1px; left: 0; content: "\f095"; color: #000000; font-size: 17px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }
a.phone:hover			{ text-decoration: underline !important; }
a.phone:hover:before	{ color: #00a0e9; }

a.fax					{ position: relative; display: block; padding: 0 0 0 26px; }
a.fax:before			{ position: absolute; top: 1px; left: 0; content: "\f02f"; color: #000000; font-size: 17px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }
a.fax:hover				{ text-decoration: underline !important; }
a.fax:hover:before		{ color: #00a0e9; }

a.website				{ position: relative; display: block; padding: 0 0 0 26px; }
a.website:before		{ position: absolute; top: 1px; left: 0; content: "\f05a"; color: #000000; font-size: 20px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }
a.website:hover			{ text-decoration: underline !important; }
a.website:hover:before	{ color: #00a0e9; }

a.route					{ position: relative; display: block; padding: 0 0 0 26px; }
a.route:before			{ position: absolute; top: 1px; left: 0; content: "\f5a0"; color: #000000; font-size: 18px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }
a.route:hover			{ text-decoration: underline !important; }
a.route:hover:before	{ color: #00a0e9; }

a.download, span.download	{ position: relative; padding: 0.2em 0 0 24px; }
a.download:before, span.download:before { position: absolute; top: 0; left: 0; content: "\f016"; font-family: 'Font Awesome 5 Free'; font-weight: 400; font-size: 22px; color: #00a0e9; }
a.download span.fileinfo, span.download span.fileinfo	{ font-size: 0.8em; white-space: nowrap; }
.download.pdf:before		{ content: "\f1c1"; }
.download.zip:before, .download.rar:before		{ content: "\f1c6"; }
.download.doc:before, .download.docx:before		{ content: "\f1c2"; }
.download.xls:before, .download.xlsx:before		{ content: "\f1c3"; }
.download.jpg:before, .download.jpeg:before, .download.tif:before, .download.bmp:before	{ content: "\f1c5"; }

.zoom 					{ position: relative; display: inline-block; }
.zoom:after 			{ position: absolute; bottom: 3px; right: 3px; width: 20px; height: 20px; padding: 6px 4px 4px 6px; content: "\f00e"; font-family: 'Font Awesome 5 Free'; font-weight: 900; color: #fff;
							font-size: 20px; line-height: 1; background: rgba(255,255,255,0.5); -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px;
							-webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.zoom:hover:after 		{ width: 24px; height: 24px; padding: 6px 4px 4px 6px; font-size: 22px; color: #00a0e9; background: rgba(255,255,255,0.8); }

.button 				{ position: relative; display: inline-block; padding: 1em 4em; color: #000; background: #fff; border: 1px solid #000; font-weight: 600; text-decoration: none !important; }
.button:hover, .button.hover	{ color: #fff; background: #00a0e9; border: 1px solid #00a0e9; }

.hover_green { position: relative; }
.hover_green_content { position: absolute; top: 0; left: 0; z-index: 2; width: 0; height: 0; background: #00a0e9; opacity: 0; }
.hover_green .hover_green_content div { position: absolute; bottom: 1.5em; right: 1.5em; z-index: 3; color: #00a0e9; font-size: 0; font-weight: 600; }
.hover_green .hover_green_content div.link { border-bottom: 2px solid #fff; }
.hover_green_content, .hover_green_content > div { -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.hover_green:hover .hover_green_content { width: 100%; height: 100%; background: #00a0e9; opacity: 1; }
.hover_green:hover .hover_green_content div.right { color: #fff; font-size: 1.1em; }

		
/* +++++++++++++++++++++++++++++++++++++++ PLUGINS +++++++++++++++++++++++++++++++++++++++ */
#lightbox span.lb-caption	{ color: #fff; font-weight: 600; }

/* +++++++++++++++++++++++++++++++++++++++ PAGE +++++++++++++++++++++++++++++++++++++++ */
#page			{ position: relative; width: 100%; height: auto; min-width: 300px; max-width: 1400px; margin: 0px auto; font-size: 1.2em; overflow: hidden; }

	.container	{ width: 100%; height: auto; max-width: 1200px; margin: 0px auto; padding-left: 10px; padding-right: 10px; }
	@media (min-width: 420px) {
	.container	{ padding-left: 20px; padding-right: 20px; }
	}
	@media (min-width: 1040px) {
	.container	{ padding-left: 0; padding-right: 0; }
	}

	/* +++++++++++++++++++++++++++++++++++++++ HEADER +++++++++++++++++++++++++++++++++++++++ */
	header { position: relative; width: 100%; height: auto; }

		#nav nav ul { list-style: none; }
		#nav nav ul a { text-decoration: none; }

	@media (max-width: 767px) {
		#nav { position: relative; width: 100%; height: 65px; background: #fff; }
		#nav a#logo_white { display: none; }
		#nav a#logo_grey { float: left; width: 200px; height: auto; margin-top: 1.6em; }

			#navbar { position: relative; float: right; margin-top: 1em; width: auto; cursor: pointer; }
				.nav_icon { display: block; position: relative; margin: 0 auto; padding: 0; width: 45px; height: 45px; box-shadow: none; border-radius: none; border: none; background: none; cursor: pointer; }
				.nav_icon:focus { outline: none; }
				#navbar.active .nav_icon:before	{ opacity: 0.8; }
				.nav_icon span { display: block; position: absolute; top: 16px; left: 0; right: 0; height: 5px; background: #00a0e9; transition: background 0s 0.3s; -moz-border-radius: 1px; -webkit-border-radius: 1px; border-radius: 1px; }
				.nav_icon span::before, .nav_icon span::after { position: absolute; display: block; left: 0; width: 100%; height: 5px; background-color: #00a0e9; content: "";  -moz-border-radius: 1px; -webkit-border-radius: 1px; border-radius: 1px;
																	transition-duration: 0.3s, 0.3s; transition-delay: 0.3s, 0s; }
				.nav_icon span::before { top: -12px; transition-property: top, transform; }
				.nav_icon span::after { bottom: -12px; transition-property: bottom, transform; }
				/* active state, i.e. menu open */
				#navbar.active .nav_icon span { background: none; }
				#navbar.active .nav_icon span::before { top: 0; transform: rotate(45deg); background: #a1a5a7; }
				#navbar.active .nav_icon span::after { bottom: 0; transform: rotate(-45deg); background: #a1a5a7; }
				#navbar.active .nav_icon span::before, #navbar.active .nav_icon span::after { transition-delay: 0s, 0.3s; }
	
			#nav_head { display: none; position: absolute; top: 100%; left: 0; z-index: 100; width: 100%; height: auto; padding: 0 5%; background: #fff; }
		
				#nav nav ul { color: #000; }		
				ul#nav_lang { display: block; margin-top: 1em; border-bottom: 1px solid #a1a5a7; overflow: hidden; }
				ul#nav_lang li { float: left; width: 33.33333333333333%; text-align: center; }
				ul#nav_lang li a { display: inline-block; padding: 1em; font-size: 1.4em; font-weight: 300; line-height: 1; }
		
				ul#nav_main { display: block; margin-top: 0.5em; padding-bottom: 1em; border-bottom: 1px solid #a1a5a7; }
				ul#nav_main > li { display: block; margin-top: 0.6em; }
				ul#nav_main > li > a { display: inline-block; padding: 0.3em 0.5em; font-size: 1.8em; font-weight: 400; line-height: 1; border: 0.1em solid transparent; }
				ul#nav_main > li.active > a, ul#nav_main > li:hover > a { color: #000; border: 0.1em solid #000; }
				ul#nav_main > li > ul { display: none; margin: 0.5em 0 0.5em 1em; }
				ul#nav_main > li.active > ul { display: block; }
				ul#nav_main > li > ul > li { display: block; }
				ul#nav_main > li > ul > li > a { display: inline-block; padding: 0.4em 0; font-size: 1.3em; }
				ul#nav_main > li > ul > li.active > a { color: #00a0e9; }
		
				ul#nav_sec_ul { display: block; margin: 1em 0; }
				ul#nav_sec_ul li { display: block; }
				ul#nav_sec_ul li a { display: inline-block; padding: 0.5em 1em; font-size: 1.2em; font-weight: 400; }				
	}

		#head_slider { position: relative; width: 100%; overflow: hidden; }
		body.tp2 #head_slider { display: none; }
		body.home #head_slider { height: 200px; }
		body.site #head_slider { height: 180px; }
			#head_slider div { width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center; }
			#head_slider span.gradient { display: none; }

		#a { position: absolute; bottom: 0; right: 10%; height: auto; opacity: 0.5; }	
		body.tp2 #a { display: none; }	
		body.home #a { right: 10%; width: 40%; }
		body.site #a { right: 10%; width: 36%; }

	@media (min-width: 420px) {
		body.home #head_slider { height: 300px; }
		body.site #head_slider { height: 260px; }
	}
	@media (min-width: 600px) {
		body.home #head_slider { height: 400px; }
		body.site #head_slider { height: 350px; }
	}
	@media (min-width: 768px) {
	body.home header { height: 400px; }
	body.site header { height: 350px; }
	body.site.tp2 header { height: 130px; }

		#nav { position: absolute; top: 0; left: 0; z-index: 100; width: 100%; background:rgba(32,32,32,0.8);}
		#nav > div { height: 110px;  border-bottom: 0px solid #fff; }
		body.tp2 #nav > div { border-top: 5px solid #212929; border-bottom: 2px solid #212929; }
		#nav a#logo_white { float: left; width: 20%; height: auto; margin-top: 0.5em; }
		#nav a#logo_grey { display: none; float: left; width: 20%; height: auto; margin-top: 3.5em; }
		body.tp2 #nav a#logo_white { display: none; }
		body.tp2 #nav a#logo_grey { display: inline-block; float: left; width: 20%; height: auto; margin-top: 3.5em; }
		#navbar { display: none; }

		#nav nav ul li a { color: #fff; line-height: 1; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
		body.tp2 #nav nav ul li a { color: #000; }
		
		#nav nav ul#nav_lang { float: right; width: auto; margin-top: 0.6em; font-size: 1.1em; font-weight: 300; color: #fff; overflow: hidden; }
		#nav nav ul#nav_lang li { float: left; }
		#nav nav ul#nav_lang li:before { float: left; content: "|"; line-height: 1; }
		#nav nav ul#nav_lang li:first-child:before { content: ""; }
		#nav nav ul#nav_lang li a { float: left; padding: 0.1em 0.6em 0 0.6em; font-weight: 300; line-height: 1; }
		#nav nav ul#nav_lang li:last-child a { padding: 0.1em 0 0 0.6em; }
		#nav nav ul#nav_lang li.active a { color: rgb(255,255,255,0.8); }
		body.tp2 #nav nav ul#nav_lang li.active a { color: rgb(0,0,0,0.8); }

		#nav nav ul#nav_main { clear: right; float: right; width: auto; margin-top: 1.2em; font-size: 1.3em; }
		#nav nav ul#nav_main li { position: relative; float: left; }
		#nav nav ul#nav_main > li { margin-right: 0.1em; padding-bottom: 1.71em; }
		#nav nav ul#nav_main > li:last-child { margin-right: 0; }
		#nav nav ul#nav_main > li > a { padding: 0.3em 0.5em; /*border: 0.1em solid transparent;*/ line-height: 1; }
/* 		#nav nav ul#nav_main > li.active > a, #nav nav ul#nav_main > li:hover > a { border: 0.1em solid #fff; } */
		body.tp2 #nav nav ul#nav_main > li.active > a, body.tp2 #nav nav ul#nav_main > li:hover > a { border: 0.1em solid #000; }
		#nav nav ul#nav_main li a { font-weight: 400; }
		#nav nav ul#nav_main li ul { position: absolute; top: 99%; left: 0; height: 0; width: auto; padding: 0 0.6em; font-size: 0.8em; background:rgba(32,32,32,0.8); opacity: 0.5; overflow: hidden;
										-webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
		#nav nav ul#nav_main li ul:hover, body.touch #nav nav ul#nav_main li ul { background: rgba(32,32,32,0.8); }
		#nav nav ul#nav_main li:last-child ul { left: auto; right: 0; }
		#nav nav ul#nav_main li:hover ul { top: 100%; height: auto; padding: 0.6em; opacity: 1; display: block; }
		#nav nav ul#nav_main li ul li { display: block; width: 100%; margin-top: 0.2em; }
		#nav nav ul#nav_main li ul li:first-child { margin-top: 0; }
		#nav nav ul#nav_main li ul li a { display: block; padding: 0.5em 0.7em; color: rgba(255,255,255,0.8); white-space: nowrap;
											-webkit-transition: color 0.3s ease-in-out; -moz-transition: color 0.3s ease-in-out; -ms-transition: color 0.3s ease-in-out; -o-transition: color 0.3s ease-in-out; transition: color 0.3s ease-in-out; }
		#nav nav ul#nav_main li ul li:hover a { color: rgba(200,200,200,1); }
		#nav nav ul#nav_main li ul li.active a { color: #00a0e9; }

		#nav.scrollnav { position: fixed; z-index: 100; display: none; background: rgba(255,255,255,0.9); }
		#nav.scrollnav:hover { background: rgba(255,255,255,1); }
		#nav.scrollnav > div { height: 70px; border-top: 5px solid #212929; }
		#nav.scrollnav a#logo_grey, body.tp2 #nav.scrollnav a#logo_grey { display: inline-block; float: left; width: 16%; margin-top: 1.5em; }
		#nav.scrollnav a#logo_white { display: none; }
		#nav.scrollnav #nav_lang { display: none; }
		#nav.scrollnav nav ul#nav_main { margin-top: 1.1em; }
		#nav.scrollnav nav ul#nav_main > li { padding-bottom: 1.2em; }
		#nav.scrollnav nav ul#nav_main > li > a { color: rgba(0,0,0,0.7); }
		#nav.scrollnav nav ul#nav_main > li > a:hover { color: rgba(0,0,0,1); }
		#nav.scrollnav nav ul#nav_main > li.active > a, #nav.scrollnav nav ul#nav_main > li:hover > a { border: 0.1em solid #000; }
		#nav.scrollnav nav ul#nav_main li ul { background: rgba(255,255,255,1); }		
		
		body.home #head_slider, body.site #head_slider { height: 100%; }
			#head_slider span.gradient { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 40%; background-image: linear-gradient(to top, rgba(30,41,41,0), rgba(30,41,41,0.9)); }
		
		body.home #a { right: 10%; width: 30%; }
		body.site #a { right: 10%; width: 26%; }
	}
	@media (min-width: 850px) {
	body.home header { height: 500px; }
	body.site header { height: 400px; }
		#nav nav ul#nav_main { font-size: 1.4em; margin-top: 2.5em; }
		#nav nav ul#nav_main > li { padding-bottom: 0.5em; }
		#nav.scrollnav nav ul#nav_main { margin-top: 0.9em; }
		#nav.scrollnav nav ul#nav_main > li { padding-bottom: 1.1em; }
	}
	@media (min-width: 1024px) {
	body.home header { height: 600px; }
	body.site header { height: 500px; }
		#nav > div { height: 120px; }
		#nav nav ul#nav_main { font-size: 1.5em; }
		#nav nav ul#nav_main > li { padding-bottom: 0.6em; }
		body.touch #nav nav ul#nav_main > li { padding-bottom: 1.72em; }
		#nav.scrollnav nav ul#nav_main { margin-top: 0.9em; }
		#nav.scrollnav nav ul#nav_main > li { padding-bottom: 0.9em; }
		body.touch #nav.scrollnav nav ul#nav_main > li { padding-bottom: 0.89em; }
	}
	@media (min-width: 1300px) {
	body.home header { height: 650px; }
	body.site header { height: 550px; }
	}


	/* +++++++++++++++++++++++++++++++++++++++ MAIN +++++++++++++++++++++++++++++++++++++++ */
	main { position: relative; width: 100%; height: auto; min-height: 1000px; padding-top: 1em; font-size: 1.2em; background: url("../images/bg_narrow.svg"); background-repeat: no-repeat; background-size: 100% auto; background-position: left top; }
	@media (min-width: 920px) {		
	main { background-image: url("../images/bg_middle.svg"); }
	}
	@media (min-width: 1300px) {
	main { background-image: url("../images/bg_wide.svg"); }
	}
	body.tp2 main { background: #fff; }
	body.project main { background-position: left bottom; }
		
		/* +++++++++++++++++++++++++++++++++++++++ BREADCRUMB, BACK-BUTTON +++++++++++++++++++++++++++++++++++++++ */
		#breadcrumb		{ display: block; width: 100%; font-size: 0.85em; padding-bottom: 1.5em; overflow: hidden; }
		#breadcrumb	ol	{ display: none; }
		@media (min-width: 600px) {
		#breadcrumb		{ padding-bottom: 3em; }
			#breadcrumb ol { display: inline-block; float: left; list-style: none; }
			#breadcrumb ol li { display: inline-block; position: relative; }
			#breadcrumb ol li a { display: inline-block; padding: 0 0.4em; color: #4d4d4d; font-weight: 300; text-decoration: none; }
			#breadcrumb ol li:last-child a { padding-right: 0; }
			#breadcrumb ol li a:hover { color: #00a0e9; text-decoration: underline; }
			#breadcrumb ol li:before { position: relative; top: 1px; left: 0; content: "\f105"; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 17px; line-height: 1; color: #747474; }
			#breadcrumb ol li:first-child:before { top: -1px; content: "\f015"; font-size: 14px; }
		}
		#breadcrumb a.back { float: right; margin-top: 0.1em; padding-left: 15px; font-weight: 300; color: #4d4d4d; text-decoration: none; }
		#breadcrumb a.back:before { font-size: 17px; color: #747474; }
		
		/* +++++++++++++++++++++++++++ Headlines, Symbole, Elemente +++++++++++++++++++++++++++ */
		.lined { display: block; position: relative; padding-left: 80px; text-transform: uppercase; }
		.lined:before { position: absolute; top: 11px; left: 0; width: 70px; height: 1px; content: ""; background: #000; }

		#headline, .headline { display: inline-block; font-size: 1.4em; line-height: 1.2; }
		main h1 { display: block; margin: 1em 0; font-size: 0.8em; line-height: 1.2; font-weight: 400; text-transform: uppercase; }
		main h2, main .h2 { display: block; font-size: 1.2em; line-height: 1.2; font-weight: 600; }
		main h2.lined { padding-left: 80px; }
		main h2.lined:before { top: 11px; width: 70px; background: #000; }
		main p strong { font-weight: 600; }
		main .ad_symbol { display: block; width: 4em; height: auto; }

		main article ul { display: inline-block; margin: 0.4em 0 0.2em 0; list-style: none; }
		main article ul li { position: relative; padding: 0 0 0.4em 26px; }
		main article ul li:before { position: absolute; top: 0; left: 0; content: "\f00c"; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 20px; line-height: 1; color: #00a0e9; }
		
		@media screen and (min-width: 420px) {
		#headline, .headline { font-size: 1.6em; }
		main h1 { font-size: 0.9em; }
		main h2, main .h2 { font-size: 1.4em; font-weight: 400; }
		}
		@media screen and (min-width: 920px) {
		#headline, .headline { font-size: 1.5em; }
		main h1 { font-size: 2em; }
		main h2, main .h2 { font-size: 1.6em; }
		}
		
		/* +++++++++++++++++++++++++++ MAIN: section Abstände +++++++++++++++++++++++++++ */
		body.home main > section { margin-bottom: 3em; }
		body.site main > section { margin-bottom: 3em; }
		@media screen and (min-width: 420px) {
		body.home main > section { margin-bottom: 4em; }
		body.site main > section { margin-bottom: 4em; }
		}
		@media screen and (min-width: 820px) {
		body.home main > section { margin-bottom: 6em; }
		body.site main > section { margin-bottom: 6em; }
		}

		/* +++++++++++++++++++++++++++ ARTICLE/SECTION: Allgemeine Formatierungen +++++++++++++++++++++++++++ */
		main #content > article, main #content > a > article, main #content > section { margin: 3em 0 1em 0; }
		main #content > article.first, main #content > a > article.first, main #content > section.first { margin: 0 0 1em 0; }
		main #content > article a.download, main #content > a > article a.download, main #content > section a.download { display: inline-block; margin-top: 0.4em; }
		main #content > article a.route, main #content > section a.route { margin-top: 0.4em; }

		/* +++++++++++++++++++++++++++ ARTICLE: Bildformatierungen +++++++++++++++++++++++++++ */
		main article picture.left	{ float: left; margin: 0.3em 0 0.5em 0; }
		main article picture.right	{ float: right; margin: 0.3em 0 0.5em 0; }
		main article picture.top	{ float: left; margin: 0.5% 0 2% 0; }
		main article picture.bottom	{ float: left; margin-top: 2%; }
		main article picture.pic_1	{ float: left; }
		main article picture.pic_2 	{ float: right !important; }
		main article picture img	{ float: left; width: 100%; height: auto; }
		main article picture > a	{ position: relative; float: left; width: 100%; height: auto; }
		@media (max-width: 400px) {
		main article picture.left, main article picture.right { width: 100% !important; }
		}
		@media (min-width: 400px) {
		main article picture.left	{ min-width: 45% !important; margin: 0.3em 1.5em 0.5em 0; }
		main article picture.right	{ min-width: 45% !important; margin: 0.3em 0 0.5em 1.5em; }
		}
		@media (max-width: 520px) {
		main article picture.pic_1, main article picture.pic_2 { float: left; width: 100% !important; margin-bottom: 0.8em; }
		main article picture.bottom	{ margin-top: 5%; }
		}
		@media (min-width: 520px) {
		main article picture.left, main article picture.right { min-width: 20% !important; }
		}
		main article picture div.copyright	{ float: right; text-align: right; padding: 0.3em 0.1em 0 0; font-size: 0.74em; font-style: italic; color: #4d4d4d; }
		div.lightbox span.lb-caption > span		{ font-size: 0.8em; font-weight: normal; font-style: italic; }

		
		/* +++++++++++++++++++++++++++ ARTICLE: Spalten +++++++++++++++++++++++++++ */
		main article .column_left	{ float: left; clear: left; width: 100%; margin-top: 1%; }
		main article .column_left img.logo	{ width: 65%; }
		main article .column_right 	{ float: left; width: 100%; margin-top: 1%; padding-bottom: 1.1em; }
		main article .column_left > p, main article .column_right > p 	{ padding-top: 3px; }
		@media (min-width: 550px) {
		main article .column_left		{ width: 50%; }
		main article .column_left img.logo	{ width: 80%; }
		main article .column_right 	{ width: 50%; padding-bottom: 0; }
		main article .column_right + p { clear: left; }
		}

		/* +++++++++++++++++++++++++++ ARTICLE: standard +++++++++++++++++++++++++++ */
		main article.standard { display: block; width: 100%; }
			main article.standard h2 { margin-bottom: 0.6em; font-weight: 700; }

		/* +++++++++++++++++++++++++++ ARTICLE: intro +++++++++++++++++++++++++++ */
		main article.intro { display: block; width: 100%; overflow: hidden; }
			main article.intro > h2, main article.intro > div.left { float: left; width: 100%; padding: 0 0 1em 0; }
			main article.intro > div.text { float: left; width: 100%; padding: 0 0 2em 0; }
			main article.intro picture.top	{ float: left; margin: 0.5% 0 2% 0; }
			main article.intro picture.bottom	{ float: left; margin: 0; }
		@media (min-width: 650px) {
			main article.intro.r50_50 > h2, main article.intro.r50_50 > div.left { width: 50%; padding: 0 5% 2em 0; }
			main article.intro.r50_50 > div.text { width: 50%; padding: 0 0 2em 0; }
			main article.intro.r50_50 > h2, main article.intro.r50_50 > div.left { width: 50%; padding: 0 5% 2em 0; }
			main article.intro.r50_50 > div.text { width: 50%; padding: 0 0 2em 0; }
		}
		@media (min-width: 720px) {
			main article.intro.r60_40 > h2, main article.intro.r60_40 > div.left { width: 50%; padding: 0 5% 2em 0; }
			main article.intro.r60_40 > div.text { width: 50%; padding: 0 0 2em 0; }
			main article.intro.r40_60 > h2, main article.intro.r40_60 > div.left { width: 50%; padding: 0 5% 2em 0; }
			main article.intro.r40_60 > div.text { width: 50%; padding: 0 0 2em 0; }
			
			main article.intro.r40_60 > h2, main article.intro.r40_60 > div.left { width: 50%; padding: 0 5% 2em 0; }
			main article.intro.r40_60 > div.text { width: 50%; padding: 0 0 2em 0; }
			main article.intro.r40_60 > h2, main article.intro.r40_60 > div.left { width: 50%; padding: 0 5% 2em 0; }
			main article.intro.r40_60 > div.text { width: 50%; padding: 0 0 2em 0; }
		}
		@media (min-width: 820px) {
			main article.intro.r60_40 > h2, main article.intro.r60_40 > div.left { width: 60%; padding: 0 5% 2em 0; }
			main article.intro.r60_40 > div.text { width: 40%; padding: 0 0 2em 0; }
			main article.intro.r40_60 > h2, main article.intro.r40_60 > div.left { width: 40%; padding: 0 5% 2em 0; }
			main article.intro.r40_60 > div.text { width: 60%; padding: 0 0 2em 0; }
			
			main article.intro.r40_60 > h2, main article.intro.r40_60 > div.left { width: 60%; padding: 0 5% 2em 0; }
			main article.intro.r40_60 > div.text { width: 40%; padding: 0 0 2em 0; }
			main article.intro.r40_60 > h2, main article.intro.r40_60 > div.left { width: 40%; padding: 0 5% 2em 0; }
			main article.intro.r40_60 > div.text { width: 60%; padding: 0 0 2em 0; }
		}
		
		/* +++++++++++++++++++++++++++ ARTICLE: call to action +++++++++++++++++++++++++++ */
		main article.cta { display: block; width: 100%; padding: 2em 0; overflow: hidden; }
			main article.cta > div { float: left; width: 100%; text-align: center; }
			main article.cta > div.right { margin-top: 2em; }
		@media (min-width: 620px) {
			main article.cta > div { width: 50%; text-align: left; }
			main article.cta > div.right { text-align: center; margin-top: 0; }
		}
		
		/* +++++++++++++++++++++++++++ ARTICLE: middle +++++++++++++++++++++++++++ */
		main article.middle { display: block; width: 100%; padding: 0 10%; overflow: hidden; }
		body.site main article.middle { padding: 2em 10% 4em 10%; }
			main article.middle h2 { margin-bottom: 1em; font-size: 1em; font-weight: 400; }
			main article.middle p { display: block; font-size: 1.2em; line-height: 1.2; font-weight: 600; }
		@media screen and (min-width: 420px) {
			main article.middle p { font-size: 1.4em; font-weight: 400; }
		}
		@media screen and (min-width: 920px) {
			main article.middle p { font-size: 1.6em; }
		}

		/* +++++++++++++++++++++++++++ ARTICLE: quote +++++++++++++++++++++++++++ */
		main article.quote	{ display: block; width: 100%; padding-bottom: 2em; }
			main article.quote.first	{ margin: 1.4em 0 2em 0; }
			main article.quote p	{ max-width: 900px; margin: 0px auto; font-family: 'Source Sans Pro'; font-weight: 400; font-style: italic; font-size: 1.8em; line-height: 1.2; color: #4d4d4d; text-align: center; }
			main article.quote div	{ width: 100%; max-width: 900px; margin: 0px auto; padding-top: 0.4em; text-align: center; font-size: 0.9em; line-height: 1.2; color: #4d4d4d; }
			@media (min-width: 500px) {
			main article.quote p	{ font-size: 2.1em; line-height: 1.1; }					
			}
		
		/* +++++++++++++++++++++++++++ ARTICLE: teaser +++++++++++++++++++++++++++ */
		main article.teaser { display: block; width: 100%; overflow: hidden; }
			main article.teaser picture img { float: left; width: 100%; height: auto; }
			main article.teaser.left picture { float: left; }
			main article.teaser.right picture { float: right; }
			main article.teaser:hover picture { opacity: 0.8; }
			main article.teaser div.text { position: relative; float: left; margin: 2% 0 0 -2%; padding: 1em 1em 2.8em 1em; background: #fff; border: 1px solid #f4f4f4; text-decoration: none; overflow: hidden; }
			main article.teaser.left div.text { margin: 2% 0 0 -2%; }
			main article.teaser.right div.text { margin: 2% -2% 0 0; }
			main article.teaser.no_pic div.text { width: 100% !important; margin: 0; }
			main article.teaser.no_url div.text { padding-bottom: 1em; }
			main article.teaser:hover div.text { color: #000000; background: #f4f4f4; }
			main article.teaser div.text h2 { margin-bottom: 0.3em; font-size: 1.2em; font-weight: 600; }
			main article.teaser div.text span.link { position: absolute; bottom: 6%; right: 6%; font-weight: 300; text-decoration: underline; }
			main article.teaser div.text span.download { position: absolute; bottom: 6%; right: 6%; text-decoration: underline; }
			main article.teaser:hover div.text span.link { color: #00a0e9; }		
		@media (max-width: 599px) {
			main article.teaser picture { width: 100% !important; }
			main article.teaser div.text { width: 96% !important; margin: -10% 2% 0 2% !important; }
			main article.teaser.no_pic div.text { width: 100% !important; margin: 0; }
		}
		
		/* +++++++++++++++++++++++++++ ARTICLE: topic +++++++++++++++++++++++++++ */
		main article.topic { display: block; width: 100%; overflow: hidden; }
		main #content > article.topic { margin-top: 0.5em; }
		main #content > article.topic.first { margin-top: 3em; }
			main article.topic h2 { position: relative; display: block; background: #e6e6e6; padding: 0.4em 40px 0.4em 0.6em; font-size: 1.4em; font-weight: 600; cursor: pointer; }
			main article.topic h2:after	{ content: "\f078"; position: absolute; top: 6px; right: 14px; z-index: 29; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 30px; color: #212929;
											 -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; }
			main article.topic.active h2:after	{ color: #fff; top: 6px; -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); -webkit-transform: rotate(180deg); transform: rotate(180deg); }
			main article.topic:hover h2:after	{ color: #fff; }
			main article.topic:hover h2, main article.topic.active h2 { color: #fff; background: #00a0e9; }
			main article.topic div.text { display: none; padding: 0.3em 0.8em; }
			main article.topic div.text a.download { display: inline-block; margin-top: 0.3em; }
			main article.topic div.text a.next { display: inline-block; margin-top: 0.3em; }
		@media screen and (max-width: 520px) {
			main article.topic picture { width: 100% !important; margin: 0.3em 0 1em 0 !important; }
		}

		/* +++++++++++++++++++++++++++ ARTICLE: iFrame +++++++++++++++++++++++++++ */
		main article.iframe	{ }
			main article.iframe h2 { margin-bottom: 0.4em; font-weight: 700; }
			main article.iframe div.iframe_wrapper { position: relative; height: 0; overflow: hidden; margin: 1em 0 1em 0; }
			@media (max-width: 599px) {
			main article.iframe div.iframe_wrapper.left, #content > article.iframe div.iframe_wrapper.right { width: 100% !important; padding-bottom: 56.25% !important; } /* Format 16:9 */
			}
			@media (min-width: 600px) {
			main article.iframe div.iframe_wrapper.left { float: left; margin: 0.2em 1em 0.5em 0; }
			main article.iframe div.iframe_wrapper.right { float: right; margin: 0.2em 0 0.5em 1em; }				
			}
			main article.iframe div.iframe_wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

		/* +++++++++++++++++++++++++++ ARTICLE: Picture +++++++++++++++++++++++++++ */
		#content > article.picture	{ clear: left; display: block; padding: 0; overflow: hidden; }
			#content > article.picture a, #content > article.picture img  { display: block; width: 100%; height: auto; }
			#content > article.picture div.copyright { float: right; text-align: right; padding: 0.2em 0.1em 0.1em 0; font-size: 0.74em; font-style: italic; color: #4d4d4d; }


		/* +++++++++++++++++++++++++++ ARTICLE: gallery +++++++++++++++++++++++++++ */
		main article.gallery	{ display: block; clear: left; }
			main article.gallery h2	{ margin-bottom: 0.2em; font-weight: 700; }
			main article.gallery div.gallery_thumbs { position: relative; float: left; width: 100%; height: auto; }
			main article.gallery div.gallery_thumbs.with_text { margin-top: 0.8em; }
			main article.gallery div.gallery_thumbs a { position: relative; float: left; width: 100%; margin: 0; }			
			main article.gallery div.gallery_thumbs a img { float: left; width: 100%; -webkit-transition: opacity 0.3s ease-in-out; -moz-transition: opacity 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; }
			main article.gallery div.gallery_thumbs a.zoom img:hover	{ opacity: 0.8; }
			@media (min-width: 400px) and (max-width: 600px) {
			main article.gallery div.gallery_thumbs a	{ width: 49.3%; margin: 0 1.3% 1% 0; }
			main article.gallery div.gallery_thumbs a:nth-child(2n+0) { margin-right: 0; }
			}
			@media (min-width: 601px) and (max-width: 900px) {
			main article.gallery div.gallery_thumbs a	{ width: 32.8%; margin: 0 0.8% 0.8% 0; }
			main article.gallery div.gallery_thumbs a:nth-child(3n+0) { margin-right: 0; }
			}
			@media (min-width: 901px) {
			main article.gallery div.gallery_thumbs a	{ width: 24.25%; margin: 0 1% 1% 0; }
			main article.gallery div.gallery_thumbs a:nth-child(4n+0) { margin-right: 0; }
			}		
			main article.gallery div.gallery_sliding { position: relative; float: left; width: 100%; height: auto; }
			main article.gallery div.gallery_sliding a	{ position: relative; float: left; width: 100%; margin: 0; }
			main article.gallery div.gallery_sliding a span { float: left; width: 100%; text-align: center; font-size: 0.8em; padding-top: 0.3em; text-decoration: none; }
			main article.gallery div.gallery_sliding div.slick-list { height: auto !important; }
			main article.gallery div.gallery_sliding ul.slick-dots	{ margin: 0.3em auto; }
			main article.gallery div.gallery_sliding ul.slick-dots li	{ padding-left: 0; }
			main article.gallery div.gallery_sliding ul.slick-dots li:before	{ content: ""; }


		/* +++++++++++++++++++++++++++ ARTICLE: boxes +++++++++++++++++++++++++++ */
		section.boxes { }
			section.boxes h2 { margin: 1em 0; font-weight: 700; }
			section.boxes h2 a { text-decoration: none; }
			section.boxex .boxes_wrap { overflow: hidden; }
			section.boxes .box { float: left; text-decoration: none; }
			section.boxes .box h3.lined { margin: 0.5em 0 1.5em 0; padding-left: 60px; font-size: 1em; font-weight: 400; }
			section.boxes .box h3.lined:before { width: 50px; background: #000; }
			section.boxes .box p { font-weight: 300; }
			section.boxes .box { width: 100%; }
			section.boxes .box article { width: 100%; }
			body.location section.boxes .box a { margin-bottom: 0.2em; }
			body.location section.boxes .box { padding: 0; }

			section.boxes.white .box { margin-bottom: 1em; }
			section.boxes.white .box h3.lined:before { background: #000; }
			section.boxes.black .box h3.lined:before { background: #fff; }
			section.boxes.green .box h3.lined:before { background: #fff; }

			section.boxes.black .box { padding: 5%; margin-bottom: 2%; color: #fff; background: #212929; }
			section.boxes.green .box { padding: 5%; margin-bottom: 2%; color: #fff; background: #00a0e9; }
			section.boxes.white .box { padding: 5%; margin-bottom: 2%; color: #000000; background: transparent; }

			section.boxes.white.plines .box { border-left: 1px solid #b0b0b0; }
			section.boxes.black.plines .box, section.boxes.green.plines .box { border-left: 1px solid #fff; }
			section.boxes a.box:hover { background: #00a0e9; }
			section.boxes.green a.box:hover { background: #212929; }
			section.boxes.white a.box:hover { color: #fff; }
			section.boxes.white a.box:hover h3.lined:before { background: #fff; }

			section.boxes.black h3 { font-weight: 400; text-transform: uppercase; }
			section.boxes.black .box article img { display: block; width: 25%; height: auto; margin: 0.8em 0 3em 0; }
			section#section_services article img { opacity: 0; -webkit-transition: opacity 1s ease-in-out; -moz-transition: opacity 1s ease-in-out; -ms-transition: opacity 1s ease-in-out; -o-transition: opacity 1s ease-in-out; transition: opacity 1s ease-in-out; }
		
			section.boxes.news .box { position: relative; border: 1px solid #f4f4f4; margin-bottom: 1em; }
			section.boxes.news .box div.img { display: block; width: 100%; height: 12em; background-repeat: none; background-size: cover; background-position: center; -webkit-filter: grayscale(1); filter: grayscale(1);
												 -webkit-transition: filter 0.3s ease-in-out; -moz-transition: filter 0.3s ease-in-out; -ms-transition: filter 0.3s ease-in-out; -o-transition: filter 0.3s ease-in-out; transition: filter 0.3s ease-in-out; }
			section.boxes.news .box:hover div.img, body.touch section.boxes.news a.box div.img { -webkit-filter: grayscale(0); filter: grayscale(0); }
			section.boxes.news .box article > div.text { padding: 6% 6% 2.2em 6%; }
			section.boxes.news .box h3 { margin: 0 0 1em 0; font-size: 1em; font-weight: 600; line-height: 1.1; color: #000; text-transform: uppercase; }
			section.boxes.news .box p { color: #000; }
			section.boxes.news .box span.link { position: absolute; bottom: 4%; right: 6%; font-weight: 300; text-decoration: underline; }
			section.boxes.news .box:hover span.link { color: #00a0e9; }
		
		@media (min-width: 520px) and (max-width: 919px) {
			section.boxes .box h3.lined { margin: 2em 0 1.5em 0; }
			
			section.boxes.black .box, section.boxes.green .box { padding: 4%; margin-bottom: 1px; }
			section.boxes.b2.plines .boxes_wrap > .box:nth-child(2n+1) { border-left: none; }
			section.boxes.b3.plines .boxes_wrap > .box:nth-child(3n+1) { border-left: none; }
			section.boxes.b4.plines .boxes_wrap > .box:nth-child(2n+1) { border-left: none; }
			
			section.boxes.b4.plines .box { width: 50%; }			
			section.boxes.news .box { margin-bottom: 0; }
		}
		@media (min-width: 600px) {
			section.boxes.b2 .box { width: 49%; margin-left: 2%; }
			section.boxes.b2 .boxes_wrap > .box:nth-child(2n+1) { margin-left: 0; }
			section.boxes.b2.plines .box { width: 50%; margin-left: 0 !important; }
			
			section.boxes.b4 .box { width: 49%; margin-left: 2%; }
			section.boxes.b4.news .box { width: 50%; margin-left: 0; }
			section.boxes.b4.plines .box { width: 50%; margin-left: 0 !important; }
		}
		@media (min-width: 600px) and (max-width: 919px) {
			section.boxes.b4 .box { margin-bottom: 2%; }
			section.boxes.b4.plines .box { margin-bottom: 0; }
			section.boxes.b4.plines.black .box, section.boxes.b4.plines.green .box { border-bottom: 1px solid #fff; }
			section.boxes.b4.plines.white .box { border-bottom: 1px solid #b0b0b0; }
			section.boxes.b4 .boxes_wrap > .box:nth-child(2n+1) { margin-left: 0; }
		}
		@media (min-width: 780px) {
			section.boxes.b3 .box { width: 32%; margin-left: 2%; margin-bottom: 2%; }
			section.boxes.b3 .boxes_wrap > .box:nth-child(3n+1) { margin-left: 0; }
			section.boxes.b3.plines .box { width: 33.33333333333333%; margin-left: 0; }
		}
		@media (min-width: 920px) {			
			section.boxes .box h3.lined { margin: 2em 0 1.5em 0; }
			
			section.boxes.black .box, section.boxes.green .box, section.boxes.white .box { padding: 2% 2% 2.2% 2%; }
			section.boxes.b4 .boxes_wrap > .box:nth-child(4n+1) { margin-left: 0; }
			section.boxes.b4.plines .boxes_wrap > .box:nth-child(4n+1) { border-left: none; }
			section.boxes.black .box article img { width: 35%; }
			
			section.boxes.news .box div.img { height: 9em; }
			
			section.boxes.b4 .box { width: 23.5%; margin-left: 2%; }
			section.boxes.b4 .boxes_wrap > .box:nth-child(4n+1) { margin-left: 0; }
			section.boxes.b4.news .box { width: 25%; margin-left: 0 !important; }
			section.boxes.b4.plines .box { width: 25%; margin-left: 0 !important; }
		}

		/* +++++++++++++++++++++++++++ ARTICLE: Contact Person +++++++++++++++++++++++++++ */
		main article.contact { width: 100%; }
			article.contact h3.lined { margin: 0.5em 0 1.5em 0; padding-left: 80px; font-size: 1em; font-weight: 400; }
			article.contact div.text { float: left; width: 100%; padding: 0 0 1em 0; font-weight: 300; }
			article.contact picture { float: left; width: 100%; }
			article.contact picture img { width: 100%; height: auto; }
		@media (min-width: 500px) {
			article.contact div.text { width: auto; padding: 0 1em 1em 0; min-width: 49%; margin-right: 2%; }
			article.contact picture { width: 49%; }
		}
		@media (min-width: 600px) {
			article.contact div.text { min-width: 50%; }
			article.contact picture { width: 35%; }
		}
		@media (min-width: 920px) {
			article.contact div.text { min-width: 25%; }
			article.contact picture { width: 25%; }
		}
		


		/* +++++++++++++++++++++++++++ ARTICLE: home +++++++++++++++++++++++++++ */
		main article.home { display: block; width: 100%; overflow: hidden; }
			main article.home img.ad_symbol { display: none; }
			main article.home > .pic_left { float: left; width: 100%; margin-bottom: 1em; }
			main article.home > .pic_left img { float: left; width: 100%; height: auto; }

			main article.home > div { float: left; width: 100%; padding: 0 10px; }
			main article.home > div h2 { margin: 0 0 1em 0; }
			main article.home > div a { font-weight: 600; }
		
		@media (min-width: 420px) {
			main article.home > div { padding: 0 20px; }
		}
		@media (min-width: 720px) {
			main article.home > .pic_left { float: left; width: 50%; margin-bottom: 0; }
			main article.home > div { width: 50%; max-width: 500px; padding-left: 2em; }
		}
		@media (min-width: 820px) {
			main article.home > div { width: 50%; max-width: 500px; padding-left: 4em; }
		}
		@media screen and (min-width: 1024px) {
			main article.home img.ad_symbol { display: block; margin-bottom: 1.5em; }
			main article.home > div	{ padding-right: 0; }
		}

		/* +++++++++++++++++++++++++++ ARTICLE: map +++++++++++++++++++++++++++ */
		main article.map { display: block; width: 100%; height: auto; overflow: hidden; }
			#map_google_wrap { position: relative; }
				#map_google	{ width: 100%; height: 400px; }
				#map_clickcover	{ position: absolute; width: 100%; height: 100%; top: 0; z-index: 120; }		
		@media screen and (min-width: 1024px) {
				#map_google	{ width: 100%; height: 560px; }
		}		
		
		/* +++++++++++++++++++++++++++ MODUL PARTNER, LINKS, AWARDS +++++++++++++++++++++++++++ */
		main article.logo { display: block; width: 100%; overflow: hidden; }
			main article.logo picture { position: relative; z-index: 2; float: left; background: #fff; padding: 2.4% 2%; }
			main article.logo picture img { float: left; width: 96%; height: auto; -webkit-transition: transform 0.4s; -moz-transition: transform 0.4s; -ms-transition: transform 0.4s; -o-transition: transform 0.4s; transition: transform 0.4s; }
			main article.logo:hover picture img { -webkit-transform: scale(1.05); -moz-transition: scale(1.05); -ms-transform: scale(1.05); -o-transform: scale(1.05); transform: scale(1.05); }			
			main article.logo div.text { position: relative; z-index: 1; float: left; margin: 1% 0 0 -2%; padding: 1em 1em 2.8em 2.8em; background: #fbfbfb; border: 1px solid #f4f4f4; text-decoration: none; overflow: hidden; }
			main article.logo.no_pic div.text { width: 100% !important; margin: 0; padding-left: 1.4em; padding-right: 1.4em; }
			main article.logo.no_url div.text { padding-bottom: 1em; }
			main article.logo:hover div.text { color: #000000; background: #f4f4f4; }
			main article.logo div.text h2 { margin-bottom: 0.3em; font-size: 1.2em; font-weight: 600; }
			main article.logo div.text span.link { position: absolute; bottom: 6%; right: 6%; font-weight: 300; text-decoration: underline; }
			main article.logo div.text span.download { position: absolute; bottom: 6%; right: 6%; text-decoration: underline; }
			main article.logo:hover div.text span.link { color: #00a0e9; }		
		@media (max-width: 599px) {
			main article.logo picture { min-width: 160px; padding: 3.2% 3%; }
			main article.logo div.text { width: 96% !important; margin: -6% 2% 0 2% !important; padding: 2.8em 1em 3.4em 1em !important; }
			main article.logo.no_pic div.text { width: 100% !important; margin: 0; }
		}		
		
		/* +++++++++++++++++++++++++++ MODUL TEAM +++++++++++++++++++++++++++ */
		section#team_gallery { display: block; width: 100%; overflow: hidden; opacity: 0; }
			section#team_gallery > div { position: relative; float: left; width: 50%; height: auto; padding-left: 1%; padding-bottom: 1%; overflow: hidden; }
			section#team_gallery > div > picture.team_pic { position: absolute; float: left; width: 100%; height: 100%; min-height: 120px; background-size: 100% auto; background-repeat: no-repeat; overflow: hidden; }
			section#team_gallery > div > picture.hidden { display: none; }
			section#team_gallery > div > picture.shown { display: inline; }
			section#team_gallery > div > picture > img { float: left; width: 100%; height: auto; }
		@media (max-width: 599px) {
			section#team_gallery > div:nth-child(2n+1) { padding-left: 0; }
		}
		@media (min-width: 600px) {
			section#team_gallery > div { width: 25%; }		
			section#team_gallery > div:nth-child(4n+1) { padding-left: 0; }	
		}

		/* +++++++++++++++++++++++++++ MODUL PROJEKT - Übersicht +++++++++++++++++++++++++++ */
		section.project_overview { margin-top: 0 !important; }
			section.project_overview a.project { float: left; margin-top: 2em; font-size: 1.1em; color: #000; text-decoration: none; overflow: hidden; }
			section.project_overview a.project.small { width: 100%; }
			section.project_overview a.project.big { clear: left; width: 100%; }
			section.project_overview a.project div.picture { position: relative; display: inline-block; width: 100%; height: auto; margin-bottom: 0.5em; }
			section.project_overview a.project div.picture img { float: left; width: 100%; height: auto; }
			section.project_overview a.project div.picture > div { position: absolute; top: 0; left: 0; z-index: 2; display: inline-block; width: 0; height: 0; background: #00a0e9; color: #fff; opacity: 0;
																	-webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
			section.project_overview a.project div.picture > div > div { position: absolute; bottom: 6%; left: 4%; z-index: 3; }
			section.project_overview a.project:hover div.picture > div { width: 100%; height: 100%; opacity: 1; }
			body.touch section.project_overview a.project:hover div.picture > div { width: 0; height: 0; opacity: 0; }
			section.project_overview a.project div.picture span.lined { font-size: 1em; margin-top: 0.6em; padding-left: 60px; }
			section.project_overview a.project div.picture span.lined:before { width: 50px; background: #fff; }
			section.project_overview a.project div.location, section.project_overview a.project h2 { margin-left: 4%; }
			section.project_overview a.project div.location { font-size: 0.9em; font-weight: 300; }
			section.project_overview a.project h2 { margin-top: 0.1em; font-size: 1.4em; font-weight: 400; }		
		@media (min-width: 620px) {
			section.project_overview a.project { font-size: 1em; }
			section.project_overview a.project.small { width: 49%; }
			section.project_overview a.project.small:nth-child(2n+2) { float: right; }	
		}
		@media (min-width: 720px) {
			section.project_overview a.project { font-size: 1.1em; }		
		}


		/* +++++++++++++++++++++++++++ MODUL PROJEKT - Detailansicht +++++++++++++++++++++++++++ */
		body.project article.intro h2 { margin-bottom: 0.6em; }
		body.project article.intro p.claim { margin-top: 0.15em; font-size: 1.6em; font-weight: 600; }
		body.project article.intro div.facts { margin: 1.6em 0 2em 0; }
		body.project article.intro div.facts p { margin-top: 0.8em; }
		body.project article.intro div.facts span.lined { font-weight: 300; }
		body.project article.intro a.download { display: inline-block; margin-top: 0.5em; }

		section.project_pics { margin-top: 1.5em !important; }
			section.project_pics > a { float: left; width: 100%; height: 320px; margin-bottom: 1.2em; background-repeat: no-repeat; background-position: center; background-size: cover;
										-webkit-transition: background 0.3s ease-in-out; -moz-transition: background 0.3s ease-in-out; -ms-transition: background 0.3s ease-in-out; -o-transition: background 0.3s ease-in-out; transition: background 0.3s ease-in-out; }
			section.project_pics article.iframe div.iframe_wrapper { margin-top: 0 !important; }
		
		section#projectnavi { font-size: 1.2em; margin-bottom: 4em; }
			section#projectnavi > h2 { margin: 1em 0 0 0; font-weight: 700; }
			section#projectnavi > h2 a { text-decoration: none; }

		@media (min-width: 620px) {
			section.project_pics > a { height: 420px; }
			section.project_pics > a.small { float: left; width: 49%; }
			section.project_pics > a.small:nth-child(2n+2) { float: right; }
		}
		@media (min-width: 720px) {
			body.project article.intro div.facts { margin: 3.6em 0 0.5em 0; }		
		}
		@media (min-width: 820px) {
			section.project_pics > a { height: 520px; }
			section.project_pics > a.small.landscape { background-size: auto 100%; }
			section.project_pics > a.small.landscape:hover { background-size: auto 105%; }
			section.project_pics > a.small.portrait { background-size: 100% auto; }
			section.project_pics > a.small.portrait:hover { background-size: 105% auto; }
			section.project_pics > a.big { clear: both; background-size: 100% auto; }
			section.project_pics > a.big:hover { background-size: 105% auto; }
		}
		/* hack for Chrome (no zoom) */
		section.project_pics > a:not(*:root), section.project_pics > a:hover:not(*:root) { background-size: cover !important; }


	/* +++++++++++++++++++++++++++++++++++++++ FOOTER +++++++++++++++++++++++++++++++++++++++ */
	footer { position: relative; width: 100%; height: auto; margin-top: 2em; background: #f4f4f4; font-size: 1.1em; }

		footer div.left { float: left; width: 100%; padding: 1.5em 0; }
		footer div.left #contact div { float: left; margin-bottom: 0.8em; }
		footer div.left #contact p, footer div.left #contact a { margin-top: 0.1em; }
		footer div.left #contact a:before { font-size: 16px; }
		footer div.left #contact a.website { display: none; }
		footer div.left #footlinks nav { float: left; margin-top: 0.8em; }
		#contact div:first-child, #footlinks nav:first-child { width: 100%; }

		footer div.left #footlinks { clear: left; }
		footer div.left #footlinks nav#nav_sec { display: none; }
		footer div.left #footlinks nav p { margin-top: 0.2em; }
		footer div.left #footlinks nav ul { list-style: none; }
		footer div.left #footlinks nav ul a { position: relative; display: block; margin-top: 0.2em; padding-left: 15px; text-decoration: none; }
		footer div.left #footlinks nav ul li.active a { color: #00a0e9; }
		footer div.left #footlinks nav ul a:before { position: absolute; top: 2px; left: 0; content: "\f054"; font-size: 15px; font-family: 'Font Awesome 5 Free'; font-weight: 900; line-height: 1; }

		footer div.right { float: left; padding: 0 0 1.5em 0; }
		footer div.right a { display: block; height: auto; }
		footer div.right a.design_award { width: 8.2em; }
		footer div.right a.famab { width: 7.8em; margin: 1em 0 0 0.15em; }

		#footer_links { width: 100%; height: auto; color: #fff; background: #212929; }
		#footer_links .social_media { display: block; width: 90%; margin: 0px auto; padding: 0.8em 0; }
		#footer_links .social_media a { float: left; width: 20%; -webkit-transition: opacity 0.3s ease-in-out; -moz-transition: opacity 0.3s ease-in-out; -ms-transition: opacity 0.3s ease-in-out; -o-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; }
		#footer_links .social_media a:hover { opacity: 0.8; }
		#footer_links .social_media a:before { float: left; margin-left: 30%; font-size: 30px; line-height: 1; color: #fff; }
		#footer_links .copyright { float: left; width: 100%; text-align: center; padding: 0.5em 0 1em 0; line-height: 1; font-weight: 300; }

	@media (min-width: 480px) {
		footer div.left { width: 50%; }
		footer div.right { float: right; padding: 1.5em 0; }
		#footer_links .social_media { float: left; width: auto; padding: 0.4em 0;position:relative; }
		#footer_links .social_media a { width: auto; margin-left: 0; margin-right: 1em; font-size: 20px; }
		#footer_links .social_media a:before { margin-left: 0; font-size: 26px; }
		#footer_links .copyright { float: right; width: auto; padding: 0.7em 0 0 0; text-align: left; }
		#footer_links .social_media .codePanel-bd{position:absolute; bottom:40px;display:none;}
	}
	@media (min-width: 750px) {
		footer div.left { width: 75%; }
		footer div.left #contact div { margin-bottom: 0; }
		#contact div:first-child, #footlinks nav:first-child { width: 50%; }
	}
	@media (min-width: 768px) {		
		footer div.left #footlinks nav#nav_sec { display: inline-block; }
	}


/* +++++++++++++++++++++++++++++++++++++++ Scroll to Top +++++++++++++++++++++++++++++++++++++++ */
#scroll_to_top	{ position: fixed; z-index: 100; bottom: 1em; right: 0; width: 40px; height: 60px; background: rgba(89,87,87,1);
					-webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; }
#scroll_to_top:before	{ position: absolute; top: 7px; left: 0; width: 100%; content: "\f077"; font-family: 'Font Awesome 5 Free'; font-weight: 900; display: block; font-size: 22px; line-height: 1; text-align: center; color: #fff; }
#scroll_to_top:after	{ position: absolute; top: 34px; left: 0; width: 100%; content: "TOP"; font-weight: 600; display: block; font-size: 14px; line-height: 1; text-align: center; color: #fff; }
body.cn #scroll_to_top:after	{ content: "TOP"; }
#scroll_to_top:hover	{ background: rgba(0,160,233,1); cursor: pointer; }
@media (min-width: 480px) {
#scroll_to_top	{ bottom: 5em; }
}
@media (min-width: 1200px) {
#scroll_to_top	{ bottom: 5em; right: 0; width: 50px; height: 90px; }
#scroll_to_top:before	{ top: 15px; font-size: 25px; }
#scroll_to_top:after	{ top: 45px; font-size: 16px; }
}

/* +++++++++++++++++++++++++++++++++++++++ MESSE-Sondermeldung +++++++++++++++++++++++++++++++++++++++ */
#sidebutton	{ position: fixed; z-index: 200; top: 5.3em; right: -275px; width: 300px; height: 180px; font-size: 1.2em; background: #f4f4f4; overflow: hidden;
			-webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; }
	#sidebutton_link { float: left; width: 25px; height: 100%; color: #fff; background: #212929; }
	#sidebutton:hover #sidebutton_link, #sidebutton_link.active { background: #00a0e9; }
	#sidebutton_link span { display: inline-block; width: 180px; height: 25px; margin: 78px 0 0 -75px; font-size: 1em; font-weight: 700; text-align: center; text-transform: uppercase;
							-moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
	#sidebutton_content { float: left; width: 275px; height: 100%; padding: 1em 1em 2em 1em; color: #000000; border-left: 2px solid #fff; }
	#sidebutton_content img { float: left; height: auto; margin: 0.1em 0.8em 0.8em 0; }
	#sidebutton_content span.link { position: absolute; bottom: 1em; right: 1em; font-weight: 300; text-decoration: underline; }
@media (min-width: 440px) {
#sidebutton	{ top: 15em; right: -360px; width: 400px; height: 200px; font-size: 1.3em; }
	#sidebutton_link { width: 40px; }
	#sidebutton_link span { width: 200px; height: 40px; margin: 80px 0 0 -80px; padding-top: 0.5em; font-size: 1.1em; }
	#sidebutton_content { width: 360px; }
	#sidebutton_content img { margin: 0.1em 1.2em 0.8em 0; }
}


/* +++++++++++++++++++++++++++++++++++++++ DRUCKVERSION +++++++++++++++++++++++++++++++++++++++ */
@media print {
	#pageinfo { display: none !important; }
	body	{ font-size: 74%; background: #fff; color: #000; }
	
	header, #breadcrumb, #scroll_to_top, #footlinks, #footer_links, footer div.right, section.boxes.news span.link, article.iframe, article.cta, .zoom:after { display: none !important; }
	
	.container	{ max-width: auto; margin: 0px auto; padding-left: 0; padding-right: 0; }
	main		{ font-size: 1.1em; padding-top: 0; padding-bottom: 2em; background: #fff !important; }
		
		section#section_services article img { opacity: 1; }
	
	footer div.left { width: 90%; }
	footer div.left #contact div { width: 50%; }
		footer div.left #contact a.website { display: block; }
}
