/* Quirk for mobile browsers. */
html * {
	max-height: 999999em;
}
body {
	color: black;
	margin: 0;
	padding: 0;
	background: #e8e8e8;
	font-family: "Charter","Bitstream Charter","Cambria","Georgia",serif;
	font-size: 18pt;
}
h3, h4, h5, .blogtopmenu, p.blogpostmeta, .blogpostcomments, #disqus_thread, .blogfooter {
	font-family: "Fira Sans","Source Sans Pro","Calibri",sans-serif;
}
h1, h2, ul { margin: 0; padding: 0; }
h1, h2 { display: inline; }
h1 { font-size: 180%; margin-right: 1ex; }
h2 { font-size: 140%; font-weight: normal; }
h3 {
	margin: 0;
	margin-bottom: 0.5ex;
	font-weight: bold;
	font-size: 130%;
}
h4, h5 {
	margin-top: 1.5em;
	margin-bottom: 0.5em;
	margin-left: 30pt;
	margin-right: 30pt;
	font-weight: bold;
}
h4 {
	font-size: 115%;
}
h5 {
	font-size: 105%;
}
.blogtitles {
	margin: 0;
	padding: 1ex;
	text-align: center;
	color: #303030;
	text-shadow: 0 1px 0 white;
}
.blogtopmenu {
	margin: 0;
	padding-top: 1ex;
	padding-bottom: 1ex;
	text-align: center;
	font-size: 90%;
	text-transform: uppercase;
	letter-spacing: 0.125ex;
}
.blogtopmenu li {
	display: inline;
	margin-left: 2ex;
	margin-right: 2ex;
	list-style-type: none;
}
.blogtopmenu a {
	color: #303030;
	text-decoration: none;
	border: none;
}
.blogtopmenu a:hover {
	border-bottom: 1px solid #900;
	color: #900;
}
.blogpost, .blogarchive {
	background: white;
	width: 85%;
	max-width: 85ex;
	padding: 4ex;
	margin: 1ex auto;
	line-height: 140%;
	border: 1px solid #d0d0d0;
}
p {
	padding: 0;
	margin: 0;
}
.paragraph, .blogarchive ul {
	margin: 1em 30pt;
}
.twitter-tweet {
	border: 1px solid #8ad;
	border-radius: 0.5ex;
	padding: 1ex;
	border-left: 0.5ex solid #8cf;
	margin: 0 auto;
}
.tableblock {
	margin: 2ex 30pt;
}
.tableblock table {
	background: #d0d0d0;
	margin: 0 auto;
}
.table {
	margin: 0.25ex;
}
.ulist, .olist {
	margin-left: 50pt;
	margin-right: 30pt;
}
h3 a, .blogpostcomments a {
	font-weight: bold;
	text-decoration: none;
	border-bottom: none;
}
h3 a, .blogpostcomments a {
	text-decoration: none;
}
a {
	color: black;
	text-decoration: none;
	font-weight: normal;
	border-bottom: 1px dotted;
	transition: all 400ms;
}
a:hover {
	color: #900;
	text-decoration: none;
	border-bottom: 1px solid #900;
}
.quoteblock {
	margin: 1em 30pt;
	background: #e8e8e8;
	font-style: italic;
	padding: 1em;
}
.quoteblock .paragraph {
	margin: 0;
	margin-bottom: 0.5ex;
}
.listingblock {
	margin: 1em 30pt;
	padding: 0.5em;
	color: #e8e8e8;
	background: #303030;
}
.listingblock pre {
	font-size: 75%;
	line-height: 140%;
	margin: 0;
	overflow-x: auto;
}
code {
	background: #e0e0e0;
}
.quoteblock .attribution {
	text-align: right;
}
p.blogpostmeta {
	margin: 0;
	padding: 0;
	font-size: 75%;
	line-height: 120%;
}
.blogpostcomments, #disqus_thread {
	margin: 0;
	padding: 5px;
}
.blogpostcomments {
	margin-top: 2em;
}
.imageblock, .videoblock {
	margin: 2em auto;
	text-align: center;
	font-size: small;
}
span.image {
	display: block;
	text-align: center;
}
a.image {
	border: none;
}
a.image img {
	cursor: zoom-in;
	padding: 1ex;
	border: 1px dotted black;
}
.blogpost li {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}
.blogarchive ul {
	font-size: 80%;
	line-height: 150%;
	list-style: square;
}
pre, code, .blogarchivedate {
	font-family: "Fira Mono","Source Code Pro",monospace;
}
.blogfooter {
	text-align: center;
	font-size: 70%;
	margin: 30pt;
}
#load_comments_button {
	text-align: center;
	font-weight: normal;
	width: 16ex;
	background-color: #e8e8e8;
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, .75), rgba(0, 0, 0, 0.0));
	border-radius: 1ex;
	border: 1px solid #d0d0d0;
	margin: 1ex auto;
	padding: 1ex;
	display: block;
}
#load_comments_button:hover {
	color: #900;
	border-color: #955;
	box-shadow: 0 0 1ex .15ex rgba(144, 0, 0, .5);
	cursor: pointer;
}
#button_container {
	text-align: center;
	font-size: x-large;
	margin-top: 0.5ex;
	margin-bottom: 3ex;
	width: 100%;
	height: 6ex;
	line-height: 6ex; /* Needed for vertical-align: middle; to work. */
}
#button_parent {
	display: inline-block;
	vertical-align: middle;
}
#button_parent a {
	font-size: x-large;
	padding: 1ex 3ex;
	color: black;
	border-radius: 2em;
	cursor: pointer;
	border: 2px solid #000;
}
#button_parent a:hover {
	border: 2px solid #900;
	color: #900;
	transition: all 400ms;
}
#email_button {
	font-size: x-large;
	padding: 1ex 3ex;
	color: white;
	border-radius: 2em;
	cursor: pointer;
	border: 2px solid #444;
	background-color: black;
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, .75), rgba(0, 0, 0, 0.0));
	transition: all 400ms;
}
#email_button:hover {
	border: 2px solid #800;
	background-color: #900;
}
#socialmediadiv {
	display: flex;
	flex-direction: row;
	justify-content: center;
	font-family: sans-serif;
	font-size: small;
}
#socialmediadiv a {
	border: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 4ex;
}
.socialmediaicon {
	width: 12ex;
	height: 12ex;
	margin: 1ex;
}
