/*********************************************************************
 * 1. General HTML tags
 */

* {
 margin: 0;
	padding: 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-khtml-box-sizing: border-box;
	box-sizing: border-box; 
}
html {
	width: 100%;
	height: 100%;
}
body {
	padding: 5%;
	max-width: 1600px; 
	margin: 0 auto;
	height: 100%; 
}

body, td, input[type=text], input[type=email], textarea {
	font-size: 1.1em; 
	line-height: 1.6em;
	color: #444; 
}

img {
	max-width: 100%; 
}

h1, h2, h3, h4 {
	font-weight: normal;
	color:#4a8bd2;
	padding-top: 0.8em;
	margin-bottom: 0.6em;
}

h2 {
	padding-top: 0.6em;
	font-size:1.4em;
}

h3 {
	border-top: 1px solid #eee; 
	padding-top: 0.6em;
}

h4 {
	padding-top: 0.4em;
}

p {
	padding-bottom: 0.6em;
}

p.small {
	font-size: 0.6875em;
}

a {
	color: inherit !important;
	text-decoration: none;
	cursor: pointer;
}
a:hover, .nav a:hover {
	color: #11B880;
}

blockquote {
	margin-left: 0;
	padding-left: 1.5em;
	padding-right: 2em; 
	border-left: 4px solid #ddd; 
	font-style: italic; 
	color: #777; 
}

pre, code {
	background: #eee; 
	border: 1px solid #ddd; 
}

pre {
	font-size: 1em; 
	line-height: 1.4em;
	padding: 1em;
	border-left: 4px solid #ddd; 
}

header, #header, .header {
	position:fixed;
	top:0px;
	clear: both;
	min-width:750px;
	max-width:1400px;
	width:100%;
	min-height: 60px;
	margin: 0 auto;
 background: -moz-linear-gradient(top, rgba(16, 0, 100, 1.0) 0, rgba(255, 255, 255, 0.95) 10px) no-repeat;
 background: -webkit-linear-gradient(top, rgba(16, 0, 100, 1.0) 0, rgba(255, 255, 255, 0.95) 10px) no-repeat;
 background: -ms-linear-gradient(top, rgba(16, 0, 100, 1.0) 0, rgba(255, 255, 255, 0.95) 10px) no-repeat;
 background: -o-linear-gradient(top, rgba(16, 0, 100, 1.0) 0, rgba(255, 255, 255, 0.95) 10px) no-repeat;
 background: linear-gradient(top, rgba(16, 0, 100, 1.0) 0, rgba(255, 255, 255, 0.95) 10px) no-repeat;
	z-index:1111;
}

footer, #footer, .footer {
	clear: both;
	background: #18202A;
	min-height: 80px;
	color: #999;
	font-size: 0.8em; 
}
/*********************************************************************
 * logo
 */
h1.logo {
	display: inline-block;
 position:relative;	
	padding-top: 0.4em;
	color: #1C0064;
	font-size: 2.8em;
	font-weight: bold;
}
span.addendum {
 position:relative;	
	padding-left:0.6em;
	color: #999;
	font-size: 0.6em;
	font-weight: normal;
}
div.splash {
	position: relative;
	margin-top:10px;
	width:100%;
	height:350px;
	background:url('../images/key-header.png') repeat scroll center;
}
div.splash > div.slogan {
	position: relative;
	width:100%;
	height:350px;
	background:url('../images/header2.jpg') no-repeat scroll top left;
	opacity: 0.8;
	filter:alpha(opacity=80);
	color: #999;
	text-align: bottom;
	font-size:1.8em;
	padding-left: 30px;
	padding-top: 200px;
}
/*********************************************************************
 * navi
 */
.ax-nav
{
 position: relative;
	float:right;
 margin: 0 auto;
 top: 0;
	height: 100%;
 z-index: 100;
	font-family: Verdana, sans-serif;
	font-size: 10pt;
}
ul.topnav>li>a, form.search
{
	padding: 0.25em 0.5em;
 position: relative;
 display: block;
 height: 62px;
 cursor: pointer;
 text-decoration: none;
	color: #333;
 line-height: 62px;
 text-align: bottom;
	vertical-align:-5px;
	background: #ddd; 
	border: 1px solid #ddd;
	border-left: 1px solid #eee;
	opacity: 0.8;
	filter:alpha(opacity=80);
}
.topnav, .topnav li {
	list-style: none; 
	padding: 0;
	margin: 0;
}
.topnav li {
	float: left; 
	margin-right: 0px;
	margin-bottom: 1em;
}
.topnav a:hover {
	background: #122335; 
	border-color: #122335; 
 color: #fff !important;
}
.topnav li.active a {
 background-color: #01BDE0;
	border-color: #01BDE0; 
 margin: 0 auto;
 text-decoration: none;
}

/*********************************************************************
 * bootstrap-3 fix
 */
.dropdown-submenu{
	position:relative;
}
.dropdown-submenu > .dropdown-menu
{
	top:0;
	left:100%;
	margin-top:-6px;
	-webkit-border-radius:0 6px 6px 6px;
	-moz-border-radius:0 6px 6px 6px;
	border-radius:0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu{
	display:block;
}
.dropdown-submenu > a:after{
	display:block;
	content:" ";
	float:right;
	width:0;
	height:0;
	border-color:transparent;
	border-style:solid;
	border-width:5px 0 5px 5px;
	border-left-color:#ccc;
	margin-top:5px;
	margin-right:-10px;
}
.dropdown-submenu:hover > a:after{
	border-left-color:#fff;
}
.dropdown-submenu .pull-left{
	float:none;
}
.dropdown-submenu.pull-left > .dropdown-menu{
	left:-100%;
	margin-left:10px;
	-webkit-border-radius:6px 0 6px 6px;
	-moz-border-radius:6px 0 6px 6px;
	border-radius:6px 0 6px 6px;
}
/*end of bootstrap 3 nav fix*/
.carousel .item {
	height: 350px;
}
/*********************************************************************
 * form search
 */
form.search {
	display: inline-block;
 position: relative; 
	margin: 0;
	padding: 0.25em 0.5em;
	width: 10em;
	cursor: pointer; 
}
form.search input {
	margin: 0;
	border: 1px solid #ccc; 
	-webkit-border-radius:6px 0 6px 6px;
	-moz-border-radius:6px 0 6px 6px;
	border-radius:6px 0 6px 6px;
	width: 100%; 
}
form.search button {
	display: none; 
}
/*********************************************************************
 * contact form
 */
#contact-form ul.Inputfields{
	list-style-type: none;
	font-size: 1em;
}
#contact-form ul.Inputfields>li {
	min-width: 240px;
}
#contact-form ul.Inputfields label {
	display: inline-block;
	text-align: right;
	padding-right: 8px;
	width: 150px;
	font-size: 0.8em;
}
#contact-form select {
	line-height: 1.8em;
	font-size: 1em;
	padding: 4px;
}
div.InputfieldContent {
	display: inline-block;
	width: 80%;
}
div.InputfieldContent>* {
	margin-bottom: 5px;
	width: 100%;
}
div.InputfieldContent>button[type=submit] {
	line-height: 1.8em;
	font-size: 1em;
	width: 200px;
	margin-top: 20px;
	margin-left: 158px;
}
/*********************************************************************
 * breadcrumbs
 */
.breadcrumbs {
	clear: both; 
	padding-top: 1em;
	padding-bottom: 0.4em;
	font-size: 0.8em; 
}
.breadcrumbs span:after {
	content: ">";
	color: #999; 
	padding-left: 0.25em;
	padding-right: 0.25em; 
}
/*********************************************************************
 * main content and sidebar
 *
 */
#main {
	border-top: 1px solid #eee; 
	padding-top: 1em; 
	margin-top: 1em; 
	clear: both; 
}

#content {
	width: 65%; 
	float: left;
	padding-bottom: 2em; 
}

#sidebar {
	width: 35%;
	padding-left: 5%; 
	float: left; 
	padding-bottom: 2em; 
}

.nav {
	margin-left: 0;
	padding-left: 0;
	list-style: none; 
}
.nav .nav {
	padding-left: 1.5em;
	list-style: disc;
}
.nav li {
	margin: 1em 0;
}
.nav-tree li {
	margin-top: 0;
	margin-bottom: 0;
}
.nav a {
	font-weight: bold;
}
.nav-tree li a {
	color: #777; 
}
.nav .active > a {
	color: #333; 
}
.align_left {
	/* for images placed in rich text editor */ 
	float: left;
	margin: 0 1em 0.5em 0; 
	position: relative;
	top: 0.5em;
	max-width: 50%; 
}
.align_right {
	/* for images placed in rich text editor */ 
	float: right;
	margin: 0 0 0.5em 1em;
	max-width: 50%; 
}
.align_center {
	/* for images placed in rich text editor */ 
	display: block;
	margin: 1em auto;
	position: relative;
	top: 0.5em;
}
div.impressum {
	font-size: 0.8em;
	line-height: 1.3em;
}
/*********************************************************************
 * pagination
 */
i.tags {
	font-size: 0.8em;
	color: #777;	
}
span.btn-more {
	display: inline-block;
	font-size: 0.8em;
	margin-left: 20px;
	padding-left: 0.5em;
	width: 80px;
	border: 2px solid lightgrey;
	-moz-border-radius:12px;
	-webkit-border-radius:12px;
	border-radius:12px;
 background: -webkit-linear-gradient(top, #eee, #aaa) no-repeat;
 background: -moz-linear-gradient(top, #eee, #aaa) no-repeat;
 background: -o-linear-gradient(top, #eee, #aaa) no-repeat;
 background: -ms-linear-gradient(top, #eee, #aaa) no-repeat;
	color: #777;
	cursor: pointer;
}
div.pagination {
	clear:both;	
}
div.pagination>ul {
	list-style-type: none;
	font-size: 0.5em;
}
div.pagination>ul>li {
	list-style: none; 
	padding: 0;
	margin: 0;
	float: left; 
	margin-right: 0px;
	margin-bottom: 1em;
}
/*********************************************************************
 * popup dialog
 */
div#popup {
	position:fixed;
	left:50%;
	top:50%;
	margin:0 auto;
	z-index:1112; 
	max-width:480px;
	min-height:260px;
	max-height:540px;
	border:1px #999 solid;
	-moz-border-radius:8px;
	-webkit-border-radius:8px;
	border-radius:8px;
	background:rgba(240, 240, 240, 0.95);
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-webkit-box-shadow: 0 0 1.2em #999;
	-moz-box-shadow: 0 0 1.2em #999;
	box-shadow: 0 0 1.2em #999;
}
div#popup.wide {
	font-size:0.6875em;
	line-height:1.25em;
	min-width:500px;
}
div.dialog {
	position:relative;
	margin:0;
	padding:10px;
	width:100%;
	height:100%;
	overflow:auto;
}
div.dialog + div.btn-close {
	position:absolute;
	z-index:1113;
	right:-24px;
	top:-24px;
	-moz-border-radius:50%;
	-webkit-border-radius:50%;
	border-radius:50%;
	width:48px;
	height:48px;
	background:rgb(240, 240, 240);
	border:2px #999 solid;
	font-weight:bold;
	font-size:32px;
	color:#999;
	text-align:center;
	vertical-align:middle;
	cursor:pointer;
}
div.btn-close>span {
	display:inline-block;
	position:relative;
	top:6px;	
}
div#popup.wide div.btn-close>span {
	top:14px;	
}
/*=== Captcha Widget ===*/
section.capture > div.capture-items {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-size: 1.4em;
}
section.capture > div.capture-items > div {
	padding: 6px;
	margin: 16px 8px 2px 8px;
}
section.capture > div.capture-items > div.active {
	padding: 6px;
	border: 1px solid darkblue;
}
section.capture > div.capture-items + p {
	width: 100%;
	text-align: center;
	font-size: 8pt;
}
small.form-text {
  font-size: 8pt;
}
p.InputfieldError {
	font-size: 8pt;
	color: red;
}
/*********************************************************************
 * 5. Media queries for responsive layout
 *
 */
@media only screen and (max-width: 767px) {
	/* mobile layout */ 
	body, td, textarea {
		font-size: 1rem; 
 }
	#content, 
	#sidebar {
		float: none;
		width: 100%; 
		padding: 0; 
	}
	form.search {
		float: none; 
		width: 100%; 
	}
	#content {
		width: 100%; 
	}
	#sidebar {
		border-top: 1px solid #eee;
		padding-top: 1em; 
	}
	.align_left, .align_right, .align_center {
		display: block;
		float: none; 
		margin: 1em auto;
		max-width: 100%; 
	}
}
@media only screen and (min-width: 1200px) {
	/* extra-wide desktop layout */ 
	body, td, textarea {
		font-size: 1.2rem; 
	}
}
