@charset "UTF-8";
@import url('https://rsms.me/inter/inter.css');

button,hr,input{overflow:visible}audio,canvas,progress,video{display:inline-block}progress,sub,sup{vertical-align:baseline}html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} menu,article,aside,details,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{}button,select{text-transform:none}[type=submit], [type=reset],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

:root {
    --primary-color: #39f;
	--link-color-hover: #0080ff;
    --secondary-color: #888;
    --font-color: #333;
	--font-color-header: rgba(255, 255, 255, .9);
	--font-color-description: #777;
	--font-color-button: rgba(255, 255, 255, .9);
	--font-color-standout: rgba(255, 255, 255, .9);
	--font-color-input: #333;
	--font-semi-transparent: rgba(255, 255, 255, .5);
    --bg-color: #fff;
	--bg-light: #fafafa;
	--bg-card: #fff;
	--bg-input: #eee;
	--bg-standout-section: #0f3d82; /* #5a9afb; #266ad1; */
	--bg-standout-section-gradient: #001d55; /* #7da3ed; */
	--bg-navigation-color: #ffffffbb;
	--input-color: #222;
	--code-bgcolor: #ddd;
    --heading-color: #222;
	--shadow-color: rgba(0, 0, 0, .2);
	--card-shadow: 0 13px 27px -5px rgba(50,50,93,0.25),0 8px 16px -8px rgba(0,0,0,0.3);
	--bg-notification: #b8ebb8;
	--bg-notification-error: #ebb8b8;
	--bg-button-hover: #0080ff;
	--font-color-button-hover: #fff;

	font-family: 'Inter',-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;
	font-feature-settings: "ss04","cv03","cv04";
	/* Font Features von Inter: Disambiguation w/o zero; Open six; Open nine. https://rsms.me/inter/lab/?feat-cv03=1&feat-cv04=1&feat-ss04=1&size=48&wght=600 */
}

@supports (font-variation-settings: normal) {
	:root { font-family: 'Inter var',-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;
	}
}

[data-theme="dark"] {
    --primary-color: #39f;
	--link-color-hover: #0080ff;
    --secondary-color: #888;
    --font-color: rgba(255, 255, 255, .9);
	--font-color-header: rgba(255, 255, 255, .9);
	--font-color-description: #999;
	--font-color-button: rgba(255, 255, 255, .9);
	--font-color-standout: rgba(255, 255, 255, .9);
	--font-color-input: #333;
	--font-semi-transparent: rgba(255, 255, 255, .5);
	--font-color-featured: #222;
    --bg-color: #000;
	--bg-light: #161616;
	--bg-card: #222;
	--bg-input: #eee;
	--bg-standout-section: #222;
	--bg-standout-section-gradient: #222;
	--bg-navigation-color: #222222db;
	--input-color: #222;
	--code-bgcolor: #333;
    --heading-color: #fff;
	--card-shadow: none;
	--bg-notification: #004a00;
	--bg-notification-error: #4a0000;
	--bg-button-hover: #0080ff;
	--font-color-button-hover: #fff;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
}

html {
	scroll-behavior: smooth;
}

body,
input,
textarea {
	font-size: 24px;
	line-height: 36px;
	letter-spacing: -0.03em;
	word-break: break-word;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body {
	padding-top: 80px;
	background-color: var(--bg-color);
}

article,
footer,
section {
	margin: 0 auto;
	background: var(--bg-color);
	padding: 20px 12px 40px;
	color: var(--font-color);
	min-height: 100%;
	max-width: 800px;
}

article {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

article > *:not(figure),
.frontpage .book-overview {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 12px;
	padding-right: 12px;
	overflow: hidden;
}

article p a:hover,
section p a:hover {
	color: var(--link-color-hover);
}

section > h1 {
	text-align: center;
}

.blog-content {
	padding-left: 0;
	padding-right: 0;
}

.blog-content > *:not(figure) {
	padding-left: 12px;
	padding-right: 12px;
	line-height: 32px;
	font-size: 20px;
}

.blog-content p small {
	line-height: 30px;
	display: block;
}

figure img {
	cursor: pointer;
	max-width: 100%;
	width: 100%;
	/*
	Sieht super aus, aber braucht overflow: visible für .blog-content (geht das klar?)
	box-shadow: 0 0 #0000, 0 0 #0000,0 70px 65px rgba(0,0,0,.09),0 30px 30px rgba(0,0,0,.07),0 15px 15px rgba(0,0,0,.06),0 10px 8px rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.04),0 2px 2px rgba(0,0,0,.03);
	*/
}

article a,
section a {
	color: var(--primary-color);
	transition: all .2s ease-in-out;
}

article > p {
	max-width: 800px;
	color: var(--font-color);
}

header {
	background: linear-gradient(70deg, #FF0080, #FF8C00);
	background: linear-gradient(70deg, #ff0080e0, #ff8c00e0);
	position: fixed;
	z-index: 10;
	padding: .5em 1em;
	box-shadow: 0 0 20px rgba(0, 0, 0, .3);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	top: 12px;
	left: 12px;
	right: 12px;
	width: calc(100% - 24px);
	border-radius: 2em;
}

.nav-background-element {
	display: none;
	position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: var(--bg-navigation-color);
    z-index: 5;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.close-navigation {
	fill: var(--font-color-description);
}

header nav {
	max-width: 100%;
	padding: 0 1em;
	margin: 0 auto;
}

header nav > a {
	color: var(--font-color-header);
	font-weight: 700;
	font-size: .9em;
	text-decoration: none;
}

header nav > a img {
	width: 1.75em;
    height: 1.75em;
    border-radius: 50%;
    display: block;
    margin-right: 0.5em;
    left: -1.5em;
    float: left;
}

header nav > a span {
	left: -1.5em;
}

header .mobile-nav-opener {
	display: none;
}

header nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	float: right;
}

header nav ul .hide-above-800 {
	display: none;
}

header nav ul li {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-block;
}

header nav ul li a {
	color: var(--font-color-header);
	display: inline-block;
	font-weight: 500;
	font-size: .9em;
	padding: 0 .25em;
	text-decoration: none;
}

header nav ul li.social a {
	padding: 0;
	height: 24px;
	width: 24px;
	fill: white;
	top: 4px;
	display: block;
}

header nav ul li.social {
	margin-left: .5em;
}

header nav ul li.social:last-child {
	margin-left: 0;
}

.top-teasers {
	max-width: 800px !important;
	overflow: visible;
}

.top-teasers {
	text-align: center;
}

.top-teasers .card a {
	padding-bottom: 0;
	height: auto;
}

.top-teasers .card img {
	border: 0;
	border-radius: 0;
}

.top-teasers .card a:hover img {
	transform: none;
}

.top-teasers .podcast img {
	max-height: 240px;
	width: auto;
}

footer .newsletter {
	/* background-color: var(--bg-light); */
	display: block;
	text-align: center;
	padding: 10px;
}

.top-teasers.card-wrapper {
	grid-template-columns: repeat(2,1fr);
}

.top-teasers h2,
.newsletter h2 {
	text-align: center;
	font-size: .9em;
	line-height: 1.3em;
	margin-top: 1em;
}

.top-teasers .podcast.card {
	padding-bottom: .75em;
}

.top-teasers .podcast.card img {
	margin: 0;
    max-width: calc(100% - 2em);
}

.huge-emoji {
	font-size: 2em;
	display: block;
	text-align: center;
}

.recent-posts-link {
	margin: 2em auto;
	text-align: center;
}

.recent-posts-link .arrow {
	text-decoration: none;
}

.card-wrapper.selected-posts {
	max-width: 800px;
	overflow: visible;
}

.searchbox {
	display: block;
	width: 50%;
	margin: 0 auto;
}

.footer-links a,
.theme-switch:after {
	color: var(--font-color);
	opacity: .5;
	font-size: .9em;
	color: inherit;
	font-weight: inherit;
	transition: all .2s ease-in-out;
	display: inline-block;
	margin: 0 .25em;
	text-decoration: underline;
}

.theme-switch:after {
	display: inline;
	height: 100%;
	width: 100%;
	content: 'Dark Mode';
	cursor: pointer;
}

.theme-checkbox {
	-webkit-appearance: none;
	position: absolute;
	right: -10000px;
	width: 0;
	border: 0;
}

.theme-checkbox:checked ~ label:after {
	content: 'Light Mode';
}

h1 {
	line-height: 1.2em;
	color: var(--heading-color);
}

h2 {
	line-height: 1.5em;
	color: var(--heading-color);
}

h3 {
	color: var(--heading-color);
}

small {
	line-height: 1.2em;
	display: inline-block;
}

.footer-links {
	margin: 2em auto 1em;
	text-align: center;
}

section.blog {
	padding: 0;
	max-width: auto;
	margin: 4em auto;
}

.introduction-picture {
	float: right;
	display: block;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	margin-left: 40px;
	margin-bottom: 40px;
}

.frontpage section.blog {
	margin-top: 0;
	margin-bottom: 2em;
}

.frontpage .book-overview {
	max-width: auto;
	margin: 2em auto;
}

.frontpage h2 {
	scroll-margin-top: 120px;
}

section.blog > *:not(.blog-content) {
	padding-left: 24px;
	padding-right: 24px;
}

.blog h2.name {
	font-size: 1.5em;
	font-weight: 600;
}

.blog h2.name a {
	color: inherit;
	opacity: .8;
	transition: all .2s ease-in-out;
	text-decoration: none;
}

.blog h2 {
	font-size: 1.25em;
	margin-bottom: 0;
	margin-top: 1.5em;
}

.blog h3 {
	font-size: 1.15em;
	margin-bottom: 0;
	margin-top: 1.25em;
}

.blog .meta-information {
	color: var(--secondary-color);
	opacity: .9;
	margin-bottom: 2em;
}

.blog .meta-information a {
	white-space: nowrap;
}

.blog li {
	margin: 0  0 .5em 1.5em;
}

.blog li ul {
	margin-top: .5em;
	margin-bottom: .5em;
	padding-left: 0;
}

.blog-content a:not(.button):not(.picture-link):hover,
.blog-content a:not(.button):not(.picture-link):focus,
section a:not(.button):not(.picture-link):hover,
section a:not(.button):not(.picture-link):focus {
	color: var(--link-color-hover);
	transition: all .2s ease-in-out;
}

.podcast-intro {
	text-align: left;
}

.podcast-teaser a:first-child {
	float: left;
	display: block;
	margin-right: .5em;
}

.podcast-teaser > p {
	margin-top: 0;
	margin-left: 116px;
}

.podcast-teaser .new {
	display: inline-block;
}

.self {
	margin: 1em auto;
}

.self .current-photo {
	display: block;
	width: 40px;
	height: 40px;
	background-position: center;
	background-size: cover;
}

.self tr td:nth-child(2) {
	padding-left: .5em;
}

.self-tiles {
	list-style: none;
	margin: 2em auto 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: start;
}

.self-tiles li {
	background: var(--bg-light);
    padding: .5em;
	text-align: center;
	min-height: 160px;
	width: calc((100% / 4) - .5rem);
	margin-bottom: .5rem;
	align-items: center;
	display: flex;
}

.self-tiles li.location .location-image {
	background-size: cover;
	background-position: center;
	opacity: .5;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.self-tiles .bg {
	filter: grayscale(1);
    position: absolute;
    opacity: .1;
    font-size: 90px;
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    line-height: 180%;
}

.counter h2 {
	margin-top: 2em;
}

.counter h3 {
	margin-top: 1.25em;
	margin-bottom: .25em;
}

.counter .subtext {
	opacity: .5;
    margin: 0;
    font-size: .8em;
    line-height: 1.2;
}

.counter ol li {
	margin-bottom: 1em;
	line-height: 1.3;
}

.counter ol {
	counter-reset: progress-counter;
	list-style: none;
	padding-left: 0;
}

.counter ol li {
	counter-increment: progress-counter;
}

.counter ol li:before {
	content: counter(progress-counter);
	margin-right: 5px;
	font-size: 1.5em;
}

.counter ol.marathons li a:not(.marathon-preview-photo),
.counter ol.marathons li small {
	display: block;
	padding-left: 80px;
}

.counter ol.books li a:not(.book-cover-preview),
.counter ol.books li small {
	display: block;
	padding-left: 62px;
}

.counter ol li small {
	margin-top: .5em;
	color: var(--font-color-description);
}

.progress {
	background-color: var(--bg-card);
    border-radius: 1em;
    padding: 0.25em 0.5em;
	margin: 0.25em 0 1em;
    font-weight: bold;
	border: 1px solid var(--font-color);
	overflow: hidden;
}

.year-progress {
	margin-top: 0;
	margin-bottom: 1.5em;
}

.marathon-progress,
.book-progress {
	margin-bottom: .25em;
}

.progress p {
	margin: 0;
}

.progress .progress-percentage {
	display: block;
	position: absolute;
	background-color: var(--primary-color);
	z-index: 0;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: inherit;
	border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.progress .year-progress-marker {
	display: block;
	position: absolute;
	z-index: 0;
	height: 100%;
	top: 0;
	left: 0;
	border-right: 1px solid var(--font-color);
    background-color: var(--primary-color);
    opacity: .5;
    border-radius: inherit;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.progress .left-label {
	text-align: left;
	color: var(--font-color-button);
}

.progress .right-label {
	text-align: right;
}

.marathon-preview-photo {
	float: left;
    width: 68px;
    height: 68px;
    display: block;
    border-radius: 50%;
    background-size: cover;
    margin-right: 0.5em;
    background-position: center;
    background-repeat: no-repeat;
}

.book-cover-preview {
	float: left;
    height: 68px;
	aspect-ratio: 3/4;
    display: block;
    background-size: cover;
    margin-right: 0.5em;
    background-position: center;
    background-repeat: no-repeat;
}

.quit-counter {
	font-size: 1.5em;
	text-align: center;
	line-height: 1.5;
	font-family: monospace;
}

.special-metrics p {
	text-align: center;
}

.special-metrics span {
	font-weight: bold;
	display: inline-block;
	margin-left: .5em;
}

.body-improvements {
	margin: 1em 0;
	padding: 0;
}

.body-improvements li {
	margin-bottom: 1em;
	list-style: none;
}

.body-improvements .progress {
	padding: 0 0.5em;
    font-size: .75em;
    line-height: 1.5;
}

/* Run Stats */

.runstats .flex-table {
	display: flex;
	flex-direction: column;
}

.runstats .flex-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1em;
}

.runstats .flex-cell {
	display: flex;
	align-items: center;
}

.runstats .flex-cell p {
	margin: 0;
}

.runstats .description {
	flex: 3;
	padding-right: 1em;
}

.runstats .flex-cell small {
	color: var(--font-color-description);
	display: block;
}

.runstats .flex-cell small.percentage {
	font-size: .5em;
	color: red;
}

.runstats .flex-cell small.percentage.plus {
	color: green;
}

.runstats .data {
	flex: 1;
	font-size: 1.5em;
	text-align: right;
	justify-content: end;
	white-space: nowrap;
}

.self-tiles a,
.self-tiles a span {
	color: var(--font-color);
	text-decoration: none;
}

.self-tiles a:hover span,
.self-tiles a:active span,
.self-tiles a:focus span {
	color: var(--font-color);
}

.self-tiles .key {
	position: absolute;
    top: 4px;
    right: 8px;
    font-size: .6em;
	line-height: 1.5em;
    opacity: .5;
}

.self-tiles .time {
	position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: .65em;
    opacity: .5;
}

.self-tiles .number {
	font-size: 1.25em;
    font-weight: bold;
	margin: auto;
}

.selfie .current-photo {
	display: block;
	margin: auto;
	height: 100px;
    width: 100px;
    display: block;
    background-position: center;
    background-size: cover;
    border-radius: 50%;
}

.self-tiles .mood-emoji {
	font-size: 3.5em;
    display: block;
	width: 100%;
}

.self-tiles .location a {
	width: 100%;
}

.self-tiles .run small,
.self-tiles .bike small,
.self-tiles .number small {
	font-size: .5em;
    line-height: 1.3em;
    display: block;
	font-weight: normal;
}

.self-tiles .run a,
.self-tiles .bike a,
.self-tiles .pr a {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.blog-overview ul,
.podcast-overview ul,
.podcast-platforms {
	list-style: none;
	padding: 0;
}

.frontpage .blog-content .podcast-link-info {
	display: none;
}

.podcast-link-info {
	margin: 1em;
    padding: 1em;
}

.book-content > .content > .podcast-link-info {
	margin-left: 0;
	margin-right: 0;
}

.podcast-link-info.card {
	padding: 1em;
	margin: 1em 0;
	box-shadow: none;
	background-color: var(--bg-light);
	border-radius: 0;
}

.podcast-link-info.card a {
	display: inline;
	text-decoration: underline;
}

.book-button {
	float: right;
}

.blog-overview li,
.podcast-overview li {
	clear: both;
	margin-bottom: 2em;
	overflow: hidden;
}

.podcast-overview .introduction {
	text-align: center;
	margin-bottom: 2em;
}

.podcast-overview .introduction > img.teesche-podcast-cover {
	border-radius: 1.5em;
	margin: 1em auto;
	transform: perspective(600px) rotateY(20deg) translateX(12px);
}

.blog-header-podcast-link:before {
	content: '🎧';
	display: inline-block;
	margin-right: 4px;
}

.blog-header-copy-link:before {
	content: '📋';
	display: inline-block;
	margin-right: 4px;
}

.blog-header-comments-link:before {
	content: '💬';
	display: inline-block;
	margin-right: 4px;
}

.centered {
	text-align: center;
}

.blog-overview li a,
.preview-header {
	display: block;
	min-height: 100px;
	text-decoration: none;
	color: inherit;
	line-height: 1.4;
	font-weight: 700;
}

.blog-overview p {
	margin: 0;
}

.blog-overview .list-headline,
.preview-header .preview-headline {
	display: block;
	margin-right: 110px;
}

.blog-overview .list-excerpt {
	text-decoration: none;
	color: var(--font-color);
	opacity: .25;
	font-size: .75em;
	line-height: 1.5em;
	display: block;
	margin-right: 110px;
	overflow: auto;
	text-overflow: initial;
	white-space: normal;
}

.blog-overview .preview-picture,
.preview-header .preview-picture {
	position: absolute;
	right: 0;
	top: 0;
	width: 100px;
	height: 100px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.preview-header .preview-picture {
	left: 24px;
	right: auto;
}

.preview-header .preview-headline {
	margin-right: auto;
	margin-left: 120px;
}

.book-overview .top-books {
	margin-bottom: 4em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.book-overview .top-books .book-3d-container {
	margin: 0 auto 1.5em;
	float: none;
}

.book-overview .top-books li {
	clear: none;
	width: calc((100% / 3) - .25em);
}

.book-overview .top-books li a {
	background-size: cover;
	background-position: center top;
	height: 100%;
	width: 100%;
	margin: 0;
	text-decoration: none;
}

.book-overview h2 {
	clear: both;
}

.book-overview ul {
	overflow: hidden;
	padding: 0;
}

.book-overview li {
	list-style: none;
	clear: both;
	overflow: hidden;
	margin-bottom: 2em;
}

.book-overview p,
.podcast-overview p {
	margin-top: 0;
	margin-bottom: .75em;
}

.book-overview .title,
.podcast-overview .title {
	color: inherit;
	font-weight: bold;
	margin-bottom: .25em;
}

.book-overview .subtitle,
.podcast-overview .subtitle {
	font-size: .8em;
	line-height: 120%;
}

.podcast-overview .subtitle {
	opacity: .7;
}

.book-overview .author {
	margin-top: 0;
	font-size: .9em;
}

.book-content .info a {
	text-decoration: none;
}

.book-content .content,
.podcast-overview .content {
	clear: both;
}

.book-content .content ul,
.book-content .content ol {
	overflow: visible;
	padding: 0 0 0 1.75em;
	list-style: initial;
}

.book-content .content ul li {
	list-style: disc;
	margin-bottom: .5em;
	overflow: visible;
}

.book-content .content ol li {
	list-style: decimal;
	margin-bottom: .5em;
	overflow: visible;
}

.book-cover,
.podcast-cover {
	display: block;
	float: left;
	margin-right: 2em;
	margin-bottom: 1em;
	height: 300px;
	width: 200px;
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: 1;
}

.book-3d-container {
	perspective: 3000px;
	z-index: 1;
	display: block;
	float: left;
	margin-right: 2em;
	margin-bottom: .5em;
}

.bookshelf-items li:hover .book-3d-container .book-wrap,
.book-3d-container:hover .book-wrap {
	transform: rotate3d(0,1,0, 0deg);
}

.book-3d-container .book-wrap {
	position: relative;
	display: block;
	width: 200px;
	height: 320px;
	margin: 5% auto;
	border-radius: 2px 4px 4px 2px;
	background: linear-gradient(45deg,  #DAD5DC 0%, #f2ebf4 100%);
	box-shadow: 8px 12px 16px 0px var(--shadow-color);
	font-weight: 400;
	color: #2b2b2b;
	transform-style: preserve-3d;
	transition: transform .5s;
	transform: rotate3d(0,1,0,30deg);
}

.book-3d-container .book-cover {
	display: block;
	position: absolute;
	transform-style: preserve-3d;
	transform-origin: 0% 50%;
	transform: translate3d(0,0,19px);
	z-index: 10;
}

.book-3d-container .book-cover img {
	height: 320px;
	width: 200px;
}

.book-3d-container .book-back {
	width: 40px;
	left: -21px;
	height: 320px;
	background-color: var(--code-bgcolor);
	transform: rotate3d(0,1,0,-90deg);
}

.book-3d-container .book-back h2 {
	width: 320px;
	height: 40px;
	color: var(--font-color);
	font-size: 15px;
	line-height: 20px;
	padding-right: 10px;
	text-align: left;
	transform-origin: 0 0;
	transform: rotate(270deg) translateX(-100%);
	padding-left: 10px;
	text-decoration: none;
}

.podcast-cover {
	height: 200px;
	margin-right: 0;
	margin-bottom: 0;
}

.podcast-content {
	padding-left: 240px;
}

.single-podcast {
	padding-left: 0;
}

.single-podcast audio {
	width: 100%;
}

.podcast-content ul,
.podcast-content ol {
	list-style: initial;
	padding: 0 1.5em .25em 1.5em;
	margin: 0 0 1em;
}

.podcast-content li {
	overflow: initial;
	margin-bottom: .25em;
}

.podcast-platforms {
	list-style: none;
	text-align: center;
}

.podcast-platforms li {
	display: inline;
	margin-bottom: .5em;
}

.podcast-platforms li a img {
	width: 60px;
	height: 60px;
}

.button {
	text-decoration: none;
	border: none;
	padding: .25em 1em;
	display: inline-block;
	font-weight: bold;
	display: inline-block;
	cursor: pointer;
	transition: all .2s ease-in-out;
	background: var(--primary-color);
	color: var(--font-color-button);
	margin-bottom: .25em;
	margin-top: .25em;
	border-radius: 1em;
}

.button:hover,
.button:focus {
	transition: all .2s ease-in-out;
	background-color: var(--bg-button-hover);
	color: var(--font-color-button-hover);
	transform: translateY(-2px);
	box-shadow: 0 4px 6px var(--card-shadow);
}

.button:active {
	transform: translateY(1px);
	box-shadow: 0 2px 4px var(--card-shadow);
}

.anchor {
	top: -120px;
	display: block;
	visibility: hidden;
}

figure {
	margin-left: 0;
	margin-right: 0;
	text-align: center;
}

figcaption {
	font-size: .75em;
	text-align: center;
	line-height: 1.5em;
	padding: 0 1em;
}

blockquote {
	border-left: 3px solid var(--font-color);
	font-style: italic;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	margin-left: 0;
	padding-left: .5em !important;
}

.blog-content blockquote {
	margin-left: 12px;
	margin-right: 0;
}

.comments:target {
	padding-top: 80px;
}

.password input,
.comments input:not([type="submit"]),
.comments textarea,
footer input {
	width: 100%;
	display: inline-block;
	border: .15em solid var(--secondary-color);
	padding: 0 .25em;
	color: var(--font-color);
	font-size: 1em;
	background: var(--bg-light);
	transition: all .2s ease-in-out;
}

.comments textarea,
.comments input:not([type="submit"]) {
	border-radius: 0;
}

.password input:focus,
.comments input:focus,
.comments textarea:focus,
footer input:focus {
	outline: 0;
	border-color: var(--primary-color);
	transition: all .2s ease-in-out;
}

.comments input[type="checkbox"]:focus ~ label .svg-checkbox {
	border: 3px solid var(--primary-color);
}

.comments .svg-checkbox svg {
	display: none;
}

.comments input[type="checkbox"]:checked ~ label .svg-checkbox svg {
	display: block;
}

.comments .send-notify .svg-checkbox svg {
	display: block;
}

.comments .send-notify .button {
	margin-right: 6px;
}

.comments .send-notify label {
	display: inline-block;
}

.comments .send-notify label span.bell-on svg {
	width: 78%;
    height: 78%;
    top: 3px;
    left: 3px;
}

.comments .send-notify label span.bell-off {
	display: inline-block;
}

.comments .send-notify label span.bell-on {
	display: none;
}

.comments .send-notify input[type="checkbox"]:checked ~ label span.bell-on {
	display: inline-block;
}

.comments .send-notify input[type="checkbox"]:checked ~ label span.bell-off {
	display: none;
}

.commentform .required-label {
	display: none;
	font-size: .9em;
	margin-left: 6px;
}

.commentform .notify-hint {
	opacity: 0;
	transition: all .2s;
	font-size: .9em;
}

.commentform label[for="notifyAuthor"]:hover .notify-hint,
.commentform input[name="notifyAuthor"]:focus ~ label .notify-hint,
.commentform input[name="notifyAuthor"]:checked ~ label .notify-hint {
	opacity: 1;
	transition: all .2s;
}


.password input[type="password"] {
	width: calc(100% - 186px);
}

.password input[type="submit"] {
	width: 160px;
	margin-left: 20px;
}

p.thanks {
	text-align: left;
	margin-top: .5em;
	animation: fadein .5s;
	background: var(--bg-light);
	padding: .5em 1em;
}

.fadein {
	animation: fadein .5s;
}

@keyframes fadein {
	from { opacity: 0; }
	to { opacity: 1; }
}

.comments ~ .share-point {
	font-size: 1.1em;
	font-weight: bold;
}

.comments ~ .share-point .svg {
	text-decoration: none;
}

.comments ~ .share-point svg {
	fill: var(--font-color);
	height: 1em;
	top: 2px;
}

.comments ~ .share-point span {
	display: inline-block;
	margin-left: .25em;
	font-weight: normal;
	font-style: italic;
}

.comments ~ .share-point code {
	word-wrap: break-word;
}

.interaction h3 {
	margin-bottom: 1em;
}

.comments textarea {
	width: 100%;
	height: 120px;
	line-height: 1.2;
	padding-top: .25em;
	padding-bottom: .25em;
	display: block;
}

.comments input[type="checkbox"] {
	position: absolute;
	left: -9999px;
}

.comments .svg-checkbox {
	width: 32px;
    height: 32px;
    display: inline-block;
    border: 3px solid var(--secondary-color);
	background: var(--bg-light);
	top: 8px;
}

.comments .svg-checkbox svg {
	width: 100%;
	height: 100%;
	fill: var(--secondary-color);
}

.comments .formgroup {
	margin-bottom: 1em;
	clear: both;
}

.comments .columns .formgroup {
	clear: none;
}

.comments .columns .halfwidth {
	float: left;
	width: calc((100% - 1em) / 2);
	margin-right: 1em;
}

.comments .columns .halfwidth ~ .halfwidth {
	margin-right: 0;
}

hr {
	display: block;
	height: 2px;
	border: 0;
	padding: 0;
	background: var(--font-color);
	width: 90% !important;
	max-width: 200px !important;
	margin: 4em auto;
}

section.blog + hr.cb {
	margin-top: 2em;
	margin-bottom: 2em;
}

.cb {
	clear: both;
}

.lightbox,
.overlay {
	position: fixed;
	transition: all .2s ease-in-out;
}

.lightbox {
	width: calc(100% - 8%);
	height: calc(100% - 8%);
	top: 4%;
	bottom: 4%;
	left: 4%;
	right: 4%;
	z-index: 100;
}

.overlay {
	z-index: 90;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.9);
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.lightbox .closeButton {
	display: block;
	top: 2%;
	right: 2%;
	width: 48px;
	height: 48px;
	position: fixed;
	color: #444;
	background: #fff;
	border-radius: 50%;
	text-align: center;
	border: 4px solid #444;
	line-height: 35px;
	font-weight: bold;
	font-size: 40px;
	text-decoration: none;
	transition: all .2s ease-in-out;
}

.lightbox .closeButton:hover {
	color: #fff;
	background: #444;
	transition: all .2s ease-in-out;
}

.overlay .spinner {
	position: absolute;
	top: 50%;
	width: 64px;
	text-align: center;
	color: rgba(0,0,0,.25);
	margin: -32px 0 0 -32px;
	left: 50%;
	height: 64px;
	line-height: 64px;
	font-size: .75em;
}

.fade-visible {
	visibility: visible;
	opacity: 1;
	transition: opacity .2s linear;
}

.fade-hidden {
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s .2s, opacity .2s linear;
}

.recommendations {
	overflow: hidden;
}

.recommendations > div {
	width: 50%;
	float: left;
	margin-bottom: 1em;
}

.recommendations > div:nth-child(1) {
	padding-right: 1em;
}

.recommendations > div:nth-child(2) {
	padding-left: 1em;
}

.recommendations h4 {
	line-height: 1.25em;
	margin-top: 1em;
	margin-bottom: .5em;
}

.recommendations a:not(.button) {
	color: inherit;
	text-decoration: none;
	transition: all .2s ease-in-out;
}

.recommendations h4 a:hover {
	color: var(--primary-color);
	transition: all .2s ease-in-out;
}

.recommendations p {
	line-height: 1.5em;
	font-size: .75em;
	margin-top: .5em;
	margin-bottom: 0;
}

.recommendations .picture {
	display: block;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	height: 200px;
}

.align-center {
	text-align: center;
}

.align-right {
	text-align: right;
}

.top-space {
	margin-top: 1.5em;
}

figure iframe {
	width: 100%;
	min-height: 450px;
}

figure iframe[src*="youtube"] {
	width: 100%;
    min-height: auto;
    aspect-ratio: 16 / 9;
    height: auto;
}

.searchbox {
	margin: .5em auto;
}

.searchbox input {
	border: 0;
	display: inline-block;
	width: 100%;
	height: 1.5em;
	padding: 1em .5em 1em 2em;
	background: var(--bg-light);
}

.searchbox svg {
	position: absolute;
	left: .5em;
	top: .5em;
	height: 1em;
	width: 1em;
}

.highlight {
	background-color: var(--secondary-color);
}

.result {
	padding: 1em;
	margin: 0 0 1em;
}

.box {
	/* box-shadow: 0 2px 20px var(--shadow-color); */
    border-radius: 10px;
    background-color: var(--bg-card);
	box-shadow: var(--card-shadow);
}

.card:hover .button {
	background-color: var(--bg-button-hover);
}

.eu-wrapper {
    margin: 0;
    padding: 0;
}

.eu-wrapper .card h3 {
	margin-top: 0;
	padding-top: 0;
	padding-bottom: .25em;
}

.card-wrapper {
    max-width: 100%;
    display: grid;
    width: 100%;
    grid-gap: 1em;
    grid-template-columns: repeat(3,1fr);
	list-style: none;
}

.card {
    padding: 0;
    /* box-shadow: 0 2px 20px var(--shadow-color); */
    border-radius: 10px;
    overflow: hidden;
    background-color: var(--bg-card);
	box-shadow: var(--card-shadow);
}

.card a {
    text-decoration: none;
    display: block;
    height: 100%;
    padding-bottom: 2.75em;
}

.card a:hover,
.latest-posts a:hover {
    opacity: 1;
}

.card a .button svg,
.button svg {
	transition: all .1s ease-in-out 0s;
}

.card a:hover .button svg,
.button:hover svg {
	position: relative;
	transform: translateX(.25em);
	transition: all .1s ease-in-out 0s;
}

.card img {
    max-width: 100%;
    transition: all .1s ease-out 0s;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.card a:hover img,
.card a:hover .image,
.latest-posts a:hover .post-image {
    /* transform: scale(1.05);
    transform-origin: bottom center; */
    filter: brightness(1.1);
	transition: all .2s;
}

.latest-posts a .post-image {
	transition: all .1s ease-out 0s;
}

.card p {
    margin: 0 0 1em;
}

.card h3 {
	margin-top: 0.25em;
    margin-bottom: 0;
    padding: 0.5em;
    text-align: left;
    font-size: .9em;
    line-height: 1.2;
}

.card .description {
    padding: 0 .5em;
    margin: 0;
    font-size: .8em;
    line-height: 1.3;
    color: var(--font-color-description);
}

.card .description.date {
	font-size: .6em;
	opacity: .7;
	margin-bottom: 1em;
	text-align: left;
	padding: 0 .7em;
}

.card button {
    border: 0;
    font-weight: bold;
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
	margin-bottom: .5em;
}

.button svg {
    fill: var(--font-color-button);
    height: 0.75em;
    top: 0.075em;
}

.card button:hover {
    box-shadow: none;
	transform: translateX(-50%) translateY(-2px);
}

.card button:active {
	transform: translateX(-50%) translateY(1px);
}

.card .image {
	width: 100%;
	height: 240px;
    background-position: center;
    background-size: cover;
	transition: all .2s;
}

.card.eu-marathons {
	background-image: url(/img/teesche-eu-marathons.png);
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: 140px;
	min-height: 260px;
	text-align: left;
}

.card.eu-marathons h2 {
	text-align: center;
}

.card.eu-marathons a {
	height: 100%;
}

.card.eu-marathons p {
	color: var(--font-color);
	text-decoration: none;
	font-size: .8em;
    line-height: 1.3;
	padding: 0 1em;
	text-align: left;
	width: calc(100% - 100px);
}

.card.eu-marathons .button {
	display: inline-block;
	text-align: left;
	margin-top: 1em;
	font-size: .9em;
	margin-left: 1em;
	margin-bottom: 1em;
}

section.eu h1 {
	margin-top: 2em;
}

section.eu h2 {
	scroll-margin-top: 140px;
}

.ebook {
    margin: 1em auto;
	text-align: center;
}

.book-download {
    margin: 1em;
    text-align: center;
    font-weight: bold;
}

.book-download a img {
    max-width: 100%;
    width: 160px;
    display: inline-block;
    margin: .5em 0;
    box-shadow: 5px 10px 15px rgba(0, 0, 0, 0.35);
}

.book-download small {
    text-decoration: none;
    display: block;
    font-weight: normal;
}

.subnav {
	list-style: none;
    position: fixed;
    margin: auto;
    padding: 0;
    text-align: center;
    z-index: 100;
	width: 100%;
    top: 74px;
    left: 50%;
    transform: translate(-50%);
	display: flex;
	justify-content: center;
}

.subnav li {
	margin: 0;
	padding: 0;
	border-right: 1px solid var(--bg-light);
}

.subnav li:last-child {
	border-right: 0;
}

.subnav li:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	opacity: .5;
	box-shadow: var(--card-shadow);
}

.subnav li a {
    display: block;
    text-decoration: none;
    color: var(--font-color);
    margin: 0;
    background: var(--bg-card);
    padding: 0em 1.5em;
    font-weight: 500;
    font-size: 14px;
}

.subnav li:first-child,
.subnav li:first-child a,
.subnav li:first-child:after {
	border-bottom-left-radius: 1.25em;
}

.subnav li:last-child,
.subnav li:last-child a,
.subnav li:last-child:after {
	border-bottom-right-radius: 1.25em;
}

.subnav li a:hover {
	color: inherit !important;
	background-color: var(--bg-light);
}

.subnav li a.active,
.subnav li a:hover {
	background: var(--bg-light);
}

.status-table {
	border-collapse: collapse;
	width: 100%;
}

.status-table tr {
	background-color: .5s ease-out 0s;
}

.status-table tr:hover {
	cursor: pointer;
    background: var(--bg-light);
    transition: background-color .1s ease-out 0s;
}

.status-table tr:nth-child(odd) {
	background: var(--bg-light);
}

.status-table td {
	padding: 3px 6px;
}

.status-table .flag-background {
	background-repeat: no-repeat;
    background-position: -1px center;
    background-size: 32px;
    padding-left: 40px !important;
}

.status-table td:first-child {
	text-align: center;
}

.status-table td:nth-child(n+4) {
	text-align: right;
}

.status-table .country-code {
	display: none;
}

.bottom-links {
    overflow: hidden;
    margin: 4em auto;
    text-align: center;
}

.bottom-links a {
    display: inline-block;
    width: calc(700px / 4);
    color: inherit;
    margin: 1em 0;
	text-decoration: none;
}

.bottom-links a svg {
    font-size: 2.5em;
    display: block;
    margin: 0 auto 0.25em;
}

.bottom-links a svg {
    height: 40px;
    width: 45px;
    margin-bottom: 10px;
    display: block;
    fill: var(--font-color);
}

.certificate-pdf {
	width: 100%;
	aspect-ratio: 210 / 297;
	padding-left: 0;
	padding-right: 0;
}

.big-background {
	max-width: 100%;
    margin: -14px 0 0;
    padding: 0;
}

table.paragraph-width {
	margin-top: 1em;
	width: 100%;
}

table.paragraph-width th {
	text-align: left;
}

.mapcontainer {
	width: 100%;
	height: 640px;
	z-index: 0;
}

.leaflet-popup-content {
	font-size: 14px;
	line-height: 1.3;
}

.leaflet-popup-content .button {
	color: #fff;
	margin-top: 12px;
}

.card.subscribe {
	margin: 0;
	padding: 1.5em 2em;
	overflow: visible;
}

.card.subscribe:before {
	display: block;
	width: 120px;
	height: 120px;
	content: '';
	border-radius: 50%;
	background-color: white;
	background-image: url(/img/avatar_512.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: absolute;
    right: -0.5em;
    top: -0.5em;
    z-index: 1;
}

.card.subscribe.subscribe-frontpage {
	margin: 0 calc(((100% - 800px) + 2em) / 2);
	max-width: 100%;
}

.card.subscribe.subscribe-frontpage:before {
	display: none;
}

.card.subscribe.subscribe-frontpage a {
	height: auto;
	display: inline;
	padding-bottom: 0;
	text-decoration: underline;
}

.card.subscribe h3,
.subscription-box h3 {
	margin-bottom: 0;
	font-size: 1.1em;
}

.card.subscribe h3,
.card.subscribe p,
.subscription-box h3,
.subscription-box p {
	text-align: center;
}

.subscription-box p {
	margin-top: .25em;
	margin-bottom: 1em;
	color: var(--font-color);
}

.subscription-box ul {
	margin: 1em auto;
	display: table;
	padding: 0;
}

.subscription-box li {
	list-style: none;
	padding-left: 1.8em;
}

.subscription-box li::before {
	position: absolute;
	left: 0;
}

.subscription-box li:nth-child(1)::before {
	content: '🔔 ';
}

.subscription-box li:nth-child(2)::before {
	content: '🏋️ ';
}

.subscription-box li:nth-child(3)::before {
	content: '🔬 ';
}

.subscription-box li:nth-child(4)::before {
	content: '📚 ';
}

.subscription-box li:nth-child(5)::before {
	content: '🤩 ';
}

.card.subscribe .small,
.subscription-box .small {
	margin-top: 1em;
	font-size: .7em;
	font-size: italic;
	line-height: 1.3;
}

.subscription-box form {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.card.subscribe input,
.subscribe input,
.subscription-box input {
	width: calc(100% - 170px);
	float: left;
	border-top-left-radius: 1em;
	border-bottom-left-radius: 1em;
	border: none;
	color: var(--input-color);
	padding-top: 0.125em;
    padding-bottom: 0.125em;
    padding-left: 1em;
	background-color: var(--bg-input);
}

.card.subscribe button,
.subscribe button,
.subscription-box button {
	left: auto;
	width: 170px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	position: relative;
	transform: none;
	padding-top: 0.3em;
    padding-bottom: 0.3em;
	margin: 0;
}

.subscribe button:hover,
.subscription-box button:hover {
	transform: none;
}

@keyframes slideInOut {
	0% {
	  transform: translateX(100%);
	  opacity: 0;
	}
	10%, 90% {
	  transform: translateX(0);
	  opacity: 1;
	}
	100% {
	  transform: translateX(-100%);
	  opacity: 0;
	}
}

.subscription-box .testimonials-container {
	overflow: hidden;
	width: 100%;
}

.subscription-box ul.testimonials {
	list-style: none;
}

.subscription-box .testimonials li {
	background-color: var(--bg-color);
	padding: .75em 1.8em .5em;
	display: none;
	opacity: 0;
	height: 100%;
}

.subscription-box .testimonials li .testimonial-wrapper {
	display: flex;
    justify-content: center;
    align-items: center;
	flex-direction: column;
    height: 100%;
}

.subscription-box .testimonials li.active {
	opacity: 1;
	display: block;
}

.subscription-box .testimonials li:before {
	display: none;
}

.subscription-box .testimonials blockquote:before {
	display: block;
	position: absolute;
	content: '“';
	color: rgba(128, 128, 128, .6);
	font-size: 6em;
	font-family: sans-serif;
	font-style: normal;
	top: -12px;
	left: 10px;
}

.subscription-box .testimonials blockquote {
	border-left: 0;
	margin-top: 2em;
	margin-bottom: 0;
	font-style: normal;
	color: var(--font-color);
}

.subscription-box .testimonials p.author {
	margin-top: 0;
	margin-bottom: 0;
	text-align: right;
	font-style: italic;
	font-size: .8em;
	padding-right: .5em;
	width: 100%;
}

.subscribe-inline {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1em;
	margin-bottom: 1em;
}

.newsletter-preview > * {
	margin-left: auto;
	margin-right: auto;
	max-width: 100% !important;
}

.newsletter-preview .header > img {
	max-width: 100% !important;
}

.newsletter-preview hr {
	margin-top: 1em;
	margin-bottom: 1em;
}

.newsletter-preview .content-text img {
    max-height: 600px;
	object-fit: contain;
}

.notification {
	background-color: var(--bg-notification);
	padding: 1em;
	margin: 1em 0;
}

.notification.error {
	background-color: var(--bg-notification-error);
}

.notification p {
	margin: 0 0 .5em;
}

.newsletter-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.newsletter-list li {
	display: block;
	padding: .25em 0;
	margin: 0 0 .5em;
}

.newsletter-list li a {
	text-decoration: none;
	display: block;
}

.newsletter-list li a:hover {
	/* transform: scale(1.05); */
}

.newsletter-list span {
	line-height: 1.5em;
}

.newsletter-list .date {
	color: var(--font-color-description);
	display: inline-block;
	font-size: .7em;
}

.newsletter-list strong {
	display: block;
	max-width: calc(100% - 2em);
}

.newsletter-list .arrow-link {
	height: 1.5em;
    width: 1.5em;
    background: var(--primary-color);
    position: absolute;
    right: 0;
	top: 50%;
    transform: translateY(-50%);
    border-radius: 1em;
	text-align: center;
	line-height: 2em;
}

.newsletter-list .arrow-link svg {
	fill: var(--font-color-button);
	height: 80%;
	width: 80%;
}

.mt2 {
	margin-top: 2em;
}

section.reactions {
	padding-bottom: 24px;
}

.emotion h3,
.emotion p {
	text-align: center;
}

.emotion h3 {
	margin-bottom: 0;
}

.emotion .description,
.light-description {
	margin-top: 0;
	font-size: .9em;
	color: var(--font-color-description);
}

.emotion ul {
	margin: 1em auto;
	padding: .5em 0;
	text-align: center;
}

.emotion ul li {
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline;
}

.emotion ul li a {
	display: inline;
	text-decoration: none;
	color: inherit;
	display: inline-block;
	text-decoration: none;
	color: inherit;
	border: 4px solid var(--font-color-button);
	border-radius: 50%;
	height: 100px;
	width: 100px;
	margin: 0 0.25em;
	background: linear-gradient(70deg, #FF0080, #FF8C00);
	opacity: 1;
}

.emotion ul li a span {
	display: block;
	position: absolute;
	bottom: -0.75em;
	font-size: .75em;
	width: 120%;
	background-color: var(--bg-input);
	color: var(--input-color);
	border-radius: 0.5em;
	padding: 0;
	left: -10%;
	line-height: 1.75em;
}

.emotion ul li a svg {
	fill: var(--font-color-button);
	height: 50%;
	width: 50%;
	display: block;
	margin: 25% auto;
}

.emotion ul li a .check-svg {
	display: none;
	background: none;
	bottom: -.5em;
}

.emotion ul:hover li a,
.emotion li a.inactive {
	opacity: .5;
}

.emotion ul li a:hover {
	transform: scale(1.05);
	opacity: 1;
}

.emotion ul li a.checked > svg {
	display: none;
}

.emotion ul li a.checked {
	transform: scale(1.05);
	opacity: 1;
}

.emotion ul li a.checked .check-svg {
	display: block;
}

.comments-container {
	clear: both;
	margin-bottom: 3em;
}

.comments-container .comment-composer {
	margin-bottom: 2em;
}

.comments-headline {
	clear: both;
	overflow: hidden;
	z-index: 1;
}

.comments-headline h3 {
	float: left;
}

.comments-headline .button {
	margin: 1em 0;
	float: right;
}

.comments .write-comment {
	padding-top: 80px;
	margin-top: -80px;
	display: inline-block;
}

.comments-container .write-comment {
	padding-top: 0;
	margin-top: 0;
}

.comments .comment-author {
	margin-top: 0;
	margin-bottom: .25em;
}

.comments .comments-comment {
	margin-bottom: 1.5em;
	overflow: hidden;
}

.comments .comments-comment.owner-reply {
	border-left: 3px solid var(--font-color);
	padding-left: .5em;
}

.comments .comments-comment *:not(.button) {
	font-size: 20px;
	line-height: 1.5;
}

.comments .comments-comment:last {
	margin-bottom: 2em;
}

.comments .comment-timestamp {
	font-size: .9em;
	opacity: .5;
	margin-top: .25em;
	float: left;
	margin-bottom: 0;
}

.comments .comment-reply-button {
	float: right;
    font-size: .7em;
    line-height: 1.5em;
    margin-top: 0.35em;
}

.comments .comment-reply,
.comments-container .comment-composer {
	margin-left: 4em;
}

.comments-comment:target {
	padding-top: 80px;
	margin-top: -80px;
	display: inline-block;
	width: 100%;
}

.subscription-box {
	margin: 2em auto 0;
	padding: 3em 2em 1.5em;
	overflow: visible;
	border-radius: 0;
	background-color: var(--bg-light);
	max-width: 1060px;
}

.blog .subscription-box {
	margin-top: 1em;
	margin-bottom: 1em;
}

footer .subscription-box {
	margin-top: 0;
}

.subscription-box:before {
	display: block;
	width: 120px;
	height: 120px;
	content: '';
	border-radius: 50%;
	background-color: white;
	background-image: url(/img/avatar_512.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: absolute;
	right: .5em;
	top: .5em;
	z-index: 1;
}

.subscription-box-tiny {
	margin: 1em auto 2em;
	padding: 1em 2em;
}

.subscription-box-tiny h3 {
	margin-top: 0;
	margin-bottom: .5em;
	font-size: 1.1em;
}

.subscription-box-tiny:before {
	display: none;
}

.subscription-box-tiny .small {
	margin: .5em 0 0;
}

.subscription-box a {
	text-decoration: none;
}

.subscription-box .testimonials a {
	text-decoration: underline;
	color: var(--primary-color);
}

.subscription-box p.no-space {
	margin-top: 0;
	margin-bottom: 0;
}

.frontpage > *:not(figure) {
	max-width: 1060px;
	margin-left: auto;
	margin-right: auto;
}

.frontpage > .popular-posts {
	background-color: var(--bg-standout-section);
	padding-top: .25rem;
	padding-bottom: .25rem;
}

.not-fat {
	font-weight: normal;
}

.front-hero {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 1em;
	margin-top: 0;
	margin-bottom: 4em;
}

.frontpage .intro-text {
	flex: 3;
}

.frontpage .intro-text a {
	white-space: nowrap;
}

.frontpage .intro-main {
	font-size: 1.2em;
}

.frontpage .intro-picture {
	flex: 2;
	padding-top: 2em;
}

.frontpage .intro-picture img {
	max-width: 100%;
	border-radius: .5em;
}

.frontpage .subscribe input {
	max-width: 260px;
	width: 100%;
}

.check-posts-wrapper {
	text-align: center;
}

.check-posts {
	fill: var(--font-color);
	width: 640px;
	max-width: 100%;
	transition: .2s all;
}

.card-wrapper.selected-posts {
	max-width: 100%;
	padding: 0;
	display: flex;
	overflow-x: scroll;
	scroll-behavior: smooth;
	margin-bottom: 0;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin; /* "thin" or "auto" depending on your preference */
	scrollbar-color: transparent transparent; /* Change these colors as needed */
}

.card-wrapper.selected-posts::-webkit-scrollbar {
	display: none;
}

.frontpage .card .image {
	height: auto;
	aspect-ratio: 1.618;
}

.card-wrapper.selected-posts .card {
	flex: 0 0 25%;
	min-width: 220px;
	scroll-snap-align: center;
}

.selected-posts .card {
	box-shadow: none;
	border-radius: 0;
	background-color: transparent;
}

.selected-posts .card a {
	height: auto;
	padding-bottom: 0;
}

.selected-posts .card h3 {
	color: var(--font-color-standout);
	padding: .25em 0 .5em;
	margin-top: .25em;
}

.popular-posts a.skip-left,
.popular-posts a.skip-right {
	color: var(--font-color-standout);
	text-decoration: none;
	font-size: 1.5em;
	font-weight: bold;
	display: block;
	width: 2em;
	height: 2em;
	background: #000000bd;
	position: absolute;
	z-index: 1;
	top: 50%;
	display: block;
	transform: translate(0, -50%);
	outline: none;
	text-align: center;
	line-height: 1.9em;
	border-radius: 50%;
}

.popular-posts a.skip-left {
	left: 1em;
}

.popular-posts a.skip-right {
	right: 1em;
}

.popular-posts .skip-hidden {
	display: none !important;
}

.selected-posts .card .description {
	padding: 0;
	font-size: .7em;
	max-height: 2.5em;
	text-overflow: ellipsis;
	color: var(--font-semi-transparent);
}

.latest-posts-headline {
	margin-top: 2em;
	margin-bottom: 0;
}

.latest-posts img {
	max-width: 100%;
}

.post-featured {
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 2px solid var(--font-color);
	text-decoration: none;
	display: block;
}

.post-featured h2 {
	color: var(--font-color);
	margin: 0.5em 0 0;
	font-size: 1.3em;
	line-height: 1.3;
}

.post-featured p {
	margin-top: .25em;
	margin-bottom: .25em;
	color: var(--font-color);
	font-size: .9em;
	line-height: 1.3em;
}

.post-featured time,
.post-featured-small time {
	color: var(--font-color-description);
	text-transform: uppercase;
	font-size: .75em;
	margin-bottom: .5em;
	display: block;
}

.post-featured .featured-picture {
	aspect-ratio: 1.618;
	width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.post-featured-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1em;
}

.post-featured-small {
	width: calc((100% - 2em) / 3);
	text-decoration: none;
}

.post-featured-small .post-image {
	display: block;
	height: auto;
	aspect-ratio: 1.618;
	margin-bottom: .5em;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.post-featured-small h2 {
	font-size: 1em;
	margin: .5em 0 0;
}

.inner-shadow-left {
	width: 24px;
	height: 100%;
	position: absolute;
	z-index: 1;
	background-image: linear-gradient(90deg, var(--bg-standout-section), transparent);
	bottom: 0;
	left: 11px;
}

.inner-shadow-right {
	width: 24px;
	height: 100%;
	position: absolute;
	z-index: 1;
	background-image: linear-gradient(270deg, var(--bg-standout-section), transparent);
	right: 11px;
	bottom: 0;
}

.marathons-teaser {
	background-color: var(--bg-light);
	background-image: url(/img/teesche-eu-marathons.png);
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: 200px;
	min-height: 440px;
	display: flex;
	align-items: center;
	margin: 2em 0;
}

.marathons-teaser .text-block {
	width: 65%;
	text-align: center;
	margin-left: 10%;
}

.marathons-teaser p,
.podcast-front-teaser p {
	margin-top: 0;
}

.marathons-teaser a,
.podcast-front-teaser a,
.about-me a,
.bookshelf-teaser a {
	text-decoration: none;
}

.bookshelf-items a {
	color: var(--font-color);
}

.marathons-teaser a svg,
.podcast-front-teaser a svg,
.about-me a svg,
.bookshelf-teaser a svg,
.subscription-box a svg {
	fill: var(--primary-color);
	height: 0.75em;
	top: 0.075em;
	transition: .2s all;
}

.marathons-teaser .slider-wrapper {
	width: 100%;
	position: absolute;
	top: 0;
	display: flex;
	overflow: hidden;
	gap: .25em;
}

.marathons-teaser .eu-flags-slider {
	flex-shrink: 0;
	display: flex;
	justify-content: space-around;
	min-width: 100%;
	gap: .25em;
	animation: scrollAround 60s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	.marathons-teaser .eu-flags-slider {
		animation-play-state: paused !important;
	}
}

.marathons-teaser .eu-flags-slider img {
	height: 40px;
	opacity: 1;
}

.podcast-front-teaser {
	min-height: 480px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
}

.podcast-front-teaser .podcast-main-cover {
	display: block;
	border-radius: 1em;
	overflow: hidden;
	width: 240px;
	height: 240px;
	flex-shrink: 0;
	transform: perspective(600px) rotateY(20deg);
}

.podcast-front-teaser .podcast-main-cover img {
	width: 100%;
	height: 100%;
}

.podcast-front-teaser .text-block {
	width: 65%;
	text-align: center;
}

.frontpage a:hover svg {
	fill: var(--link-color-hover);
	transition: .2s;
}

@keyframes scrollAround {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% - .25em));
	}
}

section.about-me h2,
section.about-me p {
	text-align: center;
}

section.about-me h2,
section.quantified h2,
section.bookshelf-teaser h2,
section.upcoming-races h2 {
	margin-bottom: 0;
}

section.about-me p,
section.quantified p,
section.bookshelf-teaser p,
section.upcoming-races p {
	margin-top: 0;
}

.about-me-teaser-container {
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
}

.about-me-teaser-container div {
	flex: 1;
	min-width: calc((100% / 2) - .5em);
	background-color: var(--bg-light);
	text-align: center;
	padding: 3rem 1rem 1rem;
}

.about-me-teaser-container .emoji {
	font-size: 3rem;
}

.about-me-tiles {
	list-style: none;
	margin: 1em 0 4em;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
}

.about-me-tiles li {
	list-style: none;
	margin: 0;
	flex: 1;
	min-width: calc((100% / 2) - .5em);
	background-color: var(--bg-light);
	text-align: center;
	border: 3px solid var(--bg-light);
}

.about-me-tiles li.active {
	border: 3px solid var(--primary-color);
}

.about-me-tiles li a {
	display: block;
	padding: .5em;
	text-decoration: none;
	cursor: pointer;
}

.about-me-tiles li:hover {
	background-color: var(--bg-card);
	border-color: var(--bg-card);
	transition: all .2s ease-in-out;
}

.about-me-tiles li.active:hover {
	border-color: var(--primary-color);
}

.about-me-tiles li h3 {
	font-size: 1em;
	margin-top: 0;
	margin-bottom: 0;
}

.about-me-tiles li p {
	color: var(--font-color-description);
	margin: 0 .25em;
	font-size: .8em;
	line-height: 1.3em;
}

.about-me-tiles .emoji {
	font-size: 1em;
	display: inline-block;
	margin-right: .25em;
}

.bookshelf-items {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 2em 0 0;
	justify-content: space-between;
}

.bookshelf-items li {
	width: calc((100% / 3) - .5em);
	padding-bottom: 2em;
}

.bookshelf-items .book-3d-container {
	float: none;
	margin-right: 0;
}

.bookshelf-items li,
.bookshelf-items li a,
.bookshelf-items li:hover .title,
.bookshelf-items li:hover .description,
.bookshelf-items li:focus .title,
.bookshelf-items li:focus .description,
.bookshelf-items li:active .title,
.bookshelf-items li:active .description {
	color: var(--font-color);
}

.bookshelf-items li .book-link a {
	color: var(--primary-color);
}

.bookshelf-items li .author {
	text-align: center;
	margin-top: 2em;
	margin-bottom: 0;
	line-height: 1.2em;
	font-size: .75em;
	color: var(--secondary-color);
}

.bookshelf-items li .title {
	text-align: center;
	margin: 0 0 1em;
	line-height: 1.2em;
	color: var(--font-color);
}

.bookshelf-items li .description {
	font-size: .9em;
	line-height: 1.3em;
	color: var(--font-color);
}

.upcoming-races ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
}

.upcoming-races li {
	text-align: center;
}

.upcoming-races time,
.upcoming-races span {
	color: var(--font-color-description);
	font-size: .8em;
	min-width: 100px;
	text-align: right;
}

@media screen and (max-width: 800px) {

	header {
		padding: .25em .5em;
		padding-left: 0;
		padding-right: 0;
		left: 12px;
		right: 12px;
		width: calc(100% - 24px);
	}

	header nav {
		padding: 0;
	}

	header nav > a {
		display: inline-block;
		text-align: left;
		padding-bottom: .75em;
		padding-left: 1em;
		line-height: 1;
	}

	header nav > a img {
		float: none;
		display: inline-block;
		margin-right: 2em;
		position: relative;
		left: auto;
		top: 0.5em;
	}

	header .mobile-nav-opener {
		display: block;
		fill: var(--font-color-header);
		float: right;
		padding-right: 1.25em;
		padding-top: .85em;
	}

	header nav ul {
		float: none;
		display: none;
		position: absolute;
		margin-top: 32px;
		width: 100%;
		height: 100vh;
		padding-top: 1em;
	}

	header nav ul .hide-above-800 {
		display: block;
		margin-top: 1em;
	}

	header nav ul .theme-switch:after {
		color: var(--font-color-description);
		text-decoration: none;
		font-size: inherit;
		font-weight: bold;
		opacity: inherit;
		display: block !important;
		text-align: right;
		width: calc(100% - 1.5em);
	}

	header nav ul .smaller a {
		font-size: 1em;
		color: var(--font-color-description);
		margin-right: .25em;
	}

	header nav ul li {
		display: block;
	}

	header nav ul li a {
		font-size: 1.25em;
		line-height: 1.75em;
		font-weight: bold;
		text-align: right;
		display: block;
		padding-right: 1em;
		color: var(--font-color);
	}

	.subnav {
		top: 84px;
	}

	section.eu h2 {
		scroll-margin-top: 120px;
	}

	.status-table {
		font-size: .8em;
	}

	.card.subscribe.subscribe-frontpage {
		margin: 0 1em;
	}

	.card.subscribe:before {
		width: 100px;
		height: 100px;
	}

	.emotion ul li a {
		margin-bottom: .5em;
	}

	.emotion ul li a.checked {
		transform: scale(1);
	}

	.self-tiles li {
		width: calc((100% / 3) - .5rem);
	}

	.big-background {
		margin-top: -4px;
	}

	.front-hero .intro-text,
	.front-hero .intro-picture {
		flex: 1 0 100%;
	}

	.front-hero .intro-picture {
		text-align: center;
	}

	.front-hero .intro-picture img {
		max-width: 100%;
		width: 400px;
	}

	.frontpage .subscribe {
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}

	.frontpage .subscribe input {
		width: calc(100% - 170px);
	}

	.frontpage .subscribe button {
		font-size: 24px;
	}

	.popular-posts a.skip-left,
	.popular-posts a.skip-right {
		display: none;
	}

	.post-featured h2 {
		font-size: 1.1em;
	}

	.post-featured .featured-picture {
		aspect-ratio: 1;
	}

	.post-featured-small {
		width: calc((100% - 1em) / 2);
		padding-bottom: .5em;
	}

	.post-featured-small h2 {
		line-height: 1.3;
	}

	.marathons-teaser {
		padding-top: 4em;
	}

	.marathons-teaser .text-block {
		margin-left: 5%;
		width: 55%;
	}

	.about-me-teaser-container div {
		min-width: 100%;
	}

	.bookshelf-items li {
		width: calc((100% / 2) - .5em);
	}

	.subscription-box h3 {
		margin-top: 2em;
	}

	.subscription-box-tiny h3 {
		margin-top: 0;
	}

}

@media screen and (max-width: 640px) {

	body {
		font-size: 20px;
		line-height: 32px;
		padding-top: 64px;
	}

	header nav > a {
		padding-bottom: .75em;
	}

	header nav ul {
		margin-top: 32px;
	}

	header nav ul li.social {
		display: none;
	}

	.anchor {
		top: -100px;
	}

	article {
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}

	.blog-overview .list-excerpt {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-weight: normal;
	}

	.blog-content > *:not(figure) {
		padding-left: 12px;
		padding-right: 12px;
	}

	.blog-content figure img {
		width: 100%;
	}

	.recommendations > div {
		padding: 0 !important;
		float: none;
		width: 100%;
	}

	.theme-switch,
	.searchbox {
		width: 100%;
	}

	.book-overview .book-cover {
		height: 300px;
		width: 200px;
		float: none;
	}

	.introduction-picture {
		margin-left: 20px;
		margin-bottom: 20px;
		width: 128px;
		height: 128px;
	}

	.podcast-cover {
		width: 120px;
		height: 120px;
		float: none;
	}

	.podcast-content {
		padding-left: 0;
		margin-top: 1em;
	}

	.podcast-teaser img {
		width: 60px;
		height: 60px;
	}

	.podcast-teaser > p {
		margin-left: 72px;
	}

	.podcast-platforms li a img {
		width: 40px;
		height: 40px;
	}

	.podcast-overview .introduction > img {
		max-width: 100%;
		height: auto;
	}

	.self-tiles .number {
		font-size: 1.5em;
	}

	.self-tiles li {
		width: calc((100% / 2) - .25em);
	}

	.preview-header .preview-picture {
		position: relative;
		display: block;
		width: 100%;
		left: auto;
		height: 200px;
	}

	.preview-header .preview-headline {
		margin-left: 0;
		margin-top: .5em;
	}

	.preview-header .preview-date {
		text-align: left;
		margin-top: .5em;
	}

	.book-button {
		float: none;
	}

	.book-overview .top-books li {
		width: calc((100% / 2) - .25em);
	}

	.card button {
        width: calc(100% - 1em);
        left: .5em;
        transform: none;
    }

	table.paragraph-width th,
	table.paragraph-width td {
		font-size: .7em;
		line-height: 1.3;
	}

	.subnav {
		top: 72px;
	}

	.subnav li a {
		padding: 0 .5em;
	}

	.status-table td:nth-child(1),
	.status-table td:nth-child(4) {
		display: none;
	}

	.status-table .country-code {
		display: block;
	}

	.status-table .country-full {
		display: none;
	}

	.mapcontainer {
		height: 400px;
	}

	.card-wrapper,
	.card-wrapper.top-teasers {
        grid-template-columns: repeat(1,1fr);
    }

	.card.eu-marathons p {
		font-size: 1em;
	}

	.card.subscribe {
		padding-left: 1em;
		padding-right: 1em;
	}

	.card.subscribe:before,
	.subscription-box:before {
		width: 120px;
		height: 120px;
		position: relative;
		right: auto;
		margin: auto;
	}

	.subscription-box {
		padding-top: 1.5em;
	}

	.subscription-box-tiny {
		padding-top: 1em;
	}

	.subscription-box .testimonials li {
		margin-left: 0;
		margin-right: 0;
		padding: 1.5em 1em 1em;
		flex: 0 0 calc(100%);
	}

	.subscription-box .testimonials blockquote {
		margin-right: 0;
		padding-left: .5em;
		padding-right: .5em;
	}

	.emotion ul li a {
		width: 70px;
		height: 70px;
		font-size: .8em;
	}

	.comments:target {
		padding-top: 100px;
	}

	.comments .write-comment {
		padding-top: 100px;
		margin-top: -100px;
	}

	.comments-headline {
		text-align: center;
		margin-bottom: 1.5em;
	}

	.comments-headline > h3,
	.comments-headline > a.button {
		text-align: center;
		float: none;
		margin: .25em auto;
	}

	.big-background {
		margin-top: 0;
	}

	.podcast-front-teaser .podcast-main-cover {
		width: 180px;
		height: 180px;
	}

	.subscription-box input,
	.card.subscribe input {
		border-radius: 0;
		width: 100%;
		display: inline-block;
		border: 0.15em solid var(--secondary-color);
		padding: 0 0.25em;
		color: var(--font-color-input);
		font-size: 1em;
		background: var(--bg-input);
		transition: all .2s ease-in-out;
	}

	.subscription-box input:focus,
	.card.subscribe input:focus {
		outline: 0;
		border-color: var(--primary-color);
		transition: all .2s ease-in-out;
	}

	.subscription-box button,
	.card.subscribe button {
		text-decoration: none;
		border: none;
		padding: 0.25em 1em;
		display: inline-block;
		width: 100%;
		font-size: 24px;
		font-weight: bold;
		display: inline-block;
		cursor: pointer;
		transition: all .2s ease-in-out;
		background: var(--primary-color);
		color: var(--font-color-button);
		margin-bottom: 0.25em;
		margin-top: 0.25em;
		border-radius: 1em;
	}

	.upcoming-races li {
		margin-bottom: 2em;
	}

	.upcoming-races li time,
	.upcoming-races li span {
		display: block;
		text-align: center;
		line-height: 1.1;
	}

	.about-me-tiles li {
		min-width: 100%;
		padding: .125em;
	}

	.about-me-tiles li p {
		line-height: 1.3em;
	}

}

@media screen and (max-width: 400px) {

	footer,
	section {
		padding: 24px 12px;
	}

	.anchor {
		top: -150px;
	}

	.password input[type="password"],
	.password input[type="submit"]{
		float: none;
		width: 100%;
		margin-bottom: .5em;
		margin-left: 0;
		margin-right: 0;
	}

	.podcast-platforms li a img {
		width: 32px;
		height: 32px;
	}

	.self-tiles li .number {
		font-size: 1.25em;
	}

	.book-overview .top-books li {
		width: 100%;
	}

	.book-3d-container {
		float: none;
		margin: 0 auto 1.5em;
	}

	table.paragraph-width th,
	table.paragraph-width td {
		font-size: .5em;
		line-height: 1.3;
	}

	.comments .columns .halfwidth {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	.comments .svg-checkbox {
		top: 0;
	}

	.comments .svg-checkbox,
	.comments .label-text {
		float: left;
	}

	.comments .label-text {
		font-size: .8em;
		padding-left: 2.5em;
		display: block;
		position: absolute;
	}

	.comments input[type="checkbox"] ~ label {
		clear: both;
		overflow: hidden;
		display: block;
	}

	.comments .comment-reply,
	.comments-container .comment-composer {
		margin-left: 2em;
	}

	.comments .comments-comment {
		margin-bottom: 1.5em;
	}

	.card-wrapper.selected-posts .card {
		min-width: 75%;
	}

	.post-featured-small {
		width: 100%;
	}

	.marathons-teaser {
		min-height: 680px;
		align-items: start;
		background-size: 200px;
		padding-top: 3em;
	}

	.marathons-teaser .text-block {
		width: 100%;
		margin-left: 0;
	}

	.podcast-front-teaser {
		display: block;
	}

	.podcast-front-teaser .podcast-main-cover {
		margin: 2em auto;
	}

	.podcast-front-teaser .text-block {
		width: 100%;
	}

	.bookshelf-items li {
		width: 100%;
	}

	.frontpage .subscribe input {
		border-radius: 0;
		width: 100%;
		max-width: 100%;
		display: inline-block;
		border: 0.15em solid var(--secondary-color);
		padding: 0 0.25em;
		color: var(--font-color-input);
		font-size: 1em;
		background: var(--bg-input);
		transition: all .2s ease-in-out;
	}

	.frontpage .subscribe input:focus {
		outline: 0;
		border-color: var(--primary-color);
		transition: all .2s ease-in-out;
	}

	.frontpage .subscribe button {
		text-decoration: none;
		border: none;
		padding: 0.25em 1em;
		display: inline-block;
		width: 100%;
		font-size: 24px;
		font-weight: bold;
		display: inline-block;
		cursor: pointer;
		transition: all .2s ease-in-out;
		background: var(--primary-color);
		color: var(--font-color-button);
		margin-bottom: 0.25em;
		margin-top: 0.25em;
		border-radius: 1em;
	}

}

code,
pre {
	color: var(--font-color);
	background: var(--code-bgcolor);
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	text-align: left;
	white-space: pre-wrap;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	font-size: 18px;
	line-height: 32px;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre {
	padding: 1em;
	margin: 1em 0;
	overflow: auto;
}

:not(pre) > code,
pre {
	background: var(--code-bgcolor);
}

:not(pre) > code {
	padding: .15em .25em;
}