
body {
  margin: 0;
  font-size: 14px;
  font-family: "Trebuchet MS", "Helvetica", "Arial", "sans-serif";
}

.app-screen {
  position: relative;
  overflow: hidden;
}

.menu-layer {
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

.room-backdrop,
.fade-out-backdrop {
  background-size: 100%;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}

.fade-out-backdrop {
  position: absolute;
  top: 0;
  left: 0;
}

.full-body-character {
  background-size: 100%;
  position: absolute;
  background-repeat: no-repeat;
  bottom: 0;
}

.dress-fade {
  width: 100%;
  height: 100%;
}

.dialogue-box {
  position: absolute;
  z-index: 100;
  bottom: 2%;
  left: 2%;
  width: 96%;
  height: 20%;
}

.dialogue-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.5;
  background: #44f;
  width: 100%;
  height: 100%;
  border-radius: .3em;
}


.dialogue-text-box {
  cursor: default;
  font-size: .7em;
  position: absolute;
  top: 5%;
  left: 11.5%; /* Change to 1%; if no portrait is used */
  color: #fff;
  white-space: pre-line;
}

.dialogue-text-shield {
  position: absolute;
  height: 100%;
  width: 100%;
  text-align: right;
  color: #ff5;
}

.dialogue-text-shield:hover {
  cursor: pointer;
  color: #fff;
}

.dialogue-next-button { 
  font-size: .7em;
  bottom: 3%;
  position: absolute;
  right: 1%;
}

.vne-button,
.vne-label {
  box-sizing: border-box;
  position: absolute;
  display: inline-block;
  background-size: 100%;
}

.vne-button:hover {
  cursor: pointer;
}

.default-button,
.default-label {
  background: #444499;
  border-radius: .3em;
  color: #fff;
  text-align: center;
  font-size: 1em;
  padding: 1%;
}
.default-button:hover {
  background: #4444DD;
}

.choice-menu {
  position: absolute;
  top: 5%;
  left: 10%;
  width: 80%;
  max-height: 90%;
}

.choice-backdrop {
  opacity: 0.5;
  background: #44f;
  height: 100%;
  width: 100%;
  position: absolute;
  border-radius: .3em;
}
.choices-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.choice-title {
  cursor: default;
  color: #fff;
  box-sizing: border-box;
  padding-top: 1%;
  padding-left: 2%;
}

.choice-list {
  list-style-type: none;
  box-sizing: border-box;
  padding: 1% 2%;
  margin: 0;
}
.choice-list li {
  background: #444499;
  border-radius: .3em;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
  padding: 1%;
  margin: 1.5% 0;
}

.choice-list li:hover {
  background: #4444DD;
  cursor: pointer;
}

.input-box {
  position: absolute;
  top: 5%;
  left: 10%;
  width: 80%;
  max-height: 90%;
}

.input-backdrop {
  opacity: 0.5;
  background: #44f;
  height: 100%;
  width: 100%;
  position: absolute;
  border-radius: .3em;
}
.input-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.input-title {
  cursor: default;
  color: #fff;
  box-sizing: border-box;
  padding-top: 1%;
  padding-left: 2%;
}

.input-box-text {
  box-sizing: border-box;
  padding: 1% 3%;
  margin: 2%;
  width: 96%;
  font-size: inherit;
  font-family: inherit;
  border: .1em solid #fff;
  background-color: #5555bb;
  border-radius: .3em;
  color: #fff;
  outline: none;
}

.input-submit-button {
  box-sizing: border-box;
  background: #444499;
  border-radius: .3em;
  color: #fff;
  display: inline-block;
  text-align: center;
  font-size: 1em;
  padding: 1% 3%;
  margin: 0 2% 1% 0;
  float: right;
}
.input-submit-button:hover {
  background: #4444DD;
  cursor: pointer;
}

.portrait-container {
  width: 11.67%;
  height: 118.99%;
  position: absolute;
  bottom: 15%;
  left: -1%;
}

.portrait-backdrop {
  opacity: 0.5;
  background: #44f;
  height: 100%;
  width: 100%;
  position: absolute;
  border-radius: .3em;
}

.portrait-picture {
  background-size: 100%;
  position: absolute;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  border-radius: .3em;
}

.name-portrait-container {
  position: absolute;
  top: -22%;
  left: 10.7%;
  height: 22%;
  width: 20%;
}

.name-portrait-backdrop {
  background: #44f;
  opacity: .5;
  height: 100%;
  width: 100%;
  position: absolute;
  border-radius: .3em;
}
.name-portrait-text {
  font-size: .7em;
  color: #fff;
  position: absolute;
  left: 4%;
}

.unlockables {
  background-color: #002;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.unlockables .unlock {
  height: 25%;
  width: 25%;
  display: inline-block;
  margin: 3% 0 0 6.3%;
  border-radius: .5em;
  background-size: 100%;
  cursor: pointer;
}

.unlockables .unlock.locked {
  background: linear-gradient(166deg, #4e5c5a 2%,#0e0e0e 56%,#0e0e0e 67%);
  cursor: default;
}

.unlockable-navigation {
  background: #444499;
  box-sizing: border-box;
  border-radius: .3em;
  color: #fff;
  position: absolute;
  display: inline-block;
  text-align: center;
  font-size: 1em;
  padding: 1% 4%;
  font-weight: bold;
  bottom: 7%;
 }

.unlockable-navigation:hover {
  background: #4444DD;
  cursor: pointer;
}

.unlockable-navigation.disabled {
  background-color: gray;
}

.unlockable-navigation.previous {
  left: 2%;
}
.unlockable-navigation.next {
  left: 14%;
}

.full-screen-shield {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-size: 100%;
}

.game-HUD {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.default-percent-bar {
  box-sizing: border-box;
  border: .1em solid #fff;
  border-radius: .3em;
  position: absolute;
  display: block;
  text-align: center;
}
.percentage-done {
  position: absolute;
  top: 0;
  left: 0;
  background: #33aa33;
  height: 100%;
  border-radius: .2em;
}
.percentage-done.half {
  background: #FFFF00;
}
.percentage-done.critical {
  background: #FF0000;
}

.save-screen,
.save-content {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}

.save-screen {
  display: none;
  z-index: 200;
}

/** Prevent elements that have text to become selected by mistake **/
.dialogue-text-box,
.dialogue-next-button,
.dialogue-text-shield,
.vne-button,
.vne-label,
.input-title,
.input-submit-button,
.choice-menu,
.unlockable-navigation,
.game-HUD {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

