* {
  margin: 0;
  padding: 0;
  font: inherit;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font: inherit;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body,
html {
  overflow: hidden;
  height: 100%;
  background: tranparent;
}
html {
  background: #fff;
  font: 16px/1.4 Source Sans Pro, sans-serif;
}
body {
  margin: 0px;
  padding-top: 2em;
  color: #000;
  border-radius: 3px;
  -webkit-transition: opacity 0.2s;
  background: #f4f4f4;
}

.dark-theme {
  background: #2D323A;
}

a:link,
a:visited {
  color: inherit;
  text-decoration: none;
}
p {
  padding-bottom: 1em;
}

button {
  padding: 1px 10px;
  font-size: 14px;
}

nav {
  position: fixed;
  top: 1em;
  right: 1em;
  width: 250px;
  z-index: 100;
  padding: 1em;
}

.dark-theme nav {
  color: rgb(127, 145, 175);
}

nav a {
  border-bottom: 1px dotted;
}

nav a:hover {
  border-bottom: 1px solid;
}


.CodeMirror {
  position: fixed;
  color: #535353;
  top:    0;
  left:   0;
  right:  0;
  bottom: 0;
  max-width: 800px;
  margin: auto;
  height 100vh;
  background: white;
}

.dark-theme .CodeMirror {
  background: #2D323A;
}

.CodeMirror pre {
  padding: 0 4ch;
}

.CodeMirror-sizer {
  padding-top: 0px;
}

.CodeMirror-cursors {
  z-index: 5 !important;
}

@media (max-width: 800px) {
  nav {
    background: white;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 30px 50px rgba(0,0,0,0.1);
  }
  .dark-theme nav {
    background: #2D323A;
  }
}
