@import url(https://fonts.googleapis.com/css?family=Ubuntu:400,300,300italic,400italic,500,500italic,700,700italic);
html, #body, body {
  margin: 0;
  padding: 0;
  width: 100vw;
  max-width: 100vw; }

#body {
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d; }

body {
  overflow-x: hidden;
  overflow-y: scroll;
  background-image: url("/img/background.png");
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  color: white;
  font-family: 'Ubuntu', sans-serif; }

.textelement, body h1, body h2, body h3, body a, body a:active, body ul li:before {
  font-size: 100%;
  color: white;
  font-family: 'Ubuntu', sans-serif; }

.fading {
  display: none; }

body h1 {
  font-size: 200%; }

body h2 {
  font-size: 150%; }

body h3 {
  font-size: 105%; }

body ul {
  list-style: none;
  padding: 0;
  margin: 0; }

body ul li {
  padding-left: 1em;
  text-indent: -.7em; }

body ul li:before {
  content: "+ "; }

.page {
  @extends .fading;
  position: relative;
  width: 100vw;
  min-height: 100vh; }

.vcenter {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }

.hcenter {
  position: absolute;
  left: 50%;
  transform: translateX(-50%); }

.vhcenter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.graybacked, .graybackedgrid row column {
  padding-top: 0.75em;
  padding-bottom: 0.50em;
  padding-left: 2em;
  padding-right: 2em;
  background: rgba(169, 169, 169, 0.2); }

.graybackedgrid {
  margin-top: 1em; }

.graybackedgrid row {
  padding-left: 2em;
  padding-right: 2em;
  width: 100%; }

.graybackedgrid row column {
  position: relative;
  margin-top: 0.25em;
  margin-left: 1em;
  margin-right: 1em;
  z-index: 9002; }

.pageheader {
  @extends .fading;
  position: relative;
  top: 0.25em;
  left: 0.5em; }

.siteheader {
  @extends .fading;
  position: absolute;
  top: 0.25em;
  right: 0.5em;
  z-index: 9999; }

.menu {
  position: fixed;
  bottom: 0px;
  right: 0px;
  margin-right: 0.75em;
  margin-bottom: 0.5em;
  z-index: 9001; }

.copyright {
  position: fixed;
  bottom: 0px;
  left: 0px;
  margin-left: 0.75em;
  margin-bottom: 0.5em; }

.highlight {
  background: #fff; }
  .highlighter-rouge .highlight {
    background: #eef; }
  .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; }
