/* body and links {{{ */
html { /* for Mozilla and application/xhtml+xml */
	background-color: #fff3f3;
	color: #333;
}

body {
	font-family: Georgia, serif;
	background-color: #fff3f3;
	color: #333;

	margin: 0;
	padding: 0;
}

a:link, a:visited, a:hover, a:active {
	background: transparent;
	text-decoration: underline;
}

a:link {
	color: #037;
}

a:visited {
	color: #551a8b;
}

a:active,a:hover {
	color: #900;
	text-decoration: none;
} /* }}} */
/* headings {{{ */
h1 {
	font-weight: normal;
	text-align: center;
	font-size: 200%;
	letter-spacing: 0.2em;
	text-decoration: none;
	margin-top: 0;
	margin-bottom: 1em;
	margin-left: 20%;
	margin-right: 20%;

	border: 1px solid #080;
	border-top: none;
}

h1 a {
	position: relative;
	top: 0.4em;
	border: 1px solid #080;
	padding: 0.1em;
}

h1 a:link, h1 a:visited {
	background-color: #fff;
	color: rgb(49,49,99);
	text-decoration: none;
}

h1 a:active, h1 a:hover {
	background-color: #eee;
	color: rgb(49,49,99);
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	color: rgb(49,49,99);
	background-color: transparent;
}

h2, h3, h4, h5, h6 {
	letter-spacing: .1em;
	/* replaced with seperator */
	/* border-bottom: 1px solid #080; */
	font-weight: normal;

	margin-top: 0.5em;
	margin-bottom: 0.4em;
	margin-left: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0.1em;
	padding-right: 0.1em;

	background-image: url(/images/heading_underline);
	background-repeat: no-repeat;
	background-position: left bottom;
}

h2 {
	font-size: 150%;
}

h3 {
	font-size: 130%;
}

h4 {
	font-size: 115%;
}

h5, h6 {
	font-size: 95%;
}

#Header .tagline {
	text-align: center;
	font-size: 80%;
} /* }}} */
/* section {{{ */
#Content .section h2, #Content .section h3, #Content .section h4, #Content .section h5, #Content .section h6 {
	margin-left: -3%;
}

#Content .section {
	margin-left: 3%;
	margin-bottom: 2em;
}

#Errors {
	margin-top: 1em;
}

#Errors ul li {
	color: red;
	background-color: transparent;
} /* }}} */
/* base layout and colour {{{ */
#Header {
	margin-bottom: 1em;
}

#Content, #SubContent, #Errors {
	border: 1px solid #080;
	background-color: #eee;
	color: inherit;
}

#SubContent {
	margin-left: 1em;
	margin-right: 1em;
}

#Content, #Errors {
	margin-left: 1em;
}

#SubContent {
	position: absolute;
	top: 1em;
	right: 0;

	/* keep in sync with next ruleset */
	width: 10em;
}

#SubContent .section {
	font-size: 90%;
}

#Content, #Header, #Footer, #Errors {
	margin-right: 11.5em;
}

#Footer {
	text-align: center;
	clear: both;
	margin-top: 1em;
}

#Footer p {
	font-size: 80%;
	margin: 0.1em;
	padding: 0;
}
/* }}} */
/* navbar {{{ */
.navigation h2 {
	display: none;
}

.menu, .menu ul {
	list-style-type: none;
	display: block;
	padding: 0;
	margin: 0;
	background-color: #eee;
	color: inherit;
}

.menu li {
	display: inline; /* avoid MSIE 6 bug */
	margin: 0;
	padding: 0;
}

.menu a {
	display: block;
	margin: 0;
	padding: 0.1em;
	border-top: 1px solid rgb(75%,73%,70%);
}

.menu > li:first-child > a {
	border-top: none;
}

.menu a:hover {
	/*background-color: rgb(75%,73%,70%);*/
	background-color: white;
	color: inherit;
}

.menu a:link, .menu a:active, .menu a:hover, .menu a:visited {
	text-decoration: none;
}

.menu li a {
	padding-left: 0.5em;
	border-left: none;
}

.menu li li a {
	border-left: 0.5em solid rgb(75%,73%,70%);
}

.menu li li li a {
	border-left: 1em solid rgb(75%,73%,70%);
}

.menu li li li li a {
	border-left: 1.5em solid rgb(75%,73%,70%);
}

.menu li li a:hover {
	border-left: 0.5em solid #080;
}

.menu li li li a:hover {
	border-left: 1em solid #080;
}

.menu li li li li a:hover {
	border-left: 1.5em solid #080;
}
/* }}} */
/* news/blog {{{ */
.blog {
	clear: both;
}

.blog .entry {
	clear: both;

	/* avoid Opera 6 bug? */
	/* XXX: Keep in sync with background colour */
	border: 1px solid #eee;

	background-image: url(/images/separator);
	background-repeat: no-repeat;
	background-position: center bottom;

	padding: 0.3em;
	padding-bottom: 0.5em;
}

.blog .entry .head {
	/* float: left; */
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	margin-right: 0.5em;
/*	border-right: 1px solid #080; */
}

.blog .entry .title {
	padding: 0.1em;
	margin: 0;
	margin-right: 1em;
	text-indent: 0.1em; /* avoid MSIE clipping bug */
	font-size: 100%;
	font-weight: bold;
	border: none;
	display: inline;
}

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

.blog .entry a:hover, .blog .entry a:active {
	text-decoration: underline;
}

/* should be :first-child -- more important than the .menu border, though */
.blog .entry .body p.first {
	margin-top: 0;
	padding-top: 0;
}

#Content .blog .entry .title {
	/* override margin-left: 3%; */
	margin-left: 0;

	background-image: none;
}

.blog .entry .date {
	font-size: 80%;
	padding-right: 1em;
	border-bottom: 1px solid #080;
}
/* }}} */
/* searchResults {{{ */
.poweredBy.google {
	font-size: 80%;
}

#SubContent .search {
	border-top: 1px solid #890;
	text-align: center;
}

#SubContent .search form {
	margin: 0.2em 0;
	padding: 0;
}

#SubContent .search form label {
	visibility: hidden; /* Protect Mozilla 1.0.* from it's own stupidity */
	display: none;
}

form input, form textarea {
	border: 1px solid #890;
	color: black;
	background-color: white;
}

.search form input {
	border: 1px solid #890;
	color: black;
	background-color: #eee;
	padding: 0;
	margin: 0;
	height: 1.4em;
}

/* be glad I didn't use input[type="query"], IE lusers */
#SubContent .search form input.query {
	width: 78%;
	margin-left: 0.1em;
}

#SubContent .search form input.submit {
	width: 17%;
	margin-right: 0.1em;
}


.searchResults blockquote {
	font-size: 80%;
	font-style: italic;
}/* }}} */
/* geek code {{{ */
.geekCode {
	font-size: 60%;
}
.geekCode a:link, a:visited {
	text-decoration: none;
}

.geekCode a:active, a:hover {
	text-decoration: underline;
}
/* }}} */
/* tables {{{ */
table {
	border-collapse: collapse;
	border: 1px solid black;

	margin-left: auto;
	margin-right: auto;
}

table caption {
	font-size: 80%;

	/* avoid Mozilla brokenness */
	margin-left: auto;
	margin-right: auto;
}

table th {
	border: 1px solid black;
	text-align: center;
	font-weight: bold;
}

table td {
	padding: 0.3em;
	border: 1px solid black;
	background-color: white;
	text-align: center;
}
/* }}} */
/* blegh */
.clear {
	clear: both;
}
