/* Styled with Sass, yessir. http://sass-lang.com/ */
.grid_2 {
  width: 140px; }

body {
  font-size: 18px;
  line-height: 1.5em; }

h1 {
  margin: 0;
  font-size: 1.444em;
  line-height: 1.038em;
  margin-bottom: 1.038em; }

h2 {
  margin: 0;
  font-size: 1.333em;
  line-height: 1.125em;
  margin-bottom: 1.125em; }

h3 {
  margin: 0;
  font-size: 1.222em;
  line-height: 1.227em;
  margin-bottom: 1.227em; }

h4, h5 {
  margin: 0;
  font-size: 1.111em;
  line-height: 1.35em;
  margin-bottom: 1.35em; }

h5 {
  text-transform: uppercase; }

p, ul, blockquote, pre, td, th, label, code, cite {
  margin: 0;
  font-size: 1em;
  line-height: 1.5em;
  margin-bottom: 1.5em; }

blockquote {
  margin-bottom: 0; }
  blockquote p {
    margin-bottom: 0; }

code {
  font-size: 0.95em; }

p.small {
  margin: 0;
  font-size: 0.889em;
  line-height: 1.688em;
  margin-bottom: 1.688em; }

p.caption {
  font-size: 14px;
  line-height: 27px;
  margin-bottom: 27px; }

table {
  border-collapse: collapse;
  margin-bottom: 1.5em; }

body {
  font-family: 'Helvetica Neue', Corbel, Helvetica, sans-serif; }
  body p, body th, body td, body blockquote, body cite, body li {
    font-family: 'Myriad Pro', myriad-pro, Corbel, 'Helvetica Neue', Helvetica, 'Lucida Grande', Verdana, sans-serif;
    letter-spacing: -0.5px; }
    body p.small, body th.small, body td.small, body blockquote.small, body cite.small, body li.small {
      font-family: 'Helvetica Neue', Corbel, Helvetica, sans-serif; }
    body p.caption, body th.caption, body td.caption, body blockquote.caption, body cite.caption, body li.caption {
      font-family: 'Myriad Pro', myriad-pro, Corbel, 'Helvetica Neue', Helvetica, 'Lucida Grande', Verdana, sans-serif;
      text-align: right; }
  body blockquote p {
    font-family: "Georgia", serif;
    font-style: italic; }
  body cite {
    display: block;
    text-align: right; }
  body a {
    text-decoration: none;
    color: black;
    border-bottom: 1px solid black; }
    body a:hover {
      border-bottom: 1px solid white; }
  body code {
    font-face: Inconsolata, Bitstream Vera Sans Mono, monospace; }
  body span.amp {
    font-family: "Palatino", "Book Antiqua", serif;
    font-style: italic; }
  body span.caps {
    font-size: 0.9em; }
  body sup, body sub {
    font-size: 0.7em;
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative; }
  body sup {
    bottom: 1ex; }
  body sub {
    top: 0.5ex; }
  body table th {
    text-align: left; }
  body table th, body table td {
    padding: 0 10px 0 0; }

.right {
  text-align: right; }

.left {
  text-align: left; }

.column {
  margin: 0 10px;
  overflow: hidden;
  float: left;
  display: inline; }

.row {
  width: 960px;
  margin: 0 auto;
  overflow: hidden; }
  .row .row {
    margin: 0 -10px;
    width: auto;
    display: inline-block; }

.row.top {
  margin-top: -90px;
  margin-bottom: 0;
  padding-top: 10px;
  padding-left: 0;
  position: relative;
  background-color: #f0f0f0; }

#masthead {
  background-image: url(/blog/images/gradients/dark-noise-208.png);
  background-repeat: repeat-x;
  background-color: black;
  height: 178px; }
  #masthead .logo {
    width: 380px;
    margin-top: 10px;
    margin-left: 10px; }
    #masthead .logo a {
      display: block;
      position: relative;
      height: 60px;
      overflow: hidden;
      border: none; }
      #masthead .logo a #logo {
        position: absolute;
        top: -120px;
        border: none; }
  #masthead .menu {
    width: 540px; }
    #masthead .menu ul {
      margin: 1em 0 0 0; }

#menu-bottom {
  background-color: black;
  background-image: url(/blog/images/gradients/dark-noise-208.png);
  background-repeat: repeat-x; }
  #menu-bottom .column.menu {
    width: 540px;
    margin-left: 410px;
    padding-top: 0.5em;
    padding-bottom: 0.5em; }

.menu ul {
  padding: 0;
  margin: 0;
  text-align: right; }
  .menu ul li {
    list-style-type: none;
    display: inline;
    color: white;
    padding-left: 1em;
    font-family: 'Myriad Pro', myriad-pro, Corbel, 'Helvetica Neue', Helvetica, 'Lucida Grande', Verdana, sans-serif;
    font-weight: normal; }
    .menu ul li a, .menu ul li a:visited {
      color: white;
      text-decoration: none;
      border-bottom: 1px solid #333333; }
      .menu ul li a:hover, .menu ul li a:visited:hover {
        border-bottom: 2px solid white; }
      .menu ul li a.archives, .menu ul li a:visited.archives {
        background-image: url(/blog/images/icons/home-w-16.png);
        background-repeat: no-repeat;
        background-position: 49% 0;
        color: transparent;
        letter-spacing: -5px; }
      .menu ul li a.atom, .menu ul li a:visited.atom {
        background-image: url(/blog/images/icons/feed-16.png);
        background-repeat: no-repeat;
        background-position: 49% 0;
        color: transparent;
        letter-spacing: -5px;
        border-bottom: 1px solid #fc9162; }

#footer {
  padding-top: 27px;
  padding-bottom: 27px;
  color: #cccccc;
  background-image: url(/blog/images/gradients/dark-noise-208.png);
  background-repeat: repeat-x;
  background-color: black; }
  #footer .column {
    width: 220px; }
    #footer .column h3 {
      margin-left: 0; }
    #footer .column p, #footer .column a {
      font-size: 14px;
      line-height: 18px;
      margin-bottom: 27px; }
    #footer .column a, #footer .column a:link {
      color: white;
      border-bottom: 1px solid #999999; }
      #footer .column a:hover, #footer .column a:link:hover {
        border-bottom: 1px solid white; }
    #footer .column p#twitter {
      color: #ddeef6; }
    #footer .column p#railsmachine {
      color: #c93b2e; }

#screencast_columns {
  background: #2f2f2f;
  color: #fefefe;
  padding-top: 1em;
  border-top: 1px solid black;
  border-bottom: 1px solid black; }
  #screencast_columns ul {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0; }
    #screencast_columns ul li {
      font-family: 'Myriad Pro', myriad-pro, Corbel, 'Helvetica Neue', Helvetica, 'Lucida Grande', Verdana, sans-serif;
      font-weight: normal;
      text-transform: none;
      text-indent: -1em;
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 1em;
      margin-top: 0;
      margin-bottom: 0;
      line-height: 1.6em; }
      #screencast_columns ul li a, #screencast_columns ul li a:link {
        padding: 3px 1px;
        color: #e5e5e5;
        font-size: 12px;
        border-bottom: 1px dotted #545454; }
      #screencast_columns ul li a:visited {
        color: #989898;
        border-bottom: 1px dotted #111111; }
      #screencast_columns ul li a:active {
        background-color: white; }
      #screencast_columns ul li a:hover {
        color: #f8cb8b;
        background-color: transparent;
        border-bottom: 2px solid #111111;
        text-shadow: 1px 1px 0 black; }
      #screencast_columns ul li h3 {
        margin-left: 0;
        margin-bottom: 0;
        font-family: 'Helvetica Neue', Corbel, Helvetica, sans-serif;
        font-weight: bold;
        font-size: 13px;
        text-transform: uppercase; }

body.index h2 {
  margin-bottom: 0; }
body.index #sidebar {
  width: 220px; }
body.index #content {
  width: 700px; }

.grid_2 {
  width: 140px; }

body.page .date {
  color: #cfcfcc; }
body.page .row h1 {
  line-height: 4.152em;
  margin-bottom: 0;
  background-repeat: no-repeat;
  overflow: hidden; }
body.page .row .heading {
  width: 940px; }
  body.page .row .heading .page-date {
    position: absolute;
    text-align: right;
    right: 30px; }
body.page .row .todo {
  background-color: #ffcccc;
  font-weight: bold;
  padding-left: 2em;
  background-image: url(/blog/images/icons/todo-24.png);
  background-repeat: no-repeat; }
  body.page .row .todo span {
    color: red;
    padding-right: 0.5em; }
body.page .row .movie-link {
  background-image: url(/blog/images/icons/screencast-32.png);
  background-repeat: no-repeat;
  padding-left: 48px;
  height: 32px;
  margin-bottom: 27px;
  margin-top: -5px; }
  body.page .row .movie-link a {
    margin-left: 1em; }
body.page .row .highlight-file-link {
  background-image: url(/blog/images/icons/document-32.png);
  background-repeat: no-repeat;
  background-position: -6px 0;
  padding-left: 30px;
  height: 32px;
  margin-top: -5px;
  margin-bottom: 0;
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
  body.page .row .highlight-file-link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  body.page .row .highlight-file-link a, body.page .row .highlight-file-link a:visited {
    font-family: 'Myriad Pro', myriad-pro, Corbel, 'Helvetica Neue', Helvetica, 'Lucida Grande', Verdana, sans-serif;
    display: block;
    padding-top: 6px;
    border-bottom: none;
    color: black; }
body.page .row sup a, body.page .row sup a:visited {
  color: #666666;
  border-bottom: none; }
  body.page .row sup a:hover, body.page .row sup a:visited:hover {
    background-color: #333333;
    color: white; }
body.page .row .footnotes {
  width: 940px;
  padding-bottom: 1em; }
  body.page .row .footnotes p {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 8px;
    color: #333333;
    text-indent: -0.8em;
    padding-left: 0.8em; }

.grid_2 {
  width: 140px; }

body.archives .column.main {
  width: 940px;
  height: 108px; }
  body.archives .column.main h1 {
    height: 4em;
    margin-bottom: 0;
    margin-left: 5px; }
body.archives #archives {
  width: 960px;
  margin-bottom: 81px; }
  body.archives #archives ul {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0; }
    body.archives #archives ul li {
      width: 220px;
      margin: 0 20px 0 0;
      padding: 0;
      float: left;
      list-style-type: none; }
      body.archives #archives ul li a {
        border: none; }
      body.archives #archives ul li img {
        width: 220px;
        height: 270px;
        border: none;
        margin: 0;
        padding: 0; }
        body.archives #archives ul li img:hover {
          opacity: 0.5;
          filter: alpha(opacity=50);
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
      body.archives #archives ul li .date {
        font-size: 14px;
        line-height: 27px;
        margin-bottom: 27px;
        text-align: right;
        color: #999999; }
      body.archives #archives ul li span.heading {
        display: none; }

.hll {
  background-color: #ffffcc; }

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

.k {
  color: green;
  font-weight: bold; }

.o {
  color: #666666; }

.cm {
  color: #408080;
  font-style: italic; }

.cp {
  color: #bc7a00; }

.c1, .cs {
  color: #408080;
  font-style: italic; }

.gd {
  color: #a00000; }

.ge {
  font-style: italic; }

.gr {
  color: red; }

.gh {
  color: navy;
  font-weight: bold; }

.gi {
  color: #00a000; }

.go {
  color: gray; }

.gp {
  color: navy;
  font-weight: bold; }

.gs {
  font-weight: bold; }

.gu {
  color: purple;
  font-weight: bold; }

.gt {
  color: #0040d0; }

.kc, .kd, .kn {
  color: green;
  font-weight: bold; }

.kp {
  color: green; }

.kr {
  color: green;
  font-weight: bold; }

.kt {
  color: #b00040; }

.m {
  color: #666666; }

.s {
  color: #ba2121; }

.na {
  color: #7d9029; }

.nb {
  color: green; }

.nc {
  color: blue;
  font-weight: bold; }

.no {
  color: #880000; }

.nd {
  color: #aa22ff; }

.ni {
  color: #999999;
  font-weight: bold; }

.ne {
  color: #d2413a;
  font-weight: bold; }

.nf {
  color: blue; }

.nl {
  color: #a0a000; }

.nn {
  color: blue;
  font-weight: bold; }

.nt {
  color: green;
  font-weight: bold; }

.nv {
  color: #19177c; }

.ow {
  color: #aa22ff;
  font-weight: bold; }

.w {
  color: #bbbbbb; }

.mf, .mh, .mi, .mo {
  color: #666666; }

.sb, .sc {
  color: #ba2121; }

.sd {
  color: #ba2121;
  font-style: italic; }

.s2 {
  color: #ba2121; }

.se {
  color: #bb6622;
  font-weight: bold; }

.sh {
  color: #ba2121; }

.si {
  color: #bb6688;
  font-weight: bold; }

.sx {
  color: green; }

.sr {
  color: #bb6688; }

.s1 {
  color: #ba2121; }

.ss {
  color: #19177c; }

.bp {
  color: green; }

.vc, .vg, .vi {
  color: #19177c; }

.il {
  color: #666666; }

body {
  margin: 0;
  padding: 0;
  background-color: #f0f0f0; }
  body.debug .row.top, body.debug .row.article, body.debug .row {
    background-image: url(/blog/images/grid/27px-leading-w-60-80-grid.png);
    background-position: 10px 10px;
    background-repeat: repeat; }
  body.debug .row.article {
    background-position: 10px 0; }

