@charset "UTF-8";

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
dialog,
div,
dl,
dt,
em,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    background: 0 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
    outline: 0
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block
}

html {
    overflow-y: scroll;
    overflow: -moz-scrollbars-vertical;
    box-sizing: border-box;
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

body {
    line-height: 1
}

blockquote,
q {
    quotes: none
}

ol,
ul {
    list-style: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

*,
::after,
::before {
    box-sizing: inherit;
    -ms-touch-action: inherit;
    touch-action: inherit
}

.svg-sprite {
    position: absolute;
    z-index: -1;
    left: -1px;
    top: -1px;
    width: 1px;
    height: 1px;
    overflow: hidden
}

@-ms-viewport {
    width: device-width
}

@font-face {
    font-family: NeueHaas;
    src: url(/dist/fonts/337111_0_0.eot);
    src: url(/dist/fonts/337111_0_0.eot?#iefix) format("embedded-opentype"), url(/dist/fonts/337111_0_0.woff2) format("woff2"), url(/dist/fonts/337111_0_0.woff) format("woff"), url(/dist/fonts/337111_0_0.ttf) format("truetype");
    font-weight: 500;
    font-display: swap
}

@font-face {
    font-family: NeueHaas;
    src: url(/dist/fonts/337111_1_0.eot);
    src: url(/dist/fonts/337111_1_0.eot?#iefix) format("embedded-opentype"), url(/dist/fonts/337111_1_0.woff2) format("woff2"), url(/dist/fonts/337111_1_0.woff) format("woff"), url(/dist/fonts/337111_1_0.ttf) format("truetype");
    font-display: swap
}

@font-face {
    font-family: NeueHaas;
    src: url(/dist/fonts/33F0E7_0_0.eot);
    src: url(/dist/fonts/33F0E7_0_0.eot?#iefix) format("embedded-opentype"), url(/dist/fonts/33F0E7_0_0.woff2) format("woff2"), url(/dist/fonts/33F0E7_0_0.woff) format("woff"), url(/dist/fonts/33F0E7_0_0.ttf) format("truetype");
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: NeueHaas;
    src: url(/dist/fonts/33F0E7_1_0.eot);
    src: url(/dist/fonts/33F0E7_1_0.eot?#iefix) format("embedded-opentype"), url(/dist/fonts/33F0E7_1_0.woff2) format("woff2"), url(/dist/fonts/33F0E7_1_0.woff) format("woff"), url(/dist/fonts/33F0E7_1_0.ttf) format("truetype");
    font-weight: 500;
    font-style: italic;
    font-display: swap
}

.design-grid-toggle {
    position: fixed;
    z-index: 9;
    left: 0;
    bottom: 0;
    padding: 1px 8px;
    background: #000;
    color: #fff;
    font-size: 11px;
    cursor: pointer
}

.design-grid-toggle--columns {
    left: auto;
    right: 0
}

.design-grid-toggle--columns::after,
.design-grid-toggle--columns::before {
    display: block;
    position: absolute;
    right: 8px;
    bottom: 100%;
    color: #0f0;
    font-weight: 700;
    text-align: right;
    text-transform: uppercase;
    white-space: nowrap
}

.design-grid-toggle--columns::before {
    margin-bottom: -2px
}

@media screen and (max-width:599px) {
    .design-grid-toggle--columns::before {
        content: "xsmall"
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .design-grid-toggle--columns::before {
        content: "small"
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .design-grid-toggle--columns::before {
        content: "medium"
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .design-grid-toggle--columns::before {
        content: "large"
    }
}

@media screen and (min-width:1600px) {
    .design-grid-toggle--columns::before {
        content: "xlarge"
    }
}

.design-grid-toggle--columns::after {
    content: attr(data-env);
    margin-bottom: 12px
}

.design-grid--baseline {
    display: block;
    position: absolute;
    z-index: 9998;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: -webkit-repeating-linear-gradient(270deg, transparent, transparent 5px, #7fffff 5px, #7fffff 10px);
    background: -o-repeating-linear-gradient(270deg, transparent, transparent 5px, #7fffff 5px, #7fffff 10px);
    background: repeating-linear-gradient(180deg, transparent, transparent 5px, #7fffff 5px, #7fffff 10px);
    opacity: .25;
    pointer-events: none
}

.design-grid--baseline.js-hide {
    display: none
}

.design-grid--columns {
    display: block;
    position: fixed;
    z-index: 9998;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background-color: transparent;
    opacity: .25;
    pointer-events: none
}

.design-grid--columns.js-hide {
    display: none
}

@media screen and (max-width:599px) {
    .design-grid--columns {
        width: calc(100vw - 40px);
        background: -webkit-repeating-linear-gradient(0deg, #7fffff, #7fffff calc((100vw - 115px)/ 6), transparent calc((100vw - 115px)/ 6), transparent calc(((100vw - 115px)/ 6) + 15px));
        background: -o-repeating-linear-gradient(0deg, #7fffff, #7fffff calc((100vw - 115px)/ 6), transparent calc((100vw - 115px)/ 6), transparent calc(((100vw - 115px)/ 6) + 15px));
        background: repeating-linear-gradient(90deg, #7fffff, #7fffff calc((100vw - 115px)/ 6), transparent calc((100vw - 115px)/ 6), transparent calc(((100vw - 115px)/ 6) + 15px))
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .design-grid--columns {
        width: calc(100vw - 60px);
        background: -webkit-repeating-linear-gradient(0deg, #7fffff, #7fffff calc((100vw - 135px)/ 6), transparent calc((100vw - 135px)/ 6), transparent calc(((100vw - 135px)/ 6) + 15px));
        background: -o-repeating-linear-gradient(0deg, #7fffff, #7fffff calc((100vw - 135px)/ 6), transparent calc((100vw - 135px)/ 6), transparent calc(((100vw - 135px)/ 6) + 15px));
        background: repeating-linear-gradient(90deg, #7fffff, #7fffff calc((100vw - 135px)/ 6), transparent calc((100vw - 135px)/ 6), transparent calc(((100vw - 135px)/ 6) + 15px))
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .design-grid--columns {
        width: calc(100vw - 80px);
        background: -webkit-repeating-linear-gradient(0deg, #7fffff, #7fffff calc((100vw - 300px)/ 12), transparent calc((100vw - 300px)/ 12), transparent calc(((100vw - 300px)/ 12) + 20px));
        background: -o-repeating-linear-gradient(0deg, #7fffff, #7fffff calc((100vw - 300px)/ 12), transparent calc((100vw - 300px)/ 12), transparent calc(((100vw - 300px)/ 12) + 20px));
        background: repeating-linear-gradient(90deg, #7fffff, #7fffff calc((100vw - 300px)/ 12), transparent calc((100vw - 300px)/ 12), transparent calc(((100vw - 300px)/ 12) + 20px))
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .design-grid--columns {
        width: calc(100vw - 100px);
        background: -webkit-repeating-linear-gradient(0deg, #7fffff, #7fffff calc((100vw - 320px)/ 12), transparent calc((100vw - 320px)/ 12), transparent calc(((100vw - 320px)/ 12) + 20px));
        background: -o-repeating-linear-gradient(0deg, #7fffff, #7fffff calc((100vw - 320px)/ 12), transparent calc((100vw - 320px)/ 12), transparent calc(((100vw - 320px)/ 12) + 20px));
        background: repeating-linear-gradient(90deg, #7fffff, #7fffff calc((100vw - 320px)/ 12), transparent calc((100vw - 320px)/ 12), transparent calc(((100vw - 320px)/ 12) + 20px))
    }
}

@media screen and (min-width:1600px) {
    .design-grid--columns {
        width: 1540px;
        background: -webkit-repeating-linear-gradient(0deg, transparent, transparent 20px, #7fffff 20px, #7fffff calc(((1500px - 220px)/ 12) + 20px));
        background: -o-repeating-linear-gradient(0deg, transparent, transparent 20px, #7fffff 20px, #7fffff calc(((1500px - 220px)/ 12) + 20px));
        background: repeating-linear-gradient(90deg, transparent, transparent 20px, #7fffff 20px, #7fffff calc(((1500px - 220px)/ 12) + 20px))
    }
}

.icon--arrow_external-link_large {
    width: 11px;
    height: 11px
}

.icon--arrow_external-link_small {
    width: 10px;
    height: 10px
}

.icon--arrow_load_more {
    width: 14px;
    height: 15px
}

.icon--arrow_next_detail {
    width: 21px;
    height: 18px
}

.icon--arrow_next_detail_mobile {
    width: 17px;
    height: 16px
}

.icon--arrow_next_slideshow {
    width: 16px;
    height: 30px
}

.icon--arrow_prev_detail {
    width: 21px;
    height: 18px
}

.icon--arrow_prev_detail_mobile {
    width: 17px;
    height: 16px
}

.icon--arrow_prev_slideshow {
    width: 16px;
    height: 30px
}

.icon--arrow_scroll-down_mobile {
    width: 16px;
    height: 9px
}

.icon--close {
    width: 20px;
    height: 20px
}

.icon--close_2 {
    width: 24px;
    height: 24px
}

.icon--close_mobile {
    width: 16px;
    height: 16px
}

.icon--download {
    width: 25px;
    height: 25px
}

.icon--filters_clear {
    width: 14px;
    height: 14px
}

.icon--logo_large {
    width: 210px;
    height: 41px
}

.icon--logo_medium {
    width: 190px;
    height: 37px
}

.icon--logo_small {
    width: 158px;
    height: 31px
}

.icon--play {
    width: 72px;
    height: 72px
}

.icon--plus {
    width: 12px;
    height: 12px
}

.icon--search {
    width: 20px;
    height: 20px
}

.icon--search_mobile {
    width: 19px;
    height: 19px
}

#a17,
.container {
    margin-right: auto;
    margin-left: auto
}

@media screen and (max-width:599px) {

    #a17,
    .container {
        width: auto;
        padding-right: 20px;
        padding-left: 20px;
        --outer-gutter: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {

    #a17,
    .container {
        width: auto;
        padding-right: 30px;
        padding-left: 30px;
        --outer-gutter: 30px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    #a17,
    .container {
        width: auto;
        padding-right: 40px;
        padding-left: 40px;
        --outer-gutter: 40px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {

    #a17,
    .container {
        width: auto;
        padding-right: 50px;
        padding-left: 50px;
        --outer-gutter: 50px
    }
}

@media screen and (min-width:1600px) {

    #a17,
    .container {
        width: 1600px;
        padding-right: 50px;
        padding-left: 50px;
        --outer-gutter: 50px
    }
}

.no-btn,
.page-casestudy--portfolio button.header__item,
.page-portfolio button.header__item,
.portfolioLogin__btn,
.share a,
.share button,
.sidePanelClose,
button.footer__item,
button.header__item {
    background: 0 0;
    border: 0;
    -webkit-appearance: none;
    padding: 0;
    box-sizing: border-box;
    cursor: pointer;
    margin: 0
}

/*! Flickity v2.0.5
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
    position: relative
}

.flickity-enabled:focus {
    outline: 0
}

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%
}

.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%
}

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: grab
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: grabbing
}

h1,
h2,
h3 {
    font-weight: 500
}

ul li {
    list-style-type: none
}

img {
    border: 0 none
}

a {
    color: inherit;
    text-decoration: none
}

b,
strong {
    font-weight: 500
}

a svg {
    pointer-events: none
}

:focus {
    outline: 1px solid rgba(153, 153, 153, .3);
    outline-offset: 4px;
    -webkit-transition: outline-offset .2s cubic-bezier(.645, .045, .355, 1);
    -o-transition: outline-offset .2s cubic-bezier(.645, .045, .355, 1);
    transition: outline-offset .2s cubic-bezier(.645, .045, .355, 1)
}

body:not(.has-tabbed) :focus {
    outline: 0
}

video {
    background-color: transparent
}

img:not([src]),
img[src=''] {
    opacity: 0
}

.js-hide {
    display: none
}

.js-show {
    display: block
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.btn {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-appearance: none;
    font-size: 1em;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    background: 0 0
}

.js-NeueHaas-loaded .btn {
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif
}

.btn:active,
.btn:not(:focus) {
    outline: 0;
    box-shadow: none
}

.ham {
    height: 20px;
    padding: 20px;
    margin-right: -20px;
    overflow: hidden;
    box-sizing: content-box;
    font-size: 0
}

@media screen and (min-width:600px) {
    .ham {
        padding-top: 19px;
        padding-bottom: 19px
    }
}

@media screen and (min-width:1040px) {
    .ham {
        padding-top: 22px;
        padding-bottom: 22px
    }
}

.ham__label {
    color: #999;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-right: 10px
}

.ham__icon {
    width: 20px;
    height: 8px;
    display: inline-block;
    position: relative
}

.ham__icon:after,
.ham__icon:before {
    content: '';
    height: 2px;
    position: absolute;
    display: block;
    left: 0;
    right: 0;
    width: 100%;
    background: #999;
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.ham__icon:before {
    top: 0
}

.ham__icon:after {
    bottom: 0
}

.no-touch .ham:hover .ham__label {
    color: #1a1a1a
}

.no-touch .ham:hover .ham__icon:after,
.no-touch .ham:hover .ham__icon:before {
    background: #1a1a1a
}

.page-partner .ham__label,
.page-partners .ham__label {
    color: #666
}

.page-partner .ham__icon:after,
.page-partner .ham__icon:before,
.page-partners .ham__icon:after,
.page-partners .ham__icon:before {
    background: #666
}

.page-partner.no-touch .ham:hover .ham__label,
.page-partners.no-touch .ham:hover .ham__label {
    color: #fff
}

.page-partner.no-touch .ham:hover .ham__icon:after,
.page-partner.no-touch .ham:hover .ham__icon:before,
.page-partners.no-touch .ham:hover .ham__icon:after,
.page-partners.no-touch .ham:hover .ham__icon:before {
    background: #fff
}

.page-home .header__nav--ham .ham__icon:after,
.page-home .header__nav--ham .ham__icon:before {
    background: #1a1a1a !important
}

.page-home--light .header__nav--ham .ham__icon:after,
.page-home--light .header__nav--ham .ham__icon:before {
    background: #fff !important
}

.js--nav.page-home .header__nav--ham .ham__icon:after,
.js--nav.page-home .header__nav--ham .ham__icon:before {
    background: #666 !important
}

.js--nav.page-home--light .header__nav--ham .ham__icon:after,
.js--nav.page-home--light .header__nav--ham .ham__icon:before {
    background: #666 !important
}

.js--nav .ham__icon:after,
.js--nav .ham__icon:before {
    background: #666 !important
}

.js--nav .ham__icon:after {
    -webkit-transform: translateY(-3px) rotate(45deg);
    -o-transform: translateY(-3px) rotate(45deg);
    transform: translateY(-3px) rotate(45deg)
}

.js--nav .ham__icon:before {
    -webkit-transform: translateY(3px) rotate(-45deg);
    -o-transform: translateY(3px) rotate(-45deg);
    transform: translateY(3px) rotate(-45deg)
}

.js--nav.no-touch .ham:hover .ham__icon:after,
.js--nav.no-touch .ham:hover .ham__icon:before {
    background: #fff !important
}

.tag {
    display: inline-block;
    height: 40px;
    line-height: 41px;
    padding: 0 20px;
    border-radius: 20px;
    background: rgba(111, 111, 111, .3);
    color: #fff;
    font-size: 15px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
    white-space: nowrap
}

.tag--rounded {
    width: 40px;
    padding: 0;
    text-align: center
}

.typo--heading,
.typo--title {
    font-size: 35px;
    line-height: 40px;
    font-weight: 500
}

@media screen and (min-width:600px) {

    .typo--heading,
    .typo--title {
        font-size: 40px;
        line-height: 45px;
        position: relative
    }
}

@media screen and (min-width:800px) {

    .typo--heading,
    .typo--title {
        left: -.025em
    }
}

@media screen and (min-width:1040px) {

    .typo--heading,
    .typo--title {
        font-size: 55px;
        line-height: 60px
    }
}

.typo--quote {
    font-size: 21px;
    line-height: 26px;
    font-weight: 500
}

@media screen and (min-width:600px) and (max-width:799px) {
    .typo--quote {
        font-size: 27px;
        line-height: 33px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .typo--quote {
        font-size: 30px;
        line-height: 35px
    }
}

@media screen and (min-width:1040px) {
    .typo--quote {
        font-size: 35px;
        line-height: 40px
    }
}

.typo--titleSmall {
    font-size: 19px;
    font-weight: 500;
    line-height: 24px
}

@media screen and (min-width:600px) and (max-width:799px) {
    .typo--titleSmall {
        font-size: 21px;
        line-height: 26px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .typo--titleSmall {
        font-size: 24px;
        line-height: 30px
    }
}

@media screen and (min-width:1040px) {
    .typo--titleSmall {
        font-size: 27px;
        line-height: 32px
    }
}

.typo--titleSmall address,
.typo--titleSmall cite,
.typo--titleSmall dfn,
.typo--titleSmall em,
.typo--titleSmall i,
.typo--titleSmall var {
    font-style: italic
}

.share,
.share a,
.share button,
.typo--copyLarge,
button.footer__item {
    font-size: 17px;
    line-height: 25px
}

@media screen and (min-width:800px) {

    .share,
    .share a,
    .share button,
    .typo--copyLarge,
    button.footer__item {
        font-size: 19px;
        line-height: 27px
    }
}

.share h1,
.share h2,
.share h3,
.share h4,
.typo--copyLarge h1,
.typo--copyLarge h2,
.typo--copyLarge h3,
.typo--copyLarge h4,
button.footer__item h1,
button.footer__item h2,
button.footer__item h3,
button.footer__item h4 {
    font-weight: 500;
    margin-bottom: 1em;
    font-size: inherit;
    line-height: inherit
}

.share p:empty,
.typo--copyLarge p:empty,
button.footer__item p:empty {
    display: none
}

.share p,
.share ul,
.typo--copyLarge p,
.typo--copyLarge ul,
button.footer__item p,
button.footer__item ul {
    margin-bottom: 1.4em
}

.share address,
.share cite,
.share dfn,
.share em,
.share i,
.share var,
.typo--copyLarge address,
.typo--copyLarge cite,
.typo--copyLarge dfn,
.typo--copyLarge em,
.typo--copyLarge i,
.typo--copyLarge var,
button.footer__item address,
button.footer__item cite,
button.footer__item dfn,
button.footer__item em,
button.footer__item i,
button.footer__item var {
    font-style: italic
}

.share a,
.typo--copyLarge a,
button.footer__item a {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-image: -o-linear-gradient(top, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-image: linear-gradient(to bottom, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.share a:hover,
.typo--copyLarge a:hover,
button.footer__item a:hover {
    background-image: -webkit-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: -o-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: linear-gradient(to bottom, #1a1a1a 75%, #1a1a1a 75%)
}

.share a.typo--notBordered,
.typo--copyLarge a.typo--notBordered,
button.footer__item a.typo--notBordered {
    background-image: none
}

.typo--copyLarge--dark a {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, .5) 75%, rgba(255, 255, 255, .5) 75%);
    background-image: -o-linear-gradient(top, rgba(255, 255, 255, .5) 75%, rgba(255, 255, 255, .5) 75%);
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .5) 75%, rgba(255, 255, 255, .5) 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.typo--copyLarge--dark a:hover {
    background-image: -webkit-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: -o-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: linear-gradient(to bottom, #fff 75%, #fff 75%)
}

.typo--listingTitle {
    font-size: 17px;
    line-height: 25px;
    font-weight: 400
}

@media screen and (min-width:800px) {
    .typo--listingTitle {
        font-size: 19px;
        line-height: 25px
    }
}

.typo--copy {
    font-size: 17px;
    line-height: 25px
}

@media screen and (min-width:800px) {
    .typo--copy {
        font-size: 19px;
        line-height: 25px
    }
}

.typo--number {
    font-size: 13px;
    vertical-align: top;
    margin-left: 10px;
    display: inline;
    line-height: 13px;
    top: 3px;
    position: relative
}

@media screen and (min-width:1040px) {
    .typo--number {
        top: 2px
    }
}

.typo--nav {
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 19px;
    font-variant: normal;
    font-feature-settings: 'smcp';
    letter-spacing: .5px
}

.ie .typo--nav {
    font-variant: small-caps;
    font-variant-caps: small-caps
}

@media screen and (min-width:600px) {
    .typo--nav {
        font-size: 20px
    }
}

@media screen and (min-width:800px) {
    .typo--nav {
        font-size: 22px
    }
}

.typo--a17 {
    font-size: 19px;
    font-variant: normal;
    font-feature-settings: 'smcp';
    white-space: nowrap
}

.ie .typo--a17 {
    font-variant: small-caps;
    font-variant-caps: small-caps
}

@media screen and (min-width:600px) {
    .typo--a17 {
        font-size: 20px
    }
}

@media screen and (min-width:800px) {
    .typo--a17 {
        font-size: 22px
    }
}

.typo--navHeader {
    font-size: 22px;
    font-variant: normal;
    font-feature-settings: 'smcp';
    letter-spacing: .5px
}

.ie .typo--navHeader {
    font-variant: small-caps;
    font-variant-caps: small-caps
}

.typo--caption,
.typo--small {
    font-size: 13px;
    line-height: 18px;
    font-weight: 400
}

@media screen and (min-width:600px) {

    .typo--caption,
    .typo--small {
        font-size: 15px;
        line-height: 22px
    }
}

.typo--caption address,
.typo--caption cite,
.typo--caption dfn,
.typo--caption em,
.typo--caption i,
.typo--caption var,
.typo--small address,
.typo--small cite,
.typo--small dfn,
.typo--small em,
.typo--small i,
.typo--small var {
    font-style: italic
}

.typo--caption,
.typo--secondary {
    color: #999;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.typo--note {
    color: #999;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.typo--asLink {
    color: #e61428;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.typo--bordered .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-image: -o-linear-gradient(top, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-image: linear-gradient(to bottom, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.typo--bordered:hover .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: -o-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: linear-gradient(to bottom, #1a1a1a 75%, #1a1a1a 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.typo--link {
    color: #e61428;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, rgba(230, 20, 40, 0) 75%, rgba(230, 20, 40, 0) 75%);
    background-image: -o-linear-gradient(top, rgba(230, 20, 40, 0) 75%, rgba(230, 20, 40, 0) 75%);
    background-image: linear-gradient(to bottom, rgba(230, 20, 40, 0) 75%, rgba(230, 20, 40, 0) 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.typo--link:hover {
    background-image: -webkit-linear-gradient(top, #e61428 75%, #e61428 75%);
    background-image: -o-linear-gradient(top, #e61428 75%, #e61428 75%);
    background-image: linear-gradient(to bottom, #e61428 75%, #e61428 75%)
}

a:hover .typo--link {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #e61428 75%, #e61428 75%);
    background-image: -o-linear-gradient(top, #e61428 75%, #e61428 75%);
    background-image: linear-gradient(to bottom, #e61428 75%, #e61428 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.typo--toggle {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-left: 19px;
    position: relative;
    color: #999
}

.typo--toggle:before {
    content: '';
    position: absolute;
    display: block;
    height: 10px;
    width: 10px;
    left: 0;
    top: 50%;
    margin-top: -6px;
    border: 1px solid #999;
    border-radius: 50%;
    background: rgba(26, 26, 26, 0)
}

.typo--toggle.js--active {
    color: #1a1a1a
}

.typo--toggle.js--active:before {
    border-color: #1a1a1a;
    background: #1a1a1a
}

.no-touch .typo--toggle:hover {
    color: #1a1a1a
}

.no-touch .typo--toggle:hover:before {
    border-color: #1a1a1a
}

.typo--arrow {
    display: inline;
    padding-right: 1.3em
}

.typo--arrow .typo--hovered {
    display: inline
}

.typo--arrow+.arrowExternal {
    margin-left: -1.3em
}

.typo--dark .typo--caption,
.typo--dark .typo--note,
.typo--dark .typo--secondary {
    color: #666
}

.typo--plus {
    padding-right: 22px;
    position: relative
}

.typo--plus:after,
.typo--plus:before {
    content: '';
    position: absolute;
    display: block
}

.typo--plus:before {
    height: 2px;
    width: 12px;
    right: 0;
    top: calc(50% - 3px);
    background: #999
}

.typo--plus:after {
    height: 12px;
    width: 2px;
    right: 5px;
    top: calc(50% - 8px);
    background: #999
}

.typo--frac {
    font-variant-numeric: diagonal-fractions;
    font-feature-settings: "frac";
    margin-left: .15em;
    margin-right: .15em
}

.typo--fracAnimated {
    font-size: .85em;
    position: relative;
    top: -.03em;
    vertical-align: top
}

@media screen and (min-width:600px) {
    .typo--fracAnimated {
        top: -.01em
    }
}

@media screen and (min-width:800px) {
    .typo--fracAnimated {
        top: -.05em
    }
}

.typo--sc {
    letter-spacing: .5px;
    font-variant: normal;
    font-feature-settings: 'smcp'
}

.ie .typo--sc {
    font-variant: small-caps;
    font-variant-caps: small-caps
}

.typo--hidden {
    visibility: hidden
}

.underlined {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-image: -o-linear-gradient(top, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-image: linear-gradient(to bottom, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.underlined:hover {
    background-image: -webkit-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: -o-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: linear-gradient(to bottom, #1a1a1a 75%, #1a1a1a 75%)
}

.typo--hovered:hover,
a:hover .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: -o-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: linear-gradient(to bottom, #1a1a1a 75%, #1a1a1a 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.typo--asLink .typo--hovered:hover,
a.typo--asLink:hover .typo--hovered,
a:hover .typo--asLink .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #e61428 75%, #e61428 75%);
    background-image: -o-linear-gradient(top, #e61428 75%, #e61428 75%);
    background-image: linear-gradient(to bottom, #e61428 75%, #e61428 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

@media screen and (min-width:800px) {

    .typo--titleSmall .typo--hovered:hover,
    a:hover .typo--titleSmall .typo--hovered {
        background-position: 0 95%
    }
}

.typo--dark .underlined {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, .5) 75%, rgba(255, 255, 255, .5) 75%);
    background-image: -o-linear-gradient(top, rgba(255, 255, 255, .5) 75%, rgba(255, 255, 255, .5) 75%);
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .5) 75%, rgba(255, 255, 255, .5) 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.typo--dark .underlined:hover {
    background-image: -webkit-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: -o-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: linear-gradient(to bottom, #fff 75%, #fff 75%)
}

.typo--dark .typo--hovered:hover,
.typo--dark a:hover .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: -o-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: linear-gradient(to bottom, #fff 75%, #fff 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

@media screen and (min-width:800px) {

    .typo--dark .typo--titleSmall .typo--hovered:hover,
    .typo--dark a:hover .typo--titleSmall .typo--hovered {
        background-position: 0 95%
    }
}

.progress-bar {
    height: 2px;
    background: rgba(180, 180, 180, .7);
    width: 100%;
    max-width: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    -webkit-transition: -webkit-transform .3s ease, max-width 2s cubic-bezier(.19, 1, .22, 1);
    -o-transition: -o-transform .3s ease, max-width 2s cubic-bezier(.19, 1, .22, 1);
    transition: transform .3s ease, max-width 2s cubic-bezier(.19, 1, .22, 1);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999
}

.html--loading .progress-bar {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    max-width: 100%
}

@-webkit-keyframes fadeinout {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@-o-keyframes fadeinout {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes fadeinout {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

.time__separator {
    padding: 0 .1em;
    margin-top: -.25em;
    top: -.1em;
    position: relative;
    -webkit-animation: fadeinout 2s steps(1) infinite;
    -o-animation: fadeinout 2s steps(1) infinite;
    animation: fadeinout 2s steps(1) infinite
}

@-webkit-keyframes updown {
    0% {
        -webkit-transform: translate3d(0, -20%, 0);
        transform: translate3d(0, -20%, 0)
    }

    50% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, -20%, 0);
        transform: translate3d(0, -20%, 0)
    }
}

@-o-keyframes updown {
    0% {
        transform: translate3d(0, -20%, 0)
    }

    50% {
        transform: translate3d(0, 0, 0)
    }

    100% {
        transform: translate3d(0, -20%, 0)
    }
}

@keyframes updown {
    0% {
        -webkit-transform: translate3d(0, -20%, 0);
        transform: translate3d(0, -20%, 0)
    }

    50% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, -20%, 0);
        transform: translate3d(0, -20%, 0)
    }
}

.loadMore {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-appearance: none;
    font-size: 1em;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    background: 0 0;
    display: block;
    width: 100%;
    text-align: center;
    color: #999;
    padding-top: 48px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden
}

.js-NeueHaas-loaded .loadMore {
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif
}

.loadMore:focus {
    color: #1a1a1a;
    outline: 0;
    box-shadow: none
}

.loadMore .icon--arrow_load_more {
    color: inherit;
    display: inline-block;
    margin-top: 10px;
    font-size: inherit;
    vertical-align: top;
    line-height: inherit;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0)
}

.loadMore:hover {
    color: #1a1a1a
}

.loadMore:hover .icon--arrow_load_more {
    -webkit-animation: updown 2s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards;
    -o-animation: updown 2s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards;
    animation: updown 2s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards
}

.loadMore svg {
    width: 100%;
    height: 100%;
    display: inline-block;
    vertical-align: top
}

.loadMore__label {
    display: block
}

.loadMore__loading {
    display: none;
    height: 23px
}

@media screen and (min-width:600px) {
    .loadMore__loading {
        height: 25px
    }
}

@media screen and (min-width:800px) {
    .loadMore__loading {
        height: 27px
    }
}

.loadMore:disabled .loadMore__label {
    display: none
}

.loadMore:disabled .loadMore__loading {
    display: block
}

.loadMore:disabled:hover {
    color: #999
}

.loadMore:disabled .icon--arrow_load_more {
    visibility: hidden
}

[data-behavior*=masonry] .loadMore {
    position: absolute;
    bottom: 0
}

.btnClose .icon--close {
    display: none;
    overflow: visible
}

@media screen and (min-width:600px) {
    .btnClose .icon--close {
        display: block
    }
}

.btnClose svg {
    width: 100%;
    height: 100%;
    display: block
}

.btnClose .icon--close_mobile {
    display: block;
    overflow: visible
}

@media screen and (min-width:600px) {
    .btnClose .icon--close_mobile {
        display: none
    }
}

.arrowExternal {
    display: inline;
    font-size: inherit
}

.arrowExternal .icon--arrow_external-link_small {
    display: inline-block;
    margin-left: 8px
}

.arrowExternal .icon--arrow_external-link_large {
    margin-left: 9px;
    display: none
}

@media screen and (min-width:1040px) {
    .arrowExternal .icon--arrow_external-link_large {
        display: inline-block
    }
}

.arrowExternal .icon--arrow_external-link_large+.icon--arrow_external-link_small {
    display: inline-block
}

@media screen and (min-width:1040px) {
    .arrowExternal .icon--arrow_external-link_large+.icon--arrow_external-link_small {
        display: none
    }
}

.arrowExternal svg {
    position: relative;
    overflow: visible;
    vertical-align: middle
}

@media screen and (min-width:1040px) {
    .arrowExternal svg {
        top: -1px
    }
}

.logo {
    display: block;
    max-width: 158px;
    max-height: 31px;
    margin-top: 16px;
    color: #e61428;
    -webkit-tap-highlight-color: transparent
}

.logo:focus {
    outline: 0
}

.logo svg {
    display: block;
    height: 100%;
    width: 100%;
    vertical-align: top
}

.logo .logo__variant--large,
.logo .logo__variant--medium,
.logo .logo__variant--xlarge {
    display: none
}

.logo .logo__variant--small {
    display: block
}

@media screen and (min-width:666px) {
    .logo .logo__variant--small {
        display: none
    }
}

@media screen and (min-width:600px) {
    .logo {
        margin-top: 24px
    }
}

@media screen and (max-width:1039px) and (min-width:666px) {
    .logo {
        max-width: 190px;
        max-height: 37px;
        margin-top: 25px
    }

    .logo .logo__variant--medium {
        display: block
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .logo {
        margin-top: 24px
    }

    .logo .logo__variant--medium {
        display: block
    }
}

@media screen and (min-width:1040px) {
    .logo {
        max-width: 210px;
        max-height: 41px;
        margin-top: 29px
    }

    .logo .logo__variant--large {
        display: block
    }
}

.newsletter {
    background: #f2f2f2;
    font-size: 19px;
    font-weight: 500;
    line-height: 24px;
    overflow: hidden;
    width: 100vw;
    max-height: 0
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsletter {
        font-size: 21px;
        line-height: 26px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsletter {
        font-size: 24px;
        line-height: 30px
    }
}

@media screen and (min-width:1040px) {
    .newsletter {
        font-size: 27px;
        line-height: 32px
    }
}

.js--newsletter .newsletter {
    max-height: 201px
}

.newsletter__form {
    border-bottom: 1px solid #e3e4e5;
    margin: 70px 0;
    position: relative
}

.newsletter__email {
    font-size: 19px;
    font-weight: 500;
    background: #f2f2f2;
    display: block;
    width: calc(100% - 120px);
    padding: 0;
    border: 0 none;
    height: 60px;
    line-height: 60px;
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-align: left;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-appearance: none;
    border-radius: 0
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsletter__email {
        font-size: 21px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsletter__email {
        font-size: 24px
    }
}

@media screen and (min-width:1040px) {
    .newsletter__email {
        font-size: 27px
    }
}

.newsletter__email::-webkit-search-cancel-button,
.newsletter__email::-webkit-search-decoration,
.newsletter__email::-webkit-search-results-button,
.newsletter__email::-webkit-search-results-decoration {
    display: none
}

.newsletter__email::-ms-clear {
    display: none
}

.newsletter__email::-ms-reveal {
    display: none
}

.newsletter__email:focus {
    outline: 0;
    box-shadow: none
}

@media screen and (min-width:600px) {
    .newsletter__email {
        width: calc(100% - 150px)
    }
}

.newsletter__email::-webkit-input-placeholder {
    color: #ccc
}

.newsletter__email:-moz-placeholder {
    color: #ccc
}

.newsletter__email::-moz-placeholder {
    color: #ccc
}

.newsletter__email:-ms-input-placeholder {
    color: #ccc
}

.newsletter__btn {
    font-size: 19px;
    font-weight: 500;
    right: 0;
    top: 0;
    position: absolute;
    display: block;
    height: 60px;
    line-height: 60px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsletter__btn {
        font-size: 21px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsletter__btn {
        font-size: 24px
    }
}

@media screen and (min-width:1040px) {
    .newsletter__btn {
        font-size: 27px
    }
}

.newsletter__btn :disabled {
    color: #999
}

.newsletter__error,
.newsletter__info,
.newsletter__success {
    top: 0;
    display: none;
    position: absolute;
    font-size: 19px;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 60px;
    line-height: 60px
}

@media screen and (min-width:600px) and (max-width:799px) {

    .newsletter__error,
    .newsletter__info,
    .newsletter__success {
        font-size: 21px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .newsletter__error,
    .newsletter__info,
    .newsletter__success {
        font-size: 24px
    }
}

@media screen and (min-width:1040px) {

    .newsletter__error,
    .newsletter__info,
    .newsletter__success {
        font-size: 27px
    }
}

.newsletter__error {
    right: 0;
    color: #e61428
}

.newsletter__info,
.newsletter__success {
    left: 0
}

.newsletter__messageFull {
    display: none
}

@media screen and (min-width:800px) {
    .newsletter__messageFull {
        display: inline
    }
}

@media screen and (min-width:800px) {
    .newsletter__messageSmall {
        display: none
    }
}

@media screen and (max-width:599px) {

    .js--error .newsletter__email,
    .js--info .newsletter__email,
    .js--success .newsletter__email {
        visibility: hidden
    }
}

.js--success {
    border-color: #f2f2f2
}

.js--success .newsletter__success {
    display: block
}

.js--success .newsletter__btn {
    display: none
}

.js--success .newsletter__email {
    visibility: hidden
}

.js--info {
    border-color: #f2f2f2
}

.js--info .newsletter__info {
    display: block
}

.js--info .newsletter__btn {
    display: none
}

.js--info .newsletter__email {
    visibility: hidden
}

.js--error .newsletter__btn {
    display: none
}

.js--error .newsletter__error {
    display: block
}

#homeLoader {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    position: fixed;
    z-index: 0;
    top: 0;
    background: #EEE;
    text-align: center;
    line-height: 100vh
}

.workItem__link {
    display: block
}

.workItem__picture {
    display: block;
    height: 0;
    padding-bottom: 62.9032258065%;
    background-color: #e3e4e5;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden
}

.workItem__picture.js--lazyloaded,
.workItem__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

.workItem__img {
    width: 100%;
    position: absolute;
    inset: 0;
    height: 100%
}

video.workItem__img {
    inset: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px)
}

.workItem__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.workItem__img[data-src]:not([src^="data:image"]) {
    opacity: 0
}

.workItem__title {
    padding-top: 10px;
    min-height: 75px
}

@media screen and (min-width:600px) {
    .workItem__title {
        min-height: 0;
        height: 75px;
        overflow: hidden;
        padding-right: 5%
    }
}

.workItem__title>* {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 2.8em
}

.workItem__titleTruncate {
    display: block
}

.workFeatureItem {
    overflow: hidden;
    position: relative
}

.workFeatureItem__link {
    display: block;
    width: 100%
}

@media screen and (min-width:1040px) {
    .workFeatureItem__link {
        position: absolute;
        top: 0;
        bottom: 0
    }
}

.workFeatureItem__picture {
    display: block;
    height: 0;
    padding-bottom: 62.9032258065%;
    background-color: #e3e4e5;
    overflow: hidden;
    position: relative;
    display: block;
    background-size: cover;
    background-position: center
}

.workFeatureItem__picture.js--lazyloaded,
.workFeatureItem__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

@media screen and (min-width:1040px) {
    .workFeatureItem__picture {
        width: 100%;
        height: calc(100% - 75px);
        padding-bottom: 0
    }
}

.workFeatureItem__tagline {
    display: none
}

@media screen and (min-width:800px) {
    .no-touch .workFeatureItem__link:hover .typo--listingTitle {
        display: none
    }

    .no-touch .workFeatureItem__link:hover .workFeatureItem__tagline {
        display: block;
        display: -webkit-box
    }
}

.workFeatureItem__img {
    display: block;
    width: 100%
}

@media screen and (min-width:1040px) {
    .workFeatureItem__img {
        position: absolute;
        top: 50%;
        -webkit-transform: translate3d(0, -50%, 0);
        transform: translate3d(0, -50%, 0)
    }
}

.workFeatureItem__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.workFeatureItem__img[data-src]:not([src^="data:image"]) {
    opacity: 0
}

.workFeatureItem__title {
    width: 100%;
    background: #fff;
    padding-top: 10px;
    min-height: 75px
}

@media screen and (min-width:600px) {
    .workFeatureItem__title {
        min-height: 0;
        height: 75px;
        overflow: hidden;
        padding-right: 5%
    }
}

.workFeatureItem__title>* {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 2.8em
}

@media screen and (min-width:1040px) {
    .workFeatureItem__title {
        position: absolute;
        bottom: 0
    }
}

.workFeatureSmallItem__link {
    display: block;
    position: relative
}

.workFeatureSmallItem__picture {
    display: block;
    height: 0;
    padding-bottom: 62.9032258065%;
    background-color: #e3e4e5;
    width: 100%;
    overflow: hidden;
    position: relative;
    background-size: cover;
    background-position: center
}

.workFeatureSmallItem__picture.js--lazyloaded,
.workFeatureSmallItem__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

.workFeatureSmallItem__tagline {
    display: none;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 2.8em
}

@media screen and (min-width:800px) {
    .no-touch .workFeatureSmallItem__link:hover .typo--listingTitle {
        display: none
    }

    .no-touch .workFeatureSmallItem__link:hover .workFeatureSmallItem__tagline {
        display: block;
        display: -webkit-box
    }
}

.workFeatureSmallItem__img {
    display: block;
    width: 100%
}

.workFeatureSmallItem__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.workFeatureSmallItem__img[data-src]:not([src^="data:image"]) {
    opacity: 0
}

.workFeatureSmallItem__title {
    padding-top: 10px;
    min-height: 75px
}

@media screen and (min-width:600px) {
    .workFeatureSmallItem__title {
        min-height: 0;
        height: 75px;
        overflow: hidden;
        padding-right: 5%
    }
}

.workFeatureSmallItem__title>* {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 2.8em
}

.workMedia {
    overflow: hidden
}

.workMedia--caption {
    display: none
}

@media screen and (min-width:600px) {
    .workMedia--caption {
        display: block
    }
}

@media screen and (min-width:600px) {
    .workMedia--hideCaption .workMedia__caption {
        display: none
    }
}

@media screen and (min-width:600px) {
    .workMedia.js--positioned {
        position: absolute;
        float: none !important;
        margin-left: 0 !important
    }
}

.js--positioning .workMedia {
    opacity: 0;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.js--positioning .workMedia.js--positioned {
    opacity: 1
}

.workMedia__link {
    display: block;
    position: relative;
    overflow: hidden
}

.workMedia__img,
.workMedia__picture {
    display: block;
    width: 100%
}

.workMedia__img iframe,
.workMedia__picture iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: 0
}

.workMedia__img.js--lazyloaded iframe,
.workMedia__img.s--ready iframe,
.workMedia__picture.js--lazyloaded iframe,
.workMedia__picture.s--ready iframe {
    opacity: 1
}

@supports (-webkit-hyphens:none) {
    .workMedia__picture {
        -webkit-clip-path: polygon(1.5px 1.5px, calc(100% - 1.5px) 1.5px, calc(100% - 1.5px) calc(100% - 1.5px), 1.5px calc(100% - 1.5px));
        clip-path: polygon(1.5px 1.5px, calc(100% - 1.5px) 1.5px, calc(100% - 1.5px) calc(100% - 1.5px), 1.5px calc(100% - 1.5px))
    }
}

.no-touch [data-media-autoplayvideo] .workMedia__play {
    display: none
}

.workMedia__play {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    -webkit-transition: opacity .3s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .3s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .3s cubic-bezier(.59, .01, .28, 1);
    color: #fff;
    opacity: 1
}

.workMedia__play svg {
    width: 100%;
    height: 100%
}

.workMedia__play.icon--play {
    display: block
}

.workMedia__img+.workMedia__caption,
.workMedia__link+.workMedia__caption {
    padding-top: 16px
}

.workMedia__picture {
    display: block;
    background-size: cover;
    background-position: center
}

.workMedia__picture.js--lazyloaded,
.workMedia__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

.workMedia__picture--masonry {
    display: block;
    height: 0;
    padding-bottom: 66.40625%;
    background-color: #e3e4e5
}

.workMedia__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.workMedia__img[data-src]:not([src^="data:image"]) {
    opacity: 0
}

.workMedia__tip {
    position: absolute;
    left: 20px;
    bottom: 20px;
    opacity: 0;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.workMedia__tip .icon--plus {
    display: inline-block;
    margin-right: 4px
}

.workMedia__tip svg {
    width: 100%;
    height: 100%
}

.workMedia__numb {
    position: absolute;
    right: 20px;
    bottom: 20px;
    display: none
}

@media screen and (min-width:600px) {
    .workMedia__numb {
        display: block
    }
}

.workMedia__captionLine {
    display: block;
    padding-right: 5%;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (min-width:1040px) {
    .workMedia__captionLine {
        padding-right: 10%
    }
}

.workMedia__captionNumber {
    display: block;
    min-width: 25px
}

@media screen and (min-width:800px) {
    .workMedia__captionNumber {
        min-width: 30px
    }
}

.workMedia__captionText {
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.no-touch .workMedia__link:hover .workMedia__tip {
    opacity: 1
}

.workMedia__picture--hero {
    display: block;
    height: 0;
    padding-bottom: 62.3076923077%;
    background-color: #e3e4e5;
    overflow: hidden;
    position: relative
}

.workMedia__picture--hero:before {
    color: #999;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: attr(data-loading);
    position: absolute;
    top: 20px;
    left: 20px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 1
}

.workMedia__picture--hero img,
.workMedia__picture--hero video {
    position: relative;
    z-index: 1
}

.workMedia__picture--hero .workMedia__img {
    position: absolute
}

@media screen and (min-width:600px) {

    .workContent__assets .workMedia__caption,
    .workMedia--masonry .workMedia__caption {
        padding-bottom: 20px
    }
}

.workMedias .workMedia {
    margin-bottom: 20px
}

.newsContent .workMedia {
    margin-top: 50px;
    margin-bottom: 50px
}

.newsContent .workMedia:first-child {
    margin-top: 0
}

.newsContent .workMedia .workMedia__caption {
    margin-bottom: 0;
    padding-bottom: 0
}

.workVideo {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 56.25%
}

.workVideo__resizer {
    float: right;
    width: 100%
}

@media screen and (max-width:599px) {

    .workVideo__player.js--abs .workVideo__resizer,
    .workVideo__player.js--scrolled .workVideo__resizer {
        width: calc(100vw - 40px)
    }
}

@media screen and (min-width:600px) and (max-width:799px) {

    .workVideo__player.js--abs .workVideo__resizer,
    .workVideo__player.js--scrolled .workVideo__resizer {
        width: calc(100vw - 60px)
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .workVideo__player.js--abs .workVideo__resizer,
    .workVideo__player.js--scrolled .workVideo__resizer {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px)
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {

    .workVideo__player.js--abs .workVideo__resizer,
    .workVideo__player.js--scrolled .workVideo__resizer {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px)
    }
}

@media screen and (min-width:1600px) {

    .workVideo__player.js--abs .workVideo__resizer,
    .workVideo__player.js--scrolled .workVideo__resizer {
        width: 740px
    }
}

.workVideo__inner {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 56.25%;
    background-color: #e3e4e5;
    width: 100%
}

.workVideo__inner.s--ready {
    background-color: transparent
}

.workVideo__inner embed,
.workVideo__inner iframe,
.workVideo__inner object {
    max-width: 100%
}

.workVideo__inner embed,
.workVideo__inner iframe,
.workVideo__inner object {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.workVideo__player {
    z-index: 1;
    text-align: right
}

@media screen and (max-width:599px) {
    .workVideo__player {
        width: calc(100vw - 40px)
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workVideo__player {
        width: calc(100vw - 60px)
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workVideo__player {
        width: calc(100vw - 80px)
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workVideo__player {
        width: calc(100vw - 100px)
    }
}

@media screen and (min-width:1600px) {
    .workVideo__player {
        width: 1500px
    }
}

.workVideo__player.js--scrolled {
    position: fixed;
    top: 90px;
    height: 0
}

@media screen and (max-width:799px) {
    .workVideo__player.js--scrolled {
        position: static;
        top: 0
    }
}

.workVideo__player.js--abs {
    position: absolute;
    top: 0;
    height: 0
}

@media screen and (max-width:799px) {
    .workVideo__player.js--abs {
        position: static;
        top: 0
    }
}

.workSlideshow {
    margin: 0 0 20px
}

.workSlideshow__slideshow {
    overflow: hidden;
    position: relative;
    padding-top: 62.5%;
    height: 0;
    overflow: hidden
}

.workSlideshow__slider {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0
}

.workSlideshow__item {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.workSlideshow__item img,
.workSlideshow__item video {
    width: 100%
}

.workSlideshow__item+.workSlideshow__item {
    left: 100%
}

.workSlideshow__paginator {
    position: absolute;
    right: 20px;
    bottom: 20px;
    opacity: 1
}

.workSlideshow__next,
.workSlideshow__previous {
    position: absolute;
    top: 0;
    bottom: 0;
    background: 0 0;
    border: 0 none;
    width: 100px;
    padding: 0;
    margin: 0;
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-appearance: none;
    font-size: 1em;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    background: 0 0;
    color: #999;
    opacity: 0;
    -webkit-transition: opacity .3s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .3s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .3s cubic-bezier(.59, .01, .28, 1)
}

.js-NeueHaas-loaded .workSlideshow__next,
.js-NeueHaas-loaded .workSlideshow__previous {
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif
}

.workSlideshow__next span,
.workSlideshow__previous span {
    display: inline-block;
    vertical-align: middle
}

.workSlideshow__next svg,
.workSlideshow__previous svg {
    width: 100%;
    height: 100%
}

.workSlideshow__next:focus,
.workSlideshow__previous:focus {
    outline: 0;
    box-shadow: none
}

.workSlideshow__next.js--hidden,
.workSlideshow__previous.js--hidden {
    opacity: 0 !important;
    cursor: default
}

@media screen and (max-width:799px) {

    .workSlideshow__next,
    .workSlideshow__previous {
        display: none
    }
}

.workSlideshow:hover .workSlideshow__next,
.workSlideshow:hover .workSlideshow__previous {
    opacity: 1
}

.workSlideshow__previous {
    left: 0;
    text-align: left
}

.workSlideshow__previous span {
    margin-left: 20px
}

.workSlideshow__next {
    right: 0;
    text-align: right
}

.workSlideshow__next span {
    margin-right: 20px
}

.workSlideshow__captions {
    overflow: hidden;
    margin-top: 20px;
    position: relative;
    width: 100%
}

.workSlideshow__captionsList {
    position: absolute;
    top: 0;
    width: 100%
}

.workSlideshow__captionsItem {
    display: none
}

.workSlideshow__captionsItem.js--active {
    display: block
}

.workQuote {
    margin-top: 37px;
    margin-bottom: 42px;
    position: relative
}

@media screen and (min-width:600px) {
    .workQuote {
        margin-top: 77px;
        margin-bottom: 77px
    }
}

@media screen and (min-width:600px) {
    .workQuote {
        padding-right: 15%
    }
}

@media screen and (min-width:800px) {
    .workQuote {
        padding-right: 5%
    }
}

@media screen and (min-width:1040px) {
    .workQuote {
        padding-right: 10%
    }
}

.workDetail .workDetail__quote:first-child .workQuote {
    margin-top: 34px
}

@media screen and (min-width:600px) {
    .workDetail .workDetail__quote .workQuote {
        padding-right: 5%
    }
}

@media screen and (min-width:800px) {
    .workDetail .workDetail__quote .workQuote {
        padding-right: 5%
    }
}

@media screen and (min-width:1040px) {
    .workDetail .workDetail__quote .workQuote {
        padding-right: 5%
    }
}

.workContent__assets .workQuote:first-child {
    margin-top: 0
}

.workQuote__text {
    display: inline;
    quotes: "\201C" "\201D" "\2018" "\2019"
}

.workQuote__text:before {
    content: open-quote
}

@media screen and (min-width:600px) {
    .workQuote__text:before {
        left: 0;
        top: 0;
        display: block;
        position: absolute;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

.workQuote__text:after {
    content: close-quote
}

.workQuote__link {
    display: inline-block;
    margin-top: 10px
}

@media screen and (min-width:600px) {
    .workQuote__link {
        margin-top: 30px
    }
}

.workViewChange {
    height: 60px;
    line-height: 60px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 105;
    padding: 0 20px;
    background: rgba(255, 255, 255, .97);
    color: #e61428;
    text-align: center;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: hidden;
    -webkit-transition: -webkit-transform .3s ease, visibility 0s .3s linear;
    -o-transition: -o-transform .3s ease, visibility 0s .3s linear;
    transition: transform .3s ease, visibility 0s .3s linear;
    overflow: hidden
}

@media screen and (min-width:600px) {
    .workViewChange {
        height: 60px;
        line-height: 60px
    }
}

@media screen and (min-width:1040px) {
    .workViewChange {
        height: 70px;
        line-height: 70px
    }
}

@media screen and (min-width:800px) {
    .workViewChange {
        display: none
    }
}

.workViewChange.js--loaded {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.workViewChange.js--scrolled {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: hidden;
    -webkit-transition: -webkit-transform .3s ease, visibility 0s .3s linear;
    -o-transition: -o-transform .3s ease, visibility 0s .3s linear;
    transition: transform .3s ease, visibility 0s .3s linear
}

.sideNav {
    display: none;
    text-align: center;
    position: fixed;
    width: 100vw;
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255, .97);
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: hidden;
    -webkit-transition: -webkit-transform .3s ease, visibility 0s .3s linear;
    -o-transition: -o-transform .3s ease, visibility 0s .3s linear;
    transition: transform .3s ease, visibility 0s .3s linear;
    z-index: 100;
    overflow: hidden;
    height: 60px;
    line-height: 60px
}

@media screen and (min-width:600px) {
    .sideNav {
        height: 60px;
        line-height: 60px
    }
}

@media screen and (min-width:1040px) {
    .sideNav {
        height: 70px;
        line-height: 70px
    }
}

.sideNav .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.sideNav.js--loaded {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.sideNav.js--scrolled {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: hidden;
    -webkit-transition: -webkit-transform .3s ease, visibility 0s .3s linear;
    -o-transition: -o-transform .3s ease, visibility 0s .3s linear;
    transition: transform .3s ease, visibility 0s .3s linear
}

@media screen and (max-width:599px) {
    .ios .sideNav {
        display: none
    }
}

@media screen and (min-width:800px) {
    .sideNav {
        display: block
    }
}

.sideNav__delimiter {
    visibility: hidden;
    height: 0
}

.sideNav__title {
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    padding: 0 30px
}

.sideNav__link {
    display: block;
    height: 100%;
    color: #999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 60px;
    line-height: 60px
}

@media screen and (min-width:600px) {
    .sideNav__link {
        height: 60px;
        line-height: 60px
    }
}

@media screen and (min-width:1040px) {
    .sideNav__link {
        height: 70px;
        line-height: 70px
    }
}

.sideNav__link:hover {
    color: #1a1a1a
}

.sideNav__link svg {
    display: block;
    width: 100%;
    height: 100%
}

.icon--arrow_next_detail,
.icon--arrow_prev_detail {
    display: none
}

@media screen and (min-width:800px) {

    .icon--arrow_next_detail,
    .icon--arrow_prev_detail {
        display: block
    }
}

.icon--arrow_next_detail_mobile,
.icon--arrow_prev_detail_mobile {
    display: block
}

@media screen and (min-width:800px) {

    .icon--arrow_next_detail_mobile,
    .icon--arrow_prev_detail_mobile {
        display: none
    }
}

.page-partner .sideNav,
.page-partners .sideNav {
    background: rgba(0, 0, 0, .9);
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.page-partner .sideNav__link,
.page-partners .sideNav__link {
    color: #666
}

.page-partner .sideNav__link:hover,
.page-partners .sideNav__link:hover {
    color: #fff
}

.abc {
    width: 100%;
    overflow: scroll;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    height: 120px !important;
    -webkit-overflow-scrolling: touch;
    margin-left: -20px;
    margin-right: -20px;
    width: 100vw;
    padding-left: 20px;
    padding-right: 20px
}

@media screen and (min-width:600px) {
    .abc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        overflow: hidden;
        padding-left: 0;
        padding-right: 0
    }
}

.abc__filter {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #999;
    padding: 0 5px;
    display: inline-block;
    height: 60px;
    line-height: 60px
}

@media screen and (min-width:600px) {
    .abc__filter {
        height: 60px;
        line-height: 60px
    }
}

@media screen and (min-width:1040px) {
    .abc__filter {
        height: 70px;
        line-height: 70px
    }
}

@media screen and (min-width:600px) {
    .abc__filter {
        padding: 0
    }
}

.abc__filter:first-child {
    padding-left: 0
}

.abc__filter:last-child {
    padding-right: 0
}

.abc__filter.js--active {
    color: #1a1a1a
}

.no-touch .abc__filter:hover {
    color: #1a1a1a
}

.share {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.js-NeueHaas-loaded .share {
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif
}

.workContent__metaCol .share {
    margin-top: 32px
}

@media screen and (min-width:800px) {
    .workContent__metaCol .share {
        margin-top: 70px
    }
}

.workDetail__featured+.share {
    margin-top: 16px
}

@media screen and (min-width:800px) {
    .workDetail__featured+.share {
        margin-top: 32px
    }
}

.share a,
.share button {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-image: -o-linear-gradient(top, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-image: linear-gradient(to bottom, rgba(26, 26, 26, .5) 75%, rgba(26, 26, 26, .5) 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%;
    margin-left: 5px;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

.share a:hover,
.share button:hover {
    background-image: -webkit-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: -o-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: linear-gradient(to bottom, #1a1a1a 75%, #1a1a1a 75%)
}

.share a span,
.share button span {
    display: block
}

.share a span {
    position: relative;
    top: 1px
}

.stickyTop {
    background: rgba(255, 255, 255, .97);
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: hidden;
    -webkit-transition: -webkit-transform .3s ease, visibility 0s .3s linear;
    -o-transition: -o-transform .3s ease, visibility 0s .3s linear;
    transition: transform .3s ease, visibility 0s .3s linear;
    z-index: 800
}

.stickyTop.js--active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.stickyTop.js--top {
    position: absolute;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    -webkit-transition-property: none;
    -o-transition-property: none;
    transition-property: none;
    -webkit-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
    z-index: 0
}

.stickyTop .container {
    height: 60px;
    line-height: 60px;
    position: relative
}

.stickyTop .container>* {
    height: 60px;
    line-height: 60px
}

@media screen and (min-width:600px) {
    .stickyTop .container {
        height: 60px;
        line-height: 60px
    }

    .stickyTop .container>* {
        height: 60px;
        line-height: 60px
    }
}

@media screen and (min-width:1040px) {
    .stickyTop .container {
        height: 70px;
        line-height: 70px
    }

    .stickyTop .container>* {
        height: 70px;
        line-height: 70px
    }
}

.stickyTop__link {
    display: inline-block;
    height: 100%;
    float: left
}

.stickyTop__link svg {
    top: 13px;
    position: relative
}

.stickyTop__navContainer {
    display: inline-block;
    height: 100%;
    float: right;
    font-size: 0
}

.stickyTop__nav--ham,
.stickyTop__nav--slide {
    display: none
}

@media screen and (min-width:600px) {

    .stickyTop__nav--ham,
    .stickyTop__nav--slide {
        display: inline-block;
        height: 100%;
        float: right
    }
}

.stickyTop__nav--hamMobile {
    display: inline-block;
    height: 100%;
    float: right
}

@media screen and (min-width:600px) {
    .stickyTop__nav--hamMobile {
        display: none
    }
}

.stickyTop__btn {
    display: inline-block;
    vertical-align: top;
    height: 60px;
    color: #999;
    font-size: 0
}

@media screen and (min-width:1040px) {
    .stickyTop__btn {
        vertical-align: top;
        height: 68px
    }
}

.stickyTop__btn .icon--search {
    display: inline-block
}

.stickyTop__btn svg {
    width: 100%;
    height: 100%
}

.no-touch .stickyTop__btn:hover {
    color: #1a1a1a
}

.stickyTop__item {
    color: #999;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: top
}

.no-touch .stickyTop__item:hover {
    color: #1a1a1a
}

.stickyTop__btn,
.stickyTop__item {
    margin-left: 20px
}

.stickyTop__btn:first-child,
.stickyTop__item:first-child {
    margin-left: 0
}

@media screen and (min-width:600px) and (max-width:799px) {

    .stickyTop__btn,
    .stickyTop__item {
        margin-left: 26px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .stickyTop__btn,
    .stickyTop__item {
        margin-left: 30px
    }
}

@media screen and (min-width:1040px) {

    .stickyTop__btn,
    .stickyTop__item {
        margin-left: 35px
    }
}

.stickyTop__icon {
    display: inline-block;
    margin-left: 7px
}

.stickyTop__icon svg {
    display: block;
    width: 100%;
    height: 100%
}

.page-partner .stickyTop,
.page-partners .stickyTop {
    background: rgba(0, 0, 0, .9)
}

.page-partner .stickyTop__btn,
.page-partner .stickyTop__item,
.page-partners .stickyTop__btn,
.page-partners .stickyTop__item {
    color: #666
}

.page-partner.no-touch .stickyTop__btn:hover,
.page-partner.no-touch .stickyTop__item:hover,
.page-partners.no-touch .stickyTop__btn:hover,
.page-partners.no-touch .stickyTop__item:hover {
    color: #fff
}

.page-work .stickyTop {
    display: none
}

.stickySearch {
    background: rgba(255, 255, 255, .97);
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: hidden;
    -webkit-transition: -webkit-transform .3s ease, visibility 0s .3s linear;
    -o-transition: -o-transform .3s ease, visibility 0s .3s linear;
    transition: transform .3s ease, visibility 0s .3s linear;
    z-index: 800
}

.stickySearch.js--active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.stickySearch.js--top {
    position: absolute;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    -webkit-transition-property: none;
    -o-transition-property: none;
    transition-property: none;
    -webkit-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
    z-index: 0
}

.stickySearch .container {
    height: 60px;
    line-height: 60px;
    position: relative
}

.stickySearch .container>* {
    height: 60px;
    line-height: 60px
}

@media screen and (min-width:600px) {
    .stickySearch .container {
        height: 60px;
        line-height: 60px
    }

    .stickySearch .container>* {
        height: 60px;
        line-height: 60px
    }
}

@media screen and (min-width:1040px) {
    .stickySearch .container {
        height: 70px;
        line-height: 70px
    }

    .stickySearch .container>* {
        height: 70px;
        line-height: 70px
    }
}

@media screen and (max-width:599px) {
    .stickySearch .container {
        height: 56px
    }
}

.stickySearch__title {
    float: left;
    max-width: calc(100% - 30px);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.stickySearch__btn {
    display: inline-block;
    height: 100%;
    float: right;
    color: #999
}

.no-touch .stickySearch__btn:hover {
    color: #1a1a1a
}

.partnerItem__link {
    display: block;
    padding-bottom: 50px
}

.partnerItem__picture {
    display: block;
    height: 0;
    padding-bottom: 100%;
    background-color: #1c1c1c;
    margin-bottom: 10px;
    background-size: cover;
    background-position: center
}

.partnerItem__picture.js--lazyloaded,
.partnerItem__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

.partnerItem__img {
    display: block;
    width: 100%
}

.partnerItem__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.partnerItem__img[data-src]:not([src^="data:image"]) {
    opacity: 0
}

.partnerNewsItem {
    border-top: 1px solid #262626
}

.partnerNewsItem__link {
    display: block;
    padding-top: 20px;
    padding-bottom: 43px
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerNewsItem__link {
        padding-right: 5%
    }
}

@media screen and (min-width:800px) {
    .partnerNewsItem__link {
        padding-right: 10%
    }
}

.partnerNewsItem__date {
    margin-top: 5px
}

.partnerPubItem {
    border-top: 1px solid #262626
}

.partnerPubItem__link {
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    width: calc(100% + 21px)
}

.partnerPubItem__link::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerPubItem__link {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerPubItem__link {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerPubItem__link {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerPubItem__link {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerPubItem__link {
        margin-left: -20px
    }
}

.partnerPubItem__cover {
    display: block;
    overflow: hidden;
    float: left;
    padding-bottom: 13px
}

@media screen and (max-width:599px) {
    .partnerPubItem__cover {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerPubItem__cover {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerPubItem__cover {
        width: calc((((100vw - 300px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerPubItem__cover {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerPubItem__cover {
        width: 360px;
        margin-left: 20px
    }
}

@media screen and (min-width:800px) {
    .partnerPubItem__cover {
        padding-bottom: 0
    }
}

.partnerPubItem__picture {
    display: block;
    height: 0;
    padding-bottom: 62.5%;
    background-color: #1c1c1c
}

.partnerPubItem__img {
    display: block;
    width: 100%
}

.partnerPubItem__title {
    float: left
}

@media screen and (max-width:599px) {
    .partnerPubItem__title {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerPubItem__title {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerPubItem__title {
        width: calc((((100vw - 300px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerPubItem__title {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerPubItem__title {
        width: 360px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {
    .partnerPubItem__title {
        padding-right: 4%
    }
}

.partnerPubItem__date {
    margin-top: 5px
}

.partnerVideoItem {
    border-top: 1px solid #262626
}

.partnerVideoItem__link {
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    width: calc(100% + 21px)
}

.partnerVideoItem__link::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerVideoItem__link {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerVideoItem__link {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerVideoItem__link {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerVideoItem__link {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerVideoItem__link {
        margin-left: -20px
    }
}

.partnerVideoItem__cover {
    display: block;
    overflow: hidden;
    float: left;
    padding-bottom: 13px
}

@media screen and (max-width:599px) {
    .partnerVideoItem__cover {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerVideoItem__cover {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerVideoItem__cover {
        width: calc((((100vw - 300px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerVideoItem__cover {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerVideoItem__cover {
        width: 360px;
        margin-left: 20px
    }
}

@media screen and (min-width:800px) {
    .partnerVideoItem__cover {
        padding-bottom: 0
    }
}

.partnerVideoItem__picture {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 62.5%;
    background-color: #1c1c1c
}

.partnerVideoItem__play {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    -webkit-transition: opacity .3s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .3s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .3s cubic-bezier(.59, .01, .28, 1);
    opacity: 1
}

.partnerVideoItem__play svg {
    width: 100%;
    height: 100%
}

.partnerVideoItem__play.icon--play {
    display: block
}

.partnerVideoItem__img {
    display: block;
    width: 100%
}

.partnerVideoItem__title {
    float: left
}

@media screen and (max-width:599px) {
    .partnerVideoItem__title {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerVideoItem__title {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerVideoItem__title {
        width: calc((((100vw - 300px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerVideoItem__title {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerVideoItem__title {
        width: 360px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {
    .partnerVideoItem__title {
        padding-right: 4%
    }
}

.partnerVideoItem__date {
    margin-top: 5px
}

.sectorItem__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
}

.sectorItem__list::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .sectorItem__list {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .sectorItem__list {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .sectorItem__list {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .sectorItem__list {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .sectorItem__list {
        margin-left: -20px
    }
}

.sectorItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.sectorItem__images {
    width: 100%;
    overflow: hidden
}

.sectorItem__link {
    display: block;
    padding-bottom: 44px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column wrap;
    flex-flow: column wrap
}

.sectorItem__link .sectorItem__images {
    pointer-events: none
}

.sectorItem__previewer {
    display: block;
    height: 0;
    padding-bottom: 62.9032258065%;
    position: relative;
    overflow: hidden;
    z-index: 1
}

.sectorItem__picture {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #e3e4e5;
    display: none;
    visibility: hidden;
    background-size: cover;
    background-position: center
}

.sectorItem__picture:first-child {
    visibility: visible
}

.sectorItem__picture.js--lazyloaded,
.sectorItem__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

.js--shuffled .sectorItem__picture {
    display: block
}

.sectorItem__img {
    display: block;
    width: 100%
}

.sectorItem__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.sectorItem__img[data-src]:not([src^="data:image"]) {
    opacity: 0
}

.sectorItem__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    -ms-flex-flow: column wrap;
    flex-flow: column wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.sectorItem__header>* {
    margin-bottom: 17px
}

.sectorItem__list article {
    float: left
}

@media screen and (max-width:599px) {
    .sectorItem__list article {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .sectorItem__list article {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .sectorItem__list article {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .sectorItem__list article {
        width: calc((((100vw - 320px)/ 12) * 4) + 60px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .sectorItem__list article {
        width: 486.67px;
        margin-left: 20px
    }
}

.carousel {
    margin-bottom: 42px
}

.carousel__slides {
    position: relative;
    overflow: hidden
}

@media screen and (max-width:599px) {
    .carousel__slides {
        margin-left: -20px;
        width: calc(100% + 40px)
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .carousel__slides {
        margin-left: -30px;
        width: calc(100% + 60px)
    }
}

@media screen and (min-width:800px) {
    .carousel__slides {
        width: 100%
    }
}

.carousel__next,
.carousel__previous {
    position: absolute;
    width: 100px;
    color: #999;
    opacity: 0;
    -webkit-transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    top: 0;
    height: calc(100% - 75px);
    display: none
}

.carousel__next svg,
.carousel__previous svg {
    width: 100%;
    height: 100%
}

.carousel__next span,
.carousel__previous span {
    display: inline-block
}

.carousel__next.js--hidden,
.carousel__previous.js--hidden {
    opacity: 0 !important;
    cursor: default
}

@media screen and (min-width:800px) {

    .no-touch .carousel__next,
    .no-touch .carousel__previous {
        display: block
    }
}

.carousel__previous {
    left: 0;
    text-align: left
}

.carousel__previous span {
    margin-left: 20px
}

@media screen and (max-width:599px) {
    .carousel__previous {
        margin-left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .carousel__previous {
        margin-left: 30px
    }
}

.carousel__next {
    right: 0;
    text-align: right
}

.carousel__next span {
    margin-right: 20px
}

.carousel__slides:hover .carousel__next,
.carousel__slides:hover .carousel__previous {
    opacity: 1
}

.workArchive__list--inline {
    margin-left: 0 !important
}

@media screen and (max-width:599px) {
    .workArchive__list--inline {
        padding-left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workArchive__list--inline {
        padding-left: 30px
    }
}

@media screen and (max-width:599px) {
    .workArchive__list--inline.flickity-enabled {
        padding-left: 0
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workArchive__list--inline.flickity-enabled {
        padding-left: 0
    }
}

.workArchive__list--inline article {
    margin-left: 0 !important
}

@media screen and (max-width:599px) {
    .workArchive__list--inline article {
        margin-right: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workArchive__list--inline article {
        margin-right: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workArchive__list--inline article {
        margin-right: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workArchive__list--inline article {
        margin-right: 20px
    }
}

@media screen and (min-width:1600px) {
    .workArchive__list--inline article {
        margin-right: 20px
    }
}

@media screen and (max-width:599px) {
    .carousel__slides .flickity-viewport {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .carousel__slides .flickity-viewport {
        margin-left: 30px;
        margin-right: 30px
    }
}

.calendarItem {
    padding-bottom: 52px
}

.calendarItem__desc {
    display: block
}

@media screen and (min-width:600px) {
    .calendarItem__desc {
        padding-right: 7%
    }
}

@media screen and (min-width:1040px) {
    .calendarItem__desc {
        padding-right: 15%
    }
}

.calendarItem__date {
    margin-bottom: 13px
}

@media screen and (min-width:600px) {
    .newsItem p {
        padding-right: 10%
    }
}

.newsItem__link {
    display: block;
    margin-bottom: 53px
}

.newsItem__picture {
    height: 0;
    display: block;
    display: block;
    height: 0;
    padding-bottom: 66.40625%;
    background-color: #e3e4e5;
    overflow: hidden;
    background-size: cover;
    background-position: center
}

.newsItem__picture.js--lazyloaded,
.newsItem__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

.newsItem__img {
    display: block;
    width: 100%
}

.newsItem__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.newsItem__img[data-src]:not([src^="data:image"]) {
    opacity: 0
}

.newsItem__title {
    margin: 18px 0 12px 0
}

@media screen and (min-width:600px) {
    .newsItem__title {
        padding-right: 5%
    }
}

@media screen and (min-width:1040px) {
    .newsItem__title {
        padding-right: 10%
    }
}

.pressItem {
    overflow: hidden;
    padding-top: 20px;
    border-top: 1px solid #e3e4e5
}

.pressItem__link {
    display: block;
    margin-bottom: 53px;
    width: calc(100% + 21px)
}

.pressItem__link::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .pressItem__link {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .pressItem__link {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .pressItem__link {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .pressItem__link {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .pressItem__link {
        margin-left: -20px
    }
}

.pressItem__cover {
    display: block;
    overflow: hidden;
    float: left
}

@media screen and (max-width:599px) {
    .pressItem__cover {
        width: calc((((100vw - 115px)/ 6) * 2) + 15px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .pressItem__cover {
        width: calc((((100vw - 135px)/ 6) * 1) + 0px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .pressItem__cover {
        width: calc((((100vw - 300px)/ 12) * 2) + 20px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .pressItem__cover {
        width: calc((((100vw - 320px)/ 12) * 2) + 20px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .pressItem__cover {
        width: 233.33px;
        margin-left: 20px
    }
}

.pressItem__picture {
    display: block;
    width: 100%;
    display: block;
    height: 0;
    padding-bottom: 100%;
    background-color: #e3e4e5;
    background-size: cover;
    background-position: center
}

.pressItem__picture.js--lazyloaded,
.pressItem__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

.pressItem__img {
    display: block;
    width: 100%
}

.sectorItem__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.sectorItem__img[data-src]:not([src^="data:image"]) {
    opacity: 0
}

.pressItem__title {
    float: left
}

@media screen and (max-width:599px) {
    .pressItem__title {
        width: calc((((100vw - 115px)/ 6) * 4) + 45px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .pressItem__title {
        width: calc((((100vw - 135px)/ 6) * 2) + 15px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .pressItem__title {
        width: calc((((100vw - 300px)/ 12) * 4) + 60px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .pressItem__title {
        width: calc((((100vw - 320px)/ 12) * 4) + 60px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .pressItem__title {
        width: 486.67px;
        margin-left: 20px
    }
}

.pressItem__title>* {
    margin-bottom: 12px;
    padding-right: 5%
}

@media screen and (min-width:1040px) {
    .pressItem__title>* {
        padding-right: 10%
    }
}

@media screen and (max-width:599px) {
    .pjaxNews__container .newsList:first-child .newsList__container .pressItem:first-child {
        padding-top: 0;
        border-top: 0 none
    }
}

@media screen and (min-width:600px) {

    .pjaxNews__container .newsList:first-child .newsList__container .newsItem:first-child+.pressItem,
    .pjaxNews__container .newsList:first-child .newsList__container .pressItem:first-child,
    .pjaxNews__container .newsList:first-child .newsList__container .pressItem:first-child+.pressItem {
        padding-top: 0;
        border-top: 0 none
    }
}

.newsList__press::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .newsList__press {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsList__press {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsList__press {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsList__press {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .newsList__press {
        margin-left: -20px
    }
}

@media screen and (min-width:600px) {
    .newsList__press {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

.newsList__press .pressItem {
    margin-top: -20px;
    margin-bottom: 20px;
    border-top: 0 none;
    padding-bottom: 20px;
    border-bottom: 1px solid #e3e4e5
}

.newsList__press .pressItem__link {
    margin-bottom: 0
}

.office {
    margin-bottom: 68px
}

.office__title {
    margin: 23px 0 17px 0
}

.office__carousel,
.office__picture {
    display: block;
    height: 0;
    padding-bottom: 132.8125%;
    background-color: #e3e4e5
}

.office__carousel {
    position: relative;
    cursor: pointer
}

.office__slides {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0
}

.office__slide {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0
}

.no-touch .office__slides .flickity-slider {
    -webkit-transform: none !important;
    -o-transform: none !important;
    transform: none !important
}

.no-touch .office__slides>.office__slide:first-child {
    opacity: 1
}

.no-touch .office__slide {
    left: 0 !important;
    opacity: 0;
    -webkit-transition: opacity 1s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity 1s cubic-bezier(.59, .01, .28, 1);
    transition: opacity 1s cubic-bezier(.59, .01, .28, 1)
}

.no-touch .office__slide.is-selected {
    opacity: 1
}

.office__picture {
    position: absolute;
    width: 100%;
    background-size: cover;
    background-position: center
}

.office__picture.js--lazyloaded,
.office__picture.s--ready {
    background-color: transparent !important;
    background-image: none !important
}

.office__img {
    display: block;
    width: 100%
}

.office__paginator {
    position: absolute;
    right: 20px;
    bottom: 20px;
    opacity: 0;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.office__carousel:hover .office__paginator {
    opacity: 1
}

.office__infos::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .office__infos {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .office__infos {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .office__infos {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .office__infos {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .office__infos {
        margin-left: -20px
    }
}

.office__address,
.office__desc {
    float: left
}

@media screen and (max-width:599px) {

    .office__address,
    .office__desc {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {

    .office__address,
    .office__desc {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .office__address,
    .office__desc {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {

    .office__address,
    .office__desc {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {

    .office__address,
    .office__desc {
        width: 360px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {

    .office__address p,
    .office__desc p {
        padding-right: 5%
    }
}

.searchFilters {
    -webkit-transition: max-height .5s cubic-bezier(.59, .01, .28, 1);
    -o-transition: max-height .5s cubic-bezier(.59, .01, .28, 1);
    transition: max-height .5s cubic-bezier(.59, .01, .28, 1);
    max-height: 0;
    height: auto;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-top: 27px
}

@media screen and (min-width:600px) {
    .searchFilters {
        margin-top: 0
    }
}

.searchFilters.js--active {
    max-height: 800px
}

@media screen and (max-width:599px) {
    .searchFilters.js--active {
        height: auto !important
    }
}

@media screen and (min-width:600px) {
    .searchFilters.js--active {
        max-height: 500px
    }
}

@media screen and (min-width:1040px) {
    .searchFilters.js--active {
        max-height: 400px
    }
}

.searchFilters__list {
    text-align: left;
    overflow: hidden
}

@media screen and (max-width:599px) {
    .searchFilters__list.js--active {
        height: auto !important
    }
}

.searchFilters__listInner {
    margin: 18px 0
}

.searchFilters__listInner::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .searchFilters__listInner {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .searchFilters__listInner {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .searchFilters__listInner {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .searchFilters__listInner {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .searchFilters__listInner {
        margin-left: -20px
    }
}

.searchFilters__listInner ul {
    float: left
}

@media screen and (max-width:599px) {
    .searchFilters__listInner ul {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .searchFilters__listInner ul {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .searchFilters__listInner ul {
        width: calc((((100vw - 300px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .searchFilters__listInner ul {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .searchFilters__listInner ul {
        width: 360px;
        margin-left: 20px
    }
}

.searchFilters__listInner li {
    height: 30px
}

.searchFilters__close {
    top: 8px;
    left: -1px;
    height: 12px;
    width: 12px;
    margin-right: 7px;
    display: none;
    position: relative
}

.searchFilters__item {
    height: 30px;
    line-height: 30px;
    cursor: pointer;
    overflow: hidden;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    background: #fff
}

.searchFilters__item:focus {
    outline: 0
}

.searchFilters__item svg {
    width: 100%;
    height: 100%;
    vertical-align: top
}

.searchFilters__item.js--active:hover {
    padding-left: 0
}

.searchFilters__item.js--active:hover:before {
    display: none
}

.searchFilters__item.js--active:hover .searchFilters__close {
    display: inline-block
}

.searchFilters__item.js--active:focus:hover {
    outline: 0;
    padding-left: 19px
}

.searchFilters__item.js--active:focus:hover:before {
    display: block
}

.searchFilters__item.js--active:focus:hover .searchFilters__close {
    display: none
}

.searchBtn {
    display: block;
    text-align: left;
    height: 40px;
    line-height: 40px;
    margin: 0;
    color: #999;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media screen and (min-width:600px) {
    .searchBtn {
        margin: 10px 25px 0 25px;
        display: inline-block;
        height: 70px;
        line-height: 70px;
        text-align: center
    }
}

.searchBtn.js--active {
    color: #1a1a1a
}

.searchBtn .searchBtn--icon:after,
.searchBtn .searchBtn--icon:before {
    background: #999
}

.searchBtn.js--active .searchBtn--icon:after,
.searchBtn.js--active .searchBtn--icon:before {
    background: #1a1a1a
}

.searchBtn.js--active .searchBtn--icon:after {
    display: none
}

.no-touch .searchBtn:hover {
    color: #1a1a1a
}

.no-touch .searchBtn:hover .searchBtn--icon:after,
.no-touch .searchBtn:hover .searchBtn--icon:before {
    background: #1a1a1a
}

.homeSlider {
    width: 100vw;
    overflow: hidden;
    position: fixed;
    z-index: 0;
    top: 0;
    height: 100vw;
    height: 115.625vw;
    max-height: 100%;
    background-color: grey
}

@media screen and (min-width:600px) and (max-width:799px) and (min-height:470px) {
    .homeSlider {
        height: 75vw
    }
}

@media screen and (min-width:800px) {
    .homeSlider {
        height: 100vh;
        min-height: 100%
    }
}

.homeSlider--push {
    height: 100vw;
    height: 115.625vw;
    max-height: 100%;
    width: 100vw;
    position: relative;
    background: 0 0;
    z-index: -1;
    margin-top: -90px;
    pointer-events: none;
    opacity: 0;
    max-height: 100%
}

@media screen and (min-width:600px) and (max-width:799px) and (min-height:470px) {
    .homeSlider--push {
        height: 75vw
    }
}

@media screen and (min-width:800px) {
    .homeSlider--push {
        height: 100vh;
        min-height: 100%
    }
}

@media screen and (min-width:800px) {
    .homeSlider--push {
        min-height: 100vh
    }
}

.homeSlider__slide,
.homeSlider__slider {
    width: 100vw;
    height: 100vw;
    height: 115.625vw;
    max-height: 100%
}

@media screen and (min-width:600px) and (max-width:799px) and (min-height:470px) {

    .homeSlider__slide,
    .homeSlider__slider {
        height: 75vw
    }
}

@media screen and (min-width:800px) {

    .homeSlider__slide,
    .homeSlider__slider {
        height: 100vh;
        min-height: 100%
    }
}

.homeSlider__slide {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    opacity: 1;
    z-index: 0;
    background-color: #e3e4e5
}

.homeSlider__slide.is--next {
    z-index: 1
}

.homeSlider__slide.is--previous {
    z-index: 1
}

.homeSlider__slide.is--selected {
    z-index: 10
}

.homeSlider__slide--dark {
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.homeSlider__slide--dark .homeSlider__link:hover .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: -o-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: linear-gradient(to bottom, #fff 75%, #fff 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.homeSlider__pictureLink {
    display: block
}

.homeSlider__wrapper {
    height: 100vw;
    height: 115.625vw;
    max-height: 100%;
    display: block
}

@media screen and (min-width:600px) and (max-width:799px) and (min-height:470px) {
    .homeSlider__wrapper {
        height: 75vw
    }
}

@media screen and (min-width:800px) {
    .homeSlider__wrapper {
        height: 100vh;
        min-height: 100%
    }
}

.homeSlider__pictureLink:hover+.homeSlider__text .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: -o-linear-gradient(top, #1a1a1a 75%, #1a1a1a 75%);
    background-image: linear-gradient(to bottom, #1a1a1a 75%, #1a1a1a 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.homeSlider__slide--dark .homeSlider__pictureLink:hover+.homeSlider__text .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: -o-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: linear-gradient(to bottom, #fff 75%, #fff 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.homeSlider__picture {
    height: 100vw;
    height: 115.625vw;
    max-height: 100%;
    position: relative;
    overflow: hidden;
    display: block;
    min-height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center
}

@media screen and (min-width:600px) and (max-width:799px) and (min-height:470px) {
    .homeSlider__picture {
        height: 75vw
    }
}

@media screen and (min-width:800px) {
    .homeSlider__picture {
        height: 100vh;
        min-height: 100%
    }
}

@media screen and (max-width:799px) {
    .homeSlider__picture img {
        min-width: 101%;
        min-height: 101%;
        height: 100%
    }

    .homeSlider__picture video {
        min-width: 101%;
        min-height: 101%;
        height: 100%
    }
}

@media screen and (min-width:800px) {

    .homeSlider__picture img,
    .homeSlider__picture video {
        min-width: 101%;
        min-height: 101%
    }
}

.homeSlider__picture img,
.homeSlider__picture video {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%)
}

.homeSlider__text {
    overflow: hidden;
    z-index: 150
}

@media screen and (max-width:599px) {
    .homeSlider__text {
        right: 20px;
        left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .homeSlider__text {
        right: 30px;
        left: 30px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .homeSlider__text {
        right: 40px;
        left: 40px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .homeSlider__text {
        right: 50px;
        left: 50px
    }
}

@media screen and (min-width:1600px) {
    .homeSlider__text {
        right: 50px;
        left: 50px
    }
}

@media screen and (min-width:1600px) {
    .homeSlider__text {
        right: calc(50vw - 750px);
        left: calc(50vw - 750px)
    }
}

.homeSlider__tagline,
.homeSlider__title {
    opacity: 0;
    -webkit-transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    -webkit-transition-delay: .4s;
    -o-transition-delay: .4s;
    transition-delay: .4s
}

.homeSlider__link {
    display: block;
    margin-right: 50px;
    padding-top: 70px
}

@media screen and (min-width:600px) {
    .homeSlider__link {
        margin-right: 90px
    }
}

@media screen and (min-width:800px) {
    .homeSlider__link {
        margin-right: 140px
    }
}

.homeSlider__tagline {
    display: none
}

@media screen and (min-width:600px) {
    .homeSlider__tagline {
        display: block
    }
}

@media screen and (min-width:600px) and (max-width:799px) and (min-height:570px) {
    .homeSlider__tagline {
        display: none
    }
}

.is--selected .homeSlider__tagline,
.is--selected .homeSlider__title,
.is-selected .homeSlider__tagline,
.is-selected .homeSlider__title {
    opacity: 1
}

.homeSlider__overlay {
    width: 100vw;
    overflow: hidden;
    position: absolute;
    z-index: 50;
    opacity: 1;
    background-color: #000;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0;
    height: 100vw;
    height: 115.625vw;
    max-height: 100%
}

@media screen and (min-width:600px) and (max-width:799px) and (min-height:470px) {
    .homeSlider__overlay {
        height: 75vw
    }
}

@media screen and (min-width:800px) {
    .homeSlider__overlay {
        height: 100vh;
        min-height: 100%
    }
}

.homeSlider__next,
.homeSlider__previewer,
.homeSlider__previous {
    position: absolute;
    z-index: 100;
    cursor: pointer
}

.homeSlider__next>*,
.homeSlider__previewer>*,
.homeSlider__previous>* {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.js--scrolled .homeSlider__next,
.js--scrolled .homeSlider__previous {
    display: none !important
}

.homeSlider__icon {
    position: absolute;
    top: 50%;
    display: block;
    height: 70px;
    width: 70px;
    border-radius: 50%;
    background: 0 0;
    color: #1a1a1a;
    opacity: 0;
    -webkit-transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    margin-top: -35px
}

.homeSlider__icon:focus {
    outline: 0;
    box-shadow: none
}

.homeSlider__icon span {
    display: inline-block;
    vertical-align: middle
}

.homeSlider__icon svg {
    width: 100%;
    height: 100%
}

.homeSlider__previous {
    left: 0
}

.homeSlider__previous .homeSlider__previewer {
    left: 0
}

.homeSlider__previous .homeSlider__icon {
    left: 25px
}

.homeSlider__previous .homeSlider__icon span {
    margin-left: -2px
}

.homeSlider__next {
    right: 0
}

.homeSlider__next .homeSlider__icon {
    right: 25px
}

.homeSlider__next .homeSlider__icon span {
    margin-left: 2px
}

.homeSlider__next .homeSlider__previewer {
    right: 0
}

.homeSlider__next:hover .homeSlider__icon,
.homeSlider__previous:hover .homeSlider__icon {
    opacity: 1
}

.homeSlider__navigator {
    z-index: 150
}

@media screen and (max-width:599px) {
    .homeSlider__navigator {
        right: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .homeSlider__navigator {
        right: 30px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .homeSlider__navigator {
        right: 40px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .homeSlider__navigator {
        right: 50px
    }
}

@media screen and (min-width:1600px) {
    .homeSlider__navigator {
        right: 50px
    }
}

@media screen and (min-width:1600px) {
    .homeSlider__navigator {
        right: calc(50vw - 750px)
    }
}

.homeSlider__navigator span {
    cursor: pointer
}

.homeSlider__navigator,
.homeSlider__text {
    position: absolute;
    bottom: 19px
}

@media screen and (min-width:800px) {

    .homeSlider__navigator,
    .homeSlider__text {
        bottom: 23px
    }
}

@media screen and (min-width:1040px) {

    .homeSlider__navigator,
    .homeSlider__text {
        line-height: 34px !important;
        margin-bottom: -1px
    }
}

@media screen and (min-width:1040px) {

    .homeSlider__navigator,
    .homeSlider__text {
        bottom: 31px
    }
}

.homeSlider__slash {
    margin-left: .2em;
    margin-right: .2em;
    -webkit-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center 0;
    -o-transform-origin: center center 0;
    transform-origin: center center 0;
    overflow: visible;
    display: inline-block
}

.page-home .header__btn .icon--search,
.page-home .header__item {
    color: #1a1a1a !important
}

.page-home--light .header__btn .icon--search,
.page-home--light .header__item,
.page-home--light .homeSlider__icon,
.page-home--light .homeSlider__navigator {
    color: #fff !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.page-home--light .homeSlider__link:hover .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: -o-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: linear-gradient(to bottom, #fff 75%, #fff 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.page-home--light .homeSlider__slide {
    background-color: #262626
}

.page-home--light .homeSlider__pictureLink:hover+.homeSlider__text .typo--hovered {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: -o-linear-gradient(top, #fff 75%, #fff 75%);
    background-image: linear-gradient(to bottom, #fff 75%, #fff 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.no-touch .homeSlider__slide {
    display: none
}

.no-touch .homeSlider__slide.is--next,
.no-touch .homeSlider__slide.is--previous,
.no-touch .homeSlider__slide.is--selected {
    display: block
}

.no-touch .homeSlider__next,
.no-touch .homeSlider__previous {
    width: 120px;
    display: none;
    top: 70px;
    bottom: 150px
}

@media screen and (min-width:800px) {

    .no-touch .homeSlider__next,
    .no-touch .homeSlider__previous {
        display: block;
        min-width: 120px;
        width: 18vw
    }
}

.no-touch .homeSlider__previewer {
    width: 120px;
    top: 0;
    bottom: 0
}

@media screen and (min-width:800px) {
    .no-touch .homeSlider__previewer {
        min-width: 120px;
        width: 13vw
    }
}

.touch .homeSlider__next,
.touch .homeSlider__previewer,
.touch .homeSlider__previous {
    display: none
}

.homeWork {
    width: 100vw;
    min-height: 100vh;
    background: #fff;
    position: relative;
    z-index: 1;
    overflow: hidden
}

@media screen and (max-width:599px) {
    .homeWork .workFilter__title {
        display: none
    }
}

.search__panel {
    width: 100%;
    z-index: 300;
    position: absolute;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.59, .01, .28, 1), visibility 0s .4s linear;
    -o-transition: -o-transform .4s cubic-bezier(.59, .01, .28, 1), visibility 0s .4s linear;
    transition: transform .4s cubic-bezier(.59, .01, .28, 1), visibility 0s .4s linear;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    height: 0;
    -webkit-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s
}

.search__panel>* {
    pointer-events: auto
}

.search--ready .search__panel {
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    transition-duration: .4s;
    opacity: 1;
    height: auto
}

.search.js--active .search__panel {
    height: 100%;
    max-height: 100%
}

.search__results {
    background: #fff;
    overflow: hidden
}

.search__mask,
.sidePanelWrap {
    opacity: 0;
    background: #fff;
    -webkit-transition: opacity .6s, visibility 0s .6s;
    -o-transition: opacity .6s, visibility 0s .6s;
    transition: opacity .6s, visibility 0s .6s;
    position: fixed;
    z-index: 299;
    width: 0;
    height: 100%;
    width: 100%;
    pointer-events: none;
    visibility: hidden
}

.search__form {
    padding-top: 101px;
    padding-bottom: 50px;
    background: #fff;
    text-align: center
}

@media screen and (min-width:600px) {
    .search__form {
        padding-top: 156px
    }
}

@media screen and (min-width:800px) {
    .search__form {
        padding-top: 147px
    }
}

@media screen and (min-width:1040px) {
    .search__form {
        padding-top: 156px
    }
}

.search__fieldset {
    position: relative;
    opacity: 0;
    -webkit-transition: opacity .25s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .25s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .25s cubic-bezier(.59, .01, .28, 1)
}

.search__fieldset .search__submit {
    opacity: 0;
    -webkit-transition: opacity .25s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .25s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .25s cubic-bezier(.59, .01, .28, 1)
}

.js-search .search__fieldset {
    opacity: .1
}

.js-search .search__fieldset .search__submit {
    opacity: 0
}

.search.js--active .search__fieldset {
    opacity: 1
}

.search.js--active .search__fieldset .search__submit {
    opacity: 1
}

.search__field {
    width: 100%;
    display: block;
    padding: 0;
    background: #fff;
    border: 0 none;
    border-bottom: 1px solid #e3e4e5;
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-align: left;
    margin-bottom: 15px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-appearance: none;
    border-radius: 0
}

.search__field::-webkit-search-cancel-button,
.search__field::-webkit-search-decoration,
.search__field::-webkit-search-results-button,
.search__field::-webkit-search-results-decoration {
    display: none
}

.search__field::-ms-clear {
    display: none
}

.search__field::-ms-reveal {
    display: none
}

.search__field:focus {
    outline: 0;
    box-shadow: none
}

.search__field:focus {
    border-color: #ccc
}

.search__field::-webkit-input-placeholder {
    color: #e3e4e5
}

.search__field:-moz-placeholder {
    color: #e3e4e5
}

.search__field::-moz-placeholder {
    color: #e3e4e5
}

.search__field:-ms-input-placeholder {
    color: #e3e4e5
}

@media screen and (min-width:600px) {
    .search__field {
        margin-bottom: 0
    }
}

.search__submit {
    position: absolute;
    right: 0;
    top: 0;
    text-align: right;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #999
}

.search__submit:hover {
    color: #1a1a1a
}

.search__submitLabel {
    display: none
}

@media screen and (min-width:600px) {
    .search__submitLabel {
        display: inline
    }
}

.search__submitIcon {
    display: inline-block
}

.search__submitIcon svg {
    width: 100%;
    height: 100%
}

@media screen and (min-width:600px) {
    .search__submitIcon {
        display: none
    }
}

.js--fieldReady .search__submit {
    color: #1a1a1a
}

.search__field,
.search__submit {
    height: 45px;
    line-height: 45px;
    font-weight: 500;
    font-size: 19px;
    font-weight: 500
}

@media screen and (min-width:600px) and (max-width:799px) {

    .search__field,
    .search__submit {
        font-size: 21px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .search__field,
    .search__submit {
        font-size: 24px
    }
}

@media screen and (min-width:1040px) {

    .search__field,
    .search__submit {
        font-size: 27px
    }
}

@media screen and (min-width:600px) {

    .search__field,
    .search__submit {
        height: 50px;
        line-height: 50px
    }
}

@media screen and (min-width:800px) {

    .search__field,
    .search__submit {
        height: 74px;
        line-height: 74px
    }
}

.search__resultsInner {
    overflow: hidden
}

.search.js--loaded .search__resultsInner {
    opacity: 1
}

.search.js--loading .search__resultsInner {
    opacity: .8
}

.js-search .header.js--active .header__logo,
.js-search .header.js--active .header__nav--search,
.js-search .header.js--scrolled .header__logo,
.js-search .header.js--scrolled .header__nav--search,
.page-search .header.js--active .header__logo,
.page-search .header.js--active .header__nav--search,
.page-search .header.js--scrolled .header__logo,
.page-search .header.js--scrolled .header__nav--search {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.js-search .header__navItems a.header__item,
.page-search .header__navItems a.header__item {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .5s cubic-bezier(.59, .01, .28, 1), visibility 0s .5s linear;
    -o-transition: opacity .5s cubic-bezier(.59, .01, .28, 1), visibility 0s .5s linear;
    transition: opacity .5s cubic-bezier(.59, .01, .28, 1), visibility 0s .5s linear
}

.js-search .header__nav--search,
.page-search .header__nav--search {
    display: block
}

.js-search .header__btn .icon--search,
.page-search .header__btn .icon--search {
    display: none
}

.js-search .header__btn .btnClose,
.page-search .header__btn .btnClose {
    display: inline-block
}

.js-search.page-partner .header__btn .btnClose,
.js-search.page-partners .header__btn .btnClose,
.page-search.page-partner .header__btn .btnClose,
.page-search.page-partners .header__btn .btnClose {
    color: #999
}

.js-search.page-partner .header__btn .btnClose:hover,
.js-search.page-partners .header__btn .btnClose:hover,
.page-search.page-partner .header__btn .btnClose:hover,
.page-search.page-partners .header__btn .btnClose:hover {
    color: #1a1a1a
}

.js-search .search__mask,
.js-search .sidePanelWrap,
.page-search .search__mask,
.page-search .sidePanelWrap {
    opacity: .9;
    pointer-events: auto;
    visibility: visible;
    -webkit-transition: opacity .6s;
    -o-transition: opacity .6s;
    transition: opacity .6s
}

.js-search .search__panel,
.page-search .search__panel {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.59, .01, .28, 1);
    -o-transition: -o-transform .4s cubic-bezier(.59, .01, .28, 1);
    transition: transform .4s cubic-bezier(.59, .01, .28, 1);
    -webkit-transition-delay: .2s;
    -o-transition-delay: .2s;
    transition-delay: .2s;
    visibility: visible
}

.js-search .content,
.page-search .content {
    -webkit-transform: translate3d(0, 250px, 0);
    transform: translate3d(0, 250px, 0);
    -webkit-transition-duration: .7s;
    -o-transition-duration: .7s;
    transition-duration: .7s
}

.js-searchOpened .wrapper {
    height: 100vh;
    overflow: hidden
}

.js-search {
    overflow: hidden;
    overflow-y: scroll
}

.js-search body {
    min-height: 100%
}

.js--searchExpanded {
    overflow: hidden;
    overflow-y: scroll
}

.js--searchExpanded .search__mask,
.js--searchExpanded .sidePanelWrap {
    opacity: .9;
    visibility: visible;
    -webkit-transition: opacity .4s;
    -o-transition: opacity .4s;
    transition: opacity .4s
}

.js--searchExpanded .search .search__panel {
    position: relative;
    max-height: none;
    pointer-events: auto;
    overflow: visible;
    height: auto
}

.js--searchExpanded .wrapper {
    display: none
}

.page-search .search__fieldset,
.page-search .search__mask,
.page-search .sidePanelWrap {
    opacity: 1;
    visibility: visible
}

.page-partner .search__mask,
.page-partner .sidePanelWrap,
.page-partners .search__mask,
.page-partners .sidePanelWrap {
    background: #000
}

.page-home .search__mask,
.page-home .sidePanelWrap {
    background: #000
}

.workFilter {
    text-align: center;
    position: relative;
    padding-top: 9px
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workFilter {
        padding-top: 63px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workFilter {
        padding-top: 67px
    }
}

@media screen and (min-width:1040px) {
    .workFilter {
        padding-top: 65px
    }
}

.workFilter__title {
    text-align: left;
    margin-bottom: 15px
}

@media screen and (min-width:600px) {
    .workFilter__title {
        margin-bottom: 0
    }
}

@media screen and (min-width:755px) {
    .workFilter__title {
        position: absolute;
        top: 0;
        left: 0;
        padding-left: 0;
        padding-right: 0
    }
}

.workFilter__form {
    position: relative;
    margin-bottom: -1px
}

@media screen and (min-width:600px) {
    .workFilter__form {
        overflow: hidden
    }
}

.workFilter--sep {
    border-bottom: 1px solid #e3e4e5
}

@media screen and (min-width:600px) {
    .workFilter--sep {
        width: auto;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0
    }
}

.workFilter__scroller {
    display: block;
    overflow: scroll;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    height: 100px
}

@media screen and (min-width:600px) {
    .workFilter__scroller {
        height: auto;
        display: inline-block;
        overflow: visible
    }
}

.workFilter__filter {
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0;
    margin-left: 20px;
    margin-right: 20px;
    border-bottom: 1px solid #e3e4e5;
    height: 50px;
    min-width: 100%
}

@media screen and (min-width:600px) {
    .workFilter__filter {
        margin-left: 0;
        margin-right: 0;
        height: auto;
        border-bottom: 0 none;
        min-width: auto
    }
}

.workFilter__wrapper {
    height: 50px;
    width: 100vw;
    margin-left: -20px;
    margin-right: -20px;
    overflow: hidden
}

@media screen and (min-width:600px) {
    .workFilter__wrapper {
        height: 64px
    }
}

@media screen and (min-width:755px) {
    .workFilter__wrapper {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        margin-top: -4px
    }
}

@media screen and (min-width:1040px) {
    .workFilter .workFilter__wrapper {
        margin-top: 7px
    }
}

.workFilter__activeFilter {
    position: absolute;
    left: 0;
    bottom: -1px;
    height: 1px;
    background: #000;
    pointer-events: none;
    width: 0;
    opacity: 0
}

@media screen and (min-width:600px) {
    .workFilter__activeFilter {
        bottom: 0
    }
}

.js--ready .workFilter__activeFilter {
    -webkit-transition: all .4s cubic-bezier(.59, .01, .28, 1);
    -o-transition: all .4s cubic-bezier(.59, .01, .28, 1);
    transition: all .4s cubic-bezier(.59, .01, .28, 1);
    opacity: 1
}

.workFilter__btn {
    display: inline-block;
    padding: 0;
    margin-left: 30px;
    position: relative;
    border-bottom: 1px solid #e3e4e5;
    height: 50px;
    line-height: 50px;
    color: #999
}

@media screen and (min-width:600px) {
    .workFilter__btn {
        height: 64px;
        line-height: 64px
    }
}

@media screen and (min-width:800px) {
    .workFilter__btn {
        margin-left: 40px
    }
}

.workFilter__btn:first-child {
    margin-left: 0
}

.no-touch .workFilter__btn:hover {
    color: #1a1a1a
}

@media screen and (max-width:599px) {

    .workFilter__filter a:last-of-type,
    .workFilter__filter button:last-of-type {
        margin-right: 20px
    }
}

.workFilter__btn--active {
    color: #1a1a1a
}

.workFilterSticky {
    background: rgba(255, 255, 255, .97);
    text-align: center;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 250;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: hidden;
    -webkit-transition: -webkit-transform .3s ease, visibility 0s .3s linear;
    -o-transition: -o-transform .3s ease, visibility 0s .3s linear;
    transition: transform .3s ease, visibility 0s .3s linear;
    height: 50px
}

@media screen and (min-width:600px) {
    .workFilterSticky {
        height: 60px
    }
}

@media screen and (min-width:1040px) {
    .workFilterSticky {
        height: 70px
    }
}

.workFilterSticky.js--active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.workFilterSticky .workFilter__btn {
    border: 0 none
}

.workFilterSticky .workFilter__filter {
    height: 60px;
    border: none
}

@media screen and (min-width:800px) {
    .workFilterSticky .workFilter__filter {
        height: 70px
    }
}

@media screen and (min-width:600px) {
    .workFilterSticky .workFilter__wrapper {
        margin-top: -2px
    }
}

@media screen and (min-width:1040px) {
    .workFilterSticky .workFilter__wrapper {
        margin-top: 0
    }
}

.workArchive {
    margin-bottom: 100px;
    padding-top: 38px;
    min-height: calc(100vh - 358px)
}

@media screen and (min-width:600px) {
    .workArchive {
        padding-top: 74px;
        min-height: calc(100vh - 429px)
    }
}

.workArchive__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    overflow: hidden;
    width: 100%
}

@media screen and (max-width:599px) {
    .workArchive__header--order {
        display: block
    }
}

.workArchive__order {
    margin-top: 30px;
    margin-bottom: 15px
}

@media screen and (min-width:600px) {
    .workArchive__order {
        margin-bottom: 0;
        margin-top: 2px
    }
}

@media screen and (min-width:800px) {
    .workArchive__order {
        margin-top: 4px
    }
}

@media screen and (min-width:1040px) {
    .workArchive__order {
        margin-bottom: 0;
        margin-top: 5px
    }
}

.workArchive__order .btn {
    display: inline-block;
    margin-right: 20px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media screen and (min-width:600px) {
    .workArchive__order .btn {
        margin-right: 40px
    }
}

.workArchive__order .btn:last-child {
    margin-right: 0
}

.workArchive__title {
    margin-bottom: 17px
}

.workArchive__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 17px
}

.workArchive__link a {
    white-space: nowrap;
    -ms-flex-item-align: end;
    align-self: flex-end
}

@media screen and (min-width:600px) {
    .workArchive__link {
        padding-top: 2px
    }
}

@media screen and (min-width:800px) {
    .workArchive__link {
        padding-top: 4px
    }
}

@media screen and (min-width:1040px) {
    .workArchive__link {
        padding-top: 5px
    }
}

.workArchive__listOuter {
    min-height: 66vh
}

.workArchive__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
}

.workArchive__list::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .workArchive__list {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workArchive__list {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workArchive__list {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workArchive__list {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .workArchive__list {
        margin-left: -20px
    }
}

.workArchive__list--inline {
    display: block;
    min-width: 999em
}

.workArchive__list--inline.flickity-enabled {
    overflow: hidden;
    max-height: initial;
    width: auto;
    margin-left: 0;
    min-width: 100%
}

.workArchive__list--inline .flickity-viewport {
    overflow: visible
}

.workArchive__list article {
    float: left
}

@media screen and (max-width:599px) {
    .workArchive__list article {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workArchive__list article {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workArchive__list article {
        width: calc((((100vw - 300px)/ 12) * 4) + 60px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workArchive__list article {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workArchive__list article {
        width: 360px;
        margin-left: 20px
    }
}

@media screen and (max-width:599px) {
    .workArchive__list--inline article {
        width: calc((((100vw - 115px)/ 6) * 5) + 60px)
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workArchive__list--inline article {
        width: calc((((100vw - 135px)/ 6) * 2.5) + 22.5px)
    }
}

.workArchive--featured {
    margin-bottom: 0
}

.workArchive--featured .workFeatureItem {
    width: 100%
}

@media screen and (min-width:800px) {
    .workArchive--featured .workFeatureItem {
        width: auto
    }
}

@media screen and (min-width:1040px) {
    .workArchive--featured .workFeatureItem {
        grid-row: span 2;
        grid-column: span 2
    }
}

@media screen and (min-width:1040px) {
    .workArchive--featured .workFeatureItem+.workFeatureSmallItem:last-child {
        grid-row: span 2;
        grid-column: span 2
    }
}

@media screen and (min-width:1040px) {
    .workArchive--featured .workFeatureSmallItem:only-child {
        grid-row: span 2;
        grid-column: span 2
    }
}

.workArchive--featured .workFeatureSmallItem {
    width: 100%
}

@media screen and (min-width:800px) {
    .workArchive--featured .workFeatureSmallItem {
        width: auto
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workArchive--featured .workFeatureSmallItem {
        grid-row: span 2;
        grid-column: span 2
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .workArchive--featured article:nth-child(1),
    .workArchive--featured article:nth-child(2) {
        grid-row: span 3;
        grid-column: span 3
    }
}

@media screen and (min-width:800px) {
    .workArchive--featured .workFeature__container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 0 0
    }
}

@media screen and (min-width:1040px) {
    .workArchive--featured .workFeature__container {
        grid-template-columns: 1fr 1fr 1fr 1fr
    }
}

.workFeature {
    padding-bottom: 100px;
    min-height: calc(100vh - 400px);
    padding-top: 30px
}

@media screen and (min-width:600px) {
    .workFeature {
        min-height: calc(100vh - 435px)
    }
}

@media screen and (min-width:800px) {
    .workFeature {
        padding-top: 50px
    }
}

@media screen and (min-width:1040px) {
    .workFeature {
        padding-top: 80px
    }
}

.workFeature__title {
    margin-bottom: 15px
}

.workFeature__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
}

.workFeature__container::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .workFeature__container {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workFeature__container {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workFeature__container {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workFeature__container {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .workFeature__container {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) {
    .workFeature__container.js--initiated article {
        opacity: 0
    }

    .workFeature__container.js--initiated.js--ready article {
        opacity: 1
    }
}

.workFeature__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workFeature__list {
        float: left;
        width: calc(((((100vw - 320px)/ 12) * 6) + 100px) + 20px)
    }
}

@media screen and (min-width:1600px) {
    .workFeature__list {
        float: left;
        width: 760px
    }
}

.workFeatureSmallItem {
    float: left
}

@media screen and (max-width:599px) {
    .workFeatureSmallItem {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workFeatureSmallItem {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workFeatureSmallItem {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workFeatureSmallItem {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workFeatureSmallItem {
        width: 740px;
        margin-left: 20px
    }
}

.workFeature__container .workFeatureItem--full_width,
.workFeature__container .workFeatureLargeItem {
    float: left
}

@media screen and (max-width:599px) {

    .workFeature__container .workFeatureItem--full_width,
    .workFeature__container .workFeatureLargeItem {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {

    .workFeature__container .workFeatureItem--full_width,
    .workFeature__container .workFeatureLargeItem {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .workFeature__container .workFeatureItem--full_width,
    .workFeature__container .workFeatureLargeItem {
        width: calc(100vw - 80px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {

    .workFeature__container .workFeatureItem--full_width,
    .workFeature__container .workFeatureLargeItem {
        width: calc(100vw - 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {

    .workFeature__container .workFeatureItem--full_width,
    .workFeature__container .workFeatureLargeItem {
        width: 1500px;
        margin-left: 20px
    }
}

.workFeature__list .workFeatureSmallItem {
    float: left
}

@media screen and (max-width:599px) {
    .workFeature__list .workFeatureSmallItem {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workFeature__list .workFeatureSmallItem {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workFeature__list .workFeatureSmallItem {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workFeature__list .workFeatureSmallItem {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workFeature__list .workFeatureSmallItem {
        width: 360px;
        margin-left: 20px
    }
}

.workFeatureItem {
    float: left;
    float: none
}

@media screen and (max-width:599px) {
    .workFeatureItem {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workFeatureItem {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workFeatureItem {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workFeatureItem {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workFeatureItem {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) {
    .workFeatureItem {
        float: left
    }
}

@media screen and (min-width:1040px) {
    .workFeature__list+.workFeatureItem {
        float: right
    }
}

.workHeader {
    padding-top: 9px;
    padding-bottom: 46px
}

.workHeader::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .workHeader {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workHeader {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workHeader {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workHeader {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .workHeader {
        margin-left: -20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workHeader {
        padding-top: 63px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workHeader {
        padding-top: 67px
    }
}

@media screen and (min-width:1040px) {
    .workHeader {
        padding-top: 65px
    }
}

.workHeader__title {
    float: left
}

@media screen and (max-width:599px) {
    .workHeader__title {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workHeader__title {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workHeader__title {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workHeader__title {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workHeader__title {
        width: 740px;
        margin-left: 20px
    }
}

.workHeader__title>.typo--title {
    overflow: hidden
}

@media screen and (min-width:600px) {
    .workHeader__title>* {
        padding-right: 15%
    }
}

@media screen and (min-width:800px) {
    .workHeader__title>* {
        padding-right: 5%
    }
}

@media screen and (min-width:1040px) {
    .workHeader__title>* {
        padding-right: 10%
    }
}

.workHeader__subtitle {
    padding-top: 19px;
    float: left
}

@media screen and (max-width:599px) {
    .workHeader__subtitle {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workHeader__subtitle {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workHeader__subtitle {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workHeader__subtitle {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workHeader__subtitle {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:800px) {
    .workHeader__subtitle {
        padding-top: 4px
    }
}

@media screen and (min-width:600px) {
    .workHeader__subtitle * {
        padding-right: 15%
    }
}

@media screen and (min-width:800px) {
    .workHeader__subtitle * {
        padding-right: 5%
    }
}

@media screen and (min-width:1040px) {
    .workHeader__subtitle * {
        padding-right: 10%
    }
}

.workHeader__category {
    padding-top: 5px
}

@media screen and (min-width:800px) {
    .workHeader__category {
        padding-top: 17px
    }
}

.workHero {
    width: 100%;
    margin-bottom: -20px
}

.workDetail {
    margin-top: 40px;
    overflow: hidden
}

@media screen and (min-width:600px) {
    .workDetail {
        margin-top: 80px
    }
}

.workDetail .workMedia--align-right {
    margin-right: 0;
    margin-left: auto
}

.workDetail__quote::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .workDetail__quote {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workDetail__quote {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workDetail__quote {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workDetail__quote {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .workDetail__quote {
        margin-left: -20px
    }
}

.workDetail__quote .workQuote {
    float: left
}

@media screen and (max-width:599px) {
    .workDetail__quote .workQuote {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workDetail__quote .workQuote {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workDetail__quote .workQuote {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workDetail__quote .workQuote {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workDetail__quote .workQuote {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workDetail__quote .workQuote {
        margin-left: calc(((((100vw - 135px)/ 6) * 3) + 30px) + 30px)
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workDetail__quote .workQuote {
        margin-left: calc(((((100vw - 300px)/ 12) * 6) + 100px) + 40px)
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workDetail__quote .workQuote {
        margin-left: calc(((((100vw - 320px)/ 12) * 6) + 100px) + 40px)
    }
}

@media screen and (min-width:1600px) {
    .workDetail__quote .workQuote {
        margin-left: 780px
    }
}

@media screen and (max-width:799px) {
    .workDetail__featured {
        overflow: hidden
    }
}

.workDetail__medias {
    position: relative
}

.workDetail__medias::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .workDetail__medias {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workDetail__medias {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workDetail__medias {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workDetail__medias {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .workDetail__medias {
        margin-left: -20px
    }
}

.workDetail__medias .workMedia {
    float: left;
    margin-bottom: 20px
}

@media screen and (max-width:599px) {
    .workDetail__medias .workMedia {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workDetail__medias .workMedia {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workDetail__medias .workMedia {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workDetail__medias .workMedia {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workDetail__medias .workMedia {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {
    .workDetail__medias--fixed {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

@media screen and (min-width:600px) and (min-width:600px) {
    .workDetail .workMedia--half {
        width: calc((100vw - ((var(--outer-gutter) * 2) + 16px))/ 2)
    }
}

@media screen and (min-width:600px) and (min-width:800px) {
    .workDetail .workMedia--half {
        width: calc((100vw - ((var(--outer-gutter) * 2) + 20px))/ 2)
    }
}

@media screen and (min-width:600px) and (min-width:1600px) {
    .workDetail .workMedia--half {
        width: calc((1600px - ((var(--outer-gutter) * 2) + 20px))/ 2)
    }
}

.workDetail__featured .workMedia {
    margin-bottom: 20px
}

.workContent {
    margin-top: 37px;
    padding-top: 21px;
    min-height: 100vh
}

.workContent::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .workContent {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workContent {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workContent {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workContent {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .workContent {
        margin-left: -20px
    }
}

@media screen and (min-width:600px) {
    .workContent {
        padding-top: 77px
    }
}

.workContent__inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.workContent__entry {
    float: left;
    margin-bottom: 50px
}

@media screen and (max-width:599px) {
    .workContent__entry {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workContent__entry {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workContent__entry {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workContent__entry {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workContent__entry {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:800px) {
    .workContent__entry {
        margin-bottom: 77px
    }

    .workContent__entry.js--fixed,
    .workContent__entry.js--fixedTop {
        position: fixed;
        top: 30px
    }

    .workContent__entry.js--fixedBottom {
        position: fixed;
        bottom: 0
    }

    .workContent__entry.js--abs {
        position: absolute;
        bottom: 0
    }
}

.workContent__assets {
    float: left;
    float: right
}

@media screen and (max-width:599px) {
    .workContent__assets {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workContent__assets {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workContent__assets {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workContent__assets {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workContent__assets {
        width: 740px;
        margin-left: 20px
    }
}

.workContent__metas {
    margin-top: 50px
}

@media screen and (min-width:600px) {
    .workContent__metas {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

@media screen and (min-width:800px) {
    .workContent__metas {
        margin-top: 77px
    }
}

.workContent__metas::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .workContent__metas {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workContent__metas {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workContent__metas {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workContent__metas {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .workContent__metas {
        margin-left: -20px
    }
}

.workContent__metaCol {
    float: left
}

@media screen and (max-width:599px) {
    .workContent__metaCol {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .workContent__metaCol {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .workContent__metaCol {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .workContent__metaCol {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .workContent__metaCol {
        width: 360px;
        margin-left: 20px
    }
}

.workContent__metaCol--wide {
    width: 100%
}

.workContent__meta {
    margin-bottom: 22px
}

.workContent__meta dt {
    color: #999;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400
}

.workContent__desc {
    margin-top: 30px
}

@media screen and (min-width:600px) {
    .workContent__desc {
        padding-right: 15%
    }
}

@media screen and (min-width:800px) {
    .workContent__desc {
        padding-right: 5%
    }
}

@media screen and (min-width:1040px) {
    .workContent__desc {
        padding-right: 10%
    }
}

.workNext {
    margin-top: 131px;
    z-index: 1;
    position: relative;
    overflow: hidden;
    height: 69px
}

@media screen and (min-width:600px) {
    .workNext {
        height: 631px
    }
}

.workNext .workHeader__category,
.workNext .workHeader__subtitle {
    opacity: 0;
    -webkit-transition: opacity .5s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .5s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .5s cubic-bezier(.59, .01, .28, 1)
}

@media screen and (min-width:600px) {

    .workNext .workHeader__category,
    .workNext .workHeader__subtitle {
        opacity: 1;
        -webkit-transition-duration: 0s;
        -o-transition-duration: 0s;
        transition-duration: 0s
    }
}

@media screen and (min-width:600px) and (max-height:1000px) {
    .workNext {
        height: 531px
    }
}

@media screen and (min-width:600px) and (max-height:900px) {
    .workNext {
        height: 481px
    }
}

.workNext__delimiter,
.workNext__label {
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    max-width: 1500px
}

@media screen and (max-width:599px) {

    .workNext__delimiter,
    .workNext__label {
        width: calc(100% - 40px)
    }
}

@media screen and (min-width:600px) and (max-width:799px) {

    .workNext__delimiter,
    .workNext__label {
        width: calc(100% - 60px)
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .workNext__delimiter,
    .workNext__label {
        width: calc(100% - 80px)
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {

    .workNext__delimiter,
    .workNext__label {
        width: calc(100% - 100px)
    }
}

@media screen and (min-width:1600px) {

    .workNext__delimiter,
    .workNext__label {
        width: 1600px
    }
}

.workNext__label {
    padding-top: 23px
}

@media screen and (min-width:600px) {
    .workNext__label {
        padding-top: 28px
    }
}

.workNext__delimiter {
    height: 1px;
    background: #e3e4e5;
    border: 0;
    margin: 0;
    padding: 0
}

.workNext .workHero {
    margin-bottom: 0;
    overflow: hidden
}

.workNext__link {
    display: block;
    overflow: hidden;
    background: #fff;
    height: 100vh;
    position: absolute;
    top: 0;
    width: 100vw;
    padding-top: 90px
}

@media screen and (min-width:600px) {
    .workNext__link {
        padding-top: 50px
    }
}

.workNext--animating {
    overflow: visible
}

.workNext--animating .workHeader__category,
.workNext--animating .workHeader__subtitle {
    opacity: 1
}

@media screen and (max-width:599px) {
    .workNext {
        height: 315px
    }

    .workNext .workHeader__category,
    .workNext .workHeader__subtitle {
        opacity: 0;
        max-height: 0
    }

    .workNext--animating .workHeader__category,
    .workNext--animating .workHeader__subtitle {
        opacity: 1;
        max-height: 999em
    }
}

@media screen and (min-width:600px) {
    .no-touch .workNext__link .workMedia__picture {
        margin-top: 0;
        -webkit-transform: scale(1.05);
        -o-transform: scale(1.05);
        transform: scale(1.05);
        -webkit-transition: -webkit-transform .3s ease;
        -o-transition: -o-transform .3s ease;
        transition: transform .3s ease
    }

    .no-touch .workNext__link:hover .workMedia__picture {
        -webkit-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }

    .no-touch .workNext--animating .workNext__link .workMedia__picture {
        -webkit-transform: scale(1) !important;
        -o-transform: scale(1) !important;
        transform: scale(1) !important
    }
}

.partner {
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden
}

.partnerIntro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding-top: 9px
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerIntro {
        padding-top: 63px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerIntro {
        padding-top: 67px
    }
}

@media screen and (min-width:1040px) {
    .partnerIntro {
        padding-top: 65px
    }
}

.partnerIntro::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerIntro {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerIntro {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerIntro {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerIntro {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerIntro {
        margin-left: -20px
    }
}

@media screen and (max-width:799px) {
    .partnerIntro__text {
        margin-top: 50px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerIntro__text {
        padding-right: 15%
    }
}

@media screen and (min-width:1040px) {
    .partnerIntro__text {
        padding-right: 3%
    }
}

.partnerIntro__tagline {
    float: left;
    padding-right: 0
}

@media screen and (max-width:599px) {
    .partnerIntro__tagline {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerIntro__tagline {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerIntro__tagline {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerIntro__tagline {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerIntro__tagline {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerIntro__tagline>* {
        padding-right: 15%
    }
}

@media screen and (min-width:800px) {
    .partnerIntro__tagline>* {
        padding-right: 10%
    }
}

.partnerIntro__text {
    float: left
}

@media screen and (max-width:599px) {
    .partnerIntro__text {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerIntro__text {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerIntro__text {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerIntro__text {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerIntro__text {
        width: 740px;
        margin-left: 20px
    }
}

.partnerDetail__container {
    min-height: 100vh
}

.partnerDetail {
    background: #000;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
    margin-bottom: 0
}

@media screen and (min-width:600px) {
    .partnerDetail {
        margin-bottom: 100px
    }
}

.partnerDetail__tagline {
    margin-top: 0;
    margin-bottom: 40px;
    float: left
}

@media screen and (max-width:599px) {
    .partnerDetail__tagline {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerDetail__tagline {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerDetail__tagline {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerDetail__tagline {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerDetail__tagline {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {
    .partnerDetail__tagline {
        margin-bottom: 50px
    }
}

.partnerDetail__portrait {
    margin-top: 0;
    margin-bottom: 40px;
    display: block;
    width: 100%;
    float: left
}

@media screen and (max-width:599px) {
    .partnerDetail__portrait {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerDetail__portrait {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerDetail__portrait {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerDetail__portrait {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerDetail__portrait {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:800px) {
    .partnerDetail__portrait {
        position: absolute;
        right: 0;
        margin-bottom: 0
    }
}

.partnerDetail__picture {
    display: block;
    height: 0;
    padding-bottom: 100%;
    background-color: #1c1c1c
}

.partnerDetail__img {
    display: block;
    width: 100%
}

.partnerDetail__inner {
    margin-left: 0
}

.partnerDetail__inner::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerDetail__inner {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerDetail__inner {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerDetail__inner {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerDetail__inner {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerDetail__inner {
        margin-left: -20px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerDetail__inner {
        min-height: calc(50vw - 180px)
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerDetail__inner {
        min-height: calc(50vw - 220px)
    }
}

@media screen and (min-width:1600px) {
    .partnerDetail__inner {
        min-height: 595px
    }
}

.partnerDetail__description {
    padding-top: 9px;
    position: relative
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerDetail__description {
        padding-top: 63px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerDetail__description {
        padding-top: 67px
    }
}

@media screen and (min-width:1040px) {
    .partnerDetail__description {
        padding-top: 65px
    }
}

.partnerDetail__description::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerDetail__description {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerDetail__description {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerDetail__description {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerDetail__description {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerDetail__description {
        margin-left: -20px
    }
}

.partnerDetail__text {
    float: left
}

@media screen and (max-width:599px) {
    .partnerDetail__text {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerDetail__text {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerDetail__text {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerDetail__text {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerDetail__text {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerDetail__text {
        padding-right: 15%
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerDetail__text {
        padding-right: 2%
    }
}

@media screen and (min-width:1040px) {
    .partnerDetail__text {
        padding-right: 4%
    }
}

@media screen and (min-width:800px) {

    .partnerDetail__portrait.js--fixed,
    .partnerDetail__portrait.js--fixedTop {
        position: fixed;
        top: 30px;
        right: auto
    }

    .partnerDetail__portrait.js--fixedBottom {
        position: fixed;
        bottom: 0;
        right: auto
    }

    .partnerDetail__portrait.js--abs {
        position: absolute;
        bottom: 0
    }

    .partnerDetail.js--sticky {
        position: relative
    }

    .partnerDetail.js--sticky .partnerDetail__description {
        position: static
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .partnerDetail__portrait.js--fixed,
    .partnerDetail__portrait.js--fixedBottom,
    .partnerDetail__portrait.js--fixedTop {
        -webkit-transform: translateX(calc(100% + 20px));
        -o-transform: translateX(calc(100% + 20px));
        transform: translateX(calc(100% + 20px))
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {

    .partnerDetail__portrait.js--fixed,
    .partnerDetail__portrait.js--fixedBottom,
    .partnerDetail__portrait.js--fixedTop {
        -webkit-transform: translateX(calc(100% + 20px));
        -o-transform: translateX(calc(100% + 20px));
        transform: translateX(calc(100% + 20px))
    }
}

@media screen and (min-width:1600px) {

    .partnerDetail__portrait.js--fixed,
    .partnerDetail__portrait.js--fixedBottom,
    .partnerDetail__portrait.js--fixedTop {
        -webkit-transform: translateX(calc(100% + 20px));
        -o-transform: translateX(calc(100% + 20px));
        transform: translateX(calc(100% + 20px))
    }
}

.partnerList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-top: 39px
}

.partnerList::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerList {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerList {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerList {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerList {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerList {
        margin-left: -20px
    }
}

@media screen and (min-width:600px) {
    .partnerList {
        margin-top: 59px
    }
}

.partnerList>.partnerItem {
    float: left
}

@media screen and (max-width:599px) {
    .partnerList>.partnerItem {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerList>.partnerItem {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerList>.partnerItem {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerList>.partnerItem {
        width: calc((((100vw - 320px)/ 12) * 4) + 60px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerList>.partnerItem {
        width: 486.67px;
        margin-left: 20px
    }
}

.partnerAssociate {
    margin-top: 90px
}

.partnerAssociate__text {
    margin-top: 31px;
    margin-bottom: 92px;
    display: block;
    text-align: left
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerAssociate__text {
        -webkit-column-count: 2;
        column-count: 2
    }
}

@media screen and (min-width:800px) {
    .partnerAssociate__text {
        -webkit-column-count: 3;
        column-count: 3
    }
}

@media screen and (min-width:1040px) {
    .partnerAssociate__text {
        -webkit-column-count: 6;
        column-count: 6
    }
}

.partnerAssociate__text li {
    display: block
}

.partnerNews {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 61px;
    margin-top: 35px;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media screen and (min-width:600px) {
    .partnerNews {
        margin-top: 50px;
        margin-bottom: 81px
    }
}

.partnerNews::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerNews {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerNews {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerNews {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerNews {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerNews {
        margin-left: -20px
    }
}

.partnerNews__title {
    float: left;
    padding-bottom: 13px
}

@media screen and (max-width:599px) {
    .partnerNews__title {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerNews__title {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerNews__title {
        width: calc(100vw - 80px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerNews__title {
        width: calc(100vw - 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerNews__title {
        width: 1500px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {
    .partnerNews__title {
        padding-bottom: 18px
    }
}

.partnerNews>article {
    float: left
}

@media screen and (max-width:599px) {
    .partnerNews>article {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerNews>article {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerNews>article {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerNews>article {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerNews>article {
        width: 740px;
        margin-left: 20px
    }
}

.partnerPublications {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 61px;
    margin-top: 35px;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media screen and (min-width:600px) {
    .partnerPublications {
        margin-top: 50px;
        margin-bottom: 81px
    }
}

.partnerPublications::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerPublications {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerPublications {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerPublications {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerPublications {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerPublications {
        margin-left: -20px
    }
}

.partnerPublications__title {
    float: left;
    padding-bottom: 13px
}

@media screen and (max-width:599px) {
    .partnerPublications__title {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerPublications__title {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerPublications__title {
        width: calc(100vw - 80px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerPublications__title {
        width: calc(100vw - 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerPublications__title {
        width: 1500px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {
    .partnerPublications__title {
        padding-bottom: 18px
    }
}

.partnerPublications>article {
    float: left
}

@media screen and (max-width:599px) {
    .partnerPublications>article {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerPublications>article {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerPublications>article {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerPublications>article {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerPublications>article {
        width: 740px;
        margin-left: 20px
    }
}

.partnerVideos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 61px;
    margin-top: 35px;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media screen and (min-width:600px) {
    .partnerVideos {
        margin-top: 50px;
        margin-bottom: 81px
    }
}

.partnerVideos::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .partnerVideos {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerVideos {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerVideos {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerVideos {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .partnerVideos {
        margin-left: -20px
    }
}

.partnerVideos__title {
    float: left;
    padding-bottom: 13px
}

@media screen and (max-width:599px) {
    .partnerVideos__title {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerVideos__title {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerVideos__title {
        width: calc(100vw - 80px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerVideos__title {
        width: calc(100vw - 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerVideos__title {
        width: 1500px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {
    .partnerVideos__title {
        padding-bottom: 18px
    }
}

.partnerVideos>article {
    float: left
}

@media screen and (max-width:599px) {
    .partnerVideos>article {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .partnerVideos>article {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .partnerVideos>article {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .partnerVideos>article {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .partnerVideos>article {
        width: 740px;
        margin-left: 20px
    }
}

.newsHeader {
    padding-top: 9px;
    overflow: hidden;
    width: 100%;
    padding-bottom: 19px;
    border-bottom: 1px solid #e3e4e5
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsHeader {
        padding-top: 63px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsHeader {
        padding-top: 67px
    }
}

@media screen and (min-width:1040px) {
    .newsHeader {
        padding-top: 65px
    }
}

@media screen and (min-width:600px) {
    .newsHeader {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-bottom: 59px
    }
}

.newsHeader__nav {
    float: left;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-top: 20px;
    overflow: hidden
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsHeader__nav {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsHeader__nav {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsHeader__nav {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .newsHeader__nav {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) {
    .newsHeader__nav {
        margin-top: 0
    }
}

@media screen and (min-width:800px) {
    .newsHeader__nav {
        margin-top: -3px
    }
}

.newsHeader__trigger {
    display: inline-block;
    margin: 13px 0;
    color: #999;
    cursor: pointer
}

.newsHeader__trigger:hover {
    color: #1a1a1a
}

.newsHeader__trigger:hover:after,
.newsHeader__trigger:hover:before {
    background: #1a1a1a
}

@media screen and (min-width:600px) {
    .newsHeader__trigger {
        display: none
    }
}

.js--active .newsHeader__trigger {
    color: #1a1a1a
}

.js--active .newsHeader__trigger:before {
    background: #1a1a1a
}

.js--active .newsHeader__trigger:after {
    display: none
}

.newsHeader__navContainer {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .7s cubic-bezier(.59, .01, .28, 1);
    -o-transition: max-height .7s cubic-bezier(.59, .01, .28, 1);
    transition: max-height .7s cubic-bezier(.59, .01, .28, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.js--active .newsHeader__navContainer {
    max-height: 300px
}

@media screen and (min-width:600px) {
    .newsHeader__navContainer {
        max-height: none;
        -webkit-transition-duration: 0s;
        -o-transition-duration: 0s;
        transition-duration: 0s
    }

    .js--active .newsHeader__navContainer {
        max-height: none
    }
}

.newsHeader__items {
    padding-top: 2px;
    padding-bottom: 19px;
    overflow: hidden
}

@media screen and (min-width:600px) {
    .newsHeader__items {
        padding-bottom: 0
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsHeader__items {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsHeader__items {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsHeader__items {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .newsHeader__items {
        margin-left: -20px
    }
}

.newsHeader__item {
    width: 100%;
    float: left
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsHeader__item {
        width: calc((((100vw - 135px)/ 6) * 1.5) + 7.5px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsHeader__item {
        width: calc((((100vw - 300px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsHeader__item {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .newsHeader__item {
        width: 360px;
        margin-left: 20px
    }
}

.newsHeader__item a {
    height: 30px;
    line-height: 30px
}

.calendar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-top: 46px;
    margin-bottom: 43px
}

.calendar::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .calendar {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .calendar {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .calendar {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .calendar {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .calendar {
        margin-left: -20px
    }
}

.calendar>* {
    float: left
}

@media screen and (max-width:599px) {
    .calendar>* {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .calendar>* {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .calendar>* {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .calendar>* {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .calendar>* {
        width: 360px;
        margin-left: 20px
    }
}

.newsList {
    margin-top: 20px;
    margin-bottom: 77px
}

.newsList__container {
    position: relative;
    overflow: hidden
}

.newsList__container::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .newsList__container {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsList__container {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsList__container {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsList__container {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .newsList__container {
        margin-left: -20px
    }
}

.newsList__item {
    float: left
}

@media screen and (max-width:599px) {
    .newsList__item {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsList__item {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsList__item {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsList__item {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .newsList__item {
        width: 740px;
        margin-left: 20px
    }
}

.newsList__title {
    margin-top: 33px;
    padding-bottom: 13px
}

@media screen and (min-width:600px) {
    .newsList__title {
        padding-bottom: 18px
    }
}

.newsList__wrapper {
    border-top: 1px solid #e3e4e5
}

.newsList__wrapper .newsList__container .pressItem:first-child {
    padding-top: 0;
    border-top: none
}

.newsList__wrapper .newsList__container .pressItem:nth-child(2) {
    padding-top: 0;
    border-top: none
}

@media only screen and (max-width:599px) {
    .newsList__wrapper .newsList__container .pressItem:nth-child(2) {
        padding-top: 20px;
        border-top: 1px solid #e3e4e5
    }
}

@media screen and (min-width:600px) {
    .newsList__item.js--positioned {
        position: absolute;
        float: none !important;
        margin-left: 0 !important
    }
}

.js--positioning .newsList__item {
    opacity: 0;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.js--positioning .newsList__item.js--positioned {
    opacity: 1
}

.newsContent {
    padding-top: 9px
}

.newsContent::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .newsContent {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsContent {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsContent {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsContent {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .newsContent {
        margin-left: -20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsContent {
        padding-top: 63px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsContent {
        padding-top: 67px
    }
}

@media screen and (min-width:1040px) {
    .newsContent {
        padding-top: 65px
    }
}

.newsContent__title {
    overflow: hidden
}

.newsContent__meta {
    margin-bottom: 19px;
    padding-top: 5px
}

@media screen and (min-width:800px) {
    .newsContent__meta {
        margin-bottom: 50px;
        padding-top: 17px
    }
}

@media screen and (min-width:600px) {

    .newsContent__meta,
    .newsContent__tagline,
    .newsContent__title {
        padding-right: 15%
    }
}

@media screen and (min-width:800px) {

    .newsContent__meta,
    .newsContent__tagline,
    .newsContent__title {
        padding-right: 5%
    }
}

@media screen and (min-width:1040px) {

    .newsContent__meta,
    .newsContent__tagline,
    .newsContent__title {
        padding-right: 10%
    }
}

.newsContent__externalLinks {
    margin-top: 20px;
    margin-bottom: 1.4em
}

.newsContent__inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.newsContent__header {
    float: left;
    padding-bottom: 45px;
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

@media screen and (max-width:599px) {
    .newsContent__header {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsContent__header {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsContent__header {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsContent__header {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .newsContent__header {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:800px) {
    .newsContent__header {
        padding-bottom: 120px
    }
}

@media screen and (min-width:800px) {

    .newsContent__header.js--fixed,
    .newsContent__header.js--fixedTop {
        position: fixed;
        top: 30px
    }

    .newsContent__header.js--fixedBottom {
        position: fixed;
        bottom: 0
    }

    .newsContent__header.js--abs {
        position: absolute;
        bottom: 0
    }
}

.newsContent__entry {
    float: left;
    float: right
}

@media screen and (max-width:599px) {
    .newsContent__entry {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsContent__entry {
        width: calc(100vw - 60px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsContent__entry {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsContent__entry {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .newsContent__entry {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {

    .newsContent__entry p,
    .newsContent__entry ul {
        padding-right: 15%
    }
}

@media screen and (min-width:800px) {

    .newsContent__entry p,
    .newsContent__entry ul {
        padding-right: 5%
    }
}

@media screen and (min-width:1040px) {

    .newsContent__entry p,
    .newsContent__entry ul {
        padding-right: 20px
    }
}

@media screen and (min-width:800px) {
    .newsContent__inner {
        margin-top: -60px
    }

    .newsContent__inner .newsContent__entry {
        margin-top: 65px
    }

    .newsContent__inner .newsContent__entry>p:first-child {
        margin-top: -4px
    }

    .newsContent__inner .newsContent__header {
        padding-top: 60px;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    .newsContent__inner .newsContent__header.js--fixed,
    .newsContent__inner .newsContent__header.js--fixedTop {
        -webkit-transform: translate3d(0, -60px, 0);
        transform: translate3d(0, -60px, 0)
    }

    .newsContent__inner .newsContent__header.js--fixed.js--scrollUp,
    .newsContent__inner .newsContent__header.js--fixedTop.js--scrollUp {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@media screen and (min-width:1040px) {
    .newsContent__inner {
        margin-top: -70px
    }

    .newsContent__inner .newsContent__entry {
        margin-top: 75px
    }

    .newsContent__inner .newsContent__entry>p:first-child {
        margin-top: -4px
    }

    .newsContent__inner .newsContent__header {
        padding-top: 70px;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    .newsContent__inner .newsContent__header.js--fixed,
    .newsContent__inner .newsContent__header.js--fixedTop {
        -webkit-transform: translate3d(0, -70px, 0);
        transform: translate3d(0, -70px, 0)
    }

    .newsContent__inner .newsContent__header.js--fixed.js--scrollUp,
    .newsContent__inner .newsContent__header.js--fixedTop.js--scrollUp {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.newsContent__entry {
    margin-bottom: 120px
}

.newsContent__metas {
    margin-top: 77px;
    margin-bottom: 77px
}

.newsContent__metas::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .newsContent__metas {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsContent__metas {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsContent__metas {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsContent__metas {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .newsContent__metas {
        margin-left: -20px
    }
}

.newsContent__desc {
    padding-right: 40px
}

.newsContent__btn {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .3s cubic-bezier(.59, .01, .28, 1), visibility 0s .3s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .3s cubic-bezier(.59, .01, .28, 1), visibility 0s .3s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .3s cubic-bezier(.59, .01, .28, 1), visibility 0s .3s cubic-bezier(.59, .01, .28, 1);
    position: fixed;
    margin-bottom: 1.4em;
    bottom: 120px
}

.newsContent__btn span {
    text-decoration: none;
    background-image: -webkit-linear-gradient(top, rgba(153, 153, 153, 0) 75%, rgba(153, 153, 153, 0) 75%);
    background-image: -o-linear-gradient(top, rgba(153, 153, 153, 0) 75%, rgba(153, 153, 153, 0) 75%);
    background-image: linear-gradient(to bottom, rgba(153, 153, 153, 0) 75%, rgba(153, 153, 153, 0) 75%);
    background-repeat: repeat-x;
    background-size: 1px 1px;
    background-position: 0 98%
}

.newsContent__btn span:hover {
    background-image: -webkit-linear-gradient(top, #999 75%, #999 75%);
    background-image: -o-linear-gradient(top, #999 75%, #999 75%);
    background-image: linear-gradient(to bottom, #999 75%, #999 75%)
}

@media screen and (max-width:599px) {
    .newsContent__btn {
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .newsContent__btn {
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .newsContent__btn {
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .newsContent__btn {
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .newsContent__btn {
        margin-left: 20px
    }
}

.js--fixed+.newsContent__btn,
.js--fixedBottom+.newsContent__btn,
.js--fixedTop+.newsContent__btn,
.js--scrolled+.newsContent__btn {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.js--scrolled+.newsContent__btn {
    position: absolute
}

.offices__heading {
    padding-top: 9px
}

@media screen and (min-width:600px) and (max-width:799px) {
    .offices__heading {
        padding-top: 63px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .offices__heading {
        padding-top: 67px
    }
}

@media screen and (min-width:1040px) {
    .offices__heading {
        padding-top: 65px
    }
}

.offices {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding-top: 44px;
    padding-bottom: 70px
}

.offices::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .offices {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .offices {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .offices {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .offices {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .offices {
        margin-left: -20px
    }
}

.offices>article {
    float: left
}

@media screen and (max-width:599px) {
    .offices>article {
        width: calc(100vw - 40px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .offices>article {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .offices>article {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .offices>article {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .offices>article {
        width: 740px;
        margin-left: 20px
    }
}

.error404 {
    width: 100vw;
    min-height: calc(100vh - 100px);
    overflow: hidden;
    margin-top: -90px;
    position: relative;
    background: #e61428;
    color: #fff;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.error404__inner {
    position: relative;
    min-height: calc(100vh - 100px)
}

.error404__grafik {
    position: absolute;
    top: 25%;
    font-size: 11em;
    letter-spacing: -.02em;
    font-weight: 500;
    line-height: 1em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (min-width:600px) and (max-width:799px) {
    .error404__grafik {
        font-size: 14em
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .error404__grafik {
        font-size: 17em;
        letter-spacing: 0
    }
}

@media screen and (min-width:1040px) {
    .error404__grafik {
        font-size: 19em;
        letter-spacing: .015em
    }
}

.error404__text {
    position: absolute;
    top: 66.666%
}

@media screen and (max-width:599px) {
    .error404__text {
        width: calc(100vw - 40px)
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .error404__text {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px)
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .error404__text {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px)
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .error404__text {
        width: calc((((100vw - 320px)/ 12) * 3) + 40px)
    }
}

@media screen and (min-width:1600px) {
    .error404__text {
        width: 360px
    }
}

@-webkit-keyframes updownNumber1 {
    0% {
        -webkit-transform: translate3d(0, -5%, 0);
        transform: translate3d(0, -5%, 0)
    }

    25% {
        -webkit-transform: translate3d(0, -11%, 0);
        transform: translate3d(0, -11%, 0)
    }

    75% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, -5%, 0);
        transform: translate3d(0, -5%, 0)
    }
}

@-o-keyframes updownNumber1 {
    0% {
        transform: translate3d(0, -5%, 0)
    }

    25% {
        transform: translate3d(0, -11%, 0)
    }

    75% {
        transform: translate3d(0, 0, 0)
    }

    100% {
        transform: translate3d(0, -5%, 0)
    }
}

@keyframes updownNumber1 {
    0% {
        -webkit-transform: translate3d(0, -5%, 0);
        transform: translate3d(0, -5%, 0)
    }

    25% {
        -webkit-transform: translate3d(0, -11%, 0);
        transform: translate3d(0, -11%, 0)
    }

    75% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, -5%, 0);
        transform: translate3d(0, -5%, 0)
    }
}

@-webkit-keyframes updownNumber2 {
    0% {
        -webkit-transform: translate3d(0, -42%, 0);
        transform: translate3d(0, -42%, 0)
    }

    25% {
        -webkit-transform: translate3d(0, -38%, 0);
        transform: translate3d(0, -38%, 0)
    }

    75% {
        -webkit-transform: translate3d(0, -48%, 0);
        transform: translate3d(0, -48%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, -42%, 0);
        transform: translate3d(0, -42%, 0)
    }
}

@-o-keyframes updownNumber2 {
    0% {
        transform: translate3d(0, -42%, 0)
    }

    25% {
        transform: translate3d(0, -38%, 0)
    }

    75% {
        transform: translate3d(0, -48%, 0)
    }

    100% {
        transform: translate3d(0, -42%, 0)
    }
}

@keyframes updownNumber2 {
    0% {
        -webkit-transform: translate3d(0, -42%, 0);
        transform: translate3d(0, -42%, 0)
    }

    25% {
        -webkit-transform: translate3d(0, -38%, 0);
        transform: translate3d(0, -38%, 0)
    }

    75% {
        -webkit-transform: translate3d(0, -48%, 0);
        transform: translate3d(0, -48%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, -42%, 0);
        transform: translate3d(0, -42%, 0)
    }
}

@-webkit-keyframes updownNumber3 {
    0% {
        -webkit-transform: translate3d(0, 51%, 0);
        transform: translate3d(0, 51%, 0)
    }

    25% {
        -webkit-transform: translate3d(0, 53%, 0);
        transform: translate3d(0, 53%, 0)
    }

    75% {
        -webkit-transform: translate3d(0, 46%, 0);
        transform: translate3d(0, 46%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 51%, 0);
        transform: translate3d(0, 51%, 0)
    }
}

@-o-keyframes updownNumber3 {
    0% {
        transform: translate3d(0, 51%, 0)
    }

    25% {
        transform: translate3d(0, 53%, 0)
    }

    75% {
        transform: translate3d(0, 46%, 0)
    }

    100% {
        transform: translate3d(0, 51%, 0)
    }
}

@keyframes updownNumber3 {
    0% {
        -webkit-transform: translate3d(0, 51%, 0);
        transform: translate3d(0, 51%, 0)
    }

    25% {
        -webkit-transform: translate3d(0, 53%, 0);
        transform: translate3d(0, 53%, 0)
    }

    75% {
        -webkit-transform: translate3d(0, 46%, 0);
        transform: translate3d(0, 46%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 51%, 0);
        transform: translate3d(0, 51%, 0)
    }
}

.error404__number {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: inline-block;
    overflow: visible;
    line-height: 1em
}

.error404__number:first-child {
    -webkit-transform: translate3d(0, -5%, 0);
    transform: translate3d(0, -5%, 0);
    -webkit-animation: updownNumber1 19.5s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards;
    -o-animation: updownNumber1 19.5s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards;
    animation: updownNumber1 19.5s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards
}

.error404__number {
    -webkit-transform: translate3d(0, -42%, 0);
    transform: translate3d(0, -42%, 0);
    -webkit-animation: updownNumber2 20s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards;
    -o-animation: updownNumber2 20s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards;
    animation: updownNumber2 20s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards
}

.error404__number:last-child {
    -webkit-transform: translate3d(0, 51%, 0);
    transform: translate3d(0, 51%, 0);
    -webkit-animation: updownNumber3 18.5s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards;
    -o-animation: updownNumber3 18.5s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards;
    animation: updownNumber3 18.5s cubic-bezier(.59, .01, .28, 1) infinite 0s forwards
}

.page-error {
    background: #e61428;
    color: #fff
}

.page-error .footer {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: 0 0
}

.page-error .footer .footer__item {
    color: #fff
}

.page-error .footer a.footer__item {
    display: none
}

.page-error .header__nav {
    display: none
}

.page-error .logo {
    color: #fff
}

.policy-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .policy-wrapper {
        display: block
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .policy-wrapper {
        display: block
    }
}

@media screen and (max-width:599px) {
    .policy-wrapper {
        margin-left: 0;
        display: block
    }
}

.policy-wrapper .half {
    width: 50%
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .policy-wrapper .half {
        width: 100%
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .policy-wrapper .half {
        width: 100%
    }
}

@media screen and (max-width:599px) {
    .policy-wrapper .half {
        width: 100%
    }
}

.policy-wrapper .title-block {
    padding-right: 150px
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .policy-wrapper .title-block {
        padding-right: calc(100vw / 11)
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .policy-wrapper .title-block {
        padding-right: calc(100vw / 8);
        margin-bottom: 50px;
        width: 50%
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .policy-wrapper .title-block {
        padding-right: 225px;
        padding-bottom: 40px;
        width: 60%
    }
}

@media screen and (max-width:599px) {
    .policy-wrapper .title-block {
        padding-right: 0;
        padding-bottom: 40px;
        width: 100%
    }
}

.policy-wrapper .title-block .typo--secondary {
    padding-top: 15px
}

.policy-wrapper .policy-content p {
    margin-bottom: 1.4em
}

@media screen and (max-width:599px) {
    .policy-wrapper .policy-content p {
        margin-bottom: 2.4em
    }
}

.policy-wrapper .policy-content p:last-child {
    margin-bottom: 0
}

.pjax__container[data-namespace=privacyPolicy] {
    padding-top: 60px;
    padding-bottom: 80px
}

@media screen and (min-width:600px) and (max-width:799px) {
    .pjax__container[data-namespace=privacyPolicy] {
        padding-bottom: 30px
    }
}

@media only screen and (max-width:980px) {
    .policy-wrapper .title-block {
        padding-right: 0
    }
}

body,
html {
    min-width: 320px;
    min-height: 100%;
    overflow-x: auto
}

@media screen and (min-width:600px) {

    body,
    html {
        overflow-x: hidden
    }
}

html {
    position: relative;
    background: #fff;
    min-height: 100%;
    width: 100vw;
    overflow-x: hidden;
    overflow-y: scroll;
    margin: 0 auto
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #1a1a1a;
    font-feature-settings: 'kern';
    font-kerning: normal;
    text-rendering: optimizeLegibility;
    font-variant-ligatures: common-ligatures;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    padding: 0;
    font-size: 17px;
    line-height: 25px
}

.js-NeueHaas-loaded body {
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif
}

@media screen and (min-width:800px) {
    body {
        font-size: 19px;
        line-height: 25px
    }
}

body::after {
    position: absolute;
    left: -1px;
    top: -1px;
    width: 1px;
    height: 1px;
    margin: -1px 0 0 -1px;
    color: transparent;
    font: 0/0 a;
    text-shadow: none
}

@media screen and (max-width:599px) {
    head {
        font-family: xsmall
    }

    body::after {
        content: "xsmall"
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    head {
        font-family: small
    }

    body::after {
        content: "small"
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    head {
        font-family: medium
    }

    body::after {
        content: "medium"
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    head {
        font-family: large
    }

    body::after {
        content: "large"
    }
}

@media screen and (min-width:1600px) {
    head {
        font-family: xlarge
    }

    body::after {
        content: "xlarge"
    }
}

.s-body-locked {
    overflow: hidden
}

.s-body-locked .wrapper {
    position: relative
}

.s-body-locked body {
    overscroll-behavior: none;
    -ms-scroll-chaining: none
}

#a17 {
    position: relative;
    background: #fff
}

.content {
    position: relative;
    min-height: 100vh;
    width: 100vw;
    padding-top: 90px;
    -webkit-transform: none;
    -o-transform: none;
    transform: none;
    -webkit-transition: -webkit-transform .5s cubic-bezier(.59, .01, .28, 1);
    -o-transition: -o-transform .5s cubic-bezier(.59, .01, .28, 1);
    transition: transform .5s cubic-bezier(.59, .01, .28, 1)
}

.page-portfolio {
    background: #000
}

.page-portfolio .push {
    position: absolute;
    height: calc(100vh - 100px);
    top: 0;
    right: 0;
    width: 100%;
    z-index: -1
}

@media screen and (max-width:799px) {
    .page-portfolio button.header__item {
        color: #fff
    }
}

.page-portfolio .header__btn .icon--search,
.page-portfolio .header__item {
    color: #fff
}

@media (hover:hover) and (pointer:fine) {

    .page-portfolio .header .header__btn:hover .icon--search,
    .page-portfolio .header .header__item:hover {
        color: #fff
    }
}

.page-portfolio .header__item--partners {
    color: #fff
}

.page-portfolio .stickyTop__item {
    height: 100%
}

.page-portfolio .pjax__container {
    background: #000
}

.page-portfolio .stickyTop__btn,
.page-portfolio .stickyTop__item {
    color: #666
}

.page-portfolio .sideNav {
    background: rgba(0, 0, 0, .9);
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.page-portfolio .sideNav__link {
    color: #666
}

.page-portfolio .sideNav__link:hover {
    color: #fff
}

.page-portfolio .modal {
    background: #000
}

.page-portfolio .modal__caption {
    color: #666
}

.page-portfolio .modal__close {
    color: #666
}

.page-portfolio .modal__close:hover {
    color: #fff
}

.page-portfolio .ham__label {
    color: #666
}

.page-portfolio .ham__icon:after,
.page-portfolio .ham__icon:before {
    background: #666
}

@media (hover:hover) and (pointer:fine) {
    .page-portfolio .ham:hover .ham__label {
        color: #fff
    }

    .page-portfolio .ham:hover .ham__icon:after,
    .page-portfolio .ham:hover .ham__icon:before {
        background: #fff
    }
}

.page-portfolio .header__item--partners {
    color: #1a1a1a
}

.page-portfolio .header__btn .btnClose {
    color: #999
}

.page-portfolio .header__btn .btnClose:hover {
    color: #1a1a1a
}

.page-casestudy--portfolio .header,
.page-portfolio .header {
    overflow: visible
}

.page-casestudy--portfolio .header,
.page-casestudy--portfolio .headerMobile,
.page-casestudy--portfolio .stickyTop,
.page-casestudy--portfolio .wrapper,
.page-portfolio .header,
.page-portfolio .headerMobile,
.page-portfolio .stickyTop,
.page-portfolio .wrapper {
    -webkit-transition: -webkit-transform .6s;
    -o-transition: -o-transform .6s;
    transition: transform .6s
}

.page-casestudy--portfolio .stickyTop.s-active,
.page-portfolio .stickyTop.s-active {
    height: auto;
    visibility: visible;
    z-index: 20;
    -webkit-transform: none;
    -o-transform: none;
    transform: none
}

.page-casestudy--portfolio .stickyTop__nav--ham,
.page-casestudy--portfolio .stickyTop__nav--slide,
.page-portfolio .stickyTop__nav--ham,
.page-portfolio .stickyTop__nav--slide {
    display: block
}

.page-casestudy--portfolio .stickyTop__nav--ham .header__item,
.page-casestudy--portfolio .stickyTop__nav--slide .header__item,
.page-portfolio .stickyTop__nav--ham .header__item,
.page-portfolio .stickyTop__nav--slide .header__item {
    color: #666;
    line-height: 68px
}

.page-casestudy--portfolio .header__item:last-child,
.page-portfolio .header__item:last-child {
    margin-right: 0
}

.page-casestudy--portfolio .header__navItems,
.page-portfolio .header__navItems {
    display: block;
    line-height: 78px
}

.content--portfolio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.content--portfolio .footer {
    margin-top: auto;
    width: 100%
}

.content--portfolio .intro {
    min-height: calc(100vh - 90px)
}

.content--portfolio .intro .typo--asLink {
    background: 0 0
}

.content--portfolio .intro .typo--asLink span {
    -ms-flex-item-align: end;
    align-self: flex-end
}

.content--portfolio .intro p:last-child {
    margin-bottom: 0
}

.content--portfolio .intro .partnerIntro__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-bottom: 50px
}

@media screen and (max-width:799px) {
    .content--portfolio .intro .partnerIntro__text {
        margin-top: 19px
    }
}

.content--portfolio .intro .partnerIntro__text>a.typo--asLink {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    line-height: normal;
    margin-top: 8px;
    min-height: 25px
}

.content--portfolio .intro .typo--titleSmall+a.typo--asLink {
    margin-top: 15px
}

@media screen and (min-width:800px) {
    .content--portfolio .intro .typo--titleSmall+a.typo--asLink {
        margin-top: 36px
    }
}

.content--portfolio #pjax {
    width: 100%
}

.content--portfolio .workFeature {
    padding-bottom: 20px
}

@media screen and (min-width:600px) {
    .content--portfolio .workFeatureItem--left {
        margin-right: 50%
    }
}

@media screen and (min-width:600px) {
    .content--portfolio .workFeatureItem--right {
        margin-left: calc(50% + 15px)
    }
}

@media screen and (min-width:800px) {
    .content--portfolio .workFeatureItem--right {
        margin-left: calc(50% + 20px)
    }
}

.content--portfolio .workFeatureItem__link {
    position: relative
}

@media screen and (min-width:1040px) {
    .content--portfolio .workFeatureItem__picture {
        padding-bottom: 84.5%
    }
}

.content--portfolio .workFeatureItem__picture {
    overflow: visible
}

.content--portfolio .workFeatureItem__img {
    top: auto;
    -webkit-transform: none;
    -o-transform: none;
    transform: none
}

@media screen and (min-width:1040px) {
    .content--portfolio .workFeatureItem__img {
        width: 100%;
        height: calc(100% - 75px);
        -o-object-fit: cover;
        object-fit: cover
    }
}

.content--portfolio .footer__legal {
    width: 100%
}

.portfolioLogin {
    width: 100%;
    margin-top: 60px;
    position: relative
}

@media screen and (min-width:800px) {
    .portfolioLogin {
        margin-top: 107px
    }
}

.portfolioLogin__subtitle {
    margin-top: 53px;
    display: block
}

.portfolioLogin__subtitle.error {
    color: #e61428
}

.portfolioLogin input {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 19px;
    font-weight: 500;
    line-height: 24px;
    width: 100%;
    padding: 0 100px 26px 0;
    border: none;
    box-shadow: none;
    border-bottom: 1px solid #ccc;
    color: #1a1a1a
}

.js-NeueHaas-loaded .portfolioLogin input {
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif
}

@media screen and (min-width:600px) and (max-width:799px) {
    .portfolioLogin input {
        font-size: 21px;
        line-height: 26px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .portfolioLogin input {
        font-size: 24px;
        line-height: 30px
    }
}

@media screen and (min-width:1040px) {
    .portfolioLogin input {
        font-size: 27px;
        line-height: 32px
    }
}

.portfolioLogin input::-webkit-input-placeholder {
    color: #e3e4e5
}

.portfolioLogin input:-moz-placeholder {
    color: #e3e4e5
}

.portfolioLogin input::-moz-placeholder {
    color: #e3e4e5
}

.portfolioLogin input:-ms-input-placeholder {
    color: #e3e4e5
}

.portfolioLogin input:focus+.portfolioLogin__btn {
    color: #1a1a1a
}

.portfolioLogin__btn {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    position: absolute;
    right: 0;
    bottom: 26px;
    color: grey
}

.js-NeueHaas-loaded .portfolioLogin__btn {
    font-family: NeueHaas, "Helvetica Neue", Helvetica, Arial, sans-serif
}

.header__item--portfolio {
    margin-right: 0
}

.stickyTop--portfolio {
    visibility: visible
}

.stickyTop__nav--portfolio {
    display: block
}

.stickyTop__nav--portfolio .header__item {
    color: #666;
    line-height: 68px
}

.stickyTop__nav--portfolio .header__item:last-child {
    margin-right: 0
}

.header__navItems.header__nav--portfolio {
    display: block
}

.header__navItems.header__nav--portfolio .header__item:last-child {
    margin-right: 0
}

.stickyTop--portfolio+.wrapper {
    -webkit-transition: -webkit-transform .6s;
    -o-transition: -o-transform .6s;
    transition: transform .6s
}

.pjax--animating {
    min-height: 100vh;
    overflow: hidden
}

.pjax--animating+.footer {
    visibility: hidden
}

.pjax__container {
    background: #fff
}

.page-partner .pjax__container,
.page-partners .pjax__container {
    background: #000
}

.pjax__container--animating,
.pjax__container--animatingBottom,
.pjax__container--animatingTop {
    visibility: visible !important;
    position: absolute !important;
    top: 0 !important;
    overflow: hidden;
    min-height: calc(100vh + 90px);
    min-width: 100vw;
    padding-top: 90px
}

.pjax__container--animatingBottom {
    z-index: 0
}

.pjax__container--animatingTop {
    z-index: 1
}

.pjaxSearch__container--sliding {
    visibility: visible !important;
    position: absolute !important;
    top: 0 !important;
    overflow: hidden
}

.pjaxSearch__container--sliding .workArchive,
.pjaxSearch__container--sliding .workArchive__list--inline {
    overflow: hidden;
    min-width: 100%
}

@media screen and (max-width:599px) {

    .pjaxSearch__container--sliding .workArchive,
    .pjaxSearch__container--sliding .workArchive__list--inline {
        min-width: calc(100vw - 40px)
    }
}

@media screen and (min-width:600px) and (max-width:799px) {

    .pjaxSearch__container--sliding .workArchive,
    .pjaxSearch__container--sliding .workArchive__list--inline {
        min-width: calc(100vw - 60px)
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .pjaxSearch__container--sliding .workArchive,
    .pjaxSearch__container--sliding .workArchive__list--inline {
        min-width: calc(100vw - 80px)
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {

    .pjaxSearch__container--sliding .workArchive,
    .pjaxSearch__container--sliding .workArchive__list--inline {
        min-width: calc(100vw - 100px)
    }
}

@media screen and (min-width:1600px) {

    .pjaxSearch__container--sliding .workArchive,
    .pjaxSearch__container--sliding .workArchive__list--inline {
        min-width: calc(100vw - 100px)
    }
}

@media screen and (min-width:1600px) {

    .pjaxSearch__container--sliding .workArchive,
    .pjaxSearch__container--sliding .workArchive__list--inline {
        min-width: 1500px
    }
}

@media screen and (max-width:599px) {
    .pjaxSearch__container--sliding .workArchive__list--inline .workItem:nth-child(n+1) {
        margin-right: 0 !important
    }

    .pjaxSearch__container--sliding .workArchive__list--inline .workItem:nth-child(n+2) {
        display: none
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .pjaxSearch__container--sliding .workArchive__list--inline .workItem:nth-child(n+2) {
        margin-right: 0 !important
    }

    .pjaxSearch__container--sliding .workArchive__list--inline .workItem:nth-child(n+3) {
        display: none
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .pjaxSearch__container--sliding .workArchive__list--inline .workItem:nth-child(n+3) {
        margin-right: 0 !important
    }

    .pjaxSearch__container--sliding .workArchive__list--inline .workItem:nth-child(n+4) {
        display: none
    }
}

@media screen and (min-width:1040px) {
    .pjaxSearch__container--sliding .workArchive__list--inline .workItem:nth-child(n+4) {
        margin-right: 0 !important
    }

    .pjaxSearch__container--sliding .workArchive__list--inline .workItem:nth-child(n+5) {
        display: none
    }
}

#pjaxCaseStudy {
    min-height: 100vh
}

.pjaxCaseStudy__container {
    min-height: 100vh
}

#demo {
    min-height: 30px
}

.styleguide--demo {
    padding: 15px 0
}

.header {
    width: 100%;
    overflow: hidden
}

.header__logo {
    margin: 0;
    padding: 0;
    float: left;
    z-index: 999;
    top: 0;
    position: absolute;
    height: 90px
}

@media screen and (max-width:599px) {
    .header__logo {
        left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .header__logo {
        left: 30px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .header__logo {
        left: 40px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .header__logo {
        left: 50px
    }
}

@media screen and (min-width:1600px) {
    .header__logo {
        left: 50px
    }
}

@media screen and (min-width:1600px) {
    .header__logo {
        left: calc(50vw - 750px)
    }
}

.header.js--scrolled .header__logo {
    position: fixed;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0)
}

.header.js--animated .header__logo {
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.header.js--active .header__logo {
    position: fixed;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.header__nav {
    width: 100%;
    position: absolute
}

.header__navItems {
    height: 90px;
    line-height: 60px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    z-index: 350;
    text-align: right;
    display: none
}

.header__navItems .container {
    font-size: 0
}

@media screen and (min-width:600px) {
    .header__navItems {
        display: block
    }
}

@media screen and (min-width:1040px) {
    .header__navItems {
        line-height: 70px
    }
}

.header.js--scrolled .header__navItems {
    position: fixed;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    height: 70px
}

.header.js--animated .header__navItems {
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.header.js--active .header__navItems {
    position: fixed;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.header__nav--ham {
    z-index: 900;
    top: 0;
    height: 0;
    pointer-events: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block
}

@media screen and (min-width:600px) {
    .header__nav--ham {
        display: none
    }
}

.header__nav--ham .btn {
    float: right;
    vertical-align: middle;
    pointer-events: auto
}

.js-search .header__nav--ham {
    display: none
}

.header__nav--search {
    z-index: 900;
    top: 0;
    height: 0;
    pointer-events: none;
    display: none;
    width: auto
}

@media screen and (min-width:600px) {
    .header__nav--search {
        display: block
    }
}

.header.js--scrolled .header__nav--search {
    position: fixed;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    height: 70px
}

.header.js--animated .header__nav--search {
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.header.js--active .header__nav--search {
    position: fixed;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

@media screen and (max-width:599px) {

    .header__nav--ham,
    .header__nav--search {
        right: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {

    .header__nav--ham,
    .header__nav--search {
        right: 30px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {

    .header__nav--ham,
    .header__nav--search {
        right: 40px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {

    .header__nav--ham,
    .header__nav--search {
        right: 50px
    }
}

@media screen and (min-width:1600px) {

    .header__nav--ham,
    .header__nav--search {
        right: 50px
    }
}

@media screen and (min-width:1600px) {

    .header__nav--ham,
    .header__nav--search {
        right: calc(50vw - 750px)
    }
}

.header__btn {
    vertical-align: top;
    color: #999;
    height: 60px;
    float: right;
    pointer-events: auto;
    outline: 0;
    box-shadow: none;
    font-size: 0
}

.header__btn .icon--search {
    display: inline-block
}

.header__btn .btnClose {
    display: none
}

.header__btn svg {
    width: 100%;
    height: 100%
}

@media screen and (min-width:1040px) {
    .header__btn {
        vertical-align: top;
        height: 68px
    }
}

.no-touch .header__btn:hover {
    color: #1a1a1a
}

.header__item {
    margin-left: 20px;
    color: #999;
    display: inline-block
}

.header__item:focus {
    outline: 0
}

.header__item:first-child {
    margin-left: 0
}

.header__item:last-child {
    margin-right: 40px
}

@media screen and (min-width:600px) and (max-width:799px) {
    .header__item {
        margin-left: 26px
    }

    .header__item:last-child {
        margin-right: 46px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .header__item {
        margin-left: 30px
    }

    .header__item:last-child {
        margin-right: 50px
    }
}

@media screen and (min-width:1040px) {
    .header__item {
        margin-left: 35px
    }

    .header__item:last-child {
        margin-right: 55px
    }
}

.no-touch .header__item:hover {
    color: #1a1a1a
}

a.header__item,
button.header__item {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .5s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .5s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .5s cubic-bezier(.59, .01, .28, 1)
}

.page-home.js-search .header__logo,
.page-home.js-search .header__nav {
    position: absolute
}

.page-casestudy .header__item--work,
.page-work .header__item--work {
    color: #1a1a1a
}

.page-partners .header__item--partners {
    color: #1a1a1a
}

.page-partner,
.page-partners {
    background: #000
}

.page-partner .header__btn .icon--search,
.page-partner .header__item,
.page-partners .header__btn .icon--search,
.page-partners .header__item {
    color: #666
}

.page-partner.no-touch .header__btn:hover .icon--search,
.page-partner.no-touch .header__item:hover,
.page-partners.no-touch .header__btn:hover .icon--search,
.page-partners.no-touch .header__item:hover {
    color: #fff
}

.page-partner .header__item--partners,
.page-partners .header__item--partners {
    color: #fff
}

.page-new .header__item--news,
.page-news .header__item--news {
    color: #1a1a1a
}

.page-contact .header__item--contact {
    color: #1a1a1a
}

.headerMobile {
    width: 100%;
    min-height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    position: fixed;
    visibility: hidden;
    -webkit-transition: all .3s cubic-bezier(.59, .01, .28, 1);
    -o-transition: all .3s cubic-bezier(.59, .01, .28, 1);
    transition: all .3s cubic-bezier(.59, .01, .28, 1);
    z-index: 850;
    opacity: 0;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    background: rgba(0, 0, 0, .9)
}

.headerMobile .container {
    padding-top: 103px
}

.headerMobile__nav {
    pointer-events: auto;
    min-height: 100%;
    position: relative;
    z-index: 851;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.headerMobile__link {
    line-height: 40px
}

.headerMobile__link:focus {
    outline: 0
}

.headerMobile__link .icon--search_mobile {
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px
}

.headerMobile__link svg {
    display: block;
    width: 100%;
    height: 100%
}

@media screen and (max-width:599px) {
    .js--nav {
        overflow: visible;
        height: 100%
    }

    .js--nav body .wrapper {
        position: fixed;
        width: 100%;
        overflow: hidden
    }

    .js--nav .header__logo,
    .js--nav .header__nav--ham {
        position: fixed
    }

    .js--nav .stickyTop {
        -webkit-transition-duration: 0s !important;
        -o-transition-duration: 0s !important;
        transition-duration: 0s !important
    }

    .js--nav .headerMobile {
        opacity: 1 !important;
        visibility: visible !important
    }

    .js--nav.js-search .headerMobile {
        opacity: 0;
        visibility: hidden
    }
}

.headerMobile__list {
    padding-bottom: 140px
}

.headerMobile__footer {
    position: absolute;
    bottom: 0;
    font-size: 15px;
    line-height: 25px;
    color: #666
}

.headerMobile__footer::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .headerMobile__footer {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .headerMobile__footer {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .headerMobile__footer {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .headerMobile__footer {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .headerMobile__footer {
        margin-left: -20px
    }
}

.headerMobile__footer ul {
    float: left;
    margin-bottom: 22px
}

@media screen and (max-width:599px) {
    .headerMobile__footer ul {
        width: calc((((100vw - 115px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

.headerMobile__footer ul a:hover {
    color: #fff
}

.footer {
    overflow: hidden;
    background: #fff;
    position: relative;
    z-index: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.footer--hidden {
    visibility: hidden
}

.footer__columns {
    padding-top: 24px;
    padding-bottom: 24px
}

.footer__columns::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden
}

@media screen and (max-width:599px) {
    .footer__columns {
        margin-left: -15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .footer__columns {
        margin-left: -15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__columns {
        margin-left: -20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .footer__columns {
        margin-left: -20px
    }
}

@media screen and (min-width:1600px) {
    .footer__columns {
        margin-left: -20px
    }
}

@media screen and (min-width:800px) {
    .footer__columns {
        padding-top: 14px
    }
}

.footer__item {
    color: #999;
    display: inline-block
}

.footer__item svg {
    display: inline-block;
    height: 100%;
    width: 100%;
    vertical-align: baseline
}

.footer__item--copyright {
    display: inline-block
}

@media screen and (min-width:800px) {
    .footer__item--copyright {
        margin-top: 0
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__item--copyright {
        display: block;
        margin-top: 10px
    }
}

@media screen and (min-width:1600px) {
    .footer__item--copyright {
        display: none
    }
}

.footer__item--copyrightLarge {
    display: none
}

@media screen and (min-width:1600px) {
    .footer__item--copyrightLarge {
        display: inline-block
    }
}

@media screen and (max-width:599px) {
    .footer__item--date {
        display: none
    }
}

.no-touch a.footer__item:hover,
.no-touch button.footer__item:hover {
    color: #1a1a1a
}

.no-touch a.footer__item:hover:after,
.no-touch a.footer__item:hover:before,
.no-touch button.footer__item:hover:after,
.no-touch button.footer__item:hover:before {
    background: #1a1a1a
}

.footer__legal {
    float: left
}

@media screen and (max-width:599px) {
    .footer__legal {
        width: calc((((100vw - 115px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .footer__legal {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__legal {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .footer__legal {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .footer__legal {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:800px) {
    .footer__legal .footer__item {
        margin-top: 10px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__legal .footer__item {
        margin-right: 30px
    }
}

@media screen and (min-width:1040px) {
    .footer__legal .footer__item {
        margin-right: 35px
    }
}

@media screen and (min-width:1040px) {
    .footer__legal .footer__toolsItem--newsletter .footer__item {
        margin-right: 0
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .footer__legal .newsletter-policy-wrap li:last-child {
        display: block
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .footer__legal .footer__toolsItem--newsletter {
        float: left;
        padding-right: 30px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__legal .footer__toolsItem--newsletter {
        display: block
    }
}

.footer__tools {
    text-align: left;
    float: left
}

@media screen and (max-width:599px) {
    .footer__tools {
        width: calc((((100vw - 115px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .footer__tools {
        width: calc((((100vw - 135px)/ 6) * 3) + 30px);
        margin-left: 15px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__tools {
        width: calc((((100vw - 300px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .footer__tools {
        width: calc((((100vw - 320px)/ 12) * 6) + 100px);
        margin-left: 20px
    }
}

@media screen and (min-width:1600px) {
    .footer__tools {
        width: 740px;
        margin-left: 20px
    }
}

@media screen and (min-width:800px) {
    .footer__tools {
        text-align: right
    }

    .footer__tools .footer__item {
        margin-top: 10px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__tools .footer__item {
        margin-left: 0
    }
}

@media screen and (min-width:1040px) {
    .footer__tools .footer__item {
        margin-left: 35px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__tools ul {
        width: 20%;
        text-align: left
    }
}

.footer__toolsItem {
    display: block
}

@media screen and (min-width:800px) {
    .footer__toolsItem {
        display: inline
    }
}

.footer__toolsItem--a17 a {
    white-space: nowrap
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .footer__toolsItem--a17 {
        display: block
    }
}

.js--newsletter .footer .typo--plus {
    color: #1a1a1a
}

.js--newsletter .footer .typo--plus:before {
    background: #1a1a1a
}

.js--newsletter .footer .typo--plus:after {
    display: none
}

.page-casestudy .footer {
    display: none
}

.page-work--abc .footer {
    visibility: hidden
}

.page-partner .footer,
.page-partners .footer {
    background: #000;
    border-color: #000
}

.page-partner .footer__item,
.page-partners .footer__item {
    color: #666
}

.page-partner a.footer__item:hover,
.page-partners a.footer__item:hover {
    color: #fff
}

.page-partner .footer .typo--plus:after,
.page-partner .footer .typo--plus:before,
.page-partners .footer .typo--plus:after,
.page-partners .footer .typo--plus:before {
    background: #666
}

.page-partner .footer .typo--plus:hover:after,
.page-partner .footer .typo--plus:hover:before,
.page-partners .footer .typo--plus:hover:after,
.page-partners .footer .typo--plus:hover:before {
    background: #fff
}

.page-partner .js--newsletter .footer .typo--plus,
.page-partners .js--newsletter .footer .typo--plus {
    color: #fff
}

.page-partner .js--newsletter .footer .typo--plus:before,
.page-partners .js--newsletter .footer .typo--plus:before {
    background: #fff
}

.newsletter-policy-wrap {
    display: inline
}

.newsletter-policy-wrap li:first-child {
    display: none
}

@media screen and (min-width:1600px) {
    .newsletter-policy-wrap li:first-child {
        display: inline-block
    }
}

@media screen and (max-width:1599px) {
    .footer__toolsItem-small {
        display: inline-block
    }
}

@media screen and (min-width:1600px) {
    .footer__toolsItem-small {
        display: none
    }
}

.modal {
    background: #fff;
    z-index: 1200;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .35s ease, visibility 0s .35s;
    -o-transition: opacity .35s ease, visibility 0s .35s;
    transition: opacity .35s ease, visibility 0s .35s
}

.modalInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%
}

.modal__header {
    text-align: center;
    overflow: hidden
}

.modal__header .container {
    position: relative
}

.modal__title {
    display: inline-block;
    height: 60px;
    line-height: 60px;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

@media screen and (max-width:599px) {
    .modal__title {
        max-width: calc(100% - 92px)
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .modal__title {
        max-width: calc(100% - 102px)
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .modal__title {
        max-width: calc(100% - 112px)
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .modal__title {
        max-width: calc(100% - 122px)
    }
}

@media screen and (min-width:1600px) {
    .modal__title {
        max-width: calc(100% - 122px)
    }
}

@media screen and (min-width:600px) {
    .modal__title {
        height: 70px;
        line-height: 70px
    }
}

.modal__close {
    z-index: 1201;
    float: right;
    height: 60px;
    line-height: 60px;
    color: #999;
    margin-right: 20px
}

.modal__close:hover {
    color: #1a1a1a
}

@media screen and (min-width:600px) {
    .modal__close {
        height: 70px;
        line-height: 70px;
        margin-right: 30px
    }
}

.modalMedia {
    overflow: hidden;
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
    position: relative;
    height: 100%
}

.modalMedia:hover .modalMedia__next,
.modalMedia:hover .modalMedia__previous {
    opacity: 1
}

.modalMedia__item {
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding-right: 20px;
    padding-left: 20px
}

@media screen and (min-width:600px) {
    .modalMedia__item {
        padding-right: 30px;
        padding-left: 30px
    }
}

@media screen and (min-width:800px) {
    .modalMedia__item {
        padding-right: 75px;
        padding-left: 75px
    }
}

.modalMedia__slider {
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: absolute
}

.modalMedia__slider.flickity-enabled {
    position: absolute
}

.modalMedia__frame {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
    min-height: 100px
}

.modalMedia__frame:before {
    color: #999;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: attr(data-loading);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    max-width: 100%;
    max-height: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.modalMedia__img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    max-width: 100%;
    max-height: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.modalMedia__img {
    opacity: 1;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s
}

.modalMedia__img[data-flickity-lazyload] {
    opacity: 0
}

.modalMedia__item--video .modalMedia__frame {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%
}

.modalMedia__item--video .modalMedia__player {
    position: relative;
    height: 100%;
    width: 100%
}

.modalMedia__item--video .modalMedia__player embed,
.modalMedia__item--video .modalMedia__player iframe,
.modalMedia__item--video .modalMedia__player object {
    max-width: 100%
}

.modalMedia__item--video .modalMedia__player embed,
.modalMedia__item--video .modalMedia__player iframe,
.modalMedia__item--video .modalMedia__player object,
.modalMedia__item--video .modalMedia__player video {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modalMedia__next,
.modalMedia__previous {
    z-index: 1201;
    position: fixed;
    top: 50%;
    display: none;
    height: 50%;
    color: #999;
    opacity: 0;
    -webkit-transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    -o-transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    transition: opacity .4s cubic-bezier(.59, .01, .28, 1);
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

.modalMedia__next span,
.modalMedia__previous span {
    display: inline-block;
    vertical-align: middle
}

.modalMedia__next svg,
.modalMedia__previous svg {
    width: 100%;
    height: 100%
}

.modalMedia__next.js--hidden,
.modalMedia__previous.js--hidden {
    display: none !important
}

.modalMedia__previous {
    left: 20px
}

@media screen and (min-width:600px) {
    .modalMedia__previous {
        left: 30px
    }
}

.modalMedia__next {
    right: 20px
}

@media screen and (min-width:600px) {
    .modalMedia__next {
        right: 30px
    }
}

.modal__progress,
.modal__progressWidth {
    height: 4px
}

.modal__progress {
    bottom: 0;
    left: 0;
    width: 100%;
    background: #c7c7c7;
    position: fixed;
    z-index: 1201;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    -webkit-transition: -webkit-transform .3s ease;
    -o-transition: -o-transform .3s ease;
    transition: transform .3s ease
}

.modal__progressWidth {
    width: 100%;
    max-width: 0;
    -webkit-transition: max-width .4s cubic-bezier(.59, .01, .28, 1);
    -o-transition: max-width .4s cubic-bezier(.59, .01, .28, 1);
    transition: max-width .4s cubic-bezier(.59, .01, .28, 1);
    background: #e61428
}

.modal__caption,
.modal__footer {
    text-align: center;
    min-height: 60px
}

@media screen and (min-width:600px) {

    .modal__caption,
    .modal__footer {
        min-height: 70px
    }
}

.modal__caption {
    padding-top: 19px;
    padding-bottom: 19px
}

@media screen and (min-width:600px) {
    .modal__caption {
        padding-top: 24px;
        padding-bottom: 24px
    }
}

@media screen and (max-width:599px) {
    .modal__caption {
        margin-right: 20px;
        margin-left: 20px
    }
}

@media screen and (min-width:600px) and (max-width:799px) {
    .modal__caption {
        margin-right: 30px;
        margin-left: 30px
    }
}

@media screen and (min-width:800px) and (max-width:1039px) {
    .modal__caption {
        margin-right: 40px;
        margin-left: 40px
    }
}

@media screen and (min-width:1040px) and (max-width:1599px) {
    .modal__caption {
        margin-right: 50px;
        margin-left: 50px
    }
}

@media screen and (min-width:1600px) {
    .modal__caption {
        margin-right: 50px;
        margin-left: 50px
    }
}

.ui-modal--active {
    overflow: hidden
}

.ui-modal--active body {
    overflow: hidden;
    width: 100%;
    height: 100%
}

.ui-modal--active .modal {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .35s;
    -o-transition: opacity .35s;
    transition: opacity .35s
}

.ui-modal--active .modal__progress {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

@media screen and (min-width:800px) {

    .ui-modal--active .modalMedia__next,
    .ui-modal--active .modalMedia__previous {
        display: block
    }
}

.page-partner .modal,
.page-partners .modal {
    background: #000
}

.page-partner .modal__caption,
.page-partners .modal__caption {
    color: #666
}

.page-partner .modal__close,
.page-partners .modal__close {
    color: #666
}

.page-partner .modal__close:hover,
.page-partners .modal__close:hover {
    color: #fff
}

.modal--single .modalMedia__next,
.modal--single .modalMedia__previous,
.modal--single .modal__progress {
    display: none
}

.sidePanelWrap {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    z-index: 999;
    width: 100vw;
    background: rgba(255, 255, 255, .93)
}

@media screen and (min-width:800px) {
    .sidePanelWrap {
        width: calc(100% + 410px)
    }
}

.s-panel-open .sidePanelWrap {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    -webkit-transition: all .3s cubic-bezier(.59, .01, .28, 1);
    -o-transition: all .3s cubic-bezier(.59, .01, .28, 1);
    transition: all .3s cubic-bezier(.59, .01, .28, 1)
}

@media screen and (min-width:800px) {
    .s-panel-open .sidePanelWrap {
        -webkit-transition: opacity .6s;
        -o-transition: opacity .6s;
        transition: opacity .6s
    }
}

.page-portfolio .stickyTop.js--top~.sidePanelWrap {
    background: rgba(0, 0, 0, .93)
}

.s-panel-open .header {
    -webkit-transition: -webkit-transform .6s;
    -o-transition: -o-transform .6s;
    transition: transform .6s;
    overflow: visible
}

@media screen and (min-width:800px) {

    .s-panel-open .header,
    .s-panel-open .headerMobile,
    .s-panel-open .stickyTop.js--active,
    .s-panel-open .wrapper {
        -webkit-transform: translateX(-410px) translateY(0);
        -o-transform: translateX(-410px) translateY(0);
        transform: translateX(-410px) translateY(0)
    }
}

.s-panel-open .header {
    top: 0
}

.sidePanel {
    width: 100vw;
    background: #f2f2f2;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 16px 20px 20px 20px;
    -webkit-transition: -webkit-transform .6s;
    -o-transition: -o-transform .6s;
    transition: transform .6s
}

@media screen and (min-width:800px) {
    .sidePanel {
        width: 410px;
        padding: 20px 50px;
        left: auto
    }
}

.s-panel-open .sidePanel {
    visibility: visible
}

@media screen and (min-width:800px) {
    .s-panel-open .sidePanel {
        -webkit-transform: translateX(-410px);
        -o-transform: translateX(-410px);
        transform: translateX(-410px)
    }
}

.sidePanelHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.sidePanelLogo {
    color: #e61428
}

@media screen and (min-width:800px) {
    .sidePanelLogo {
        display: none
    }
}

.sidePanelClose {
    color: #999
}

.sidePanel ul {
    margin-top: 48px
}

@media screen and (min-width:800px) {
    .sidePanel ul {
        margin-top: 30px
    }
}

.sidePanel ul li>span {
    color: grey
}

.sidePanel ul li:not(:first-child) {
    margin-top: 35px
}