/* styles.css - 2022-05-07 by jo */
html, div, form, pre, span, tr, th, td, img {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}


body {
	background:#f0f0e0;
	color:#202020;
	margin:0;
	padding:0;
}


#wrapper {
	min-width:20em;
	max-width:46em;
	margin:2% auto 5% auto;
	border-left:1px solid #c0c0c0;
	box-shadow:#808080 10px 10px 20px;
}


header .bar {
	color:#a0a0a0;
	background:#606060;
	background:linear-gradient(to bottom, #909090 0%, #606060 15%, #606060 85%, #404040 100%);
	text-align:center;
	padding-top:1em;
	padding-bottom:1em;
}
header .bar h1 {
	font:normal 180%/100% serif;
	letter-spacing:.35em;
	text-shadow:0 -1px 1px #303030, 0 1px 1px #FFFFFF;
}
header .bar h1 a,
header .bar h1 a:hover {
	text-decoration:none;
	color:#a0a0a0;
	background:transparent;
}
header .bar p {
	font:normal 100%/100% sans-serif;
	letter-spacing:.05em;}

/* ----- div ----- */
.inv, hr{display:none;}
.topspace{padding-top:2em;}

nav {
	color:#606060;
	background:#ffffff;
	margin:0;
	padding:.5em 1em .5em 3em;
	font:normal 100%/100% sans-serif;
	text-decoration:none;
	text-align:center;
}
nav a, a:visited {
	color:#0030a0;
	background:transparent;
	padding:.2em .3em .2em 0;
	text-decoration:none;
}
nav a:hover {text-decoration:none;}
nav a:active {
	background:#0030a0;
	color:#ffffff;
}
nav a.self {
	font-weight:bold; 
	color:grey;
}


main {
	color:#202020;
	background:#ffffff;
	font:normal 120%/130% serif;
	min-height:25em;
	padding:.5em 2.5em 3em 2.5em;
	overflow:hidden; /* ! */
	clear:both;
}
main .sub_menu {
	font:normal 80%/100% sans-serif;
	text-align:center;
	margin:0;
	padding-top:0;
}
main p {

	hyphens:auto;
	margin-top:.5em;
	margin-bottom:0;
}
main a,
main a:visited {
	color:#0030a0;
	background:transparent;
	text-decoration:none;
}
main a:hover {text-decoration:underline;}

/* ----- headlines ----- */
main h1,
main h2,
main h3 {
	color:#B22222;
	background:transparent;
	text-align:left;
	clear:both;
}
main h1 {
	font:normal 160%/160% sans-serif;
	letter-spacing:.1em;
	margin-top:1.5em;
	margin-bottom:1em;
}
main h2 {
	font:normal 140%/140% sans-serif;
	letter-spacing:.1em;
	margin-top:2em;
	margin-bottom:.1em;
}
main h3 {
	font:italic 110%/110% sans-serif;
	margin-top:1.5em;
	margin-bottom:.1em;
}
/* ----- tables ----- */
main table {
	margin-top:1em;
	margin-bottom:1em;
	color:#101010;
	background:#f5efd5;
	border:none;
	border-spacing:0;
}
main table th {
	font-size:110%;
	font-family:sans-serif;
	font-weight:normal;
	letter-spacing:.1em;
	color:#B22222;
	background:#e1dbc1;
	padding:.5em .4em;
	border-bottom:solid .2em #ffffff;
}
main table td {
	font-size:90%;
	line-height:120%;
	padding:.3em .5em .3em .5em;
	border-bottom:solid .2em #ffffff;
	hyphens: auto;
}
main sup {
	font-size:60%;
	font-family:sans-serif;
	font-style:normal;
}

/* ----- ordered/unordered/description lists ----- */
main ul {
	margin-top:1em;
	margin-bottom:1em;
	clear:both;
}

main li {
	line-height:120%;
	margin-top:.5em;
	hyphens:auto
}

main ol {
	margin-top:1em;
	margin-bottom:1em;
	list-style-type:decimal;
	margin-left:1em; /* due to 5 digit list elements */
	clear:both;
}

main dl {
	margin-top:1em;
	margin-bottom:2em;
	clear:both;
}

main dt {
	margin-top:1em;
	font:normal 120% sans-serif;
	color:#B22222;
	background:transparent;
}

main dd { line-height:120%; }

main .mono {
	color:#202020;
	background:#f5efd5;
	padding:.2em .5em .2em .5em;
	margin:.5em 0 .5em 0;
	border:1px dotted #d0d0d0;
	font-family:monospace;
	font-size:90%;
}

/*----- floating elements, e.g. img -----*/
main .lfloat {
	float:left;
	margin:.5em 1em .5em 0;
}
main .rfloat {
	float:right;
	margin:.5em 0 .5em 1em;
}

/* ----- frame around elements, e.g. img ----- */
main .frame {
	color:#808080;
	background:#f0f0f0;
	font:normal 90%/100% sans-serif;
	border:1px solid #c0c0c0;
}

/* ----- figure w/ caption, full width -----*/
main figure {
	margin:1.5em 0 1.5em 0;
	padding:0;
	clear:both;
}
main figure img {
	max-width:100%;
	height:auto;
	color:#808080;
	background:#f0f0f0;
	font:normal 90%/100% sans-serif;
	border:1px solid #c0c0c0;}
main figcaption {
	margin-top:.1em;
	font:italic normal 80%/115% sans-serif;
	color:#404040;
	background:transparent;
}

main .redbox {
	padding:1em;
	margin-top:1.5em;
	margin-bottom:1.5em;
	color:#404040;
	background:#f8f8e4;
	border:1px solid red;
	border-radius:5px;
}
main .redbox h2 {
	color:red;
	background:transparent;
	font:bold 100%/110% sans-serif;
	padding:0;
	margin:0;
}
main .redbox p {
	color:#404040;
	background:transparent;
	font:normal 80%/120% sans-serif;
	text-align:left;
	padding:0;
	margin-top:1em;
}


footer {
	color:#606060;
	background:#ffffff;
	font:normal 100%/100% sans-serif;
	text-align:center;
}
footer address {
	font:italic 90%/100% sans-serif;
	padding-top:1em;
	padding-bottom:3em;
}

/*********************************/
/********** breakpoints **********/
/*********************************/
@media screen and (max-width:42em) {
		#wrapper {font-size:90%; margin-top:0;}
		main {width:auto; margin:0; padding:.5em; min-height:10em;}
		.hor_menu, #footer{margin:0; padding:.5em;}
}
