.clear, #clear {
    clear: both;
    font-size: 0.1px;
    height: 0.1px;
    line-height: 0.1px;
}
.invisible {
    display: inline;
    height: 0;
    left: -1000px;
    overflow: hidden;
    position: absolute;
    top: -1000px;
    width: 0;
}
.custom {
    display: block;
    text-align: left;
}
.custom:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
* + html #main {
    position: static;
}
header, footer, nav, section, aside, article, figure, figcaption {
    display: block;
}
body {
    background: #f2f2f2;
}
#wrapper {
    margin: 0 auto;
    width: 1000px;
}
#header {
    display: block;
    min-height: 128px;
    margin-bottom: 1px;
    background: #fff;
}

.container {
    clear: both;
    background: #fff;
    width: 1000px;
}
#main .inside {
    overflow: auto;
    padding: 20px 20px 40px 40px;
}
.mod_article a:hover {
    color: #3d44ac;
}
#right .inside {
    padding: 20px 40px 40px 20px;
}
body, textarea, input {
    color: #303030;
    font-family: 'Open Sans',Arial;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.429em;
}
h1, h2, h3, p {
    margin: 20px 0;
}
h1 {
    color: #3d44ac !important;
    font-family: Chivo, Arial;
    font-size: 2em;
    font-weight: normal;
}
h2 {
    font-size: 	1.143em;
    font-weight: 600;
    padding-left: 15px;
}
h3 {
    font-size: 	1.143em;
    font-weight: normal;
    font-weight: bold;
    color: #3d44ac;
}
h2.features:before,
h2.location:before,
h2.address:before,
#kontaktform h2:before {
    content: '';
    display: block;
    float: left;
    width: 20px;
    height: 20px;
    margin: 0 13px 10px 0;
    background: url('/images/sprite_main.png');
}
h2.features:before { background-position: -120px -160px; }
h2.location:before { background-position: -120px -180px; }
h2.address:before { background-position: -120px -60px; }
#kontaktform h2:before { background-position: -120px -140px; }
ul, li, figure, img {
    margin: 0;
    padding: 0;
}
ul, li {
    list-style: none;
}
img {
 vertical-align: top;   
}
dl {
    font-size: 0.857em;
}
dt
{
    clear: both;
    float: left;
    width: 100%;
    margin: 0 0 -50px;
    padding: 5px;
    font-weight: 600;
}
dt.odd {
    background: #f9f9f9;
}
dd
{
    float: right;
    margin: 0;
    padding: 5px 0;
    color: #3d44ac;
    font-weight: 700;
}
a {
    color: #303030;
    text-decoration: none;
}
.block {
    overflow: visible;
}
::-webkit-input-placeholder { 
    color:#909090; 
}
input:-moz-placeholder,
textarea:-moz-placeholder { 
    color:#909090; 
}
::selection { 
    background:#909090; 
}
::-moz-selection { 
    background:#909090; 
}

#logo {
    float: left;
    margin: 40px 100px 40px 0px;
}
#logo li {
    display: block;
    width: 200px;
    height: 50px;
    background: url('/images/sprite_main.png');
    text-indent: -9999px;
}

nav.main li {
    float: left;
/*    width: 223px;*/
    margin-top: 35px;
    margin-right: 40px;
}
nav.main a {
    display: block;
    float: left;
    font-size: 1.143em;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 59px;
}
nav.main a:before {
    content: '';
    display: block;
    float: left;
    width: 59px;
    height: 59px;
    margin-right: 10px;
    background: url('/images/sprite_main.png');
}
nav.main .startseite a:before { background-position: 0 -60px; }
nav.main .startseite a:hover:before { background-position: -60px -60px; }
nav.main .lager a:before { background-position: 0 -120px; }
nav.main .lager a:hover:before { background-position: -60px -120px; }
nav.main .kontakt a:before { background-position: 0 -180px; }
nav.main .kontakt a:hover:before { background-position: -60px -180px; }
.mod_randomImage {
    clear: both;
}


/* Footer */
#footer {
    height: 110px;
}
#footer .col1 {
    float: left;
    width: 240px;
    padding: 40px 0 40px 40px;
}
#footer .col2 {
    float: left;
    width: 200px;
    padding: 40px 0 40px 40px;
    line-height: 30px;
}
#footer .col3,
#footer .col4 {
    float: left;
    width: 160px;
    padding: 40px;
}
#footer .col3 {
    text-align: right;
    line-height: 30px;
    font-size: 0.857em;
}
#footer a {
    color: #c1c1c1;
}
#footer a:hover {
    color: #303030;
}
#footer .col2 strong:before {
    content: '';
    display: block;
    float: left;
    width: 23px;
    height: 23px;
    margin: 4px 14px 0;
    background: url('/images/sprite_main.png') -200px -180px;
}
#footer .col4 a {
    display: block;
    float: right;
    width: 124px;
    height: 30px;
    background: url('/images/sprite_main.png') 0 -240px;
    text-indent: -9999px;
}

/* Lagerflächen */
#lagerflaechen .col {
    float: left;
    width: 200px;
    margin-right: 40px;
}
#lagerflaechen .col:last-child {
    margin: 0;
}
ul.map {
    position: relative;
    height: 277px;
    margin-top: 20px;
    background: url('/images/map_de.png');
}
ul.map li {
    display: block;
    position: absolute;
}
ul.map a {
    display: block;
    width: 25px;
    height: 40px;
    
}
ul.map a:before {
    content: '';
    display: block;
    position: absolute;
    left: 5px;
    top: 39px;
    width: 15px;
    height: 11px;
    background: url('/images/sprite_main.png') -140px -240px;
}
ul.map img {
    position: absolute;
    overflow: visible !important;
    left: 5px;
    bottom: 0;
}
ul.map .active img {
    left: 0;
    width: 25px;
    height: 40px;
}
a.button,
input[type=submit] {
    display: block;
    height: 37px;
    margin: 0 0 10px;
    padding: 0 10px;
    border: none;
    background: #303030;
    line-height: 37px;
    color: #fff;
    text-transform: uppercase;
    text-align: left;
    font-weight: 600;
    border-radius: 3px;
    cursor: pointer;
}
a.button:hover,
a.button.active, 
input[type=submit]:hover {
    color: #fff;
    background: #3d44ac;
}
.button.icon:before {
    content: '';
    display: block;
    float: left;
    width: 20px;
    height: 20px;
    margin: 8px 16px 0 0;
    background: url('/images/sprite_main.png');
}
.button.map:before { background-position: -160px -60px; }
.button.plan:before { background-position: -160px -80px; }
.button.pics:before { background-position: -160px -100px; }
.button.cal:before { background-position: -160px -120px; }
.button.pdf:before { background-position: -160px -140px; }
#lagerflaechen #toggle {
    overflow: auto;
}
.button.toggle {
    float: left;
    width: auto;
    border-radius: 0;
}
.toggle:first-child {
    border-radius: 3px 0 0 3px;
}
.toggle:last-child {
    border-radius: 0 3px 3px 0;
}
.toggle.active {
    background: #3d44ac;
}
.top {
    position: relative;
    overflow: hidden;
    width: 1000px;
    height: 0;
    margin: -20px -40px 20px -40px;
    background: #f2f2f2;
}
.top .close {
    display: block;
    position: absolute;
    right: 0;
    top: 10px;
    width: 60px;
    height: 60px;
    text-indent: -9999px;
    background: url('/images/sprite_main.png') -160px -220px;
}
.top .close:hover {
    background-position: -220px -220px;
}
#map_canvas {
    width: 100%;
    height: 320px;
    background: none !important;
}
.top .gallery, 
.top .galleryOutside {
    margin: 40px 80px;
}
.top .gallery .pictures img,
.top .galleryOutside .pictures img {
    margin: 0 40px 0 0;
    border: 10px #fff solid;
}
.top .prev,
.top .next {
    display: block;
    position: absolute;
    top: 140px;
    width: 23px;
    height: 40px;
    text-indent: -9999px;
    background: url('/images/sprite_main.png');
}
.top .prev { background-position: -120px -280px; left:0; }
.top .prev:hover { background-position: -160px -280px; }
.top .next { background-position: -200px -280px; right: 0; }
.top .next:hover { background-position: -240px -280px; }
.top .disabled {
    visibility: hidden;
}

/* Kontakt */
.vcard {
    font-weight: 600;
}
.vcard p:before {
    content: '';
    display: block;
    float: left;
    width: 20px;
    height: 20px;
    margin: 0 13px 10px 0;
    background: url('/images/sprite_main.png');
}
.vcard p.adr:before { background-position: -120px -60px;}
.vcard p.tel:before { background-position: -120px -80px;}
.vcard p.mobile:before { background-position: -120px -100px;}
.vcard p.fax:before { background-position: -120px -220px;}
.vcard p.email:before { background-position: -120px -120px;}
.ce_form label {
    display: none;
}
.ce_form input[type=text],
.ce_form textarea {
    float: left;
    margin-bottom: 10px;
    padding: 10px;
    border: none;
    background: #f9f9f9;
    font-size: 0.857em;
    font-weight: 600;
    border-radius: 2px;
}
.ce_form input[name=name],
.ce_form textarea {
    width: 420px;
}
.ce_form input[name=phone],
.ce_form input[name=email] {
    width: 195px;
}
.ce_form input[name=phone] {
    margin-right: 10px;
}
.ce_form textarea {
    height: 110px;
    margin-bottom: 20px;
}
.ce_form input[type=submit] {
    width: 180px;
    clear: both;
    text-align: center;
}