* {
  font-family: Consolas, monaco, monospace;
  padding: 0;
  margin: 0;
}

html, body {
  padding: 0;
  margin: 0;
}

body {
  background-color: black;
  color: white;
}

#infiniteStopsContainer {
  margin: 15vh 20vw 5vh 20vw;
  display: block;
  height: 60vh;
  overflow: visible;
}

#totalScoreContainer {
  margin: 15vh 20vw 5vh 20vw;
  display: block;
  height: 30vh;
  font-size: larger;
  text-align: center;
}

@media only screen and (min-width: 768px){
  #infiniteStopsContainer {
    margin: 30vh 40vw 10vh 40vw;
  }

  #totalScoreContainer {
    margin: 30vh 30vw 10vh 30vw;
    height: 60vh;
  }
}

#infiniteStops {
  word-wrap: break-word;
  overflow: hidden;
  line-height: 1em;
}

.noSelect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline: none;
}

.noSelect * ::selection {
  background: transparent;
}

@keyframes flash {
  90% { color: transparent }
}
#infiniteStops:empty:after {
  content: '.';
  animation: 1s flash infinite;
}

#infiniteStops:empty:before {
  content: attr(data-placeholder);
}

.stopElement {
  display: inline-block;
  width: 1em;
  height: 1em;
}

.dead {
  opacity: 0;
}

#sidebarRight {
  display: block;
  float: right;
  width: 1em;
  height: 100%;

  transform: rotate(90deg);
  transform-origin: 0 0;

  font-family: Consolas, monaco, monospace;
  font-weight: lighter;
}

#sidebarLeft {
  color: lightsteelblue;

  display: block;
  float: left;
  height: 100%;

  transform: rotate(270deg);
  transform-origin: 100% 100%;

  font-family: Consolas, monaco, monospace;
  font-weight: lighter;
}

#score {
  opacity: 0;
}

#sidebarRight a {
  opacity: 0;
  text-decoration: none;
  color: lightsteelblue;
}
