/*************** 1. Global ***************/
.col-xs, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9 {
  padding-left: 0;
  padding-right: 0; }

/*****---------- 1.1 Typography ----------*****/
body {
  font-family: Helvetica Neue, Helvetica, arial, sans-serif;
  font-size: 18px;
  background-color: black;
  color: #fcf9f9;
  letter-spacing: 0.02em; }

section {
  padding: 0px 25px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

h1, h2 {
  font-size: 1em;
  font-weight: normal;
  margin-bottom: 0;
  margin-top: 0; }

p {
  line-height: 1.3em;
  margin-top: 0;
  margin-bottom: 1.5em; }

.text-small {
  font-size: 1em; }

.col-3 {
  -webkit-column-count: 3;
          column-count: 3;
  -webkit-column-gap: 5%;
          column-gap: 5%; }
  .col-3 br {
    display: block;
    margin: 0.5em 0;
    content: " "; }

.content-holder {
  padding-right: 25px;
  padding-left: 25px; }

/*************** 2. Header ***************/
.header {
  color: #fcf9f9;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 3em; }

.white-header {
  color: #fcf9f9; }

.nom {
  letter-spacing: 0.04em;
  padding-left: 0; }
  .nom a {
    color: inherit;
    text-decoration: none; }

.titre {
  color: #fcf9f9; }

/*****---------- 2.1 Burger menu ----------*****/
.burger-menu {
  display: none;
  cursor: pointer;
  float: right;
  position: absolute;
  right: 20px;
  top: 21px; }

.bar {
  -webkit-transition: 0.4s;
  transition: 0.4s; }

.bar-1 {
  width: 5em;
  display: block;
  width: 30px;
  border-top: 1px solid #fcf9f9;
  padding-top: 6px;
  cursor: pointer;
  -webkit-transition: 0.4s;
  transition: 0.4s; }

.bar-2 {
  width: 5em;
  display: block;
  width: 30px;
  border-top: 1px solid #fcf9f9;
  padding-top: 6px;
  display: fixed;
  -webkit-transition: 0.4s;
  transition: 0.4s; }

.bar-3 {
  width: 5em;
  display: block;
  width: 30px;
  border-top: 1px solid #fcf9f9;
  padding-top: 5px;
  -webkit-transition: 0.4s;
  transition: 0.4s; }

/**------------- 2.1.1 Burger menu active -------------**/
.open .bar-1 {
  -webkit-transform: rotate(-45deg) translate(-4px, 2px);
  transform: rotate(-45deg) translate(-4px, 2px); }

.open .bar-2 {
  opacity: 0; }

.open .bar-3 {
  -webkit-transform: rotate(45deg) translate(-10px, -3px);
  transform: rotate(45deg) translate(-10px, -3px); }

/*****---------- 2.1 Menu ----------*****/
.menu {
  margin-top: 3em; }

.menu ul {
  list-style: none;
  padding-left: 0;
  font-size: 1em; }
  .menu ul li {
    margin-bottom: 0.5em;
    letter-spacing: 0.05em;
    position: relative;
    cursor: pointer; }
    .menu ul li a:hover span, .menu ul li a.active span {
      border-bottom: 1px solid #fcf9f9;
      padding-bottom: 2px; }
    .menu ul li a {
      color: #fcf9f9;
      text-decoration: none;
      position: relative; }
    .menu ul li a:first-of-type {
      z-index: 100; }
  .menu ul li.active {
    opacity: 1; }
    .menu ul li.active > a span {
      border-bottom: 1px solid #fcf9f9;
      padding-bottom: 2px; }
  .menu ul .submenu li {
    font-weight: normal;
    margin-bottom: 0.5em; }

.menu ul li a.active:first-of-type span {
  border-bottom: 1px solid #fcf9f9;
  padding-bottom: 2px; }

.white-header .menu ul li a:hover span {
  border-bottom: 1px solid #fcf9f9; }
.white-header .menu ul li a:hover .submenu span {
  border-bottom: 1px solid transparent; }
.white-header .menu ul li a:hover .submenu li a:hover span {
  border-bottom: 1px solid #fcf9f9; }
.white-header .menu ul li a {
  color: #fcf9f9; }
.white-header .menu ul li.active > a span {
  border-bottom: 1px solid #fcf9f9; }

.menu ul .submenu {
  display: none; }

.menu .active .submenu {
  display: block;
  position: absolute;
  width: 250px;
  top: 0;
  margin-top: 0;
  padding-top: 3.6em; }

#home-page .menu ul li:hover {
  z-index: 1000; }

.menu ul li:hover .submenu {
  display: block;
  position: absolute;
  width: 250px;
  top: 0;
  margin-top: 0;
  padding-top: 3.6em; }
  .menu ul li:hover .submenu li {
    display: block; }

.menu ul li.archive-link:hover .submenu {
  display: none; }

#home-page .menu ul li.archive-link:hover .submenu, .archive-page .menu ul li.archive-link:hover .submenu {
  display: block; }

.menu ul li.archive-link.active:hover .submenu {
  display: block; }

.archive-page .menu ul li:not(.active):hover .submenu {
  display: none; }

#project-page .menu ul li:not(.active):hover .submenu {
  display: none; }

.menu {
  width: 100%; }

.project-bg {
  opacity: 0;
  -webkit-transition: opacity .4s ease-in-out;
  transition: opacity .4s ease-in-out;
  height: 100vh;
  width: 100%;
  background-position: center center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2; }
  .project-bg img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 0;
    left: 0; }

.project-bg.show {
  opacity: 1;
  -webkit-transition: opacity .2s ease-in-out;
  transition: opacity .2s ease-in-out;
  z-index: -1; }

/*************** 3. Project page ***************/
/*****---------- 3.1 Introduction ----------*****/
#intro {
  color: #fcf9f9;
  background-image: url("../img/ek-img-(2).jpg");
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-color: black;
  min-height: 150vh;
  padding-bottom: 86px; }

.intro-holder {
  margin-top: 1.87em; }
  .intro-holder ul {
    padding-left: 0;
    margin-top: 2.5em; }
    .intro-holder ul li {
      list-style: none;
      text-decoration: none;
      margin-bottom: 0.5em;
      text-decoration: none;
      cursor: pointer;
      color: #fcf9f9; }
      .intro-holder ul li:hover span {
        border-bottom: 1px solid #fcf9f9;
        padding-bottom: 2px; }

.title {
  margin-bottom: 2.5em; }

.title span {
  border-bottom: 1px solid #fcf9f9;
  padding-bottom: 5px; }

.cover-xs {
  display: none; }

.extlink a {
  color: #fcf9f9;
  text-decoration: none; }

#project-page, #about-page {
  padding-bottom: 3em; }

#project-page h2 {
  font-weight: bold; }

.navigation {
  position: fixed;
  color: #fcf9f9;
  top: 50%;
  -webkit-transform: translateY("-50%");
          transform: translateY("-50%");
  font-size: 1.2em;
  -webkit-transition: all .15s linear;
  transition: all .15s linear; }
  .navigation a {
    text-transform: none;
    text-decoration: none;
    color: #fcf9f9; }
  .navigation svg {
    fill: #fcf9f9;
    width: 20px; }

.navigation-right {
  right: 20px; }
  .navigation-right:hover {
    -webkit-transform: translateX(5px);
            transform: translateX(5px); }

.navigation-left {
  left: 20px; }
  .navigation-left:hover {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px); }

/*****---------- 3.2 Diaporama ----------*****/
/*****---------- 3.1 Owl Carousel ----------*****/
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel, .owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative; }

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden; }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item, .owl-carousel .owl-wrapper {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%; }

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: none; }

.no-js .owl-carousel, .owl-carousel.owl-loaded {
  display: block; }

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
  background: 0 0;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden; }

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

.owl-carousel .animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
.owl-height {
  -webkit-transition: height 0.5s ease-in-out;
  transition: height 0.5s ease-in-out; }

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: none 0.4s ease;
  transition: none 0.4s ease; }

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url(owl.video.play.png) no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.1s ease;
  transition: -webkit-transform 0.1s ease;
  transition: transform 0.1s ease;
  transition: transform 0.1s ease, -webkit-transform 0.1s ease; }

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-play-icon, .owl-carousel .owl-video-playing .owl-video-tn {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

.owl-carousel {
  background-color: black; }

.owl-carousel .owl-item img {
  height: 100%;
  display: inline-block;
  text-align: center; }

.owl-carousel .owl-item img.portrait {
  height: 100%;
  width: auto;
  margin-left: auto;
  margin-right: auto; }

.owl-carousel .owl-item img {
  display: block;
  width: auto; }

.owl-item {
  opacity: 0; }

.owl-item.active {
  opacity: 1; }

/*****---------- 3.3 Text ----------*****/
.text-col {
  margin-top: 4.5em;
  margin-bottom: 1.3em; }

h2 {
  margin-bottom: 1.3em;
  margin-top: 1.3em; }

.img-responsive {
  max-width: 100%; }

.content-module.table .table-header .row-border, .content-module.table .table-row .row-border {
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(8.333% + 16px);
  width: calc(91.6777% - 32px);
  height: 1px;
  background-color: #ddd; }

/*****---------- 3.4 Video player ----------*****/
.movie {
  width: 100%; }

.video-wrapper {
  position: relative;
  max-height: 75vh;
  float: left;
  width: 100%;
  overflow: hidden; }
  .video-wrapper img {
    width: 100%; }

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background-color: black; }

.cover-video {
  height: 100%;
  width: 100%;
  z-index: 999;
  position: absolute;
  top: 0;
  left: 0;
  background-size: cover;
  background-repeat: none;
  background-position: center; }

.control {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fcf9f9;
  z-index: 1000;
  fill: #fcf9f9;
  border: 1px solid #fcf9f9;
  border-radius: 50%;
  padding: 14px;
  width: 33px;
  height: 33px;
  cursor: pointer;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-transition: all .1s linear;
  transition: all .1s linear; }
  .control svg {
    width: 30px;
    height: 30px;
    margin-left: 5px;
    margin-top: 2px;
    -webkit-transition: all .1s linear;
    transition: all .1s linear; }
    .control svg .st0 {
      -webkit-transition: all .1s linear;
      transition: all .1s linear; }
  .control:hover {
    background-color: white; }
    .control:hover svg .st0 {
      fill: black; }

.align-center {
  width: 100%;
  text-align: center; }

.scroll-down {
  fill: black;
  display: inline-block; }

.up {
  position: fixed;
  bottom: 40px;
  right: 40px;
  font-size: 16px;
  cursor: pointer;
  border-bottom: 1px solid transparent;
  padding-bottom: 4px; }
  .up:hover {
    border-bottom: 1px solid black;
    padding-bottom: 4px; }

.cover-xs {
  display: none; }

/*****---------- 3.5 Credits ----------*****/
#credits {
  margin-top: 2em; }
  #credits h3 {
    font-size: 1em;
    font-weight: normal;
    margin-bottom: 2.7em; }
  #credits h2 {
    font-weight: 600;
    margin-bottom: 1.5em;
    margin-top: 2.5em; }
  #credits ul {
    list-style: none;
    padding-left: 0;
    margin-top: 0; }
  #credits li {
    margin-bottom: 0.8em;
    line-height: 1.25em; }
  #credits p, #credits li {
    font-size: 14px; }

.row-col .col-md-6 {
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 1em; }

.row-text {
  margin-left: 0;
  margin-right: 0; }

.info-block {
  margin-top: 1.5em;
  margin-bottom: -0.5em; }

.info-block:first-of-type {
  margin-top: 0em;
  margin-bottom: 0em; }

p:last-of-type {
  margin-bottom: 0; }

.accordion {
  border-bottom: 1px solid #fcf9f9;
  padding-bottom: 1em;
  padding-top: 1em;
  margin-top: 0;
  margin-bottom: 0; }

#credits .accordion h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
  margin-top: 0;
  margin-bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s; }
  #credits .accordion h2:hover {
    opacity: 0.6; }

.arrow {
  font-weight: 400;
  font-size: 1em;
  line-height: 0.8;
  color: #fcf9f9;
  font-family: auto; }
  .arrow .minus {
    display: none; }

.opened .arrow .minus {
  display: block; }
.opened .arrow .plus {
  display: none; }

.accordion .row-hidden {
  display: none;
  padding-bottom: 1em;
  padding-top: 1em; }

/*************** 4. Homepage ***************/
#home-page {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: black;
  height: 100vh;
  padding-right: 25px;
  padding-left: 25px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  #home-page .header {
    padding-top: 3em; }

.background-home {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: black;
  height: 100vh;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3; }

/*************** 5. Archive ***************/
.projets {
  list-style: none;
  padding-top: 75px; }
  .projets li {
    position: relative;
    margin-bottom: 40px; }
    .projets li h2 {
      opacity: 1;
      -webkit-transition: opacity 200ms ease;
      transition: opacity 200ms ease;
      font-size: 3.5em;
      font-weight: bold;
      z-index: 1000;
      position: relative;
      text-align: left;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .projets li h2 .big {
        font-size: 1em;
        font-weight: bold;
        line-height: 1em; }
      .projets li h2 .legend {
        font-size: 0.64em;
        margin-top: 1.5em;
        line-height: 1; }
    .projets li img {
      width: 100%;
      -webkit-transition: opacity 200ms ease;
      transition: opacity 200ms ease; }
    .projets li a {
      color: black;
      text-decoration: none; }
    .projets li:hover img {
      opacity: 0.95; }
  .projets li.right-legend h2 {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: -14.5%;
    left: auto;
    max-width: 60%;
    text-align: right; }

.archive-content {
  padding-top: 4em; }
  .archive-content .projets {
    padding: 0; }
  .archive-content h2 {
    margin-top: 0; }

/*************** 6. News ***************/
.dl-link, .about-text a {
  color: #fcf9f9;
  text-decoration: none;
  border-bottom: 1px solid #fcf9f9;
  padding-bottom: 3px; }
  .dl-link:hover, .about-text a:hover {
    border-bottom: 1px solid transparent;
    opacity: 0.6; }

.news-box {
  margin-top: 1.8em; }
  .news-box h3 {
    margin-top: 2.5em;
    font-size: 1em;
    margin-bottom: -1.35em;
    font-weight: normal; }
  .news-box h3:first-of-type {
    margin-top: 0;
    line-height: 1.45em; }
  .news-box p {
    margin-bottom: 1em;
    max-width: 650px;
    margin-left: 15%; }

.news-box a {
  color: #fcf9f9;
  text-decoration: none;
  border-bottom: 1px solid transparent; }
  .news-box a:hover {
    opacity: 0.8; }

.text-col {
  margin-top: 2.5em;
  margin-bottom: 2.5em; }

.news .row {
  margin-bottom: 1.5em; }

.news ul {
  list-style: none;
  margin-top: 0;
  padding-left: 0; }

.news li {
  margin-bottom: 0.8em;
  line-height: 1.45em;
  max-width: 650px; }
  .news li a:hover {
    border-bottom: 0;
    text-decoration: none; }
  .news li figure {
    margin: 0;
    margin-bottom: 1.2em; }
    .news li figure img {
      width: 100%; }

.disclaimer {
  margin-bottom: 1em;
  margin-top: 1em; }

.diaporama {
  height: 75vh;
  overflow: hidden; }
  .diaporama .owl-item {
    height: 75vh;
    display: block;
    width: 100%; }
    .diaporama .owl-item img {
      -o-object-fit: contain;
         object-fit: contain;
      width: 100%;
      height: 100%; }

.diaporama.owl-carousel .owl-stage-outer {
  height: 100% !important; }

.owl-dots {
  display: none; }

.owl-theme .owl-nav [class*='owl-']:hover {
  background: transparent;
  color: black;
  text-decoration: none;
  opacity: 0.5; }

.diaporama-home.owl-carousel .owl-stage-outer {
  height: 100%; }

.slider-counter {
  margin-top: 15px;
  font-size: 14px;
  text-align: center;
  width: 100%;
  margin-left: 0; }

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
  cursor: pointer; }

.owl-nav {
  position: absolute;
  width: 100%;
  top: 0;
  height: 100%; }

.custom-owl-nav {
  left: 0;
  height: 100%;
  z-index: 1000;
  margin-top: 0px; }

.owl-carousel.owl-drag .owl-item, .owl-stage {
  height: 100%; }

.owl-prev, .owl-next {
  width: 50%;
  height: 100%;
  background-color: transparent;
  border: none !important;
  z-index: 100; }
  .owl-prev:focus, .owl-next:focus {
    border: none;
    box-shadow: none;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .owl-prev span, .owl-next span {
    display: none; }

.row-slider {
  position: relative; }

.intro-mobile + .diaporama-section {
  margin-top: 4.5em; }

svg .st0 {
  fill: #fcf9f9; }

/*************** 7. About ***************/
/*************** 8. RESPONSIVE ***************/
@media screen and (max-width: 1300px) {
  body {
    font-size: 16px; }
    body h1, body h2 {
      font-size: 1em; } }
@media screen and (max-width: 1100px) {
  body {
    font-size: 14px; }
    body h1, body h2 {
      font-size: 1em; } }
.hide-xs {
  display: block; }

.hide-xs-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.show-xs {
  display: none; }

@media screen and (max-width: 920px), screen and (orientation: portrait) {
  body {
    font-size: 16px;
    background-color: black;
    color: #fcf9f9; }
    body p, body h2, body h1, body a, body li {
      color: white !important; }

  .hide-xs {
    display: none; }

  .hide-xs-flex {
    display: none; }

  .show-xs {
    display: block; }

  .title.title-mobile {
    display: block;
    color: #fcf9f9;
    bottom: 2em;
    z-index: 100;
    position: absolute;
    margin-left: 20px;
    margin-bottom: 0; }

  .intro-mobile {
    padding-top: 4em; }

  #intro {
    color: black;
    background-color: #fcf9f9;
    min-height: 100vh;
    padding-top: 0px;
    padding-bottom: 20px;
    background-attachment: scroll; }

  .col-3 {
    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 7%;
            column-gap: 7%; }

  .row {
    margin-right: 0;
    margin-left: 0; }

  .burger-menu {
    display: block; }

  .content-holder {
    padding-left: 20px;
    padding-right: 20px; }

  section {
    padding: 0px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }

  nav {
    height: auto;
    border-bottom: 0; }
    nav .menu {
      display: none;
      height: auto; }
    nav .menu a.active {
      text-decoration: none; }
    nav li {
      width: 100%;
      position: relative;
      padding: 0.8em 0;
      font-size: 1em;
      margin-left: 0;
      max-width: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
    nav a {
      text-align: left;
      width: 100%;
      text-indent: 0.8em;
      color: black; }
    nav a:hover {
      color: black; }

  .white-header .menu ul li a {
    color: #fcf9f9; }

  #home-page .white-header .menu ul li a {
    color: #fcf9f9; }

  .about-text {
    margin-top: 6em; }

  .archive-content {
    padding-top: 6em; }

  #archive-page .header .menu ul li.white-f a {
    color: black; }

  .menu ul li:hover .submenu {
    position: static; }

  .menu li {
    width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
    margin-left: 0; }

  .text-col {
    margin-top: 2.5em;
    margin-bottom: 2.5em; }

  .title span {
    border-bottom: 1px solid transparent;
    padding-bottom: 5px; }

  .header {
    color: black;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }

  .up {
    display: none; }

  .intro-holder ul li {
    color: black; }

  .intro-holder {
    margin-top: 0; }

  body h1, body h2 {
    font-size: 1.5em; }

  body h2 {
    font-size: 1em; }

  h2, .title {
    margin-bottom: 1.5em;
    margin-top: 1em; }

  .header {
    color: #fcf9f9;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: black;
    position: fixed;
    padding: 0px;
    left: 0;
    top: 0;
    z-index: 1000; }

  .header.open, .header.white-header.open {
    height: 100vh;
    background-color: black;
    color: #fcf9f9; }

  #home-page .header.open {
    background-color: transparent;
    color: #fcf9f9; }

  .row-header {
    padding: 20px; }

  .menu {
    margin-top: 24px; }
    .menu ul {
      margin-top: 0;
      margin-bottom: 0; }
      .menu ul li {
        padding: 3px 20px;
        margin-bottom: 0; }

  .no-scroll {
    overflow: hidden; }

  .accordion {
    border-bottom: 1px solid #fcf9f9; }

  .header.white-header {
    background-color: transparent;
    color: #fcf9f9; }
    .header.white-header .bar-1, .header.white-header .bar-2, .header.white-header .bar-3 {
      border-top: 1px solid #fcf9f9; }

  .header.white-header.open {
    background-color: black;
    color: #fcf9f9; }
    .header.white-header.open .bar-1, .header.white-header.open .bar-2, .header.white-header.open .bar-3 {
      border-top: 1px solid #fcf9f9; }

  #archive-page .header {
    color: black;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: fixed;
    top: 0px;
    z-index: 1000;
    padding-right: 0px;
    padding-top: 0; }

  .menu ul li.active, .menu ul li:hover {
    opacity: 1; }

  .menu ul li:hover span {
    border-bottom: none;
    padding-bottom: 5px; }

  #archive-page .header .menu ul li.white-f.active span, #archive-page .header .menu ul li.white-f:hover span {
    border-bottom: 1px solid;
    padding-bottom: 4px; }

  #home-page .header {
    padding-top: 0px; }

  .white-header .menu ul li.active span {
    border-bottom: 1px solid; }

  .white-header .menu ul li.active .submenu span {
    border-bottom: 1px solid transparent; }

  .archive-page .menu ul li:not(.active):hover .submenu {
    display: block; }

  #project-page .menu ul li:not(.active):hover .submenu {
    display: block; }

  .menu ul li:hover .submenu, .menu ul li.active .submenu {
    display: block;
    width: 100%;
    top: 0;
    margin-top: 0;
    padding-top: 0;
    margin-left: 0px;
    margin-top: 0.8em;
    margin-bottom: 0;
    position: static; }

  .menu ul .submenu li:last-of-type {
    font-weight: normal;
    margin-bottom: 0; }

  .menu ul .submenu li {
    font-weight: normal;
    margin-bottom: 0px;
    font-size: 1em;
    padding: 3px 15px; }

  #home-page .menu ul li:hover .submenu, .archive-page .menu ul li:hover .submenu {
    display: block;
    position: static; }

  .opened {
    padding-bottom: 0; }

  .projets li h2, .projets li.right-legend h2 {
    opacity: 1;
    -webkit-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
    font-size: 1em;
    position: static;
    top: 0;
    -webkit-transform: none;
            transform: none;
    left: 0;
    max-width: 100%;
    text-align: left;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    z-index: 10; }

  .projets li h2 .big {
    font-size: 1em;
    font-weight: bold;
    line-height: 1.2em; }

  .projets li h2 .legend {
    font-size: 0.8em;
    margin-top: 1em;
    line-height: 1.2em;
    display: none; }

  .projets li {
    position: relative;
    margin-bottom: 2em;
    margin-left: 0; }

  #home-page .header {
    background-color: transparent;
    border-bottom: 1px solid transparent;
    color: #fcf9f9; }

  #home-page .header.open {
    background-color: black;
    border-bottom: 1px solid transparent;
    color: #fcf9f9; }

  .nom {
    margin-left: 0; }

  #home-page nav {
    border-top: 1px solid transparent; }

  #home-page .bar-1, #home-page .bar-2, #home-page .bar-3 {
    border-top: 1px solid #fcf9f9; }

  .news-box {
    margin-top: 6em; }

  #project-page .menu ul .active .submenu {
    display: block;
    position: static;
    width: auto;
    top: 0;
    margin-top: 0;
    padding-top: 1em;
    padding-bottom: 1em; }

  .diaporama {
    height: 45vh;
    overflow: hidden; }

  #home-page .header.open {
    background-color: transparent;
    border-bottom: 1px solid transparent; }
    #home-page .header.open .nom {
      color: #fcf9f9; }

  .owl-nav {
    display: none; }

  .col-xs-12 .text {
    padding-left: 1rem; }

  .row-slider {
    margin-top: 8vh;
    margin-bottom: 8vh; }

  #credits {
    font-size: 14px;
    margin-top: 2em; }

  .info-block:first-of-type {
    margin-top: 0;
    margin-bottom: 0; }

  .diaporama-section + .video-section {
    margin-top: 2.5em; }

  .menu ul li a.active:first-of-type span {
    border-bottom: 1px solid #fcf9f9;
    padding-bottom: 2px; }

  .white-header .menu ul li a.active:first-of-type span {
    border-bottom: 1px solid #fcf9f9;
    padding-bottom: 2px; }

  #intro {
    padding: 0;
    background-attachment: scroll; }

  .text-intro {
    padding-left: 0px;
    padding-right: 0px;
    margin-top: 0px;
    color: white;
    z-index: 10; }
    .text-intro h1 {
      font-size: 1em;
      margin-bottom: 2em;
      font-weight: bold; }

  .title, .intro-holder ul {
    display: none; }

  #intro + .diaporama-section {
    margin-top: 1.5em; }

  .col-xs-12 .text {
    padding-left: 0; }

  .project-bg {
    display: none; }

  .arrow {
    color: #fcf9f9; }

  .next-project-mobile {
    text-align: right;
    color: #fcf9f9;
    margin-top: 3em;
    padding-right: 20px;
    padding-left: 20px; }
    .next-project-mobile a {
      text-decoration: none; }

  #credits .accordion h2:hover {
    color: #fcf9f9;
    opacity: 1; }

  .control svg {
    width: 20px;
    height: 20px;
    margin-left: 2px;
    margin-top: 0;
    -webkit-transition: all .1s linear;
    transition: all .1s linear; }

  .control {
    color: #fcf9f9;
    z-index: 1000;
    fill: #fcf9f9;
    border: 1px solid #fcf9f9;
    border-radius: 50%;
    padding: 10px;
    width: 20px;
    height: 20px;
    cursor: pointer; }

  #home-page .header {
    padding-top: 0; } }
#home-page.mobile .header {
  padding-top: 0; }

.mobile .hide-xs {
  display: none; }
.mobile .hide-xs-flex {
  display: none; }
.mobile .show-xs {
  display: block; }
.mobile .title.title-mobile {
  display: block;
  color: #fcf9f9;
  bottom: 2em;
  z-index: 100;
  position: absolute;
  margin-left: 20px;
  margin-bottom: 0; }
.mobile .intro-mobile {
  padding-top: 4em; }
.mobile #intro {
  color: black;
  background-color: black;
  min-height: 100vh;
  padding-top: 0px;
  padding-bottom: 20px;
  background-attachment: scroll; }
.mobile .col-3 {
  -webkit-column-count: 2;
          column-count: 2;
  -webkit-column-gap: 7%;
          column-gap: 7%; }
.mobile .row {
  margin-right: 0;
  margin-left: 0; }
.mobile .burger-menu {
  display: block; }
.mobile .content-holder {
  padding-left: 20px;
  padding-right: 20px; }
.mobile section {
  padding: 0px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
.mobile nav {
  height: auto;
  border-bottom: 0; }
  .mobile nav .menu {
    display: none;
    height: auto; }
  .mobile nav .menu a.active {
    text-decoration: none; }
  .mobile nav li {
    width: 100%;
    position: relative;
    padding: 0.8em 0;
    font-size: 1em;
    margin-left: 0;
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
  .mobile nav a {
    text-align: left;
    width: 100%;
    text-indent: 0.8em;
    color: black; }
  .mobile nav a:hover {
    color: black; }
.mobile .white-header .menu ul li a {
  color: #fcf9f9; }
.mobile #home-page .white-header .menu ul li a {
  color: #fcf9f9; }
.mobile .about-text {
  margin-top: 6em; }
.mobile .archive-content {
  padding-top: 6em; }
.mobile #archive-page .header .menu ul li.white-f a {
  color: black; }
.mobile .menu ul li:hover .submenu {
  position: static; }
.mobile .menu li {
  width: 100%;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  max-width: 100%;
  margin-left: 0; }
.mobile .text-col {
  margin-top: 2.5em;
  margin-bottom: 2.5em; }
.mobile .title span {
  border-bottom: 1px solid transparent;
  padding-bottom: 5px; }
.mobile .header {
  color: black;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
.mobile .up {
  display: none; }
.mobile .intro-holder ul li {
  color: black; }
.mobile .intro-holder {
  margin-top: 0; }
.mobile body h1, .mobile body h2 {
  font-size: 1.5em; }
.mobile body h2 {
  font-size: 1em; }
.mobile h2, .mobile .title {
  margin-bottom: 1.5em;
  margin-top: 1em; }
.mobile .header {
  color: #fcf9f9;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: black;
  position: fixed;
  padding: 0px;
  left: 0;
  top: 0;
  z-index: 1000; }
.mobile .header.open, .mobile .header.white-header.open {
  height: 100vh;
  background-color: black;
  color: #fcf9f9; }
.mobile #home-page .header.open {
  background-color: transparent;
  color: #fcf9f9; }
.mobile .row-header {
  padding: 20px; }
.mobile .menu {
  margin-top: 24px; }
  .mobile .menu ul {
    margin-top: 0;
    margin-bottom: 0; }
    .mobile .menu ul li {
      padding: 3px 20px;
      margin-bottom: 0; }
.mobile .no-scroll {
  overflow: hidden; }
.mobile .accordion {
  border-bottom: 1px solid #fcf9f9; }
.mobile .header.white-header {
  background-color: transparent;
  color: #fcf9f9; }
  .mobile .header.white-header .bar-1, .mobile .header.white-header .bar-2, .mobile .header.white-header .bar-3 {
    border-top: 1px solid #fcf9f9; }
.mobile .header.white-header.open {
  background-color: black;
  color: #fcf9f9; }
  .mobile .header.white-header.open .bar-1, .mobile .header.white-header.open .bar-2, .mobile .header.white-header.open .bar-3 {
    border-top: 1px solid #fcf9f9; }
.mobile #archive-page .header {
  color: black;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: fixed;
  top: 0px;
  z-index: 1000;
  padding-right: 0px;
  padding-top: 0; }
.mobile .menu ul li.active, .mobile .menu ul li:hover {
  opacity: 1; }
.mobile .menu ul li:hover span {
  border-bottom: none;
  padding-bottom: 5px; }
.mobile #archive-page .header .menu ul li.white-f.active span, .mobile #archive-page .header .menu ul li.white-f:hover span {
  border-bottom: 1px solid;
  padding-bottom: 4px; }
.mobile #home-page .header {
  padding-top: 0px; }
.mobile .white-header .menu ul li.active span {
  border-bottom: 1px solid; }
.mobile .white-header .menu ul li.active .submenu span {
  border-bottom: 1px solid transparent; }
.mobile .archive-page .menu ul li:not(.active):hover .submenu {
  display: block; }
.mobile #project-page .menu ul li:not(.active):hover .submenu {
  display: block; }
.mobile .menu ul li:hover .submenu, .mobile .menu ul li.active .submenu {
  display: block;
  width: 100%;
  top: 0;
  margin-top: 0;
  padding-top: 0;
  margin-left: 0px;
  margin-top: 0.8em;
  margin-bottom: 0;
  position: static; }
.mobile .menu ul .submenu li:last-of-type {
  font-weight: normal;
  margin-bottom: 0; }
.mobile .menu ul .submenu li {
  font-weight: normal;
  margin-bottom: 0px;
  font-size: 1em;
  padding: 3px 15px; }
.mobile #home-page .menu ul li:hover .submenu, .mobile .archive-page .menu ul li:hover .submenu {
  display: block;
  position: static; }
.mobile .opened {
  padding-bottom: 0; }
.mobile .projets li h2, .mobile .projets li.right-legend h2 {
  opacity: 1;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
  font-size: 1em;
  position: static;
  top: 0;
  -webkit-transform: none;
          transform: none;
  left: 0;
  max-width: 100%;
  text-align: left;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  z-index: 10; }
.mobile .projets li h2 .big {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.2em; }
.mobile .projets li h2 .legend {
  font-size: 0.8em;
  margin-top: 1em;
  line-height: 1.2em;
  display: none; }
.mobile .projets li {
  position: relative;
  margin-bottom: 2em;
  margin-left: 0; }
.mobile #home-page .header {
  background-color: transparent;
  border-bottom: 1px solid transparent;
  color: #fcf9f9; }
.mobile #home-page .header.open {
  background-color: black;
  border-bottom: 1px solid transparent;
  color: #fcf9f9; }
.mobile .nom {
  margin-left: 0; }
.mobile #home-page nav {
  border-top: 1px solid transparent; }
.mobile #home-page .bar-1, .mobile #home-page .bar-2, .mobile #home-page .bar-3 {
  border-top: 1px solid #fcf9f9; }
.mobile .news-box {
  margin-top: 6em; }
.mobile #project-page .menu ul .active .submenu {
  display: block;
  position: static;
  width: auto;
  top: 0;
  margin-top: 0;
  padding-top: 1em;
  padding-bottom: 1em; }
.mobile .diaporama {
  height: 45vh;
  overflow: hidden; }
.mobile #home-page .header.open {
  background-color: transparent;
  border-bottom: 1px solid transparent; }
  .mobile #home-page .header.open .nom {
    color: #fcf9f9; }
.mobile .owl-nav {
  display: none; }
.mobile .col-xs-12 .text {
  padding-left: 1rem; }
.mobile .row-slider {
  margin-top: 8vh;
  margin-bottom: 8vh; }
.mobile #credits {
  font-size: 14px;
  margin-top: 2em; }
.mobile .info-block:first-of-type {
  margin-top: 0;
  margin-bottom: 0; }
.mobile .diaporama-section + .video-section {
  margin-top: 2.5em; }
.mobile .menu ul li a.active:first-of-type span {
  border-bottom: 1px solid #fcf9f9;
  padding-bottom: 2px; }
.mobile .white-header .menu ul li a.active:first-of-type span {
  border-bottom: 1px solid #fcf9f9;
  padding-bottom: 2px; }
.mobile #intro {
  padding: 0;
  background-attachment: scroll; }
.mobile .text-intro {
  padding-left: 0px;
  padding-right: 0px;
  margin-top: 0px;
  color: white;
  z-index: 10; }
  .mobile .text-intro h1 {
    font-size: 1em;
    margin-bottom: 2em;
    font-weight: bold; }
.mobile .title, .mobile .intro-holder ul {
  display: none; }
.mobile #intro + .diaporama-section {
  margin-top: 1.5em; }
.mobile .col-xs-12 .text {
  padding-left: 0; }
.mobile .project-bg {
  display: none; }
.mobile .arrow {
  color: #fcf9f9; }
.mobile .next-project-mobile {
  text-align: right;
  color: #fcf9f9;
  margin-top: 3em;
  padding-right: 20px;
  padding-left: 20px; }
  .mobile .next-project-mobile a {
    text-decoration: none; }
.mobile #credits .accordion h2:hover {
  color: #fcf9f9;
  opacity: 1; }
.mobile .control svg {
  width: 20px;
  height: 20px;
  margin-left: 2px;
  margin-top: 0;
  -webkit-transition: all .1s linear;
  transition: all .1s linear; }
.mobile .control {
  color: #fcf9f9;
  z-index: 1000;
  fill: #fcf9f9;
  border: 1px solid #fcf9f9;
  border-radius: 50%;
  padding: 10px;
  width: 20px;
  height: 20px;
  cursor: pointer; }

@media screen and (max-width: 920px) and (orientation: landscape) {
  .mobile .diaporama {
    height: 85vh;
    overflow: hidden; } }
@media screen and (max-width: 920px) and (orientation: portrait) {
  .mobile #intro {
    background-image: none !important; }

  .mobile .cover-xs {
    display: block;
    margin-bottom: 2.5em;
    margin-left: 0px;
    margin-right: 0px;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
    .mobile .cover-xs img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
      position: absolute;
      top: 0;
      left: 0; } }
@media screen and (max-width: 1280px) and (orientation: landscape) {
  .mobile .row {
    margin-right: auto;
    margin-left: auto; }

  .mobile .diaporama {
    height: 75vh; }

  .mobile .text-intro {
    margin-left: auto;
    margin-right: auto; }

  .background-home.bg-mobile.show-xs {
    display: none !important; }

  .background-home.bg-desktop.hide-xs {
    display: block !important; } }

/*# sourceMappingURL=main.css.map */