::-moz-selection {
	background: #6699cc;
	color: #fff;
}

::selection {
	background: #6699cc;
	color: #fff;
}

* {
	box-sizing: border-box;
}

html, body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	font-size: 1rem;
	background: #fff;
	color: #a0a0a0;
	overflow-x: hidden;
	
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

body, header ul {
	margin: 0;
	padding: 0;
}

a, a:focus, a:active, a:hover {
	text-decoration: none;
	outline: 0 none;
	border: 0 none;
	color: #666;
}

a:hover {
	color: #6699cc;
}

h1, h2, h3, h4, h5, h6, strong {
	color: #333;
}

p {
	line-height: 200%;
}

.btn-primary {
	color: #fff;
	background-color: #6699cc;
	padding: 8px 16px;
	padding: .5rem 1rem ;
	border-radius: 8px;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
	color: #fff;
	opacity: .75;
}

header {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
}

header ul {
	padding: 32px;
	padding: 2rem;
	display: table;
	background: #fff;
	background-color: #fff;
}

header ul li {
	list-style-type: none;
	display: table-cell;
	vertical-align: middle;
	width: 50vw;
}

header ul li:last-of-type {
	text-align: right;
}

header nav ul li img#logo {
	max-width: 15vw;
	width: 100%;
}

header nav ul li img#logo:hover {
	opacity: .75;
}

header.cloned.fixed, header.cloned.hidden {
	position: fixed;
	top: 0;
	z-index: 5000;
	-webkit-transition: all ease-in-out .3s;
	transition: all ease-in-out .3s;
}

header.cloned.hidden {
	top: -100%;
}

#content-wrapper {
	padding: 32px;
	padding: 2rem;
	position: relative;
	min-width: 100vw;
	width: 100%;
	min-height: 100vh;
	height: 100%;
	text-align: center;
}

#impressum #content-wrapper {
	text-align: left;
}

.content-wrapper:after, .clearfix {
    content: "";
    display: block;
    clear: both;
    float: none;
}

#content-wrapper img#logo {
	max-width: 25vw;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	padding: 16px;
	padding: 1rem;
}

@media (max-width:768px) {
	
	html, body {
		font-size: 14px;
		font-size: .875rem;
	}
	
	header nav ul li img#logo {
		max-width: 35vw;
	}
	
	#content-wrapper img#logo {
		max-width: 50vw;
	}
}