/* Stealing makes baby Jesus cry.
----------------------------------------------- */

body {
	margin: 0;
	padding: 0;
	font: 14px Calibri, Helvetica, Arial, sans-serif;
	color: #000;
	background-color: #d8e0e7;
}

h1, h2, h3 {
	margin: 0 0 15px 0;
	padding: 0;
}

h1 {
	font-size: 1.2em;
	color: #32779F;
}

h2 {
	font-size: 1.1em;
}

h3 {
	font-size: 1em;
}

p, ol, ul, dl,
code, pre,
form, textarea {
	margin: 0 0 10px 0;
	padding: 0;
	line-height: 1.5em;
}

div#aux p {
	text-align: left;
}

li, dt, dd {
	margin: 0 0 5px 5px;
	padding: 0;
}

dd + dt {
	margin-top: 10px;
}

ol, ul {
	list-style-position: inside;
}

ul {
	list-style-type: none;
}

ul li {
	padding-left: 16px;
	background: url("/img/site-design/bullet.png") no-repeat top left;
}

dt {
	font-weight: bold;
}

label {
	cursor: pointer;
}

input, textarea, select {
	background-color: #eaeef2;
	border: 1px solid #bdcbd7;
}

input, select, button {
	margin: 0;
	padding: 2px;
}

textarea {
	padding: 2px;
}

input:focus, textarea:focus {
	border-style: inset;
}

address {
	font-style: normal;
}

blockquote {
	margin: 0;
	padding: 11px 11px 1px 11px;
	background-color: #eaeef2;
	border-top: 2px solid #d9e0e8;
	border-right: 2px solid #d9e0e8;
	border-left: 2px solid #d9e0e8;
}

p.quoted {
	padding: 5px 11px;
	font-size: 0.9em;
	background-color: #f3f5f8;
	border-right: 2px solid #d9e0e8;
	border-bottom: 2px solid #d9e0e8;
	border-left: 2px solid #d9e0e8;
}

.small {
	font-size: 0.8em;
}

.center {
	text-align: center;
}

.clear {
	clear: both;
}

::-moz-selection {
	background-color: #ffe8e8;
}

::selection {
	background-color: #ffe8e8;
}


/* links
----------------------------------------------- */

a:link, a:visited,
a:hover, a:active,
a:focus {
	text-decoration: none;
}

a:link {
	color: #2b91d5;
}

a:visited, a:active {
	color: #7cb75c;
}

a:hover,
a:focus {
	color: #f5f5f5;
	background-color: #2b91d5;
}

a:visited:hover, a:active:hover
a:visited:focus, a:active:focus {
	color: #f5f5f5;
	background-color: #7cb75c;
}

a img {
	border: none;
}

p.feed a {
}

p#firefox a {
	padding-left: 20px;
	padding-bottom: 2px;
	font-weight: bold;
	color: #2b91d5;
	background: url("/img/firefox.png") no-repeat center left;
}

ul#nav a {
	font-weight: bold;
	text-decoration: none;
	color: #4194c3;
}

/* layout
----------------------------------------------- */

div#page {
	position: relative;
}

p#logo {
	margin-bottom: 0;
}

p#firefox {
	position: absolute;
	top: -18px;
	left: 305px;
}

div#main {
	width: 495px;
	background: #f8f8f8 url("/img/site-design/bg.png") repeat-y top right;
}

div#header {
	height: 20px;
	background: url("/img/site-design/header.png") no-repeat top right;
}

div#body {
	position: relative;
	padding: 0 15px;
	width: 450px;
	min-height: 250px;
}

div#footer {
	height: 20px;
	background: url("/img/site-design/footer.png") no-repeat bottom right;
}

div#aux {
	position: absolute;
	top: 15px;
	left: 487px;
	width: 150px;
}

ul#nav {
	margin: 0;
	list-style-type: none;
}

ul#nav li {
	margin: 0;
	padding-left: 0;
	background: none;
}

div#discussion {
	position: absolute;
	top: 15px;
	left: 615px;
	width: 350px;
	height: 450px;
	overflow: auto;
}

/* text replacement
----------------------------------------------- */

ul#nav a,
p.feed a {
	display: block;
	text-indent: -999em;
	overflow: hidden;
}

p#logo {
	margin: 15px 0 0 15px;
	width: 248px;
	height: 64px;
	overflow: hidden;
	text-indent: -999em;
}

p#logo a {
	display: block;
	width: 248px;
	height: 64px;
	background: url("/img/site-design/title.png") no-repeat center center;
}

ul#nav a {
	margin: 1px;
	padding: 2px;
	width: 114px;
	height: 16px;
}

li#nav-details a {
	background: url("/img/site-design/details.png") no-repeat 3px center;
}

li#nav-earlier a {
	background: url("/img/site-design/earlier.png") no-repeat 3px center;
}

li#nav-txp a {
	background: url("/img/site-design/textpattern.png") no-repeat left center;
}

li#nav-recommended a {
	background: url("/img/site-design/recommended.png") no-repeat 3px center;
}

li#nav-elsewhere a {
	background: url("/img/site-design/elsewhere.png") no-repeat 3px center;
}

li#nav-find a {
	background: url("/img/site-design/find.png") no-repeat 3px center;
}

li#nav-note a {
	background: url("/img/site-design/note.png") no-repeat 3px center;
}

li#nav-atom a {
	padding: 0;
	width: 16px;
	background: url("/img/site-design/feed.png") no-repeat center left;
}

p.feed a {
	padding: 0;
	width: 16px;
	height: 16px;
	background: url("/img/site-design/feed.png") no-repeat center center;
}

div#discussion h2 {
	width: 112px;
	height: 23px;
	text-indent: -999em;
	background: url("/img/site-design/discussion.png") no-repeat center center;
}

button#comment-preview {
	width: 89px;
	height: 25px;
	background: url("/img/site-design/preview.png") no-repeat center center;
}

button#comment-submit {
	width: 81px;
	height: 25px;
	background: url("/img/site-design/submit.png") no-repeat center center;
}

/* articles
----------------------------------------------- */

p.feed {
	position: absolute;
	top: 0;
	right: 15px;
}

h1.article-title {
	margin-bottom: 0;
}

p.article-short-date,
p.article-full-date {
	margin-bottom: 0;
	line-height: normal;
	text-align: right;
}

p.article-short-date {
	font-weight: bold;
	font-size: 0.9em;
	color: #abbccb;
}

p.article-full-date {
	margin-top: -10px;
	font-size: 0.7em;
	color: #333;
}

dl.log dt {
	margin-bottom: 0;
}

dl.log dd {
	margin-left: 10px;
	font-size: 0.9em;
}

/* comments
----------------------------------------------- */

div#discussion h2 {
	font-size: 1.1em;
	color: #32779F;
}

div#discussion h2 + p {
	margin-left: 5px;
}

ul.comments_error {
	font-weight: bold;
}

li.comment-preview {
	background-color: #f8f8f8;
}

li + li.comment-preview {
	margin-top: 25px;
}

div.comment-message {
	padding: 4px;
}

p.comment-meta {
	margin-bottom: 0;
	background-color: #eaeef2;
}

ol#comments {
	list-style-type: none;
}

ol#comments li {
	position: relative;
	z-index: 2;
	border: 4px solid #eaeef2;
	counter-increment: comment;
}

ol#comments li span.counter:before {
	content: counter(comment);
}

ol#comments li span.counter {
	position: absolute;
	bottom: 0;
	top: auto;
	right: 0;
	left: auto;
	font-weight: bold;
	font-size: 36px;
	color: #b7c6d2;
	z-index: 1;
}

ol + div#comment-form,
p + div#comment-form {
	margin-top: 15px;
}

div#comment-form {
	line-height: 0.5em;
}

div#comment-form label {
	font-weight: bold;
}

p.form-cols {
	display: block;
	clear: both;
}

p.form-cols label,
p.form-cols span {
	padding: 5px 0;
	float: left;
	display: block;
}

p.form-cols label {
	clear: both;
	width: 5em;
	text-align: right;
}

p.form-cols span {
	margin-left: 5px;
}

p.form-cols input {
	vertical-align: middle;
}

textarea#message {
	width: 98%;
}

textarea.comments_error,
input.comments_error {
	background-color: #FFF9F9;
	border: 1px solid #FFE1E1;
}

textarea.comments_error:focus,
input.comments_error:focus {
	border-style: inset;
}

p.remember-forget {
	margin-left: 5em;
	padding-left: 5px;
}

input#remember, input#forget {
	margin-right: 5px;
}

p.form-buttons {
	margin-top: 15px;
	text-align: center;
}

button#comment-preview,
button#comment-submit {
	padding: 0;
	text-indent: -999em;
	border: none;
	cursor: pointer;
}

button#comment-submit {
	margin-left: 5px;
}

/* txp section
----------------------------------------------- */

dl#txp-plugins dt {
	font-weight: bold;
}

dl#txp-plugins dd {
	margin-left: 10px;
}

/* recommended section
----------------------------------------------- */

ul#recommended-list li {
	float: left;
	margin: 0 10px 10px 0;
	padding: 10px;
	text-align: center;
	background: none;
}

/* search
----------------------------------------------- */

p#search-count,
form#search-form {
	text-align: center;
}

dl#search-results {
}

dd.result-section {
	font-size: 0.8em;
	color: #888;
}

/* contact
----------------------------------------------- */

dl#contact-form {
	line-height: 0.5em;
}

dl#contact-form dd + dt {
	margin-top: 10px;
}

ul.contact_error {
	font-weight: bold;
}

/* elsewhere, ala http://milov.nl/
----------------------------------------------- */

ul.link-always li {
	margin-left: 0;
	padding-left: 0;
	display: inline;
	background-image: none;
}

ul.link-always li:after {
	content: ", ";
}

ul.link-always li:last-child::before {
	content: "and ";
}

ul.link-always li:last-child::after,
ul.link-always li:only-child::before,
ul.link-always li:only-child::after {
	content: "";
}