body {
	margin: 0;
	color: #666666;
	background-color: #111111;
	background-image: linear-gradient(to bottom right, #111111, #3c3c3c 100%);
}
html,body {
	min-height: 100%;
	height: 100%;
	display: table;
	width: 100%;
	overflow: hidden;
}
#game_space {
	position: absolute;
	overflow: auto;
}
#game_space.noscroll {
	overflow: hidden !important;
}
a {
	text-decoration: inherit;
	color: inherit;
}
a.game_block:hover {
	box-shadow: 0px 0px 10px #DA00CB;
}
#topline {
	height: 4px;
	background-color: #DA00CB;
}
#bottomline {
	height: 3px;
	background-color: #DA00CB;
}
header {
	background-color: #333333;
	color: white;
	position: fixed;
	width: 100%;
	z-index: 9;
	box-shadow: none;
	/*box-shadow: 0px 2px 10px #888888;*/
}
#topnav {
	padding: 8px;
}

#bottomnav {
	padding: 0px;
}

* {
	font-family: Thin;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

.top_nav_item {
	display: inline-block;
	padding:6px;
	margin-right:28px;
	text-transform: uppercase;
}

.bottom_nav_item {
	display: inline-block;
	padding:6px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 20px;
	padding-bottom: 20px;

	/*border-right: 1px solid rgba(255, 255, 255, 0.5);*/
	background-color: #3f3f3f;
	background-image: linear-gradient(to right, #111111, #3c3c3c 50%, #111111 100%);
	background-image: radial-gradient(circle at center,  #303030, #111111 90%, #111111 100%);

	/*border-radius: 3px;*/
	text-align:center;

	font-size: 14px;
	text-transform: uppercase;
	color: #ffffff;
	font-family: Bold;
	min-width: 20vw;
	text-shadow: 0px 0px 8px #79fff1;
	cursor: pointer;
}

.bottom_nav_item.selected {
	/*color:#ffaaaa;*/
	background-image: radial-gradient(circle at center,  #aa3333, #111111 90%, #111111 100%);
}

.bottom_nav_item:last-child {
	border-right: 0;
}

#topnav * {
	font-family: Bold;
	font-size: 16px;
}


.game_block {
	display: inline-block;
	width: 240px;
	height: 210px;
	box-shadow: 2px 2px 4px rgba(77,77,77,0.5);
	background-color: #eeeeee;
	margin:14px;
	/*min-width: 240px;
	min-height: 180px;*/
	font-size: 1vw;
	font-size: 12px;
}

.game_block_img {
	height: 75%;
	background-image: url('/images/clue.jpg');
	background-size: 100% 100%;
}

.game_play_now {
	color: #DA00CB;
	float: right;
}
.sidepad {
	padding-left: 8px;
	padding-right: 8px;
}

#games_section {
	text-align:center;
}

#games_section {
	margin-top: 8px;
	margin-bottom: 8px;
}

#users, #chatscreen, #selectchatscreen {
	overflow-y: scroll;
}

@media only screen and (max-width: 680px) {
	
	#users {
		left: 0px !important;
		right: 0px !important;
		top: 0px !important;
		bottom: 70% !important;
	}
	
	#chatscreen {
		left: 0px !important;
		right: 0px !important;
		top: 30% !important;
	}
	
	
	#topnav * {
		font-size: 13px;
	}
	
	body, input[type=text] {
		font-size: 13px;
	}
	
	.top_nav_item {
		margin-right:12px;
	}
	#games_header {
		font-size: 0.8em;
	}
	#search_selectbox {
		max-width: 140px;
		width: 33vw;
	}
	
	#search_pad_container {
		padding-left: 20px;
		padding-right: 20px;
	}
	#filter_float_left {
		top: 34px;
	}

	#sort_float_right {
		top: 34px;
	}
	
	.games_header_item {
		padding-left: 6px;
		padding-right: 6px;
	}
	
	.game_block {
		width: 42vw;
		height: 42vw;
		margin:2vw;
		font-size: 2.5vw;
	}
	
	#filters_bar {
		display: block !important;
		padding: 18px;
	}
	
	#filter_float_left, #sort_float_right {
		display: none !important;
	}
	
	
	#filter_float_left_bar {
		float: left;
		font-size: 0.8em;
		position: relative;
		top: -6px;
		display: inline-block;
	}

	#sort_float_right_bar {
		float: right;
		font-size: 0.8em;
		position: relative;
		top: -6px;
		display: inline-block;
	}

	
.bottom_nav_item {
	padding-left: 3vw;
	padding-right: 3vw;
	padding-bottom: 20px;
	padding-top: 20px;
	font-size: 2.3vw;
	min-width: 19vw;
}

}

#games_container {
		margin-top: -20px;
	}

.tile {
	position: absolute;
	background-image: url('/images/cluesquare.png');
	background-size: 100% 100%;
	z-index: 2;
}

.tile.hover {
	cursor: pointer;
	filter: hue-rotate(180deg);
}

.tile.player {
	/*filter: hue-rotate(90deg);*/
	z-index: 3;
}

.piece {
	position: absolute;
	background-size: 80% 80%;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 4;
	pointer-events: none;
}

.chat_line .piece {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
}

#alert_bubble .piece {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	top: 4px;
}


.piece.red {
	background-image: url('/images/cluepeicered.png');
}
.piece.green {
	background-image: url('/images/cluepeicegreen.png');
}
.piece.blue {
	background-image: url('/images/cluepeiceblue.png');
}
.piece.white {
	background-image: url('/images/cluepeicewhite.png');
}
.piece.yellow {
	background-image: url('/images/cluepeiceyellow.png');
}
.piece.purple {
	background-image: url('/images/cluepeicepurple.png');
}

.room {
	position: absolute;
	background-size: 100% 100%;
	transform-origin: 0% 0%;
	z-index: 1;
}

#game_container {
	margin: 20px;
	margin-left: 0;
	margin-right: 0;
}

#game_container {

}

.hidden {
	visibility: hidden;
}

#bottomnav {
	margin-left: 0;
	margin-right: 0;
}
#actionbar {
	position: fixed;
	left: 0px;
	bottom: 0px;
	width: 100%;
	z-index: 99;
	background-color: #111111;
	white-space: nowrap;
	overflow: hidden;
	
	/*box-shadow: 0px 0px 14px #DA00CB;*/
}

#chatinputblock, #chatscreen, #users, #selectchatscreen, #selectchatinputblock, #inviteinput {
	border: 1px solid #aaaaaa; padding: 8px; 
	border-radius: 3px; 
	font-family: Thin;
	font-size: 1.1em;
	box-shadow: inset 0px 1px 4px rgba(192,192,192, 0.9);
	background-color: white;
}
#selectchatscreen, #selectchatspacer {
	height: 200px;
}
#invitespacer {
	height: 120px;
}
#inviteinput {
	height: 120px;
}
input[type=text] {
	padding: 10px;
	border: 0;
	border-radius: 3px; 
	font-family: Thin;
	font-size: 1.1em;
}

textarea {
	resize: none;
}

textarea::placeholder {
	color: #777676;
	font-family: Thin;
	font-size: 0.88em;
	font-style: italic;
}

#chatinputblock, #selectchatinputblock, #inviteinputblock, #inviteinput {
	width: 100%;
}

#inviteinputblock {
	text-align: center;
	width: 100%;
}

#selectname::placeholder {
	font-style: italic;
}

#selectplayer_overlay {
	position: fixed;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	/*display: none;*/
	z-index: 9999999;
	background-color: rgba(33,33,33,0.9);
}

#selectplayer_container {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	padding-bottom: 30px;
}

#selectplayer_block {
	margin-top: 35px;
	display: inline-block;
	position: relative;
	left: 50%;
    transform: translate(-50%, 0%);
	
	width: 90%;
	border-radius: 28px;
	max-width: 480px;
	
	background-color: #ffffff;
	
	border: 1px solid #ffffff;
	box-shadow: 0px 0px 25px rgba(255,255,255,0.85), inset 0px 8px 8px rgba(255,255,255, 0.8), inset 0px 0px 140px rgba(100,100,100,0.95);
	/*background-image: linear-gradient(to bottom right, rgb(74, 74, 140), rgb(74, 74, 140));*/
}

.playerselinp {
	display: inline-block;
	cursor: pointer;
	padding: 7px;	
	border-radius: 4px;
}

.playerselinp:hover {
	background-color: rgba(192,192,255,0.5);
}

.chat_username {
	font-family: Bold;
	color: black;
	display: inline-block;
}

.chat_guestname {
	color: #666666;
	display: inline-block;
}
.chat_guestname::before {
	content: "* ";
}

.chat_guestname.me, .chat_username.me {
	/*background-color: #ffff00;*/
	/*text-decoration: underline;*/
	color: #aa0000 !important;
}

.chat_time {
	font-size: 0.7em;
	color: #999999;
	display: inline-block;
	padding: 4px;
}

.chat_text {
	color: black;
	font-size: 0.9em;
	white-space: pre-wrap;
}

.chat_action {
	color: #999999;
	font-size: 0.8em;
	/*font-style: italic;*/
}

.chat_line {
	padding: 2px;
}
.useridx {
	color:black;
	font-family: Bold;
	font-size: 0.6em;
	vertical-align:middle;
	padding-left: 4px;
}

#selectchatscreen, #chatscreen, #inviteinput {
	overflow-wrap: break-word;
}
#selectchatscreen, #inviteinput {
	position: absolute;
	left:0px;
	right:0px;
}

.num_players_wait, .waithost {
	font-family: Bold;
	color: #aa0000;
}

#yourcardcontainer, #othercardcontainer {
	display:block;
	text-align:left;
	margin-left: auto;
	margin-right: auto;
	padding: 2vmax;
}

.card_block {
	display: inline-block;
}

.card {
	display: inline-block;
	background-color: #cccccc;
	color: black;
	padding: 16px;
	width: 13vmax;
	height: 18vmax;
	border-radius: 8px;
	margin: 0.5vmax;
	position: relative;
	background-image: linear-gradient(to bottom right, #999999, #ffffff);
	border: 1px solid #ffffff;
	box-shadow: 4px 4px 8px #222222;
}

.button.cardmark, .button.suspectcard {
	font-size: 1.2vmax;
	padding-left: 1vmax;
	padding-right: 1vmax;
	box-shadow: inset 0px 1px 4px rgba(255,255,255, 0.9), 2px 2px 4px #222222;
}

.card .innercontainer {
	border: 0.35vmax solid #aa0000;
	position: absolute;
	left:0.4vmax;
	right:0.4vmax;
	top:0.4vmax;
	bottom:0.4vmax;
	border-radius: 8px;
}
.card .text {
	position: absolute;
	left: 50%;
	top: 50%;
	display: inline-block;
    transform: translate(-50%, -50%);
	font-size: 1.5vmax;
	text-align: center;
}

.cardrow:hover {
	cursor:pointer;
	background-color: #eeeeee;
}

.checkcol {
	text-align: center;
}

.check_img {
	height: 20px;
}

.cardrow:not(.checked) .check_img {
	visibility: hidden;
}

#notes-table {
	margin-left: auto;
	margin-right: auto;
	background-color: white;
	padding: 0px;
	min-width: 360px;
	width: 90%;
	padding-bottom: 10px;
	max-width: 550px;
	padding-top: 10px;
	box-shadow: 4px 4px 8px #222222;
}

#notes-table td {
	width: 100%;
	border-bottom: 1px solid #000000;
	min-height: 40px;
}

#notes-table td.checkcol {
	width: 40px;
	min-width: 40px;
}

#notes-table td.heading {
	background-color: #555555;
	color: #ffffff;
	font-size: 1.25em;
	font-family: bold;
	text-align:center;
	box-shadow: 4px 4px 4px #999999;
	border-bottom: 0;
}

#notes-table td.blank {
	border-bottom: 0;
}
#chat_cnt {
	background-color: #ff0000;
	display: inline-block;
	border-radius: 6px;
	padding-left: 6px;
	padding-right: 6px;
	padding-top: 1px;
	padding-bottom: 1px;
	color: white;
	font-size: 0.9em;
	position: absolute;
	margin-top: -6px;
	margin-left: 6px;
}


#accuse_overlay, #roomaction_overlay, #suspect_overlay, #modal_overlay {
	position: fixed;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	/*display: none;*/
	z-index: 9999999;
	background-color: rgba(33,33,33,0.9);
}

#accuse_container, #roomaction_container, #suspect_container, #modal_container {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	padding-bottom: 30px;
}

#accuse_block, #roomaction_block, #suspect_block, #modal_block {
	margin-top: 35px;
	display: inline-block;
	position: relative;
	left: 50%;
    transform: translate(-50%, 0%);
	
	width: 90%;
	border-radius: 28px;
	max-width: 480px;
	
	background-color: #ffffff;
	
	border: 1px solid #ffffff;
	box-shadow: 0px 0px 25px rgba(255,255,255,0.85), inset 0px 8px 8px rgba(255,255,255, 0.8), inset 0px 0px 140px rgba(100,100,100,0.95);
	/*background-image: linear-gradient(to bottom right, rgb(74, 74, 140), rgb(74, 74, 140));*/
}

.suspect_key {
	color: #666666;
	display: inline-block;
}

.suspect_val {
	color: #aa0000;
	display: inline-block;
	font-size: 1.05em;
}

@keyframes glow {
	from {
	  box-shadow: 0 0 10px -10px #aef4af;
	}
	to {
	  box-shadow: 0 0 10px 10px #aef4af;
	}
  }
  @keyframes glow_bottom {
	from {
	  box-shadow: 0 0 5px -5px #e4a700;
	}
	to {
	  box-shadow: 0 0 5px 5px #e42e00;
	}
  }
  @keyframes glow_piece {
	from {
	  background-color: #ffffff;
	  box-shadow: 0 0 10px -10px #aef4af;
	}
	to {
		background-color: #f3f4ae;
		box-shadow: 0 0 10px 10px #aef4af;
	}
  }
  .piece.glow {
	animation: glow_piece 0.5s infinite alternate;
	border-radius: 4px;
  }
.button.glow, .card.glow {
	animation: glow 1s infinite alternate;
}
#chat_txt.glow, #roll_txt.glow {
	animation: glow_bottom 1s infinite alternate;
}
#chat_txt.glow, #roll_txt.glow {
	border-radius: 50%;
}
#roll_txt, #chat_txt {
	padding: 8px;
	text-transform: uppercase;
	font-size: inherit;
	font-family: inherit;
}

h1.othercardlabel, h1.yourcardlabel {
	color: white;
	font-size: 1.5em;
	margin: 40px;
	font-family: Thin;
	border-bottom: 1px solid #cccccc;
}

#othercardcontainer:empty {
	text-align: center;
	margin: 60px;
}
#othercardcontainer:empty:after {
	content: "No cards have been revealed...";
	color: #dddddd;
}

h1.warning {
	font-size: 1.05em;
	color: red;
	font-family: Bold;
	text-align: center;
}

#modal_txt {
	font-size: 1.25em !important;
	margin: 60px;
	margin-left: 10px;
	margin-right: 10px;
	color: black;
}
.positive {
	color: green;
}
.negative {
	color: red;
}