/* cyrillic-ext */
@font-face {
  font-family: 'PressStart2P';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nYivN04w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'PressStart2P';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nRivN04w.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'PressStart2P';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nWivN04w.woff2) format('woff2');
  unicode-range: U+0370-03FF;
}
/* latin-ext */
@font-face {
  font-family: 'PressStart2P';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nbivN04w.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'PressStart2P';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nVivM.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


#game_canvas{
   position: absolute;
   background: black;
   width: auto;
   height: 100%;
   top: 0; 
   padding: 0;
   margin: auto;
   display: block;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   z-index:1
}

#game_menu{
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  height: 41%;
  transform: translate(-50%, -50%);
}

#main_menu {
  display: none;
}

.main_menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#nameInput {
  width: 100%;
  margin: 50px;
}

.window{
  display: none;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 247, 255, 0.248);
  overflow: auto;
}

#shop {
  flex-direction: column;
  justify-content: space-around;
}

#menuButtons{
  display: block;
  align-items: center;
  margin: 50px;
}

#playButton {
  margin: 50px;
}

#table_wrapper {
  overflow: auto;
  align-items: center;
  height: 90%;
}

#createLobbyForm {
  width: auto;
}

input{
  display: block;
}

table{
  width: 100%;
}

th {
  background-color: rgba(0, 200, 255, 0.582);
  border: solid;
  border-radius: 2px;
  border-color: rgba(0, 200, 255, 0.748);
  text-align: left;
  padding: 8px;
}

td {  
  text-align: left;
  padding: 8px;
}

.lobby{
  transition: all 0.1s; 
}

.lobby:hover {
  background-color: rgba(0, 200, 255, 0.582);
}

.browser-button {
  position: fixed !important;
  bottom: 20px;
}

#addAIButton {
  position: fixed !important;
}

#addAIDiv {
  display: none;
  justify-content: space-between;
  gap: 20px;
  text-align: center;
  background-color: rgba(0, 179, 170, 0.753);
}

.lobby-name{
  white-space: nowrap;
}

.lobby_table_container{
  margin-top: 10px;
  height: 90%;
}

#readyButton {
  position: fixed;
  bottom: 20px;
  right: 40px;
  margin: 0;
}

#playerList {
  list-style-type: none;
  margin: 5px;
  padding: 0;
}

.player-li {
  overflow: hidden;
  width: 20vw;
  padding-left: 5px;
  padding-right: 5px;
  border: solid;
  border-color: black;
  background-color: rgba(255, 8, 0, 0.656);
}

.player-name {
  display: inline-block;
  margin-bottom: 0;
  line-height: 1;
  margin-top: 6px;
}

.player-image {
  margin-top: 3px;
  vertical-align: top;
  height: 32px;
}

.close-button {
  display: block !important;
  position: absolute !important;
  right: 23px;
  top: 6px;
  margin: 0 !important;
}

#leaveCloseButton {
  right: 18px;
  top: 2px;
}

#disconnectCancelButton {
  display: inline-block;
  margin: 0;
}

#disconnectButton {
  display: inline-block;
  margin: 0;
}

.popup{
  position: absolute !important;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4; 
}

#leaveGameDiv {
  display: none;
  justify-content: space-between;
  gap: 20px;
  background-color: rgba(255, 0, 0, 0.409);
}

#errorPopup {
  display: none;
  background-color: rgba(253, 253, 0, 0.502);
  text-align: center;
  width: auto;
}

input[type="range"] { 
  margin-bottom: 15px;
  -webkit-appearance: none;
  position: relative;
  overflow: hidden;
  height: 30px;
  width: 200px;
  cursor: pointer;
  border-radius: 0; /* iOS */
}

::-webkit-slider-runnable-track {
  background: #ddd;
}

::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px; /* 1 */
  height: 30px;
  background: #fff;
  box-shadow: -200px 0 0 200px dodgerblue; /* 2 */
  border: 2px solid #999; /* 1 */
}

::-moz-range-track {
  height: 30px;
  background: #ddd;
}

::-moz-range-thumb {
  background: #fff;
  height: 30px;
  width: 20px;
  border: 3px solid #999;
  border-radius: 0 !important;
  box-shadow: -200px 0 0 200px dodgerblue;
  box-sizing: border-box;
}

::-ms-track { 
  background: #ddd;
  color: transparent;
  height: 40px;
  border: none;
}

#hud {
  display: none;
  flex-direction: column;
  gap: 5px;
  position: absolute;
  z-index: 5;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.abilityIMG {
  border: solid;
  border-color: rgb(62, 62, 62);
  border-width: 4px;
  border-radius: 10px;
}

.hudContainer{
  display: flex;
  gap: 20px;
  position: relative;
}

#healthBar {
  height: 40px;
}

.abilityDiv {
  position: relative;
}

.cooldownP {
  position: absolute;
  font-size: 23px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.cooldownBox {
  position: absolute;
  border-radius: 10px;
  height: 0%;
  width: 100%;
  bottom: 0;
  background-color: #9595959b;
}

#healthBar {
  margin-left: 0;
  margin-right: 0;
}

#healthBarText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.shop-row {
  display: flex;
  justify-content: space-inbetween;
  gap: 20px;
  flex-direction: row;
}

#lastShopRow {
  margin-bottom: 10px;
}

.shop-item-container {
  display: flex;
  flex-direction: column;
}

.shop-item-image {
  display: block;
  border-radius: 10px;
  border: solid;
  border-color: rgba(255, 255, 255, 0.0);
}

.shop-item-image:hover {
  border: solid;  
  border-color: rgba(255, 255, 255, 0.624)
}

.upgrade-lights {
  justify-content: space-around;
  display: flex;
  align-content: center;
  margin-top: 2px;
  margin-bottom: 4px;
}

.level-light-green {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: rgba(81, 212, 74, 0.77);
  box-shadow: 0px 0px 5px rgba(0, 255, 0, 0.9);
  border-radius: 50%;
}

.level-light-black {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: rgba(47, 47, 47, 0.77);
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.4);
  border-radius: 50%;
}

#gold {
  position: absolute;
  color: yellow;
  font-size: large;
  right: 2px;
  bottom: 2px;
}

.tooltip {
  display:inline-block;
  position:relative;
  border-bottom:1px dotted #666;
  text-align:left;
}

.tooltip .right {
  min-width:300px;
  width: auto; 
  top:50%;
  left:100%;
  margin-left:20px;
  transform:translate(0, -30%);
  padding:10px 20px;
  color:#444444;
  background-color:#EEEEEE;
  font-weight:normal;
  font-size:13px;
  border-radius:8px;
  position:absolute;
  z-index:99999999;
  box-sizing:border-box;
  box-shadow:0 1px 8px rgba(0,0,0,0.5);
  visibility:hidden; opacity:0; transition:opacity 0.1s;
}

.tooltip:hover .right {
  visibility:visible; opacity:1;
}

.tooltip .right i {
  position:absolute;
  top:40%;
  right:100%;
  margin-top:-12px;
  width:12px;
  height:24px;
  overflow:hidden;
}

.tooltip .right i::after {
  content:'';
  position:absolute;
  width:12px;
  height:12px;
  left:0;
  top:50%;
  transform:translate(50%,-50%) rotate(-45deg);
  background-color:#b3b3b3;
  box-shadow:0 1px 8px rgba(0,0,0,0.5);
}