@charset "UTF-8";

/* Responsive Regeln in ursprünglicher Reihenfolge und mit originalen Media Queries. */

/* Große Tablets und schmale Desktopfenster (900–1050 px) */
/*
 * Responsive adjustments for medium-width desktop screens (900-1050 px).
 *
 * These rules bridge the full desktop layout and the tablet layout.  Keep
 * overlay and navigation geometry aligned with the corresponding JavaScript.
 */

/* Bigger Screens */

@media only screen and (min-width: 900px) and (max-width: 1050px) /* and (orientation : landscape) */ {

#wrapper {
width: 850px;
padding: 40px 50px 0;
}

h1.wide {
font-size: 2em;
margin-top: -100px;
padding: 19px 25px 15px;
width: 65%;
}

h2 {
font-size: 1.2em;
font-weight: 600;
}

.full {
width: 800px !important;
}

.tab_menu {
margin-top: -183px !important;
padding: 18px 25px 89px;
}

.block_34 {
padding: 27px 25px 23px 25px;
width: 65%;
}

.news_page {
padding-right: 0;
}

/* Navigation */

#navigation {
width: 850px;
}

.about_h {
font-size: 1.4em;
}

.about_text {
font-size: 1.1em;
}

.connect_subpages {
margin-left: -30px;
}

.connect_h_subpages {
font-size: 1.2em;
}

.connect_h_startpage {
font-size: 1.2em;
}

.connect_text, .connect_list {
font-size: 1.1em;
}

li.main div {
width: 850px;
}

/* Theme Area */

div.theme_area, div.theme_area_404,

.shadow_container_theme, .shadow_container_theme_darker,
#main_image {
height: 340px;
}

/* Theme Area Teaser Box */

div.teaser_box {

width: 240px;
height: 60px;

top: 270px;
bottom: 15px;

padding: 0 10px 0 15px;

/* Keep the teaser overlay visible at this breakpoint so hover/focus expansion starts from a stable state. */
display: block;
}

#teaser_box_2 {
left: 292px;
}

div.teaser_box_smaller {
width: 330px;
height: 165px;
}

div.teaser_box h3, div.teaser_box h1,
div.teaser_box_smaller h3, div.teaser_box_smaller h1 {
margin-top: 20px;
font-size: 1.7em;
}

p.teaser_box_row_2 {
font-size: 1.15em;
line-height: 1.25em;
}

p.teaser_box_par {
font-size: 1.25em;
}

div.teaser_box_hidden {
top: 85px;
height: 200px;
line-height: 1.15em;
}

div.teaser_box_more {
padding-left: 155px;
font-size: 1em;
}

/* Elastislide */

.elastislide ul li {
padding: 10px 10px;
}

.elastislide ul li .listbox {
width: 119px;
height: 43px;
padding: 2px;
font-size: 0.75em;
line-height: 43px;
}

/* Footer */

#footer {
margin: -10px auto auto -50px;
padding: 10px 50px 7px;
}

#footer_links {
width: 795px;
}

.footer_col_1, .footer_col_2, .footer_col_3, .footer_col_4 {
height: 240px;
margin-right: 5px;
}

.footer_logo {
margin: 3px 0 0 5px;
}

p {
font-size: 0.9em;
line-height: 1.4em;
}

/* All Sidebar Elements */

.sidebar_contact_address, .sidebar_link, .sidebar_link_directions,
.sidebar_image, .sidebar_image img,
.sidebar_map_thumb, .sidebar_map_thumb img  {
width: 215px;
}

/* Sidebar with Address */

.sidebar_contact_address {
margin-top: 5px;
font-size: 1.1em;
}

/* Sidebar with Image */

.sidebar_image {
height: 269px;
}

.sidebar_image img {
height: 269px;
}

/* Sidebar with Map */

.sidebar_map_thumb {
height: 120px;
}

.sidebar_map_thumb img {
margin-bottom: 10px;
height: 130px;
}

.partner {
width: 440px;
}

.field_contact {
width: 43%;
margin: 0 0 15px 26px;
}

p.sidebar_contact_address {
font-size: 1em;
margin-left: -10px;
}

.dropdown {
margin: 0 0 25px 26px;
}

.textarea_form {
margin: 5px 0 0 26px;
}

div.accordion h3.trigger, #accordion_right h3.trigger {
font-size: 1.1em;
}

} /* End Media Query */

/* Tablets und schmale Ansichten (bis 899 px) */
/*
 * Responsive adjustments for tablets and narrower screens (up to 899 px).
 *
 * Content is reflowed rather than removed so the same information remains
 * available on touch and keyboard devices.
 */

/* Medium Screens (Pads, etc.) */

@media only screen and (max-width: 899px) {

#wrapper {
width: 660px;
padding: 40px 40px 0;
}

p {
font-size: 0.9em;
line-height: 1.4em;
}

h1.wide {
font-size: 1.85em;
margin-top: -99px;
padding: 18px 25px 12px;
width: 610px !important;
}

h2 {
font-size: 1.15em;
font-weight: 600;
}

.tab_menu {
margin-top: -180px !important;
padding: 18px 25px 87px;
}

.block_34 {
padding: 26px 25px 23px;
width: 75%;
}

.news_page {
padding-right: 0;
}

#block_contact {
width: 65%;
}

/* Default Text */

.default_text {
font-size: 1.1em;
line-height: 1.3em;
}

.about_h {
font-size: 1.4em;
}

.about_text {
font-size: 1.2em;
line-height: 1.9em;
}

/* Die größere Einführungsschrift bleibt erhalten; Zeilen- und Absatzabstand
   entsprechen proportional den ursprünglichen Absatzregeln der Version A. */
.about_text_normal p {
line-height: 1.26em;
margin-block: 0.9em;
}

.connect_subpages {
margin-left: -30px;
}

.connect_h_subpages {
font-size: 1.2em;
}

.connect_h_startpage {
font-size: 1.2em;
}

.connect_text, .connect_list {
font-size: 1.1em;
}

#navigation {
width: 660px;
}

li.main div {
width: 660px;
}

/* Theme Area */

div.theme_area, div.theme_area_404,

.shadow_container_theme, .shadow_container_theme_darker,
#main_image {
height: 264px;
}

/* Theme Area Teaser Box */

div.teaser_box {
width: 535px;
bottom: 0;
padding-right: 100px;
padding-top: 0;
display: none;
}

div.teaser_box_smaller {
width: 260px !important;
height: 165px !important;
padding: 0 20px 0 20px;
}

div.teaser_box h3, div.teaser_box h1,
div.teaser_box_smaller h3, div.teaser_box_smaller h1 {
margin-top: 20px;
font-size: 1.6em;
}

div.teaser_box h1 {
font-size: 1.7em;
padding-top: 21px;
padding-bottom: 0;
margin-bottom: 0;
margin-top: 0;
}

p.teaser_box_row_2 {
font-size: 1.1em;
line-height: 1.2em;
}

/* Footer */

#footer {
margin: -10px auto auto -40px;
padding: 10px 40px 7px;
height: 170px;
}

#footer_links {
padding: 0;
margin: 0;
width: 110%;
}

.footer_col_1, .footer_col_2, .footer_col_3, .footer_col_4 {
height: 210px;
margin-right: 3px;
}

.footer_col_5, .footer_box_5 {
float: left;
}

.footer_list {
font-size: 0.65em;
line-height: 1.6em;
}

.footer_logo {
margin: 0 0 0 5px;
}

/* All Sidebar Elements */

.sidebar_contact_address, .sidebar_link, .sidebar_link_directions,
.sidebar_image, .sidebar_image img,
.sidebar_map_thumb, .sidebar_map_thumb img  {
width: 164px;
}

p.sidebar_contact_address {
font-size: 0.85em;
margin-left: 2px;
}

/* Sidebar with Address */

.sidebar_contact_address {

font-size: 0.9em;
}

/* Sidebar with Link */

.sidebar_link {
margin-top: 8px;
}

.sidebar_link_directions {
width: 100px;
font-size: 0.85em;

}

/* Sidebar with Image */

.sidebar_image {
width: 100px;
height: 125px;
margin-top: 0;

}

.sidebar_image img {
width: 100px;
height: 125px;
}

/* Sidebar with Map Thumbnail Image */

.sidebar_map_thumb {
height: 97px;
}

.sidebar_map_thumb img {
margin-bottom: 7px;
height: 104px;
}

/* Address for Mobile Phones */

.address_mobile {

display: none;
}

.partner {
width: 330px;
}

.field_contact {
width: 86%;
}

.textarea_form {
width: 95%;
}

div.accordion h3.trigger, #accordion_right h3.trigger {
font-size: 1em;
}

ul.tabs li.tab_small {
float: left;
position: relative;
display: block;
width: auto;
height: 35px;
padding: 0;
margin: 0;
background: #f5f5f5;
font-size: 1em;
color: #69C600;
line-height: 2.1em;
box-shadow: none;
border-left: 1px solid #ddd;
}

ul.tabs li.tab_small:first-child {
border-left: none;
}

ul.tabs li.tab_small_active {
float: left;
position: relative;
display: block;
width: auto;
height: 35px;
background: #3F464A !important;
color: #FFFFFF;
font-size: 1em;
padding: 0 20px !important;
margin: 0;
text-shadow: none !important;
box-shadow: none;
font-weight: 600;
}

.elastislide ul li {
padding: 10px 10px;
}

.elastislide ul li .listbox {
width: 119px;
height: 43px;
padding: 2px;
font-size: 0.75em;
line-height: 43px;
}

} /* End Media Query */

/* End Media Query */

/* End Media Query */

/* Smartphones (bis 568 px) */
/*
 * Responsive adjustments for small phones (up to 568 px).
 *
 * The rules prioritise readable text, usable form controls and touch-friendly
 * navigation while preserving the existing visual identity.
 */

/* Small Screens (Smart Phones, etc.) */

@media only screen and (max-width: 568px) {

#wrapper {
width: 96%;
min-width: 280px;
padding: 20px 0 0 0;
overflow: hidden;
}

#logo {
float: left;
margin: 0 0 20px 4%;
clear: both;
}

#contact_box {
display: none;
}

h1.wide {
background: none;
float: left;
font-size: 1.7em;
font-weight: 600;
margin: 0 0 25px 0;
padding: 21px 0 20px 3%;
position: relative;
text-shadow: 0 1px 0 #FFFFFF;
width: 84% !important;
height: auto;
z-index: 500;
}

.tab_menu {
margin-top: 0 !important;
margin-left: 15px !important;
padding-bottom: 20px !important;
width: 84%;
}

.no_menu {
margin-top: 0 !important;
margin-left: 10px !important;
padding-bottom: 20px !important;
width: 84%;
}

.full {
width: 84%;
}

.subheadline {
margin-left: 15px;
color: #62686b;
font-weight: 400;
font-style: italic;
font-size: 0.65em;
}

.no_sidebar {
width: 98% !important;
padding-left: 0 !important;
padding-right: 0 !important;
}

h2 {
font-size: 1.1em;
font-weight: 600;
}

/* Navigation */

#navigation {
margin: 0;
width: 100%;
clear: both;
}

#navigation, #nav {
border-bottom: 0 none;
}

ul#main_menu {
color: #62686B;
list-style: none outside none;
margin: 0;
padding: 0;
}

ul#main_menu a {
font-size: 1.6em;
text-decoration: none;
}

li.main {
display: block;
float: left;
height: 40px;
margin: 0;
padding: 0;
width: 100%;
text-align: left;
}

li.main:hover {
background: #E3E3E3;
}

li.main a {
color: #3F474A;
display: block;
height: 33px;
margin: 0;
padding-left: 5%;
width: auto;
border-bottom: 1px solid #ddd;
}

ul#main_menu:first-child {
border-top: 1px solid #ddd;
}

li.main a:hover, li.main a:active {
color: #3F474A;
background: #E3E3E3;
}

li.main a.current {
color: #FFFFFF;
background: #3F474A;
border: 0 !important;
}

ul#main_menu div {
display: none;
}

li.main div {
position: relative;
width: 100%;
height: 40px;
}

#navigation br, #sub br, .divider br {
clear: both;
}

/* Tabs */

ul.tabs {
float: left;
height: 40px;
list-style: none outside none;
margin: -30px 0 55px 0 !important;
padding: 0 0 60px;
position: relative;
width: 100%;
z-index: 650;
border-bottom: 1px solid #ddd;
}

ul.tabs li {
background: none !important;
border-left: none !important;
box-shadow: none;
color: #69C600;
display: block;
float: left;
text-align: left !important;
font-size: 1.1em !important;
height: 35px;
line-height: 2.1em;
margin: 0 0 10px 0 !important;
padding: 0;
position: relative;
}

ul.tabs li.tab_active {
background: none !important;
border-bottom: 0 none currentColor;
box-shadow: none;
color: #3F464A;
font-weight: 600;
padding: 0;
text-shadow: none !important;
margin-right: 10px;
}

.no_tabs {
display: block;
float: left;
width: 100%;
height: 1px;
margin: -15px 0 55px 0 !important;
border-bottom: 1px solid #ddd;
}

/* Default Text */

.default_text {
font-size: 1.1em;
line-height: 1.2em;
}

.default_text img {
width: 95%;
height: auto;
}

/* Theme Area */

div.theme_area, div.theme_area_404 {
margin-bottom: 0 !important;
padding: 3% 0 0 0 !important;
height: 100%;
background: #62686b;
}

#theme_area_start {
padding: 3% 0 0 0 !important;
}

div.theme_area img {
margin-bottom: 0;
padding: 0 !important;
height: auto !important;
}

div.theme_area, div.theme_area_404,

.shadow_container_theme, .shadow_container_theme_darker,
#main_image {
height: auto !important;
}

/* Theme Area Teaser Box */

div.teaser_box, div.teaser_box_smaller {
display: none;
}

div.teaser_box h1 {
font-size: 1.6em;
margin-top: 12px;
padding-top: 6px;
}

.teaser_box_row_2 {
font-size: 0.9em;
margin-top: -3px;
padding-bottom: 3px;
width: 95%;
}

div.teaser_box {
display: none;
}

/* About */

#about_home {
float: left;
position: relative;
width: 91%;
padding: 0 5% 2px 5%;
margin: 0 0 20px 0;
}

.about_h {
text-align: center;
padding: 0 10px;
font-size: 1.3em !important;
line-height: 1.35em;
}

.about_text, .news_teaser {
font-size: 1.2em !important;
line-height: 1.4em;

}

/* Ursprung A: Absatzabstand .85em und Zeilenhöhe 1.4 × .85em.
   Die größere, bereits abgestimmte Schriftgröße wird nicht reduziert. */
.about_text_normal p {
line-height: 1.19em;
margin-block: 0.85em;
}

.about_text_mobile_links {
line-height: 1.6em !important;
}

/* Smaller */

/* Connect */

.connect_startpage, .connect_subpages {
padding-bottom: 0;
}
.connect_startpage {
margin-bottom: 0;
}
.connect_subpages {
margin-left: 0;
margin-bottom: 20px;
}
.connect_startpage p, .connect_subpages p {
margin-left: -18px;
}

.connect_h_startpage, .connect_h_subpages {
font-size: 1.2em;
line-height: 1.3em;
margin: 10px 10px 12px -40px;
}
.connect_h_subpages {
padding-left: 15px;
}

.connect_text, .connect_list {
font-size: 1.05em;
padding-left: 0;
}

/* Home */

#carousel {
display: none;
}

.home_empty {
margin-top: -10px;
margin-bottom: 8px;
height: 20px;
}

.block {
margin-bottom: 10px;
}

/* Footer */

#footer {
height: 180px;
margin: 0 auto 0 -60px !important;
padding: 0 60px 7px;

width: 100%;
z-index: 2000;
}

#footer a, #footer .footer_current {
text-decoration: none;
color: #707070;
}

#footer a:hover, #footer a:active {
text-decoration:none;
color: #666666;
}

#footer_logo {
margin-left: -2px;
display: none;
}

#footer_links {
width: 95%;
height: 160px;
margin: 0 auto;
padding: 0 42px;
position: relative;
}

.footer_col_1, .footer_col_2, .footer_col_3, .footer_col_4, .footer_col_5 {
height: 0;
}

.footer_list {
font-size: 0.75em;
line-height: 1.35em;
list-style-type: none;
margin-left: 0;
}

.footer_col_4 .footer_list {
line-height: 1.9em;
}

.footer_list .phone_number {
line-height: 2.5em;
}

.footer_list .email_address {
line-height: 1.9em;
}

#footer_address {
height: 0;
margin-left: -75px;
font-size: 120%;
}

#footer_about_us, #footer_services {
display: none;
}

#footer_contact {
height: 0;
padding-left: 120px !important;
font-size: 120%;
}

#go_to_homepage {
display: none;
}

.small_screen_hide {
display: none;
}

.small_screen_show {
display: inline;
}

.footer_logo {
width: 36px;
height: 36px;
float: left;
margin: 2px 0 0 5%;
}

/* Misc */

.block,
.block_34,
.block_13,
.block_23,
.block_12_left,
.block_12_right {
width: 94%;
padding: 0 3%;
border: none !important;
box-shadow: none !important;
background: none;
z-index: 1500;
}

.news_page {
padding-right: 0;
}

.sidebar_contact_address, .sidebar_link, .sidebar_link_directions,
.sidebar_image, .sidebar_map_thumb {
display: none;
}

.address_mobile {
display: block;
position: relative;
margin: 10px 0 10px 0;
padding: 14px;
width: 93%;
height: 100%;
background-color: #f0f0f0;
font-weight: 400;
font-size: 1.2em;
line-height: 1.3em;
}

p {
font-size: 0.85em;
line-height: 1.4em;
}

/* Contact Form */

#contact_mobile {
width: 170%;
margin-left: -10%;
margin-top: 30px;
padding-top: 0;
}

.fieldset_contact, .fieldset_directions {
margin-left: -15px;
/* Width tuned to preserve the established phone layout at this breakpoint. */
}

.label_contact, .label_directions {
float: left;
font-size: 0.85em;
width: 100%;
position: relative;
}

.textarea_form {
width: 99%;
}

.textarea_form, .textfield {
width: 88%;
}

#zip {
width: 24%;
margin-right: 4%;
}

#location {
width: 58%;
margin-right:-6px;
}

.field_contact, .field_directions, .message {
width: 100%; /* Width tuned to preserve the established phone layout at this breakpoint. */
}

.button {
margin-left: 15px;

}

.partner {
margin: 0 0 30px 0;
background: #fff;
min-height: 90px;
padding: 0;
width: 120%;
}

.partner p {
width: 84%;
}

#uplink img {
width: 48px;
height: 48px;
}

}
/* End Media Query */

/* Landscape Mode */
@media screen and (max-width: 568px) and (orientation: landscape) {
div.theme_area img {
margin-bottom: -5px !important;
}
.default_text {
line-height: 1.25em;
}
}

/* Landscape Mode old Browser */
@media screen and (min-width: 321px) and (max-width: 568px) {
div.theme_area img {
margin-bottom: -5px !important;
}
.default_text {
line-height: 1.25em;
}
}

/* Portrait Mode */

/* Portrait Mode old Browser */

