/* Default Settings */

.clear {
	clear: both;
}

/* Header */

header {
	padding: 15px 0;
	box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.2);
	position: relative;
	z-index: 999;
}

header .row {
	align-items: center;
}

.logo img {
	max-width: 100%;
	width: 200px;
}

header .navigation {
	transition: all 0.3s;
}

header nav ul {
	padding: 0;
	margin: 0;
	text-align: right;
}

header nav ul li {
	display: inline-block;
	list-style: none;
}

header nav ul li a {
	color: #000000;
	display: block;
	padding: 10px;
	transition: all 0.3s;
}

header nav ul li a:hover {
	color: #008c26;
	text-decoration: none;
}

header nav ul li.current_page_item a {
	font-weight: bold;
	color: #008c26;
}

header .mobile-nav-headline {
	display: none;
}

header .mobile-nav-opener {
	position: absolute;
    right: 15px;
    font-size: 25px;
	display: none;
    cursor: pointer;
}


/* Startseite */

.banner {
	position: relative;
	margin-bottom: 50px;
}

.banner img {
	width: 100%;
	height: 75vh;
	object-fit: cover;
}

.banner_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-color: rgba(0,0,0,0.3);
}

.banner_overlay .row {
	align-items: center;
}

.banner_overlay .textwrap {
	padding: 25px;
	width: 700px;
	max-width: 100%;
	background-color: rgba(255,255,255,0.8);
}

.banner_overlay .textwrap a {
	color: #008c26;
}

section.freetext {
	margin-bottom: 50px;
}

section.teaser {
	margin-bottom: 50px;
}

.teaser_single {
	margin-bottom: 25px;
}

.teaser_inner {
	background-color: #efefef;
	padding: 10px;
	text-align: center;
}

.teaser_inner strong {
	display: block;
	font-size: 25px;
	font-weight: 500;
	margin-bottom: 10px;
}

.teaser_inner i {
	font-size: 50px;
}

.teaser_inner a {
	display: block;
	text-align: center;
	padding: 5px;
	background-color: #008c26;
	color: #ffffff;
	border: 2px solid #008c26;
	margin: 15px 0 5px 0;
	transition: all 0.3s;
}

.teaser_inner a:hover {
	opacity: 0.8;
	text-decoration: none;
}

/* Inhalt */

.banner_unterseite {
	height: 150px;
	position: relative;
}

.banner_unterseite::after {
	height: 100%;
	width: 100%;
	position: absolute;
	content: '';
	background-color: rgba(0, 140, 38, 0.5);
	top: 0;
	left: 0;
}

.banner_unterseite img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.content_unterseite {
	padding: 50px 0;
}

.content_unterseite a {
	color: #008c26;
}

/* Formular */

form.wpcf7-form {
	display: block;
	margin: auto;
	width: 600px;
	max-width: 100%;
	padding: 15px;
	background-color: #efefef;
}

form.wpcf7-form .formfield {
	width: 50%;
	float: left;
	padding: 5px 15px;
}

form.wpcf7-form .formfield.fullfield {
	width: 100%;
	padding: 5px 15px;
}

form.wpcf7-form .formfield label {
	margin: 0;
}

form.wpcf7-form .formfield input, form.wpcf7-form .formfield textarea {
	width: 100%;
	border: none;
	padding: 5px;
}

form.wpcf7-form .formfield input[type="checkbox"] {
	width: auto;
	margin-right: 5px;
}

form.wpcf7-form .formfield input[type="submit"] {
	background-color: #008c26;
	color: #ffffff;
	padding: 10px;
}

/* Footer */

footer {
	box-shadow: 0px -5px 5px 0px rgba(0,0,0,0.2);
	padding-top: 15px;
}

footer strong {
	display: block;
	margin-bottom: 10px;
}

footer a {
	color: #000000;
	transition: all 0.3s;
}

footer a:hover {
	color: #008c26;
	text-decoration: none;
}

footer table tr td:first-child {
	display: block;
	margin-right: 5px;
}

footer .social {
	align-self: center;
}

footer .social ul {
	padding: 0;
	margin: 0;
}

footer .social ul li {
	display: inline-block;
	list-style: none;
}

footer .social ul li a {
	color: #008c26;
	display: block;
	padding: 10px;
	font-size: 40px;
	transition: all 0.3s;
}

footer .social ul li a:hover  {
	opacity: 0.8;
}

footer .map iframe {
	border: none;
	width: 100%;
}

.bottom-bar {
	background-color: #efefef;
	padding: 10px 0;
	margin-top: 15px;
}

.bottom-bar a {
	color: inherit;
}

.bottom-bar a:hover {
	color: inherit;
	text-decoration: none;
}

.imprint_logo {
	width: 125px;
}

.menu-footermenue-container ul {
	margin: 0;
	padding: 0;
	text-align: right;
}

.menu-footermenue-container ul li {
	display: inline-block;
	padding-left: 15px;
	position: relative;
}

.menu-footermenue-container ul li::before {
	content: '-';
	position: absolute;
	left: 2px;
}

.menu-footermenue-container ul li:first-child::before {
	display: none;
}

/* Responsive */

@media only screen and (max-width: 991px) {

	header .navigation {
		position: fixed;
		top: 0;
		width: 700px;
		max-width: 85%;
		height: 100vh;
		background: #efefef;
		left: -100%;
		align-items: initial;
		justify-content: initial;
		display: initial;
		padding: 0;
		z-index: 999;
	}

	header nav ul {
		text-align: left;
	}
	
	header .mobile-nav-headline {
		padding: 10px;
		color: #000000;
		text-transform: uppercase;
		border-bottom: 1px solid rgba(0,0,0,0.25);
		font-weight: 600;
		display: block;
		font-size: 20px;
	}

	header nav ul li {
		border: none;
		border-bottom: none;
		display: block;
	}

	header nav ul li a {
		padding: 10px;
	}

	header nav ul li.menu-item-has-children > a::after {
		display: none;
	}

	header nav ul#primary-menu > li {
		border-bottom: 1px solid rgba(0,0,0,0.25);
		padding: 0;
	}

	.mobile-nav-headline i {
		float: right;
		margin-top: 5px;
		cursor: pointer;
	}
	header .mobile-nav-opener {
		display: block;
	}

}

@media only screen and (max-width: 767px) {

	.bottom-bar, .bottom-bar .align-right {
		text-align: center;
	}

	form.wpcf7-form .formfield {
		width: 100%;
	}

	.menu-footermenue-container ul {
		text-align: center;
	}

	form.wpcf7-form .formfield {
		width: 100%;
	}

}

@media only screen and (max-width: 450px) {

	figure.alignright, figure.alignleft {
		margin: 15px auto !important;
		float: none !important;
	}
	
}