* {
  margin: 0;
  padding: 0;
}

/****** GENERAL ELEMENT STYLING ********/
a {
  color: #71110D;
  text-decoration: none;
  border-bottom: 1px solid #DBC7C6;
  padding: 1px;
}
  a:hover, a:focus {
    background-color: #FFFCD8;
  }
p, ol, ul, hr, pre, dl, table, h2, h3, h4, h5, h6, pre {
	margin: 0 0 15px 0;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Trebuchet MS", sans-serif;
  color: #1F1960;
  line-height: 1.2em;
}
h1 {
  letter-spacing: -0.5px;
  font-size: 1.7em;
  font-weight: bolder;
  display: block;
  margin: 0 0 15px 0;
}
h2 {
  font-size: 1.5em;
  font-weight: bold;
}
h3 {
  font-size: 1.3em;
  font-weight: bold;
}
h4, h6, h6 {
  font-size: 1.3em;
  font-weight: lighter;
}
h1 a, h2 a, h3 a {
  color: #1F1960;
  border: 0;
}
  h1 a:hover, h1 a:focus,
  h2 a:hover, h2 a:focus,
  h3 a:hover, h3 a:focus {
    color: #71110D;
    background: none;
  }
ul, li {
  margin: 0 0 15px 15px;
}
  ul ul, li li {
    margin-bottom: 0;
  }
ul {
  list-style-type: none;
}
  ul li {
    background: url(/images/bullet.png) no-repeat 0 7px;
    padding: 0 0 0 12px;
  }
li {
  margin: 4px 0;
}
label {
  font-weight: bold;
}
textarea {
  width: 100%;
  margin: 0
}
blockquote {
  font-style: italic;
  border-left: 2px solid #1F1960;
  padding: 5px 10px;
  margin: 0 0 15px 0;
  background: #F4F3F9;
  clear: both;
  font-size: 1.05em;
}
  blockquote cite {
    text-align: right;
    font-weight: bold;
    display: block;
    font-size: 0.9em;
  }
  blockquote p.cite {
    margin: -10px 0 5px 0;
  }
dt {
  margin: 10px 0 0 0;
  font-weight: bold;
}
dd {
  margin: 0 0 0 30px;
}
pre code {
  display: block;
  overflow: auto;
}
code {
  color: #222;
  background-color: #f8f8f8;
  padding: 1px;
}

/****** STRUCTURE ******/
html {
  font-size: 62.5%;
  height: 100%;
}
body {
  width: 710px;
  margin: 0 auto;
  /* The left/right padding allows room for bullet points
     etc in IE (which render outside the main text area */
  padding: 30px;
  font-size: 1.4em;
  font-family: georgia, serif;
  line-height: 1.45em;
  background-color: white;
  color: black;
}
#menu {
  list-style: none;
  overflow: hidden;
  font-size: 1.3em;
  font-family: "Trebuchet MS", sans-serif;
  text-align: center;
  margin: 0 0 15px 0;
}
  #menu li {
    margin: 0 5px;
    display: inline;
    line-height: 1.5;
  }
    #menu li a {
      padding: 5px 10px;
      background: white;
      color: #71110D;
      border: none;
      text-decoration: underline;
    }
    #menu li a:hover {
      background: #71110D;
      color: white;
    }


/****** SPECIFIC ELEMENTS ******/
a.image-link, a.image-link:link, a.image-link:visited, a.image-link:hover, a.image-link:active {
  border: 0;
  background: none;
}
a.image-link img {
  border: 2px solid transparent;
}
a.image-link img:hover, a.image-link img:active {
  border-color: #151530;
}
a.img {
  border: 0;
  background: none;
}
.right {
  float: right;
  margin-left: 5px;
  margin-bottom: 5px;
}
.left {
  float: left;
  margin-right: 8px;
  margin-bottom: 5px;
}
span.left img, span.right img {
  padding-bottom: 10px;
}
span.left img {
  padding-right: 10px;
}
span.right img {
  padding-left: 10px;
}
a.blocklink, .blocklink a {
  display: block;
  padding: 3px;
  margin: 5px 0 0 0;
}
h2#site_title a {
  display: block;
  overflow: hidden;
  width: 261px;
  height: 59px;
  text-indent: -99999px;
  background: url(/images/title.png) no-repeat;
  margin: 0 auto 20px auto;
}

#sidebar {
  float: right;
  width: 220px;
  margin: 0 0 0 40px;
}
#main {
  float: left;
  width: 450px;
}

p.intro {
  font-size: 1.4em;
  line-height: 1.4em;
}

img.screenshot {
  float: right;
  border: 1px solid #ccc;
  display: block;
  margin: 0 0 15px 15px;
}

#me_photo {
  border: 1px solid #aaa;
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  box-shadow: 0 0 20px #888;
  -moz-box-shadow: 0 0 20px #888;
  -webkit-box-shadow: 0 0 20px #888;
}

#what_people_say {
  font-style: italic;
  font-size: 1.1em;
}
  #what_people_say a {
    font-style: normal;
    font-weight: bold;
  }
  #what_people_say li {
    margin: 10px 0;
  }

.portfolio_item {
  overflow: hidden;
}

#disqus_thread ul li {
  background-image: none;
}

#article_meta {
  background: #F5F5F5;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  text-align: center;
  padding: 5px;
  color: #555;
  font-size: 1.2em;
}

#recent-articles h2 {
  margin-top: 30px;
}
#recent-articles h3 {
  margin-top: 30px;
}

/***** CodeRay *****/

pre code {
  border: 1px solid #eee;
  font-family: 'Courier New', 'Terminal', monospace;
  line-height: 1.4em;
  font-size: 1.2em;
  display: block;
  padding: 5px;
  margin: 0 -5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: 1px 1px 2px #ccc;
  -webkit-box-shadow: 1px 1px 2px #ccc;
  box-shadow: 1px 1px 2px #ccc;
}
pre code pre { margin: 0px }

divpre code { }

spanpre code { white-space: pre; border: 0px; padding: 2px }

tablepre code { border-collapse: collapse; width: 100%; padding: 2px }
tablepre code td { padding: 2px 4px; vertical-align: top }

pre code .line_numbers, pre code .no {
  background-color: #def;
  color: gray;
  text-align: right;
}
pre code .line_numbers tt { font-weight: bold }
pre code .line_numbers .highlighted { color: red }
pre code .line { display: block; float: left; width: 100%; }
pre code .no { padding: 0px 4px }
pre code .code { width: 100% }

olpre code { font-size: 10pt }
olpre code li { white-space: pre }

pre code .code pre { overflow: auto }

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

pre code .af { color:#00C }
pre code .an { color:#007 }
pre code .at { color:#f08 }
pre code .av { color:#700 }
pre code .aw { color:#C00 }
pre code .bi { color:#509; font-weight:bold }
pre code .comment  { color:#888; }

pre code .ch { color:#04D }
pre code .ch .k { color:#04D }
pre code .ch .dl { color:#039 }

pre code .class { color:#B06; font-weight:bold }
pre code .cm { color:#A08; font-weight:bold }
pre code .constant { color:#036; font-weight:bold }
pre code .cr { color:#0A0 }
pre code .class-variable { color:#369 }
pre code .de { color:#B0B; }
pre code .df { color:#099; font-weight:bold }
pre code .di { color:#088; font-weight:bold }
pre code .dl { color:black }
pre code .do { color:#970 }
pre code .dt { color:#34b }
pre code .ds { color:#D42; font-weight:bold }
pre code .e  { color:#666; font-weight:bold }
pre code .en { color:#800; font-weight:bold }
pre code .er { color:#F00; background-color:#FAA }
pre code .ex { color:#C00; font-weight:bold }
pre code .fl { color:#60E; font-weight:bold }
pre code .function { color:#06B; font-weight:bold }
pre code .gv { color:#d70; font-weight:bold }
pre code .hx { color:#058; font-weight:bold }
pre code .i  { color:#00D; font-weight:bold }
pre code .ic { color:#B44; font-weight:bold }

pre code .il { background: #ddd; color: black }
pre code .il .il { background: #ccc }
pre code .il .il .il { background: #bbb }
pre code .il .idl { background: #ddd; font-weight: bold; color: #666 }
pre code .idl { background-color: #bbb; font-weight: bold; color: #666; }

pre code .im { color:#f00; }
pre code .in { color:#B2B; font-weight:bold }
pre code .instance-variable { color:#33B }
pre code .la { color:#970; font-weight:bold }
pre code .lv { color:#963 }
pre code .oc { color:#40E; font-weight:bold }
pre code .of { color:#000; font-weight:bold }
pre code .op { }
pre code .predefined-constant { color:#038; font-weight:bold }
pre code .pd { color:#369; font-weight:bold }
pre code .pp { color:#579; }
pre code .ps { color:#00C; font-weight:bold }
pre code .pt { color:#074; font-weight:bold }
pre code .keyword  { color:#080; font-weight:bold }

pre code .key { color: #808; }
pre code .key .dl { color: #606; }
pre code .key .ch { color: #80f; }
pre code .vl { color: #088; }

pre code .rx { background-color:#fff0ff }
pre code .rx .k { color:#808 }
pre code .rx .dl { color:#404 }
pre code .rx .mod { color:#C2C }
pre code .rx .function  { color:#404; font-weight: bold }

pre code .string { background-color:#fff0f0; color: #D20; }
pre code .string .string { background-color:#ffe0e0 }
pre code .string .string .string { background-color:#ffd0d0 }
pre code .string .content { }
pre code .string .ch { color: #b0b; }
pre code .string .delimiter { color: #710; }

pre code .sh { background-color:#f0fff0; color:#2B2 }
pre code .sh .content { }
pre code .sh .delimiter { color:#161 }

pre code .symbol { color:#A60 }
pre code .symbol .content { color:#A60 }
pre code .symbol .delimiter { color:#630 }

pre code .ta { color:#070 }
pre code .tf { color:#070; font-weight:bold }
pre code .ts { color:#D70; font-weight:bold }
pre code .ty { color:#339; font-weight:bold }
pre code .v  { color:#036 }
pre code .xt { color:#444 }

pre code .ins { background: #afa; }
pre code .del { background: #faa; }
pre code .chg { color: #aaf; background: #007; }
pre code .head { color: #f8f; background: #505 }

pre code .ins .ins { color: #080; font-weight:bold }
pre code .del .del { color: #800; font-weight:bold }
pre code .chg .chg { color: #66f; }
pre code .head .head { color: #f4f; }
