body {
	font-family: sans-serif ;
	background: #111 ;
	color: beige ;
}

main {
	max-width: 800px ;
	margin: auto ;
}

img {
	max-width: 100% ;
}

footer {
	text-align: center ;
	clear: both ;
}

h1, h2, h3, h4, h5 {
	text-align: center ;
}

h1 {
	color: chocolate ;
}

h2 {
	color: goldenrod ;
}

h3 {
	color: chocolate ;
}

h4 {
	color: wheat ;
}

a {
	color: cadetblue ;
	text-decoration: none ;
}

a:visited {
	color: palevioletred ;
}

a:hover {
	color: goldenrod ;
}

a:active {
	color: chocolate ;
}

p img, li img, h2 img {
	max-height: 1em ;
	max-width: 1em ;
}

pre {
	background: #111222 ;
	border: 2px solid darkred ;
	border-radius: 5px ;
	padding: 1em ;
	white-space: pre-wrap;
	overflow-wrap: break-word ;
	max-width: 600px ;
	margin: auto ;
}

code:not(pre code), kbd {
	background: #222 ;
	border-radius: 5px ;
	padding: 1px 2px ;
	min-width: 1em ;
}

.author {
	display: block ;
	font-size: 1.25em ;
	margin-top: 0.83em;
	margin-bottom: 0.83em;
	font-weight: bold ;
	text-align: center ;
}

.comment {
	color: grey ;
	font-size: .9em ;
	padding: .25em ;
}

.center {
	text-align: center ;
}

.red {
	color: red ;
}

.imgfig {
	text-align: center ;
}

.normal img, .welcome img {
	max-height: 400px ;
}

.gallery {
	display: grid ;
	grid-template-columns: 1fr ;
	gap: 16px ;
}

.gallery:has(> :nth-child(2)) {
	grid-template-columns: repeat(2, minmax(0, 1fr)) ;
}

.gallery:has(> :nth-child(3)) {
	grid-template-columns: repeat(3, minmax(0, 1fr)) ;
}

.gallery img {
	max-height: 200px ;
	object-fit: cover ;
}

figcaption {
	text-align: center ;
	display: block ;
	font-style: italic ;
}

hr {
	border: 1px solid #222 ;
}

table {
	margin: auto ;
}

td, th {
	padding: .25em ;
	border-collapse: collapse ;
}

thead {
	display: none ;
}

thead:has(th:not(:empty)) {
	display: table-header-group ;
}

.maintab table {
	border: 2px solid darkred ;
}

.maintab td, .maintab th {
	padding: .5em ;
	border: 1px solid grey ;
}

#references {
	border-top: 1px solid #222 ;
	padding-top: .80em ;
}

#TableOfContents, #tagcloud {
	margin: auto ;
	display: table ;
}

#TableOfContents ul, #TableOfContents ol, #tagcloud ul {
	padding-left: 0 ;
	margin-top: 0 ;
}

#TableOfContents ul ul, #TableOfContents ol ol {
	padding-left: 2.5em ;
}

#TableOfContents li li {
	font-size: smaller ;
}

.TableOfContents summary {
	font-weight: bold ;
	text-align: center ;
}

.footnotes hr {
	display: none ;
}

.taglist {
	text-align: center ;
	clear: both ;
}

#prevart {
	float: left ;
	text-align: left ;
}

#nextart {
	float: right ;
	text-align: right ;
}

#nextart, #prevart {
	max-width: 33% ;
}
