/* Base variables that control near-everything */
:root
{
	--main_background_color: #111111;
	--main_text_color: #FEFEFE;
	--link_color: #3C9BFF;

	--small_space: 1rem;
	--large_space: 2rem;

	--default_text_size: 1rem;
	--h4_text_size: 1.25rem;
	--h3_text_size: 1.56rem;
	--h2_text_size: 1.95rem;
	--h1_text_size: 2.44rem;
}

/* Light mode */
@media (prefers-color-scheme: light)
{
	:root
	{
		--main_background_color: #FEFEFE;
		--main_text_color: #000000;
		--link_color: #0650C6;
	}
}

/* Base */
:root
{
	background-color: var(--main_background_color);
	color: var(--main_text_color);

	font-family: sans-serif;
	font-weight: normal;
	font-size: var(--default_text_size);
}

/* Layout */
/* Main body: one big column with wide margins */
body
{
	max-width: 800px;
	margin: auto;
}
/* Leave some room below the header... */
header
{
	margin-bottom: var(--large_space);
}
/* And above the footer */
footer
{
	margin-top: var(--small_space);
	text-align: center;
}

/* Styling */
/* General */
a
{
	color: var(--link_color);
}
p
{
	padding-left: var(--small_space);
	padding-right: var(--small_space);
}
h1
{
	font-size: var(--h1_text_size);
}
h2
{
	font-size: var(--h2_text_size);
}
h3
{
	font-size: var(--h3_text_size);
}
h4
{
	font-size: var(--h4_text_size);
}

/* Layout utilities */
.large_lateral_padding
{
	padding-left: var(--large_space);
	padding-right: var(--large_space);
}