/* Self-hosted font code from
 * https://google-webfonts-helper.herokuapp.com/
 */

/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/roboto-v19-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Roboto'), local('Roboto-Regular'),
       url('/fonts/roboto-v19-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/roboto-v19-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/roboto-v19-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/roboto-v19-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/roboto-v19-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/roboto-v19-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Roboto Bold'), local('Roboto-Bold'),
       url('/fonts/roboto-v19-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/roboto-v19-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/roboto-v19-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/fonts/roboto-v19-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/roboto-v19-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* cabin-regular - latin */
@font-face {
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/cabin-v12-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Cabin'), local('Cabin-Regular'),
       url('/fonts/cabin-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/cabin-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/cabin-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/cabin-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/cabin-v12-latin-regular.svg#Cabin') format('svg'); /* Legacy iOS */
}


/* Things that could apply to any page */

body {
	font-family: "Roboto", sans-serif;
}

body input {
	font-family: "Roboto", sans-serif;
}

body button {
	font-family: "Roboto", sans-serif;
}

body h1,h2,h3,h4 {
    font-family: "Cabin", sans-serif;
    font-weight: normal;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    padding-left: 0.5em;
    box-shadow: 2px 2px 4px silver;
}

body h1 {
    background-color: #ffcc66;
}

body h2 {
    background-color: #ffdd88;
}

body h3 {
    background-color: #ffeeaa;
}

body h4 {
    background-color: #ffffcc;
}


a {
	text-decoration: none;
}

.sidebar {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0px;
	padding-left: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	width: 180px;
	background-color: #dddddd;
	overflow-y: auto;
}

.sidebarlinklist {
	padding-left: 18px;
}

div.roundlinks {
       margin-right: 10px;
}

div.roundlink {
       padding-left: 20px;
}

div.sidebarversioninfo {
    font-size: 9pt;
    color: #444444;
}

.sidebarversionold {
    color: hsl(0deg, 100%, 40%);
    border-bottom: 1px dotted hsl(0deg, 100%, 40%);
}

#miscstats {
    padding-left: 20px;
}

#miscstatslink {
    font-size: 10pt;
}

.mainpane {
	margin-left: 200px;
}

div.sidebarbannerheading {
       background-color: black;
       color: white;
       font-size: 10pt;
       text-align: center;
       font-weight: bold;
       margin-right: 10px;
       padding: 5px;
       border: 1px solid green;
}

div.sidebarbanner {
       background-color: #880000;
       color: white;
       font-size: 10pt;
       text-align: center;
       margin-right: 10px;
       padding: 5px;
       border: 2px solid blue;
       width: 146px;
}

.groupseparator {
	height: 4px;
	background-color: purple;
}

select {
    padding: 3px;
}

form.spaced {
    margin-bottom: 20px;
}

form.spaced input[type="submit"] {
    margin-top: 10px;
}

.bigbutton {
    padding: 10px;
    font-size: 12pt;
}

input.destroybutton {
    background-color: #aa0000;
    color: white;
}

input.chickenoutbutton {
}

/* Front page */
div.createtourneynamebox {
    margin-top: 10px;
}

div.createtourneybuttonbox {
    margin-top: 20px;
    margin-bottom: 20px;
}

table.optionstable td input {
    font-size: 12pt;
    min-width: 15em;
}

table.optionstable td select {
    font-size: 12pt;
    min-width: 15em;
}

table.optionstable td span.optionrequired {
    font-style: italic;
    color: red;
    font-size: 10pt;
}

td.optionnote {
    font-size: 10pt;
    color: gray;
    padding-bottom: 10px;
}


/* Fixtures and scores */

.fixturetable {
	border-collapse: collapse;
}

div.addgamebox {
    margin-top: 20px;
    margin-bottom: 20px;
}

div.addgamedetails {
    margin-top: 10px;
    margin-left: 20px;
}

table.fixturetable td {
	padding-top: 3px;
	padding-bottom: 3px;
}

tr.gamerow td {
    border-bottom: 1px dashed gray;
}

tr.firstgameintable td {
	border-top: 2px solid black;
}

table.fixturetable th {
	padding-left: 0.5em;
	padding-right: 0.5em;
}

table.fixturetable td.gameplayer1 {
	background-color: #ffffcc;
    text-align: right;
}

table.scorestable td.gamescore {
    min-width: 6ex;
    text-align: center;
}

table.scorestable td.gameremarks {
    padding-left: 0.5em;
    padding-right: 0.5em;
}

table.fixturetable td.gamescore {
	background-color: #ffffcc;
    text-align: center;
}

table.fixturetable td.gameplayer2 {
	background-color: #ffffcc;
}

table.fixturetable td.gamestandingsinfo {
    font-size: 10pt;
    background-color: #ffffcc;
    color: #444444;
}

table.fixturetable td.gamestandingsinfo1 {
    padding-left: 0.5em;
}

table.fixturetable td.gamestandingsinfo2 {
    padding-right: 0.5em;
}


table.fixturetable td.gameremarks {
	padding-left: 0.5em;
	padding-right: 0.5em;
	border-top: none;
}

table.fixturetable td.gamerepeats {
	padding-left: 0.5em;
	padding-right: 0.5em;
	border: 2px solid orange;
	background-color: #ffff88;
}

table.fixturetable td.roundno {
	font-size: 1.5em;
	font-weight: bold;
	vertical-align: middle;
	text-align: center;
}

table.scorestable td.roundno {
	font-size: 1.5em;
	vertical-align: middle;
	text-align: center;
    min-width: 2em;
    font-family: "Cabin", sans-serif;
}

table.fixturetable td.tableno {
    text-align: center;
}

table.scorestable td.tableno {
    text-align: center;
}

table.scorestable tr.divisionrow th {
    padding-top: 15px;
}

table.scorestable tr.tablenumberrow th {
    padding-top: 5px;
}

div.tablebadge {
    display: inline-block;
    background-color: hsl(240, 100%, 90%);
    color: black;
    font-size: 14pt;
    height: 22pt;
    line-height: 22pt;
    text-align: center;
    margin-left: 10px;
    margin-right: 10px;
    min-width: 2em;
    border-radius: 5px;
    font-family: "Cabin", sans-serif;
}

div.tablebadgenaturalsize {
    display: inline-block;
    text-align: center;
    background-color: hsl(240, 100%, 90%);
    color: black;
    min-width: 2em;
    border-radius: 5px;
    font-family: "Cabin", sans-serif;
}

table.scorestable td.gamedivision {
    padding: 5px;
}

.scorestable {
	border-collapse:collapse;
}

table.scorestable th {
	padding-left: 0.5em;
	padding-right: 0.5em;
}

tr.unplayedgame td.gameplayer1 {
	background-color: #dddddd;
    text-align: right;
}

tr.unplayedgame td.gameplayer2 {
	background-color: #dddddd;
    text-align: left;
}

td.winningplayer {
	background-color: #aaffaa;
}

td.losingplayer {
	background-color: #ffaaaa;
}

td.drawingplayer {
	background-color: #ffff88;
}

.roundno {
	text-align: center;
}

.gameseq {
	text-align: center;
}

.tableno {
	text-align: center;
}

.gametype {
	text-align: center;
    color: gray;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.gameplayer1 {
	text-align: right;
	padding-left: 0.5em;
	padding-right: 0.5em;
}

.gamescore {
	text-align: center;
}

input.gamescore {
	text-align: center;
}

.gameplayer2 {
	text-align: left;
	padding-left: 0.5em;
	padding-right: 0.5em;
}


/* Exported standings and results */
table.resultstable {
	border: 1px solid #66ccff;
	border-collapse: collapse;
}

div.exportedstandings {
	margin-left: 20px;
}

div.exportedresults {
	margin-left: 20px;
}

/* Put a faint grey border round the coloured team dot so it shows up better */
span.faintoutline {
    text-shadow:
        -1px -1px 1px #aaa,
        1px -1px 1px #aaa,
        -1px 1px 1px #aaa,
        1px 1px 1px #aaa;
}

/* W, D and L symbols to show a player's sequence of wins and losses */
span.wdl {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
    text-align: center;
    color: white;
    margin-right: 2px;
    background-color: black;
}

span.wdl_w {
    background-color: hsl(120deg, 100%, 35%);
}
span.wdl_d {
    background-color: hsl(60deg, 100%, 50%);
    color: black;
    border: 1px solid black;
}
span.wdl_l {
    background-color: hsl(0deg, 100%, 35%);
}
span.wdl_unplayed {
    background-color: #cccccc;
    color: black;
}


/* Warnings and exceptions */

div.warningbox {
	background-color: #ffff88;
	border: 5px solid orange;
	height: 130px;
	display: table;
    margin-top: 20px;
    margin-bottom: 20px;
}

div.warningboxwidthlimited {
    max-width: 600px;
}

div.warningboximage {
	float: left;
	height: 130px;
	width: 150px;
}

div.warningboxmessagecontainer {
	vertical-align: middle;
	display: table-cell;
	padding: 5px;
}

div.warningboxmessagecontainerwidthlimited {
	max-width: 450px;
}

div.warningboxmessage {
	font-size: 14pt;
}

div.tourneyexception {
	background-color: #ffcccc;
	border: 5px solid red;
	height: 130px;
	max-width: 600px;
	display: table;
    margin-top: 20px;
    margin-bottom: 20px;
    /*box-shadow: 5px 5px 5px gray;*/
}

div.tourneyexceptionimage {
	float: left;
	height: 130px;
	width: 150px;
}

div.tourneyexceptionmessagecontainer {
	max-width: 450px;
	vertical-align: middle;
	display: table-cell;
    padding: 10px;
}

div.tourneyexceptionmessage {
	font-size: 14pt;
}

div.infoboxcontainer {
    background-color: #ccccff;
    max-width: 750px;
    border-radius: 10px;
    display: table;
	vertical-align: middle;
}

div.infoboximage {
	float: left;
	padding: 5px;
	width: 90px;
	vertical-align: middle;
}

div.infoboxmessage {
	font-size: 14pt;
}

div.infoboxmessagecontainer {
	max-width: 600px;
    display: table-cell;
    vertical-align: middle;
    padding-left: 10px;
    padding-right: 10px;
}

div.successinfoboxcontainer {
    background-color: #ccffcc;
    border: none;
    border-radius: 10px;
}

div.successinfoboxcontainer div.infoboximage {
    width: 45px;
}


a.playerlink {
	text-decoration: none;
	color: #000044;
}

a.playerlinkwithdrawn {
    /*text-decoration: line-through;*/
    color: #777777;
}

a.thisplayerlink {
	font-weight: bold;
}


/* Fixture generation */

div.fixgenoption {
    margin-top: 10px;
    margin-bottom: 10px;
}

.fixgentable {
	border-collapse: collapse;
}

table.fixgentable {
	border: 1px solid black;
	max-width: 800px;
}

th.fixgenth {
	border-bottom: 1px solid gray;
	background-color: #cccccc;
}

td.fixgen {
	background-color: #ffee66;
	padding: 5px;
	border-bottom: 1px solid gray;
}

td.fixgenmodule {
	padding: 5px;
	border-bottom: 1px solid gray;
	background-color: #ffffaa;
	font-size: 10pt;
}

td.fixgendescription {
	font-size: 11pt;
	padding: 5px;
	border-bottom: 1px solid gray;
	background-color: #ffffaa;
}

div.fixtureacceptbox {
    margin-top: 20px;
    margin-bottom: 40px;
}

a.fixturecancellink {
    padding: 20px;
    font-size: 12pt;
}

td.gameheat {
	text-align: center;
}

div.fixgencontrol {
    margin-bottom: 15px;
}


/* Front page list of available tourneys */

table.tourneylist {
	border: 1px solid black;
	border-collapse: collapse;
}

table.tourneylist th {
	border: 1px solid black;
	padding-left: 10px;
	padding-right: 10px;
	background-color: #ffee66;
}

table.tourneylist tr {
	border-left: 1px solid black;
	border-right: 1px solid black;
}

table.tourneylist td {
	padding-left: 10px;
	padding-right: 10px;
}

table.tourneylist td.tourneylistname {
	border: 1px dashed grey;
	background-color: #ffffaa;
}

table.tourneylist td.tourneylistmtime {
	border: 1px dashed grey;
	background-color: #ffffaa;
}

table.tourneylist td.tourneylistlink {
	border: 1px dashed grey;
	background-color: #ffffaa;
}


/* Generic definitions for tables that rank things in order (ranktable,
 * in which the rows are orange) and tables that do not rank things in order
 * (misctable, which is more monochrome). */

table.ranktable, table.misctable {
	border-collapse: collapse;
}

table.ranktable th, table.misctable th {
	border-bottom: 1px solid black;
	background-color: #dddddd;
	padding-left: 0.5em;
	padding-right: 0.5em;
}

table.ranktable td, table.misctable td {
    border: 1px solid gray;
    border-style: solid dotted solid dotted;
	padding-left: 0.5em;
	padding-right: 0.5em;
}

table.ranktable tr {
	background-color: #ffdd66;
}

table.ranktable tr.ranktabledivspacer {
    height: 2ex;
    background-color: transparent;
}

table.ranktable tr.ranktabledivspacer td {
    border: none;
}

table.ranktable td.rankpos {
    text-align: right;
    vertical-align: middle;
}

table.ranktable td.rankname {
	text-align: left;
}

table.ranktable td.ranktext, table.misctable td.text {
	text-align: left;
}

table.ranktable td.ranknumber, table.misctable td.number {
    text-align: right;
}

table.ranktable td.rankright, table.misctable td.right {
    text-align: right;
}

table.misctable td.control, table.misctable td.tablenumber{
    text-align: center;
}

table.ranktable td.rankhighlight, table.misctable td.highlight {
    font-weight: bold;
}

table.ranktable td.winlossform {
    font-family: monospace;
}

/* Special case border removal for name-to-table index page */
table.misctable td.tableindexname {
    border-right: none;
}

table.misctable td.tableindexnumber {
    border-left: none;
    text-align: center;
}

table.misctable td.columnspacer {
    border: none;
    width: 2em;
}


/* Player setup */

div.playerlist {
       margin: auto;
}

div.playerlistpane {
       float: left;
}

div.playerlisthelp {
       float: left;
       width: 350px;
       margin-left: 10px;
       padding: 10px;
       background-color: #cccccc;
       font-size: 10pt;
}

#playerlistextrahelpshow {
    color: blue;
    cursor: pointer;
}

a.fakelink {
    color: blue;
    cursor: pointer;
}

div.playerlistclear {
       clear: both;
}

#playerlistsummary {
    font-size: 10pt;
}

@keyframes highlightnoprune {
    from { background-color: transparent; color: black; }
    to { background-color: yellow; color: black; }
}

p.prunewarninghighlight {
    animation-name: highlightnoprune;
    animation-duration: 0.25s;
    animation-iteration-count: 7;
    animation-direction: alternate;
    background-color: yellow;
}

div.playerlistsubmitpanel {
    display: block;
    width: 100%;
}

div.playerlistsubmitdiv {
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 10px;
    float: left;
}

div.playerlistsummarydiv {
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 10px;
    float: right;
    max-width: 200px;
    color: gray;
    text-align: right;
}


/* Results editor data entry tool */

div.scoreentry {
    position: relative;
    width: 600px;
    height: 240px;
    background-color: #cccccc; /*#ffff88;*/
    margin-top: 20px;
    margin-bottom: 20px;
    border: 2px solid navy;
}

div.scoreentryheaderrow {
    width: 600px;
    float: left;
    position: relative;
    height: 30px;
}

div.scoreentryplayerinfo {
    margin-left: 5px;
    height: 30px;
    line-height: 30px;
    vertical-align: middle;
    float: left;
    font-size: 10pt;
    color: navy;
    padding-left: 10px;
}

div.scoreentryplayerinfo1 {
    position: absolute;
    left: 0px;
    max-width: 250px;
}

div.scoreentryplayerinfo2 {
    position: absolute;
    left: 300px;
    max-width: 250px;
}

div.scoreentryclear {
    left: 545px;
    position: absolute;
    height: 20px;
    line-height: 20px;
    font-size: 10pt;
    color: navy;
    background-color: white;
    padding-left: 2px;
    padding-right: 2px;
    margin: 5px;
    width: 40px;
    text-align: center;
    vertical-align: middle;
}

div.scoreentrynamerow {
    width: 600px;
    /*height: 80px;*/
    float: left;
}

div.scoreentryeditboxes {
    position: relative;
    width: 600px;
}

div.scoreentryname {
    /*width: 268px;*/
    /*height: 60px;*/
    float: left;
    padding: 10px;
    margin: 5px;
    border: 1px solid gray;
    background-color: #ffdd66;
}

#name1div {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 268px;
}

#name2div {
    position: absolute;
    top: 0px;
    left: 300px;
    width: 268px;
}

#score1div {
    position: absolute;
    top: 70px;
    left: 0px;
    width: 268px;
}

#score2div {
    position: absolute;
    top: 70px;
    left: 300px;
    width: 268px;
}

div.scoreentryspacer {
    clear: both;
}

div.scoreentryscorerow {
    width: 600px;
    /*height: 80px;*/
    /*margin: 10px;*/
    float: left;
    /*background-color: #ffaaff;*/
}

div.scoreentryscore {
    width: 268px;
    /*height: 60px;*/
    float: left;
    padding: 10px;
    margin: 5px;
    background-color: #ffdd66;
    border: 1px solid gray;
    /*background-color: cyan;*/
}

input.entryname {
    width: 255px;
    padding: 5px;
    font-size: 14pt;
}

input.entryscore {
    padding: 5px;
    font-size: 14pt;
    width: 80px;
    text-align: center;
}

#entryname1 {
    float: right;
}

#entryname2 {
    float: left;
}

#entryscore1 {
    float: right;
}

#entryscore2 {
    float: left;
}

div.scoreentryotherrow {
    position: absolute;
    width: 600px;
    top: 190px;
    /*height: 40px;*/
    float: left;
    /*background-color: #ffdd66;*/
}

div.scoreentrytiebreak {
    float: left;
    margin: 5px;
    padding: 10px;
    color: black;
    display: none;
}

div.scoreentrysubmit {
    margin: 5px;
    padding: 10px;
    float: right;
}

div.lastentry {
    width: 600px;
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
    background-color: gray;
}

div.entrymainpane {
    float: left;
    margin-right: 20px;
}

div.gamelistpane {
    float: left;
    border: 2px solid navy;
}

div.gamelistpanebody {
    margin-top: 5px;
}

div.gamelistdivisionheading {
    font-size: 16pt;
    margin-top: 20px;
    margin-bottom: 10px;
    padding-left: 10px;
}

/* Videprinter on result entry page */
div.videprinter {
    width: 600px;
    margin-top: 20px;
    margin-bottom: 20px;
    background-color: black;
    border: 2px solid navy;
    color: white;
    font-size: 12pt;
}

div.videprinterwindow {
    overflow: auto;
    height: 180px;
}

div.videprinterentry {
    padding: 2px;
    margin-left: 5px;
    margin-right: 5px;
    background-color: black;
    color: white;
    cursor: pointer;
}

div.videprinternewsentry {
    margin-top: 2px;
    margin-bottom: 2px;
}

div.videprinternewsentryediting {
    background-color: #505;
}

span.videprintersuperseded {
    text-decoration: line-through;
    color: gray;
}

span.videprinterdivision {
    color: #00cccc;
}

span.videprinterroundandtable {
    color: #ffbb88;
}

span.videprinterplayer {
    color: #dddd00;
}

span.videprinterwinningplayer {
    color: #00dd00;
}

span.videprinterlosingplayer {
    color: #ff4444;
}

span.videprinterscore {
    color: white;
}

div.newsform {
    margin-top: 10px;
}
div.newsformheading {
    background-color: navy;
    color: #dddddd;
    padding: 5px;
    clear: both;
}

div.newsformheadingedit {
    background-color: purple;
    clear: both;
}

div.newsformheadingoptions {
    display: inline-block;
    float: right;
}

div.newsformheadingoptions input {
    margin-left: 10px;
}

div.newsformheadingoptions label {
    margin-right: 10px;
}

div.newsformbody {
    margin: 2px;
}

input.newsformtext {
    width: 80%;
}

input.newsformbutton {
    width: 18%;
    float: right;
}

div.newsformheadingtext {
    display: inline-block;
}

/* Blinkenlights */

div.blinkenlights {
    background-color: navy;
    display: inline-block;
}

table.blinkenlightstable {
    border: 2px solid navy;
    border-collapse: collapse;
	background-color: black;
}

tr.blinkenlightsrow {
    height: 60px;
}

td.blinkenlightscell {
    height: 60px;
    min-width: 72px;
    border: 1px solid gray;
	text-align: center;
}

td.blinkenlightspaddingcell {
    height: 60px;
    min-width: 73px;
    border: 1px solid gray;
    background-color: black;
}

div.blinkenlightsdivision {
    display: block;
    height: 10px;
    font-size: 10pt;
    color: silver;
    background-color: black;
    text-align: left;
}

div.blinkenlightstablenumber {
    display: inline-block;
    height: 36px;
    line-height: 36px;
    font-size: 16pt;
    color: white;
    background-color: blue;
    width: 45px;
    border-radius: 5px;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    font-family: "Cabin", sans-serif;
    margin-bottom: 10px;
}

div.blinkenlightstablenumbernomoregames {
    background-color: navy;
    color: gray;
}

div.blinkenlightsgamesleft {
    height: 20px;
    font-size: 16pt;
    color: white;
    text-align: center;
    background-color: black;
}

.blinkenlightsgamesleft table {
    width: 100%;
}

.blinkenlightsgamesleft tr {
}

td.blinkenlightsgameleft {
    background-color: red;
    border: 2px solid red;
    height: 10px;
    cursor: pointer;
}

td.blinkenlightsgameplayed {
    background-color: #222222;
    height: 10px;
    border: 2px solid #222222;
    cursor: pointer;
}

label.closeselectedgame {
    background-color: white;
    cursor: pointer;
}

div.blinkenlightsfooter {
    background-color: black;
    height: 12pt;
    padding: 5px;
    max-width: 592px;
    overflow: hidden;
    white-space: nowrap;
}

div.blinkenlightsmouseovertext {
    float: right;
    color: silver;
    font-style: italic;
    font-size: 10pt;
}

/* Conflict resolution form for old results interface */
div.conflictresolution {
    margin-top: 20px;
    margin-bottom: 30px;
    padding: 5px;
    border: 5px solid orange;
    width: 590px;
}

div.conflictresolutiontoprow {
    padding: 5px;
    font-style: italic;
    background-color: #ffff88;
}

div.conflictresolutionchoicerow {
    padding: 5px;
    display: table-row;
}

div.conflictresolutionradiobutton {
    width: 20px;
    padding: 5px;
    display: table-cell;
}

div.conflictresolutionlabel {
    padding: 5px;
    display: table-cell;
}

div.conflictresolutionbottomrow {
    padding: 5px;
    height: 20px;
    vertical-align: middle;
    background-color: #ffff88;
}

div.conflictresolutionsubmit {
    float: right;
    height: 20px;
}

div.conflictresolutionexample {
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 35px;
}

div.conflictresolutionexampletitle {
    font-style: italic;
    padding-bottom: 5px;
}

table.conflictresolutionexampletable {
    border-collapse: collapse;
}

table.conflictresolutionexampletable th {
    border-bottom: 1px solid black;
    background-color: #aaaaaa;
    padding: 5px;
}

table.conflictresolutionexampletable tr {
}

table.conflictresolutionexampletable td {
    text-align: center;
    padding: 5px;
    background-color: #dddddd;
}

td.cr_newresultcol {
    font-weight: bold;
}

div.resultsentrytitle {
    color: #dddddd;
    background-color: navy;
    padding: 5px;
}

/* Round name */
div.roundnamebox {
    display: inline-block;
    background-color: #ffcc66;
    width: 584px;
    font-size: 18pt;
    text-align: center;
    padding: 10px;
    font-family: "Cabin", sans-serif;
}

div.boxshadow {
    box-shadow: 5px 5px 8px gray;
}

/* Preferences */
div.prefsdiv {
    max-width: 600px;
}

div.prefsheading {
    background-color: navy;
    color: white;
    padding: 5px;
}

div.prefstaborder {
    padding: 5px;
    margin-bottom: 10px;
    background-color: #dddddd;
}

div.prefstaborderrow {
    position: relative;
    padding: 5px;
    vertical-align: middle;
    height: 30px;
    line-height: 30px;
    border-bottom: 1px dashed black;
}

div.prefstaborderimage {
    position: absolute;
    left: 0px;
}

div.prefstabordercontrol {
    position: absolute;
    left: 40px;
    padding-left: 10px;
}

div.prefsclear {
    clear: both;
}

div.prefssubmitrow {
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 5px;
}

div.prefsfeedback {
    height: 20px;
}

span.prefssaved {
    color: #008800;
    font-size: 10pt;
}

div.prefstaborderfooter {
    font-size: 10pt;
}


/* Display setup */

div.displayoptsform {
    margin-top: 10px;
}

div.bannercontrol {
    margin-top: 20px;
}

div.viewselection {
    position: relative;
    margin-top: 20px;
}

div.viewdetails {
}

div.viewdetailstext {
    padding: 10px;
}

div.viewdetailstitle {
    font-size: 18pt;
    font-weight: bold;
}

div.viewdetailsdescription {
}


input.switchviewbutton {
    min-width: 200px;
    height: 30px;
    background-color: green;
    color: white;
}

div.viewpreviewandoptions {
    position: relative;
}

div.teleostoptionheading {
    font-size: 14pt;
    font-weight: bold;
    margin-top: 10px;
    padding-left: 10px;
}

div.teleostoptionblock {
    padding: 10px;
}

div.teleostoption {
    padding-left: 15px;
    padding-top: 5px;
}

div.displaysetupview {
    position: relative;
    display: inline-block;
    top: 0px;
    left: 0px;
    min-height: 315px;
    padding: 5px;
}

div.viewnowshowing {
    background-color: green;
    border: 2px solid green;
}

iframe.displaypreviewframe {
    border: none;
}

div.viewpreview {
    background-color: orange;
    border: 2px solid orange;
}

div.viewpreviewswitch {
    text-align: center;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 16pt;
}

div.viewpreviewcurrent {
    width: 100%;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 16pt;
    color: white;
}

div.viewcontrols {
    margin-top: 20px;
    top: 0px;
}

div.viewoptions {
    /*overflow-y: auto;*/
}

div.viewsubmitbuttons {
    margin: 10px;
}

input.displayoptionsbutton {
    height: 30px;
    min-width: 200px;
    font-size: 12pt;
}

button.displayoptionsbutton {
    height: 30px;
    min-width: 200px;
    font-size: 12pt;
}

div.viewmenu {
    margin-top: 20px;
    margin-left: 10px;
}

div.viewmenuheading {
    font-size: 16pt;
    font-weight: bold;
    padding: 10px;
}

div.viewmenucell {
    display: inline-block;
    min-width: 133px;
    height: 100px + 2ex;
    text-align: center;
    vertical-align: top;
    padding: 3px 3px 0px 3px;
    font-size: 8pt;
    margin: 2px;
}

div.viewmenucelllarge {
    font-size: 12pt;
}

div.viewmenucellbystander {
    border: 4px solid transparent;
}

div.viewmenucellbystander img {
    opacity: 50%;
}

div.viewmenucellselected {
    background: orange;
    border: 4px solid orange;
}

div.viewmenucellshowing {
    background: green;
    border: 4px solid green;
    color: white;
}

div.viewmenucellautoshowing {
    border: 4px dashed lightgreen;
}

div.opendisplaylink {
    font-weight: bold;
    margin-bottom: 20px;
}

div.opendisplaylink a {
    background-color: cyan;
    padding: 5px;
    border-radius: 5px;
}

span.sidebaropendisplaylink {
    background-color: cyan;
    font-size: 8pt;
    border-radius: 5px;
    line-height: 12pt;
    padding-top: 4px;
    padding-left: 2px;
    padding-right: 2px;
    margin-left: 4px;
}

div.sidebaropendisplaylink a {
}


input.tourneysetupnumber {
    width: 60px;
}

div.tourneyqualifyingcontrols {
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: 30px;
}

div.generalsetupcontrolgroup {
    clear: both;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 30px;
}

div.rankmethod {
    margin-top: 10px;
    margin-bottom: 10px;
}

div.rankmethoddetails {
    margin-left: 3em;
    font-size: 10pt;
    color: gray;
}

div.generalsetuptourneydetailslabel {
    display: inline-block;
    width: 8em;
}

div.generalsetuptourneydetailsbox {
    display: inline-block;
}

div.generalsetuptourneydetailsbox input {
    width: 20em;
}

span.generalsetupinputexample {
    color: gray;
    font-size: 10pt;
}

div.rulessubmit {
    margin-top: 30px;
    margin-bottom: 20px;
}

.handcursor {
    cursor: pointer;
}

.fixedwidth {
    font-family: monospace;
}


div.playersetupcontainer {
    position: relative;
}

div.playersetuplistpanecontainer {
    min-width: 15%;
    max-width: 25%;
    float: left;
}

div.playersetuplistpane {
    padding-right: 10px;
}

div.playersetupformpanecontainer {
    width: 75%;
    float: left;
}

div.playersetupformpane {
    border-left: 1px solid gray;
    padding-left: 10px;
}

table.playerlisttable {
    border-collapse: collapse;
    width: 95%;
}

td.playerlistdivision {
    padding-top: 1.5ex;
    border-bottom: 1px solid silver;
}

tr.playerlistrow td {
    border-top: 1px solid silver;
    border-bottom: 1px solid silver;
}

tr.playerlistrowselected {
    background-color: #ffff88;
}

td.playerlistflags {
    text-align: right;
}

span.playercontrolhelp {
    font-style: italic;
    color: gray;
    font-size: 10pt;
    line-height: 12pt;
    vertical-align: middle;
}

span.playerlisttablepreficon {
    background-color: blue;
    color: white;
    padding: 2px 5px 2px 5px;
    font-size: 10pt;
}

h2.withdrawnplayer {
    background-color: #dddddd;
}

input[type="checkbox"] {
    transform: scale(1.5);
}

input[type="radio"] {
    transform: scale(1.25);
}

input[type="number"] {
    /* Don't want the default extra-long edit box */
    width: 5em;
}


/* SQL interface */

body.scary {
}

.sqlsidebar {
	width: 280px;
    background-color: #ffcccc;
}

div.sqlmainpane {
	margin-left: 300px;
}

div.sqlsidebarname {
    font-weight: bold;
}

table.sqlresults {
    border-collapse: collapse;
    background-color: white;
}

table.sqlresults th {
    border: 1px solid black;
    padding-left: 0.4em;
    padding-right: 0.4em;
}

table.sqlresults tr {
    border-bottom: 1px dashed gray;
    font-family: monospace;
}

td.sqlnull {
    color: gray;
    font-style: italic;
}

table.sqlresults td {
    border-left: 1px solid gray;
    border-right: 1px solid gray;
    padding-left: 0.4em;
    padding-right: 0.4em;
}

div.sqldictsection {
    margin-top: 1em;
}

div.sqldictsectionheading {
}

ul.sqldict {
    list-style-type: none;
    font-size: 10pt;
}

ul.sqldictcolumnlist {
    display: none;
}

ul.sqldict li.tablename {
    margin-top: 0.2em;
}


div.formbox {
}

div.formline {
}

div.exportformbox div.formlabel {
    width: 9em;
    text-align: right;
}

div.formline label {
    margin-right: 20px;
}

div.formlabel {
    display: table-cell;
    padding: 5px;
}

div.formcontrol {
    display: table-cell;
    padding: 5px;
}

span.formcontrolhelp {
    font-size: 10pt;
    color: gray;
}

div.submitline {
    margin-top: 10px;
}

input.noteditable {
    background-color: #ddd;
    color: gray;
}

div.uploaderwidget {
    position: relative;
    min-height: 15px;
    max-height: 36px;
    max-width: 150px;
}

div.uploaderwidgeticon {
    position: absolute;
    max-height: 18px;
    width: 52px;
    top: 2px;
    left: 0px;
    text-align: center;
    font-size: 10pt;
}

div.uploaderwidgetstatus {
    position: absolute;
    max-height: 18px;
    left: 56px;
    top: 2px;
    line-height: 18px;
    text-align: center;
    font-size: 10pt;
    padding-left: 5px;
    padding-right: 5px;
    background-color: silver;
    border-radius: 5px;
}

a.widgetlink:link {
    color: black;
}

a.widgetlink:visited {
    color: black;
}

div.uploadconsole {
    width: 450px;
    border: 1px solid gray;
    margin-top: 15px;
    margin-left: 5px;
}

div.uploadconsoleenabled {
    text-align: center;
    padding: 5px;
}

div.uploadconsolestatus {
    text-align: center;
    border-top: 1px solid gray;
    padding: 5px;
}

div.uploadconsolediag {
    font-size: 10pt;
    border-top: 1px solid gray;
    padding: 5px;
}

div.shareablelinkbox {
    margin: 5px;
}

table.playercheckin {
    border-collapse: separate;
    border-spacing: 6px;
    table-layout: fixed;
}

table.playercheckin td.playercheckincol {
    min-width: 180px;
}

table.playercheckin td.playercheckincolspace {
    min-width: none;
    text-align: left;
    width: 60px;
}

button.playercheckinbutton {
    width: 100%;
    font-size: 10pt;
    text-align: left;
    padding: 5px;
    cursor: pointer;
}

button.playercheckinbuttonactive {
    background-color: hsl(120, 60%, 90%);
    color: black;
}

button.playercheckinbuttonactive:hover {
    background-color: hsl(120, 100%, 80%);
}

button.playercheckinbuttonwithdrawn {
    background-color: hsl(0, 80%, 20%);
    color: white;
}

button.playercheckinbuttonwithdrawn:hover {
    background-color: hsl(0, 80%, 40%);
}

button.playercheckindeletebutton {
    font-size: 10pt;
    width: 25px;
    padding: 0;
    cursor: pointer;
}

div.dialogbackground {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 75%);
    text-align: center;
    z-index: 1;
}

div.dialogboxcontainer {
    position: relative;
    display: inline-block;
    top: 20vh;
    max-width: 600px;
    background-color: white;
    padding: 30px;
    box-shadow: 5px 5px 10px black;
    border: 3px groove gray;
    border-radius: 6px;
    z-index: 2;
}

div.dialogbox {
    display: block;
    text-align: left;
}

div.dialogbox input[type="submit"] {
    font-size: 12pt;
    min-width: 100px;
}

div.dialogbox button {
    font-size: 12pt;
    min-width: 100px;
    margin-left: 10px;
}

div.dialogbox div.formcontrolrow {
    margin-top: 15px;
}

div.dialogbox div.formcontrolrowactions {
    margin-top: 25px;
    text-align: right;
}
