html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address,big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul,li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption,footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;}article, aside, details, figcaption, figure,footer,header, hgroup, menu, nav, section {display: block;}body {line-height: 1;}ol, ul{list-style: none;}blockquote, q {quotes: none;}blockquote:before, blockquote:after,q:before, q:after {content: "";content: none;}table {border-collapse: collapse;border-spacing: 0;}

body {
    font-family: 'Raleway', sans-serif;
}

.a-sel {
    border-bottom: solid 2px #2D2E83;
    padding-bottom: 5px;
}

@media screen and (min-width:1000px) {
.img_bg:hover ~ .half-ellipse, .half-ellipse:hover {
    background-color: rgba(43,48,128,0.85);
    color: white;
}
    
.half-ellipse {
    position: absolute;
    background-color: rgba(255,255,255,0.85);
    width: 100%;
    height: 80px;
    display: inline-block;
    border-radius: 150% 150% 0 0 / 80%;
    left: 20px;
    width: auto;
    right: 20px;
    bottom: 20px;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 80px;
}

}

@media screen and (max-width:1000px) {
    
.img_bg:hover ~ .half-ellipse, .half-ellipse:hover {
    background-color: rgba(43,48,128,0.85);
    color: white;
}
    
.half-ellipse {
    position: absolute;
    background-color: rgba(255,255,255,0.85);
    width: 100%;
    height: 80px;
    display: inline-block;
    border-radius: 150% 150% 0 0 / 80%;
    left: 20px;
    width: auto;
    right: 20px;
    bottom: 0;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 80px;
}
    
}


.t50 .zoombox {
    width: 100%;
    height: 0;
    padding-bottom: 75%;
    overflow: hidden;
}

.t50 .zoombox img {
    width: 45%;
    transition: .25s ease all;
    }

.t50:hover .zoombox img {
    width: 50%;
    transition: .25s ease all;
}

.t50 {
    padding-bottom: 15px;
}

.t50:hover {
    background-color: rgba(200,200,200,.1);
}

.icons {
    position: absolute;
    right: 55px;
    top: 0;
    text-align: right;
}

.icons > a {
    padding: 0;
    margin: 0;
    display: inline-block;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -khtml-border-radius: 50%;
    border: 3px solid #fff;
    margin-top: 25px;
}

.icons > a:hover {
    border: 3px solid rgba(43,48,128,0.85);
}

.icon-c {
    margin-left: 0;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -khtml-border-radius: 50%;
    vertical-align: middle;
}

/*
.icon-c {
    border: solid 3px rgba(157,157,157,1);
    border-radius: 50%;
}

.icon-c:hover {
    border: solid 3px rgba(43,48,128,0.85);
    border-radius: 50%;
}
*/
/*
* {
outline: dotted 1px red;
}
*/



.t50 h3 {
    border-bottom: solid 3px transparent;
}
/*
.t50:hover h3 {
    display:block;
    border-bottom: solid 3px #2D2E83;
    box-sizing: border-box;
}
*/
.hcc {
    text-align: center;
}

.hcc img {
    margin-bottom: 20px;
}

.t50 {
    width: 50%;
    float: left;
    text-align: center;
}

.hvcenter {
    display: flex;
    align-content: center;
    align-items: center;
}

.hvcenter div {
    margin-bottom: 0 !important;
}

.hqq h3 {
    text-align: left;
    font-weight: 500;
    margin-bottom: 20px;
}

.hqq {
    list-style: circle;
    margin-left: 20px;
}

.sitemap {
    margin-top: 35px;
}

.sitemap > li {
    margin-left: 20px;
    padding:5px 0 10px 15px;
    list-style: circle;
    font-size: 1.15em;
}

.sitemap > .hrt {
    
    margin-top: 20px;
    
}

.itm-b2b {
    list-style: circle;
    margin-left: 55px;
    margin-top: 55px;
    font-size: 1.25em;
}

.itm-b2b > li {
    padding-bottom: 35px;
}

    .l1kb {
       font-weight: 500;
        font-size: 1.15em;
    }

.m55b {
    margin-bottom: 55px;
}

a {
    text-decoration: none;
    color: inherit;
}

#burger-nav {
    display: none;
}

.header {
    background-image: url("../img/header-bg.jpg");
    height: 100px;
    background-size: cover;
    background-position: top center;
    padding-left: 35px;
    padding-right: 70px;
}

.header-cc {
    /*display: flex;
    display: -webkit-flex;*/
    width: 100%;
    height: 100%;
    justify-content: space-between;
    vertical-align: middle;
/*    align-items: center;
    -webkit-align-items:center;
    -webkit-vertical-align:center;*/
    align-content: center;
}

.col1o3 {
    flex-grow: 1;
    /*max-height: 100px;*/
}

.sub-header {
    height: 700px;
}

.sub-header-a {
    background-image: url("../img/background-spezialisten.jpg");
    background-size: cover;
    background-position: center center;
}

.sub-header-praezision {
    background-image: url("../img/background-praezision.jpg");
    background-size: cover;
    background-position: center center;
}

.sub-header-highlights {
    background-image: url("../img/background-highlights.jpg");
    background-size: cover;
    background-position: center center;
}


.sub-header-b2b {
    background-image: url("../img/background-b2b.jpg");
    background-size: cover;
    background-position: center center;
}


.nav-rows-a {
    background-image: url("../img/spezialisten_bg.jpg");
    background-size: cover;
}
.nav-rows-b {
    background-image: url("../img/praezision_bg.jpg");
    background-size: cover;
}
.nav-rows-c {
    background-image: url("../img/highlights_bg.jpg");
    background-size: cover;
}
.nav-rows-d {
    background-image: url("../img/b2b_bg.jpg");
    background-size: cover;
}

body::after{
    position:absolute; width:0; height:0; overflow:hidden; z-index:-1;
    content:url(../img/b2bpurple.jpg) url(../img/highlightspurple.jpg) url(../img/highlightswhite.jpg) url(../img/spezialistenpurple.jpg);
}




.shadow {
    box-shadow: 5px 10px black;
}

.content {
    margin: 0 auto;
    max-width: 1000px;
    padding: 0 0 50px 0;
    box-sizing: border-box;
}

.p75t {
    padding-top: 75px;
}

.m75b {
    margin-bottom: 75px;
}

.teaser-w {
    background-image: url("../img/teaser-bg.jpg");
    background-size: cover;
    background-position: center center;
    width: 100%;
}

.teaser-c {
    margin: 0 auto;
    padding: 35px 35px 35px 35px;
    max-width: 1000px;
    /*min-height: 100px;*/
}

.teaser-c > img {
    position: absolute;
    text-align: center;
}

.teaser-c > div {
    margin-left: 118px;
    text-align: center;
}

.teaser-c > div > h2 {
    display: inline-block;
}

@media screen and (min-width:1150px) {
    .mw-logo {
    position: absolute;
    top: 25px;
    right: 0;
    left: 0;
    height: 0;
    text-align: center;
    }

  
}

@media screen and (min-width:1000px) and (max-width:1150px) {
    .mw-logo {
    position: absolute;
    top: 25px;
    right: 0;
    left: 0;
    height: 0;
    text-align: center;
        margin-left: 200px;
    }
  
}



@media screen and (min-width:1000px) {


.header-nav {
    padding-top:45px;
}
    
.header-nav li {
    float: left;
    font-weight: 600;
    font-size: 16px;
    display: inline-block;
}
    
.header-nav li > a:hover {
    border-bottom: solid 2px #2D2E83;
    padding-bottom: 5px;
}

.header-nav > li:after {
    content: "|";
    margin:0 12px 0 12px;
}

.header-nav > li:first-child {
    display: none;
}
    
.header-nav > li:last-child:after {
    content: "";
}
}
.icon-c {
    float: right;
}

h1 {
    font-size: 2.15em;
    font-weight: 600;
    line-height: 2.15em;
    text-align: center;
    margin-top: 55px;
}

h2 {
    font-weight: 600;
    font-size: 1.55em;
    line-height: 1.55;
}

h3 {
    font-weight: 600;
    font-size: 1.35em;
    line-height: 1.35;
}

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

.trows {
    width: 100%;
}

.trows > div {
    width: 50%;
    height: 100%;
    box-sizing: border-box;
    float: left;
    padding: 20px;
    text-align: center;
    position: relative;
}

.trows > div > div {
    position: absolute;
    bottom: 0;
 }

.img_bg {
    width: 100%;
    bottom: 0;
    
}

.img_prop {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    top: 20px;
}

.img_prop:hover {
    content: url("../img/ellipse_purple.png");
}

.img_bg:hover ~ .txt_prop {
    color: white;
}

.txt_prop {
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    font-size: 1.25em;
    font-weight: 500;
}

.footer {
    margin-top: 95px;
    margin-bottom: -155px;
    height: 55px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.footer-cc {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: space-between;
    vertical-align: middle;
    align-items: center;
    align-content: center;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

.footer-nav li {
    float: left;
    font-weight: 300;
    font-size: 14px;
    display: inline-block;
}

.footer-nav li a:hover {
    text-decoration: underline;
}

.footer-nav li:after {
    content: "|";
    margin:0 4px 0 4px;
}

.footer-nav li:last-child:after {
    content: "";
}

.clear {
    clear: both;
}

.fxm {
    font-size: .769em;
    color:#777;
}

.fxm:hover {
    color: red;
}


.itm-list > ul > li {
    clear: both;
    width: 100%;
    min-height: 107px;
    margin-bottom: 45px;
}

.itm-list > ul > li img {
    position: absolute;
}

.itm-list > ul > li div {
    margin-left: 118px;
    display: inline-block;
    margin-bottom: 25px;
}

@media screen and (max-width:1000px) {
    
    .txt_prop {
        bottom: 20px;
    }
    

    .p75t     {
        padding-top: 35px;
    }
    

    .m75b     {
        padding-bottom: 35px;
    }
    
    .content {
        padding-bottom: 35px;
    }
    
.t50 {
    width: 100%;
    float: left;
    text-align: center;
}
    
.t50 {
margin-bottom: 25px;
}

.hcc {
    margin: 0 25px 0 25px;
}
    
    .hcc .p75t {
        padding-top: 25px;
    }
    
.itm-b2b {
    list-style: circle;
    margin-left: 15px;
    margin-top: 15px;
    font-size: 1.25em;
}

.itm-b2b > li {
    padding-bottom: 15px;
    font-size: .8em;
}
    
.l1kb {
    display: block;
    font-size: 1em;
}
    
.teaser-c > img {
    /*width: 40px;*/
    display: none;
}
    
.teaser-c {
    padding-bottom: 0;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 20px;
    padding-bottom: 15px;
    
}
    
.teaser-c > div {
    /*margin-left: 65px;*/
    margin-left: 0;
}

.sub-header {
    height: 250px;
}

.itm-list {
    padding: 0 15px 0 15px;
}
    
.itm-list > ul > li {
    clear: both;
    width: 100%;
    min-height: 107px;
    margin-bottom: 15px;
}

.itm-list > ul > li img {
    position: absolute;
    width: 40px;
}
    
.itm-list > ul > li > div {
    margin-left: 65px;
    display: inline-block;
    margin-bottom: 25px;
}    

    
.hvcenter > div {
    margin-left: 15px !important;    
}

h1 {
    font-size: 1.6em;
    margin-top: 35px;
}
    
h2 {
    font-weight: 600;
    font-size: 1.15em;
    line-height: 1.25;
    margin-bottom: .5em;
}
    
h3 {
    font-weight: 600;
    font-size: 1.15em;
    line-height: 1.25;
    margin-bottom: .5em;
}

p {
    font-size: 1em;
    line-height: 1.25;
}
    
    .header {
        height: 50px;
    }

    .icons > a {
        margin-top: 5px;
    }
    
    .icons {
        position: absolute;
        right: 5px;
        z-index: 999;
    }
    
    .icon-c {
        margin-left: 0;
        height: 30px;
    }
    
    .mw-logo {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        text-align: center;
        z-index: 0;
    }
    
    .mw-logo a img {
        margin-top: 15px;
        height: 20px;
    }
    
    .header-nav {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 900;
    }
    
    .header-nav li:first-child {
        height: 50px;
        width: 50px;
        text-align: center;
    }
    
    .header-nav li:first-child img {
        margin-top: 10px;
        height: 30px;
    }
    
    #burger-nav ~ div > .header-nav li:not(:first-child) {
    display: none;
    background-color: white;
    padding: 1em 0 1em 0;
    text-align: center;
    border-bottom: solid 1px #000;
    }    
    
    #burger-nav:checked ~ div > .header-nav li {
    display: block;
    }

.footer {
    margin-top: 55px;
    text-align: center;
    height: 50px;
    padding: 8px 0 8px 0;
    border-top: 1px solid #000;
}

.footer-nav {
    margin-bottom: 10px;
}
    
.footer-cc {
    display: block;
    float: none;
}

.footer-nav li {
    display: inline-block;;
    float: none;
}

}


@media screen and (max-width:700px) {
.trows {
    width: 100%;
    margin: 0 auto;
}

.trows > div {
    width: 100%;
    padding-bottom: 0;
}

.trows > div > div {
    position: absolute;
    bottom: 0;
 }
}


.dsvgoDs{}
.dsvgoDs p{margin:15px 0;font-size: 1em;}
.dsvgoDs ul{list-style:disc; margin:0 0 0 30px;font-size: 1em;}
.dsvgoDs ul li{font-size: 1em; margin:0 0 10px 0;}

.dcs1{text-align:center;}
.dcs1 .t50{display:inline-block; float:none;}