﻿@charset "UTF-8";

/* fixing stupid IE-10 Scrollbars */
@-ms-viewport{ width: auto !important; }

body{
	background-color: #FFF;
	}

	
/* fix dropdown / select caret from crapy display on iOS 
	//https://github.com/twbs/bootstrap/issues/17644
	//http://stackoverflow.com/questions/37064113/bootstrap-3-ipad-not-showing-arrow-caret-for-nav-bar
*/
.caret {
	border-top: 4px solid !important;
	}

#logo{
	width: 100%;
	height: auto;
	min-width: 210px;
	max-width: 420px;
	
	border: 4px solid white;
	}

img.img-resposive{
	width: 100%;
	height: auto;
	}	
	

	
#extraMouseOver{
	display: none;
	width: 150px;
	height: 115px;
	border: 1px solid grey;
	background-color: rgba(255,255,255,0.9);
	width: 320px;
	padding: 4px;
	position: absolute;
	z-index: 32;
	
	-webkit-box-shadow: 3px 3px 5px 0px rgba(133,133,133,1);
	-moz-box-shadow: 3px 3px 5px 0px rgba(133,133,133,1);
	box-shadow: 3px 3px 5px 0px rgba(133,133,133,1);
	font-size: 120%;
	}
	
	
#extraMouseOver.topleft{
	top: 10px;
	left: 10px;
	}

#extraMouseOver.topright{
	top: 10px;
	right: 30px;
	}

#extraMouseOver.bottomleft{
	bottom: 10px;
	left: 10px;
	}

#extraMouseOver.bottomright{
	bottom: 10px;
	right: 30px;
	}
	
#extraMouseOver.topleft_mini{
	top: 20px ;
	left: 60px;
	}

#extraMouseOver.topright_mini{
	top: 20px;
	right: 80px;
	}

#extraMouseOver.bottomleft_mini{
	bottom: 30px;
	left: 60px;
	}

#extraMouseOver.bottomright_mini{
	bottom: 30px;
	right: 80px;
	}


.lined{
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAGCAYAAACB1M0KAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACpJREFUeNpi1F318D/DMACM//8PC38wMDEMEzDqkcEGWDac4RwWmQQgwACKowhFxHw8swAAAABJRU5ErkJggg==");
	background-repeat: repeat-x;
	background-position: 50% 50%;
	width: 100%;
	text-align: center;
	margin-bottom: 10px;
	min-height: 8px;
	}
	
.lined span{
	font-size: 14px;
	font-weight: bold;
	
	background-color: white;
	padding-left:	10px;
	padding-right:	10px;
	padding-top:	5px;
	padding-bottom:	5px;
	}

div.lined span a:link,
div.lined span a:visited{
	color: black;
	}
	
div.lined span a i{
	font-size: 130%;
	position: relative;
	top: 0.1em;
	}


h1.page_headline{
	text-align: center;
	font-size: 25px; 
	/*background-color: rgba(0, 0, 0, 0.16); */
	border-bottom: 1px solid rgba(227, 0, 27, 1);
	color: rgba(227, 0, 27, 1); 
	margin-top: 0px; 
	padding-top: 8px; 
	padding-bottom: 4px; 
	margin-bottom: 10px; 
	/*font-family: 'Times New Roman', Times, serif;*/
	font-weight: 800;
	/*border-top: 1px solid white;*/
	}
		
#header_container{		
	background-color: #ffffff;
	/*
	background-color: #76b729;
	background-image: url('../images/rathaus1440.jpg');
	background-position: 50% 50%;
	background-size: cover;
	*/
	}
	
#content_container{
	padding-top: 20px;
	}

#header_container div.row{	
	margin-top:18px;
	/*margin-bottom:18px;*/
	}
	

a{
	color: #fff;
	text-decoration: none;
	}

.caret_mainmenu {
	margin-left: 10px;
	}
	
/* RESPONSIVE MENU-SELECTION */
@media (max-width: 767px) {
  #pc-menu-container {
	display: none;
	}
  #mobile-menu-container {
	display: block;
	}
}

@media (min-width: 768px) {
  #pc-menu-container {
	display: block;
	}
  #mobile-menu-container {
	display: none;
	}
}

/* ########## START PC MENU ########## */

#pc-menu-container {
	float: right;
	font-size: 15px;
	font-weight: 700;
	}

ul.pc-menu,
ul.pc-menu-dropdown {
	list-style: none;
	margin: 0;
	padding: 0;
	}

ul.pc-menu li {
	float: left;
	position: relative;
	}

ul.pc-menu li a,
ul.pc-menu li a:visited {
	display: block;
	padding-top: 4px;
	padding-bottom: 4px;
	padding-left: 20px;
	padding-right: 20px;

	/*line-height: 25px;*/
	background: #D6D6D6; /*rgba(0,0,0,0.16);*/
	color: rgba(227,0,27,1);
	text-decoration: none;
	}

ul.pc-menu li a.active{
	text-decoration: underline;
	}


ul.pc-menu li a:link,
ul.pc-menu li a:visited{
	color: rgba(227,0,27,1);
	}

ul.pc-menu li a:hover,
ul.pc-menu li a:active{
	color: rgba(227,0,27,1);
	text-decoration: underline;
	}

ul.pc-menu li ul li {
	min-width: 220px;
	}

ul.pc-menu li ul li a {
	padding-top: 4px;
	padding-bottom: 4px;
	padding-left: 20px;
	padding-right: 20px;
	/*line-height: 20px;*/
	}

ul.pc-menu li ul li a.active{
	text-decoration: underline;
	}

ul.pc-menu li a:hover,
ul.pc-menu li a:active{
	background: #C0C0C0; /*rgba(0,0,0,0.25);*/
	}

.pc-menu-dropdown {
	position: absolute;
	display: none;
	z-index: 1;
	}

ul.pc-menu {
	display: block !important;
	}


@media (max-width: 992px){
	#pc-menu-container{
		font-size: 14px;
		font-weight: 600;
		}

	ul.pc-menu li a,
	ul.pc-menu li a:visited, 
	ul.pc-menu li ul li a{
		padding-left: 16px;
		padding-right: 16px;
		}
	}


/* ########## END PC MENU ########## */

/* ########## START MOBILE MENU ########## */

#mobile-menu-container {
	/*background-color: rgba(111,111,0,0.6);*/
	min-height: 30px;
	float: right;
	text-align: right;
	
	font-size: 15px;
	font-weight: 700;
	}

a.toggle-mobile-menu{
	font-size: 20px;
	display: inline-block;
	min-width: 230px;
	border-bottom: 1px solid white;
	text-decoration: none;
	color: rgba(227, 0, 27, 1); 
	}

a.toggle-mobile-menu:hover,
a.toggle-mobile-menu:active{
	text-decoration: none;
	color: rgba(227, 0, 27, 1); 
	}


a.toggle-mobile-menu > i.menu-up,
a.toggle-mobile-menu > i.menu-down{
	display: none;
	margin-right: 10px;
	}

a.toggle-mobile-menu.menuVis:hover > i.menu-up{
	display: inline-block;
	}

a.toggle-mobile-menu.menuHidden:hover > i.menu-down{
	display: inline-block;
	}

ul.mobile-menu,
ul.mobile-menu-dropdown {
	list-style: none;
	margin: 0;
	padding: 0;
	}


ul.mobile-menu li a,
ul.mobile-menu li a:visited {
	display: block;
	padding-top: 4px;
	padding-bottom: 4px;
	padding-left: 20px;
	padding-right: 5px;

	/*line-height: 25px;*/
	background: #D6D6D6; /*rgba(0,0,0,0.16);*/
	color: #ffffff;
	text-decoration: none;
	}

ul.mobile-menu li a.active{
	text-decoration: underline;
	}

ul.mobile-menu li a:hover,
ul.mobile-menu li a:active{
	background: #C0C0C0; /*rgba(0,0,0,0.25);*/
	}

ul.mobile-menu li ul li a{
	padding-right: 28px;
	}

ul.mobile-menu li a:link,
ul.mobile-menu li a:visited{
	/*color: #ffffff;*/
	color: rgba(227, 0, 27, 1); 
	}

ul.mobile-menu li a:hover,
ul.mobile-menu li a:active{
	color: rgba(227, 0, 27, 1); 
	text-decoration: underline;
	}

/* RESPONSIVE MENU FOR VERY SMALL SCREENS */
/*
#logoContainer{
	outline: 1px dotted green;
	}
*/

@media (max-width: 532px) {
	#logoContainer{
		width: 100%;
		text-align: center;
		float: none;
		display: block;
		/*background: yellow;*/
		margin-bottom: 15px;
		}

	#logo{
		max-width: 180px;
		}

	#colMenuHost,
	#mobile-menu-container,
	#mobile-menu{
		width: 100%;
		}


	a.toggle-mobile-menu{
		display: inline-block;
		min-width: 0px;
		width: 100%;
		border-bottom: 1px solid white;
		}
	}


/* ########## END MOBILE MENU ########## */


/* ########## Start FOOTER ########## */

#footer{
	margin-top: 20px;
	}
	
#footer > div.row > div.col-xs-12{
	text-align: right; 
	margin-top:8px; 
	margin-bottom:8px;
	padding-left: 0px;
	padding-right: 0px;
	}
	
@media (max-width: 768px){
	#linkImpressum{
		margin-right: 60px !important;
		}
	}


@media (min-width: 769px){
	#linkImpressum{
		margin-right: 5px;
		}
	}
	


#footer > div.row > div.col-xs-12 > div.lined{
	height: 8px; 
	margin-top:8px; 
	margin-bottom:5px;
	}
	
#footer a{
	text-transform: uppercase;
	color: black;
	margin-left: 20px;
	padding: 4px;
	}

#footer a:hover,
#footer a:active{
	background-color: #d4edfc;
	}

#footer a.active{
	background-color: black;
	color: white;
	
	}

/* ########## END FOOTER ########## */


/* ########## START Standalone Button Styles ########## */

/* Ein/Aus toggle group */
.sb-binnen-group {
	display: table;
	width: 100%;
	table-layout: fixed;
}

a.sb-binnen-btn {
	display: table-cell;
	padding: 6px 12px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	text-decoration: none;
	color: #333;
	background-color: #fff;
	border: 1px solid #2daae1;
	border-radius: 4px;
}

a.sb-binnen-btn + a.sb-binnen-btn {
	border-left: none;
	border-radius: 0 4px 4px 0;
}

a.sb-binnen-btn:first-child {
	border-radius: 4px 0 0 4px;
}

a.sb-binnen-btn:hover {
	background-color: #e6e6e6;
	color: #333;
	text-decoration: none;
}

a.sb-binnen-btn > i {
	color: #2daae1;
	display: none;
}

a.sb-binnen-btn.active {
	background-color: #e0e0e0;
}

a.sb-binnen-btn.active > i {
	color: #2daae1;
	display: inline-block;
}

/* Single action buttons (Anwendungshilfe, Download, close) */
a.action-btn {
	display: inline-block;
	padding: 6px 12px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	text-decoration: none;
	color: #333;
	background-color: #fff;
	border: 1px solid #2daae1;
	border-radius: 4px;
	box-sizing: border-box;
}

a.action-btn:hover {
	background-color: #e6e6e6;
	color: #333;
	text-decoration: none;
}

/* ########## END Standalone Button Styles ########## */


/* ########## START custom_legend ########## */
div.custom_legend{
	border: 1px solid #2daae1;
	border-radius: 4px;
	padding: 4px 10px;
	}
	
div.custom_legend a{
	display: block;
	margin: 0px;
	
	padding-top: 3px;
	padding-bottom: 3px;
	color: black;
	text-decoration: none;
	}

div.custom_legend div.cols_end{
	clear: both;
	}

div.custom_legend div.col50{
	min-height: 25px;
	float: left;
	width: 50%;
	}

div.custom_legend div.col33{
	overflow-x: hidden;
	min-height: 25px;
	float: left;
	width: 33%;
	}	

div.custom_legend div.col25{
	min-height: 25px;
	float: left;
	width: 25%;
	}	
	
div.custom_legend a.legend_active{
	color: black;
	}
	
div.custom_legend a.legend_passiv{
	color: grey;
	}	
/* ########## END custom_legend ########## */


/* ########## START Allgemeine Abständer / Limits / Ausrichtungen / Farben ########## */

.top30{ margin-top: 30px; }
.top20{ margin-top: 20px; }
.top15{ margin-top: 15px; }
.top10{ margin-top: 10px; }
.top5{ margin-top: 5px; }
.top0{ margin-top: 0px; }

.p_top30{ padding-top: 30px; }
.p_top20{ padding-top: 20px; }
.p_top15{ padding-top: 15px; }
.p_top10{ padding-top: 10px; }
.p_top5{ padding-top: 5px; }
.p_top0{ padding-top: 0px; }

.bottom30{ margin-bottom: 30px; }
.bottom20{ margin-bottom: 20px; }
.bottom15{ margin-bottom: 15px; }
.bottom10{ margin-bottom: 10px; }
.bottom5{ margin-bottom: 5px; }	
.bottom0{ margin-bottom: 0px; }	

.p_bottom30{ padding-bottom: 30px; }
.p_bottom20{ padding-bottom: 20px; }
.p_bottom15{ padding-bottom: 15px; }
.p_bottom10{ padding-bottom: 10px; }
.p_bottom5{ padding-bottom: 5px; }	
.p_bottom0{ padding-bottom: 0px; }	

.limitedWidth{
	/*background-color: green !important;*/
	max-width: 1200px;
	}
	
@media (min-width: 991px) {	
	.limitedWidth{
		padding-left: 80px;
		padding-right: 80px;
		}
	}
	
.tcenter{
	text-align: center;
	}

.black{	
	color: black !important;
	}

.bg_blue{
	background-color: #d4edfc;
	}

.bg_grey{
	background-color: #e3edc5;
	}
	
.bg_white{
	background-color: #fff;
	}

/* ########## END Allgemeine Abständer / Limits ########## */


/* TYPO */

#content_container h2{
	font-size: 24px;
	color: #24b9df;
	font-family: Georgia, 'Times New Roman', serif;
	}
	
#content_container h2.sans{
	font-family: Arial, Helvetica, sans-serif;
	}

	
/*######### DOWNLOADS ########### */
div.downloads a{
	padding: 2px;
	margin-left: -2px;
	color: black;
	text-decoration: underline;
	}
	
div.downloads ul li{
	margin-top: 0.1em;
	margin-bottom: 0.2em;
	}
	
div.downloads a:active,
div.downloads a:hover{
	background-color: #d4edfc;
	}

/* Header */

div.noPadding{
	padding-left: 0px !important;
	padding-right: 0px !important;
	text-align: center;
	}
	
	
@media (max-width: 899px){
div.panorama{
	min-height: 250px;
	background-image: url('../images/panorama_small.jpg');
	background-position: 0% 48%;
	background-size: cover;
	}
}
@media (min-width: 900px){
div.panorama{
	min-height: 250px;
	background-image: url('../images/panorama_big.jpg');
	background-position: 0% 48%;
	background-size: cover;
	}
}
	
	
h1.titleText{
		display: inline-block;
		padding: 10px 20px;
		color: white;
		font-size: 26px;
		font-weight: 700;
		position: relative;
		top: 40px;
		filter: drop-shadow(0px 0px 16px rgba(0,0,0,0.5));
		}

	
@media (min-width: 499px) and (max-width: 700px){
	h1.titleText{
		display: inline-block;
		padding: 10px 20px;
		color: white;
		font-size: 42px;
		font-weight: 700;
		position: relative;
		top: 50px;
		filter: drop-shadow(0px 0px 16px rgba(0,0,0,0.5));
		}
	}

@media (min-width: 701px) and (max-width: 899px){
	h1.titleText{
		display: inline-block;
		padding: 10px 20px;
		color: white;
		font-size: 52px;
		font-weight: 700;
		position: relative;
		top: 70px;
		filter: drop-shadow(0px 0px 16px rgba(0,0,0,0.5));
		}
	}

@media (min-width: 900px){
	h1.titleText{
		display: none;
		}
	}
	
@media (max-width: 899px){
	img.titleImg{
		display: none;
		}
	}
	
@media (min-width: 900px){
	img.titleImg{
		display: inline-block;
		width: 840px;
		height: auto;
		
		padding: 3px 6px;
		position: relative;
		top: 120px;
		/*background: rgba(0,0,0,.4);*/
		filter: drop-shadow(0px 0px 16px rgba(0,0,0,0.5));
		}
	}
