:root {
	--main-bg-color: #fffbf0;
	--cover-bg-color: #361f1c;
	--main-contrast-color: #161116;
	--main-highlight-color: #ac989d;
	--sec-highlight-color: #6e402f;
}

* {
	margin: 0;
	padding: 0;
}

html, body {
	font-family: "Fira Sans Condensed", sans-serif;
	background-color: var(--main-bg-color);
	color: var(--main-contrast-color);
	font-size: 14px;
	min-height: 100%;
}

html {
	margin: 0;
	padding: 1rem;
}

body {
	border: 1px solid var(--main-bg-color);
	padding: 2rem;
	margin: 0;
}

.cover {
	background-color: var(--cover-bg-color);
	color: var(--main-bg-color);
}

ul {
	list-style: none;
	margin: 1rem 0;
	padding: 0;
}

li {
	margin-bottom: 1rem;
}

h1 {
	font-family: "EB Garamond", serif;
	font-size: 14rem;
	margin: 1rem 0 0 0;
	font-weight: 400;
	color: var(--cover-bg-color);
}

h1 em {
	letter-spacing: -0.05em;
}

h2 {
	font-size: 2rem;
	font-weight: 400;
	margin-bottom: 1rem;
	color: var(--cover-bg-color);
}

h3 {
	margin-bottom: 0.5rem;
}

.subtitle {
	font-size: 2.5rem;
	margin-top: -1rem;
	margin-bottom: 4rem;
	margin-left: 4rem;
	font-weight: 200;
	/*text-transform: uppercase;*/
	/*letter-spacing: 0.1em;*/
	/*line-height: 1.5em;*/
}

form label.inline-label {
	margin-right: 1rem;
}

nav li {
	display: inline-block;
	margin-right: 1rem;
}

nav a {
	text-decoration: none;
	color: var(--main-contrast-color);
}

main {
	/*min-width: 90%;*/
	max-width: 900px;
	margin: 0;
}

footer {
	color: var(--main-highlight-color);
	padding: 1rem 0;
}

button {
	background: var(--cover-bg-color);
	border: none;
	border-radius: 0;
	color: var(--main-bg-color);
	font-family: "Fira Sans Condensed", sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	padding: 0.6rem 1.2rem;
}

button:hover {
	cursor: pointer;
}

.podcasts {
	width: 75%;
}

.podcasts > li {
	/*border-bottom: 1px solid var(--main-highlight-color);
	border-top: 1px solid var(--main-highlight-color);
	margin-bottom: 3rem;
	padding: 2rem 1rem;*/
}

.podcasts h3 {
	margin-bottom: 0.5rem;
	color: var(--cover-bg-color);
}

ul.podcasts {
	margin-bottom: 5rem;
	margin-top: 3rem;
}

a.podcast-link {
	background: #f2ecdc;
	display: block;
	text-decoration: none;
	color: var(--main-contrast-color);
	margin-bottom: 3rem;
	padding: 2rem 1rem;
}

a.podcast-link:hover {
	background: #e8e1cc;
}

ul.episodes > li {
	background: #f2ecdc;
	margin-bottom: 3rem;
	padding: 2rem 1rem;
}

.episode-element {
	margin-bottom: 1rem;
}

.podcast-extra-info summary {
	cursor: pointer;
	list-style: none;
}

.podcast-extra-info[open] summary {
	background: var(--main-highlight-color);
}

p {
	margin-bottom: 1rem;
}

article p {
	text-align: justify;
}

details {
	border: 1px solid var(--cover-bg-color);
	padding: 1rem;
}

.explanation {
	font-style: italic;
}

input[type="radio"] {
	margin-right: 0.5em;
}

input[type="text"], input[type="password"] {
	border: 1px solid var(--cover-bg-color);
	border-radius: 0;
	padding: 0.2rem;
}

textarea {
	width: 400px;
	height: 50px;
}

.form-element {
	margin-top: 2rem;
}

.form-element-question {
	font-weight: 900;
	margin-bottom: 0.5rem;
}

#loading-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--cover-bg-color);
	z-index: 99;
	color: var(--main-bg-color);
	
    grid-template-columns: auto 1fr;
    align-items: center;
    justify-content: center;
    gap: 2rem;

	padding-left: 10%;
}

.loading-spinner {
	width: 80px;
	height: 80px;
	border: solid 2px var(--main-bg-color);
	border-top-color: var(--main-highlight-color);
	border-radius: 50%;
	animation: spin 1.2s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

@media only screen and (max-width: 600px) {
	h1 {
		font-size: 7rem;
	}

	.podcasts {
		width: 100%;
	}
}
