/* --- Global --- */
@font-face {
	font-family: "Soup of Justice";
	font-style: normal;
	font-weight: normal;
	src: local("Soup of Justice"), url("../../assets/fonts/soupofjustice.woff") format("woff");
}

h1, h2, h3, p, div {
	font-family: "Soup of Justice" !important;
}		
		
body {
	color: white;
	font-size: 22px;
	font-family: 'Soup of Justice';
	font-weight: normal;	
	background-color: rgb(35, 31, 32);
	margin: auto;
	overflow: hidden;
}

a:link {
	text-decoration: none;
}

a:visited {
	text-decoration: none;
}

a:active {
	text-decoration: none;
}

/* --- GD SDK --- */
#gdsdk__advertisement {
	z-index: 1004 !important;
  background-color: rgba(0, 0, 0, 1) !important;	
}

/* --- Main Menu --- */
.main-menu-overlay {
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;		
	height: 100%;
	width: 100%;
	opacity: 1;	
	transition: opacity 2s;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1002;	
}

.main-menu-overlay--respawn {
  background-image: none !important;
	background-color: #000000b3;
	background-size: 0;	
}

.main-menu-overlay--store {
  background-image: none !important;
 	transition: none;
  z-index: inherit;
}


.main-menu-overlay--fade {
	opacity: 0;
}

.main-menu-overlay--remove {
	z-index: 1000;	
}

.main-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.47);
  min-height: 280px;
  width: 336px;
  border-radius: 4px;
  padding: 18px;
  margin-right: 24px;
  box-shadow: 2px 2px 6px #000000;
  position: relative;
}

.main-menu--hide {
	display: none;
}

.main-menu--respawn {
	background-color: #ffffff30;
}

.main-menu-left {
  width: 336px;
  padding: 16px;
}

.main-menu-left--store {
	position: absolute;
  left: 4%;
  z-index: 1002;  
}

.main-menu-center {
	justify-content: flex-start;
	flex-direction: column;
  width: 292px;
  padding: 16px;
}

.main-menu-right {
	height: 448px;	
  width: 424px;
  padding: 0 8px;
  margin-right: 24px;
}

.main-menu-top-left {
	flex-direction: column;	
  min-height: 144px;
  width: 256px;
  padding: 8px;
  margin-right: auto;
  margin-left: 16px;
  position: absolute;
  top: 0;
  left: 0;
}

.main-menu-bottom-left {
  min-height: auto;
  width: 256px;
  padding: 8px 4px 4px 4px;
  margin-right: auto;
  margin-left: 16px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.main-menu-bottom-right {
	min-height: auto;
  width: 180px;
  padding: 16px;
  margin-right: 16px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.main-menu-bottom {
  min-height: 90px;
  width: 728px;
  padding: 8px 8px 0 8px;
  margin-right: 0;
  padding: 8px;    
  box-shadow: 2px 2px 6px #000000;
  position: absolute;
  bottom: 0;
}

.main-menu-bottom--store {
	top: 0;
  bottom: auto;
  z-index: 1002;
}

.main-menu-bottom--respawn {
	top: 0;
  bottom: unset !important;
  z-index: 1002;  
}

.main-menu-group {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  width: 100%;
}

.main-menu-group--hide {
	display: none;
}

.main-menu-group--margin {
  margin-top: 12px;	
}

.main-menu-group--column {
	flex-direction: column;
}

.main-menu-logo {
	width: 100%;
	position: absolute;
	top: -92px;
	left: 0;	
}

@media screen and (min-width: 1380px) {
	.main-menu-logo {
		width: auto;		
		position: absolute;
	  top: -148px;
	  left: -114px;	
	}
}

.main-menu-avatar {
	height: 54px;
	width: 54px;	
	border-radius: 50%;
	margin-right: 12px;
	cursor: pointer;
	border: 2px solid white;
	box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);
}

.main-menu-select {
	width: 300px;
	height: 317px;
	border-radius: 4px;
	margin: 0 auto;
}

.main-menu-tooltip {
  font-size: 16px;
  font-weight: 200;
  color: #333;
  position: absolute;
  top: -18px;
  left: -16px;
  background-color: white;
  padding: 6px;
  border-radius: 4px;
	box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);  
  cursor: pointer;
}

.main-menu-tooltip--hide {
	display: none;
}

.main-menu-tooltip--select {
	top: -24px;
}

.main-menu-tooltip--score {
  top: -24px;
  left: -16px; 
	cursor: auto  
}

.main-menu-tooltip--auth,
.main-menu-tooltip--server {
  top: -24px;
	cursor: auto;
	padding: auto;	
}

.main-menu-tooltip--close {
	display: flex;
  justify-content: center;
  top: -18px;
  left: auto;
  right: -16px;
  width: 16px;
  border-radius: 50%;
}

.main-menu-text {
	color: white;
	font-size: 22px;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.75);	
}

.main-menu-text--youtuber {
	margin: 4px 0;
}

.main-menu-text--version {
    color: white;
    font-size: 12px;
    font-family: "Trebuchet MS", Helvetica, sans-serif !important;
    position: absolute;
    top: 8px;
    right: 16px;
}

.main-menu-text--select {
	font-size: 32px;
}

.main-menu-text--auth,
.main-menu-text--server,
.main-menu-text--help {
	color: #bcd4ba;
}

.main-menu-text--respawn {
	display: flex;
  justify-content: center;
  flex-direction: column;  
	font-size: 64px;
}

.main-menu-text--respawn-icon {
	align-self: center;	
	font-size: 76px;
}

.main-menu-help {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  width: 100%;
}

.main-menu-help--help {
	height: 256px;
	overflow-y: auto;
	overflow-x: hidden;
}

.main-menu-help--select {
	justify-content: center;
}

.main-menu-help--respawn {
	justify-content: center;
}

.main-menu-help--hide {
	display: none;
}

.main-menu-help--margin {
  margin-top: 12px;	
}

.main-menu-spacer {
	height: 8px;
}

.main-menu-input {
	box-sizing: border-box;	
  color: #333;	
	font-size: 24px;
	font-family: 'Soup of Justice';	
	height: 54px;
	width: 296px;
	padding: 14px 8px;
	border-radius: 4px;
	border: 1px solid lightgray;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.75);	
	outline: none;
  user-select: none;
}

.main-menu-input--player {
	width: 224px;
}

.main-menu-input--hide {
	display: none;
}

.main-menu-input--full {
	width: 100%;
}

.main-menu-input--margin {
  margin-top: 12px;	
}

.main-menu-button {
  display: flex;
  justify-content: center;
	box-sizing: border-box;	  
  color: #333;
  font-size: 24px;
  height: auto;
  min-width: 104px;
  background-color: #f9f9f9;
  border-radius: 4px;
  border: 1px solid #ccc;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.75);
  padding: 14px;
  cursor: pointer;
  user-select: none;
}

.main-menu-button:hover {
	background-color: #e2e2e2;
}

.main-menu-button--active {
  color: white;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.75);  
  background-color: #98d395;
  background: linear-gradient(#98d395, #3d6f3c);
  border: 0 solid #b9b9b9;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.75);
}

.main-menu-button--hide {
	display: none;
}

.main-menu-button--margin {
	margin-top: 12px;	
}

.main-menu-button-icon--left {
	margin-left: 8px;
}

.main-menu-button-icon--right {
	margin-right: 8px;
}

.main-menu-button--prev,
.main-menu-button--next,
.main-menu-button--server,
.main-menu-button--connect,
.main-menu-button--cancel,
.main-menu-button--register,
.main-menu-button--login,
.main-menu-button--logout,
.main-menu-button--help,
.main-menu-button--ok {
  color: white;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.75);  
  background-color: #98d395;
  background: linear-gradient(#98d395, #3d6f3c);
	min-width: 140px;  
  border: 0 solid #b9b9b9;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.75);	
}


.main-menu-button--prev:hover,
.main-menu-button--next:hover,
.main-menu-button--select:hover,
.main-menu-button--server:hover,
.main-menu-button--connect:hover,
.main-menu-button--cancel:hover,
.main-menu-button--register:hover,
.main-menu-button--login:hover,
.main-menu-button--logout:hover,
.main-menu-button--help:hover, 
.main-menu-button--ok:hover {
	opacity: 0.85;
}

.main-menu-button--full {
	color: white;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);	
  background-color: #98d395;
  background: linear-gradient(#98d395, #3d6f3c);
  width: 100%;
  border: 0 solid #b9b9b9;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.75);
}

.main-menu-button--full:hover {
	opacity: 0.85;
}

.main-menu-button--play {
	font-size: 32px;
}

.main-menu-icon {
	height: 48px;
	width: 48px;
	margin: 0 8px;
}

.main-menu-linkback {
  color: white;
  font-size: 24px;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.75);
}

/* --- Main Menu > Modal --- */
.main-menu-modal-overlay {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: black;
	height: 100vh;
	width: 100vw;
	opacity: 0;	
	transition: opacity 0.5s;
	position: absolute;
	top: 0;
	left: 0;	
	z-index: 999;
}

.main-menu-modal-overlay--active {
	opacity: 1;
	z-index: 1004;	
}

.main-menu-center--modal-active {
	display: flex !important;
}

.main-menu-center--modal-select,
.main-menu-center--modal-auth {
	display: none;	
  background-color: #ffffff30;
  min-height: auto;
  width: 304px;
  margin-right: 0;
}

.main-menu-center--modal-help {
	display: none;	
  background-color: #ffffff30;
  min-height: auto;
  width: 352px;
  margin-right: 0;
}

.main-menu-center--modal-server {
	display: none;	
  background-color: #ffffff30;
  min-height: auto;
  width: 296px;
  margin-right: 0;
}

/* --- Main Menu > Leaderboard ---  */
.leaderboard {
	box-sizing: border-box;
	height: 388px;
	width: 424px;
	background-color: white;
	border: solid 0 white;
	margin-top: 16px;
	overflow: hidden;
	border-radius: 4px;
	position: relative;
}

.leaderboard-text {
	color: white;
  font-size: 22px;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.75);  
  position: absolute;
  top: 12px;
  left: 10px;
  z-index: 100
}

.leaderboard-link {
	color: whitesmoke;
	cursor: pointer;
}

.leaderboard-link:hover {
	opacity: 0.85;
}	

.leaderboard-link--active {
	color: #8dc78a;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.75);
	font-size: 25px;
}

.leaderboard-link--hide {
	display: none;
}

.leaderboard-expand {
  font-size: 22px;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.75);  
  position: absolute;
  top: 12px;
  right: 10px;
  cursor: pointer;
  z-index: 100
}

.leaderboard-expand:hover {
	opacity: 0.85;
}	

/* --- Main Menu > About --- */
.about {
	display: none;
}

/* --- Main Menu > Push Notice --- */
.notice {
	background: rgba(0, 0, 0, 0.5);
	color: white;
	font-size: 24px;
	height: fit-content;
	max-width: 356px;
	padding: 16px;
	border: solid 1px white;
	border-radius: 4px;
	box-shadow: 4px 4px 5px black;
	transition: all 1s;
	opacity: 0;
	position: fixed;
	top: 50%;
	left: 0;
	transform: translate(-100%, -50%);
	z-index: 1003;
}

/* --- Game > Pre-Loader --- */
* {
  margin: 0;
  padding: 0;
}

#preloader {
	height: 100vh;
	width: 100vw;
	position: fixed;
	top: 0;
	left: 0;
	background: rgb(35, 31, 32);
	z-index: 1000;	
}

#gameContainer canvas {
  display:block;
}

#webgl-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1000;
}

#loadingBox {
  width: 100%;
  height: 0;
  position: absolute;
  top: 50%;
  margin-top: 137px;
  text-align: center;
  border-radius: 4px;  
  z-index: 1001;  
}

#icon {
  width: 300px;
  height: 310px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -185px;
  margin-left: -150px;
  background-size: 300px;
  background-repeat: no-repeat;
  border-radius: 4px;
  box-shadow: 1px 1px 5px #141414;
  z-index: 1001;
}

#box {
  width: 328px;
  height: 367px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -199px;
  margin-left: -164px;
  background: #222;
  border-radius: 4px;  
  box-shadow: 1px 1px 5px #000;
  z-index: 1001;  
}

#bgBar {
  display: none;
  position: absolute;
  width: 300px;
  margin-left: -150px;
  left: 50%;
  height: 18px;
  background-color: #BDBBA3;
  border-radius: 4px;  
  box-shadow: 1px 1px 5px #111;
}

#progressBar {
  display: none;
  left: 50%;
  position: absolute;
  margin-left: -150px;
  width: 0;
  height: 18px;
  background-color: #6B7C60;
  border-radius: 4px;  
}

#loadingInfo {
  color: #fff;
  letter-spacing: 1px;
  position: absolute;
  width: 100%;
  font-family: "Trebuchet MS", Helvetica, sans-serif;
  text-align: center;
  top: 50%;
  font-size: 11px;
  font-weight: 500;
  margin-top: 140px;
  text-shadow: 0 0 5px #000;
  z-index: 1001;  
}

#spinner {
  height: 18px;
  left: 50%;
  margin-left: -150px;
  width: 300px;
  position: relative;
  overflow: hidden;
  background-color: #6B7C60;
  border-radius: 4px;  
  box-shadow: 1px 1px 5px #111;
}

#spinner:before {
  display: block;
  position: absolute;
  content: "";
  width: 150%;
  margin-left: -10px;
  height: 10px;
  background-color: #BDBBA3;
  transform: rotate(-5deg);
  animation: loading 1s linear infinite;
  border-radius: 4px;  
}

@keyframes loading {
  from {
    top: -185%
  }
  to {
    top: 225%
  }
}