html, body {
  margin: 0;
  width: 100%;
  min-width: 20em; }

@font-face {
  font-family: 'Voltaire';
  src: url("assets/fonts/Voltaire/Voltaire.eot");
  src: url("assets/fonts/Voltaire/Voltaired41d.eot?#iefix") format("embedded-opentype"), url("assets/fonts/Voltaire/Voltaire.woff") format("woff"), url("assets/fonts/Voltaire/Voltaire.ttf") format("truetype"), url("assets/fonts/Voltaire/Voltaire.svg#webfont") format("svg"); }

@font-face {
  font-family: 'Source Sans Pro';
  src: url("assets/fonts/SourceSansPro/sourcesanspro-regular-webfont.eot");
  src: url("assets/fonts/SourceSansPro/sourcesanspro-regular-webfontd41d.eot?#iefix") format("embedded-opentype"), url("assets/fonts/SourceSansPro/sourcesanspro-regular-webfont.woff") format("woff"), url("assets/fonts/SourceSansPro/sourcesanspro-regular-webfont.ttf") format("truetype"), url("assets/fonts/SourceSansPro/sourcesanspro-regular-webfont.svg#source_sans_proregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Source Sans Pro';
  src: url("assets/fonts/SourceSansPro/sourcesanspro-semibold-webfont.eot");
  src: url("assets/fonts/SourceSansPro/sourcesanspro-semibold-webfontd41d.eot?#iefix") format("embedded-opentype"), url("assets/fonts/SourceSansPro/sourcesanspro-semibold-webfont.woff") format("woff"), url("assets/fonts/SourceSansPro/sourcesanspro-semibold-webfont.ttf") format("truetype"), url("assets/fonts/SourceSansPro/sourcesanspro-semibold-webfont.svg#source_sans_prosemibold") format("svg");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Source Sans Pro';
  src: url("assets/fonts/SourceSansPro/sourcesanspro-light-webfont.eot");
  src: url("assets/fonts/SourceSansPro/sourcesanspro-light-webfontd41d.eot?#iefix") format("embedded-opentype"), url("assets/fonts/SourceSansPro/sourcesanspro-light-webfont.woff") format("woff"), url("assets/fonts/SourceSansPro/sourcesanspro-light-webfont.ttf") format("truetype"), url("assets/fonts/SourceSansPro/sourcesanspro-light-webfont.svg#source_sans_prolight") format("svg");
  font-weight: 200;
  font-style: normal; }

@font-face {
  font-family: 'Inconsolata';
  src: url("assets/fonts/Inconsolata/inconsolata-regular-webfont.eot");
  src: url("assets/fonts/Inconsolata/inconsolata-regular-webfontd41d.eot?#iefix") format("embedded-opentype"), url("assets/fonts/Inconsolata/inconsolata-regular-webfont.woff") format("woff"), url("assets/fonts/Inconsolata/inconsolata-regular-webfont.ttf") format("truetype"), url("assets/fonts/Inconsolata/inconsolata-regular-webfont.svg#inconsolataregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Inconsolata';
  src: url("assets/fonts/Inconsolata/inconsolata-bold-webfont.eot");
  src: url("assets/fonts/Inconsolata/inconsolata-bold-webfontd41d.eot?#iefix") format("embedded-opentype"), url("assets/fonts/Inconsolata/inconsolata-bold-webfont.woff") format("woff"), url("assets/fonts/Inconsolata/inconsolata-bold-webfont.ttf") format("truetype"), url("assets/fonts/Inconsolata/inconsolata-bold-webfont.svg#inconsolatabold") format("svg");
  font-weight: 500;
  font-style: normal; }

body {
  font-family: 'Source Sans Pro', 'Arial', sans-serif;
  color: #555;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased; }

h1 {
  font-family: 'Voltaire';
  margin: 2em 0 0.5em 0;
  font-weight: normal;
  color: #222; }
  
h2 {
  font-family: 'Voltaire';
  margin: 1.0em 0 0.5em 0;
  font-weight: normal;
  color: #222; }

h3, h4, h5, h6 {
  font-family: 'Source Sans Pro', arial, sans-serif;
  font-weight: 500;
  margin: 0 0 0.5em 0;
  color: #222; }

p {
  margin: 0 0 1em 0; }

a {
  color: #729d34;
  text-decoration: none; }

a:hover {
  text-decoration: underline; }
  
.alink-jdoc {
  background-color: transparent;
  font-family: Inconsolata, monospace;
  font-size: 1em;
  padding: 0.2em 0.5em; }

pre, code {
  font-family: Inconsolata, monospace; }

strong, b {
  font-weight: 500; }

li {
  margin: 0 0 0.5em 0; }

nav {
  position: relative;
  width: 100%;
  background-color: #f9fcf6;
  font-weight: 500; }
  nav ul, nav li {
    margin: 0;
    padding: 0;
    list-style: none; }
  nav ul {
    display: block;
    height: 0;
    overflow: hidden;
    -webkit-transition: height 0.4s ease-out;
    -moz-transition: height 0.4s ease-out;
    -ms-transition: height 0.4s ease-out;
    -o-transition: height 0.4s ease-out;
    transition: height 0.4s ease-out; }
    nav ul .selected {
      background-color: #729d34;
      color: white; }
      nav ul .selected a {
        color: white; }
  nav li {
    display: block; }
  nav a {
    display: block;
    padding: 0.7em 0.7em 0.7em 1em; }
  nav button, nav button:hover, nav button:active, nav button:focus {
    position: absolute;
    color: #729d34;
    border: none;
    font-size: 1.4em;
    padding: 0.35em 1em;
    top: 0;
    right: 0;
    cursor: pointer;
    background-color: transparent;
    line-height: 1; }
    nav button:focus, nav button:hover:focus, nav button:active:focus, nav button:focus:focus {
      outline: none; }
  nav .github-wide {
    position: absolute;
    top: 0;
    right: 0;
    display: none;
    padding-right: none; }

.nav-inner {
  position: relative;
  max-width: 62em;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

@media (min-width: 48em) {
  nav .selected {
    background-color: #729d34;
    color: white; }
    nav .selected a {
      color: white; }
  nav ul {
    display: inline-block;
    height: auto;
    overflow: visible; }
  nav li {
    display: inline-block; }
  nav a {
    display: inline-block;
    padding: 0.7em; }
  nav button {
    display: none; }
  nav .github-small {
    display: none; }
  nav .github-wide {
    display: block; } }

header {
  max-width: 64em;
  margin: 0 auto 2em auto;
  padding: 3em 1em 0 1em;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  header h1 {
    font-size: 2em;
    margin: 0 0.2em 0.2em 0;
    line-height: 1;
    text-align: center;
    display: inline-block; }
  header .subhead {
    font-family: 'Source Sans Pro';
    font-weight: 200;
    font-size: 1.2em;
    color: #999;
    display: inline-block;
    line-height: 1.2em; }
  header br {
    display: none; }
    
@media (min-width: 32em) {
  header h1 {
    font-size: 3em; }
  header .subhead {
    font-size: 1.4em; } }

@media (min-width: 48em) {
  header {
    text-align: left; }
    header h1 {
      font-size: 4em;
      text-align: left; }
    header .subhead {
      font-size: 1.6em; }
    header br {
      display: block;
      line-height: 0; } }

main {
  position: relative;
  max-width: 64em;
  margin: 0 auto 4em auto;
  padding: 0 1em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  main:after {
    content: '';
    display: table;
    clear: both; }
  main > p, main > ul {
    max-width: 32em; }

footer {
  clear: both;
  text-align: center;
  /* Commented out to stop IE11 from rendering line into left-side navigation menu */
  /* border-top: 1px solid #eee; */
  margin: 1em 0 0 0;
  padding: 1em 0 1em 0; }
  footer p {
    max-width: 64em;
    margin: 0 auto;
    font-size: 0.8em;
    color: #999; }

/* Use for quotes from MAPPER or other docs */
.qtext {
    max-width: 64em;
    padding: 0 1.5em 0 1.5em; 
    margin: 0 auto;
    font-size: 1.0em;
    color: #999; }

pre {
  white-space: pre;
  font-family: 'Inconsolata', monospace;
  font-size: 14px;
  background-color: #fbfbfb;
  display: block;
  padding: 0.5em;
  overflow-x: auto;
  margin: 0 0 1em 0; }
  pre:before {
    display: block;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 0.5em;
    font-family: 'Voltaire', 'Arial';
    font-weight: bold;
    margin-bottom: 1em;
    color: #444; }
  pre.lang-html:before {
    content: 'html'; }
  pre.lang-js:before {
    content: 'javascript'; }

code {
  font-family: 'Inconsolata', monospace;
  border: 1px solid #eee;
  border-radius: 0.2em;
  background-color: #f9fcf6;
  color: #444;
  font-weight: normal;
  font-size: 0.8em;
  padding: 0.15em 0.3em;
  position: relative; }

pre code {
  border: none;
  border-radius: 0;
  background-color: transparent;
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
  padding: 0; }

.prettyprinted {
  color: #444; }

.prettyprint .pln {
  color: #444; }

.prettyprint .pun {
  color: #888; }

.prettyprint .str {
  color: #729d34; }

.prettyprint .kwd {
  color: #000064; }

.prettyprint .typ {
  color: #000064; }

.prettyprint .tag {
  color: #000064; }

.prettyprint .atn {
  color: #5050b4; }

.prettyprint .atv {
  color: #729d34; }

.prettyprint .lit {
  color: #960000; }

.prettyprint .com {
  color: #aaa; }

.prettyprint.lang-js .pun {
  color: #444; }

.cm-s-ractive {
  line-height: 1.5 !important; }
  .cm-s-ractive div.CodeMirror-selected {
    background: #b36539 !important; }
  .cm-s-ractive .CodeMirror-gutters {
    background: #fcfcfc;
    border-right: 1px solid #eee; }
  .cm-s-ractive .CodeMirror-linenumber {
    color: #d0d0d0; }
  .cm-s-ractive .CodeMirror-cursor {
    border-left: 1px solid black !important; }
  .cm-s-ractive .CodeMirror-lines {
    padding: 10px 0; }
  .cm-s-ractive span.cm-comment {
    color: #aaa; }
  .cm-s-ractive span.cm-atom {
    color: #845dc4; }
  .cm-s-ractive span.cm-number {
    color: #960000; }
  .cm-s-ractive span.cm-attribute {
    color: #5050b4; }
  .cm-s-ractive span.cm-keyword {
    color: #000064; }
  .cm-s-ractive span.cm-string {
    color: #729d34; }
  .cm-s-ractive span.cm-meta {
    color: #ff9d00; }
  .cm-s-ractive span.cm-variable {
    color: #444; }
  .cm-s-ractive span.cm-variable-2 {
    color: #444; }
  .cm-s-ractive span.cm-variable-3 {
    color: #444; }
  .cm-s-ractive span.cm-def {
    color: #444; }
  .cm-s-ractive span.cm-property {
    color: #444; }
  .cm-s-ractive span.cm-tag {
    color: #000064; }
  .cm-s-ractive span.cm-error {
    color: #9d1e15; }
  .cm-s-ractive span.cm-bracket {
    color: #d8d8d8; }
  .cm-s-ractive span.cm-builtin, .cm-s-ractive span.cm-special {
    color: #ff9e59; }
  .cm-s-ractive span.cm-link {
    color: #845dc4; }
  .cm-s-ractive.CodeMirror {
    height: auto;
    color: #888;
    font-family: 'Inconsolata'; }
    .cm-s-ractive.CodeMirror pre {
      color: #444; }
  .cm-s-ractive.CodeMirror-focused {
    background: #f9f9f9; }
    .cm-s-ractive.CodeMirror-focused .CodeMirror-gutters {
      background: #f6f6f6;
      border-right: 1px solid #eee; }
  .cm-s-ractive .CodeMirror-scroll {
    height: auto;
    overflow: auto; }

.codemirror-container {
  margin: 0 0 1em 0; }
  .codemirror-container:last-child {
    margin: 0; }

/* BASICS */
.CodeMirror {
  /* Set height, width, borders, and global font properties here */
  font-family: monospace;
  height: 300px; }

.CodeMirror-scroll {
  /* Set scrolling behaviour here */
  overflow: auto; }

/* PADDING */
.CodeMirror-lines {
  padding: 4px 0;
  /* Vertical padding around content */ }

.CodeMirror pre {
  padding: 0 4px;
  /* Horizontal padding of content */ }

.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  background-color: white;
  /* The little square between H and V scrollbars */ }

/* GUTTER */
.CodeMirror-gutters {
  border-right: 1px solid #ddd;
  background-color: #f7f7f7;
  white-space: nowrap; }

.CodeMirror-linenumber {
  padding: 0 3px 0 5px;
  min-width: 20px;
  text-align: right;
  color: #999;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

/* CURSOR */
.CodeMirror div.CodeMirror-cursor {
  border-left: 1px solid black; }

/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
  border-left: 1px solid silver; }

.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor {
  width: auto;
  border: 0;
  background: #7e7; }

/* Can style cursor different in overwrite (non-insert) mode */
.cm-tab {
  display: inline-block; }

.CodeMirror-ruler {
  border-left: 1px solid #ccc;
  position: absolute; }

/* DEFAULT THEME */
.cm-s-default .cm-keyword {
  color: #708; }

.cm-s-default .cm-atom {
  color: #219; }

.cm-s-default .cm-number {
  color: #164; }

.cm-s-default .cm-def {
  color: #00f; }

.cm-s-default .cm-variable {
  color: black; }

.cm-s-default .cm-variable-2 {
  color: #05a; }

.cm-s-default .cm-variable-3 {
  color: #085; }

.cm-s-default .cm-property {
  color: black; }

.cm-s-default .cm-operator {
  color: black; }

.cm-s-default .cm-comment {
  color: #a50; }

.cm-s-default .cm-string {
  color: #a11; }

.cm-s-default .cm-string-2 {
  color: #f50; }

.cm-s-default .cm-meta {
  color: #555; }

.cm-s-default .cm-qualifier {
  color: #555; }

.cm-s-default .cm-builtin {
  color: #30a; }

.cm-s-default .cm-bracket {
  color: #997; }

.cm-s-default .cm-tag {
  color: #170; }

.cm-s-default .cm-attribute {
  color: #00c; }

.cm-s-default .cm-header {
  color: blue; }

.cm-s-default .cm-quote {
  color: #090; }

.cm-s-default .cm-hr {
  color: #999; }

.cm-s-default .cm-link {
  color: #00c; }

.cm-negative {
  color: #d44; }

.cm-positive {
  color: #292; }

.cm-header, .cm-strong {
  font-weight: bold; }

.cm-em {
  font-style: italic; }

.cm-link {
  text-decoration: underline; }

.cm-s-default .cm-error {
  color: #f00; }

.cm-invalidchar {
  color: #f00; }

div.CodeMirror span.CodeMirror-matchingbracket {
  color: #0f0; }

div.CodeMirror span.CodeMirror-nonmatchingbracket {
  color: #f22; }

.CodeMirror-activeline-background {
  background: #e8f2ff; }

/* STOP */
/* The rest of this file contains styles related to the mechanics of
   the editor. You probably shouldn't touch them. */
.CodeMirror {
  line-height: 1;
  position: relative;
  overflow: hidden;
  background: white;
  color: black; }

.CodeMirror-scroll {
  /* 30px is the magic margin used to hide the element's real scrollbars */
  /* See overflow: hidden in .CodeMirror */
  margin-bottom: -30px;
  margin-right: -30px;
  padding-bottom: 30px;
  height: 100%;
  outline: none;
  /* Prevent dragging from highlighting the element */
  position: relative;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.CodeMirror-sizer {
  position: relative;
  border-right: 30px solid transparent;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

/* The fake, visible scrollbars. Used to force redraw during scrolling
   before actuall scrolling happens, thus preventing shaking and
   flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  position: absolute;
  z-index: 6;
  display: none; }

.CodeMirror-vscrollbar {
  right: 0;
  top: 0;
  overflow-x: hidden;
  overflow-y: scroll; }

.CodeMirror-hscrollbar {
  bottom: 0;
  left: 0;
  overflow-y: hidden;
  overflow-x: scroll; }

.CodeMirror-scrollbar-filler {
  right: 0;
  bottom: 0; }

.CodeMirror-gutter-filler {
  left: 0;
  bottom: 0; }

.CodeMirror-gutters {
  position: absolute;
  left: 0;
  top: 0;
  padding-bottom: 30px;
  z-index: 3; }

.CodeMirror-gutter {
  white-space: normal;
  height: 100%;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding-bottom: 30px;
  margin-bottom: -32px;
  display: inline-block;
  /* Hack to make IE7 behave */
  *zoom: 1;
  *display: inline; }

.CodeMirror-gutter-elt {
  position: absolute;
  cursor: default;
  z-index: 4; }

.CodeMirror-lines {
  cursor: text; }

.CodeMirror pre {
  /* Reset some styles that the rest of the page might have set */
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  border-width: 0;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  white-space: pre;
  word-wrap: normal;
  line-height: inherit;
  color: inherit;
  z-index: 2;
  position: relative;
  overflow: visible; }

.CodeMirror-wrap pre {
  word-wrap: break-word;
  white-space: pre-wrap;
  word-break: normal; }

.CodeMirror-linebackground {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0; }

.CodeMirror-linewidget {
  position: relative;
  z-index: 2;
  overflow: auto; }

.CodeMirror-wrap .CodeMirror-scroll {
  overflow-x: hidden; }

.CodeMirror-measure {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden; }

.CodeMirror-measure pre {
  position: static; }

.CodeMirror div.CodeMirror-cursor {
  position: absolute;
  border-right: none;
  width: 0; }

div.CodeMirror-cursors {
  visibility: hidden;
  position: relative;
  z-index: 1; }

.CodeMirror-focused div.CodeMirror-cursors {
  visibility: visible; }

.CodeMirror-selected {
  background: #d9d9d9; }

.CodeMirror-focused .CodeMirror-selected {
  background: #d7d4f0; }

.cm-searching {
  background: #ffa;
  background: rgba(255, 255, 0, 0.4); }

/* IE7 hack to prevent it from returning funny offsetTops on the spans */
.CodeMirror span {
  *vertical-align: text-bottom; }

/* Used to force a border model for a node */
.cm-force-border {
  padding-right: .1px; }

@media print {
  /* Hide the cursor when printing */
  .CodeMirror div.CodeMirror-cursors {
    visibility: hidden; } }

button {
  background-color: #888;
  color: white;
  font-family: 'Source Sans Pro';
  font-weight: 500;
  font-size: inherit;
  padding: 0.5em 1em;
  border: 1px solid transparent;
  border-radius: 0.2em;
  margin: 0 0 1em 0;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  button:hover {
    background-color: #666; }
  button:active, button:focus {
    border: 1px solid #729d34;
    outline: none; }

header, nav, section, article, aside, footer {
  display: block; }

main {
  padding-top: 2em; }

.content {
  padding: 0; }
  .content h2 {
    font-size: 2em; }
  .content ul {
    margin: 0 0 2em 0; }
  .content th {
    text-align: left;
    padding-left: .25em; }
  .content td {
    padding-left: .25em;
    padding-right: 1.75em; }
  .content td:last-child {
    padding-right: .75em; }
  .content tr:nth-child(odd) {
    background-color: #f9f9f9; }
  .content thead > tr {
    background-color: inherit !important; }

@media (min-width: 48em) {
  .content {
    padding: 0 0 0 17em; }
  main {
    min-height: 100em; } }

.left-nav {
  width: 16em;
  left: 2em;
  top: 0;
  padding: 3em 2em 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .left-nav ul, .left-nav li {
    list-style-type: none; }
  .left-nav ul {
    padding: 0 0 0 1em; }
  .left-nav h1 {
    font-family: 'Source Sans Pro';
    font-weight: normal;
    font-size: 1.4em;
    margin: 0 0 0.5em 0; }
  .left-nav h2 {
    font-family: 'Source Sans Pro';
    font-weight: normal;
    font-size: 1em;
    color: #555;
    margin: 0 0 0.5em 0; }
  .left-nav section {
    margin: 0 0 2em 0; }

@media (min-width: 48em) {
  .left-nav {
    position: absolute; } }

blockquote {
  padding: 0 0 0 1em;
  margin: 0; }
  blockquote p {
    padding: 0; }
  blockquote h3, blockquote h4 {
    position: relative;
    left: -0.8em;
    font-family: 'Inconsolata', monospace; }
    blockquote h3 em, blockquote h4 em {
      font-style: normal;
      font-size: 0.8em;
      font-family: 'Source Sans Pro'; }
    blockquote h3 code, blockquote h4 code {
      background-color: #f9f9f9;
      position: relative;
      bottom: 0.1em; }
  blockquote h3 {
    font-size: 1.25em; }
  blockquote h4 {
    font-weight: normal; }
  blockquote blockquote {
    border-left: 1px solid #eee;
    padding: 0 0 0 2em;
    margin: 0 0 0 0.2em; }

.content > blockquote {
  background-color: #fbfbfb;
  padding: 1em 1em 1em 2em; }

.main-header {
  margin: 1em 0 2em 0;
  padding: 0 0 0.5em 0;
  border-bottom: 1px solid #eee; }
  .main-header h1 {
    margin: 0 0 0.2em 0;
    display: block; }

.edit-link {
  display: none;
  background: #f9fcf6 url(assets/edit.png) no-repeat 0.4em 55%;
  padding: 0em 0.5em 0em 1.5em;
  background-size: 1em 1em;
  border-radius: 0.2em;
  color: #729d34;
  clear: both; }

@media (min-width: 48em) {
  .edit-link {
    display: inline-block; } }

.language-js, .language-html, .language-css {
  background-color: transparent; }
  
.language-mapper {
  background-color: transparent; }

.language-java {
  background-color: transparent; }

pre .keyword {
  color: #000064; }

pre .string {
  color: #729d34; }

pre .comment {
  color: #7896a0; }

pre .number {
  color: #960000; }
  

.hrsect-next-prev {
  border-bottom: 1px solid #eee;
  margin: 0 0 0 0; }
   
.next-prev-banner {
  max-width: 64em;
  margin: 0 auto 2em auto;
  padding: 3em 0 0 0em;
  text-align: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }


.more-examples {
  float: left; }

.fork {
  float: right;
  display: none; }
  @media (min-width: 32em) {
    .fork {
    display: block; } }
    
a[disabled] {
    pointer-events: none;
    color: gray;
}
