*, *:before, *:after {
    box-sizing: inherit;
}

@font-face {
    font-family: 'Gotham';
    src: url("../fonts/GothamBold.woff2") format("woff2"), url("../fonts/GothamBold.woff") format("woff");
    font-weight: bold;
}

@font-face {
    font-family: 'Gotham';
    src: url("../fonts/GothamBook.woff2") format("woff2"), url("../fonts/GothamBook.woff") format("woff");
    font-weight: normal;
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
    line-height: 1.15;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
    margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article, aside, footer, header, nav, section {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
    font-size: 1em;
    margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption, figure, main {
    /* 1 */
    display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
    margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
    background-color: transparent;
    /* 1 */
    -webkit-text-decoration-skip: objects;
    /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b, strong {
    font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b, strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code, kbd, samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
    font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
    background-color: #ff0;
    color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio, video {
    display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
    border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
    overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button, input, optgroup, select, textarea {
    font-family: sans-serif;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button, input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button, select {
    /* 1 */
    text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button, html [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button;
    /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"], [type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details, menu {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
    display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
    display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
    display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
    display: none;
}

strong, b {
    font-weight: bold;
}

body, h1, h2, h3, h4, h5, h6, p, ul {
    margin: 0;
    padding: 0;
}

p {
    margin-bottom: 24px;
}
ul {
    /* margin-bottom: 24px; */
    /* padding-left: 12px; */
}
ul li {
    /* margin-bottom: 0.4em; */
}

html {
    background: #fff;
    color: #000;
    font: 1em/1.5 Gotham, sans-serif;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    letter-spacing: 0.01rem;
    height: 100%;
}

body {}

body.intro {
    height: 100%;
    overflow: hidden;
}

img {
    vertical-align: middle;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

a:focus {
    outline: none;
}

@media (min-width: 1025px) {
    .no-touchevents .parallax-element {
        opacity: 0;
        position: absolute;
        z-index: 10;
    }
    .no-touchevents .parallax-element--1 {
        background: url(../images/parallax-element-1.svg) no-repeat center;
        background-size: contain;
        width: 160px;
        height: 200px;
        top: -300px;
        left: 25%;
    }
    .no-touchevents .parallax-element--1.in {
        -webkit-animation: parallax-element-1-in 1.5s ease 0s both;
        animation: parallax-element-1-in 1.5s ease 0s both;
    }
    .no-touchevents .parallax-element--2 {
        background: url(../images/parallax-element-2.svg) no-repeat center;
        background-size: contain;
        width: 220px;
        height: 30px;
        top: -300px;
        left: 50%;
    }
    .no-touchevents .parallax-element--2.in {
        -webkit-animation: parallax-element-2-in 1.5s ease 0s both;
        animation: parallax-element-2-in 1.5s ease 0s both;
    }
}

@-webkit-keyframes parallax-element-1-in {
    0% {
        opacity: 0;
        top: -300px;
    }
    100% {
        opacity: 1;
        top: 24px;
    }
}

@keyframes parallax-element-1-in {
    0% {
        opacity: 0;
        top: -300px;
    }
    100% {
        opacity: 1;
        top: 24px;
    }
}

@-webkit-keyframes parallax-element-2-in {
    0% {
        opacity: 0;
        top: -300px;
    }
    100% {
        opacity: 1;
        top: 33.33333%;
    }
}

@keyframes parallax-element-2-in {
    0% {
        opacity: 0;
        top: -300px;
    }
    100% {
        opacity: 1;
        top: 33.33333%;
    }
}

@media (min-width: 1025px) {
    .no-touchevents .trigger {
        height: 100vh;
    }
}

.intro {
    background: #1d1d1d;
    width: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: 100;
}

.intro.out {
    -webkit-animation: intro-out 1s ease 0s both;
    animation: intro-out 1s ease 0s both;
    position: absolute;
}

.intro__background {
    background: #dac529;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-animation: intro-background-in 1s ease 1s both, intro-background-width 1s ease 3s both, intro-background-height 1s ease 4s both;
    animation: intro-background-in 1s ease 1s both, intro-background-width 1s ease 3s both, intro-background-height 1s ease 4s both;
}

.intro.out .intro__background {
    -webkit-animation: intro-background-out 1s ease 0s both;
    animation: intro-background-out 1s ease 0s both;
}

.intro__logo {
    background: url(../images/logo-gold.svg);
    width: 150px;
    height: 150px;
    margin: auto;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-animation: intro-logo-in 1s ease 2s both, intro-logo-scale 0.5s ease 4s both, intro-logo-slide-up 1s ease 5s both;
    animation: intro-logo-in 1s ease 2s both, intro-logo-scale 0.5s ease 4s both, intro-logo-slide-up 1s ease 5s both;
}


.intro.out .intro__logo {
    -webkit-animation: intro-logo-out 1s ease 0s both;
    animation: intro-logo-out 1s ease 0s both;
}

.intro__typer {
    color: #fff;
    font-size: 18px;
    line-height: normal;
    text-align: center;
    width: 100%;
    min-height: 100px;
    margin: auto;
    padding: 0 6px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.intro__button {
    background: #1d1d1d;
    border: none;
    outline: none;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    text-transform: uppercase;
    margin-top: 244px;
    padding: 12px 30px;
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.intro__button.in {
    -webkit-animation: intro-button-in 1s ease both;
    animation: intro-button-in 1s ease both;
}

.intro__button.out {
    -webkit-animation: intro-button-out 1s ease both;
    animation: intro-button-out 1s ease both;
}

@media (min-width: 768px) {
    .intro__typer {
        font-size: 24px;
    }
    .intro__button {
        font-size: 20px;
        padding: 12px 36px;
    }
}

@media (min-width: 1025px) {
    .intro {
        position: fixed !important;
    }
    .intro__typer {
        font-size: 28px;
    }
}

@-webkit-keyframes intro-background-in {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes intro-background-in {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes intro-background-width {
    0% {
        width: 150px;
    }
    100% {
        width: 100%;
    }
}

@keyframes intro-background-width {
    0% {
        width: 150px;
    }
    100% {
        width: 100%;
    }
}

@-webkit-keyframes intro-background-height {
    0% {
        height: 150px;
    }
    100% {
        height: 100%;
    }
}

@keyframes intro-background-height {
    0% {
        height: 150px;
    }
    100% {
        height: 100%;
    }
}

@-webkit-keyframes intro-logo-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes intro-logo-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes intro-logo-scale {
    0% {
        width: 150px;
        height: 150px;
    }
    100% {
        width: 150px;
        height: 150px;
    }
}

@keyframes intro-logo-scale {
    0% {
        width: 150px;
        height: 150px;
    }
    100% {
        width: 150px;
        height: 150px;
    }
}

@-webkit-keyframes intro-logo-slide-up {
    0% {
        top: 0;
    }
    100% {
        top: -300px;
    }
}

@keyframes intro-logo-slide-up {
    0% {
        top: 0;
    }
    100% {
        top: -300px;
    }
}

@media (min-width: 1025px) {
    @-webkit-keyframes intro-logo-scale {
        0% {
            width: 150px;
            height: 150px;
        }
        100% {
            width: 300px;
            height: 300px;
        }
    }
    @keyframes intro-logo-scale {
        0% {
            width: 150px;
            height: 150px;
        }
        100% {
            width: 300px;
            height: 300px;
        }
    }
    @-webkit-keyframes intro-logo-slide-up {
        0% {
            top: 0;
        }
        100% {
            top: -400px;
        }
    }
    @keyframes intro-logo-slide-up {
        0% {
            top: 0;
        }
        100% {
            top: -400px;
        }
    }
}

@-webkit-keyframes intro-button-in {
    0% {
        margin-top: 244px;
        opacity: 0;
    }
    100% {
        margin-top: 144px;
        opacity: 1;
    }
}

@keyframes intro-button-in {
    0% {
        margin-top: 244px;
        opacity: 0;
    }
    100% {
        margin-top: 144px;
        opacity: 1;
    }
}

@-webkit-keyframes intro-button-out {
    0% {
        margin-top: 144px;
        opacity: 1;
    }
    100% {
        display: none;
        margin-top: 244px;
        opacity: 0;
        visibility: hidden;
    }
}

@keyframes intro-button-out {
    0% {
        margin-top: 144px;
        opacity: 1;
    }
    100% {
        display: none;
        margin-top: 244px;
        opacity: 0;
        visibility: hidden;
    }
}

@-webkit-keyframes intro-out {
    0% {
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }
    100% {
        width: 50px;
        height: 50px;
        top: 12px;
        left: 12px;
    }
}

@keyframes intro-out {
    0% {
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }
    100% {
        width: 50px;
        height: 50px;
        top: 12px;
        left: 12px;
    }
}

@media (min-width: 1025px) {
    @-webkit-keyframes intro-out {
        0% {
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
        100% {
            width: 75px;
            height: 75px;
            top: 24px;
            left: 24px;
        }
    }

    @keyframes intro-out {
        0% {
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
        100% {
            width: 75px;
            height: 75px;
            top: 24px;
            left: 24px;
        }
    }
}

@-webkit-keyframes intro-background-out {
    0% {
        background: #dac529;
    }
    100% {
        background: #1d1d1d;
    }
}

@keyframes intro-background-out {
    0% {
        background: #dac529;
    }
    100% {
        background: #1d1d1d;
    }
}

@-webkit-keyframes intro-logo-out {
    0% {
        width: 300px;
        height: 300px;
        top: -400px;
    }
    100% {
        background: url(../images/logo-black.svg);
        width: 100%;
        height: 100%;
        top: 0;
    }
}

@keyframes intro-logo-out {
    0% {
        width: 300px;
        height: 300px;
        top: -400px;
    }
    100% {
        background: url(../images/logo-black.svg);
        width: 100%;
        height: 100%;
        top: 0;
    }
}

.contact {
    color: #1d1d1d;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 99;
}

@media (min-width: 1025px) {
    .contact {
        position: fixed;
    }
}

.contact-modal {
    background: #fff;
    width: 100%;
    opacity: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    bottom: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    height: 0;
    z-index: 100;
}

.contact-modal.visible {
    height: auto;
    -webkit-animation: menu-in 0.35s ease-out 0s both;
    animation: menu-in 0.35s ease-out 0s both;
}

.contact-modal__logo {
    background: url(../images/logo-black.svg);
    width: 75px;
    height: 75px;
    position: absolute;
    top: 12px;
    left: 12px;
}

.contact-modal__close {
    background: url(../images/close.svg) no-repeat center;
    background-size: contain;
    cursor: pointer;
    width: 75px;
    height: 75px;
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
}

.contact-modal__content {
    margin-top: 87px;
    padding: 12px;
}

.contact-modal__title {
    color: #dac529;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.contact-modal__form-item {
    margin-bottom: 12px;
}

.contact-modal__form-item> :first-child {
    display: block;
    font-size: 20px;
    font-weight: 700;
}

.contact-modal__form-item> :last-child {
    border: 1px solid #000;
    width: 100%;
    padding: 3px;
}

.contact-modal__send {
    background: url(../images/send.svg);
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    width: 32px;
    height: 30px;
}

.contact-modal__send.sent {
    background: none;
    width: auto;
    height: auto;
}

@media (min-width: 768px) {
    .contact-modal {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .contact-modal__logo {
        top: 24px;
        left: 24px;
    }
    .contact-modal__content {
        width: 75%;
        margin-top: 0;
    }
    .contact-modal__title {
        font-size: 28px;
        margin-bottom: 24px;
    }
    .contact-modal__form-item {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        margin-bottom: 24px;
    }
    .contact-modal__form-item> :first-child {
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        display: inline-block;
        font-size: 28px;
        text-align: right;
        padding-right: 24px;
    }
    .contact-modal__form-item> :last-child {
        -webkit-flex: 2;
        -ms-flex: 2;
        flex: 2;
        width: auto;
        padding: 6px;
    }
}

@-webkit-keyframes contact-modal-in {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes contact-modal-in {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.open-menu {
    cursor: pointer;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 30px;
    left: 20px;
    z-index: 99;
}
.open-menu__img {
    fill: #DAC529;
    width: 100%;
    height: 100%;
    display: block;
}

.menu {
    background: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    opacity: 0;
    position: fixed;
    top: 0;
    bottom: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    z-index: 100;
}

.menu.visible {
    -webkit-animation: menu-in 0.35s ease-out 0s both;
    animation: menu-in 0.35s ease-out 0s both;
}

.menu__logo {
    background: url(../images/logo-black.svg);
    width: 75px;
    height: 75px;
    position: absolute;
    top: 12px;
    left: 12px;
}

.menu__close {
    background: url(../images/close.svg) no-repeat center;
    background-size: contain;
    cursor: pointer;
    width: 75px;
    height: 75px;
    position: absolute;
    top: 12px;
    right: 12px;
}

.menu__content {
    padding: 12px;
}

.menu a {
    color: #000;
    display: block;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.menu a.color--primary {
    color: #dac529;
}

.menu a.margin-bottom--large {
    margin-bottom: 24px;
}

.menu__social {
    text-align: center;
}

.menu__social .twitter, .menu__social .linkedin, .menu__social .facebook {
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
}

.menu__social .twitter {
    background: url(../images/twitter.svg) no-repeat center;
    margin-right: 12px;
}

.menu__social .linkedin {
    background: url(../images/linkedin-black.svg) no-repeat center;
    margin-left: -0.25em;
}

.menu__social .facebook {
    background: url(../images/facebook-black.svg) no-repeat center;
    width: 24px;
    height: 24px;
}

@media (max-width: 767px) {
    .open-menu {
        position: absolute;
        top: 17px;
        left: 80px;
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .open-menu {
        cursor: pointer;
        margin-top: -20px;
        position: fixed;
        top: 50%;
        left: 20px;
    }
}
@media (min-width: 1025px) {
    .open-menu {
        cursor: pointer;
        margin-top: -20px;
        position: fixed;
        top: 50%;
        left: 24px;
    }
    .menu__logo {
        top: 24px;
        left: 24px;
    }
    .menu__close {
        top: 24px;
        right: 24px;
    }
    .menu a {
        font-size: 28px;
    }
    .menu a.margin-bottom--large {
        margin-bottom: 36px;
    }
}

@-webkit-keyframes menu-in {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes menu-in {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.scroll {
    background: url(../images/scroll.gif);
    cursor: pointer;
    display: none;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    position: fixed;
    bottom: 24px;
    left: 50%;
    z-index: 99;
    transition: opacity 0.5s ease;
}

.scroll.hide {
    opacity: 0;
}

@media (min-width: 1025px) {
    .scroll {
        display: block;
    }
}

.first-section {
    background: #fff;
}

.first-section__content {
    opacity: 0;
    overflow: hidden;
    position: relative;
}

.first-section.in .first-section__content {
    -webkit-animation: first-section-content-in 1s ease 0s both;
    animation: first-section-content-in 1s ease 0s both;
}

.first-section__video-wrapper {
    width: 100%;
    height: 100%;
    margin-bottom: 12px;
}

.first-section__video-cover {
    background: url(../images/explorer.png) no-repeat center center;
    background-size: cover;
    object-fit: cover;
    vertical-align: middle;
    width: 100%;
}

.first-section__video {
    object-fit: cover;
    vertical-align: middle;
    width: 100%;
    display: block;
}
.first-section__menu {
    display: none;
    text-align: center;
    margin: 12px 0;
}

.first-section__menu>ul {
    width: 100%;
    list-style: none;
}

.first-section.in .first-section__menu>ul {
    -webkit-animation: first-section-menu-in 1s ease 0.5s both;
    animation: first-section-menu-in 1s ease 0.5s both;
}

.first-section-menu-link {
    color: #000;
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
}

.first-section__explorer .title, .first-section__concevoir .title, .first-section__produire .title, .first-section__grandir .title {
    font-size: 36px;
    font-weight: 700;
    text-transform: uppercase;
}

.first-section__explorer .button, .first-section__concevoir .button, .first-section__produire .button, .first-section__grandir .button {
    background: #1d1d1d;
    border: none;
    outline: none;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 16px;
    text-transform: uppercase;
    padding: 6px 18px;
}

.first-section__explorer .media> :first-child, .first-section__concevoir .media> :first-child, .first-section__produire .media> :first-child, .first-section__grandir .media> :first-child {
    margin-bottom: 24px;
}

.first-section__explorer {
    background: #fff;
    z-index: 4;
}

.first-section__explorer .subtitle {
    color: #d8a031;
    margin-bottom: 10px;
}

.first-section__concevoir {
    background: #fff;
    z-index: 6;
}

.first-section__concevoir .subtitle {
    color: #93C3E6;
    margin-bottom: 10px;
}

.first-section__produire {
    background: #fff;
    z-index: 8;
}

.first-section__produire .subtitle {
    color: #376c28;
    margin-bottom: 10px;
}

.first-section__grandir {
    background: #fff;
    z-index: 10;
}

.first-section__grandir .subtitle {
    color: #5c9cc8;
    margin-bottom: 10px;
}

@media (min-width: 1025px) {
    .first-section__explorer {
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
    }
    .first-section__concevoir {
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
    }
    .first-section__produire {
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
    }
    .first-section__grandir {
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
    }
}

@media (max-width: 767px) {
    .first-section {
        margin-top: 14px;
    }
}
@media (min-width: 768px) {
    .first-section {
    }
    .first-section__video-wrapper {
        margin-bottom: 0;
    }
    .first-section__menu {
        display: none;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0;
        padding: 0 48px 48px;
        z-index: 3;
    }
    .first-section__menu>ul {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        width: 100%;
        list-style: none;
    }
    .first-section.in .first-section__menu>ul {
        -webkit-animation: first-section-menu-in 1s ease 0.5s both;
        animation: first-section-menu-in 1s ease 0.5s both;
    }
    .first-section__menu>ul>li>a {
        font-size: 24px;
        padding: 12px;
    }
    .first-section__explorer, .first-section__concevoir, .first-section__produire, .first-section__grandir {
        padding: 48px;
    }
    .first-section__explorer .content, .first-section__concevoir .content, .first-section__produire .content, .first-section__grandir .content {
        background: #fff;
        padding: 24px 0;
    }
    .first-section__explorer .media, .first-section__concevoir .media, .first-section__produire .media, .first-section__grandir .media {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .first-section__explorer .media>*, .first-section__concevoir .media>*, .first-section__produire .media>*, .first-section__grandir .media>* {
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    .first-section__explorer .media> :first-child, .first-section__produire .media> :first-child {
        order: 2;
    }
    .first-section__explorer .media> :last-child, .first-section__produire .media> :last-child {
        order: 1;
    }
    .first-section__explorer .button, .first-section__concevoir .button, .first-section__produire .button, .first-section__grandir .button {
        font-size: 20px;
        padding: 12px 36px;
    }
    /* .touchevents .first-section__explorer {
        background: linear-gradient(to bottom, #bdaca6, #bb9073);
    }
    .touchevents .first-section__concevoir {
        background: linear-gradient(to bottom, #a0d7dd, #99c7ef);
    }
    .touchevents .first-section__produire {
        background: linear-gradient(to bottom, #64c9a3, #38866c);
    }
    .touchevents .first-section__grandir {
        background: linear-gradient(to bottom, #15316d, #9d50e8);
    } */
}

@media (min-width: 1025px) {
    .first-section {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        height: 100vh;
        padding: 99px 12px 12px;
    }
    .first-section__content {
        width: 100%;
        /* max-width: 1387px; */
        height: 100%;
    }
    .first-section__content>*:not(.first-section__video-wrapper) {
        width: 100%;
        height: 100%;
        padding: 3vw;
        position: absolute;
        top: 0;
        left: 0;
    }
    /* just a hack to avoid a margin during scroll animation between sections */
    .first-section__content>*:not(.first-section__video-wrapper):before {
        content: "";
        position: absolute;
        top: 99%;
        height: 2%;
        left: 0;
        right: 0;
        background: #ffffff;
    }
    .first-section__video-wrapper {
        padding: 0px;
    }
    .first-section__video-cover {
        display: none;
    }
    .first-section__video {
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    .first-section__video.is-playing {
        opacity: 1;
    }
    .first-section__menu {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0;
        padding: 0;
        z-index: 3;
    }
    .first-section__menu>ul {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        width: 100%;
        list-style: none;
    }
    .first-section.in .first-section__menu>ul {
        -webkit-animation: first-section-menu-in 1s ease 0.5s both;
        animation: first-section-menu-in 1s ease 0.5s both;
    }
    .first-section__menu>ul>li>a {
        background: none;
        border: none;
        color: #fff;
        vertical-align: middle;
        font-size: 28px;
        position: relative;
        transition: color 0.25s;
    }
    .first-section__menu>ul>li>a::before, .first-section__menu>ul>li>a::after {
        content: '';
        border: 2px solid transparent;
        width: 0;
        height: 0;
        position: absolute;
    }
    .first-section__menu>ul>li>a::before {
        top: 0;
        left: 0;
    }
    .first-section__menu>ul>li>a::after {
        right: 0;
        bottom: 0;
    }
    .first-section__menu>ul>li>a.is-hover::before, .first-section__menu>ul>li>a.is-hover::after {
        width: 100%;
        height: 100%;
    }
    .first-section__menu>ul>li>a.is-hover::before {
        border-top-color: #fff;
        border-right-color: #fff;
        transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
    }
    .first-section__menu>ul>li>a.is-hover::after {
        border-bottom-color: #fff;
        border-left-color: #fff;
        transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
    }
    .first-section[data-video='explorer'] a[data-target='explorer']::before, .first-section[data-video='explorer'] a[data-target='explorer']::after {
        width: 100%;
        height: 100%;
    }
    .first-section[data-video='explorer'] a[data-target='explorer']::before {
        border-top-color: #fff;
        border-right-color: #fff;
        transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
    }
    .first-section[data-video='explorer'] a[data-target='explorer']::after {
        border-bottom-color: #fff;
        border-left-color: #fff;
        transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
    }
    .first-section[data-video='concevoir'] a[data-target='concevoir']::before, .first-section[data-video='concevoir'] a[data-target='concevoir']::after {
        width: 100%;
        height: 100%;
    }
    .first-section[data-video='concevoir'] a[data-target='concevoir']::before {
        border-top-color: #fff;
        border-right-color: #fff;
        transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
    }
    .first-section[data-video='concevoir'] a[data-target='concevoir']::after {
        border-bottom-color: #fff;
        border-left-color: #fff;
        transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
    }
    .first-section[data-video='produire'] a[data-target='produire']::before, .first-section[data-video='produire'] a[data-target='produire']::after {
        width: 100%;
        height: 100%;
    }
    .first-section[data-video='produire'] a[data-target='produire']::before {
        border-top-color: #fff;
        border-right-color: #fff;
        transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
    }
    .first-section[data-video='produire'] a[data-target='produire']::after {
        border-bottom-color: #fff;
        border-left-color: #fff;
        transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
    }
    .first-section[data-video='grandir'] a[data-target='grandir']::before, .first-section[data-video='grandir'] a[data-target='grandir']::after {
        width: 100%;
        height: 100%;
    }
    .first-section[data-video='grandir'] a[data-target='grandir']::before {
        border-top-color: #fff;
        border-right-color: #fff;
        transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
    }
    .first-section[data-video='grandir'] a[data-target='grandir']::after {
        border-bottom-color: #fff;
        border-left-color: #fff;
        transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
    }
    .first-section__explorer, .first-section__concevoir, .first-section__produire, .first-section__grandir {
        padding: 0;
    }
    .first-section__explorer .content, .first-section__concevoir .content, .first-section__produire .content, .first-section__grandir .content {
        background: transparent;
        padding: 0px;
    }
}

@-webkit-keyframes first-section-content-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes first-section-content-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@-webkit-keyframes first-section-menu-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes first-section-menu-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.customers-section {
    padding: 12px;
}

.customers-section__header {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 24px;
}

.customers-section__header> :first-child {
    -webkit-flex: 3;
    -ms-flex: 3;
    flex: 3;
}

.customers-section__header> :last-child {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.customers-section__title {
    color: #1d1d1d;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.customers-section__scroll-to>a {
    background: url(../images/grid.svg) no-repeat center;
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
}

.customers-section__preview {
    text-align: center;
    margin-bottom: 24px;
}

.customers-section__preview>img {
    /*box-shadow: 0 43px 159px rgba(0, 0, 0, 0.1); */
}

.customers-section__navigation {
    text-align: right;
    margin-bottom: 24px;
}

.customers-section__navigation a {
    text-transform: uppercase;
}

.customers-section__navigation a>* {
    display: inline-block;
    vertical-align: middle;
}

.customers-section__navigation a> :last-child {
    background: url(../images/arrow.svg) no-repeat center;
    display: inline-block;
    vertical-align: middle;
    width: 27px;
    height: 9px;
}

.customers-section__grid> :not(:last-child) {
    margin-bottom: 24px;
}

.customers-section__row {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: -12px 0 0 -12px;
}

.customers-section__cell {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 12px 0 0 12px;
}

.customers-section__cell>div {
    background: #ffffff;
    padding: 3px;
}

.customers-section__list>div {
    background: #ffffff;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.customers-section__item {
    cursor: pointer;
}

@media (min-width: 768px) {
    .customers-section {
        padding: 48px;
    }
    .customers-section__title {
        font-size: 36px;
    }
    .customers-section__scroll-to {
        text-align: right;
    }
    .customers-section__scroll-to>a {
        width: 36px;
        height: 36px;
    }
    .customers-section__social {
        text-align: right;
    }
    .customers-section__navigation a> :last-child {
        width: 54px;
        height: 18px;
    }
    .customers-section__row {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: -24px 0 0 -24px;
    }
    .customers-section__cell {
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding: 24px 0 0 24px;
    }
    .customers-section__cell>div {
        background: #ffffff;
        padding: 24px;
    }
    .customers-section__list>div {
        background: #ffffff;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
}

@media (min-width: 1025px) {
    .customers-section__header {
        margin: 0 auto 24px;
    }
    .customers-section__content {
        margin: 0 auto;
    }
}

.team-section {
    margin-bottom: 12px;
}

.team-section__header {
    margin-bottom: 24px;
}

.team-section__header>h2, .team-section__header>div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.team-section__social {
    text-align: right;
}

.team-section__title {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    text-transform: uppercase;
}

.team-section__title-mail {
    -webkit-flex: 3;
    -ms-flex: 3;
    flex: 3;
    line-height: 20px;
    color: #fff;
}

.team-section__title-mail:before {
    content: "";
    display: inline-block;
    vertical-align: bottom;
    width: 25px;
    height: 20px;
    margin-right: 8px;
    background: url('../images/mail-white.svg') no-repeat center center / contain;
}

.team-section__social a {
    display: inline-block;
    vertical-align: bottom;
    width: 30px;
    height: 30px;
    font-size: 0;
}

.team-section__social .facebook {
    background: url(../images/facebook.svg) no-repeat center;
    margin-left: 12px;
}

.team-section__social .linkedin {
    background: url(../images/linkedin-white.svg) no-repeat center;
    margin-left: 12px;
}

.team-section__social .twitter {
    background: url(../images/twitter-white.svg) no-repeat center;
    margin-left: 12px;
    background-position: center bottom;
}

.team-section__social .slack {
    background: url(../images/slack.svg) no-repeat center;
}

.team-section__content>img {
    box-shadow: 0 43px 159px rgba(0, 0, 0, 0.1);
}
.team-section__content-intro {
    color: #ffffff;
    font-size: 1.3em;
    margin-bottom: 2em;
}
.team-section__content-intro p {
    margin-bottom: 1em;
}

.touchevents .team-section {
    /* background: linear-gradient(to bottom, #fea674, #ff8965); */
}

@media (min-width: 768px) {
    .team-section {
        margin-bottom: 48px;
    }
    .team-section__social .facebook, .team-section__social .linkedin, .team-section__social .twitter, .team-section__social .slack {
        width: 36px;
        height: 36px;
    }
}

@media (min-width: 1025px) {
    .team-section {
        margin-bottom: 96px;
    }
    .team-section__header {
        margin: 0 auto 24px;
    }
    .team-section__content {
        margin: 0 auto;
    }
}

.offices-section {
    margin-bottom: 12px;
}

.offices-section__header {
    margin-bottom: 24px;
}

.offices-section__title {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.offices-section__content {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.offices-section__content>.over {
    background: url(../images/offices.jpg) no-repeat center;
    background-size: cover;
    cursor: pointer;
    position: absolute;
    top: 12px;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 5;
}

.offices-section__map-placeholder {
    position: relative;
    width: 100%;
}

.offices-section__map-placeholder iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

@media (min-width: 768px) {
    .offices-section {
        margin-bottom: 48px;
    }
    .offices-section__header {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: top;
        -ms-flex-align: top;
        align-items: top;
    }
    .offices-section__title {
        margin-bottom: 0;
        margin-right: 24px;
    }
    .offices-section__content>.over {
        top: 24px;
        right: 24px;
        bottom: 24px;
        left: 24px;
    }
}

@media (min-width: 1025px) {
    .offices-section {
        margin-bottom: 96px;
    }
    .offices-section__header {
        margin: 0 auto 24px;
    }
    .offices-section__content {
        margin: 0 auto;
    }
}

.case-study .hero {
    padding: 12px;
}

.case-study .hero__preview {
    text-align: center;
    margin-bottom: 12px;
}

.case-study .hero__preview>img {
    box-shadow: 0 43px 159px rgba(0, 0, 0, 0.1);
}

.case-study .hero__navigation {
    text-align: right;
}

.case-study .hero__navigation a>span {
    background: url(../images/arrow.svg) no-repeat center;
    display: inline-block;
    vertical-align: middle;
    text-transform: uppercase;
    width: 27px;
    height: 9px;
}

.case-details .row> :first-child {
    margin-bottom: 24px;
}

.case-details .row>*>*:last-child {
    margin-bottom: 0;
}

.heading-with-top-border {
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 24px;
    margin-top: 24px;
    padding-top: 17px;
    position: relative;
}

.heading-with-top-border:before {
    content: "";
    left: 0;
    top: 0;
    position: absolute;
    width: 100%;
    border-top-width: 5px;
    border-top-style: solid;
    height: 0;
}

.rewards-partners .row> :first-child {
    margin-bottom: 24px;
}

.rewards-partners .row>*>*:last-child {
    margin-bottom: 0;
}

.contact-section {
    text-align: center;
    color: #fff;
    background: #09144a;
}

.contact-section>*:not(:last-child) {
    margin-bottom: 12px;
}

.contact-section__title {
    font-size: 20px;
    font-weight: 700;
}

.contact-section__button {
    border: 1px solid #fff;
    display: inline-block;
    text-transform: uppercase;
    padding: 12px;
}

.contact-section__follow-us {
    text-transform: uppercase;
}

.contact-section__social-item {
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    margin: 0 6px;
    font-size: 0;
    background-repeat: no-repeat;
    background-position: center;
}

.contact-section__social-item--facebook {
    background-image: url(../images/facebook.svg);
}

.contact-section__social-item--linkedin {
    background-image: url(../images/linkedin-white.svg);
}

.contact-section__social-item--slack {
    background-image: url(../images/slack.svg);
}

.contact-section__social-item--twitter {
    background-image: url(../images/twitter-white.svg);
}

@media (min-width: 768px) {
    .case-study .hero {
        padding: 48px;
    }
    .case-study .hero__preview {
        margin-bottom: 24px;
    }
    .case-study .hero__navigation a>span {
        width: 54px;
        height: 18px;
    }
    .case-details .row {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    .case-details .row>* {
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    .case-details .row> :first-child {
        margin-bottom: 0;
        padding-right: 30px;
    }
    .case-details .row> :last-child {
        padding-left: 12px;
    }
    .rewards-partners .row {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    .rewards-partners .row>* {
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    .rewards-partners .row> :first-child {
        margin-bottom: 0;
        padding-right: 12px;
    }
    .rewards-partners .row> :last-child {
        padding-left: 12px;
    }
    .contact-section>*:not(:last-child) {
        margin-bottom: 24px;
    }
    .contact-section__button {
        padding: 24px;
    }
}

@media (min-width: 1025px) {
    .case-study .hero {
        min-height: 100vh;
        padding: 96px;
    }
    .contact-section>*:not(:last-child) {
        margin-bottom: 36px;
    }
}

.footer {
    font-size: 14px;
    padding: 12px;
}

.footer__address {
    margin-bottom: 12px;
}

.footer__links a {
    color: #dac529;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .footer {
        font-size: 16px;
        padding: 24px;
    }
    .footer .row {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .footer .row>* {
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    .footer .row> :first-child {
        /* padding-right: 12px; */
    }
    .footer .row> :last-child {
        /* padding-left: 12px; */
    }
    .footer__links {
        text-align: right;
        margin-top: 0;
    }
}

@media (min-width: 1025px) {
    .footer {
        padding: 25px;
    }
}

.logo {
    background: url(../images/logo-black.svg);
    width: 50px;
    height: 50px;
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100;
}

@media (min-width: 1025px) {
    .logo {
        width: 75px;
        height: 75px;
        top: 24px;
        left: 24px;
    }
}

.bold {
    font-weight: 700;
}

.full-height {
    height: 100vh;
}

.hidden {
    display: none;
    visibility: hidden;
}

.uppercase {
    text-transform: uppercase;
}

.background-gradient {
    background: rgb(252, 166, 120);
    /* Old browsers */
    background: -moz-linear-gradient(top, rgba(252, 166, 120, 1) 0%, rgba(253, 140, 107, 1) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(252, 166, 120, 1) 0%, rgba(253, 140, 107, 1) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(252, 166, 120, 1) 0%, rgba(253, 140, 107, 1) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.team-section__content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.team-section__member {
    text-transform: uppercase;
    text-align: left;
    line-height: 1.1;
    color: white;
    margin-bottom: 20px;
}

.team-section__member-photo {
    margin-bottom: 20px;
}

.team-section__member-photo>img {
    display: block;
    width: 100%;
    height: auto;
}

.team-section__member-info {
    margin-bottom: 15px;
}

.team-section__member-info strong {
    display: block;
}

.team-section__link {
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 22px;
    margin-right: 5px;
    font-size: 0;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
}

.team-section__link--twitter {
    background-image: url('../images/twitter-white.svg');
}

.team-section__link--linkedin {
    background-image: url('../images/linkedin-white.svg');
}

.team-section__link--vimeo {
    background-image: url('../images/vimeo-white.svg');
}

.team-section__link--dribbble {
    background-image: url('../images/dribbble-white.svg');
}

.customers-section__slider {
    margin-bottom: 24px;
}

.customers-section__slider-item {
    position: relative;
    border-width: 0;
}

.customers-section__slider-visual {
    width: 100%;
    height: auto;
    position: relative;
}
.customers-section__slider-visual img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.customers-section__slider-content {
    color: #fff;
}

.customers-section__slider-content>p {
    margin-bottom: 0;
    line-height: 1.4;
}

.customers-section__slider-logo {
    display: block;
    margin-bottom: 30px;
    max-height: 100px;
    max-width: 200px;
    width: auto;
    height: auto;
}

.customers-section__slider-more {
    position: absolute;
}

.customers-section__slider-more:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.15) url('../images/more.png') no-repeat center center / 50%;
}

.first-section__item-content ul {
    margin-bottom: 30px;
}

.first-section__item-content li {
    margin-bottom: 0.8em;
}
@media (min-width: 768px) {
    .team-section__header {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media (min-width: 1025px) {
    .first-section__item-content {
        padding: 0 50px 0 0;
    }
    .first-section__item-content--right {
        padding: 0 0 0 50px;
    }
    .customers-section__slider-visual {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        min-width: 101%;
        min-height: 101%;
    }
    .customers-section__slider-item {
        position: relative;
        border-width: 10px;
        border-style: solid;
        height: 70vh;
        overflow: hidden;
    }
    .customers-section__slider-list {
        padding-left: 0;
        max-height: 70vh;
    }
    .customers-section__slider-content {
        left: 20px;
        max-width: 80%;
        font-size: 14px;
        padding: 15px;
    }
    .offices-section__map-placeholder {
        padding-top: 33%;
    }
    .team-section__title-mail {
        padding-left: 20px;
    }
    .team-section__member {
        width: 15%;
    }
    .customers-section__slider-more {
        left: 100%;
        margin-left: 1px;
        bottom: 0;
        width: 80px;
        height: 80px;
    }
}

@media (max-width: 1024px) {
    .first-section {
        padding-bottom: 20vh;
    }
    .customers-section {
        padding-bottom: 10vh;
    }
    .first-section__video-wrapper {
        width: 100%;
        padding-top: 100%;
        margin: 0;
        background: url('../images/explorer.png') no-repeat center center / cover;
    }
    .first-section__video-wrapper>* {
        display: none;
    }
    .first-section__menu {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        padding-top: 100%;
        margin: 0;
        background: rgba(0, 0, 0, 0.3);
    }
    .first-section__menu ul {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
    }
    .first-section-menu-link {
        color: #fff;
        margin: 0.5em 0;
    }
    .first-section__item {
        padding: 50px 0 0;
    }
    .first-section__item-content {
        text-align: center;
    }
    .first-section__item-content ul {
        padding-left: 30px;
        text-align: left;
    }
    .first-section__explorer .button {}
    .customers-section__slider-logo {
        max-width: 50px;
        max-width: 80px;
        margin-bottom: 10px;
    }
    .team-section__social {
        text-align: center;
    }
    .team-section__social a {
        width: 20px;
        height: 20px;
        margin: 20px 0;
    }
}

@media (min-width: 768px) {
    .customers-section__slider-content {
        position: absolute;
        top: 50%;
        left: 8%;
        transform: translate(0, -50%);
        max-width: 33%;
        min-height: 150px;
        padding: 50px 30px 30px;
        font-size: 23px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .first-section__video-wrapper {
        padding-top: 66%;
    }
    .first-section__menu {
        padding-top: 66%;
        padding-bottom: 0;
    }
    .team-section__member {
        width: 30%;
        font-size: 13px;
    }
    .offices-section__map-placeholder {
        padding-top: 50%;
    }
}

@media (max-width: 767px) {
    .first-section__video-wrapper {
        padding-top: 100%;
    }
    .customers-section__slider-content {
        position: relative;
        display: block;
        padding: 25px 15px;
    }
    .customers-section__slider-more {
        left: 0;
        margin-bottom: 1px;
        bottom: 100%;
        width: 40px;
        height: 40px;
    }
    .team-section__member {
        width: 45%;
        font-size: 13px;
    }
    .offices-section__map-placeholder {
        padding-top: 100%;
    }
}

iframe {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    border: 0;
}

.mailchimp {
}

.mailchimp-section__title {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.mailchimp-fields__label {
    display: none;
}

.mailchimp-fields__email {
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    margin: 5px 15px 5px 0;
    padding: 15px;
    width: 100%;
    max-width: 300px;
    line-height: 1;
    border-radius: 5px;
    text-align: left;
    border: 1px solid #fff;
    background: none;
    color: #fff;
    font-size: 14px;
}

.mailchimp-fields__submit {
    display: inline-block;
    vertical-align: middle;
    margin: 5px 0;
    padding: 15px 15px 15px 40px;
    border-radius: 5px;
    border: 1px solid #fff;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    color: #fd8a6a;
    background: #fff url('../images/send-orange.svg') no-repeat 15px center / 20px 20px;
}

@media (max-width: 500px) {
    .mailchimp-fields {
        text-align: right;
    }
    .mailchimp-fields__email {
        max-width: 100%;
        margin-right: 0;
    }
}

@media (max-width: 768px) {
    .mailchimp-section {
        padding-top: 30px;
    }
}

@media (min-width: 768px) {
}

@media (min-width: 1025px) {
    .mailchimp-section__header {
        margin: 0 auto 24px;
    }
}

.casestudy-header {
    position: relative;
}
@media (min-width: 768px) and (max-width: 1024px) {
    .casestudy-header {
    }
}
@media (min-width: 1025px) {
    .casestudy-header  {
    }
}

.casestudy-header__wrapper {
    position: relative;
    width: 100%;
    height: calc(100vh - 24px);
    border: 0px solid rgba(0, 0, 0, 0.4);
    overflow: hidden;
}
@media (min-width: 768px) and (max-width: 1024px) {
    .casestudy-header__wrapper {
        border-width: 10px;
        height: calc(100vh - 96px);
    }
}
@media (min-width: 1025px) {
    .casestudy-header__wrapper {
        border-width: 20px;
        height: calc(100vh - 250px);
        box-sizing: border-box;
    }
}

.casestudy-header__visual {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.casestudy-header__image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    width: auto;
    height: auto;
}

.casestudy-header__video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
}

.casestudy-header__content {
    font-weight: bold;
    color: #fff;
    opacity: 0;
}
@media (max-width: 767px) {
    .casestudy-header__content {
        position: absolute;
        bottom: 12px;
        left: 50%;
        transform: translateX(-50%);
        max-width: 400px;
        width: 90%;
        opacity: 1;
        padding: 12px;
    }
}
@media (min-width: 768px) {
    .casestudy-header__content {
        position: absolute;
        bottom: 10%;
        left: 20px;
        transform: translate(0, -50%);
        padding: 15px;
        max-width: 33%;
        min-height: 150px;
        font-size: 18px;
        animation: slideIn 0.8s ease 4s;
        animation-fill-mode: forwards;
    }
}

@media (min-width: 1025px) {
    .casestudy-header__content {
        left: 8%;
        padding: 50px 30px 30px;
        font-size: 24px;
    }
}

@keyframes slideIn {
    from {
        transform: translateX(-500px);
        opacity: 1;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.casestudy-header__content>h1 {
    margin-bottom: 0;
    line-height: 1.4;
}

.casestudy-header__logo {
    display: block;
    width: auto;
    height: auto;
}
@media (max-width: 767px) {
    .casestudy-header__logo {
        max-height: 60px;
        max-width: 100px;
        margin: 0 auto 10px;
    }
}
@media (min-width: 768px) {
    .casestudy-header__logo {
        margin-bottom: 30px;
        max-height: 100px;
        max-width: 200px;
    }
}
@media (max-width: 767px) {
    .customers-section__slider-content {
        position: relative;
        display: block;
        padding: 25px 15px;
    }
}

.casestudy-header__link {
    position: absolute;
    bottom: 62px;
    right: 125px;
    transform: translate(0, 50%);
    padding-right: 45px;
    text-transform: uppercase;
    background: url(../images/arrow.svg) no-repeat right center / 40px 15px;
}
@media (max-width: 767px) {
    .casestudy-header__link {
        display: none;
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .casestudy-header__link {
        bottom: 24px;
        right: 48px;
    }
}

.case-details {
    font-size: 14px;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
}
.case-details p {
    margin-bottom: 18px;
}
.case-details img {
    display: block;
    max-width: 100%;
    margin: 1em auto;
}
.case-details ul {
    padding-left: 20px;
}
@media (min-width: 768px) and (max-width: 1024px) {
    .case-details {
        padding: 120px 72px;
        font-size: 15px;
    }
}
@media (min-width: 1025px) {
    .case-details {
        padding: 96px;
        font-size: 16px;
    }
}

.key-metrics {
    font-size: 14px;
}
.key-metrics .row {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}
@media (max-width: 767px) {
    .key-metrics {
        margin-bottom: 50px;
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .key-metrics {
        font-size: 15px;
    }
}
@media (min-width: 1025px) {
    .key-metrics {
        font-size: 16px;
    }
    .key-metrics .row {
        margin-left: -12px;
        margin-right: -12px;
    }
}

.key-metrics__item {
    position: relative;
    background: #e7dda3;
}
.key-metrics__item:after {
    content: "";
    position: absolute;
    top: 100%;
    margin-top: -1px;
    left: 0;
    right: 0;
    padding-top: 25%;
    background: url('../images/triangle.svg') no-repeat center top / 105% auto;

}
@media (max-width: 767px) {
    .key-metrics__item {
        padding: 12px;
        margin-top: 30px;
        margin-bottom: 35vw;
        width: 100%;
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .key-metrics__item {
        padding: 24px;
        flex: calc(50% - 24px);
        margin: 100px 12px 10vw;
    }
}
@media (min-width: 1025px) {
    .key-metrics__item {
        padding: 24px;
        flex: 1;
        margin: 100px 12px 80px;
    }
}

.key-metrics__item h3 {
    position: absolute;
    bottom: 100%;
    margin-bottom: 24px;
    font-size: 24px;
    font-weight: bold;
    text-transform: uppercase;
}

.key-metrics__item p {
    margin-bottom: 18px;
}

.key-metrics__item strong {
    display: block;
    margin-bottom: 10px;
    line-height: 1.1;
    font-size: 4.5em;
    text-align: center;
}

.key-metrics__item em {
    display: block;
    line-height: 1.1;
    text-transform: uppercase;
    text-align: center;
    font-style: normal;
}

.case-image {
    display: block;
    width: 100%;
    height: auto;
}

@media (min-width: 768px) {
    .case-image--mobile {
        display: none;
    }
}
@media (max-width: 767px) {
    .case-image--desktop {
        display: none;
    }
}

@media (min-width: 1025px) {
    .case-contact {
        padding: 48px;
    }
}

@media (max-width: 767px) {
    .case-contact {
        padding: 12px;
    }
}

.rewards-partners {
}
@media (min-width: 1025px) {
    .rewards-partners {
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .rewards-partners {
    }
}

.rewards-partners h3 {
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 24px;
}
.case-more {
    padding: 24px;
    text-align: center;
}
.case-more a {
    display: inline-block;
    padding: 12px;
    border: 1px solid #fff;
    text-transform: uppercase;
    font-weight: bold;
    text-align: center;
}
.case-more a.case-more__btn {
    border: none;
    padding: 0;
    margin: 0 12px;
}
.case-more a.case-more__btn img {
    display: block;
    width: auto;
    height: 60px;
}

@media (min-width: 1025px) {
    .case-more {
        padding: 48px;
    }
    .case-more a {
        padding: 24px;
    }
}

@media (min-width: 768px) and (max-width: 1024) {
    .case-more {
        padding: 24px;
    }
    .case-more a {
        padding: 24px;
    }
}

.case-video {

}
.case-video__wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.case-video__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.twitter-tweet {
    display: block;
    width: 100%;
}


@media (max-width: 767px) {
    .section-wrapper {
        padding: 60px 12px 30px;
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .section-wrapper {
        padding: 74px;
    }
    .section-wrapper--full-height {
    }
}

@media (min-width: 1025px) {
    .section-wrapper {
        padding: 125px;
    }
    .section-wrapper--full-height {
        min-height: calc(100vh - 250px);
    }
}

/*
    TFC
 */

.tfc .heading-with-top-border {
    color: #3d3355;
}
.tfc .case-more {
    color: #ffffff;
    background: #E45164
}

/**
 * ATB
 */
.atb .heading-with-top-border {
    color: #09538f;
}

/**
 * cacomptepourmoi
 */
.cacomptepourmoi .heading-with-top-border {
    color: #d5305d;
}
.cacomptepourmoi .case-video {
    background: #d5305d;
}
.cacomptepourmoi .case-more {
    color: #ffffff;
    background: #333333;
}
.cacomptepourmoi .rewards-partners a:hover {
    color: #d5305d;
}

/**
 * sigfox
 */
.sigfox .heading-with-top-border {
    color: #2dbab1;
}

/**
 * livli
 */
.livli .heading-with-top-border {
    color: #054255;
}
.livli .case-more {
    color: #ffffff;
    background: #054255;
}
.livli .open-menu__img {
    fill: #968310;
}

/**
 * lepharmacien
 */
.lepharmacien .heading-with-top-border {
    color: #3498DB;
}
.lepharmacien .case-more {
    color: #ffffff;
    background: #3498DB;
}
.lepharmacien .open-menu__img {
    fill: #000;
}

/**
 * barreau
 */
.barreau .heading-with-top-border {
    color: #E94F1B;
}
.barreau .case-more {
    color: #ffffff;
    background: #E94F1B;
}
.barreau .open-menu__img {
    fill: #ffffff;
}

/**
 * vha
 */
.vha .heading-with-top-border {
    color: #ff9900ff;
}
.vha .case-more {
    color: #ffffff;
    background: #ff9900ff;
}
.vha .open-menu__img {
    fill: #ffffff;
}

/**
 * aptiv
 */
.aptiv .heading-with-top-border {
    color: #000000;
}
.aptiv .case-more {
    color: #000000;
    background: #ff9900ff;
}
.aptiv .open-menu__img {
    fill: #ffffff;
}


/**
 * notresante
 */
.notresante .heading-with-top-border {
    color: #8886f3;
}
.notresante .case-more {
    color: #888beb;
    background: #888beb;
}
.notresante .case-details {
    /* min-height: 100vh; */
}
.notresante .rewards-partners {
    /* min-height: 100vh; */
}
.notresante .case-more--light {
    background: #F3EDDF;
}

/**
 * pierre fabre
 */
.pierrefabre .heading-with-top-border {
    color: #163F6B;
}

/**
 * yiango
 */
.yiango .heading-with-top-border {
    color: #8EC89A;
}
.yiango .case-more {
    color: #ffffff;
    background: #8EC89A;
}
.yiango .casestudy-header__link {
    color: #ffffff;
    background-image: url(../images/arrow-white.svg);
}

.convictions-section {
    position: relative;
    background: #1D1D1B;
    color: #ffffff;
    overflow: hidden;
}
.convictions-section:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    height: 200%;
    width: 20px;
    transform: translate(-50%, -50%) rotate(20deg);
    background: #ffffff;
}
.convictions-section__content {
    position: relative;
    text-align: center;
    font-size: 15px;
    background: #1D1D1B;
    margin: 5vh 0;
    padding: 3vh 0;
}
.convictions-section__title {
    position: relative;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    text-transform: uppercase;
    color: #ffffff;
    background: #1D1D1B;
}
.convictions-section__content-list {
    line-height: 1.5;
    padding: 0px;
}
.convictions-section__content-list li {
    margin-top: 1em;
    margin-bottom: 1em;
    list-style: none;
    padding: 0;
}
.convictions-section__content-list li:before  {
    content: "/";
    font-weight: bold;
    color: #DAC529;
    margin-right: 1em;
}
.convitions-section__gif-img {
    display: block;
    margin: 0 auto;
    width: auto;
    max-width: 80%;
    margin-top: 20px;
}
@media (min-width: 768px) {
    .convictions-section:before {
        width: 30px;
    }
    .convictions-section__title {
        font-size: 36px;
        background: none;
    }
    .convictions-section__content {
        font-size: 20px;
        margin: 10vh 0;
        padding: 5vh 0;
    }
    .convictions-section__content-list {
        padding: 50px;
    }
}
