/* Gemeinsam genutzte Styles */

* {
	box-sizing: border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing: border-box;
}

html {
	--DefaultFgColor: white;
	--DefaultBgColor: #916F6F;
	--InverseFgColor: #5E4040;
	--InverseBgColor: #D0BABA;
	--HoverBgColor: #D0BABA80;
	--ContentFgColor: #5E4040;
	--ContentBgColor: #F1E7E7;
	--HeadingFgColor: #924C4C;
	--BoldFgColor: inherit;
	--LinkFgColor: #EE2E25;
	--QuoteFgColor: #924C4C;
	--QuoteBgColor: white;
	--QuoteBorderColor: #CBA9A9;
	--WebsiteFgColor: #5E4040;
	--WebsiteBgColor: white;
	--ButtonLinkHoverBrightness: 0.9;
}

@media (prefers-color-scheme: dark) {
html {
	--DefaultFgColor: white;
	--DefaultBgColor: #221E1E;
	--InverseFgColor: #E0E0E0;
	--InverseBgColor: #675959;
	--HoverBgColor: #67595980;
	--ContentFgColor: #DED6D6;
	--ContentBgColor: #453B3B;
	--HeadingFgColor: white;
	--BoldFgColor: #FFFFFF;
	--LinkFgColor: gold;
	--QuoteFgColor: white;
	--QuoteBgColor: #675959;
	--QuoteBorderColor: #DED6D6;
	--WebsiteFgColor: #E0E0E0;
	--WebsiteBgColor: #675959;
	--ButtonLinkHoverBrightness: 1.2;
} }

html {
	container-type: inline-size;
	background-color: var(--DefaultBgColor);
}

body {
	margin: clamp(0px, calc((100% - 800px) / 2), 20px);
	margin-bottom: 20px;
	font-family: Arial, sans-serif;
	font-size: 1.2em;
	color: var(--DefaultFgColor);
}

#content {
	color: var(--ContentFgColor);
	background-color: var(--ContentBgColor);
	width: 800px;
	max-width: 100%;
	margin: auto;
	padding: 20px clamp(20px, calc((100% - 600px) / 10 + 20px), 40px);
	text-align: justify;
	line-height: 1.4em;
	border-radius: clamp(0px, calc(100vw - var(--ScrollbarWidth) - 800px), 20px);
}
#content > :first-child {
	margin-top: clamp(0px, calc((100vw - var(--ScrollbarWidth) - 600px) / 10), 20px);
}

div.footer {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	width: 800px;
	max-width: 100%;
	margin: auto;
}
@container (max-width: 580px) {
	div.footer {
		flex-direction: column;
	}
}
div.footer div {
	flex-grow: 1;
	flex-basis: 0;
	padding-top: 20px;
	text-align: center;
}
div.footer div p {
	margin: 0;
	padding: 5px 10px;
	display: inline;
}
div.footer div p.active {
	color: var(--InverseFgColor);
	background-color: var(--InverseBgColor);
	border-radius: 1em;
}
div.footer div p:hover:not(.active) {
	background-color: var(--HoverBgColor);
	border-radius: 1em;
}
div.footer div a {
	color: var(--DefaultFgColor);
}

h2 {
	font-size: 1.4em;
	color: var(--HeadingFgColor);
	text-align: center;
}

h3, h4 {
	color: var(--HeadingFgColor);
	text-align: center;
}

#content p {
	/* Silbentrennung */
	-moz-hyphens: auto;
	-o-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

img.full-width {
/*
img {
	max-width: 100%;
}
img.header {
	width: 400px;
	max-width: 100%;
*/
	width: 100%;
	border-radius: 20px;
}

a {
	color: var(--LinkFgColor);
	text-decoration: none;
	outline: 0;
	-webkit-tap-highlight-color: transparent;
}

a.button-link {
	background-color: var(--HoverBgColor);
	color: var(--ContentFgColor);
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	border-radius: 9999px;
	padding: calc(0.667em + 2px) calc(1.333em + 2px);
	cursor: pointer;
}

a.button-link:hover {
	filter: brightness(var(--ButtonLinkHoverBrightness));
}

b {
	color: var(--BoldFgColor);
}

div.zitat {
	margin: auto;
	margin-bottom: 20px;
	padding: 20px;
	max-width: 580px;
	background-color: var(--QuoteBgColor);
	border-radius: 20px;
}
div.zitat.invers {
	border: 4px dashed var(--QuoteBorderColor);
	/*background-color: var(--QuoteInversBgColor);*/
}
p.zitat-text {
	margin: 0;
	color: var(--QuoteFgColor);
}
p.zitat-quelle {
	margin: 0;
	text-align: right;
}
p.zitat-anmerkung {
	margin-bottom: 0;
	font-size: 0.9em;
	line-height: 1.2em;
}

div.websites {
	display: flex;
	flex-wrap: wrap;
	/*align-items: center;*/
	margin: 0 -10px;
}
div.website {
	flex: 50%;
	padding: 0 10px 20px 10px;
}
@container (max-width: 800px) {
	div.website {
		flex: 100%;
	}
}
div.website img {
	width: 100%;
	border-radius: 20px 20px 0 0;
	display: block;
}
div.website div {
	border-radius: 0 0 20px 20px;
	background-color: var(--WebsiteBgColor);
	padding: 20px;
}
p.website-title {
	margin: 0;
	color: var(--HeadingFgColor);
	font-weight: bold;
	text-align: left;
}
p.website-description {
	color: var(--WebsiteFgColor);
	margin-top: 0;
}
p.website-description:last-child {
	margin-bottom: 0;
}

iframe[src^="https://www.youtube.com"] {
	width: 100%;
	height: 100%;
	border-radius: 20px;
}

iframe[src^="https://www.youtube.com"][width="640"][height="360"] {
	aspect-ratio: 640/360;
}

iframe[src^="https://www.youtube.com"][width="640"][height="480"] {
	aspect-ratio: 640/480;
}

iframe[src^="https://www.youtube.com"][width="560"][height="315"] {
	aspect-ratio: 560/315;
}

figure {
	display: table;
	/* margin: 2em auto; */
	margin-left: auto;
	margin-right: auto;
}

figure figcaption {
	display: table-caption;
	caption-side: bottom;
	text-align: center;
	font-size: 0.8em;
	line-height: 1.5em;
	margin-top: 0.5em;
}

figure:has(audio) {
	width: 100%;
	text-align: center;
}

audio {
	max-width: 100%;
	border-radius: 9999px;
}

audio::-webkit-media-controls-panel {
	background-color: var(--QuoteBgColor);
}

/* Numerierte Liste */
ol li { 
	display: block;
}
ol {
	padding-left: 1.1em;
	text-indent: -1.1em;
}
ol li ol {
	padding-left: 2.1em;
	text-indent: -1.9em;
}
ol li ol li ol {
	padding-left: 2.1em;
	text-indent: -1.9em;
}

*:not(li) > ol { counter-set: level1 level2 level3 level4 level5 level6; }
*:not(li) > ol ol { counter-set: level2 level3 level4 level5 level6; }
*:not(li) > ol ol ol { counter-set: level3 level4 level5 level6; }
*:not(li) > ol ol ol ol { counter-set: level4 level5 level6; }
*:not(li) > ol ol ol ol ol { counter-set: level5 level6; }
*:not(li) > ol ol ol ol ol ol { counter-set: level6; }
ol > li::before { counter-increment: level1; content: counter(level1) ".\2009"; }
ol ol > li::before { counter-increment: level2; content: counter(level1) "." counter(level2) ".\2009"; }
ol ol ol > li::before { counter-increment: level3; content: counter(level1) "." counter(level2) "." counter(level3) ".\2009"; }
ol ol ol ol > li::before { counter-increment: level4; content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) ".\2009"; }
ol ol ol ol ol > li::before { counter-increment: level5; content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) ".\2009"; }
ol ol ol ol ol ol > li::before { counter-increment: level6; content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) "." counter(level6) ".\2009"; }

/* Inhaltsverzeichnis */
details.toc summary {
	color: var(--LinkFgColor);
	user-select: none;
}
details.toc summary:hover {
	/* color: var(--AccentColor); */
	cursor: pointer;
}
details.toc li {
	text-align: left;
}
details.toc > ol > li > a {
	/* font-weight: bold; */
}
details.toc > ol > li > ol > li > ol > li > a {
	font-style: italic;
}

.nowrap {
	display: inline-block;
}

.kursiv {
	font-style: italic;
}

.fett {
	font-weight: bold;
}

.centered {
	text-align: center;
}

.left {
	text-align: left;
}

.hidden {
	display: none;
}

.outline {
	text-shadow: 0px 1px black, 0px -1px black, 1px 0px black, -1px 0px black, 0.7px -0.7px black, -0.7px -0.7px black, 0.7px 0.7px black, -0.7px 0.7px black;
}

.link {
	color: var(--LinkFgColor);
	cursor: pointer;
}
