:root {
	--md-primary: rgb(80 91 146);
	--md-surface-tint: rgb(80 91 146);
	--md-on-primary: rgb(255 255 255);
	--md-primary-container: rgb(222 225 255);
	--md-on-primary-container: rgb(9 22 75);
	--md-secondary: rgb(90 93 114);
	--md-on-secondary: rgb(255 255 255);
	--md-secondary-container: rgb(223 225 249);
	--md-on-secondary-container: rgb(23 26 44);
	--md-tertiary: rgb(118 84 110);
	--md-on-tertiary: rgb(255 255 255);
	--md-tertiary-container: rgb(255 215 242);
	--md-on-tertiary-container: rgb(45 18 40);
	--md-error: rgb(186 26 26);
	--md-on-error: rgb(255 255 255);
	--md-error-container: rgb(255 218 214);
	--md-on-error-container: rgb(65 0 2);
	--md-background: rgb(251 248 255);
	--md-on-background: rgb(27 27 33);
	--md-surface: rgb(251 248 255);
	--md-on-surface: rgb(27 27 33);
	--md-surface-variant: rgb(227 225 236);
	--md-on-surface-variant: rgb(70 70 79);
	--md-outline: rgb(118 118 128);
	--md-outline-variant: rgb(198 197 208);
	--md-shadow: rgb(0 0 0);
	--md-scrim: rgb(0 0 0);
	--md-inverse-surface: rgb(48 48 54);
	--md-inverse-on-surface: rgb(242 240 247);
	--md-inverse-primary: rgb(185 195 255);
	--md-primary-fixed: rgb(222 225 255);
	--md-on-primary-fixed: rgb(9 22 75);
	--md-primary-fixed-dim: rgb(185 195 255);
	--md-on-primary-fixed-variant: rgb(56 67 121);
	--md-secondary-fixed: rgb(223 225 249);
	--md-on-secondary-fixed: rgb(23 26 44);
	--md-secondary-fixed-dim: rgb(195 197 221);
	--md-on-secondary-fixed-variant: rgb(67 70 89);
	--md-tertiary-fixed: rgb(255 215 242);
	--md-on-tertiary-fixed: rgb(45 18 40);
	--md-tertiary-fixed-dim: rgb(229 186 216);
	--md-on-tertiary-fixed-variant: rgb(93 60 85);
	--md-surface-dim: rgb(219 217 224);
	--md-surface-bright: rgb(251 248 255);
	--md-surface-container-lowest: rgb(255 255 255);
	--md-surface-container-low: rgb(245 242 250);
	--md-surface-container: rgb(239 237 244);
	--md-surface-container-high: rgb(233 231 239);
	--md-surface-container-highest: rgb(227 225 233);
}

body {
	font-family: Inter, -system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, sans-serif;
	line-height: 1.625;
	background-color: var(--md-surface);
	color: var(--md-on-surface);
}

header {
	text-align: center;
	margin-top: 1.2rem;
	margin-bottom: 2rem;
}

header a {
	text-decoration: none;
	color: inherit;
}

main {
	width: 90vw;
	min-height: 90vh;
	position: relative;
	margin: 0 auto 6rem;
}

.card {
	border-radius: 0.75rem;
	background: var(--md-surface-container);
}

.card img {
	width: 100%;
	border-radius: .75rem .75rem 0 0;
}

.card_content {
	margin-top: .75rem;
	padding-bottom: .75rem;
	margin-left: 1rem;
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--md-on-surface);
}

.card-container {
	text-decoration: none;
}

.payment-card {
	border-radius: 12px;
	display: flex;
	background-color: var(--md-surface-container);
	flex-direction: row;
	padding: 16px;
	margin-bottom: 1rem;
}

.payment-card__content {
	flex: 1;
}

.payment-card__content * {
	display: block;
}

button, .button {
	border-radius: 100px;
	background-color: var(--md-primary);
	border: none;
	color: var(--md-on-primary);
	padding: 10px 24px;
	font-weight: 500;
	font-family: inherit;
	font-size: 1rem;
	text-decoration: none;
	height: min-content;
	display: inline-block;
}

button:disabled, .button:disabled {
	background-color: color-mix(in srgb, var(--md-on-surface) 12%, transparent);
	color: var(--md-on-surface);
}

.button-margin {
	margin-right: 1rem;
}

.payment-students {
	list-style: none;
	padding-left: 0;
}

.payment-students li {
	background-color: var(--md-surface-container);
	margin: .75rem 0;
	padding: .5rem 1rem;
	border-radius: 12px;
	border: 1px solid var(--md-surface-container-highest);
}

.payment-students a {
	color: black;
	text-decoration: none;
}

dialog button {
	width: 100%;
	margin-bottom: 1rem;
}

dialog button:last-of-type {
	margin-bottom: 0;
}

dialog header {
	font-weight: bold;
	font-size: 1.5rem;
}

dialog {
	border-radius: 1.75rem;
	background: var(--md-on-primary-container);
	border: none;
	padding: 1.5rem;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 75vw;
	max-width: 576px;
}

.not-primary {
	background: var(--md-secondary-container);
	color: var(--md-on-secondary-container);
}

#new_payment {
	margin-bottom: 1rem;
}

input {
	display: block;
	border-radius: 4px;
	border: 1px solid var(--md-outline);
	padding: 8px 0 8px 16px;
	width: 85vw;
	margin-bottom: 1rem;
	font-family: inherit;
	background-color: var(--md-surface);
}

input[type="checkbox"] {
	display: inline-block;
	width: 2rem;
	transform: scale(1.25);
}

.payment-students input[type="checkbox"] {
	margin-bottom: 0;
}

.message {
	border-radius: .75rem;
	background-color: var(--md-surface-container);
	padding: 1rem;
	margin-bottom: 1rem;
}

.message header {
	text-align: left;
	margin-bottom: 0;
}

.announcement header {
	font-size: 1.5rem;
	font-weight: bold;
}

.message p {
	font-size: 1.25rem;
}

.message_answer {
	border-radius: 0.75rem;
	border: 1px solid #CAC4D0;
	padding: .5rem;
	font-weight: 500;
}

.message_answer span {
	font-size: 1.25rem;
}

#question {
	width: 100%;
}

.message_container {
	color: inherit;
	text-decoration: none;
}

.announcement-image {
	width: 100%;
}

.appver {
	text-align: center;
	color: var(--md-on-surface-variant);
}

textarea {
	font-family: inherit;
	border-radius: 9px;
	padding: 1rem;
	box-sizing: border-box;
	width: 86vw;
	display: block;
	border: 1px solid var(--md-outline);
	background-color: var(--md-surface);
	margin-bottom: 1rem;
}

.search-label {
	display: block;
	margin: .75rem 0;
}

#search {
	width: 100%;
}

.cancel-deletion {
	margin-top: .5rem;
}

.contest-member-counter {
	display: block;
	margin-bottom: .75rem;
}

.no-entries {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--md-on-primary-container);
	text-align: center;
}

.no-entries svg {
	display: block;
	margin: 0 auto;
}

.no-entries b {
	font-size: 1.5rem;
}

.no-entries--messages {
	position: static;
	transform: none;
}

#cardCanvas {
	background-color: white;
	display: block;
	margin-top: 1rem;
}

.oobe-view img {
	width: 100%;
}

.hidden {
	display: none !important;
}

.oobe-view header {
	font-size: 2rem;
	font-weight: bold;
	text-align: start;
}

.oobe-no-image {
	display: block !important;
}

.outdated-ios-info {
	background-color: var(--md-primary-container);
	padding: 1.5rem;
	margin-bottom: 1rem;
	border-radius: 12px;
	display: none;
}

.outdated-ios-info header {
	font-weight: bold;
	font-size: 1.5rem;
}

.info-alert {
	background-color: var(--md-primary-container);
	padding: .5rem 1.5rem;
	margin: 1rem 0;
	border-radius: 12px;
}

.about-app-name {
	font-size: 3rem;
	font-weight: 700;
	display: block;
}

.about-app-header {
	text-align: center;
}

.about-link {
	display: flex;
	font-size: 1.25rem;
	margin-bottom: 1rem;
}

.about-link svg {
	width: 32px;
	margin-right: .5rem;
}

details {
	margin-top: 1rem;
}

details summary {
	font-size: 1.25rem;
	font-weight: 500;
	padding: 1rem;
}

.block {
	display: block;
}

.icon-text, .icon-svg {
	vertical-align: middle;
	display: inline-block;
}

.error-svg {
	color: var(--md-error);
	position: fixed;
	bottom: -64px;
	right: -64px;
	width: 300px;
	height: 300px;
}


th,
td {
	border: 1px solid var(--md-surface-container-highest);
}

table {
	overflow: auto;
	width: 100%;
	display: block;
	margin: 1rem auto 0;
	border-spacing: 0;
	font-size: 1.25rem;
}

tbody {
	white-space: nowrap;
}

th,
td {
	padding: 5px 10px;
	border-top-width: 0;
	border-left-width: 0;
}

th {
	position: sticky;
	top: 0;
	background: var(--md-primary-container);
	vertical-align: bottom;
}

.at-a-glance {
	background-color: var(--md-surface-container);
	border-radius: .75rem;
	padding: 1.5rem;
	margin-bottom: 1rem;
}

.at-a-glance header {
	font-size: 1.25rem;
	margin-bottom: 0;
	margin-top: 0;
	font-weight: bold;
}

.at-a-glance p:last-of-type {
	margin-bottom: 0;
}

.navigation-bar {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	background-color: var(--md-surface-container);
	position: fixed;
	bottom: 0;
	left: 0;
	margin: 0;
	width: 100%;
	justify-content: space-evenly;
	padding: .75rem 0;
	box-sizing: border-box;
}

.navigation-bar li {
	text-align: center;
}

.navigation-bar li svg {
	display: block;
	margin: 0 auto;
}

.navigation-bar a {
	color: inherit;
	text-decoration: none;
}

.navigation-bar__selected svg {
	padding: 0 1rem;
	border-radius: 100px;
	background-color: var(--md-secondary-container);
}

.navigation-bar__selected {
	font-weight: 500;
}

/* Media queries */

@media (min-width: 768px) {
	.card {
		width: 23%;
		display: inline-block;
	}

	.announcement-image {
		width: 25vw;
	}

	.card-container {
		margin-right: 1rem;
	}

	.card {
		margin-bottom: 1rem;
	}

	.oobe-view {
		display: flex;
		gap: 2rem;
	}

	.oobe-view img {
		width: 50%;
		max-height: 90vh;
		object-fit: contain;
	}

	.oobe-view__content {
		width: 50%;
	}
}

@media (prefers-color-scheme: dark) {
	:root {
		--md-primary: rgb(185 195 255);
		--md-surface-tint: rgb(185 195 255);
		--md-on-primary: rgb(33 44 97);
		--md-primary-container: rgb(56 67 121);
		--md-on-primary-container: rgb(222 225 255);
		--md-secondary: rgb(195 197 221);
		--md-on-secondary: rgb(44 47 66);
		--md-secondary-container: rgb(67 70 89);
		--md-on-secondary-container: rgb(223 225 249);
		--md-tertiary: rgb(229 186 216);
		--md-on-tertiary: rgb(68 38 62);
		--md-tertiary-container: rgb(93 60 85);
		--md-on-tertiary-container: rgb(255 215 242);
		--md-error: rgb(255 180 171);
		--md-on-error: rgb(105 0 5);
		--md-error-container: rgb(147 0 10);
		--md-on-error-container: rgb(255 218 214);
		--md-background: rgb(18 19 24);
		--md-on-background: rgb(227 225 233);
		--md-surface: rgb(18 19 24);
		--md-on-surface: rgb(227 225 233);
		--md-surface-variant: rgb(70 70 79);
		--md-on-surface-variant: rgb(198 197 208);
		--md-outline: rgb(144 144 154);
		--md-outline-variant: rgb(70 70 79);
		--md-shadow: rgb(0 0 0);
		--md-scrim: rgb(0 0 0);
		--md-inverse-surface: rgb(227 225 233);
		--md-inverse-on-surface: rgb(48 48 54);
		--md-inverse-primary: rgb(80 91 146);
		--md-surface-dim: rgb(18 19 24);
		--md-surface-bright: rgb(56 57 63);
		--md-surface-container-lowest: rgb(13 14 19);
		--md-surface-container-low: rgb(27 27 33);
		--md-surface-container: rgb(31 31 37);
		--md-surface-container-high: rgb(41 42 47);
		--md-surface-container-highest: rgb(52 52 58);
	}

	a {
		color: lightblue;
	}

	.payment-students a {
		color: white;
	}

	textarea, input {
		background-color: #322F35;
		border: 1px solid #4A4458;
		color: white;
	}
}

/* Fonts */

/* inter-300 - latin */
@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 300;
	src: url("/fonts/inter-v13-latin-ext-300.woff2") format("woff2");
}

/* inter-regular - latin */
@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 400;
	src: url("/fonts/inter-v13-latin-ext-regular.woff2") format("woff2");
}

/* inter-500 - latin */
@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 500;
	src: url("/fonts/inter-v13-latin-ext-500.woff2") format("woff2");
}

/* inter-600 - latin */
@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 600;
	src: url("/fonts/inter-v13-latin-ext-600.woff2") format("woff2");
}

/* inter-700 - latin */
@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 700;
	src: url("/fonts/inter-v13-latin-ext-700.woff2") format("woff2");
}
