/* --- undo --- */
html, body, div, span, a, h1, h2, h3, h4, h5, h6, p, blockquote, img, 
ol, ul, li, input, textarea, label, select, table, tbody, thead, tfoot, tr, th, 
td, footer, header, menu, nav, section, video { padding: 0; margin: 0; box-sizing: border-box; }

html, body, p, form, input, textarea { margin: 0; padding: 0; }
img, a img, :link img, :visited img, fieldset, button { border: none; outline: none; }
a:visited { text-decoration: none; }
img { margin: 0; padding: 0; vertical-align: bottom; }
table { margin: 0; padding: 0; border: none; border-spacing: 0; }
tr { margin: 0; padding: 0; border: none; border-spacing: 0; }
td { margin: 0; padding: 0; border: none; border-spacing: 0; vertical-align: top; }
hr { clear: both; }

ul { list-style-type: disc; list-style-image: none; margin: 0 0 1.0em 0; }
ul li { list-style-type: disc; margin: 0 0 0.5em 1em; padding: 0; }
ol { list-style-type: decimal; list-style-image: none; margin: 0 0 1.0em 0; }
ol li { list-style-type: decimal; margin: 0 0 0.5em 1em; padding: 0; }


html, body { 
height: 100%; /* Vertikalen Scrollbalken immer einblenden */ 
word-wrap:break-word; /* Woerter in die naechste Zeile umbrechen, wenn sie das umschliessende Element verlassen */
min-width: 300px;
}
html { overflow: scroll; overflow-x: auto; }

/* fuer responsive Webseiten */ 
img, object, iframe { max-width: 100%; height: auto; }

/*  Clearfix, um das Floating innerhalb der Container aufzuheben */ 
.clearfix:after,
.outer_box_inner:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; font-size: 0; line-height: 0; }

/* Css-Formatierungen interne Module */ 
.flLeft { float: left; }
.flRight { float: right; }
.flClear { clear: both; }
.center { text-align: center; }
.small { font-size: small; }
.bold { font-weight: 700; }
.hide { display: none; }
.textLeft { text-align: left; }
.textCenter { text-align: center; }
.textRight { text-align: right; }

html, body {
font-family: Verdana, Geneva, sans-serif; 
font-size: 14px; line-height: 20px;
color: #000;
/* Woerter in die naechste Zeile umbrechen, wenn sie ansonsten das umschliessende Element verlassen wuerden. */
word-wrap:break-word;
height: 100%;
}
html { overflow: scroll; overflow-x: auto; 
background-color: #FFF;
background-position: top center; background-repeat: no-repeat; background-size: cover; background-attachment: fixed;
}


/* ----------------------------------------------------------------------------------
   Schriften + Generelle CSS-Anpassungen fuer diese Webseite
blau #273564
blau 2 #3E5A8A
skyblau #87CEEB
rot #cb091b
---------------------------------------------------------------------------------- */ 
a { text-decoration: none; color:#273564; }
a:hover { text-decoration: none; color:#87CEEB; }
a:hover img { opacity: 0.8; }
a:active, a:focus { outline: 0; }

li { list-style-type: none; margin: 0 0 0.5em 14px; padding: 0; }
ul li { list-style-type: disc; }

h1, h2, h3, h4, h5, h6 { font-weight: bold; font-style: normal; font-size: 14px; line-height: 20px; margin: 0 0 10px 0; color: #273564; }
h1 { font-size: 18px; } 
h2 { font-size: 16px; } 
h3 { font-size: 14px; margin: 0 0 3px 0; }
h4 { font-size: 12px; margin: 0 0 3px 0; }
h5 { font-size: 10px; margin: 0 0 3px 0; }
h6 { font-size: 8px; margin: 0 0 3px 0; }

p { padding: 0 0 20px 0px; }
td { padding: 0 8px 6px 0; vertical-align: top; }

hr { clear: both; height: 1px; width: 93.88%; margin: 0 3.06% 30px 3.06%; border: none; background-color: #273564; } 
.small  { font-size: 13px; line-height: 16px; color: #6e7184; font-style: italic; padding-top: 3px; } /* Bildunterschriften */



/* ----------------------------------------------------------------------------------
   CSS-Einstellungen für das Addon Modulhelper (bzw. bw_modulhelper)
---------------------------------------------------------------------------------- */ 
/* ------------ Outer Box ------------ */
/* Ausgangswerte: (Seitenbreite: 980px | Abstand: 30px) */
.outer_box { display: block; float: left; width: 93.88%; margin: 0 0 15px 3.06%; padding: 0; }

.box_width_full { width: 100%; margin: 0 0 15px 0; }
.box_width_1_2 { width: 45.41%; }
.box_width_1_3 { width: 29.25%; }
.box_width_2_3 { width: 61.56%; }
.box_width_1_4 { width: 21.17%; } 


.outer_box .image { margin-bottom: 10px; }
.outer_box .image a { text-decoration: none !important; }
.outer_box .image a:hover { opacity: 0.8; }


/* ------------ Moduleinstellungen ------------ */
.text_bild .flLeft { float: left; display: block; width: auto; max-width: 63.89%; margin: 0 2.78% 1.39% 0; overflow: hidden; }
.text_bild .flRight { float: right; display: block; width: auto; max-width: 63.89%; margin: 0 0 1.39% 2.78%; overflow: hidden; }
.text_bild .image span.small { display: block; }


.zweispalter .flLeft { float: left; display: block; width: 47.22%; margin: 0; overflow: hidden; }
.zweispalter .flRight { float: right; display: block; width: 47.22%; margin: 0; overflow: hidden; }

.box_gray { }
.box_gray .outer_box_inner { padding: 15px 15px 1px 15px; background-color: #F9F9F9; border: 1px solid #273564; 
-moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; 
-moz-box-shadow: 3px 3px 6px 0 #999; -webkit-box-shadow: 3px 3px 6px 0 #999; box-shadow: 3px 3px 6px 0 #999;}

.box_text_white { color: #FFF !important; }





/* --- Responsonsive Dropdown-Menue fuer Redaxo --- */ 
#navigation_button { display: none; position: absolute; top: 5px; left: 5px; width: 53px; height: 53px; text-decoration: none; padding: 0; color: #FFF; background-image: url(mobile_menue.png); background-repeat: no-repeat; background-position: center center; z-index: 99; overflow: hidden; text-indent: -99999px; }
#navigation_button:hover { opacity: 0.8; }


#navigation { position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 0; z-index: 99; }

/* erste Ebene */
#navigation ul { position: relative; top: 0; left: 0; list-style: none; margin: 0; padding: 0; }
#navigation li { position: relative; top: 0; left: 0; list-style-type: none; float: left; display: block; margin: 0; padding: 0; }

#navigation li a { display: block; width: auto; height: auto; margin: 0 0 0 10px; padding: 5px 10px; zoom: 1; 
font-size: 14px; line-height: 20px; color: #FFF; text-decoration: none; }

#navigation li a:hover { text-decoration: none; color: #87CEEB !important; }

#navigation li a.rex-current,
#navigation li a.rex-active { color: #CCC; }

#navigation li:first-child a { border-left: none; }

/* zweite Ebene */
#navigation li ul { display: none; }

/* erste Ebene */
#sub_navigation ul { position: relative; top: 0; left: 0; list-style: none; margin: 0; padding: 0; }
#sub_navigation li { position: relative; top: 0; left: 0; list-style-type: none; display: inline-block; margin: 0; padding: 0; }

#sub_navigation li a { display: block; width: auto; height: auto; margin: 0 0 0 10px; padding: 5px 10px; zoom: 1; 
font-size: 14px; line-height: 20px; color: #fff; text-decoration: none; text-align: center; }

#sub_navigation li a:hover { text-decoration: underline; color: #fff !important; }

#sub_navigation li a.rex-current,
#sub_navigation li a.rex-active { color: #fff; font-weight: bold; }

#sub_navigation li:first-child a { border-left: none; }
/* zweite Ebene */
#sub_navigation li ul { display: none; }

/* ----------------------------------------------------------------------------------
   Responsive Webdesign
---------------------------------------------------------------------------------- */ 

@media screen and (max-width: 768px) {  
#navigation_button { display: block; }
	
#navigation { clear: both; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; max-height: 0; overflow: hidden; background-color: #f4f4f4; text-align: left; }
#navigation > ul ul { overflow: hidden; max-height: 0; }

#navigation.active, #navigation > ul ul.active { max-height: 55em; } 
#navigation ul { display: block; }
#navigation li { float: none; height: auto; margin: 0; padding: 0; border-left: none; }
#navigation li a { float: none; width: auto; margin: 0; padding: 10px 10px 10px 25px;  font-size: 18px; line-height: 18px; border-bottom: 1px solid #808080; color: #000 !important; 
background-color: transparent; background: none; }
#navigation li a:hover { background-color: #AAA; color: #000 !important; }
#navigation li a.rex-current,
#navigation li a.rex-active { background-color: #DDD; color: #000 !important; }

/* Zweite Ebene */
#navigation li ul { display: block; }
#navigation > ul { border-top: 1px solid #808080; }
#navigation ul ul { display: inherit; position: relative; left: auto; top:auto; box-shadow: none; border:none; }
#navigation ul ul > li a { background-color: #e4e4e4; padding: 10px 10px 10px 50px; }
#navigation li ul li a { font-size: 18px; line-height: 18px !important; background-color: #f4f4f4; }
#navigation li ul li a:hover { background-color: #AAA; }
#navigation li ul li a.rex-current,
#navigation li ul li a.rex-active {  background-color: #DDD; }

/* Zum Anklicken bei Menuepunkten mit Submenue */
#navigation li.has-submenu > a:after { content: '+'; position: absolute; top: 0; right: 0; display: block; font-size: 1.5em; padding: 0.55em 0.5em; }
#navigation li.has-submenu > a.active:after { content: "-"; }

}



/* ----------------------------------------------------------------------------------
   Ausrichtung der Seite und der <div>-Container (Reihenfolge von oben nach unten)
---------------------------------------------------------------------------------- */ 
#page_bg {
position: relative; 
top: 0; left: 0;
width: 100%; 
height: auto; min-height: 100%; 
margin: 0 auto; padding: 0; 
z-index: 1;
}


/* Relative Bloecke innerhalb von "page" */
#page, #header_bg, #header, #logo, #navigation_not_responsive, #sub_navigation_bg, #sub_navigation, #wrapper, #content, #page_bottom, #leistungen_bg, #leistungen, #footer_bg, #footer { position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 0; z-index: 1; }

#page { padding: 0 0 225px 0; }

#header_bg { background-color: #273564; }
#header { width: 980px; max-width: 980px; padding: 15px 0; margin: 0 auto; }
#sprachwechsler { position: absolute; top: 15px; right: 15px; width: auto; height: auto; margin: 0; padding: 0; z-index: 100; color: #FFF; }
#sprachwechsler a { color: #FFF; text-decoration: none; }
#sprachwechsler a:hover { color: #87CEEB; text-decoration: none; }
#logo { float: left; width: 30.61%; max-width: 300px; }
#navigation_not_responsive { float: right; width: 63.27%; max-width: 620px; padding: 50px 0 0 0; }

#sub_navigation_bg { width: 100%; padding: 5px 0; z-index: 10; background-color: #3E5A8A; }
#sub_navigation { width: 980px; max-width: 980px; margin: 0 auto; z-index: 99; text-align: center; }

#wrapper { width: 980px; max-width: 980px; min-height: 400px; margin: 0 auto; padding: 30px 0 60px 0; }

#addthis_box {  position: absolute; bottom: 15px; right: 15px; width: auto; height: auto; margin: 0; padding: 0; z-index: 1; }


#page_bottom { clear: both; position: absolute; top: auto; bottom: 0; height: auto; overflow: hidden; }

#leistungen_bg { clear: both; background-color: #273564; margin: 0; }
#leistungen { width: 980px; max-width: 980px; padding: 30px 0 0 0; margin: 0 auto; color: #FFF; }
#leistungen a { color: #FFF; text-decoration: none; }
#leistungen a:hover { color: #87CEEB; text-decoration: none; }

#footer_bg { clear: both; display: block; padding: 15px 0; z-index: 10; font-size: 12px; line-height: 20px; color: #fff; background-color: #3E5A8A; overflow: hidden; text-align: center; }
#footer { width: 920px; margin: 0 auto; }
#footer a { color: #fff; text-decoration: none; }
#footer a:hover { color: #fff; text-decoration: underline; }

/* ---  Cookie-Hinweis ohne OK-Button - Datenschutzinfo --- */ 
#datenschutzinfo { clear: both; display: block; width: 100%; height: auto; margin: 0; padding: 15px 10px; background-color: #333; font-size: 12px; line-height: 20px; color: #fff; text-align: center; }
#datenschutzinfo a { color: #fff; text-decoration: underline; }
#datenschutzinfo a:hover { color: #fff; text-decoration: none; }



/* Damit der Footer nicht sofort sichtbar ist auf der Startseite */
#page_1 #page { padding: 0; }
#page_1 #page_bottom { bottom: -225px; height: 225px; overflow: hidden; }

#page_1 #header_bg { width: 980px; max-width: 980px; margin: 60px auto 30px auto; background-color: transparent; }
#page_1 #header { width: 90.82%; margin: 0 3.06%; padding: 15px 1.53%; background-color: #273564; }
#page_1 #sprachwechsler { top: -40px; }
#page_1 #content .outer_box .text { color: #FFF !important; font-weight: bold !important; }
#page_1 #content h1, #page_1 #content h2, #page_1 #content h3 { color: #FFF !important; }
#page_1 #content h1 { font-size: 36px; line-height: 42px; } 
#page_1 #content p { font-size: 18px; line-height: 24px; } 



/* ----------------------------------------------------------------------------------
   Module
---------------------------------------------------------------------------------- */ 
a.link_button { border: 2px solid #FFF; color: #FFF; text-decoration: none; padding: 5px 10px; font-size: 18px; line-height: 24px; background-color: #273564; background-color: rgba(39, 53, 100, 0.75); }
a.link_button:hover { color: #FFF; text-decoration: none; background-color: #273564; }

.sitemap li ul { padding-top: 5px; }

.slidedown_link { color: #273564; }
.slidedown_link:hover { cursor: pointer; color: #87CEEB; }




/* ----------------------------------------------------------------------------------
   Responsive Webdesign
---------------------------------------------------------------------------------- */ 
@media all and (max-width:980px) {
#page_bg { width: 100%; padding: 0; min-width: 300px; overflow: hidden; }
#page { padding: 0 0 30px 0; }
#page_bottom { position: relative; top: 0; height: auto; }
/* Damit der Footer nicht sofort sichtbar ist auf der Startseite */
#page_1 #page { padding: 0 0 30px 0; }
#page_1 #page_bottom { position: relative; top: 0; height: auto; }


#header { width: 100%; max-width: 980px; margin: 0; }
#sub_navigation { width: 100%; max-width: 980px; margin: 0; }
#wrapper { width: 100%; max-width: 980px; margin: 0; }
#leistungen { width: 100%; max-width: 980px; margin: 0; }
#footer { width: auto; max-width: 980px; margin: 0; padding: 0 3.06%; }
#page_1 #header_bg { width: 100%; max-width: 980px; margin: 60px 0 30px 0; }


}

@media all and (max-width:768px) {
#header { padding: 35px 0 15px 0; }	
#logo { float: none; width: auto; max-width: none; text-align: center; }	
#navigation_not_responsive { display: none; }
#sub_navigation_bg { display: none; }

}

@media all and (max-width:640px) {
#page_bottom .outer_box { float: none; width: auto !important; margin: 0 15px 15px 15px !important; }
}

@media all and (max-width:480px) {
.outer_box { float: none; width: auto !important; margin: 0 15px 15px 15px !important; }

.text_bild .flLeft,
.text_bild .flRight { float: none; width: 100%; max-width: none; margin: 0; }
.text_bild .flLeft { margin: 0 0 15px 0; }

.zweispalter .flLeft,
.zweispalter .flRight { float: none; width: 100%; margin: 0; }
.zweispalter .flLeft { margin: 0 0 15px 0; }

}

