html,
body {
  margin: 0;
  padding: 0;
}

body {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.p5canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}

#code-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  padding: .5em;
  background-color:#d6d6d6;
}

#source-viewer {
  font-size:max(0.65em, min(1em, 2.333vw));
  height: 100%;
}

button {
  background-color: #000;
  color:#fff;
  position:absolute;
  cursor: pointer;
  right:6px;
  top:6px;
  margin:0;
  border:0;
  padding:4px;
  text-align:right;
  font-size: 16px;
  text-decoration: none;
  font-family: "Courier New",Courier,monospace;
}

@media (hover: hover) and (pointer: fine) {
  button:hover {
    background-color: #fff;
    color:#000;
  }
}

.hide {
  opacity: 0;
  -webkit-transition: opacity 1s ease-out;
  -moz-transition: opacity 1s ease-out;
  -ms-transition: opacity 1s ease-out;
  -o-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
}

.show {
  opacity: 1;
  -webkit-transition: opacity 1s ease-out;
  -moz-transition: opacity 1s ease-out;
  -ms-transition: opacity 1s ease-out;
  -o-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
}

.noSelect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

body:not(.keyboardNav) pre:focus,
body:not(.keyboardNav) button:focus,
body:not(.keyboardNav) input:focus,
body:not(.keyboardNav) select:focus,
body:not(.keyboardNav) textarea:focus {
  outline: none;
}