@import url(//code.cdn.mozilla.net/fonts/fira.css);
@import url(/fonts/firacode/firacode.css);

body {
  padding:50px;
  font:9pt/1.5 'Fira Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
  color:#444;
  font-weight:300;
  text-rendering: optimizeLegibility;
}

.enable-ligatures {
  font-family:'Fira Code','Fira Mono','Monaco','Bitstream Vera Sans Mono','Lucida Console','Terminal';
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6, .falseheader {
  color:#222;
  margin:0 0 20px;
}

p, ul, ol, table, pre, dl {
  margin:0 0 20px;
}

h1, h2, h3, .falseheader {
  line-height:1.1;
}

h1, .falseheader {
  font-size:150%;
}

header .falseheader {
  font-size: 200%
}

h2 {
  color:#393939;
}

h3, h4, h5, h6 {
  color:#494949;
}

a {
  color:#39c;
  font-weight:400;
  text-decoration:none;
}

a small {
  font-size:90%;
  color:#777;
  margin-top:-0.6em;
  display:block;
}

.wrapper {
  width:1160px;
  margin:0 auto;
}

blockquote {
  border-left:1px solid #e5e5e5;
  margin:0;
  padding:0 0 0 20px;
  font-style:italic;
}

code, pre {
  font-family:'Fira Mono','Monaco','Bitstream Vera Sans Mono','Lucida Console','Terminal';
  padding:2px 4px;
  color:#d14;
  background-color:#f7f7f9;
  border:1px solid #e1e1e8;
  -webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;
}

pre {
  padding:8px 15px;
  background: #f8f8f8;
  border-radius:5px;
  border:1px solid #e5e5e5;
  overflow-x: auto;
}

table.pre pre, table.pre code {
  color: inherit;
  background-color: inherit;
  padding: 0;
  border: 0;
}

table.pre pre, table.pre code, table.pre span {
  font-size: 10pt;
  line-height: 1.35;
}

div.tip {
  font-family:'Fira Sans','Helvetica Neue',Helvetica,Arial,sans-serif
}

table {
  width:100%;
  border-collapse:collapse;
}

th, td {
  text-align:left;
  padding:5px 10px;
}

dt {
  color:#444;
  font-weight:700;
}

th {
  color:#444;
}

img {
  max-width:100%;
}

header {
  width:270px;
  float:left;
  position:fixed;
}

header ul {
  list-style:none;
  height:40px;

  padding:0;

  background: #eee;
  background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
  background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%);

  border-radius:5px;
  border:1px solid #d2d2d2;
  box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0;
  width:270px;
}

header li {
  width:89px;
  float:left;
  border-right:1px solid #d2d2d2;
  height:40px;
}

header ul a {
  line-height:1;
  /*font-size:90%;*/
  color:#999;
  display:block;
  text-align:center;
  padding-top:6px;
  height:40px;
}

strong {
  color:#222;
  font-weight:700;
}

header ul li + li {
  width:88px;
  border-left:1px solid #fff;
}

header ul li + li + li {
  border-right:none;
  width:89px;
}

header ul a strong {
  font-size:110%;
  display:block;
  color:#222;
}

section {
  width:800px;
  float:right;
  padding-bottom:50px;
  font-size: 140%;
}

section p {
  text-align: justify;
}

section abbr {
  border-bottom: 2px dotted #6C7B8B;
}

small {
  font-size:75%;
}

hr {
  border:0;
  background:#e5e5e5;
  height:1px;
  margin:0 0 20px;
}

footer {
  width:270px;
  float:left;
  position:fixed;
  bottom:0;
  font-size:90%;
  background: #fff;
  padding: 10px 0;
}

footer p, footer ul {
  margin: 0
}

footer ul {
  padding-left:0;
  margin-left:1em;
  list-style-type:none;
}

.draft {
  background-image: url(/images/draft.svg);
  background-attachment: fixed;
  background-position: center;
  background-size: 100px;
}

@media print, screen and (max-width: 1260px) {

  div.wrapper {
    width:auto;
    margin:0;
  }

  header, section, footer {
    float:none;
    position:static;
    width:auto;
  }

  header {
    padding-right:320px;
  }

  section {
    border:1px solid #e5e5e5;
    border-width:1px 0;
    padding:20px 0;
    margin:0 0 20px;
  }

  header a small {
    display:inline;
  }

  header ul {
    position:absolute;
    right:50px;
    top:52px;
  }
}

@media print, screen and (max-width: 1020px) {
  body {
    word-wrap:break-word;
    hyphens: auto;
  }

  header {
    padding:0;
  }

  header ul, header p.view {
    position:static;
  }

  pre, code {
    word-wrap:normal;
    hyphens: none;
  }
}

@media print, screen and (max-width: 480px) {
  body {
    padding:15px;
  }

  header ul {
    display:none;
  }
}

@media print {
  body {
    padding:0.4in;
    font-size:8pt;
    color:#444;
  }

  blockquote {
    page-break-inside:avoid;
  }

  table.pre {
    width:auto;
    border:#ddd 2px dotted;
    -webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;
    page-break-inside:avoid;
  }

  table.pre pre, table.pre code, table.pre span {
    font-size:9pt;
    margin:0;
  }

  div.tip, .noprint {
    display:none!important;
  }
}

.h2link {
	margin: 0 0 8px;
}

.ref {
  font-size: 75%;
  vertical-align: super
}

.footnotes {
  padding:0 0 0 1em;
  font-size: 75%;
}