:root {
    --site-background: Wheat;
    --site-color: SaddleBrown;
	--font-stack: Inter, system-ui, sans-serif
}

body {
	color: var(--site-color);
	background: var(--site-background);
	font-family: var(--font-stack);
	font-weight: 500;
	font-size: 1.2rem;
}

h1, h2, h3, h4, h5 {
	font-family: inherit;
	font-weight: 700;
}

.page-title {
	display: flex;
	flex-direction: column;
	align-items: center;
    border-top: 2px solid #666;
    border-bottom: 2px solid #666;
    padding: 0.75rem 0;
	font-size: 2.0rem;
}

.site-header {
    text-align: center;
}

.banner {
    display: flex;
    flex-direction: column;
    align-items: center;
	font-size: 1.5rem;
	margin-top: 0;
	margin-bottom: 1rem;
}

.banner .business-name {
	font-size: 3.0rem;
	margin: 0.0rem;
}

.banner .business-identity {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 1.5rem;
	margin: 0.0rem;
}

.banner address{
    display: flex;
    flex-direction: column;
    align-items: center;
	font-size: 1.5rem;
	margin: 0.1rem;
}

.banner address a{
	margin: 0.1rem;
}

.site-navigation {
    display: flex;
	justify-content: center;
	gap: 0;
	position: sticky;
	background: var(--site-background);
	z-index: 1000;
	top: 0;
}

.site-navigation a {
    margin: 0.5rem 1px;
	text-decoration: none;
	border-left: 2px solid #666;
	border-right: 2px solid #666;
	padding: 0 2ch;
}

summary {
	font-size: 1.5rem;
	margin: 0.2rem;
	font-weight: 700;
}

.faq-article {
	padding: 1rem 2rem;
}

.faq-article > details > :not(summary) {
	padding: 0rem 2rem;
}

details > :is(ul, ul, ol), details .faq-subtopic {
	font-size: 1.2rem;
	margin: 1rem 2rem;
}

.faq-subtopic {
	font-weight: 600;
	margin: 0.5rem 0;
	text-decoration: underline;
}

.price-list-entry {
	margin: 0.2rem 2rem;
}

.price-list-entry .course-name {
	width: 40rem;
}

.price-list-entry .price {
	width: 40rem;
}

.price-list-entry .classroom {
	width: 40rem;
}

.price-list-entry .range {
	width: 40rem;
}

.price-list-entry .rounds {
	width: 40rem;
}

.course-prices {
    border-collapse: collapse;
    width: auto;
}

.course-prices th,
.course-prices td {
    padding: 0.25rem 1rem;
    text-align: left;
}

.course-prices th {
    font-weight: 700;
    border-bottom: 2px solid black;
}

.course-prices th:not(:first-child),
.course-prices td:not(:first-child) {
    text-align: right;
}
/*
.course-prices th:first-child,
.course-prices td:first-child {
    width: 100%;
}
*/

.price-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.price-list h2, .price-list p {
	margin: 0.25rem 2rem;
	padding: 0.25rem 2rem;
}