/* Typography */

body {
  font-family: 'Open Sans', Verdana, Helvetica, Arial;
  font-size: 14px;
}

body {
  overflow-y: scroll;
}

h1, h2, h3, p, div, ul, ol, li, dd, dt, dl, pre, blockquote { line-height: 1.6em; }
h1, h2, h3, p, blockquote { margin-bottom: 1.4em; }
pre { margin-bottom: 2em; }

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

h1 { font-weight: normal; font-size: 1.6em; }
h2 { font-weight: bold; font-size: 1.4em; }
h3 { font-weight: bold; font-size: 1.1em; }

code { font-family: monospace; background-color: white; padding: 2px; border-radius: 2px; }
pre code { background-color: inherit; padding: 0px; border-radius: inherit; overflow: scroll; }
pre { border-radius: 5px; padding: 1.2em; background-color: #efefef; }
pre { overflow: auto; }

ul { padding-left: 3em; }
ul li { list-style: disc; }

blockquote { position: relative; padding: 0em 4em 0em 2em; margin: 1em 0 1em 0em; }
blockquote { border-left: solid 1px #b3b3b3; }

em { font-style: italic; }
strong { font-weight: bold; }

hr.pretty {
	border: 0;
	height: 1px;
	background: #999;
	background-image: -webkit-linear-gradient(left, #ccc, #999, #ccc); 
	background-image:    -moz-linear-gradient(left, #ccc, #999, #ccc); 
	background-image:     -ms-linear-gradient(left, #ccc, #999, #ccc); 
	background-image:      -o-linear-gradient(left, #ccc, #999, #ccc); 
}

/* Colors */
body { color: #333; background-color: #ddd; }
#body { background-color: #ccc; background-color: rgba(255,255,255,0.99); }
blockquote { color: #555; }
#bodyContainer { color: #444; }
a { color: black; }
#footer a { color: #222; }


/* Header/Footer */

#header {
  position: relative;
  padding: 2em 0 1em 0;
  border-bottom: solid 1px #999;
}
#header .brand span { display: none; }
#header .brand a {
  display: block;
  margin: 0 auto;
  padding-bottom: .4em;
}
#header .brand {
  font-size: 1.2em;
  text-align: center;
}

#header a { text-decoration: none; }
#header a:hover { text-decoration: none; }

#footer {
  border-top: solid 1px #999;
  padding: 2em 0;
  font-size: 11px;
}

#bodyContainer, .footerContainer, .headerContainer {
  max-width: 600px;
  position: relative;
  margin: 0 auto;
  padding: 0 1em;
}
#bodyContainer {
  padding: 3em 1em 4em 1em;
}

#ad {
  position: absolute;
  right: -200px;
  top: 0px;
  margin: 4em 0 4em 0;
  width: 155px;
}
#ad > div > a { margin: 0 auto; }

#nav { text-align: center; font-size: .8rem; padding-bottom: .5em;  }
#nav ul { margin: 0; padding: 0; display: inline; white-space: nowrap; }
#nav li { list-style: none; display: inline-block; text-transform: lowercase; padding-bottom: .5em; margin: 0 0.9em; }
#nav li a { color: #555; }
#nav li a:hover { text-decoration: underline; color: #222; }
#nav .divider { color: #999; padding: 0 .5em; }

#searchpath_q { width: 8em; border-radius: 5px; }

/* Post Stuff */

.post { margin-bottom: 6em; }
.post { position: relative; }
.post h1 { font-size: 120%; }
.post h1 a { border-bottom: dotted 1px #888; }
.post h1 a:hover { background-color: #cfcfcf; text-decoration: none; border-bottom: dotted 1px black; }
.post h2 { font-size: 1em; text-transform: uppercase; font-weight: bold; padding-top: 1em; }
.post a.permalink { color: #888; text-decoration: none; border: none; }
.post a.permalink:hover { color: #444; }
.post sup { font-size: .8em; position: relative; top: -.3em; }
.post.linked h1 { font-size: 100%; font-weight: normal; }
.post.linked h1:after { content: ' →'; padding-left: 0.8em; color: #bbb; }
.post.linked .body { margin-left: 1em; }

.post p img { margin: 3em auto; display: block; max-width: 100%; }
.post p img {
  border-radius: 10px;
  box-shadow: 3px 3px 3px #999;
  -webkit-box-shadow: 3px 3px 3px #999;
  -moz-box-shadow: 3px 3px 3px #999;
}
.post p img.noborder {
  border-radius: 0px;
  border: none;
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
}

.post hr { display: none; }


.post .footnotes { font-size: .8em; padding-top: 1em; }
.post .footnotes hr { margin-bottom: 1em; }
.post .footnotes ol li { list-style-type: decimal; margin-left: 2em; }
.post .footnotes p { margin-bottom: 0; }
.post .footnotes li { margin-bottom: 1em; }

.post .date { color: #777; }
.post .date { font-size: 0.8em; text-transform: uppercase; }

.post.linked + .post.article, .post.article + .post.article, .post.article + .post.linked { border-top: dashed 1px #999; padding-top: 2em; }
.post.linked + .post.article .date, .post.article + .post.article .date, .post.article + .post.linked .date { top: 3em; }

.post pre { position: relative; }

.nextprevbrowselinks { font-size: 0.9em; padding-bottom: 4em; }
.nextprevbrowselinks > div.prev { float: left; text-align: left; margin-bottom: 1em; }
.nextprevbrowselinks > div.next { float: right; text-align: right; }


/* Archive stuff */

body.archive-list .archive h2 { text-transform: uppercase; font-size: 1em; }
body.archive-list .archive ul { padding-left: 1em; }
body.archive-list .archive li { margin-bottom: 1em; list-style: none; }
body.archive-list .archive li .date { text-transform: uppercase; font-size: 0.8em; color: #888; }
body.archive-list .archive .description { font-size: 0.8em; color: #888; }
body.archive-list ul + h2 { margin-top: 3em; }

body.archive-list ul.archive-nav, body.archive-list ul.archive-nav li { list-style: none; margin: 0; padding: 0; }
body.archive-list ul.archive-nav li { display: inline; }
body.archive-list ul.archive-nav { margin-bottom: 3em; }
body.archive-list ul.archive-nav a { font-size: 1.1em; margin: 0; padding: 8px; border: solid 1px #222; }
body.archive-list.articles ul.archive-nav a.articles-link,
body.archive-list.linked ul.archive-nav a.linked-link
{
  background-color: #222;
  color: white;
}
body.archive-list.articles ul.archive-nav a.linked-link,
body.archive-list.linked ul.archive-nav a.articles-link
{
  color: #777;
  text-shadow: none;
}
body.archive-list ul.archive-nav a.articles-link { border-bottom-left-radius: 8px; border-top-left-radius: 8px; }
body.archive-list ul.archive-nav a.linked-link { border-bottom-right-radius: 8px; border-top-right-radius: 8px; }


/* Apply shadows the select things */
a { text-shadow: #777 0px 0px 2px; }
.post a.permalink { text-shadow: none; }
#footer a { text-shadow: #888 0px 0px 2px; }
#glyph { text-shadow: #bbb 0px 0px 3px; }
body.archive-list.articles ul.archive-nav a.linked-link,
body.archive-list.linked ul.archive-nav a.articles-link { text-shadow: #bbb 0px 0px 2px; }

.want_more { background-color: #666; color: white; padding: 1em; border-radius: 8px; text-align: center; }
.want_more a { color: white; text-decoration: underline; }


/* That cool background! Gotta love UTF8 */

#glyph {
  position: absolute;
  top: -100px;
  left: -320px;
  font-size: 60em;
  z-index: -5000;
  color: #ccc;
  line-height: 1em;
}


/* The site notification banner */

.notification {
  background-color: #888;
  color: #ddd;
  padding: 0.3em 1em;
  font-size: 0.8em;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  position: absolute;
  top: 0px;
}

#footer img.idl {
  float: right;
}


/* Media Specific Stuff */

@media (min-width: 950px) {
  body.index_page .post .date {
    position: absolute;
    top: .5em;
    left: -12em;
    width: 10em;
    text-align: right;
  }
}

@media (max-width: 949px) {
  /* Tablet layout */

  #ad {
    display: none;
    position: static;
    top: auto;
    right: auto;
    margin: 3em auto 4em auto;
  }
}

@media (max-width: 650px) {
  /* Phone layout */

  #glyph { display: none; }
  #nav .divider { display: none; }
  #nav ul { display: block; }
  #nav li.search { display: none; }
  body.archive-list ul.archive-nav { font-size: .8em; }
  .post .body { overflow-x: scroll; }
}

@media print {

  #header .brand a { margin: 0 auto; }
  #header .brand a { background-none; }
  #header .brand a span { display: inline; }
  #nav { display: none; }
  #glyph { display: none; }

  .post .date { position: relative; top: 0; left: 0; width: auto; }
  .post .date { text-align: left; }

  body { background-color: white; }

  #ad { display: none; }
}

.book-notice {
  margin: 2em 1em;
  padding: 1em;
  border: dashed 1px red;
  background-color: rgba(255,0,0,0.1);
}

.book-notice p {
  padding: 0; margin: 0;
}

