/* 
    Created on : 9.11.2020
    Author     : Wolfgang Schütte, www.buero-punkt.de
*/

html, body {
    width: 100%; height: 100%;
    margin: 0px; padding: 0px;
    font-family: "Roboto", Calibri, Verdana, Arial, Helvetica, sans-serif;
    font-size: 18px; line-height: 26px;
    background-color: #ffffff; color: #000000;
    -webkit-text-size-adjust: none;
}

s {
    font-family: "Bodoni Moda", Times New Roman;
    text-decoration: none; text-transform: uppercase;
    font-size: 95%;
}

strong s, b s {
    font-weight: 800; 
}

a {
    text-decoration: none;
}

a:hover, a:active {
    text-decoration: none;
}

img {
    border: 0px;
}

hr {
    border-style: none;
    height: 1px; background-color: black;
    margin: -6px 0px 20px 0px;
}

.innerwrapper {
    max-width: 1034px; width: 100%; margin: 0 auto; height: 100%; position: relative;
    box-sizing: border-box; -moz-box-sizing: border-box; min-width: 320px;
    padding: 0px 20px 0px 20px;
}

.outerwrapper {
    display: block;
}

.outerwrapper.kastenhintergrund, .spalte.kastenhintergrund {
    background-color: #ececec;
}

.outerwrapper.kastenhintergrundlinks {
    background-image: linear-gradient(90deg, #ececec 50%, white 0%)
}

.outerwrapper.kastenhintergrundrechts {
    background-image: linear-gradient(90deg, white 50%, #ececec 0%)
}

.tabelle {
    display: table;
    width: 100%; height: 100%;
    table-layout: fixed;
    margin: 0px; padding: 0px;
}

#content .tabelle:last-of-type { margin-bottom: 20px; }

.tabelle .zeile {
    display: table-row;
    width: 100%; height: 100%;
}

.spalte {
    display: table-cell;
    position: relative;
    overflow-y: visible;
    box-sizing: border-box; -moz-box-sizing: border-box;
    vertical-align: top;
    height: 100%;
}

.spaltentrenner {
    display: table-cell;
    width: 3.5%;
}

.spaltentrenner.weiss {
    background-color: white;
}

.halbspaltig {
    width: 13.75%;
}

.einspaltig {
    width: 31%;
}

.einsfuenfspaltig {
    width: 48.25%;
}

.zweispaltig {
    width: 65.5%;
}

.zweifuenfspaltig {
    width: 86.25%;
}

.dreispaltig {
    width: 100%;
}

#topleiste {
    height: 172px; width: 100%; display: block; position: fixed;
    background-color: #ffffff; z-index: 100001;
    top: 0px; left: 0px; padding: 0px;
    -ms-user-select: None; 
    -moz-user-select: None; 
    -webkit-user-select: None; 
    user-select: None; 
}

#logoleiste {
    box-sizing: border-box; -moz-box-sizing: border-box;
    position: relative;
    width: 100%; height: 172px;
    padding: 0px;
}

#logoleiste img, #logoleiste .logobig {
     max-height: 140px;
}

#icons_wide { display: block; }
#icons_small { display: none;}

#logoleiste .logosmall {
    max-height: 60px;
    margin-top: 3px;
} 

#logoleiste .spalte {
    vertical-align: middle;
    text-align: right;
}

#logoleiste .tabelle {
    margin: 0px;
}

#logoinvert {
    width: 100%;
    margin-left: -6px;
    max-width: 240px;
}

#logobox {
    width: 208px;
}

#imprint {
    position: absolute; 
    top: 8px; right: 20px; width: 100%; z-index: 1000;
    font-size: 11px; line-height: 24px; 
    box-sizing: border-box; -moz-box-sizing: border-box;
    text-align: right;
}

#imprint a {
    color: black;
}

#imprint a:hover, #imprint .aktiv {
    text-decoration: none;
}

#imprint span {
    display: inline-block; margin-right: 0px;
}

#breadcrumb {
    font-size: 11px; line-height: 24px; letter-spacing: 1px;
}

#breadcrumb a {
    color: black;
}

#menuleiste {
    min-height: 42px; width: 100%;
    box-sizing: border-box; -moz-box-szing: border-box;
    position: fixed; top: 172px; left: 0px; 
    z-index: 100001; padding-top: 7px; padding-bottom: 7px;
}

#menubutton {
    height: 26px; padding-left: 50px;
    box-sizing: border-box; -moz-box-sizing: border-box;
    color: white; font-weight: 500;
    background-image:url(../gfx/menubutton.png);
    background-repeat: no-repeat;
    position: relative; top: 0px; left: 0px;
    background-size: contain; margin-right: 20px; margin-top: 1px;
    z-index: 250; cursor: pointer; opacity: 0.7;
    font-size: 19px; line-height: 26px; 
    float: left; display: none; text-transform:uppercase;
    -ms-user-select: None; 
    -moz-user-select: None; 
    -webkit-user-select: None; 
    user-select: None; 
}

#menubutton .open { display: block; }
#menubutton .close { display: none; }

#menubutton:hover {
    opacity: 1;
}

#dropdownmenu {
    display: inline-block; color: black;
    padding-left: 0px; position: relative; top: 1px;
    font-weight: 600; 
    font-size: 19px; line-height: 28px; 
    float: left; 
    -ms-user-select: None; 
    -moz-user-select: None; 
    -webkit-user-select: None; 
    user-select: None; 
}

#dropdownmenu a {
    font-weight: 600;
    text-decoration: none; display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    text-transform: uppercase;
}

#dropdownmenu a:link, #dropdownmenu a:visited {
    color: rgba(255,255,255,0.7);
}

#dropdownmenu a:hover, #dropdownmenu a:active, #dropdownmenu a.aktiv {
    color: rgba(255,255,255,1);
}

#dropdownmenu ul {
    list-style-type: none;
    margin: 0px 0px 0px -12px; padding: 0px; 
}

#dropdownmenu ul li a {
    padding: 0px 12px 0px 12px;
    font-weight: 600;
    background-color: none;
    box-sizing: border-box; -moz-box-sizing: border-box;
    letter-spacing: 0.2px;
}

#dropdownmenu ul li.aktiv a {
    padding: 0px 12px 0px 12px;
    cursor: pointer;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

#dropdownmenu ul li {
    float:left;
    padding: 0px;
    margin: 0px 0px 0px 0px;
    position: relative;
}

#dropdownmenu ul li div.sub {
    position: absolute;
    top: 42px; left: -2px; 
    white-space: nowrap;
    min-width: 100%;
    background-color: rgba(255,255,255,0.9);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 18px 6px 17px 6px;
    display: none; 
    box-shadow: 0px 5px 7px 0px rgba(0,0,0,0.25);
    background-image:url(../gfx/dropdownmenufade.png);
    background-position: top left; background-repeat: repeat-x;
}

#dropdownmenu ul li ul {
    margin-left: -10px;
    margin-top: -12px;
}

#dropdownmenu ul li ul li {
    margin-top: 15px;
}

#dropdownmenu ul li div.sub ul li {
    display: block;
    float: none;
    margin-top: 0px; margin-bottom: -20px;
}

#dropdownmenu .dropdownhover a, #dropdownmenu .dropdownhover a:hover, #dropdownmenu .dropdownhover a:link, #dropdownmenu .dropdownhover a:visited {
    color: #9d1380; 
}

#dropdownmenu ul li div.sub ul li a:link, #dropdownmenu ul li div.sub ul li a:visited,
#dropdownmenu ul li.aktiv div.sub ul li a:link, #dropdownmenu ul li.aktiv div.sub ul li a:visited {
    color: #cb94c2;
}

#dropdownmenu ul li div.sub ul li a:hover, #dropdownmenu ul li div.sub ul li a:active,
#dropdownmenu ul li.aktiv div.sub ul li a:hover, #dropdownmenu ul li.aktiv div.sub ul li a:active {
    color: #9d1380;
}

#dropdownmenu ul li div.sub ul li a.aktiv, #dropdownmenu ul li.aktiv div.sub ul li a.aktiv {
    color: #9d1380;
}

#bildleiste {
    width: 100%; height: 517px; background-color: #ececec;
    margin-top: 170px; position: relative; overflow: hidden; 
    z-index: 1;
}

#bildleiste .innerwrapper {
    height: 100%; z-index: 20010; 
    position: relative;
    top: 0px; 
    padding: 0px;
    max-width: 1034px;
    padding: 0px 20px 0px 20px;
}

#bildleiste-text {
    color: white;
    min-height: 95px; width: 100%; 
    position: absolute; bottom: 0px; left: 0px;
    z-index: 12;
}

#bildleiste-text .tabelle {
    min-height: 95px;
}

#bildleiste .leistenbild {
    width: 100%; height: 100%; position: absolute; top: 0px; left: 0px;
    background-size: cover; background-position: center center;
    z-index: 10; display: none; 
}

#bildleiste-text .textaktuell {
    font-size: 28px; line-height: 34px; font-weight: 600; 
    display: block; padding: 14px 0px 14px 0px;
}

#bildleiste-text .hotline {
    font-size: 18px; line-height: 22px;
    letter-spacing: 0.5px;
    display: table-cell; width: 276px;
    vertical-align: middle;
    font-weight: 600;
    box-sizing: border-box; -moz-box-sizing: border-box;
    background-image:url(../gfx/phone_icon.png);
    background-repeat: no-repeat; background-position: right center;
    background-size: auto 36px;
    padding-right: 35px; padding-left: 20px;
}

#bildleiste-text .spalte {
    vertical-align: middle;
}

#bildleiste-text a {
    color: rgba(255,255,255,0.7);
}

#bildleiste-text a:hover {
    color: rgba(255,255,255,1);
}

#language {
    display: inline-block;
    font-size: 10px; line-height: 28px;
    float: right; 
    font-size: 14px; line-height: 24px; 
    position: relative; letter-spacing: 0.5px;
    top: -44px;
}

#language a {
    color: black;
}

#socialmedia {
    float: right;
    display: inline-block;
    position: relative;
    top: -52px;
    width: 95px;
    text-align: right;
}

.facebook {
    display: inline-block;
    width: 26px; height: 25px;
    background-image:url(../gfx/facebook_icon.png);
    background-size: 100% 100%;
    opacity: 0.5;
}

.instagram {
    display: inline-block;
    width: 26px; height: 25px;
    background-image:url(../gfx/instagram_icon.png);
    background-size: 100% 100%;
    opacity: 0.5;
}

#footer .facebook {
    background-image:url(../gfx/facebook_icon_invert.png);   
    opacity: 0.7;
}

#footer .instagram {
    background-image:url(../gfx/instagram_icon_invert.png);
    opacity: 0.7;    
}

.instagram:hover, #footer .instagram:hover {
    opacity: 1;
}

.facebook:hover, #footer .facebook:hover {
    opacity: 1;
}


table, tr, td {
    border-style: none; margin: 0px; border-width: 0px; padding: 0px;
    vertical-align: top;
}

#content {
    width: 100%;
    box-sizing: border-box; -moz-box-sizing: border-box;
    background-color: #ffffff; position: relative;
    padding-bottom: 60px;
}

#content .innerwrapper { 
    box-sizing: border-box; -moz-box-sizing: border-box;
    padding: 0px 20px 0px 20px; max-width: 1040px;
    height: auto; margin-bottom: -20px;
}

#thumbnails {
    text-align: left;
    vertical-align: middle;
    display: block; 
    width: 100%; z-index: 2;
    margin-top: 0px; margin-bottom: 22px;
    min-height: 22px;
    -ms-user-select: None; 
    -moz-user-select: None; 
    -webkit-user-select: None; 
    user-select: None;
}

#thumbnails ul {
    list-style-type: none;
    margin: 0px 0px 0px -37px;
}

#thumbnails ul li {
    width: 15px; height: 15px;
    opacity: 0.3;
    margin-left: 14px; display: inline-block;
    margin-bottom: 6px;
    transform: rotate(-25deg);
}

#thumbnails ul li:first-of-type {
    margin-left: 0px;
}

#thumbnails ul li.aktuell {
    opacity: 1;
}

#thumbnails ul li:hover {
    cursor: pointer;
    opacity: 1;
}

#thumbnails ul li.aktuell:hover {
    opacity: 1;
    cursor: default;
}

#bottomleiste {
    height: 120px; 
    padding: 30px 0px 10px 0px; 
    box-sizing: border-box; -moz-box-sizing: border-box;
    background-color: white;
}

#wrapper {
    width: 100%; overflow-x: hidden; min-width: 320px; 
}

#menuwrapper {
    width: 100%;
    position: relative;
}

#footer a:hover, #footer a:active {
    color: white;
}

.center {
    display: table; width: 100%; height: 100%;
}

.center .tr {
    display: table-row;
}

.center .tr .t d {
    display: table-cell; vertical-align: middle;
}

#footer {
    width: 100%;
    box-sizing: border-box; -moz-box-sizing: border-box;
    min-height: 450px; display: block;
    position: relative; overflow: hidden;
    border-style: none; z-index: 1000003;
    margin-top: 0px; margin-bottom: 0px; 
    font-size: 16px; line-height: 21px;
    box-shadow: 0px -10px 50px 0px rgba(255,255,255,0.5);
    background-image:url(../gfx/wasserzeichen.png);
    background-repeat:no-repeat;
    background-position: center bottom -500px;
    background-size: 1000px 1000px;
    -ms-user-select: None; 
    -moz-user-select: None; 
    -webkit-user-select: None; 
    user-select: None; 
}

#footer .tabelle.sitemap {
    padding-bottom: 10px; margin-left: -20px;
}

#footer .right table {
    display: block;
    margin: -1px 0px -8px -2px;
}

#footer .innerwrapper {
    padding: 36px 20px 0px 20px; 
}

#sitemap {
    margin-bottom: 500px; 
}

.bereiche {
    cursor: pointer;
}

#menu ul.bereiche {
    margin-left: -60px; position: relative; z-index: 200;
}

#footer ul.bereiche {
    margin-left: -60px;
    margin-top: 16px; 
    position: relative; z-index: 100;
}

#menu ul.bereiche li, #footer ul.bereiche li {
    float: left;
    margin: 0px 0px 10px 0px;
    text-transform: none;
    font-weight: normal;
    font-size: 16px; line-height: 21px;
    opacity: 0.5;
    letter-spacing: -0.4px;
}

#menu ul.bereiche li:hover, #footer ul.bereiche li:hover {
    opacity: 1;
}

#menu ul.bereiche li.aktiv, #footer ul.bereiche li.aktiv {
    opacity: 1;
}

#menu .bereichsmenu {
    display: none; position: absolute; top: 0px; left: 40px;
}

#footer .bereichsmenu {
    display: none; position: relative; margin-top: 41px; left: -20px; margin-bottom: 40px;
}

#menu .bereichsmenu.aktiv, #footer .bereichsmenu.aktiv {
    display: block;
}

#footer a {
    text-decoration: none;
    color: rgba(255,255,255,0.6);
}

#footer .right {
    display: inline-block;
    width: 35%; max-width: 265px; 
    float: right; height: 100%;
    box-sizing: border-box; -moz-box-sizing: border-box;
    margin-top: 66px; color: white;
    padding-left: 30px;
    font-size: 16x; line-height: 21px;
    white-space: nowrap;
}

#footer .left {
    float: left;
    display: inline-block;
    width: 65%; 
    padding: 0px;
    color: white;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 16px; line-height: 21px;
    height: 100%; 
    text-transform: uppercase;
    position: relative;
}

#footer ul {
    list-style-type: none;
    margin: -19px 0px -6px 0px;
}

#footer .tabelle {
    table-layout: auto;
    margin-bottom: -60px;
    width: 100%;
}

#footer .spalte {
    width: auto;
    padding-right: 30px;
    padding-bottom: 6px;
    white-space: normal;
    display: table-cell;
    position: relative;
}

#footer div.spalte:last-of-type {
    padding-right: 0px;
}

#footer .zeile:last-of-type .spalte, #menu .zeile:last-of-type .spalte {
}

#menu ul {
    list-style-type: none;
    margin: 0px 0px 0px 0px;
}

#menu ul li {
    font-size: 19px; line-height: 28px;
    margin: 0px 0px 0px -40px;
    font-weight: bold;
    letter-spacing: 0.5px;
    padding-left: 20px;
    text-transform: uppercase;
    color: white;
}

#menu ul li a {
    box-sizing: border-box; -moz-box-sizing: border-box;
}

#menu ul li ul li {    
    margin: 0px 0px -20px -70px;
    font-weight: normal;
    text-transform: none;
    padding-left: 0px;
}

#menu ul li ul li a {
    display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    color: rgba(255,255,255,0.6);
}

#menu ul li ul {
    margin-bottom: 20px;
    margin-top: -20px;
}

#menu ul li ul li a {
    padding-left: 0px;
    margin-left: 30px;  
}

#menu ul li ul li .aktiv {
    text-transform: none;
    display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    color: white;
    margin-bottom: 0px; margin-left: 30px; 
    padding-left: 16px;
}

#menu ul li ul li .aktiv {
    color: white;
}

#menu ul li ul li a:hover {
    opacity: 1;
}

#menu ul li span.menuebene2first a {
    font-weight: normal;
    text-transform: none;
    margin-top: 0px;
}

#menu ul li span.menuebene2 a {
    font-weight: normal;
    text-transform: none;
    margin-top: 0px;
}

#menu ul {
    border-style: none;
    padding-bottom: 12px; 
    padding-right: 20px;
    margin-bottom: 0px;
}

#menu ul:last-of-type {
    border-style: none;
}

#menu ul li .aktiv {
    color: #ffffff;
    display: block; 
    box-sizing: border-box; -moz-box-sizing: border-box;
}

#footer ul li, #footer h3 {
    font-size: 16px; line-height: 21px;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding-left: 20px;
    color: white;
}

#footer h3 {
    margin-bottom: 25px;
    margin-right: -5px;
}


#footer ul li {
    text-transform: uppercase;
    margin: 44px 0px 0px -40px;
}

#footer ul li a {
     padding-left: 0px; box-sizing: border-box; -moz-box-sizing: border-box;
}

#footer ul li ul {
    position: relative; top: -2px;
    margin-top: 0px;
}

#footer ul li span.menuebene2first a {
    font-weight: 400;
    text-transform: none;
    margin-top: 0px;
    display: block;
}

#footer ul li span.menuebene2 a {
    font-weight: 400;
    text-transform: none;
    display: block;
    margin-top: -35px;
}


#footer ul li ul li {    
    font-size: 14px; line-height: 18px;
    margin: 11px 0px -2px -90px;
    font-weight: 400;
    text-transform: none;
    padding-left: 0px;
}

#footer ul li ul li a {
    display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    opacity: 0.5; color: white;
}

#footer ul li ul li a {
    padding-left: 0px;
    margin-left: 50px;
    margin-right: -20px;
}

#footer ul li ul li a:hover {
    opacity: 1;
}

#footer .wrapper {
    margin-bottom: 0px;
}

#footer p {
    margin: 0px 0px 14px 0px;
}

#footer .right ul li {
    font-size: inherit;
    line-height: inherit;
    text-transform: none;
    margin-top: 0px;
    margin-bottom: 0px;
    font-weight: normal;
    padding-left: 0px;
    margin-bottom: 5px;
}

.top {
    text-align: center;
    width: 37px; height: 100px; 
    margin: 0 auto; 
    margin-top: 80px;
    color: white; 
    font-size: 12px; font-weight: bold;
    line-height: 14px; vertical-align: bottom;
    background-image:url(../gfx/arrow_top_invert.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
    cursor: pointer;
    opacity: 0.5;
    padding-top: 50px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    z-index: 1000; position: relative;
}

.top:hover {
    opacity: 1;
}

nowrap {
    white-space:nowrap;
}

.contenttext {
    padding: 20px 0px 0px 0px; box-sizing: border-box; -moz-box-sizing: border-box;
    margin-top: 0px; font-weight: 300; 
    font-size: 18px; line-height: 26px;
    color: #000000; display: block;
}

.contenttext.abstandlinks {
    padding: 20px 20px 0px 0px;
}

.contenttext.abstandrechts {
    padding: 20px 0px 0px 20px;
}

.contenttext u {
    display: block;
    text-decoration: none;
    margin-right: 20px;
    background-repeat: repeat-x;
    background-size: auto 4px;
    background-position: bottom 5px right 0px;
    text-shadow:
        5px 5px 0px #ececec, -5px 5px 0px #ececec, 5px -5px 0px #ececec, 5px 5px 0px #ececec, 
        4px 5px 0px #ececec, -4px 5px 0px #ececec, 5px -4px 0px #ececec, 5px 4px 0px #ececec,
        3px 5px 0px #ececec, -3px 5px 0px #ececec, 5px -3px 0px #ececec, 5px 3px 0px #ececec,
        2px 5px 0px #ececec, -2px 5px 0px #ececec, 5px -2px 0px #ececec, 5px 2px 0px #ececec,
        1px 5px 0px #ececec, -1px 5px 0px #ececec, 5px -1px 0px #ececec, 5px 1px 0px #ececec,
        5px 2px 0px #ececec, -5px 2px 0px #ececec, 2px -5px 0px #ececec, 2px 5px 0px #ececec, 
        4px 2px 0px #ececec, -4px 2px 0px #ececec, 2px -4px 0px #ececec, 2px 4px 0px #ececec,
        3px 2px 0px #ececec, -3px 2px 0px #ececec, 2px -3px 0px #ececec, 2px 3px 0px #ececec,
        2px 2px 0px #ececec, -2px 2px 0px #ececec, 2px -2px 0px #ececec, 2px 2px 0px #ececec,
        1px 2px 0px #ececec, -1px 2px 0px #ececec, 2px -1px 0px #ececec, 2px 1px 0px #ececec,
        5px 0px 0px #ececec, -5px 0px 0px #ececec, 0px -5px 0px #ececec, 0px 5px 0px #ececec, 
        4px 0px 0px #ececec, -4px 0px 0px #ececec, 0px -4px 0px #ececec, 0px 4px 0px #ececec,
        3px 0px 0px #ececec, -3px 0px 0px #ececec, 0px -3px 0px #ececec, 0px 3px 0px #ececec,
        2px 0px 0px #ececec, -2px 0px 0px #ececec, 0px -2px 0px #ececec, 0px 2px 0px #ececec,
        1px 0px 0px #ececec, -1px 0px 0px #ececec, 0px -1px 0px #ececec, 0px 1px 0px #ececec;
}

.contenttext h1, .contenttext h2 {
  font-size: 28px; line-height: 36px;
  color: black; margin-top: 0px; font-weight: 500;
  margin-bottom: 25px; margin-bottom: 22px;
}

.contenttext h1 strong, .contenttext h2 strong, .contenttext p strong {
    font-weight: 500;
}

.contenttext p {
  margin: 0px 0px 24px 0px;
  box-sizing: border-box; -moz-box-sizing: border-box;
  display: block; font-weight: 300;
  font-size: 18px; line-height: 26px;
  color: #000000; 
}

p {
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 8 5 3;
    hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-chars: 8 5 3;
    -webkit-hyphenate-limit-lines: 2;
    -ms-hyphenate-limit-chars: 8 5 3;
    -ms-hyphenate-limit-lines: 2;
}

b, strong {
    font-weight: 600;
}

.contenttext ul {
    list-style-type: none;
    margin: 0px 0px 22px 0px; padding: 0px;
    color: #000000;
}

a.arrowlink {
    text-decoration: none;  
    display: inline-block;
    margin-top: -5px; 
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 18px; line-height: 22px;
    font-weight: 400; text-transform: uppercase;
    margin: 0px 0px 22px 0px; 
}

.contenttext a, a.arrowlink { 
    opacity: 0.7;
}

.contenttext a:hover, a.arrowlink:hover {
    opacity: 1;
}

.contenttext:last-child {
    margin-bottom: 0px;
}

hr.trennersmall {
    width: 100%; clear: both;
    box-sizing: border-box; -moz-box-sizing: border-box;
    display: block; border-style: none;
    height: 2px; margin: 0px;
    background-color: white;
}

hr.trennerbig {
    width: 100%; clear: both;
    box-sizing: border-box; -moz-box-sizing: border-box;
    display: block; border-style: none;
    height: 64px; margin: 0px;
    background-color: white;
}

hr.tennernoline {
    background-color: transparent;
    width: 100%; clear: both;
    box-sizing: border-box; -moz-box-sizing: border-box;
    display: block; border-style: none;
    height: 0px; margin: 0px; 
}

#menu {
    width: 320px; min-width: 320px; max-width: 320px;
    position: absolute; top: 35px; left: 0px; z-index: 1000002;
    box-sizing: border-box; -moz-box-sizing: border-box;
    height: auto; display: none; 
    border-style: solid; border-width: 1px 0px 0px 0px; border-color: white;
}

#menu .innerwrapper {
    box-sizing: border-box; -moz-box-sizing: border-box; 
    padding: 33px 30px 0px 50px;
    background-repeat: repeat-x;
    background-position: 0px 0px;
    position: relative;
    background-repeat:repeat-x;
    background-position: top left;
    color: white;
    font-size: 19px; line-height: 28px;
}

#menu .tabelle {     
    table-layout: auto;
    box-sizing: border-box; -moz-box-sizing: border-box;
    margin-left: 0px; margin-top: 50px; 
}

#menu a {
    color: rgba(255,255,255,0.6);
    display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    text-decoration: none; padding-bottom: 21px;
}

#menuclose {
    width:34px; height: 42px; 
    position: absolute; top: 0px; left: 20px;
    background-image:url(../gfx/close.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    opacity: 0.5;
    cursor: pointer;
    color: white;
    background-size: contain;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
} 

#menuclose:hover { opacity: 1; }

#menu .menuline {
    display: block; padding-left: 15px;
    background-repeat: no-repeat;
    background-position: 0px 13px;
}

#menu .spalte {
    padding-right: 20px;
    padding-bottom: 15px;
    padding-top: 15px;
    box-sizing: border-box; -moz-box-sizing: border-box;
    white-space: normal;
    display: table-cell;
}

#menu .spalte:last-of-type {
    padding-right: 0px;
}

#menu .close:hover {
    opacity: 1;
}

#menu a:hover {
    color: #ffffff;
}

.bildbox img {
    width: 100%; 
    opacity: 0;
}

div.spalte .bildbox {
    width: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    margin-bottom: 30px;
    margin-top: 0px;
    
}

.arrow_links {
    width: 100px; height: 100%;
    left: 0px; top: 0px;
    position: absolute; 
    z-index: 11;
    background-image:url(../gfx/arrow_left.png);
    background-position: center center;
    background-size: 30%;
    background-repeat: no-repeat;  
    cursor: pointer;
    opacity: 0;
    display: block;
}

.arrow_rechts {
    width: 100px; height: 100%; 
    right: 0px; top: 0px;
    position: absolute; 
    z-index: 11;
    background-image:url(../gfx/arrow_right.png);
    background-position: center center;
    background-size: 30%;
    background-repeat: no-repeat;
    cursor: pointer;
    opacity: 0;
    display: block;
}

#mapwrap {
    width: 100%; height: 500px; 
    display: block; position: relative; 
    margin-bottom: 20px;
}

.mapmask {
    width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; background-color: transparent;
}

#loadmap {
    width: 200px;
    margin-top: 50px;
    cursor: pointer;
}

.platzhalter {
    width: 100%; height: 100%; background-color: #f1f3f4; vertical-align: middle; display: table-cell;
    box-sizing: border-box; -moz-box-sizing: border-box; text-align: center;
}

#cookie_hinweis {
    display: block; padding: 40px; box-sizing: border-box; -moz-box-sizing: border-box; text-align: center;
    background-color: #9b9c9b; color: black; z-index: 1005000; position: fixed; width: 100%; bottom: 0px;
    box-shadow: 0px 20px 25px 20px rgba(0,0,0,0.25);
}

.filelinkinfo { 
    font-size:13px; line-height:16px; text-decoration: none; font-style: normal; color: black;
    display: block; margin-bottom: 12px; margin-top: 0px; font-weight: 300;
}

.linkbutton {
    display: inline-block; margin-left: 40px; color: rgba(255,255,255,0.5);
    text-transform: uppercase; vertical-align: text-bottom; margin-top: 20px;
    border-style: solid; border-width: 1px; padding: 10px;
    box-sizing: border-box; -moz-box-sizing: border-box;
}

.linkbutton:hover {
    display: inline-block; margin-left: 40px; color: rgba(255,255,255,0.8);
    text-decoration: none; 
}

.linkbutton:first-of-type { margin-left: 0px; }

a .bildbox {
    text-decoration: none;
    display: block;
    position: relative;
}

a:hover .bildbox {
    box-shadow: 0px 0px 0px 1px rgba(244,151,18,1) inset;
}

.wrapper {
    width: 100%; max-width: 1024px;
    margin: 0 auto; 
}

#footer ul li .aktiv {
    color: white;
    display: block; 
    box-sizing: border-box; -moz-box-sizing: border-box;
    padding-left: 0px;
}

#footer ul li ul li .aktiv {
    text-transform: none;
    background-image: none;
    display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    opacity: 1;
    color: white;
    padding-left: 0px; margin-left: 50px;
}

.fancybutton {
    text-decoration: none;
    color: #9d1380;   
    display: inline-block;
    margin-top: -5px; 
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 17px; line-height: 28px;
    font-weight: 400; text-transform: uppercase;
    border-style: solid; border-width: 1px; border-color: #9d1380; 
    padding: 2px 12px 2px 12px;
    margin: -2px 0px 44px 0px; 
    -ms-user-select: None; 
    -moz-user-select: None; 
    -webkit-user-select: None; 
    user-select: None;
    width: 49%; margin-right: 2%;
    float: left;
}

.fancybutton:last-of-type {
    margin-right: 0px;
}

.fancybutton:hover {
    cursor: pointer;
    background-color: #e3cbe4;
    text-decoration: none;
}

#cookie_hinweis .fancybutton {
    background-color: #1c296a;
    color: white;
}

#cookie_hinweis .fancybutton:hover {
    background-color: #ffffff;
    color: black;
}

.fancyinput, .fancytextarea {
    padding: 13px 30px 11px 12px;
    margin-top: 0px; 
}

.fancyinput, .fancyselect, .fancytextarea {
    font-family: "Source Sans Pro", Verdana, Arial, Helvetica, sans-serif;
    width: 100%; box-sizing: border-box; -moz-box-sizing: border-box;
    font-size: 17px; line-height: 17px;
    background-color: white; color: #000000;
    border-style: solid; border-width: 1px; border-color: rgba(0,0,0,0.25);
    position: relative; 
    margin-bottom: 12px;
    height: 45px;
}

.fancyinput.andere {
    display: none;
    margin-bottom: 60px; margin-top: -1px; clear: both;
}

.contenttext ol {
    margin-left: -14px;
}

.contenttext ul li {
    background-image: url(../gfx/bullet.png);
    background-repeat: no-repeat;
    background-position: 0px 7px;
    padding-left: 26px;
    margin-bottom: 0px;
}

.toplinkabstand {
    margin: 0px 0px 0px 0px;
}

div.spalte .bildbox.maxhoehe { height: 100%; background-position: top left; background-size: cover; }
div.spalte .bildbox.hoehe225 { height: 380px; }
div.spalte .bildbox.hoehe295 { height: 380px; }
div.spalte .bildbox.hoehe365 { height: 500px; }

.headlineabstand {
    display: block; height: 0px;
}

#footer hr {
    margin-bottom: -16px;
}

#footer hr.footertrenner {
    display: none;
}

#menu .spalte { max-width: 33.3%; }

#menu hr.wechsel2spaltig { display: none; }

a:link.filelink, a:visited.filelink	{ opacity: 0.7; background-image:url(../gfx/download.png); background-repeat:no-repeat; padding: 0px 0px 0px 20px; background-position:0px 5px; display: block; text-decoration: none; }
a:hover.filelink, a:active.filelink	{ opacity: 1; background-image:url(../gfx/download_o.png); background-repeat:no-repeat; padding: 0px 0px 0px 20px; background-position:0px 5px; display: block; text-decoration: none; }

.anhangwrapper {
    display: block;
    margin-bottom: 26px;
}
.clear {
    display: block; clear: both; height: 20px;
}

table.legende tr td:first-of-type { width: 250px; }

@media (max-width: 1024px) {
    #dropdownmenu ul li a { padding: 0px 10px 0px 10px; letter-spacing: -0.5px; }
    #dropdownmenu ul { margin: 0px 0px 0px -11px; }
}

@media (max-width: 960px) {
    #dropdownmenu ul li a { padding: 0px 8px 0px 8px; font-size: 18px; }
    #dropdownmenu ul { margin: 0px 0px 0px -10px; }
}

@media (max-width: 900px) {
    #dropdownmenu ul li a { padding: 0px 7px 0px 7x; font-size: 19px; letter-spacing: 0px; }
    #dropdownmenu ul { margin: 0px 0px 0px -11px; }
    #dropdownmenu ul li a { display: none; }
    #dropdownmenu ul li a.aktiv { display: block; margin-right: -9px;}
    #dropdownmenu { float: right; }
    #menubutton { display: block;}
}

@media (max-width: 800px) {  
    #logoinvert {
        margin-left: 0px;
    }
    
    #logoleiste .logosmall {
        max-height: 50px;
        margin-top: 10px;
    }
    .contenttext { 
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
        hyphenate-limit-chars: 8 5 3;
        hyphenate-limit-lines: 2;
        -webkit-hyphenate-limit-chars: 8 5 3;
        -webkit-hyphenate-limit-lines: 2;
        -ms-hyphenate-limit-chars: 8 5 3;
        -ms-hyphenate-limit-lines: 2;
    }
}

@media (max-width: 700px) {      
    #footer .left { 
        display: block; width: auto; float: none; margin: 0 auto;
    }
    
    #footer .right { 
        display: block; margin: 0 auto; float: none; width: 240px; margin-top: 60px; padding: 0px;
    }
    
    #content .spalte { 
        display: block; width: 100%; border-style: none; 
        min-width: inherit; min-height: inherit; 
        margin-bottom: 0px; float: none; 
    }
       
    #content .zeile {
        display: block; border-style: none; margin: 0px;
    }
    
    #content .spaltentrenner { display: none; }
    .halbspaltig, .einspaltig, .einsfuenfspaltig, .zweispaltig, .zweifuenfspaltig, .dreispaltig { float: none; }

    .filler { display: none; }
    
    div.spalte .bildbox.maxhoehe { height: 450px; }
        
    div.spalte .bildbox.hoehe225 { height: 450px; }
    div.spalte .bildbox.hoehe295 { height: 450px; } 
    div.spalte .bildbox.hoehe365 { height: 450px; } 
    
    div.spalte .bildbox { margin-bottom: 20px; }
    
    .kastenhintergrund.rechts { padding-left: 0px; }
    .kastenhintergrund.links { padding-left: 0px; }
    .contenttext.abstandrechts { padding-left: 0px; }
    
    #content .spaltentrenner.weiss { display: block; position: relative; height: 25px; width: calc(100% + 40px); margin-left: -20px; margin-right: 0px; background-color: white; }

    #icons_wide { display: none; }
    #icons_small { display: block; margin-top: 12px; }
    #logoleiste .logosmall { max-height: 58px; margin-top: 3px; }
    div.spalte .bildbox.hoehe365 { height: 380px; }
}

@media (max-width: 550px) { 
    #logoleiste .logosmall { max-height: 48px; margin-top: 12px; }
    #bildleiste-text .spalte  { display: block; text-align: center; }
    #bildleiste-text .hotline { display: block; margin: 0 auto; margin-bottom: 15px; }
}

@media (max-width: 520px) { 
    #dropdownmenu ul li a.aktiv { display: none; }
}
   
@media (max-width: 500px) { 
    #logoleiste .logosmall { max-height: 40px; margin-top: 12px; }
    #icons_small { display: block; margin-top: 31px; }
    div.spalte .bildbox.hoehe225 { height: 350px; }
    div.spalte .bildbox.hoehe295 { height: 350px; }
    div.spalte .bildbox.hoehe365 { height: 350px; }
}

@media (max-width: 475px) {
    #cookie_hinweis .linkbutton { margin-left: 20px; margin-right: 20px; display: block; }
    .logobig  { margin-top: 15px; height: 100px; width: auto; }
    #logobox { width: 150px; }
    #icons_small { display: block; margin-top: 20px; }
    #logoleiste { margin-top: -22px; }
    #imprint { top: 30px; }
    #logoleiste .logosmall { max-height: 40px; margin-top: 5px; }
    #topleiste { height: 132px; }
    #bildleiste { margin-top: 132px; }
    #menuleiste { top: 132px; }
}

@media (max-width: 450px) {  
    .contenttext p { 
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
        hyphenate-limit-chars: 8 5 3;
        hyphenate-limit-lines: 2;
        -webkit-hyphenate-limit-chars: 8 5 3;
        -webkit-hyphenate-limit-lines: 2;
        -ms-hyphenate-limit-chars: 8 5 3;
        -ms-hyphenate-limit-lines: 2;
    } 
    #footer .left .spalte { display: block; }
    #footer .left { width: 240px; margin-left: 96px; margin-top: 60px; }
    #footer .right { margin-top: 70px; }
    div.spalte .bildbox.hoehe225 { height: 300px; }
    div.spalte .bildbox.hoehe295 { height: 300px; }
    div.spalte .bildbox.hoehe365 { height: 300px; }
    #bildleiste { height: 485px; }  
    
    table.legende tr, table.legende tr td, table.legende tr td:first-of-type { display: block; width: 100%; }
    table.legende tr { margin-bottom: 25px; }
    .contenttext u { margin-right: 0px; }
}

@media (max-width: 410px) {
    #imprint { text-align: center; right: 0px;}
    .logobig  { margin-top: 15px; height: 75px; width: auto; margin-right: 20px; }
    #logobox { width: 120px; }
    .innerwrapper { padding: 0px 15px 0px 15px; }
    #topleiste .innerwrapper { padding-left: 15px; padding-right: 15px; }
    #menu .innerwrapper { padding: 33px 30px 0px 45px; } 
    #logoleiste .logosmall { max-height: 35px; margin-top: 4px; }
    #icons_small { display: block; margin-top: 10px; }
    #topleiste { height: 122px; }
    #menuleiste { top: 122px; }
    #bildleiste { height: 415px; }  
    div.spalte .bildbox.hoehe225 { height: 250px; }
    div.spalte .bildbox.hoehe295 { height: 250px; }
    div.spalte .bildbox.hoehe365 { height: 250px; }
    
    .contenttext, .contenttext p { font-size: 16px; line-height: 24px; }
    .contenttext h1, .contenttext h2 { font-size: 24px; line-height: 32px; }
    #bildleiste-text .textaktuell { font-size: 24px; line-height: 32px; }
}

@media (max-width: 350px) {
    #bildleiste { height: 370px; } 
}

