﻿/*@import url("//hello.myfonts.net/count/302f0b");*/
/*@import url(http://fonts.googleapis.com/css?family=Istok+Web:400,400italic,700,700italic);*/

*, *:before, *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@font-face {
    font-family: 'DIN';
    font-weight: bold;
    font-style: normal;
    src: url("../fonts/302F0B_0_0.eot");
    src: url("../fonts/302F0B_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/302F0B_0_0.woff2") format("woff2"), url("../fonts/302F0B_0_0.woff") format("woff"), url("../fonts/302F0B_0_0.ttf") format("truetype")
}

@font-face {
    font-family: 'DIN';
    font-weight: normal;
    font-style: normal;
    src: url("../fonts/302F0B_1_0.eot");
    src: url("../fonts/302F0B_1_0.eot?#iefix") format("embedded-opentype"), url("../fonts/302F0B_1_0.woff2") format("woff2"), url("../fonts/302F0B_1_0.woff") format("woff"), url("../fonts/302F0B_1_0.ttf") format("truetype")
}

/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block
}

audio, canvas, video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden] {
    display: none
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-size: 62.5%
}

body {
    margin: 0
}

a:focus {
    outline: none dotted
}

a:active, a:hover {
    outline: 0
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b, strong {
    font-weight: bold
}

dfn {
    font-style: italic
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0
}

mark {
    background: #ff0;
    color: #000
}

code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em
}

pre {
    white-space: pre-wrap
}

q {
    quotes: "\201C" "\201D" "\2018" "\2019"
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

img {
    border: 0;
    height: auto
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 0
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em
}

legend {
    border: 0;
    padding: 0
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0
}

button, input {
    line-height: normal
}

button, select {
    text-transform: none
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled], html input[disabled] {
    cursor: default
}

input, textarea, select {
    border-radius: 0
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto;
    vertical-align: top
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

ul, ol {
    margin: 0;
    padding: 0
}

li {
    list-style: none;
    padding: 0;
    margin: 0
}

blockquote {
    margin: 0;
    padding: 0;
    font-style: normal
}

blockquote cite {
    margin: 0;
    padding: 0;
    font-style: normal
}

.clearfix, .group {
    zoom: 1
}

.clearfix:before, .clearfix:after, .group:before, .group:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

.clearfix:after, .group:after {
    clear: both
}

.aligncenter {
    text-align: center
}

.alignright {
    text-align: right
}

.clear {
    clear: both
}

.right {
    float: right
}

.left {
    float: left
}

.nolist {
    list-style: none;
    padding-left: 0;
    margin-left: 0
}

.valign {
    vertical-align: middle
}

hr {
    border: none;
    border-bottom: 1px solid #ddd;
    margin: 20px 0
}

html.overflow-hidden, body.overflow-hidden {
    overflow: hidden
}

body.overflow-hidden {
    position: relative
}

.hidden {
    display: none !important;
    visibility: hidden
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto
}

.invisible {
    visibility: hidden
}

.cf:before, .cf:after {
    content: " ";
    display: table
}

.cf:after {
    clear: both
}

.cf {
    *zoom: 1
}

body {
    font-family: "Istok Web", Arial, Helvetica, sans-serif;
    font-size: 1.9rem;
    line-height: 1.156;
    font-weight: 300;
    color: #fff;
    background-color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

h1 {
    font-family: "DIN", sans-serif;
    font-size: 4rem;
    line-height: .98;
    font-weight: 700;
    text-transform: uppercase;
    margin: -.125em 0 0 0
}

@media (min-width: 770px) {
    h1 {
        font-size: 6rem
    }
}

h2 {
    font-family: "DIN", sans-serif;
    font-size: 4.7rem;
    line-height: 1.2;
    margin: 0;
    font-weight: 700
}

h3 {
    font-family: "DIN", sans-serif;
    font-size: 1.7rem;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 .5em 0
}

@media (min-width: 640px) {
    h3 {
        font-size: 1.8rem;
        line-height: 1.2;
        margin: -.25em 0 .5em 0
    }
}

@media (min-width: 770px) {
    h3 {
        font-size: 2.5rem;
        line-height: 1.2
    }
}

h4 {
    font-family: "DIN", sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.222222222222222;
    margin: -.275em 0 .5em 0
}

h5 {
    font-family: "Istok Web", Arial, Helvetica, sans-serif;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
    margin: 0
}

p {
    margin: 0
}

.project-subtitle {
    font-family: "DIN", sans-serif;
    font-size: 1.7rem;
    font-weight: 400;
    text-transform: uppercase
}

img {
    font-size: 0.8em;
    color: currentColor
}

.subtitle {
    font-family: "DIN", sans-serif;
    text-transform: uppercase;
    margin-top: 0;
    letter-spacing: 0.05em;
    line-height: 1.3
}

.intro {
    font-family: "DIN", sans-serif;
    font-weight: normal;
    font-size: 1.66em;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    line-height: 1.3;
    margin-bottom: 0.15em
}

.intro a {
    display: inline-block;
    white-space: nowrap;
    margin-right: 0.7em
}

.delimiter {
    margin: 0 1em
}

.skip {
    left: -3000px;
    position: absolute
}

img, video, audio, iframe, object {
    max-width: 100%
}

a {
    -moz-transition: all .1s;
    -o-transition: all .1s;
    -webkit-transition: all .1s;
    transition: all .1s;
    text-decoration: none;
    color: currentColor
}

a:hover, a.active, a.flex-active {
    color: #969696;
    text-decoration: none;
    outline: none
}

body.grey nav a:hover, .overlay.grey a:hover, .backside.grey a:hover, body.grey nav a.active, .overlay.grey a.active, .backside.grey a.active, body.grey nav a.flex-active, .overlay.grey a.flex-active, .backside.grey a.flex-active {
    color: #C7C7C7
}

p a, .flex-control-paging > li a, .intro a, .item-info a, .filter a, a.more-trigger {
    color: #969696
}

.overlay.grey p a, .backside.grey p a, .overlay.grey .flex-control-paging > li a, .backside.grey .flex-control-paging > li a, .overlay.grey .intro a, .backside.grey .intro a, .overlay.grey .item-info a, .backside.grey .item-info a, .overlay.grey .filter a, .backside.grey .filter a, .overlay.grey a.more-trigger, .backside.grey a.more-trigger {
    color: #C7C7C7
}

p a:hover, .overlay.grey p a:hover, .backside.grey p a:hover, p a.active, .overlay.grey p a.active, .backside.grey p a.active, p a.flex-active, .overlay.grey p a.flex-active, .backside.grey p a.flex-active, .flex-control-paging > li a:hover, .overlay.grey .flex-control-paging > li a:hover, .backside.grey .flex-control-paging > li a:hover, .flex-control-paging > li a.active, .overlay.grey .flex-control-paging > li a.active, .backside.grey .flex-control-paging > li a.active, .flex-control-paging > li a.flex-active, .overlay.grey .flex-control-paging > li a.flex-active, .backside.grey .flex-control-paging > li a.flex-active, .intro a:hover, .overlay.grey .intro a:hover, .backside.grey .intro a:hover, .intro a.active, .overlay.grey .intro a.active, .backside.grey .intro a.active, .intro a.flex-active, .overlay.grey .intro a.flex-active, .backside.grey .intro a.flex-active, .item-info a:hover, .overlay.grey .item-info a:hover, .backside.grey .item-info a:hover, .item-info a.active, .overlay.grey .item-info a.active, .backside.grey .item-info a.active, .item-info a.flex-active, .overlay.grey .item-info a.flex-active, .backside.grey .item-info a.flex-active, .filter a:hover, .overlay.grey .filter a:hover, .backside.grey .filter a:hover, .filter a.active, .overlay.grey .filter a.active, .backside.grey .filter a.active, .filter a.flex-active, .overlay.grey .filter a.flex-active, .backside.grey .filter a.flex-active, a.more-trigger:hover, .overlay.grey a.more-trigger:hover, .backside.grey a.more-trigger:hover, a.more-trigger.active, .overlay.grey a.more-trigger.active, .backside.grey a.more-trigger.active, a.more-trigger.flex-active, .overlay.grey a.more-trigger.flex-active, .backside.grey a.more-trigger.flex-active {
    color: currentColor
}

.btn.close {
    position: relative;
    width: 1.2em;
    height: 1.2em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden
}

.btn.close:before, .btn.close:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.btn.close:before, .btn.close:after {
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.btn.close:before {
    left: -5%;
    top: 43%;
    width: 110%;
    height: 14%
}

.btn.close:after {
    top: -5%;
    left: 43%;
    width: 14%;
    height: 110%
}

table {
    margin: 0 0 1em 0;
    border-collapse: collapse;
    width: 100%;
    text-align: left
}

table th {
    text-align: center;
    font-weight: bold
}

table td, table th {
    padding: 2px
}

table td.numeric, table th.numeric {
    text-align: right
}

table th, table td {
    text-align: left;
    padding: 2px 10px;
    padding: .125rem .625rem;
    font-weight: normal;
    border-right: 10px solid #fff;
    border-bottom: 2px solid #C7C7C7;
    border-left-width: 0;
    border-top-width: 0
}

table th:last-child, table th.last, table td:last-child, table td.last {
    border-right-width: 0
}

table th strong, table td strong {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    color: #0D3072;
    font-weight: 700;
    width: 55%
}

table thead th {
    background: #0D3072;
    border-bottom-width: 0;
    color: white
}

html, body {
    height: 100%
}

* {
    -webkit-tap-highlight-color: transparent
}

body {
    background-color: #000;
    overflow: hidden
}

@media (max-width: 700px) {
    body.noscroll {
        overflow: hidden
    }

    body.overflow-hidden .body-wrapper {
        overflow: hidden
    }
}

.wrapper {
    width: 100%;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar
}

@media (max-width: 769px) {
    .wrapper {
        margin-top: 3.3rem;
        height: calc(100% - 3.3rem)
    }
}

@media (max-width: 639px) {
    .wrapper > section > article .flex-nav-next > a {
        right: 0;
        -moz-transform: translate(150%, -50%);
        -ms-transform: translate(150%, -50%);
        -webkit-transform: translate(150%, -50%);
        transform: translate(150%, -50%)
    }

    .wrapper > section > article .flex-nav-prev > a {
        left: 0;
        -moz-transform: translate(-150%, -50%);
        -ms-transform: translate(-150%, -50%);
        -webkit-transform: translate(-150%, -50%);
        transform: translate(-150%, -50%)
    }
}

.wrapper > section {
    width: 100%;
    padding: 0;
    margin: 0;
    width: 100%;
    overflow: hidden;
    font-size: 2.8vw
}

.wrapper > section:empty {
    display: none
}

.wrapper > section > article {
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.05em;
    position: relative;
    width: 100%;
    max-width: 1090px;
    max-width: 112vmin;
    min-height: 10vh;
    padding: 3.66972% 7.33945%;
    margin: 0 auto 5em
}

.wrapper > section > article.content {
    overflow: hidden
}

.wrapper > section > article > .inner-wrapper {
    width: 100%;
    min-height: 100%;
    position: relative
}

.wrapper > section > article:first-child {
    margin-top: 1em
}

.wrapper > section > article > a .date, .wrapper > section > article .slides > li > a .date, .wrapper > section > article .slides > li > .project .date {
    font-size: 1.2rem;
    margin-bottom: 1em;
    letter-spacing: 0.15em
}

.wrapper > section > article > a, .wrapper > section > article .slides > li > a {
    display: block;
    margin: 0;
    padding: 0;
    position: relative;
    transition: left 1s
}

.wrapper > section > article > a figure:not(.typologies), .wrapper > section > article .slides > li > a figure:not(.typologies) {
    overflow: hidden;
    display: block;
    padding: 0;
    margin-bottom: 1em;
    transition: width 1s
}

.wrapper > section > article > a figure:not(.typologies) > img, .wrapper > section > article .slides > li > a figure:not(.typologies) > img {
    transition: transform 0.5s;
    width: 100%;
    display: block
}

.wrapper > section > article > a:hover, .wrapper > section > article .slides > li > a:hover {
    color: currentColor
}

.wrapper > section > article > a:hover figure > img, .wrapper > section > article .slides > li > a:hover figure > img {
    -moz-transform: scale(1.045);
    -ms-transform: scale(1.045);
    -webkit-transform: scale(1.045);
    transform: scale(1.045)
}

.wrapper > section > article > a:hover h2 .btn.trigger, .wrapper > section > article > a:hover h3 .btn.trigger, .wrapper > section > article .slides > li > a:hover h2 .btn.trigger, .wrapper > section > article .slides > li > a:hover h3 .btn.trigger {
    opacity: 1
}

.wrapper > section > article h1, .wrapper > section > article h2, .wrapper > section > article h3 {
    font-family: "DIN", sans-serif;
    font-size: 2.6em;
    text-transform: uppercase;
    line-height: 1;
    margin: 0 0 0.1em;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    justify-content: space-between
}

.wrapper > section > article h1 > *, .wrapper > section > article h2 > *, .wrapper > section > article h3 > * {
    display: block;
    -webkit-flex: 1 0;
    flex: 1 0
}

.wrapper > section > article h1 .btn.trigger, .wrapper > section > article h2 .btn.trigger, .wrapper > section > article h3 .btn.trigger {
    position: relative;
    width: .75em;
    height: .75em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    margin: 0 0 0 0.15em;
    -webkit-flex: auto 0 0;
    flex: auto 0 0
}

.wrapper > section > article h1 .btn.trigger:before, .wrapper > section > article h1 .btn.trigger:after, .wrapper > section > article h2 .btn.trigger:before, .wrapper > section > article h2 .btn.trigger:after, .wrapper > section > article h3 .btn.trigger:before, .wrapper > section > article h3 .btn.trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.wrapper > section > article h1 .btn.trigger:before, .wrapper > section > article h2 .btn.trigger:before, .wrapper > section > article h3 .btn.trigger:before {
    top: 43%;
    left: 0;
    width: 100%;
    height: 14%
}

.wrapper > section > article h1 .btn.trigger:after, .wrapper > section > article h2 .btn.trigger:after, .wrapper > section > article h3 .btn.trigger:after {
    top: 0;
    left: 43%;
    width: 14%;
    height: 100%
}

@media (min-width: 640px) {
    .wrapper > section {
        padding: 0 2rem 0 2rem;
        font-size: 1.75vmin
    }

    .wrapper > section > article {
        margin: 0 auto 1em
    }

    .wrapper > section > article > a > div {
        max-width: 59.13978%
    }

    .wrapper > section > article.teaser-offset-1 > a {
        left: 20.43011%
    }

    .wrapper > section > article.teaser-offset-2 > a {
        left: 40.86022%
    }

    .wrapper > section > article.teaser-offset-3 > a {
        left: 61.29032%
    }

    .wrapper > section > article.teaser-offset-3 > a > * {
        max-width: 38.70968%
    }

    .wrapper > section > article.teaser-offset-4 > a {
        left: 81.72043%
    }

    .wrapper > section > article.teaser-offset-4 > a > * {
        max-width: 18.27957%
    }

    .wrapper > section > article.teaser-width-1 > a > figure {
        width: 18.27957%
    }

    .wrapper > section > article.teaser-width-2 > a > figure {
        width: 38.70968%
    }

    .wrapper > section > article.teaser-width-3 > a > figure {
        width: 59.13978%
    }

    .wrapper > section > article.teaser-width-4 > a > figure {
        width: 79.56989%
    }
}

@media (min-width: 770px) {
    .wrapper > section {
        padding: 2rem 2rem 2rem 17rem
    }

    .wrapper > section:first-child, .wrapper > section.black + .black, .wrapper > section.grey + .grey, .wrapper > section.white + .white {
        padding-top: 0
    }
}

.black {
    color: #fff;
    background-color: #000
}

.grey {
    color: #fff;
    background-color: #969696
}

.white {
    color: #141515;
    background-color: #fff
}

section, article {
    padding: 0;
    margin: 0
}

button {
    background: none;
    border: none;
    color: currentColor
}

button.trigger-close {
    background-image: url("../img/x.svg");
    display: block;
    width: 36px;
    width: 36px;
    width: 36px;
    width: 2.25rem;
    height: 36px;
    height: 2.25rem;
    background-size: contain;
    background-repeat: no-repeat;
    text-indent: -9999rem
}

svg {
    fill: currentColor
}

.list {
    display: table;
    table-layout: fixed;
    width: 100%
}

.list .row, .list .item {
    display: table-row;
    max-height: 15em;
    overflow: hidden;
    transition: opacity .3s ease-in-out, max-height .3s ease-in-out, margin .3s ease-in-out
}

.list .row .cell, .list .item .cell {
    display: table-cell;
    padding-bottom: 1em
}

.list.filtered > .row:not(.match), .list.filtered > .item:not(.match) {
    opacity: 0;
    max-height: 0;
    margin: 0
}

.header-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    align-content: stretch;
    height: 100%
}

.header-container > * {
    display: block;
    -webkit-flex: 5 1;
    flex: 5 1
}

.header-container header {
    -webkit-flex: auto 0 0;
    flex: auto 0 0
}

.header-container header > :last-child {
    margin-bottom: 3.2em
}

.header-container .content {
    overflow-y: auto
}

.checkbox {
    margin: 0 0.5em 0 0;
    white-space: nowrap
}

.checkbox:first-child {
    margin-left: 0
}

.checkbox:before {
    content: '';
    display: inline-block;
    width: 0.74em;
    height: 0.74em;
    margin: 0 0.35em 0 0;
    border: 0.17em solid currentColor
}

.checkbox.active:before {
    background-color: currentColor
}

p:empty {
    display: none !important
}

.more-trigger {
    font-family: "DIN", sans-serif;
    text-transform: uppercase
}

.more-trigger .trigger {
    display: inline-block;
    position: relative;
    width: .8em;
    height: .8em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden
}

.more-trigger .trigger:before, .more-trigger .trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.more-trigger .trigger:before {
    top: 43%;
    left: 0;
    width: 100%;
    height: 14%
}

.more-trigger .trigger:after {
    top: 0;
    left: 43%;
    width: 14%;
    height: 100%
}

.more-trigger + .more {
    margin-top: 1em;
    overflow-y: hidden;
    opacity: 0;
    max-height: 0;
    transition: max-height 1s, opacity 1s
}

.more-trigger.open .trigger {
    position: relative;
    width: .8em;
    height: .8em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden
}

.more-trigger.open .trigger:before, .more-trigger.open .trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.more-trigger.open .trigger:before, .more-trigger.open .trigger:after {
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.more-trigger.open .trigger:before {
    left: -5%;
    top: 43%;
    width: 110%;
    height: 14%
}

.more-trigger.open .trigger:after {
    top: -5%;
    left: 43%;
    width: 14%;
    height: 110%
}

.more-trigger.open + .more {
    max-height: 60em;
    opacity: 1
}

.external-link {
    font-family: "DIN", sans-serif;
    text-transform: uppercase;
    margin-top: 0.5em;
    display: block;
    font-weight: 700
}

.btn.trigger {
    display: inline-block;
    position: relative;
    width: .75em;
    height: .75em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden
}

.btn.trigger:before, .btn.trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.btn.trigger:before {
    top: 40.5%;
    left: 0;
    width: 100%;
    height: 19%
}

.btn.trigger:after {
    top: 0;
    left: 40.5%;
    width: 19%;
    height: 100%
}

*::-webkit-scrollbar {
    width: 4px;
    height: 4px
}

*::-webkit-scrollbar-track {
    border-radius: 2px;
    background: transparent
}

.white *::-webkit-scrollbar-track {
    background: transparent
}

.grey *::-webkit-scrollbar-track, .black *::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0)
}

*::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: currentColor
}

.white *::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.4)
}

.grey *::-webkit-scrollbar-thumb, .black *::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.4)
}

.white *::-webkit-scrollbar-thumb:hover {
    background: #000
}

.grey *::-webkit-scrollbar-thumb:hover, .black *::-webkit-scrollbar-thumb:hover {
    background: #fff
}

*::-webkit-scrollbar-thumb:window-inactive {
    opacity: 0.2
}

@media (min-width: 640px) {
    .cols {
        display: -webkit-flex;
        display: flex;
        height: calc(100% - 7.0952em);
        overflow: hidden;
        padding: 0
    }

    .cols > * {
        margin-right: 2em;
        display: block;
        height: 100%;
        overflow: auto
    }

    .cols > *:last-child {
        margin-right: 0
    }

    .cols > * > :first-child, .cols > * > :first-child > :first-child {
        margin-top: 0
    }

    .blocks > * {
        margin: 0.8em 4em 1.7em 0;
        min-width: 14em;
        display: inline-block
    }

    .blocks:last-child {
        margin-right: 0
    }
}

@media (max-width: 769px) {
    .testfix.row {
        float: left !important;
        display: inline-block !important
    }

    .testfix.row .item-thumb {
        float: left !important
    }

    .project-overview .project-text h2.title, .project-overview .project-text p.subtitle {
        padding-left: 2px
    }

    #active-content[data-href="/buero/mitarbeiter.html"] > div > article.staff-detail.fixed-ar.flipped > section > a.btn.trigger.triggerfix.btn-new-close {
        right: 1.4em !important
    }

    div.header-container.project-list > div.content.scrollable > div.list div.row, div.header-container.project-list > div.content.scrollable > div.list a.row {
        width: 100%
    }

    #Büro > article.teaser, #Projekte > article.teaser {
        margin-top: 4em !important
    }

    #Aktuelles > article.teaser {
        margin-top: 6.7em !important
    }
}

.project-overview .project-slides .project-text h2.title:hover {
    color: grey;
    transition: color 0.3s
}

#Aktuelles div.project > div > h2.title:hover {
    transition: unset !important;
    color: unset !important
}

.scrollable {
    overflow-x: hidden !important
}

.btn-scroller-hidden .scroll-up, .btn-scroller-hidden .scroll-down {
    display: none !important
}

#orderfilter {
    position: absolute;
    margin-top: 4.4vh
}

@media (min-width: 1px) and (max-width: 639px) {
    .orderfilter-mobile {
        display: block
    }
}

@media (min-width: 640px) {
    .orderfilter-mobile {
        display: none
    }
}

@media (min-width: 1px) and (max-width: 639px) {
    .orderfilter-desktop {
        display: none
    }
}

@media (min-width: 640px) {
    .orderfilter-desktop {
        display: block
    }
}

@media (min-width: 1px) and (max-width: 639px) {
    .orderfilter-year {
        position: absolute;
        left: 29.5vw
    }
}

@media (max-width: 449px) {
    .orderfilter-year {
        position: absolute;
        left: 28vw
    }
}

@media (min-width: 1px) and (max-width: 639px) {
    .orderfilter-place {
        position: absolute;
        left: 59vw
    }
}

@media (max-width: 449px) {
    .orderfilter-place {
        position: absolute;
        left: 44.5vw
    }
}

.orderfilter-label {
    color: #969696;
    padding-right: 30px
}

@media (min-width: 1px) and (max-width: 639px) {
    div.project-list div.content {
        margin-top: 40px
    }
}

a.triggerfix {
    right: calc(8% - 2.5em) !important
}

div.overlay.project, div.overlay.grey.outer-scroll:not([data-href="/buero/geschaeftsleitung.html"]):not([data-href="/buero/geschaeftsfuehrung.html"]):not([data-href="/buero/standorte.html"]) {
    overflow-y: hidden
}

div.project-list div.content {
    -ms-overflow-x: hidden
}

@media (max-width: 769px) {
    #active-content > div > div > section.person > div > div > article > a {
        margin-top: 1.8rem;
        margin-right: 1.5rem
    }
}

@media (max-width: 640px) {
    #active-content > div > div > section.person > div > div > article > a {
        margin-top: 1.7rem;
        margin-right: 1.5rem
    }
}

.btn-svg-base, .btn-new-open, .btn-new-close, .btn-new-close-white, div.white .btn-new-close-white {
    background-repeat: no-repeat;
    background-size: 28px 28px !important;
    background-repeat: no-repeat;
    outline: 1px solid transparent;
    -webkit-backface-visibility: hidden;
    width: 28px !important;
    height: 28px !important;
    -webkit-transition: background .3s;
    -moz-transition: background .3s;
    -o-transition: background .3s;
    transition: background .3s
}

@media (min-width: 1px) and (max-width: 639px) {
    .btn-svg-base, .btn-new-open, .btn-new-close, .btn-new-close-white, div.white .btn-new-close-white {
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

.btn-svg-override, a.btn:not(.scroll-up):not(.scroll-down):not(.prev-overlay):not(.next-overlay):before, a.btn:not(.scroll-up):not(.scroll-down):not(.prev-overlay):not(.next-overlay):after {
    display: none !important;
    border: unset !important;
    border-sizing: unset !important
}

.btn-new-open {
    background: url("__openBtn.svg");
    background-size: 24px 24px !important;
    width: 24px !important;
    height: 24px !important
}

@media (min-width: 1px) and (max-width: 639px) {
    .btn-new-open {
        background: url("fixS__openBtn.svg");
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

.btn-new-open:hover {
    background: url("__openBtn-hover.svg")
}

@media (min-width: 1px) and (max-width: 639px) {
    .btn-new-open:hover {
        background: url("fixS__openBtn-hover.svg");
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

.btn-new-close {
    background: url("__closeBtn.svg")
}

@media (min-width: 1px) and (max-width: 639px) {
    .btn-new-close {
        background: url("fixM__closeBtn.svg");
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

.btn-new-close-white {
    background: url("__closeBtn-white.svg")
}

@media (min-width: 1px) and (max-width: 639px) {
    .btn-new-close-white {
        background: url("fixM__closeBtn-white.svg");
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

.btn-new-close:hover, .btn-new-close-white:hover, .white .btn-new-close-white:hover {
    background: url("__closeBtn-hover.svg") !important
}

@media (min-width: 1px) and (max-width: 639px) {
    .btn-new-close:hover, .btn-new-close-white:hover, .white .btn-new-close-white:hover {
        background: url("fixM__closeBtn-hover.svg") !important;
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

div.white .btn-new-close-white {
    background: url("__closeBtn.svg") !important
}

@media (min-width: 1px) and (max-width: 639px) {
    div.white .btn-new-close-white {
        background: url("fixM__closeBtn.svg");
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

header .btn-new-close {
    background: url("__closeBtn-white.svg")
}

@media (min-width: 1px) and (max-width: 639px) {
    header .btn-new-close {
        background: url("fixM__closeBtn-white.svg");
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

div.overlay.grey .btn-new-close:hover, div.overlay.grey .btn-new-close-white:hover {
    background: url("light-__closeBtn-hover.svg") !important
}

@media (min-width: 1px) and (max-width: 639px) {
    div.overlay.grey .btn-new-close:hover, div.overlay.grey .btn-new-close-white:hover {
        background: url("light-fixM__closeBtn-hover.svg") !important
    }
}

div.overlay.grey .btn-new-open:hover {
    background: url("light-__openBtn-hover.svg")
}

@media (min-width: 1px) and (max-width: 639px) {
    div.overlay.grey .btn-new-open:hover {
        background: url("light-fixS__openBtn-hover.svg");
        background-size: 20px 20px !important;
        width: 20px !important;
        height: 20px !important
    }
}

@media (min-width: 1px) and (max-width: 639px) {
    div.project-list div.content div.list .row:before {
        display: block;
        color: #c0c0c0
    }
}

@media (min-width: 1px) and (max-width: 639px) {
    .overlay .project-list .list .row .cell.item-info, .overlay .project-list .list .item .cell.item-info {
        width: 95% !important
    }
}

.btn-base, .btn-up, .btn-down {
    border-right: 3px solid #969696;
    border-bottom: 3px solid #969696;
    width: 14px;
    height: 14px;
    display: block
}

.btn-group {
    display: inline;
    float: left
}

.btn-group:nth-of-type(2) {
    margin-left: 0px
}

.btn-base:hover, .btn-up:hover, .btn-down:hover, .btn-base.btn-is-active-order, .btn-is-active-order.btn-up, .btn-is-active-order.btn-down {
    border-color: white;
    transition: .3s;
    -o-transition: .3s;
    -ms-transition: .3s;
    -moz-transition: .3s;
    -webkit-transition: .3s
}

.btn-up {
    transform: rotate(225deg);
    -o-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    -moz-transform: rotate(225deg);
    -webkit-transform: rotate(225deg)
}

.btn-down {
    transform: rotate(-315deg);
    -o-transform: rotate(-315deg);
    -ms-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    -webkit-transform: rotate(-315deg);
    margin-left: 20px;
    margin-top: -22px
}

.btn-mobile {
    margin: 0 0.5em 0 0;
    white-space: nowrap;
    display: inline;
    color: #c0c0c0 !important
}

.btn-mobile.active:before, .btn-mobile.btn-is-active-order:before {
    background-color: currentColor
}

.btn-mobile:before {
    content: '';
    display: inline-block;
    width: 0.74em;
    height: 0.74em;
    margin: 0 0.35em 0 0;
    border: 0.17em solid currentColor
}

.project-overview {
    position: relative
}

.project-overview .flex-control-paging {
    position: absolute;
    top: -2.7em;
    font-family: "DIN", sans-serif;
    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: 700;
    width: 100%
}

.project-overview .flex-control-paging > li {
    display: inline-block;
    margin-right: 1em
}

.project-overview .flex-control-paging > li:not(.text) {
    width: 1em;
    height: 1em
}

.project-overview .flex-control-paging > li:not(.text) > a {
    cursor: pointer;
    display: inline-block;
    position: relative;
    width: .75em;
    height: .75em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    background-color: currentColor;
    border-radius: 50%
}

.project-overview .flex-control-paging > li:not(.text) > a:before, .project-overview .flex-control-paging > li:not(.text) > a:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.project-overview .project-slides > li {
    width: 100%;
    opacity: 0;
    transition: opacity 0.8s;
    position: relative
}

.project-overview .project-slides > li.flex-active-slide {
    opacity: 1
}

.project-overview .project-slides > li.clone {
    opacity: 1
}

.project-overview .project-slides > li:after {
    content: '';
    width: 100%;
    height: 100%;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

section.black .project-overview .project-slides > li:after {
    border: 1px solid #000
}

section.grey .project-overview .project-slides > li:after {
    border: 1px solid #969696
}

section.white .project-overview .project-slides > li:after {
    border: 1px solid #fff
}

.project-overview .project-slides > li > .project {
    color: currentColor
}

.project-overview .project-slides > li > .project > figure {
    position: absolute;
    overflow: hidden
}

.project-overview .project-slides > li > .project > figure > img {
    width: 100%;
    height: auto;
    max-width: none;
    position: absolute;
    -moz-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    top: 50%;
    left: 50%;
    transition: transform 1.3s;
    vertical-align: top;
    text-align: left
}

.project-overview .project-slides > li > .project.tpl-a1 .img-l > img, .project-overview .project-slides > li > .project.tpl-a2 .img-l > img, .project-overview .project-slides > li > .project.tpl-a3 .img-l > img, .project-overview .project-slides > li > .project.tpl-a4 .img-l > img {
    width: auto;
    height: 100%
}

@media (max-width: 639px) {
    .project-overview .project-slides > li > .project .img-m, .project-overview .project-slides > li > .project .img-s {
        display: none
    }

    .project-overview .project-slides > li > .project .img-l {
        position: relative;
        width: 100%
    }

    .project-overview .project-slides > li > .project .img-l:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 110.71429% 0
    }

    .project-overview .project-slides > li > .project .img-l > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }
}

@media (min-width: 640px) {
    .project-overview .project-slides > li > .project {
        position: relative;
        width: 100%;
        display: block
    }

    .project-overview .project-slides > li > .project:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 86.55914% 0
    }

    .project-overview .project-slides > li > .project > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .project-overview .project-slides > li > .project > * {
        display: block;
        position: absolute
    }

    .project-overview .project-slides > li > .project > *:before {
        content: none
    }

    .project-overview .project-slides > li > .project .project-text {
        width: 59.13978%;
        height: 18.27957%;
        text-align: left
    }

    .project-overview .project-slides > li > .project.tpl-a1 .img-l, .project-overview .project-slides > li > .project.tpl-a2 .img-l, .project-overview .project-slides > li > .project.tpl-a3 .img-l, .project-overview .project-slides > li > .project.tpl-a4 .img-l {
        width: 59.13978%;
        height: 42.23602%
    }

    .project-overview .project-slides > li > .project.tpl-a1 .img-m, .project-overview .project-slides > li > .project.tpl-a2 .img-m, .project-overview .project-slides > li > .project.tpl-a3 .img-m, .project-overview .project-slides > li > .project.tpl-a4 .img-m {
        width: 38.70968%;
        height: 31.67702%
    }

    .project-overview .project-slides > li > .project.tpl-a1 .img-s, .project-overview .project-slides > li > .project.tpl-a2 .img-s, .project-overview .project-slides > li > .project.tpl-a3 .img-s, .project-overview .project-slides > li > .project.tpl-a4 .img-s {
        width: 18.27957%;
        height: 21.11801%
    }

    .project-overview .project-slides > li > .project.tpl-a1 .project-text {
        top: 44.09751%;
        right: 40.86022%
    }

    .project-overview .project-slides > li > .project.tpl-a1 .img-l {
        top: 0;
        left: 0
    }

    .project-overview .project-slides > li > .project.tpl-a1 .img-m {
        top: 44.09751%;
        right: 0
    }

    .project-overview .project-slides > li > .project.tpl-a1 .img-s {
        bottom: 0;
        left: 40.86022%
    }

    .project-overview .project-slides > li > .project.tpl-a2 .project-text {
        top: 44.09751%;
        left: 40.86022%
    }

    .project-overview .project-slides > li > .project.tpl-a2 .img-l {
        top: 0;
        right: 0
    }

    .project-overview .project-slides > li > .project.tpl-a2 .img-m {
        top: 44.09751%;
        left: 0
    }

    .project-overview .project-slides > li > .project.tpl-a2 .img-s {
        bottom: 0;
        left: 40.86022%
    }

    .project-overview .project-slides > li > .project.tpl-a3 .project-text {
        top: 44.09751%;
        right: 20.43011%
    }

    .project-overview .project-slides > li > .project.tpl-a3 .img-l {
        top: 0;
        left: 20.43011%
    }

    .project-overview .project-slides > li > .project.tpl-a3 .img-m {
        bottom: 0;
        left: 0
    }

    .project-overview .project-slides > li > .project.tpl-a3 .img-s {
        top: 44.09751%;
        right: 0
    }

    .project-overview .project-slides > li > .project.tpl-a4 .project-text {
        top: 44.09751%;
        right: 20.43011%
    }

    .project-overview .project-slides > li > .project.tpl-a4 .img-l {
        top: 0;
        left: 20.43011%
    }

    .project-overview .project-slides > li > .project.tpl-a4 .img-m {
        bottom: 0;
        right: 0
    }

    .project-overview .project-slides > li > .project.tpl-a4 .img-s {
        top: 44.09751%;
        left: 0
    }

    .project-overview .project-slides > li > .project.tpl-b1 .img-l, .project-overview .project-slides > li > .project.tpl-b2 .img-l, .project-overview .project-slides > li > .project.tpl-b3 .img-l, .project-overview .project-slides > li > .project.tpl-b4 .img-l {
        width: 38.70968%;
        height: 52.79503%
    }

    .project-overview .project-slides > li > .project.tpl-b1 .img-m, .project-overview .project-slides > li > .project.tpl-b2 .img-m, .project-overview .project-slides > li > .project.tpl-b3 .img-m, .project-overview .project-slides > li > .project.tpl-b4 .img-m {
        width: 38.70968%;
        height: 21.11801%
    }

    .project-overview .project-slides > li > .project.tpl-b1 .img-s, .project-overview .project-slides > li > .project.tpl-b2 .img-s, .project-overview .project-slides > li > .project.tpl-b3 .img-s, .project-overview .project-slides > li > .project.tpl-b4 .img-s {
        width: 18.27957%;
        height: 21.11801%
    }

    .project-overview .project-slides > li > .project.tpl-b1 .project-text {
        top: 54.65652%;
        right: 40.86022%
    }

    .project-overview .project-slides > li > .project.tpl-b1 .img-l {
        top: 0;
        left: 0
    }

    .project-overview .project-slides > li > .project.tpl-b1 .img-m {
        top: 54.65652%;
        right: 0
    }

    .project-overview .project-slides > li > .project.tpl-b1 .img-s {
        bottom: 0;
        left: 40.86022%
    }

    .project-overview .project-slides > li > .project.tpl-b2 .project-text {
        top: 54.65652%;
        left: 20.43011%
    }

    .project-overview .project-slides > li > .project.tpl-b2 .img-l {
        top: 0;
        left: 20.43011%
    }

    .project-overview .project-slides > li > .project.tpl-b2 .img-m {
        bottom: 0;
        right: 0
    }

    .project-overview .project-slides > li > .project.tpl-b2 .img-s {
        top: 54.65652%;
        left: 0
    }

    .project-overview .project-slides > li > .project.tpl-b3 .project-text {
        top: 54.65652%;
        left: 40.86022%
    }

    .project-overview .project-slides > li > .project.tpl-b3 .img-l {
        top: 0;
        left: 40.86022%
    }

    .project-overview .project-slides > li > .project.tpl-b3 .img-m {
        top: 54.65652%;
        left: 0
    }

    .project-overview .project-slides > li > .project.tpl-b3 .img-s {
        bottom: 0;
        right: 0
    }

    .project-overview .project-slides > li > .project.tpl-b4 .project-text {
        top: 54.65652%;
        right: 20.43011%
    }

    .project-overview .project-slides > li > .project.tpl-b4 .img-l {
        top: 0;
        left: 0
    }

    .project-overview .project-slides > li > .project.tpl-b4 .img-m {
        bottom: 0;
        right: 20.43011%
    }

    .project-overview .project-slides > li > .project.tpl-b4 .img-s {
        top: 54.65652%;
        right: 0
    }
}

.project-overview .project-slides > li > a.project:hover > figure > img {
    -moz-transform: translate(-50%, -50%) scale(1.05);
    -ms-transform: translate(-50%, -50%) scale(1.05);
    -webkit-transform: translate(-50%, -50%) scale(1.05);
    transform: translate(-50%, -50%) scale(1.05);
    transition: transform .6s ease-in-out
}

.typology-teaser {
    width: 100%;
    height: 100%;
    position: relative
}

.typology-teaser .typologies {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    zoom: 1;
    margin-bottom: 1em
}

.typology-teaser .typologies img {
    width: 33%;
    float: left;
    -moz-transform: scale(0.8) !important;
    -ms-transform: scale(0.8) !important;
    -webkit-transform: scale(0.8) !important;
    transform: scale(0.8) !important
}

.typology-teaser .typologies:before, .typology-teaser .typologies:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

.typology-teaser .typologies:after {
    clear: both
}

@media (min-width: 640px) {
    .typology-teaser {
        position: relative;
        width: 100%
    }

    .typology-teaser:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 86.55914% 0
    }

    .typology-teaser > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .typology-teaser > * {
        position: absolute
    }

    .typology-teaser .typologies img {
        position: absolute;
        width: 18.27957%;
        height: 21.11801%
    }

    .typology-teaser .typologies img:nth-child(1) {
        top: 0;
        left: 20.43011%
    }

    .typology-teaser .typologies img:nth-child(2) {
        top: 0;
        left: 40.86022%
    }

    .typology-teaser .typologies img:nth-child(3) {
        top: 0;
        left: 61.29032%
    }

    .typology-teaser .typologies img:nth-child(4) {
        top: 23.60248%;
        left: 20.43011%
    }

    .typology-teaser .typologies img:nth-child(5) {
        top: 23.60248%;
        left: 40.86022%
    }

    .typology-teaser .typologies img:nth-child(6) {
        top: 23.60248%;
        left: 61.29032%
    }

    .typology-teaser .typologies img:nth-child(7) {
        bottom: 23.60248%;
        left: 0
    }

    .typology-teaser .typologies img:nth-child(8) {
        bottom: 0;
        right: 20.43011%
    }

    .typology-teaser .typologies img:nth-child(9) {
        bottom: 0;
        right: 0
    }

    .typology-teaser .project-text {
        top: 47.20497%;
        left: 24.08602%
    }
}

.overlay.project {
    padding: 0
}

.overlay .project-list .filter-trigger, .overlay .project-list .filter {
    text-transform: uppercase;
    font-family: "DIN", sans-serif;
    overflow: visible
}

.overlay .project-list .list {
    display: block
}

.overlay .project-list .list .row, .overlay .project-list .list .item {
    display: -webkit-flex;
    display: flex
}

.overlay .project-list .list .row .cell, .overlay .project-list .list .item .cell {
    vertical-align: top;
    padding-right: 1.4em;
    padding-bottom: 2.4em;
    display: block;
    flex: auto 0 0
}

.overlay .project-list .list .row .cell.item-year, .overlay .project-list .list .item .cell.item-year {
    width: 6em;
    max-width: 7%
}

.overlay .project-list .list .row .cell.item-thumb, .overlay .project-list .list .item .cell.item-thumb {
    max-width: 20em;
    width: 25%
}

.overlay .project-list .list .row .cell.item-thumb figure, .overlay .project-list .list .item .cell.item-thumb figure {
    width: 100%;
    position: relative;
    overflow: hidden
}

.overlay .project-list .list .row .cell.item-thumb figure:before, .overlay .project-list .list .item .cell.item-thumb figure:before {
    width: 100%;
    content: '';
    display: block;
    padding: 56.25% 0 0 0
}

.overlay .project-list .list .row .cell.item-thumb figure > img, .overlay .project-list .list .item .cell.item-thumb figure > img {
    height: 100%;
    width: auto;
    max-width: none;
    display: block;
    position: absolute;
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%
}

.overlay .project-list .list .row .cell.item-place, .overlay .project-list .list .item .cell.item-place {
    width: 12em
}

.overlay .project-list .list .row .cell.item-info, .overlay .project-list .list .item .cell.item-info {
    width: calc(100% - 18em);
    flex: auto 1 1
}

.overlay .project-list .more-trigger {
    margin: 1em 0
}

.overlay .project-list.aktuelles-list .list .row .cell.item-year {
    width: 9em;
    max-width: 25%;
    display: block !important
}

@media (max-width: 639px) {
    .overlay .project-list .intro {
        display: none
    }

    .overlay .project-list .delimiter {
        opacity: 0;
        display: block
    }

    .overlay .project-list .filter a:not(.btn-mobile) {
        width: 30%;
        display: inline-block
    }
}

@media (max-width: 639px) and (max-width: 449px) {
    .overlay .project-list .filter a:not(.btn-mobile) {
        width: 47%;
        display: inline-block
    }
}

@media (max-width: 639px) {
    .overlay .project-list .list .row .cell {
        padding-right: 1em
    }

    .overlay .project-list .list .row .cell.item-year {
        display: none
    }

    .overlay .project-list .list .row .cell.item-thumb figure:before {
        padding: 100% 0 0 0
    }

    .overlay .project-list .list .row .cell.item-place {
        display: none
    }

    .overlay .project-list .list .row .cell.item-info *:not(h5):not(br) {
        display: none
    }
}

@media (max-width: 449px) {
    .overlay .project-list .filter a {
        width: 46%
    }
}

@media (min-width: 640px) {
    .overlay .project-list .more-trigger {
        display: none
    }

    .overlay .project-list .more-trigger + .more {
        display: block;
        max-height: none;
        opacity: 1
    }
}

.wrapper > section > .home {
    height: 100vh;
    margin-top: 0 !important;
    position: relative
}

@media (max-width: 769px) {
    .wrapper > section > .home {
        height: calc(100vh - 3.3rem)
    }
}

.wrapper > section > .home > a {
    display: block;
    height: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column
}

.wrapper > section > .home > a > * {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 100%;
    overflow: hidden
}

.wrapper > section > .home .title {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 30em;
    padding: 1em 0;
    margin: 0 auto;
    text-align: left
}

.wrapper > section > .home .title h1 {
    display: block;
    text-transform: lowercase !important;
    margin: 0.2em 0;
    letter-spacing: 0.03em
}

.wrapper > section > .home .typologies {
    overflow: hidden;
    height: calc((100% - 8em) / 2);
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: stretch
}

.wrapper > section > .home .typologies span {
    flex: 1 1 auto;
    display: block;
    width: 16.6%;
    height: 33%;
    display: -webkit-flex;
    display: flex
}

.wrapper > section > .home .typologies :after {
    content: '';
    clear: both
}

.wrapper > section > .home .typologies img {
    display: inline-block;
    opacity: 0;
    width: 100%;
    transition: opacity 1.5s
}

.wrapper > section > .home .typologies img.active {
    opacity: 1
}

.wrapper > section > .home .scroll-down {
    display: none
}

.wrapper > section > .home .scroll-down:hover {
    color: #969696
}

.ajax .wrapper > section > .home .scroll-down {
    position: relative;
    width: 2.4em;
    height: 1.2em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    overflow: hidden;
    display: block;
    position: absolute;
    bottom: 25px;
    left: 50%;
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.ajax .wrapper > section > .home .scroll-down:before, .ajax .wrapper > section > .home .scroll-down:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.ajax .wrapper > section > .home .scroll-down:before, .ajax .wrapper > section > .home .scroll-down:after {
    top: 50%;
    width: 60%;
    height: 24%;
    transition: all 0.3s
}

.ajax .wrapper > section > .home .scroll-down:before {
    right: 1%;
    -moz-transform: translateY(-50%) rotate(43deg);
    -ms-transform: translateY(-50%) rotate(43deg);
    -webkit-transform: translateY(-50%) rotate(43deg);
    transform: translateY(-50%) rotate(43deg)
}

.ajax .wrapper > section > .home .scroll-down:after {
    left: 1%;
    -moz-transform: translateY(-50%) rotate(-43deg);
    -ms-transform: translateY(-50%) rotate(-43deg);
    -webkit-transform: translateY(-50%) rotate(-43deg);
    transform: translateY(-50%) rotate(-43deg)
}

.ajax .wrapper > section > .home .scroll-down:before {
    -moz-transform: translateY(-50%) rotate(-43deg);
    -ms-transform: translateY(-50%) rotate(-43deg);
    -webkit-transform: translateY(-50%) rotate(-43deg);
    transform: translateY(-50%) rotate(-43deg)
}

.ajax .wrapper > section > .home .scroll-down:after {
    -moz-transform: translateY(-50%) rotate(43deg);
    -ms-transform: translateY(-50%) rotate(43deg);
    -webkit-transform: translateY(-50%) rotate(43deg);
    transform: translateY(-50%) rotate(43deg)
}

.overlay {
    font-size: 1.2rem;
    line-height: 1.57;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: 0;
    opacity: 1;
    transition: opacity 0.7s;
    padding: 2rem;
    overflow-x: hidden
}

.overlay p {
    margin-bottom: 1em;
    max-width: 50em !important
}

.overlay .overlay > .inner {
    position: relative
}

.overlay > .btn.close {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    position: fixed;
    top: 1.5em;
    right: 1.5em
}

.overlay > .btn.close:before, .overlay > .btn.close:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.overlay > .btn.close:before, .overlay > .btn.close:after {
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.overlay > .btn.close:before {
    left: -5%;
    top: 43%;
    width: 110%;
    height: 14%
}

.overlay > .btn.close:after {
    top: -5%;
    left: 43%;
    width: 14%;
    height: 110%
}

.overlay .scroller {
    pointer-events: none;
    overflow: visible;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 2rem
}

.overlay .scroller .inner-scroll {
    height: 100%;
    width: 100%;
    margin: 0 auto;
    position: relative
}

.overlay .scroller .scroll-bar {
    position: absolute;
    pointer-events: none;
    width: 19px;
    height: 100%;
    right: -1px;
    bottom: 0
}

.overlay .scroller .scroll-up {
    top: 0.2em;
    position: relative;
    width: 2em;
    height: 1em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    overflow: hidden
}

.overlay .scroller .scroll-up:before, .overlay .scroller .scroll-up:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.overlay .scroller .scroll-up:before, .overlay .scroller .scroll-up:after {
    top: 50%;
    width: 60%;
    height: 24%;
    transition: all 0.3s
}

.overlay .scroller .scroll-up:before {
    right: 1%;
    -moz-transform: translateY(-50%) rotate(43deg);
    -ms-transform: translateY(-50%) rotate(43deg);
    -webkit-transform: translateY(-50%) rotate(43deg);
    transform: translateY(-50%) rotate(43deg)
}

.overlay .scroller .scroll-up:after {
    left: 1%;
    -moz-transform: translateY(-50%) rotate(-43deg);
    -ms-transform: translateY(-50%) rotate(-43deg);
    -webkit-transform: translateY(-50%) rotate(-43deg);
    transform: translateY(-50%) rotate(-43deg)
}

.overlay .scroller .scroll-down {
    bottom: 0.2em;
    position: relative;
    width: 2em;
    height: 1em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    overflow: hidden
}

.overlay .scroller .scroll-down:before, .overlay .scroller .scroll-down:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.overlay .scroller .scroll-down:before, .overlay .scroller .scroll-down:after {
    top: 50%;
    width: 60%;
    height: 24%;
    transition: all 0.3s
}

.overlay .scroller .scroll-down:before {
    right: 1%;
    -moz-transform: translateY(-50%) rotate(43deg);
    -ms-transform: translateY(-50%) rotate(43deg);
    -webkit-transform: translateY(-50%) rotate(43deg);
    transform: translateY(-50%) rotate(43deg)
}

.overlay .scroller .scroll-down:after {
    left: 1%;
    -moz-transform: translateY(-50%) rotate(-43deg);
    -ms-transform: translateY(-50%) rotate(-43deg);
    -webkit-transform: translateY(-50%) rotate(-43deg);
    transform: translateY(-50%) rotate(-43deg)
}

.overlay .scroller .scroll-down:before {
    -moz-transform: translateY(-50%) rotate(-43deg);
    -ms-transform: translateY(-50%) rotate(-43deg);
    -webkit-transform: translateY(-50%) rotate(-43deg);
    transform: translateY(-50%) rotate(-43deg)
}

.overlay .scroller .scroll-down:after {
    -moz-transform: translateY(-50%) rotate(43deg);
    -ms-transform: translateY(-50%) rotate(43deg);
    -webkit-transform: translateY(-50%) rotate(43deg);
    transform: translateY(-50%) rotate(43deg)
}

.overlay .scroller .scroll-up, .overlay .scroller .scroll-down {
    position: absolute;
    display: block;
    pointer-events: all
}

.overlay.white > .scroller .scroll-bar, .overlay .white > .scroller .scroll-bar {
    background-color: #fff
}

.overlay.grey > .scroller .scroll-bar, .overlay .grey > .scroller .scroll-bar {
    background-color: #969696
}

.overlay.black > .scroller .scroll-bar, .overlay .black > .scroller .scroll-bar {
    background-color: #000
}

.overlay > .inner {
    overflow-y: visible;
    overflow-x: visible;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    zoom: 1
}

.overlay > .inner:before, .overlay > .inner:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

.overlay > .inner:after {
    clear: both
}

.overlay.no-scroll, .overlay.no-scroll > .inner {
    overflow: visible
}

.overlay.closed {
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none
}

body.no-safari .overlay > .inner, body.no-safari .overlay > .scroller {
    -moz-transform: none;
    -ms-transform: none;
    -webkit-transform: none;
    transform: none;
    transition: transform 0.3s cubic-bezier(1, 0, 0, 1) 0.21s, -webkit-transition 0.3s cubic-bezier(1, 0, 0, 1) 0.21s
}

body.no-safari .overlay.closed > .inner, body.no-safari .overlay.closed > .scroller {
    -moz-transform: translateX(120em);
    -ms-transform: translateX(120em);
    -webkit-transform: translateX(120em);
    transform: translateX(120em);
    transition: transform 0.3s cubic-bezier(1, 0, 0, 1), -webkit-transform 0.3s cubic-bezier(1, 0, 0, 1)
}

body.no-safari .overlay.closed.left > .inner, body.no-safari .overlay.closed.left > .scroller {
    -moz-transform: translateX(-120em);
    -ms-transform: translateX(-120em);
    -webkit-transform: translateX(-120em);
    transform: translateX(-120em)
}

body.no-safari .overlay.closed.speedUp > .inner, body.no-safari .overlay.closed.speedUp > .scroller {
    transition: transform 0s !important
}

.overlay > .inner > .person-detail .btn.trigger {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    right: 0.2em;
    bottom: 0.5em;
    margin: 0
}

.overlay > .inner > .person-detail .btn.trigger:before, .overlay > .inner > .person-detail .btn.trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.overlay > .inner > .person-detail .btn.trigger:before {
    top: 43%;
    left: 0;
    width: 100%;
    height: 14%
}

.overlay > .inner > .person-detail .btn.trigger:after {
    top: 0;
    left: 43%;
    width: 14%;
    height: 100%
}

@media (min-width: 2200px) {
    .overlay > .inner > .person-detail .btn.trigger {
        position: relative;
        width: 1.5em;
        height: 1.5em;
        text-indent: 999em;
        white-space: nowrap;
        overflow: hidden;
        position: absolute;
        width: 1.2em;
        height: 1.2em;
        right: 0.2em;
        bottom: 1.2em
    }

    .overlay > .inner > .person-detail .btn.trigger:before, .overlay > .inner > .person-detail .btn.trigger:after {
        position: absolute;
        content: '';
        display: block;
        background-color: currentColor
    }

    .overlay > .inner > .person-detail .btn.trigger:before {
        top: 43%;
        left: 0;
        width: 100%;
        height: 14%
    }

    .overlay > .inner > .person-detail .btn.trigger:after {
        top: 0;
        left: 43%;
        width: 14%;
        height: 100%
    }
}

.overlay > .inner > .project-detail .btn.trigger {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    right: 0.2em;
    bottom: 0.7em;
    margin: 0
}

.overlay > .inner > .project-detail .btn.trigger:before, .overlay > .inner > .project-detail .btn.trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.overlay > .inner > .project-detail .btn.trigger:before {
    top: 43%;
    left: 0;
    width: 100%;
    height: 14%
}

.overlay > .inner > .project-detail .btn.trigger:after {
    top: 0;
    left: 43%;
    width: 14%;
    height: 100%
}

.overlay > .inner > .staff-detail .btn.trigger {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    right: 0.2em;
    bottom: 0.7em;
    margin: 0
}

.overlay > .inner > .staff-detail .btn.trigger:before, .overlay > .inner > .staff-detail .btn.trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.overlay > .inner > .staff-detail .btn.trigger:before {
    top: 43%;
    left: 0;
    width: 100%;
    height: 14%
}

.overlay > .inner > .staff-detail .btn.trigger:after {
    top: 0;
    left: 43%;
    width: 14%;
    height: 100%
}

.overlay > .inner > .fixed-ar {
    position: absolute;
    overflow: visible
}

.overlay > .inner > .fixed-ar .backside {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1), opacity 0.6s
}

.overlay > .inner > .fixed-ar .backside, .overlay > .inner > .fixed-ar .backside > .scroller {
    padding: 8%
}

.overlay > .inner > .fixed-ar .backside .scroller .btn {
    right: -2.3em
}

.overlay > .inner > .fixed-ar .backside .btn.trigger {
    position: relative;
    width: 2em;
    height: 2em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    position: absolute
}

.overlay > .inner > .fixed-ar .backside .btn.trigger:before, .overlay > .inner > .fixed-ar .backside .btn.trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.overlay > .inner > .fixed-ar .backside .btn.trigger:before, .overlay > .inner > .fixed-ar .backside .btn.trigger:after {
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.overlay > .inner > .fixed-ar .backside .btn.trigger:before {
    left: -5%;
    top: 43%;
    width: 110%;
    height: 14%
}

.overlay > .inner > .fixed-ar .backside .btn.trigger:after {
    top: -5%;
    left: 43%;
    width: 14%;
    height: 110%
}

.overlay > .inner > .fixed-ar .backside > .inner {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden
}

.overlay > .inner > .fixed-ar .backside > .inner > :first-child {
    margin-top: 0
}

.overlay > .inner > .fixed-ar .backside > .inner > :last-child {
    margin-bottom: 3em
}

.overlay > .inner > .fixed-ar .backside > .inner p {
    max-width: 46em
}

.overlay > .inner > .fixed-ar .backside > .inner h1, .overlay > .inner > .fixed-ar .backside > .inner h2 {
    max-width: 13em
}

.overlay > .inner > .fixed-ar > h1, .overlay > .inner > .fixed-ar > h2 {
    opacity: 1;
    transition: opacity .33s ease-in-out
}

.overlay > .inner > .fixed-ar .flex-direction-nav {
    opacity: 1;
    transition: opacity .8s ease-in-out
}

.overlay > .inner > .fixed-ar.flipped .flex-direction-nav {
    opacity: 0
}

.overlay > .inner > .fixed-ar.flipped > h1, .overlay > .inner > .fixed-ar.flipped > h2 {
    opacity: 0
}

.overlay > .inner > .fixed-ar.flipped .backside {
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    opacity: 1
}

.overlay > .inner > .fixed-ar > figure {
    display: block;
    width: 100%;
    position: relative
}

.overlay > .inner > .fixed-ar > figure img {
    max-width: none;
    display: block;
    height: 100%
}

.overlay > .inner > .fixed-ar > figure + h2 {
    padding-right: 2em;
    font-size: 2.8rem;
    margin-top: 0.5em;
    line-height: 1;
    position: absolute;
    left: 0;
    right: 0
}

.overlay.black > .slideshow ul.slides {
    border: 1px solid #000
}

.overlay.white > .slideshow ul.slides {
    border: 1px solid #fff
}

.overlay.grey > .slideshow ul.slides {
    border: 1px solid #969696
}

.overlay .slideshow ul.slides {
    display: block;
    margin: 0;
    padding: 0
}

.overlay .slideshow ul.slides > li {
    display: block;
    margin: 0;
    padding: 0;
    width: auto;
    width: 100%
}

.overlay .slideshow ul.slides > li img, .overlay .slideshow ul.slides > li iframe {
    max-width: 100%;
    width: 100%;
    display: block;
    color: rgba(255, 255, 255, 0.1)
}

.overlay h1 {
    font-size: 3.92em;
    margin-bottom: 0.35em
}

.overlay h1:first-child {
    margin-top: 0.2em !important
}

.overlay h3 {
    font-size: 2em;
    text-transform: uppercase
}

@media (min-width: 770px) {
    .overlay .scrollable {
        padding-right: 1em;
        overflow: scroll
    }

    .overlay, .overlay > .scroller {
        padding: 10rem 12rem
    }

    .overlay > .inner, .overlay > .scroller > .inner-scroll {
        max-width: calc((100vmin - 20rem) * 16 / 9)
    }

    .overlay > .inner > .fixed-ar {
        left: 50%;
        top: 50%;
        bottom: auto;
        right: auto;
        -moz-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%);
        width: calc((100vh - 20rem - 2.8em) * 16 / 9);
        max-width: calc(100vw - 20rem);
        height: calc(100vh - 20rem);
        max-height: calc((100vw - 20rem) * 9 / 16 + 2.8em)
    }

    .overlay > .inner > .fixed-ar > figure {
        position: relative
    }

    .overlay > .inner > .fixed-ar > figure:not(.slideshow) {
        overflow: hidden;
        position: relative;
        width: 100%
    }

    .overlay > .inner > .fixed-ar > figure:not(.slideshow):before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 56.25% 0
    }

    .overlay > .inner > .fixed-ar > figure:not(.slideshow) > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .overlay > .inner > .fixed-ar > figure:not(.slideshow) > * {
        position: absolute;
        left: 50%;
        top: 50%;
        bottom: auto;
        right: auto;
        -moz-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%)
    }

    .overlay > .inner > .fixed-ar > figure.slideshow .slides li {
        position: relative;
        position: relative;
        width: 100%
    }

    .overlay > .inner > .fixed-ar > figure.slideshow .slides li:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 56.25% 0
    }

    .overlay > .inner > .fixed-ar > figure.slideshow .slides li > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .overlay > .inner > .fixed-ar > figure.slideshow .slides li img, .overlay > .inner > .fixed-ar > figure.slideshow .slides li iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%
    }

    .overlay > .inner > .fixed-ar.ar-4-5 {
        width: calc((100vh - 20rem - 2.8em) * 4 / 5);
        max-width: calc(100vw - 20rem);
        height: calc(100vh - 20rem);
        max-height: calc((100vw - 20rem) * 5 / 4 + 2.8em)
    }

    .overlay > .inner > .fixed-ar.ar-4-5 > figure {
        position: relative;
        width: 100%
    }

    .overlay > .inner > .fixed-ar.ar-4-5 > figure:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 125% 0
    }

    .overlay > .inner > .fixed-ar.ar-4-5 > figure > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .overlay > .inner .backside {
        -moz-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
        opacity: 0
    }

    .overlay > .inner .backside .btn.trigger {
        right: 2em;
        bottom: 2em;
        position: absolute
    }
}

@media (min-width: 1024px) {
    .overlay {
        font-size: 1.17vw;
        font-size: 1.75vmin
    }
}

@media (max-width: 769px) {
    .overlay {
        top: 3.3rem
    }

    .overlay > .btn.close {
        position: absolute;
        top: -2.7rem;
        right: auto;
        left: 2rem
    }

    .overlay .scroller {
        display: none
    }

    .overlay > .inner > .fixed-ar {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }

    .overlay > .inner > .fixed-ar > figure > img {
        max-width: 100%
    }

    .overlay > .inner > .fixed-ar .backside {
        -moz-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
        opacity: 0
    }

    .overlay > .inner > .fixed-ar .backside, .overlay > .inner > .fixed-ar .backside > .scroller {
        padding: 2.4em;
        padding-right: 0em
    }

    .overlay > .inner > .fixed-ar .backside > .inner {
        padding-right: 4em
    }

    .overlay > .inner > .fixed-ar .backside.open {
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        opacity: 1
    }

    .overlay > .inner > .fixed-ar .slideshow {
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        position: relative;
        width: 100%;
        position: absolute;
        top: 38%
    }

    .overlay > .inner > .fixed-ar .slideshow:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 56.25% 0
    }

    .overlay > .inner > .fixed-ar .slideshow > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .overlay > .inner > .fixed-ar .slideshow > * {
        position: absolute !important;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }

    .overlay > .inner > .fixed-ar .slideshow .flex-direction-nav .flex-nav-next > a {
        -moz-transform: translate(-130%, -50%);
        -ms-transform: translate(-130%, -50%);
        -webkit-transform: translate(-130%, -50%);
        transform: translate(-130%, -50%)
    }

    .overlay > .inner > .fixed-ar .slideshow .flex-direction-nav .flex-nav-prev > a {
        -moz-transform: translate(130%, -50%);
        -ms-transform: translate(130%, -50%);
        -webkit-transform: translate(130%, -50%);
        transform: translate(130%, -50%)
    }

    .overlay > .inner > .fixed-ar .slideshow + h2, .overlay > .inner > .fixed-ar figure + h2 {
        padding: 2rem;
        padding-right: calc(2rem + 1em);
        bottom: 0
    }

    .overlay > .inner > .fixed-ar .btn.trigger {
        right: 2rem;
        bottom: 2rem
    }

    .overlay h1 {
        font-size: 2.8em
    }
}

@media (max-width: 449px) {
    .overlay h1 {
        font-size: 2em
    }
}

.typologien img {
    max-width: 15%;
    opacity: 0;
    transition: opacity 3s
}

.typologien img.active {
    opacity: 1
}

.typology-container {
    padding: 0
}

.typology-container > * {
    margin-bottom: 1em
}

.typology-container .typology-info {
    hyphens: auto
}

.typology-container .typology-scroll {
    display: -webkit-flex;
    display: flex;
    overflow: hidden;
    height: 100%;
    -webkit-align-content: stretch;
    align-content: stretch
}

.typology-container .typology-scroll > :not(.inner) {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex: 1 0 auto;
    flex: 1 0 auto;
    padding: 0.2em
}

.typology-container .typology-scroll > .inner {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    overflow: hidden;
    font-size: 0
}

.typology-container .typology-scroll .btn {
    display: block
}

.typology-container .typology-overview [data-typology] {
    width: 20%;
    display: inline-block;
    -moz-transform: none;
    -ms-transform: none;
    -webkit-transform: none;
    transform: none;
    transition: transform 0.66s;
    -webkit-perspective: 12em;
    perspective: 12em
}

.typology-container .typology-overview img {
    display: block;
    text-align: center;
    width: 100%
}

.typology-container .typology-projects {
    padding-right: 1em
}

.typology-container .typology-projects .project {
    display: block;
    margin-bottom: 1em;
    max-height: 3em;
    overflow: hidden;
    transition: opacity .3s ease-in-out, max-height .3s ease-in-out, margin .3s ease-in-out
}

.typology-container.filtered .typology-overview a:not(.active) {
    opacity: .33
}

.typology-container.filtered .typology-projects .project:not(.result) {
    opacity: 0;
    max-height: 0;
    margin: 0
}

@media (max-width: 769px) {
    .typology-container .typology-scroll {
        -webkit-flex-direction: row;
        flex-direction: row
    }

    .typology-container .typology-scroll > .inner {
        height: auto !important;
        -webkit-flex: 1 1 auto;
        flex: 1 1 auto
    }

    .typology-container .typology-scroll .scroll-up {
        position: relative;
        width: 1em;
        height: 2em;
        text-indent: 999em;
        white-space: nowrap;
        overflow: hidden;
        overflow: hidden
    }

    .typology-container .typology-scroll .scroll-up:before, .typology-container .typology-scroll .scroll-up:after {
        position: absolute;
        content: '';
        display: block;
        background-color: currentColor
    }

    .typology-container .typology-scroll .scroll-up:before, .typology-container .typology-scroll .scroll-up:after {
        left: 50%;
        height: 60%;
        width: 24%;
        transition: all 0.3s
    }

    .typology-container .typology-scroll .scroll-up:before {
        top: 1%;
        -moz-transform: translateX(-50%) rotate(43deg);
        -ms-transform: translateX(-50%) rotate(43deg);
        -webkit-transform: translateX(-50%) rotate(43deg);
        transform: translateX(-50%) rotate(43deg)
    }

    .typology-container .typology-scroll .scroll-up:after {
        bottom: 1%;
        -moz-transform: translateX(-50%) rotate(-43deg);
        -ms-transform: translateX(-50%) rotate(-43deg);
        -webkit-transform: translateX(-50%) rotate(-43deg);
        transform: translateX(-50%) rotate(-43deg)
    }

    .typology-container .typology-scroll .scroll-down {
        position: relative;
        width: 1em;
        height: 2em;
        text-indent: 999em;
        white-space: nowrap;
        overflow: hidden;
        overflow: hidden
    }

    .typology-container .typology-scroll .scroll-down:before, .typology-container .typology-scroll .scroll-down:after {
        position: absolute;
        content: '';
        display: block;
        background-color: currentColor
    }

    .typology-container .typology-scroll .scroll-down:before, .typology-container .typology-scroll .scroll-down:after {
        left: 50%;
        height: 60%;
        width: 24%;
        transition: all 0.3s
    }

    .typology-container .typology-scroll .scroll-down:before {
        top: 1%;
        -moz-transform: translateX(-50%) rotate(43deg);
        -ms-transform: translateX(-50%) rotate(43deg);
        -webkit-transform: translateX(-50%) rotate(43deg);
        transform: translateX(-50%) rotate(43deg)
    }

    .typology-container .typology-scroll .scroll-down:after {
        bottom: 1%;
        -moz-transform: translateX(-50%) rotate(-43deg);
        -ms-transform: translateX(-50%) rotate(-43deg);
        -webkit-transform: translateX(-50%) rotate(-43deg);
        transform: translateX(-50%) rotate(-43deg)
    }

    .typology-container .typology-scroll .scroll-down:before {
        -moz-transform: translateX(-50%) rotate(-43deg);
        -ms-transform: translateX(-50%) rotate(-43deg);
        -webkit-transform: translateX(-50%) rotate(-43deg);
        transform: translateX(-50%) rotate(-43deg)
    }

    .typology-container .typology-scroll .scroll-down:after {
        -moz-transform: translateX(-50%) rotate(43deg);
        -ms-transform: translateX(-50%) rotate(43deg);
        -webkit-transform: translateX(-50%) rotate(43deg);
        transform: translateX(-50%) rotate(43deg)
    }

    .typology-container .typology-scroll > :first-child {
        padding-right: 1em
    }

    .typology-container .typology-scroll > :last-child {
        padding-left: 1em
    }

    .typology-container .typology-overview {
        white-space: nowrap;
        overflow-x: auto
    }

    .typology-container .typology-overview [data-typology] {
        display: inline-block;
        vertical-align: top;
        width: 16.6%
    }

    .typology-container .typology-overview [data-typology]:nth-child(2n) {
        position: relative;
        margin: 16.6% 0 0 -16.6%
    }

    .typology-container .typology-overview img {
        padding: 1%;
        width: 100%
    }

    .typology-container .typology-projects {
        margin-bottom: 3em
    }
}

@media (max-width: 639px) {
    .typology-container .typology-overview {
        margin: 2em 0
    }

    .typology-container .typology-overview [data-typology] {
        width: 20%
    }

    .typology-container .typology-overview [data-typology]:nth-child(2n) {
        margin: 20% 0 0 -20%
    }

    .typology-container .typology-overview img {
        padding: 3%
    }
}

@media (max-width: 449px) {
    .typology-container .typology-overview [data-typology] {
        width: 25%
    }

    .typology-container .typology-overview [data-typology]:nth-child(2n) {
        margin: 25% 0 0 -25%
    }

    .typology-container .typology-overview img {
        padding: 3%
    }
}

@media (min-width: 770px) {
    .typology-container {
        display: -webkit-flex;
        display: flex;
        height: calc(100% - 7.0952em);
        overflow: hidden
    }

    .typology-container .typology-scroll {
        -webkit-flex-direction: column;
        flex-direction: column
    }

    .typology-container .typology-scroll > .inner {
        width: auto !important
    }

    .typology-container .typology-scroll > :first-child, .typology-container .typology-scroll > :last-child {
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-align-content: center;
        align-content: center
    }

    .typology-container .typology-scroll > :first-child {
        -webkit-justify-content: start;
        justify-content: start;
        padding-top: 0;
        padding-bottom: 1em
    }

    .typology-container .typology-scroll > :last-child {
        -webkit-justify-content: end;
        justify-content: end;
        padding-top: 1em;
        padding-bottom: 0
    }

    .typology-container .typology-scroll .scroll-up {
        position: relative;
        width: 2em;
        height: 1em;
        text-indent: 999em;
        white-space: nowrap;
        overflow: hidden;
        overflow: hidden
    }

    .typology-container .typology-scroll .scroll-up:before, .typology-container .typology-scroll .scroll-up:after {
        position: absolute;
        content: '';
        display: block;
        background-color: currentColor
    }

    .typology-container .typology-scroll .scroll-up:before, .typology-container .typology-scroll .scroll-up:after {
        top: 50%;
        width: 60%;
        height: 24%;
        transition: all 0.3s
    }

    .typology-container .typology-scroll .scroll-up:before {
        right: 1%;
        -moz-transform: translateY(-50%) rotate(43deg);
        -ms-transform: translateY(-50%) rotate(43deg);
        -webkit-transform: translateY(-50%) rotate(43deg);
        transform: translateY(-50%) rotate(43deg)
    }

    .typology-container .typology-scroll .scroll-up:after {
        left: 1%;
        -moz-transform: translateY(-50%) rotate(-43deg);
        -ms-transform: translateY(-50%) rotate(-43deg);
        -webkit-transform: translateY(-50%) rotate(-43deg);
        transform: translateY(-50%) rotate(-43deg)
    }

    .typology-container .typology-scroll .scroll-down {
        position: relative;
        width: 2em;
        height: 1em;
        text-indent: 999em;
        white-space: nowrap;
        overflow: hidden;
        overflow: hidden
    }

    .typology-container .typology-scroll .scroll-down:before, .typology-container .typology-scroll .scroll-down:after {
        position: absolute;
        content: '';
        display: block;
        background-color: currentColor
    }

    .typology-container .typology-scroll .scroll-down:before, .typology-container .typology-scroll .scroll-down:after {
        top: 50%;
        width: 60%;
        height: 24%;
        transition: all 0.3s
    }

    .typology-container .typology-scroll .scroll-down:before {
        right: 1%;
        -moz-transform: translateY(-50%) rotate(43deg);
        -ms-transform: translateY(-50%) rotate(43deg);
        -webkit-transform: translateY(-50%) rotate(43deg);
        transform: translateY(-50%) rotate(43deg)
    }

    .typology-container .typology-scroll .scroll-down:after {
        left: 1%;
        -moz-transform: translateY(-50%) rotate(-43deg);
        -ms-transform: translateY(-50%) rotate(-43deg);
        -webkit-transform: translateY(-50%) rotate(-43deg);
        transform: translateY(-50%) rotate(-43deg)
    }

    .typology-container .typology-scroll .scroll-down:before {
        -moz-transform: translateY(-50%) rotate(-43deg);
        -ms-transform: translateY(-50%) rotate(-43deg);
        -webkit-transform: translateY(-50%) rotate(-43deg);
        transform: translateY(-50%) rotate(-43deg)
    }

    .typology-container .typology-scroll .scroll-down:after {
        -moz-transform: translateY(-50%) rotate(43deg);
        -ms-transform: translateY(-50%) rotate(43deg);
        -webkit-transform: translateY(-50%) rotate(43deg);
        transform: translateY(-50%) rotate(43deg)
    }

    .typology-container > * {
        overflow-x: hidden;
        overflow-y: auto;
        margin-right: 5%;
        margin-bottom: 0;
        width: 34%;
        height: 100%
    }

    .typology-container > *:last-child {
        margin-right: 0
    }

    .typology-container .typology-overview [data-typology] {
        width: 33%
    }

    .typology-container .typology-overview img {
        padding: 5%
    }

    .typology-container .typology-overview {
        width: 22%
    }
}

.location {
    display: inline-block;
    position: relative;
    margin: 0 2rem 2rem 0;
    vertical-align: top;
    width: 100%;
    overflow: hidden
}

.location > figure, .location > a > figure {
    width: 100%;
    opacity: 1;
    transition: opacity 0.8s;
    position: relative;
    width: 100%;
    overflow: hidden
}

.location > figure:before, .location > a > figure:before {
    content: '';
    display: block;
    pointer-events: none;
    width: 100%;
    height: auto;
    padding: 0 0 62.5% 0
}

.location > figure > .inner, .location > a > figure > .inner {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%
}

.location > figure > img, .location > a > figure > img {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
    height: 100%;
    max-width: none
}

.location > figure + h3 {
    margin: 0.5em 0 0 0
}

.location a.btn {
    display: block;
    float: right
}

.location .trigger {
    position: relative;
    width: .9em;
    height: .9em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden
}

.location .trigger:before, .location .trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.location .trigger:before {
    top: 43%;
    left: 0;
    width: 100%;
    height: 14%
}

.location .trigger:after {
    top: 0;
    left: 43%;
    width: 14%;
    height: 100%
}

.location > .backside {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow: auto;
    padding: 7%;
    color: #141515;
    background-color: #fff;
    opacity: 0;
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    transition: transform 0.5s, opacity 0.5s
}

.location > .backside p {
    margin-bottom: 0.5em
}

.location > .backside h3 {
    margin-top: 0
}

.location > .backside .trigger {
    position: absolute !important;
    float: none;
    position: relative;
    width: 1.8em;
    height: 1.8em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    bottom: 1rem !important;
    right: 1rem !important
}

.location > .backside .trigger:before, .location > .backside .trigger:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.location > .backside .trigger:before, .location > .backside .trigger:after {
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.location > .backside .trigger:before {
    left: -5%;
    top: 43%;
    width: 110%;
    height: 14%
}

.location > .backside .trigger:after {
    top: -5%;
    left: 43%;
    width: 14%;
    height: 110%
}

.location.flipped > figure, .location.flipped > a > figure {
    opacity: 0
}

.location.flipped > .backside {
    opacity: 1;
    transform: translateY(0%)
}

@media (min-width: 450px) and (max-width: 639px) {
    .location {
        width: calc((100% - 2rem) / 2)
    }

    .location:nth-child(2n) {
        margin-right: 0
    }
}

.locations {
    position: relative;
    width: 100%;
    zoom: 1
}

.locations:before, .locations:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

.locations:after {
    clear: both
}

.locations > .location {
    display: block;
    float: left
}

@media (min-width: 640px) {
    .locations {
        position: relative;
        width: 100%
    }

    .locations:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 56.25% 0
    }

    .locations > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .locations > .location {
        position: absolute;
        width: calc((100% - 6%) / 3);
        margin-right: 0;
        margin-bottom: 0
    }

    .locations > .location:nth-child(1) {
        top: 0;
        left: 0
    }

    .locations > .location:nth-child(2) {
        top: 0;
        left: calc((100% - 6%) / 3 + 3%)
    }

    .locations > .location:nth-child(3) {
        top: 50%;
        right: calc((100% - 6%) / 3 + 3%)
    }

    .locations > .location:nth-child(4) {
        top: 50%;
        right: 0
    }
}

.job {
    margin-bottom: 2.5em
}

@media (max-width: 770px) {
    .person-overview .btn.trigger {
        margin: 2rem !important
    }
}

.overlay[data-href="/buero/mitarbeiter.html"], .staff-detail.fixed-ar {
    overflow-y: hidden
}

.person {
    display: inline-block;
    width: 7em;
    width: calc((100% - 2rem) / 3);
    margin: 0 1rem 2rem 0;
    vertical-align: top
}

.person > figure, .person > a > figure {
    width: 100%
}

.person > figure > .img-container, .person > a > figure > .img-container {
    width: 100%;
    position: relative;
    overflow: hidden;
    position: relative;
    width: 100%
}

.person > figure > .img-container:before, .person > a > figure > .img-container:before {
    content: '';
    display: block;
    pointer-events: none;
    width: 100%;
    height: auto;
    padding: 0 0 125% 0
}

.person > figure > .img-container > .inner, .person > a > figure > .img-container > .inner {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%
}

.person > figure img, .person > a > figure img {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    max-width: none;
    height: 100%
}

.person > figure > .img-container + figcaption, .person > a > figure > .img-container + figcaption {
    margin-top: 0.5em
}

.person > figure > figcaption, .person > a > figure > figcaption {
    line-height: 1
}

@media (max-width: 449px) {
    .person {
        width: calc((100% - 1rem) / 2)
    }

    .person:nth-child(2n) {
        margin-right: 0
    }
}

@media (min-width: 450px) and (max-width: 639px) {
    .person:nth-child(3n) {
        margin-right: 0
    }
}

.persons {
    position: relative;
    width: 100%;
    zoom: 1
}

.persons:before, .persons:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

.persons:after {
    clear: both
}

.persons > .person {
    display: block;
    float: left
}

.persons > .person p {
    margin-bottom: 2em
}

.persons > .person .btn.next {
    position: relative;
    width: 1.5em;
    height: 3em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    overflow: hidden;
    right: 2rem
}

.persons > .person .btn.next:before, .persons > .person .btn.next:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.persons > .person .btn.next:before, .persons > .person .btn.next:after {
    left: 50%;
    height: 60%;
    width: 24%;
    transition: all 0.3s
}

.persons > .person .btn.next:before {
    top: 1%;
    -moz-transform: translateX(-50%) rotate(43deg);
    -ms-transform: translateX(-50%) rotate(43deg);
    -webkit-transform: translateX(-50%) rotate(43deg);
    transform: translateX(-50%) rotate(43deg)
}

.persons > .person .btn.next:after {
    bottom: 1%;
    -moz-transform: translateX(-50%) rotate(-43deg);
    -ms-transform: translateX(-50%) rotate(-43deg);
    -webkit-transform: translateX(-50%) rotate(-43deg);
    transform: translateX(-50%) rotate(-43deg)
}

.persons > .person .btn.next:before {
    -moz-transform: translateX(-50%) rotate(-43deg);
    -ms-transform: translateX(-50%) rotate(-43deg);
    -webkit-transform: translateX(-50%) rotate(-43deg);
    transform: translateX(-50%) rotate(-43deg)
}

.persons > .person .btn.next:after {
    -moz-transform: translateX(-50%) rotate(43deg);
    -ms-transform: translateX(-50%) rotate(43deg);
    -webkit-transform: translateX(-50%) rotate(43deg);
    transform: translateX(-50%) rotate(43deg)
}

.persons > .person .btn.prev {
    position: relative;
    width: 1.5em;
    height: 3em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    overflow: hidden;
    left: 2rem
}

.persons > .person .btn.prev:before, .persons > .person .btn.prev:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.persons > .person .btn.prev:before, .persons > .person .btn.prev:after {
    left: 50%;
    height: 60%;
    width: 24%;
    transition: all 0.3s
}

.persons > .person .btn.prev:before {
    top: 1%;
    -moz-transform: translateX(-50%) rotate(43deg);
    -ms-transform: translateX(-50%) rotate(43deg);
    -webkit-transform: translateX(-50%) rotate(43deg);
    transform: translateX(-50%) rotate(43deg)
}

.persons > .person .btn.prev:after {
    bottom: 1%;
    -moz-transform: translateX(-50%) rotate(-43deg);
    -ms-transform: translateX(-50%) rotate(-43deg);
    -webkit-transform: translateX(-50%) rotate(-43deg);
    transform: translateX(-50%) rotate(-43deg)
}

.persons > .person .btn.next, .persons > .person .btn.prev {
    position: absolute;
    top: 50%;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.persons > .person > .overlay {
    padding: 0
}

@media (max-width: 769px) {
    .persons > .person > .overlay .inner {
        max-width: none
    }

    .persons > .person > .overlay figure {
        height: calc(100% - 6em);
        overflow: hidden
    }

    .persons > .person > .overlay figure > img {
        height: auto;
        width: 100%
    }

    .persons > .person .btn.next {
        right: .66667rem
    }

    .persons > .person .btn.prev {
        left: .66667rem
    }
}

@media (min-width: 640px) {
    .persons {
        position: relative;
        width: 100%
    }

    .persons:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 117.0579% 0
    }

    .persons > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .persons > .person {
        position: absolute;
        width: 17.99687%
    }

    .persons > .person.s-grid-0-0 {
        top: 0%;
        left: 0%
    }

    .persons > .person.s-grid-0-1 {
        top: 25%;
        left: 0%
    }

    .persons > .person.s-grid-0-2 {
        top: 50%;
        left: 0%
    }

    .persons > .person.s-grid-0-3 {
        top: 75%;
        left: 0%
    }

    .persons > .person.s-grid-1-0 {
        top: 0%;
        left: 20.50078%
    }

    .persons > .person.s-grid-1-1 {
        top: 25%;
        left: 20.50078%
    }

    .persons > .person.s-grid-1-2 {
        top: 50%;
        left: 20.50078%
    }

    .persons > .person.s-grid-1-3 {
        top: 75%;
        left: 20.50078%
    }

    .persons > .person.s-grid-2-0 {
        top: 0%;
        left: 41.00156%
    }

    .persons > .person.s-grid-2-1 {
        top: 25%;
        left: 41.00156%
    }

    .persons > .person.s-grid-2-2 {
        top: 50%;
        left: 41.00156%
    }

    .persons > .person.s-grid-2-3 {
        top: 75%;
        left: 41.00156%
    }

    .persons > .person.s-grid-3-0 {
        top: 0%;
        left: 61.50235%
    }

    .persons > .person.s-grid-3-1 {
        top: 25%;
        left: 61.50235%
    }

    .persons > .person.s-grid-3-2 {
        top: 50%;
        left: 61.50235%
    }

    .persons > .person.s-grid-3-3 {
        top: 75%;
        left: 61.50235%
    }

    .persons > .person.s-grid-4-0 {
        top: 0%;
        left: 82.00313%
    }

    .persons > .person.s-grid-4-1 {
        top: 25%;
        left: 82.00313%
    }

    .persons > .person.s-grid-4-2 {
        top: 50%;
        left: 82.00313%
    }

    .persons > .person.s-grid-4-3 {
        top: 75%;
        left: 82.00313%
    }
}

@media (min-width: 1024px) {
    .persons {
        position: relative;
        width: 100%
    }

    .persons:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 48.94434% 0
    }

    .persons > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .persons > .person {
        position: absolute;
        width: 9.40499%
    }

    .persons > .person.b-grid-0-0 {
        top: 0%;
        left: 0%
    }

    .persons > .person.b-grid-0-1 {
        top: 33.3%;
        left: 0%
    }

    .persons > .person.b-grid-0-2 {
        top: 66.6%;
        left: 0%
    }

    .persons > .person.b-grid-1-0 {
        top: 0%;
        left: 10.55662%
    }

    .persons > .person.b-grid-1-1 {
        top: 33.3%;
        left: 10.55662%
    }

    .persons > .person.b-grid-1-2 {
        top: 66.6%;
        left: 10.55662%
    }

    .persons > .person.b-grid-2-0 {
        top: 0%;
        left: 21.11324%
    }

    .persons > .person.b-grid-2-1 {
        top: 33.3%;
        left: 21.11324%
    }

    .persons > .person.b-grid-2-2 {
        top: 66.6%;
        left: 21.11324%
    }

    .persons > .person.b-grid-3-0 {
        top: 0%;
        left: 31.66987%
    }

    .persons > .person.b-grid-3-1 {
        top: 33.3%;
        left: 31.66987%
    }

    .persons > .person.b-grid-3-2 {
        top: 66.6%;
        left: 31.66987%
    }

    .persons > .person.b-grid-4-0 {
        top: 0%;
        left: 42.22649%
    }

    .persons > .person.b-grid-4-1 {
        top: 33.3%;
        left: 42.22649%
    }

    .persons > .person.b-grid-4-2 {
        top: 66.6%;
        left: 42.22649%
    }

    .persons > .person.b-grid-5-0 {
        top: 0%;
        left: 52.78311%
    }

    .persons > .person.b-grid-5-1 {
        top: 33.3%;
        left: 52.78311%
    }

    .persons > .person.b-grid-5-2 {
        top: 66.6%;
        left: 52.78311%
    }

    .persons > .person.b-grid-6-0 {
        top: 0%;
        left: 63.33973%
    }

    .persons > .person.b-grid-6-1 {
        top: 33.3%;
        left: 63.33973%
    }

    .persons > .person.b-grid-6-2 {
        top: 66.6%;
        left: 63.33973%
    }

    .persons > .person.b-grid-7-0 {
        top: 0%;
        left: 73.89635%
    }

    .persons > .person.b-grid-7-1 {
        top: 33.3%;
        left: 73.89635%
    }

    .persons > .person.b-grid-7-2 {
        top: 66.6%;
        left: 73.89635%
    }

    .persons > .person.b-grid-8-0 {
        top: 0%;
        left: 84.45298%
    }

    .persons > .person.b-grid-8-1 {
        top: 33.3%;
        left: 84.45298%
    }

    .persons > .person.b-grid-8-2 {
        top: 66.6%;
        left: 84.45298%
    }
}

.staff-detail > figure {
    position: relative;
    background: none !important;
    position: relative;
    width: 100%
}

.staff-detail > figure:before {
    content: '';
    display: block;
    pointer-events: none;
    width: 100%;
    height: auto;
    padding: 0 0 56.25% 0
}

.staff-detail > figure > .inner {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%
}

.staff-detail > figure > .inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: auto
}

.staff-detail > figure > .inner > img {
    height: auto !important;
    width: auto !important;
    opacity: 0;
    transition: opacity 1.6s;
    position: absolute
}

.staff-detail > figure > .inner > img.active {
    opacity: 1
}

.staff-detail > figure > .inner > img:nth-child(4n+1) {
    top: 0;
    left: 0;
    max-width: 38.70968%;
    max-height: 38.70968%
}

.staff-detail > figure > .inner > img:nth-child(8n+1) {
    max-width: 59.13978%;
    max-height: 59.13978%
}

.staff-detail > figure > .inner > img:nth-child(4n+2) {
    bottom: 0;
    right: 0;
    max-width: 59.13978%;
    max-height: 59.13978%
}

.staff-detail > figure > .inner > img:nth-child(8n+2) {
    max-width: 38.70968%;
    max-height: 59.13978%
}

.staff-detail > figure > .inner > img:nth-child(4n+3) {
    top: 0;
    right: 0;
    max-width: 18.27957%;
    max-height: 38.70968%
}

.staff-detail > figure > .inner > img:nth-child(8n+3) {
    max-width: 22.36559%;
    max-height: 38.70968%
}

.staff-detail > figure > .inner > img:nth-child(4n+4) {
    bottom: 0;
    left: 0;
    max-width: 22.36559%;
    max-height: 38.70968%
}

.staff-detail > figure > .inner > img:nth-child(8n+4) {
    left: 20.43011%;
    max-width: 18.27957%;
    max-height: 38.70968%
}

@media (max-width: 639px) {
    .staff-detail > figure {
        position: relative;
        width: 100%
    }

    .staff-detail > figure:before {
        content: '';
        display: block;
        pointer-events: none;
        width: 100%;
        height: auto;
        padding: 0 0 125% 0
    }

    .staff-detail > figure > .inner {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%
    }

    .staff-detail > figure > .inner > img:nth-child(8n+1) {
        max-width: 79.56989%;
        max-height: 59.13978%
    }

    .staff-detail > figure > .inner > img:nth-child(8n+6) {
        max-width: 79.56989%
    }
}

@media (min-width: 770px) {
    .slideshow .flex-next {
        left: calc(50vw - 5.85em)
    }

    .slideshow .flex-prev {
        margin-left: calc(-50vw + 5.85em)
    }
}

.slideshow .flex-direction-nav {
    left: 49%;
    top: 50%;
    position: absolute
}

.flex-direction-nav > li > a {
    top: 50%;
    display: block;
    text-indent: -200vw
}

.flex-direction-nav .flex-nav-next > a {
    right: 0px;
    -moz-transform: translate(300%, -50%);
    -ms-transform: translate(300%, -50%);
    -webkit-transform: translate(300%, -50%);
    transform: translate(300%, -50%);
    position: relative;
    width: 1.2em;
    height: 2.4em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    overflow: hidden;
    position: absolute
}

.flex-direction-nav .flex-nav-next > a:before, .flex-direction-nav .flex-nav-next > a:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.flex-direction-nav .flex-nav-next > a:before, .flex-direction-nav .flex-nav-next > a:after {
    left: 50%;
    height: 60%;
    width: 24%;
    transition: all 0.3s
}

.flex-direction-nav .flex-nav-next > a:before {
    top: 1%;
    -moz-transform: translateX(-50%) rotate(43deg);
    -ms-transform: translateX(-50%) rotate(43deg);
    -webkit-transform: translateX(-50%) rotate(43deg);
    transform: translateX(-50%) rotate(43deg)
}

.flex-direction-nav .flex-nav-next > a:after {
    bottom: 1%;
    -moz-transform: translateX(-50%) rotate(-43deg);
    -ms-transform: translateX(-50%) rotate(-43deg);
    -webkit-transform: translateX(-50%) rotate(-43deg);
    transform: translateX(-50%) rotate(-43deg)
}

.flex-direction-nav .flex-nav-next > a:before {
    -moz-transform: translateX(-50%) rotate(-43deg);
    -ms-transform: translateX(-50%) rotate(-43deg);
    -webkit-transform: translateX(-50%) rotate(-43deg);
    transform: translateX(-50%) rotate(-43deg)
}

.flex-direction-nav .flex-nav-next > a:after {
    -moz-transform: translateX(-50%) rotate(43deg);
    -ms-transform: translateX(-50%) rotate(43deg);
    -webkit-transform: translateX(-50%) rotate(43deg);
    transform: translateX(-50%) rotate(43deg)
}

.flex-direction-nav .flex-nav-prev > a {
    left: 0px;
    -moz-transform: translate(-300%, -50%);
    -ms-transform: translate(-300%, -50%);
    -webkit-transform: translate(-300%, -50%);
    transform: translate(-300%, -50%);
    position: relative;
    width: 1.2em;
    height: 2.4em;
    text-indent: 999em;
    white-space: nowrap;
    overflow: hidden;
    overflow: hidden;
    position: absolute
}

.flex-direction-nav .flex-nav-prev > a:before, .flex-direction-nav .flex-nav-prev > a:after {
    position: absolute;
    content: '';
    display: block;
    background-color: currentColor
}

.flex-direction-nav .flex-nav-prev > a:before, .flex-direction-nav .flex-nav-prev > a:after {
    left: 50%;
    height: 60%;
    width: 24%;
    transition: all 0.3s
}

.flex-direction-nav .flex-nav-prev > a:before {
    top: 1%;
    -moz-transform: translateX(-50%) rotate(43deg);
    -ms-transform: translateX(-50%) rotate(43deg);
    -webkit-transform: translateX(-50%) rotate(43deg);
    transform: translateX(-50%) rotate(43deg)
}

.flex-direction-nav .flex-nav-prev > a:after {
    bottom: 1%;
    -moz-transform: translateX(-50%) rotate(-43deg);
    -ms-transform: translateX(-50%) rotate(-43deg);
    -webkit-transform: translateX(-50%) rotate(-43deg);
    transform: translateX(-50%) rotate(-43deg)
}

.flex-direction-nav .flex-disabled {
    display: none !important
}

.slides li:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.black .slides li:after, .overlay.black .slides li:after {
    border: 1px solid #000
}

.grey .slides li:after, .overlay.grey .slides li:after {
    border: 1px solid #969696
}

.white .slides li:after, .overlay.white .slides li:after {
    border: 1px solid #fff
}

.overlay .item:not(.row) {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 2.4em
}

.overlay .item:not(.row) .item-image {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 25%;
    max-width: 20em;
    margin-right: 1em;
    background-image: url("../images/bg.png");
    overflow: hidden
}

.overlay .item:not(.row) .item-image > * {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.overlay .item:not(.row) .item-image img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.overlay .item:not(.row) .item-image:before {
    content: '';
    display: block;
    width: 100%;
    padding: 56.25% 0 0 0
}

.overlay .item:not(.row) .item-title p:first-child, .overlay .item:not(.row) .item-info p:first-child, .overlay .item:not(.row) .item-details p:first-child {
    margin-top: 0
}

.overlay .item:not(.row) .item-title p:last-child, .overlay .item:not(.row) .item-info p:last-child, .overlay .item:not(.row) .item-details p:last-child {
    margin-bottom: 0
}

header[role="banner"] {
    display: none;
    font-family: "DIN", sans-serif;
    font-weight: bold
}

header[role="banner"] > .btn.close {
    top: 0.3em;
    width: 1em;
    height: 1em;
    display: none !important
}

.overlay-open header[role="banner"] > .btn.close {
    display: block !important;
    left: 1em !important;
    right: none !important
}

header[role="banner"] > span {
    pointer-events: none;
    opacity: 1;
    transition: opacity 1s
}

.overlay-open header[role="banner"] > span {
    opacity: 0
}

.nav-side {
    display: none
}

.wrapper .meta {
    font-family: "DIN", sans-serif;
    letter-spacing: .07em;
    font-size: 1.2rem;
    font-weight: 700
}

.wrapper .meta > a {
    padding: 0 1em 0 0
}

.nav-main {
    display: block;
    position: fixed;
    z-index: 9
}

.nav-main * {
    transition: color 0.3s
}

.nav-main .btn.close {
    display: none
}

.nav-main > ul:first-of-type > li:first-child {
    display: none
}

@media (max-width: 769px) {
    .nav-main {
        width: 300px;
        top: 0;
        bottom: 0;
        right: -300px;
        -webkit-box-shadow: none;
        -ms-box-shadow: none;
        -moz-box-shadow: none;
        -o-box-shadow: none;
        box-shadow: none;
        transition: right 0.4s cubic-bezier(1, 0, 1, 1), box-shadow 0.4s cubic-bezier(1, 0, 1, 1);
        background-color: #969696;
        color: #000;
        padding: 2.4em 1.4em 1.4em;
        overflow: auto;
        z-index: 101;
        font-size: 1.6rem
    }

    .nav-main ul ul {
        margin-left: 1em;
        overflow: hidden
    }

    .nav-main li {
        margin-top: 0.6em
    }

    .nav-main > ul:first-of-type > li:nth-child(2) {
        margin-top: 0
    }

    .nav-main a {
        color: #C7C7C7
    }

    .nav-main a:hover, .nav-main a.active {
        color: #000
    }
}

@media (min-width: 770px) {
	.nav-main .snav {
		margin: 2em 0		
	}
	
    .nav-main {
        position: fixed;
        display: block;
        left: 2rem;
        top: 50vh;
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 15rem;
        margin: 0 auto;
        max-width: 1090px;
        max-width: 112vmin;
        min-height: 10vh;
        font-family: "DIN", sans-serif;
        letter-spacing: .07em;
        font-size: 1.2rem;
        text-transform: uppercase;
        font-weight: bold;
        opacity: 1;
        transition: opacity 0.8s
    }

    .home .nav-main {
        opacity: 0;
        pointer-events: none
    }

    .nav-main > ul.meta {
        display: none
    }

    .nav-main > ul li {
        position: relative
    }

    .nav-main > ul li:not(:last-child) {
        margin: 2em 0
    }

    .nav-main > ul li.active > a {
        font-color: #969696
    }

    .grey .nav-main > ul li.active > a {
        font-color: #C7C7C7
    }

    .nav-main > ul > li:first-child, .nav-main > ul > li:nth-child(2) {
        margin-top: 0em
    }

    .nav-main > ul > li:not(.active) ul li:not(.level-up) {
        overflow: hidden;
        opacity: 0;
        max-height: 0;
        margin: 0 !important;
        transition: all 0.8s cubic-bezier(0.8, 0, 0.2, 1)
    }

    .nav-main > ul > li ul li:not(.level-up) {
        padding-left: 1.1em;
        margin-bottom: .4em;
        opacity: 1;
        max-height: 1.5em;
        transition: all 0.8s cubic-bezier(0.8, 0, 0.2, 1) 0.4s
    }

    .nav-main > ul > li ul li:not(.level-up):not(:first-child) {
        margin-top: .4em
    }
}

@media (max-width: 769px) {
    header[role="banner"] {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 3.3rem;
        background-color: #000;
        color: #fff;
        zoom: 1;
        padding: 0.3em 1em;
        z-index: 100;
        display: block
    }

    header[role="banner"]:before, header[role="banner"]:after {
        content: "\0020";
        display: block;
        height: 0;
        overflow: hidden
    }

    header[role="banner"]:after {
        clear: both
    }

    header[role="banner"] > .btn.menu, header[role="banner"] > .btn.close, nav.nav-main > .btn.menu, nav.nav-main > .btn.close {
        display: block;
        position: absolute
    }

    header[role="banner"] > .btn.menu:not(.overlay-trigger), header[role="banner"] > .btn.close:not(.overlay-trigger), nav.nav-main > .btn.menu:not(.overlay-trigger), nav.nav-main > .btn.close:not(.overlay-trigger) {
        right: 1em;
        top: 0.4em
    }

    header[role="banner"] > .btn.menu > svg, header[role="banner"] > .btn.close > svg, nav.nav-main > .btn.menu > svg, nav.nav-main > .btn.close > svg {
        width: 1em;
        height: 1em
    }

    body.menu-open .nav-main {
        right: 0;
        -webkit-box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
        -ms-box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
        -o-box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
        transition: right 0.6s cubic-bezier(0, 0, 0, 1), box-shadow 0.6s cubic-bezier(0, 0, 0, 1)
    }
}

@media (max-width: 769px) {
    #mnav a {
        color: white
    }

    #mnav > ul.meta > li:nth-child(1) > a, #mnav > ul.meta > li:nth-child(2) > a {
        color: #C7C7C7 !important
    }

    #mnav .nav0 > li.active > a {
        color: #C7C7C7 !important
    }

    #mnav a:active, #mnav a:target {
        color: #C7C7C7 !important
    }

    #mnav .mobile-active-marker {
        color: #C7C7C7 !important
    }
}

.btn-new-open-black {
    background: url("__openBtn-black.svg");
    background-size: 24px 24px !important;
    width: 24px !important;
    height: 24px !important
}

.btn-new-open-black:hover {
    background: url("__openBtn-hover.svg")
}

.btn-new-close-white2 {
    background: url("__closeBtn-white.svg");
    background-size: 24px 24px !important;
    width: 24px !important;
    height: 24px !important

}

#loading-overlay {
    opacity: 1;
    transition: none;

    margin: auto;
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    background-color: black;
    color: white;
    z-index:10000;

    height: 100%;
    position: absolute;
    width: 100%;

}
#loading-overlay.fade-out {
    opacity: 0;
    transition: 0.5s opacity;
    pointer-events:none;
}
#loading-overlay-inner {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
#loading-overlay-inner h1 {
    display: block;
    width: 650px;
    margin-left: auto;
    margin-right: auto;

    text-transform: lowercase !important;
    letter-spacing: 0.03em;
}
#loading-overlay-inner span {
    display: block;
    width: 650px;
    margin-left: auto;
    margin-right: auto;

    font-family: "DIN", sans-serif;
    text-transform: uppercase;
    margin-top: 0;
    letter-spacing: 0.05em;
    line-height: 1.3;
}

@media (max-width: 769px) {
    #loading-overlay-inner h1 {
        width: 435px;
        font-size: 1.5em;
    }
    #loading-overlay-inner span {
        width: 435px;
        font-size: 0.9em;
    }
}

@media (max-width: 420px) {
    #loading-overlay-inner h1 {
        width: 315px;
        font-size: 1.5em;
    }
    #loading-overlay-inner span {
        width: 315px;
        font-size: 0.9em;
    }
}

/*body {*/
    /*opacity: 1;*/
    /*transition: 0.5s opacity;*/
/*}*/
/*body.fade-out {*/
    /*opacity: 0;*/
    /*transition: none;*/
/*}*/
/*html {*/
    /*background-color: black !important;*/
/*}*/