@font-face{
  font-family: 'VT323';
  src: url('../fonts/VT323-Regular.ttf');
}

body {
  color: #0bb42c;
  font-size: 3.2vh;
  font-family: 'VT323';
  line-height: 4vh;
  /* screen glow */
  background-image: radial-gradient(
    #1B1B1B, black 120%
  );
  /* text glow */
  text-shadow: 0 0 5px rgba(12, 126, 22, 0.6);
  width: 100%;
  width: -moz-available;          /* WebKit-based browsers will ignore this. */
  width: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
  width: fill-available;
}

/* scanlines */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: repeating-linear-gradient(rgba(0, 255, 8, 0.03) 0.5vh, rgba(0, 0, 0, 0.05) 0.8vh);
  z-index: -1;
}

/* headers */

h1 {
  font-size: 5vh;
  line-height: 5vh;
}

h2 {
  font-size: 5vh;
  line-height: 5vh;
  color: #4dff00;
}

/* footer */

#footer {
  display: block;
  padding-bottom: 4vh;
}

/* ascii images */

pre {
  font-size: 0.435vw;
  line-height: 0.435vw;
  display: inline-block;
  white-space: pre;
  unicode-bidi: embed;
  width: 100%;
  /*font-family: monospace;*/
}

.img {
  white-space: pre;
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.7vw;
  line-height: 0.7vw;
}

/* element styles */

a {
  color: #4dff00;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  color: #4dff00;
}

h1 > a {
  color: #0bb42c;
  text-decoration: none;
}

.highlight {
  color: #4dff00;
}

.left {
  float: left;
}

.right {
  float: right;
}

/* player styles */

.player {
  overflow: hidden;
}

.btn {
  cursor: pointer;
  color: #0bb42c;
  opacity: 0.7;
  -webkit-filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.33));
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.33));
  -webkit-user-select: none;
  user-select: none;
  width: 1em;
  height: 1.22em;
  position: relative;
  top: -2px;
  margin-left: 10px;
  float: left;
}

.btn:hover {
  opacity: 1;
  color: #4dff00;
}

#playBtn {
  background-image: url('../images/playBtnSml.png');
  width: 30px;
  height: 30px;
  background-size: contain;
  margin-left: 5px;
}

#pauseBtn {
  background-image: url('../images/pauseBtnSml.png');
  width: 30px;
  height: 30px;
  display: none;
  background-size: contain;
  margin-left: 5px;
}

#timer {
  display: none;
  float: left;
  margin-left: 10px;
}

#duration {
  display: none;
  margin-left: 0px;
}

/* Loading */
#loading {
  width: 1em;
  height: 1.22em;
  border-radius: 100%;  
  -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
  animation: sk-scaleout 1.0s infinite ease-in-out;
  display: none;
  float: left;
  text-align: left;
}
@-webkit-keyframes sk-scaleout {
  0% { -webkit-transform: scale(0) }
  100% {
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}
@keyframes sk-scaleout {
  0% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 100% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    opacity: 0;
  }
}

.clear {
  clear:both;
}
/* text adventure styles */

span.ml-2 {
  margin-left: 2vw;
}

.input {
  display: flex;
}

#input {
  height: 4vh;
  width: 98.5vh;
  color: rgb(77, 255, 0);
  background: transparent;
  font-size: 3.2vh;
  font-family: "VT323";
  border: none;
  position: relative;
  bottom: 0.175vh;
  margin-left: 0.5vw;
}

#input:focus {
  outline: none;
}

#output {
  padding: 2vw 2vw 0 2vw;
}

#output div {
  margin-bottom: 1vw;
}

/* scrollbar */

::-webkit-scrollbar {
  width: 1vw;
}

::-webkit-scrollbar-track {
  background: #000;
}

::-webkit-scrollbar-thumb {
  background: #000;
}

/* animation styles */

@keyframes blink {
  0% {background: green;}
  49% {background: green;}
  60% {background: transparent;}
  99% {background: transparent;}
  100% {background: green;}
}
