/************/
/* ELEMENTS */
/************/

a {
  color: #2f6fab;
  text-decoration: none;
}


a:visited {
  color: #345366;
}


abbr {
  cursor: help;
}


h2 abbr {
  border-bottom: 1px dotted;
}


p abbr {
  border-bottom: 1px dotted;
}

a abbr {
  /* Override for links within paragraphs. */
  border-bottom: none;
}


blockquote {
  font-style: italic;
  margin: 2em 2em;
  padding: 0 2em;
  color: #666;
  border-top: 1px #999 solid;
  border-bottom: 1px #999 solid;
}


body {
  font-family: Vollkorn, georgia, serif;
  width: 40em;
  margin: 2em auto 1em auto;
  color: #222;
}


caption {
  font-style: italic;
  margin: 1.5em 0;
  text-align: center;
}


cite:before {
  content: "\2014";
}


cite {
  display: block;
  left: -2em;
  position: relative;
  text-align: right;
}


/* Inline code (like path names) only. */
p code {
  font-family: 'DejaVu Sans Mono', monospace;
  font-size: 81.25%;
  font-style: normal;
}

dt {
  clear: left;
  font-weight: bold;
  float: left;
  margin-right: .5em;
}


dt a {
  font-weight: bold;
}


dt:after {
  content: ':';
}


em {
  font-style: italic;
}


h1 {
  font-size: 175%;
  letter-spacing: .3em;
  line-height: 1;
  text-transform: uppercase;
  margin: 1.4em 0;
}


h1 a {
  color: #345366; /* The "visited" color */
  text-decoration: none;
}


h2 {
  clear: both;
  font-size: 150%;
  line-height: 1;
  margin: 1em 0;
  color: #c03926;
}


h3 {
  font-size: 110%;
  line-height: 1.3636363636;
  margin: 1.3636363636em 0;
}


h3, th {
  color: #700;
  letter-spacing: .1em;
  text-transform: lowercase;
}

h4 {
  font-size: 90%;
  font-weight: bold;
  line-height: 1.666666667;
  margin: 1.666666667em 0;
}

h5 {
  font-style: italic;
  margin: 1.5em 0;
}

html {
  color: #000;
  background-color: #fff;
  font-size: 20px;
}


ol, ul {
  margin: 1.5em 0 1.5em 2em;
  /* This keeps IE in line (with respect to the hanging
     bullets), and also happens to work in good browsers. */
  position: relative;
  left: -2em;
}


ol {
  list-style-type: lower-greek;
}

ol ol {
  margin-left: 4em;
}

p, .cmd {
  margin: 1.5em 0;
}


pre {
  position: absolute;
  top: 0;
  display: block;
  white-space: pre;

  /* Use 3em left "padding" since the line numbers are floated and
     don't "take up" padding space. We could also float the code
     left and make it clearfix, but that's more trouble than it's
     currently worth. */
  left: 2em;
  padding: 1em;

  /* We don't want scrollbars 1em sooner than necessary. */
  padding-right: 0;
}


strong {
  background-color: #ffd;
  font-style: italic;
}


sub {
  font-size: 75%;
  vertical-align: sub;
}


sup {
  font-size: 75%;
  vertical-align: super;
}


table {
  margin: 1.5em auto;
}


table.checklist th, table.checklist td {
  text-align: center;
}


td, th {
  padding-right: 3em;
}


th {
  text-align: left;
  white-space: nowrap;
}


ul li:before {
  /* lamda followed by an 'en' space */
  content: '\03bb.\2002';
}


/* Math formulas (variables) */
var {
  font-style: italic;
  white-space: nowrap;
}


/***********/
/* CLASSES */
/***********/

.categories {
  white-space: nowrap;
}


/* Clearfix.. keeps the margins clean. */
.categories:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}


ul.categories li:before {
  content: '';
}


.categories>li {
  float: left;
  margin-right: 3em;
}


.centered {
  display: block;
  margin: 0 auto;
}

img.centered {
  margin-bottom: 1.5em;
  margin-top: 1.5em;
}

.cleared {
  clear: both;
}


.clearfix {
  display: block;
}


.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}


.cmd {
  font-family: 'DejaVu Sans Mono', monospace;
  font-style: normal;
  padding-bottom: 1.5em; /* Match paragraph margins */
  padding-top: 1.5em;
}


.cmd .prompt {
  color: #002;
  font-weight: bold;
}


.cmd .input {
  color: #222;
}


.cmd .output {
  white-space: pre-wrap;
}


.cmd .input, .cmd .output {
  margin: 0;
  padding: 0;

    /* Fake indent on lines 2 through N */
  padding-left: 1em;
  text-indent: -1em;
}


.code_wrapper {
  font-family: 'DejaVu Sans Mono', monospace;
  margin-bottom: 2em;
  /* Scroll the wrapper instead of the code element so we don't
     have to deal with the padding on the line_numbers column. */
  overflow: auto;
  position: relative;
  width: 100%; /* Trigger hasLayout in IE6 */
}


.cop_out {
  display: none;
}


.discontinued, .purchased, .redacted {
  text-decoration: line-through;
}


.footnote {
  font-size: 75%;
  position: relative;
  top: -.5em;
  font-style: italic;
  text-decoration: none;
  font-variant: normal;
  letter-spacing: normal;
}


.footnote:hover {
  text-decoration: underline;
}


.footnote .left_brace {
  vertical-align: super;
}


.footnote .right_brace {
  vertical-align: sub;
}


.invisible {
  left: -10000px;
  position: absolute;
}


.line_numbers {
  /* We'd like text figures here... */
  font-family: Vollkorn, georgia, 'DejaVu Sans Mono', monospace;
  text-align: right;
  padding: 1em .5em 1em 0;
  color: #700;
  width: 1.5em;
  border-right: 1px #700 dotted;
}


.love {
  font-size: .75em;
}


/* Filesystem paths */
.path {
  white-space: nowrap;
}


.posted-at {
  color: #666;
  font-size: 75%;
}


.results {
  clear: both;
  padding-left: 1.5em;
  padding-right: 1.5em;
  margin-bottom: 1em;
}

.results .screenshot {
  text-align: center;
  width: 360px;
}

.results .screenshot.before {
  float: left;
}

.results .screenshot.after {
  float: right;
}

.test-success {
  color: #090;
}


.tweets {
  list-style-type: decimal;
}



/*******/
/* IDS */
/*******/


#footer {
  clear: both;
  padding-top: 3em;
  text-align: center;
  font-size: 85%;
  font-style: italic;
  color: #666;
}


ol#footnotes {
  border-top: 1px #c03926 solid;
  padding-top: 2.667em;;
  font-size: 75%;
  margin-right: 20em;
  text-align: justify;
  list-style: decimal;
}


#make-universe {
  float: right;
  margin: 1em -3em 1em 1em;
  width: 12em;
}
