a,abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,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,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video {
    margin: 0;
    padding: 0
}

html {
    box-sizing: border-box
}

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

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
    display: block
}

li {
    list-style-type: none
}

a,a:active,a:hover {
    outline: 0
}

@font-face {
    font-family: khand;
    src: url(../fonts/khand-medium.woff2) format("woff2"),url(../fonts/khand-medium.woff) format("woff");
    font-weight: 500;
    font-style: normal
}

@font-face {
    font-family: abel;
    src: url(../fonts/abel-regular.woff2) format("woff2"),url(../fonts/abel-regular.woff) format("woff");
    font-weight: 400;
    font-style: normal
}

body {
    font-family: abel,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #faf5e8;
    color: #121212;
    overflow-y: scroll
}

@media screen and (max-width: 767px) {
    body.page-id-home {
        background-color:#121212
    }
}

body.ajax-loading,body.ajax-loading * {
    cursor: progress!important
}

a {
    text-decoration: none;
    color: #121212
}

a img {
    border: none
}

button {
    padding: 0;
    margin: 0;
    background-color: transparent;
    border: none;
    outline: 0;
    cursor: pointer
}

#lines {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
    z-index: -1
}

#lines>div {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: #121212;
    opacity: .05
}

.page-id-home #lines>div {
    background-color: #faf5e8
}

#lines>div:nth-child(1) {
    left: 6.39%
}

#lines>div:nth-child(2) {
    left: 36.94%
}

#lines>div:nth-child(3) {
    left: 67.5%
}

#videos-pool {
    position: absolute;
    top: 0;
    left: 0;
    display: none
}

#logo {
    display: none !important;
    position: fixed;
    top: 0;
    left: 0;
    display: -ms-flexbox;
    display: flex;
    padding: 0 20px;
    -ms-flex-align: center;
    align-items: center;
    height: 50px;
    z-index: 50
}

#logo_janus {
    position: fixed;
    top: 10px;
    left: 50%;
    width: 190px;
    height: auto;
    margin-left: -95px;
    z-index: 150;
    display: none;
}

@media screen and (min-width: 1024px) {
    #logo {
        padding:0 1.39%
    }
}

.js #logo {
    visibility: hidden
}

#logo svg {
    display: block;
    width: 62px;
    height: 12px;
    margin-left: -8px
}

#logo path {
    visibility: hidden;
    stroke: #121212;
    transition: stroke .5s
}

.page-id-home #logo path {
    stroke: #faf5e8
}

#logo path:nth-child(2),#logo path:nth-child(3) {
    visibility: inherit
}

#nav-container {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    visibility: hidden;
    z-index: 50;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

#nav-is-open:checked~#nav-container {
    visibility: visible
}

#nav-container__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,.5)
}

#nav-container__inner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center
}

@media screen and (min-width: 480px) {
    #nav-container__inner {
        left:50%;
        width: 400px;
        margin-left: -200px
    }
}

#nav-container__inner__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    perspective: 1300px
}

#nav-container__inner__bg>div {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    background-color: #faf5e8
}

#nav-container__inner__bg>div:first-child {
    left: 0;
    transform-origin: right top
}

#nav-container__inner__bg>div:last-child {
    left: 50%;
    transform-origin: left top
}

.nav-container__separator {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #121212
}

@media screen and (max-height: 439px) {
    .nav-container__separator {
        display:none
    }
}

#nav__list {
    position: relative;
    padding: 40px 0 30px
}

@media screen and (max-height: 439px) {
    #nav__list {
        padding:5px
    }
}

@media screen and (min-height: 440px) and (max-height:590px) {
    #nav__list {
        padding:15px
    }
}

.nav__link {
    display: inline-block;
    padding: 10px 0;
    color: #121212;
    font-size: 30px;
    line-height: 1em;
    text-transform: uppercase;
    font-family: khand,Helvetica,Arial,sans-serif;
    font-weight: 500;
    transition: opacity .4s
}

@media screen and (max-height: 439px) {
    .nav__link {
        padding:8px 0;
        font-size: 18px
    }
}

@media screen and (min-height: 440px) and (max-height:590px) {
    .nav__link {
        font-size:24px
    }
}

.nav__item--selected .nav__link,.no-touchevents .nav__link:hover {
    opacity: .4
}

#contact {
    position: relative;
    margin: 50px 0 40px;
    font-family: abel,Helvetica,Arial,sans-serif;
    font-size: 15px;
    line-height: 1.2em;
    color: #121212;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text
}

@media screen and (max-height: 439px) {
    #contact {
        margin:5px;
        font-size: 11px
    }
}

@media screen and (min-height: 440px) and (max-height:590px) {
    #contact {
        margin:15px;
        font-size: 13px
    }
}

#contact__email,#contact__phone {
    position: relative;
    display: block;
    margin-top: 10px;
    padding-top: 10px
}

@media screen and (max-height: 439px) {
    #contact__email,#contact__phone {
        margin-top:4px;
        padding-top: 4px
    }
}

#contact__email::before,#contact__phone::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 3px;
    height: 1px;
    margin-left: -1px;
    background-color: #121212
}

#contact__phone {
    cursor: default
}

#contact__email {
    position: relative;
    display: inline-block;
    color: #121212
}

#contact__email::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #121212;
    opacity: .5;
    transform-origin: right top;
    transform: scaleX(0);
    transition: transform .5s cubic-bezier(.165,.84,.44,1)
}

.no-touchevents #contact__email:hover::before {
    transform-origin: left top;
    transform: scaleX(1)
}

#toggle-nav {
    display: none !important;
    position: fixed;
    top: 0;
    left: 50%;
    display: -ms-flexbox;
    display: flex;
    height: 50px;
    padding: 0 20px;
    margin-left: -30px;
    -ms-flex-align: center;
    align-items: center;
    z-index: 100;
    cursor: pointer
}

.js #toggle-nav {
    visibility: hidden
}

#toggle-nav__picto {
    position: relative;
    width: 20px;
    height: 11px
}

#toggle-nav__picto>div {
    position: absolute;
    width: 11px;
    height: 1px;
    background-color: #121212;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.page-id-home #toggle-nav__picto>div {
    background-color: #faf5e8
}

#toggle-nav__picto>div:nth-child(1) {
    top: 0;
    left: 0;
    transform-origin: left top
}

#toggle-nav__picto>div:nth-child(2) {
    top: 0;
    right: 0;
    transform-origin: right top
}

#toggle-nav__picto>div:nth-child(3) {
    top: 5px;
    left: 5px;
    width: 10px
}

#toggle-nav__picto>div:nth-child(4) {
    top: 10px;
    left: 0;
    transform-origin: left top
}

#toggle-nav__picto>div:nth-child(5) {
    top: 10px;
    right: 0;
    transform-origin: right top
}

#nav-is-open:checked~#toggle-nav #toggle-nav__picto>div {
    background-color: #121212
}

#nav-is-open:checked~#toggle-nav #toggle-nav__picto>div:nth-child(1) {
    transform: rotate(23deg)
}

#nav-is-open:checked~#toggle-nav #toggle-nav__picto>div:nth-child(2) {
    transform: rotate(-23deg)
}

#nav-is-open:checked~#toggle-nav #toggle-nav__picto>div:nth-child(3) {
    visibility: hidden
}

#nav-is-open:checked~#toggle-nav #toggle-nav__picto>div:nth-child(4) {
    transform: translateY(-1px) rotate(-23deg)
}

#nav-is-open:checked~#toggle-nav #toggle-nav__picto>div:nth-child(5) {
    transform: translateY(-1px) rotate(23deg)
}

#toggle-nav__label {
    margin-top: 4px;
    margin-left: 5px;
    text-transform: uppercase;
    font-family: khand,Helvetica,Arial,sans-serif;
    font-size: 15px;
    line-height: 1em;
    font-weight: 500;
    opacity: .2
}

.page-id-home #toggle-nav__label {
    color: #faf5e8
}

#nav-is-open:checked~#toggle-nav #toggle-nav__label {
    visibility: hidden
}

#nav-is-open {
    position: absolute;
    visibility: hidden
}

#footer {
    padding: 20px 0 25px;
    background-color: #121212;
    color: #faf5e8
}

@media screen and (min-width: 768px) {
    #footer {
        padding:0
    }
}

.page-id-home #footer {
    background-color: #faf5e8;
    color: #121212
}

@media screen and (min-width: 768px) {
    .page-id-home #footer {
        display:none
    }
}

.page-id-project #footer {
    display: none
}

#footer__inner {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    max-width: 1440px;
    min-height: 90px;
    margin: 0 auto;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (min-width: 768px) {
    #footer__inner {
        height:90px;
        padding-left: 4.17%;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media screen and (min-width: 1440px) {
    #footer__inner {
        padding-left:60px
    }
}

@media screen and (min-width: 768px) {
    #footer__inner::before {
        content:"";
        display: inline-block;
        width: 4%;
        height: 1px;
        margin-top: 8px;
        margin-right: 10px;
        background-color: #faf5e8
    }
}

#footer__copyright,#footer__legals,#footer__motto {
    padding: 5px 0;
    white-space: pre
}

@media screen and (min-width: 768px) {
    #footer__copyright,#footer__legals,#footer__motto {
        display:inline-block
    }
}

@media screen and (min-width: 768px) {
    #footer__copyright span::after,#footer__copyright span::before {
        content:" _ "
    }
}

#footer__legals {
    color: inherit;
    transition: opacity .3s
}

#footer__legals:hover {
    opacity: .6
}

@media screen and (min-width: 768px) {
    #footer__motto::before {
        content:" _ "
    }
}

#footer__top {
    display: none
}

@media screen and (min-width: 768px) {
    #footer__top {
        position:absolute;
        top: 0;
        right: 0;
        display: block;
        width: 60px;
        height: 100%
    }
}

#footer__top::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #faf5e8;
    transform-origin: left top;
    transform: scaleY(0);
    transition: transform .5s cubic-bezier(.19,1,.22,1)
}

#footer__top:hover::before {
    transform: scaleY(1);
    transform-origin: left bottom
}

#footer__top__picto {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 7px;
    height: 11px;
    margin-left: -4px;
    margin-top: -5px
}

#footer__top__picto svg {
    display: block;
    width: 100%;
    height: 100%
}

#footer__top__picto path {
    stroke: #faf5e8
}

#footer__top:hover #footer__top__picto path {
    stroke: #121212
}

#footer__top:hover #footer__top__picto {
    animation: footer__top__picto-roll-over .8s cubic-bezier(.19,1,.22,1)
}

@keyframes footer__top__picto-roll-over {
    0%,15% {
        transform: translateY(40px);
        opacity: 0
    }

    100% {
        transform: translateY(0);
        opacity: 1
    }
}

#loading {
    position: fixed;
    top: 15px;
    right: 20px;
    display: block;
    width: 24px;
    height: 24px;
    stroke: #121212;
    stroke-width: 3px;
    fill: none;
    visibility: hidden;
    z-index: 500;
    stroke-linecap: round;
    transition: stroke .5s
}

.page-id-home #loading {
    stroke: #faf5e8
}

@media screen and (min-width: 1024px) {
    #loading {
        right:1.39%
    }
}

.js .page {
    visibility: hidden
}

#home-page {
    padding-bottom: 65px
}

@media screen and (min-width: 768px) {
    #home-page {
        position:fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        padding-bottom: 0
    }
}

#home__projects {
    padding-top: 120px
}

@media screen and (min-width: 768px) {
    #home__projects {
        position:absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: -ms-flexbox;
        display: flex;
        padding-top: 0;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        overflow: hidden;
        z-index: 2
    }
}

.home__project {
    margin: 0 20px 65px
}

@media screen and (min-width: 768px) {
    .home__project {
        margin:0
    }
}

.home__project__cover {
    position: relative;
    display: block
}

@media screen and (min-width: 768px) {
    .home__project__cover {
        position:absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        overflow: hidden;
        cursor: -webkit-grab;
        cursor: grab
    }

    .home__project:first-child .home__project__cover,.no-app .home__project__link:hover~.home__project__cover {
        z-index: 2
    }

    .home__project__cover--panning {
        cursor: -webkit-grabbing;
        cursor: grabbing
    }
}

.home__project__cover__media {
    width: 100%;
    height: auto
}

@media screen and (min-width: 768px) {
    .home__project__cover__media {
        position:absolute;
        top: 0;
        left: 0
    }

    .app .home__project__cover__media {
        visibility: hidden
    }

    .no-app .home__project__cover__media {
        height: 100%;
        object-fit: cover
    }
}

.no-js .home__project__cover__media.lazyload {
    display: none
}

.home__project__link {
    position: relative;
    display: inline-block;
    padding: 7px 0;
    z-index: 5;
    color: #faf5e8;
    font-weight: 700;
    font-size: 15px;
    line-height: 1em
}

@media screen and (max-width: 767px) {
    .home__project__link {
        opacity:1!important
    }
}

@media screen and (min-width: 768px) {
    .home__project__link {
        margin-left:17.36%;
        opacity: .5
    }

    .no-app .home__project__link:active,.no-app .home__project__link:hover {
        opacity: 1
    }
}

.home__project__link__line {
    display: inline-block;
    width: 60px;
    height: 1px;
    margin-right: 8px;
    background-color: #faf5e8;
    transform-origin: right
}

@media screen and (max-width: 767px) {
    .home__project__link__line {
        transform:none!important
    }
}

@media screen and (min-width: 768px) {
    .home__project__link__line {
        width:10px
    }

    .no-app .home__project__link:hover .home__project__link__line {
        transform: scaleX(6)
    }
}

#home__canvas {
    display: none
}

@media screen and (min-width: 768px) {
    #home__canvas {
        position:absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%
    }
}

#projects__lines {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

#projects__list {
    position: relative;
    margin: 80px 5%
}

@media screen and (min-width: 480px) {
    #projects__list {
        margin-top:100px;
        margin-right: 5.56%;
        margin-bottom: 100px;
        margin-left: 2.78%;
        font-size: 0
    }
}

@media screen and (min-width: 1024px) {
    #projects__list {
        margin-top:130px;
        margin-bottom: 130px
    }
}

.projects__item {
    margin-bottom: 35px
}

@media screen and (min-width: 480px) {
    .projects__item {
        display:inline-block;
        margin-left: 3.03%;
        vertical-align: top
    }

    .projects__item--size-1 {
        width: 46.97%
    }

    .projects__item--size-2,.projects__item--size-3 {
        width: 96.97%
    }
}

@media screen and (min-width: 768px) {
    .projects__item--size-1 {
        width:30.3%
    }

    .projects__item--size-2 {
        width: 63.64%
    }

    .projects__item--size-3 {
        width: 96.97%
    }
}

@media screen and (min-width: 1600px) {
    .projects__item--size-1 {
        width:21.97%
    }

    .projects__item--size-2 {
        width: 46.97%
    }

    .projects__item--size-3 {
        width: 71.97%
    }
}

.projects__item__thumb-wrapper {
    position: relative;
    overflow: hidden
}

.projects__item__thumb-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #121212;
    opacity: 0;
    z-index: 2;
    transition: opacity .3s
}

.no-touchevents .projects__item__link:hover .projects__item__thumb-wrapper::before {
    opacity: .4
}

.projects__item__thumb {
    width: 100%;
    height: auto;
    transition: .6s cubic-bezier(.165,.84,.44,1)
}

.no-app .projects__item__thumb.lazyload {
    display: none
}

.no-touchevents .projects__item__link:hover .projects__item__thumb {
    transform: scale(1.05,1.05)
}

.projects__item__txt {
    padding-top: 10px;
    color: #121212
}

.projects__item__title {
    position: relative;
    padding-left: 20px;
    font-family: khand,Helvetica,Arial,sans-serif;
    font-size: 25px;
    line-height: 1em;
    text-transform: uppercase;
    transition: transform .6s cubic-bezier(.19,1,.22,1)
}

.no-touchevents .projects__item__link:hover .projects__item__title {
    transform: translateX(20px)
}

.projects__item__title::before {
    content: "";
    position: absolute;
    bottom: 5px;
    left: 0;
    display: block;
    width: 10px;
    height: 1px;
    background-color: #121212;
    transform-origin: left top;
    transition: transform .6s cubic-bezier(.19,1,.22,1)
}

.no-touchevents .projects__item__link:hover .projects__item__title::before {
    transform: translateX(-20px) scaleX(3)
}

.projects__item__baseline {
    padding-left: 20px;
    font-size: 15px;
    line-height: 1em;
    transition: transform .6s cubic-bezier(.19,1,.22,1)
}

.no-touchevents .projects__item__link:hover .projects__item__baseline {
    transform: translateX(20px)
}

.project__header {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100vh
}

.project__cover {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden
}

.project__cover__canvas {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.project__cover__border {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-top: 50px solid #faf5e8;
    border-right: 4.17vw solid #faf5e8;
    border-bottom: 50px solid #faf5e8;
    border-left: 4.17vw solid #faf5e8
}

@media screen and (min-width: 1440px) {
    .project__cover__border {
        border-right:60px solid #faf5e8;
        border-left: 60px solid #faf5e8
    }
}

.project__cover__media {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.app .project__cover__media {
    visibility: hidden
}

.no-js .project__cover__media.lazyload {
    display: none
}

.project__header__txt {
    position: relative;
    text-align: center;
    color: #fff
}

.project__title {
    padding: 0 6.94vw;
    margin-bottom: 5px;
    font-size: 40px;
    line-height: 1em;
    text-transform: uppercase;
    font-family: khand,Helvetica,Arial,sans-serif;
    font-weight: 500
}

@media screen and (min-width: 768px) {
    .project__title {
        font-size:50px
    }
}

@media screen and (min-width: 1024px) {
    .project__title {
        font-size:60px
    }
}

.project__baseline {
    font-size: 25px;
    line-height: 1em;
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .project__baseline {
        font-size:30px
    }
}

@media screen and (min-width: 1024px) {
    .project__baseline {
        font-size:40px
    }
}

.project__scroll-cta {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 2px;
    height: 30px;
    margin-left: -1px;
    background-color: #121212
}

.project__content {
    max-width: 1440px;
    margin: 0 auto
}

.project__content__title {
    position: relative;
    padding-left: 15.91%;
    margin-bottom: 25px;
    font-family: khand,Helvetica,Arial,sans-serif;
    text-transform: uppercase;
    font-size: 25px;
    line-height: 1em;
    font-weight: 400
}

@media screen and (min-width: 768px) {
    .project__content__title {
        font-size:30px
    }
}

@media screen and (min-width: 1280px) {
    .project__content__title {
        font-size:40px
    }
}

.project__content__title::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 0;
    display: block;
    width: 13.64%;
    height: 1px;
    background-color: #121212
}

@media screen and (min-width: 768px) {
    .project__content__title::before {
        top:22px
    }
}

@media screen and (min-width: 1280px) {
    .project__content__title::before {
        top:29px
    }
}

.project__content__text {
    padding-left: 15.91%;
    font-size: 15px;
    line-height: 1.2em
}

.project__content__text a {
    text-decoration: underline;
}

.project__content__text p {
    padding-bottom: 1.2em
}

.project__media,.project__text-media {
    margin-bottom: 40px
}

@media screen and (min-width: 768px) {
    .project__media,.project__text-media {
        margin-bottom:60px
    }
}

@media screen and (min-width: 1024px) {
    .project__media,.project__text-media {
        margin-bottom:80px
    }
}

@media screen and (min-width: 1280px) {
    .project__media,.project__text-media {
        margin-bottom:100px
    }
}

@media screen and (min-width: 1024px) {
    .project__text-media {
        display:-ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.project__text-media__text {
    max-width: 440px;
    margin: 0 4.17% 25px
}

@media screen and (min-width: 1024px) {
    .project__text-media__text {
        width:30.56%;
        margin-right: 3.33%;
        margin-bottom: 0;
        margin-left: 0
    }

    .project__text-media--right .project__text-media__text {
        margin-right: 0;
        margin-left: 3.33%;
        -ms-flex-order: 2;
        order: 2
    }
}

.project__text-media__media-container {
    position: relative;
    margin: 0 4.17%
}

@media screen and (min-width: 1024px) {
    .project__text-media__media-container {
        width:57.64%;
        line-height: 0;
        margin: 0
    }
}

.project__text-media__media {
    width: 100%;
    height: auto
}

.no-app .project__text-media__media.lazyload {
    display: none
}

.project__text-media__video {
    position: relative;
    display: block;
    overflow: hidden
}

.project__text-media__video--used {
    visibility: hidden
}

.project__text-media__video::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #121212;
    opacity: 0;
    transition: all .4s;
    z-index: 2
}

.project__text-media__video:hover::before {
    opacity: .35
}

.project__text-media__video__cta {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 36px;
    height: 36px;
    margin-top: -18px;
    margin-left: -18px;
    background-color: #121212;
    border-radius: 8px;
    z-index: 2
}

.project__text-media__video__cta__picto {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    margin-top: -7px;
    margin-left: -5px;
    border-style: solid;
    border-width: 7px 0 7px 12px;
    border-color: transparent transparent transparent #faf5e8
}

.project__text-media__video__thumb {
    position: relative;
    transition: transform 5s cubic-bezier(.445,.05,.55,.95);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.project__text-media__video:hover .project__text-media__video__thumb {
    transform: scale(1.1,1.1)
}

.project__text-media__iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.project__media {
    line-height: 0
}

@media screen and (min-width: 1024px) {
    .project__media {
        font-size:0;
        text-align: center
    }
}

.project__media__media-container {
    display: inline-block;
    margin: 0 4.17% 40px
}

@media screen and (min-width: 768px) {
    .project__media__media-container {
        margin-bottom:60px
    }
}

@media screen and (min-width: 1024px) {
    .project__media__media-container {
        margin-bottom:0
    }

    .project__media--1 .project__media__media-container {
        width: 91.53%
    }

    .project__media--2 .project__media__media-container {
        width: 45%
    }

    .project__media--2 .project__media__media-container:first-child {
        margin-right: 1.39%
    }

    .project__media--2 .project__media__media-container:last-child {
        margin-left: 0
    }
}

.project__media__media {
    width: 100%;
    height: auto
}

.no-app .project__media__media.lazyload {
    display: none
}

.project__infos {
    margin-bottom: 60px
}

@media screen and (min-width: 1024px) {
    .project__infos {
        display:-ms-flexbox;
        display: flex;
        margin-bottom: 100px
    }
}

.project__infos__item {
    margin: 0 4.17% 35px;
    max-width: 440px
}

@media screen and (min-width: 1024px) {
    .project__infos__item {
        width:30.56%;
        padding-right: 20px;
        margin: 0
    }

    .project__infos__item:first-child {
        padding-left: 0;
        margin-left: 4.17%
    }
}

.project__infos__website {
    color: #121212
}

.project__infos__website path {
    fill: #121212
}

.project__infos__website__text {
    position: relative;
    display: inline-block
}

.project__infos__website__text::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #121212;
    opacity: .7;
    transform: scaleX(0);
    transform-origin: right top;
    transition: transform .5s cubic-bezier(.165,.84,.44,1)
}

.project__infos__website__text:hover::before {
    transform: scaleX(1);
    transform-origin: left top
}

.project__footer {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    height: 90px;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    background-color: #121212
}

.project__footer__projects {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 70px;
    height: 100%;
    margin-left: -35px
}

.project__footer__projects::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #faf5e8;
    transform-origin: left top;
    transform: scaleY(0);
    transition: transform .5s cubic-bezier(.19,1,.22,1)
}

.project__footer__projects:hover::before {
    transform: scaleY(1);
    transform-origin: left bottom
}

.project__footer__projects__picto {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 12px;
    margin-top: -6px;
    margin-left: -10px;
    transition: opacity .3s
}

.project__footer__projects__picto>div {
    position: absolute;
    width: 9px;
    height: 5px;
    background-color: #faf5e8
}

.cssanimations .project__footer__projects:hover .project__footer__projects__picto>div {
    opacity: 0;
    transform: translateY(20px)
}

.project__footer__projects__picto>div:nth-child(1) {
    top: 0;
    left: 0
}

.project__footer__projects:hover .project__footer__projects__picto>div:nth-child(1) {
    animation: project__footer__projects__picto-roll-over .5s cubic-bezier(.19,1,.22,1) forwards
}

.project__footer__projects__picto>div:nth-child(2) {
    top: 0;
    right: 0
}

.project__footer__projects:hover .project__footer__projects__picto>div:nth-child(2) {
    animation: project__footer__projects__picto-roll-over .5s cubic-bezier(.19,1,.22,1) 50ms forwards
}

.project__footer__projects__picto>div:nth-child(3) {
    top: 7px;
    left: 0
}

.project__footer__projects:hover .project__footer__projects__picto>div:nth-child(3) {
    animation: project__footer__projects__picto-roll-over .5s cubic-bezier(.19,1,.22,1) .1s forwards
}

.project__footer__projects__picto>div:nth-child(4) {
    top: 7px;
    right: 0
}

.project__footer__projects:hover .project__footer__projects__picto>div:nth-child(4) {
    animation: project__footer__projects__picto-roll-over .5s cubic-bezier(.19,1,.22,1) .15s forwards
}

.project__footer__projects:hover .project__footer__projects__picto>div {
    background-color: #121212
}

@keyframes project__footer__projects__picto-roll-over {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.project__footer__project {
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -ms-flex-align: center;
    align-items: center;
    color: #faf5e8;
    font-size: 12px;
    line-height: 1em
}

@media screen and (min-width: 480px) {
    .project__footer__project {
        font-size:14px
    }
}

@media screen and (min-width: 768px) {
    .project__footer__project {
        font-size:15px
    }
}

.project__footer__project--prev {
    padding-right: 10px;
    margin-left: 4.51%
}

.project__footer__project--next {
    padding-left: 10px;
    margin-right: 4.51%;
    text-align: right;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.project__footer__project__label {
    position: relative;
    display: inline-block;
    background-color: #121212;
    z-index: 2;
    transition: transform .5s .1s cubic-bezier(.19,1,.22,1)
}

@media screen and (max-width: 767px) {
    .project__footer__project__label {
        display:none
    }
}

.project__footer__project:hover .project__footer__project__label {
    transform: translateX(-20px)
}

.project__footer__project--next:hover .project__footer__project__label {
    transform: translateX(20px)
}

.project__footer__project__arrow {
    position: relative;
    display: inline-block;
    width: 20px
}

@media screen and (min-width: 480px) {
    .project__footer__project__arrow {
        width:45px
    }
}

@media screen and (min-width: 768px) {
    .project__footer__project__arrow {
        width:60px
    }
}

.project__footer__project--prev .project__footer__project__arrow {
    margin-right: 10px
}

.project__footer__project--next .project__footer__project__arrow {
    margin-left: 10px
}

.project__footer__project__arrow__body {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #faf5e8;
    transform-origin: left top;
    transition: transform .5s .1s cubic-bezier(.19,1,.22,1)
}

.project__footer__project--next .project__footer__project__arrow__body {
    transform-origin: right top
}

.project__footer__project:hover .project__footer__project__arrow__body {
    transition: transform .4s cubic-bezier(.19,1,.22,1);
    transform: scaleX(.6)
}

.project__footer__project__arrow__peak {
    position: absolute;
    top: 0;
    left: 0
}

.project__footer__project--next .project__footer__project__arrow__peak {
    right: 0;
    left: auto
}

.project__footer__project__arrow__peak::after,.project__footer__project__arrow__peak::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 11px;
    height: 1px;
    background-color: #faf5e8;
    transform-origin: left center
}

.project__footer__project--next .project__footer__project__arrow__peak::after,.project__footer__project--next .project__footer__project__arrow__peak::before {
    margin-left: -11px;
    transform-origin: right center
}

.project__footer__project__arrow__peak::before {
    transform: rotate(-30deg)
}

.project__footer__project__arrow__peak::after {
    transform: rotate(30deg)
}

#about-page {
    padding: 40px 4.17% 95px
}

.about__in-view-trigger {
    opacity: 0;
    transform: translateY(100px);
    transition: all .9s cubic-bezier(.165,.84,.44,1)
}

.about__in-view {
    opacity: 1;
    transform: translateY(0)
}

@media screen and (min-width: 768px) {
    .about__cols {
        display:-ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.about__col {
    max-width: 440px
}

@media screen and (min-width: 768px) {
    .about__col {
        width:33.33%
    }
}

@media screen and (min-width: 768px) {
    #about__top-content .about__col:nth-child(2) {
        padding-top:160px
    }
}

@media screen and (min-width: 1024px) {
    #about__top-content .about__col:nth-child(2) {
        padding-top:154px
    }
}

@media screen and (min-width: 768px) {
    #about__top-content .about__col:nth-child(3) {
        padding-top:85px
    }
}

@media screen and (min-width: 1024px) {
    #about__top-content .about__col:nth-child(3) {
        padding-top:58px
    }
}

.about__title {
    padding-right: 2%;
    padding-left: 16%;
    margin-top: 70px;
    font-size: 32px;
    line-height: 1.2em;
    font-family: khand,Helvetica,Arial,sans-serif;
    font-weight: 500
}

@media screen and (min-width: 1024px) {
    .about__title {
        margin-top:90px;
        font-size: 40px
    }
}

.about__section__title {
    max-width: 440px;
    margin-top: 65px;
    margin-bottom: 30px;
    font-size: 32px;
    line-height: 1em;
    text-transform: uppercase;
    font-family: khand,Helvetica,Arial,sans-serif;
    font-weight: 500
}

@media screen and (min-width: 1024px) {
    .about__section__title {
        margin-top:85px;
        font-size: 40px
    }
}

.about__section__title::before {
    content: "";
    display: inline-block;
    width: 14%;
    height: 1px;
    margin-right: 2%;
    background-color: #121212
}

.about__section__subtitle {
    padding-right: 2%;
    padding-left: 16%;
    font-size: 25px;
    line-height: 1em;
    text-transform: uppercase;
    font-family: khand,Helvetica,Arial,sans-serif;
    font-weight: 500
}

.about__section__body {
    padding-right: 2%;
    padding-left: 16%;
    margin-bottom: 20px
}

.about__section__body+.about__section__body {
    margin-top: -10px
}

.about__section__body+.about__section__body::before {
    content: "";
    display: block;
    width: 4px;
    height: 1px;
    margin-bottom: 6px;
    background-color: #121212
}

.about__section__body>p {
    margin-bottom: 14px
}

.about__people {
    position: relative;
    margin-top: 50px
}

.about__people:first-child {
    margin-top: 45px
}

.about__people__img {
    position: relative;
    margin-left: 16%
}

#about__tanguy .about__people__img {
    width: 41%
}

@media screen and (min-width: 1024px) {
    #about__tanguy .about__people__img {
        width:58%
    }
}

#about__pierric .about__people__img {
    width: 38%
}

@media screen and (min-width: 1024px) {
    #about__pierric .about__people__img {
        width:52%
    }
}

.about__people__img::before {
    content: "";
    display: block;
    width: 100%;
    height: auto
}

#about__tanguy .about__people__img::before {
    padding-bottom: 149%
}

#about__pierric .about__people__img::before {
    padding-bottom: 191%
}

.about__people__img svg {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%
}

.about__people__infos {
    position: absolute;
    top: 50%;
    left: 64%
}

@media screen and (min-width: 1024px) {
    .about__people__infos {
        left:75%
    }
}

#about__tanguy .about__people__infos {
    top: 26%
}

@media screen and (min-width: 1024px) {
    #about__tanguy .about__people__infos {
        top:34%
    }
}

#about__pierric .about__people__infos {
    top: 35%
}

.about__people__name {
    margin-bottom: 10px;
    font-weight: 700
}

.about__people__links__item {
    margin-bottom: 10px
}

.about__people__link--website {
    position: relative;
    left: -3px
}

.about__people__link--website .about__people__link__picto {
    width: 14px;
    height: 11px
}

.about__people__link__picto path {
    fill: #121212
}

.about__people__link__label {
    position: relative;
    display: inline-block
}

.about__people__link__label::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #121212;
    opacity: .7;
    transform: scaleX(0);
    transform-origin: right top;
    transition: transform .5s cubic-bezier(.165,.84,.44,1)
}

.about__people__link:hover .about__people__link__label::before {
    transform: scaleX(1);
    transform-origin: left top
}

#about__agency__figure {
    padding-top: 35px;
    padding-right: 2%;
    padding-left: 16%;
    text-align: center
}

@media screen and (min-width: 1024px) {
    #about__agency__figure {
        padding-top:75px
    }
}

#about__agency__figure svg {
    display: inline-block;
    width: 83.33%
}

#about__agency__figure text {
    font-family: khand,Helvetica,Arial,sans-serif;
    text-transform: uppercase
}

.about__meeting__item {
    margin-top: 14px
}

.about__meeting__name {
    font-weight: 700
}

#about__press {
    max-width: 1320px;
    margin: 0 auto
}

#about__press .about__section__title {
    margin-bottom: 20px
}

#about__press__list {
    margin-left: 5%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width: 480px) {
    #about__press__list {
        display:-ms-flexbox;
        display: flex
    }
}

.about__press__item {
    margin-right: 45px;
    margin-bottom: 35px
}

.about__press__link {
    transition: opacity .4s
}

.about__press__link:hover {
    opacity: .5
}

@media screen and (min-width: 768px) {
    #about__bottom-content .about__col:nth-child(2) {
        transition-delay:.1s
    }

    #about__bottom-content .about__col:nth-child(3) {
        transition-delay: .2s
    }
}

#about__contact__phone {
    display: block;
    cursor: default
}

#about__contact__email {
    position: relative;
    display: inline-block;
    margin-top: 10px
}

#about__contact__email::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #121212;
    opacity: .7;
    transform: scaleX(0);
    transform-origin: right top;
    transition: transform .5s cubic-bezier(.165,.84,.44,1)
}

#about__contact__email:hover::before {
    transform: scaleX(1);
    transform-origin: left top
}

.about__social__item {
    margin-top: 10px
}

.about__social__link__picto {
    display: inline-block;
    width: 12px
}

.about__social__link__picto svg {
    display: block;
    width: 11px;
    height: 11px
}

#about__social__item--twitter .about__social__link__picto svg,#about__social__item--vimeo .about__social__link__picto svg {
    width: 12px
}

.about__social__link__picto path {
    fill: #121212
}

.about__social__link__label {
    position: relative;
    display: inline-block
}

.about__social__link__label::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #121212;
    opacity: .7;
    transform: scaleX(0);
    transform-origin: right top;
    transition: transform .5s cubic-bezier(.165,.84,.44,1)
}

.about__social__link:hover .about__social__link__label::before {
    transform: scaleX(1);
    transform-origin: left top
}

#landing-page {
    display: none
}

.js #landing-page {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 500
}

#landing__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

#landing__bg>div {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    background-color: #121212;
    transform-origin: left top
}

#landing__bg>div:first-child {
    left: 0
}

#landing__bg>div:last-child {
    left: 50%
}

#landing__inner {
    position: relative
}

#landing__logo {
    width: 190px;
    height: 91px;
    margin-bottom: 14px
}

#landing__logo path {
    fill: white !important;
}

@media screen and (min-width: 480px) {
    #landing__logo {
    width: 190px;
    height: 91px;
    }
}

#landing__logo svg {
    display: block;
    width: 100%;
    height: 100%
}

#landing__logo path {
    stroke: #faf5e8
}

#landing__baseline {
    color: #faf5e8;
    font-size: 23px;
    line-height: 1em
}

@media screen and (min-width: 480px) {
    #landing__baseline {
        font-size:30px
    }
}

#landing__baseline span {
    display: inline-block
}
