/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

@font-face {
  font-family: "Fell English";
  src: url("/assets/IMFeENrm29C.otf") format("opentype"); }

@font-face {
  font-family: "Fell English Italic";
  src: url("/assets/IMFeENit29C.otf") format("opentype"); }

@font-face {
  font-family: "MEgalopolis Extra";
  src: url("/assets/MEgalopolisExtra.otf") format("opentype"); }

@font-face {
  font-family: "MPlus";
  src: url("/assets/mplus-2m-regular.ttf") format("truetype"); }

.CodeRay {
  background-color: #fdf6e3;
  color: #657b83;
  font-size: 0.85em;
  line-height: 1.35em; }

/*.CodeRay pre {
  margin: 0px;
}*/
span.CodeRay {
  white-space: pre;
  border: 0px;
  padding: 2px; }

table.CodeRay {
  border-collapse: collapse;
  width: 100%;
  padding: 2px; }

table.CodeRay td {
  padding: 1em 0.5em;
  vertical-align: top; }

.CodeRay .line-numbers, .CodeRay .no {
  color: #002b36;
  text-align: right;
  border-right: 0.33em solid #eee8d5; }

.CodeRay .line-numbers tt {
  font-weight: bold; }

.CodeRay .line-numbers {
  padding-right: 0.67em;
  margin-right: 1.33em;
  font-size: 0.9em; }
  .CodeRay .line-numbers strong {
    font-weight: normal; }
    .CodeRay .line-numbers strong a {
      color: #586e75; }
  .CodeRay .line-numbers .highlighted, .CodeRay .line-numbers a {
    color: #93a1a1; }

.CodeRay .line {
  display: block;
  float: left;
  width: 100%; }

.CodeRay .no {
  padding: 0px 4px; }

.CodeRay .code {
  width: 100%; }

ol.CodeRay {
  font-size: 10pt; }

ol.CodeRay li {
  white-space: pre; }

.CodeRay .code pre {
  overflow: auto; }

.CodeRay .debug {
  color: white !important;
  background: blue !important; }

.CodeRay .af {
  color: #00C; }

.CodeRay .an {
  color: #007; }

.CodeRay .at {
  color: #f08; }

.CodeRay .av {
  color: #700; }

.CodeRay .aw {
  color: #C00; }

.CodeRay .bi {
  color: #509;
  font-weight: bold; }

.CodeRay .c {
  color: #998;
  font-style: italic; }

.CodeRay .ch {
  color: #04D; }

.CodeRay .ch .k {
  color: #04D; }

.CodeRay .ch .dl {
  color: #039; }

.CodeRay .class {
  color: #b58900;
  font-weight: bold; }

.CodeRay .constant {
  color: #b58900; }

.CodeRay .delimiter {
  color: #dc322f; }

.CodeRay .function {
  color: #268bd2;
  font-weight: bold; }

.CodeRay .keyword {
  color: #859900; }

.CodeRay .string {
  color: #2aa198; }

.CodeRay .string .inline .inline-delimiter {
  color: #dc322f; }

.CodeRay .instance-variable {
  color: #268bd2; }

.CodeRay .symbol {
  color: #2aa198; }

.CodeRay .cl {
  color: #b58900;
  font-weight: bold; }

.CodeRay .cm {
  color: #A08;
  font-weight: bold; }

.CodeRay .co {
  color: #b58900; }

.CodeRay .cr {
  color: #0A0; }

.CodeRay .cv {
  color: #369; }

.CodeRay .de {
  color: #dc322f; }

.CodeRay .df {
  color: #099;
  font-weight: bold; }

.CodeRay .di {
  color: #088;
  font-weight: bold; }

.CodeRay .dl {
  color: black; }

.CodeRay .do {
  color: #970; }

.CodeRay .dt {
  color: #34b; }

.CodeRay .ds {
  color: #D42;
  font-weight: bold; }

.CodeRay .e {
  color: #666;
  font-weight: bold; }

.CodeRay .en {
  color: #800;
  font-weight: bold; }

.CodeRay .er {
  color: #F00;
  background-color: #FAA; }

.CodeRay .ex {
  color: #C00;
  font-weight: bold; }

.CodeRay .fl {
  color: #099; }

.CodeRay .fu {
  color: #268bd2;
  font-weight: bold; }

.CodeRay .gv {
  color: teal;
  font-weight: bold; }

.CodeRay .hx {
  color: #058;
  font-weight: bold; }

.CodeRay .i {
  color: #099; }

.CodeRay .ic {
  color: #B44;
  font-weight: bold; }

.CodeRay .il {
  color: black; }

.CodeRay .il .il {
  background: #ccc; }

.CodeRay .il .il .il {
  background: #bbb; }

.CodeRay .il .idl {
  color: #D14; }

.CodeRay .idl {
  color: #D14; }

.CodeRay .im {
  color: #f00; }

.CodeRay .in {
  color: #B2B;
  font-weight: bold; }

.CodeRay .iv {
  color: teal; }

.CodeRay .la {
  color: #970;
  font-weight: bold; }

.CodeRay .lv {
  color: #963; }

.CodeRay .oc {
  color: #40E;
  font-weight: bold; }

.CodeRay .of {
  color: #000;
  font-weight: bold; }

.CodeRay .pc {
  font-weight: bold; }

.CodeRay .pd {
  color: #369;
  font-weight: bold; }

.CodeRay .pp {
  color: #579; }

.CodeRay .ps {
  color: #00C;
  font-weight: bold; }

.CodeRay .pt {
  color: #074;
  font-weight: bold; }

.CodeRay .r, .kw {
  color: #000;
  font-weight: bold; }

.CodeRay .ke {
  color: #859900; }

.CodeRay .ke .dl {
  color: #606; }

.CodeRay .ke .ch {
  color: #80f; }

.CodeRay .vl {
  color: #088; }

.CodeRay .rx {
  background-color: #fff0ff; }

.CodeRay .rx .k {
  color: #808; }

.CodeRay .rx .dl {
  color: #404; }

.CodeRay .rx .mod {
  color: #C2C; }

.CodeRay .rx .fu {
  color: #404;
  font-weight: bold; }

.CodeRay .s {
  color: #2aa198; }

.CodeRay .s .s .s {
  background-color: #ffd0d0; }

.CodeRay .s .k {
  color: #D14; }

.CodeRay .s .ch {
  color: #D14; }

.CodeRay .s .dl {
  color: #D14; }

.CodeRay .sh {
  color: #D14; }

.CodeRay .sh .dl {
  color: #D14; }

.CodeRay .sy {
  color: #990073; }

.CodeRay .sy .k {
  color: #A60; }

.CodeRay .sy .dl {
  color: #630; }

.CodeRay .ta {
  color: #070; }

.CodeRay .tf {
  color: #070;
  font-weight: bold; }

.CodeRay .ts {
  color: #D70;
  font-weight: bold; }

.CodeRay .ty {
  color: #339;
  font-weight: bold; }

.CodeRay .v {
  color: #036; }

.CodeRay .xt {
  color: #444; }

.CodeRay .ins {
  background: #afa; }

.CodeRay .del {
  background: #faa; }

.CodeRay .chg {
  color: #aaf;
  background: #007; }

.CodeRay .head {
  color: #f8f;
  background: #505; }

.CodeRay .ins .ins {
  color: #080;
  font-weight: bold; }

.CodeRay .del .del {
  color: #800;
  font-weight: bold; }

.CodeRay .chg .chg {
  color: #66f; }

.CodeRay .head .head {
  color: #f4f; }

html, body {
  background: #f2f2f2;
  text-align: center;
  font-family: "Fell English", Georgia, Palatino Linotype, Book Antiqua3, Palatino, serif;
  font-size: 1.1em;
  font-weight: normal;
  text-transform: normal;
  letter-spacing: normal;
  color: #544; }
  html pre, html code, body pre, body code {
    font-family: "MPlus", "Consolas", Lucida Console, Monaco5, monospace; }

body em, body i {
  font-style: italic; }

body b, body strong {
  font-size: 1.15em;
  letter-spacing: -0.05em;
  font-weight: 900; }

body a {
  text-decoration: none;
  color: #7b170a; }
  body a:hover {
    text-decoration: underline; }

header, #container, footer {
  margin: 0 auto;
  width: 50em;
  text-align: left; }

.top {
  height: 185px;
  background-image: url("/assets/header_background.jpg");
  padding: 1.66em 0 0; }
  .top header h1 {
    margin-top: 0.33em;
    font-family: "MEgalopolis Extra", Impact, Impact5, Charcoal6, sans-serif;
    font-size: 4em;
    text-shadow: 7px 7px 34px #777;
    color: #544; }
    .top header h1 a {
      text-decoration: none;
      color: #7b170a; }
      .top header h1 a:hover {
        text-decoration: underline; }
  .top header #subtitle {
    color: #756464;
    font-style: italic;
    font-size: 1.33em;
    font-style: italic;
    float: left;
    position: relative;
    left: 8.7em;
    top: -0.20em; }
  .top header .social a {
    text-indent: -10000px;
    position: relative;
    float: right;
    white-space: nowrap;
    display: block;
    top: 74px;
    width: 55px;
    height: 55px;
    background-repeat: no-repeat;
    margin-left: 0.33em; }
  .top header .social a#twitter-flag {
    background-image: url("/assets/twitter_flag.png"); }
  .top header .social a#googleplus-flag {
    background-image: url("/assets/googleplus_flag.png"); }
  .top header .social a#github-flag {
    background-image: url("/assets/github_flag.png"); }
  .top header .social a#linkedin-flag {
    background-image: url("/assets/linkedin_flag.png"); }
  .top header .social a#delicious-flag {
    background-image: url("/assets/delicious_flag.png"); }
  .top header .social a#rss-flag {
    background-image: url("/assets/rss_flag.png"); }
  .top .gradient {
    background-image: compact(linear, compact(top, transparent, #aaa opacity 50%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
    background-image: compact(linear, compact(top, transparent, #aaa opacity 50%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
    background-image: compact(linear, compact(top, transparent, #aaa opacity 50%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
    background-image: compact(linear, compact(top, transparent, #aaa opacity 50%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
    background-image: compact(linear, compact(top, transparent, #aaa opacity 50%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false); }

.middle {
  -webkit-box-shadow: compact(0 0 16px 4px #444, false, false, false, false, false, false, false, false);
  -moz-box-shadow: compact(0 0 16px 4px #444, false, false, false, false, false, false, false, false);
  box-shadow: compact(0 0 16px 4px #444, false, false, false, false, false, false, false, false);
  padding-top: 1.66em;
  *display: inline-block;
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 3em, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 3em, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 3em, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 3em, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 3em, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  border-top: 0.167em solid #f2f2f2; }
  .middle:after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

#page {
  float: left;
  width: 30em;
  margin-bottom: 3em;
  margin-top: 3.3em; }
  #page nav.breadcrumb li {
    float: left;
    margin-right: 0.33em; }
    #page nav.breadcrumb li:before {
      content: "/"; }
  #page ol.summaries {
    margin-left: 0;
    list-style-type: none; }
  #page article {
    clear: both; }
    #page article header, #page article section, #page article footer {
      width: 30em; }
    #page article p, #page article pre, #page article ul, #page article ol {
      margin: 12.944px 0 25.888px 0; }
    #page article h1, #page article h2, #page article h3 {
      margin: 41.886784px 0 25.888px 0; }
    #page article p, #page article ul, #page article ol {
      word-spacing: 0.165em; }
    #page article p {
      line-height: 1.618em; }
    #page article p.read_more {
      font-size: 0.9em;
      margin-top: -1.33em;
      text-align: right; }
      #page article p.read_more a:after {
        content: "..."; }
    #page article p.not_found {
      height: 400px; }
    #page article ul, #page article ol {
      line-height: 1.33em;
      margin-left: 1.66em; }
    #page article ul {
      list-style-image: url("/assets/text_arrow.png"); }
    #page article li {
      margin-top: 0.66em; }
    #page article h1 {
      font-family: "MEgalopolis Extra", Impact, Impact5, Charcoal6, sans-serif;
      font-size: 1.2944em;
      font-size: 2.15194em;
      text-shadow: 3px 3px 15px #aaa; }
    #page article h2 {
      font-family: "MEgalopolis Extra", Impact, Impact5, Charcoal6, sans-serif;
      font-size: 1.33em;
      text-shadow: 1px 1px 5px #aaa;
      line-height: 1.33em; }
    #page article h3 {
      font-family: "MEgalopolis Extra", Impact, Impact5, Charcoal6, sans-serif;
      font-size: 1em;
      text-shadow: 1px 1px 5px #aaa;
      line-height: 1.33em; }
    #page article section h1 {
      font-size: 1.33em; }
    #page article footer p.meta {
      color: #AAA;
      font-size: 0.67em;
      font-style: italic;
      position: relative;
      top: -0.67em;
      text-align: right; }
  #page p.resume-tagline {
    font-style: italic;
    font-size: 0.8em;
    margin-top: 0.3em; }
  #page pre {
    border: 0.67em solid #eee8d5;
    color: #002b36;
    -webkit-box-shadow: compact(0.33em 0.33em 1.67em 0.33em #DDD, false, false, false, false, false, false, false, false);
    -moz-box-shadow: compact(0.33em 0.33em 1.67em 0.33em #DDD, false, false, false, false, false, false, false, false);
    box-shadow: compact(0.33em 0.33em 1.67em 0.33em #DDD, false, false, false, false, false, false, false, false);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    padding: 0.167em 0.167em 0.167em 0.33em;
    margin: 1.33em 0.33em 0.66em 0; }

#comments {
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  -webkit-border-radius: 1.5em;
  -moz-border-radius: 1.5em;
  -ms-border-radius: 1.5em;
  -o-border-radius: 1.5em;
  border-radius: 1.5em;
  padding: 1em; }

#dsq-content {
  padding: 0.01em 1em 1em;
  margin-top: 1em; }
  #dsq-content h3, #dsq-content a, #dsq-content div.dsq-trackback-url {
    font-size: 0.72em; }

.dsq-avatar {
  padding: 3px 3px 0;
  background: #f2f2f2;
  border: 2px solid #ddd;
  margin-right: 3px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px; }

ul#moar {
  display: none; }

#sidebar {
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  background-image: compact(linear, compact(top, #ddd 0, #f2f2f2 75%, false, false, false, false, false, false, false, false), false, false, false, false, false, false, false, false, false);
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
  -ms-border-radius: 1em;
  -o-border-radius: 1em;
  border-radius: 1em;
  margin-top: 5em;
  width: 14em;
  float: right; }
  #sidebar nav, #sidebar div {
    margin: 1.33em;
    font-size: 0.8em;
    font-style: italic;
    line-height: 1.33em;
    word-spacing: 0.165em; }
    #sidebar nav ul, #sidebar div ul {
      margin-left: 1.33em;
      list-style-image: url("/assets/red_arrow.png"); }
      #sidebar nav ul li .close_button, #sidebar div ul li .close_button {
        display: none; }
    #sidebar nav li, #sidebar div li {
      margin-bottom: 0.67em; }
  #sidebar h1 {
    font-family: "MEgalopolis Extra", Impact, Impact5, Charcoal6, sans-serif;
    text-shadow: 1px 1px 5px #aaa;
    margin-top: 1.33em;
    margin-bottom: 0.33em; }
  #sidebar h1.qrcode {
    margin-bottom: 1em; }
  #sidebar ul.qrcode {
    margin-left: 0; }
    #sidebar ul.qrcode li {
      display: block; }
      #sidebar ul.qrcode li img {
        border: 5px solid #977; }

.bottom {
  *display: inline-block;
  clear: both;
  padding: 2.66em 0 1.30em 0;
  -webkit-box-shadow: compact(0 0 12px 3px #444, false, false, false, false, false, false, false, false);
  -moz-box-shadow: compact(0 0 12px 3px #444, false, false, false, false, false, false, false, false);
  box-shadow: compact(0 0 12px 3px #444, false, false, false, false, false, false, false, false);
  background-image: url("/assets/footer_background.jpg?4");
  color: #433; }
  .bottom:after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
  .bottom footer img.headshot {
    -webkit-box-shadow: compact(1px 2px 6px 2px #444, false, false, false, false, false, false, false, false);
    -moz-box-shadow: compact(1px 2px 6px 2px #444, false, false, false, false, false, false, false, false);
    box-shadow: compact(1px 2px 6px 2px #444, false, false, false, false, false, false, false, false);
    border: 1px solid #7b170a;
    float: left;
    height: 220px; }
  .bottom footer .bio {
    line-height: 1.2em;
    float: left;
    width: 20em;
    margin: 0 2em; }
    .bottom footer .bio strong.name {
      font-family: "MEgalopolis Extra", Impact, Impact5, Charcoal6, sans-serif; }
  .bottom footer p.copyright {
    clear: both;
    padding-top: 3em;
    font-size: 0.66em;
    *display: inline-block;
    text-align: center; }
    .bottom footer p.copyright:after {
      content: " ";
      display: block;
      height: 0;
      clear: both;
      visibility: hidden; }
