@charset "utf-8";
/* CSS Document */

/* Grundgeruest */
html {
    height: 100%;
    margin: 0;
    padding: 0;
    width: 100%;
}

body {
	background:#fff;
	color:#4e4e4e;
	font-size:16px;
	font-family: 'Droid Serif', serif;
	line-height:160%;
	padding:0px;
	margin:0px;
    position: relative;
    width: 100%;
	min-height:100%;
	font-style:italic;
	-webkit-text-size-adjust:none;
}

.bg-content {
	background:#f6f6f6;
	width:50%;
	max-width:700px;
	position:absolute;
	top:0px;
	left:0px;
	bottom:0;
	box-sizing:border-box;
	border-bottom:5px solid #023916;
}

.wrap {
	width:50%;
	max-width:700px;
	position:relative;
	z-index:10;
}

.wrap_p {
	padding:30px 62px 30px 62px;
	box-sizing:border-box;
	position:relative;
}

.wrap_p_i {
	padding:0px 62px;
	box-sizing:border-box;
	position:relative;
}


.totop {
	position:absolute;
	right:22px;
	bottom:0px;
	background:url(../images/layout/totop.png) no-repeat;
	display:inline-block;
	width:28px;
	height:15px;
	text-indent:-10000px;
	z-index:200;
}


@media only screen and (max-width : 859px) {
body {
	font-size:14px;
}

.bg-content {
	width:70%;
}

.wrap {
	width:70%;
}

}

@media only screen and (max-width : 525px) {
body {
	font-size:14px;
}

.bg-content {
	width:80%;
}

.wrap {
	width:80%;
}

.wrap_p {
	padding:30px 30px 30px 30px;
}

.wrap_p_i {
	padding:0px 30px;
}

}

@media only screen and (max-width : 340px) {
body {
	font-size:14px;
}

.bg-content {
	width:100%;
}

.wrap {
	width:100%;
}

.wrap_p {
	padding:30px 30px 30px 30px;
}

.wrap_p_i {
	padding:0px 30px;
}

}

/* HEADER */

header {
	position:relative;

}



.logo {
	max-width:389px;
	width:100%;
	height:auto;
	padding-top:21px;
	padding-left:0px;
	padding-bottom:15px;
	margin:0px auto;
	position:relative;
	z-index:30;
}


header .logo img {
	display:block;
	width:100%;
	border:none;
}


.sliderbox {
	margin-top:5px;
}

.sliderbox ul {
	padding:0px;
	margin:0px;
	list-style:none;

}

.sliderbox ul li img {
	width:100%;
	display:block;
}


.sliderbox .flex-control-nav {
	list-style:none;
	padding:0px;
	margin:14px 0 0 0;
	position:absolute;
	left:50%;
	z-index:1000;
}

.sliderbox .flex-control-nav li {
	float:left;
	position:relative;
	right:50%;
}


.sliderbox .flex-control-nav li a {
	display:block;
	text-indent:-10000px;
	width:20px;
	height:5px;
	background:#b4b4b4;
	margin-left:1px;
	margin-right:1px;
	cursor:pointer;
}

.sliderbox .flex-control-nav li a:hover, .sliderbox .flex-control-nav li a.flex-active {
	background:#023916;
}


.zitat {
	background:url(../images/layout/bg-header.png);
	box-sizing:border-box;
	padding:15px 25px;
	color:#4e4e4e;
	left:100%;
	position:absolute;
	top:70px;
	width:500px;
}

blockquote {
	background:url(../images/layout/bg-blockquote.png) left center no-repeat;
	font-size:29px;
	padding:10px 0px;
	text-align:right;
	margin:0;
	line-height:150%;
}

blockquote strong {
	font-weight:normal;
	color:#023916;
}


.addressbox {
	background:url(../images/layout/bg-footer.png);
	box-sizing:border-box;
	padding:10px 25px 15px 25px;
	color:#fff;
	left:100%;
	position:absolute;
	bottom:-5px;
	width:500px;
}

.addressbox-mobil {
	display:none;
}



@media only screen and (max-width : 1100px) {
.zitat {
	width:400px;
}

blockquote {
	font-size:20px;
	padding:20px 0px;

}

.addressbox {
	width:400px;
}


}


@media only screen and (max-width : 859px) {
.zitat {
	display:none;
}

.addressbox {
	display:none;
}

.addressbox-mobil {
	display:block;
}

.addressbox-mobil .impdaten {
	display:block;
	background:url(../images/layout/bg-footer.png);
	color:#fff;
}

}






/* NAVI */

nav {

}

nav ul {
	list-style:none;
	padding:0px;
	margin:0 auto;
	width:100%;
	background:#315a4e;
}

nav ul li {
	display:block;
	float:left;
	position:relative;
}

nav ul li a {
	font-size:14px;
	color:#fff;
	text-decoration:none;
	display:block;
	position:relative;
	margin:0px 0px 0 0;
	padding:8px 8px 8px 8px;

}



nav ul li.last a {
	padding:8px 8px 8px 7px;

}


nav ul li a:hover, nav ul li:hover a {
	background:#023916;
	color:#fff;
}

@media only screen and (max-width : 1395px) {
nav ul li a {
	font-size:12px;
	color:#fff;
	text-decoration:none;
	display:block;
	position:relative;
	margin:0px 0px 0 0;
	padding:8px 8px 8px 8px;

}
}

@media only screen and (max-width : 1270px) {
nav ul li {
	width:33%;
}	
	
nav ul li a {
	font-size:16px;
	color:#fff;
	text-decoration:none;
	display:block;
	position:relative;
	margin:0px 0px 0 0;
	padding:8px 20px 8px 20px;
	width:100%;
	text-align:center;
	box-sizing:border-box;
}

nav ul li.last a {
	padding:8px 20px 8px 20px;
}

}

@media only screen and (max-width : 1055px) {
nav ul li {
	width:33%;
}	
	
nav ul li a {
	font-size:13px;
	color:#fff;
	text-decoration:none;
	display:block;
	position:relative;
	margin:0px 0px 0 0;
	padding:8px 20px 8px 20px;
	width:100%;
	text-align:center;
	box-sizing:border-box;
}

nav ul li.last a {
	padding:8px 20px 8px 20px;
}

}


@media only screen and (max-width : 930px) {
nav ul li {
	width:50%;
}	 
	
nav ul li a {
	font-size:14px;
	color:#fff;
	text-decoration:none;
	display:block;
	position:relative;
	margin:0px 0px 0 0;
	padding:8px 10px 8px 10px;
	width:100%;
	text-align:center;
}

nav ul li.last a {
	padding:8px 20px 8px 20px;
}

}


.button_menu {
	display:none;
}


@media only screen and (max-width : 859px) {
	.button_menu {
		display:block;
		background:#315a4e;
		position:relative;
		cursor:pointer;
		color:#fff;
		padding:7px 20px 7px 50px;
		padding-left:50px;
		z-index:30;
		width:100%;
	}
	
	nav ul li {
		display:none;
	}
}


@media only screen and (min-width : 860px) {
	.button_menu {
		display:none;
	}
	
	nav ul li {
		display:block !important;
	}
}


button {
  display: inline-block;
  margin: 0;
  border: none;
  background: none;
}
button span {
  display: block;
}



.grid-button {
  padding:20px 20px 15px  20px;
  cursor: pointer;
  user-select: none;
}

.grid-button .grid {
  width: 6px;
  height:6px;
  background: #fff;
  color: #fff;
  /* Not in use when the colors are specified below */
  transition: 0.3s;
}

.grid-button.close .grid {
  transform: rotate3d(0, 0, 1, -45deg) scale3d(0.8, 0.8, 0.8);
}

.grid-button.collapse .grid {
  box-shadow: -8px 0, -8px 8px, 8px 0, 8px -8px, 0 -8px, -8px -8px, 0 8px, 8px 8px;
}

.grid-button.collapse.close .grid {
  box-shadow: -6px 0, 0 0 transparent, 6px 0, 0 0 transparent, 0 -6px, 0 0 transparent, 0 6px, 0 0 transparent;
}


button span.text {
	margin-left:30px;
	margin-top:-10px;
}











/* CONTENT */

.content {
	position:relative;
	padding:0px 0;
}



h1 {
	color:#023916;
	font-size:25px;
	margin:0px 0 20px 0;
	position:relative;
	line-height:120%;
	padding-bottom:7px;
	font-weight:normal;
 }



h2 {
	color:#023916;
	font-size:18px;
	margin:0px 0 10px 0;
	font-weight:normal;
	line-height:120%;
}


h3 {
	color:#023916;
	font-size:16px;
	margin:40px 0 20px 0;
	font-weight:700;
	line-height:120%;
}


h4 {
	color:#4e4e4e;
	font-size:16px;
	margin:0px 0 0px 0;
	line-height:120%;
}


h5 {
	color:#4e4e4e;
	font-size:14px;
	margin:10px 0 20px 0;
	font-weight:normal;
}

.content a {
	color:#315a4e;
	text-decoration:none;
	font-weight:bold;
	display:inline-block;
	
}

.content a:hover {
	color:#023916;
	text-decoration: underline dotted #023916;
}

.content a.nodekor, .content .nodekor a {
	background:none;
	display:inline;
	padding-left:0;
	text-transform:none;
}


.content ul {
	padding:0px;
	margin:00px 0px 20px 0;
	list-style:none;
}

.content ul li {
	background:url(../images/layout/li.png) left 5px no-repeat;
	text-align:left;
	padding:5px 0px 0px 25px;
}


.fl {
	float:left !important;
}

.fr {
	float:right !important;
}

.hr {
	width:100%;
	border-top:1px solid #dbd7d7;
	height:1px;
	margin:10px 0 20px 0;
}


.mb10 {
	margin-bottom:10px;
}

.col_2 {
	width:45%;
	float:left;
}

.col_2.offset {
	margin-right:10%;
}

.col_3 {
	width:60%;
	float:left;
}

.col_31 {
	width:70%;
	float:left;
}

.col_32 {
	width:75%;
	float:left;
}

.col_3.offset {
	margin-right:4%;
}

.offset {
	margin-right:4%;
}

.col_1 {
	width:35%;
	float:right;
}

.col_11 {
	width:26%;
	float:left;
}

.col_12 {
	width:20%;
	float:left;
}


.imgcol_1 {
	width:25.72%;
	margin-right:0.72%;
	float:left;
}

.imgcol_2 {
	width:27.72%;
	margin-right:0.72%;
	float:left;
}

.imgcol_3 {
	width:45%;
	float:right;
}

.imgcol_1 img, .imgcol_2 img, .imgcol_3 img {
	width:100%;
	display:block;
}

.imgcol_2 img.first {
	margin-bottom:3%;
}


.gallery a {
	float:left;
	width:100%;
	padding:0 5px 5px 5px;
	box-sizing: border-box;
}

.gallery a {
	width:48%;
	margin:0px 1%;
	float:left;
	display: block;
}

@media only screen and (min-width :600px) {
	.gallery a {
		width:31%;
		margin:10px 1%;
		float:left;
		display: block;
	}
}

.tc {
	text-align:center;
	padding: 20px;
	color:#fff;
	background:#315a4e;
	border-radius:5px;
}

.gallery a img {
	box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	padding:5px;
	width:100%;
}



.google-karte #map {
	width:100%;
	height:400px;
	margin-top:20px;
}

.google-karte a {
	background:none;
	padding:0px;
}

form {
	padding:0 0px;
}

form div {
	width:100%;
	
}

form div div {
	margin-bottom:10px;
	
}

form label {
	width:30%;
	margin-right:0;
	display:block;
	float:left;
	text-align:left;
	padding:5px 0;
}

form input, form textarea {
	width:69%;
	display:block;
	float:left;
	border:none;
	border-bottom:1px solid #999;
	padding:5px 0;
}


form .button {
	width:auto !important;
	color:#fff !important;
	padding:10px 20px 10px 20px;
	border:none;
	cursor:pointer;
	margin-left:30%;
	font-size:14px;
	display:inline-block;
	background:#315a4e;
	margin-top:20px;
}

form .button:hover {
	background:#023916;
}


.button {
	width:auto !important;
	color:#fff !important;
	padding:10px 20px 10px 20px;
	border:none;
	cursor:pointer;
	margin-left:0;
	font-size:14px;
	display:inline-block;
	background:#1e6298;
	margin-bottom:20px;
}

.button:hover {
	background:#2971ab;
}

.cbox {

}

.cbox.offset {
	margin-right:4%;
}

.cbox{
	width:48%;
	float:left;
	min-height:140px;
    position:relative;
	box-sizing:border-box;
	
	margin-bottom:47px;
}

.is {
	cursor:pointer;
}

.cbox img {
	float:left;
	position:relative;
	z-index:1;
	margin:2px 1px 1px 3px;
}

.cbox_c {
	padding:20px;
	float:left;
	width:60%;
	position:relative;
	z-index:1;
}


.impdaten {
	background:#EBEBEB;
	padding:20px 62px;
}

@media only screen and (max-width : 525px) {
.impdaten {
	background:#EBEBEB;
	padding:20px 30px;
}

}


/* FOOTER */

footer {
	position:relative;
}



footer a:hover {
	text-decoration:underline;
}

footer p {
	color:#fff;
	line-height:190%;
	margin-bottom:0px;
}

.addressbox-mobil a, .addressbox a {
	color:#fff;
	text-decoration:none;
}


.google-karte .gmnoprint {
	display:none;
}

.copyright {
	float:left;
	width:40%;
	color:#fff;
	font-size:12px;
}

.webdesign {
	float:right;
	width:40%;
	color:#fff;
	text-align:right;
	font-size:12px;
}

footer .webdesign a{
	color:#fff;
	text-decoration:none;
}

.webdesign a:hover {
	text-decoration:underline;
}


.tabs {
	width:70px;
	display:inline-block;
}

.tabs1 {
	width:180px;
	display:inline-block;
}



/* Floats ohne zusaetzliches Element aufheben */
.clearfix:after {
	content: "";
	visibility: hidden;
	display: block;
	clear: both;
	height: 0;
}
.clearfix { 
	display: inline-block; 
}
/* Hides from IE-mac \*/
* html .clearfix { 
	height: 1%; 
}
.clearfix { 
	display: block; 
}

@-ms-viewport{width:device-width}