@font-face {
  font-family: OldLondon;
  src: url(./OldLondon.ttf);
}
:root {
  touch-action: pan-x pan-y;
  height: 100%;
}
html,
body {
  overflow: hidden;
  margin: 0;
  padding: 0;
  height: 100%;
  user-select: none;
  background-color: black;
  color: white;
  font-size: 3.5vh;
  cursor: crosshair;
}
#mainMenuWrapper,
#gameplayWrapper {
  width: 100%;
  height: 100%;
}
#backgroundImg {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#swarmImg {
  position: absolute;
  scale: 1.4;
  top: 52%;
  height: 11%;
}
#logo {
  position: absolute;
  font-size: 400%;
  color: #ffac20;
  text-align: center;
  width: 100%;
  top: 4vh;
}
#moveHint {
  position: absolute;
  left: 10%;
  top: 20%;
  width: 23.5%;
  height: 25%;
}
#startButton,
#retryButton {
  position: absolute;
  width: 27.1%;
  top: 79.4%;
  left: 36.2%;
  font-family: OldLondon;
  font-size: 6vh;
  text-align: center;
  padding-top: 0.3vh;
  padding-bottom: 1.4vh;
  border: white solid 0.4vh;
  outline: white solid 0.4vh;
  outline-offset: -1.3vh;
  background-color: black;
  z-index: 2;
}
#startButton:hover,
#retryButton:hover {
  border-color: #f8ecb3;
  outline-color: #f8ecb3;
}
#selectWrapper {
  position: relative;
  display: flex;
  width: 20%;
  height: max-content;
  margin: auto;
  top: 26vh;
  z-index: 2;
}
#selectButton {
  width: 2vw;
  height: 5vh;
}
#select {
  text-align: center;
  font-size: 90%;
  width: 100%;
  height: min-content;
  margin: auto;
}
#selectHint {
  position: relative;
  text-align: center;
  width: max-content;
  margin: auto;
  margin-top: 4vh;
  top: 24vh;
}
#wip {
  text-decoration: line-through;
}
#player {
  position: absolute;
  width: 9%;
  height: 23%;
  left: 45.5%;
  top: 54%;
}
#body {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 10;
}
#hat {
  position: absolute;
  width: 100%;
  height: 95%;
  margin-top: -3%;
  z-index: 11;
}
#staff {
  position: relative;
  height: 100%;
  top: 6%;
  z-index: 12;
  transform: rotate(30deg);
}
#gameplayWrapper #staff {
  top: -16%;
  transform-origin: center 75%;
}
#borderLeft,
#borderRight {
  position: absolute;
  border-right: solid 0.4vh;
  border-image: linear-gradient(to bottom, #787776, black) 1;
  width: 2.2%;
  height: 80%;
  top: 0;
}
#borderRight {
  border-right: none;
  border-left: solid 0.4vh;
  left: 97.4%;
}
#floor {
  position: absolute;
  border-top: white solid 0.6vh;
  width: 94.8%;
  left: 2.6%;
  top: 85%;
}
#enemy {
  position: absolute;
  display: none;
  width: 3.0%;
  height: 8.5%;
}
#popoff {
  position: absolute;
  font-weight: bold;
  font-size: 5vh;
  z-index: 90;
}
#healthBar {
  position: absolute;
  width: 20.8%;
  height: 1.5%;
  border: #291515 solid 0.4vh;
  margin-left: 5.2%;
  margin-top: 0.8%;
  z-index: 100;
}
#healthBarInside {
  position: relative;
  width: 100%;
  height: 70%;
  background-color: #db362c;
  top: 15%;
  border-radius: 2pt;
}
#healthCounter {
  position: absolute;
  font-size: 3.5vh;
  left: 5.7%;
  font-family: OldLondon;
  margin-top: 0.2%;
  z-index: 100;
}
#scoreCounter,
#soulsCounter {
  font-size: 4.5vh;
  text-align: right;
  margin-top: 1.4%;
  margin-right: 4.5%;
  font-family: OldLondon;
  z-index: 100;
}
#projectile {
  position: absolute;
  display: none;
  background-color: #00f9fe;
  width: 1%;
  height: 2%;
  border-radius: 50%;
}
#orb {
  position: absolute;
  width: 1%;
  height: 2%;
  border-radius: 50%;
}
#lightning {
  position: absolute;
  height: 85%;
  width: 3.4%;
  top: 0;
}
#barrier {
  position: absolute;
  border: solid 0.4vh #a0fdff;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  z-index: 13;
  margin-top: -130%;
}
#overWindow {
  position: absolute;
  width: 35%;
  height: 70%;
  border: white solid 0.5vh;
  background-color: black;
  left: 32%;
  top: 10%;
}
#gameOver {
  position: absolute;
  color: #e23d3d;
  font-family: OldLondon;
  text-align: center;
  margin-top: 0;
  font-size: 10vh;
  width: 100%;
}
#gameOverImg {
  position: absolute;
  width: 46%;
  height: 46%;
  left: 27%;
  top: 20%;
}
#scoreDisplay {
  color: #dedede;
  font-family: OldLondon;
  font-size: 9vh;
  width: 64%;
  margin-left: 20%;
  margin-top: 70%;
}
#red {
  position: absolute;
  color: #d61717;
  text-align: right;
  width: 38%;
}
#retryButton {
  width: 70%;
  top: 92%;
  left: 14.6%;
  background-color: black;
}
#selectionWrapper {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  column-gap: 1.8%;
  top: 0;
  width: 100%;
  height: 99%;
  z-index: 110;
}
#card {
  background-color: black;
  width: 16.5vw;
  height: 45%;
  border: white solid 0.5vh;
}
#card:hover {
  border-color: #f8ecb3;
}
#cardName {
  position: relative;
  font-family: OldLondon;
  left: 9%;
  top: 1%;
}
#cardImg {
  position: relative;
  width: 72%;
  height: 50%;
  border: white solid 0.5vh;
  left: 13%;
  top: 4%;
}
#cardDesc {
  position: relative;
  width: 80%;
  height: 30%;
  left: 9%;
  top: 6%;
  font-size: 1.5vw;
}
