/* normalize */
html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
a { color:#00a651;background-color: transparent; }
a:active, a:hover { outline: 0;text-decoration: none;}
abbr[title] { border-bottom: 1px dotted; }
b, strong, .bold { font-weight:700; }
dfn { font-style: italic; }
mark { background: #fff; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
hr { box-sizing: content-box; height: 0; }
pre { overflow: auto; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }
button { overflow: visible; }
button, select { text-transform: none; }
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance:button; cursor:pointer;}
button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height:normal;border-radius:0;}
select { border-radius: 0;}
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; border:2px;}
input[type="checkbox"] {width:14px;height:14px;}
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box; border-radius: 0; -webkit-appearance: none !important;}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
input[type="submit"]{-webkit-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s;}
legend { border: 0;  padding: 0; }
textarea { overflow: auto; }
optgroup { font-weight: bold; }
table { border-collapse: collapse; border-spacing: 0;}
td, th { padding: 0; }
::-moz-selection {background: #b7e6f8; text-shadow: none; }
audio, canvas, iframe, svg, video { vertical-align: middle; }
img { vertical-align: top; }
fieldset { border: 0; margin: 0; padding: 0; }
textarea { resize: vertical; }
.hidden, .invisible { display: none !important; }
.clearfix:before, .clearfix:after { content: " ";  display: table; }
.clearfix:after, .clear { clear: both; }
/* nur safari */
* {-webkit-tap-highlight-color: rgba(0,0,0,0);}
svg:not(:root) { overflow: hidden; }

/* allgemein */
* { margin:0; padding:0; border:0; }
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
html{ height:100%; width:100%; }
html { font-size:100%; }
a {text-decoration:none; -webkit-transition:all 0.3s ease-out; -moz-transition:all 0.3s ease-out; -o-transition:all 0.3s ease-out; transition:all 0.3s ease-out; display:inline-block; }
*:focus  { outline: 0; }
ul, ol { margin: 0; padding: 0 ; }

nav ul, ul { list-style: none; list-style-image: none; }

main .ce_text ul {position:relative; padding-left:20px;margin:10px 0;}
main .ce_text li {position:relative;margin-bottom:10px;}
main .ce_text li {list-style-image:url('../../files/system/images/dot.png');}

.transit, input.submit {-webkit-transition:all 0.3s ease-out; -moz-transition:all 0.3s ease-out; -o-transition:all 0.3s ease-out; transition:all 0.3s ease-out;}
/************** FONTS *****************/
@font-face {font-family: 'sansbold';src: url('../../files/system/css/fonts/opensans-bold-webfont.woff2') format('woff2'),url('../../files/system/css/fonts/opensans-bold-webfont.woff') format('woff');font-weight: normal;font-style: normal;}
@font-face {font-family: 'sanslight';src: url('../../files/system/css/fonts/opensans-light-webfont.woff2') format('woff2'),url('../../files/system/css/fonts/opensans-light-webfont.woff') format('woff');font-weight: normal;font-style: normal;}
@font-face {font-family: 'sansreg';src: url('../../files/system/css/fonts/opensans-regular-webfont.woff2') format('woff2'),url('../../files/system/css/fonts/opensans-regular-webfont.woff') format('woff');font-weight: normal;font-style: normal;}

body { font-family:'Open Sans', sans-serif; font-weight: 400; font-size:14px; line-height:20px; color:#3c3c3b; }
h1, h2, h3 { font-weight: 300;}
h1, h2.as_h1 { font-size:40px; line-height:5px;margin-bottom:30px;}
h2 { font-size:26px; line-height:30px;}
b, strong {font-weight: 700; }
.invisible {display:none}
.centerhome {position:relative; max-width:1148px; margin:auto;}
.center {position:relative; max-width:1148px; margin:auto; padding:0 20px; }

.error {color:#d16700;}
#lbl_45_0 a, #lbl_43_0 a {color:#5daf33;}
#lbl_45_0 a:hover, #lbl_43_0 a:hover  {color:#33780f;}
/* allgemein */

.fullback {position:fixed; width:100%; height:100%; background:#f5f8f7; }
.loading {position:fixed; top:50%; left:50%; margin:-22px 0 0 -22px; width:44px; height:44px; background:url(../../files/system/images/loading.png) no-repeat center center; -webkit-animation-duration: 1s; animation-duration: 1s;  -webkit-animation-fill-mode: both;  animation-fill-mode: both; -webkit-animation-name: pulse; 	animation-name: pulse;	-webkit-animation-iteration-count: infinite;}
@-webkit-keyframes pulse {  0% { -webkit-transform: scale(0.7); } 50% { -webkit-transform: scale(1.0); } 100% { -webkit-transform: scale(0.7); } }
@keyframes pulse {  0% { transform: scale(0.7); } 50% { transform: scale(1.0); } 100% { transform: scale(0.7); } }

/* seitenübergang */
/* 
.no-js .wrap {opacity:1;}
.no-js .loading {display:none;}
 */

.wrap {position:relative; opacity:0; width:100%; height:100%; }

.green {color:#0c6c56;} 
.red {color:#a63e00;}
.dunkelgruen {color:#044a3a;}
.hellgruen {color:#bcca29;} 
.rot {color:#a63e00;}
.orange {color:#e0a002;}

/* header */
header {position:fixed; width:100%; height:120px; background:#fff; z-index:999; border-bottom:1px solid #ccc;}
header .center { height:120px;}
header .logo {position:relative; left:0px; top:30px;}

/* hamburger */
.menu_icon { position:absolute; top:20px; right:25px; cursor:pointer; background:none; width:35px;  padding:5px 35px 15px 0; display:none; z-index:999;}
.menu_icon span { background: #044a3a none repeat scroll 0 0; display: block; height: 5px; width: 40px; margin-bottom: 8px; overflow: hidden; position: relative; text-indent: 100%; -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, opacity 0.3s linear 0s; -moz-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, opacity 0.3s linear 0s; -ms-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, opacity 0.3s linear 0s; transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, opacity 0.3s linear 0s; }
.menu_icon:hover .icon_bar_1 { -webkit-transform: translate3d(0px, -2px, 0px); -moz-transform: translate3d(0px, -2px, 0px); -ms-transform: translate3d(0px, -2px, 0px); transform: translate3d(0px, -2px, 0px); }
.karriere .menu_icon span { background: #003b61 none repeat scroll 0 0; }
.menu_icon:hover .icon_bar_3 { -webkit-transform: translate3d(0px, 2px, 0px); -moz-transform: translate3d(0px, 2px, 0px); -ms-transform: translate3d(0px, 2px, 0px); transform: translate3d(0px, 2px, 0px); }
.navigation .menu_icon span {background: #fff none repeat scroll 0 0;}

/* navigation */
.navigation { position:absolute; right:0px; bottom:0px; }
.no-touchevents .navigation .right a:hover {background:#ffff00;}

.main_nav {font-weight:300; font-size:14px; line-height:46px; text-transform:uppercase;}
.main_nav li {position:relative; float:left; border-right:1px solid #ccc; border-bottom:1px solid #ccc;}
.main_nav li:last-child {border-right:none;}
.main_nav li a { display:block; padding:2px 20px 0; color:#3c3c3b; border-bottom:2px solid #fff;}
.main_nav li.active .active { display:block; padding:2px 20px 0; }
.main_nav .level_2 {position:absolute; width:255px; top:50px; display:none; border-top:1px solid #ccc;}
.no-touchevents .main_nav li:hover .level_2 {display:block;}
.main_nav .level_2 li {display:block;width:100%; background:#fff; border-right:none; border-bottom:none;}

.no-touchevents .main_nav li.projekte a:hover {color:#a63e00;} 
.no-touchevents .main_nav li.projekte:hover a {border-bottom:2px solid #a63e00;} 
.no-touchevents .main_nav li.projekte a:hover, .main_nav li.projekte.active .active, .main_nav li.projekte.trail .trail {color:#a63e00;border-bottom:2px solid #a63e00;} 
.main_nav li.projekte .active .active {color:#a63e00;} 
.no-touchevents .main_nav li.projekte:hover .level_2 a {border-bottom:2px solid #fff;}
.no-touchevents .main_nav li.projekte .level_2 a:hover {border-bottom:2px solid #a63e00;}
.no-touchevents .main_nav li.ergebnisse a:hover, .no-touchevents .main_nav li.ergebnisse .active .active, .no-touchevents .main_nav li.ergebnisse.active .active, .no-touchevents .main_nav li.ergebnisse.trail .trail {color:#a63e00;} 
.no-touchevents .main_nav li.ergebnisse:hover a, .main_nav li.ergebnisse.active .active, .main_nav li.ergebnisse.trail .trail {border-bottom:2px solid #a63e00;} 
.no-touchevents .main_nav li.ergebnisse:hover .level_2 a {border-bottom:2px solid #fff;} 
.no-touchevents .main_nav li.ergebnisse .level_2 a:hover {border-bottom:2px solid #a63e00;}
.main_nav .level_2 li.active .active {border-bottom:none !important;} 

.no-touchevents .main_nav li.konzept a:hover, .main_nav li.konzept.active .active, .main_nav li.konzept.trail .trail {color:#a63e00;border-bottom:2px solid #a63e00;} 
.no-touchevents .main_nav li.konzept:hover .level_2 a {border-bottom:2px solid #fff;} 
.no-touchevents .main_nav li.konzept .level_2 a:hover {border-bottom:2px solid #a63e00;} 

.no-touchevents .main_nav li.about a:hover {color:#0c6c56;border-bottom:2px solid #0c6c56;} 
.main_nav li.about.active .active, .main_nav li.about.trail .trail {color:#0c6c56;border-bottom:2px solid #0c6c56;} 
.main_nav li.about .active .active {color:#0c6c56;}
.no-touchevents .main_nav li.about:hover .level_2 a {border-bottom:2px solid #fff;} 
.no-touchevents .main_nav li.about .level_2 a:hover {border-bottom:2px solid #0c6c56;} 
.no-touchevents .main_nav li.aktuelles a:hover {color:#0c6c56;border-bottom:2px solid #0c6c56;} 
.no-touchevents .main_nav li.aktuelles:hover a, .main_nav li.aktuelles.active .active, .main_nav li.aktuelles.trail .trail {color:#0c6c56;border-bottom:2px solid #0c6c56;}
.no-touchevents .main_nav li.kontakt a:hover {color:#a63e00;border-bottom:2px solid #a63e00;} 
.no-touchevents .main_nav li.kontakt:hover a, .main_nav li.kontakt.active .active {color:#a63e00;border-bottom:2px solid #a63e00;}


/* de-en */
header .language {position:absolute; top:20px; right:187px;}
.language li {float:left; width:25px; text-align:center; font-size:12px; line-height:12px; border-right:1px solid #999;}
.language li:last-child {border-right:none; }
.language a {color:#3c3c3b;}
.language a:hover, .language li.active {font-weight:700;}

/* navi break */
.touchevents header, .touchevents header .center {height:80px;}
.touchevents .navigation {position:fixed; background:#044a3a;  top:80px; right:0; width:50%; max-height:100%; display:none; overflow: hidden; bottom:0;}
.touchevents header .language {top:30px; right:245px;}
.touchevents header .mod_search {top:25px; right:80px;}
.touchevents header .logo {top:8px;}
.touchevents .menu_icon  {display:block;}
.touchevents .overflowbox { position: relative; height:100%; max-height: 100%; overflow:auto; }
.touchevents .main_nav {font-weight:400; font-size:16px; line-height:46px; text-transform:uppercase;}
.touchevents .main_nav li {position:relative; float:none; border-right:none; border-bottom:none;}
.touchevents .main_nav li a { display:block; padding:2px 0 0 20px; color:#fff !important; border-bottom:none;}
.touchevents .main_nav li a:hover {color:#fff !important;}
.touchevents .main_nav .level_2 {position:relative; width:100%; top:0; display:none; font-size:14px; border-top:none;}
.touchevents .main_nav .level_2 li {display:block;width:100%; background:none; border-right:none; border-bottom:none; line-height:30px; padding-left:20px;}
.touchevents .main_nav li:hover a {border-bottom:none !important;} 
.touchevents .main_nav li.active .active, .touchevents .main_nav li.trail .trail {border-bottom:none !important; } 
.touchevents .main_nav li.active .active {color:#bccc00 !important;}
.touchevents .main_nav li.trail .trail {color:#fff !important;}
.touchevents .main_nav li.active .level_2, .touchevents .main_nav li.trail .level_2 {display:block;}

.socialfeed {position:absolute;right:40px;top:120px;z-index:99;width:300px;}

@media (max-width: 1024px) { 
	header, header .center {height:80px;}
	.navigation {position:fixed; background:#044a3a;  top:80px; right:0; width:50%; max-height:100%; display:none; overflow: hidden; bottom:0;}
	header .language {top:30px; right:245px;}
	header .mod_search {top:25px; right:80px;}
	header .logo {top:8px;}
	header .logo img {width:70%;height:70%;}
	.menu_icon  {display:block;}
	.overflowbox { position: relative; height:100%; max-height: 100%; overflow:auto; }
	.main_nav {font-weight:400; font-size:16px; line-height:46px; text-transform:uppercase;}
	.main_nav li {position:relative; float:none; border-right:none; border-bottom:none;}
	.main_nav li a { display:block; padding:2px 0 0 20px; color:#fff !important; border-bottom:none;}
	.main_nav li a:hover {color:#fff !important;}
	.no-touchevents .main_nav li:hover .level_2 {display:none;}
	.main_nav .level_2 {position:relative; width:100%; top:0; display:none; font-size:14px; border-top:none;}
	.main_nav .level_2 li {display:block;width:100%; background:none; border-right:none; border-bottom:none; line-height:30px; padding-left:20px;}
	.main_nav li:hover a {border-bottom:none !important;} 
	.main_nav li.active .active, .main_nav li.trail .trail {border-bottom:none !important; } 
	.main_nav li.active .active {color:#bccc00 !important;}
	.main_nav li.trail .trail {color:#fff !important;}
	.main_nav li.active .level_2, .main_nav li.trail .level_2 {display:block;}
	.no-touchevents .main_nav li.active:hover .level_2, .no-touchevents .main_nav li.trail:hover .level_2 {display:block;}
}
@media (max-width: 768px) { 
	h1, h2.as_h1 { font-size:30px; line-height:32px; }
}
@media (max-width: 600px) { 
	.navigation, .touchevents .navigation {width:100%;}
}
@media (max-width: 530px) { 
	h1, h2.as_h1 { font-size:25px; line-height:28px; }
	header .language {right:auto; left:220px; top:15px;}
	header .mod_search {display:none;}
	.menu_icon  {top:12px;}
}
@media (max-width:400px) {
	.language li {border-right:none;}
	.language li.active {display:none; }
}
.top_image {position: relative;max-width: 1148px;margin: auto;}
.top_image img {width:100%; height:auto; }
/* main */
main {position:relative; width:100%; padding-top:118px;}
img {max-width:100%; height:auto; }
.onscroll { opacity: 1; -webkit-transition: opacity .7s ease-in, margin-top .7s ease-out; transition: opacity .7s ease-in, margin-top .7s ease-out; }
.onscroll-hidden { opacity: 0; margin-top:0; }

.main_content {padding:0 20px; margin-top:40px;}

.content {float:left; width:100%; margin-bottom:70px;}
.content .referenzen p a {color:#044a3a;/* text-decoration:underline; */}
.content .referenzen p a:hover {color:#e0a002;}

/* footer */
footer {position:relative; padding:50px 0 80px; font-size:13px; background:#d4d5d4; }
footer h3 { position:relative; font-size:26px; line-height:30px; margin-bottom:25px; }
footer .contact {float:left; padding-left:40px;}
footer a {color:#3c3c3b;}
footer a:hover {color:#e0a002;}
footer .right {float:right;}
.footer_nav {text-transform:uppercase; border-bottom:1px solid #044a3a; width:300px;}
.footer_nav li {margin-bottom:15px;}
.social_links {margin:20px 0;}
.social_links a {float:right; margin-left:20px;}
.copy {float:right;}

.go_top {position:fixed; right:20px; bottom:20px; width:35px; height:35px; background:#92c80e; z-index:999; text-align:center; display:none;}
.go_top:hover {background:#00426a;}
.go_top .arrow {width:18px; height:18px; border-top:3px solid #fff; border-left:3px solid #fff; position:absolute; -moz-transform: rotate(45deg); -ms-transform: rotate(45deg);-o-transform: rotate(45deg);-webkit-transform: rotate(45deg); top:12px; left:9px;}

.show_go {height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 1010; }

.touchevents main {position:relative; width:100%; padding-top:80px;}

/* extranavi */
.projnav {position:relative; z-index:1000;font-size:16px; color:#666; text-transform:uppercase; letter-spacing:0.5px; padding-bottom:20px;margin-bottom:80px;}
.projnav ul {list-style: none; list-style-image: none;}
.projnav li {float:left; margin-right:1px; position:relative;line-height:40px;border-right: 1px solid #ccc; list-style-image: none!important;padding-right:15px;margin-right:15px;}
.projnav li:last-child {margin-right:0;}
.projnav li a { padding:0 20px;color:#e0a002;display:block;border-bottom: 1px solid #e0a002;}
.projnav li:hover a {color:#56524c;border-bottom:1px solid #56524c;}

/* galerie logos*/ 
.galeryhome img {width:200px; height:auto;margin:0 20px 20px 0;float:left;}

.farbbalken {width:100%;height:10px;}

/* responsive schnickschnack */
@media (max-width: 1024px) { 
	main {position:relative; width:100%; padding-top:80px;}
}
@media (max-width: 768px) { 
	.main_content {margin-top:40px;}
	.plant {display:none; }
	.content {float:none; width:100%; }
}
@media (max-width: 600px) { 
	.content .center {padding:80px 20px 0;}
}
@media (max-width: 550px) { 
	footer .contact {float:none; }
	footer .right {float:none; margin-top:40px;}
	.footer_nav {width:100%;}
}
@media (max-width: 500px) { 
	.main_content {padding:0; }

}
@media (max-width: 400px) { 
    table td {width:100%!important;}
}
h1 {position:relative;}

.about .ce_accordion {margin-top:20px;}
.about .ce_accordion .toggler {position:relative; margin-top:10px; display:block; font-weight:700; cursor:pointer; padding-left:20px;}
.about .ce_accordion .toggler:before {position:absolute; left :0; content:url(../../files/system/images/home/news-arrow.png);}
.about .ce_accordion .toggler.on:before {-webkit-transform: rotate(90deg);transform: rotate(90deg); }
.about .accordion {background:#fff; padding:20px; margin-top:10px;}
.about .sub {text-align:center; padding-right:10%;}
.about .ce_accordion .toggler, .ce_accordion .toggler, .subnav li .mehr, .projekt .right h3, .projekt .right a, .projekt_text h2, .back a {font-family: 'sansbold';}
.ce_accordion {margin-top:20px;}
.ce_accordion .toggler {position:relative; margin-top:10px; display:block; font-weight:700; cursor:pointer; padding-left:20px;}
.ce_accordion .toggler:before {position:absolute; left :0; content:url(../../files/system/images/home/red-arrow.png);}
.ce_accordion .toggler.on:before {-webkit-transform: rotate(90deg);transform: rotate(90deg); }
.accordion {background:#fff; padding:20px; margin-top:10px;}
/* leistungen */
.subnav {margin-top:30px;}
.subnav li {float:left; background:#fff; margin-bottom:30px; margin-right:3.5%; float:left; width:48.25%;}
.subnav li:nth-child(2n) {margin-right:0;}
.subnav li a {position:relative; display:block;  color:#3c3c3b; padding:20px;}
.subnav li .service {position:relative; display:block; width:100%;font-weight: 300; font-family: 'sanslight';font-size:26px; line-height:30px; margin-bottom:20px;}
.subnav li .mehr {position:relative; display:block; width:100%; font-weight: 700; color:#a63e00; border-bottom:1px solid #a63e00;}
.subnav li a .mehr:after {position:absolute; right:0; content:url(../../files/system/images/arrows/rot.png);}
.subnav li a:hover .mehr:after {content:url(../../files/system/images/arrows/rot-full.png);}

.spaltelinks {float:left;width:25%;}
.spalterechts {float:right;width:70%;}
.line {border-top: 1px solid #ccc; padding:0 0 25px;margin-top:25px; float:left;width:100%;}
/* Aktuelles */
.referenzen {margin: 50px 0;}
.projekt {position:relative; background:#fff; margin-bottom:25px;}
.projekt .left {position:absolute; float:left; width:30%; height:100%; background-position:center center; background-size:cover; background-repeat: no-repeat;}
.projekt .left .image {display:none;}
.projekt .right {position:relative; float:right; width:70%; padding:20px;}
.projekt .right h3 {font-size:14px; line-height:20px; font-weight:700; margin-bottom:10px;}
.projekt .right a {position:relative; margin-top:20px; display:block; font-weight:700; color:#044a3a; border-bottom:1px solid #044a3a;}
.projekt .right a:after {position:absolute; right:0; content:url(../../files/system/images/arrows/dunkelgruen.png);}
.no-touchevents .projekt .right a:hover:after {content:url(../../files/system/images/arrows/dunkelgruen-full.png);}
.mod_newsmenu {text-align:center; padding-right:30px; }
.mod_newsmenu ul li {margin-top:10px; font-weight:bold; color:#999;}
.mod_newsmenu ul li a {color:#044a3a;}
.mod_newsmenu ul li a:hover {color:#e0a002;}
/* Aktuelles detail */
.projekt_text {margin:50px 0;}
.projekt_text h2 {font-size:18px; line-height:26px; font-weight:700; margin-bottom:20px;}
.projekt_text .date {margin-bottom:20px;}
.projekt_text .ce_image {margin:20px 0;}
.projekt_text a {color:#3c3c3b;}.projekt_text a:hover {color:#e0a002;}
.back a {color:#3c3c3b; text-decoration:none; font-weight:700; margin-top:20px; position:relative; }
.back a:before {content:'<'; margin-right:5px;}
.back a:hover {color:#999; text-decoration:none;}
.projekt .right a:hover {text-decoration:none;}


/* produkte */
.ergebnisse .main_content .ce_text a {color:#bcca29;}
/* .produkte .main_content .ce_text a:hover {color:#e0a002;} */

.main_content .ce_image {margin:30px 0;}
.main_content .teaser .ce_image {margin:0;}

/* responsive schnickschnack */
@media (max-width:1024px) { 
	.subnav li .service { font-size:18px; line-height:20px; }
}
@media (max-width: 600px) { 
	.subnav li {margin-right:0; float:left; width:100%;}
}
@media (max-width: 500px) { 
	.projekt .left {position:relative; float:none; width:100%; height:100px; }
	.projekt .right {position:relative; float:none; width:100%; padding:20px;}
}
