@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 400;
}

main, article, header, footer, aside {
	display: block;
}

html, body {
	margin: 0;
	padding: 0;
}
ul {
	list-style-type: disc;
}

body {
	font-family: Calibri, 'PT Sans', sans-serif;
	font-size: 1.2em;
	line-height: 1.5;
	background: white;
	color: #333333;
}
header nav a, header nav a:hover {
	transition: all 0.2s ease-in-out 0s;
}

a {
	text-decoration: none;
	color: #0091D2;
}

a img {
	border: 0;
}

header.page {
	border-bottom: 1px solid white;
	padding: 7px 10%;
	margin: 0 0 0 0;
	color: #333;
	background-color: #699cb3;
	background-image: -webkit-gradient(linear, left top, right top, from(#75b0ca), to(#4089aa));
	background-image: -webkit-linear-gradient(left, #75b0ca, #4089aa);
	background-image: -moz-linear-gradient(left, #75b0ca, #4089aa);
	background-image: -o-linear-gradient(left, #75b0ca, #4089aa);
	background-image: linear-gradient(to right, #75b0ca, #4089aa);
}

header.page nav ul {
	padding: 0;
	margin: 0;
	font-size: 1.1em;
}

header.page nav li {
	display: inline;
}

header.page nav a {
	padding: 14px 28px 14px 0;
	margin: 0 15px 0 0;
	height: 32px;
	color: #e3ecf1;
	font-size: .95em;
}

header.page nav a:hover {
	color: white;
}

header.page nav img {
	vertical-align: middle;
}

footer {
	border-top: 2px solid #C4D4DA;
	padding: 0.5em 0;
	margin: 0 10% 0 10%;
}

footer a {
	color: #3481cd;
}

footer p {
	margin: 0;
	padding: 0;
}

main {
	padding: 24px 10%;
	border-top: 1px solid #0070A2;
}

article, section, footer p, header nav {
	max-width: 1200px;
	margin: auto;
}

article:after, .twocol:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

article header {
	padding: 20px 0;
	border-bottom: 2px solid #C4D4DA;
}

article header p {
	margin: 0;
}

h1, h2, h3, h4, h5, h6, dt {
	font-family: 'Oswald', Calibri, 'PT Sans', sans-serif;
	color: #4C4A4A;
	/* text-rendering: optimizeLegibility; */
	font-weight: 400;
}

h1 {
	font-size: 2.2em;
	line-height: 1.4em;
	border-bottom: 2px solid #c4d4da;
}

h2 {
	clear: both;
	margin-top: 1.5em;
	border-bottom: 2px solid #c4d4da;
}

#spendenaufruf {
	background: #F1F3F4;
	border: 1px solid #D5D5D5;
	border-radius: 0 0.7em 0.7em;
	margin: 1.5em 0 1em;
	padding: .75em 1.25em;
}

aside h3 {
	color: #8a9da8;
}

article h1 + h2 {
	margin-top: 0;
}

article .twocol {
	list-style-type: none;
	margin: 42px 0 0;
	padding-left: 0;
}

article .twocol li {
	margin-bottom: 1em;
	width: 50%;
	float: left;
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	   -moz-box-sizing: border-box; /* Firefox, other Gecko */
		-ms-box-sizing: border-box; /* IE, other Gecko */
		 -o-box-sizing: border-box; /* Opera, other Gecko */
		 box-sizing: border-box; /* Opera/IE 8+ */
}

.twocol li:nth-child(2n) {
	padding-left: 5%;
}

.twocol li:nth-child(2n+1) {
	clear: both;
}
.twocol a {
	color: #333;
}
.impressum .twocol a {
	color: #0091D2;
}
.twocol a em {
	display: block;
	color: #0091D2;
	font-style: normal;
}

article .twocol p {
	margin: 0;
}

article .twocol h3 {
	margin: 0;
}

article aside h2 {
	margin-top: 20px;
}

article aside {
	float: right;
	padding: 0 40px;
	background: #F1F3F4;
	margin-left: 40px;
	margin-bottom: 50px;
	border: 1px solid #D5D5D5;
	border-radius: 0 .7em .7em;
}

article aside ul {
	list-style-type: none;
	margin-left: 0;
	padding-left: 0;
}

article aside li {
	float: none;
}
.impressum h2 {
	margin-top: 1em;
	clear: both;
}
.errorpage ul {
	list-style-type: square;
	color: #999;
}
.errorpage ul  span{
	color: #333;
}

@media screen and (max-width: 60em) {
	header.page{
		padding: 7px 3%;
	}
	main {
		padding: 24px 3%;
	}
	footer {
		margin: 0 3%;
	}
}
@media screen and (max-width: 45em) {
	.portal .twocol {
		margin-top: .5em;
	}
	.portal .twocol li {
		float: none;
		width: auto;
		text-align: center;
		padding-bottom: .5em;
		border-bottom: 1px solid #C4D4DA;
		margin-bottom: .5em;
	}
	.portal .twocol li:nth-child(2n) {
		padding-left: 0;
	}
	article aside {
		float: none;
		margin: 0;	
		overflow: hidden;
	}
	article aside li{
		float: left;
	}
	article aside li:last-child::after{
		clear: both;
	}
}
