
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;400;700;900&display=swap');


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

body {
  background: #fff;
  font-size: 18px;
  font-family: 'Montserrat', Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  margin: 0;
}

#body-hidden {
    overflow: hidden;
}

#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f36c66;
  z-index: 100000;
}

#status {
  position: absolute;
  left: 48%;
  top: 55%;
}
.mnml-spinner {
  border-radius: 100%;
  border-style: solid;
  border-width: 0.2rem;
  height: 5rem;
  width: 5rem;

  animation: mnmlSpinner 1s infinite cubic-bezier(0.59, 0.07, 0, 1.04);
}
  .mnml-spinner.light {
      border-color: rgba(255, 255, 255, 0.2);
      border-top-color: rgba(255, 255, 255, 1);
  }

  @keyframes mnmlSpinner {
      0%   { transform: rotate(0); }
      100% { transform: rotate(359.9deg); }
  }

#preloader img {
  width: 200px;
  height: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  background-repeat: no-repeat;
  background-position: center;
  margin: -100px 0 0 -100px;
}

a {
  text-decoration: none;
}
.lien-standard:active, .lien-standard:visited, .lien-standard:link {
  color: #808080;
  font-weight: bold;
  text-decoration: none;
}

.lien-standard:hover {
  color: #e37271;
  font-weight: bold;
  text-decoration: none;
}

.margin-top-30 {
  margin-top: -30px;
}

.scroll-down {
  position: absolute;
  bottom: 5%;
  left: 50%;
  opacity: 1;
  z-index: 1000;
  width: 35px;
  margin-left: -25px;
}

.scroll-down-2 {
  position: absolute;
  bottom: 14%;
  left: 55%;
  opacity: 1;
  z-index: 1000;
}

.vertical-center {
  margin: auto!important;
}

.white-font {
  color: white!important;
}

.padding-bottom {
  padding-bottom: 40px;
}

.text1 {
  font-size: 14vw;
  font-weight: 700;
}

.text2 {
  font-size: 10vw;
  line-height: 50px;
  font-weight: 300;
}

.text3 {
  font-size: 6vw;
}

.text4 {
  font-size: 6vw;
  line-height: 0px;
}

@media screen and (min-width: 1400px) {
  .text1 {
    font-size: 180px;
  }

  .text2 {
    font-size: 100px;
  } 

  .text3 {
    font-size: 80px;
  } 

  .text4 {
    font-size: 80px;
  } 

  figure.effect-honey2 h2 {
    letter-spacing: -10px!important;
  }
}


button {
  display: inline-block;
  background-color: transparent;
  border: none;
  font-size: 15px;
  font-family: "Montserrat";
  color:black;
}

button:hover {
  display: inline-block;
  background-color: transparent;
  border: none;
  font-family: "Montserrat";
  font-size: 15px;
  color: #e37271;
}

.button-group {
  text-align: center;
  padding-bottom: 20px;
}

/* ---- grid ---- */

#container-master {
  max-width: 1400px;
  margin: 0 auto;
}


/*---------------*/
/***** PARRALAX *****/
/*---------------*/


/*PARALLAX HOME*/

@media screen and (max-width: 960px) {
  .parallax-container {
    background: url('../home.jpg') no-repeat center!important;
    background-size: cover !important;
    width: 100%!important;
    height: 100%;
    position: relative!important;
  }
  .parallax-layers {
    display: none!important;
  }
  .content-work {
  position: initial!important;
  background: #4e00ff;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  }

  .scroll-down {
  bottom:80px;
  }

  .scroll-down-2 {
  left: 35% !important;
  }

}


@media screen and (max-width: 1350px) {
  .parallax-layers img {
    height: auto;
    margin: 0 auto;
    width: 130%;
  }

  .layer-3 {
    top: -20% !important;
    left: 5% !important;
    width: 70% !important;
  }
}


  .parallax-container {
    overflow: hidden;
    width: 100%;
    background: rgb(75,207,213);
    background: -moz-linear-gradient(90deg, rgba(75,207,213,1) 17%, rgba(168,250,252,1) 100%);
    background: -webkit-linear-gradient(90deg, rgba(75,207,213,1) 17%, rgba(168,250,252,1) 100%);
    background: linear-gradient(90deg, rgba(75,207,213,1) 17%, rgba(168,250,252,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#4bcfd5",endColorstr="#a8fafc",GradientType=1);
  }

  .parallax-layers {
    margin: 0 auto;
    top: 30%;
    display: block;
  }

  .parallax-layers img {
    height: auto;
    margin: 0 auto;
  }

  .layer-1 {
    z-index: 10;
    left: 10% !important;
    top: 240px !important;
  }
  .layer-2 {
    z-index: 6;
    top: -30% !important;
    width: 100%;
    max-width: 100%;
    /*filter: blur(2px);*/
  }

  .layer-3 {
    z-index: 9;
    top: -25% !important;
    left: 17% !important;
    width: 1200px;
  }

  .layer-4 {
    z-index: 1;
    top: -15% !important;
    width: 140% !important;
    /*filter: blur(2px);*/
  }

  .showreel {
    z-index: 1;
    top: 50% !important;
    width: 170px !important;
    border-radius: 25px;
    background-color: #48c9d673;
    color: white;
    font-size: 25px;
    text-align: center;
    padding: 5px;
    height: 70px;
  }

  .showreel:hover {
    color:#000;
  }


.content-work {
  background: #fff;
  min-height: 100%;
  z-index: -5;
  overflow: hidden;
}


/*---------------*/
/***** CARROUSEL/PORTFOLIO *****/
/*---------------*/

.video video {
  min-width: 100%;
  min-height: 100%;
  display: block;
}

.video-labo video {
  width: 100%;
}

#trait {
  background-color: #d8d8d8;
  width: 100%;
  height: 25px;
  -moz-border-radius: 0px 0px 10px 10px; 
  -webkit-border-radius: 0px 0px 10px 10px;
}

#trait2 {
  background-color: #d4d4d4;
  width: 200px;
  height: 3px;
  margin: 0 auto;
  margin-bottom: 50px;
}

.content-portfolio2 {
  z-index: 2;
  max-width: auto;
  list-style: none;
  text-align: center;
}

.suite-apropos {
  display: none;
}

.carousel-cell {
  width: 58%;
  height: 450px;
  margin-right: 10px;
  background: #8C8;
  border-radius: 5px;
  overflow: hidden;
  max-height: 450px;
}

.carousel-cell2 {
  height: 450px;
  margin-right: 10px;
  background: #8C8;
  border-radius: 5px;
  overflow: hidden;
  max-height: 450px;
}

.carousel-cell--hashtag {
  width: 58%;
  height: 450px;
  margin-right: 10px;
  border-radius: 5px;
  overflow: hidden;
  display: flex;
  background-color: chartreuse;
}

.carousel-cell--hashtag h3{
  color: #e000fb;
}

.carousel-cell p {
  padding: 1em;
  font-size: 1.4em;
  margin: auto;
}

.section1 {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

.section1::-webkit-scrollbar { width: 0 !important }
.section1 { overflow: -moz-scrollbars-none; }
.section1 { -ms-overflow-style: none; }

.section1 img {
  width: 100%;
  height: auto;
}

.hover:hover {
  cursor: pointer!important;
}


.text-portfolio {
  width: 100%;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  font-size: 10vw;
}

.content-portfolio2 figure {
  position: relative;
  float: left;
  overflow: hidden; 
  width: 100%;
  height: auto;
 /* background: #3085a3;*/
  text-align: center;
  cursor: grab;
  margin: 0 auto;
}

.content-portfolio2 figcaption img {
  position: relative;
  display: block;
  height: auto;
  width: 80px;
  opacity: 1;
  margin: auto;
}

.content-portfolio2 figure figcaption {
  color: #fff;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.content-portfolio2 figure figcaption::before,
.content-portfolio2 figure figcaption::after {
  pointer-events: none;
}

.content-portfolio2 figure figcaption,
.content-portfolio2 figure figcaption > a{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
}

.content-portfolio2 figure figcaption > a {
  z-index: 10;
  text-indent: 200%;
  white-space: nowrap;
  font-size: 0;
  opacity: 0;
}

.text-hashtag {
  text-align: left;
  text-transform: uppercase;
  position: relative;
  white-space: nowrap;
  margin: auto;
}

.text-hashtag h3 {
  line-height: 70%;
  margin: 5px;
}

.text-hashtag h3:nth-child(1) {
  opacity: 1;
}

.text-hashtag h3:nth-child(2) {
  opacity: 0.8;
}

.text-hashtag h3:nth-child(3) {
  opacity: 0.6;
}

.text-hashtag h3:nth-child(4) {
  opacity: 0.4;
}

/**FLICKITY**/

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

.carousel {
  margin-bottom: 50px;
}

.carousel-image {
  height: 450px;
  min-width: 150px;
  max-width: 100%;
  margin-right: 10px;
  top: 50%;
  transform: translateY(-50%)
}

.carousel.is-fullscreen .carousel-image {
  height: auto;
  max-height: 100%;
}

/* transition height change */
.flickity-viewport {
  transition: height 0.2s;
}

.is-animated {
  animation: .6s zoom-in;
}

@keyframes zoom-in {
  0% {
   transform: scale(.1);
  } 
  100% {
    transform: none;
  }
}

/*---------------*/
/***** EFFET HOVER 2 *****/
/*---------------*/

figure.effect-honey2 {
  background: #ffffff;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

figure .effect-honey2 img {
  width: 100%;

}

figure.effect-honey2:hover video {
  opacity: 1;
  mix-blend-mode:normal;
}

figcaption.effect-honey2:hover img {
  opacity: 0;
}

figcaption.effect-honey2 img {
  opacity: 1;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

figure.effect-honey2 h2 {
  position: relative;
  color:chartreuse;
  background-color: transparent;
  white-space: nowrap;
  margin: auto;
  text-align: left;
  letter-spacing: -0.15em;
}

figcaption {
  opacity: 1;
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease;
  /*mix-blend-mode: color-dodge;*/
}

figcaption:hover {
opacity: 0;
}

.margin-20 {
  margin-bottom: 20px!important;
  display: inline-block;
}

.margin-20-50 {
  margin-bottom: 20px!important;
  margin-top: 20px;
}

/* LABO */

#labo {
  position: relative;
  font-family: "Montserrat";
  overflow-x: hidden;
  width: 100%;
  align-items: center;
  background: #0b1629;
  line-height: 1.7;
  z-index: 1;
  top: 50px;
  padding-bottom: 100px;
}

.bg-text-container {
  transform: translateX(-50%);
  left: 50%;
  z-index: -999;
  margin: 30px 0px 30px 0px;
}

@keyframes text-scrolling {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(0%, 0, 0);
  }
}
.animate-text {
  animation: text-scrolling 20s linear infinite;
  will-change: transform;
  display: block;
  position: relative;
  white-space: nowrap;
}
.animate-text.left {
  animation-direction: reverse;
}

.animate-text span {
  font-size: 280px;
  color: transparent;
  -webkit-text-stroke: 2px chartreuse;
  text-transform: uppercase;
  display: inline-block;
  line-height: 0.75;
  min-width: auto;
  font-weight: 800;
}


#labo a{
  color:#333;
}

.current{
  position: relative;
  color:#000;
}
.current::after{
  content:' ';
  display: block;
  width:50%;
  height:6px;
  border-top:1px solid #EA5046;
  border-bottom:1px solid #EA5046;
  bottom:-12px;
  transform: translate(50%,0) rotate(-15deg);
  opacity: 1;
  position: absolute;
}

#labo img{
  display:block;
  width:100%;
  height:auto;
}

.grid{
  display:grid;
  grid-template-columns: 1fr;
  grid-gap: 24px;
  gap:24px;
  justify-content: center;	
  margin:15px 0 24px 0;
  padding:0 24px;
}

@media (min-width:40em){
  .grid{
    grid-template-columns: repeat(auto-fill, 25em);
    grid-auto-rows: 18em;
    grid-auto-flow: row dense;
  }

}

@media (max-width:40em){
  .carousel figure video {
    display: none!important;
  }

  .image-none {
    display: block!important;
    height: 200px;
    margin-left: -50px;
  }

  .carousel-cell {
    width: 58%;
    height: 200px !important;
    max-height: 200px!important;
  }
  
  .carousel {height: 200px!important;}

  .carousel-cell--hashtag {
    width: 58%;
    height: 200px !important;
    max-height: 200px!important;
  }

  .carousel-image {
    height: 200px !important;
    max-height: 200px!important;
  }

  .text4 {
    font-size: 50px;
    line-height: 0px;
  }
  figcaption img {
    display: none!important;
  }


}

.image-none {
  display: none;
}
.about{
  background: #fff;
  color:#111;
  font-weight: 400;
  padding: 24px;
  font-size: 16px;
}

@media (min-width:54.5em){
 .about{
  grid-column-end: span 2;
  font-size: 24px;


 }
}

.s{
  grid-column-end: span 1;
  grid-row-end:span 1;
}

.m{
  grid-column-end: span 1;
  grid-row-end:span 2;
}

.l{
  grid-column-end: span 1;
  grid-row-end:span 1;
}

@media (min-width:54.5em){
  .l{
    grid-column-end: span 2;
    grid-row-end:span 2;
  }
  
  .grid {
    padding-left: 2em;
    padding-right: 2em;
  }
}

.a-img-txt{
  display:grid; 
  text-decoration: none;
  font-size: 24px;
}
 
/* les enfants se superposent */
.a-img-txt>*{
  grid-area:1/1/-1/-1; 
  /* raccourci pour grid-row et grid-column */
}
 
/* le texte */
.a-txt{
  display:flex;
  justify-content:center;
  align-items:center;
  color:#fff;
  opacity:0;
  transition:opacity .8s;
  padding:24px;
}
 
/* le survol */
.a-txt:hover{
  opacity:1;
}


/******A PROPOS******/

.header-a-propos {
  max-width: 1200px;
  height: auto;
  margin: 0 auto
}

.header-a-propos img {
  width: 600px;
  display: block;
  margin: 0 auto;
}

#container-a-propos{
  width: 100%;
  position: relative;
  float: left;
  height: auto;
  padding-bottom: 50px;
  background-color: chartreuse;
}

#container-a-propos:before{
  position: absolute;
  width: 4px;
  background: rgba(17,17,22,0.8);
  top: 0px;
  left: 50%;
  margin-left: -2px;
  content: '';
  height: 100%;
}

.row-a-propos {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: left;
  position: relative;
}

.img-a-propos {
  margin: auto;
  padding: 15px;
}

.img-a-propos img {
  display: block;
  max-width: 100%;
}

.row-a-propos h2 {
  font-size: 50px;
  text-transform: uppercase;
  margin: 20px;
  color: #fff;
}

.row-a-propos h3 {
  font-weight: 600;
}

.row-a-propos h4 {
  font-style: italic;
  font-weight: 400;
  margin-top:-15px;
}

.element-gauche, .element-droite {
  float: left;
  width: 48%;
  position: relative;
}

.element-titre-a-propos {
  display: block;
  text-align: center;
  margin: 0 auto;
  background-color: chartreuse;
  background-size: 25%;
  margin-top: 40px;
  margin-bottom: 40px;
}

.element-gauche {
  text-align: right;
  float: left;
}

.circle-fill {
  width: 15px;
  height: 15px;
  background: black;
  -moz-border-radius: 50px;
  -webkit-border-radius: 50px;
  border-radius: 50px;
  margin-top: 30px;
  float: right;
  margin-left: 10px;
}

.circle-empty {
  width: 15px;
  height: 15px;
  -moz-border-radius: 50px;
  -webkit-border-radius: 50px;
  border: 2px black solid;
  border-radius: 50px;
  margin-top: 30px;
  float: right;
  margin-left: 10px;
}

.button-a-propos {
  background: white;
  color: black;
  border-radius: 10px;
  margin: 0 auto;
  padding: 10px;
}

.button-a-propos a:active, .button-a-propos a:visited, .button-a-propos a:link {
  color: black;
  font-weight: bold;
  text-decoration: none;
}

.button-a-propos a:hover {
  color: #ff5f5f;
  font-weight: bold;
  text-decoration: none;
}

.button-a-propos-contact {
  background: black;
  color: white;
  border-radius: 10px;
  margin: 0 auto;
  padding: 10px;
}

.button-a-propos-contact:hover {
  background: #ff5757;
}

.button-a-propos-contact a:active, .button-a-propos-contact a:visited, .button-a-propos-contact a:link {
  color: white;
  font-weight: bold;
  text-decoration: none;
}

.button-a-propos-contact a:hover {
  color: white;
  font-weight: bold;
  text-decoration: none;
}

.padding-top-60 {
  padding-top: 60px;
}


#a-propos {
  position: relative;
  background-color: chartreuse;
  width: 100%;
  margin-top: -20px;
  z-index: 0;
  padding-top: 150px;
}

.marquee {
  height: 100px;
  width: 100%;
  position: relative;
}

.marquee div {
  display: block;
  width: 200%;
  height: 30px;
  position: absolute;
  animation: marquee 5s linear infinite;
}

.marquee div:hover {
  animation-play-state: paused;
}

.marquee span {
  float: left;
  width: 50%;
  font-size: 60px;
  text-transform: uppercase;
  background-color: #fbff00;
  color: #000;
}

@keyframes marquee {
  0% { left: 0; }
  100% { left: -100%; }
}

  
/*******FOOTER*****/
footer {
  height: 250px;
  background-color: black;
  clear: both;
  width: 100%;
  position: relative;
}

#content-footer {
  text-align: center;
  width: 100%;
}

#content-footer img {
  text-align: center;
  padding-bottom: 30px;
  padding-top: 60px;

}

#content-footer p {
  font-size: 1em;
  color: white;
  padding-top: 30px;
}

#content-footer a:link {
  color: white;
  text-decoration: none;
}

#content-footer a:hover {
  font-weight: bold;
  color: white;
  text-decoration: none;
}

.reseaux-sociaux {
  height: auto;
  width: 100%;
  margin: 0 auto;
  margin-left: -20px;
}

.reseaux-sociaux li {
  display: inline;
  height: auto;
  width: 20px;
  height: auto;
  padding: 9px;
}

.facebook {
  background: url(../images/facebook.png) no-repeat center;
  padding: 10px;
}

.facebook:hover {
  background: url(../images/facebook_hover.png) no-repeat center;
  padding: 10px;
}

.vimeo {
  background: url(../images/vimeo.png) no-repeat center;
  padding: 10px;
}

.vimeo:hover {
  background: url(../images/vimeo_hover.png) no-repeat center;
  padding: 10px;
}

.youtube {
  background: url(../images/youtube.png) no-repeat center;
  padding: 10px;
}

.youtube:hover {
  background: url(../images/youtube_hover.png) no-repeat center;
  padding: 10px;
}

.instagram {
  background: url(../images/instagram.png) no-repeat center;
  padding: 10px;
}

.instagram:hover {
  background: url(../images/instagram_hover.png) no-repeat center;
  padding: 10px;
}

.linkedin {
  background: url(../images/linkedin.png) no-repeat center;
  padding: 10px;
}

.linkedin:hover {
  background: url(../images/linkedin_hover.png) no-repeat center;
  padding: 10px;
}

.sticky {
  position: sticky;
  text-align: center;
  margin-bottom: 70px;
}
#animation-container {
  height: 130px; /*Static height so the page does not change on animation load*/
}

#animation-container canvas {
  width: 100%;
  margin-left: -80px;
}
