/**
 * Reset some basic elements
 */
body, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
  margin: 0;
  padding: 0; }

/**
 * Basic styling
 */
body {
  font-family: HelveticaNeue, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 300;
  color: #000;
  background-color: #F2F2F2;
  -webkit-text-size-adjust: 100%; }

/**
 * Set `margin-bottom` to maintain vertical rhythm
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
ul, ol, dl, figure,
.highlight {
  margin-bottom: 15px; }

/**
 * Images
 */
img {
  max-width: 100%;
  vertical-align: middle; }

/**
 * Figures
 */
figure > img {
  display: block; }

figcaption {
  font-size: 14px; }

/**
 * Lists
 */
ul, ol {
  margin-left: 30px; }

li > ul,
li > ol {
  margin-bottom: 0; }

/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
  font-weight: 300; }

/**
 * Links
 */
a {
  color: #64718C;
  text-decoration: none; }
  a:visited {
    color: #444d5f; }
  a:hover {
    color: #000;
    text-decoration: underline; }

/**
 * Blockquotes
 */
blockquote {
  color: #828282;
  border-left: 4px solid #e8e8e8;
  padding-left: 15px;
  font-size: 18px;
  letter-spacing: -1px;
  font-style: italic; }
  blockquote > :last-child {
    margin-bottom: 0; }

/**
 * Code formatting
 */
pre,
code {
  font-size: 15px;
  border: 1px solid #e8e8e8;
  border-radius: 3px;
  background-color: #eef; }

code {
  padding: 1px 5px; }

pre {
  padding: 8px 12px;
  overflow-x: scroll; }
  pre > code {
    border: 0;
    padding-right: 0;
    padding-left: 0; }

/**
 * Clearfix
 */
/**
 * Icons
 */
.icon > svg {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle; }
  .icon > svg path {
    fill: #828282; }

/**
 * Syntax highlighting styles
 */
.highlight {
  background: #fff; }
  .highlight .c {
    color: #998;
    font-style: italic; }
  .highlight .err {
    color: #a61717;
    background-color: #e3d2d2; }
  .highlight .k {
    font-weight: bold; }
  .highlight .o {
    font-weight: bold; }
  .highlight .cm {
    color: #998;
    font-style: italic; }
  .highlight .cp {
    color: #999;
    font-weight: bold; }
  .highlight .c1 {
    color: #998;
    font-style: italic; }
  .highlight .cs {
    color: #999;
    font-weight: bold;
    font-style: italic; }
  .highlight .gd {
    color: #000;
    background-color: #fdd; }
  .highlight .gd .x {
    color: #000;
    background-color: #faa; }
  .highlight .ge {
    font-style: italic; }
  .highlight .gr {
    color: #a00; }
  .highlight .gh {
    color: #999; }
  .highlight .gi {
    color: #000;
    background-color: #dfd; }
  .highlight .gi .x {
    color: #000;
    background-color: #afa; }
  .highlight .go {
    color: #888; }
  .highlight .gp {
    color: #555; }
  .highlight .gs {
    font-weight: bold; }
  .highlight .gu {
    color: #aaa; }
  .highlight .gt {
    color: #a00; }
  .highlight .kc {
    font-weight: bold; }
  .highlight .kd {
    font-weight: bold; }
  .highlight .kp {
    font-weight: bold; }
  .highlight .kr {
    font-weight: bold; }
  .highlight .kt {
    color: #458;
    font-weight: bold; }
  .highlight .m {
    color: #099; }
  .highlight .s {
    color: #d14; }
  .highlight .na {
    color: #008080; }
  .highlight .nb {
    color: #0086B3; }
  .highlight .nc {
    color: #458;
    font-weight: bold; }
  .highlight .no {
    color: #008080; }
  .highlight .ni {
    color: #800080; }
  .highlight .ne {
    color: #900;
    font-weight: bold; }
  .highlight .nf {
    color: #900;
    font-weight: bold; }
  .highlight .nn {
    color: #555; }
  .highlight .nt {
    color: #000080; }
  .highlight .nv {
    color: #008080; }
  .highlight .ow {
    font-weight: bold; }
  .highlight .w {
    color: #bbb; }
  .highlight .mf {
    color: #099; }
  .highlight .mh {
    color: #099; }
  .highlight .mi {
    color: #099; }
  .highlight .mo {
    color: #099; }
  .highlight .sb {
    color: #d14; }
  .highlight .sc {
    color: #d14; }
  .highlight .sd {
    color: #d14; }
  .highlight .s2 {
    color: #d14; }
  .highlight .se {
    color: #d14; }
  .highlight .sh {
    color: #d14; }
  .highlight .si {
    color: #d14; }
  .highlight .sx {
    color: #d14; }
  .highlight .sr {
    color: #009926; }
  .highlight .s1 {
    color: #d14; }
  .highlight .ss {
    color: #990073; }
  .highlight .bp {
    color: #999; }
  .highlight .vc {
    color: #008080; }
  .highlight .vg {
    color: #008080; }
  .highlight .vi {
    color: #008080; }
  .highlight .il {
    color: #099; }

@font-face {
  font-family: 'chevrons';
  src: url("../fonts/chevrons.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
html, body {
  height: 100%;
  width: 100%;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
  -webkit-user-select: none; }
  @media print {
    html, body {
      height: auto; } }

body {
  position: relative;
  max-width: 896px;
  margin: 0 auto;
  background-color: #F2F2F2; }

header.banner {
  position: relative;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 100vh;
  z-index: 1; }
  @media print {
    header.banner {
      display: none; } }

img, svg, video {
  max-width: 100%;
  margin: 0 auto;
  display: block; }

a:hover, a:visited {
  color: #64718C; }

table {
  width: 100%;
  border-collapse: collapse;
  line-height: 2.29558; }

tbody {
  border-top: 1px solid #e8e8e8; }

tr {
  border-bottom: 1px solid #e8e8e8; }

pre {
  overflow: auto; }

pre, code {
  background-color: #f7f7f7;
  font-size: 1em; }

blockquote {
  font-size: 20px; }

div.window_bar {
  background-color: #3B4259;
  width: 100%;
  height: 20px;
  display: block; }

div#background_bar {
  position: absolute;
  background-color: #3B4259;
  width: 100%;
  height: 56px;
  z-index: -1; }

div#top_bar {
  height: 36px;
  width: 100%;
  background-color: #3B4259;
  color: #fff;
  line-height: 36px;
  font-weight: bold;
  padding: 0 1em; }

nav#menu {
  position: absolute;
  height: calc(100% - 56px);
  width: 100%;
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  overflow-y: hidden; }
  nav#menu ul {
    list-style: none;
    margin: 0;
    height: auto; }
  nav#menu li {
    font-weight: bold;
    line-height: 36px;
    font-size: 16px; }
  nav#menu li.group {
    line-height: 36px;
    font-size: 16px; }
  nav#menu li.group > a {
    color: #D8E3F2;
    background-color: #64718C;
    cursor: default; }
  nav#menu a {
    display: block;
    padding: 0 2em;
    color: #000;
    cursor: pointer; }
    nav#menu a:visited {
      color: #000; }
    nav#menu a:hover {
      text-decoration: none;
      color: #64718C; }
  nav#menu a:hover nav:after {
    font-family: 'chevrons';
    content: '\e801';
    padding-left: 8px;
    line-height: 0;
    font-size: 12px;
    display: inline-block;
    color: #64718C; }
  nav#menu li.group > a nav:after {
    content: ''; }
  nav#menu li.group > a:hover {
    text-decoration: none; }
  nav#menu ul ul a {
    padding: 0 2em; }

main {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  bottom: 0;
  z-index: 2;
  opacity: 0; }

main .content_wrap {
  position: absolute;
  top: 56px;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-overflow-scrolling: touch;
  overflow-y: hidden;
  overflow-x: hidden; }

main .content {
  padding: 0px 0 20px 0;
  -webkit-user-select: text; }

main .content > * {
  padding: 0 20px; }

main p {
  color: #000;
  font-weight: normal;
  font-size: 14px; }

.video {
  background-color: #F2F2F2; }

.video h1 {
  text-align: center;
  font-size: inherit;
  font-weight: bold;
  color: #3B4259; }

.video p {
  max-width: 100%;
  margin: 1em auto;
  width: 360px;
  font-weight: bold;
  text-align: center; }

.video video {
  margin-bottom: 1em;
  border: 1px solid #ccc;
  padding: 0 !important;
  width: 100%;
  max-width: 550px; }

.back_link a {
  text-decoration: none;
  color: #fff; }
  .back_link a:hover, .back_link a:visited {
    color: #fff;
    text-decoration: none; }

.back_link div.bar {
  color: #fff;
  background-color: #3B4259;
  width: 100%;
  height: 36px;
  line-height: 36px;
  font-weight: bold;
  padding: 0 20px;
  margin: 0;
  text-align: left; }

.back_link div.bar span.chevron {
  font-family: 'chevrons';
  padding-right: 3px;
  font-size: 13.6px; }

.inline_nav_container {
  text-align: center;
  -webkit-user-select: none; }

.inline_nav {
  padding: 0 2px;
  margin: 0 auto;
  display: inline-block; }

.inline_nav span {
  display: inline-block;
  padding: 0 10px;
  font-weight: bold;
  color: #64718C; }

a.inline_nav_prev, a.inline_nav_next {
  font-family: 'chevrons';
  border: 2px solid #64718C;
  color: #64718C;
  display: inline-block;
  width: 31px;
  height: 31px;
  line-height: 28px;
  text-align: center;
  border-radius: 16px;
  box-sizing: border-box;
  text-decoration: none; }

a.inline_nav_prev:hover, a.inline_nav_next:hover {
  text-decoration: none;
  border: 2px solid #9da6b9;
  color: #9da6b9; }

a.inline_nav_prev {
  padding-right: 2px; }

a.inline_nav_next {
  padding-left: 2px; }

a.inline_nav_next.disabled, a.inline_nav_prev.disabled {
  color: #d9dce4;
  border-color: #d9dce4;
  cursor: default; }

.back_link .inline_nav_container {
  float: right;
  margin-right: 32px; }

.back_link a.inline_nav_prev, .back_link a.inline_nav_next {
  border-radius: 0px;
  border: none;
  width: auto;
  color: #fff; }

.back_link a.inline_nav_prev:hover, .back_link a.inline_nav_next:hover {
  color: #bbc1ce; }

.back_link a.inline_nav_prev {
  padding-right: 0px; }

.back_link a.inline_nav_next {
  padding-left: 0px; }

.back_link .inline_nav span {
  padding: 0 4px;
  color: #fff; }

.back_link a.inline_nav_next.disabled, .back_link a.inline_nav_prev.disabled {
  color: #4f596e !important; }

div#loading_overlay {
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 10000;
  opacity: .0;
  display: none; }

div#loading_overlay svg {
  margin-top: 30%; }

div#init_overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #F2F2F2;
  color: #bbb;
  text-align: center;
  font-weight: bold;
  padding-top: 2em; }

@keyframes init_svg {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
div#init_overlay span {
  animation-name: init_svg;
  animation-delay: .75s;
  animation-duration: .75s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  opacity: 0; }
