/*
 * Zugzwang Project
 * deutsche-schachjugend.de
 * Copyright (c) 2016-2018, 2020-2021 Gustaf Mossakowski <gustaf@koenige.org>
 * CSS for tournaments
 */


/* tournament information */

.infocol		{ float: left; width: 46.5%; padding: 0 2% 1em 0; }
.infocol2		{ padding-right: 0; }
.infocol dt		{ font-weight: normal; font-style: italic; margin: 1em 0 0; }
.infocol dd		{ margin: 0 0 0 0; padding: 0; }
.infocol .tournament_links, .tournament_links
				{ margin-top: 1em; }
.tournament_links .explanation
				{ color: #444; margin: 1em 2.5em; }
@media screen and (max-width: 800px) {
	.infocol		{ float: none; padding: 0 0 1em; width: auto; }
}
@media screen and (max-width: 480px) {
	.infocol		{ font-size: 90%; }
}

.infocol_max	{ float: left; min-width: 22em; padding: 0 1% 1em 0; }
.infocol_map	{ float: left; max-width: 360px; padding: 0 1% 1em 0; }
@media screen and (max-width: 640px) {
	.infocol dd		{ margin: 0 .75em; }
	.infocol dd p	{ margin: 0; padding: 0; }
	.infocol_max	{ float: none; min-width: none; padding: 0 0 1em; }
	.infocol_map	{ float: none; max-width: none; padding: 0 0 1em; }
}

/* results table */

.tournament		{ margin: 0 auto; text-align: center; }
.tableposition	{ white-space: nowrap; }

/* player card */

.spielerbild	{ padding: 0 1em 1em 0; margin: 0; }

.playercard		{ float: right; margin: 1em 0 1em 1em; max-width: 20em; }
.playercard table
				{ border-collapse: collapse; }
.playercard td
				{ padding-right: .75em; }
.playercard th
				{ padding-right: .5em; text-align: left; }
.playercard th, .playercard td
				{ vertical-align: top; }
@media screen and (max-width: 840px) {
	.playercard		{ float: none; }
}
@media screen and (max-width: 640px) {
	.playercard		{ margin: 1em .75em; }
}
.playercard	img	{ vertical-align: bottom; }


/* participants photos */

.galerie		{ text-align: center; margin: 1em 0; }
.galerie a		{ text-align: bottom; margin: 0 .75em .75em 0; 
				display: inline-block; min-width: 160px; background: #E0E0E0; }
.galerie img	{ vertical-align: bottom; }


/* team card */

.results table	{ border-collapse: collapse; margin: 1em 0; }
.results th, .results td
				{ padding: .25em .75em .25em .25em; }
.results th		{ text-align: left; }
.results thead th
				{ border-bottom-width: 2px; border-style: none none solid; 
				border-color: #999; }
.results thead th.heading
				{ border: none; padding-bottom: 0; }
.results td		{ vertical-align: top; }
.results .uneven td, .results .even td.checkered, .results tbody tr:nth-child(2n+1) td
				{ background: #E5E5E5; }
.results .even td, .results .uneven td.checkered,  .results tbody tr:nth-child(2n) td,
.results .bewerbungen tbody tr:nth-child(4n+3) td
				{ background: #F5F5F5; }
.results .bewerbungen .additional-data-row td
				{ background: white; }
.results tbody tr:target:nth-child(2n+1) td, .results tbody tr:target:nth-child(2n) td
				{ background: yellow; }
.results tbody tr:last-child td, .results tbody tr.subhead td
				{ border-bottom: 2px solid #999; }
.results tbody tr td.no_data
				{ text-align: center; background: white; }
.results tbody tr.grouping td
				{ background: white; }
@media screen and (max-width: 640px) {
	.results		{ overflow: auto; }
	.results th, .results td
					{ padding: .2em .5em .2em .2em; }
}
@media print {
	.results table	{ font-size: 10pt; }
	.results .uneven td, .results .even td.checkered
					{ background: white; }
	.results thead th, .results tbody tr:last-child td
					{ border-color: black; }
	.results a[href^=http]:after
				{ content: ""; }
}

table.anmeldung, table.bewerbungen
				{ width: 100%; }


/* game colours */

.weiss, .schwarz
				{ width: .6em; height: .6em; border: 1px solid black;
				display: inline-block; vertical-align: middle; margin: 0 .25em 0 0; }
.weiss			{ background: white; }
.schwarz		{ background: black; }


/* chessgames */

.brett			{ padding: 1em 1em 1em 0; width: 340px; float: left;
				text-align: center; }
.brett table	{ margin: auto; }
.brett img		{ padding: 0; margin: 0; vertical-align: bottom; }
.brett .position
				{ border: 1px solid black; }
.zuege			{ margin-top: 1.5em; }
.PgnMoveText	{ max-width: 60em; }
.partieanmerkung
				{ font-size: 90%; font-style: italic; margin-top: 3em; 
				max-width: 60em; }
@media screen and (max-width: 640px) {
	.PgnMoveText	{ padding: 0 .75em; }
}

.brett-nav		{ font-size: 90%; border-collapse: collapse; }
.brett-nav input	{ padding: 0 .2em; }


/* standings, position table */

.results .bx	{ border-left: 1px solid #06C; }
.results .bxv	{ border-right: 1px solid #06C; }
.results .short, .results .shorter
				{ display: none; }
@media screen and (max-width: 800px) {
	.results .short	{ display: inline; }
	.results .long	{ display: none; }
}
@media screen and (max-width: 640px) {
	.results .shorter	{ display: inline; }
	.results .longer	{ display: none; }
}
@media print {
	.results .short	{ display: inline; }
	.results .long	{ display: none; }
	.results .bx, .results .bxv
					{ border-color: black; }
}
.results .identical_place
				{ visibility: hidden; }
.results .worse		{ color: red; }
.results .better	{ color: green; }
.results .equal		{ color: black; }

.results .tu	{ text-align: center; color: #888; } /* rating */
.results .tuz	{ text-align: right; color: #888; } /* setzliste */
.tz, tfoot th.tz
				{ text-align: right;  }
.results .tm	{ text-align: center; }
.results .live td
				{ font-weight: bold; color: red; }
@media screen and (max-width: 640px) {
	.results		{ font-size: 90%; padding: 0 .75em; }
}

/* standings Einzelturnier */

.results .wertung
				{ padding-right: .4em; }
@media screen and (max-width: 720px) {
	.results .verein
				{ display: block; padding-top: 0; }
	.results th.verein
				{ position: relative; z-index: 2; margin-bottom: -1px; }
	.results .person
				{ display: block; padding-bottom: 0; }
	.results th.person
				{ border-bottom: none; }
	.results th.person:after { content: " / "; }
	.results tbody tr:last-child td.person
				{ border-bottom: none; }
}

/* standings Landesverband */

.results h2		{ margin-top: 1.5em; margin-bottom: 0;
				max-width: 28em; }
.results thead:first-child h2
				{ margin-top: 0; }
body table.lv tbody tr:last-child td
				{ border-bottom: none; }
.lv .spielerbild img
				{ max-width: 40px; vertical-align: bottom; }


/* standings, position table and team pairings */

.team_ergebnis .th, .results .th
				{ text-align: left; }
.team_ergebnis .ta, .results .ta
				{ text-align: right; }


/* team results */

.results .tsum	{ text-align: right; padding-left: 1.5em; }
.results .ergebnis
				{ white-space: nowrap; text-align: right; 
				padding-right: .25em; min-width: 1.6em; }


/* team pairings */

.team_ergebnis	{ border-collapse: collapse; display: inline-block; margin: 1em 1em 0 0; }
.team_ergebnis:target
				{ background: yellow; }
.team_ergebnis .weiss, .team_ergebnis .schwarz
				{ margin: .8em 0; }
.team_ergebnis th
				{ padding: 0 .4em .2em; height: 4em; line-height: 1.2; }
.team_ergebnis td
				{ background: #EEE; padding: .25em .25em 0; }
.team_ergebnis td.tz
				{ padding: 0 .2em; }
.team_ergebnis th.tz
				{ padding: 0 .2em .2em .2em; width: 1em; }
.team_ergebnis .th, .team_ergebnis .ta
				{ width: 9em; line-height: 1;  }
@media screen and (min-width: 1200px) {
	.team_ergebnis .th, .team_ergebnis .ta
					{ width: 11.8em; }
}
@media screen and (max-width: 640px) {
	.team_ergebnis	{ font-size: 90%; margin: 0 .75em; }
}

/* team pairings and player results */

.team_ergebnis .tm, .spieler .tm
				{ text-align: center; width: 5em; }
@media screen and (max-width: 640px) {
	.spieler .tm		{ width: 3em; }
}

/* navigation between rounds */

.relnav			{ clear: both; margin: 0; padding-top: 1em; }
.relnav .middle	{ float: left; padding-right: 1em; }
.relnav .next	{ float: right; padding-left: 1em; }
.relnav .prev	{ float: left; padding-right: 1em; }
@media print {
	.relnav			{ display: none; }
}

/* medals */

.medals td, .medals th
				{ width: 2.5em; text-align: center; padding: .25em .4em; 
				border-left: 1px solid #06C }
.medals td:first-child, .medals th:first-child
				{ text-align: left; width: auto; border-right: 1px solid #06C;
				border-left: none; padding-right: 1em; }
.medals tr:hover td
				{ background: #CCC; }
@media print {
	.medals td, .medals th { border-color: black; }
}

/* Karte mit Spielern */

#mapverein		{ width: 320px; height: 320px; background: #EEE; }
#playermap		{ width: 480px; height: 600px; background: #DDD;
				border: 1px solid #666; }
#playermap .verein
				{ font-size: 90%; margin: 0; background: #FFF; 
				padding: .25em .1em .1em .5em; }
.map_spieler	{ margin: 1em 0; padding: 0; list-style: none; }
.map_spieler li	{ margin: .25em 0; padding: 0; }
@media screen and (max-width: 640px) {
	#mapverein, #playermap
					{ width: 100%; }
}

/* live games overview */

.liveturnier	{ margin: 1em 0 1em; padding-top: 1.5em; }


/* team presentation */

.teamer dt		{ padding-right: .5em; }
.teamer dd		{ padding: 0 0 .5em 0; margin: 0; }
.teamer h2		{ clear: both; padding-top: 2em; margin-bottom: 0;  }
.teamer h3		{ clear: both; padding-top: 1.5em; }
.teamer .teamerbild	
				{ float: right; padding: 0 0 .5em .5em; }
@media screen and (max-width: 640px) {
	.teamer dd		{ padding: 0 .75em .5em; }
}
@media screen and (min-width: 800px) {
	.teamer article	{ width: 48%; float: left; padding-right: 2%; }
	.teamer article.uneven	{ clear: left; }
}

/* gallery */

.gallery		{ list-style: none; margin: 1em 0; padding: 0; }
.gallery li		{ float: left; margin: 0; padding: 0 1% 1% 0; max-width: 32%; }
.gallery img	{ vertical-align: bottom; height: 200px; }

@media screen and (max-width: 1024px) {
	.gallery img	{ height: 180px; }
}
@media screen and (max-width: 960px) {
	.gallery img	{ height: 160px; }
}
@media screen and (max-width: 840px) {
	.gallery img	{ height: 140px; }
}
@media screen and (max-width: 720px) {
	.gallery img	{ height: 120px; }
}
@media screen and (max-width: 640px) {
	.gallery li		{ max-width: 49%;  }
	.gallery img	{ height: auto; }
}
@media screen and (max-width: 480px) {
	.gallery		{ padding: 0 1em; }
	.gallery li		{ float: none; padding: 0 0 .5em; width: 100%; max-width: 100%; }
	.gallery img	{ width: 100%; }
}

/* Meldeliste, sortierbar */

.results .sortonly
				{ display: none; }

.sortable th	{ cursor: pointer; }
.sortable th:after	{ content: '↓'; font-size: 75%; color: #999; }
.sortable th.vxJS_sorTable_header_desc:after
				{ content: '↑'; }
.meldung		{ color: #999; font-size: 85%; text-align: right; line-height: 1.7; }

/* map */

.kartenspalte
			{ page-break-before: always; }

/* interne Meldung */

#spieler .moretext_hidden, .spieler .moretext_hidden
				{ max-height: 3.2em; overflow: hidden; text-overflow: ellipsis; }
#spieler .text p, .spieler .text p
				{ margin-top: 0; }

table.spieler tr.hidden {
	display: none;
}
table.spieler td.show-more {
	cursor: pointer;
}

/* tournament series */

.tournaments ul	{ margin-bottom: 1em; }