body {
	background-color: #0d0d0d;
	color: #fffaea;
}

#title {
	margin-top: 10px;
	text-align: center;
	font-size: 3em;
	color: #fffaea;
	font-family: 'Josefin Sans', sans-serif;
}

.bar {
	margin: auto;
	height: 1vh;
	width: 50%;
	border-bottom: 0.4vh ridge #2a2a2a;
}

.subtitle {
	margin-top: 10px;
	text-align: center;
	font-size: 1em;
	color: #fffaea;
	font-family: 'Josefin Sans', sans-serif;
}

#player_reference {
	text-align: center;
	margin: 0 auto;

	border-color: #fffaea;

	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;

	font-family: 'Josefin Sans', sans-serif;
}

#player_reference div {
	display: inline-block;
	border-width: 10vh;
	border: solid;
	border-radius: 0.8vh;

	margin: 1vh 0 0 2%;
	flex-grow: 1;

	padding-top: 2vh;
	padding-bottom: 2vh;

	width: calc(100% * (1 / 4) - 10px - 1px);

	vertical-align: middle;
}

#location_table {
	text-align: center;
	margin: 0 auto;
	table-layout: fixed;

	border-collapse: separate;
	word-break: keep-all;

	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;

	font-family: 'Josefin Sans', sans-serif;
}

#location_table td {
	border: solid #fffaea;
	border-spacing: 5em;
	border-radius: 0.8vh;

	padding-left: 1vw;
	padding-right: 1vw;
	padding-top: 0.4vh;
	padding-bottom: 0.4vh;

	text-align: center;
	vertical-align: middle;
}

#player_reference table {
	text-align: center;
	margin: 0 auto;
	table-layout: fixed;

	border-collapse: separate;
	word-break: keep-all;

	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;

	font-family: 'Josefin Sans', sans-serif;
}

#player_reference td {
	border: solid #fffaea;
	border-spacing: 5em;
	border-radius: 0.8vh;

	padding-left: 1vw;
	padding-right: 1vw;
	padding-top: 0.4vh;
	padding-bottom: 0.4vh;

	min-width: 150px;

	text-align: center;
	vertical-align: middle;
}

#player_title {
	text-align: center;
	margin: 0 auto;
	font-weight: bold;
	font-size: 2em;

	border-color: #fffaea;

	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;

	font-family: 'Josefin Sans', sans-serif;
}

#location_reference {
	font-size: 2em;
	font-weight: bold;
}

.container {
	display: flex;
	justify-content: center;
}

.button {
	border: 0.1em solid #ffffff;
	margin: 0 0.3em 0.3em 0;
	border-radius: 0.12em;
	box-sizing: border-box;
	cursor: pointer;
	background-color: #fffaea;
	border-color: #fffaea;
	color: #fffaea;
	font-size: 1.25em;
	background-color: #0d0d0d;
	padding-top: 1vh;
	padding-bottom: 1vh;
	width: 8vw;
	min-width: 100px;
	font-family: 'Josefin Sans', sans-serif;
	transition: all 0.2s;
}

.button:hover {
	background-color: #ffffff;
	color: #000000;
}

#spy_message {
	font-size: 2em;
}

#time {
	font-size: 2.5em;
}

#location {
	font-size: 1.5em;
}

#role {
	font-size: 1.5em;
}

/* Vote panel */

#vote_panel {
	position: fixed;
	top: 0;
	right: 0;
	width: 280px;
	height: 100vh;
	background-color: #1a1a1a;
	border-left: 2px solid #2a2a2a;
	overflow-y: auto;
	z-index: 1000;
	padding: 20px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	font-family: 'Josefin Sans', sans-serif;
}

#vote_title {
	color: #fffaea;
	text-align: center;
	font-size: 1.4em;
	margin: 0 0 16px 0;
	padding-bottom: 12px;
	border-bottom: 1px solid #2a2a2a;
	font-family: 'Josefin Sans', sans-serif;
}

#vote_player_list {
	flex: 1;
}

.vote_player_btn {
	display: block;
	width: 100%;
	background-color: #0d0d0d;
	color: #fffaea;
	border: 1px solid #fffaea;
	border-radius: 0.12em;
	padding: 10px 12px;
	margin-bottom: 10px;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 1em;
	cursor: pointer;
	transition: all 0.2s;
	text-align: left;
	box-sizing: border-box;
}

.vote_player_btn:hover {
	background-color: #fffaea;
	color: #0d0d0d;
}

.vote_player_btn.selected {
	background-color: #fffaea;
	color: #0d0d0d;
}

#vote_summary {
	flex: 1;
}

#vote_summary p {
	color: #fffaea;
	margin: 8px 0;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 1em;
}

.vote_correct {
	color: #4caf50;
	font-size: 1.2em;
	text-align: center;
	font-weight: bold;
}

.vote_incorrect {
	color: #e05555;
	font-size: 1.2em;
	text-align: center;
	font-weight: bold;
}

.vote_breakdown_title {
	margin-top: 16px !important;
	font-weight: bold;
	border-top: 1px solid #2a2a2a;
	padding-top: 12px !important;
}

.vote_breakdown_line {
	padding-left: 12px;
}

#reveal_container {
	padding-top: 12px;
	border-top: 1px solid #2a2a2a;
	text-align: center;
}

#reveal_btn {
	width: 100%;
	margin: 0;
}

/*
    For any screen that has a maximum screen width of 720px, display the mobile website
*/
@media only screen and (max-device-width: 480px) {
	#title {
		margin-top: 3vh;
		text-align: center;
		font-size: 3em;
		color: #fffaea;
		font-family: 'Josefin Sans', sans-serif;
	}

	.subtitle {
		margin-top: 2vh;
		text-align: center;
		font-size: 1em;
		color: #fffaea;
		font-family: 'Josefin Sans', sans-serif;
	}

	.button {
		border: 0.1em solid #ffffff;
		margin: 0 0.3em 0.3em 0;
		border-radius: 0.12em;
		box-sizing: border-box;
		font-size: 1.5em;
		padding-top: 2vh;
		padding-bottom: 2vh;
		width: 35vw;
	}

	#location_table td {
		height: 5vh;
	}

	.subtitle #spy_message {
		font-size: 2em;
	}

	.subtitle #location {
		font-size: 1.5em;
	}

	.subtitle #role {
		font-size: 1.5em;
	}

	.bar {
		margin-left: 15%;
		margin-right: 15%;
		height: 1vh;
		width: 70%;
		border-bottom: 0.4vh ridge #2a2a2a;
	}

	#vote_panel {
		width: 100%;
		height: 55vh;
		top: auto;
		bottom: 0;
		border-left: none;
		border-top: 2px solid #2a2a2a;
	}
}
