@charset "utf-8";

/* Webfonts deklarieren */
/* -------------------- */
@media all{
	/* CSS - Reset Begin von http://meyerweb.com/eric/tools/css/reset/ */
	/* Resetten aller Margins und Paddings,  Schriftauszeichnungen */
	/* ----------------------------------------------------------- */

    html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, 
	aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
        margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; font: inherit; vertical-align: baseline;
    }

	/* Box Sizing */
	html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
	*, *:before, *:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }

    /* HTML5 display-role reset for older browsers */
    article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

    body { line-height: 1; }
    ol, ul { list-style: none; }
    blockquote, q { quotes: none; }
    blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
    table { border-collapse: collapse; border-spacing: 0; }
	
	/* Zusätze von Thomas */
    a:focus { outline:1px dotted #ccc; }
    a:active{ background-color:transparent; }
    abbr[title],span[lang][title]{ cursor:help; }
    ins { text-decoration: none; }
    del { text-decoration: line-through; }
    b,strong{font-weight: bold;}
	/* CSS Reset End */

	/* Globale Einstellungen, Hauptschriftart */
	html, body{ font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 12px; font-size: 0.75em; letter-spacing: 0em; height: 100%; }
	/* Hintergrundfarbe */
	body { overflow-y:scroll; line-height:1.2; background-color: #ffffff; color: #000000; }

	strong, b { font-weight: bolder; }
	em, i { font-style: italic; /* oder oblique */}

	/* Schriftgrössen, Abstände, Farben */
	body  {font-size: 107%; }  /* Standard 100% entspricht 16px /12pt bei den meisten Browsern. Danach rem verwenden */

	/* Überschriften */
	h1,h2,h3,h4,h5,h6 { margin: 0 0 0.25rem 0; font-family: inherit; font-style: inherit; letter-spacing: inherit; }
	h1,h2,h3,h4,h5 { font-weight: bold; }
	h1 { font-size: 19px; /* Fallback für IE8 */ font-size: 1.2rem; }		/* entspricht 14pt / 19px */
	h2 { font-size: 17px; /* Fallback für IE8 */font-size: 1.05rem; }		/* entspricht 13pt / 17px */
	h3 { font-size: 16px; /* Fallback für IE8 */font-size: 1.000rem; }		/* entspricht 12pt / 16px */
	h4 { font-size: 16px; /* Fallback für IE8 */font-size: 1.000rem; }		/* entspricht 12pt / 16px */
	h5 { font-size: 16px; /* Fallback für IE8 */font-size: 1.000rem; }		/* entspricht 12pt / 16px */
	h6 { font-size: 16px; /* Fallback für IE8 */font-size: 1.000rem; font-style:italic; }		/* entspricht 12pt / 16px */

	/* Überschriften Vorversion */
	h1 { font-size: 120%; margin-bottom: 18px; }         /* alt: 150% */
	
	/*Form-Elemente*/
	form					{display: inline;}
	input, select, textarea, button	{background-color: #f8f8f8; font-family: inherit;}
	button { cursor: pointer; }
	textarea { resize: vertical; }
	label	 { display: block; margin-top: 10px; }	/* (Beschriftung eines Form-Elements) */
	form label:first-child { margin-top: 0px; }
	input, textarea, select, option, button { width: 100%; background-color: #f8f8f8; border: 1px solid #c0c0c0;	}
	input[type="radio"], input[type="checkbox"]  { width: 15px; margin: 0px 5px 0px 0px; padding: 0px;	background-color: transparent; }
	input.invalid, select.invalid { background-color: #ffd8d8; }
	option { border: 0px none;}
	button, input[type="submit"], input[type="reset"] { display: inline-block; width: auto; background-color: #cdcdcd; color: #000000; padding: 2px 8px;	border: 2px outset #c0c0c0;	}
	button:active { position: relative; top: 1px; }
	fieldset {margin:10px; border:0px hidden black;}	/* (Semantische und optische Gruppierung von Form-Elementen)*/
	legend {}	/* (Beschriftung eines Fieldsets)*/

	/* Absatzabstand normale Absätze */
	br					{/*font-size: 5pt; line-height: 5pt;*/}

	/* Hintergrundfarbe */
	body {
		background-color: #ffffff;
		color: #000000;
		/* background-image: url(images/background.png);
		background-repeat: repeat-y;
		background-position: 170px 0px; */
	}

	/* Body für zentrierte Seiten */
	body.zentriert { text-align: center; background-position: top center; }  /* f?r Seitenzentrierung, zusammen mit seitenbox->margin:auto; */

	p { margin-bottom: 10px; }

	/* Überschriften */
	h1,h2,h3,h4,h5,h6 { margin: 0 0 0.25em 0; }
	h1,h2,h3,h4,h5 { font-weight: bold; }
	h1 { font-size: 120%; margin-bottom: 18px; }         /* alt: 150% */
	h2 { font-size: 110%; }                     /* 16px */
	h3 { font-size: 105%;}                     /* ?px */
	h4 { font-size: 100% }                     /* 14px */
	h5 { font-size: 100% }                     /* 14px */
	h6 { font-size: 100%; font-style:italic }  /* 14px */

	/* Links */
	a { color: #800000; text-decoration: none; font-size: inherit; }
	a:link {}
	a:visited {color: #800000;}
	/* a:active {color:#DEC3A9} */
	a:hover{ color: #c00000; }

	/* Keine automatische Link-Border um Bilder */
	img { display: block; border: 0px; }

	/* Listen */
	ol,ul	{ margin-left: 20px; }
	ul	{ list-style-type: disc;}
	li	{ margin-top: 5px; }

	div#debug { width: 100%; overflow: scroll; text-align: left; margin-top: 100px; color: black; }

	/* Seitenbereiche Holy Grail Basislayout*/
	/* ------------------------------------ */
	
	div#page {
		position: relative; 
	}

	body.zentriert div#page { margin: 0px auto; } /* für Seitenzentrierung, zusammen mit body->text-align:center; */
	header {
		position: relative;
		width: 100%;
	}
	/* Hauptbereich der Seite */
	div#main {
		position: relative;	/* damit sich absolut positionierte Unterelemente daran orientieren */
		float: left;	/* wegen column heights / overflow:hidden geht nicht weil side columns außerhalb des containers liegen und nicht angezeigt würden */
		width:100%;
		/* mit border arbeiten für farbige Seiten-Spalten (Breite und Farbe der linken, bzw. rechten Spalte), sonst padding */
		/* border-left:150px solid #cf9; */  /* Breite und Hintergrundfarbe linke Spalte */
		/* border-right:150px solid #c33; */  /* Breite und Hintergrundfarbe rechte Spalte */
		padding-left: 150px;	/* Breite linke Spalte */
		padding-right: 150px;	/* Breite rechte Spalte */
		/* display:inline; */ /* So IE plays nice */
	}
	div#main.noleftcol { padding-left: 0px;}	/* oder entsprechend border, wenn farbige Spalten, siehe oben */
	div#main.norightcol { padding-right: 0px;}

	/* Cemter Content, mittlere Spalte */
	main {
		float:left;
		width:100%;
		margin-right: -100%;	/* damit wird linke Spalte links neben main positioniert, obwohl sie im html danach kommt */
	}
	/* Linke und rechte Spalte */
	aside#left {
		position:static; /* war relative, sollte static, damit Navi absolut positioniert werden kann */
		float: left;
		width: 150px;
		margin-left:-150px;	/* gleicher Wert wie width */
	}
	aside#right {
		position:relative;
		float: right;
		width: 150px;
		margin-right: -150px;	/* gleicher Wert wie width */
	}
	aside#left.hidden, aside#right.hidden { display: none; }

	/* Fussbereich der Seite, Impressum, Copyright */
	footer  {
		clear: both;
		position: relative;
	}

	/* Hamburger Navigation */
	.nav-trigger {
		position: absolute;
		clip: rect(0, 0, 0, 0);
	}
	label[for="nav-trigger"] {
		position: relative;
		margin-top: 0px;
		left: 5px;
		z-index: 2;
		width: 36px;
		height: 36px;
		cursor: pointer;
		background-image: url("images/menuicon.svg");
		background-color: white;
		background-size: cover;
	}
	
	/* Seitenbereiche spezielles Layout */
	/* -------------------------------- */
	
	div#page {
		max-width: 930px;
		background-image: url(images/background.png);
		background-repeat: repeat-y;
		background-position: 170px 0px;
	}
	/* IE Workaround fuer die Höhe des Contents */
	* html body div#page { height: 400px; }

	header {
		height: auto;
		padding-top: 2px;
		overflow: hidden;
		/* background-color: lightgreen; */	/* zum Testen */
	}

	header div.logo { margin-left: 260px; padding: 20px 0px 20px 0px; }
	header div.logo h1 { font-size: 24px; font-weight: bold; }
	header a { color: black; text-decoration: none; transition: color .5s; }
	header a:hover, header a:visited { text-decoration: none; color: black; }

	/* Hauptbereich der Seite */
	div#main {
		margin-top: 10px;
		padding-left: 160px; /* The width of the left rail */
		padding-right: 130px; /* The width of the right rail */
		min-height: calc(100vh - 150px);
	}
	div#main.noleftcol { padding-left: 0px;}	/* oder entsprechend border, wenn farbige Spalten, siehe oben */
	div#main.norightcol { border-right: 0px;}

	/* Hauptbereich der Seite unterteilt in 3 floatende Spalten*/
	main {
		padding: 5px 0px 0px 10px;
		/* background-color: lightgreen; */	/* zum Testen */
	}

	aside#left {
		width: 160px;
		margin-left:-160px;
		padding: 2px 0px 0px 0px;
		/* background-color: lightyellow; */	/* zum Testen */
	}

	aside#right {
		width:130px;
		margin-right:-130px;
		padding: 0px 0px 0px 10px;
		/* background-color: lightblue; */	/* zum Testen */
	}

	/* Fussbereich der Seite, Impressum, Copyright */
	footer  {
		width: 100%;
		height: auto;
		margin-top: 20px;
		padding: 10px 2px;
		font-size: 14px;	/* Fallback für IE8 */
		font-size: 1.0rem;	/* entspricht 10pt / 13px */
	}
	footer p {vertical-align: top; display: inline-block;}
	footer nav { margin-left: 260px; width: auto; padding: 10px 2px; }
	footer nav ul li { display: inline-block; float: right; margin-left: 20px; }
	/* footer nav ul li:first-child { margin-left: 0px; float: left; } */

	/* allgemeiner Floatclearer ohne Höhe */
	div.clearfloat {font-size: 1px; clear: both; line-height: 1px;}
	.clearafter:after { clear: both; content: "."; display: block; font-size: 0; height: 0; visibility: hidden; }

	/* Suche  */
	div.suchbox {
		margin: 50px 0px 10px 0px;
	}
	div.suchbox .submitbutton {
		background:transparent none repeat scroll 0;
		border:0 solid black;
		margin: 0;
		padding: 0 5px 0 0;
		color: #f7f72d;
		cursor:pointer;
		font-weight:bold;
	}
	div.suchbox .searchbox {
		color:#AAA6A4;
		background-color: white;
		font-size: 70%;
		/*height:18px;*/
		width: 95%;
		padding: 2px 0 0 2px;
	}
	span.highlight {
		background-color: #FFFFC0;	/* war yellow; */
	}

	hr.grafik { background: transparent url(images/rulerline.png); width: 100%; height: 1px; color: transparent; margin: 0px; border: 0px none; display: none; }


	/* Kopf-Navigation */
	header nav {
		width: auto;
		height: auto;
		text-align: left;
		overflow: show;
		margin-left: 260px;
		padding: 0px;
		/* background: url(images/menubg.png) no-repeat center; */
	}
	* html body header nav { }

	header nav ul {
		list-style-type: none;
		margin-left: 0px;
		text-align: justify;	/* Blocksatz der li-Elemente */
		text-align-last: justify; /* Blocksatz der li-Elemente auch in letzter Zeile*/
		font-size: 0; /* wegen Blocksatz, sonst großer Abstand nach unten durch whitespace von :after Element */
	}
	header nav ul:after { content: ""; display: inline-block; width: 100%; } /* Fallback Blocksatz wenn text-align-last nicht geht */
	
	header nav ul.ebene1 li {
		display: inline-block;
		margin: 0px;
		padding: 4px 0px 1px 0px;
		vertical-align: top;
		text-align: left;
	}
	
	header nav ul.ebene1 a {
		display: inline-block;
		/*width: 70px;*/	/* Variante: alle Navipoints gleich breit */
		padding: 0px;
		margin-left: 14px;
		color: #9b9b9b;
		font-size: 19px;	/* Fallback für IE8 */
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1.0rem;
		/* letter-spacing: 0.1em; */
   		transition: text-shadow 0.5s ease 0s;
		transition: color 0.5s ease 0s;
	}

	* html body header nav { margin: 0px 20px 0px 0px; }
	header nav ul.ebene1 li:first-child a { margin-left: 0px; }

	header nav ul.ebene1 a.aktiv {
		/* nur Unterschiede zu #menu a müssen notiert werden */
		color: #000000;
		text-decoration: none;
	}
	header nav ul.ebene1 a:hover {
		/* nur Unterschiede zu #menu a müssen notiert werden */
		color: #000000;
		text-decoration: underline;
	}

	/* Navigation */
	aside#left nav {
		width: 100%;
		margin: 0px 5px 5px 0px;
		padding-bottom: 5px;
		padding-right: 6px;
		height: 100%;
	}

	/* Allgemeine Settings für alle Menüebenen */
	aside#left nav ul, li { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;}

	aside#left nav ul {
		list-style-type: none;
		text-align: right;
	}
	aside#left nav ul li {
		width: 99%;
	}

	aside#left nav ul a {
		display: inline-block;
		margin: 0px 0px 20px 0px;		/* bestimmt Buttonabstand nach unten */
		padding-top: 3px;
		font-size: 19px;	/* Fallback für IE8 */
		font-size: 1.2rem;
		font-weight: bold;
		text-decoration: none;
		color: #9b9b9b;
		background-color: transparent;
		transition: text-shadow 0.5s ease 0s;
		transition: color 0.5s ease 0s;
	}
	aside#left nav ul a.aktiv {		/* nur Unterschiede zu #menu a müssen notiert werden */
		font-style: normal;
		color: #000000;
	}
	aside#left nav ul a.aktiv.select {	/* nur Unterschiede zu #menu a müssen notiert werden */
		font-style: normal;
		color: #000000;
	}
	aside#left nav ul a:hover {	/* nur Unterschiede zu #menu a müssen notiert werden */
		font-style: normal;
		color: #000000;
		text-decoration: underline;
	}

	/* hier für jede Ebene die entsprechenden Definitionen */
	/* Ebene 1 entspricht den allgemeinen Menu-Einstellungen */
	aside#left nav ul.ebene1>li>a { font-family: inherit; color: inherit; font-size: inherit; display: none; }	/* Ebene 1 für breiten Viewport ausblenden */
	aside#left nav ul.ebene2 a { }	/* für Ebene 2 nur die Änderungen */
	aside#left nav ul.ebene2 a.aktiv {}
	aside#left nav ul.ebene3 a { margin: 0px 0px 15px 10px; font-size: 0.950rem; }	/* für Ebene 3 nur die Änderungen */
	aside#left nav ul.ebene3 a.aktiv {}
	aside#left nav ul.ebene4, ul.ebene5, ul.ebene6 { visibility: hidden; display: none;}	/* für Ebene 4 nur die Änderungen */



	/* Hauptbereich der Seite */



	/* Ein einzelner Textbereich in Box-in Box-Technik */
	div.text {margin-bottom: 10px; }	/* Absatzabstand */

	/* Messages */
	p.message, p.fehler {
		padding:3px 3px 3px 3px;
		margin: 10px 0px 10px 0px;
		color: green;
		font-weight: bold;
			border: 1px solid #80c080;
			background-color: #c0f0c0;
		}
		p.fehler {
			color: #e05050;
			border: 1px solid #e05050;
			background-color: #ffd8d8;
	}
	p.warnung {
		color: orange;
		border: 2px solid orange;
		background-color: #F0F0C0;
	}

	/* Styles für Formulare */
	form#kontakt { width: 90%; background-color: transparent; padding: 5px; margin: 0px auto;}

	form#kontakt { margin: 0px 0px 10px 0px; padding: 0px 0px 0px 0px; }
	form#kontakt label.required:after { content: " *"; }

	form#kontakt input, textarea, select, option, button {
		font-size: inherit;	/* Fallback für IE8 */
		font-size: inherit;	/* entspricht 10pt / 13px */
		font-weight: normal;
	}

	/* nicht benötigte Eingabefelder ausblenden */
	form#kontakt label[for="mobil"] { display:none; }	/* verstecktes Eingabefeld gegen Spam Bots */
	form#kontakt input[name="mobil"] { display:none; }	/* verstecktes Eingabefeld gegen Spam Bots */
	form#kontakt label[for="anrede"], form#kontakt select[name="anrede"]  { display:none; }	/* hier unnötig */
	form#kontakt label[for="adresse"], form#kontakt input[name="adresse"]  { display:none; }	/* hier unnötig */
	form#kontakt label[for="ort"], form#kontakt input[name="ort"]  { display:none; }	/* hier unnötig */
	form#kontakt label[for="telefon"], form#kontakt input[name="telefon"]  { display:none; }	/* hier unnötig */

	form#kontakt button { margin: 10px 20px 5px 0px;}
	
	/* Infobox */
	a.infobox { text-decoration:none;}
	a.infobox:hover { cursor:help; text-decoration: none; z-index: 3; }
	a.infobox span { visibility: hidden; position:absolute; left:16em;
				   margin-top:1.5em; padding: 5px; font-weight: normal;
				   text-decoration: none; }
	a.infobox:hover span { visibility: visible; border:1px solid black;
						 color:black; background-color: #FFFFE0;}
	* html body a.infobox span { display:none; }
	* html body a.infobox:hover span { display:block; width: 200px; }

	/* Acronyme, Abk?rzungen (Info-Mouseover) */
	acronym[title], abbr[title] { cursor:help; }
	acronym, abbr { border-bottom-style:none; cursor:auto; }

	/* Div für textumflossene Bilder */
	div.bild {
		float: left;
		margin-top: 0px;
		margin-right: 10px;
		margin-bottom: 10px;
		font-size: 10pt;
	}

	div.galeriebild { width: 800px; height: 600px; overflow: auto; }

	/* Styles für Contentbereich */
	article.cmscontent { margin-left: 90px; width: auto; overflow: visible; }
	.cmscontent div.absatz.first {}

	.cmscontent h2 { margin-bottom: 10px; }
	.cmscontent figure.bildoben h2 { margin-top: 20px; }
	.cmscontent p,.cmscontent div.text  { line-height: 1.5em; margin-bottom: 7px;}

	.cmscontent h2 span.center { display: inline-block; width: 100%; text-align: center; }
	.cmscontent h2 span.schmuck { font-size: 1.4em; }
	
	/* Spezielles Styling für einzelne Seiten */
	/* Bild 1. Absatz auf Startseite langsam einfaden */
	div#page.start div#Absatz0 img {animation: fadein 20s ease;}
	@keyframes fadein { from { opacity: 0; } to   { opacity: 1; } }
	
	/* Spezielle Styles für Seite lasse-marc-riek.de */
	div.featherlight div.caption{ display: none; }	/* Keine Bildinschriften in Galeriebildern */

	/* change the color of the mediaplayer background */
	div.audiolink .mejs-controls, .mejs-mediaelement,  .mejs-container { background: url('') !important;  background-color: #d0d0d0 !important; }
	/* change the color of the progress bar */
	div.audiolink .mejs-controls .mejs-time-rail .mejs-time-total { background: #b0b0b0 !important; }
	/* change the color of the volume bar */
	div.audiolink .mejs-controls .mejs-horizontal-volume-total { background: #b0b0b0 !important; }
	/* change the color of the current time bar */
	div.audiolink .mejs-controls .mejs-time-rail .mejs-time-loaded { background: #e0e0e0 !important; }

	/* CMS Klassen modifizieren, bzw. überschreiben */
	
	/* Bilder oberhalb und unterhalb von Absätzen zentriert anzeigen */
	.cmscontent div.absatz { margin-bottom: 20px; }
	.cmscontent div.absatz:last-child { margin-top: 0px; }
	.cmscontent div.absatz figure.bildoben { margin: 0px auto 10px auto; }
	.cmscontent div.absatz figure.bildunten { margin: 5px auto 0px auto; }
	.cmscontent div.absatz figure.bildoben+h2 { margin-top: 30px; }

	.cmscontent div.hell,.cmscontent div.mittel,.cmscontent div.dunkel,.cmscontent div.rahmen {
		-moz-border-radius: 10px;
		-webkit-border-radius: 10px;
		border-radius: 10px;
		padding: 5px 5px 0px 5px;
		margin-bottom: 5px;
		/*font-size: 15px;*/
	}
	/* .cmscontent .hell { background-color: #808080; border: 1px solid #ffff00; } */
	/* rho: Kasten hell umgebaut als horizontaler Trenner oben und unten */
	.cmscontent div.hell {background-color: transparent; 
						padding: 5px 0px 0px 0px; 
						border: 0px none; 
						border-top: 1px solid #9b9b9b; 
						border-bottom: 1px solid #9b9b9b;
						-moz-border-radius: 0px;
						-webkit-border-radius: 0px;
						border-radius: 0px;
						}
	.cmscontent .mittel { background-color: #ababab; border: 1px solid #9b9b9b; }
	.cmscontent .dunkel { background-color: #cbcbcb; border: 1px solid #9b9b9b; }
	.cmscontent .rahmen { border: 2px solid #cbcbcb; }
	.cmscontent table, td, th { border: 0px solid gray; }
	.cmscontent table { table-layout: fixed; border-collapse: collapse; empty-cells: show; margin: 1px 1px 1px 1px;}
	.cmscontent th { background-color: #c0c0f0; font-weight: bold; }
	.cmscontent td, th { padding: 2px; }

	.cmscontent h1 {}
	.cmscontent div.absatzbox {}
	.cmscontent div.absatzbox.first { margin-left: 0px;}
	.cmscontent a { /* text-decoration: none;  border-bottom: 1px solid #c00; */ }
	.cmscontent a.linkbildlupe { cursor: -webkit-zoom-in; cursor: -moz-zoom-in; }
	* html body .cmscontent a.linkbildlupe { cursor: url(lupe.gif); }
	.cmscontent div.galerie {}
	/* Blocksatz für Thumbnailansicht mit Browserhack */
	.cmscontent div.galery {text-align: justify; text-align-last: justify; font-size: 0px; } /* um großen Abstand unten zu vermeiden */
	.cmscontent div.galery:after { content: ""; display: inline-block; width: 100%; } /* Blocksatz */

	.cmscontent div.galeriebild {}
	.cmscontent .schmuck { font-style: oblique; letter-spacing: 0.1em;}
	.cmscontent div.kontaktformular {}

	.cmscontent .downloadlink {font-size: 10pt; font-style: oblique; text-align: left; margin: 10px 0px;}
	.cmscontent .audiolink {font-size: 10pt; font-style: oblique; text-align: left; margin: 10px 0px;}
	/* Styles für Lightbox Bildlupe, Videos */
	/* Z-index von #mask muss niedriger als der von #boxes .window sein */
	#mask { position: fixed; left:0; top:0; right:0; bottom:0; display:none; z-index:9000; background-color: black; opacity: 0.0; }
	#boxes .window { position: fixed; left:0; top:0; display:none; z-index:9999; border: 1px solid #555555; box-shadow: 3px 3px 6px #444444;}
	#boxes .window.roundcorner { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; }
	#boxes #mediacontent {}
	#boxes .audio { width: 320px; height: 140px; }
	#boxes .video  { width: auto; height: auto; max-height: 1000px; max-width: 1200px; min-height: 100px; min-width: 100px;}
	#boxes .bildlupe { width: auto; height: auto; max-height: 1000px; max-width: 1200px; min-height: 100px; min-width: 100px;}

	/* Hier kann das Overlay Popup Fenster per CSS personalisiert werden */
	#boxes #mediadialog.audio { background-color: transparent; color: #fefefe; }
	#boxes #mediadialog.video { background-color: black; color: #fefefe; }
	#boxes #mediadialog.bildlupe { background-color: black; color: #fefefe; }
	#boxes #mediadialog #mediainfotitle{ max-height: 44px; overflow: hidden; padding: 1px 20px 2px 5px; background-color: #808080; color: white;}
	#boxes #mediadialog a.close { font-size: 15px; background-color: transparent; color: #fefefe; font-weight: bold;
							border: 1px solid; text-decoration: none; position: absolute; top: 0px; right: 0px; z-index: 999;}

	#boxes #mediadialog.bildlupe #mediacontent { position: relative; text-align: center; padding: 0px; }

	/* Eigene Klasse fuer Headlines */
	.headline {
		color: #f7f72d;
		font-size: 16px;
		font-weight: bold;
	}
	div.sitemap li ul { margin-bottom: 20px; }
	div.sitemap li a { display: block; margin-bottom: 5px; }

}
@media all {
	.nav-trigger + label { display: none; }
}
@media all and (max-width: 960px){
	/* Mehrspaltigkeit abschalten */
	.cmscontent div.multicolumn div.spalte { position: relative; display: block; width: 100%; margin-left: 0; }
	
	/* Text neben Bild abschalten */
	/*
	.cmscontent div.absatz figure.bildlinks { float: none; margin: 0px auto 10px auto; }
	.cmscontent div.absatz figure.bildrechts { float: none; margin: 0px auto 10px auto; }
	.cmscontent div.absatz figure.bildlinksaussen { float: none; display: block; margin: 0px auto 10px auto; }
	.cmscontent div.absatz figure.bildrechtsaussen { float: none; display: block; margin: 0px auto 10px auto; }
	.cmscontent div.absatz div.blocktext.bildlinksaussen { float: none; display: block; padding-left: 0px;}
	.cmscontent div.absatz div.blocktext.bildrechtsaussen { float: none; display: block; padding-right: 0px;}
	*/

	/* footer auto height, damit alles dargestellt werden kann */
	footer { height: auto; }

	/* padings center content verkleinern */
	main{ padding-left: 10px;}
}
@media all and (max-width: 800px){
	/* padings center content verkleinern */
	main{ padding-left: 10px; }
	/* rechte Spalte unter mittlerer positionieren */
	div#main { padding-right: 0px; border-right: 0px none; min-height: 0px;}
	main { }
	aside#right { clear: left; float: none; width: 100%; margin-right: 0px; padding-left: 0px; padding-right: 0px; }
}
@media all and (max-width: 640px){
	/* linke und rechte Spalte unter mittlerer und untereinander positionieren */
	div#main { float: none; padding-left: 0px; padding-right: 0px; border: 0px none;}
	main { float: none;	margin-right: 0px; padding-left: 5px; padding-right: 5px; }
	aside#left { float: none; width: 100%; margin-left: 0px; padding-left: 0px; }
	aside#right { float: none; width: 100%; margin-right: 0px; padding-left: 0px; padding-right: 0px; }
	
	/* schwarzen Balken ausblenden */
	div#page { background-image: none; }
	/* Einrückung Header entfernen */
	header  nav {	margin-left: 10px; }
	header div.logo {	margin-left: 10px; padding: 10px 0px 0px 0px;}

	/* Einrückung Content entfernen */
	article.cmscontent { margin-left: 0px; }
	.cmscontent div.absatz.first {}

	/* Head- und Seitennavigation (vorerst) ausblenden */
	header nav { display: none; }
	aside nav { display: block; }	/* war none, jetzt wird level 2 Subnavi im Center Content angezeigt */
	aside#left { display: block !important; }		/* linke Spalte muss sichtbar sein, sonst wird Navi nicht angezeigt */
	/* Seitennavigation als Hamburger Navigation neu stylen */
	/* aside#left.hidden { display: block; } */
	aside#left nav ul.ebene2, aside#left nav ul.ebene3 { display: block; }
	aside#left nav ul a {margin: 0px 0px 10px 0px;}
	aside#left nav ul.ebene2 a { font-family: inherit; margin-left: 10px; }
	aside#left nav ul.ebene3 a { font-family: inherit; margin-left: 20px;}
	/* Hamburger Icon anzeigen */
	.nav-trigger + label[for="nav-trigger"] { display: block; }
	/* Hamburger Navigation aktivieren */
	.nav-trigger:checked ~ div aside#left nav {
		display: block;
		position: absolute;
		background-color: #efefef;
		margin: 0px;
		padding: 10px 5px 20px 5px;
		left: auto;
		height: auto;
		width: 100%;
		top: 0px;
		z-index: 9999;
		/* top: 120px; */
	}
	.nav-trigger:checked ~ div aside#left nav ul.ebene1>li>a { display: block; }
	
	.nav-trigger:checked ~ div aside#left nav ul a {
		font-size: 22px;	/* Fallback für IE8 */
		font-size: 1.375rem;	/* entspricht 17pt / 22px */
	}
	
	/* Wenn Navi gezeigt wird, Hamburger Icon als Hintergrundmaske verwenden */
	.nav-trigger:checked  + label[for="nav-trigger"] {
		position: absolute;
		height: 100%;
		width: 100%;
		top: 0;
		left: 0;
		right:0; 
		bottom:0; 
		margin: 0px;
		background-color: black;
		background-image: none;
		opacity: 0.45;
		z-index: 9000;
	}
}
@media all and (max-width:320px){
}
@media screen{
	header span.print, footer span.print { display: none; visibility: hidden; width: 1px; height: 1px; }
}
@media print{
	/* Hintergrundfarbe */
	body {
		background-color: white;
		background-image: none;
		color: black;
	}
	div#page { width: 95%; padding-left: 20px; }
	/* IE Workaround fuer die Höhe des Contents */
	* html body div.seitenbox { padding-left: 50px; }
	header, footer, aside#left, aside#right { display: none; visibility: hidden; width: 1px; height: 1px; }
	header.print, footer.print { display: block; visibility: visible; width: auto; height: auto; }
	header.print { border-bottom: 1px solid gray; margin-bottom: 20px; padding-bottom: 5px; }
	footer.print { border-top: 1px solid gray; margin-top: 20px; padding-top: 10px;  }
	aside#left { display: none; visibility: hidden;  }
	aside#right { display: none; visibility: hidden;  }
	main { margin: 0px; overflow: show;}
	* html body main { margin: 0px; overflow: show; }
	main { padding: 0px; overflow: show; }
	div.debug { display: none; visibility: hidden; width: 1px; height: 1px; }
}

@media all and (max-width:790px){
    div.kopfmenubox { display: none; }
	/* div.kopf hr.grafik { display: none; } */
	div.maincenterbox.noleftcol {margin-left: 170px;}
	div#mainleftbox.hidden { display: block; }
	#menu ul.ebene1>li>a { display: block; }
	#menu ul.ebene2 a { margin-left: 10px; }
	#menu ul.ebene3 a { margin-left: 20px;}

}
