html,
body{
	height:100%;
	font:13px/16px Verdana, sans-serif;
	color: #626262;
	background-color: 6a8b56;
}

input, textarea, select{
	font:100% Verdana,sans-serif;
	vertical-align:middle;
}
form, fieldset{
	margin:0;
	padding:0;
	border-style:none;
}

/*page*/
#page{
	width:100%;
	min-height:100%;
	overflow:hidden;
	position:relative;
	z-index:1;
	background-image: url(../images/body-bg/homepage.jpg);
	background-attachment: fixed;
	background-position: top;
	background-repeat:  repeat-x;
	/*background-color: #6a8b56;pastell weg*/
	/*background-color: #a0d180; pastell1*/
	background-color: #bbdea4;
}
* html #page{height:100%;overflow:visible;}
.page-holder{padding:0 0 28px;}
div.fix-width{
	max-width:959px;
	width:100%;
	margin:0 auto;
	overflow:hidden;
}
#main .fix-width{
	margin:0 auto 47px;
}
/*body-bg*/
#page .body-bg{
	position:absolute;
	top:74px;
	width:100%;
	min-height:100%;
	z-index:-1;
}
/*header*/
#header{
	width:100%;
	overflow:hidden;
	background:#fff;
	
}
#header p{
	display: none;
}

#header a {
	display: block;
	margin:22px auto 14px;
	/*float:left;*/
	height:31px;
	text-decoration: none;
	text-align: center;
}

#header .toplogo{
	font-size:24px;
	line-height:26px;
	margin:0 0 30px;
	text-decoration: none;
}
#header a{
	color:#3ea134;
}

#header a:hover {
	text-decoration: none;
	color: #2e6f21;
}


#header {
	display:block;
	height:100%;
	position:relative;
}
/*top-line*/
#page .top-line{
	width:100%;
	min-height:28px;
	background:#96b2bc;
}
/*main*/
#main{
	width:100%;
	overflow:hidden;
	color:#535353;
	position:relative;
}
#main h1{
	margin:0 0 20px;
	font-size:24px;
	line-height:26px;
}

/*nav-menu*/
.nav-menu {
	background:#5fadba;
	/*background:#2daabf; pastell1*/
	/*background:#0777b1;   pastell weg*/
	border-top:1px solid #ffffff;
	overflow:hidden;
	padding:0 0 0 37px;
	position: static;
	width: 100%;
	padding:0;
	margin-bottom: 15px;
}
.nav-menu ul {
	list-style:none;
}
	
.nav-menu .level1{
	/*float:left;*/
	overflow: hidden;
	margin: 0 auto;
	max-width: 959px;
	width: 100%;
	padding: 0 0 0 2px;
	background: url(../images/nav-line-bg.png) no-repeat 0 0;
}

.nav-menu .level1>li{
	float:left;
	background:url(../images/nav-line-bg.png) no-repeat 100% 0;
	padding:0 2px 0 0;
	height: 50px;
}	
.nav-menu .level1 li a{
	display:block;
	font-size:14px;
	font-weight: 600;
	color:#fff;
	height:30px;
	padding:16px 25px 0;
}

.nav-menu ul li a:hover,
.nav-menu ul li a.current,
.nav-menu ul li.section a.current{
	background:#0b498e;
	text-decoration:none;
}

.nav-menu .level2 {
  display:none; 
  position: relative; 
  top: +50px;
}

.nav-menu .level3 {
  position: relative; 
  background: #0777b1;
}

.nav-menu .level1 li:hover>.level2,
.nav-menu .level1 li>.level2.hover {
 display:block;
 font-size:14px;
 line-height:1.42857em;
 text-transform:none;
}

.nav-menu .level1 li .level2 li .level3,
.nav-menu .level1 li .level2 li .level3.hover
.nav-menu .level1 li .level2 li:hover>.level3,
.nav-menu .level1 li .level2 li>.level3.hover {
 display:block;
 font-size:14px;
 line-height:1.02857em;
 text-transform:none;
 padding-left: 25px;
}


.nav-menu .level1 li:hover>.level2 li,
.nav-menu .level1 li>.level2.hover li {
 border-top:1px dotted #262e33;
 padding-left:0;
 margin-left:1.5625em;
 margin-bottom:0;
 margin-top: 0;
 padding-top:0
}
.nav-menu .level1 li:hover>.level2 li:first-child,
.nav-menu .level1 li>.level2.hover li:first-child {
 border-top:none;
}
.nav-menu .level2 li a:hover{
	display:block;
	font-size:14px;
	font-weight: 600;
	color:#fff;
	height:30px;
}

.nav-menu .level2 li a{
	background: #0777b1;
}

.nav-menu .level1 li:hover>.level2 li .level3 li,
.nav-menu .level1 li>.level2.hover li .level3 li{
	 border-top:none;
}

.nav-menu .level3 li a, .nav-menu .level3 li a:hover{
	height:20px;
	padding:8px 32px 2px;
}

@media (min-width: 36.25em) {

.nav-menu .level1 li:hover>.level2,
.nav-menu .level1 li>.level2.hover {
  position:absolute;
  z-index:1000;
  display:block;
  padding-right:5px;
  border-top:4px solid #FFF;
  margin-top:4px;
  background-color:rgba(240,239,234,0.8);
  padding:0;
  margin: 0
 }
 
 .nav-menu .level1 li:hover>.level2 li,
 .nav-menu .level1 li>.level2.hover li {
  background:none;
    padding:0;
    margin: 0
 }
}

/*content*/
#content{
	float:left;
	width:732px;
	position:relative;
	margin-top: 0;
}
#page.home #content{
	width:100%;
}
#content .content-holder{
	position:relative;
	padding:15px 0 31px 65px;
	/*background:url(../images/content-line-bg.png) repeat-y 0 0;*/
	background-color: white;
	overflow:hidden;
	min-height: 350px;
}
#content .content-holder p, #content .content-holder table{
	margin: 0 0 10px;
}

#content .content-holder a {
	font-size:14px;
}

#content .content-holder ul {
	margin-top: 5px;
}

#content .content-holder ul li{
	padding: 0px 0px 5px 8px;
}

#content .content-holder  h2,
#content .content-holder  h3{
	margin:0px 26px 25px 0px;
}
#content .content-holder  table{
	margin:0px 26px 5px 0px;
}

#content .content-holder  p{
	margin:0px 26px 10px 0px;
}

#content .content-holder  table tbody{
	margin:0px;
	padding:0px;
}
#content .content-holder td{
	margin: 5px;
	padding: 0px 5px 5px 0px;
}

#content .content-holder img{
	border-style:none;
	padding:0px 5px 0 0 ;
}

#content .content-holder .kurz-image{
	overflow:hidden;
	
	
}
#content .content-holder .kurz-image img{
	display:block;
	float:left;
	margin:0 0 0 0;
	padding: 0 10px 20px 0;
	width: 100%;
}


#page.home #content .content-holder{
	padding:0;
}
/*box*/
.resume .box{
	width:226px;
}
.box{
	position:absolute;
	top:0px;
	right:0px;
	
	height:100%;
	/*background: rgba(255, 255, 255, 0.8);*/
	background-color: white;
	padding:459px 0 0 0;
	z-index:-1;
}
.box .box-bottom{
	/*background:url("../images/blocks-bg.png") repeat scroll 0 0 transparent;*/
	background-color: white;
	width:100%;
	padding:100% 0 0 0;
}
/*resume*/
.resume{
	position:relative;
	/*background:url(../images/content-line-bg.png) repeat-y 0 0;*/
	background-color: white;
	overflow:hidden;
	padding:15px 0 7px 0;
	margin:0 0 21px;
}
.resume .resume-side{
	width:233px;
	float:left;
	position: relative;
	z-index: 2;
	padding:3px 40px 0 0;
}
.resume .resume-side img{
	display:block;
}
.resume .side-descript{
	padding:0px 5px 0 11px;
}
.resume .side-descript strong{
	font: bold italic 31px/37px Verdana, sans-serif;
	color: #2e6f21;
	display: block;
	margin:0 0 2px;
}
.resume .side-descript span{
	font:13px/16px Verdana, sans-serif;
	color:#626262;
	margin:0 0 17px;
	display:block;
}
.resume .side-descript span a{
	color:#626262;
	font: bold 13px/16px Verdana, sans-serif;
	margin:0;
	display:block;
}
.resume .side-descript span a:hover{
	color:#2e6f21;
	text-decoration:none;
}
.resume .side-descript span a.more{
	font-weight:normal;
	color:#2e6f21;
	margin:3px 0 0 0;
}
.resume .side-descript span a.more:hover{
	text-decoration:underline;
}
.resume .resume-descript{
	float: right;
	position: relative;
	z-index: 2;
	padding:0 20px 0 0;
	width:665px;
}

.resume .resume-descript p{
	color:#535353;
	font:14px/25px Verdana, sans-serif;
	display:block;
	margin: 0 0 17px;
}
.resume .resume-descript p strong{
	color:#626262;
	font-size:18px;
	font-weight:normal;
}

.resume .resume-descript li{
	color:#535353;
	font:14px/25px Verdana, sans-serif;
}

.resume .resume-descript .contact{
	display: block;
	color: #2e6f21;
	font: 17px/25px Verdana, sans-serif;
	margin: 28px 0 0 0;
	word-spacing:3px;
}
.resume .resume-descript .contact span{
	display:block;	
}
.resume .resume-descript .resume-content-mobil{
	display:none;
}

/*Top-img*/
.top-img{
	/*background:url(../images/blocks-bg.png) repeat 0 0;*/
	background-color: white;
	overflow:hidden;
	width:959px;
	padding:1px 0 0 0;
}
.top-img img{
	display:block;
	float:left;
	margin:0 2px 0 0;
	padding: 10px;
	width: 100%;
}

/*sidebar*/
#sidebar, #sidebar-person {
	float:right;
	width:227px;
	position:relative;
	z-index:2;
}
#sidebar .sidebar-holder, #sidebar-person .sidebar-holder{
	position:relative;
	z-index:2;
	padding:0 11px 20px 5px;
	/*background:url(../images/blocks-bg.png) repeat 0 0;*/
	background-color: white;
}

/*box sidebar*/
#sidebar .box{
	position:relative;
	padding:104px 0 0 0;
	/*background:url(../images/blocks-bg.png) repeat 0 0;*/
	background-color: white;
}
#sidebar-person .box{
	position:relative;
	padding:17px 0 0 0;
	/*background:url(../images/blocks-bg.png) repeat 0 0;*/
	background-color: white;
}

#sidebar .box .box-bottom{
	position: absolute;
	top: 104px;
	left: 0;
	height:9999px;
}
#sidebar-person .box .box-bottom{
	position: absolute;
	top: 17px;
	left: 0;
	height:9999px;
}
/*post-sidebar*/
#sidebar .post-sidebar{
padding: 15px 0 0 0;
}
#sidebar .post-sidebar h3{
	margin:0 0 5px;
}
#sidebar .post-sidebar p{
	margin:0 0 3px;
}
#sidebar .post-sidebar img, #sidebar-person .post-sidebar img{
	width:100%;
}

#sidebar .post-sidebar a.more{
	font-size:12px;
}
/*questions-block*/
#sidebar .questions-block{
	padding:15px 0 0 0;
}
#sidebar .questions-block h3{
	margin:0 0 5px;
}
#sidebar .questions-block span{
	line-height:17px;
	color:#626262;
	display:block;
	margin:0 0 13px;
}
#sidebar .questions-block span a{
	color: #626262;
	font: bold 13px/16px Verdana, sans-serif;
}

#sidebar .questions-block span span{

}
/*footer*/
#footer{
	background:#3b6633;
	/*background:#2e6f21; pastell*/
	font-size: 12px;
	height: 60px;
	line-height: 20px;
	margin: -28px 0 0;
	position: relative;
	width: 100%;
	z-index: 2;
}
#footer ul {
	list-style:none;
}
#footer a{
	color:#fff;
}
#footer a:hover{
	text-decoration:none;
	color:#fff;
}
#footer .contact-info{
	float:left;
	padding:8px 0 8px 0;
}
#footer .contact-info li{
	float:left;
	font-size:12px;
	color:#fff;
	background:url(../images/footer-contact-bg.png) no-repeat 0 3px;
	letter-spacing:1px;
	padding:0 6px 0 10px;
}
#footer .contact-info li:first-child{
	background:none;
	padding:0 7px 0 5px;
}

#footer .contact-info li a{
	text-transform:none;
}
/*footer-nav*/
.footer-nav{
	float:right;
	padding:8px 0 8px 0;
}
.footer-nav li{
	float:right;
	padding:0 0 0 15px;
}
.footer-nav li a{
	font-size:12px;
}

.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

.clearfix {
  *zoom: 1; /* Für den IE6 und IE7 */
}

#page,
#footer {
	transition: transform .3s;
	transform: translateX(0);
}

/*nav*/
.nav-menu .toggle-expand {
	display: none;
	padding: 8px 15px;
	color: white;
	padding: 10px 20px;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	font-size: 13px;
	text-align: center;
	background:#5fadba;
}

.no-active .toggle-expand {
}

.small-box {
	margin-bottom: 0px;
	width:100%;
	height:0px;
	background:url(../images/box_mobile.png) no-repeat center center;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
	padding:0;
	display: none;
}

.meta-info {
	text-align: center;
	margin: 0 15px;
}

.meta-info li a {
	height: 34px;
	line-height: 34px;
	display: inline-block;
	color: #fff;
	font-size: 13px;
	font-family: 'Open Sans', sans-serif;
	transition: color .2s;
}

.meta-info li a:hover {
	text-decoration: none;
	color: #2e6f21;
}

.meta-info li{
	display: inline-block;
	margin-right: 35px;
	margin-left: 15px;

}

.small-only {
	display: none;
}

.small-image {
	display: none;
}

.large-image{
	display:block;
	width: auto;
	padding-right: 20px;

}
.kurz-image{
	display:block;
	width: auto;
	padding-right: 20px;

}

#header .small-spacer {
	display: none;
}


@media only screen and (max-width: 1050px){

	.accordion {
		width: 100%;
	}

	.top-img {
		width: auto;
		padding-right: 20px;

	}

	.home	.small-box {
		display: block;
	}

	#sidebar .box, #sidebar-person .box {
		width: 100%;
	}

	#content {
		width: 76.32950990615224%;
	}
	#sidebar, #sidebar-person {
		width: 23.67049009384776%;
	}
	#header h1 {
	}

	.fix-width {
		padding: 0 10px;
		box-sizing: border-box;
	}

	.large-up,
	.large-only {
		display:none;
	}

	.resume {
		padding-bottom: 0;
		margin-bottom: 0;
		/*background: rgba(255, 255, 255, 0.8);*/
		background-color: white;

	}

	.resume .resume-descript {
		width: 68.30031282586027%;
		box-sizing: border-box;
		padding-right: 4.79666319082377%;
	}

	.resume .resume-descript p {
		padding-right: 0;
	}
	
	.resume .resume-descript .resume-content{
		display:none;
	}	

	.resume .resume-descript .resume-content-mobil{
		display:block;
	}	
	
	.resume .resume-side {
		width: 28.46715328467153%;
		padding-right: 4.17101147028154%;
		box-sizing: border-box;
	}

	.resume .side-descript {
		padding: 7px 14% 0 14%;
		word-wrap: break-word;
	}

	.resume .resume-side img {
		max-width: 100%;
	}

	.bottom-box {
		width: 48.90510948905109%;
		min-height: 436px;
		height: auto !important;
		box-sizing: border-box;
	}

	.resume .box{
		display: none;
	}

}

@media only screen and (max-width: 880px){
	
	#sidebar .sidebar-holder {
		padding: 40px 15px 10px;
	}
	#content .content-holder {
		padding: 20px 5px 10px 15px;
	}
	#content .content-holder td{
		float: left;
	}	
	#content .content-holder img{
		width: 100%;
		height: auto;
	}		
	#content p {
		padding: 0;
	}
	#sidebar .post-sidebar p {
		padding: 0;
	}
	
	.kurz-image {
    padding-right: 0px;
	}
	
	#header .toplogo {
		font-size: 24px;
		line-height: 26px;
		margin: 0 0 5px;
		text-decoration: none;
	}
	
	#footer {
		height: auto;
		position: static;
		margin-top:0;
	}

	#footer .fixed-width {
		overflow: hidden;
	}

	#footer .footer-nav {
		margin: 13px 0 ;
		padding: 0px;
		font-size: 13px;
		float: none;
		overflow: hidden;
		clear: both;
		text-align: center;
	}

	#footer .contact-info {
		text-align: center;
		float: none;
		padding: 0px;
	}

	#content {
	}

	#footer .contact-info li {
		font-size: 12px;
		display: inline-block;
		float: none;
		padding: 0 7px;
		background: none;
	}

	.footer-nav li {
		float: none;
		display: inline;
		padding: 0 7px;
	}

	.footer-nav li a {
		font-size: 13px;
		font-weight: 600;
	}

	.page-holder {
		padding-bottom: 0;
	}


	.nav-menu .level1{
		padding: 0;
		background-image: none;
	}

	.nav-menu .level1 {
		width: 100%;
		float: none;
		display: none;
		background: none;
		padding: 0;
	}

	.nav-menu .level1 li {
		display: block;
		float: none;
	}

	.nav-menu .level1 li:hover {
		backgorund-image: none;
	}
	
	.nav-menu .level1 li a {
		display: block;
		float: none;
		padding: 15px 15px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
		height: auto;
	}

	.nav-menu .level2 {
		display:none; 
	}
	.nav-menu .level1 li:hover>.level2,
	.nav-menu .level1 li>.level2.hover {
		 display:none;
	}
	.nav-menu .level3 {
		display:none; 
	}
	
	.nav-menu .toggle-expand {
		display: block;
	}

	.nav-menu .toggle-expand:before {
		content: 'Menü öffnen';
		display: block;
	}

	.nav-expanded .nav-menu .toggle-expand:before {
		content: 'Menü schließen';
	}

}


@media only screen and (max-width: 640px){

	* {
		font-family: 'Open Sans', sans-serif !important;
	}

	.maps-wrapper {
		margin: 0;
	}
	.meta-info {
		padding: 4px 0;
	}

	.meta-info li {
		display: block;
	}

	.meta-info li a {
		height: 24px;
		line-height: 24px;
	}

	#content .content-holder {
		padding-top: 20px;
	}

	#header a {
		display: block;
		padding:15px 1px 10px;
		width:100%;
		margin: 0;
		height: auto;
	}

	#header .small-spacer {
		width: 100%;
		height: 0;
		position: relative;
		padding-bottom: 16%;
		display: block;
	}

	#header a svg.small {
		width:100%;
		height:100%;
		position: absolute;
	}

	.svg-logo.large {
		display: none;
	}

	.small-only {
		display: block;
	}

	.small-image {
		display: block;
		width: auto;
		padding-right: 20px;
	}
	.top-img img {
		width: 100%;
	}
	
	.large-image{
		display:none;
	}
	
	.kurz-image{
	display:none;
	}
	
	.sidebar-holder > *:last-child {
		padding-bottom: 10px;
	}

	.resume .resume-descript p strong {
		font-size: 16px;
	}

	.resume .resume-descript .resume-content{
		display:none;
	}	

	.resume .resume-descript .resume-content-mobil{
		display:block;
	}
	
	h2 {
		font-size: 14px;
		line-height: 20px;
	}

	h3 {
		font-size: 13px;
		font-weight: 600;
	}

	strong {
		font-weight: 600 !important;
	}

	.resume .resume-descript p,
	.resume .resume-descript .contact,
	p,
	.bottom-box .news a, .bottom-box .reviews a,
	.bottom-box .reviews p,
	.bottom-box .reviews span.mandant,
	.resume .side-descript span a,
	.bottom-box .news strong,
	.news_title,
	.resume .side-descript span,
	strong,
	#sidebar a,
	#sidebar span,
	#content a,
	#content li  {
		font-size: 13px !important;
		line-height: 20px !important;
	}
	.bottom-box > * {
		padding-bottom: 10px !important;
	}

	#sidebar .questions-block {
		padding: 0;
	}

	#sidebar .sidebar-holder,
	#sidebar-person .sidebar-holder
	{
		padding-top: 20px;
	}

	#content,
	#sidebar, 
	#sidebar-person {
		width: 100%;
	}
	
	#content .content-holder {
		float: none;
		padding: 15px 15px 20px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.15);
	}
	

	#sidebar .box {
		display: none;
	}

	.small-box {
		display: block;
	}

	#header h1{
		width:276px;
		height:39px;
		background:url(../images/logo_mobile.png) no-repeat;
		background-size: contain;
		max-width: 100%;
		margin:20px 0 14px 3px;
	}

	.bottom-box {
		width:100%;
		min-height: 10px;
		padding: 20px 10px 10px;

	}

	.bottom-box.left {
		margin-bottom: 21px;
	}

	.resume {
		padding-top: 0;
	}

	.resume .resume-side{
		float: none;
		width: 100%;
		padding: 15px 15px 20px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.15);
		margin-bottom: 20px;
	}
	
	.resume .side-descript > *+* {
		margin-top: 17px !important;
	}

	.resume .side-descript > * {
		margin-bottom: 0 !important;
	}

	.resume .side-descript {
		padding: 10px 0 0;
	}

	.resume .resume-descript {
		padding: 0 15px;
		float: none;
		width: 100%;
	}

}
