@import url("https://fonts.googleapis.com/css?family=Roboto+Slab:400,700");

html,
body {
    margin: 0;
    padding: 0;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    font-size: 1rem;
}

a {
    color: #000;
}

a:hover,
a:focus,
a:active,
ul.menu li.is-active a {
    color: #f8cc4b;
}

ul.menu li.is-active a {
    border-bottom: 3px solid #555;
}

.header,
.main,
.wrapper {
    width: 90vw;
    max-width: 1400px;
    margin: 0 auto;
}

main.main {
    flex: 1 0 100%;
}

.header .grid-middle {
    min-height: 90px;
}

.header .grid-middle div {
    padding: 0 0.5rem 0;
}

.logo a {
    text-indent: 900000px;
}

.logo img {
    display: block;
}

header nav.navigation {
    margin-top: 49px;
}

.top-header {
    display: flex;
    background: #f3f3f3;
    color:#999;
    font-size: 0.8rem;
    position: sticky;
    top: 0;
    z-index:2;
}


.top-header .wrapper {
    display:flex;
    align-items: center;
    padding:5px 0;
    justify-content: space-between;
} 

.top-header .wrapper a {
    color:#999;
}

.top-header .wrapper span {
    display:flex;
    align-items: center;
}

.top-header svg {
    width:20px;
    height:20px;
    margin:0 5px 0 0;
}

.top-header svg.instagram {
    margin-right: 20px;
}

.top-header svg.instagram path {
    fill:#999;
}

.start-image .insta {
margin:0 0 0 35px;
color:#555;
max-width: 180px;
}

.start-image .insta svg {
    width: 50px;
    height: auto;
}

.start-image .insta svg path {
fill:#c13584;
}

.top-header svg + svg {
    margin:0 5px 0 25px;
} 

.top-header svg path {
    fill:#444;
}

.coverimage {
    height: 28vw;
    max-width: 1800px;
    background-size: cover;
    background-position: left bottom;
    position: relative;
    background-repeat: no-repeat;
    width: 100%;
    display: flex;
    margin: 0 auto;
}

/* .coverimage:after {
    content: '';
    width: 300%;
    height: 100%;
    background: #ddd;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: -1000px;
} */

.coverimage quote {
    max-width: 66%;
}

.coverimage > .wrapper > .grid {
    height: 100%;
}

.coverimage .quote {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
}

.quote.oben-links {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-top: 2%;
}

.quote.oben-mitte {
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding-top: 2%;
}

.quote.oben-rechts {
    align-items: flex-end;
    justify-content: flex-start;
    text-align: right;
    padding-top: 2%;
}

.quote.unten-links {
    align-items: flex-start;
    justify-content: flex-end;
    text-align: left;
}

.quote.unten-mitte {
    align-items: center;
    justify-content: flex-end;
    text-align: center;
}

.quote.unten-rechts {
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
}

.quote p,
.quote span {
    font-family: "Roboto Slab", cursive;
    color: #fff;
    font-size: 2.7vw;
    margin: 0;
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.quote p {
    background: #0000004d;
    padding: 0 12px;
}

span.quoteauthor {
    margin: 10px 0 0 0;
}

.quote span p {
    float: right;
    font-size: 1.2vw !important;
}

a.pagination-item {
    color: #fff;
}

.pagination div.left,
.pagination div.right {
    width: 20%;
    position: fixed;
    top: 20%;
    bottom: 0;
}

.pagination div.left {
    left: 0;
}

.pagination div.right {
    right: 0;
}

/* .pagination div:hover a.pagination-item {
  display: block;
} */

.pagination div.left .pagination-item-wrapper {
    background: rgba(0, 0, 0, 0.2);
    top: 30%;
    height: 154px;
    width: 109px;
    left: -90px;
    position: absolute;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    transition: all 0.2s ease-in-out;
}

.pagination div.right .pagination-item-wrapper {
    background: rgba(0, 0, 0, 0.2);
    top: 30%;
    height: 154px;
    width: 109px;
    right: -90px;
    position: absolute;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    transition: all 0.2s ease-in-out;
}

.pagination div.left:hover .pagination-item-wrapper {
    left: 0;
    position: absolute;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    transition: all 0.2s ease-in-out;
}

.pagination div.right:hover .pagination-item-wrapper {
    right: 0;
    position: absolute;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    transition: all 0.2s ease-in-out;
}

.pagination div:hover .pagination-item-wrapper {
    background: rgba(0, 0, 0, 0.4);
    top: 30%;
    height: 154px;
    width: 109px;
}

.pagination-item svg {
    position: absolute;
    bottom: 28px;
    margin: 0 auto;
    fill: #fff;
    text-align: center;
    width: 40px;
    height: 30px;
    left: 20px;
    fill-opacity: 0.7;
}

a.pagination-item {
    position: absolute;
    top: 20px;
    font-size: 0.9rem;
    text-decoration: none;
}

a.pagination-item.left {
    left: 10px;
}

a.pagination-item.right {
    right: 10px;
}

a.pagination-item img {
    width: 80px;
    display: inherit;
    margin-top: 10px;
}

.menu {
    display: flex;
    justify-content: flex-end;
}

ul.menu {
    list-style: none;
}

ul.menu li a {
    text-decoration: none;
    padding: 0;
    font-size: 1.5rem;
    margin-right: 3vw;
}

ul.menu li:last-child a {
    margin-right: 0;
}

.start-image {
    position: relative;
    margin-top: -155px;
}

.start-image img {
    position: relative;
    z-index: 1;
    width: 100%;
}

.start-image figcaption {
    margin: -10px 0 0 35px;
    color: #999;
    position: relative;
    z-index: 2;
}

figcaption {
    margin: 10px 0 20px 0;
    color: #999;
    position: relative;
    z-index: 2;
    font-size: 0.8rem;
}

.leistungen_sec {
    margin: 61px 0 0 0;
}

.leistungen ul {
    padding-left: 17px;
}

.leistungen ul li {
    padding: 0 0 10px 0;
    font-size: 1.1rem;
    list-style-type: square;
}

.leistungen ul li img {
    width: 40px;
    height: auto;
    margin: 0 20px 0 0;
}

.cta.filter {
    margin: 10px 0;
    padding: 20px 0 20px 0;
    display: flex;
    flex-wrap: wrap;
}

.filter a {
    display: flex;
    flex-direction: row;
    height: 30px;
    margin: 0 10px 10px 0;
    align-items: center;
    color: #f8cc4b;
    border: 2px solid;
    padding: 20px;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}

.filter a.active {
    color: #333;
    border-color: #333;
}

.filter a svg {
    width: 30px;
    fill: #f8cc4b;
    margin-right: 10px;
}

.filter a:before {
    content: "";
    display: inline;
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
}

.filter a:first-child:before {
    content: none;
}

.filter a.ein:before {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyIDE0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyIDE0MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik02MSwxNGw1MSw1MC4yVjEzMkgxMFY2NC4yTDYxLDE0IE02MSwwTDAsNjB2ODJoMTIyVjYwTDYxLDBMNjEsMHoiLz48L2c+PC9zdmc+);
    background-repeat: no-repeat;
}

.filter a.mehr:before {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyIDE0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyIDE0MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik02MSw5LjZsNTIuMywyMy41djEwMC4ySDguN1YzMy4xTDYxLDkuNiBNNjEsMEwwLDI3LjVWMTQyaDEyMlYyNy41TDYxLDBMNjEsMHoiLz48L2c+PC9zdmc+);
    background-repeat: no-repeat;
}

.filter a.gewerb:before {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyIDE0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyIDE0MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik0xMTIsMTN2MTE5SDEwVjQ4LjVsMjksMTkuMWwxNS41LDEwLjJWNTkuMlY0OC41bDI5LjQsMTkuMWwxNS41LDEwLjFWNTkuMlYxM0gxMTIgTTEyMiwzSDg5LjR2NTYuM0w0NC41LDMwdjI5LjJMMCwzMHYxMTJoMTIyVjNMMTIyLDN6Ii8+PC9nPjwvc3ZnPg==);
    background-repeat: no-repeat;
}

.filter a.san:before {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyIDE0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyIDE0MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEwO3N0cm9rZS1taXRlcmxpbWl0OjEwO308L3N0eWxlPjxyZWN0IHg9IjUuMiIgeT0iOTUuNyIgY2xhc3M9InN0MCIgd2lkdGg9IjExMiIgaGVpZ2h0PSI0MS4xIi8+PHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMTE3LjIsNzkuMyAxMTcuMiw2MyA2MSw3LjcgNC44LDYzIDQuOCw3OS4zICIvPjwvc3ZnPg==);
    background-repeat: no-repeat;
}

.referenzen ul {
    list-style: none;
    padding-left: 0;
}

.referenzen .showcase img,
.projects-section .showcase img {
    max-width: 100%;
    width: auto;
}

.showcase h3 {
    margin-bottom: 5px;
}

.referenzen h3.showcase-title {
    margin: 10px 0;
}

.ref-images img {
    max-width: 100%;
    width: auto;
}

.showcase .col {
    min-width: 240px;
}

ul.showcase a:after {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background: #ffffffb8;
    position: absolute;
    right: 0px;
    top: 0px;
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
}

ul.showcase a[data-cat*="einfa"]:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyIDE0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyIDE0MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik02MSwxNGw1MSw1MC4yVjEzMkgxMFY2NC4yTDYxLDE0IE02MSwwTDAsNjB2ODJoMTIyVjYwTDYxLDBMNjEsMHoiLz48L2c+PC9zdmc+);
    background-size: 16px 23px;
}

ul.showcase a[data-cat*="mehr"]:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyIDE0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyIDE0MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik02MSw5LjZsNTIuMywyMy41djEwMC4ySDguN1YzMy4xTDYxLDkuNiBNNjEsMEwwLDI3LjVWMTQyaDEyMlYyNy41TDYxLDBMNjEsMHoiLz48L2c+PC9zdmc+);
    background-size: 16px 23px;
}

ul.showcase a[data-cat*="gew"]:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyIDE0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyIDE0MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik0xMTIsMTN2MTE5SDEwVjQ4LjVsMjksMTkuMWwxNS41LDEwLjJWNTkuMlY0OC41bDI5LjQsMTkuMWwxNS41LDEwLjFWNTkuMlYxM0gxMTIgTTEyMiwzSDg5LjR2NTYuM0w0NC41LDMwdjI5LjJMMCwzMHYxMTJoMTIyVjNMMTIyLDN6Ii8+PC9nPjwvc3ZnPg==);
    background-size: 16px 23px;
}

ul.showcase a[data-cat*="um"]:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyIDE0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyIDE0MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEwO3N0cm9rZS1taXRlcmxpbWl0OjEwO308L3N0eWxlPjxyZWN0IHg9IjUuMiIgeT0iOTUuNyIgY2xhc3M9InN0MCIgd2lkdGg9IjExMiIgaGVpZ2h0PSI0MS4xIi8+PHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMTE3LjIsNzkuMyAxMTcuMiw2MyA2MSw3LjcgNC44LDYzIDQuOCw3OS4zICIvPjwvc3ZnPg==);
    background-size: 16px 23px;
}

ul.showcase a {
    position: relative;
    display: block;
}

section.projects-section h2 {
    margin-bottom: 0;
}

.projects-section ul.showcase {
    padding: 0;
    margin: 0;
}

.projects-section ul.showcase li {
    list-style: none;
}

.projects-section ul.showcase a:after {
    content: none;
}

p.projects-section-more:hover a {
    color: #333;
}

p.projects-section-more a {
    text-decoration: none;
    color: #f8cc4b;
    display: flex;
    align-items: center;
}

p.projects-section-more a span {
    font-size: 2.3rem;
    margin: 0 0 3px 10px;
    line-height: 0;
}

p.projects-section-more {
    border: 2px solid #333;
    display: inline-block;
    padding: 10px 20px;
    border-radius: 0px;
    margin: 0 0 50px 0;
}

main.referenzen .projects-section-more {
    display: none;
}

.contact-image img {
    max-width: 430px;
    margin: -160px 0 0 -40px;
    position: relative;
}

.resp_img {
    max-width: 100%;
    height: auto;
}

header.project {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.ref-images ul {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.ref-images ul li {
    list-style-type: none;
    line-height: 0;
    width: 33%;
    padding: 5px 5px;
    box-sizing: border-box;
}

#map {
    height: 500px;
    margin: 0 0 40px 0;
}

.footer {
    background: #444;
    color: #fff;
    font-size: 0.8rem;
    width: 100%;
}

.footer a {
    color: #fff;
    font-size: 0.8rem;
}

p.footer-menu {
    text-align: right;
}

img.bau-innung {
    margin: 40px 0 20px 35px;
    max-width: 390px;
}

/* <= 1280px */
@media (max-width: 80em) {}

/* <= 1024px */
@media (max-width: 64em) {
    .ref-images ul li {
        width: 50%;
    }

    .contact-image img {
        max-width: 330px;
        margin: 0;
        position: relative;
    }

    .leistungen_sec {
        margin: 0;
    }

    ul.menu li a {
        font-size: 1.2rem;
    }

    .top-header .wrapper {
        flex-direction: column;
    }
}

/* <= 768px */
@media (max-width: 48em) {

    .top-header {
        display:none;
    }
    
    .ref-images ul li {
        width: 100%;
    }

    .filter a {
        flex: 1 0 auto;
        justify-content: center;
    }

    .start-image {
        margin-top: 0;
    }

    .logo img {
        margin: 0 auto;
        margin-top: 15px;
    }

    header nav.navigation {
        margin: 0;
    }

    .menu {
        justify-content: space-between;
        padding: 0 15px;
        margin: 15px 0;
    }

    ul.menu li a {
        font-size: 1.1rem;
    }

    .header {
        margin: 0;
        width: 100%;
    }

    .quote p,
    .quote span {
        font-size: 4.3vw;
    }
}

/* <= 576px */
@media (max-width: 36em) {
    .filter a {
        flex: 1 0 100%;
        justify-content: center;
    }

    .logo img {
        width: 160px;
    }

    ul.menu li a {
        font-size: 0.8rem;
        font-weight: 600;
    }
}
