@charset "UTF-8";

:root {
	--color-primary: hsl(212, 40%, 90%);
	--color-primary-dim: hsl(212, 20%, 65%);
	--color-highlight: hsl(212, 100%, 61%);
	--color-highlight-dim: hsl(212, 54%, 74%);
	--color-menu: hsl(212, 20%, 75%);
	--color-destructive: hsl(0, 70%, 45%);

	--site-background: hsl(212, 20%, 10%);
	--site-background-medium: hsl(212, 25%, 12%);
	--site-background-light: hsl(212, 50%, 12%);

	--menu-background: hsl(212, 15%, 15%);
	--menu-border: hsl(212, 35%, 35%);

	--card-border: hsl(212, 33%, 21%);
	--card-border-light: hsl(212, 50%, 50%);

	--textbox-background: radial-gradient(ellipse 400px 250px at 30% 100px, hsl(212, 63%, 17%), hsl(212, 50%, 12%));
	--textbox-sidebar-background: linear-gradient(to right, hsl(212, 50%, 50%, 0.12), hsl(212, 50%, 50%, 0) 50%);

	--box-shadow: 0 0 10px hsl(212, 33%, 21%);
	--box-shadow-dark: 0 0 20px hsl(212, 90%, 5%);

	--std-content-max-width: 950px;
}

* {
	box-sizing: border-box;
}

html {
	height: 100%;
}
body {
	background-color: var(--site-background);
	color: var(--color-primary);
	margin: 0;

	font-family: "Titillium Web", serif; /* Nunito, Montserrat */
	min-height:100%;
	display:flex;
	flex-direction:column;
}
main {
	padding: 20px 0;
	flex-grow: 1;
}



a {
	text-decoration: none;
	color: hsl(212, 100%, 65%);
	text-decoration-color: hsl(212, 100%, 65%);
}
a * {
	text-decoration-color: inherit;
}
a.destructive {
	color: hsl(0,70%,45%);
}
a:hover {
	text-decoration: underline;
}



nav {
	max-width: var(--std-content-max-width);
	margin: 0 auto;
}

.rowHighlightWide {
	background: var(--textbox-background);
}

.content {
	max-width: var(--std-content-max-width);
	margin: 20px auto;
	padding: 10px 25px;
}
@media (max-width: 950px) {
	.content {
		padding: 10px 2vw;
	}
}
@media (max-width: 500px) {
	.content {
		padding: 10px 1vw;
	}
}

.content4 {
	max-width: var(--std-content-max-width);
	margin: 20px auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
}
.content5 {
	max-width: var(--std-content-max-width);
	margin: 20px auto;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
	gap: 10px;
}

.gridElement {
	background: radial-gradient(ellipse at top left, hsl(212, 5%, 22%) 50%, hsl(212, 5%, 15%));
}
.gridElement:not(:empty) {
	padding: 1rem;
}

.fillGridElements::after,
.fillGridElements::before {
	content: "";
	background: radial-gradient(ellipse at top left, hsl(212, 5%, 22%) 50%, hsl(212, 5%, 15%));
}
.fillGridElements::before {
	order: 99999;
}

.article {
	background-color: var(--site-background-medium);
	border-radius: 20px;
	box-shadow: var(--box-shadow-dark);
}
.article img {
    max-width: 100%;
}

.formNote {
	color: var(--color-primary-dim);
	font-size: 0.9rem;
	margin: 0.5em 0;
}

.titleImageArticle {
	display: flex;
	flex-direction: column;
	justify-content: space-between;

	background: linear-gradient(var(--direction, to bottom right), hsl(212, 0%, 0%, 0.8), hsl(212, 0%, 0%, 0.0) var(--gradientSize, 75%)), var(--titleBgUrl) center/cover;
	box-shadow: var(--box-shadow);
	height: 50vw;
	max-height: 420px;

	text-shadow: 0 0 0.3em hsl(0, 0%, 0%);
	color: var(--color-primary);
}
a.titleImageArticle:hover {
	text-decoration: none;
}
a.titleImageArticle:hover > :first-child {
	text-decoration: underline;
}

.titleImageSubmenu {
	position: relative;

	--direction: to right;
	--gradientSize: clamp(65%, 50vw + 120px, min(90%, 620px));
	height: auto;
	max-height: none;
	max-width: var(--std-content-max-width);
	margin: 20px auto;
}
.titleImageSubmenu > :first-child {
	height: 30vw;
	max-height: 250px;
	min-height: 100px;
	padding-left: 25px;
	font-size: clamp(1.7rem, 4vw + 0.5rem, 3rem)
}


.joinFeatures {
	padding-block: 25px;
}
.joinFeatures :first-child {
	margin-top: 0;
}
.joinFeatures .tiles {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.joinFeatures .tiles > * {
	min-width: 140px;
	flex-basis: 140px;
	flex-grow: 1;
}
.joinFeatures .feature-icon {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	gap: 1rem;
	font-size: clamp(1rem, 0.8rem + 1vw, 1.2rem);
	white-space: nowrap;
	color: var(--color-primary);
}
.joinFeatures .feature-icon .icon {
	border: 2px solid var(--card-border-light);
	border-radius: 50%;
	width: 80px;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.joinFeatures .feature-cta {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	padding: 0 .5rem;
}
.joinFeatures .pillButton {
	border-radius: 100vw;
	background-color: hsl(212, 60%, 25%);
	color: var(--color-primary);
	text-align: center;
	padding: 0.5em 1em;
}


.privilegeList {
	border-radius: 20px;
	overflow: hidden;
}
.privilegeList .privilege {
	color: var(--color-primary-dim);
	font-size: 0.8rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.privilegeList .deletePrivilege {
	font-size: 1.25rem;
}
.privilegeList ~ section .addPrivilege {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}




.sidebar {
	width: 300px;
	padding: 10px 0 25px 25px;
	border-left: 1px solid var(--card-border-light);
	background: var(--textbox-sidebar-background);
	color: hsl(212, 40%, 90%);
	float: right;
	position: relative;
	top: -10px;
}
@media (max-width: 500px) {
	.sidebar {
		width: 100%;
		float: none;
		top: 0px;
		left: -1vw;
	}
}
.sidebar h2 {
	border-bottom: 1px solid var(--card-border-light);
}


.tabRadio {
	appearance: none;
}
.tabRadio + label {
	display: inline-block;
	margin-bottom: 1rem;
	margin-right: 1rem;
	cursor: pointer;
}
.tabRadio:checked + label {
	color: var(--color-highlight);
}
.tabRadio:not(:checked):nth-of-type(1) ~ .tabs .tab:nth-child(1),
.tabRadio:not(:checked):nth-of-type(2) ~ .tabs .tab:nth-child(2),
.tabRadio:not(:checked):nth-of-type(3) ~ .tabs .tab:nth-child(3),
.tabRadio:not(:checked):nth-of-type(4) ~ .tabs .tab:nth-child(4),
.tabRadio:not(:checked):nth-of-type(5) ~ .tabs .tab:nth-child(5) {
	display: none;
}


.teamList {
	max-width: var(--std-content-max-width);
	margin: 0 auto;

	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 1rem;
}

.teamList .team {
	background: linear-gradient(var(--direction, to bottom right), hsl(212, 0%, 0%, 0.8), hsl(212, 0%, 0%, 0.0) var(--gradientSize, 75%)), var(--titleBgUrl) center/cover;
	aspect-ratio: 16 / 9;
	padding: 1rem;
}













img {
    border: none;
}
table {
    table-layout:fixed;
    border-width:0px;
}

p {
    padding: 0px 5px;
}

h1 {
    font-size: 1.7em;
    font-weight: bold;
}
h2 {
    font-size: 1.4em;
    font-weight: bold;
}
h3 {
    font-size: 1.3em;
    font-weight: bold;
    margin-top: 1.5em;
    margin-bottom: 0.25em;
}

hr {
    border: 0;
    height: 1px;
    background: linear-gradient(to right, hsl(212, 100%, 50%, 0.2), hsl(212, 100%, 50%, 0.5), hsl(212, 100%, 50%, 0.2));
}
hr.spacer {
    clear: both;
    margin-top: 30px;
    margin-bottom: 30px;
}

blockquote {
    background-color: hsl(212,0%,20%);
    border-left: 2px solid hsl(212,0%,50%);
    margin: 16px 20px;
    padding: 0.1px 20px;
}

.clearFloat:after {
    content: "";
    display: block;
    clear: both;
    visibility: hidden;
    height: 0;
 }

input[type="text"],
input[type="email"],
textarea {
    background-color: hsl(212,0%,23%);
    color:inherit;
    border: 1px solid hsl(212,0%,23%);
    padding:5px;
}
input[type="text"],
input[type="email"] {
    width: 100%;
    max-width: 300px;
}
input[type="text"].number {
    max-width: 100px;
}
textarea {
    height: 10em;
    width: 90%;
    width: calc(100% - 12px);
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
textarea::placeholder {
    color:#888888;
    font-style: italic;
}
a.button {
    text-decoration: none;
    font-size: 0.8em;
}
button[type="button"],
a.button {
    background:linear-gradient(to bottom, hsl(212,0%,27%), hsl(212,0%,20%));
    border: 1px solid hsl(212,0%,30%);
    border-radius: 5px;
    color:inherit;
    padding:5px;
}
button[type="button"]:active,
a.button:active {
    background:linear-gradient(to bottom, hsl(212,0%,25%), hsl(212,0%,20%));
}
input[type="submit"],
button[type="submit"],
button[type="button"].next,
a.button.next {
    background:linear-gradient(to bottom, hsl(212,40%,45%), hsl(212,40%,35%));
    border: 1px solid hsl(212,0%,20%);
    border-radius: 8px;
    color:inherit;

    padding:10px 20px;
}
input[type="submit"]:active,
button[type="submit"]:active,
button[type="button"].next:active,
a.button.next:active {
    background:linear-gradient(to bottom, hsl(212,40%,40%), hsl(212,40%,35%));
}
input[type="submit"].destructive,
button[type="submit"].destructive,
a.button.destructive {
    background:linear-gradient(to bottom, hsl(0,70%,45%), hsl(0,70%,35%));
}
input[type="submit"].destructive:active,
button[type="submit"].destructive:active,
a.button.destructive:active {
    background:linear-gradient(to bottom, hsl(0,70%,40%), hsl(0,70%,35%));
}
select {
    background-color: hsl(212,0%,23%);
    color:inherit;
    border: none;
    padding:5px;
    width: 200px;
    border-radius: 5px;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
}
.select-wrapper {
    position: relative;
    display:inline-block;
}
.select-wrapper:before {
  content: "\25BE";
  font-size: 1em;

  position: absolute;
  right: 10px;
  top: 0px;
  color: #bbbbbb;
}


#header {
    width: 100%;
    border: 0px solid var(--menu-border);
    border-bottom-width: 1px;
    background-color:var(--menu-background);
}
#header .headerContent {
    left: 0;
    right: 0;
    max-width: 950px;
    margin: 0 auto;
}
@media (max-width: 700px) {
    #header .headerContent .smallMenu {
        font-size: 0.8em;
    }
    #header .headerContent .bigScreen {
        display:none;
    }
}
@media (min-width: 700px) {
    #header .headerContent .smallMenu {
        display:none;
    }
}

#header ul {
    list-style-type: none;
    margin:0px;
    padding:0px;
}
#header ul li {
    float:left;
}
#header ul li.right {
    float:right;
}
#header ul li a {
    display:table-cell;
    margin:0;
    padding: 0 15px 0 15px;
    height: 3.5em;
    text-decoration:none;
	color: var(--color-menu);
    vertical-align: middle;
	transition: background-color 400ms;
}

#header ul li a:hover {
    background-color:hsl(212, 35%, 25%);
	transition: background-color 100ms;
}
#header ul li a img {
    top: 0;
    bottom: 0;
    margin:auto 0;
    padding:0;
    border-width:0px;
    vertical-align: middle;
}
#header ul li a.homeItem {
    position:relative;
    padding-left: 40px;
}
#header ul li a img.siteicon {
    position:absolute;
    bottom:0px;
    top:0px;
    margin: auto 0;
    left:15px;
    height:32px;
}
#header ul li a.homeItemGeneral {
    position:relative;
    padding-left: 100px;
    letter-spacing: 2px;
    text-transform: uppercase;
}
#header ul li a img.siteiconGeneral {
    position:absolute;
    bottom:0px;
    top:0px;
    margin: auto 0;
    left:15px;
    height:56px;
}



#footer {
    width: 100%;
    border: 0px solid hsl(212, 35%, 35%);
    border-top-width: 1px;
    background-color:hsl(212,15%,15%);
    margin:auto auto 0px auto;

    font-size: 0.7em;
    color: #aaaaaa;
}
#footer .footerContent {
    left: 0;
    right: 0;
    max-width: 950px;
    margin: 0 auto;
    padding: 25px 0px;
}
@media (max-width: 700px) {
    #footer .bigScreen {
        display:none;
    }
    #footer .smallScreen {
        text-align: center;
    }
    #footer .smallScreen .footerHeading {
        font-weight: bold;
        line-height: 200%;
    }
    #footer .smallScreen a {
        margin: 5px;
        white-space: nowrap;
    }
}
@media (min-width: 700px) {
    #footer .smallScreen {
        display:none;
    }
}
#footer .footerContent.tally {
    text-align: center;
}
#footer .footerContent.tally a {
    margin: auto 20px;
}
#footer .footerContent.tally .footerHeading {
    font-weight: bold;
}
#footer .footerContent .column {
    float: left;
    padding: 0px 25px;
    width: 200px;
    line-height: 200%;
}
#footer .footerContent .rightcolumn {
    float:right;
    padding:0px 25px;

    line-height:200%;
    text-align:right;
}
#footer .footerContent .column:first-line {
    font-weight:bold;
}
#footer .footerContent .column .footericon,
#footer .footerContent .column .footerSiteicon {
    height:auto;
    width:auto;
    vertical-align:top;
    position:relative;
}
#footer .footerContent .column .footericon {
    max-height: 35px;
}
#footer .footerContent .column .footerSiteicon {
    float: left;
    margin-right:10px;
}
#footer .footerContent .ultiversumLogo {
    max-width: 300px;
    float: right;
}

#footer a {
    color: #aaaaaa;
}
#footer .footerContent .column a:hover {
    color: #0795fc;
}


ul.submenu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;

    list-style-type: none;
    margin:0px;
    padding:0px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	background-color: hsl(212, 15%, 15%, 0.65);
}
ul.submenu li:not(.right) + li.right {
    margin-left: auto;
}
ul.submenu li a {
    display:block;
    margin:0;
    line-height: 3em;
	padding: 0 clamp(5px, 2vw, 15px);
    text-decoration:none;
    color: var(--color-menu);
    border-bottom: 2px solid transparent;
	transition: background-color 400ms;
}
ul.submenu li a:hover,
ul.submenu li.current a:hover {
	background-color:hsl(212, 100%, 50%, 0.2);
	transition: background-color 100ms;
}
ul.submenu li.current a {
    border-bottom: 2px solid var(--card-border-light);

}
ul.submenu li a img {
    margin:0;
    padding:0;
    border-width:0px;
    vertical-align:top;
}

#content {
    padding: 20px 0;
    flex-grow: 1;
}

.adminFlair {
    font-size: 0.7em;
    color: #00ffff;
}


img.infoTeaser {
    box-shadow: 0 0 3px 3px #333333;
    border-radius: 10px;
}
.infoCta {
	margin-block: 3em;
}
@media (max-width: 500px) {
    img.infoTeaser {
        width: 95vw;
        width: calc(100vw - 20px);
        margin: inherit 7px;
    }
}
@media (min-width: 500px) {
    img.infoTeaser {
        max-width: 60%;
    }
    img.infoTeaserRight {
        float: right;
        margin-left: 20px;
    }
    img.infoTeaserLeft {
        float: left;
        margin-right: 20px;
    }
}

table.massCreateCodes td.code {
    font-family: "Roboto Mono", monospace;
}
table.massCreateCodes td {
    padding: 10px 20px 0px;
}
table.massCreateCodes tr + tr.additional td {
    padding: 0px 20px 0px;
}
table.massCreateCodes tr:first-child td {
    padding: 0px 20px 0px;
}
a.codeFoundLink {
    display: inline-block;
    background: hsl(212,0%,17%);

	font-size: 1.25em;
	color: #bbbbbb;
	padding: 0.5em 1em 0.5em 1.25em;
	text-decoration: none;
}
a.codeFoundLink img {
	position: relative;
	vertical-align: middle;
	max-height: 3.5em;
}
li.codeFoundItem + li.codeFoundItem {
    margin-top: 20px;
}


.circleTeamLeft {
    transform-origin:right;
    text-align:right;
	transform: rotate(calc(var(--angle) * 1deg)) translateX(calc(var(--distance, 60) * -1px));

    position:absolute;
    top:250px;
    right:50%;

    padding:2px 5px;
    white-space: nowrap;
    overflow: hidden;
}
.circleTeamRight {
    transform-origin:left;
    text-align:left;
	transform: rotate(calc(var(--angle) * 1deg)) translateX(calc(var(--distance, 60) * 1px));

    position:absolute;
    top:250px;
    left:50%;

    padding:2px 5px;
    white-space: nowrap;
    overflow: hidden;
}

.infobox {
    background:linear-gradient(to bottom, hsl(59, 100%, 7%), hsl(59, 100%, 10%));
    border-style:solid;
    /*border-color:transparent transparent transparent rgba(255,251,1,1.0);*/
    border-color:hsl(59, 100%, 35%) transparent;
    border-width:1px;
    padding:10px;
    text-align:center;
	max-width: var(--std-content-max-width);
    margin:20px auto;
    background-clip: padding-box;
    color:hsl(59, 100%, 35%);
}

.infobox.success {
	color:hsl(120, 100%, 35%);
	border-color:hsl(120, 100%, 35%) transparent;
    background:linear-gradient(to bottom, hsl(120, 100%, 7%), hsl(120, 100%, 10%));
}
.infobox.error {
	color:hsl(0, 100%, 35%);
	border-color:hsl(0, 100%, 35%) transparent;
    background:linear-gradient(to bottom, hsl(0, 100%, 7%), hsl(0, 100%, 10%));
}


.warning {
    background:hsl(59, 100%, 15%);
    color:hsl(59, 100%, 40%);
    border: 1px solid hsl(59, 100%, 40%);
    border-width: 0 0 0 1px;
    padding: 10px;
    margin: 10px 0;
}


.copyHighlight {
	animation: copyHighlight 0.5s forwards;
}
@keyframes copyHighlight {
	0% {
		background-color: hsl(100,100%,35%, 1.0);
	}
	100% {
		background-color: hsl(100,100%,35%, 0.0);
	}
}


.excerptBox {
	display: flex;
	flex-direction: column;
	overflow-x: scroll;
}
.excerptWrapper {
	width: fit-content;
}
.excerpt {
	margin: 0 max(0px, 0.5 * (100vw - 950px));
	width: fit-content;
	display: flex;
	flex-direction: row;
	gap: 0 1em;
}
.excerptCard {
	background-color: var(--site-background-light);
	border: 1px solid var(--card-border);
	width: min(350px, 65vw);
	flex-shrink: 0;
	border-radius: 10px;
	margin-bottom: 1em;
	overflow: hidden;
}
.excerptCard h3,
.excerptCard p {
	line-height: 1.1;
	margin: 10px 15px;
	font-weight: normal;
	color: var(--color-primary);
	padding: 0;
}
.excerptCard p {
	color: var(--color-primary-dim);
}
.excerptItem {
	aspect-ratio: 9 / 4;
	background: linear-gradient(var(--direction), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), var(--titleBgUrl) center/cover;
}
@supports not (aspect-ratio: 9/4) {
	.excerptItem {
		height: min(155px, 28vw);
	}
}


/* Calendar */
.calendarMenu {
    margin: 20px 0;
}
.calendarMenu ul.submenu li a {
    padding: 5px 10px 3px 10px;
}
.calendarMenu ul.submenu .year a {
    padding: 5px 30px 3px 30px;
}

.calendarWeek {
    display: flex;
    flex-direction: row;
    background-color: hsl(212,0%,10%);
	max-width: var(--std-content-max-width);
	margin: 0 auto;
}
.calendarWeek + .calendarWeek {
    margin-top: 20px;
}
.calendarWeek .days {
    display: flex;
    flex-direction: column;
    width: 125px;
    position: relative;
    flex-shrink: 0;
    flex-grow: 0;
}
.calendarWeek .days .day {
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 0;
    padding: 0 5px;
    min-height: 4rem;
    text-align: right;
    color: #aaaaaa;
    font-size: 0.8rem;
}
.calendarWeek .days .day::first-line {
    font-weight: bold;
    font-size: 1.4rem;
}
.calendarWeek .days .day .month {
    font-size: 1.1rem;
    float: left;
}
.calendarWeek .days .day + .day {
    border-top: 1px solid hsl(212, 0%, 35%);
}
.calendarWeek .markers {
    margin: 0 10px;
    min-width: 40px;
    flex-shrink: 0;
}
.calendarWeek .markers .marker {
    position: relative;
    border-left: 3px solid transparent;
    float: left;
    margin: 0 2px;
}
@media (max-width: 750px) {
    .calendarWeek .days {
        width: 60px;
    }
    .calendarWeek .days .day {
        min-height: 5rem;
    }
    .calendarWeek .days .day .month {
        font-size: 0.9rem;
        max-width: 60px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .calendarWeek .markers {
        min-width: 20px;
    }
    .calendarWeek .markers .marker {
        margin: 0 1px;
    }
}
.calendarWeek .tournaments {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.calendarWeek .tournaments .tournament {
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 0;
    border-left: 2px solid transparent;
    padding: 10px 10px;
}
.calendarWeek .tournaments .tournament + .tournament {
    margin-top: 10px;
}
.calendarWeek .tournaments .tournament + .tournament .divider {
    position: relative;
    top: -15px;
    border-top: 1px solid hsl(212, 0%, 35%);
}

.calendarWeek .markers .marker:nth-child(7n+1),
.calendarWeek .tournaments .tournament:nth-child(7n+1) {
    border-left-color: hsl(180, 98%, 25%);
}
.calendarWeek .markers .marker:nth-child(7n+2),
.calendarWeek .tournaments .tournament:nth-child(7n+2) {
    border-left-color: hsl(0, 100%, 25%);
}
.calendarWeek .markers .marker:nth-child(7n+3),
.calendarWeek .tournaments .tournament:nth-child(7n+3) {
    border-left-color: hsl(120, 100%, 20%);
}
.calendarWeek .markers .marker:nth-child(7n+4),
.calendarWeek .tournaments .tournament:nth-child(7n+4) {
    border-left-color: hsl(273, 100%, 30%);
}
.calendarWeek .markers .marker:nth-child(7n+5),
.calendarWeek .tournaments .tournament:nth-child(7n+5) {
    border-left-color: hsl(66, 100%, 25%);
}
.calendarWeek .markers .marker:nth-child(7n+6),
.calendarWeek .tournaments .tournament:nth-child(7n+6) {
    border-left-color: hsl(200, 100%, 25%);
}
.calendarWeek .markers .marker:nth-child(7n+7),
.calendarWeek .tournaments .tournament:nth-child(7n+7) {
    border-left-color: hsl(40, 100%, 25%);
}

.calendarWeek .tournaments .tournament .name {
    font-size: 1.2rem;
    margin-bottom: 5px;
    display: inline-block;
}

.calendarInfoRow {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}
.calendarInfoRow .info {
    flex-grow: 1;
    flex-shrink: 0;
    font-size: 0.9rem;
    color: #cccccc;
    padding: 0;
    margin: 0;
}
.calendarInfoRow .info.text.long {
    flex-basis: 150px;
}
.calendarInfoRow .info.text.short {
    display: none;
    width: 50%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}
.calendarInfoRow .info.text.short:nth-child(even) {
    padding-right: 10px;
}
.calendarInfoRow .info.division {
    flex-basis: 110px;
}
@media (max-width: 500px) {
    .calendarInfoRow .info.text.long {
        display: none;
    }
    .calendarInfoRow .info.text.short {
        display: initial;
    }
}

.calendarDetail table {
    margin: 20px 0;
}
.calendarDetail td.key,
.calendarDetail td.value {
    font-size: 0.9rem;
}
.calendarDetail td.key {
    padding: 5px 5px 5px 0;
}
.calendarDetail td.value {
    padding: 5px;
}
/* End calendar */

/* Player-Count */
.playerCount {
    display: table-cell;
    width: 60px;
    height: 40px;
    text-align: center;
    vertical-align: middle;
    color: black;
}
/* End Player-Count */

/* Gender-Box */
.genderBox {
    display: inline-block;
    border-style: solid;
    border-width:9px 5px;
    /* nicer rendering if scaling is used */
    transform: scale(0.9) translateY(5px);
}
.genderBox.mixed {
    border-bottom-color: hsl(200, 100%, 30%);
    border-right-color: hsl(200, 100%, 30%);
    border-top-color: hsl(330, 100%, 30%);
    border-left-color: hsl(330, 100%, 30%);
}
.genderBox.female {
    border-color: hsl(330, 100%, 30%);
}
.genderBox.male {
    border-color: hsl(200, 100%, 30%);
}
/* End Gender-Box */

/* Field */
.field {
    background:linear-gradient(to bottom, hsl(120,100%,9%), hsl(120,100%,12%));
    width: 45px;
    padding:3px;
    text-align:center;
    position:relative;
    border:1px solid hsl(120,100%,20%);
    /*color:hsl(120,0%,85%);*/
    vertical-align:middle;
}
.field.beach {
    background:linear-gradient(to bottom, hsl(60,100%,12%), hsl(60,100%,15%));
    border:1px solid hsl(60,100%,23%);
}
.field.indoor {
    background:linear-gradient(to bottom, hsl(60,0%,18%), hsl(60,0%,25%));
    border:1px solid hsl(60,0%,35%);
}
.field div.endzoneLeft,
.field div.endzoneRight {
    position:absolute;
    top:0;
    height:100%;
    width:15%;
    /*background:linear-gradient(to bottom, hsl(212,100%,25%), hsl(212,100%,30%));*/
    background:linear-gradient(to bottom, hsl(120,100%,12%), hsl(120,100%,15%));
    border:0px solid hsl(120,100%,22%);
}
.field.beach div.endzoneLeft,
.field.beach div.endzoneRight {
    background:linear-gradient(to bottom, hsl(60,100%,15%), hsl(60,100%,18%));
    border:0px solid hsl(60,100%,25%);
}
.field.indoor div.endzoneLeft,
.field.indoor div.endzoneRight {
    background:linear-gradient(to bottom, hsl(60,0%,23%), hsl(60,0%,30%));
    border:0px solid hsl(60,0%,38%);
}
.field div.endzoneLeft,
.field.beach div.endzoneLeft,
.field.indoor div.endzoneLeft {
    left:0;
    border-right-width:1px;
}
.field div.endzoneRight,
.field.beach div.endzoneRight,
.field.indoor div.endzoneRight {
    right:0;
    border-left-width:1px;
}

/* End field */


table.spiritSubmissions tr:nth-of-type(even) > td {
    background-color:hsl(212,5%,20%);
}
table.spiritSubmissions tr:nth-of-type(odd) > td {
    background-color:hsl(212,5%,17%);
}
table.spiritSubmissions tr > th {
    background-color:hsl(212,5%,25%);
}
table.spiritSubmissions td,
table.spiritSubmissions th {
    padding: 15px;
}
table.spiritSubmissions th {
	position: sticky;
	top: 0;
}
table.spiritSubmissions .submissionCount {
	color: #808080;
	font-size: 0.8rem;
}
table.spiritSubmissions.trashed td:not(.actions) {
	text-decoration: line-through;
}

.sortSpirit {
	display: inline-block;
	background-color: hsl(212, 0%, 17%);
}
.sortSpirit .buttons {
	display: flex;
}
.sortSpirit a {
	display: inline-block;
	padding: 10px;
}
.sortSpirit span {
	display: inline-block;
	padding: 10px;
}
.sortSpirit a {
	background-color: hsl(212, 0%, 22%);
	border-bottom: 1px solid transparent;
}
.sortSpirit a.active {
	font-weight: bold;
	border-bottom-color: hsl(212, 0%, 50%);
}

.spiritOpponents {
	display: flex;
	flex-direction: column;
	width: max-content;
	gap: 0.5em;
}
.spiritOpponent {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	background-color: hsl(212, 0%, 17%);
	padding: 0.5em 1em;
	height: 4rem;
	min-width: 180px;
	max-width: calc(100vw - 3rem);
	box-sizing: border-box;
}
.spiritOpponent::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	border: 2rem solid transparent;
	border-right-width: 0;
	border-left-color: hsl(212, 0%, 17%);
}
.spiritOpponent.sotg::after {
	content: "SOTG \2718\FE0E";
	position: absolute;
	top: 0;
	right: 0;
	font-size: 0.8rem;
	color: #606060;
}
.spiritOpponent.sotg.sotgDone::after {
	content: "SOTG \2714\FE0E";
	color: hsl(120,100%,35%);
}
.spiritOpponent.sotg.sotgDone::before {
	border-left-color: hsl(120, 100%, 10%);
}
.spiritOpponent.sotg.sotgDone {
	background-color: hsl(120, 100%, 10%);
}
.spiritOpponent .time {
	color: #888888;
	font-size: 0.8rem;
}


.spiritCard {
	position: relative;
	margin-block: 10px;
	background-color: hsl(212, 0%, 17%);
	border-radius: 5px;
}
.spiritCard.trashed > :not(.actions) {
	text-decoration: line-through;
}
.spiritCard .from {
	position: relative;
	background-color: hsl(212, 0%, 17%);
	padding: 10px 10px 0 10px;
	border-radius: 5px 5px 0 0;
}
.spiritCard .to {
	position: relative;
	background-color: hsl(212, 0%, 20%);
	padding: 0 10px 10px 10px;
	border-radius: 0 0 5px 5px;
}
.spiritCard .from::before,
.spiritCard .to::before {
	content: attr(data-title);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: hsl(212, 0%, 90%, 0.1);
	font-weight: bold;
	font-size: 2.5rem;
	pointer-events: none;
}
.spiritCard .to .team {
	text-align: right;
}
.spiritCard .spirit {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: center;
	gap: 1rem;
	line-height: 1.0;
}
.spiritCard .spirit .total {
	font-size: 2.5rem;
}
.spiritCard .spirit .categories {
	font-size: 0.8rem;
	color: #808080;
	letter-spacing: 0.5ch;
	white-space: nowrap;
}
.spiritCard .submissionDetails {
	display: flex;
	color: #808080;
	font-size: 1rem;
}
.spiritCard .submissionDetail {
	position: relative;
	margin-top: 1rem;
	flex-grow: 1;
}
.spiritCard .time,
.spiritCard .time::before {
	text-align: right;
}
.spiritCard .time::before {
	right: 0;
	padding-left: 2rem;
}
.spiritCard .code::before {
	padding-right: 2rem;
}
.spiritCard .submissionDetail::before {
	content: attr(data-title);
	position: absolute;
	top: 0;
	font-size: 0.8rem;
	transform: translateY(-100%);
	border-bottom: 1px solid #404040;
}
.spiritCard .scoreBox {
	position: relative;
	background: linear-gradient(to bottom right, hsl(212, 0%, 17%) 45%, hsl(212, 0%, 20%) 55%);
	text-align: center;
}
.spiritCard .score {
	margin-inline: 1.5rem;
}
.spiritCard .comments {
	color: #bbbbbb;
	font-size: 0.8rem;
	padding: 10px;
}
.spiritCard input[type="checkbox"] {
	display: none;
}
.spiritCard input[type="checkbox"]:not(:checked) + .actions {
	display: none;
}
.spiritCard .more {
	position: absolute;
	bottom: 10px;
	right: 10px;
	line-height: 0.4;
	cursor: pointer;
	color: var(--color-destructive);
}
.spiritCard .actions {
	padding: 10px 10px 10px 10px;
	text-align: right;
}
.spiritCard .comments + input + .actions {
	padding-top: 0;
}


.multiSpiritHeading::before {
	content: attr(data-title);
	color: var(--color-primary-dim);
	font-size: 0.8em;
	margin-inline: 0.5ch 1ch;
}
.multiSpiritCard {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	border-radius: 10px;
	overflow: hidden;
}
.multiSpiritCard .entry {
	position: relative;
	display: grid;
	align-content: start;
	grid-template-areas: "name total" "categories total" "categories_self total_self" "comments comments";
	grid-template-columns: 1fr max-content;
	padding: 1rem;
	background: radial-gradient(ellipse at top left, hsl(212, 5%, 22%) 50%, hsl(212, 5%, 15%));
}
.multiSpiritCard .entry.average .total,
.multiSpiritCard .entry.average .opponent {
	color: var(--color-highlight);
}
.multiSpiritCard .entry.average .categories,
.multiSpiritCard .entry.average .opponent::before,
.multiSpiritCard .entry.average .submissionCount {
	color: var(--color-highlight-dim);
}
.multiSpiritCard .total {
	grid-area: total;
	font-size: 2.5rem;
	line-height: 1;
	margin-top: 0.5rem;
	align-self: end;
	display: grid;
	align-items: baseline;
}
.multiSpiritCard .categories {
	grid-area: categories;
	font-size: 0.8rem;
	color: var(--color-primary-dim);
	word-spacing: 1ch;
	white-space: nowrap;
	text-align: end;
	line-height: 1;
	margin-top: 0.5rem;
	margin-right: 1ch;
	display: grid;
	align-items: baseline;
}
.multiSpiritCard .categories.self {
	grid-area: categories_self;
	align-items: start;
}
.multiSpiritCard .total.self {
	grid-area: total_self;
	align-items: start;
}
.multiSpiritCard .opponent {
	grid-area: name;
	line-height: 1em;
	height: 1em;
}
.multiSpiritCard .opponent::before {
	content: attr(data-title);
	color: var(--color-primary-dim);
	font-size: 0.8rem;
	margin-right: 1ch;
}
.multiSpiritCard .submissionCount {
	color: var(--color-primary-dim);
	font-size: 0.8rem;
	word-spacing: 1.5ch;
}
.multiSpiritCard .material-icons-outlined {
	vertical-align: baseline;
	position: relative;
	top: 2px;
	font-size: inherit;
}
.multiSpiritCard .comments {
	grid-area: comments;
	color: var(--color-primary-dim);
	font-size: 0.8rem;
	margin-top: 0.5rem;
}



table.gameScore td,
table.gameScore th {
    width: 60px;
    height: 60px;
    padding: 0;
    text-align: center;
}
table.gameScore tr > td.score {
    background-color:hsl(212,0%,17%);
}
table.gameScore th {
    background-color:hsl(212,0%,25%);
}
table.gameScore td.score label {
    cursor: pointer;
}
table.gameScore td.score input[type="radio"] {
    display: none;
}
table.gameScore td.score input[type="radio"] + span {
    position: relative;
    display: flex;
	align-items: center;
	justify-content: center;
    height: 60px;
    margin: 0;
    padding: 0.5em 0;

    overflow: hidden;
}
table.gameScore tr td.score input[type="radio"]:checked + span {
    background-color:hsl(212,100%,22%);
}
table.gameScore td.score input[type="radio"] + span span.value {
    font-size: 1.5em;
    position: relative;
}



table.spiritRating td,
table.spiritRating th {
    width: 75px;
    padding: 0;
    text-align: center;
}
table.spiritRating tr:nth-of-type(even) > td {
    background-color:hsl(212,0%,20%);
}
table.spiritRating tr:nth-of-type(odd) > td {
    background-color:hsl(212,0%,17%);
}
table.spiritRating th {
    background-color:hsl(212,0%,25%);
}
table.spiritRating td.spiritValue label {
    cursor: pointer;
}
table.spiritRating td.spiritValue span.annotation {
    font-size: 0.5em;
    color: #aaaaaa;
    bottom: 0.5em;
    left: 0;
    right: 0;
}
table.spiritRating td.spiritValue input[type="radio"] {
    display: none;
}
table.spiritRating td.spiritValue input[type="radio"] + span {
    position: relative;
    display: flex;
	flex-direction: column;
	margin: 0;
    padding: 0.5em 0;

    overflow: hidden;
}
table.spiritRating tr:nth-of-type(even) td.spiritValue input[type="radio"]:checked + span {
    background-color:hsl(212,100%,25%);
}
table.spiritRating tr:nth-of-type(odd) td.spiritValue input[type="radio"]:checked + span {
    background-color:hsl(212,100%,22%);
}
table.spiritRating td.spiritValue input[type="radio"] + span span.value {
    font-size: 1.5em;
    position: relative;
}
table.spiritRating td.spiritValue input[type="radio"] + span span.value span.asterisk {
    position:absolute;
}




table.poolSeedingPool {
    float: left;
    margin: 10px;
    border-spacing: 0px;
}
table.poolSeedingPool tr {
    border: 0px;
}
table.poolSeedingPool tr:nth-of-type(even) > td {
    background-color:hsl(212,0%,20%);
}
table.poolSeedingPool tr:nth-of-type(odd) > td {
    background-color:hsl(212,0%,17%);
}
table.poolSeedingPool tr.poolName > th {
    background-color:hsl(212,0%,25%);
}
table.poolSeedingPool tr.timeRow > td {
    /*background:linear-gradient(to bottom, hsla(212,0%,25%,0.0), hsl(212,0%,25%));*/
    padding:27px 5px 3px 5px;
}
table.poolSeedingPool td,
table.poolSeedingPool th {
    background-clip: padding-box;
    padding:15px 15px;
    text-align: center;
    min-width: 150px;
}
table.poolSeedingPool th {
    letter-spacing: 0.25em;
    word-spacing: 0.5em;
}
table.poolSeedingPool.pool1 {
    border:1px solid hsl(60,100%,25%);
}
table.poolSeedingPool.pool1 tr.poolName th {
    background-color:hsl(60,100%,12%);
    color:hsl(60,100%,35%);
    border-bottom: 1px solid hsl(60,100%,25%);
}
table.poolSeedingPool.pool2 {
    border:1px solid hsl(300,100%,20%);
}
table.poolSeedingPool.pool2 tr.poolName th {
    background-color:hsl(300,100%,12%);
    color:hsl(300,100%,35%);
    border-bottom: 1px solid hsl(300,100%,20%);
}
table.poolSeedingPool.pool3 {
    border:1px solid hsl(181,100%,20%);
}
table.poolSeedingPool.pool3 tr.poolName th {
    background-color:hsl(181,100%,12%);
    color:hsl(181,100%,35%);
    border-bottom: 1px solid hsl(181,100%,20%);
}
table.poolSeedingPool.pool4 {
    border:1px solid hsl(100, 100%, 20%);
}
table.poolSeedingPool.pool4 tr.poolName th {
    background-color:hsl(100,100%,12%);
    color:hsl(100,100%,35%);
    border-bottom: 1px solid hsl(100,100%,20%);
}
table.poolSeedingPool.pool5 {
    border:1px solid hsl(270, 100%, 30%);
}
table.poolSeedingPool.pool5 tr.poolName th {
    background-color:hsl(270,100%,12%);
    color:hsl(270,100%,55%);
    border-bottom: 1px solid hsl(270,100%,20%);
}


td table.gamesTest2 {
    margin:auto;
    left:0;
    right:0;
}
table.gamesTest2 td.gameField {
    background:linear-gradient(to bottom, hsl(120,100%,9%), hsl(120,100%,12%));
    height:1em;
    width: 45px;
    padding:3px;
    text-align:center;
    position:relative;
    border:1px solid hsl(120,100%,20%);
    /*color:hsl(120,0%,85%);*/
    vertical-align:middle;
}
@media (max-width: 650px) {
    table.gamesTest2 td.gameField {
        height: 2em;
        width:1em;
        background:linear-gradient(to right, hsl(120,100%,9%), hsl(120,100%,12%));
    }
    table.gamesTest2 td.gameField div.endzoneLeft,
    table.gamesTest2 td.gameField div.endzoneRight {
        position:absolute;
        left:0;
        width:100%;
        height:15%;
        /*background:linear-gradient(to bottom, hsl(212,100%,25%), hsl(212,100%,30%));*/
        background:linear-gradient(to right, hsl(120,100%,12%), hsl(120,100%,15%));
        border:0px solid hsl(120,100%,22%);
    }
    table.gamesTest2 td.gameField div.endzoneLeft {
        top:0;
        border-bottom-width:1px;
    }
    table.gamesTest2 td.gameField div.endzoneRight {
        bottom:0;
        border-top-width:1px;
    }
}
@media (min-width: 650px) {
    table.gamesTest2 td.gameField {
        height: 1em;
        width:45px;
    }
    table.gamesTest2 td.gameField div.endzoneLeft,
    table.gamesTest2 td.gameField div.endzoneRight {
        position:absolute;
        top:0;
        height:100%;
        width:15%;
        /*background:linear-gradient(to bottom, hsl(212,100%,25%), hsl(212,100%,30%));*/
        background:linear-gradient(to bottom, hsl(120,100%,12%), hsl(120,100%,15%));
        border:0px solid hsl(120,100%,22%);
    }
    table.gamesTest2 td.gameField div.endzoneLeft {
        left:0;
        border-right-width:1px;
    }
    table.gamesTest2 td.gameField div.endzoneRight {
        right:0;
        border-left-width:1px;
    }
}


div.games div.row {
    position:relative;
}

div.games div.row .game,
div.games div.row .time,
div.games div.row .gameField {
    width: 155px;
    text-align:center;
    padding:5px;
    margin:5px;
    background:linear-gradient(to bottom, hsl(212,0%,20%), hsl(212,0%,25%));
    float:left;
    height:100%;
}
div.games div.row .empty {
    width: 75px;
    text-align:center;
    padding:5px;
    margin:5px;

    float:left;
}
div.games div.row .time {
    width: 75px;
}


#gameScoreEditPopup {
    background-color: hsl(212,0%,15%);

    width: 200px;
    padding: 10px;

    position: absolute;
    border-radius: 10px;
    border: 2px solid hsl(212,0%,25%);
    text-align: center;
    display:none;
    z-index:2;
}
#gameScoreEditPopup div.boxArrow {
    background-color:hsl(212,0%,15%);
    width:20px;
    height:20px;
    transform: rotate(45deg);
    position: absolute;
    bottom: -12px;
    left: 0px;
    right:0px;
    margin:0 auto;
    z-index: 1;
    border: 2px solid hsl(212,0%,25%);
    border-width: 0 2px 2px 0;
}
#gameScoreEditPopup table {
    margin:auto;
}
#gameScoreEditPopup td {
    text-align: center;
    min-width: 20px;
}
#gameScoreEditPopup input[type="text"] {
    width:50px;
    height:20px;
    padding:3px;

    text-align: center;
}
#gameScoreEditPopup button[type="button"] {
    width:50px;
    height:20px;
    padding:3px;
    box-sizing: content-box;
}
#gameScoreEditPopup input[type="submit"] {
    position: relative;
    width:75px;
    height:30px;
    padding:3px;
    box-sizing: content-box;

    z-index: 2;
    margin-top: 10px;
}


table.games {
    border-collapse:collapse;
}
@media (max-width: 650px) {
    table.games {
        font-size: 0.9rem;
    }
}
@media (max-width: 400px) {
    table.games {
        font-size: 0.8rem;
    }
}
table.games td,
table.games th {
    border:2px solid transparent;
    background-clip: padding-box;
    padding:15px 5px;
}
table.games th {
    font-weight:bold;
}
table.games tr.tableSplit > td {
    background-color:transparent;/*hsl(0,0%,30%);*/
    height:2px;
    padding:0px;

}
table.games tr.gameRow:nth-of-type(even) > td {
    background-color:hsl(212,0%,20%);
}
table.games tr.gameRow:nth-of-type(odd) > td {
    background-color:hsl(212,0%,17%);
}
table.games tr.heading > th {
    background-color:hsl(212,0%,25%);
}
table.games tr.timeRow > td {
    /*background:linear-gradient(to bottom, hsla(212,0%,25%,0.0), hsl(212,0%,25%));*/
    padding:27px 5px 3px 5px;
}
table.games tr.gameRow > td.highlighted {
    background-color:hsl(59,100%,15%);
    color:hsl(59,100%,50%);
}
table.games tr.gameRow > td.rank {
    font-weight:bold;
    background-color:hsl(212,0%,25%);
    text-align:center;
    width:75px;
}
table.games .divisor,
table.games .points,
table.games .wins,
table.games .loss {
    border-width:2px 0px 2px 0px;
}
table.games .ties {
    border-style:solid dotted;
    border-width:2px 1px;
}
table.games .divisor .scoreExtraInfo {
    position: absolute;
    left: 50%;
    bottom: 1px;
    margin-left: -35px;
    width: 70px;

    font-size: 0.5em;
    text-align: center;
    color: #777777;
}

table.games .wins,
table.games .loss,
table.games .ties {
    width:35px;
    text-align:center;
}
table.games .diff {
    width:45px;
    text-align:center;
    padding: 0 5px;
}
table.games .diff .diffExtra {
    font-size: 0.7em;
    color:#808080;
}
table.games .nextUp {
    text-align:center;
    width:100px;
}
table.games td.nextUp {
    border-top-width:0;
    border-bottom-width:0;

}
table.games .timeRow .time {
    width:75px;
    background-color:transparent;
}
table.games tr > td.fielda {
    width:85px;
    text-align:center;
    padding:0;
    /*background-color:transparent;*/
}
table.games .gameID {
    text-align:center;
    width:85px;
}
table.games tr.gameRow > td.middlePool2,
table.games tr.gameRow > td.pool1 {
    background-color:hsl(60,100%,12%);
    color:hsl(60,100%,35%);
}
table.games tr.gameRow > td.pool2 {
    background-color:hsl(300,100%,12%);
    color:hsl(300,100%,35%);
}
table.games tr.gameRow > td.pool3 {
    background-color:hsl(181,100%,12%);
    color:hsl(181,100%,35%);
}
table.games tr.gameRow > td.pool4 {
    background-color:hsl(100,100%,12%);
    color:hsl(100, 100%, 35%);
}
table.games tr.gameRow > td.pool5 {
    background-color:hsl(270,100%,12%);
    color:hsl(270,100%,55%);
}
table.games tr.gameRow > td.upperPool {
    background-color:hsl(340,100%,12%);
    color:hsl(340,100%,35%);
}
table.games tr.gameRow > td.middlePool {
    background-color:hsl(120,100%,12%);
    color:hsl(120,100%,35%);
}
table.games tr.gameRow > td.roundRobin,
table.games tr.gameRow > td.lowerPool {
    background-color:hsl(181,100%,12%);
    color:hsl(181,100%,35%);
}
table.games .team {
    width:250px;
    text-align:center;
	position: relative;
}
table.games .unknownTeam {
    color:#808080;
}
table.games .points {
    width:25px;
    text-align:center;
}
table.games .divisor {
    position:relative;
    text-align:center;
}

table.games .sotg::after {
	content: "SOTG \2718\FE0E";
	position: absolute;
	top: 0;
	right: 0;
	font-size: 0.6em;
	color: #606060;
}
table.games .sotg:nth-child(6)::after,
table.games .sotg:nth-child(7)::after {
	left: 0;
	right: auto;
}
table.games .sotg.sotgDone::after {
	content: "SOTG \2714\FE0E";
	color: hsl(120,100%,35%);
}


.tieBreakStarExplanation {
    font-size: 0.7em;
    color:#808080;
}


.spiritSubmissionSettings {
	background-color:hsl(212,0%,17%);
	display: flex;
	flex-direction: column;
	gap: 0.7em;
	padding: 0.7em 1em;
}
.spiritSubmissionSettings label {
	display: block;
	cursor: pointer;
}
.spiritSubmissionSettings input[type="radio"] {
	display: none;
}
.spiritSubmissionSettings input[type="radio"] + span {
	display: block;
	border: 1px solid transparent;
}
.spiritSubmissionSettings input[type="radio"] + span::before {
	content: "\25B6\FE0E";
	display: inline-block;
	min-width: 2em;
	font-size: 0.8em;
}
.spiritSubmissionSettings input[type="radio"]:not(:checked) + span::before {
	content: "\25B7\FE0E";
	color: hsl(212,0%,40%);
}
.spiritSubmissionSettings .buttons {
	text-align: right;
}



.tallySheetFloatBox {
    box-sizing: border-box;
	aspect-ratio: 2.2;
    padding: clamp(3px, 2vw, 10px);
}
@supports not (aspect-ratio: 2.2) {
	.tallySheetFloatBox {
		min-height: 4.5rem;
	}
}

.tallySheetTeam {
    color:white;
    background-color: hsl(212,0%,10%);
}

.tallySheetPlayer {
    color:#dddddd;
    background-color: hsla(212,0%,0%, 0.7);

}

.tallySheetAddPlayer {
    padding: 8px;
    color: var(--color-primary-dim);
    background-color: var(--site-background-light);

    font-size: 2.2em;
    display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
    border: 2px solid var(--card-border);
}
.tallySheetAddPlayer:hover {
    text-decoration: none;
}


.tallySheetTeamBGBox {
    overflow: hidden;
    position:relative;
    min-height:250px;
}
.tallySheetTeamBG {
    -webkit-filter: blur(10px);
   -moz-filter: blur(10px);
   -o-filter: blur(10px);
   -ms-filter: blur(10px);
   filter: blur(10px);

   position:absolute;
   top:-10px;
   left:-10px;
   bottom:-10px;
   right:-10px;
   z-index: -1;
}
.tallySheetTeamBGBox h2 {
    background-color:rgba(0,0,0,0.7);
    clear:both;
    margin:2em 0 0.5em 0;
    padding:10px 10px 0px 10px;
}

.tallySheetSummary {
    margin-bottom:20px;
}
.tallySheetSummary:after {
   content: "";
   display: block;
   clear: both;
   visibility: hidden;
   height: 0;
}
.tallySheetSummary div {
    float: left;
    width: 118px;
    padding:10px;
    margin:10px;
    background-color: hsl(212,0%,10%);
    white-space: nowrap;
    overflow: hidden;
    text-overflow:ellipsis;
}
@media (max-width: 950px) {
    .tallySheetSummary div {
        width:12.4vw;
        padding:1vw;
        margin:1vw;
    }
}
@media (max-width: 750px) {
    .tallySheetSummary div {
        width:16vw;
    }
}
@media (max-width: 550px) {
    .tallySheetSummary div {
        width:21vw;
    }
}
@media (max-width: 400px) {
    .tallySheetSummary div {
        width:29vw;
    }
}
.tallySheetSummary h2 a {
    font-size: 1rem;
    font-weight: normal;

    margin: auto auto auto 20px;
}
.tallySheetSummary div.deleted {
    text-decoration: line-through;
    color: #777777;
}
.tallySheetSummary div.deleted a {
    display: none;
}
.tallySheetSummary .time .deleteIcon {
    max-height: 1em;
    width: auto;
    height: auto;
    vertical-align: middle;
    margin: auto 5px auto 0;
}

#tallyItemChangeAmountPopup {
    background-color: hsl(212,0%,15%);

    width: 400px;
    padding: 10px;

    position: absolute;
    border-radius: 10px;
    border: 2px solid hsl(212,0%,25%);
    text-align: center;
    display:none;
}
#tallyItemChangeAmountPopup div.boxArrow {
    background-color:hsl(212,0%,15%);
    width:20px;
    height:20px;
    transform: rotate(45deg);
    position: absolute;
    top:0px;
    bottom: 0px;
    left: -12px;
    right:0px;
    margin:auto 0;
    z-index: 1;
    border: 2px solid hsl(212,0%,25%);
    border-width: 0 0 2px 2px;
}
#tallyAddCustomButtonRow {

}
#tallyAddCustomItemRow {
    display: none;
}

table.tallySheet .description {
    width: 250px;
}
table.tallySheet .value {
    width: 150px;
    text-align: right;
}
table.tallySheet .time {
    width: 200px;
    text-align: right;
}
table.tallySheet .edit {
    width: 350px;
    padding-left: 20px;
}
table.tallySheet .emptyList {
    font-style: italic;
    color:#777777;
}

.tallySheetItem {
    position: relative;
    background-color: var(--site-background-medium);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-content: space-around;
}
.tallySheetItem .name {
	width: 100%;
}
.tallySheetItem .name,
.tallySheetItem .price {
	color: var(--color-primary);
	text-decoration: none;
}
.tallySheetItem span.tallySheetAdd {
    bottom: 10px;
    right: 10px;
}
.tallySheetItem:hover {
    text-decoration: none;
}
.tallySheetItem:hover span.tallySheetAdd {
    text-decoration: underline;
}
.tallySheetItem span.price {
    bottom: 10px;
    left: 10px;
}
.tallySheetItem span.addedAmount {
    position: absolute;
    top: -0.5em;
    right: -0.5em;
    background-color: #777777;
    line-height: 2em;
    height: 2em;
    width: 2em;
    text-align: center;
    border-radius: 1em;
}
.tallySheetItem span.addedAmount:empty {
    display:none;
}
.tallySheetItem span.addedAmount.recorded {
    background-color: #009900;
}

@media (max-width: 950px) {
    .tallySheetItem span.tallySheetAdd {
        bottom: 1vw;
        right:1vw;
    }
    .tallySheetItem span.price {
        bottom: 1vw;
        left:1vw;
    }
}
.tallyBackToHome {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #000000;
    border: 1px solid #777777;
    font-size: 2em;
    padding: 10px;
}
.tallyBackToHomeHidden {
    display: none;
}

button.tallyButtonAmount {
    width:50px;
}
button.tallyButton {
    margin:auto 0;
    padding:5px 10px;
}

#tallySheetDefaultItemList {
    border-collapse: collapse;
}
#tallySheetDefaultItemList td.name {
    width: 300px;
}
#tallySheetDefaultItemList td.price {
    width: 100px;
    text-align: right;
}
#tallySheetDefaultItemList td.option {
    width: 200px;
}
#tallySheetDefaultItemList td.edit {
    width: 150px;
}
#tallySheetDefaultItemList td {
    padding:10px;
}
#tallySheetDefaultItemList tr:nth-of-type(even) {
    background-color:hsl(212,0%,20%);
}
#tallySheetDefaultItemList tr:nth-of-type(odd) {
    background-color:hsl(212,0%,17%);
}


/* API Documentation */
span.apiMethod {
    padding: 3px 10px;
    margin: 0 10px 0 0;
    border-radius: 5px;
    font-family: "Roboto Mono", monospace;
    font-size: 1rem;
}
span.apiMethodGET {
    background-color:hsl(120,100%,12%);
    color:hsl(120,100%,35%);
}
span.apiMethodPOST {
    background-color:hsl(210,100%,20%);
    color:hsl(210,100%,60%);
}
span.apiMethodPATCH {
    background-color:hsl(60,100%,17%);
    color:hsl(60,100%,40%);
}
span.apiMethodPUT {
    background-color:hsl(300,100%,17%);
    color:hsl(300,100%,40%);
}
span.apiMethodDELETE {
    background-color:hsl(340,100%,15%);
    color:hsl(340,100%,40%);
}
span.apiRoute {
    font-family: "Roboto Mono", monospace;
}

table.apiParameters {
    background-color: #222222;
    padding:5px;
}
table.apiParameters code {
    font-size: 0.8rem;
    font-family: "Roboto Mono", monospace;
}
table.apiParameters .apiParameter {
    white-space: nowrap;
    font-size: 0.8rem;
    width: 150px;
    font-family: "Roboto Mono", monospace;
}
table.apiParameters .apiParameter:before {
    color:#555555;
}
table.apiParameters .apiParameter.nesting1:before {
    content: "┠ ";
}
table.apiParameters .apiParameter.nesting1.last:before {
    content: "┖ ";
}
table.apiParameters .apiParameter.nesting2:before {
    content: "┃┠ ";
}
table.apiParameters .apiParameter.nesting2.last:before {
    content: "┃┖ ";
}
table.apiParameters .apiParameter.nesting2.only:before {
    content: "\a0\a0 ┠ ";
}
table.apiParameters .apiParameter.nesting2.only.last:before {
    content: "\a0\a0 ┖ ";
}
table.apiParameters .apiParameter.nestingEmpty:before {
    content: "┃";
}
table.apiParameters .apiParameter.optional:after,
table.apiParameters .apiParameter.nullable:after {
    color: #777777;
    position: relative;
    left: 5px;
    top:-5px;
    padding-right: 5px;
}
p.apiOptionalExplanation:before,
p.apiNullableExplanation:before {
    color: #777777;
    position: relative;
    left: 0px;
    top:-5px;
}
table.apiParameters .apiParameter.optional:after {
    content: "◩";
}
table.apiParameters .apiParameter.nullable:after {
    content: "∅";
}
table.apiParameters .apiParameter.optional.nullable:after {
    content: "◩∅";
}
p.apiOptionalExplanation:before {
    content: "◩ ";
}
p.apiNullableExplanation:before {
    content: "∅ ";
}
table.apiParameters .apiParameterType {
    font-size: 0.8rem;
    width: 100px;
    font-family: "Roboto Mono", monospace;
}
table.apiParameters .apiParameterDescription {
    width: 600px;
}
