body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.ie7 img{-ms-interpolation-mode:bicubic}.ie8 img{width:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
@font-face {
    font-family: 'PlayfairDisplayRegular';
    src: 
        url('../../files/fonts/PlayfairDisplay-Regular.ttf') format('truetype'),
        url('../../files/fonts/PlayfairDisplay-Regular.woff') format('woff'),
        url('../../files/fonts/PlayfairDisplay-Regular.woff2') format('woff2'),
        url('../../files/fonts/PlayfairDisplay-Regular.otf') format('otf'),
        url('../../files/fonts/PlayfairDisplay-Regular.svg') format('svg'),
        url('../../files/fonts/PlayfairDisplay-Regular.eot') format('eot');
}

@font-face {
    font-family: 'PlayfairDisplayBold';
    src: 
        url('../../files/fonts/PlayfairDisplay-Bold.ttf') format('truetype'),
        url('../../files/fonts/PlayfairDisplay-Bold.woff') format('woff'),
        url('../../files/fonts/PlayfairDisplay-Bold.woff2') format('woff2'),
        url('../../files/fonts/PlayfairDisplay-Bold.otf') format('otf'),
        url('../../files/fonts/PlayfairDisplay-Bold.svg') format('svg'),
        url('../../files/fonts/PlayfairDisplay-Bold.eot') format('eot');
}

@font-face {
    font-family: 'BarlowRegular';
    src: 
        url('../../files/fonts/Barlow-Regular.ttf') format('truetype'),
        url('../../files/fonts/Barlow-Regular.woff') format('woff'),
        url('../../files/fonts/Barlow-Regular.woff2') format('woff2'),
        url('../../files/fonts/Barlow-Regular.otf') format('otf'),
        url('../../files/fonts/Barlow-Regular.svg') format('svg'),
        url('../../files/fonts/Barlow-Regular.eot') format('eot');
}

@font-face {
    font-family: 'BarlowLight';
    src: 
        url('../../files/fonts/Barlow-Light.ttf') format('truetype'),
        url('../../files/fonts/Barlow-Light.woff') format('woff'),
        url('../../files/fonts/Barlow-Light.woff2') format('woff2'),
        url('../../files/fonts/Barlow-Light.otf') format('otf'),
        url('../../files/fonts/Barlow-Light.svg') format('svg'),
        url('../../files/fonts/Barlow-Light.eot') format('eot');
}
/* Contao override */ 
#top .block {
    overflow:unset;
}

/* Typographie*/

#top {
    font:1.2rem/2 BarlowRegular,sans-serif;
    color:#353831;
}

#top h3 {
    font: 2rem/1.5 PlayfairDisplayRegular, serif;
}

#top h2 {
    font: 3rem/1.5 PlayfairDisplayRegular, serif;
    text-transform: uppercase;
}

#top a {
    text-decoration:none;
    color:#4187B4;
}

#top a:hover {
    text-decoration:none;
    color:#166FA8;
}


/*Header*/

#header {
    position: absolute;
    z-index:1;
    width: 100%;
    padding: 20px 0;
}

 #header .container-fluid {
     display: flex;
     justify-content: space-between;
     align-items:center;
}

.mod_onepage_navigation ul {
    display: flex;
}

.mod_onepage_navigation ul li {
    list-style: none;
}

#top .mod_onepage_navigation ul li a {
    color:white;
    text-transform: uppercase;
    text-decoration: none;
    padding-left: 40px;
}


#top .mod_onepage_navigation ul li a:hover {
    color:#4187B4;
}

/* Footer */

#footer .row {
    background-color:#353831;
    color:white;
    padding: 60px 0;
}

/*Layout*/

.section {
    margin: 200px 0;
}



/*Artikel Header*/

#home {
    height:100vh;
    background:url("../../files/img/hero.png") center top no-repeat;
    background-size: cover;
}

#leistungen {
    height:70vh;
    background:url("../../files/img/slide4.png") center top no-repeat;
    background-size: cover;
}

#karriere {
    height:70vh;
    background:url("../../files/img/slide1.png") center top no-repeat;
    background-size: cover;
}

#referenzen {
    height:70vh;
    background:url("../../files/img/slide3.png") center top no-repeat;
    background-size: cover;
}

#kontakt {
    height:70vh;
    background:url("../../files/img/slide2.png") center center no-repeat;
    background-size: cover;
}

.sectionHeader {
    margin-bottom:450px;
}

#home.sectionHeader .row {
    margin:0;
    padding-top:85vh;
}

.sectionHeader .row {
    margin:0;
    padding-top:55vh;
}

#top .sectionHeaderHeadline {
    background-color: #166FA8;
    color:white;
    text-align: right;
    padding-top:5vh;
    padding-right:30px;
}

.sectionHeaderHeadline hr {
    border: 1px solid #ffffff;
    opacity:1;
    width:30%;
}

.sectionHeaderHeadline .rte {
    display:flex;
    justify-content: flex-end;
}

#top .sectionHeaderText {
    background-color:white;
    margin-top:15vh;
    padding:30px;
}

/* Artikelüberschriften */

.articleHeadline > div > div {
    position: relative;
}

.articleHeadline .house {
    position: absolute;
    top: -42px;
    left: -37px;
}

.articleHeadline > div {
    display: flex;
    justify-content: flex-end;
}

.articleHeadline {
    margin: 30px 0;
}
 
/* Cards */

.borderGreen {
    border:1px solid #353831;
}

.bgGreen {
    background-color:#353831;
    color:white;
    justify-content: space-between;
}

.bgGreen .button {
    border: 1px solid white;
    border-radius: 30px;
    padding: 5px 20px;
}

.bgGreen .button:hover {
    border-color:#4187B4;
}

#top .bgGreen .button:hover a {
    color:#4187B4;
}

.bgImage {
    background:url("../../files/img/hero.png") center center no-repeat;
    font: 2rem/1.5 PlayfairDisplayBold, serif;
    justify-content: flex-end;
}

#top .ubersichtCards a {
    color: white;
}

#top .bgImage a:hover {
    text-decoration:underline;
    color:white;
}


.ubersichtCards .col-md-4 > div {
    padding: 50px 30px;
    display:flex;
    flex-direction: column;
    width:100%;
    height:100%;
}

/* Akkordeon */

section.ce_accordion {
    border-bottom: 1px solid #353831;
}

.chevron {
    content: url("../../files/img/chevron.svg");
}

.active .chevron {
    transform: rotate(90deg);
}

.toggler {
    padding: 10px 0;
    display:flex;
    align-items: center;
    justify-content: space-between;
    font: 2rem/1.5 PlayfairDisplayRegular, serif;
}

.ui-icon {
    display:none;
}

.accordion {
    margin-bottom: 30px;
}

/* grünes Banner*/

.banner > div > div:first-child {
    border-right: 2px solid #166FA8;
}

.banner .row {
    display:flex;
    align-items:center;
    padding: 80px 0;
}

.banner {
    margin-top:50px;
    font-size: 1rem;
    line-height: 1.5;
}

.banner p {
    margin-bottom:0;
}

#top .banner h3 {
    text-transform:uppercase;
    line-height: 1.1;
}

/* Karriere */

.stellenangebote {
    padding: 50px 30px;;
}

/* Referenzen */

.referenzenCards .content-text {
    line-height: 1.3;
    padding: 20px 30px;
}

/* Kontakt */

.kontaktCards .rte {
    display:flex;
    align-items: center;
    line-height: 1.4;
    padding: 30px 30px;
}

.kontaktCards p {
    margin: 0 12px;
}

.kontaktCards .borderGreen {
    margin-bottom: 25px;
}


@media only screen and (max-width: 1500px) {
    #top {
        font:1.1rem/1.8 BarlowRegular,sans-serif;
        color:#353831;
    }
    
    .ubersichtCards .rte {
            font:1rem/1.7 BarlowRegular,sans-serif;
    }
    
    #top .referenzenCards .content-text h3 {
        font: 1.8rem/1.5 PlayfairDisplayRegular, serif;
    }
}

@media only screen and (max-width: 991px) {
    #top h2 {
        font: 2.5rem/1.5 PlayfairDisplayRegular, serif;
    }
    
    .toggler {
        font: 1.5rem/1.5 PlayfairDisplayRegular, serif;
    }
    
    #top {
        font:1rem/1.7 BarlowRegular,sans-serif;
        color:#353831;
    }
    
    .house img {
        width: 85px;
    }
    
    .articleHeadline .house {
        top: -40px;
        left: -37px;
    }
    
    .chevron {
        height:20px;
    }
    
    #top .row>* {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }
    
    .referenzenCards .content-text {
        padding: 10px 14px;
    }
    
    #top .row {
        margin-left:0;
        margin-right:0;
    }
}

@media only screen and (max-width: 767px) {
    .mod_onepage_navigation {
        display: none;
    }
    
    .sectionHeaderHeadline {
        min-height:20vh;
    }
    
    .sectionHeader {
        margin-bottom: 424px;
    }
    
    #top .sectionHeaderText {
        margin-top: 2vh;
    }
    
    #top .row {
        margin-left:0;
        margin-right:0;
    }
    
    #top h3 {
        font: 1.8rem/1.5 PlayfairDisplayRegular, serif;
    }

    #top h2 {
        font: 2rem/1.5 PlayfairDisplayRegular, serif;
    }
    
    .house img {
        width: 70px;
    }
    
    .articleHeadline .house {
        top: -32px;
        left: -32px;
    }

    .ubersichtCards .col-md-4 {
        margin-bottom:30px;
    }
    
    #top .referenzenCards .content-text h3 {
        font: 1.2rem/1.5 PlayfairDisplayRegular, serif;
    }
}


