html, body {
  height: 100vh;
  padding: 0px;
  margin: 0px;
  overflow: hidden;
  user-select: none;
}

img {
  pointer-events: none;
}

#game {
  position: relative;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  height: 100%;
  margin: 0px;
  padding: 0px;
}

#game > div {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0px;
  left: 0px;
  margin: 0px;
  padding: 0px;
}

.ui-layer {
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
  position: absolute;
}

.ui-layer button, .ui-layer input {
  pointer-events: auto;
}

.main-menu-button, .main-menu-banner {
  display: block;
  margin: auto;
  margin-top: 10px;
}

.main-menu-banner {
  width: 30%;
}

.settings-popup {
  position: absolute;
  left: 100px;
  top: 100px;
  bottom: 100px;
  right: 100px;
  display: flex;
  flex-flow: column;
}

.settings-top {
  height: 80px;
}

.settings-middle {
  flex-grow: 1;
}

.settings-bottom {
  height: 80px;
}

.settings-bottom button {
  border: none;
  background: rgba(0, 0, 0, 0.3);
  margin: 10px;
  outline: none;
  font-size: 200%;
  color: white;
}

.settings-bottom button:hover {
  border: none;
  background: rgba(0, 0, 0, 0.8);
  margin: 10px;
  outline: none;
  font-size: 200%;
  color: white;
}

.dialog-image, .dialog-text, .dialog-background, .dialog-next {
  position: absolute;
  top: 0px;
  left: 0px;
}

.dialog {
  position: absolute;
  display: block;
  height: 400px;
  width: 1257px;
  top: calc(100vh - 400px);
  left: calc(50vw - 1257px / 2);
}

.dialog-image {
  left: 18px;
}

.dialog-text {
  color: black;
  left: 330px;
  top: 110px;
  display: block;
  font-size: 22pt;
  width: 670px;
}

.dialog-next {
  animation-name: jump;
  animation-duration: 2.5s;
  animation-iteration-count: infinite;
}

.main-menu-splash {
  display: block;
  text-align: center;
  width: 100%;
  line-height: 100vh;
  color: white;
  border: none;
}

.main-menu-touch {
  padding: 10px;
}

.bar-back {
  margin-top: 16px;
  margin-left: 16px;
  width: 30vw;
  height: 32px;
  background: #404040;
  padding: 0px;
  position: relative;
}

.bar-front, .bar-text {
  margin: 0px;
  height: 100%;
  line-height: 32px;
  text-align: center;
  position: absolute;
  top: 0px;
  left: 0px;
  transition: width 0.3s;
}

.bar-text {
  width: 100%;
  color: white;
  text-shadow: 1px 1px rgba(0, 0, 0, 0.5);
}

.flash {
  border: 10px solid white;
}

.enemy-hp {
  position: absolute;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  width: 108px;
  height: 16px;
  margin-left: -48px;
  margin-top: -90px;
}

.enemy-hp-front {
  left: 0px;
  top: 0px;
  height: 16px;
  background: #FF0151;
  transition: width 0.3s;
}

.enemy-hp-frame {
  position: absolute;
  top: 0px;
  left: 0px;
  background: url("./../img/ui/10_HP_Leiste_Gegner.png");
  margin-left: -4px;
  margin-top: -6px;
  width: 117px;
  height: 27px;
}

.loading-background {
  background: #0C1A9F url("./../textures/loading.jpg");
  background-size: cover;
  opacity: 1;
}

.loading-text {
  position: absolute;
  left: 20vw;
  width: 60vw;
  height: 50vh;
  top: 15vh;
  color: white;
  font-size: 5vh;
  text-align: center;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
}

.loading-bar {
  position: absolute;
  top: 70vh;
  width: 1555px;
  max-width: 80vw;
  left: 10vw;
  height: 68px;
  margin: auto;
}

.loading-bar-cover {
  background: url("./../img/start_ladebalken_glossy.png");
  width: 1555px;
  height: 68px;
  max-width: 80vw;
  top: 0px;
  left: 0px;
  position: absolute;
}

.loading-bar-fill {
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 2px;
  transition: width 0.3s;
}

.fullscreen {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
}

.flash-damage {
  opacity: 0;
  box-shadow: inset 0px 0px 10px 10px rgba(255,0,0,1);
}

.touch-controls-button {
  width: 100px;
  height: 100px;
  position: absolute;
}

.now-playing {
  font-size: 200%;
  position: absolute;
  right: 0px;
  bottom: 0px;
}

@keyframes jump {
  0%   {margin-top: -5px}
  50%  {margin-top: 5px}
  100% {margin-top: -5px}
}

@keyframes tilt {
  0%   {
    transform: rotate(5deg);
  }
  50%  {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(5deg);
  }
}