*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}


body {
  /* background-image: url(../img/bg.png); */
  background: black;
  -webkit-user-select: none;
  overflow: hidden;
  --background-color: black;
  --text-color: white;
  --font-family: 'serif';
  --canvas-scale: 1;
  --canvas-width: 256px;
  --canvas-height: 192px;
  --cursor-point: url(../img/cursor-point32.png) 16 16, default;
}

#background {
  width: 100%;
  height: 100%;
  /* cursor: url(../img/cursor-point32.png) 16 16, default; */
  cursor: default;
  background: var(--background-color);
  position:absolute;
  left: 0;
  top: 0;
}

#splash {
  position: relative;
  min-height: 200px;
  margin-bottom: -20px;
  font-size: 60px;
} 
#splash img {
  height: 200px;
} 
#splash span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%,-50%);
}


#welcome-panel {
  color: var(--text-color);
  position: absolute;
  left: 50%;
  top: 50%;
  width: 500px;
  /* border: 1px solid red; */
  height: 585px;
  margin-left: -250px;
  margin-top: -220px;
  line-height: 60px;
  font-size: 28px;
  letter-spacing: 0px;
  z-index: 100;
  font-family: var(--font-family);
  text-align: left;
  text-shadow: 0 0 4px rgb(255 255 255), 0 0 6px rgb(255 255 255);
  /* cursor: url(../img/cursor-point32.png) 16 16, default; */
  transition: opacity 1s;
  -moz-transition: opacity 1s;
  -webkit-transition: opacity 1s;
  -o-transition: opacity 1s;
}




#credits-panel {
  color: var(--text-color);
  position: absolute;
  left: 50%;
  top: 50%;
  width: 400px;
  height: 500px;
  margin-left: -200px;
  margin-top: -170px;
  line-height: 60px;  


  font-size: 28px;
  letter-spacing: 0px;

  
  z-index: 100;
  font-family: var(--font-family);

  text-align: left;
  text-shadow: 0 0 4px rgba(255,255,255,1), 0 0 6px rgba(255,255,255,1);
  cursor: url(../img/cursor-point32.png) 16 16, default;
  transition: opacity 3s;
  -moz-transition: opacity 3s; /* Firefox 4 */
  -webkit-transition: opacity 3s; /* Safari and Chrome */
  -o-transition: opacity 3s; /* Opera */
  
  pointer-events: none;
  z-index:6000;
}

#credits-panel.hidden {
  opacity: 0;
}

#canvas-panel {
  border: none;
  padding: 0;
  position: absolute !important;
  left: 50%;
  top: 50%;
  margin-left: -640px;
  margin-top: -480px;
  width: 1280px;
  height: 960px;
  z-index: 50;
  background: var(--background-color);
  cursor: url(../img/cursor-point32.png) 16 16, default;
   transition: opacity 5s;
  -moz-transition: opacity 5s; /* Firefox 4 */
  -webkit-transition: opacity 5s; /* Safari and Chrome */
  -o-transition: opacity 5s; /* Opera */
  transform: scale(var(--canvas-scale));
}

.canvas-panel-faded-in {
  opacity: 1;
}

.canvas-panel-faded-out {
  opacity: 0;
}

#overlay {  
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -640px;
  margin-top: -480px;
  color: var(--text-color);
  width: 1280px;
  height: 960px;
  font-family: 'Special Elite', 'Parisienne', 'Italianno', serif;
  font-size: 30px;
  z-index: 100;
  text-align: center;
  transition: opacity 1.5s;
  text-shadow: 0 0 4px rgba(255,255,255,1), 0 0 6px rgba(255,255,255,1);
  pointer-events: none;
}
.overlay-faded-in {
  opacity: 1;
}

.overlay-faded-out {
  opacity: 0;
}

#overlay #title {
  margin-top: 460px;
  margin-left: -40px;
  font-size: 100px;
}

.text-panel {
  position: absolute;
  color: var(--text-color);
  z-index: 130;
  left: 50%;
  width: calc(var(--canvas-width) * var(--canvas-scale));
  margin-left: calc(var(--canvas-width) * -0.5);
  padding: 20px 60px;
  font-size: 20px;
  font-family: var(--font-family);
  text-align: center;
  cursor: var(--cursor-point);
  transform-origin: top left;
  top: 50%;
  bottom: auto;
}

#text-panel-a {

}

#text-panel-b {

}

#text-panel-a.text-panel.text-panel-bottom,
#text-panel-b.text-panel.text-panel-bottom {
  transform-origin: bottom center;
  bottom: 50%;
  top: auto;
}

#button-fullscreen {
  display: none;
}

.text-faded-out {
  opacity: 0;
  transition: opacity .6s;
}

.text-faded-in {
  opacity: 1;
  transition: opacity 3s;
}

#logo {
  pointer-events: none;
  background-image: none;
  background-position: center center;
  background-repeat: no-repeat;
  width: 30%;
  height: 33px;
  position: absolute;
  left: 70%;
  top: 20px;
  opacity: .2;
  z-index: 100;
  text-align: right;
  transition: opacity 2s;
  -moz-transition: opacity 2s; /* Firefox 4 */
  -webkit-transition: opacity 2s; /* Safari and Chrome */
  -o-transition: opacity 2s; /* Opera */
}

#logo:hover {
  opacity: 1;
}

#logo img {
  margin-right: 20px;
  cursor: pointer;
}

#filmgrain {
  border: none;
  padding: 0;
  position: absolute;
  width: 960px;
  height: 540px;
  left: 50%;
  top: 50%;
  margin-left: -480px;
  margin-top: -270px;
  z-index: 0;
}

#game-canvas, .shader-doodle-wrapper, .frame-image {
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  cursor: url(../img/cursor-point32.png) 16 16, default;
  transition: opacity 1.5s;
  -moz-transition: opacity 1.5s; /* Firefox 4 */
  -webkit-transition: opacity 1.5s; /* Safari and Chrome */
  -o-transition: opacity 1.5s; /* Opera */
}
.shader-doodle-wrapper {
  position: absolute;
  z-index: 90;
  pointer-events: none;
}
.frame-image {
  position: absolute;
  z-index: 91;
  pointer-events: none;
}
#highres-canvas {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1280px;
  margin-left: -640px;
  margin-top: -480px;
  z-index: 100;
  width: 1280px;
  height: 960px;
  cursor: url(../img/cursor-point32.png) 16 16, default;
  transition: opacity 1.5s;
  pointer-events:none;
}

.highres-canvas-initial {
  opacity: 0;
}

.canvas-faded-in {
  opacity: 1;
}

.canvas-faded-out {
  opacity: 0;
}

#icon-sounds {
  visibility: hidden;
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 9000;
  opacity: .1;
  cursor: pointer;
}

#icon-sounds:hover {
  transition: opacity .5s;
  -moz-transition: opacity .5s; /* Firefox 4 */
  -webkit-transition: opacity .5s; /* Safari and Chrome */
  -o-transition: opacity .5s; /* Opera */
  opacity: .5;
}

.slide {
  color: white;
  position: absolute;

  margin-top: 200px;
  margin-left: 100px;
  z-index: 99;
  /*cursor: url(../img/cursor-point32.png) 16 16, default;*/
  transition: opacity 1s;
  -moz-transition: opacity 1s; /* Firefox 4 */
  -webkit-transition: opacity 1s; /* Safari and Chrome */
  -o-transition: opacity 1s; /* Opera */
  /*cursor: url(../img/cursor-look.png) 50 50, default;*/
  display: none;
  opacity: 0;
}

.slide-faded-out {
  opacity: 0;
  display: block;
}

.slide-faded-in {
  opacity: 1;
  display: block;
}

video {
  border: none;
  padding: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -256px;
  margin-top: -171px;
  width: 512px;
  height: 342px;
  z-index: 90;
  background: black;
  /*cursor: url(../img/cursor-point32.png) 16 16, default;*/
  cursor: default;
  transition: opacity 3s;
  opacity: 1;
}
video.unstarted, video.hidden, video.finished,
#shader-video-wrapper.hidden, 
#shader-video-wrapper.finished {
  opacity: 0;
  pointer-events: none;
}

#shader-video-wrapper {
  z-index: 100;
  transition: opacity 3s;
  opacity: 1;
}
#shader-video {
  z-index: 0;
  pointer-events: none;
}

poem, poem2 {
  position: relative;
  display: inline-block;
  text-align: left;
  line-height: 50px;
  text-indent: -4px;
  left: -250px;
  top: 20px;
}
poem2 {
  text-align: right;
  top: 600px;
  left: 400px;
}
poem::before, poem2::before {
  content: '“';
  font-size: 45px;
  position: absolute;
  margin-left:-22px;
  margin-top: 3px;
}
poem::after, poem2::before {
  content: '”';
  font-size: 45px;
  position: relative;
  line-height: 0;
  top: 3px;
}

poem red, poem2 red {
  color: rgb(255 50 50);
  text-shadow: 0 0 4px rgb(255 50 50), 0 0 6px rgb(255 50 50);
}
