@charset "UTF-8";
.main-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 1rem;
  position: relative;
  gap: 20px;
}

.site-title {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
}

.menu-toggle {
  cursor: pointer;
  background: none;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  z-index: 9999;
  right: 1rem;
  top: 1rem;
  width: 50px;
  height: 50px;
  position: relative;
}

.menu-toggle .line {
  width: 40px;
  height: 3px;
  background-color: #000;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.menu-toggle.active .line:nth-child(1) {
  -webkit-transform: rotate(45deg) translate(5px, 5px);
          transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active .line:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active .line:nth-child(3) {
  -webkit-transform: rotate(-45deg) translate(5px, -5px);
          transform: rotate(-45deg) translate(5px, -5px);
}

/* Menu déroulant */
.nav-menu {
  display: none;
  max-height: 0;
  overflow: hidden;
  position: absolute;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 40px;
  background-color: #FFF5E9;
  width: 100%;
}

.nav-menu.active {
  min-height: 900px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* Style de base pour chaque élément de la liste */
.nav-menu li {
  font-size: 44px;
  font-weight: 400;
  line-height: 0;
  width: auto;
  text-align: center;
  padding-top: 130px;
}

/* CSS de base pour les liens du menu */
.nav-menu li a, #MenuStudio, #MenuKoukaki {
  display: block;
  width: 100%;
  text-align: center;
  font-size: inherit;
  opacity: 0; /* Invisible par défaut */
  -webkit-transform: translateY(50px);
          transform: translateY(50px); /* Position décalée pour l'effet de glissement */
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out; /* Transition douce */
}

/* Lorsque la classe .visible est ajoutée, l'animation slideUp est déclenchée */
.nav-menu.active li a, #MenuStudio, #MenuKoukaki {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0); /* Retourne à la position d'origine */
}

/* Réglages divers */
.lieuHover {
  color: #000;
  text-decoration: none;
}

.MenuHover:hover {
  text-shadow: 0 0 15px #FF5C00;
}

.LienMenu {
  color: #000;
  margin-top: 0;
  font-size: 16px;
  text-align: center;
}

.menu-logo {
  width: 200px;
  position: absolute;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.menu-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: -webkit-filter 0.3s ease, -webkit-transform 0.3s ease;
  transition: -webkit-filter 0.3s ease, -webkit-transform 0.3s ease;
  transition: filter 0.3s ease, transform 0.3s ease;
  transition: filter 0.3s ease, transform 0.3s ease, -webkit-filter 0.3s ease, -webkit-transform 0.3s ease;
}

.menu-logo img:hover {
  -webkit-filter: drop-shadow(0 4px 15px rgba(255, 92, 0, 0.6));
          filter: drop-shadow(0 4px 15px rgba(255, 92, 0, 0.6));
}

#primary-menu {
  margin: 20px 0 0 -14px;
}

/* Images dans le menu */
.MenuImages {
  display: none;
  text-align: center;
  background-color: #FFF5E9;
  padding: 1rem;
  width: 100%;
  position: absolute;
  top: 60px;
  left: 0;
  z-index: 0;
}

/* Affiche les images lorsque le menu est actif */
.nav-menu.active + .MenuImages {
  display: block;
}

/* Affiche les images lorsque le menu est actif */
.nav-menu.active + .MenuImages {
  display: block;
}

.float {
  opacity: 1;
  -webkit-animation: fadeIn 2s ease-in-out forwards, floatSmooth 6s cubic-bezier(0.42, 0, 0.58, 1) infinite;
          animation: fadeIn 2s ease-in-out forwards, floatSmooth 6s cubic-bezier(0.42, 0, 0.58, 1) infinite;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.MenuHibiscus, .MenuSunflower, .MenuOrchid, .MenuFlower, .MenuRandomFlower {
  -webkit-animation: rotate 7s linear infinite;
          animation: rotate 7s linear infinite;
}

.rotate {
  -webkit-animation: rotate 7s linear infinite;
          animation: rotate 7s linear infinite;
}

.BlueCat {
  position: absolute;
  top: 150px;
  left: 380px;
  width: 150px;
}

.GreyCat {
  position: absolute;
  top: 450px;
  left: 1180px;
}

.OrangeCat {
  position: absolute;
  top: 700px;
  left: 110px;
}

.MenuHibiscus {
  position: absolute;
  top: 600px;
  left: 1200px;
  width: 500px;
}

.MenuSunflower {
  position: absolute;
  top: 50px;
  left: 1040px;
  width: 200px;
}

.MenuFlower {
  position: absolute;
  top: 480px;
  left: 220px;
  width: 90px;
}

.MenuRandomFlower {
  position: absolute;
  top: 250px;
  left: 1390px;
  width: 90px;
}

.MenuOrchid {
  position: absolute;
  top: 40px;
  left: -60px;
  width: 180px;
}

.banner {
  position: relative;
  height: 100vh;
  overflow: visible;
  z-index: 200;
}
.banner .video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: visible;
  z-index: 1;
}
.banner .logo {
  position: absolute;
  min-width: 780px;
  top: 25%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(0);
          transform: translateX(-50%) translateY(0);
  z-index: 9999;
  -webkit-transition: top 0.3s ease-out;
  transition: top 0.3s ease-out;
  will-change: top;
  overflow: visible;
}

#story {
  overflow: hidden;
}

.story {
  overflow: hidden;
}

.mainSections {
  overflow: hidden;
}

/* Keyframes pour fadeIn et glissement */
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* Fade in un à un avec glissement */
.banner,
.logo,
.story,
#studio,
.nomination,
.site-footer {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  -webkit-transition: opacity 2s ease-in-out, -webkit-transform 2s ease-in-out;
  transition: opacity 2s ease-in-out, -webkit-transform 2s ease-in-out;
  transition: opacity 2s ease-in-out, transform 2s ease-in-out;
  transition: opacity 2s ease-in-out, transform 2s ease-in-out, -webkit-transform 2s ease-in-out;
}
.banner.visible,
.logo.visible,
.story.visible,
#studio.visible,
.nomination.visible,
.site-footer.visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* Animation spécifique à la bannière (glissement vers le bas) */
.banner.visible {
  -webkit-animation: fadeInDown 2s ease-in-out forwards;
          animation: fadeInDown 2s ease-in-out forwards;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.logo.visible {
  -webkit-animation: fadeInUp 2s ease-in-out forwards;
          animation: fadeInUp 2s ease-in-out forwards;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.story.visible {
  -webkit-animation: fadeInUp 2s ease-in-out forwards;
          animation: fadeInUp 2s ease-in-out forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

#studio.visible {
  -webkit-animation: fadeInUp 2s ease-in-out forwards;
          animation: fadeInUp 2s ease-in-out forwards;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.nomination.visible {
  -webkit-animation: fadeInUp 3s ease-in-out forwards;
          animation: fadeInUp 3s ease-in-out forwards;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
  opacity: 1;
}

.site-footer .visible {
  -webkit-animation: fadeInUp 4s ease-in-out forwards;
          animation: fadeInUp 4s ease-in-out forwards;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}

/* Animation de rotation pour les fleurs */
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.story__article::after,
.site-footer ul::after {
  -webkit-animation: rotate 7s linear infinite;
          animation: rotate 7s linear infinite;
}

.story__article::after {
  background-image: url("http://koukaki2.local/wp-content/uploads/2024/10/Hibiscus.png");
  -webkit-animation-duration: 5s;
          animation-duration: 5s;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
}

.site-footer ul::after {
  background-image: url("http://koukaki2.local/wp-content/uploads/2024/10/hibiscus_footer.png");
}

.story h2::after {
  content: "";
  display: block;
  width: 200px;
  height: 200px;
  background-image: url("http://koukaki2.local/wp-content/uploads/2024/10/Sunflower.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 18px;
  border-radius: 50%;
  -webkit-animation: rotate 7s linear infinite;
          animation: rotate 7s linear infinite;
}

#studio h2::after {
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  background-image: url("http://koukaki2.local/wp-content/uploads/2024/10/flower.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 80px;
  left: 1325px;
  border-radius: 50%;
  -webkit-animation: rotate 7s linear infinite;
          animation: rotate 7s linear infinite;
}

#studio h2::before {
  content: "";
  display: block;
  width: 200px;
  height: 200px;
  background-image: url("http://koukaki2.local/wp-content/uploads/2024/10/random_flower.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 10px;
  left: -75px;
  border-radius: 50%;
  -webkit-animation: rotate 7s linear infinite;
          animation: rotate 7s linear infinite;
}

.site-footer::before {
  content: "";
  display: block;
  width: 200px;
  height: 200px;
  background-image: url("http://koukaki2.local/wp-content/uploads/2024/10/Sunflower.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 120px;
  left: 135px;
  border-radius: 50%;
  z-index: 2000;
  -webkit-animation: rotate 7s linear infinite;
          animation: rotate 7s linear infinite;
}

.site-footer::after {
  content: "";
  display: block;
  width: 200px;
  height: 200px;
  background-image: url("http://koukaki2.local/wp-content/uploads/2024/10/orchid.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 1320px;
  border-radius: 50%;
  z-index: 2000;
  -webkit-animation: rotate 7s linear infinite;
          animation: rotate 7s linear infinite;
}

.nomination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 400px;
  z-index: -100;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* Définition de l'animation slideUp */
@-webkit-keyframes slideUp {
  from {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slideUp {
  from {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
/* Mixin pour l'animation et la transition */
/* Application aux éléments de front-page */
#histoire-h2,
#studio-h2,
#koukaki-h2,
#personnages,
#lieu {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#histoire-h2.visible,
#studio-h2.visible,
#koukaki-h2.visible,
#personnages.visible,
#lieu.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

/* Application aux éléments du menu */
#menu-histoire,
#menu-persos,
#menu-lieu,
#menu-studio,
#menu-koukaki {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#menu-histoire.visible,
#menu-persos.visible,
#menu-lieu.visible,
#menu-studio.visible,
#menu-koukaki.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

/* Front-page */
#histoire-h2.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#histoire-h2.visible.visible {
  -webkit-animation: slideUp 2s ease-out forwards;
          animation: slideUp 2s ease-out forwards;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

#personnages.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#personnages.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

#lieu.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#lieu.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

#studio-h2.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#studio-h2.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

#koukaki-h2.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#koukaki-h2.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

/* Menu */
#menu-histoire.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#menu-histoire.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

#menu-persos.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#menu-persos.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 1.7s;
          animation-delay: 1.7s;
}

#menu-lieu.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#menu-lieu.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

#menu-studio.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#menu-studio.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

#menu-koukaki.visible {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#menu-koukaki.visible.visible {
  -webkit-animation: slideUp 1s ease-out forwards;
          animation: slideUp 1s ease-out forwards;
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}

/* Animation de flottement initial pour le logo */
@-webkit-keyframes floatSmooth {
  0% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  20% {
    -webkit-transform: translate(-48%, 8px);
            transform: translate(-48%, 8px);
  }
  40% {
    -webkit-transform: translate(-52%, 15px);
            transform: translate(-52%, 15px);
  }
  60% {
    -webkit-transform: translate(-50%, 10px);
            transform: translate(-50%, 10px);
  }
  80% {
    -webkit-transform: translate(-49%, 5px);
            transform: translate(-49%, 5px);
  }
  100% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@keyframes floatSmooth {
  0% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  20% {
    -webkit-transform: translate(-48%, 8px);
            transform: translate(-48%, 8px);
  }
  40% {
    -webkit-transform: translate(-52%, 15px);
            transform: translate(-52%, 15px);
  }
  60% {
    -webkit-transform: translate(-50%, 10px);
            transform: translate(-50%, 10px);
  }
  80% {
    -webkit-transform: translate(-49%, 5px);
            transform: translate(-49%, 5px);
  }
  100% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
.banner .logo {
  position: absolute;
  top: 25%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
  -webkit-transition: opacity 2s ease-in-out, top 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  transition: opacity 2s ease-in-out, top 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  transition: opacity 2s ease-in-out, transform 0.5s ease-in-out, top 0.5s ease-in-out;
  transition: opacity 2s ease-in-out, transform 0.5s ease-in-out, top 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
}
.banner .logo.visible {
  opacity: 1;
  -webkit-animation: fadeIn 2s ease-in-out forwards, floatSmooth 8s cubic-bezier(0.42, 0, 0.58, 1) infinite;
          animation: fadeIn 2s ease-in-out forwards, floatSmooth 8s cubic-bezier(0.42, 0, 0.58, 1) infinite;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.swiper-container {
  width: 100%;
  height: 300px;
  overflow: visible;
  margin-top: 60px;
  max-width: 100%;
}

.swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
}

.swiper-slide img {
  width: 300px;
  max-width: 300px;
  height: auto;
  border-radius: 10px;
}

#place {
  background-image: url("http://koukaki2.local/wp-content/uploads/2024/10/Studio_Koukaki-image_place.png") !important;
  width: 100%;
  min-height: 699px;
  background-size: cover;
  position: relative;
  overflow: visible;
  /* Ajout des nuages */
}
#place .cloud {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 100;
  -webkit-filter: blur(20px);
          filter: blur(20px);
}
#place .cloud.big-cloud {
  background-image: url("http://koukaki2.local/wp-content/themes/foce-child/assets/images/big_cloud.png") !important;
  width: 400px;
  height: 122px;
  top: 65px;
  left: 1020px;
  z-index: 101;
}
#place .cloud.little-cloud {
  background-image: url("http://koukaki2.local/wp-content/themes/foce-child/assets/images/little_cloud.png") !important;
  width: 250px;
  height: 55px;
  top: 280px;
  left: 750px;
  z-index: 102;
}

#colophon {
  height: 800px;
  padding-top: 100px;
}

.nomination {
  margin-top: 100px;
  height: 200px;
}

.site-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.MenuFooter {
  height: 140px;
  margin-bottom: 0;
  margin-top: 150px;
}

@media only screen and (max-width: 768px) {
  /* Cacher la vidéo sur mobile */
  .video-background {
    display: none;
  }
  /* Ajuster l'image de fallback pour qu'elle s'adapte uniquement à la largeur de l'écran */
  .fallback-image {
    position: relative;
    width: 500px !important;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    z-index: 10;
  }
  /* Ajuster la section banner */
  .banner {
    position: relative;
    height: auto;
    overflow: hidden;
    min-height: 200px;
  }
  .nav-menu li {
    font-size: 34px;
    font-weight: 400;
    line-height: 0;
    width: auto;
    text-align: center;
    padding-top: 130px;
  }
  /* Ajuster le logo sur mobile */
  .logo {
    position: absolute;
    width: 400px !important;
    max-width: 150px !important;
    min-width: unset !important;
    top: 50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 11;
    opacity: 1;
    -webkit-transition: opacity 2s ease-in-out;
    transition: opacity 2s ease-in-out;
  }
  .video-overlay-content h1 {
    opacity: 0;
  }
  .story h2::after {
    display: none;
  }
}