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

html, body {
    width: 100%; height: 100%;
    margin: 0px; padding: 0px;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    background-color: #3d85c0;
    -webkit-text-size-adjust: none;
    color: black;
}

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

#topleiste {
    height: 66px; width: 100%; display: block; position: fixed;
    background-color: #ffffff; z-index: 100001;
    top: 0px; left: 0px; 
    box-shadow: 0px 0px 4px rgba(0,0,0,0.3);
}

a {
    color: rgba(0,0,0,0.5);
    text-decoration: none;
}

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

a.archivlink {
    color: #c2472c; 
    margin-right: 20px; margin-bottom: 18px;
    display: block; text-align: right;
}

img {
    border: 0px;
}

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

.contenttext p, p {
  margin: 0px 0px 11px 0px;
  box-sizing: boder-box; -moz-box-sizing: border-box;
  display: block;
}

#content {
    width: 100%;
    box-sizing: border-box; -moz-box-sizing: border-box;
    background-color: #e3e3e3; color: white;
    position: relative;
}

#content .innerwrapper {
    min-height: 500px; 
    box-sizing: border-box; -moz-box-sizing: border-box;
    padding: 0px 30px 20px 30px;
    max-width: 1060px;
    background-color: white;
}

#breadcrumb {
    font-size: 13px; line-height: 13px; font-weight: 300; letter-spacing: 0.1px;
    box-sizing: border-box; -moz-box-sizing: border-box;
    width: 100%; display: block; clear: both; color: #000000; 
    position: relative;  z-index: 1000;
    margin-top: 0px; margin-bottom: 50px;
    padding: 0px; 
}

#breadcrumb a {
    text-decoration: none; color: #000000;
}

#breadcrumb a:hover {
    text-decoration: underline;
}

#bottomwrapper {
    background-color: #eaefde; display: block; 
}

#thumbnails {
    text-align: right;
    vertical-align: middle;
    padding: 17px 0px 2px 0px; display: block;
}

#breadcrumb span {
    text-transform: uppercase;
}

#thumbnails ul {
    list-style-type: none;
    margin: 0px;
    min-height: 22px;
}

#thumbnails ul li {
    width: 12px; height: 12px;
    background-color: #3d85c0;
    margin-left: 10px; display: inline-block;
    margin-bottom: 10px;
}

#thumbnails ul li.aktuell {
    background-color: #2c227a;
}

#thumbnails ul li:hover {
    cursor: pointer;
    background-color: #2c227a;       
}

#thumbnails ul li.aktuell:hover {
    background-color: #2c227a;  
    cursor: default;
}

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

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

.tabelle {
    display: table;
    width: 100%; height: 100%;
    table-layout: fixed;
}

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

.tabelle .zeile {
    display: table-row;
    width: 100%; height: 100%;
    border-style: solid;
    border-width: 0px 0px 1px 0px;
    margin-bottom: 20px;
}

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

.kontaktspalte {
    width: 44%;
}

.loginspalte {
    vertical-align: top; padding: 210px 0px 0px 0px;
}

.mehr {
    font-size: 13px; color: #c2472c; float: right;  line-height: 26px;
    margin-left: 20px;
}

.mehr:hover {
    text-decoration: underline;
    cursor: pointer;
}

.spaltentrenner {
    width: 3.5%;
}

.halbspaltig {
    width: 13.75%;
}
.einspaltig {
    width: 31%;
}

.einsfuenfspaltig {
    width: 48.25%;
}

.zweispaltig {
    width: 65.5%;
}

.zweifuenfspaltig {
    width: 86.25%;
}

.dreispaltig {
    width: 100%;
}

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


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

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

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

#bildleiste {
    width: 100%; height: 523px; background-color: #5a97c9;
    position: relative; box-sizing: border-box; -moz-box-sizing: border-box;
    top: 0px; margin: 0px; padding: 0px;
}

#footer {
    background-color: #3d85c0; 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: 100000;
    box-shadow: 0px 0px 100px rgba(255,255,255,0.5);
    margin-top: -20px; margin-bottom: 0px;
}

#footer .innerwrapper {
    background-color: inherit;
    padding: 0px 30px 0px 30px;
    background-image:url(../gfx/ebs_wasserzeichen.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

#footer h1 {
    color: white; letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 24px; font-weight: 700; line-height: 30px;
    margin-bottom: -3px;
    margin-top: 26px;
    font-weight: bold;
}

#footer h2 {
    color: white;
    font-size: 20px; font-weight: bold; line-height: 22px;
    margin-bottom: 23px;
    margin-top: 30px;
    letter-spacing: 0.2px;
}

#footer {
    font-size: 13px; line-height: 20px;
}

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

#footer .left {
    display: inline-block;
    width: 50%; 
    float: left; height: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    border-style: none;
    padding-right: 20px;
    margin-top: 30px;
}

#footer .right {
    float: right;
    display: inline-block;
    width: 50%; max-width: 364px;
    padding-left: 0px;
    padding-top: 57px;
    color: white;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 16px; line-height: 24px;
    height: 100%;  
}

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

#footer .tabelle {
    table-layout: fixed;
}

#footer .spalte {
    width: 50%; padding-right: 20px;
    padding-bottom: 30px;
    white-space: normal;
    display: table-cell;
    border-style: solid; 
    border-width: 0px 0px 1px 0px; border-color: white;
}

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

#footer .zeile:last-of-type .spalte, #menu .zeile:last-of-type .spalte {
    border-style: none;
}

#footer ul li {
    font-size: 19px; line-height: 24px;
    margin: 44px 0px -0px -40px;
    font-weight: bold;
    letter-spacing: 0px;
    padding-left: 0px;
    text-transform: uppercase;
}

#footer ul li ul, #menu ul li ul {
    margin: -1px 0px 0px 0px;
}

#footer ul li ul li {    
    font-size: 16px; line-height: 20px;
    margin: 7px 0px 6px -40px;
    font-weight: bold;
    padding-left: 0px;
}

#footer ul li ul li ul {
    margin: 5px 0px 0px 0px;
}

#footer ul li ul li ul li {    
    font-size: 14px; line-height: 20px;
    margin: 8px 0px 6px -20px;
    font-weight: normal;
}

#footer ul li ul li ul li ul {
    margin: 5px 0px 0px 0px;
}

#footer ul li ul li ul li ul li {    
    font-size: 12px; line-height: 16px;
    text-transform: none;
    margin: 0px 0px 0px -25px;
    font-weight: normal; 
}

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

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

#footer .right table {
    margin-bottom: 11px;
}

#footer .right ul li {
    font-size: inherit;
    line-height: inherit;
    text-transform: none;
    margin-top: 0px;
    margin-bottom: 0px;
    font-weight: normal;
    background-image: url(../gfx/bullet_white.png);
    background-repeat: no-repeat;
    padding-left: 12px;
    margin-bottom: 5px;
}

.contenttext ul li {
    font-size: inherit;
    line-height: inherit;
    text-transform: none;
    margin-top: 0px;
    margin-bottom: 0px;
    font-weight: normal;
    background-image: url(../gfx/bullet.png);
    background-repeat: no-repeat;
    padding-left: 12px;
    margin-bottom: 0px;    
}

.contenttext ul {
    list-style-type: none;
    margin: 0px 0px 24px 0px; padding: 0px;
}

.contenttext p:last-of-type {
    margin-bottom: 0px;
}

.top {
    text-align: center;
    width: 200px; height: 100px; 
    margin: 0 auto; 
    margin-top: 70px;
    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: 60px 35px;
    cursor: pointer;
    opacity: 0.5;
    padding-top: 42px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.top:hover {
    opacity: 1;
}

nowrap {
    white-space:nowrap;
}

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

.contenttext {
    padding: 0px 0px 0px 0px; box-sizing: border-box; -moz-box-sizing: border-box;
    margin-top: 17px;
}

#logomaske {
    height: 66px; width: 350px; 
    background-color: white;
    z-index: 1001;
    position: absolute; 
    right: 0px; top: 0px;
}

#logo, #logowide, #logowidelogin {
    box-sizing: border-box; -moz-box-sizing: border-box;
    position: absolute;
    top: 0px; right: 30px;
    z-index: 1000;
    background-color: white;
    width: 290px; height: 206px;
    padding: 66px 20px 0px 20px;
    box-shadow: 0px 0px 4px rgba(0,0,0,0.3);
}

#logo img, #logowide img, #logowidelogin img {
     max-width: 364px; width: 100%;
}

#logowide, #logowidelogin {
    display: none;
    width: 100%; height: auto; right: 0px; 
    padding-left: 30px; padding-right: 30px; 
    overflow: visible; padding-bottom: 35px; 
    padding-top: 80px; 
}

#logowidelogin { padding-bottom: 10px; }

.logoinvert img {
    width: 100%; 
    max-width: 245px;
    margin-bottom: 45px;
    margin-top: -32px;
}

.contenttext {
    color: black;
    font-size: 16px;
    line-height: 25px;
    font-style: normal;
}

.contenttext h1 {
    font-weight: 600;
    font-size: 24px; line-height: 32px;
    color: #3d85c0;
    margin-bottom: 18px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.contenttext h2 {
    font-weight: 600;
    font-size: 20px; line-height: 28px;
    color: black;
    margin-bottom: 18px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.contenttext h6 {
    font-size: 13px; line-height: 18px; font-weight: normal;
    margin-bottom: 0px; margin-top: -10px;
}

.contenttext a {
    color: rgba(0,0,0,0.4);    
}

a.arrowlink {
    text-decoration: none;
    color: #3f86c0;   
    font-size: 16px;
    display: inline-block;
    margin-top: 16px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-weight: normal;
    margin-bottom: 0px;
    padding-right: 25px;
    background-image: url(../gfx/linkarrow_blue.png);
    background-repeat: no-repeat;
    background-position: right 5px;
    background-size: 17px 14px;
    padding-left: 30px; margin-left: -30px;
}

a.arrowlink:hover {
    text-decoration: none;
    background-image: url(../gfx/linkarrow_blue_hover.png);
    color: #2e247a;
}

hr {
    margin: 8px 0px 8px 0px; border-style: none;
    height: 10px; width: 100%;
    background-image:url(../gfx/hr.png);
    background-repeat: repeat-x;
    background-color: transparent;
    clear: both;
}

hr.blue {
    background-image:url(../gfx/hr-blue.png);    
}

hr.trenner {
    margin: 54px 0px 54px 0px;
    clear: both;
}

#footer hr, #menu hr {
    background-color: transparent;
    background-image:url(../gfx/hr-white.png);   
}

#menu hr {
    margin: -5px 0px -5px 0px;
}

#menu  {
    width: 100%; min-height: 450x; min-width: 320px;
    position: fixed; top: 66px; left: 0px;
    z-index: 1000002;
    box-sizing: border-box; -moz-box-sizing: border-box;
    max-height: 100%;
    overflow: visible;
    display: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

#menu .innerwrapper {
    box-sizing: border-box; -moz-box-sizing: border-box; 
    padding: 0px 125px 0px 0px;
    background-repeat: repeat-x;
    background-position: 0px 0px;
    position: relative;
    min-height: 450px;
    max-width: 1000px;
    background-color: rgba(63,134,192,0.95);
    background-image: url(../gfx/menufade.png);
    background-repeat:repeat-x;
    background-position: bottom left;
}

#menu .tabelle {     
    table-layout: fixed;
}

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

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

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

#menu ul li {
    font-size: 19px; line-height: 24px;
    margin: 44px 0px -0px -40px;
    font-weight: bold;
    letter-spacing: 0px;
    padding-left: 62px;
    text-transform: uppercase;
}

#menu ul li ul {
    margin-top: -12px;
    border-style: none;
    margin-bottom: 3px;
}

#menu ul li ul li {
    font-size: 16px; line-height: 20px;
    margin: 8px 0px -18px -40px;
    font-weight: bold;
    padding-left: 0px;
    height: auto;
}

#menu ul li ul li ul  {
    margin: 5px 0px 0px 0px;
}

#menu ul li ul li ul li  {
    font-size: 14px; line-height: 20px;
    margin: 8px 0px 6px -20px;
    font-weight: normal;
}

#menu ul li ul li ul li ul {
    margin: 5px 0px 0px 0px;
}

#menu ul li ul li ul li ul li  {
    font-size: 12px; line-height: 16px;
    text-transform: none;
    margin: 0px 0px 0px -25px;
    font-weight: normal; 
}

#menuclose {
    width:35px; height: 60px; 
    position: absolute; top: 21px; right: 25px;
    background-image:url(../gfx/close.png);
    background-repeat: no-repeat;
    background-position: 0px 0px;
    opacity: 0.5;
    cursor: pointer;
    color: white;
    background-size: 40px 40px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    z-index: 1500000;
} 

#menuclose:hover { opacity: 1; }

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

#menu .spalte {
    width: 30%; padding-right: 5%;
    padding-bottom: 30px;
    white-space: normal;
    display: table-cell;
    border-style: solid; 
    border-width: 0px 0px 1px 0px; border-color: white;
}

.chaticon, .phoneicon {
    display: block;
    margin-top: 3px;
    font-weight: 600;
    line-height: 20px;
    background-repeat: no-repeat;
    background-size: 38px 35px;
    padding-left: 70px;
    box-sizing: border-box; -moz-box-sizing: border-box;
    min-height: 40px; padding-top: 10px;
}

.chaticon {
    background-image:url(../gfx/chaticon.png);
    background-position: left center;
    margin-top: -5px;
    opacity: 0.5;
}

.phoneicon {
    background-image:url(../gfx/phoneicon.png);
    margin-top: -10px;
    opacity: 0.5;
}

a .chaticon, a .phoneicon {
    color: white;
}
.chaticon:hover, .phoneicon:hover {
    opacity: 1;
}

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

#menu a:hover {
    color: white;
}

#menubutton {
    height: 50px;
    width: 180px;
    background-image:url(../gfx/menubutton.png);
    background-repeat: no-repeat;
    padding: 31px 0px 0px 62px;
    font-size: 18px; 
    text-align: left; font-weight: bold;
    position: absolute; bottom: 16px; left: 30px;
    background-position: bottom left;
    z-index: 2000;
    color: #3e3083;
    cursor: pointer;
    box-sizing: border-box; -moz-box-sizing: border-box;
    opacity: 1;
    -ms-user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

#menubutton:hover {
    background-image:url(../gfx/menubutton_hover.png);
    cursor: pointer;
    color: #3d85c0;
}

.hintergrundweiss {
    background-color: rgba(255,255,255,0.7);
}

.hintergrundhundertprozentweiss {
    background-color: rgba(255,255,255,1);
}

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

div.spalte .bildbox {
    width: 100%;
    position: relative; display: block;
    margin: 0px; margin-bottom: 0px;
    box-sizing: border-box; -moz-box-sizing: border-box;
    overflow: hidden;
}

div.textspalte {
    display: table-cell;
    position: relative;
    vertical-align: top;
    width:51.5%;
    padding-bottom: 15px;
    box-sizing: border-box; -moz-box-sizing: border-box;
}

div.bildspalte, .bildboxinhalt {
    width: 100%; height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    display: block;
    margin: 0px;
    box-sizing: border-box; -moz-box-sizing: border-box;
    margin-bottom: 0px;
    overflow: hidden;
}

div.bildspalte { 
    width: 48.5%; height: 100%;
    display: table-cell;
    position: relative;
    overflow-y: visible;
    box-sizing: border-box; -moz-box-sizing: border-box;
    vertical-align: middle;
}

.platzhalter {
    display: block;
    width: 100%; height: 100%;
}

#footer3spaltig { display: none; }
#footer2spaltig { display: block; }

#footer2spaltig .spalte { padding-right: 50px;}

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

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

#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;
}

#cookie_hinweis {
    display: block; padding: 40px; box-sizing: border-box; -moz-box-sizing: border-box; text-align: center;
    background-color: #3D85C0; color: white; z-index: 100500; position: fixed; width: 100%;
}

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

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

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


a .bildbox {
    text-decoration: none;
    margin: -1px;
    display: block;
    position: relative; left: -1px;
}

.bildbox { 
    border-style: none;
}

.bildrahmen {
    border-style: solid;
    border-width: 1px; border-color: #6f9bcd;
}

a:hover .bildbox {
    text-decoration: none;
}

#imprint {
    position: absolute; 
    top: 10px; left: 215px;
    font-size: 10px; font-weight: 300;
    width: 280px;
    z-index: 2000;
    text-transform: uppercase;
    -ms-user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

#imprint a {
    color: #000000;
}

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

#kundenlogin, #kundenloginleft {
    position: absolute; top: 35px; left: 215px;
    font-size: 14px; text-transform: uppercase;
    font-weight: bold; z-index: 10001;
}

#kundenloginleft {
    left: 30px;
}

#kundenlogin a, #kundenloginleft a {
    margin-bottom: 0px;
    padding-right: 30px;
    background-image: url(../gfx/linkarrow_blue_bubble.png);
    background-repeat: no-repeat;
    background-position: right 1px;
    background-size: 17px 17px;
    color: #3D85C0; 
}

#kundenlogin a:hover, #kundenloginleft a:hover {
    text-decoration: none;
    background-image: url(../gfx/linkarrow_blue_hover_bubble.png);
    color: #3e3083;
}

.linkbalken {
    display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    width: 100%; height: 15px;
    background-color: rgba(61,133,192,0.75);
    position: absolute; bottom: 0px; left: 0px;
}

a.balken:hover {
    text-decoration: none;
}

#footer ul li .aktiv {
    color: white;
    background-image: url(../gfx/linkarrow_white.png);
    background-repeat: no-repeat;
    background-position: 0px 6px;
    background-size: 17px 14px;
    padding-left: 30px; margin-left: -30px;
}

#footer ul li ul li .aktiv {
    color: white;
    background-image: url(../gfx/linkarrow_white.png);
    background-repeat: no-repeat;
    background-position: 0px 4px;
    background-size: 17px 14px;
    padding-left: 30px; margin-left: -30px;
}

#menu ul li .aktiv {
    color: white;
    background-image: url(../gfx/linkarrow_white.png);
    background-repeat: no-repeat;
    background-position: 0px 5px;
    background-size: 17px 14px;
    padding-left: 30px; margin-left: -30px;
}

#menu ul li ul li .aktiv {
    color: white;
    background-image: url(../gfx/linkarrow_white.png);
    background-repeat: no-repeat;
    background-position: 0px 4px;
    background-size: 17px 14px;
    padding-left: 30px; margin-left: -30px;
}

.fancyselect {
    height: 37px; 
    box-sizing: border-box; -moz-box-sizing: border-box;
    border-style: none; padding: 10px 15px 10px 15px; 
    background-color: white; width: 100%; font-size: 14px; 
    border-radius: 0px; position: relative; top: 2px; 
}

.fancyinput {
    box-sizing: border-box; -moz-box-sizing: border-box;
    border-style: none; padding: 10px; background-color: white;
    width: 100%; font-size: 14px; border-radius: 0px;
    box-shadow: 0px 0px 1px rgba(0,0,0,1) inset, 0px 1px 1px rgba(0,0,0,1);
    margin-bottom: 10px;
}

.fancytextarea {
    box-sizing: border-box; -moz-box-sizing: border-box;
    border-style: none; padding: 10px; background-color: white;
    width: 100%; font-size: 14px;
    min-height: 250px; max-height: 500px; width: 100%; min-width: 100%; max-width: 100%;
    border-radius: 0px;
}

.fancybutton {
    padding: 7px 9px 7px 9px; background-color: transparent; border-style: solid; border-width: 1px; border-color: #3e3083; color: #3e3083;
    box-sizing: borde-box; -moz-box-sizing: border-box; font-size: 14px;margin-top: 20px; text-transform: uppercase; border-radius: 0px;
    -webkit-appearance: none;
}

.fancybutton:hover {
    background-color: rgba(255,255,255,0.3); color: #3e3083;
}

.fancycheckbox {
  font-size: 48px;
  position: relative;
  left: 3px;
  margin-top: 20px; margin-right: 15px;
}

form {
    width: 100%; margin-top: 13px;
}

form h5 {
    margin: 20px 0px -20px 0px;
    font-size: 14px; line-height: 14px; font-weight: normal;
    text-transform: uppercase;
    padding: 0px;
    box-sizing: border-box; -moz-box-sizing: border-box;
    clear: both;
}

.error {
    color: #b12d2d;
}

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

.contenttext ul li {
    background-image: url(../gfx/bullet.png);
    background-repeat: no-repeat;
    background-position: 0px 9px;
    background-size: 6px 6px;
    padding-left: 16px;
}

.contenttext strong, .contenttext b {
    font-weight: 600;
}

#menu2spaltig { display: none; }
#menu3spaltig { display: block; }  
/*
div.spalte .bildbox.links.maxhoehe, 
div.spalte .bildbox.rechts.maxhoehe,
div.spalte .bildbox.oben.maxhoehe,
div.spalte .bildbox.unten.maxhoehe { height: 100%; }
div.spalte .bildbox.links.hoehe225,
div.spalte .bildbox.rechts.hoehe225,
div.spalte .bildbox.oben.hoehe225,
div.spalte .bildbox.unten.hoehe225 { height: 225px; }
div.spalte .bildbox.links.hoehe295,
div.spalte .bildbox.rechts.hoehe295,
div.spalte .bildbox.oben.hoehe295,
div.spalte .bildbox.unten.hoehe295 { height: 295px; }
div.spalte .bildbox.links.hoehe365,
div.spalte .bildbox.rechts.hoehe365,
div.spalte .bildbox.oben.hoehe365,
div.spalte .bildbox.unten.hoehe365 { height: 365px; }
*/

.kastenhintergrund .bildbox.links { margin-right: 30px; margin-bottom: 0px; height: 100%; } 
.kastenhintergrund .bildbox.rechts { margin-left: 30px; margin-bottom: 0px; height: 100%; } 
.kastenhintergrund .bildbox.oben {  } 
.kastenhintergrund .bildbox.unten {  } 

.bildbox.maxhoehe, .bildspalte.maxhoehe { height: 100%; }
.bildbox.hoehe225, .bildspalte.hoehe225 { min-height: 290px; height: 290px; }
.bildbox.hoehe295, .bildspalte.hoehe295 { min-height: 305px; height: 305px; }
.bildbox.hoehe365, .bildspalte.hoehe365 { min-height: 380px; height: 380px;}

.video {
    background-color: black;
}

.kastenhintergrund { background-color: #e3e3e3; padding: 0px; }

.kastenhintergrund .bildbox { border-color: #e3e3e3; }
.kastenhintergrund .abstand { display: block; padding: 10px 30px 10px 30px; }

.kastenhintergrund .arrowlink { margin-bottom: 20px; }

#loginbox { 
    background-color: rgba(255,255,255,0.7);
    box-sizing: border-box; -moz-box-sizing: border-box;
    display: block; 
    width: 100%; max-width: 320px;
    margin: 0 auto;
    box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.3), 0px 2px 1px rgba(0,0,0,1);;
}

#loginbox .head {
    color: white; display: block;
    box-sizing: border-box; -moz-box-sizing: border-box;
    background-color: #2c227a;
    padding: 10px;
    font-weight: 600; text-transform: uppercase; 
    letter-spacing: 0.5px;
}

#loginbox form {
    box-sizing: border-box; -moz-box-sizing: border-box;
    display: block;
    margin: 0px;
    padding: 20px;
}

.logininfo, .loginerror {
    display: block; padding: 20px; 
    box-sizing: border-box; -moz-box-sizing: border-box;
    font-size: 11px; margin-top: 2px;
    border-style: solid; border-width: 1px 0px 0px 0px;
}

.loginerror {
    color: white; background-color: red;
    margin-top: 0px; border-width: 0px;
}

.logininfobig {
    display: block; padding: 20px; 
    box-sizing: border-box; -moz-box-sizing: border-box;
    font-size: 13px; margin-top: 0px;
    border-style: solid; border-width: 0px 0px 0px 0px;
}

@media (max-height: 736px) {  
    #bildleiste { height: 310px; }
    .arrow_links, .arrow_rechts { bottom: 25px; }    
    .leistenbild { height: 316px; }
}

@media (max-width: 1090px) {
    #kundenloginleft { padding-left: 20px; } 
}

@media (max-width: 1000px) {
    .innerwrapper { 
        padding-left: 20px; padding-right: 20px;
        max-width: inherit;
    }   
}

@media (max-width: 916px) and (max-height: 695px) {
    .loginspalte {
        padding: 205px 0px 0px 0px; vertical-align: top;
    }
}
    
@media (max-width: 900px) {  
    div.spalte .bildbox.hoehe225 { height: 175px; }
    div.spalte .bildbox.hoehe295 { height: 245px; }
    div.spalte .bildbox.hoehe365 { height: 315px; }
}

@media (max-width: 800px) {  
    .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;
    }
    
    #footer .left { 
        width: 100%; display: block; float: none;
        margin-bottom: 100px;
        padding-right: 0px;
    }
    
    #footer .right { 
        display: block; width: 100%; 
        margin: 0 auto; margin-top: 0px; float: none; 
        
    }
    
    #menu2spaltig { display: block; }
    #menu3spaltig { display: none; }  
    .kontaktspalte { padding-left: 40px; width: 41%; }
    #menu .innerwrapper { padding: 0px 85px 0px 0px; }
    #logomaske { display: none; }
    #logo { display: none; }
    #logowide, #logowidelogin { 
        display: block; position: absolute; 
        top: 0px; right: 20px; z-index: 10000; 
        width: 290px; 
        padding-left: 20px; padding-right: 20px; padding-bottom: 20px; 
    }
    .loginspalte { padding: 215px 0px 30px 0px; }
}

@media (max-width: 700px) {   
    #breadcrumb { margin-bottom: 5px;}
    #content .innerwrapper:last-of-type { padding-bottom: 68px;}
    #content .spalte { 
        display: block; width: 100%; border-style: none; 
        min-width: inherit; min-height: inherit; min-height: 0px; 
        margin-bottom: 0px; margin-top: 45px; 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; }
    
    .wrapper { overflow: hidden; }
    
    div.spalte .bildbox.maxhoehe { height: 100%; margin-bottom: 0px; }
        
    div.spalte .bildbox.hoehe225 { height: 380px; }
    div.spalte .bildbox.hoehe295 { height: 380px; } 
    div.spalte .bildbox.hoehe365 { height: 380px; } 
    
    div.spalte .bildbox { margin-top: 45px; }
    div.bildspalte .bildbox { margin-top: 0px; }
    
    hr.trenner { margin-bottom: 9px; margin-top: 54px;}
    
    div.bildspalte { display: block; width: 100%; height: 380px; background-color: red; }
    
}

@media (max-width: 600px) {    
    #footer2spaltig { display: block;  }
    #footer3spaltig { display: none; }
    #menu .innerwrapper { padding: 40px 30px 175px 30px; }    
}

@media (max-width: 560px) { 
    .mehr { display: block; float: none; margin-left: 0px;}
    a.trennerzuklappen { margin-bottom: 29px;}
    #footer .right { margin: 0px;}  
    div.bildspalte { height: 365px; }  
    div.spalte .bildbox.hoehe225 { height: 365px; }
    div.spalte .bildbox.hoehe295 { height: 365px; } 
    div.spalte .bildbox.hoehe365 { height: 365px; } 
}

@media (max-width: 500px) { 
    #footer .right { width: 100%; max-width: 100%; }
    #wasserzeichen {
        background-size: 250px 224px;
        width: 250px 224px; display: block;float: right;
        position: relative; right: inherit; top: -200px;
    }
    #footer .left { width: 100%; margin-bottom: 40px; }
    #footer .left h1 { margin-left: -25px;}
    #footer .left div.tabelle, #footer .left div.spalte, #footer .left div.zeile, 
    #menu div.tabelle, #menu div.spalte, #menu div.zeile { border-style: none; display: block; width: 100%; height: auto; float: none; margin-bottom: 0px; }
    #menu div.spalte { margin-bottom: -40px; }
    #menu div.zeile { margin-bottom: 40px; }
    
    #footer .left div.spalte, #menu div.spalte { 
        min-height: 0px; 
        max-width: inherit; mix-width: inherit; width: 100%;
        box-sizing: border-box; -moz-box-sizing: border-box;
        padding-left: 0px; border-style: none;
    }
    
    #footer .zeile:last-of-type .spalte, #menu .zeile:last-of-type .spalte {
        border-style: none;
    }
    
        #footer .zeile:last-of-type .spalte:last-of-type, #menu .zeile:last-of-type .spalte:last-of-type {
        border-style: none;
    }
    #menu .innerwrapper { background-color: rgba(63,134,192,1); } 
    #menu { max-height: 450px; overflow: auto; max-height: 100%;  }
    .kontaktspalte { 
        display: block; width: 100%; margin-top: 40px; background-color: red; padding: 0px; margin-left: -8px; 
        background-color: transparent; background-image:url(../gfx/hr-white.png); background-position: top left; background-repeat: repeat-x;
        padding-top: 10px;
    }
    
}

@media (max-width: 485px) {
    #imprint { left: inherit; right: 5px; }    
}

@media (max-width: 450px) {
    div.bildspalte { height: 295px; }  
    div.spalte .bildbox.hoehe225 { height: 295px; }
    div.spalte .bildbox.hoehe295 { height: 295px; } 
    div.spalte .bildbox.hoehe365 { height: 295px; } 
}

@media (max-width: 414px) {
    #logomaske { display: none; }
    #logo { display: none; }
    #logowide, #logowidelogin { display: block;     
    width: 100%; height: auto; right: 0px; 
    padding-left: 30px; padding-right: 30px; 
    overflow: visible; padding-bottom: 10px; 
    padding-top: 80px; 
    }
    #bildleiste { margin-top: 250px; }
    #kundenloginleft { left: inherit; left: 50%; margin-left: -107px; top: 25px; }
    #kundenlogin { left: inherit; right: 20px; }
    #kundenlogin a, #kundenloginleft a { padding-right: 24px; }
    .loginspalte { padding: 295px 0px 42px 0px; }
    #imprint { left: inherit; right: -5px; }
    #menubutton { left: 20px; }
}

@media (max-width: 400px) {
    #footer .right { margin-bottom: 50px; }
}

@media (max-width: 390px) {
    #logowidelogin, #logowide { padding-left: 20px; padding-right: 20px;}
    #menu .innerwrapper { padding: 40px 20px 175px 20px; } 
    #content .innerwrapper { padding: 0px 20px 0px 20px; }
    #bildleiste { margin-top: 244px; }
    .loginspalte { padding: 270px 0px 30px 0px; }
}

@media (max-width: 375px) {
    #kundenloginleft { left: inherit; left: 50%; margin-left: -107px; top: 25px; }
}

@media (max-width: 355px) {
    #imprint { letter-spacing: -0.8px; right: -42px; }
}

@media (max-width: 340px) {
    div.bildspalte { height: 245px; }  
    div.spalte .bildbox.hoehe225 { height: 245px; }
    div.spalte .bildbox.hoehe295 { height: 245px; } 
    div.spalte .bildbox.hoehe365 { height: 245px; } 
    #bildleiste { margin-top: 220px; }
    .loginspalte { padding: 232px 0px 0px 0px; }
    #loginbox .head { padding-left: 20px; }
}

@media (max-width: 320px) {
    .loginspalte { padding: 218px 0px 0px 0px; }
}
