@charset "UTF-8";
@import url(//fonts.googleapis.com/css?family=Lato:300,700,900,300italic|Ubuntu+Mono);
@import url(//fonts.googleapis.com/css?family=Lato:400,400italic) (-webkit-min-device-pixel-ratio: 2);
html {
  margin: 0;
  padding: 0;
  border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary, blockquote, q, th, td, caption, table, body, div, span, object, iframe, p,
pre, a, abbr, acronym, address,
code, del, dfn, em, img,
dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, tbody, tfoot, thead, tr, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

blockquote, q {
  quotes: "" "";
}
blockquote:before, q:before, blockquote:after, q:after {
  content: "";
}

th, td, caption {
  float: none !important;
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}

a img {
  border: none;
}

.hll {
  background-color: #ffffcc;
}

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

/* Comment */
.err {
  color: #a61717;
  background-color: #e3d2d2;
}

/* Error */
.k {
  color: #000000;
  font-weight: bold;
}

/* Keyword */
.o {
  color: #000000;
  font-weight: bold;
}

/* Operator */
.cm {
  color: #999988;
  font-style: italic;
}

/* Comment.Multiline */
.cp {
  color: #999999;
  font-weight: bold;
  font-style: italic;
}

/* Comment.Preproc */
.c1 {
  color: #999988;
  font-style: italic;
}

/* Comment.Single */
.cs {
  color: #999999;
  font-weight: bold;
  font-style: italic;
}

/* Comment.Special */
.gd {
  color: #000000;
  background-color: #ffdddd;
}

/* Generic.Deleted */
.ge {
  color: #000000;
  font-style: italic;
}

/* Generic.Emph */
.gr {
  color: #aa0000;
}

/* Generic.Error */
.gh {
  color: #999999;
}

/* Generic.Heading */
.gi {
  color: #000000;
  background-color: #ddffdd;
}

/* Generic.Inserted */
.go {
  color: #888888;
}

/* Generic.Output */
.gp {
  color: #555555;
}

/* Generic.Prompt */
.gs {
  font-weight: bold;
}

/* Generic.Strong */
.gu {
  color: #aaaaaa;
}

/* Generic.Subheading */
.gt {
  color: #aa0000;
}

/* Generic.Traceback */
.kc {
  color: #000000;
  font-weight: bold;
}

/* Keyword.Constant */
.kd {
  color: #000000;
  font-weight: bold;
}

/* Keyword.Declaration */
.kn {
  color: #000000;
  font-weight: bold;
}

/* Keyword.Namespace */
.kp {
  color: #000000;
  font-weight: bold;
}

/* Keyword.Pseudo */
.kr {
  color: #000000;
  font-weight: bold;
}

/* Keyword.Reserved */
.kt {
  color: #445588;
  font-weight: bold;
}

/* Keyword.Type */
.m {
  color: #009999;
}

/* Literal.Number */
.s {
  color: #d01040;
}

/* Literal.String */
.na {
  color: #008080;
}

/* Name.Attribute */
.nb {
  color: #0086B3;
}

/* Name.Builtin */
.nc {
  color: #445588;
  font-weight: bold;
}

/* Name.Class */
.no {
  color: #008080;
}

/* Name.Constant */
.nd {
  color: #3c5d5d;
  font-weight: bold;
}

/* Name.Decorator */
.ni {
  color: #800080;
}

/* Name.Entity */
.ne {
  color: #990000;
  font-weight: bold;
}

/* Name.Exception */
.nf {
  color: #990000;
  font-weight: bold;
}

/* Name.Function */
.nl {
  color: #990000;
  font-weight: bold;
}

/* Name.Label */
.nn {
  color: #555555;
}

/* Name.Namespace */
.nt {
  color: #000080;
}

/* Name.Tag */
.nv {
  color: #008080;
}

/* Name.Variable */
.ow {
  color: #000000;
  font-weight: bold;
}

/* Operator.Word */
.w {
  color: #bbbbbb;
}

/* Text.Whitespace */
.mf {
  color: #009999;
}

/* Literal.Number.Float */
.mh {
  color: #009999;
}

/* Literal.Number.Hex */
.mi {
  color: #009999;
}

/* Literal.Number.Integer */
.mo {
  color: #009999;
}

/* Literal.Number.Oct */
.sb {
  color: #d01040;
}

/* Literal.String.Backtick */
.sc {
  color: #d01040;
}

/* Literal.String.Char */
.sd {
  color: #d01040;
}

/* Literal.String.Doc */
.s2 {
  color: #d01040;
}

/* Literal.String.Double */
.se {
  color: #d01040;
}

/* Literal.String.Escape */
.sh {
  color: #d01040;
}

/* Literal.String.Heredoc */
.si {
  color: #d01040;
}

/* Literal.String.Interpol */
.sx {
  color: #d01040;
}

/* Literal.String.Other */
.sr {
  color: #009926;
}

/* Literal.String.Regex */
.s1 {
  color: #d01040;
}

/* Literal.String.Single */
.ss {
  color: #990073;
}

/* Literal.String.Symbol */
.bp {
  color: #999999;
}

/* Name.Builtin.Pseudo */
.vc {
  color: #008080;
}

/* Name.Variable.Class */
.vg {
  color: #008080;
}

/* Name.Variable.Global */
.vi {
  color: #008080;
}

/* Name.Variable.Instance */
.il {
  color: #009999;
}

/* Literal.Number.Integer.Long */
body {
  line-height: 1.5;
  font-family: "Lato", sans-serif;
  color: #444;
  font-size: 87.5%;
  font-weight: 300;
  letter-spacing: 0;
}

@media screen and (min-width: 480px) {
  body {
    line-height: 1.5;
    font-family: "Lato", sans-serif;
    color: #444;
    font-size: 112.5%;
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
  body {
    color: #444;
    font-weight: 400;
  }
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  color: #333333;
}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
  margin: 0;
}

h1 {
  font-size: 3em;
  line-height: 1;
  margin-bottom: 0.50em;
}

h2 {
  font-size: 2em;
  margin-bottom: 0.75em;
}

h3 {
  font-size: 1.5em;
  line-height: 1;
  margin-bottom: 1.00em;
}

h4 {
  font-size: 1.2em;
  line-height: 1.25;
  margin-bottom: 1.25em;
}

h5 {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 1.50em;
}

h6 {
  font-size: 1em;
  font-weight: bold;
}

p {
  margin: 0 0 1.5em;
}
p .left {
  float: left;
  margin: 1.5em 1.5em 1.5em 0;
  padding: 0;
}
p .right {
  float: right;
  margin: 1.5em 0 1.5em 1.5em;
  padding: 0;
}

a {
  text-decoration: underline;
  color: #105f94;
}
a:visited {
  color: #105f94;
}
a:focus {
  color: #105f94;
}
a:hover {
  color: #105f94;
}
a:active {
  color: #8cf;
}

blockquote {
  margin: 1.5em;
  color: #666666;
  font-style: italic;
}

strong, dfn {
  font-weight: bold;
}

em, dfn {
  font-style: italic;
}

sup, sub {
  line-height: 0;
}

abbr, acronym {
  border-bottom: 1px dotted #666666;
}

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

del {
  color: #666666;
}

pre {
  margin: 1.5em 0;
  white-space: pre;
}

pre, code, tt {
  font: 1em "andale mono", "lucida console", monospace;
  line-height: 1.5;
}

li ul, li ol {
  margin: 0;
}

ul, ol {
  margin: 0 1.5em 1.5em 0;
  padding-left: 1.5em;
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

dl {
  margin: 0 0 1.5em 0;
}
dl dt {
  font-weight: bold;
}

dd {
  margin-left: 1.5em;
}

table {
  margin-bottom: 1.4em;
  width: 100%;
}

th {
  font-weight: bold;
}

thead th {
  background: #c3d9ff;
}

th, td, caption {
  padding: 4px 10px 4px 5px;
}

table.striped tr:nth-child(even) td,
table tr.even td {
  background: #e5ecf9;
}

tfoot {
  font-style: italic;
}

caption {
  background: #eeeeee;
}

.quiet {
  color: #777;
}

.loud {
  color: #222222;
}

h2 {
  font-size: 1.5em;
  font-weight: inherit;
  line-height: 1;
}

a {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

pre, code, tt {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.84em;
  overflow: auto;
}

.container {
  margin: 20px;
}

@media screen and (min-width: 480px) {
  .content {
    margin: 40px auto;
    max-width: 648px;
  }
}
@media screen and (min-width: 768px) {
  .cv {
    width: 648px;
    margin: 40px auto;
  }
  .cv .projects {
    margin-left: -40px;
    font-size: 0px;
  }
  .cv .project {
    font-size: 18px;
    display: inline-block;
    vertical-align: top;
    width: 304px;
    margin-left: 40px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  p {
    text-align: justify;
  }
}
.box-4x3 {
  position: relative;
  padding-bottom: 75%;
  height: 0;
}
.box-4x3 .box-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

hr {
  border: 1px solid #aaa;
  border-width: 1px 0;
  margin-bottom: 1.5em;
}

@-moz-document url-prefix() {
  h1 a {
    padding-top: 0.1em;
  }

  html.wf-active h1 a {
    padding-top: 0;
  }
}
header {
  text-align: center;
  margin-bottom: 1.5em;
}
header a, header .links {
  color: #105f94;
}
header .logo a {
  font-family: "Lato", sans-serif;
  font-size: 22px;
  line-height: 1em;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  color: white !important;
  background: #105f94;
  display: inline-block;
  width: 150px;
  height: 150px;
  padding-top: 75px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
header .logo a span {
  position: relative;
  top: -1em;
}
header .logo a:hover {
  text-decoration: none;
  color: white !important;
  background: #105f94;
}

.article header a, .article header .links {
  color: #ddd;
}
.article header a:hover {
  color: #105f94;
}
.article header .logo a {
  color: #fff !important;
  background: #ddd;
}
.article header .logo a:hover {
  color: white !important;
  background: #105f94;
}

.links {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.links li {
  display: inline;
}
.links li:before {
  content: "·";
}
.links li:first-child:before {
  display: none;
}

.about {
  text-align: center;
}

h2 {
  margin-bottom: 1em;
}

.project {
  margin-bottom: 48px;
}
.project .title {
  font-size: 1.2em;
  margin-bottom: 16px;
}
.project img {
  display: block;
  width: 100%;
  margin: auto;
  margin-bottom: 16px;
}
.project p {
  text-align: left;
}
.project p a {
  text-decoration: underline;
}

.cv h2 {
  text-align: center;
}

.project .title, .article .title {
  font-weight: 700;
}
.project .metadata, .article .metadata {
  color: #777;
}
.project .metadata > *, .article .metadata > * {
  display: inline;
}
.project .metadata > *:before, .article .metadata > *:before {
  content: "· ";
  color: #777 !important;
}
.project .metadata > *:first-child:before, .article .metadata > *:first-child:before {
  display: none;
}
.project .summary, .article .summary {
  font-style: italic;
}
.project .literate-intro, .article .literate-intro {
  font-size: 0.9em;
}
.project .literate-intro, .project .literate-intro a, .project .literate-intro code, .article .literate-intro, .article .literate-intro a, .article .literate-intro code {
  color: #777;
}
.project p a, .article p a {
  text-decoration: underline;
}
.project p code, .article p code {
  color: #222;
}

.article .title, .article .metadata {
  text-align: center;
}

pre {
  padding: 0 30px;
  margin: 30px 0;
}

.footnotes ol {
  font-size: 0.8em;
  line-height: 1.875em;
}
.footnotes ol p {
  margin: 0;
}

.not-found {
  text-align: center;
}
.not-found:before {
  display: block;
  content: "404";
  font-family: "Lato", sans-serif;
  font-size: 10em;
}
