/* strasbourg2024 theme, * {outline:1px solid red;} */

:root
{
	--bodyBk:#f5f4f8;
	--mainColor:#222;
	--evenNameColor:#222;
	--eventDateColor:#888;
	--mainBk:#fff;
	--buttonColor:#fff;
	--registerButtonBk:#f50;
	--contactButtonBk:#0af;
	--hoveredColor:#f50;
	--hoveredButtonColor:#fff;
	--hoveredButtonBk:#222;
	--myUnit:min(1rem,2vw);
}
body
{
	font-family:sans-serif;
	font-weight:300;
	background:var(--bodyBk);
	color:var(--mainColor);
	margin:0 auto;
	padding:0;
	min-width:min-content;
}
body.games
{
	min-width:initial;
}
.alert
{
	color:#f00;
}
a
{
	color:inherit;
}
a.current
{
	color:var(--hoveredColor);
}
a.register,
a.contact
{
	display:block;
	color:var(--buttonColor);
    border-radius: 0.25rem;
    font-weight:600;
    text-transform: uppercase;
	padding:1rem;
	max-width:max-content;
	text-decoration:none;
}
a.register
{
	background-color:var(--registerButtonBk);
    margin:0 calc(1 * var(--myUnit));
}
a.contact
{
	background-color:var(--contactButtonBk);
	margin:calc(1 * var(--myUnit)) 0;
}
a:hover
{
	color:var(--hoveredColor);
}
a.register:hover,
a.contact:hover
{
	color:var(--hoveredButtonColor);
	background-color:var(--hoveredButtonBk);
}
header p
{
	border-bottom:1px solid #0001;
	background-color:var(--mainBk);
	background-image:url("go-and-cathedrale.webp");
	background-repeat:no-repeat;
	background-size:auto 6rem;
	background-position:-1rem center;
	font-family:serif;
	text-align:right;
	margin:0;
	padding:calc(2 * var(--myUnit)) var(--myUnit) calc(2 * var(--myUnit)) calc(6rem + (2 * var(--myUnit)));
}
header p span
{
	display:block;
}
header p span:first-of-type
{
	font-size:1.5rem;
	font-weight:600;
	color:var(--eventNameColor);
}
header p span:last-of-type
{
	font-size:1.25rem;
	color:var(--eventDateColor);
}
header .mainMenu
{
	border-bottom:1px solid #0001;
	background-color:var(--mainBk);
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:var(--myUnit);
}
header .mainMenu ul
{
	margin:0;
	padding:var(--myUnit);
	list-style-type:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:center;
	gap:1rem;
}
header a
{
	text-decoration:none;
}
nav.langMenu ul
{
	list-style-type:none;
	margin:var(--myUnit);
	padding:0 var(--myUnit);
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	gap:1rem;
}
nav.langMenu li
{
	margin:0;
	padding:0;
}
nav.langMenu img
{
	display:block;
}
main
{
	border:1px solid #0001;
	background-color:var(--mainBk);
	margin:var(--myUnit);
	padding:var(--myUnit);
}
main iframe
{
	max-width:100%;
	margin:1rem 0;
}
.photoList
{
	display:grid;
	grid-gap:0.5rem;
	grid-template-columns:1fr 1fr 1fr 1fr;
	list-style-type:none;
	margin:0.5rem auto;
	padding:0;
	justify-content:center;
	max-width:105.5rem;
}
.photoList>*
{
	margin:0;
	padding:0;
}
.photoList figure
{
	margin:0;
	padding:0;
}
.photoList img
{
	display:block;
	max-width:100%;
	height:auto;
	box-shadow:0 0 2px #0007;
}
.alreadyRegisteredParticipants
{
	text-align:center;
}
.sponsors main
{
	text-align:center;
}
.sponsors main h1
{
	text-align:left;
}
.sponsors main img
{
	display:inline-block;
	padding:0.5rem;
	margin:1rem;
	height:3rem;
	width:auto;
	max-width:min(90vw,12rem);
	box-shadow:0px 0px 1px #aaa;
}
body.games p:has(a[download])
{
	text-align:center;
}
body.games .mxHeaderDiv
{
	display:none;
}
footer
{
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	justify-content:center;
	margin:var(--myUnit);
}
footer a
{
	text-decoration:none;
}

/* table.bracket */
table.bracket
{
	margin:1rem auto;
	border-collapse:collapse;
	min-width:80%;
	font-size:max(min(1rem,2vw),0.75rem);
}
table.bracket th,
table.bracket td
{
	border:1px solid #0000;
	padding:0.125rem;
	position:relative;
	hyphens:auto;
}
table.bracket td:not(:empty)
{
	border-bottom:1px solid #000;
}
table.bracket tr:nth-of-type(4n+3) td:nth-of-type(1),
table.bracket tr:nth-of-type(4n+4) td:nth-of-type(1),
table.bracket tr:nth-of-type(8n+4) td:nth-of-type(2),
table.bracket tr:nth-of-type(8n+5) td:nth-of-type(2),
table.bracket tr:nth-of-type(8n+6) td:nth-of-type(2),
table.bracket tr:nth-of-type(8n+7) td:nth-of-type(2),
table.bracket tr:nth-of-type(16n+6) td:nth-of-type(3),
table.bracket tr:nth-of-type(16n+7) td:nth-of-type(3),
table.bracket tr:nth-of-type(16n+8) td:nth-of-type(3),
table.bracket tr:nth-of-type(16n+9) td:nth-of-type(3),
table.bracket tr:nth-of-type(16n+10) td:nth-of-type(3),
table.bracket tr:nth-of-type(16n+11) td:nth-of-type(3),
table.bracket tr:nth-of-type(16n+12) td:nth-of-type(3),
table.bracket tr:nth-of-type(16n+13) td:nth-of-type(3),
table.bracket tr:nth-of-type(32n+10) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+11) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+12) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+13) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+14) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+15) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+16) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+17) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+18) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+19) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+20) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+21) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+22) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+23) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+24) td:nth-of-type(4),
table.bracket tr:nth-of-type(32n+25) td:nth-of-type(4)
{
	border-right:1px solid #000;
}
table.bracket img.flag
{
	display:inline-block;
	height:1rem;
	width:auto;
	position:relative;
	top:0.0625rem;
	box-shadow:0px 0px 1px #aaa;
	margin-right:0.125rem;
}
table.bracket td:first-of-type
{
	padding-right:1.375rem;
}
table.bracket
{
	pointer-events:none;
}
ul.sgfList
{
	list-style-type:none;
	margin:0;
	padding:0;
	pointer-events:none;
}
ul.sgfList>li
{
	position:relative;
	margin:0 0 1rem 0;
	padding:0;
	max-width:max-content;
}
ul.sgfList>li>a
{
	pointer-events:auto;
}
details.sgfViewerDetails,
details.sgfViewerDetails *
{
	pointer-events:auto;
}
details.sgfViewerDetails,
details.sgfViewerDetails summary,
details.sgfViewerDetails summary img
{
	display:block;
	margin:0;
	padding:0;
}
table.bracket details.sgfViewerDetails:not([open])
{
	position:absolute;
	left:-1.5rem;
	bottom:-0.75rem;
	width:1.5rem;
	height:1.5rem;
}
ul.sgfList details.sgfViewerDetails:not([open])
{
	position:relative;
}
ul.sgfList details.sgfViewerDetails:not([open]) summary
{
	pointer-events:auto;
}
table.bracket details.sgfViewerDetails summary,
table.bracket details.sgfViewerDetails summary img
{
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	cursor:pointer;
}
details.sgfViewerDetails summary
{
	cursor:pointer;
}
ul.sgfList details.sgfViewerDetails:not([open]) summary
{
	text-decoration:underline;
}
details.sgfViewerDetails:not([open]) summary:hover
{
	color:var(--hoveredColor);
}
details.sgfViewerDetails[open]
{
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	display:flex;
	background:#fff7;
	z-index:1;
}
table.bracket details.sgfViewerDetails[open] summary,
ul.sgfList details.sgfViewerDetails[open] summary
{
	z-index:5;
	position:fixed;
	top:1rem;
	left:initial;
	bottom:initial;
	right:1rem;
	width:min(3rem,10vw);
	height:min(3rem,10vw);
    background-image:url("close.svg");
}
details.sgfViewerDetails[open] summary img
{
	display:none;
}
details.sgfViewerDetails[open] summary~.mxGlobalBoxDiv
{
	position:relative;
	margin:50vh auto 0 auto;
	transform: translateY(-50%);
	z-index:3;
}
.mxGlobalBoxDiv.mxTatamiTheme.mxIndicesOff.mxIn3d
{
	--gobanMaxWidth:min(calc((100vh - 16px) * 19 / 23),calc(1em * 445 / 16));
}
.mxGlobalBoxDiv.mxTatamiTheme.mxIndicesOff.mxIn3d .mxGobanParentDiv
{
	padding:calc(var(--gobanMaxWidth) / 76);
}
.mxGlobalBoxDiv.mxTatamiTheme.mxIndicesOff.mxIn3d .mxNavigationDiv button
{
	width:calc(var(--gobanMaxWidth) * 3 / 19);
	height:calc(var(--gobanMaxWidth) * 3 / 19);
	max-width:calc(var(--gobanMaxWidth) * 3 / 19);
}
body:has(details.sgfViewerDetails[open])
{
	min-height:200vh;
	background-color:var(--mainBk);
}
body:has(details.sgfViewerDetails[open])>:not(:has(details.sgfViewerDetails[open])),
body:has(details.sgfViewerDetails[open])>main>:not(:has(details.sgfViewerDetails[open])),
body:has(details.sgfViewerDetails[open])>main>table.bracket th:not(:has(details.sgfViewerDetails[open])),
body:has(details.sgfViewerDetails[open])>main>table.bracket td:not(:has(details.sgfViewerDetails[open])),
body:has(details.sgfViewerDetails[open])>main>table.bracket td span,
body:has(details.sgfViewerDetails[open])>main>ul.sgfList>:not(:has(details.sgfViewerDetails[open])),
body:has(details.sgfViewerDetails[open])>main>ul.sgfList>li>:not(details.sgfViewerDetails[open]),
body:has(details.sgfViewerDetails[open])>main>ul.sgfList>li>details>summary>*
{
	display:none;
}
body:has(details.sgfViewerDetails[open])>main>table.bracket td
{
	border:0;
}
body:has(details.sgfViewerDetails[open])>main
{
	margin:0;
	padding:0;
	border:0;
}
details.sgfViewerDetails summary
{
	list-style-type:none; /* Firefox */
}
details.sgfViewerDetails summary::-webkit-details-marker
{
	display:none; /* Chrome */
}
/* table.evenOdd */
table.evenOdd
{
	--thColor:#fff;
	--thBk:#0d0d15;
	--tdColor:#333;
	--td1Bk:#fff;
	--td2Bk:#f5f4f8;
	--outlinedBorderColor:#db5600;
	border-collapse:collapse;
	font-size: 0.75rem;
	margin:0 auto;
}
table.evenOdd tr:first-of-type th
{
	border-right:thin solid var(--thColor);
	border-left:thin solid var(--thColor);
	color: var(--thColor);
	background-color: var(--thBk);
	padding:0.125rem;
}
table.evenOdd tr:first-of-type th:not(:first-of-type)
{
	cursor:pointer;
}
table.evenOdd tr:first-of-type th:first-of-type
{
	border-left:thin solid var(--thBk);
}
table.evenOdd tr:first-of-type th:last-of-type
{
	border-right:thin solid var(--thBk);
}
table.evenOdd tr:not(:first-of-type) th,
table.evenOdd td
{
	color: var(--tdColor);
	padding:0.125rem;
	border:thin solid var(--thBk);
	padding:0.125rem;
	text-align:center;
	font-weight:normal;
}
table.evenOdd tr:nth-of-type(odd):not(:first-of-type) th,
table.evenOdd tr:nth-of-type(odd) td
{
	background-color: var(--td1Bk);
}
table.evenOdd tr:nth-of-type(even):not(:first-of-type) th,
table.evenOdd tr:nth-of-type(even) td
{
	background-color: var(--td2Bk);
}
table.evenOdd tr:not(:first-of-type) th
{
	text-align:right;
}
table.evenOdd td:nth-of-type(1)
{
	text-align:left;
}
table.evenOdd img.flag
{
	height:0.75rem;
	width:auto;
	box-shadow:0px 0px 1px #aaa;
}
/* registration form */
.registrationForm
{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	max-width:30rem;
	gap:1rem;
	margin:0 auto;
}
.registrationForm label span
{
	display:inline-block;
	width:100%;
}
.registrationForm label input,
.registrationForm p:first-child span
{
	box-sizing:border-box;
	display:block;
	width:100%;
	margin-top:0.25rem;
}
.registrationForm label input[type="checkbox"],
.registrationForm label input[type="checkbox"]~span
{
	display:initial;
	width:initial;
}
.registrationForm label textarea
{
	box-sizing:border-box;
	display:block;
	width:100%;
	margin-top:0.25rem;
}
.registrationForm button
{
	font-size:1rem;
	color:#000;
	background:#f7f7f7;
	border:1px solid #999;
	padding:0.25rem;
	border-radius:0.25rem;
}
.registrationForm button:first-of-type
{
	margin-top:1rem;
}
.registrationForm button:hover
{
	background:#eee;
	cursor:pointer;
}
@media (max-width:80em)
{
	.photoList
	{
		max-width:76rem;
		grid-template-columns:1fr 1fr 1fr;
	}
}
@media (max-width:54.5em)
{
	.photoList
	{
		max-width:50.5rem;
		grid-template-columns:1fr 1fr;
	}
}
@media (max-width:40em)
{
	table.bracket th
	{
		padding-bottom:1rem;
	}
	table.bracket img.flag
	{
		display:block;
		position:absolute;
		top:-1rem;
		left:0.125rem;
	}
}
@media (max-width:29em)
{
	.photoList
	{
		max-width:25rem;
		grid-template-columns:1fr;
	}
}

