body { background: #f0f0f0; width: 100%; font-family: 'PT Sans', sans-serif; color: #423a2e; font-size: 100.01%; font-weight: 400; line-height: 130%; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; margin: 0; }
a { color: #c00a26; text-decoration: none; }
a:hover { color: #c00a26; text-decoration: underline; }
img { border: none; }
a:focus { outline: none; }
.clear { clear: both; height: 0; }

h1, h2, h3, h4, p, table { line-height: 130%; margin: 0px 0px 15px 0px; }
h1 { font-size: 46px; font-weight: 400; color: #c00a26; margin: 0 0 25px 0px; }
h2 { font-size: 28px; font-weight: 400; color: #999; margin: 0 0 15px 0; }
#content h3 { font-size: 18px; font-weight: 400; color: #c00a26; border-bottom: 1px dotted #333; padding: 10px 0 0 0; margin: 0 0 5px 0; }
#sidebar h3 { font-size: 24px; font-weight: 400; color: #c00a26; margin: 0 0 5px 0; }
.widthFix { max-width: 1360px; position: relative; margin: 0 auto; }

#header { background: #fff; width: 100%; position: fixed; top: 0; left: 0; z-index: 100; border-bottom: 4px solid #c00a26; }
	#header .widthFix { height: 60px; }
		#logoSmall, #logoSmall a, #logoSmall img { display: block; width: auto; height: 40px; }
		#logoSmall { position: absolute; top: -100px; left: 30px; }
		.on #logoSmall, .default #logoSmall { top: 10px; -webkit-transition-delay: .4s; transition-delay: .4s; }
		
		#mainNav { position: absolute; top: 0; right: 15px; }
			#mainNav ul { margin: 0; padding: 0; list-style-type: none; }
				#mainNav ul li { float: left; position: relative; }
					#mainNav ul li a { display: block; font-size: 20px; line-height: 60px; color: #333; padding: 0 15px; text-decoration: none; position: relative; }
						#mainNav ul li:hover, #mainNav ul li a:hover, #mainNav ul li.current a { color: #c00a26; }
						#mainNav ul li.current a::after { bottom: 0; left: 50%; border: solid transparent; content: ''; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(192, 10, 38, 0); border-bottom-color: #c00a26; border-width: 8px; margin-left: -8px; }
				/* ZWEITE MENÜEBENE */
				#mainNav ul ul { max-height: 0; padding: 0; position: absolute; top: 60px; left: 0; overflow: hidden; }
					#mainNav ul li:hover ul { max-height: 600px; }
					#mainNav ul ul li { float: none; }
						#mainNav ul ul li a, #mainNav ul li.current ul li a, #mainNav ul li.active ul li a { background: #c00a26; min-width: 140px; width: 100%; font-size: 16px; line-height: 38px; color: #fff; white-space: nowrap; }
							#mainNav ul li.current ul li a:hover, #mainNav ul ul li a.current, #mainNav ul li.active ul li.current a { background: #9a0118; color: #fff;  }
								#mainNav ul li.current ul li a::after, #mainNav ul li.active ul li a::after { display: none; }
#emotion { width: 100%; max-height: 800px; position: relative; padding: 64px 0 0 0; overflow: hidden; z-index: 1; }
	#emotion::after { content: ''; background: rgba(255, 255, 255, .5); width: 100%; height: 10px; position: absolute; bottom: 0; left: 0; }
	#emotion img { display: block; width: 100%; height: auto; }
	#logoBig, #logoBig a, #logoBig img { display: block; width: 420px; height: auto; }
		#logoBig { position: absolute; top: 124px; right: 60px; }
		.on #logoBig { top: -160px; }
	#scrollFix { width: 1px; height: 1px; position: absolute; top: 30px; left: 0; visibility: hidden; }
	#specialNav { display: block; width: 100%; margin: 0; padding: 0; list-style-type: none; text-align: center; position: absolute; left: 0; bottom: 40px; z-index: 100; }
		#specialNav li { width: 220px; height: 220px; display: inline-block; margin: 0 20px; }
			#specialNav a.item { background-size: 100% 100%; display: block; width: 100%; height: 100%; border-radius: 50%; position: relative; box-shadow: inset 0 0 0 15px rgba(255,255,255,0.5), 0 0 2px rgba(0,0,0,0.5); }
				#specialNav .img-1 { background-image: url(../images/neubau.jpg); }
				#specialNav .img-2 { background-image: url(../images/altbau.jpg); }
				#specialNav .img-3 { background-image: url(../images/dachsanierung.jpg); }
				#specialNav .img-4 { background-image: url(../images/innenausbau.jpg); }
				#specialNav .info { position: absolute; background: rgba(255,255,255,.8); width: inherit; height: inherit; border-radius: 50%; opacity: 0; -webkit-transform: scale(0); -moz-transform: scale(0); -o-transform: scale(0); -ms-transform: scale(0); transform: scale(0); -webkit-backface-visibility: hidden; }
					#specialNav .info h2 { color: #c00a26; text-transform: uppercase; font-size: 28px; margin: 0 30px; padding: 40px 0 10px 0; opacity: 0; }
					#specialNav .info p { color: #333; padding: 15px 5px; margin: 0 30px; font-size: 14px; border-top: 1px solid rgba(0,0,0,.5); opacity: 0; transition-delay: 1s; }
				#specialNav a.item:hover { box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1), 0 0 2px rgba(0,0,0,0.5); }
					#specialNav a.item:hover .info { -webkit-transform: scale(1); -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; }
						#specialNav a.item:hover .info h2, #specialNav a.item:hover .info p { opacity: 1; }
	.default #logoBig, .default #specialNav { display: none; }

#main { width: 100%; }
	#main .widthFix { padding: 40px 30px 90px 30px; }
		#content, #sidebar { padding: 0 0 0 100px; position: relative; overflow: hidden; }
		#sidebar { width: 300px; float: left; padding: 20px 0; }
			#sidebar::after { content:''; width: 1px; height: 100%; position: absolute; top: 0; right: 0; bottom: 0; background: rgba(102,102,102,0); background: -moz-linear-gradient(top, rgba(102,102,102,0) 0%, rgba(102,102,102,1) 45%, rgba(102,102,102,1) 56%, rgba(102,102,102,0) 100%); background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(102,102,102,0)), color-stop(45%, rgba(102,102,102,1)), color-stop(56%, rgba(102,102,102,1)), color-stop(100%, rgba(102,102,102,0)));background: -webkit-linear-gradient(top, rgba(102,102,102,0) 0%, rgba(102,102,102,1) 45%, rgba(102,102,102,1) 56%, rgba(102,102,102,0) 100%); background: -o-linear-gradient(top, rgba(102,102,102,0) 0%, rgba(102,102,102,1) 45%, rgba(102,102,102,1) 56%, rgba(102,102,102,0) 100%); background: -ms-linear-gradient(top, rgba(102,102,102,0) 0%, rgba(102,102,102,1) 45%, rgba(102,102,102,1) 56%, rgba(102,102,102,0) 100%); background: linear-gradient(to bottom, rgba(102,102,102,0) 0%, rgba(102,102,102,1) 45%, rgba(102,102,102,1) 56%, rgba(102,102,102,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#666666', GradientType=0 ); }
			#sidebar p { line-height: 140%; margin: 0 0 10px 0; }

#subNav { width: 100%; margin: 0 0 50px 0; }
	#subNav ul a { display: block; font-size: 18px; line-height: 36px; color: #666; text-decoration: none; padding: 0 0 0 15px; position: relative; }
		#subNav ul a:hover, #subNav ul li.current a, #subNav ul.active a { color: #c00a26; }
		#subNav ul li.current a::after, #subNav ul li a:hover::after { left: 0; top: 50%; border: solid transparent; content: ''; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(192, 10, 38, 0); border-left-color: #c00a26; border-width: 6px; margin-top: -6px; }

#footer { width: 100%; }
	#columnFooter { border-top: 4px solid #c00a26; height: 50px; margin: 0 30px; padding: 8px 0 0 0; }
	#footerNav { position: absolute; top: -40px; right: 20px; }
		#footerNav ul { margin: 0; padding: 0; list-style-type: none; }
			#footerNav ul li { float: left; }
				#footerNav ul li a { display: block; float: left; font-size: 18px; line-height: 40px; font-weight: 400; color: #666; text-decoration: none; padding: 0 10px; position: relative; }
					#footerNav ul li a:hover { color: #c00a26; }
					#footerNav ul li a:hover::after { bottom: 0; left: 50%; border: solid transparent; content: ''; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(192, 10, 38, 0); border-bottom-color: #c00a26; border-width: 5px; margin-left: -5px; }
					
		#social { position: absolute; top: -41px; left: 30px; }
			#social a { background: rgba(0,0,0,.2); display: block; float: left; width: 36px; height: 36px; font-size: 20px; line-height: 38px; text-align: center; color: #fff; text-decoration: none; margin-right: 3px; }
				#social a:hover { background: #c00a26; color: #fff; }
			
			
	#copyright, #author { font-size: 13px; text-align: right; float: left; color: #666; }
	#author { text-align: right; float: right; }
		#author a { color: #666; }
			#author a:hover { color: #c00a26; }


/* BILDER */
#content .bildVoll {width: 100%; height: auto; margin: 0 0 15px 0; }
#content .bildHalb { width: 48.6%; height: auto; float: right; margin: 0 0 15px 2.8%; }
#content .bildDrittel { width: 31.5%; height: auto; float: right; margin: 0 0 15px 2.75%; }

/* GOOGLE MAPS */
#content .responsiveContainer { width: 100%; position: relative; padding-bottom: 60%; height: 0; margin: 0 0 25px 0; overflow: hidden; }
.video.responsiveContainer { padding-bottom: 58%; }
#notice { padding: 5px; white-space: nowrap; }
#notice h4 { font-size: 18px; padding: 0; margin: 0; }
#map, .video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* EFFEKTE */
#mainNav, #logoSmall, #logoBig, #specialNav a.item, #specialNav .info, #specialNav .info h2, #specialNav .info p { -webkit-transition: all .4s; -moz-transition: all .4s; transition: all .4s; }
#mainNav ul ul { -webkit-transition: max-height .8s; -moz-transition: max-height .8s; transition: max-height .8s; }
#specialNav .info h2, #specialNav .info p { transition-delay: .4s; }


/* Responsive Menu */
#toggle { display: none; width: 76px; height: 50px; padding: 22px 20px 0 20px; position: absolute; top: 0; right: 0; }
#toggle span:after, #toggle span:before { content: ""; position: absolute; left: 0; top: -10px; }
#toggle span:after { top: 10px; }
#toggle span { position: relative; display: block; }
#toggle span, #toggle span:after, #toggle span:before { width: 100%; height: 6px; background-color: #c00a26; transition: all 0.4s; backface-visibility: hidden; border-radius: 3px; }

/* on activation */
#toggle.on span { background-color: transparent; }
#toggle.on span:before { -moz-transform: rotate(45deg) translate(7px, 7px); -webkit-transform: rotate(45deg) translate(7px, 7px); -o-transform: rotate(45deg) translate(7px, 7px); -ms-transform: rotate(45deg) translate(7px, 7px); transform: rotate(45deg) translate(7px, 7px); }
#toggle.on span:after { -moz-transform: rotate(-45deg) translate(7px, -8px); -webkit-transform: rotate(-45deg) translate(7px, -8px); -o-transform: rotate(-45deg) translate(7px, -8px); -ms-transform: rotate(-45deg) translate(7px, -8px); transform: rotate(-45deg) translate(7px, -8px); }
#toggle.on + #mainNav { opacity: 1; max-height: 1000px; overflow: visible; }



/* Fix for mainNav 
------------------------------------------- */

@media (max-width: 1280px) {

h1 { font-size: 42px; }
h2 { font-size: 26px; }
#sidebar h3 { font-size: 20px; }

#header .widthFix { height: 50px; }
	#logoSmall, #logoSmall a, #logoSmall img { height: 30px; }
	#logoSmall { left: 25px; }

#mainNav ul li a { display: block; font-size: 17px; line-height: 50px; color: #333; padding: 0 10px; text-decoration: none; position: relative; }
	#mainNav ul li.current a::after, #mainNav ul li a:hover::after { border-width: 7px; margin-left: -7px; }
/* ZWEITE MENÜEBENE */
#mainNav ul ul { top: 50px; }
	#mainNav ul ul li a { font-size: 15px; line-height: 34px; }

#emotion { padding: 54px 0 0 0; }
	#logoBig, #logoBig a, #logoBig img { width: 320px; }
		#logoBig { top: 94px; right: 40px; }
	#specialNav { bottom: 30px; }
		#specialNav li { width: 170px; height: 170px; margin: 0 15px; }
			#specialNav a.item { box-shadow: inset 0 0 0 10px rgba(255,255,255,0.5), 0 0 2px rgba(0,0,0,0.5); }
				#specialNav .info h2 { font-size: 20px; margin: 0 25px; padding: 30px 0 7px 0; }
				#specialNav .info p { padding: 10px 5px; margin: 0 25px; font-size: 13px; }

#main .widthFix { padding: 40px 25px 90px 25px; }
	#content, #sidebar { padding: 0 0 0 40px; }
	#sidebar { width: 250px; padding: 15px 0; }

}

/* Portrait tablet to landscape and desktop 
------------------------------------------- */

@media (max-width: 979px) {

#logoBig, #logoBig a, #logoBig img, #scrollFix, #specialNav, #sidebar { display: none; }

#header { position: static; }
	#header .widthFix { height: auto; padding: 50px 0 0 0; }
		#logoSmall { top: 10px; }

#toggle { display: block; }
#mainNav { background: #fff; width: 100%; position: relative; top: auto; right: auto; padding: 0 25px; opacity: 0; max-height: 0; overflow: hidden; }
	
#mainNav ul { padding: 30px 0 0 0; }
	#mainNav ul li { float: none; }
		#mainNav ul li a { display: block; font-size: 18px; line-height: 44px; padding: 0; border-top: 1px dotted #666; }
			#mainNav ul li:hover, #mainNav ul li a:hover, #mainNav ul li.current a { color: #c00a26; }
			#mainNav ul li.current a::after { display: none; }
	/* ZWEITE MENÜEBENE */
	#mainNav ul ul { max-height: 600px; padding: 0; position: relative; top: 0; left: 0; }
		#mainNav ul ul li a { background: #fff; color: #333; font-size: 15px; padding: 0 0 0 50px; border: none; }
			#mainNav ul ul li a:hover, #mainNav ul ul li a.current, #mainNav ul ul li a.active { background: #fff; color: #9a0118; }

#emotion { padding: 0; }

#main .widthFix { padding: 30px 25px 90px 25px; }
	#content { width: 100%; padding: 0; }

#columnFooter { margin: 0 25px; }
#footerNav { right: 15px; }

}
	
/* Landscape phone to portrait tablet 
------------------------------------- */

@media (max-width: 767px) {

html { -webkit-text-size-adjust: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none; }

h1 { font-size: 36px; }
h2 { font-size: 22px; }

#logoSmall { left: 20px; }

#mainNav { padding: 0 20px; }

#main .widthFix { padding: 20px 20px 40px 20px; }

#columnFooter { height: 60px; margin: 0 15px; padding: 10px 0 0 0; }
#footerNav, #copyright, #author { width: 100%; padding: 0 0 10px 0; position: relative; top: auto; left: auto; right: auto; bottom: auto; text-align: center; }
	#footerNav ul li { float: none; }
	#footerNav ul li a { display: block; float: none; font-size: 16px; line-height: 32px; }
		#footerNav ul li a:hover::after { display: none; }
#copyright, #author { padding: 0; }

}


/* Landscape phones and down 
---------------------------- */

@media (max-width: 479px) {

h1 { font-size: 32px; }
#logoSmall { left: 15px; }
#mainNav { padding: 0 15px; }

}



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

[class^="icon-"]::before, [class*=" icon-"]::before, #subNav a::before, #menu span.more::before { font-family: "fontello"; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; speak: none; display: inline-block; text-decoration: inherit; text-align: center; }

.icon-left:before { content: '\e801'; } /* '' */
.icon-right:before { content: '\e802'; } /* '' */
.icon-up:before { content: '\e803'; } /* '' */
.icon-down:before { content: '\e804'; } /* '' */
.icon-mail:before { content: '\e805'; } /* '' */
.icon-mail-black:before { content: '\e806'; } /* '' */
.icon-facebook:before { content: '\e808'; } /* '' */
.icon-gplus:before { content: '\e809'; } /* '' */
.icon-twitter:before { content: '\e80a'; } /* '' */
.icon-youtube:before { content: '\e80b'; } /* '' */
.icon-phone:before { content: '\e80e'; } /* '' */
.icon-location:before { content: '\e80f'; } /* '' */


/* pt-sans-regular - latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/pt-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/pt-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-sans-v17-latin-regular.svg#PTSans') format('svg'); /* Legacy iOS */
}
/* pt-sans-italic - latin */
@font-face {
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/pt-sans-v17-latin-italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/pt-sans-v17-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-sans-v17-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-sans-v17-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-sans-v17-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-sans-v17-latin-italic.svg#PTSans') format('svg'); /* Legacy iOS */
}
/* pt-sans-700 - latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/pt-sans-v17-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/pt-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-sans-v17-latin-700.svg#PTSans') format('svg'); /* Legacy iOS */
}
/* pt-sans-700italic - latin */
@font-face {
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/pt-sans-v17-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/pt-sans-v17-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-sans-v17-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-sans-v17-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-sans-v17-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-sans-v17-latin-700italic.svg#PTSans') format('svg'); /* Legacy iOS */
}