@font-face {
  font-family: "Munro";
  src: url("assets/fonts/munro.ttf");
}
@font-face {
  font-family: "Pixelatus";
  src: url("assets/fonts/Pixelatus.ttf");
}
body {
  background-color: #f0f0f0;
  font-family: 'Munro', Arial, Helvetica, sans-serif;
}
textarea,
select,
input,
button {
  outline: none;
}
#game-load-screen-overlay {
  position: absolute;
  top: 0;
  left: 0;
  background-color: black;
  width: 100%;
  height: 100%;
  z-index: 30000;
  transition: all ease-in-out 0.5s;
  color: white;
  text-align: center;
  font-size: 50px;
  opacity: 1;
}
#game-load-screen-overlay span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#game-load-screen-overlay.fadeIn {
  opacity: 0;
}
.main {
  border: 50px solid black;
  margin: 0 auto;
  background: url('assets/img/door.png');
  width: 1000px;
  height: 550px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.main .arrow {
  font-family: 'Pixelatus', Arial, Helvetica, sans-serif;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 80px;
  font-weight: bold;
  color: white;
  background-color: black;
  border: 10px solid black;
  cursor: pointer;
  transition: all ease-in-out 0.1s;
  vertical-align: middle;
}
.main .arrow.left {
  left: 0;
}
.main .arrow.right {
  right: 0;
}
.main .arrow.down {
  top: initial;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -52px;
  transform: rotate(90deg) translateY(35px);
  padding-bottom: 10px;
  display: none;
}
.main .arrow:hover {
  color: black;
  background-color: white;
  border-color: white;
}
.main .clickable {
  position: absolute;
  z-index: 10000;
  cursor: pointer;
}
.main .clickable.door-sign {
  width: 350px;
  height: 100px;
  top: 75px;
  left: 325px;
}
.main .clickable.door-exit {
  width: 60px;
  height: 40px;
  top: 442px;
  left: 420px;
}
.main .clickable.door-hole {
  width: 400px;
  height: 210px;
  top: 185px;
  left: 185px;
}
.main .clickable.run-hunter {
  width: 120px;
  height: 260px;
  bottom: 0;
  right: 0;
}
.main .clickable.under-table {
  width: 120px;
  height: 150px;
  top: 200px;
  left: 380px;
}
.main .clickable.note-first-half {
  width: 210px;
  height: 150px;
  top: 300px;
  left: 380px;
}
.main .clickable.random-star-paper {
  width: 150px;
  height: 50px;
  top: 350px;
  left: 450px;
}
.main .clickable.random-star {
  width: 120px;
  height: 200px;
  top: 0px;
  left: 720px;
}
.main .clickable.safe {
  width: 140px;
  height: 140px;
  top: 65px;
  left: 845px;
}
.main .clickable.side {
  width: 140px;
  height: 140px;
  top: 10px;
  left: 250px;
}
.main .clickable.door-get-out {
  width: 200px;
  height: 248px;
  top: 300px;
  left: 400px;
}
.main .clickable.open-numpad {
  width: 180px;
  height: 248px;
  top: 170px;
  left: 400px;
}
.main .clickable.safe-key {
  width: 180px;
  height: 70px;
  top: 170px;
  left: 400px;
}
.main .clickable.outside-studio-door {
  width: 180px;
  height: 248px;
  top: 170px;
  left: 550px;
}
.main .clickable.door-window {
  width: 60px;
  height: 50px;
  top: 350px;
  left: 470px;
}
.main .clickable.end-text {
  font-size: 50px;
  color: white;
  background-color: black;
  width: auto;
  height: auto;
}
.main .clickable.window-char {
  width: 540px;
  height: 430px;
  top: 50px;
  left: 230px;
}
.main .clickable.under-dining-table {
  width: 230px;
  height: 130px;
  top: 220px;
  left: 120px;
}
.main .clickable.dining-poster-01 {
  width: 150px;
  height: 130px;
  top: 0px;
  left: 50px;
}
.main .clickable.dining-poster-02 {
  width: 180px;
  height: 130px;
  top: 0px;
  left: 300px;
}
.main .clickable.studio-switch-outside {
  width: 120px;
  height: 160px;
  top: 20px;
  left: 100px;
}
.main .clickable.studio-posters-01 {
  width: 80px;
  height: 150px;
  top: 150px;
  left: 370px;
}
.main .clickable.studio-posters-02 {
  width: 100px;
  height: 120px;
  top: 50px;
  left: 250px;
}
.main .clickable.studio-rules {
  width: 60px;
  height: 150px;
  top: 150px;
  left: 870px;
}
.main .clickable.behind-reception-desk {
  width: 200px;
  height: 100px;
  top: 50px;
  left: 430px;
}
.main .clickable.under-dining-table-other-table {
  width: 225px;
  height: 125px;
  top: 325px;
  left: 650px;
}
.main .clickable.get-hina-pen {
  width: 50px;
  height: 25px;
  top: 149px;
  left: 675px;
}
.main .clickable.toolkit {
  width: 225px;
  height: 100px;
  top: 248px;
  left: 10px;
}
.main .clickable.toolkit-2 {
  width: 225px;
  height: 100px;
  top: 248px;
  left: 10px;
}
.main .clickable.wrapper {
  width: 50px;
  height: 25px;
  top: 222px;
  left: 200px;
}
.main .clickable.rip-poster {
  width: 110px;
  height: 125px;
  top: 98px;
  left: 720px;
}
.main .clickable.electric-switch-cover {
  width: 210px;
  height: 205px;
  top: 170px;
  left: 570px;
}
.main .clickable.opened-switch-board {
  width: 210px;
  height: 205px;
  top: 170px;
  left: 570px;
}
.main .clickable.studio-inside-light-switch {
  width: 120px;
  height: 205px;
  top: 170px;
  left: 50px;
}
.main .clickable.too-dark-4-u {
  width: 800px;
  height: 415px;
  top: 0px;
  left: 200px;
}
.main .clickable.inside-studio-door-1 {
  width: 200px;
  height: 255px;
  top: 170px;
  left: 50px;
}
.main .clickable.inside-studio-door-2 {
  width: 200px;
  height: 255px;
  top: 170px;
  left: 375px;
}
.main .clickable.inside-studio-door-3 {
  width: 200px;
  height: 255px;
  top: 170px;
  left: 700px;
}
.main .clickable.practice-room-2-puzzle {
  width: 127px;
  height: 130px;
  top: 20px;
  left: 700px;
}
.main .clickable.connected-electrical-component {
  width: 210px;
  height: 200px;
  top: 170px;
  left: 570px;
}
.main .clickable.reception-books {
  width: 880px;
  height: 180px;
  top: 30px;
  left: 60px;
}
.main .clickable.reception-books-no-wrapper {
  width: 880px;
  height: 180px;
  top: 30px;
  left: 60px;
}
.main .clickable.inside-carrot {
  width: 380px;
  height: 140px;
  top: 320px;
  left: 400px;
}
.main .clickable.inside-carrot-no-key {
  width: 380px;
  height: 140px;
  top: 320px;
  left: 400px;
}
.main .clickable.practice-room-2-drum-kit {
  width: 280px;
  height: 185px;
  top: 200px;
  left: 601px;
}
.main .clickable.practice-room-2-keyboard {
  width: 280px;
  height: 55px;
  top: 220px;
  left: 100px;
}
.main .clickable.music-key {
  width: 25px;
  height: 25px;
}
.main .clickable.music-key.c-key {
  top: 300px;
  left: 525px;
}
.main .clickable.music-key.d-key {
  top: 125px;
  left: 375px;
}
.main .clickable.music-key.e-key {
  top: 350px;
  left: 525px;
}
.main .clickable.music-key.f-key {
  top: 425px;
  left: 575px;
}
.main .clickable.music-key.g-key {
  top: 125px;
  left: 575px;
}
.main .clickable.music-key.a-key {
  top: 75px;
  left: 600px;
}
.main .clickable.numpad-number {
  width: 80px;
  height: 80px;
}
.main .clickable.numpad-number.numpad-input {
  width: 370px;
  height: 50px;
  top: 75px;
  left: 310px;
  color: white;
  font-size: 38px;
  overflow: hidden;
}
.main .clickable.numpad-number.numpad-1 {
  top: 146px;
  left: 321px;
}
.main .clickable.numpad-number.numpad-2 {
  top: 146px;
  left: 447px;
}
.main .clickable.numpad-number.numpad-3 {
  top: 146px;
  left: 571px;
}
.main .clickable.numpad-number.numpad-4 {
  top: 246px;
  left: 321px;
}
.main .clickable.numpad-number.numpad-5 {
  top: 246px;
  left: 447px;
}
.main .clickable.numpad-number.numpad-6 {
  top: 246px;
  left: 571px;
}
.main .clickable.numpad-number.numpad-7 {
  top: 346px;
  left: 321px;
}
.main .clickable.numpad-number.numpad-8 {
  top: 346px;
  left: 447px;
}
.main .clickable.numpad-number.numpad-9 {
  top: 346px;
  left: 571px;
}
.main .clickable.numpad-number.numpad-0 {
  top: 446px;
  left: 447px;
  height: 30px;
}
.main .clickable.numpad-number.numpad-clear {
  top: 446px;
  left: 321px;
  width: 80px;
  height: 50px;
}
.main .clickable.numpad-number.numpad-ok {
  top: 446px;
  left: 571px;
  width: 80px;
  height: 50px;
}
.main .full-center-absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.main .vertically-center-absolute {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.main .horizontally-center-absolute {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.main .modal-popup {
  width: 100%;
  height: 100%;
  z-index: 10001;
  position: absolute;
  display: none;
}
.main .modal-popup .modal-container {
  text-align: center;
  width: 600px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  background-color: white;
  font-size: 36px;
  padding: 30px 50px;
}
.main .modal-popup .modal-backdrop {
  width: 100%;
  height: 100%;
}
.main .modal-popup .modal-close {
  font-family: Arial, Helvetica, sans-serif;
  position: absolute;
  right: 10px;
  top: 0;
  font-size: 50px;
  font-weight: bold;
  color: #c2c2c2;
  cursor: pointer;
  transition: all ease-in-out 0.1s;
}
.main .modal-popup .modal-close:hover {
  color: black;
}
.main .inventory-view {
  position: absolute;
  z-index: 10000;
  bottom: 0;
  right: 0;
  width: 400px;
  padding: 10px;
  height: 70px;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-end;
}
.main .inventory-view .item {
  display: none;
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-color: #27292c;
  cursor: pointer;
  transition: all ease-in-out 0.1s;
}
.main .inventory-view .item + .item {
  margin-left: 10px;
}
.main .inventory-view .item:hover {
  background-color: #121416;
}
.main .inventory-view .item.exit-key-inventory {
  background-image: url('assets/img/key.png');
}
.main .inventory-view .item.area-note-inventory {
  background-image: url('assets/img/note.png');
}
.main .inventory-view .item.note-first-half-inventory {
  background-image: url('assets/img/note-first-half.png');
}
.main .inventory-view .item.note-second-half-inventory {
  background-image: url('assets/img/note-second-half.png');
}
.main .inventory-view .item.random-star-paper-inventory {
  background-image: url('assets/img/random-star-paper.png');
}
.main .inventory-view .item.combined-note-inventory {
  background-image: url('assets/img/combined-note.png');
}
.main .inventory-view .item.run-pen-inventory {
  background-image: url('assets/img/run-pen.png');
}
.main .inventory-view .item.screwdriver-inventory {
  background-image: url('assets/img/screwdriver.png');
}
.main .inventory-view .item.wrapper-inventory {
  background-image: url('assets/img/wrapper.png');
}
.main .inventory-view .item.studio-door-key-inventory {
  background-image: url('assets/img/studio-door-key.png');
}
.main .inventory-view .item.active {
  background-color: #214c66;
  border: 3px solid #e5ff00;
}
.main .puzzle-input {
  display: none;
}
.main .puzzle-input#puzzle-2-code {
  position: absolute;
  top: 290px;
  left: 355px;
  font-size: 40px;
  width: 280px;
  font-family: 'Munro', Arial, Helvetica, sans-serif;
  height: 50px;
  background-color: transparent;
  border: none;
}
.main .responsive-bg-img {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.main .responsive-modal-img {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 200px;
  background-color: #9b9b9b;
}
.main button {
  font-family: 'Munro', Arial, Helvetica, sans-serif;
  border: none;
  color: white;
  padding: 5px 20px;
  cursor: pointer;
  font-size: 20px;
  background-color: #4b68c9;
  transition: all ease-in-out 0.1s;
}
.main button:hover {
  background-color: #6683e2;
}
.main button.deselect-to-use {
  background-color: #cc5f5f;
}
.main button.deselect-to-use:hover {
  background-color: #df7c7c;
}
.background-fallback {
  border: 50px solid black;
  margin: 0 auto;
  background: url('assets/img/door.png');
  width: 1000px;
  height: 550px;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.full-center-absolute {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
