* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	font-family:Helvetica, Arial;
	background-image: url("bg.png");
	background-color: white;
	transition: 0.5s;
}
div {
	display: inline-block;
	text-align: center;
}

#wrapper, #header, #main, #footer,
#usermsg, #userinfo, .block {
	display: block;
}

#wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: auto;
	transition: 0.5s;
}

#sounds { display: none; }

/* ==============================
		HEADER:
============================== */
#header {
	margin-bottom: 25px;
}

h1 {
	display: inline-block;
	font-size: 3em;
	width: 900px;
	padding: 5px;
	margin-top:15px;
	border-radius: 10px;
}

/* ==============================
		BODY/MAIN:
============================== */
#menu {
	width: 900px;
	transition: 2s;
}

#user {
	width: 850px;
	margin: 5px;
	padding: 10px;
	border-radius: 20px;
}

h2 {
	font-size: 1.5em;
	font-weight: bold;
}

#username, #username-input {
	width: 400px;
	height: 25px;
	padding: 5px;
	margin: 10px;
	border-radius: 5px;
	cursor: pointer;
	transition: 0.3s;
}
#username-input { display: none; }

#menu-order {
	
}

.game-menu {
	width: 275px;
	height: 300px;
	margin: 5px;
	padding: 5px;
	border-radius: 20px;
	position: relative;
}

.flex {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

#joincode {
	margin-bottom: 10px;
	font-size: 1.5em;
	width: 100px;
}

.btn {
	margin: 5px;
	font-weight: bold;
	padding: 10px 20px;
	border-radius: 10px;
	cursor: pointer;
	transition: 0.3s;
}

.info {
	margin-top: 10px;
	width: 90%;
}

/* ==============================
		BODY/GAME:
============================== */
#game {
	display: none;
	width: 900px;
	padding: 5px;
	border-radius: 20px;
	margin-bottom: 20px;
}

#gamecode {
	border: 1px solid silver;
	padding: 2px;
	cursor: pointer;
}
#gamecode:active { background-color: white; }

#game-status { display: block; }

#winner, #loser, #draw, #wait { display: none; }

.rematch {
	font-size: 3em;
	padding: 5px 20px;
	margin: 10px;
	border-radius: 40px;
	border-width: 4px;
	border-style: solid;
	cursor: pointer;
	transition: 0.3s;
}

.overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
}
.overlay h1 {
	display: inline-block;
	font-size: 4em;
	background: none;
	width: 700px;
	padding: 5px;
	margin-top:15px;
	border-radius: 10px;
	opacity: 0.90;
}

#mychip {
	width: 25px;
	height: 25px;
	margin: 0px;
	padding: 0px;
	border-radius: 50%;
}

#canvas {
	display: none;
	position: relative;
	background-color: blue;
	padding: 5px;
	margin: 20px 0px;
	border-radius: 10px;
	cursor: grabbing; /* not-allowed */
}
#canvas:active {
	cursor: grab;
}

.column {
	width: 100px;
	height: 600px;
	margin: 0px;
	padding: 0px;
}

.row {
	width: 100px;
	height: 100px;
	margin: 0px;
	padding: 0px;
	border-radius: 50%;
}

.column:hover div:first-child:not(.filled) { border: 10px solid lime; }

#canvas, .column, .row {
/* This is used to prevent from highlight multiple columns and clicking them all at once */
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Opera and Firefox */
}

/* ==============================
		FOOTER:
============================== */
#themes {
	width: 850px;
	margin: 5px;
	padding: 10px;
	border-radius: 20px;
}
.themeBtn {
	width: 150px;
	padding: 5px;
	margin: 10px;
	border-radius: 20px;
	border-width: 2px;
	border-style: solid;
	cursor: pointer;
	transition: 0.3s;
}

#theme1 {
	color: rgb(218, 220, 224);
	background-color: rgba(47, 49, 54, 1.0);
	border-color: rgba(32, 34, 37, 1.0);
}
#theme1:hover {
	color: rgb(170, 207, 222);
	border-color: rgb(170, 207, 222);
	background-color: rgba(32, 34, 37, 1.0);
}
#theme1 .circ-left {
	background-color: darkslategray;
}
#theme1 .circ-right {
	background-color: darkkhaki;
}

#theme2 {
	color: rgb(50, 50, 50);
	background-color: rgba(240, 200, 175, 1.0);
	border-color: rgba(255, 255, 255, 1.0);
}
#theme2:hover {
	color: rgb(220, 20, 60);
	border-color: rgb(220, 20, 60);
	background-color: rgba(255, 255, 255, 1.0);
}
#theme2 .circ-left {
	background-color: red;
}
#theme2 .circ-right {
	background-color: yellow;
}

#theme3 {
	color: rgb(255, 255, 255);
	background-color: rgba(75,0,130, 1.0);
	border-color: rgba(255, 255, 255, 1.0);
}
#theme3:hover {
	color: rgb(0,128,0);
	border-color: rgb(0,128,0);
	background-color: rgb(255,255,0);
}
#theme3 .circ-left {
	background-color: magenta;
}
#theme3 .circ-right {
	background-color: turquoise;
}

.circle {
	display: inline-block;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	margin: 0 10px;
}

/* ==============================
		TOOLTIP:
============================== */
.tooltip {
	position: relative;
	display: inline-block;
}

.tooltip .tooltiptext {
	font-size: 0.5em;
	visibility: hidden;
	width: 140px;
	background-color: #555;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	padding: 5px;
	position: absolute;
	z-index: 1;
	bottom: 150%;
	left: 50%;
	margin-left: -75px;
	opacity: 0;
	transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
	visibility: visible;
	opacity: 1;
}

/* Medium devices (tablets and smaller) */
@media (max-width: 992px) {
	h1, .rematch { font-size: 3em; }
	h2 { font-size: 1.5em; }
	
	 
	h1, #user, #menu, #game, #themes { width: 95%; }
	
	#username, #username-input { width: 90%; }
	
	.game-menu { width: 30%; }
	
	#joincode {
		width: 95%;
		font-size: 1.5em;
	}
	
	#canvas { width: 100%; }
	
	.column {
		width: 11vw;
		height: 66vw;
	}
	
	.row {
		width: 11vw;
		height: 11vw;
	}
	
	.themeBtn { width: 25%; }
	
	.overlay h1 { width: 100%; }
}

/* Small devices (landscape phones and smaller) */
@media (max-width: 768px) {
	h1, .rematch { font-size: 2.5em; }
	
	#menu-order {
		width: 100%;
		display: flex;
		flex-direction: column-reverse;
	}
	
	.game-menu {
		display: block;
		width: 95%;
		height: auto;
	}
	
	.themeBtn {
		width: 95%;
		display: block;
	}
	
	.overlay h1 { font-size: 3em; }
}