@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Gabriela&display=swap');

:root {
  font-family: Arial;

  --global-padding-left: 2vw;
}

span, p {
  font-family: "Gabriela", serif;
  font-weight: 400;
  font-style: normal;
}

h1,h2,h3,h4,h5 {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

h2 {
  font-size: max(3.5vw, 46px);
  font-weight: 700;
}

h3 {
  font-size: max(2.8vw, 38px);
  font-weight: 500;
}

h4 {
  font-size: max(2.1vw, 28px);
  font-weight: 400;
}

html {
  max-width: 100vw;
  width: 100vw;

  overflow-x: hidden;
}

body {
  background-image: url("/assets/OPTIMIZED/background.webp");
  background-color: black;
  background-size: cover;
  background-position: 40% 0%;
  background-repeat: no-repeat;
  min-height: 100vh;
  max-width: 100vw;
  width: 100vw;
  
  box-shadow: inset 1px 1px 5vw 5vh rgba(0,0,0, 0.8);

  padding: 0;
  margin: 0;
  padding-left: var(--global-padding-left);
  overflow-x: hidden;

  @media only screen and (orientation: portrait) {
    box-shadow: inset 1px 1px 5vh 5vw rgba(0,0,0, 0.8);
  }

  @media only screen and (min-aspect-ratio: 2) and (orientation: landscape) {
    background-position: 43% -30vh;
  }

  @media only screen and (min-width: 1280px) and (orientation: landscape) {
    box-shadow: inset 1px 1px 13vw 13vh rgba(0,0,0, 0.8);
  }
}

.perso {
  background-size: contain;
  background-repeat: no-repeat;
}

.perso.volibulle {
  position: absolute;
  background-position: left bottom;
  background-image: url("/assets/OPTIMIZED/volibulle.webp");
  z-index: 4;

  width: 350px;
  height: 450px;
  left: 17vw;
  bottom: 8vh;
  z-index: 4;


  @media only screen and (max-width: 1300px) and (orientation: landscape) {
    left: 15vw;
  }

  /* size medias */
  @media only screen and (min-width: 1800px) and (min-height: 1060px) and (orientation: landscape) {
    width: 450px;
    height: 550px;
  }

  @media only screen and (max-width: 1150px) and (max-height: 750px) and (orientation: landscape) {
    width: 280px;
    height: 380px;
    bottom: 9vh;
  }

  @media only screen and (min-aspect-ratio: 2) and (max-width: 1800px) and (max-height: 1060px)  and (orientation: landscape) {
    width: 200px;
    height: 300px;
    bottom: initial;
    left: 5vw;
  }
  
  @media only screen and (max-aspect-ratio: 2) and (orientation: portrait) {
    width: 230px;
    height: 320px;
    left: 0vw;
    bottom: initial;
  }

  @media only screen and (max-aspect-ratio: 0.6) and (orientation: portrait) {
    width: 150px;
    height: 250px;
    left: -15vw;
    bottom: initial;
  }

  @media only screen and (min-width: 2000px) and (orientation: landscape) {
    width: 20vw;
    height: 50vh;
    left: 18vw;
    bottom: initial;
    top: 42vh;
  }
  /* end size medias */
}

.perso.coquelouche {
  position: absolute;
  background-position: right bottom;
  background-image: url("/assets/OPTIMIZED/coquelouche.webp");

  width: 350px;
  height: 450px;
  right: 17vw;
  bottom: 9vh;
  z-index: 4;

  /* size medias */
  @media only screen and (min-width: 1800px) and (min-height: 1060px) and (orientation: landscape) {
    width: 450px;
    height: 550px;
  }

  @media only screen and (max-width: 1150px) and (max-height: 750px) and (orientation: landscape) {
    width: 280px;
    height: 380px;
    bottom: 9vh;
  }

  @media only screen and (min-aspect-ratio: 2) and (max-width: 1800px) and (max-height: 1060px)  and (orientation: landscape) {
    width: 200px;
    height: 300px;
    bottom: initial;
    right: 5vw;
  }

  @media only screen and (max-aspect-ratio: 2) and (orientation: portrait) {
    width: 230px;
    height: 320px;
    right: 0vw;
    bottom: initial;
  }

  @media only screen and (max-aspect-ratio: 0.6) and (orientation: portrait) {
    width: 150px;
    height: 250px;
    right: -10vw;
    bottom: initial;
  }

  @media only screen and (min-width: 2000px) and (orientation: landscape) {
    width: 20vw;
    height: 50vh;
    right: 18vw;
    bottom: initial;
    top: 42vh;
  }
  /* end size medias */

}

.perso.petite-fille {
  position: absolute;
  background-position: left bottom;
  background-image: url("/assets/OPTIMIZED/petite_fille.webp");
  z-index: 100;

  width: 180px;
  height: 250px;
  left: 28vw;
  bottom: 10vh;
  z-index: -1;
  
  /* size medias */
  @media only screen and (min-width: 1800px) and (min-height: 1060px) and (orientation: landscape) {
    width: 230px;
    height: 300px;
  }

  @media only screen and (max-width: 1150px) and (max-height: 750px) and (orientation: landscape) {
    width: 150px;
    height: 220px;
    bottom: 12vh;
  }

  @media only screen and (min-aspect-ratio: 2) and (max-width: 1800px) and (max-height: 1060px) and (orientation: landscape) {
    width: 130px;
    height: 200px;
    bottom: initial;
    left: 18vw;
  }

  @media only screen and (max-aspect-ratio: 2) and (orientation: portrait) {
    width: 130px;
    height: 180px;
    left: 15vw;
    bottom: initial;
  }

  @media only screen and (max-aspect-ratio: 0.6) and (orientation: portrait) {
    width: 100px;
    height: 130px;
    left: 4vw;
    bottom: initial;
  }

  @media only screen and (min-width: 2000px) and (orientation: landscape) {
    width: 10vw;
    height: 30vh;
    right: 18vw;
    bottom: initial;
    top: 60vh;
  }
  /* end size medias */
}
.deco-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("/assets/revarium_deco.svg");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  height: min(100%, 85vh);
  width: 112vw;

  overflow:hidden;
  pointer-events: none;

  filter: drop-shadow(8px 10px 10px rgb(0 0 0 / 0.4));
  z-index: 2;
}
.fanion {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: min(100%, 85vh);
  width: 112vw;
  background-image: url("/assets/OPTIMIZED/fanions.webp");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  top: -12vw;
  z-index: 1;
  pointer-events: none;

  @media only screen and (min-width: 1280px) and (orientation: landscape) {
    background-image: url("/assets/OPTIMIZED/fanions-cut.webp");
    top: -4vh;
    background-repeat: repeat-x;
    background-position: top left;
    background-size: 30%;
  }
}
.dynamic-date {
  position: absolute;
  top: 33vh;
  left: 50%;
  transform: translateX(-50%);

  font-weight: 700;
  color: white;
  text-shadow: 4px 4px 8px rgba(0,0,0, 0.7);
  z-index: 4;

  @media only screen and (max-width: 750px) {
    width: 100%;
  }

  @media only screen and (min-aspect-ratio: 2) and (orientation: landscape) {
    top: 50vh;
  }

  @media only screen and (orientation: portrait) {
    top : 20vh;
  }

  @media only screen and (min-width: 1280px) and (orientation: landscape) {
    top: 38vh;
  }

  h3 {
    font-size: max(4vw, 42px);

    @media only screen and (max-aspect-ratio: 1/1.5) and (min-aspect-ratio: 1/1.9) and (max-width: 600px) and (orientation: portrait) {
      font-size: max(4vw, 32px);
    }
    @media only screen and (orientation: portrait) and (max-aspect-ratio: 1/2) {
      font-size: max(4vw, 30px);
    }
  }
}
.date {
  text-align: center;

  @media only screen and (max-aspect-ratio: 1/2.1) and (orientation: portrait) {
    margin-top: 0vh;
  }
  span:not(.sub) {
    font-family: "Playfair Display", serif;
    font-weight: 700;
  }
  .sub {
    font-weight: 300;
  }
}
.description {
  position: absolute;
  color: white;

  top: 85vh;

  @media only screen and (min-aspect-ratio: 2) and (orientation: landscape) {
    top : 110vh;
  }

  @media only screen and (orientation: portrait) {
    top : 45vh;
  }

  p {
    font-size: max(1.8vw, 24px);
    padding: 0;
    margin: 0;
  }

  .description-text {
    background-color: rgba(0,0,0,0.5);
    padding: 24px;
    margin-left: calc(var(--global-padding-left)*-1);
  }
}
.next-dates {
  .date {
    text-align: left;
  }
  h2,h3,h4 {
    color: white;
  }
}