html {
	box-sizing: border-box;
	font-family: 'profitlich-sans-serif', sans-serif;
	font-size: 18px;
	margin: 0;
	padding: 50px 10px 50px 10px;
}

*, *:before, *:after {
	box-sizing: border-box;
}
body {
	margin: 0;
	padding: 50px 0 0 0;
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

a {
	color: rgb(0, 0, 0);
}
a:hover {
	font-weight: 700;
}

p {
	margin: 0;
	padding: 0 0 1em 0;
}


pre {
	clear: both;
	margin: 0;
	padding: 0 0 1em 0;
	white-space: pre-wrap;
	tab-size: 3;
	-moz-tab-size: 3;	
}
header {
	background: rgb(0, 0, 0);
	display: flex;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
}
#webseitentitel {
	color: rgb(255, 255, 255);
	display: block;
	font-family: 'profitlich-sans-serif', sans-serif;
	font-size: 0.75em;
	font-weight: 900;
	letter-spacing: 0.03em;
	line-height: 1.33em;
	margin: 0;
	order: 2;
	padding: 10px;
	text-transform: uppercase;
	width: auto;
}
#menue {
	border-right: 1px solid rgb(255, 255, 255);
	font-family: 'profitlich-sans-serif', sans-serif;
	order: 1;
	position: relative;
}
nav {
	position: absolute;
	width: 100vw;
}
#menue-knopf {
	color: rgb(255, 255, 255);
	cursor: pointer;
	display: inline-block;
	font-weight: 900;
	height: 100%;
	letter-spacing: 0.03em;
	padding: 7.5px;
	text-transform: uppercase;
	width: 75px;
}
body.menue-aktiv nav div {
	display: inherit;
}
#menue:hover > #menue-knopf,
body.menue-aktiv #menue-knopf {
	background: rgb(255, 130, 0);
}
nav div {
	display: none;
	position: relative;
	border-bottom: 1px solid rgb(0, 0, 0);
}
nav div::after {
	content: "";
	display: table;
	clear: both;
}
nav div a {
	background: rgb(255, 255, 255);
	color: rgb(50, 50, 50);
	display: block;
	font-weight: 300;
	padding: 10px 10px 10px 86px;
	text-decoration: none;
}
nav div a span {
	display: none;
	font-weight: 900;
	margin-left: -150px;
	padding-right: 1em;
	position: absolute;
	text-align: right;
}
nav div a:hover,
nav div.aktiv a {
	border-left: 5px solid rgb(255, 130, 0);
	padding-left: 80px;
}
nav div.abschnitt a {
	border-top: 1px solid rgb(0, 0, 0);
}

@media all and (min-width: 600px) {
	#webseitentitel {
		padding-left: 199px;
	}
	nav div a {
		padding-left: 274px;
	}
	nav div a:hover,
	nav div.aktiv a {
		padding-left: 269px;
	}
	nav div a span {
		display: inherit;
	}	
}

article {
	max-width: 1000px;
}

h1 {
	font-family: 'profitlich-serif', serif;
	font-size: 2.8rem;
	line-height: 3.4rem;
	margin: 0;
	padding: 0 0 1rem 0;
}

h2 {
	font-family: 'profitlich-serif', serif;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0;
	padding: 2rem 0 0 0;
}
h2:first-child {
	padding: 0;
}

.marginalie {
	clear: both;
	float: left;
	font-family: 'profitlich-sans-serif', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	margin-top: 5px;
}
.anreisser {
	font-family: 'profitlich-serif', serif;
	font-size: 1.4rem;
	margin-top: 0;
}



ul.liste {
	margin: 0;
	padding: 0;
}
ul.liste > li {
	clear: both;
	list-style: none;
	margin: 0;
	padding: 0 0 1em 0;
}
ul.liste > li pre {
	padding: 1em 0 0 0;
}
ul.liste > li > ul {
	float: left;
	margin: 0;
	padding: 0;
	/* width: calc(100% - 200px); */
}	
ul.liste > li > ul li {
	font-weight: 400;
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.liste h3 {
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
	padding: 0;
}

#toc ol {
	margin: 0;
	padding: 0;
}
#toc li {
	list-style: none;
}
#toc a {
	text-decoration: none;
}

a {
	color: black;
}

code {
	background: rgb(240, 240, 240);
	font-family: 'profitlich-serif', serif;
	font-size: 16.5px;
	padding: 0 0.25em;
}
.pre--highlighted {
	background: rgb(250, 250, 230);
	display: block;
}
.pre--highlighted--line {
	background: rgb(250, 250, 230);
}

h4 {
	font-size: 1rem;
	font-weight: 200;
	margin: 0;
	padding: 0;
}



@media all and (min-width: 600px) {
	body {
		padding: 50px 10px 50px 0;
	}
	.marginalie {
		margin-left: -200px;
		padding-right: 30px;
		width: 200px;
	}
	article {
		max-width: 1000px;
		padding-left: 265px;
	}
	#toc {
		left: 75px;
		position: absolute;
	}
	#toc a:hover {
		background: black;
		color: white;
	}
	h3, h4 {
		font-size: 1rem;
		left: 75px;
		line-height: 0.8rem;
		margin: 0;
		padding: 0 0.5em 0 0;
		position: absolute;
		width: 200px;
        transform: translateY(4px);
	}
	h4 {
		text-align: right;
	}
}

table {
	padding-bottom: 1rem;
}
th {
	text-align: left;
}
td, th {
	padding: 2px 10px 0 0;
	vertical-align: top;
	border-bottom: 1px dotted black;
}

img {
	display: block;
	line-height: 0;
}

q {
	quotes: '«' '»'
}