
:root {
	--bg: rgb(245, 245, 245);
	--fg: rgb(0, 0, 0);
	--link-fg: rgb(0, 127, 255);

	--logo-primary: rgb(50, 50, 50);
	--logo-secondary: rgb(150, 150, 150);

	--header-bg: rgb(255, 255, 255);
	--header-fg: rgb(120, 120, 120);
	--header-border: 1px solid rgb(220, 220, 220);

	--menu-bt: rgb(125, 125, 125);
	--menu-bg: rgb(230, 230, 230);
	--menu-bg-lit: rgb(245, 245, 245);

	--container-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	--container-bg: rgb(245, 245, 245);

	--slide-fg: rgb(255, 255, 255);
	--slide-bg: rgba(0, 0, 0, 0.3);

	--btn-bg: rgb(230, 230, 230);
	--btn-bg-active: rgb(200, 200, 200);
	--btn-fg: rgb(0, 0, 0);

	--overlay-bg: rgba(255, 255, 255, 0.92);
	--overlay-fg: rgb(120, 120, 120);

	--cite-bg: rgb(210, 210, 210);
	--cite-fg: var(--fg);

	--footer-bg: rgb(190, 190, 190);
	--footer-fg: rgb(0, 0, 0);
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: rgb(20, 20, 20);
		--fg: rgb(230, 230, 230);
		--link-fg: rgb(0, 127, 255);

		--logo-primary: rgb(200, 200, 200);
		--logo-secondary: rgb(150, 150, 150);

		--header-bg: rgb(30, 30, 30);
		--header-fg: rgb(180, 180, 180);
		--header-border: 2px solid rgb(0, 0, 0);

		--menu-bt: rgb(125, 125, 125);
		--menu-bg: rgb(30, 30, 30);
		--menu-bg-lit: rgb(70, 70, 70);

		--container-shadow: 0 0 5px rgba(0, 0, 0, 1);
		--container-bg: rgb(25, 25, 25);

		--slide-fg: rgb(255, 255, 255);
		--slide-bg: rgba(0, 0, 0, 0.3);

		--btn-bg: rgb(60, 60, 60);
		--btn-bg-active: rgb(100, 100, 100);
		--btn-fg: rgb(255, 255, 255);

		--overlay-bg: rgba(0, 0, 0, 0.91);
		--overlay-fg: rgb(180, 180, 180);

		--cite-bg: rgb(30, 30, 30);
		--cite-fg: var(--fg);

		--footer-bg: rgb(40, 40, 40);
		--footer-fg: rgb(180, 180, 180);
	}
}

* {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	font-weight: 400;
	font-size: 15px;
}

body {
	background-color: var(--bg);
	color: var(--fg);
}

a {
	text-decoration: none;
}

.text a {
	color: var(--link-fg) !important;
	text-decoration: none;
}

.text a:hover {
	text-decoration: underline;
}

#hint {
	padding: 150px;
	max-width: 750px;
}

#container {
	display: none;
}

.container {
	box-shadow: var(--container-shadow);
	background-color: var(--container-bg);
}

.header {
	background-color: var(--header-bg);
	padding: 35px 50px 32px;
	position: sticky;
	top: 0;
	border-bottom: var(--header-border);
}

.brand svg {
	height: 52px;
}

#desktop-menu a {
	color: var(--header-fg);
}

#mobile-menu.visible {
	padding: 35px 0;
	background-color: var(--menu-bg);
}

#mobile-menu a {
	color: var(--fg);
	padding: 10px 50px;
}

#mobile-menu a:hover {
	background-color: var(--menu-bg-lit);
}

#mobile-menu-bt >* {
	display: block;
	width: 30px;
	height: 0;
	border: 1px solid var(--menu-bt);
	margin: 7px;
}



.slideshow {
	height: 600px;
	margin-bottom: 0;
}

.slide > * {
	margin-top: 260px;
	text-align: center;
}

.slide-text {
	display: inline-block;
	padding: 10px 30px 15px 30px;
	background-color: var(--slide-bg);
	font-size: 34px;
	min-width: 150px;
	font-weight: 200;
	color: var(--slide-fg);
}

.pagination-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.pagination-bar a {
	display: block;
	padding: 15px 20px;
	margin: 1px;
	background-color: var(--btn-bg);
	color: var(--btn-fg);
}

.pagination-bar a.current {
	background-color: var(--btn-bg-active);
}

.images {
	padding: 50px;
}

.image >* {
	padding: 8%;
	width: 84%;
}

.insta-links {
	margin-top: 3rem;
	display: flex;
	flex-direction: column;
	row-gap: 1rem;
}

.insta-link {
	display: block;
	outline: none;
	line-height: 2em;
}

.insta-link svg {
	display: inline-block;
	width: 2rem !important;
	height: 2rem !important;
	font-size: 2rem !important;
	vertical-align: middle;
	fill: #444 !important;
}

.insta-link span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	top: -1px;
	margin-left: .3rem;
}



.text {
	padding: 50px;
}

h1, h2, h3, h4, p {
	margin: 0;
	padding: 0;
}

p {
	text-align: justify;
	line-height: 24px;
}

p+p {
	margin-top: 14px;
}

h1, h2, h3, h4 {
	margin-bottom: 7px;
}



h1 { font-size: 29px; }
h2 { font-size: 25px; }
h3 { font-size: 21px; }
h4 { font-size: 19px; }

*+h1 { margin-top: 50px; }
*+h2 { margin-top: 45px; }
*+h3 { margin-top: 35px; }
*+h4 { margin-top: 20px; }
*+p { margin-top: 13px; }



.overlay {
	background-color: var(--overlay-bg);
	color: var(--overlay-fg);
}

.overlay p {
	text-align: center;
	word-spacing: 10px;
}

#overlay {
	padding-top: 100px;
}



.overlay .nav {
	padding-top: 0;
}

.overlay .nav >* {
	vertical-align: middle;
	padding: 17px 25px;
}

.overlay .nav-left, .overlay .nav-right {
	height: 29px;
}

.overlay .nav-close {
	height: 23px;
}





.cite {
	background-color: var(--cite-bg);
	color: var(--cite-fg);
	padding: 50px 50px 100px;
}

.cite >* {
	display: block;
	line-height: 25px;
	max-width: 550px;
}

.footer {
	background-color: var(--footer-bg);
	color: var(--footer-fg);
	padding: 20px 50px 18px;
}

.footer a {
	color: var(--footer-fg) !important;
	margin-left: 12px;
}

.footer a:hover {
	text-decoration: underline;
}
