/* Font-Zeug */


@font-face {
    font-family: 'Utopia';
    src: url('fonts/utopia-regular-webfont.eot');
    src: url('fonts/utopia-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/utopia-regular-webfont.woff2') format('woff2'),
         url('fonts/utopia-regular-webfont.woff') format('woff'),
         url('fonts/utopia-regular-webfont.ttf') format('truetype'),
         url('fonts/utopia-regular-webfont.svg#utopiaregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Utopia';
    src: url('fonts/utopia-italic-webfont.eot');
    src: url('fonts/utopia-italic-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/utopia-italic-webfont.woff2') format('woff2'),
         url('fonts/utopia-italic-webfont.woff') format('woff'),
         url('fonts/utopia-italic-webfont.ttf') format('truetype'),
         url('fonts/utopia-italic-webfont.svg#utopiaitalic') format('svg');
    font-weight: normal;
    font-style: italic;
}


@font-face {
    font-family: 'Latin Modern Sans';
    src: url('fonts/lmsans10-regular-webfont.eot');
    src: url('fonts/lmsans10-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/lmsans10-regular-webfont.woff') format('woff'),
         url('fonts/lmsans10-regular-webfont.ttf') format('truetype'),
         url('fonts/lmsans10-regular-webfont.svg#latin_modern_sans10_regular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Latin Modern Sans';
    src: url('fonts/lmsans10-bold-webfont.eot');
    src: url('fonts/lmsans10-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/lmsans10-bold-webfont.woff') format('woff'),
         url('fonts/lmsans10-bold-webfont.ttf') format('truetype'),
         url('fonts/lmsans10-bold-webfont.svg#latin_modern_sans10_bold') format('svg');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Latin Modern Mono';
    src: url('fonts/lmmono10-regular-webfont.eot');
    src: url('fonts/lmmono10-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/lmmono10-regular-webfont.woff') format('woff'),
         url('fonts/lmmono10-regular-webfont.ttf') format('truetype'),
         url('fonts/lmmono10-regular-webfont.svg#latin_modern_mono10_regular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Latin Modern Mono';
    src: url('fonts/lmmono10-italics-webfont.eot');
    src: url('fonts/lmmono10-italics-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/lmmono10-italics-webfont.woff') format('woff'),
         url('fonts/lmmono10-italics-webfont.ttf') format('truetype'),
         url('fonts/lmmono10-italics-webfont.svg#latin_modern_mono10_regular') format('svg');
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: 'Latin Modern Mono';
    src: url('fonts/lmmonolt10-bold-webfont.eot');
    src: url('fonts/lmmonolt10-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/lmmonolt10-bold-webfont.woff') format('woff'),
         url('fonts/lmmonolt10-bold-webfont.ttf') format('truetype'),
         url('fonts/lmmonolt10-bold-webfont.svg#latin_modern_mono10_regular') format('svg');
    font-weight: bold;
    font-style: normal;
}


a {
	color: green
}

h1 {
	font-family: "Latin Modern Sans";
	font-variant: small-caps;
	font-size: small;
	font-weight: normal;
}

h2, h3, h4, strong {
	font-family: "Latin Modern Sans";
	font-weight:bold;
}

h2 {
	font-size:xx-large;
}
h3 {
	font-size:x-large;
}
h4 {
	font-size:medium;
}
.blogentry h2 {
	font-size:x-large;
}
.blogentry h3 {
	font-size:medium;
}


pre {
	overflow: auto;
}
pre, code {
	font-family: "Latin Modern Mono"
}

p {
	text-align: justify;
	hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
}

a {
	text-decoration: none;
}

/* Positionszeug */

html {
	padding:0px;
	margin:0px;
	background:lightgrey;
	box-sizing: border-box;

	font-family: Utopia, serif;

	/* background-image: url('substrate.jpg');
	background-size: cover;
	background-repeat: repeat;
	*/
        background-attachment: fixed;
}
html.random-background-1 {
	background-image: url('substrate-tile1.jpg');
}
html.random-background-2 {
	background-image: url('substrate-tile2.jpg');
}
html.random-background-3 {
	background-image: url('substrate-tile3.jpg');
}
html.random-background-4 {
	background-image: url('substrate-tile4.jpg');
}
html.random-background-5 {
	background-image: url('substrate-tile5.jpg');
}
html.random-background-6 {
	background-image: url('substrate-tile6.jpg');
}

*, *:before, *:after {
	box-sizing: inherit;
}

ul {
	margin: 0px;
	padding: 0px 0px 0px 20px;
}

body {
	margin: 0em auto;
	padding: 0px;
	line-height: 1.4;
}

.main {
	margin:2em auto;
	width: 50em;

	padding:1.5em 50px;
	background:white;
	border:1px solid grey;
        box-shadow: 5px 5px 2px #888888;
	color: black;
}

#toppage {
	width: 50em;
	margin:1em auto 2em auto;
	padding:.5em 50px .5em 50px;
	background:white;
	border:1px solid grey;
        box-shadow: 5px 5px 2px #888888;
}

#toppage #toptitle {
	display: inline-block;
	width:25%;
	font-family: "Latin Modern Sans";
	font-variant: small-caps;
}
#toppage #toptitle a {
	padding:.5em 0px .5em 0px;
	text-decoration: none;
	color: black;
}
#toppage #navi2 {
	display: inline-block;
	font-family: "Latin Modern Sans";
	text-align: right;
	width:75%;
}

#navi2 a {
	padding:.5em 0px .5em 0px;
	margin: 0px .5em 0px .5em;
	display: inline-block;
	white-space: nowrap;
}
#navi2 a.current {
	text-decoration: underline; 
}


.navibox {
	width: 200px;
	float:right;
	margin:0 0em 3em 3em;
	overflow:hidden;
	white-space: nowrap;
	text-overflow: ellipsis; /* Tut nicht */

	position:relative;
	z-index: 100;
	box-shadow: 0px 0px 10px 10px white;
	background:white;
}
.navibox .frame {
	margin-top: 0px;
	padding: 1em;
	border: 1px solid silver;
}
.navibox .tree {
	line-height: 1.2;
}
.navibox .tree ul {
	display:block;
	margin: .2em 0 0 15px;
	padding: 0px 0px 0px 0px;
	border-left: 1px solid grey;
}
.navibox .tree ul li{
	display:block;
	padding-left: 0px;
}
.navibox .tree ul li:before {
	/* content: '├─ '; */
	/* content: '── '; */
	display: inline-block;
	content: ' ';
	height:.3em;
	width:10px;
	border-top: 1px solid grey;
	color:grey;

}
.navibox .tree ul li:last-child:before {
	/* content: '└─ '; */
}
.navibox .title {
	padding:.2em;
}
/*
.navibox .title:before {
	content: 'Figure 1: ';
	font-weight:bold
}
*/

.facts td {
	padding-bottom: 1em;
	vertical-align: top;
}
.facts th {
	vertical-align: top;
	text-align: right;
	padding-right: 1em;
}




h1 {
	text-align: center;
}
h1:before, h1:after{
	content: ' – ';
}

h2 {
	text-align: center
}

.blogentry h2, h3, h4 {
	text-align: left;
	margin-top: 1.5em;
	margin-bottom: 1em;
}

.blogentry h2 a {
	color: black
}
/*
 * Not really needed
 *
.blogentry h2 a:after {
	content:' ¶';
	color: green;
	font-size:medium;
	visibility: hidden;
	display: inline-block;
	overflow: visible;
	width: 0px;
}
.blogentry h2 a:hover:after {
	visibility: visible;
}
*/

.blogentry .blogintro {
	color: grey;
	font-style: italic;
}
.blogentry .blogfooter {
	color: grey;
	font-style: italic;
}

.blogentry .comment {
	margin-top: 1em;
	margin-bottom: 1em;
}
.blogentry .comment .commentsource:before {
	content: '–– '
}
.blogentry .comment .commentsource {
	color: grey;
}
.blogentry .comment .commentsource a.commentnum {
	color: grey;
}
.blogentry .comment .commentsource .author {
	color: black;
}

.commentinfo {
	font-style: italic;
}

.sidebox {
	display:none
}

#footer {
	clear: both;
	padding-top: 1em;
	border-top: 1px solid silver;
	margin-top: 1em;
	font-size: small;
	text-align: center;
	font-family: "Latin Modern Sans";
}
#footer a {
	color:grey;
}

.uplink {
	font-size: small;
	text-align: center;
	font-family: "Latin Modern Sans";
	/*
	margin: 1em auto 0em auto;
	width: 80%;
	padding-bottom: .2em;
	border-bottom: 1px solid silver;
	*/
}
.uplink a {
	color:grey;
}

pre  {
	background: white;
	border: 1px solid grey;
	padding: 1em;
	margin: 0px 3em;
}

blockquote {
	padding: 0px 1em;
	margin: .0em .5em;
	font-style: italic;
	background-image: url(/styles/quote.gif);
	background-repeat: no-repeat;
	background-position: 0.0em 0.0em;
	min-height: 42px;
}


.project-image {
	margin: 0;
	margin-right: 50%;

}

.project-image img {
	display: block;
	width: 200%;
	padding: .5em;
	margin: 0 auto;
	border: 1px solid silver;
}

.figure {
	margin: 0px 3em;
}
.figure img {
	display: block; /* so that it disappears behind the navi */
	width: 100%;
	padding: .5em;
	margin: 0;
	border: 1px solid silver;
}
.figure p.caption {
	padding: 0 .2em;
	margin-top: 0;
}
/*
.figure p.caption:before {
	content: 'Figure: ';
	font-weight:bold
}
*/

.bilderalbum_group {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.bilderalbum_group .flexbox-fix {
	height: 0;
	width: 200px;
	border: none;
}
.bilderalbum_box {
	margin: .5em 0px;
}
.bilderalbum_box a {
	display:block;
}
.bilderalbum_box img{
	padding: .5em;
	margin: 0;
	border: 1px solid silver;
}
a.bilderalbum_title {
	display:block;
	max-width: 180px;
	padding: 0 .2em;
	margin-top: 0;
}
@media (max-width: 52em) {
	.bilderalbum_group {
		justify-content: center;
	}
	.bilderalbum_box {
		margin: 0px 3px;
	}
	.bilderalbum_box img{
		padding: 0;
		margin: 0;
		border: 0px;
	}
}

ul.linklist {
	-webkit-column-count: 2;
	   -moz-column-count: 2;
		column-count: 2;
	-webkit-column-gap: 30px;
	   -moz-column-gap: 30px;
		column-gap: 30px;

}

ul.bibliography {
	margin: 0px 0px 1em 0px;
	padding: 0px 0px 0px 0px;
}

.bibliography li {
	display: block;
	margin: 0px 0px 1em 0px;
}

.bibliography li span.type {
	display: block;
	color: gray;
	font-family: "Latin Modern Sans";
}
.bibliography li strong {
	display: block;
}
.bibliography li em {
	display: block;
}

.bibliography li span.coauthors {
	display: block;
}

table {
	margin-left: auto;
	margin-right: auto;
	border-collapse:collapse;
	overflow: auto;
	max-width: 100%;
	/* display: block; this would un-break max-width, but breaks centering */
}
table thead th {
	border-bottom: 1px solid #C0C0C0;
}
table td, table th {
	padding-left: 1ex;
	padding-right: 1ex;
}




/* ☠ MS ☠ (http://getbootstrap.com/getting-started/#support) */
@-ms-viewport       { width: device-width; }

@media (max-width: 52em) {
	.main, #toppage {
		width:95.2%
	}
	.main {
		padding:2em 1em;
	}
	.navibox {
		display: none;
	}
	pre  {
		margin: 0px;
	}

	#toppage #toptitle {
		display: none;
		width:100%;
	}
	#toppage #navi2 {
		width:100%;
		display: block;
		text-align:justify; /* TODO: Justify last line as well */
	}
}


@media print {
	#toppage {
		display: none;
	}
	.main {
		border: 0px;
		width: 100%;
		margin: 0px;
		padding-top: 0px;
		padding-bottom: 0px;
        	box-shadow: none;
	}
	h1, .uplink, .blogfooter, .navibox, .commentinfo {
		display: none;
	}

}
