/***** COMMON *****/

body {
	background: #1A1915;
	color: white;
	font-family: sans-serif;
	font-size: 14px;
	margin: 0;
}

h1 {
	color: #0087CB;
	font-size: 1.75em;
}

.hidden {
	display: none;
}

.top-container {
	background: #1A1915;
	max-height: 243px;
	border-bottom: 3px solid white;
}

.top {
	max-width: 1024px;
	max-height: 240px;
	margin-left: auto;
	margin-right: auto;
}

.top img {
	height: auto;
	width: 100%;
}

.menu-container {
	min-height: 40px;
	text-align: right;
}

.menu {
	display: none;
	width: 1024px;
	height: 40px;
	background: #302F34;
	border-radius: 0 0 4px 4px;
	margin-left: auto;
	margin-right: auto;
}

.menu a {
	color: white;
	font-weight: bold;
	margin-left: 10px;
}

.menu a:hover {
	color: #0087CB;
}

.menu ul {
	display: inline-block;
	position: relative;
	list-style-type: none;
	margin: 0;
	padding: 0;
	height: 40px;
	line-height: 40px;
	font-size: 0;
}

.menu ul li {
	display: inline-block;
	padding-right: 10px;
	border-right: 1px solid #1A1915;
	height: 40px;
	font-size: 16px;
	font-weight: bold;
	position: relative;
}

.menu ul li:hover ul.submenu {
	left: 0;
}

.menu ul li a {
	display: block;
	white-space: nowrap;
}

.menu ul li ul.submenu {
	position: absolute;
	margin: 0;
	padding: 0;
	background: #302F34;
	left: -9999px;
}

.menu ul li ul.submenu li {
	border: none;
	padding-top: 1px;
	border-top: 1px solid #1A1915;
	width: 100%;
}

.mobile-menu {
	display: block;
	line-height: 0;
}

.mobile-menu .menu-icon {
	height: 40px;
	margin-right: 10px;
	cursor: pointer;
}

.mobile-menu .links {
    width: 100%;
    text-align: center;
    padding-left: 5px;
    line-height: 30px;
}

.mobile-menu .links a {
    display: block;
}

.login {
	height: 40px;
	line-height: 40px;
	margin-right: 10px;
	float: right;
}

a {
	color: #0087CB;
	text-decoration: none;
}

a.inline-block {
	margin-right: 10px;
}

p.italic {
    font-style: italic;
}

.message {
    margin-bottom: 20px;
}

.message.success {
    color: green;
}

.message.error {
    color: red;
}

table {
	border-collapse: collapse;
}

table.wide {
	width: 100%;
}

table tr {
	border-bottom: 1px solid #302F34;
}

table tr th, table tr td {
	padding: 2px 10px 2px 0;
}

table tr th.center, table tr td.center {
	text-align: center;
}

table tr th.desktop, table tr td.desktop {
	display: none;
}

table tr.heading th, table tr.heading td {
	padding-bottom: 5px;
}

table tr.top-border {
    border-top: 2px solid white;
}

table tr.no-underline {
	border-bottom: none;
}

table th.sortable {
    cursor: pointer;
}

table th.sorted-column, td.sorted-column {
    background-color: #302F34;
}

tr.strikethrough td:before {
	content: " ";
	position: absolute;
	top: 50%;
	left: 0;
	border-bottom: 1px solid red;
	width: 100%;
}

span.disqualified {
	color: red;
}

tr.strikethrough td {
	position: relative;
}

tr.disqualified {
    color: red;
}

table th {
	text-align: left;
}

div.paginator {
    text-align: center;
}

ul.pagination {
    list-style: none;
    padding: 0;
}

ul.pagination li {
    display: inline-block;
    width: 20px;
}

ul.pagination li.first, ul.pagination li.prev, ul.pagination li.next, ul.pagination li.last {
    width: auto;
}

.content {
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
	padding: 10px;
}

label {
	display: block;
	color: #0087CB;
	margin-bottom: 5px;
}

.required > label::after {
	content: ' *';
	color: #C3232D;
}

input[type=text], input[type=number], input[type=password], select {
	height: 37px;
	width: 400px;
	font-size: inherit;
	margin-bottom: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

input[type=checkbox] {
	margin: 0 10px 10px 0;
}

textarea {
	width: 100%;
	padding: 0.5rem;
	margin-bottom: 1rem;
	font-size: inherit;
	font-family: inherit;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

button {
	background: #0087CB;
	border-width: 0;
	color: #fff;
	cursor: pointer;
	padding: 1rem 2rem 1rem 2rem;
    font-size: inherit;
    margin-right: 20px;
}

.actions-box {
	margin: 30px 0 30px 0;
	padding-bottom: 10px;
	border-top: 1px solid #0087CB;
	border-bottom: 1px solid #0087CB;
	font-size: 16px;
}

.actions-box h3 {
	margin-bottom: 0;
}

.actions-box a {
	display: inline-block;
	margin: 10px 15px 0px 0;
}

.clear {
	clear: both;
}

.clear.border {
	border-bottom: 1px solid #302F34;
	margin-bottom: 10px;
}

/***** SCROLLABLE TABLES WITH STICKY FIRST COLUMN *****/

.table-scroll {
    position: relative;
    overflow: hidden;
}

.table-wrap {
    width: 100%;
    overflow: auto;
}

.table-scroll td.sticky {
    padding: 5px 10px 5px 0;
    white-space: nowrap;
    text-align: left;
    font-weight: bold;
}
.table-scroll th, .table-scroll td {
    padding: 5px 10px;
    text-align: center;
    white-space: nowrap;
}
.clone {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
}
.clone th, .clone td {
    visibility: hidden
}
.clone .sticky {
    background: #1A1915;
    visibility: visible;
}

/***** DIVISIONS *****/

table.edit_divisions td {
	padding-top: 5px;
	padding-bottom: 5px;
}

table.edit_divisions td.player {
	width: 160px;
}

/***** ADDING GAMES *****/

.game-side {
	float: left;
	width: 100%;
}

.between-sides {
	display: none;
	float: left;
	width: 4%;
}

.side-title {
	display: block;
	text-align: center;
}

.game-side input {
	display: inline-block;
}

.game-side input, .game-side select {
	margin-bottom: 1rem;
}

.game-side input[type="number"].small {
	width: 60px;
}

.game-side input, .game-side select {
	width: 100%;
}

.game-side .team-and-div {
	margin-bottom: 10px;
}

.game-side .team-and-div:empty {
	display: none;
}

.division-warning {
	color: red;
	margin-bottom: 10px;
}

.division-warning:empty {
	display: none;
}

a.fancybox {
    outline: none;
}

a.fancybox img {
    height: 100px;
    margin-right: 10px;
    border: 1px solid white;
}

.youtube-container {
    width: 300px;
    height: 240px;
    margin-right: 15px;
    float: left;
}

.video-caption {
    height: 40px;
}

/***** LISTING GAMES *****/

select.filtering {
    width: 250px;
}

table.games th.game, table.games td.game {
	width: 42.3%;
}

table.games .actions, table.games .closed {
	display: none;
}

.player_desktop {
	display: none;
}

.player_mobile {
	display: inline;
}

/***** VIEW SINGLE GAME *****/

.view_game_row {
	display: flex;
	text-align: center;
	font-size: 20px;
	margin-bottom: 20px;
}

.view_game_row.header {
	margin-top: 40px;
	height: 100px;
	font-size: 30px;
	line-height: 100px;
}

.view_game_row.header img {
	height: 100px;
}

.view_game_side {
	width: 100px;
}


.view_game_middle {
	flex: 1 1 auto;
}

/***** LOTTERY *****/

textarea.lottery {
    width: auto;
}

/***** STANDINGS *****/

table.standings th, table.standings td {
	width: 40px;
	text-align: center;
}

table.standings th.player, table.standings td.player {
	text-align: left;
}

/***** STATS *****/

.stats {
	float: none;
	width: auto;
}

.stats-name {
	width: 160px;
}

a.toggler {
	display: inline-block;
	margin-top: 10px;
}

div.table {
	display: table;
	width: auto;
}

div.row {
	display: table-row;
	width: auto;
}

div.cell {
	display: table-column;
	width: auto;
}

/***** RANKINGS *****/

.rankings select.players {
	height: 30px;
	width: 250px;
	font-size: 12px;
	padding: 0;
}

.rankings select.divisions {
	height: 30px;
	width: 150px;
	font-size: 12px;
	padding: 0;
}

.rankings input[type=text] {
	height: 30px;
	width: 250px;
	font-size: 12px;
}

.rankings input[type=number] {
	height: 30px;
	width: 50px;
	font-size: 12px;
	text-align: center;
}

.rankings .middle-heading {
    height: 40px;
    line-height: 40px;
}

span.rank {
    display: inline-block;
    width: 35px;
}

span.rank-positive-change {
    color: green;
}

span.rank-negative-change {
    color: red;
}

/***** PLAYERS *****/

.player-info {
    display: flex;
    flex-direction: column;
}

.player-info h1 {
    margin-top: 0;
}

.player-info .subtitle {
    font-weight: bold;
}

.player-info .profile-picture {
    width: 256px;
    height: 256px;
    padding: 0 0 20px 10px;
}

.player-info .details {
    flex: 1;
    padding: 0 0 20px 10px;
}

.player-info .achievements {
    padding: 0 0 20px 10px;
}

/* Different screens */

@media screen and (min-width: 1024px) {

	.menu-container {
		text-align: left;
	}

	.menu {
		display: block;
	}

	.mobile-menu {
		display: none;
	}

	.content {
		padding: 20px;
	}

	.game-side {
		width: 48%;
	}

	.between-sides {
		display: block;
	}

	table tr th.desktop, table tr td.desktop {
		display: table-cell;
	}

	table.games {
	    width: 700px;
	}

	table.games th.game, table.games td.game {
	    width: 250px;
	}

	table.games th.result, table.games td.result {
	    width: 90px;
	}

	table.games .actions, table.games .closed {
		display: table-cell;
	}

	table.standings th.player, table.standings td.player {
		width: 200px;
	}

	.player_desktop {
		display: inline;
	}

	.player_mobile {
		display: none;
	}

	.view_game_side {
		width: 200px;
	}

	.stats {
		float: left;
	    width: 50%;
    }

    .player-info {
        flex-direction: row;
    }

    .player-info .profile-picture {
        padding: 0;
    }

    .player-info .details {
        padding: 0 20px 0 20px;
    }

    .player-info .achievements {
        padding: 0 20px 0 20px;
    }
}
