/* exo-300 - latin */
@font-face {
    font-family: 'Exo';
    font-style: normal;
    font-weight: 300;
    src: url('../Fonts/exo-v20-latin-300.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../Fonts/exo-v20-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../Fonts/exo-v20-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
    url('../Fonts/exo-v20-latin-300.woff') format('woff'), /* Modern Browsers */
    url('../Fonts/exo-v20-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../Fonts/exo-v20-latin-300.svg#Exo') format('svg'); /* Legacy iOS */
}
/* exo-regular - latin */
@font-face {
    font-family: 'Exo';
    font-style: normal;
    font-weight: 400;
    src: url('../Fonts/exo-v20-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../Fonts/exo-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../Fonts/exo-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('../Fonts/exo-v20-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('../Fonts/exo-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../Fonts/exo-v20-latin-regular.svg#Exo') format('svg'); /* Legacy iOS */
}
/* exo-700 - latin */
@font-face {
    font-family: 'Exo';
    font-style: normal;
    font-weight: 700;
    src: url('../Fonts/exo-v20-latin-700.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../Fonts/exo-v20-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../Fonts/exo-v20-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('../Fonts/exo-v20-latin-700.woff') format('woff'), /* Modern Browsers */
    url('../Fonts/exo-v20-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../Fonts/exo-v20-latin-700.svg#Exo') format('svg'); /* Legacy iOS */
}
/* exo-800 - latin */
@font-face {
    font-family: 'Exo';
    font-style: normal;
    font-weight: 800;
    src: url('../Fonts/exo-v20-latin-800.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../Fonts/exo-v20-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../Fonts/exo-v20-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
    url('../Fonts/exo-v20-latin-800.woff') format('woff'), /* Modern Browsers */
    url('../Fonts/exo-v20-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../Fonts/exo-v20-latin-800.svg#Exo') format('svg'); /* Legacy iOS */
}
/* exo-800italic - latin */
@font-face {
    font-family: 'Exo';
    font-style: italic;
    font-weight: 800;
    src: url('../Fonts/exo-v20-latin-800italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../Fonts/exo-v20-latin-800italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../Fonts/exo-v20-latin-800italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('../Fonts/exo-v20-latin-800italic.woff') format('woff'), /* Modern Browsers */
    url('../Fonts/exo-v20-latin-800italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../Fonts/exo-v20-latin-800italic.svg#Exo') format('svg'); /* Legacy iOS */
}

html {
    font-family: "Exo", Helvetica, Arial, sans-serif;
    overflow-x: hidden
}

body {
    font-family: "Exo", Helvetica, Arial, sans-serif;
    margin: 0
}
.home,
.main {
    width: 100%
}

.content__box {
    top: 30vh;
    height: 30vh;
    width: 30%;
}

.content__box ul li {
    text-transform: uppercase;
    list-style: none
}

a {
    color: #5f615d;
    text-decoration: none;
}

a:hover {
    color: #5f615d;
    text-decoration: underline
}

h1, h2, h3, h4 {
    color: #5f615d;
}

h1 a:link, h2 a:link, h3 a:link, h4 a:link, h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited {
    color: #5f615d;
    text-decoration: none;
    -webkit-transition: -webkit-text-decoration .2s;
    transition: -webkit-text-decoration .2s;
    transition: text-decoration .2s;
    transition: text-decoration .2s, -webkit-text-decoration .2s
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover {
    color: #5f615d;
    text-decoration: underline
}

p {
    font-size: .8rem;
    line-height: 1.6em;
    color: #333
}

body {
    max-width: 100%
}

.header {
    margin: 0;
    pading: 0;
    border: 0
}

.main__header {
    background: url("/assets/bg_header.jpg") no-repeat top left;
    background-position: 50% 50%;
    background-size: cover;
    background-attachment: fixed;
    height: 90vh;
    margin: 0;
    border: 0;
    padding: 0;
    width:100%;
}

.main__header--sub {
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.main___header__logo--sub {
    padding: 20px 0 20px 0;
    width: inherit;
    margin: 0 auto;
}

.main___header__logo--sub img {
    height: 65px
}

.main___header__logo--sub .subpage_logo {
    height: 65px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.main___header__logo--sub .logotext {
    line-height: 65px;
    font-size: .8rem;
    color: #808080;
    letter-spacing: 1px
}

.main___header__logo--sub .subpage_logo--links {
    float: left;
    margin-right: 25px
}

.main___header__logo--sub .subpage_logo--center {
    float: left
}

.main___header__logo--sub .subpage_logo--rechts {
    margin-left: 25px;
    float: left
}

.header__logo {
    position: relative;
    top: calc(50% - 125px);
    left: calc(50% - 125px);
}

.header__logo img {
    width: 250px;
    height: 250px
}

.header__icons {
    position: absolute;
    top: 20px;
    left: 50px;
    width: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.header__icons img {
    width: 45px;
    height: 20px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-transition: height .3s;
    transition: height .3s;
}

.header__icons img:hover {
    height: 25px
}

.header__logoback {
    position: absolute;
    top: 44px;
    left: 20px;
    z-index: 500;
}

.header__logoback img {
    width: 100px;
    height: 17px
}

.header__togglenavi {
    position: absolute;
    top: 22px;
    right: 0;
    z-index: 500;
}

.header__togglenavi img {
    width: 100px;
    height: 30px
}

.icon__email {
    position: absolute;
    top: 56px;
    right: 12px;
    z-index: 500;
}

.icon__email img {
    width: 30px;
    height: 30px
}

.header__toggleclose {
    position: absolute;
    top: 22px;
    right: 0;
    z-index: 500;
}

.header__toggleclose img {
    width: 60px;
    height: 21px
}

.header__mainnavi {
    position: absolute;
    top: 0;
    right: 0;
    background: #fff;
    width: 250px;
    height: 88vh;
    padding-top: 50px;
}

.header__mainnavi ul {
    list-style: none;
    width: 200px;
    line-height: 2em;
}

.header__mainnavi ul a {
    color: #808080;
    text-decoration: none
}

.header__mainnavi ul.functions {
    font-size: .6em;
    line-height: 2em;
    z-index: 100
}

.header__kontakt {
    padding: 0 0 30px 40px;
    position: absolute;
    bottom: 0;
}

.header__kontakt h3 {
    font-weight: 300;
    z-index: 2
}

.content_container {
    margin: 50px auto;
    width: 95vw;
    clear: both
}

.service .content_container, .home .content_container {
    max-width: 960px;
    clear: both;
}

.main__content {
    margin-top: 75px;
    min-height: 150px;
    width: 100%;
}

.main__content img {
    max-width: 100%
}

.content_boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
    height: 200px;
}

.content_boxes .start {
    min-width: 200px
}

.content_boxes .box__referenz {
    width: 200px;
    height: 200px;
    float: left
}

.content_boxes .box__referenz:not(.active) img {
    -webkit-filter: grayscale(100%) opacity(90%);
    filter: grayscale(100%) opacity(90%);
    -webkit-transition: all .5s;
    transition: all .5s;
}

.content_boxes .box__referenz:not(.active) img:hover {
    -webkit-filter: grayscale(0%) opacity(100%);
    filter: grayscale(0%) opacity(100%)
}

.swiper-container .swiper-slide .box__referenz:not(.active) img {
    -webkit-filter: grayscale(100%) opacity(90%);
    filter: grayscale(100%) opacity(90%);
    -webkit-transition: all .5s;
    transition: all .5s;
}

.swiper-container .swiper-slide .box__referenz:not(.active) img:hover {
    -webkit-filter: grayscale(0%) opacity(100%);
    filter: grayscale(0%) opacity(100%)
}

#referenz_viewer {
    clear: both;
    display: block;
    min-height: 280px;
    margin-top: 30px;
}

#referenz_viewer .content_boxes box_referenz {
    min-height: 200px
}

#referenz_viewer .content_boxes box_referenz img {
    -webkit-filter: grayscale(0%) opacity(100%);
    filter: grayscale(0%) opacity(100%)
}

#referenz_viewer .referenz__text {
    margin-top: 0
}

.block {
    min-height: 75px;
    margin-bottom: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.box {
    width: 200px;
    height: 200px;
    min-height: 200px
}

.block__left--text, .block__left {
    width: 200px;
    float: left;
    clear: both;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.block__left--text h2, .block__left h2 {
    margin-top: 0;
    padding-top: 0;
    font-family: "Exo", Helvetica, Arial, sans-serif;
    font-weight: 800;
    font-style: italic
}

.block__left--text img, .block__left img {
    width: 100%;
    height: auto
}

.block__right--text, .block__right {
    width: inherit;
    margin-left: 50px;
    -webkit-box-flex: 3;
    -ms-flex: 3;
    flex: 3
}

.ico img {
    width: 35px
}

.content__box {
    foo: bar
}

footer {
    margin-top: 50px;
    font-size: .7rem;
    color: #333;
    position: relative;
    bottom: 0;
    background: #fff;
    clear: both;
    width: 100vw
}

.footer__top {
    padding: 35px 0 30px 0;
    border-top: 1px solid #808080
}

.footer__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 960px;
    margin: 0 auto
}

.footer__col1, .footer__col2, .footer__col3 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: inherit
}

.footer__bottom {
    width: 100vw;
    background: #5f615d;
    height: 30px;
}

.footer__bottom ul {
    max-width: 960px;
    margin: 10px auto;
}

.footer__bottom ul li {
    float: left;
    list-style: none;
    margin-right: 30px;
}

.footer__bottom ul li a {
    color: #fff;
    text-decoration: none;
    font-size: .7rem
}

.minilogo {
    width: 70px;
    height: 70px;
    position: absolute;
    top: 0;
    right: 30px;
    margin-top: -30px;
    z-index: 550
}

.sidebar {
    position: absolute;
    right: -465px;
    right: 0;
    top: 0;
    width: 365px;
    height: 100%;
    z-index: 5000;
    color: #fff;
    display: none;
    background: transparent
}

.overlay {
    display: none;
    position: fixed;
    width: 100%;
    height: 2000px;
    background: rgba(0, 0, 0, 0.6);
    z-index: 4000
}

.sidebar-container {
    margin-top: 110px
}

.start {
    float: left;
    clear: left
}

.swiper-container {
    float: left;
    width: 100%;
    height: 250px;
    max-width: 1920px
}

.projekte .swiper-container, .projekte .swiper-container-horizontal {
    float: none;
    margin-left: 0
}

@media only screen and (max-width: 414px) {
    .home,
    body {
        max-width: 100% important;
        width: 100%;
        overflow: hidden !important
    }

    .block {
        display: block;
        margin: 0 auto
    }

    .block__left {
        display: none
    }

    .block__left--text {
        min-height: 0;
        height: inherit;
        display: block;
        text-align: center;
        width: 90% !important;
        float: none;
    }

    .block__left--text h2 {
        margin: 10px 15px 35px 15px
    }

    .block__right--text, .block__right {
        width: 90% !important;
        float: none;
        display: block;
        margin-left: 20px;
        margin-bottom: 75px;
    }

    .block__right--text p, .block__right p {
        margin-bottom: 25px
    }

    .block__right p {
        display: none
    }

    .block__right .ico, .block__right h2 {
        text-align: center;
        width: inherit;
        margin: 10px auto
    }

    .block__right h2 {
        margin-bottom: 50px
    }

    .footer__bottom {
        height: 175px;
        padding: 1px 0 10px 0;
    }

    .footer__bottom ul {
        max-width: 414px;
        margin: 0 auto 30px auto;
        padding-left: 0;
    }

    .footer__bottom ul li {
        float: none;
        list-style: none;
        margin-right: 0;
        line-height: 2em;
        margin-bottom: 5px;
    }

    .footer__bottom ul li a {
        color: #fff;
        text-decoration: none;
        font-size: 1rem
    }

    .footer__container {
        display: block;
        margin: 35px auto;
        width: 95%;
        text-align: left;
        margin-left: 25px
    }

    .minilogo {
        display: none
    }

    .header__icons {
        position: absolute;
        top: 20px;
        left: 20px;
        width: 200px;
        display: none;
    }

    .header__icons img {
        width: 45px;
        height: 25px;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -webkit-transition: height .3s;
        transition: height .3s;
    }

    .header__icons img:hover {
        height: 25px
    }

    .header__togglenavi {
        position: absolute;
        top: 15px;
        right: 5px;
        z-index: 500;
    }

    .header__togglenavi img {
        width: 100px;
        height: 38px
    }

    .icon__email {
        top: 20px;
        left: 20px;
        position: absolute;
        right: 10px;
        z-index: 500;
    }

    .icon__email img {
        width: 40px;
        height: 30px
    }

    .header__logoback {
        position: absolute;
        top: 65px;
        left: 15px;
        z-index: 500;
    }

    .header__logoback img {
        width: 100px;
        height: 17px
    }
}

@media only screen and (max-width: 768px) {
    .content_container {
        margin: 50px auto;
        width: 96vw
    }

    .footer__top .footer__container {
        margin-left: 20px
    }

    .logotext, .subpage_logo--links, .subpage_logo--rechts {
        display: none
    }

    .swiper-container {
        width: calc(100% - 200px);
        height: 250px
    }

    .content_boxes .box__referenz:first-of-type {
        border: 5px solid #d13f19;
        display: none
    }
}

@media only screen and (max-width: 1024px) {
    .content_boxes .box__referenz:first-of-type {
        border: 5px solid #d13f19;
        display: none
    }
}

/*# sourceMappingURL=main.css.map */