@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Khula:400,700');
@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@600&display=swap');

html {
	font-family: 'Khula', sans-serif;
	font-size: 100%;
}

body {
	font-family: 'Khula', sans-serif;
	font-size: 0.9rem;
	background: #464646;
	margin: 0;
	padding: 0;
	color: #ffffff;
	overflow-x: hidden; /* Hide horizontal scrollbar */
	overflow-y: scroll; /* Add vertical scrollbar */
}

ul, ol, dl { /* Aufgrund von Abweichungen zwischen verschiedenen Browsern empfiehlt es sich, die Auffüllung und den Rand in Listen auf 0 einzustellen. Zu Konsistenzzwecken können Sie die gewünschten Werte entweder hier oder in den enthaltenen Listenelementen (LI, DT, DD) eingeben. Beachten Sie, dass die hier eingegebenen Werte hierarchisch auf die .nav-Liste angewendet werden, sofern Sie keinen spezifischeren Selektor festlegen. */
	padding: 0;
	margin: 0;
}

h1 { 
	font-family: 'Comfortaa', cursive;
	font-size:2.5rem;
	font-weight:700;
	padding-top: 20px;
}

h2, h3, h5, h6, {
	padding-top: 2rem;	 
	padding-bottom: -1rem;
}
h2 { 
	font-family: 'Khula', sans-serif;
	font-size:2.4rem;
	font-weight:400;
}
h3 { 
	font-family: 'Khula', sans-serif;
	font-size:2.0rem;
	font-weight:400;
}
h4 { 
	font-family: 'Comfortaa', cursive;
	font-size:1.4rem;
	font-weight:400;
	margin-top: 1px;
	color: #f3f3f3;
}
h5 { 
	font-family: 'Khula', sans-serif;
	font-size:1.2rem;
	font-weight:700;
}
h6 { 
	font-family: 'Khula', sans-serif;
	font-size:0.8rem;
	font-weight:400;
}

p {
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

figure {
	border: 0;
	}
figure img {
	max-width: 100%;
	height: auto;
	}
* {
box-sizing: border-box;
	}
	@media screen and (min-width: 40em) {
		figure {
		width: 48%;
		float: right;
		}
	}
	@media screen and (min-width: 64em) {
		figure {
		width: 40%;
		float: right;
		}
	}
	@media screen and (min-width: 80em) {	
		figure {
		width: 35%;
		float: right;
		}
	}
	@media only screen and (max-width: 40em) {
		figure {
		width: 100%;
		}
	}

a img { 
	border: none;
}

a:link {
	color:#5ef9e1;
	text-decoration: underline; 
}
a:visited {
	color: #5ef9e1;
	text-decoration: none;
}
a:active, a:focus { 
	text-decoration: none;
}
a:hover {
	color:#00ccff;
	text-decoration: underline;
}
h1 a:link {
	color:#000;
	text-decoration: none;
	color: #f3f3f3;
}
h1 a:active {
	color:#000;
	text-decoration: none;
	color: #f3f3f3;
}
h1 a:focus {
	color:#000;
	text-decoration: none;
	color: #f3f3f3;
}
h1 a:visited {
	color:#000;
	text-decoration: none;
	color: #f3f3f3;
}
/* ~~ Dieser Container umschließt alle anderen div-Tags und weist ihnen ihre als Prozentwert definierte Breite zu. ~~ */
.container {
	width: 80%;
	max-width: 1260px;/* Es empfiehlt sich die Eingabe einer maximalen Breite (Eigenschaft max-width), damit dieses Layout auf einem großen Bildschirm nicht zu breit angezeigt wird. Dadurch bleibt die Zeilenlänge besser lesbar. IE6 berücksichtigt diese Deklaration nicht. */
	min-width: 280px;/* Es empfiehlt sich die Eingabe einer minimalen Breite (Eigenschaft min-width), damit dieses Layout nicht zu schmal angezeigt wird. Dadurch bleibt die Zeilenlänge in den seitlichen Spalten besser lesbar. IE6 berücksichtigt diese Deklaration nicht. */
	background: #464646;
	margin: 0 auto; /* Der mit der Breite gekoppelte automatische Wert an den Seiten zentriert das Layout. Er ist nicht erforderlich, wenn Sie die Breite von .container auf 100 Prozent setzen. */
}
.header {
	background: #464646;
	background-size: cover;
}
.header img {
	max-width:700px !important;
	border:none 0.00;
}

.content {
	padding: 10px 0;
}

/* ~~ Dieser gruppierte Selektor gibt die Listen im .content-Bereich an. ~~ */
.content ul, .content ol { 
	padding: 0 15px 15px 40px; /* Diese Auffüllung setzt die rechte Auffüllung in der obigen Regel für Überschriften und Absätze fort. Die Auffüllung wurde unten für den Abstand zwischen anderen Elementen in den Listen und links für den Einzug platziert. Sie können die Werte nach Bedarf ändern. */
}

/* ~~ Fußzeile ~~ */
.footer {
	padding: 0;
	background: #393939;
	background-size: cover;
}

.fltrt {  /* Mit dieser Klasse können Sie ein Element auf der Seite nach rechts fließen lassen. Das fließende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */
	float: right;
	margin-left: 8px;
}
.fltlft { /* Mit dieser Klasse können Sie ein Element auf der Seite nach links fließen lassen. Das fließende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* Diese Klasse kann in einem <br />-Tag oder leeren div-Tag als letztes Element nach dem letzten fließenden div-Tag (im #container) platziert werden, wenn #footer entfernt oder aus dem #container herausgenommen wird. */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

/* ----------------------------------------------------------------------------- *
 *       Änderung des default-Box-Modells aller Elemente auf "border-box"        *
 *          https://www.paulirish.com/2012/box-sizing-border-box-ftw/            *			 
 * ----------------------------------------------------------------------------- */

html {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}


/* ----------------------------------------------------------------------------- */

.header {
	text-align: left;
	padding-left: 1.0rem;
}

.aside {
	border-top: 1px dashed #ddd;
	padding-top: 1em;
	margin-top: 1em;
}

.footer {
	padding: 0.1rem;
	text-align: center;
}
.footer a:link {
	text-decoration: none;
}

.section {
	padding: 1em 0;
}


/*** Textauszeichnungen ***/


article {
	padding: 0 0.8em 0 1.2em;
}
dl#mehrlinks {
	font-family: 'Khula', sans-serif;
	font-size: 1.0rem;
	padding: -1.0em 0 0 0;
	margin:0;
}
dl#mehrlinks dt {
	font-family: 'Khula', sans-serif;
	font-size: 1.2rem;
	padding:0;
	margin:0;
}
dl#mehrlinks dd {
	padding:0 0 1em 0;
}
p {
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

p#zusatzinfo {
	background-color: #666666; 
	padding: 0.5rem; 
	text-align:justify;
}
#zusatzinfo {
	background-color: #666666; 
	padding: 0.5rem; 
	text-align:justify;
}

ul,
ol {
	padding: 0;
	margin: 0 0 0.625em 2rem;
}

.logo a:link,
.logo a:visited {
	padding: 0.6em 2rem;
}

.main-wrapper {
	
	background-position: -1.5em;
}


/* ----------------------------------------------------------------------------- *
 *                        Styles der Smartphoneversion                           *
 *                                    320px                                      *
 * ----------------------------------------------------------------------------- */


@media screen and (max-width: 40em) {
	body {
		width: 100vw;
		background: #464646;
		overflow-x: hidden; /* Hide horizontal scrollbar */
    	overflow-y: scroll; /* Add vertical scrollbar */
	}

	.main-wrapper {
		padding: 4rem 0;
	}
	.main-content {
		margin-top: -2rem;
	}
	.main-content article p {
		margin: -0.5rem 0 1.0rem 0;
		line-height: 1.5rem;
		font-size:1.3rem; 
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
	.main-content article img {
		padding: 0 1.0rem 0 0;
	}
}


/* ----------------------------------------------------------------------------- *
 *                           Styles der Tabletversion                            *
 *                            640px / 16px/em = 40em                             *
 * ----------------------------------------------------------------------------- */


/* Etwas kleinere Schrift für größere Screens */
@media screen and (min-width: 40em) and (max-width: 64em) {
	body {
		font-size: 1.2rem; 
		background-color: #464646;
	}
}

@media screen and (min-width: 40em) {
	.header {
		padding: 1.5em 2.4rem;
		text-align: left;
	}
	.main-wrapper {
		padding: 0;
		display: table;
	}
	.main-content {
		display: table-cell;
		width: 70%;
		border: 0;
		padding: 0 2rem 0 3rem;
	}
	.aside {
		display: table-cell;
		width: 30%;
		padding: 0 3rem 0 2rem;
		border-top: none;
		margin: 0;
		background-color: #464646;
	}
	.footer {
		padding: 0.3em 2rem;
		text-align: right;
	}
	/*** Textauszeichnungen ***/
	.logo {
		font-size: 2.8rem;
		text-align: left;
		display: inline-block;
		padding: 0;
	}
	.logo a:link,
	.logo a:visited {
		padding: 0.1em 0.6rem;
	}
	.logo a:hover,
	.logo a:focus,
	.logo a:active {
		background-color: #464646;
		color: #5ef9e1;
	}
	h1 {
		font-size: 2.8rem;
		/* 28px */
		margin: 0;
	}
	p.teasertext {
		margin: 0.8em 0;
	}
	/*** Zierelemente: Pfeil verwendet in Header und in Nav ***/
	.arrow-down {
		position: relative;
	}
	.arrow-down::after {
		content: '';
		position: absolute;
		bottom: -2rem;
		border-width: 2rem 2rem 0;
		border-style: solid;
		display: none;
		width: 0;
	}
	.nav.arrow-down::after {
		left: 70%;
		border-color: #5ef9e1 transparent;
		margin-left: -2rem;
		display: block;
	}
}



/* ----------------------------------------------------------------------------- *
 *                             Styles für Desktops                               *
 *                           1024px / 16px/em = 64em                             *
 * ----------------------------------------------------------------------------- */


@media screen and (min-width: 64em) {

	.page-wrapper {
		margin: 0 auto;
		max-width: 64em;
		background-color: #464646;
	}
	.main-wrapper {
		background-color: #464646;
	}
	.main-content article p {
		margin: -1rem 0 1.0rem 0;
		column-count: 2;
		column-gap: 2rem; 
		line-height: 1.5rem;
		font-size:1.3rem; 
		text-align: justify;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
		margin-bottom: 2.0rem;
	}
	.aside {
		background-color: #464646;
	}
	.header {
		margin-bottom: 1rem;
	}
}


/* ----------------------------------------------------------------------------- *
 *                                 Navigation                                    *
 * ----------------------------------------------------------------------------- */


.main-nav {
	margin: 0;
}

.main-nav > li {
	margin-left: 0;
	border-bottom: 1px solid rgba(250, 250, 250, 0.6);
}

.main-nav li > a,
.main-nav li > b {
	padding: 0.3em 2rem;
	display: block;
	font-size: 1.4rem;
}

.main-nav a:link {
	text-decoration: none;
}

.main-nav__item-act b {
	font-weight: 700;
}

@media screen and (min-width: 40em) {
	/* Navigation wird ueber dem Inhalt angeordnet */
	.main-nav {
		padding: 0 2rem;
		overflow: hidden;
		background-color: #363636;
	}
	.main-nav > li {
		float: left;
		display: inline-block;
		border: none;
		width: auto;
	}
	.main-nav > li > a,
	.main-nav > li > b {
		padding: 0.3em 1.2rem;
		display: inline-block;
		font-size: 1.4rem;
	}
}



/* ----------------------------------------------------------------------------- *
 *                            Styles für Footer Menü                             *
 * ----------------------------------------------------------------------------- */


/*** Menü-Link zum Ein-und Ausblenden des Menüs ***/

a.toggle-nav {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	display: inline-block;
	padding: 0.3em;
	font-weight: 300;
	border-radius: 0.2em;
	text-decoration: none;
	cursor: pointer;
}

a.toggle-nav:hover {
	background-color: #363636;
	border: 1px solid #999;
	color: #cccccc;
}
a.toggle-nav:link,
a.toggle-nav:visited,
a.toggle-nav:active,
a.toggle-nav:focus {
	background-color: #363636;
	border: 1px solid #999;
	color: #ffffff;
}

@media screen and (min-width: 40em) {
	/*** Menü-Link verstecken in großen Viewports ***/
	a.toggle-nav {
		display: none;
	}
}


/*** Platz schaffen für den Menü-Button in kleinen Viewports ***/

@media screen and (max-width: 23em) {
	.header {
		text-align: left;
		background-color: #363636;
	}
	.main-nav li {
	 font-size: 0.8rem;
	}
	article img {
	max-width: 100%;
	}
}


/* ----------------------------------------------------------------------------- *
 *                          Styles für Targetnav                                 *
 *             Beispiel Footer-Navigation über Anker im Basis-Layout             *
 * ----------------------------------------------------------------------------- */


.content-wrapper {
	display: table;
}

.nav {
	display: table-footer-group;
}


/* Der nach-oben-link wird hervorgehoben */

#back-to-top {
	text-align: right;
	background-color: #363636;
}

@media screen and (min-width: 40em) {
	.content-wrapper {
		display: block;
	}
	.nav {
		display: block;
	}
	/* Der nach-oben-link wird versteckt */
	#back-to-top {
		display: none;
	}
}