/* ##################################################################### */
/* #### HTML5 display definitions ###################################### */

	article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display:block; }


/* ##################################################################### */
/* #### Base ########################################################### */

	*,
	*::before,
	*::after{ box-sizing: border-box; }

	html{
		/* overflow-y:scroll;	Scrollbar (allerdings bei Lightbox unschoen) */
		color:#000;
		background-color:#fff;
		font-size:16px;
		line-height:1.625;
		/*
		Prevents iOS text size adjust after orientation change, without disabling user zoom
		www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
		*/
		-webkit-text-size-adjust:100%;
		-ms-text-size-adjust:100%;
	}

	html, button, input, select, textarea{
		/* addresses font-family inconsistency between form elements. */
		font-family:verdana,arial,sans-serif;
	}

	body{
		margin:0; /* addresses margins handled incorrectly in IE6/7 */
	}


/* ##################################################################### */
/* #### Allg. Formatierungen ########################################### */

	/* Remove text-shadow in selection highlight. These selection declarations have to be separate. */
	::-moz-selection{ background:#b3d4fc; text-shadow:none; }
	::selection{ background:#b3d4fc; text-shadow:none; }
		

	/*###
	//# Links
	###*/

	a{ color:#780000; }
	html.contrast a{ color:#000000; }

	a:focus, button:focus{ outline:thin dotted; } /* Addresses outline displayed oddly in Chrome */
	a:hover, a:active{ outline:0; }
	

	/*###
	//# Typography
	###*/

	h1{
		font-size:1.5em; line-height:1.4; font-weight:bold; margin:0;
	}
	
	h2{
		font-size:1.5em; line-height:1.4; font-weight:normal; margin:0 0 1em 0;
	}

	h3, h4, h5{
		font-size:1.2em; line-height:1.2; font-weight:normal; margin:1em 0 0.66em 0;
	}

	p{ margin:0 0 1em 0; }

	b, strong{ font-weight:bold; }

	small{ font-size:85%; }

	/* Position subscript and superscript content without affecting line-height:h5bp.com/k */
	sub, sup{ font-size:75%; line-height:0; position:relative; vertical-align:baseline; }
	sup{ top:-0.5em; }
	sub{ bottom:-0.25em; }


	/*###
	//# Quotes
	###*/
	blockquote{
		/*reset*/
		/* margin:0; font-size:100%; */
		padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; quotes:none;
		/*change*/
		margin:0; font-size:30px; line-height:1.3;
	}
	blockquote:before, blockquote:after{ content:''; content:none; }
		blockquote p{ margin:0 0 0.5em 0; }


	/*###
	//# Lists
	###*/

	ul, ol{ margin:1em 0; padding:0 0 0 40px; }

	dd{ margin:0 0 0 40px; }
	
	
	/*###
	//# Embedded content
	###*/

	img{
		border:0; /* Removes border when inside 'a' element in IE6/7/8/9, FF3 */
		-ms-interpolation-mode:bicubic; vertical-align:middle; /* Improves image quality when scaled in IE7 */
		max-width:100%;
		height:auto;
		box-sizing:border-box;
	}


	/*###
	//# Figures
	###*/
	
	figure{ margin:0; } /* Set margin to 0. Addresses margin not present in IE6/7/8/9, S5, O11 */
	figcaption.image-caption{ text-align:center; font-size:0.8rem; }


	/*###
	//# Tables
	###*/

	table{ border-collapse:collapse; border-spacing:0; }
		td{ vertical-align:top; }
	table { margin:0 0 1em 0; }
	p + table{ margin-top:-1em; }
		table td{ padding-left:0.5em; }
		table td:first-child{ padding-left:0; }


/* ##################################################################### */
/* #### non-semantic helper classes #################################### */

	/* Contain floats */
	.clearfix:before, .clearfix:after{ content:""; display:table; }
	.clearfix:after{ clear:both; }

	.frame-space-before-small{ margin-top:4vh; }
	.frame-space-after-small{ margin-bottom:4vh; }
	.frame-space-before-medium{ margin-top:8vh; }
	.frame-space-after-medium{ margin-bottom:8vh; }
	.frame-space-before-large{ margin-top:12vh; }
	.frame-space-after-large{ margin-bottom:12vh; }

	.ce-bodytext{ margin:1.5em;  }

	.frame-box{
		background-color: #f5f5f5;
		border-radius: 5px;
		box-shadow: 1px 2px 4px rgba(0,0,0,.4);
		margin: 0 20px 30px 0px;
		font-size: 0.9rem;
	}
		.frame-box.frame-type-text{ padding:1.5em; }
			.frame-box .ce-bodytext > *:first-child{ margin-top:0; }
	
	
/* ##################################################################### */
/* #### Indexsuche ##################################################### */

	.tx-indexedsearch-searchbox{ margin:0 0 1em 0; }
	
	/* "Größe", "Erstellt", "Geändert" und "Pfad" ausblenden: */
	dl.tx-indexedsearch-info{ display:none; }
	
	ul.tx-indexedsearch-browsebox{ margin:2em 0; padding:0; list-style:none; }
		ul.tx-indexedsearch-browsebox li{ margin:0; padding:0; display:inline; }
			ul.tx-indexedsearch-browsebox li:after{ content:"|"; margin:0 10px;  }
			ul.tx-indexedsearch-browsebox li:last-child:after{ display:none; }
				ul.tx-indexedsearch-browsebox li.tx-indexedsearch-browselist-currentPage a{ color:#000; }


/* ##################################################################### */
/* #### Gestaltungsraster ############################################## */


		body{ background-image:url(../Images/BgHeader.svg); background-repeat:no-repeat; background-size:100% 150px; padding-top:150px; }
		body::before{ display:block; content:""; position:absolute; left:0; top:0; width:100%; height:34px; opacity:0.5; background-color:#5D150A; }
		html.contrast body{ background-image:url(../Images/BgHeaderGray.svg); }
		html.contrast body::before{ background-color:#000; opacity:1; }

			#toggleContrast{ position:absolute; top:0; left:50%; margin-left:-450px; font-size:15px; line-height:34px; color:#fff; }
				#toggleContrast a{ color:#fff; }
			#quickSearch{ position:absolute; top:0; right:50%; margin-right:-450px; font-size:15px; line-height:34px; color:#fff; }
	@media screen and (max-width:940px){
			#toggleContrast{ left:20px; margin-left:0; }
			#quickSearch{ right:20px; margin-right:0; }
	}
	@media screen and (max-width:600px){
			body{ background-size:100% 50px; padding-top:50px; }
			body::before,
			html.contrast body::before{ display:none; }
				#toggleContrast, #quickSearch{ position:static; color:#000; background-color:#fedfa0; padding:10px; }
				#toggleContrast{ margin-top:10px; padding-bottom:0; border-radius: 4px 4px 0 0; }

				html.contrast #toggleContrast{ border:1px solid #000; border-bottom-width:0; background-color:#fff; }
				html.contrast #quickSearch{ border:1px solid #000; border-top-width:0; background-color:#fff; }

				#quickSearch{ margin-bottom:10px; padding-top:0; border-radius: 0 0 4px 4px; }
					#toggleContrast a{ color:#000; }
	}
			#header,
			#columns{ width:940px; margin:0 auto; padding-top:25px; }

			#header{ display:table; }
				#logo, #traegerlogo{ display:table-cell; }
				#traegerlogo{ text-align:right; vertical-align:middle; padding-left:15px; }

			#columns{ display:-ms-grid;/* IE11 */ display:grid; -ms-grid-columns:268px 67px 1fr;/* IE11 */ grid-template-columns:268px 67px 1fr; }
				#navCol{ grid-column:1/2; -ms-grid-column:1;/* IE11 */ }
				#inhalt{ grid-column:3/4; -ms-grid-column:3;/* IE11 */ padding-bottom:30px; }


	@media screen and (max-width:980px){
			#header, #columns{ width:100%; padding:15px 20px 0 20px; margin:0; }
	}
	@media screen and (max-width:643px){
			#columns{ display:block; }
	}


	/*###
	//# Menü
	###*/
		
		#toggleMenu{
			display:none; cursor:pointer; border:none; margin:0 0 10px 0; padding:5px 55px 5px 0; width:100%;
			height:42px; line-height:32px; font-size:1em; text-align:right;
			background-color:#fedfa0; color:#000; position:relative;
		}
		#toggleMenu:active{ color:#000; }
		html.contrast #toggleMenu{ background-color:#fff; border:1px solid #000; }

			#toggleMenu[aria-expanded="true"] span.open{ display:none; }
			#toggleMenu[aria-expanded="false"] span.close{ display:none; }	

			#toggleMenu .icon,
			#toggleMenu .icon:before,
			#toggleMenu .icon:after{ display:block; position:absolute; right:0; width:40px; height:4px; border-radius:4px; background-color:#000; }
			#toggleMenu .icon{ top:50%; right:5px; margin-top:-2px; }
			#toggleMenu .icon:before,
			#toggleMenu .icon:after{ content:""; transition-delay: 0.12s, 0; transition-duration: 0.075s, 0.075s; transition-property: top, transform; }
			#toggleMenu .icon:before{ top:-10px; }
			#toggleMenu .icon:after { top:10px; }
			#toggleMenu[aria-expanded="true"] .icon{ background-color:transparent; }
			
			#toggleMenu[aria-expanded="true"] .icon:before,
			#toggleMenu[aria-expanded="true"] .icon:after{ top:0; transition-delay: 0s, 0.12s; transition-duration: 0.075s, 0.075s; transition-property: top, transform; }
			#toggleMenu[aria-expanded="true"] .icon:before{ transform: rotate(45deg); }
			#toggleMenu[aria-expanded="true"] .icon:after { transform: rotate(-45deg); }
		
		@media screen and (max-width:634px){
			html.js #toggleMenu{ display:block; }
			html.js #toggleMenu[aria-expanded="false"] + .expandable{ display:none; }
		}


		#skiplinks{ display:none; }

		ul#mainNav,
		ul#mainNav ul{ margin:0; padding:0; list-style:none; font-size:15px; line-height:20px; }

			/* Ausklapp-Funktion "Inhalt" */
			ul#mainNav li.no ul{ display:none; }
			ul#mainNav.extended li.no ul{ display:block; }

			ul#mainNav li{ margin:0; padding:0; padding-top:1px; }
			html.contrast ul#mainNav li{ padding-top:0; }

				ul#mainNav a{ display:block; background-color:#fedfa0; padding:3px 10px 3px 20px; position:relative; }
				ul#mainNav a.act{ font-weight:bold; }

				html.contrast ul#mainNav a{ border:1px solid #000000; border-top-width:0; }
				html.contrast ul#mainNav > li:first-child > a:first-child{ border-top-width:1px; }

				ul#mainNav a::after{ content:""; display:none; position:absolute; top:11px; width:5px; height:5px; background-color:#780000; }
				html.contrast ul#mainNav a::after{ background-color:#000000; }
				ul#mainNav a.cur::after,
				ul#mainNav a:hover::after,
				html.contrast ul#mainNav a.cur::after,
				html.contrast ul#mainNav a:hover::after{ background-color:#fff; }
				
				ul#mainNav ul a::after{ left:28px; display:block; }
				ul#mainNav ul ul a::after{ left:48px; }
				ul#mainNav ul ul ul a::after{ left:68px; }

				ul#mainNav a.cur,
				ul#mainNav a:hover{ background:#a70916; background: linear-gradient(90deg, rgba(130,13,19,1) 0%, rgba(183,8,25,1) 100%); color:#fff; }

				html.contrast ul#mainNav a.cur,
				html.contrast ul#mainNav a:hover{ background:#000; color:#fff; }

				ul#mainNav > li:first-child > a:first-child{ border-radius: 5px 5px 0 0; }
				ul#mainNav > li:last-child > a:first-child{ border-radius: 0 0 5px 5px; }

				ul#mainNav ul a{ padding-left:40px; background-color:#feeec8; }
				ul#mainNav ul ul a{ padding-left:60px; background-color:#fff7e3; }
				ul#mainNav ul ul ul a{ padding-left:80px; }
				
				html.contrast ul#mainNav a{ background-color:#ffffff; }

				ul#mainNav a.navid_4{ font-weight:bold; }


/* ##################################################################### */
/* #### Print styles (Inlined to avoid the additional HTTP request) #### */
	
	@media print {
		*,
		*:before,
		*:after,
		*:first-letter,
		*:first-line {
			background:transparent !important;
			color:#000 !important; /* Black prints faster */
			box-shadow:none !important;
			text-shadow:none !important;
		}

		pre, blockquote{ border:1px solid #999; page-break-inside:avoid; }
		thead{ display:table-header-group; }
		tr, img{ page-break-inside:avoid; }
		img{ max-width:100% !important; }
		p, h2, h3{ orphans:3; widows:3; }
		h2, h3{ page-break-after:avoid; }
		
		
		/*###
		//# custom styles
		###*/
		
		#toggleMenu,
		#expandable,
		#mainNav,
		#toggleContrast,
		#quickSearch{ display:none !important; }
		
		body{ padding:0; }

		#header, #columns{ width:100%; padding:15px 20px 0 20px; margin:0; }
		#columns{ display:block; }
	}