@charset "UTF-8";
/*__________________________________________________________________________________
___/\/\/\/\/\____/\/\/\/\____/\/\____/\/\__/\/\/\/\/\/\__/\/\/\/\/\/\__/\/\/\/\/\___
_/\/\__________/\/\____/\/\__/\/\____/\/\______/\/\______/\____________/\/\____/\/\_
_/\/\__/\/\/\__/\/\____/\/\____/\/\/\/\________/\/\______/\/\/\/\/\____/\/\/\/\/\___
_/\/\____/\/\__/\/\____/\/\______/\/\__________/\/\______/\/\__________/\/\__/\/\___
___/\/\/\/\/\____/\/\/\/\________/\/\__________/\/\______/\/\/\/\/\/\__/\/\____/\/\_
____________________________________________________________________________________
Z-index Map on main :
container ----------------------- 1
filter R ---------------------- 100
Filter B ---------------------- 101
infos ------------------------- 200
MouseReplacement -------------- 300
____________________________________________________________________________________*/
@import "normalize.css";
:root {
  --glasses1-X: 55%;
  --glasses1-Y: 65%;
  --glasses1-angle: -10deg;
  --glasses1-angle1: -9deg;
  --glasses1-angle2: -11deg;
  --glasses2-X: 56%;
  --glasses2-Y: 67%;
  --glasses2-angle: 1deg;
  --glasses2-angle1: 0deg;
  --glasses2-angle2: 2deg;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  width: 100vw;
  height: 100vh;
  background-color: white;
  overflow: hidden;
}
body {
	touch-action: pan-x pan-y;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: white;
}
main {
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  position: relative;
  display: block !important;
  /* HACK CSS SAFARI */
  transform: translateZ(-1000px);
}
#mouseReplacement {
  pointer-events: none;
  position: absolute;
  z-index: 300 !important;
  width: 60px;
  height: 40px;
  margin-left: -30px;
  margin-top: -20px;
  opacity: 0;
  top: 0;
  left: 0;
  background-color: transparent;
  background-image: url("../imgs/icon-glasses-off.webp");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  overflow: hidden;
  transition: transform ease-out 0.2s, opacity 0.2s;
}
#mouseReplacement.close {
  width: 30px;
  height: 30px;
  margin-left: -15px;
  margin-top: -15px;
  background-color: transparent;
  background-image: url("../imgs/icon-X-w.webp");
  transition: transform ease-out 0.2s, opacity 0.2s;
}
#test {
  /*  display: inline-block;*/
  display: none;
  position: absolute;
  z-index: 100000;
  background-color: #ccc;
  color: #000;
  padding: 20px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
/*_______________________________________________________________________ PRELOADER */
#preloader {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  transform: translateZ(1px);
  background-color: #f3ff68;
  opacity: 1;
}
#preloader.loaded {
  opacity: 0;
  height: 0;
  transition: opacity 0.5s ease-in-out 0.5s, height 0.5s linear 0.3s;
}
#preloader.loaded #sprite-loader {
  opacity: 1;
  height: 0;
  transition: opacity 0.3s ease-in-out, height 0.3s linear;
}
#preloader #sprite-loader {
  width: 120px;
  height: 63px;
  overflow: hidden;
}
#preloader #sprite-loader img {
  animation: preloader 1.5s steps(24, end) infinite;
}
@keyframes preloader {
  0% {
    transform: translateY(0%)
  }
  100% {
    transform: translateY(-100%);
  }
}
/*_______________________________________________________________________ CONTENU */
/* SAFARI HACK/> ||||||||||||||||||||||*/
#container {
  z-index: 1 !important;
  transform-origin: 50% 50%;
  height: 130%;
  width: 130%;
  background-image: linear-gradient(160deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.01) 40%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0.9) 100%), url(../imgs/bg-01.webp);
  background-size: contain;
  background-position: center;
  background-repeat: repeat;
  mix-blend-mode: normal;
  transition: all 1s ease-in-out;
  top: 50%;
  left: 50%;
  position: absolute;
  display: block;
  perspective-origin: center;
  transform: translate(-50%, -50%);
}
#not_safari #container {
  transform: translate(-50%, -50%) perspective(2000px) rotateX(20deg);
}
#not_safari #container.see {
  transform: translate(-50%, -48%) perspective(2000px) rotateX(0deg);
  height: 200%;
  width: 200%;
}
#safari_HACK #container {
  height: 100%;
  width: 100%;
  transform: translate(-50%, -50%);
}
#safari_HACK #container.see {
  transform: translate(-50%, -50%);
  height: 200%;
  width: 200%;
}
/* </SAFARI HACK ||||||||||||||||||||||*/
#logo {
  cursor: pointer;
  z-index: 202;
  position: absolute;
  top: 10%;
  left: 15%;
  height: 15%;
  aspect-ratio: 1/1;
}
#logo a {
  display: block;
  position: relative;
  height: 100%;
  width: 100%;
}
#logo a > img {
  z-index: 2;
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  transform: rotate(-21deg);
  transition: all 0.3s ease-in-out;
  filter: drop-shadow(1px 2px 0px #404401) drop-shadow(0px 2px 3px #000);
}
#logo a span {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 60%;
  width: 45%;
  background-color: #0F0;
  background-image: url("../imgs/ribbon.webp");
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
  filter: drop-shadow(1px 2px 0px #440101) drop-shadow(0px 2px 3px #000);
}
#logo a span > img {
  width: 75%;
  height: auto;
  align-self: flex-end;
  margin-bottom: 15%;
}
#logo:hover a > img {
  transform: rotate(0deg);
}
#logo:hover a span {
  transform: translate(-50%, 45%) translateZ(0);
}
#pencil {
  z-index: 200;
  width: auto;
  height: 2.5%;
  filter: drop-shadow(0px 6px 4px #000);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(55%, -600%) rotate(15deg);
}
#HNY {
  z-index: 100;
  display: inline-block;
  position: absolute;
  height: 60%;
  width: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%) rotate(2deg);
  filter: drop-shadow(1px 2px 0px #525252) drop-shadow(0px 2px 4px #000);
  background-color: #fff;
  will-change: opacity;
}
#postit {
  display: block;
  position: absolute;
  top: 0;
  right: 5%;
  width: 150px;
  aspect-ratio: 1/1;
  background: no-repeat bottom left url(../imgs/postit.webp);
  background-size: contain;
  filter: drop-shadow(1px 1px 0px #6B7625) drop-shadow(0px 2px 4px #000);
  transform: translate(0, 0) rotate(-5deg);
  z-index: 1000;
  line-height: 100%;
  transition: all 0.4s ease-in-out;
}
/* SAFARI HACK/> ||||||||||||||||||||||*/
#safari_HACK #postit {
  top: -6%;
  right: -3%;
}
/* />SAFARI HACK ||||||||||||||||||||||*/
#postit:hover {
  transform: translate(-10%, 12%) rotate(1deg);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
#postit img {
  width: 20px;
  height: auto;
  display: block;
  float: left;
  margin: 65% 0 0 10%;
}
#infos {
  pointer-events: none;
  cursor: none;
  z-index: 99;
  width: 100%;
  height: 100%;
  aspect-ratio: 1104/1998;
  position: absolute;
  top: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.9);
  opacity: 0;
  transition: opacity 0.3s ease-in-out 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
#infos img {
  cursor: none;
  opacity: 0;
  width: auto;
  height: 65%;
  filter: drop-shadow(1px 2px 0px #6B7625) drop-shadow(0px 2px 4px #000);
  transform: translate(400%, 0) rotate(15deg);
  transition: all 0.3s ease-in-out;
}
#infos.infosvisible {
  pointer-events: auto;
  opacity: 1;
  transition: opacity 0.6s ease-in-out;
}
#infos.infosvisible img {
  opacity: 1;
  transform: translate(0, 0) rotate(-1deg);
  transition: all 0.3s ease-in-out 0.3s;
}
.glasses {
  cursor: pointer;
  display: block;
  position: absolute;
  height: 7%;
  aspect-ratio: 664/163;
  top: 50%;
  left: 50%;
  background-color: transparent;
  filter: drop-shadow(0px 1px 2px #000);
  transform-origin: 0 0 !important;
}
.glasses .wrapper {
  position: relative;
  height: 100%;
  width: 100%;
  background-color: transparent;
}
.glasses .wrapper img {
  position: absolute;
  display: block;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  background-color: transparent;
}
.glasses .wrapper .verre {
  position: absolute;
  width: 28%;
  height: 75%;
  top: 10%;
  left: 6%;
  opacity: 65%;
}
.glasses .wrapper .verre:nth-child(2) {
  left: inherit;
  right: 23%;
}
.glasses#blue {
  z-index: 13;
  left: var(--glasses1-X);
  top: var(--glasses1-Y);
  transform: rotate(var(--glasses1-angle));
  transition: all 0.3s ease-in-out;
}
.glasses#blue:hover {
  transform: rotate(var(--glasses1-angle)) translateX(5%);
}
.glasses#blue .wrapper img {
  z-index: 12;
}
.glasses#blue .wrapper .verre {
  background-color: #000084;
  z-index: 11;
}
.glasses#red {
  left: var(--glasses2-X);
  top: var(--glasses2-Y);
  z-index: 3;
  transform: rotate(var(--glasses2-angle));
  transition: all 0.3s ease-in-out;
}
.glasses#red:hover {
  transform: rotate(var(--glasses2-angle)) translateX(5%);
}
.glasses#red .wrapper img {
  z-index: 2;
}
.glasses#red .wrapper .verre {
  background-color: #8A0002;
  z-index: 1;
}
.glasses.anim#blue {
  animation: anim-glasses1-mouse 0.6s ease-in-out infinite;
}
@keyframes anim-glasses1-mouse {
  25% {
    transform: rotate(var(--glasses1-angle1));
  }
  75% {
    transform: rotate(var(--glasses1-angle2));
  }
}
.glasses.anim#red {
  animation: anim-glasses-mouse2 0.6s ease-in-out infinite;
}
@keyframes anim-glasses-mouse2 {
  25% {
    transform: rotate(var(--glasses2-angle1));
  }
  75% {
    transform: rotate(var(--glasses2-angle2));
  }
}
/*_______________________________________________________________________ FILTER */
#glasses-zoom {
  z-index: 200;
  position: absolute;
  background-color: transparent !important;
  aspect-ratio: 3000/1372;
  top: 50%;
  left: 50%;
  width: 100%;
  transform-origin: center;
  perspective-origin: center;
  transform: translate(-50%, 110%) translateZ(11000px);
  opacity: 0;
  display: none;
  pointer-events: none;
  filter: blur(20px);
}
#glasses-zoom .wrapper {
  height: 100%;
  width: 100%;
  position: relative;
}
#glasses-zoom .wrapper div, #glasses-zoom.blue .wrapper div {
  position: absolute;
  z-index: 1;
  height: 80%;
  width: 38%;
  top: 10%;
  left: 0;
  opacity: 0.35;
}
#glasses-zoom.blue .wrapper div {
  background-color: #00f;
}
#glasses-zoom.red .wrapper div {
  background-color: #f00;
}
#glasses-zoom .wrapper div:nth-child(2) {
  left: inherit;
  right: 0;
}
#glasses-zoom img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: auto;
}
#filter-red, #filter-blue {
  cursor: none;
  position: absolute;
  z-index: 100;
  background-color: rgba(255, 0, 0, 1);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  display: none;
  opacity: 0;
}
#filter-blue {
  z-index: 101;
  background-color: rgba(0, 0, 255, 1);
}
#glasses-zoom.enter {
  pointer-events: none;
  display: block;
  opacity: 0;
  width: 100%;
  transform-origin: center;
  perspective-origin: center;
  animation: glasses-enter 1s ease-in-out;
}
#filter-red.enter, #filter-blue.enter {
  display: block;
  opacity: 1;
  animation: filter-enter 1s ease-in-out;
}
@keyframes glasses-enter {
  0% {
    display: block;
    opacity: 1;
    transform: translate(-50%, 110%) translateZ(10000px);
  }
  40% {
    display: block;
    opacity: 1;
    transform: translate(-50%, -45%) translateZ(10000px);
  }
  80% {
    display: block;
    opacity: 1;
    transform: translate(-50%, -45%) translateZ(10000px) scale(3);
  }
  100% {
    display: block;
    opacity: 0;
    transform: translate(-50%, -45%) translateZ(10000px) scale(3);
  }
}
@keyframes filter-enter {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
}
#glasses-zoom.out {
  display: block;
  animation: glasses-out 1s ease-in-out;
  /* HACK Safari */
  transform: translateZ(10000px);
}
#filter-red.out, #filter-blue.out {
  animation: filter-out 1s ease-in-out;
  display: block;
  top: -500%;
  opacity: 0.5;
  pointer-events: none;
}
@keyframes glasses-out {
  0% {
    display: block;
    opacity: 0;
    transform: translate(-50%, -45%) scale(3);
  }
  35% {
    opacity: 1;
    transform: translate(-50%, -45%) scale(3);
  }
  70% {
    display: block;
    opacity: 1;
    transform: translate(-50%, -45%) scale(1);
  }
  100% {
    transform: translate(-50%, 110%) scale(1);
    opacity: 0;
  }
}
@keyframes filter-out {
  0% {
    top: 0;
    opacity: 1;
  }
  20% {
    top: 0;
    opacity: 0.5;
  }
  21% {
    top: -500%;
  }
}
@media only screen and (max-width: 700px) {
  :root {
    --glasses1-X: 39%;
    --glasses1-Y: 63%;
    --glasses1-angle: 32deg;
    --glasses1-angle1: 31deg;
    --glasses1-angle2: 33deg;
    --glasses2-X: 37%;
    --glasses2-Y: 64%;
    --glasses2-angle: 42deg;
    --glasses2-angle1: 43deg;
    --glasses2-angle2: 41deg;
  }
  #pencil {
    height: 2%;
    transform: translate(60%, -600%) rotate(15deg);
  }
  #HNY {
    height: 50%;
    transform: translate(-50%, -60%) rotate(2deg);
  }
  .glasses {
    height: 6%;
  }
  #not_safari #container {
    transform: translate(-50%, -50%) perspective(2000px) rotateX(20deg);
  }
  #not_safari #container.see {
    height: 180%;
    width: 180%;
    transform: translate(-50%, -48%) perspective(2000px) rotateX(0deg);
  }
  #safari_HACK #container {
    height: 100%;
    width: 100%;
  }
  #safari_HACK #container.see {
    height: 170%;
    width: 170%;
  }
  #safari_HACK #logo {
    left: 5%;
    top: 5%;
  }
  #safari_HACK #postit {
    width: 120px;
  }
  #safari_HACK #postit img {
    width: 15px;
    display: block;
    float: left;
    margin: 65% 0 0 15%;
  }
}
/* SAFARI HACK/> ||||||||||||||||||||||*/ /* </SAFARI HACK ||||||||||||||||||||||*/