@font-face {
	font-family: Lato;
	src: url('../fonts/Lato-Regular.ttf');
}

@font-face {
	font-family: Lato;
	font-weight: bold;
	src: url('../fonts/Lato-Bold.ttf');
}


html, body {
	height: 100%;
}
body {
	font:14px/125% 'Lato',Arial;
	color:#666666;
	margin:0;
	padding:0;
	background:#f7f7f7;

}

a:active, a:focus {outline: none; text-decoration: none;}
a {
	color:#33BAE5;
	text-decoration:none;
}
a:hover {
	color:#004b96;
	text-decoration:none;
}

h1 {
	color:#004b96;
	font-weight:700;
	font-size:35px;
	line-height:1.2em;
}
h2, h2 a {
	color:#004b96;
	font-weight:700;
	font-size:21px;
	line-height:1.2em;
}


#page {
	background:url('../img/bg_page.png') center 2px repeat-x;
}

#meta {
	background:#f7f7f7;
    max-width: 1020px;
    padding: 5px 0;
    margin:0 auto;
}
.dropdown {
	position:relative;
	z-index:999;
}
.dropdown > a {
	color:#999;
	line-height:21px;
}
.dropdown > a:hover {
	color:#33BAE5;
}
.dropdown a:after {
    clear: both;
    content: " ";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
}
.dropdown.active > ul {
    visibility: visible;
    opacity: 1;
    top: 21px;
}
.dropdown ul {
	list-style: none;
	margin:0;
	padding:0;
    display: inline;
    visibility: hidden;
    position: absolute;
    padding:0px;
    float: left;
    opacity: 0;
    top: 14px;

	background: #f7f7f7;

	box-shadow: 0 10px 10px rgba(0,0,0,0.5); 

    -webkit-transition: all .25s ease;
       -moz-transition: all .25s ease;
        -ms-transition: all .25s ease;
         -o-transition: all .25s ease;
            transition: all .25s ease;
}
.dropdown ul li {
    float: none;
    margin:0;
    /*background-color: #004b96;*/
    min-width:120px;
    border-bottom:1px solid #ddd;
    background: none !important;
}
.dropdown ul li:last-child {
    border-bottom:0 none;
}
.dropdown ul li a {
	display: block;
	font-size:14px;
	line-height:21px;
	padding:5px 17px;
	font-weight: 400;
    text-transform: none;
    background: none !important;
}
.dropdown ul li a:hover{
    color:#fff;
    background-color: #33BAE5 !important;
}


#header_wrap {
	height:91px;
	max-width:1020px !important;
	margin:0 auto;
	z-index:999;
	background:#fff;
}

#header {
	padding:20px 0 20px;
}
/*
#header_wrap.fixed #header { z-index: 999; position: fixed; left: 0; top: 0; width: 100%; }
#header_wrap.fixed #header_bg { z-index: 999; position: fixed; left: 0; top: 0; background:#fff; height:91px; width: 100%; }
*/

#logo {
	max-width:300px;
}

#main,
#slider,
#topic_theme {
	max-width:1020px !important;
	margin:0 auto;
	padding:0;
	background:#fff;
}

#main {
	padding:20px 0 40px;
	border-bottom:2px solid #eee;
}

#main h1:first-child {
	margin-top: 0;
}

#topic_theme .row-fluid div {
	margin-bottom:0;
}

#topic_theme .text {
	position:absolute;
	left:50px;
	bottom:30px;
	width:44%;
}
#topic_theme .text h1 {
	font-size:24px;
	font-weight:700;
	margin:0;
	color:#fff;
}
#topic_theme .icon {
	width:256px;
	height:256px;
	position:absolute;
	left:-12px;
	bottom:-32px;
	opacity:0.15;
}





#footer {
	margin:20px 0;
	color:#999;
	font-size:12px;
}
#footer a {
	color:#999;
	border-bottom:1px dotted #999;
}
#footer a:hover {
	color:#33BAE5;
	border-bottom:1px solid #33BAE5;
}


/* Mainmenu */

#mainmenu_select {
	display:none;
}
#mainmenu_select select { font-family:'Lato'; width:50%; text-align:center; }
#mainmenu {
	display:block;
	float:right;
	margin-top:16px;
	z-index:9999;
	position:relative;
}

#mainmenu ul {
	margin:0;
	padding:0;
	list-style:none;

	-webkit-font-smoothing:antialiased;
}
#mainmenu li {
	position:relative;
	display:block;
	float:left;
	margin-left:10px;
}
#mainmenu li a {
	display:block;
	padding:9px 12px;
	text-decoration:none;
	text-transform:uppercase;
	font-weight:bold;
	color:#004b96;
	font-size:14px;
	/*border-radius:3px;*/

}
#mainmenu li:hover a {
	color:#fff;
	background:#004b96;
}
#mainmenu li.active a {
	color:#fff;
	background:#004b96;
}


#mainmenu ul:after {
    clear: both;
    content: " ";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
}
#mainmenu ul li:hover > ul {
    visibility: visible;
    opacity: 1;
    top: 34px;
}
#mainmenu ul li ul {
    display: inline;
    visibility: hidden;
    position: absolute;
    padding:0px;
    float: left;
    opacity: 0;
    top: 28px;

	background: #004b96;
/*
	background: -moz-linear-gradient(top,  #004b96 0%, #004b96 51%, #0071b4 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#004b96), color-stop(51%,#004b96), color-stop(100%,#0071b4));
	background: -webkit-linear-gradient(top,  #004b96 0%,#004b96 51%,#0071b4 100%);
	background: -o-linear-gradient(top,  #004b96 0%,#004b96 51%,#0071b4 100%);
	background: -ms-linear-gradient(top,  #004b96 0%,#004b96 51%,#0071b4 100%);
	background: linear-gradient(to bottom,  #004b96 0%,#004b96 51%,#0071b4 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#004b96', endColorstr='#0071b4',GradientType=0 );
*/
	box-shadow: 0 10px 10px rgba(0,0,0,0.5); 

    -webkit-transition: all .25s ease;
       -moz-transition: all .25s ease;
        -ms-transition: all .25s ease;
         -o-transition: all .25s ease;
            transition: all .25s ease;
}
#mainmenu ul li ul li {
    float: none;
    margin:0;
    /*background-color: #004b96;*/
    min-width:200px;
    border-bottom:1px solid #26609a;
    background: none !important;
}
#mainmenu ul li ul li:last-child {
    border-bottom:0 none;
}
#mainmenu ul li ul li a {
	font-size:14px;
	font-weight: 400;
    color:#fff;
    text-transform: none;
    background: none !important;
}
#mainmenu ul li ul li a:hover{
    color:#fff;
    background-color: #33BAE5 !important;
}



#submenu ul {
	list-style:none;
	margin:0;
	padding:0;

	background: #f7f7f7;
	background: -moz-linear-gradient(top,  #f7f7f7 0%, #f7f7f7 51%, #eeeeee 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7f7f7), color-stop(51%,#f7f7f7), color-stop(100%,#eeeeee));
	background: -webkit-linear-gradient(top,  #f7f7f7 0%,#f7f7f7 51%,#eeeeee 100%);
	background: -o-linear-gradient(top,  #f7f7f7 0%,#f7f7f7 51%,#eeeeee 100%);
	background: -ms-linear-gradient(top,  #f7f7f7 0%,#f7f7f7 51%,#eeeeee 100%);
	background: linear-gradient(to bottom,  #f7f7f7 0%,#f7f7f7 51%,#eeeeee 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#eeeeee',GradientType=0 );

	box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

#submenu ul li a {
	display:block;
	padding:10px 10px;
	border-bottom:1px solid #ddd;
	text-decoration:none;
}
#submenu ul li:last-child a {
	border-bottom:0 none;
}
#submenu ul li a:hover {
	color:#fff;
	background: #33BAE5;
	border-color:#33BAE5;
}
#submenu ul li.rex-current a:hover {
	border-color:#ddd;
}
#submenu ul li.rex-current a {
	background: #004b96;
	background: -moz-linear-gradient(top,  #0071b4 0%, #0071b4 51%, #004b96 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#0071b4), color-stop(51%,#0071b4), color-stop(100%,#004b96));
	background: -webkit-linear-gradient(top,  #0071b4 0%,#0071b4 51%,#004b96 100%);
	background: -o-linear-gradient(top,  #0071b4 0%,#0071b4 51%,#004b96 100%);
	background: -ms-linear-gradient(top,  #0071b4 0%,#0071b4 51%,#004b96 100%);
	background: linear-gradient(to bottom,  #0071b4 0%,#0071b4 51%,#004b96 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0071b4', endColorstr='#004b96',GradientType=0 );
	color:#fff;
}



.container { 
	position:relative;
	margin:0 auto;
	padding:0 20px;
}


.impressum { text-align: right; }


.btn {
	background:#33BAE5;
	color:#fff;
	border:0 none;
	text-shadow:none;
}
.btn:hover {
	background:#33BAE5;
	box-shadow: 0 0 6px #33BAE5;
	color:#fff;
}

div.hr {
	margin:2em 0;
}
div.hr hr {
	border-top:1px solid #004b96;
	border-bottom:0 none;
}




.leistungen div.outer {
	float:left;
	width:18%;
	margin:0 1%;
}
.leistungen div.outer.element-1 {
	width:19%;
	margin-left:0;
}
.leistungen div.outer.element-5 {
	width:19%;
	margin-right:0;
}
.leistungen div.inner {
	height:145px;
	padding:10px;

	background: #f7f7f7;
	background: -moz-linear-gradient(top,  #f7f7f7 0%, #f7f7f7 51%, #eeeeee 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7f7f7), color-stop(51%,#f7f7f7), color-stop(100%,#eeeeee));
	background: -webkit-linear-gradient(top,  #f7f7f7 0%,#f7f7f7 51%,#eeeeee 100%);
	background: -o-linear-gradient(top,  #f7f7f7 0%,#f7f7f7 51%,#eeeeee 100%);
	background: -ms-linear-gradient(top,  #f7f7f7 0%,#f7f7f7 51%,#eeeeee 100%);
	background: linear-gradient(to bottom,  #f7f7f7 0%,#f7f7f7 51%,#eeeeee 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#eeeeee',GradientType=0 );

	box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
.leistungen a:hover div.inner {
	background: #33BAE5;
	background: -moz-linear-gradient(top,  #33BAE5 0%, #33BAE5 51%, #269cce 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#33BAE5), color-stop(51%,#33BAE5), color-stop(100%,#269cce));
	background: -webkit-linear-gradient(top,  #33BAE5 0%,#33BAE5 51%,#269cce 100%);
	background: -o-linear-gradient(top,  #33BAE5 0%,#33BAE5 51%,#269cce 100%);
	background: -ms-linear-gradient(top,  #33BAE5 0%,#33BAE5 51%,#269cce 100%);
	background: linear-gradient(to bottom,  #33BAE5 0%,#33BAE5 51%,#269cce 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33BAE5', endColorstr='#269cce',GradientType=0 );
}
.leistungen a:hover h1,
.leistungen a:hover p {
	color:#fff !important;
}
.leistungen h1 {
	font-size:16px;
	font-weight:700;
	margin-top:0;
	margin-bottom:8px;
}
.leistungen p {
	font-size:13px;
	line-height:125%;
	margin: 0;
	color:#999999;
}






.logo img,
img.logo {
	border:1px solid #ddd;
}



.error input[type="text"] {
    background-color: #F2DEDE;
    border: 1px solid #EED3D7;
    color: #B94A48;
}
.error input[type="text"]:hover {
    background-color: #F2DEDE;
    border: 1px solid #B94A48;
    color: #B94A48;
}
.error input[type="text"]:focus {
    background-color: #fff;
    border: 1px solid #B94A48;
    color: #B94A48;
}



/* BX-Slider Anpassungen */

.bx-wrapper {
	margin:0;
}
.bx-wrapper .bx-viewport {
	background: none repeat scroll 0 0 #FFFFFF;
    border: 0 none;
    box-shadow: none;
    left:0;
}
.bxslider {
	margin:0 !important;
	padding:0 !important;
}
.bx-wrapper .bx-controls-direction a {
	visibility:hidden;
	z-index:998;
}
.bx-wrapper:hover .bx-controls-direction a {
	visibility:visible;
}
.bxslider .caption {
	position:absolute;
	left:0;
	top:30%;
	padding:10px 0 0;
	width:38%;
	border-radius:0;
/*
	background: #33BAE5;
	background: -moz-linear-gradient(top,  #33BAE5 0%, #33BAE5 51%, #82b300 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#33BAE5), color-stop(51%,#33BAE5), color-stop(100%,#82b300));
	background: -webkit-linear-gradient(top,  #33BAE5 0%,#33BAE5 51%,#82b300 100%);
	background: -o-linear-gradient(top,  #33BAE5 0%,#33BAE5 51%,#82b300 100%);
	background: -ms-linear-gradient(top,  #33BAE5 0%,#33BAE5 51%,#82b300 100%);
	background: linear-gradient(to bottom,  #33BAE5 0%,#33BAE5 51%,#82b300 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33BAE5', endColorstr='#82b300',GradientType=0 );

	box-shadow: 0 10px 10px rgba(0,0,0,0.5);
*/ 
}
.bxslider .caption h1,
.bxslider .caption h2 {
	color:#fff;
	margin-left:30px;
	margin-right:30px;
}
.bxslider .caption h1 {
	font-size:16px;
	font-weight:400;
	border-bottom:1px solid #1a7fb7;
	padding-bottom:5px;
	color:#f6f9e8;
}
.bxslider .caption h2 {
	font-size:24px;
	font-weight:700;
	margin-top:0;
}

.bx-wrapper .bx-pager {
    font-size: 0;
    padding: 0;
    text-align: right;
}
.bx-wrapper .bx-pager {
    bottom: 10px;
    z-index: 9999;
    width: auto;
    right: 15px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
	background:#ffffff;
	margin:0 4px;
	border-radius:0;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover {
	background:#33BAE5;
}
.bx-wrapper .bx-pager.bx-default-pager a.active {
	background:#004b96;
}

.bxslider .icon {
	width:256px;
	height:256px;
	opacity: 0.1;
	position:absolute;
	left:-32px;
	bottom:-32px;
}




/* --- Formulare --- */

input[type=text], textarea {
	font-family: Lato;
	color: #004b96;
	background:#f7f7f7;	
	
	width:100%;
	box-sizing: border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing: border-box;
	
	border:1px solid #ccc;
	padding: 7px;
	
}
textarea {
	resize: none;
}
input[type=text]:hover, textarea:hover {
	background:#eee;	
}
input[type=text]:focus, textarea:focus {
	background:#fff;	
}


.btn {
	padding:8px 14px;
}

.alert {
	border-radius: 0;
}





/* --- Responsive --- */

@media (min-width: 768px) and (max-width: 979px) {
	#header_wrap { height: 84px; }
	/* #header_wrap.fixed #header_bg { height:84px; } */
	#mainmenu li a {
		padding-left:10px;
		padding-right:10px;
		font-size:14px;
	}
	#mainmenu .dropdown li a {
		font-size:13px !important;
	}

	#mainmenu li {
		position:relative;
		display:block;
		float:left;
		margin-left:5px;
	}
	#mainmenu li a {
		display:block;
		padding:6px 8px;
		text-decoration:none;
		text-transform:uppercase;
		font-weight:bold;
		color:#004b96;
		font-size:13px;
	}

	#logo {
		margin-top:4px;
	}

#mainmenu ul li:hover > ul {
    visibility: visible;
    opacity: 1;
    top: 30px;
}
#mainmenu ul li ul {
    display: inline;
    visibility: hidden;
    position: absolute;
    padding:0px;
    float: left;
    opacity: 0;
    top: 25px;
}
	.bxslider .caption h2 {
		font-size:20px;
		margin-top:0;
	}


	.leistungen div.inner {
		height:135px;
		padding:10px;
	}
	.leistungen h1 {
		font-size:13px;
		font-weight:700;
		margin-top:0;
	}
	.leistungen p {
		font-size:11px;
	}

}

@media (max-width:767px) {
	#wrap { min-height:0; height:auto; }
	#logo { margin:0 auto; }

	#header_wrap { height: auto; }
	#footer { height:auto; text-align:center; }
	.impressum { text-align: center; }
	.mainmenu { display:none !important; }
	#mainmenu_select { display:block; text-align:center; }
	.row-fluid div[class*="span"] {
		margin:0 0 1em 0;
		min-height:1px;
	}

	.bxslider .caption h1,
	.bxslider .caption h2 {
		margin-left:20px;
		margin-right:20px;
	}
	.bxslider .caption h1 {
		font-size:14px;
		color:#f6f9e8;
	}
	.bxslider .caption h2 {
		font-size:16px;
		margin-top:0;
	}

	#slider .container { 
		padding:0;
	}

	#topic_theme .text {
		width:100%;
	}

	#topic_theme .icon {
		width:128px;
		height:128px;
		left:4px;
		bottom:-16px;
	}

	.leistungen div.outer {
		float:none;
		width:100% !important;
		margin:0 0 20px;
	}
	.leistungen div.inner {
		height: auto;
		padding:10px;
	}

}

@media (max-width:480px) {
	.bxslider .caption h2 {
		display:none;
	}

	#topic_theme .text {
		position: relative;
		left: 0;
		top: 0;
	}
	#topic_theme .text h1 {
		display: none;
		/*
		margin: 10px 0 0;
		color:#004b96;
		*/
	}

	#topic_theme .icon {
		width:96px;
		height:96px;
		left:16px;
		top:-16px;
	}
}



