html, body {
	width:100%;
	height:100%;
}

body {
	margin: 0 auto;
	background: url(images/bgimg2.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
	font-family: Arial, Helvetica Neue, Helvetica;
	color: #555;
}
@media only screen and (hover: none) and (pointer: coarse){
	body {
		background-attachment: scroll;
	}
}

a {
	text-decoration: none;
	color: #555;
	transition: all 0.2s ease-in-out;
}
a:hover {
	color: #7bb457;
}
a:active, a:focus {
	outline:none;
}

header {
	padding: 0.5em;
	text-align: center;
	background: rgba(255,255,255,0.95);
	width: 100%;
	box-sizing: border-box;
	border-bottom: 10px solid #7bb457;

	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	box-shadow: 0 0 20px rgba(0,0,0,0.25);
}
@media screen and (min-width: 600px) {
	header {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
header img {
	max-width: 140px;
}
header h1 {
	color: #bbb;
	font-weight: normal;
	font-size: 1em;
	margin: 1em;
	text-transform: uppercase;
}
@media screen and (max-width: 600px) {
	header img {
		max-width: 100px;
	}
}

/* CONTENT */

#content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	padding: 4vw 2vw;
	margin: 100vh 4vw 2vw;

	background: rgba(255,255,255,0.95);
	box-shadow: 0 0 20px rgba(0,0,0,0.5);
	position: relative;
}
#content:before {
	content: '↓';
	text-align: center;
	color: #7bb457;
	font-size: 2em;
	padding: 10px;
	box-sizing: border-box;
	position: absolute;
	top: -60px;
	left: 50%;
	margin-left: -60px;
	background: rgba(255,255,255,0.95);
	border-top-left-radius: 60px;
	border-top-right-radius: 60px;
	width: 120px;
	height: 60px;
}
@media only screen and (hover: none) and (pointer: coarse){
	#content {
		margin: 85vh 0vw 2vw;
	}
}
.contentbox {
	width: 30%;
	padding: 2vw;
	box-sizing: border-box;
}
@media screen and (max-width: 600px) {
	.contentbox {
		width: 100%;
		padding: 4vw;
	}
}

h2 {
	margin: 0 0 20px 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #d9d5d5;
	font-size: 1.5em;
	font-weight: normal;
	color: #7bb457;
}

#content ul {
	margin: 0;
	padding: 0;
}
#content ul li {
	list-style-type: none;
	padding: 1px 0 15px 30px;
	background: transparent url('images/list.gif') no-repeat;
}

a.mail {
	background: rgba(123,180,87,0.8);
	padding: 5px 20px;
	color: #fff;
}
a.mail:hover {
	background: rgba(123,180,87,1);
}

#impressum {
	padding: 2em;
	padding: 4vw 2vw;
	margin: 200px 4vw 4vw;
	background: rgba(255,255,255,0.95);
	box-sizing: border-box;
}
@media screen and (max-width: 600px) {
	#impressum {
		padding: 4vw;
	}
}

/* GALERIE */

#gallery {
	padding: 2vw;
	column-count: 3;
	column-gap: 0;
}
#gallery a {
	display: inline-block;
	padding: 2vw;
	margin: 2vw;
	background: rgba(255,255,255,0.95);
	box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
#gallery a:hover {
	transform: scale(1.05);
}
#gallery img {
	max-width: 100%;
}
#gallery p {
	margin-bottom: 0;
}
@media screen and (max-width: 600px) {
	#gallery {
		column-count: 1;
	}
	#gallery a {
		padding: 4vw;
	}
}

/* FOOTER */

footer {
	display: flex;
	justify-content: space-between;
	margin-top: 2vw;
	padding: 2em;
	font-size: small;
	background: rgba(255,255,255,0.95);
	box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
footer a.fb {
	padding-left: 12px;
	background: transparent url('images/facebook.gif') no-repeat left center;
}

