@charset "UTF-8";
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    border: none;
    box-sizing: border-box;
    list-style: none
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}

::-moz-selection {
    background: #9f1d2f;
    color: #fff
}

::selection {
    background: #9f1d2f;
    color: #fff
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
figure,
pre {
    font-size: inherit;
    line-height: inherit;
    margin: 0 0 1.5rem
}

h1,
h2,
h3 {
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    font-weight: 700
}

h1 {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.25;
    text-align: center;
    margin-bottom: -.1rem;
    text-transform: uppercase
}

h2 {
    text-align: center;
    color: #c1bfc0;
    text-transform: uppercase;
    font-size: 1rem
}

h3 {
    font-size: 1.5em;
    line-height: 1.2
}

h4 {
    font-size: 1em
}

a {
    color: #9f1d2f;
    text-decoration: none;
    -webkit-transition: opacity 0.2s ease-in-out;
    -moz-transition: opacity 0.2s ease-in-out;
    -ms-transition: opacity 0.2s ease-in-out;
    -o-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
    opacity: 1
}

a:hover,
a:focus,
a:active {
    color: #9f1d2f;
    opacity: .7
}

h1+hr,
.intro+hr {
    margin-top: -1.5rem
}

i,
em {
    font-family: Merriweather, Georgia, serif;
    font-weight: 300;
    font-style: italic
}

b,
strong {
    font-weight: 700
}

mark {
    padding: .1em .05em;
    margin: -.1em 0;
    color: #2d2e32;
    background: #e8ecfe
}

img {
    border-style: none;
    max-width: 100%;
    height: auto
}

figcaption {
    font-size: .75rem;
    line-height: 1.5rem
}

.imgsmall img {
    width: 70px !important;
    color: yellow
}

.cf::after {
    content: "";
    display: block;
    height: 0;
    overflow: hidden;
    clear: both
}

.intro {
    text-align: center;
    font-weight: 500;
    font-size: 1rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    background: #f7f6f6
}

.introwhite {
    text-align: center;
    font-weight: 500;
    font-size: 1rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    background: #fff
}

.intro p {
    font-size: .8rem
}

.blurb {
    text-align: center;
    box-sizing: content-box;
    font-weight: 500;
    font-size: 1rem;
    background: #fff
}

.blurb h2 h3 {
    font-size: 1.5em
}

.blurb p ul li {
    font-size: .8rem;
    text-align: center;
    color: #b2afb1;
    padding-top: 1rem;
    padding-bottom: 1rem
}

.intro a {
    font-size: .75rem
}

.text h2,
.text h3 {
    margin-top: 3rem
}

.text ul,
.text ol {
    margin-left: 1.5em
}

.text hr {
    color: #a8a5be
}

.text ul {
    list-style: none
}

.text ul>li::before {
    content: "–";
    display: inline-block;
    position: relative;
    width: 1.25em;
    margin-right: -1.25em;
    left: -1.25em;
    padding-left: .25em
}

.text ol>li {
    list-style: decimal
}

.text pre,
.text code {
    background-color: #eafded;
    font-family: Courier, monospace;
    font-size: .75rem
}

.text code {
    margin: -.25em 0;
    padding: .25em .15em;
    position: relative;
    bottom: .05em
}

.text pre>code {
    display: block;
    margin: 0;
    padding: .8em;
    position: static;
    bottom: auto;
    overflow-x: auto
}

@supports (-webkit-overflow-scrolling:touch) {
    .text pre>code {
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch
    }
}

.text kbd {
    padding: 3px 7px;
    margin: -3px 2px;
    font-size: 75%;
    line-height: 1;
    background: #e9e9e9;
    border-radius: 4px;
    box-shadow: 0 2px 0 #c9c7d4;
    font-family: Montserrat, Helvetica, Arial, sans-serif;
    position: relative;
    bottom: 2px
}

.text blockquote {
    font-family: Montserrat, Helvetica, Arial, sans-serif;
    border-left: 2px solid #a8a5be;
    padding: .75rem;
    background: #fffffd
}

.text blockquote :last-child {
    margin-bottom: 0
}

.btn {
    display: inline-block;
    border: 2px solid;
    padding: .6em .75em;
    white-space: nowrap;
    font-size: .75em;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    line-height: 1;
    font-weight: 400;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    -ms-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out;
    color: #2d2e32;
    border-color: #9f1d2f;
    background-color: #fff
}

.btn:hover,
.btn:focus {
    background: #9f1d2f;
    border-color: #9f1d2f;
    color: #fff;
    opacity: 1
}

.btn:active {
    background: #9f1d2f;
    border-color: #9f1d2f
}

.grid {
    font-size: 0
}

.grid.gutter-1 {
    margin-left: -.375rem;
    margin-right: -.375rem
}

.grid.gutter-1 .column {
    padding-left: .375rem;
    padding-right: .375rem
}

.column {
    position: relative;
    display: inline-block;
    width: 100%;
    font-size: 1rem;
    vertical-align: top
}

.wrap {
    box-sizing: content-box;
    margin: 0 auto;
    padding-left: .75rem;
    padding-right: .75rem;
    max-width: 36rem
}

.wrap.wide {
    max-width: 48rem
}

@media all and (min-width:31.5em) {
    .wrap:not(.wide) {
        padding: 1.5rem 2rem 1.5rem 2rem
    }
}

@media all and (min-width:38.25em) {
    .wrap {
        padding-left: 3rem;
        padding-right: 3rem
    }
    .wrap.wide {
        padding: 1.5rem 2rem 1.5rem 2rem
    }
}

.pagination {
    padding-bottom: 8rem
}

@media all and (min-width:40em) {
    .pagination {
        padding-bottom: 3rem
    }
}

.pagination-item {
    position: relative;
    width: 33.333333%;
    min-width: 33.333333%;
    height: 11rem;
    min-height: 11rem;
    background: #f7f6f6;
    color: #2d2e32;
    border-bottom: 0
}

.pagination-item:hover,
.pagination-item:focus {
    background: #2d2e32;
    color: #fff;
    opacity: 1
}

.pagination-item:active {
    background: #9f1d2f
}

.pagination-item.float {
    float: left
}

.pagination-item p {
    position: relative;
    font-size: .8rem;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    text-align: center;
    top: 30%
}

.pagination-item.is-inactive {
    color: #e4e3e6;
    border: 2px solid currentColor;
    background: transparent
}

.pagination-link {
    font-weight: 300;
    font-size: .8rem;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    text-align: center;
    margin-top: -20px
}

.nomore {
    margin-top: 1rem !important
}

@media all and (pointer:coarse) {
    .pagination-item {
        width: 2.25rem;
        height: 2.25rem
    }
}

.showcase {
    width: 100%;
    position: relative;
    padding-bottom: 5rem
}

.showcase-item {
    width: 100%;
    margin-bottom: 2rem;
    background-color: #fff;
    position: relative;
    overflow: hidden
}

.grey {
    background-color: #f7f6f6 !important
}

.showcase-item:after {
    content: "";
    clear: both;
    display: table
}

.showcase-image {
    float: left;
    width: 50%
}

.grey {
    background-color: #f7f6f6 !important
}

.white {
    background-color: #FFF !important
}

.showcase-textbox {
    width: 50%;
    float: left
}

@media all and (max-width:62.5em) {
    .showcase-image,
    .showcase-textbox {
        width: 100%
    }
    .showcase-details {
        width: 100% !important;
        padding: .4rem 0 .4rem 0 !important
    }
    .showcase-text {
        padding: 1rem .5rem 2.5rem .5rem !important
    }
    .showcase-text h2 {
        font-size: 1.3rem !important
    }
}

.showcase-text {
    padding: 1rem 1.5rem 1rem 1.5rem
}

.showcase-text h2 {
    text-align: left;
    color: #2d2e32;
    font-size: 1.3rem;
    overflow: hidden
}

.showcase-tags {
    font-weight: 300;
    font-family: ubuntu, helvetica, arial, sans-serif;
    font-size: .6rem
}

.showcase-excerpt {
    font-size: .6rem
}

.showcase-details {
    position: absolute;
    width: 50%;
    background-color: #ccc;
    text-align: center;
    clear: both;
    bottom: 0;
    padding: 1rem 0 1rem 0;
    color: #fff;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    -ms-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out
}

.showcase-details p {
    color: #fff;
    margin: auto;
    font-family: ubuntu, helvetica, arial, sans-serif
}

.showcase-details:hover {
    background-color: #9f1d2f
}

.showcase-textbox a:hover {
    opacity: 1
}

@media all and (min-width:76.25em) {
    .showcase-text h2 {
        font-size: 1.8rem
    }
}

html {
    background: #fff;
    color: #2d2e32;
    font: normal 400 1.5em/1.5 Merriweather, Georgia, serif;
    overflow-y: scroll;
    cursor: default;
    position: relative;
    min-height: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(113, 239, 172, .5)
}

@media all and (max-width:30em) {
    html {
        font-size: 1.25em
    }
}

.header {
    padding-top: 1.5rem
}

@media all and (min-width:56em) {
    .header {
        padding-top: 3rem;
        padding-bottom: 1.5rem
    }
}

.menu {
    position: fixed;
    width: 100%;
    height: 150px;
    z-index: 98
}

.menu.scrolled {
    background: rgba(255, 255, 255, .9);
    height: 100px;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    -ms-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out
}

.button_container {
    position: fixed;
    top: 3%;
    right: 3%;
    height: 27px;
    width: 35px;
    cursor: pointer;
    z-index: 100;
    transition: opacity 0.25s ease
}

.button_container:hover {
    opacity: .7
}

.button_container.active .top {
    -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
    transform: translateY(11px) translateX(0) rotate(45deg);
    background: #9f1d2f
}

.button_container.active .middle {
    opacity: 0;
    background: #9f1d2f
}

.button_container.active .bottom {
    -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
    transform: translateY(-11px) translateX(0) rotate(-45deg);
    background: #9f1d2f
}

.button_container span {
    background: #9f1d2f;
    border: none;
    height: 5px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.35s ease;
    cursor: pointer
}

.button_container span:nth-of-type(2) {
    top: 11px
}

.button_container span:nth-of-type(3) {
    top: 22px
}

.overlay {
    position: fixed;
    background: #fff;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s, visibility 0.35s, height 0.35s;
    overflow: hidden;
    z-index: 99
}

.overlay.open {
    opacity: 1;
    visibility: visible;
    height: 100%;
    overflow-y: auto
}

.overlay.open li {
    -webkit-animation: fadeInRight 0.5s ease forwards;
    animation: fadeInRight 0.5s ease forwards;
    -webkit-animation-delay: 0.35s;
    animation-delay: 0.35s
}

.overlay.open li:nth-of-type(2) {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s
}

.overlay.open li:nth-of-type(3) {
    -webkit-animation-delay: 0.45s;
    animation-delay: 0.45s
}

.overlay.open li:nth-of-type(4) {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s
}

.overlay.open li:nth-of-type(5) {
    -webkit-animation-delay: 0.55s;
    animation-delay: 0.55s
}

.overlay nav {
    font-size: 20px;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    font-weight: 400;
    text-align: left
}

.overlay ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    position: relative;
    height: 100%;
    hyphens: auto
}

.overlay ul li {
    display: contents;
    height: 15%;
    min-height: 50px;
    position: relative;
    opacity: 0
}

.overlay ul li a {
    display: block;
    position: relative;
    color: #9f1d2f;
    text-decoration: none;
    overflow: hidden;
    text-transform: uppercase;
    -webkit-transition: opacity 0.2s ease-in-out;
    -moz-transition: opacity 0.2s ease-in-out;
    -ms-transition: opacity 0.2s ease-in-out;
    -o-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
    opacity: 1
}

.overlay ul li a:hover:after,
.overlay ul li a:focus:after,
.overlay ul li a:active:after {
    width: 100%
}

.overlay ul li a:hover {
    opacity: .6
}

.overlay ul li a:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 3px;
    background: #fff;
    transition: 0.35s
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%
    }
    100% {
        opacity: 1;
        left: 0
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%
    }
    100% {
        opacity: 1;
        left: 0
    }
}

.overlay p {
    font-size: .7rem;
    color: #b2afb1
}

.overlay .column {
    width: 50%;
    height: 70%
}

.menuright {
    float: right;
    padding-left: 10%;
    padding-top: 20px
}

.menuleft {
    float: left;
    border-right: 2px solid #9f1d2f;
    text-align: right;
    padding-right: 10%;
    padding-top: 20px
}

.overlay .row {
    width: 90%;
    margin: auto;
    margin-top: 4rem
}

.overlay .row:after {
    content: "";
    display: table;
    clear: both
}

@media all and (min-width:40em) {
    .overlay .row {
        width: 70%;
        margin-top: 5rem
    }
}

.menu-cta {
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    color: #2d2e32 !important;
    text-transform: uppercase;
    text-align: center;
    margin-top: 5%;
    letter-spacing: .05em
}

.column .headline {
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    color: #2d2e32 !important;
    text-transform: uppercase;
    font-size: 20px
}

.column {
    font-family: Merriweather, Georgia, serif
}

.logo_container {
    position: fixed;
    top: 1.5%;
    left: 2%;
    width: 300px;
    cursor: pointer;
    z-index: 100
}

@media (max-width:640px) {
    .logo_container {
        width: 38vw
    }
}

@media (max-width:440px) {
    .logo_container {
        width: 170px
    }
}

.logo_container a {
    -webkit-transition: opacity 0.2s ease-in-out;
    -moz-transition: opacity 0.2s ease-in-out;
    -ms-transition: opacity 0.2s ease-in-out;
    -o-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
    opacity: 1
}

.logo_container a:hover {
    opacity: .7
}

.footer {
    position: relative;
    bottom: 0;
    width: 100%;
    text-align: center;
    font-size: .875rem;
    background-color: #52555C;
    color: #fff;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    padding-top: 2rem;
    padding-bottom: 2rem
}

.footer-menu {
    font-weight: 400;
    font-size: .8rem;
    padding-bottom: 1rem;
    text-transform: uppercase
}

.footer-logo {
    position: relative;
    width: 100%
}

.footer-copyright {
    font-weight: 300;
    font-size: .7rem
}

.footer-zit {
    font-weight: 300;
    padding-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: .03rem
}

.footer-zit {
    line-height: 1.5;
    margin-bottom: .3rem
}

.footer p {
    margin-bottom: 0
}

.footer a {
    border-bottom: 0;
    color: #fff;
    padding-right: .4rem
}

.footer a:hover {
    color: #9f1d2f
}

@media all and (min-width:48em) {
    .footer-copyright {
        display: inline
    }
}

.main {
    padding-top: 7rem
}

.header-bg {
    position: absolute;
    z-index: -10;
    right: 0;
    top: 60px;
    overflow: hidden
}

.header-bg img {
    width: 1150px;
	opacity: 40%;		
}

.contact-bg {
    position: absolute;
    z-index: -10;
    right: -10px;
    top: -50px;
    overflow: hidden;
    width: 1000px
}

.contact-bg img {
    width: 1000px
}

.header-intro {
    width: 60%
}

.header-intro h1 {
    text-align: left;
    margin-bottom: 1.5rem;
    font-size: 1.2rem
}

.gradient {
    background-image: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

@media all and (min-width:0em) {
    .header-float {
        display: none
    }
    .header-intro h1 {
        font-size: 1.5rem
    }
}

@media (min-width:40em) {
    .header-float {
        position: absolute;
        z-index: -10;
        overflow: hidden;
        display: inline-block
    }
    .brochure {
        width: 400px;
        top: 5%;
        right: 15%;
        animation-name: bobble_brochure;
        animation-duration: 3s;
        animation-iteration-count: infinite
    }
    .phone {
        width: 150px;
        right: 10%;
        top: 1%;
        animation-name: bobble_phone;
        animation-duration: 4s;
        animation-iteration-count: infinite
    }
    .header-intro h1 {
        font-size: 2rem
    }
    .gradient {
        background-image: linear-gradient(270deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1) 100%);
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0
    }
}

@media (min-width:62.5em) {
    .brochure {
        width: 500px;
        top: 5%;
        right: 15%
    }
    .phone {
        width: 200px;
        right: 10%;
        top: 1%
    }
    .header-bg {
        position: absolute;
        z-index: -10;
        right: 0;
        top: 0;
        overflow: hidden
    }
}

@keyframes bobble_phone {
    0% {
        transform: translate3d(50px, 40px, 0);
        animation-timing-function: ease-in
    }
    50% {
        transform: translate3d(30px, 60px, 0);
        animation-timing-function: linear
    }
    100% {
        transform: translate3d(50px, 40px, 0);
        animation-timing-function: linear
    }
}

@keyframes bobble_brochure {
    0% {
        transform: translate3d(50px, 40px, 0);
        animation-timing-function: ease-in
    }
    50% {
        transform: translate3d(70px, 20px, 0);
        animation-timing-function: linear
    }
    100% {
        transform: translate3d(50px, 40px, 0);
        animation-timing-function: linear
    }
}

.distance {
    padding-bottom: 20px;
    margin-top: 120px
}

@media (min-width:40em) {
    .distance {
        padding-bottom: 200px
    }
}

.header-text {
    font-style: italic;
    padding-bottom: 1rem
}

.projects-section {
    background: #f7f6f6;
    padding-top: 2.25rem;
    padding-bottom: 3rem
}

.home-more {
    text-align: center
}

.home-more-left {
    text-align: left
}

.arch-bg {
    align-content: center;
    width: auto;
    padding-left: .75rem;
    padding-right: .75rem
}

.arch-bg img {
    max-width: 600px !important
}

.news {
    list-style: none;
    margin-left: -.375rem;
    margin-right: -.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.news:after {
    content: "";
    clear: both;
    display: table
}

.news-item {
    padding: 0 .8rem;
    background-clip: content-box;
    text-align: left;
    font-size: .85rem;
    width: 100%;
    min-height: 20rem;
    margin-bottom: .75rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.news-item .column {
    width: 33.33%
}

@media all and (min-width:40em) {
    .news-item {
        width: 50%
    }
}

@media (min-width:62.5em) {
    .news-item {
        width: 33.33%
    }
}

.news-item h2 {
    font-weight: 700;
    color: #2d2e32;
    text-align: left;
    margin: .4rem 0 .5rem .6rem;
    font-size: .9rem
}

.news-item h2:before {
    content: ' ';
    border-left: 10px solid #9f1d2f;
    border-bottom: 5px solid transparent;
    border-top: 5px solid transparent;
    display: inline-block;
    margin-bottom: 3px;
    margin-right: 5px;
    margin-left: -.6rem
}

.news-item-title {
    line-height: 1.4
}

.news-item-text {
    font-size: .7rem;
    font-family: Merriweather, Georgia, serif;
    margin-left: .6rem;
    margin-right: .6rem;
    color: #2d2e32 !important
}

.buttonwrapper {
    text-align: center;
    width: 50px;
    height: 50px;
    margin: auto;
    padding-bottom: 10rem
}

@media all and (min-width:62.5em) {
    .buttonwrapper {
        padding-bottom: 5rem
    }
}

.load-more {
    cursor: pointer
}

.more-button {
    border-radius: 50%;
    border-color: #2d2e32;
    border: solid 1px;
    width: 50px;
    height: 50px;
    color: #2d2e32;
    margin: auto;
    line-height: 50px;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    -ms-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out
}

.load-more:hover .more-button {
    color: #fff;
    background: #2d2e32
}

.article-date {
    text-align: center;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    padding-bottom: 1rem;
    padding-top: .4rem
}

.article-more {
    font-size: 75%;
    text-transform: uppercase;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    letter-spacing: .025em;
    white-space: nowrap;
    border-bottom: 2px solid #71efac
}

.article {
    font-size: .8rem
}

.morenews {
    padding-top: 1rem
}

.team-gruppenbild {
    padding-bottom: 3rem
}

.team-infos {
    width: 100%;
    position: relative;
    padding: .5rem 1rem 0rem 1rem;
    margin-top: 2rem;
    height: 100%;
    min-height: 20rem
}

.slick-list {
    min-height: inherit
}

.slick-current {
    min-height: inherit
}

.team-mitglieder {
    background: #f7f6f6;
    padding-top: 1rem
}

.team-mitglieder-text {
    width: 100%;
    height: 100%
}

.team-mitglieder-text p {
    font-size: .8rem
}

.team-position {
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    color: #c1bfc0
}

.team-text {
    font-size: .7rem;
    display: none
}

.team-email {
    font-size: .8rem;
    color: #c1bfc0;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    margin-top: -1rem
}

.team-mitglieder-pic {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 65%;
    width: 65%
}

.team-slider-no {
    font-size: .8rem;
    color: #2d2e32;
    z-index: 20;
    position: absolute;
    left: 49.5%;
    margin-top: .4rem;
    display: none
}

.team-icon {
    width: 40% !important
}

@media all and (min-width:20em) {
    .team-mitglieder-pic {
        height: 65%;
        width: 55%
    }
}

@media (min-width:30em) {
    .team-mitglieder-pic {
        height: 75%;
        width: 50%
    }
}

@media (min-width:45em) {
    .team-mitglieder-text {
        width: 50%
    }
    .team-text {
        display: inline
    }
    .team-slider-no {
        display: inline
    }
    .team-mitglieder-pic {
        height: 85%;
        width: 40%
    }
}

@media (min-width:55em) {
    .team-mitglieder-pic {
        height: 95%;
        width: 35%
    }
}

.team-name {
    margin-bottom: 0
}

.team-contact a {
    word-wrap: break-word
}

.team-impressionen {
    padding: 2rem 0 2rem 0
}

.team-principles {
    list-style: none;
    margin-bottom: .375rem;
    margin-left: -.375rem;
    margin-right: -.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.team-principles-item {
    background: #fff;
    background-clip: content-box;
    text-align: center;
    font-size: .75rem;
    width: 100%;
    min-height: 5rem;
    margin-bottom: 0rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.team-principles-item .column {
    width: 50%
}

@media all and (min-width:40em) {
    .team-principles-item {
        width: 100%
    }
}

@media (min-width:62.5em) {
    .team-principles-item {
        width: 50%
    }
}

.team-principles-item a {
    color: #2d2e32 !important
}

.service-item-title {
    margin-top: 1em;
    margin-bottom: .25em;
    text-transform: uppercase
}

.team-principles-item-content {
    width: 100%;
    padding: 1rem 2.5em .25em;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.team-principle-item-text {
    text-align: center;
    font-size: .75rem;
    font-family: Merriweather, Georgia, serif
}

.contact {
    padding-top: 1.5rem;
    padding-bottom: 5rem
}

.footerLogo {
    width: 40%;
    min-width: 200px;
    padding-bottom: 1rem
}

.contact-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    padding-top: 1.5rem
}

.address {
    -webkit-flex-basis: 40%;
    flex-basis: 40%;
    font-family: Ubuntu, Helvetica, Arial, sans-serif;
    font-size: .8rem
}

.map a {
    width: 100%;
    height: 100%;
    display: block;
    cursor: pointer
}

.map {
    -webkit-flex-basis: 60%;
    flex-basis: 60%;
    background-color: #2d2e32;
    min-height: 32vw
}

@media(max-width:1000px) {
    .map {
        width: 100%;
        height: 70vw
    }
}

@media all and (max-width:62.5em) {
    .contact-info {
        display: block
    }
}

.services-section {
    padding-top: 2rem
}

.services {
    list-style: none;
    margin-bottom: 3rem;
    margin-left: -.375rem;
    margin-right: -.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.service-item {
    background: #f7f6f6;
    background-clip: content-box;
    text-align: center;
    font-size: .85rem;
    width: 100%;
    min-height: 22rem;
    margin-bottom: .75rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.service-item .column {
    width: 33.33%
}

.service-item a {
    color: #2d2e32 !important
}

.service-item-title {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    text-transform: uppercase
}

.service-item-content {
    width: 100%;
    padding: 1rem 1.5em .25em;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

#item-icon1 {
    width: 50%;
    margin: 0 auto
}

#item-icon2 {
    width: 50%;
    margin: 0 auto
}

#item-icon3 {
    width: 50%;
    margin: 0 auto
}

#item-icon4 {
    width: 50%;
    margin: 0 auto
}

#item-icon5 {
    width: 50%;
    margin: 0 auto
}

#item-icon6 {
    width: 50%;
    margin: 0 auto
}

.service-item-text {
    font-family: Merriweather, Georgia, serif;
    font-size: .8rem
}

.service-item:hover {
    background-color: #f7f6f6;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    -ms-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out
}

.service-item:hover .service-item-action {
    background-color: #9f1d2f;
    color: #fff;
    transform: translateY(-100);
    opacity: 1
}

.service-item-action {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    clear: both;
    bottom: 0;
    color: #fff;
    margin: auto;
    padding: .5rem 0 .5rem;
    opacity: 1;
    background-color: #9f1d2f;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    -ms-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out
}

.service-item a:hover {
    opacity: 1
}

.service-content-item {
    font-size: .85rem;
    padding: 0 .5rem .75rem .5rem
}

.service-content-item .column {
    width: 50%
}

@media all and (min-width:40em) {
    .service-item {
        background: #fff;
        width: 50%
    }
    .service-item-action {
        background: #fff;
        transform: translateY(0);
        opacity: 0
    }
}

.services-projects .showcase-item {
    width: 100%
}

.services-projects {
    background: #f7f6f6;
    padding: 2rem 0 2rem 0;
    margin-bottom: 1.5rem
}

.services-projects .showcase-text {
    padding: 1.5rem 1rem .5rem 1rem
}

.services-projects .showcase-text h2 {
    font-size: .8rem;
    line-height: 1.5rem
}

.services-projects .showcase-details {
    padding: .4rem 0 .4rem 0
}

@media (min-width:62.5em) {
    .service-item {
        width: 33.33%
    }
}

@media all and (min-width:40em) {
    .service-content-item {
        width: 100%
    }
}

@media (min-width:62.5em) {
    .service-content-item {
        width: 50%
    }
    .services-projects .showcase-item {
        width: 48%;
        float: left;
        margin-right: 2%
    }
    .services-projects .showcase-text h2 {
        font-size: .8rem
    }
    .services-projects .showcase-text {
        padding: .5rem .5rem .5rem .5rem
    }
}

@media (min-width:76.25em) {
    .services-projects .showcase-text h2 {
        font-size: 1rem
    }
    .services-projects .showcase-text {
        padding: 1.5rem 1rem 1.5rem 1rem
    }
}

.clients-section {
    background: #f7f6f6;
    padding-top: 2.25rem;
    padding-bottom: 3rem
}

.clients {
    list-style: none;
    margin-bottom: 3rem;
    margin-left: -.375rem;
    margin-right: -.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.client-item {
    background-clip: content-box;
    text-align: center;
    font-size: .85rem;
    margin-bottom: .75rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    opacity: .8;
    filter: grayscale(1);
    -webkit-filter: grayscale(100%);
    -webkit-transition: -webkit-filter .7s, opacity .7s, filter .7s, opacity .7s;
    -moz-transition: filter .7s, opacity .7s;
    -o-transition: filter .7s, opacity .7s;
    transition: filter .7s, opacity .7s
}

.client-item .column {
    width: 25%
}

.client-item:hover {
    opacity: 1;
    -webkit-filter: none;
    filter: none
}

@media all and (min-width:40em) {
    .client-item {
        width: 50%
    }
}

@media (min-width:62.5em) {
    .client-item {
        width: 25%
    }
}

.wm {
    background: #f7f6f6;
    padding: 2rem 0 2rem 0
}

.erg {
    background: #f7f6f6;
    padding: 2rem 0 2rem 0
}

.content_text {
    font-size: .8rem;
    padding: 2rem 0 2rem 0;
    margin-bottom: 2rem
}

.testimonials {
    background: #2d2e32;
    padding: 2.5rem 0 2.5rem 0;
    max-height: 20rem;
    box-sizing: content-box
}

.testimonials .text {
    color: #fff;
    text-align: center;
    font-size: .8rem
}

.testimonials .quote {
    color: #fff;
    text-align: center;
    font-size: .7rem
}

section.testimonials h2 {
    margin-bottom: 0
}

section.testimonials .wrap.wide {
    padding: 0 1.5rem 0 1.5rem;
    text-align: center
}

.testquote {
    margin-top: 1rem
}

@media all and (min-width:40em) {
    .testimonials {
        max-height: 15rem
    }
}

.feature {
    background: #fff;
    text-align: center;
    padding: 2rem 0 2rem 0;
    margin-bottom: 2rem;
    margin-top: -3rem;
    list-style: none;
    margin-bottom: 3rem;
    margin-left: -.375rem;
    margin-right: -.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.feature-section {
    padding-top: 2rem
}

.feature .text {
    color: #000;
    text-align: center;
    font-size: .8rem
}

.feature-item {
    background: #f7f6f6;
    background-clip: content-box;
    text-align: center;
    font-size: .85rem;
    width: 100%;
    min-height: 22rem;
    margin-bottom: .75rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.feature-item .column {
    width: 50
}

.feature-item a {
    color: #2d2e32 !important
}

.feature-item-title {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    text-transform: uppercase
}

.feature-item-content {
    width: 100%;
    padding: 1.5rem 2.25em .375em;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.description .wrap {
    box-sizing: content-box;
    background: #f7f6f6;
    margin: 0 auto;
    padding-left: .75rem;
    padding-right: .75rem;
    max-width: 36rem
}

.padding-tp {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}

.embed,
.embed iframe,
.embed img,
.embed object {
    max-width: 100%
}

.embed {
    position: relative;
    margin: 0;
    padding: 0
}

.embed img {
    display: block;
    height: auto
}

.embed--video iframe,
.embed--video object,
.embed__thumb {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute
}

.embed--video {
    background-color: #ddd;
    overflow: hidden
}

.embed--error {
    font-size: .8em
}

.embed__thumb {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    cursor: pointer
}

.embed__thumb>img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25%;
    min-width: 75px;
    max-width: 175px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    opacity: .65
}

.embed__thumb:hover>img {
    opacity: 1
}

[data-js=photoswipe-gallery] {
    display: -webkit-box;
    display: flex;
    margin: -.5rem;
    padding: 1rem 0;
    flex-wrap: wrap
}

[data-js=photoswipe-gallery] figure {
    position: relative;
    width: 100%;
    margin: .5rem
}

[data-js=photoswipe-gallery] figure img {
    width: 100%
}

[data-js=photoswipe-gallery] figure,
[data-js=photoswipe-gallery] figure .imageset {
    cursor: zoom-in
}

[data-js=photoswipe-gallery] figure figcaption {
    position: absolute !important;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px
}

[data-js=photoswipe-gallery] figure.klg-cols-1 {
    width: calc(100% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-2 {
    width: calc(50% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-3 {
    width: calc(33.33333% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-4 {
    width: calc(25% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-5 {
    width: calc(20% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-6 {
    width: calc(16.66667% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-7 {
    width: calc(14.28571% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-8 {
    width: calc(12.5% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-9 {
    width: calc(11.11111% - 1rem)
}

[data-js=photoswipe-gallery] figure.klg-cols-10 {
    width: calc(10% - 1rem)
}

@media (max-width:40rem) {
    [data-js=photoswipe-gallery] figure.klg-mobilecols-1 {
        width: calc(100% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-2 {
        width: calc(50% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-3 {
        width: calc(33.33333% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-4 {
        width: calc(25% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-5 {
        width: calc(20% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-6 {
        width: calc(16.66667% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-7 {
        width: calc(14.28571% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-8 {
        width: calc(12.5% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-9 {
        width: calc(11.11111% - 1rem)
    }
    [data-js=photoswipe-gallery] figure.klg-mobilecols-10 {
        width: calc(10% - 1rem)
    }
}

[data-js=photoswipe-gallery] figure[data-not-previewed] {
    position: absolute !important;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px
}

[data-js=photoswipe-gallery] figure[data-last-previewed]:not([data-more-count='0']):after {
    content: attr(data-more-count) " more..";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    color: #fff;
    background: rgba(0, 0, 0, .75)
}