@font-face {
    font-family: greta-display-std;
    src: url('/web/fonts/GretaDisplayStd-Medium.otf') format('opentype');
}

* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

html {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    background: white;
}

body {
    font-family: 'proxima-nova', sans-serif;
    position: relative;
    background-color: white;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 12px;
    color: #46413D;
    overflow-x: hidden;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -ms-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    max-width: 2560px;
    margin: auto;
}

.content-wrapper {
    padding-top: 80px;
}

.container {
    width: 100%;
    max-width: 1144px;
    padding-left: 60px;
    padding-right: 60px;
    -webkit-transition: all 600ms ease-in-out;
    -o-transition: all 600ms ease-in-out;
    transition: all 600ms ease-in-out;
}

.clearfix::after {
    content: ' ';
    display: block;
    clear: both;
}

::-webkit-scrollbar {
    background-color: #EDECEC;
    width: 8px;
    height: 5px;
}

::-webkit-scrollbar:horizontal {
    height: 5px;
}

.menu ::-webkit-scrollbar:vertical {
    width: 5px;
}

::-webkit-scrollbar-thumb {
    background-color: #DEB06F;
}

.featured-projects > a {
    border-bottom: none!important;
}

.boxed-section {
    padding-bottom: 20px!important;
}

.column > a:last-of-type {
    border-bottom: none!important;
}

h1, h2, h3, h4, h5 {
    font-family: 'greta-display-std', serif;
    font-weight: 400;
    line-height: 1;
}

p {
    font-size: 15px;
    color: #5a5a5a;
    line-height: 1.7;
}

section.gray {
    background: #f8f8f8;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 40px 0;
}

.section-subtitle {
    font-size: 26px;
    font-family: 'greta-display-std';
    max-width: 780px;
    line-height: 1.75;
}

.spacing {
    margin: 100px 0;
}

.subtitle {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #949494;
}

.detail-title {
    margin-bottom: 10px;
    font-size: 22px!important;
}

.detail-subtitle {
    font-family: 'proxima-nova', sans-serif;
    font-size: 12px!important;
    color: #DEB06F;
    letter-spacing: 3.75px;
    margin-top: 0;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.5;
    max-width: none!important;
}

.text-center {
    text-align: center;
}

.vertical-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.link {
    display: inline-block;
    height: 30px;
    padding-right: 80px;
    background: url('/web/img/icons/arrow-right-brown.svg') no-repeat right 10px top calc(50% - 1px);
    background-size: 50px auto;
    font-size: 12px;
    color: #DEB06F;
    letter-spacing: 3.75px;
    text-transform: uppercase;
    text-decoration: none;
    padding-top: 8px;
    font-weight: bold;
    -webkit-transition: all 300ms ease-in-out 0ms;
    -o-transition: all 300ms ease-in-out 0ms;
    transition: all 300ms ease-in-out 0ms;
}

.link:hover {
    background-position-x: 100%;
}

.button:hover .link, .instagram-teaser:hover .link, .slider-button:hover .link {
    background-position-x: 100%;
}

.link.white {
    color: white;
    background-image: url('/web/img/icons/arrow-right-white.svg');
}

.small-section-title {
    font-size: 24px!important;
    margin: 50px auto;
}

[data-page="blog-detail"] .small-section-title {
    padding-top: 60px;
    margin-bottom: 0;
}

.highlighted-table {
    width: 100%;
    table-layout: fixed;
    margin-top: 40px;
}

.highlighted-table tr td {
    font-size: 20px;
    line-height: 2;
    font-family: 'greta-display-std';
    font-weight: 500;
    text-transform: uppercase;
    color: #46413D;
    letter-spacing: 1px;
    width: 50%;
    padding-right: 15px;
}

.highlighted-table tr td:nth-of-type(2) {
    padding-left: 15px;
}

.highlighted-table tr td.brown {
    color: #A77F47;
}

.separator {
    padding-top: 80px;
    margin-bottom: 80px;
    border-bottom: 1px solid #eee;
}

/* Button */

.button {
    position: relative;
    background: #DEB06F;
    color: white;
    display: inline-block;
    padding: 20px 40px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 3.75px;
    text-align: center;
    border-radius: 2px;
    -webkit-box-shadow: 0 11px 21px 0 rgba(0, 0, 0, 0.07);
            box-shadow: 0 11px 21px 0 rgba(0, 0, 0, 0.07);
    cursor: pointer;
    text-decoration: none;
    -webkit-transition: all 100ms linear;
    -o-transition: all 100ms linear;
    transition: all 100ms linear;
}

.button.full-width {
    width: 100%;
}

.button.loading:after {
    position: absolute;
    content: ' ';
    top: calc(50% - 10px);
    left: 0;
    right: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    background: url('/web/img/icons/loading-white.svg') no-repeat center center;
    -webkit-animation: rotation 1s infinite linear;
            animation: rotation 1s infinite linear;
    background-size: 18px auto;
}

.button.loading {
    color: transparent!important;
}

.button.loading > * {
    opacity: 0;
    visibility: hidden;
}

.button:hover {
    background-color: #CB9F61;
}

.button.subtle {
    background: none;
    color: #DEB06F;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.button.subtle:hover {
    background-color: none;
    color: #CB9F61;
}

.button-wrapper .button {
    margin-top: 20px;
}

.button-wrapper .button + .button {
    margin-left: 20px;
}

/* Empty state */

.empty-state {
    padding: 175px 0 100px 0!important;
    background: url('/web/img/patterns/pattern-long.png') no-repeat top 100px center;
    background-size: 200px auto;
}

.empty-state h3, .empty-state p {
    margin-left: auto;
    margin-right: auto;
}

.empty-state .button-wrapper {
    margin-top: 40px;
}

/* Header */

header {
    position: fixed;
    width: 100%;
    border-bottom: 1px solid #EFEFEF;
    height: 80px;
    background: white;
    z-index: 20;
}

header .logo {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 190px;
    top: 30px;
    padding: 0 40px;
    z-index: 2;
    -webkit-transition: all 150ms ease-in-out;
    -o-transition: all 150ms ease-in-out;
    transition: all 150ms ease-in-out;
}

header .logo:before {
    position: absolute;
    content: ' ';
    width: 100%;
    height: 10px;
    top: 40%;
    left: 0;
    right: 0;
    background: white;
    z-index: 1;
}

header.fixed .logo {
    top: 8px;
    width: 60px;
    padding-left: 0;
    padding-right: 0;
}

header .logo img {
    position: relative;
    width: 100%;
    z-index: 2;
}

header .menu-toggle {
    position: absolute;
    top: calc(50% - 15px);
    left: 40px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    background: url('/web/img/icons/menu-toggle.svg') no-repeat center center;
    background-size: 29px auto;
    -webkit-transition: -webkit-transform 200ms ease-in-out;
    transition: -webkit-transform 200ms ease-in-out;
    -o-transition: transform 200ms ease-in-out;
    transition: transform 200ms ease-in-out;
    transition: transform 200ms ease-in-out, -webkit-transform 200ms ease-in-out;
}

header .contact-link {
    position: absolute;
    top: calc(50% - 15px);
    right: 40px;
    height: 30px;
}

header .arrows-wrapper {
    position: absolute;
    top: calc(50% - 15px);
    right: 20px;
    display: none;
}

header .arrow {
    display: inline-block;
    content: ' ';
    width: 40px;
    height: 30px;
    background: url('/web/img/icons/detail-left.svg') no-repeat center right;
    background-size: 30px auto;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
    -webkit-transition: -webkit-filter 100ms linear;
    transition: -webkit-filter 100ms linear;
    -o-transition: filter 100ms linear;
    transition: filter 100ms linear;
    transition: filter 100ms linear, -webkit-filter 100ms linear;
}

header .arrow.right {
    background-image: url('/web/img/icons/detail-right.svg');
}

header .arrow:hover {
    -webkit-filter: none;
            filter: none;
}

/* Pagination */

.pagination {
    text-align: center;
    display: block;
    padding: 40px 0;
    margin: 0;
    list-style-type: none;
}

.pagination li {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    padding-top: 7px;
    width: 32px;
    height: 32px;
    background: #faf9fc;
    color: #8B8E98;
    border-radius: 3px;
    text-align: center;
    font-weight: 600;
    font-size: 13px;
    -webkit-transition: all 50ms linear;
    -o-transition: all 50ms linear;
    transition: all 50ms linear;
    border: 1px solid #eee;
}

.pagination li.disabled {
    opacity: 0.5;
}

.pagination li a, .pagination li span {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    color: #8B8E98;
    text-decoration: none;
    padding-top: 7px;
}

.pagination li:first-of-type:after, .pagination li:last-of-type:after {
    position: absolute;
    content: ' ';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/web/img/icons/chevron-left.svg') no-repeat center center;
    background-size: auto 9px;
    pointer-events: none;
}

.pagination li:last-of-type:after {
    background-image: url('/web/img/icons/chevron-right.svg');
}

.pagination li:first-of-type a, .pagination li:last-of-type a {
    color: transparent!important;
}

.pagination li.active, .pagination li:not(.disabled):hover {
    background-color: #DEB06F;
    border-color: #DEB06F;
    color: white;
}

.pagination li.active:after, .pagination li:not(.disabled):hover:after {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
}

.pagination li.active a, .pagination li:hover a, .pagination li.active span, .pagination li:hover span {
    color: white;
}

.pagination li.active {
    cursor: default;
}

/* Homepage slider */

.homepage-slider {
    position: relative;
    min-height: 900px;
    max-height: calc(100vh + 300px);
    overflow: hidden;
}

.homepage-slider:after {
    position: absolute;
    content: ' ';
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)),to(rgba(0, 0, 0, 0.60)));
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%,rgba(0, 0, 0, 0.60) 100%);
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%,rgba(0, 0, 0, 0.60) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%,rgba(0, 0, 0, 0.60) 100%);
    z-index: 3;
}

.homepage-slider .slider-wrapper {
    position: relative;
    padding-bottom: 58.86%;
    margin: auto;
}

.homepage-slider .container {
    position: relative;
}

.homepage-slider .slider-images {
    position: absolute;
    left: 0;
    right: 0;
    list-style-type: none;
    top: 0;
    width: 100%;
    padding: 0;
    margin: 0 auto;
    height: 100%;
}

.homepage-slider .slider-images .slider-images-wrapper {
    position: relative;
    height: 100%;
    z-index: 1;
}

.homepage-slider .slider-images .slider-images-wrapper > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    background: no-repeat bottom center;
    background-size: auto 100%;
    opacity: 0;
    -webkit-transform: translateY(100px);
        -ms-transform: translateY(100px);
            transform: translateY(100px);
    -webkit-transition: opacity 300ms ease-in-out 150ms, -webkit-transform 600ms ease-in-out 0ms;
    transition: opacity 300ms ease-in-out 150ms, -webkit-transform 600ms ease-in-out 0ms;
    -o-transition: transform 600ms ease-in-out 0ms, opacity 300ms ease-in-out 150ms;
    transition: transform 600ms ease-in-out 0ms, opacity 300ms ease-in-out 150ms;
    transition: transform 600ms ease-in-out 0ms, opacity 300ms ease-in-out 150ms, -webkit-transform 600ms ease-in-out 0ms;
}

.homepage-slider .slider-images .slider-images-wrapper > div.shown {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: opacity 200ms ease-in-out 0ms, -webkit-transform 700ms ease-in-out 200ms;
    transition: opacity 200ms ease-in-out 0ms, -webkit-transform 700ms ease-in-out 200ms;
    -o-transition: transform 700ms ease-in-out 200ms, opacity 200ms ease-in-out 0ms;
    transition: transform 700ms ease-in-out 200ms, opacity 200ms ease-in-out 0ms;
    transition: transform 700ms ease-in-out 200ms, opacity 200ms ease-in-out 0ms, -webkit-transform 700ms ease-in-out 200ms;
}

.slider-highlights {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slide-highlight {
    position: absolute;
    width: 35px;
    height: 35px;
    cursor: pointer;
}

.slide-highlight.shown {
    opacity: 1;
    visibility: visible;
}

.slide-highlight .slide-highlight-toggle {
    position: relative;
    width: 100%;
    height: 100%;
    background: rgba(222, 176, 111, 0.9);
    border-radius: 100%;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
            transform: scale(0.8);
    -webkit-transition: opacity 200ms ease-in-out 0ms, visibility 200ms ease-in-out 0ms, background-color 200ms ease-in-out 0ms, -webkit-transform 200ms ease-in-out 0ms, -webkit-box-shadow 200ms ease-in-out 0ms;
    transition: opacity 200ms ease-in-out 0ms, visibility 200ms ease-in-out 0ms, background-color 200ms ease-in-out 0ms, -webkit-transform 200ms ease-in-out 0ms, -webkit-box-shadow 200ms ease-in-out 0ms;
    -o-transition: opacity 200ms ease-in-out 0ms, visibility 200ms ease-in-out 0ms, transform 200ms ease-in-out 0ms, box-shadow 200ms ease-in-out 0ms, background-color 200ms ease-in-out 0ms;
    transition: opacity 200ms ease-in-out 0ms, visibility 200ms ease-in-out 0ms, transform 200ms ease-in-out 0ms, box-shadow 200ms ease-in-out 0ms, background-color 200ms ease-in-out 0ms;
    transition: opacity 200ms ease-in-out 0ms, visibility 200ms ease-in-out 0ms, transform 200ms ease-in-out 0ms, box-shadow 200ms ease-in-out 0ms, background-color 200ms ease-in-out 0ms, -webkit-transform 200ms ease-in-out 0ms, -webkit-box-shadow 200ms ease-in-out 0ms;
}

.slide-highlight .slide-highlight-toggle:after {
    position: absolute;
    content: ' ';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    background: url('/web/img/icons/plus-white.svg') no-repeat center center;
    background-size: 11px auto;
    -webkit-transition: -webkit-transform 200ms ease-in-out;
    transition: -webkit-transform 200ms ease-in-out;
    -o-transition: transform 200ms ease-in-out;
    transition: transform 200ms ease-in-out;
    transition: transform 200ms ease-in-out, -webkit-transform 200ms ease-in-out;
}

.slide-highlight.shown .slide-highlight-toggle {
    opacity: 1;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    visibility: visible;
    -webkit-transition: opacity 200ms ease-in-out 600ms, visibility 200ms ease-in-out 600ms, background-color 200ms ease-in-out 0ms, -webkit-transform 200ms ease-in-out 600ms, -webkit-box-shadow 200ms ease-in-out 0ms;
    transition: opacity 200ms ease-in-out 600ms, visibility 200ms ease-in-out 600ms, background-color 200ms ease-in-out 0ms, -webkit-transform 200ms ease-in-out 600ms, -webkit-box-shadow 200ms ease-in-out 0ms;
    -o-transition: opacity 200ms ease-in-out 600ms, visibility 200ms ease-in-out 600ms, transform 200ms ease-in-out 600ms, box-shadow 200ms ease-in-out 0ms, background-color 200ms ease-in-out 0ms;
    transition: opacity 200ms ease-in-out 600ms, visibility 200ms ease-in-out 600ms, transform 200ms ease-in-out 600ms, box-shadow 200ms ease-in-out 0ms, background-color 200ms ease-in-out 0ms;
    transition: opacity 200ms ease-in-out 600ms, visibility 200ms ease-in-out 600ms, transform 200ms ease-in-out 600ms, box-shadow 200ms ease-in-out 0ms, background-color 200ms ease-in-out 0ms, -webkit-transform 200ms ease-in-out 600ms, -webkit-box-shadow 200ms ease-in-out 0ms;
}

.slide-highlight .slide-highlight-toggle:hover {
    background-color: rgba(222, 176, 111, 1);
    -webkit-box-shadow: 0 0 0 8px rgba(222, 176, 111, 0.2);
            box-shadow: 0 0 0 8px rgba(222, 176, 111, 0.2);
}

.slide-highlight .slide-highlight-toggle:hover:after {
    -webkit-transform: rotate(45deg) scale(1.15);
        -ms-transform: rotate(45deg) scale(1.15);
            transform: rotate(45deg) scale(1.15);
}

.slide-highlight .slide-highlight-tooltip {
    position: absolute;
    bottom: calc(100% + 15px);
    left: -142.5px;
    background: url('/web/img/patterns/pattern-long.png') white no-repeat top 30px center;
    background-size: 150px auto;
    width: 320px;
    padding: 60px 30px 30px 30px;
    text-align: center;
    font-size: 13px;
    color: #848484;
    line-height: 1.5;
    -webkit-box-shadow: 0 2px 34px 0 rgba(0, 0, 0, 0.07);
            box-shadow: 0 2px 34px 0 rgba(0, 0, 0, 0.07);
    z-index: 15;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
            transform: translateY(-10px);
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
    cursor: default;
}

.slide-highlight:hover .slide-highlight-tooltip {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
}

.slide-highlight .slide-highlight-tooltip:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: ' ';
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 255, 255, 0);
	border-top-color: #fff;
	border-width: 7px;
	margin-left: -7px;
}

.homepage-slider .slider-images .container {
    position: absolute;
    width: 100%;
    top: 36.5%;
    left: 0;
    right: 0;
}

.homepage-slider .slider-button {
    position: relative;
    background: #DEB06F;
    color: white;
    text-transform: uppercase;
    font-size: 12px;
    color: #FFFFFF;
    letter-spacing: 3.75px;
    font-weight: bold;
    height: 86px;
    width: 320px;
    display: block;
    text-decoration: none;
    padding-top: 27px;
    -webkit-transition: background-color 200ms ease-in-out;
    -o-transition: background-color 200ms ease-in-out;
    transition: background-color 200ms ease-in-out;
    z-index: 12;
}

.homepage-slider .slider-button:hover {
    background-color: #CB9F61;
}

.homepage-slider .slider-button .link {
    display: inline-block;
    width: calc(100% - 40px);
}

.homepage-slider .slider-button:before {
    position: absolute;
    content: ' ';
    top: 0;
    right: 100%;
    width: 2000px;
    height: 100%;
    background: #DEB06F;
    -webkit-transition: background-color 200ms ease-in-out;
    -o-transition: background-color 200ms ease-in-out;
    transition: background-color 200ms ease-in-out;
}

.homepage-slider .slider-button:hover:before {
    background-color: #CB9F61;
}

.responsive-navigation {
    position: absolute;
    bottom: 17px;
    right: 20px;
    margin: 0;
    padding: 0;
    list-style-type: none;
    z-index: 10;
}

.responsive-navigation li {
    display: inline-block;
    padding: 5px;
    cursor: pointer;
}

.responsive-navigation li span {
    display: block;
    content: ' ';
    background: rgba(255, 255, 255, 0.4);
    width: 12px;
    height: 12px;
    border-radius: 100%;
    margin-left: 5px;
    cursor: pointer;
    -webkit-transition: background-color 100ms linear;
    -o-transition: background-color 100ms linear;
    transition: background-color 100ms linear;
}

.responsive-navigation li:hover span, .responsive-navigation li.active span {
    background: #DEB06F;
}

.homepage-slider .slider-content {
    position: relative;
    padding-top: 7.5%;
    z-index: 4;
}

.homepage-slider h1 {
    font-size: 62px;
    width: 100%;
    max-width: 520px;
}

.homepage-slider h2 {
    font-family: 'proxima-nova', sans-serif;
    font-size: 12px;
    color: #DEB06F;
    letter-spacing: 3.75px;
    background: url('/web/img/patterns/pattern-short.svg') no-repeat top 5px left;
    background-size: 60px auto;
    padding: 5px 0 5px 80px;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.25;
}

.slider-navigation {
    position: absolute;
    bottom: 60px;
    left: 0;
    width: 100%;
    z-index: 15;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 1200ms;
            animation-delay: 1200ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.blog-slider .slider-navigation {
    bottom: 30px;
}

.slider-navigation a {
    position: relative;
    width: 33.33%;
    float: left;
    color: white;
    font-family: 'greta-display-std', serif;
    font-size: 18px;
    line-height: 1.25;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    height: 90px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 15px;
    padding-right: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
}

.slider-navigation a > span:nth-of-type(2) {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    height: 45px;
}

.blog-slider .slider-navigation a {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    border-bottom: none;
}

.slider-navigation a.active {
    cursor: default;
}

.slider-navigation a.active:after, .slider-navigation a:hover:after {
    position: absolute;
    content: ' ';
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 100%;
    background: #DEB06F;
}

.blog-slider .slider-navigation a.active:after, .blog-slider .slider-navigation a:hover:after {
    top: -2px;
    bottom: auto;
}

.slider-navigation a > span:first-of-type {
    font-family: 'bebas-neue', sans-serif;
    margin-top: -2px;
    margin-right: 30px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
}

.slider-navigation a > span:nth-of-type(2) {
    max-width: 250px;
}

/* Text section */

.text-section {
    padding: 100px 0 0 0;
}

.text-section h2 {
    margin-top: 0;
    font-size: 40px;
    max-width: 740px;
    line-height: 1.25;
}

.text-section h3 {
    font-size: 28px;
    max-width: 450px;
    line-height: 1.25;
    margin-top: 0;
}

.text-section h4 {
    font-size: 24px;
    line-height: 1.25;
    margin-top: 0;
}

.text-section h5, .pattern-title {
    font-family: 'proxima-nova', sans-serif;
    font-size: 12px;
    color: #DEB06F;
    letter-spacing: 3.75px;
    background: url('/web/img/patterns/pattern-short.svg') no-repeat center left;
    background-size: 60px auto;
    padding: 5px 0 5px 80px;
    margin-top: 0;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.5;
}

.pattern-title span + span:before {
    content: '\2022';
    margin-left: 5px;
    margin-right: 5px;
}

.text-section p {
    font-size: 18px;
    max-width: 500px;
    white-space: pre-wrap;
}

.text-section .small-text p {
    font-size: 15px;
}

.text-section p.small {
    font-size: 15px;
    max-width: none;
}

.text-section-content {
    margin: 40px 0;
}

.text-section-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

/* Featured projects */

.featured-projects {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    margin-left: -1px;
}

.featured-projects > a {
    position: relative;
    display: inline-block;
    width: 30%;
    border: 1px solid white;
    border-top: 2px solid white;
    margin-right: -3px;
    overflow: hidden;
    cursor: pointer;
}

.featured-projects > a > .titled-image {
    padding-bottom: 70%;
}

/* Titled image */

.titled-image-wrapper {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    background: #F4F4F4;
    height: 100%;
}

.image-box-section-item .titled-image-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    height: auto;
}

.titled-image-wrapper .titled-image  {
    position: absolute;
    left: 0;
    top: 0;
    background: no-repeat center center;
    background-size: cover;
    -webkit-transition: all 800ms ease-in-out;
    -o-transition: all 800ms ease-in-out;
    transition: all 800ms ease-in-out;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 800ms;
            animation-delay: 800ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.titled-image {
    transform: translate3d(0, 0, 0);
}

.featured-projects .titled-image-wrapper .titled-image {
    position: relative;
}

.titled-image-wrapper:hover .titled-image {
    -webkit-transform: translate3d(0, 0, 0) scale(1.05);
        -ms-transform: translate3d(0, 0, 0) scale(1.05);
            transform: translate3d(0, 0, 0) scale(1.05);
}

.titled-image-wrapper .titled-image-content {
    position: absolute;
    content: ' ';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/web/img/patterns/pattern-long.png') rgba(0, 0, 0, 0.5) no-repeat top 25% center;
    background-size: 150px auto;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}

.titled-image-wrapper:hover > .titled-image-content {
    opacity: 1;
    visibility: visible;
}

.titled-image-wrapper .titled-image-content h3 {
    position: absolute;
    bottom: 30%;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 0 20px;
    color: white;
    font-size: 28px;
    z-index: 3;
    width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
}

.titled-image-wrapper .titled-image-content h5 {
    position: absolute;
    font-family: 'proxima-nova', sans-serif;
    background: none;
    top: calc(70% + 15px);
    left: 0;
    right: 0;
    margin: 0;
    padding: 0 20px;
    color: #DEB06F;
    font-size: 12px;
    z-index: 3;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 3.75px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
}

/* Pattern box */

.pattern-box {
    padding: 60px 0;
}

.pattern-box img {
    height: 33px;
}

.pattern-box h3 {
    margin-top: 15px;
    font-size: 22px;
}

.pattern-box p {
    font-size: 16px;
    max-width: 320px;
}

/* Style switcher */

.style-switcher {
    margin-bottom: 20px;
}

.style-switcher .style {
    display: inline-block;
    width: 60px;
    text-align: center;
    font-size: 12px;
    letter-spacing: 1px;
    font-family: 'greta-display-std';
    text-transform: uppercase;
    color: #DEB06F;
    opacity: 0.5;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
    padding-top: 50px;
    background: no-repeat top center;
    background-size: 35px auto;
    margin-right: 25px;
    margin-left: -10px;
    -webkit-transition: all 100ms ease-in-out;
    -o-transition: all 100ms ease-in-out;
    transition: all 100ms ease-in-out;
}

.style-switcher .style.active, .style-switcher .style:hover {
    opacity: 1;
    -webkit-filter: none;
            filter: none;
}

/* Justified gallery */

.overflow-gallery {
    position: relative;
    width: 57.5%;
    z-index: 2;
}

.overflow-gallery.left {
    float: left;
    text-align: right;
}

.overflow-gallery.right {
    float: right;
    text-align: left;
}

.overflow-gallery .gallery-content {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
}

.overflow-gallery .column {
    display: inline-block;
    width: 40%;
    margin-right: -1px
}

.overflow-gallery .column > a {
    padding-bottom: 150%;
    border-bottom: 2px solid white;
}

.overflow-gallery .column.half > a {
    padding-bottom: calc(75% - 1px);
}

.gallery-section {
    position: relative;
}

.gallery-section .container {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    height: calc(100% - 80px);
    min-height: 400px;
}

.gallery-section .container .row {
    height: 100%;
}

.gallery-section .container .row [class*="col-"] {
    height: 100%;
}

.single-gallery-section .titled-image-wrapper {
    padding-bottom: 66.6666%;
    min-height: 600px;
}

.blog-teaser-section {
    margin-bottom: 80px;
}

.blog-teaser-item h4 {
    margin-bottom: 0;
    height: 60px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
}

/* Sub-footer */

.sub-footer {
    background: no-repeat right bottom;
    background-size: auto 90%;
    margin-bottom: 0!important;
    border-bottom: none!important;
    padding: 10% 0 5% 0!important;
}

.sub-footer p {
    font-size: 18px;
}

/* Error wrapper */

.error-wrapper {
    text-align: center;
    padding-top: 80px;
    padding: 80px 20px;
    max-width: 500px;
    margin: auto;
}

.error-wrapper h1 {
    margin-top: 40px;
    font-size: 140px;
    margin-bottom: 20px;
}

.error-wrapper h2 {
    text-transform: none;
    margin-top: 30px;
    font-size: 42px;
}

.error-wrapper .button {
    margin-top: 40px;
}

.error-wrapper .logo img {
    max-width: 120px;
}

/* Partners */

.partner-logo {
    position: relative;
    display: block;
    max-width: 130px;
    padding-bottom: 60%;
    margin: auto;
}

.partner-logo-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: no-repeat center center;
    background-size: contain;
    padding: 22px;
    background-origin: content-box;
}

/* Blog teaser */

.blog-teaser-item {
    display: inline-block;
    vertical-align: top;
    width: 40%;
    min-width: 300px;
    max-width: 600px;
    margin: 40px -3px 40px 0;
    border-left: 2px solid white;
    text-decoration: none;
    color: #46413D;
}

[data-page="blog-list"] .blog-teaser-item {
    min-width: 0;
    max-width: none;
}

[data-page="blog-detail"] .blog-teaser-item {
    width: 33.33333%;
    min-width: 0;
    max-width: none;
}

[data-page="blog-list"] .blog-teaser-content {
    padding-right: 40px
}

[data-page="blog-list"] .blog-teaser-item h4 {
    font-size: 20px;
    height: 50px;
}

[data-page="blog-list"] .blog-teaser-item, [data-page="blog-list"] .blog-teaser-item h4 {
    margin-bottom: 0;
}

[data-page="blog-detail"] .blog-list-teaser-section.text-section:not(.no-border) {
    border-top: 1px solid #eee;
}

.blog-list-teaser-section .list-show-more {
    margin-top: 60px;
}

.blog-teaser-content {
    padding-right: 20px;
    white-space: normal;
}

.blog-teaser-image-wrapper {
    position: relative;
    padding-bottom: 70%;
    margin-bottom: 20px;
    overflow: hidden;
    background: #3F3F3F;
}

.blog-teaser-image-wrapper .blog-teaser-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: no-repeat center center;
    background-size: cover;
    -webkit-transition: all 800ms ease-in-out;
    -o-transition: all 800ms ease-in-out;
    transition: all 800ms ease-in-out;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 800ms;
            animation-delay: 800ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.blog-teaser-image-wrapper .blog-teaser-image:after {
    position: absolute;
    content: ' ';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translate3d(0, 0, 0);
    background: rgba(0, 0, 0, 0.5);
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
    opacity: 0;
    visibility: hidden;
}

.blog-teaser-item:hover .blog-teaser-image-wrapper .blog-teaser-image {
    -webkit-transform: translate3d(0, 0, 0) scale(1.05);
        -ms-transform: translate3d(0, 0, 0) scale(1.05);
            transform: translate3d(0, 0, 0) scale(1.05);
}

.blog-teaser-item:hover .blog-teaser-image-wrapper .blog-teaser-image:after {
    opacity: 1;
    visibility: visible;
}

.blog-teaser-image-wrapper .blog-teaser-button {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    padding: 15px 30px;
    border-radius: 7px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    color: white;
    font-size: 12px;
    letter-spacing: 3px;
    text-align: center;
    width: 200px;
    margin: auto;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
    opacity: 0;
    visibility: hidden;
}

.blog-teaser-item:hover .blog-teaser-image-wrapper .blog-teaser-button {
    opacity: 1;
    visibility: visible;
}

[data-page="blog-list"] .blog-teaser-item {
    width: 33.3333%;
}

/* Menu */

.menu {
    position: fixed;
    width: 100%;
    height: 100%;
    background: white;
    max-width: 320px;
    top: 0;
    left: 0;
    bottom: 0;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%);
    -webkit-transition: -webkit-transform 700ms cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 700ms cubic-bezier(0.645, 0.045, 0.355, 1);
    -o-transition: transform 700ms cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 700ms cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 700ms cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 700ms cubic-bezier(0.645, 0.045, 0.355, 1);
    border-right: 1px solid #eee;
    z-index: 25;
}

.menu.shown {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
}

.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 21;
    visibility: hidden;
    opacity: 0;
    transition: all 300ms ease-in-out;
}

.menu.shown + .menu-overlay {
    visibility: visible;
    opacity: 1;
}

.menu-header {
    position: relative;
    height: 80px;
    border-bottom: 1px solid #eee;
}

.menu-header .close-button {
    position: absolute;
    content: ' ';
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 30px;
    width: 35px;
    height: 30px;
    background: url('/web/img/icons/close-button.svg') no-repeat center center;
    background-size: 16px auto;
    cursor: pointer;
    -webkit-transition: -webkit-transform 200ms ease-in-out;
    transition: -webkit-transform 200ms ease-in-out;
    -o-transition: transform 200ms ease-in-out;
    transition: transform 200ms ease-in-out;
    transition: transform 200ms ease-in-out, -webkit-transform 200ms ease-in-out;
}

.menu-content {
    position: relative;
    padding-top: 40px;
    width: 100%;
    height: calc(100% - 80px);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.menu-content > ul {
    width: 100%;
    margin: 0;
    padding: 0 0 0 40px;
    list-style-type: none;
}

.menu-content > ul > li {
    margin: 15px 0;
    display: block;
}

.menu-content > ul > li > a {
    position: relative;
    display: block;
    font-size: 26px;
    padding: 12px 0 8px 0;
    text-decoration: none;
    color: #46413D;
    font-family: 'greta-display-std';
    line-height: 1;
    cursor: default;
}

.menu-content > ul > li > a[href] {
    cursor: pointer;
}

.menu-content > ul > li > a:after {
    position: absolute;
    content: ' ';
    top: 50%;
    right: 30px;
    -webkit-transform: translateX(10px) translateY(-50%);
        -ms-transform: translateX(10px) translateY(-50%);
            transform: translateX(10px) translateY(-50%);
    height: 15px;
    width: 50px;
    background: url('/web/img/patterns/pattern-short.svg') no-repeat right center;
    background-size: 50px auto;
    -webkit-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
    opacity: 0;
}

.menu-content > ul > li:hover > a:after, .menu-content > ul > li.active > a:after {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(-50%);
        -ms-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
}

.menu-content > ul > li > ul {
    width: 100%;
    margin: 0;
    padding: 10px 0 0 15px;
    list-style-type: none;
}

.menu-content > ul > li > ul > li {
    display: block;
    margin: 5px 0;
}

.menu-content > ul > li > ul > li.hidden {
    display: none;
}

.menu-content > ul > li > ul > li > a {
    display: inline-block;
    font-weight: 400;
    font-size: 16px;
    padding: 5px 0;
    color: #5D5D5D;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.menu-content > ul > li > ul > li.active > a, .menu-content > ul > li > ul > li:hover > a  {
    border-color:#191919;
}

.menu-content > ul > li > ul > li.active > a {
    font-weight: 600;
    color: #46413D;
}

.menu .menu-footer {
    color: rgba(0, 0, 0, 0.5);
    padding: 40px 20px 60px 0;
    margin-top: 60px;
    margin-left: 40px;
    font-size: 12px;
    line-height: 2;
}

.menu .menu-footer a {
    color: rgba(0, 0, 0, 0.5);
    text-decoration: none;
    -webkit-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    transition: all 200ms linear;
}

.menu .menu-footer a:hover {
    color: rgba(0, 0, 0, 1);
}

/* Title section */

.title-section {
    padding-top: 80px;
}

.title-section h1 {
    font-size: 48px;
    margin: 40px auto 15px auto;
    text-align: center;
    max-width: 800px;
    line-height: 1.25;
}

.title-section.left-aligned h1 {
    text-align: left;
    font-size: 58px;
    max-width: 640px;
    margin-left: 0;
    margin-right: 0;
}

[data-page="architect-detail"] .title-section.left-aligned h1 {
    margin-top: 10px;
}

.title-section p {
    margin: 0 auto 20px auto;
    font-size: 18px;
    max-width: 500px;
}

.title-section.left-aligned .pattern-title {
    margin-top: 40px;
}

.title-section + .single-gallery-section {
    margin-top: 80px;
}

.title-section.left-aligned + .text-section {
    margin-top: 60px;
}

/* Info wrapper */

.info-wrapper {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 2;
}

.info-wrapper h4 {
    font-size: 22px;
    margin-bottom: 5px;
    color: #46413D;
    text-decoration: none;
}

.info-wrapper strong {
    font-weight: 400;
    font-family: 'greta-display-std';
}

/* Filter */

.filter-section {
    position: relative;
    background: #F9F8F9;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin-top: 80px;
    z-index: 2;
}

.filter {
    position: relative;
    z-index: 2;
}

.filter .filter-responsive-toggle {
    position: relative;
    padding: 32px 20px 30px 40px;
    text-transform: uppercase;
    font-family: 'greta-display-std';
    background-size: 7px auto;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 1px;
    cursor: pointer;
    display: none;
}

.filter .filter-responsive-toggle:before {
    content: attr(data-open);
}

.filter .filter-responsive-toggle:after {
    position: absolute;
    content: ' ';
    width: 10px;
    height: 10px;
    left: 20px;
    top: calc(50% - 5px);
    background: url('/web/img/icons/chevron-right-brown.svg') no-repeat left center;
    background-size: 8px auto;
    -webkit-transition: -webkit-transform 200ms ease-in-out;
    transition: -webkit-transform 200ms ease-in-out;
    -o-transition: transform 200ms ease-in-out;
    transition: transform 200ms ease-in-out;
    transition: transform 200ms ease-in-out, -webkit-transform 200ms ease-in-out;
}

.filter .filter-responsive-toggle.toggled:before {
    content: attr(data-close);
}

.filter .filter-responsive-toggle.toggled:after {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
}

.filter .filter-item {
    float: left;
    position: relative;
    border-right: 1px solid #eee;
    cursor: pointer;
    width: 21.25%;
}

.filter .filter-item:after {
    position: absolute;
    content: ' ';
    top: calc(50% - 7px);
    right: 30px;
    width: 14px;
    height: 14px;
    background: url(/web/img/icons/chevron-down-brown.svg) no-repeat center center;
    background-size: 14px auto;
}

.filter .filter-item.toggled:after {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
}

.filter .filter-item .dropdown-toggle {
    padding: 30px 30px 30px 20px;
}

.filter .filter-item .current-value {
    width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 21px;
    margin-bottom: 2px;
    font-family: 'greta-display-std';
}

.filter .filter-item .note {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #949494;
}

.filter .filter-item .filter-dropdown {
    position: absolute;
    top: calc(100% - 5px);
    left: 0;
    background: #F9F8F9;
    width: 100%;
    margin: 0;
    padding: 10px 0 20px 0;
    list-style-type: none;
    -webkit-box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.12);
            box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 100ms linear;
    -o-transition: all 100ms linear;
    transition: all 100ms linear;
    z-index: -1;
}

.filter .filter-item .filter-dropdown.shown {
    opacity: 1;
    visibility: visible;
}

.filter .filter-item .filter-dropdown li {
    margin: 0;
    padding: 0;
}

.filter .filter-item .filter-dropdown li a {
    display: block;
    padding: 8px 20px;
    font-size: 16px;
    font-family: 'greta-display-std';
    -webkit-transition: color 100ms linear;
    -o-transition: color 100ms linear;
    transition: color 100ms linear;
}

.filter .filter-item .filter-dropdown li a:hover {
    color: #DEB06F;
}

.filter .filter-button-wrapper {
    position: relative;
    height: 100%;
    width: 15%;
    float: left;
}

.filter .filter-button-wrapper .filter-button {
    position: relative;
    width: calc(100% - 40px);
    max-width: 100px;
    margin: 23px auto 0 auto;
    height: 60px;
    background: #DEB06F url('/web/img/icons/search-white.svg') no-repeat center center;
    background-size: 22px auto;
    border-radius: 4px;
    cursor: pointer;
    -webkit-transition: background-color 100ms linear;
    -o-transition: background-color 100ms linear;
    transition: background-color 100ms linear;
}

.filter .filter-button-wrapper .filter-button:hover {
    background-color: #CB9F61;
}

.filter .filter-button-wrapper .filter-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #DEB06F;
    width: 28px;
    height: 28px;
    border-radius: 100%;
    text-align: center;
    padding-top: 5px;
    font-size: 12px;
    font-weight: bold;
    border: 2px solid #F7F6F7;
    color: white;
}

/* Projects */

.projects-section {
    position: relative;
    padding: 40px 0;
}

.projects-section:after {
    position: absolute;
    content: ' ';
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.3);
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}

.projects-section.filter-opened:after {
    opacity: 1;
    visibility: visible;
}

.projects-wrapper .project {
    width: 33.3333%;
    float: left;
    text-decoration: none;
}

.projects-wrapper .project .project-image-wrapper {
    position: relative;
    overflow: hidden;
    border: 1px solid white;
    background: #3F3F3F;
}

.projects-wrapper .project .project-image {
    padding-bottom: 75%;
    background: no-repeat center center;
    background-size: cover;
    -webkit-transition: all 800ms ease-in-out;
    -o-transition: all 800ms ease-in-out;
    transition: all 800ms ease-in-out;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 800ms;
            animation-delay: 800ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0) scale(1.0, 1.0);
    transform: translate3d(0, 0, 0);
}

.projects-wrapper .project:hover .project-image {
    -webkit-transform: translate3d(0, 0, 0) scale(1.05);
        -ms-transform: translate3d(0, 0, 0) scale(1.05);
            transform: translate3d(0, 0, 0) scale(1.05);
}

.projects-wrapper .project .project-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.7)), color-stop(30%, rgba(0, 0, 0, 0)));
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 30%);
    background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 30%);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 30%);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}

.projects-wrapper .project:hover .project-overlay {
    opacity: 1;
    visibility: visible;
}

.projects-wrapper .project .project-overlay-content {
    position: absolute;
    bottom: 0;
    left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    color: white;
    font-family: 'greta-display-std';
    font-size: 16px;
    z-index: 2;
    padding: 25px 30px;
    width: 100%;
    background: url('/web/img/icons/arrow-right-brown.svg') no-repeat right 30px center;
    background-size: 55px auto;
}

.projects-wrapper .project .project-overlay-content span + span {
    margin-left: 25px;
}

.project .project-description {
    padding: 30px 15px;
    text-align: center;
}

.project .project-description span + span:before {
    content: '\2022';
    margin-right: 5px;
}

.project .project-description h3 {
    margin: 0;
    font-size: 22px;
    color: #46413D;
    width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    white-space: nowrap;
}

.project .project-description .project-subtitle {
    color: #DEB06F;
    font-size: 12px;
    letter-spacing: 3.75px;
    margin-top: 5px;
    font-weight: 600;
    line-height: 1.5;
    text-transform: uppercase;
    width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    white-space: nowrap;
}

.list-show-more {
    background: #46413D;
    padding: 20px 0;
    color: white;
    font-size: 16px;
    text-align: center;
    margin: 20px 0 40px 0;
    cursor: pointer;
    font-family: 'greta-display-std';
    opacity: 0.9;
    -webkit-transition: opacity 100ms ease-in-out;
    -o-transition: opacity 100ms ease-in-out;
    transition: opacity 100ms ease-in-out;
}

.list-show-more:hover {
    opacity: 1;
}

/* Realizations */

.realizations-wrapper {
    margin: 40px 0;
}

.projects-wrapper .project.realization {
    width: 100%;
    max-width: 700px;
    margin: 20px auto;
    float: none;
    display: block;
    border-bottom: 1px solid #eee;
}

.projects-wrapper > a.project.realization:last-of-type {
    border-bottom: none;
}

.projects-wrapper .project.realization .project-image {
    padding-bottom: 50%;
}

.realization .project-subtitle {
    margin-bottom: 20px;
}

.project.realization .project-description h3 {
    font-size: 36px;
    width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    white-space: nowrap;
}

.realizations-section .list-show-more {
    max-width: 700px;
    margin: 0 auto 80px auto;
}

/* Contact form */

.contact-form {
    margin: 60px 0;
    background: white;
    -webkit-box-shadow: 0 11px 21px 0 rgba(0,0,0,0.07);
            box-shadow: 0 11px 21px 0 rgba(0,0,0,0.07);
}

.contact-form-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.contact-form-tab {
    padding: 30px 20px;
    background: white;
    font-size: 18px;
    font-family: 'greta-display-std';
    text-align: center;
    width: 33.333333333%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    cursor: pointer;
}

.contact-form-tab.dark {
    background: #F0F0F0;
}

.contact-form-content {
    padding: 80px;
}

.contact-form h3 {
    font-size: 42px;
    text-transform: none;
    margin: 20px 0 0 0;
}

.contact-form p + h3 {
    margin-top: 60px;
}

.contact-form p {
    font-size: 17px;
    margin-top: 40px;
}

.contact-form h4 {
    margin: 40px 0 0 0;
    font-size: 24px;
    text-decoration: none;
    color: #46413D;
}

.contact-form h4 a {
    font-size: 24px;
    text-decoration: none;
    color: #46413D;
}

.contact-form .subtitle {
    margin-top: 10px;
    font-size: 10px;
}

.contact-form-content-wrapper {
    padding-left: 80px;
}

/* Contact messages */

.contact-messages {
    margin: 40px 0 0 0;
}

.contact-message {
    font-size: 14px;
    margin-top: 20px;
    font-weight: 600;
    display: none;
}

/* Project detail */

.project-subheader {
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    z-index: 5;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 600ms;
            animation-delay: 600ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.project-subheader.fixed {
    position: fixed;
    z-index: 20;
    top: 0;
}

.project-subheader .subheader-part-wrapper {
    position: relative;
}

.project-subheader .subheader-part {
    float: left;
    list-style-type: none;
    margin: 0;
    padding: 0;
    pointer-events: all;
}

.project-subheader .subheader-part.right {
    float: right;
}

.project-subheader .subheader-part li {
    margin: 0 15px 0 0;
    padding: 5px;
    display: inline-block;
}

.project-subheader .subheader-part li a {
    display: block;
    color: #DEB06F;
    text-decoration: none;
    font-weight: 600;
    font-size: 12px;
    padding: 28px 5px 28px 35px;
    text-transform: uppercase;
    background: no-repeat left center;
    background-size: auto 20px;
    letter-spacing: 2px;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
    -webkit-transition: -webkit-filter 100ms linear;
    transition: -webkit-filter 100ms linear;
    -o-transition: filter 100ms linear;
    transition: filter 100ms linear;
    transition: filter 100ms linear, -webkit-filter 100ms linear;
}

.project-subheader .subheader-part li a span {
    -webkit-filter: brightness(30%);
            filter: brightness(30%);
    -webkit-transition: -webkit-filter 100ms linear;
    transition: -webkit-filter 100ms linear;
    -o-transition: filter 100ms linear;
    transition: filter 100ms linear;
    transition: filter 100ms linear, -webkit-filter 100ms linear;
}

.project-subheader .subheader-part li a:hover, .project-subheader .subheader-part li a:hover span {
    -webkit-filter: none;
            filter: none;
}

.project-subheader .subheader-part li.arrow {
    margin-right: 0;
}

.project-subheader .subheader-part li.arrow a {
    background-size: 30px auto;
    padding-left: 0;
    padding-right: 0;
    width: 35px;
    margin-right: 0;
}

.detail-image-section {
    padding-top: 80px;
}

.detail-image-wrapper {
    position: relative;
    background: #3F3F3F;
    margin-left: -60px;
    margin-right: -60px;
}

.detail-image {
    background: no-repeat center center;
    background-size: cover;
    padding-bottom: 60%;
    cursor: pointer;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 800ms;
            animation-delay: 800ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-transition: all 800ms ease-in-out;
    -o-transition: all 800ms ease-in-out;
    transition: all 800ms ease-in-out;
}

.detail-image-button {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    font-size: 13px;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    letter-spacing: 3.75px;
    padding: 35px 60px;
    cursor: pointer;
    text-decoration: none;
    background: rgba(222, 176, 111, 0.9) url('/web/img/icons/arrow-right-white.svg') no-repeat right 60px center;
    -webkit-transition: background-color 100ms linear, background-position 300ms ease-in-out;
    -o-transition: background-color 100ms linear, background-position 300ms ease-in-out;
    transition: background-color 100ms linear, background-position 300ms ease-in-out;
    transform: translateZ(0);
}

.detail-image-button.half {
    width: 22.5%;
    padding-left: 30px;
    padding-right: 30px;
    width: 270px;
    background-size: 40px auto;
    background-position-x: calc(100% - 40px);
}

.detail-image-button.realization {
    left: 270px;
    width: 330px;
    background-color: rgba(70, 65, 61, 0.9);
}

.detail-image-button.realization:hover {
    background-color: rgba(70, 65, 61, 1);
}

.detail-image-button.half:hover {
    background-position-x: calc(100% - 30px);
}

.detail-image-button:hover {
    background-position-x: calc(100% - 50px);
}

.detail-image-wrapper .badge {
    position: absolute;
    content: ' ';
    left: 60px;
    top: 0;
    width: 26px;
    height: 209px;
    background: url('/web/img/icons/badge-realized.png') no-repeat top left;
    background-size: 100% auto;
}

.detail-image-button.realization-button {
    background-color: rgba(70, 65, 61, 0.9);
    padding-left: 120px;
}

.detail-image-button.realization-button .button-project-image {
    height: 86px;
    width: 86px;
    position: absolute;
    top: 0;
    left: 0;
    background: no-repeat center center;
    background-size: cover;
}

.detail-image-button:hover {
    background-color: #CB9F61;
}

.detail-image-button.realization-button:hover {
    background-color: #46413D;
}

.detial-title-section .container {
    margin-left: -60px;
    margin-right: -60px;
    width: calc(100% + 120px);
}

.detail-title-section h1 {
    font-size: 58px;
    margin-top: 20px;
    margin-bottom: 0;
    width: 100%;
}

.detail-title-section .pattern-title {
    margin-top: 60px;
}

.detail-title-content-wrapper {
    margin-left: -60px;
    margin-right: -60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.detail-gallery-item {
    width: 25%;
    float: left;
    border-top: 2px solid white;
    border-left: 2px solid white;
    overflow: hidden;
    background: #3F3F3F;
    text-decoration: none;
}

.detail-gallery-item > div {
    position: relative;
    width: 100%;
    height: 100%;
    content: ' ';
    padding-bottom: 100%;
    background: no-repeat center center;
    background-size: cover;
    border-right: none;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 1000ms;
            animation-delay: 1000ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0) scale(1.0, 1.0);
    transform: translate3d(0, 0, 0);
}

.detail-gallery-item:hover > div {
    -webkit-transform: translate3d(0, 0, 0) scale(1.05);
        -ms-transform: translate3d(0, 0, 0) scale(1.05);
            transform: translate3d(0, 0, 0) scale(1.05);
}

.gallery-wrapper a {
    display: block;
    overflow: hidden;
}

.gallery-wrapper a > img {
    transform: translate3d(0, 0, 0);
    transition: transform 800ms ease-in-out!important;
}

.gallery-wrapper a:hover > img {
    transform: translate3d(0, 0, 0) scale(1.05);
}

.detail-gallery-item.last > div:before, .detail-gallery-item.penultimate > div:before {
    position: absolute;
    content: ' ';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.detail-gallery-item.last > div:after, .detail-gallery-item.penultimate > div:after {
    position: absolute;
    content: attr(data-count);
    top: 50%;
    -webkit-transform: translate3d(0, 0, 0) translateY(-50%);
        -ms-transform: translate3d(0, 0, 0) translateY(-50%);
            transform: translate3d(0, 0, 0) translateY(-50%);
    left: 0;
    right: 0;
    text-align: center;
    color: white;
    font-size: 42px;
    font-family: 'greta-display-std';
}

.detail-title-content {
    width: 50%;
}

.detail-title-content.full-width {
    width: 100%!important;
}

.detail-title-content.left {
    padding-left: 60px;
    padding-right: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.detail-text {
    margin-bottom: 100px;
    margin-top: 60px;
    padding-right: 60px;
}

.show-more {
    color: #DEB06F;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 3.75px;
    cursor: pointer;
}

.detail-text p {
    font-size: 17px;
    white-space: pre-wrap;
}

.detail-info {
    margin: 60px 0 60px -15px;
}

.detail-info-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-bottom: 2px solid white;
}

.detail-info-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-left: 2px solid white;
}

.detail-info-col > div:last-of-type {
    border-bottom: 0;
}

.detail-info-col.half {
    width: 50%;
}

.detail-info-col.wide {
    width: 60%;
}

.detail-info-col.narrow {
    width: 40%;
}

.detail-info-col.narrow .detail-info-row {
    height: 50%;
    flex: auto;
}

.detail-info-content {
    background: #F4F4F4;
    width: 100%;
    padding: 30px;
    text-decoration: none;
    justify-content: left;
    display: flex;
    align-items: center;
}

.detail-info-content .info-wrapper {
    margin-bottom: 0;
}

.detail-info-content .info-wrapper h4 {
    margin-top: 0;
    margin-bottom: 0;
}

.info-wrapper h4 a {
    color: #46413D;
    text-decoration: none;
}

.detail-info-content table {
    width: 100%;
}

.detail-info-content table tr td {
    font-size: 14px;
    color: #848484;
    line-height: 1.7;
}

.detail-info-content table tr td:nth-of-type(2) {
    text-align: right;
    font-family: 'greta-display-std';
    color: #191919;
    font-size: 16px;
}

.detail-info-content.clickable {
    background: #F4F4F4 url('/web/img/icons/arrow-right-gray.svg') no-repeat right 30px center;
    background-size: 43px auto;
    -webkit-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
    cursor: pointer;
}

.detail-info-content.clickable:hover {
    background-color: #EAEAEA;
    background-position-x: calc(100% - 20px);
}

.info-wrapper.highlight h4 {
    font-size: 32px;
    color: #A77F47;
}

.detail-text-box {
    background: #F4F4F4;
    border: 1px solid #E7E7E7;
    -webkit-box-shadow: 0 0 0 10px #F4F4F4;
            box-shadow: 0 0 0 10px #F4F4F4;
    padding: 40px;
    margin: 70px 10px 10px -5px;
}

.detail-text-box p {
    color: #46413D;
    font-size: 15px;
    margin: 0;
    line-height: 1.75;
    font-style: italic;
}

.detail-text-box h3 {
    color: #46413D;
    font-size: 20px;
    font-family: 'greta-display-std';
    margin: 40px 0 0 0;
}

/* Architect link */

.architects-section {
    border-top: 1px solid #eee;
    padding: 20px 0 40px 0;
}

.architect-link {
    background: white;
    border: 1px solid #eee;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
    text-decoration: none;
}

.architect-link .architect-link-image {
    width: 40%;
    background: transparent no-repeat center center;
    background-size: cover;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 1000ms;
            animation-duration: 1000ms;
    -webkit-animation-delay: 800ms;
            animation-delay: 800ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.architect-link .architect-link-content {
    width: 60%;
    background: white url('/web/img/patterns/pattern-long.png') no-repeat left 40px top 65px;
    background-size: 150px auto;
    padding: 95px 40px 60px 40px;
    -webkit-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

.architect-link .architect-link-content h3 {
    text-transform: none;
    font-size: 24px;
    margin: 0;
    color: #46413D;
}

.architect-link .architect-link-content .subtitle {
    font-size: 10px;
    font-weight: 300;
    margin-top: 10px;
}

/* Project detail plans */

.project-plan-thumbs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-width: 0.1vh;
    justify-content: center;
}

.project-plan-thumbs a {
    padding: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-width: 0.1vh;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.project-plan-thumbs a img {
    max-width: 100%;
    max-height: 100%;
    flex: 1;
}

/* Contact forms */

.input-wrapper {
    position: relative;
    margin-bottom: 15px;
}

.input-wrapper input, .input-wrapper textarea {
    padding: 15px 0 10px 0;
    border: none;
    border-bottom: 1px solid #E9E9E9;
    width: 100%;
    -webkit-appearance: none;
    font-family: 'greta-display-std';
    outline: none;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    resize: none;
    border-radius: 0;
    color: #46413D;
    -webkit-transition: border-color 100ms linear;
    -o-transition: border-color 100ms linear;
    transition: border-color 100ms linear;
}

::-ms-clear, .input-wrapper input::-ms-clear, .input-wrapper textarea::-ms-clear {
    display: none;
}

.input-wrapper input:hover, .input-wrapper textarea:hover, .input-wrapper input:focus, .input-wrapper textarea:focus {
    border-color: #DEB06F;
}

.input-wrapper label {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}

.input-wrapper label span {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateY(18px);
        -ms-transform: translateY(18px);
            transform: translateY(18px);
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
    font-size: 12px;
    color: #B0B0B0;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

.input-wrapper.select-wrapper label span {
    padding-right: 30px;
}

.input-wrapper.required label span:after {
    content: ' *';
}

.input-wrapper:not(.select-wrapper) input:focus + label span, .input-wrapper input.filled + label span,
.input-wrapper:not(.select-wrapper) textarea:focus + label span, .input-wrapper textarea.filled + label span {
    -webkit-transform: translateY(0) scale(0.8);
        -ms-transform: translateY(0) scale(0.8);
            transform: translateY(0) scale(0.8);
}

.input-wrapper:not(.select-wrapper) textarea {
    min-height: 85px;
}

.select-wrapper input {
    cursor: pointer;
    padding-right: 40px;
}

.select-wrapper .select-dropdown {
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
    width: 100%;
    background: #FFFFFF;
    -webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,0.12);
            box-shadow: 0 0 15px 0 rgba(0,0,0,0.12);
    margin: 0;
    padding: 10px 0;
    list-style-type: none;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
    -webkit-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
    z-index: 2;
}

.select-wrapper input:focus ~ .select-dropdown {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
}

.select-wrapper label:after {
    position: absolute;
    content: ' ';
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 20px;
    width: 10px;
    height: 10px;
    background: url(/web/img/icons/chevron-down-brown.svg) no-repeat center center;
    background-size: 14px auto;
}

.select-wrapper input:focus ~ label:after {
    -webkit-transform: translateY(-50%) rotate(180deg);
        -ms-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg);
}

.select-wrapper .select-dropdown:after {
    bottom: 100%;
    left: 40px;
    border: solid transparent;
    content: ' ';
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #fff;
    border-width: 5px;
    margin-left: -5px;
}

.select-wrapper .select-dropdown li {
    display: block;
    padding: 10px 25px;
    cursor: pointer;
    font-family: 'greta-display-std';
    font-size: 15px;
    color: #46413D;
    -webkit-transition: color 100ms linear;
    -o-transition: color 100ms linear;
    transition: color 100ms linear;
}

.select-wrapper .select-dropdown li:hover {
    color: #DEB06F;
}

.file-wrapper {
    position: relative;
    height: 60px;
    border-bottom: 1px solid #E9E9E9;
    margin-bottom: 15px;
}

.file-wrapper input {
    width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.file-wrapper label {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.file-wrapper label .file-label {
    font-size: 14px;
    font-weight: 400;
    font-size: 12px;
    color: #B0B0B0;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    -webkit-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

.file-wrapper label .file-name {
    display: block;
    font-size: 14px;
    color: #46413D;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 10px;
    width: 100%;
    font-family: 'greta-display-std';
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    white-space: nowrap;
}

.file-wrapper label .file-name:empty:before {
    content: attr(data-empty);
}

/* Checkbox */

.checkbox-wrapper {
    margin-top: 30px;
}

.checkbox-wrapper .checkbox {
    position: relative;
    padding-left: 40px;
    font-size: 12px;
    line-height: 1.5;
    cursor: pointer;
    color: #949494;
    -webkit-transition: color 200ms ease-in-out;
    -o-transition: color 200ms ease-in-out;
    transition: color 200ms ease-in-out;
}

.checkbox-wrapper .checkbox:before {
    position: absolute;
    content: ' ';
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    background: url(/web/img/icons/checkbox.svg) no-repeat center center;
    background-size: 20px;
    opacity: 0.2;
    -webkit-transition: opacity 200ms ease-in-out;
    -o-transition: opacity 200ms ease-in-out;
    transition: opacity 200ms ease-in-out;
}

.checkbox-wrapper .checkbox.active {
    color: #46413D;
}

.checkbox-wrapper .checkbox.active:before {
    opacity: 1;
}

/* Tab switcher */

.tab-switcher-section {
    border-bottom: 1px solid #eee;
    margin: 20px 0;
    min-height: 40px;
}

.tab-switcher {
    padding: 0;
    margin: 0;
    list-style-type: none;
    text-align: center;
    width: calc(100% + 20px);
    padding-right: 20px;
    overflow-x: auto;
    white-space: nowrap;
}

.tab-switcher li {
    display: inline-block;
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: 600;
    margin-right: -4px;
    text-transform: uppercase;
    border-bottom: 2px solid transparent;
}

.tab-switcher li a {
    display: block;
    padding: 35px 40px;
    text-decoration: none;
    color: #46413D;
    -webkit-transition: color 100ms linear;
    -o-transition: color 100ms linear;
    transition: color 100ms linear;
}

.tab-switcher li:hover, .tab-switcher li.active {
    border-color: #DEB06F;
}

.tab-switcher li.active a, .tab-switcher li:hover a {
    color: #DEB06F;
}

[data-page="blog-list"] .tab-switcher-section {
    border-bottom: 0;
    margin-bottom: -20px;
}

[data-page="blog-list"] .tab-switcher-section .tab-switcher li {
    border-bottom: 0;
}

.blog-list-teaser-section.text-section:not(.no-border) {
    border: none;
}

/* Boxed section */

.boxed-section {
    overflow-x: auto;
}

.boxed-section-row {
    white-space: nowrap;
}

.boxed-section.contained .boxed-section-row {
    white-space: normal;
}

.boxed-section-item {
    width: 33.333333%;
    display: inline-block;
    white-space: normal;
    text-decoration: none;
}

.boxed-section.contained .boxed-section-item {
    float: left;
    border-left: 1px solid white;
    border-right: 1px solid white;
}

.boxed-section-item.text-item {
    position: relative;
}

.boxed-section .boxed-section-content h3 {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 0;
    font-size: 22px;
    color: #46413D;
    text-decoration: none;
}

.boxed-section .box-item-subtitle {
    color: #DEB06F;
    font-size: 12px;
    letter-spacing: 3.75px;
    margin-top: 5px;
    font-weight: 600;
    line-height: 1.5;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 30px;
}

.boxed-section-item.text-item h3 {
    margin-bottom: 0;
    max-width: 300px;
}

.boxed-section-item.text-item .text-item-content {
    position: relative;
    width: 100%;
    padding-bottom: 75%;
}

.boxed-section-item.text-item .text-item-content .text-item-content-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 20px 20px 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.boxed-section.contained .boxed-section-item.text-item .text-item-content .text-item-content-wrapper {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-bottom: 0;
}

.boxed-section .titled-image-wrapper {
    padding-bottom: 75%;
}

/* Number box */

.number-box {
    padding-top: 90px;
}

.number-box .number {
    font-size: 78px;
    font-family: 'greta-display-std';
    color: #DEB06F;
    text-align: right;
    line-height: 1;
}

.number-box .text {
    font-size: 15px;
    color: #848484;
    text-align: right;
    line-height: 1.75;
}

/* Cards */

.card-wrapper {
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    -ms-perspective: 1000px;
    -o-perspective: 1000px;
    perspective: 1000px;
    width: calc(33.333333% - 2px);
    padding: 10px;
    margin: 80px 1px 80px 1px;
    float: left;
    border-right: 1px solid white;
}

.card-wrapper:hover .card, .card-wrapper.hover .card {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
}

.card {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 125%;
    min-height: 400px;
    text-align: center;
    -webkit-transition: all 800ms ease-in-out;
    -o-transition: all 800ms ease-in-out;
    transition: all 800ms ease-in-out;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.card .card-front, .card .card-back {
	position: absolute;
	top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    background: url('/web/img/patterns/pattern-long.png') no-repeat top 60px center;
    background-size: 160px auto;
}

.card h3 {
    font-size: 34px;
    font-family: 'greta-display-std';
    line-height: 1.25;
}

.card .link {
    width: 120px;
    margin: 0 auto;
    text-align: left;
}

.card-front, .card-back {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 40px;
}

.card .card-front {
    z-index: 2;
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
    background-color: #F4F4F4;
    border: 1px solid #E7E7E7;
    -webkit-box-shadow: 0 0 0 10px #F4F4F4;
            box-shadow: 0 0 0 10px #F4F4F4;
}

.card-front h3 {
    color: #46413D;
}

.card-back p {
    margin-top: 0;
    margin-bottom: 30px;
    color: #9C9692;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    max-height: 76.5px;
}

.card .card-back {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
    background-color: #46413D;
    border: 1px solid #DEB06F;
    -webkit-box-shadow: 0 0 0 10px #46413D;
            box-shadow: 0 0 0 10px #46413D;
}

.card-back h3 {
    color: white;
}

/* Pricelist section */

.pricelist-item {
    background-color: #F4F4F4;
    padding: 30px;
    border-bottom: 1px solid white;
}

.pricelist-item p {
    margin: 5px 0;
    padding: 0;
    font-size: 16px;
}

.pricelist-item p strong {
    color: #1B1B1B;
    font-size: 18px;
    font-family: 'greta-display-std';
    font-weight: 400;
}

.pricelist-item p strong.highlighted {
    color: #A77F47;
    font-size: 20px;
    margin-top: 10px;
}

.pricelist-item p strong + strong {
    margin-left: 40px;
}

/* Image box section */

.image-box-section h3, .image-box-section p {
    margin: 20px auto;
}

.image-box-section img {
    max-height: 100px;
    max-width: 160px;
    margin: 0 0 20px 0;
}

.image-box-section-item {
    display: block;
    height: 100%;
    min-height: 500px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.image-box-section .row.left > div:nth-of-type(1) {
    padding-right: 0;
}

.image-box-section .row.left > div:nth-of-type(2) {
    padding-left: 0;
}

.image-box-section .row.right > div:nth-of-type(1) {
    padding-left: 0;
}

.image-box-section .row.right > div:nth-of-type(2) {
    padding-right: 0;
}

.image-box-section-text {
    text-align: center;
    padding: 120px 40px;
}

/* Title section */

.title-text-section {
    padding-top: 100px;
    padding-bottom: 20px;
}

.title-text-section .subtitle {
    font-family: 'proxima-nova', sans-serif;
    font-size: 12px;
    color: #DEB06F;
    letter-spacing: 3.75px;
    padding: 5px 0;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: bold;
}

.title-text-section h3 {
    font-size: 36px;
    max-width: 800px;
    line-height: 1.25;
    margin: 0 auto;
}

/* Teaser section */

.teaser-section {
    padding: 80px 0;
    margin-top: 80px;
    border-top: 1px solid #eee;
}

.teaser-section .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.teaser-section .teaser-button {
    padding: 40px 100px 40px 40px;
    font-size: 24px;
    font-family: 'greta-display-std';
    color: #46413D;
    font-weight: 500;
    text-decoration: none;
    background: #F4F4F4 url('/web/img/icons/arrow-right-brown.svg') no-repeat right 40px center;
    width: 50%;
    border: 1px solid white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

.teaser-section .teaser-button:hover {
    background-color: #eaeaea;
    background-position-x: calc(100% - 30px);
}

/* Blog list header */

.blog-teaser-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.blog-teaser-link {
    position: relative;
    padding: 30px 0 30px 100px;
    width: 31.5%;
    background: no-repeat left center;
    background-size: auto 40px;
    text-decoration: none;
    color: #848484;
    font-size: 15px;
    white-space: normal;
}

.blog-teaser-link.projects-teaser {
    background-image: url('/web/img/patterns/blog-teaser-pattern-1.png');
    padding-left: 115px;
}

.blog-teaser-link.references-teaser {
    background-image: url('/web/img/patterns/blog-teaser-pattern-2.png');
}

.blog-teaser-link .blog-teaser-title {
    font-size: 10px;
    letter-spacing: 3.75px;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 5px;
    opacity: 0.6;
}

.blog-teaser-link .blog-teaser-text {
    white-space: normal;
}

.blog-teaser-link .blog-teaser-text strong {
    color: #DEB06F;
}

/* Blog slider */

.blog-slider-wrapper {
    position: relative;
    margin-left: -80px;
    margin-right: -80px;
    background: #3F3F3F;
}

.blog-slider-slides {
    position: relative;
    padding-bottom: 50%;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 800ms;
            animation-delay: 800ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.blog-slider-wrapper .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: no-repeat center center;
    background-size: cover;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
    z-index: 1;
}

.blog-slider-wrapper .slide.shown {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.blog-slider-wrapper .slide:after {
    position: absolute;
    content: ' ';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
}

.blog-slider-wrapper .slide .slide-content {
    position: absolute;
    color: white;
    z-index: 2;
    text-align: center;
    top: 15%;
    left: 0;
    right: 0;
    margin: 0 auto;
    opacity: 0;
    -webkit-animation: fadeIn;
            animation: fadeIn;
    -webkit-animation-duration: 400ms;
            animation-duration: 400ms;
    -webkit-animation-delay: 1000ms;
            animation-delay: 1000ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.blog-slider-wrapper .slide .slide-content h2 {
    font-size: 50px;
    max-width: 800px;
    max-height: 125px;
    line-height: 1.25;
    padding: 0 20px;
    margin: 90px auto 20px auto;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    max-height: 125px;
}

.blog-slider .responsive-navigation {
    left: 0;
    right: 0;
    margin: auto;
    bottom: 60px;
    text-align: center;
}

/* Full image */

.full-image-section {
    margin-top: 60px;
}

.full-image {
    display: block;
    padding-bottom: 56.25%;
    background: no-repeat center center;
    background-size: cover;
}

.blog-content {
    max-width: 800px;
    margin: auto;
}

.blog-section {
    padding: 80px 0;
}

.blog-section h3 {
    color: #46413D;
    font-size: 26px;
    line-height: 1.5;
}

.blog-section p {
    font-size: 17px;
    line-height: 2;
    white-space: pre-wrap;
}

.blog-section h3, .blog-section p {
    margin-left: auto;
    margin-right: auto;
    white-space: pre-wrap;
}

.blog-section .image {
    display: block;
    width: 100%;
    margin: 40px 0;
    margin-left: auto;
    margin-right: auto;
}

.blog-section img {
    width: 100%;
}

.scroll-top {
    position: fixed;
    content: ' ';
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: url('/web/img/icons/scroll-top.svg') no-repeat center center;
    background-size: cover;
    opacity: 0;
    visibility: hidden;
    transition: all 200ms ease-in-out;
}

.scroll-top.visible {
    opacity: 1;
    visibility: visible;
}

/* Mirror buttons */

.detail-buttons {
    margin-top: 20px;
}

.detail-buttons a {
    display: inline-block;
    font-weight: bold;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    color: #5a5a5a;
    -webkit-transition: color 200ms linear;
    -o-transition: color 200ms linear;
    transition: color 200ms linear;
}

.detail-buttons a:hover {
    color: #5a5a5a;
}

.detail-buttons a + a {
    margin-left: 30px;
}

.detail-buttons a.button-mirror .button-mirror-default, .detail-buttons a.button-mirror .button-mirror-active {
    display: inline-block;
    background: no-repeat right 10px center;
    -webkit-transition: opacity 200ms linear;
    -o-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    padding: 10px 40px 8px 0;
    color: black;
    opacity: 0.4;
}

.detail-buttons a.button-mirror span.active {
    opacity: 1;
}

.detail-buttons a.button-mirror .button-mirror-default {
    background-image: url('/web/img/icons/mirror-left.svg');
}

.detail-buttons a.button-mirror .button-mirror-active {
    background-image: url('/web/img/icons/mirror-right.svg');
    background-position-x: 10px;
    padding-left: 40px;
    padding-right: 0;
}

.detail-buttons a.active .button-mirror-active {
    opacity: 1;
}

.detail-buttons a:not(.active) .button-mirror-default {
    opacity: 1;
}

.detail-buttons a.active .button-mirror-default {
    opacity: 0.4;
}

.detail-buttons a:not(.active) .button-mirror-active {
    opacity: 0.4;
}

.detail-buttons a.active:hover .button-mirror-active {
    opacity: 0.4;
}

.detail-buttons a.active:hover .button-mirror-default {
    opacity: 1;
}

.detail-buttons a:not(.active):hover .button-mirror-default {
    opacity: 0.4;
}

.detail-buttons a:not(.active):hover .button-mirror-active {
    opacity: 1;
}

.detail-buttons a.button-mirror .button-separator {
    display: inline-block;
    border-left: 2px dotted #E5E5E5;
    height: 30px;
    vertical-align: -10px;
    margin-left: 2px;
}

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

/* Project mirror */

body.mirror .detail-image {
    transform: scaleX(-1);
}

body.mirror .fancybox-container.mirrorable  .fancybox-image {
    transform: scaleX(-1);
}

body.mirror .project-plan-thumbs a img {
    transform: scaleX(-1);
}

body.mirror .detail-gallery-wrapper a div {
    transform: scaleX(-1);
}

body.mirror .detail-gallery-wrapper a div:after {
    transform: translateY(-50%) scaleX(-1);
}

/* Footer */

footer {
    background: #1B1B1B;
    color: white;
}

footer b {
    font-weight: 600;
}

footer .instagram-footer {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

footer .instagram-teaser {
    width: 40%;
    background: #DEB06F;
    color: white;
    padding-right: 50px;
    text-decoration: none;
    -webkit-transition: background-color 200ms ease-in-out;
    -o-transition: background-color 200ms ease-in-out;
    transition: background-color 200ms ease-in-out;
}

footer .instagram-teaser:hover {
    background-color: #CB9F61;
}

footer .instagram-teaser .link {
    width: 100%;
}

footer .instagram-teaser .container {
    position: absolute;
    left: 0;
    right: 0;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

footer .instagram-teaser-content {
    width: 100%;
    max-width: 240px;
}

footer .instagram-teaser h4 {
    font-size: 25px;
    margin: 5px 0 20px 0;
}

footer .instagram-photos {
    position: relative;
    width: 60%;
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 2;
}

footer .instagram-photos > a {
    position: relative;
    width: 18%;
    display: inline-block;
    margin-right: -4px;
    margin-bottom: -3px;
    border-top: 1px solid #1B1B1B;
    border-left: 1px solid #1B1B1B;
}

footer .instagram-photos > a:after {
    position: absolute;
    content: ' ';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}

footer .instagram-photos > a:hover:after {
    opacity: 0;
    visibility: hidden;
}

footer .instagram-photos > a > div {
    padding-bottom: 100%;
    background: no-repeat center center;
    background-size: cover;
}

footer .top-footer {
    padding: 60px 0 0 0;
    border-bottom: 1px solid #363636;
}

footer .top-footer a {
    color: #DEB06F;
    text-decoration: none;
    -webkit-transition: color 200ms linear;
    -o-transition: color 200ms linear;
    transition: color 200ms linear;
}

footer .top-footer a:hover {
    color: #F3CA91;
}

footer .top-footer-title {
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    letter-spacing: 3.75px;
    text-transform: uppercase;
}

footer .top-footer p {
    color: white;
    font-size: 16px;
}

footer .top-footer-col {
    margin-bottom: 40px;
}

footer .bottom-footer {
    padding: 100px 0 40px 0;
    border-bottom: 1px solid #363636;
}

footer .bottom-footer-title {
    font-family: 'greta-display-std';
    font-size: 15px;
    color: white;
    letter-spacing: 3.25px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

footer .bottom-footer ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

footer .bottom-footer ul li {
    display: block;
    margin: 0 0 5px 0;
    padding: 0;
}

footer .bottom-footer ul li a {
    padding: 3px 0;
    color: #c3c3c3;
    opacity: 0.9;
    text-decoration: none;
    font-size: 14px;
    display: block;
    -webkit-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    transition: all 200ms linear;
}

footer .bottom-footer ul li a:hover {
    color: white;
    opacity: 1;
}

footer .bottom-footer-col {
    margin-bottom: 40px;
}

footer .copyright-footer {
    position: relative;
    padding: 100px 20px;
    text-align: center;
    font-size: 14px;
    color: #c3c3c3;
}

footer .copyright-footer span {
    opacity: 0.9;
}

footer .copyright-footer a {
    color: white;
    text-decoration: none;
    -webkit-transition: color 200ms linear;
    -o-transition: color 200ms linear;
    transition: color 200ms linear;
}

footer .copyright-footer a:hover {
    color: white;
}

footer .copyright-footer span + span {
    margin-left: 30px;
}

footer .copyright-footer .logo {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 200px;
    top: -42px;
    padding: 0 60px;
    background: #1B1B1B;
    opacity: 1;
}

footer .copyright-footer .logo img {
    width: 100%;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to   {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to   {
        opacity: 1;
    }
}

@media (max-width: 1439px) {
    footer .instagram-photos > a {
        width: 22.5%;
    }
}

@media (max-width: 1199px) {
    footer .instagram-photos > a {
        width: 27.5%;
    }

    .overflow-gallery {
        width: 50%;
    }

    .overflow-gallery .column {
        width: 80%;
    }

    .projects-wrapper .project {
        width: 50%;
    }

    .projects-wrapper .project .project-overlay {
        display: none;
    }

    .project-subheader, .project-subheader.fixed {
        position: fixed;
        width: 100%;
        top: 80px;
        height: 80px;
        background: white;
        border-bottom: 1px solid #eee;
    }

    .project-subheader .subheader-part li a span {
        display: none;
    }

    .project-subheader .subheader-part {
        position: absolute;
        float: none;
        top: 7px;
        left: 0;
        width: calc(50% - 140px);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }

    .project-subheader.fixed .subheader-part {
        top: 0;
    }

    .project-subheader.fixed .subheader-part {
        width: 50%;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    }

    .project-subheader .subheader-part.right {
        left: auto;
        right: 0;
    }

    .project-subheader .subheader-part li {
        margin: 0;
    }

    .project-subheader .subheader-part li a {
        background-position-x: 50%;
    }

    .project-subheader.fixed {
        height: 60px;
    }

    .project-subheader .subheader-part li {
        padding-top: 2px;
        padding-bottom: 3px;
    }

    .detail-title-section h1 {
        font-size: 43px;
    }

    .detail-gallery-item {
        width: 33.33333333%;
    }

    .detail-gallery-wrapper > a:nth-of-type(n + 4) {
        display: none;
    }

    .related-projects > a:nth-of-type(n + 3) {
        display: none;
    }

    .boxed-section-item {
        width: 45%;
    }

    .boxed-section.contained .boxed-section-item {
        width: 50%;
    }

    .card h3 {
        font-size: 30px;
    }

    .card-back p {
        font-size: 13px;
        max-height: 66.3px;
    }

    [data-page="blog-list"] .blog-teaser-item, [data-page="blog-detail"] .blog-teaser-item {
        width: 50%;
    }

    [data-page="blog-detail"] .blog-teaser-item:nth-of-type(n + 3) {
        display: none;
    }

    .filter .filter-button-wrapper .filter-button {
        margin-top: 20px;
    }

    .detail-info-content.clickable {
        background-position-x: calc(100% - 20px);
        background-size: 36px auto;
    }

    .info-wrapper.highlight h4 {
        font-size: 28px;
    }

    .blog-slider-wrapper {
        margin-left: -60px;
        margin-right: -60px;
    }

    .blog-slider-slides {
        padding-bottom: 60%;
    }
}

@media (max-width: 991px) {
    .container {
        padding-left: 40px;
        padding-right: 40px;
    }

    header .menu-toggle {
        left: 40px;
    }

    header .contact-link {
        right: 40px;
    }

    .homepage-slider {
        min-height: 0;
    }

    .homepage-slider h1 {
        font-size: 44px;
        max-width: 400px;
    }

    .homepage-slider .slider-content {
        padding-top: 90px;
    }

    .slider-navigation {
        bottom: 40px;
    }

    .homepage-slider .slider-highlights {
        display: none;
    }

    .homepage-slider .slider-images {
        top: 50px;
        height: calc(100% - 50px);
    }

    .text-section {
        padding: 80px 0 0 0;
    }

    .text-section h2 {
        font-size: 36px;
    }

    .sub-footer {
        background-size: auto 90%;
        background-position-x: 120%;
    }

    .filter-section .container {
        padding-left: 0!important;
        padding-right: 0!important;
    }

    .filter .filter-item:after {
        right: 15px;
    }

    .filter .filter-item .current-value {
        font-size: 18px;
    }

    .contact-form-content-wrapper {
        padding: 0 0 20px 0;
    }

    .project.realization .project-description h3 {
        font-size: 28px;
    }

    .detail-image .badge {
        left: 40px;
    }

    .detail-text {
        margin-bottom: 20px;
    }

    .detail-text-box {
        margin-left: 10px;
    }

    .detail-image-wrapper {
        margin-left: -40px;
        margin-right: -40px;
    }

    .detail-title-content-wrapper {
        margin-left: -40px;
        margin-right: -40px;
    }

    .detail-title-content.left {
        padding-left: 40px;
    }

    .detail-image-button.realization-button span {
        display: none;
    }

    .detail-image-button span {
        display: none;
    }

    .detail-image-button.half {
        width: 250px;
    }

    .detail-image-button.realization {
        left: 250px;
        width: 310px;
    }

    .number-box {
        padding-top: 20px;
        padding-bottom: 40px;
    }

    .number-box .number, .number-box .text {
        text-align: left;
    }

    .card h3 {
        font-size: 26px;
    }

    .card-back p {
        display: none;
    }

    .highlighted-table tr td:nth-of-type(1) {
        width: 66.6666%;
    }

    .highlighted-table tr td:nth-of-type(2) {
        width: 33.3333%;
        text-align: right;
        padding-right: 0;
    }

    .titled-image-wrapper .titled-image-content h3 {
        font-size: 24px;
    }

    .filter-section {
        margin-top: 40px;
    }

    .blog-slider-slides {
        padding-bottom: 66.6666%;
    }

    .blog-slider .slider-navigation {
        display: none;
    }

    .blog-teaser-link {
        width: 40%;
        background-size: auto 34px;
        padding-left: 80px;
    }

    .blog-teaser.projects-teaser {
        padding-left: 95px;
    }

    .blog-teaser .blog-teaser-text {
        font-size: 14px;
    }

    .blog-slider-wrapper {
        margin-left: -40px;
        margin-right: -40px;
    }

    .full-image-section {
        margin-bottom: -20px;
    }

    .blog-section {
        padding: 60px 0;
    }

    .full-image-section {
        margin-top: 40px;
    }

    .full-image {
        padding-bottom: 75%;
    }

    .blog-section .image, .full-image {
        margin-left: -40px;
        margin-right: -40px;
        max-width: none;
        width: calc(100% + 80px);
    }

    [data-page="blog-detail"] .title-section {
        padding-bottom: 20px;
    }

    .detail-info {
        margin-left: 0;
    }

    .text-section p {
        max-width: none;
    }

    .architect-link .architect-link-image {
        width: 30%
    }

    .architect-link .architect-link-content {
        width: 70%;
    }

    .detail-info-content.clickable {
        background-position-x: calc(100% - 30px);
        background-size: 43px auto;
    }

    .info-wrapper.highlight h4 {
        font-size: 32px;
    }

    .detail-text {
        padding-right: 0;
    }

    footer .instagram-teaser {
        width: 45%;
    }

    footer .instagram-photos {
        width: 55%;
    }

    footer .instagram-photos > a {
        width: 37.5%;
    }
}

@media (max-width: 767px) {
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    header .menu-toggle {
        left: 20px;
    }

    header .contact-link {
        right: 20px;
    }

    .text-section:not(.no-border) {
        padding-top: 40px;
        padding-bottom: 40px;
        border-top: 1px solid #eee;
    }

    .text-section p {
        max-width: none;
    }

    .title-section + .single-gallery-section {
        margin-top: 0;
    }

    .gallery-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    .overflow-gallery {
        width: calc(50% - 40px);
        margin: 60px 0;
    }

    .overflow-gallery .column {
        width: 90%;
    }

    .gallery-section .container {
        height: calc(100% - 100px);
    }

    .text-section h2 {
        font-size: 30px;
        max-width: 550px;
    }

    .text-section h3 {
        font-size: 24px;
    }

    .text-section h4 {
        font-size: 20px;
    }

    .blog-teaser-item h4 {
        height: 50px;
    }

    .text-section p {
        font-size: 17px;
    }

    .title-section.left-aligned h1 {
        font-size: 36px;
        max-width: 500px;
    }

    .title-section {
        padding-bottom: 20px;
    }

    .pattern-box {
        padding-top: 30px;
        padding-bottom: 0;
    }

    .pattern-box p {
        margin-bottom: 0;
    }

    .featured-projects > a {
        width: 40%;
    }

    .titled-image-wrapper .titled-image-content h3 {
        font-size: 22px;
        bottom: 40%;
    }

    .titled-image-wrapper .titled-image-content h5 {
        font-size: 10px;
        top: calc(60% + 15px);
    }

    .slider-navigation a {
        font-size: 15px;
    }

    .homepage-slider .slider-images {
        top: 150px;
        height: calc(100% - 150px);
    }

    .text-section-content {
        margin-top: 80px;
        margin-bottom: 0;
    }

    .blog-list-header {
        display: none;
    }

    .blog-teaser-section {
        margin-bottom: 0;
    }

    .sub-footer {
        background-size: auto 380px;
        background-position-x: 100%;
        padding-top: 60px!important;
        padding-bottom: 450px!important;
    }

    .contact-form-content {
        padding: 40px;
    }

    .detail-title-content-wrapper {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        margin-left: -22px;
        margin-right: -20px;
    }

    .detail-title-content {
        width: 100%;
        float: none;
    }

    .detail-gallery-item {
        width: 25%;
    }

    .detail-gallery-item.penultimate > div:before, .detail-gallery-item.penultimate > div:after {
        display: none;
    }

    .detail-gallery-wrapper > a:nth-of-type(n + 4) {
        display: block;
    }

    .detail-title-content.left {
        padding-left: 20px;
    }

    .detail-text {
        margin-top: 20px;
    }

    .project-subheader .subheader-part {
        width: calc(50% - 90px);
    }

    [data-page="realization"] .project-subheader.fixed .subheader-part.right {
        width: 57.5%;
    }

    [data-page="realization"] .project-subheader.fixed .subheader-part.left {
        width: 42.5%;
    }

    .project-plan-thumbs a {
        padding: 40px 10px;
    }

    .detail-image-wrapper {
        margin-left: -20px;
        margin-right: -20px;
    }

    .detail-image-wrapper .badge {
        left: 20px;
        width: 26px;
        height: 89px;
        background-image: url('/web/img/icons/badge-small.png');
    }

    .detail-image-button.realization-button .button-project-image {
        display: none;
    }

    .detail-image-button.realization-button, .detail-image-button.realization-button:hover {
        padding-left: 20px;
        width: 270px;
        background-position-x: calc(100% - 20px);
    }

    .number-box {
        padding: 20px 0 40px 0;
    }

    .section-subtitle {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .card-wrapper {
        width: 100%;
        margin: 10px 0;
    }

    .card {
        padding-bottom: 0;
        min-height: 300px;
    }

    .card h3 {
        font-size: 24px;
    }

    .image-box-section {
        border-top: 1px solid #eee;
    }

    .image-box-section .row.left > div:nth-of-type(1) {
        padding-right: 15px;
    }

    .image-box-section .row.left > div:nth-of-type(2) {
        padding-left: 15px;
    }

    .image-box-section .row.right > div:nth-of-type(1) {
        padding-left: 15px;
    }

    .image-box-section .row.right > div:nth-of-type(2) {
        padding-right: 15px;
    }

    .image-box-section-text {
        padding: 40px 0;
    }

    .image-box-section-item {
        min-height: 0;
    }

    .image-box-section-item .titled-image-wrapper {
        padding-bottom: 75%;
    }

    .title-text-section {
        padding: 60px 0;
        margin-top: 0;
        border-top: 1px solid #eee;
    }

    .text-section-box {
        padding: 60px 15px;
        border-top: 1px solid #eee;
    }

    .materials-section {
        padding: 0!important;
    }

    .text-section.single-gallery-section {
        padding: 60px 0;
        border-top: 1px solid #eee;
    }

    .single-gallery-section .overflow-gallery {
        margin-top: 0;
        margin-bottom: 0;
    }

    .teaser-section {
        margin-top: 0;
    }

    .title-section + .column-section {
        margin-top: 0;
    }

    .title-section.left-aligned + .text-section {
        margin-top: 0;
    }

    .blog-slider {
        margin-top: 80px;
    }

    .blog-slider-wrapper .slide .slide-content h2 {
        font-size: 32px;
        max-width: 450px;
        margin-top: 50px;
        margin-bottom: 20px;
    }

    .blog-slider .responsive-navigation {
        bottom: 40px;
    }

    .blog-section .image, .full-image {
        margin-left: -40px;
        margin-right: -40px;
        width: calc(100% + 80px);
    }

    .architect-link .architect-link-content h3 {
        font-size: 20px;
    }

    [data-page="architect-detail"] .separator {
        padding-top: 30px;
        margin-bottom: 30px;
    }


    footer .instagram-teaser h4 {
        font-size: 20px;
    }

    footer .copyright-footer {
        padding-bottom: 30px;
    }

    footer .copyright-footer span {
        display: block;
        margin-bottom: 20px;
        margin-left: 0!important;
    }
}

@media (max-width: 575px) {
    .mobile-only {
        display: block;
    }

    .desktop-only {
        display: none!important;
    }

    .desktop-thumbs {
        display: none;
    }

    .content-wrapper {
        padding-top: 60px;
    }

    header {
        height: 60px;
    }

    header .contact-link {
        display: none;
    }

    header .logo {
        top: 10px;
        width: 145px;
        padding: 0 30px;
    }

    header.fixed .logo {
        top: 5px;
        width: 47.5px;
    }

    header .logo:before {
        top: 47.5%;
    }

    header .arrows-wrapper {
        display: block;
    }

    .project-subheader, .project-subheader.fixed {
        top: 60px;
    }

    .project-subheader {
        position: absolute;
        padding-top: 40px;
        height: 100px;
        -webkit-transition: top 500ms ease-in-out;
        -o-transition: top 500ms ease-in-out;
        transition: top 500ms ease-in-out;
    }

    .project-subheader.fixed {
        position: fixed;
        padding-top: 0;
        z-index: 19;
    }

    .project-subheader.fixed:not(.shown) {
        top: 0;
    }

    .project-subheader.fixed.shown {
        top: 60px;
    }

    .project-subheader .subheader-part li.arrow {
        display: none;
    }

    .menu .menu-header {
        height: 60px;
    }

    .menu .menu-header .close-button {
        left: 15px;
    }

    .menu .menu-footer {
        margin-left: 20px;
    }

    .menu .menu-content > ul {
        padding-left: 20px;
    }

    .link {
        font-size: 10px;
        padding-top: 10px;
    }

    .title-section {
        padding-top: 60px;
    }

    .text-section {
        padding-top: 40px;
    }

    .homepage-slider h1 {
        font-size: 32px;
        max-width: 265px;
    }

    .homepage-slider h2 {
        max-width: 265px;
    }

    .homepage-slider .slider-content {
        padding-top: 80px;
    }

    .slider-navigation {
        display: none;
    }

    .homepage-slider .slider-images .container {
        top: auto;
        bottom: 0;
    }

    .homepage-slider .slider-button {
        height: 60px;
        padding-top: 15px;
        width: 160px;
    }

    .homepage-slider .slider-button .link, .homepage-slider .slider-button:hover .link {
        width: calc(100% - 20px);
        background-position-x: 100%;
    }

    .homepage-slider .slider-button .link span {
        display: none;
    }

    .homepage-slider .slider-wrapper {
        padding-bottom: 100%;
    }

    .homepage-slider .slider-images {
        top: 150px;
        height: calc(100% - 150px);
    }

    .single-gallery-section .titled-image-wrapper {
        min-height: 0;
        margin-bottom: 60px;
    }

    .single-gallery-section .overflow-gallery.left, .single-gallery-section .overflow-gallery.right {
        margin-left: 20px;
        margin-right: 20px;
        width: auto;
    }

    .title-section h1 {
        font-size: 30px;
    }

    [data-page="blog-detail"] .title-section h1 {
        font-size: 34px;
    }

    .title-section p {
        font-size: 15px;
    }

    .text-section h2 {
        font-size: 22px;
    }

    .text-section h3 {
        font-size: 22px;
    }

    .text-section h4 {
        font-size: 20px;
    }

    .text-section p {
        font-size: 15px;
    }

    .featured-projects {
        display: none;
    }

    .projects-wrapper .project {
        width: 100%;
    }

    .project .project-description {
        padding: 25px 15px;
    }

    .filter-section {
        margin-top: 0;
    }

    .filter .filter-responsive-toggle {
        display: block;
    }

    .filter .filter-items-wrapper {
        display: none;
    }

    .filter .filter-items-wrapper .filter-item {
        width: 100%!important;
        border-left-color: transparent!important;
        border-bottom: 1px solid #E9E9E9;
    }

    .filter .filter-button-wrapper {
        width: 100%;
        padding: 0 20px 20px 20px;
        background-color: white;
    }

    .filter .filter-button-wrapper .filter-button {
        width: 100%;
        max-width: none;
        margin-top: 20px;
    }

    .filter .filter-item {
        background-color: white;
    }

    .filter .filter-item:after {
        right: 20px;
    }

    .filter .filter-item .dropdown-toggle {
        padding: 22px 25px 22px 20px;
    }

    .filter .filter-item .filter-dropdown {
        top: calc(100% + 1px);
    }

    .overflow-gallery.left, .overflow-gallery.right {
        float: none;
        width: calc(100% - 20px);
    }

    .overflow-gallery.right {
        margin-left: 20px;
    }

    .overflow-gallery .column {
        width: 60%;
    }

    .gallery-section .container {
        position: relative;
        height: auto;
        min-height: 0;
    }

    .gallery-section {
        padding-bottom: 60px;
    }

    .blog-teaser-section {
        padding-bottom: 0;
    }

    .blog-teaser-section .overflow-gallery {
        margin-top: 20px;
        margin-bottom: 30px;
    }

    .blog-teaser-section .container {
        display: none;
    }

    .blog-teaser .blog-teaser-item {
        width: 280px;
        margin-top: 0;
        margin-bottom: 0;
    }

    .text-section h4.responsive-title {
        display: block;
        margin-top: 30px;
        margin-bottom: 0;
        text-align: center;
        font-size: 20px;
    }

    .titled-image-wrapper .titled-image-content {
        display: none!important;
    }

    .project.realization .project-description h3 {
        font-size: 24px;
    }

    .contact-form {
        margin: 0;
    }

    .contact-form-content {
        padding: 40px 20px;
    }

    .contact-form-tab {
        font-size: 14px;
    }

    .contact-form h3 {
        font-size: 36px;
    }

    .contact-form p {
        font-size: 14px;
    }

    .contact-form .button {
        width: 100%;
    }

    .tab-switcher li a {
        padding: 15px 20px;
    }

    .projects-wrapper .project.realization .project-image {
        padding-bottom: 75%;
    }

    .project .project-description .project-subtitle {
        margin-bottom: 10px;
    }

    .project .project-description .project-subtitle > span:last-of-type {
        display: none;
    }

    .detail-image-section {
        padding-top: 100px;
    }

    .detail-image-button.half {
        display: block;
        width: 100%;
        position: relative;
    }

    .detail-image-button.realization {
        left: auto;
    }

    .project-subheader .subheader-part {
        top: 0;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    }

    .project-subheader .subheader-part.left {
        width: 60%;
    }

    .project-subheader .subheader-part.left.wide {
        width: 75%;
    }

    .project-subheader .subheader-part.right  {
        width: 40%;
    }

    .project-subheader .subheader-part.shrank  {
        width: 25%;
    }

    .detail-gallery-item.last > div:after, .detail-gallery-item.penultimate > div:after {
        font-size: 32px;
    }

    .detail-text {
        margin-bottom: 0;
    }

    .detail-info {
        margin-left: 0;
    }

    .detail-image-button {
        width: 240px;
        padding: 20px;
    }

    .detail-image-button, .detail-image-button:hover {
        background-position-x: calc(100% - 20px);
    }

    .detail-image-wrapper {
        margin-left: -20px;
        margin-right: -20px;
    }

    .detail-info-row {
        border-bottom: none;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .detail-info-content {
        border-top: 2px solid white;
    }

    .detail-info-col.half, .detail-info-col.wide, .detail-info-col.narrow {
        width: 100%;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .detail-image {
        padding-bottom: 75%;
    }

    .detail-gallery-item {
        width: 33.33333333%;
    }

    .detail-gallery-item.penultimate > div:before, .detail-gallery-item.penultimate > div:after {
        display: block;
    }

    .detail-gallery-wrapper > a:nth-of-type(n + 4) {
        display: none;
    }

    .detail-title-section h1 {
        font-size: 28px;
    }

    .detail-text p {
        font-size: 15px;
    }

    .detail-text-box {
        padding: 30px 20px;
    }

    .project-plan-thumbs {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .project-plan-thumbs a {
        width: 100%;
        padding: 40px 20px;
    }

    .boxed-section {
        overflow: hidden;
    }

    .boxed-section .boxed-section-row-wrapper {
        overflow-x: auto;
        white-space: nowrap;
        margin-right: -20px;
    }

    .boxed-section.contained .boxed-section-row-wrapper {
        margin-right: 0;
    }

    .boxed-section-row {
        display: inline-block;
        width: auto;
    }

    .boxed-section-item {
        width: 260px;
    }

    .boxed-section.contained .boxed-section-item {
        width: 100%;
    }

    .boxed-section-item.text-item {
        display: block;
        width: 100%;
    }

    .number-box .number {
        font-size: 60px;
    }

    .cards-section {
        margin-bottom: 40px;
    }

    .highlighted-table, .highlighted-table tbody, .highlighted-table tr, .highlighted-table tr td, .highlighted-table tr td:nth-of-type(1), .highlighted-table tr td:nth-of-type(2) {
        display: block;
        width: 100%;
        padding: 0;
        line-height: 1;
        text-align: left;
    }

    .highlighted-table tr:not(:last-of-type) td:nth-of-type(1) {
        margin-bottom: 10px;
    }

    .highlighted-table tr:not(:last-of-type) td:nth-of-type(2) {
        margin-bottom: 40px;
    }

    .highlighted-table tr:last-of-type, .highlighted-table tr:last-of-type td:nth-of-type(2) {
        margin-bottom: 0;
    }

    .pricelist-item {
        margin-left: -10px;
        margin-right: -10px;
        padding: 20px;
    }

    .pricelist-item p strong, .pricelist-item p strong + strong {
        display: block;
        margin-left: 0;
    }

    .pricelist-item p strong.highlighted + strong.highlighted {
        margin-top: 0;
    }

    .title-text-section h3 {
        font-size: 24px;
    }

    .teaser-section {
        padding: 60px 0;
    }

    .teaser-section .teaser-button {
        width: 100%;
        float: none;
        font-size: 20px;
    }

    .text-section.single-gallery-section {
        padding: 60px 0 40px 0;
    }

    [data-page="blog-list"] .blog-teaser-item, [data-page="blog-detail"] .blog-teaser-item  {
        width: 100%;
    }

    .blog-slider {
        margin-top: 60px;
    }

    .blog-slider-slides {
        padding-bottom: 120%;
    }

    .blog-slider-wrapper {
        margin-left: -20px;
        margin-right: -20px;
    }

    .blog-slider-wrapper .slide .slide-content h2 {
        max-width: 260px;
    }

    [data-page="blog-list"] .blog-teaser-content {
        padding-right: 0;
    }

    [data-page="blog-detail"] .blog-teaser-item, [data-page="blog-detail"] .blog-teaser-item h4 {
        margin-bottom: 0;
    }

    .full-image-section {
        margin-top: 0;
    }

    .blog-section {
        padding: 40px 0;
    }

    .blog-section h3 {
        font-size: 20px;
    }

    .blog-section p {
        font-size: 15px;
    }

    .blog-section .image, .full-image {
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
    }

    .full-image {
        padding-bottom: 100%;
    }

    .architect-link {
        border: none;
    }

    .architect-link .architect-link-content {
        padding: 50px 0 20px 20px;
        background-position-x: 20px;
        background-position-y: 20px;
    }

    .tab-switcher-section {
        min-height: 0;
    }

    .contact-button {
        width: 100%;
        max-width: 340px;
    }

    .error-wrapper {
        padding-top: 40px;
        padding-bottom: 20px;
    }

    .error-wrapper .logo img {
        max-width: 100px;
    }

    .error-wrapper h1 {
        margin-top: 20px;
        font-size: 80px;
    }

    .error-wrapper h2 {
        font-size: 24px;
    }

    footer .instagram-footer {
        display: block;
    }

    footer .instagram-teaser {
        width: 100%;
        position: relative;
        float: none;
        height: 150px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    footer .instagram-photos {
        width: 100%;
        float: none;
    }

    footer .top-footer {
        padding-bottom: 20px;
    }

    footer .top-footer p {
        font-size: 14px;
    }

    footer .top-footer-col {
        margin-bottom: 20px;
    }

    footer .bottom-footer {
        padding-top: 60px;
    }
}

@media (min-width: 576px) {
    .mobile-only {
        display: none!important;
    }

    .desktop-only {
        display: inline-block;
    }

    .container {
        max-width: none;
    }

    .responsive-title {
        display: none;
    }

    .homepage-slider .responsive-navigation {
        display: none;
    }

    .filter .filter-items-wrapper {
        display: block!important;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: none;
    }

    .projects-section:after {
        display: none!important;
    }

    .teaser-section {
        border-bottom: 1px solid #eee;
    }

    .title-section + .text-section {
        padding-top: 0;
    }

    .detail-title-content.right {
        margin-left: -2px;
        width: calc(50% + 2px);
    }

    .scroll-top {
        bottom: 40px;
        right: 40px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: none;
    }

    .blog-slider .responsive-navigation {
        display: none;
    }

    .scroll-top {
        display: none;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
    }

    .project-subheader.fixed {
        pointer-events: none;
    }

    header.contact-hidden .contact-link {
        display: none;
    }

    .detail-gallery-item.penultimate > div:before, .detail-gallery-item.penultimate > div:after {
        display: none;
    }

    .project-subheader .subheader-part.left {
        padding-left: 30px;
    }

    .project-subheader .subheader-part.left {
        padding-right: 20px;
    }
}

@media (min-width: 1440px) {
    .container {
        max-width: 1440px;
    }

    .overflow-gallery {
        width: 55%;
    }
}

@media (min-width: 1600px) {
    .homepage-slider .slider-images {
        top: 0;
        height: 100%;
    }

    .homepage-slider .slider-images .slider-images-wrapper > div {
        background-size: auto 107.5%;
    }

    .slider-highlights {
        height: 107.5%;
    }

    .homepage-slider .slider-images .container {
        top: 31.75%;
    }
}

@media all and (-ms-high-contrast:none) {
    .card-wrapper:hover .card, .card-wrapper.hover .card {
        transform: none!important;
    }
}
