@font-face {
    font-family: 'charterbold_italic';
    src: url('charter/charter_bold_italic-webfont.eot');
    src: url('charter/charter_bold_italic-webfont.eot?#iefix') format('embedded-opentype'),
         url('charter/charter_bold_italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'charterbold';
    src: url('charter/charter_bold-webfont.eot');
    src: url('charter/charter_bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('charter/charter_bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'charteritalic';
    src: url('charter/charter_italic-webfont.eot');
    src: url('charter/charter_italic-webfont.eot?#iefix') format('embedded-opentype'),
         url('charter/charter_italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'charterregular';
    src: url('charter/charter_regular-webfont.eot');
    src: url('charter/charter_regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('charter/charter_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'League Spartan';
    src: url('spartan/leaguespartan-bold.eot');
    src: url('spartan/leaguespartan-bold.eot?#iefix') format('embedded-opentype'),
         url('spartan/leaguespartan-bold.woff2') format('woff2'),
         url('spartan/leaguespartan-bold.woff') format('woff'),
         url('spartan/leaguespartan-bold.ttf') format('truetype'),
         url('spartan/leaguespartan-bold.svg#league_spartanbold') format('svg');
    font-weight: bold;
    font-style: normal;
}

/* --------------------------------------------------------------

   reset.css
   * Resets default browser CSS.

-------------------------------------------------------------- */

html {
  margin:0;
  padding:0;
  border:0;
}

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

/* This helps to make newer HTML5 elements behave like DIVs in older browers */
article, aside, details, figcaption, figure, dialog,
footer, header, hgroup, menu, nav, section {
    display:block;
}

/* Line-height should always be unitless! */
body {
  line-height: 1.5;
  background: white;
}

/* Tables still need 'cellspacing="0"' in the markup. */
table {
  border-collapse: separate;
  border-spacing: 0;
}
/* float:none prevents the span-x classes from breaking table-cell display */
caption, th, td {
  text-align: left;
  font-weight: normal;
  float:none !important;
}
table, th, td {
  vertical-align: middle;
}

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ''; }
blockquote, q { quotes: "" ""; }

/* Remove annoying border on linked images. */
a img { border: none; }

/* Remember to define your own focus styles! */
:focus { outline: 0; }

.highlight .hll { background-color: #ffffcc }
.highlight  { background: #ffffff; }
.highlight .c { color: #808080 } /* Comment */
.highlight .err { color: #F00000; background-color: #F0A0A0 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #303030 } /* Operator */
.highlight .cm { color: #808080 } /* Comment.Multiline */
.highlight .cp { color: #507090 } /* Comment.Preproc */
.highlight .c1 { color: #808080 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #808080 } /* Generic.Output */
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #003080; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #303090; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #6000E0; font-weight: bold } /* Literal.Number */
.highlight .s { background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #0000C0 } /* Name.Attribute */
.highlight .nb { color: #007020 } /* Name.Builtin */
.highlight .nc { color: #B00060; font-weight: bold } /* Name.Class */
.highlight .no { color: #003060; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #505050; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #800000; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #F00000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0060B0; font-weight: bold } /* Name.Function */
.highlight .nl { color: #907000; font-weight: bold } /* Name.Label */
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #007000 } /* Name.Tag */
.highlight .nv { color: #906030 } /* Name.Variable */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #6000E0; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #005080; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000D0; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #4000E0; font-weight: bold } /* Literal.Number.Oct */
.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc, .highlight .s2, .highlight .s1 { color: #0040D0 } /* Literal.String.Char */
.highlight .sd { color: #D04020 } /* Literal.String.Doc */
.highlight .se { color: #606060; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .si { background-color: #e0e0e0 } /* Literal.String.Interpol */
.highlight .sx { color: #D02000; background-color: #fff0f0 } /* Literal.String.Other */
.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .ss { color: #A06000 } /* Literal.String.Symbol */
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #306090 } /* Name.Variable.Class */
.highlight .vg { color: #d07000; font-weight: bold } /* Name.Variable.Global */
.highlight .vi { color: #3030B0 } /* Name.Variable.Instance */
.highlight .il { color: #0000D0; font-weight: bold } /* Literal.Number.Integer.Long */

body {
  color:#516066;
  margin:0 auto;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body, .normal {
  font: normal 17px/35px "charterregular", serif;
}

a {
  text-decoration:none;
  color:#00588F;
}

p { margin: 15px 0; }
.flex { display: flex; }
.flex-none { flex: none; }
.flex-auto {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.body a { background:#f9f9f9; }
.body a:hover { background: #FFF9C9; }

a:hover { color:#2F314B; }

img {
  width:100%;
  max-width:640px;
}

ol { margin-left:30px; }
ul { margin:10px 20px; }
ol li ul { margin:5px 20px; }


iframe {
  border: 0;
}

small {
  font: normal 11px "charterregular", serif;
}

br {
  line-height:10em;
}

h1, h2 {
  color:#34404D;
  font-weight:bold;
}

h1 {
  font-weight: 700;
  font-size: 35px;
  line-height: 40px;
  margin:20px 0;
}

h1 a {
  color:#111;
}

h2, h3 {
  font-weight: 700
}

h2 {
  font-size: 28px;
  line-height: 40px;
  margin:20px 0 10px 0;
}

h3 {
  font-size: 18px;
  line-height: 30px;
  margin:10px 0;
}

em { font-style:italic; }

ul.navigation {
  list-style:none;
  margin:0;
}

ul.navigation li {
  font:normal 13px/15px League Spartan, Verdana, sans-serif;
  display:inline-block;
  margin-right:10px;
}

.light { color: #887; }

.limiter {
  width: 83.3333%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

/* Padding
------------------------------------------------------- */
.pad1    { padding:10px; }
.pad2    { padding:20px; }
.pad4    { padding:40px; }

.pad1x { padding-left: 10px; padding-right: 10px;}
.pad2x { padding-left: 20px; padding-right: 20px;}
.pad4x { padding-left: 40px; padding-right: 40px;}

.pad1y { padding-top: 10px; padding-bottom: 10px;}
.pad2y { padding-top: 20px; padding-bottom: 20px;}
.pad4y { padding-top: 40px; padding-bottom: 40px;}

.pad8 {  padding: 80px; }
.pad8y { padding-top: 80px; padding-bottom: 80px;}
.pad8x { padding-left: 80px; padding-right: 80px;}

.inset-right {
  float:right;
  margin-left:10px;
  margin-bottom:10px;
}

div.shutter-300 {
  overflow:hidden;
  height:300px;
  margin:20px 0;
}

div.shutter-300 img {
  margin-top:-50px;
}

.white-on-white {
  border:1px solid #000;
  margin:-1px;
}

span.image-credit {
  float:right;
  margin:0 0 10px 10px;
  font-size:12px;
}

span.image-credit:before {
  content: '↑';
  margin-right:5px;
}

p code, li code,g.highlight, pre code, .code {
  font: 15px/35px Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
}

.highlight, blockquote {
  overflow-x: auto;
  padding: 10px;
  background: #f6f6f6;
}

.highlight { margin: 10px 0; }

div.post blockquote p {
  margin:0;
}

.center { text-align: center; }

div.link-block {
  font: bold 16px/40px charterregular, 'Helvetica Neue', helvetica, sans-serif;
  background:#f0f0f0;
  padding:5px;
  text-align:center;
}

div.link-block a {
  text-decoration:underline;
  background:transparent;
}

/* TODO: get real */
code.has-jax {
  font: inherit;
  font-size: 100%;
  background: inherit;
  border: inherit;
}

table.equitable {
  width:640px;
}

table.equitable tr td:first-child {
  border-right:1px solid #3A7680;
  width:319px;
}

td {
  vertical-align:top;
}

/* introduced with gif polyrythms */
table.data-table {
  border-collapse:collapse;
}

table.data-table td,
table.data-table th {
  border-collapse:collapse;
  padding:5px;
}

.table-lined td,
.table-lined th {
  border-bottom:1px solid #f2f2f2;
}

table.data-table th {
  font-weight:normal;
}

.button {
  font:inherit;
  border:0;
  border-bottom:1px solid #eee;
  border-radius:0;
  background:#fff;
  padding:5px;
}

.button {
  border:0;
  padding: 6px 7px 6px 0px;
}

