body
{
	background-color: white;
	color: black;
	font-family: sans-serif;
}

/* top-level headers are centered & have a double underline */
h1
{
	text-align: center;
	border-style: none none double none;
	border-color: black;
	border-width: 3px;
	width: 100%;
}

/* 2nd-level headers are centered & have a solid underline */
h2
{
	text-align: center;
	border-style: none none solid none;
	border-color: black;
	border-width: 1px;
	width: 100%;
}

/* 3rd-level headers are centered & have a dashed underline */
h3
{
	text-align: center;
	border-style: none none solid none;
	border-color: lightgray;
	border-width: 1px;
	width: 100%;
}

/* all other content headers are just centered */
h4, h5, h6
{
	text-align: center;
}

/* the site title */
h1.title
{
	font-size: 2em;
	border-style: none;
	margin: 1em auto 0;
}

.subtitle
{
	text-align: center;
	font-style: italic;
	margin: 0 auto;
}

/* the page header */
header
{
	display: table;
	table-layout: fixed;
	width: 100%;
	margin: 20px 0;
	padding: 0;
}

/* the category links in the page header */
header a
{
	color: black;
	background-color: white;
	text-decoration: none;
	text-align: center;
	padding: 0.5em;
	display: table-cell;
	margin: 0;
	border-style: solid;
	border-color: black;
	border-width: 1px;
}

/* the category link inverts if hovered or if it is the current category */
header a.current, header a:hover
{
	color: white;
	background-color: black;
}

/* this section formats the actual content of pages */
section
{
	width: 60%;
	margin: 20px auto;
}

/* maybe use the margins for some sidebars in the future */

/* large images will resize to fit the body; smaller images will be centered */
img
{
	max-width: 100%;
	margin: 0 auto;
	display: block;
}

.post-preview
{
	float: left;
}

/* for portfolio pages, formatting for screenshots/preview images which can
 * alternate sides of the screen alongside project summaries
 */
img.float-left
{
	max-width: 20%;
	margin: 0.25em;
	float: left;
}
img.float-right
{
	max-width: 20%;
	margin: 0.25em;
	float: right;
}

/* styling for a blockquote */
blockquote
{
	font-style: italic;
	padding: 0 1em;
	margin: 1em 0;
	border-style: none none none solid;
	border-color: #666;
}

/* in-line code references */
code
{
	background-color: #eee;
	border: 1px solid #eee;
	border-radius: 5px;
}

/* code blocks should not wrap; they should horizontally scroll if they are
 * too long. */
.highlight code
{
	display: block;
	overflow: auto;
	padding: 1em;
}

/* syntax highlighting */

.highlight table td
{
	padding: 5px;
}
.highlight table pre
{
	margin: 0;
}
.highlight .cm
{
	color: #999988;
	font-style: italic;
}
.highlight .cp
{
	color: #999999;
	font-weight: bold;
}
.highlight .c1
{
	color: #999988;
	font-style: italic;
}
.highlight .cs
{
	color: #999999;
	font-weight: bold;
	font-style: italic;
}
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf
{
	color: #999988;
	font-style: italic;
}
.highlight .err
{
	color: #a61717;
	background-color: #e3d2d2;
}
.highlight .gd
{
	color: #000000;
	background-color: #ffdddd;
}
.highlight .ge
{
	color: #000000;
	font-style: italic;
}
.highlight .gr
{
	color: #aa0000;
}
.highlight .gh
{
	color: #999999;
}
.highlight .gi
{
	color: #000000;
	background-color: #ddffdd;
}
.highlight .go
{
	color: #888888;
}
.highlight .gp
{
	color: #555555;
}
.highlight .gs
{
	font-weight: bold;
}
.highlight .gu
{
	color: #aaaaaa;
}
.highlight .gt
{
	color: #aa0000;
}
.highlight .kc
{
	color: #000000;
	font-weight: bold;
}
.highlight .kd
{
	color: #000000;
	font-weight: bold;
}
.highlight .kn
{
	color: #000000;
	font-weight: bold;
}
.highlight .kp
{
	color: #000000;
	font-weight: bold;
}
.highlight .kr
{
	color: #000000;
	font-weight: bold;
}
.highlight .kt
{
	color: #445588;
	font-weight: bold;
}
.highlight .k, .highlight .kv
{
	color: #000000;
	font-weight: bold;
}
.highlight .mf
{
	color: #009999;
}
.highlight .mh
{
	color: #009999;
}
.highlight .il
{
	color: #009999;
}
.highlight .mi
{
	color: #009999;
}
.highlight .mo
{
	color: #009999;
}
.highlight .m, .highlight .mb, .highlight .mx
{
	color: #009999;
}
.highlight .sb
{
	color: #d14;
}
.highlight .sc
{
	color: #d14;
}
.highlight .sd
{
	color: #d14;
}
.highlight .s2
{
	color: #d14;
}
.highlight .se
{
	color: #d14;
}
.highlight .sh
{
	color: #d14;
}
.highlight .si
{
	color: #d14;
}
.highlight .sx
{
	color: #d14;
}
.highlight .sr
{
	color: #009926;
}
.highlight .s1
{
	color: #d14;
}
.highlight .ss
{
	color: #990073;
}
.highlight .s, .highlight .sa, .highlight .dl
{
	color: #d14;
}
.highlight .na
{
	color: #008080;
}
.highlight .bp
{
	color: #999999;
}
.highlight .nb
{
	color: #0086B3;
}
.highlight .nc
{
	color: #445588;
	font-weight: bold;
}
.highlight .no
{
	color: #008080;
}
.highlight .nd
{
	color: #3c5d5d;
	font-weight: bold;
}
.highlight .ni
{
	color: #800080;
}
.highlight .ne
{
	color: #990000;
	font-weight: bold;
}
.highlight .nf, .highlight .fm
{
	color: #990000;
	font-weight: bold;
}
.highlight .nl
{
	color: #990000;
	font-weight: bold;
}
.highlight .nn
{
	color: #555555;
}
.highlight .nt
{
	color: #000080;
}
.highlight .vc
{
	color: #008080;
}
.highlight .vg
{
	color: #008080;
}
.highlight .vi
{
	color: #008080;
}
.highlight .nv, .highlight .vm
{
	color: #008080;
}
.highlight .ow
{
	color: #000000;
	font-weight: bold;
}
.highlight .o
{
	color: #000000;
	font-weight: bold;
}
.highlight .w
{
	color: #bbbbbb;
}
