html {
	font-family: 'Rubik', sans-serif;
	font-size: 17px;
	line-height: 1.5;
	color: #392f29;
	background-color: #FFF;
	height: 100%;
	overflow-y: scroll;
}

body {
	min-height: 100%;
}

.page-wrapper {
	min-width: 300px;
	padding-top: 202px;
}
img {
	width: auto;
	height: auto;
}

@media screen and (max-width: 1023px) {
	header.main {
		height: 80px;
	}
	.page-wrapper {
		padding-top: 80px;
	}
}

@media screen and (max-width: 420px) {
	header.main {
		height: 55px;
	}
	.page-wrapper {
		padding-top: 55px;
	}
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}

.topic-wrapper {
	margin: 65px 0 50px;
}
.topic-wrapper p:last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 1230px){
	.container {
		padding: 0 30px;
	}
}

@media only screen and (max-width: 1024px){
	.topic-wrapper {
		margin: 40px 0 25px;
	}
}

@media only screen and (max-width: 500px){
	.container {
		max-width: 500px;
		min-width: 300px;
		padding: 0 20px;
	}
}

/*------------------------------------*\
Heading
\*------------------------------------*/
h1 {
	font-size: 27px;
	margin: 0 0 1em;
	color: #00713c;
	font-weight: 600;
	text-transform: uppercase;
}

h2 {
	font-size: 16px;
	margin: 0 0 0.5em;
	color: #00713c;
	font-weight: 600;
}

h3, h4, h5, h6 {
	font-size: 15px;
	margin: 0 0 0.3em;
	color: #000;
	font-weight: 600;
}

@media only screen and (max-width: 1024px){
	h1 {
		font-size: 18px;
	}

	h2 {
		font-size: 14px;
	}

	h3, h4, h5, h6 {
		font-size: 13px;
	}
}

/*------------------------------------*\
Text
\*------------------------------------*/
p {
	margin: 0 0 1.5em;
}

strong,
b,
th {
	font-weight: 600;
}

a,
.active {
	text-decoration: none;
	color: #00713c;
	transition: color 0.3s ease;
}

a:hover,
a:focus {
	color: #1f7a16;
}

/*------------------------------------*\
Aufzählung
\*------------------------------------*/
ul {
	list-style: none;
	position: relative;
	padding: 0 0 0 15px;
}

ul > li {
	line-height: 1.3;
	margin-bottom: 5px;
}

ul.inline {
	padding: 0;
}

ul.inline > li {
	float: left;
}

li:before {
	content: "-";
	position: absolute;
	left: 0;
	color: #a3a3a3;
}

nav li:before,
ul.inline > li:before {
	content: "";
}

@media only screen and (max-width: 1024px){
	ul {
		padding: 0 0 0 10px; 
	}
}

/*------------------------------------*\
Formular
\*------------------------------------*/
input:not([type="radio"]):not([type="checkbox"]),
textarea {
	background: #eeeeee;
	border: 3px solid #eeeeee;
	border-radius: 0;
	width: 100%;
	height: 45px;
	box-sizing: border-box;
	padding: 12px;
	transition: background 0.2s ease;
}

input:not([type="radio"]):not([type="checkbox"]):focus,
textarea:focus {
	background-color: #fff;
	border: 3px solid #eeeeee;
}

textarea {
	min-height: 150px;
}

dl.form > dt {
	line-height: 50px;
	width: 24%;
}

dl.form > dd {
	padding: 5px 0;
	width: 76%;
	margin: 0;
	float: left;
}

@media only screen and (max-width: 1024px){
	dl.form > dt {
		width: 100%;
		float: none;
		line-height: inherit;
		padding: 0;
	}

	dl.form > dd {
		width: 100%;
	}
}

@media only screen and (max-width: 768px){
	input:not([type="radio"]):not([type="checkbox"]),
	textarea {
		height: 35px;
		padding: 10px;
	}

	textarea {
		min-height: 135px;
	}
}

/*------------------------------------*\
Button
\*------------------------------------*/
.button {
	color: #fff;
	background-color: #00713c;
	padding: 12px 64px
}

.button:hover,
.button:focus {
	color: #fff;
	background-color: #1f7a16;
}

@media only screen and (max-width: 1024px){
	.button {
		padding: 6px 32px
	}
}

/*------------------------------------*\
Mobile / Desktop
\*------------------------------------*/
.mobile {
	display: none;
}

.desktop {
	display: block;
}

@media only screen and (max-width: 1023px){
	.mobile {
		display: block;
	}

	.desktop {
		display: none;
	}
}

/*------------------------------------*\
Formatierung
\*------------------------------------*/
.messages.error {
	color: red;
}

.content-left {
	float: left;
	width: 40%;
	padding-right: 20px;
	box-sizing: border-box;
}

.content-right {
	float: left;
	width: 60%;
}

.background-color {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0.2;
	transition: opacity 0.1s ease;
}

.round img {
	width: 100%;
	height: 100%;
	border-radius: 50%
}

.google-map {
	width: 100%;
	height: 280px;
}

mark {
	background-color: #9fd29a;
}

.errors {
	background-color: #F02424;
	color: #fff;
	padding: 5px 10px;
}

@media only screen and (max-width: 1024px){
	.content-left,
	.content-right {
		width: 100%;
	}
}

@media only screen and (max-width: 500px){
	.google-map {
		height: 185px;
	}
}