body {
	margin: 0;
	color: #f9f4f0;
	font-family: "Gandhi Sans";
	font-weight: 200;
	font-size: 11pt;
}

body, .ah, #bflist, footer {
	background-color: #1e2229;
}

article {
	border: 1px solid #a4c2f9;
	background-color: #77a5d5;
	color: #310f07;
	position: relative;
	z-index: 10;
	text-shadow: none;
}

a:link {
	color: #cad3f3;
}

a:visited {
	color: #b6c1ff;
}

a:link:hover, a:visited:hover {
	color: #f9f4f0;
}

a:link, a:visited {
	text-decoration: none;
}

p {
	text-indent: 1em;
	line-height: 1.5em;
	margin: 1.3em 0;
	text-align: justify;
}

h1 {
	font-weight: 600;
	margin: 8pt 0;
	text-align: center;
}

h2 {
	text-align: center;
}

h2 a:link, h2 a:visited {
	border: none;
}

article a:link {
	color: #25547d;
	font-weight: bold;
}

article a:visited {
	color: #364f80;
}

h3 {
	border-bottom: 0.5px solid;
	padding: 0.4em 1em;
	margin: 0.1em 0;
}

h4 {
	padding: 0.1em 1.1em;
	margin: 0;
}

header h1 {
	font-family: "BonvenoCF";
	padding-bottom: 0.3em;
	font-weight: normal;
}

header h2::before {
	padding-left: 0.5vw;
	float: left;
	content: "\201C";
}

header h2::after {
	padding-right: 0.5vw;
	float: right;
	content: "\201D";
}

header h2 {
	margin: 0.5em 0 0.2em 0;
}

footer h1 {
	font-size: 150%;
}

.date::before {
	content: "~";
	font-size: 110%;
	margin-right: 0.5em;
}

.date {
	font-style: italic;
	float: right;
	font-size: 90%;
}

.note {
	font-style: italic;
	text-align: center;
	font-size: 90%;
}

#links, #bflist li {
	display: block;
	text-align: center;
	padding: 0;
}

#links > li, #bflist li {
	display: inline;
	list-style: none;
	margin: 0;
}

#links > li:not(:first-child)::before {
	content: "~";
	margin: 5pt;
}

#bflist {
	clear: both;
}

#bflist ul {
	padding: 0;
	text-align: center;
}

#bflist .bfback::before {
	content: "\AB";
	margin: 0 0.5em;
}

#bflist .bfback + .bfforward::before {
	content: "\2022\A0";
	margin: 0 1em;
}

#bflist .bfforward::after {
	content: "\BB";
	margin: 0 0.5em;
}

li:not(.nostyle) {
	list-style-type: none;
	padding-left: 0.8em;
}

:not(.footnotes) > * > li:not(.nostyle)::before {
	content: "\2B29";
	padding-right: 0.4em;
	margin-left: -0.8em;
}

#projects li {
	display: block;
}

#projects li > small {
	display: block;
	margin-bottom: 0.5em;
}

#projects  {
	overflow: auto;
}

.footnotes p {
	margin-bottom: 0;
}

article table {
	margin: auto;
	border-spacing: 0;
	margin-bottom: 10px;
}

article table thead, article table th {
	font-weight: bold;
	background-color: rgba(230, 245, 255, 0.4);
}

article table td, article table th {
	padding: 2px 8px;
}

article table > thead:first-child > tr:first-child > td:first-child {
	border-top-left-radius: 10px;
}

article table > thead:first-child > tr:first-child > td:last-child {
	border-top-right-radius: 10px;
}

article table > tbody:last-child > tr:last-child > td:first-child {
	border-bottom-left-radius: 4px;
}

article table > tbody:last-child > tr:last-child > td:last-child {
	border-bottom-right-radius: 4px;
}

article table > tbody > tr:nth-child(even) {
	background-color: rgba(230, 245, 255, 0.1);
}

img.hero {
	display: block;
	margin: auto;
	max-width: 100%;
}

figure {
	margin: auto;
	text-align: center;
}

.inline-gallery {
	display: block;
	margin: auto;
	max-width: 80%;
	text-align: center;
}

.inline-gallery figure {
	display: inline-block;
}

.inline-gallery figure img {
	max-width: 200px;
	max-height: 200px;
}

.youtube {
	display: block;
	margin: auto;
	max-width: 95%;
}

.article-aside {
	float: right;
	max-width: 250px;
	display: block;
	margin: 0 0 1em 1.5em;
}

.readmore::before {
	padding-right: 0.5em;
	float: left;
	content: "\203A";
}

.readmore {
	display: block;
	font-weight: bolder;
	margin: 2em 1em 1em 1em;
	font-size: 120%;
	border-bottom: 1px solid;
	clear: right;
}
