/* Reset CSS */

@import url("https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap");

@font-face {
  font-family: "Acorn";
  src: url("font/Acorn-Bold.woff") format("opentype");
  font-weight: bold;
}

@font-face {
  font-family: "Acorn";
  src: url("font/Acorn-Regular.woff") format("opentype");
  font-weight: 300;
}

/* Ajoutez d'autres variantes ici */

/* Remise à zéro des marges et des paddings */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

/* Remise à zéro de la taille de police */
body {
  font-size: 16px;
}

/* Remise à zéro des styles de liste */
ul,
ol {
  list-style: none;
}

/* Remise à zéro des styles de lien */
a {
  text-decoration: none;
  color: inherit;
}

/* Remise à zéro des styles de formulaire */
button,
input,
select,
textarea {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  outline: none;
}

/* Remise à zéro des styles de tableau */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Remise à zéro des styles d'image */
img {
  max-width: 100%;
  height: auto;
}

:is(article, aside, nav, section) h1 {
  font-size: inherit; /* Ajustez la taille si nécessaire */
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* -----------------------------HOME */

:root {
  --acorn-font: "Acorn", sans-serif;
  --bleu: #0051ca;
  --LMJ: #dc8809;
  --AIE: #98ac8d;
  --BIOM: #b76235;
  --DYOT: #e20505;
  --BRIK: #22609f;
  --WHO: #998a68;
  --FINL: #967aa7;
  --ANTH: #748635;
  --EQUI: #3d3d3d;
  --gris: #bebebe;
}

.LMJ {
  color: var(--LMJ);
}

.AIE {
  color: var(--AIE);
}

.BIOM {
  color: var(--BIOM);
}

.DYOT {
  color: var(--DYOT);
  stroke: var(--DYOT);
}

.BRIK {
  color: var(--BRIK);
}

.WHO {
  color: var(--WHO);
}

.FINL {
  color: var(--FINL);
}

.ANTH {
  color: var(--ANTH);
}

.EQUI {
  color: var(--EQUI);
}

/* -----------------------------HOME couleur contour*/
.color-bleu {
  --text-stroke-color: var(--color-bleu);
}

.color-LMJ {
  --text-stroke-color: var(--LMJ);
}

.color-AIE {
  --text-stroke-color: var(--AIE);
}

.color-BIOM {
  --text-stroke-color: var(--BIOM);
}

.color-DYOT {
  --text-stroke-color: var(--DYOT);
}

.color-BRIK {
  --text-stroke-color: var(--BRIK);
}

.color-WHO {
  --text-stroke-color: var(--WHO);
}

.color-FINL {
  --text-stroke-color: var(--FINL);
}

.color-ANTH {
  --text-stroke-color: var(--ANTH);
}

.color-EQUI {
  --text-stroke-color: var(--EQUI);
}

/* -----------------------------HOME */

.home {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.title__home {
  font-size: 6rem;
  font-weight: 300;
  margin-bottom: 1rem;
  font-family: var(--acorn-font);
  color: transparent;
  -webkit-text-stroke: 1.5px var(--gris);
  text-stroke: 1.5px var(--gris);
}

.nav__title {
  font-size: 1.5rem;
  font-family: var(--acorn-font);
  white-space: nowrap;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: end;
  font-family: var(--acorn-font);
  font-size: 1.5rem;
  transition: 0.3s;
  color: var(--gris);
}

.nav:hover {
  transition: 0.3s;
}

.nav__home {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: end;
  gap: 3rem;
  padding: 1rem 2rem 3rem 2rem;
}

.projet__img {
  width: 25rem;
  height: 30rem;
  object-fit: cover;
}

.projet {
  position: relative;
  overflow: hidden;
}

.projet {
  position: relative;
  overflow: hidden;
}

.projet__img {
  transition: filter 0.4s, transform 0.4s; /* Transition de 0.4s pour le flou */
}

.projet::before {
  content: var(--alt-content, "Projet");
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: rgba(255, 255, 255, 0.5);
  transition: opacity 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  font-size: 2rem;
  font-family: var(--acorn-font);
}

.projet:hover::before {
  opacity: 1;
}

.projet__home {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

#title-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 150px;
  margin-bottom: 4rem;
  transition: all 0.8s ease, opacity 0.8s ease;
}

#title-container.scrolled h1 {
  font-size: 1.5rem;
  transition: font-size 0.8s ease, opacity 0.8s ease;
}

#title-container.scrolled {
  position: absolute;
  top: -80px;
  left: 100px;
  transform: translateY(100px);
  width: auto;
  align-items: flex-start;
  height: auto;
  opacity: 1;
}

#title.scrolled {
  font-size: 1.5rem;
  font-family: var(--acorn-font);
}

.nav__contact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem 3rem 2rem;
  position: sticky;
  top: 0;
  color: var(--gris);
  background-color: white;
  z-index: 100;
}

.contact__ancre {
  font-size: 1.5rem;
  font-family: var(--acorn-font);
  white-space: nowrap;
}

.contact__contain {
  display: flex;
  flex-direction: row;
  gap: 3rem;
}

.contact__title {
  font-size: 1.5rem;
  font-weight: 400;
  font-family: var(--acorn-font);
}

.contact {
  width: 100vw;
  height: 100vh;
  overflow-y: hidden;
}

.contain {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.contain__flex {
  display: flex;
  flex-direction: row;
  gap: 3rem;
}

.body__info {
  display: flex;
  flex-direction: row;
  gap: 3rem;
}

.body__left {
  white-space: nowrap;
}

.body__right {
  white-space: nowrap;
}

.contain__body {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.contain__about {
  display: flex;
  flex-direction: row;
  justify-content: start;
  gap: 3rem;
}

.contain__about {
  width: 100%;
  display: flex;
  justify-content: center;
}

.about {
  display: flex;
  flex-direction: column;
  gap: 7rem;
  position: relative;
}

.contact__mid {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  align-items: end;
}

.contact__right {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: start;
}

.about__main {
  display: flex;
  flex-direction: column;
}

.about__text {
  font-style: italic;
  font-weight: 100;
  font-family: Helvetica, sans-serif;
  color: var(--bleu);
  font-size: 0.8rem;
}

.about__flex-2 {
  display: flex;
  flex-direction: row;
  gap: 3rem;
}

.contact__mid-2 {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  align-items: end;
}

.about__soft {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 10rem;
}

.soft__contain-img {
  display: flex;
  justify-content: center;
  flex-direction: row;
  gap: 3rem;
  margin-right: 6rem;
}

.img__about-juliette {
  width: 19rem;
  height: 24rem;
  object-fit: cover;
  position: fixed;
  top: 210px;
  left: 50px;
}

.contact__text {
  color: var(--bleu);
  font-weight: 100;
  font-style: italic;
  font-family: Helvetica, sans-serif;
  font-size: 0.8rem;
}

.contact__text-info {
  color: var(--bleu);
  font-weight: 100;
  font-family: Helvetica, sans-serif;
  font-size: 0.8rem;
}

.title__about {
  font-size: 0.8rem;
  font-family: Helvetica, sans-serif;
  font-weight: bold;
  color: var(--bleu);
}

li {
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

li.visible {
  opacity: 1 !important;
}

.theme__img img {
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

.theme__img.visible {
  opacity: 1 !important;
}

.about__mid {
  display: flex;
  flex-direction: column;
  font-family: Helvetica, sans-serif;
  align-items: end;
  color: var(--bleu);
}

.about__right {
  display: flex;
  flex-direction: column;
  font-family: Helvetica, sans-serif;
  color: var(--bleu);
}

.about__flex {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.about__flex-title {
  display: flex;
  flex-direction: column;
  gap: 7rem;
}

.return__link {
  display: inline-block;
  background-color: transparent;
  padding: 4rem;
  margin: 3rem;
  color: var(--gris);
}

.return__link {
  transition: background-color 0.2s ease;
}

.return__link .about__return path {
  transition: stroke 0.2s ease;
}

.return__link {
  display: inline-block;
  position: relative;
  padding: 4rem;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s;
}

.return__link:hover {
  animation: bounce 0.6s ease infinite; /* Activer l'animation au hover */
}

.return__link:active,
.return__link:focus {
  animation: bounce-end 0.6s ease forwards; /* Animation qui termine et garde l'état final */
}
@keyframes bounce-end {
  from {
    transform: translateY(-40px);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes bounce {
  0%,
  100% {
    transform: translateY(0); /* Position initiale */
  }
  50% {
    transform: translateY(
      -40px
    ); /* Monte de 20px pour un rebond plus prononcé */
  }
}

.contain__subtitle {
  color: var(--bleu);
  font-family: Helvetica, sans-serif;
  font-size: 1rem;
}

.body__left {
  color: var(--bleu);
  font-family: Helvetica, sans-serif;
  font-weight: 100;
  font-style: italic;
}

.body__right {
  color: var(--bleu);
  font-family: Helvetica, sans-serif;
  font-weight: 700;
}

.theme {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  position: relative;
}

.theme__info-container {
  display: flex;
  flex-direction: row;
  gap: 3rem;
}

.theme__contain-flex {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  position: sticky;
  top: 100px;
}

.theme__left {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 1.7rem;
}

.theme__right {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 2rem;
}

.theme__info-right {
  font-weight: 100;
  font-family: Helvetica, sans-serif;
  width: 320px;
  font-size: 0.8rem;
}

.theme__info-left {
  font-weight: bold;
  font-style: italic;
  font-family: Helvetica, sans-serif;
}

.theme__img {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  width: 850px;
  gap: 0.5rem;
  overflow: hidden;
}

.theme__main {
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  position: relative;
  gap: 3rem;
}

.theme__main img {
  margin: 5px;
  object-fit: cover;
}

.body__flex {
  display: flex;
  flex-direction: row;
  gap: 3rem;
}

.contain__body-left {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 1rem;
}

.contain__body-right {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.BoldItalic {
  font-weight: bold;
  font-style: italic;
}

.acorn {
  font-family: var(--acorn-font);
}

.theme__BigTitle {
  -webkit-text-stroke: 1.5px var(--text-stroke-color, var(--gris));
  color: transparent;
  font-size: 7rem;
  font-family: var(--acorn-font);
  font-weight: 300;
  margin-left: 3rem;
}

.theme-image {
  width: var(--img-width);
  height: var(--img-height);
}

@media (max-width: 768px) {
  .theme-image {
    width: calc(var(--img-width) / 2.5);
    height: auto;
  }
  .projet__img {
    width: 17rem;
    height: 22rem;
  }
  .title__home {
    font-size: 3rem;
    white-space: wrap;
    margin-left: 2rem;
  }
  .nav__home {
    font-size: 1rem;
  }
  .contact__ancre,
  .contact__title {
    font-size: 1rem;
  }
  .contact__contain {
    gap: 1rem;
  }
  .contain__flex {
    flex-direction: column;
    gap: 3rem;
  }
}

@media (max-width: 1000px) {
  .theme__main {
    display: flex;
    flex-direction: column;
    gap: 3rem;
  }
  .theme__contain-flex {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 3rem;
    position: unset;
  }
  .theme__img {
    width: 375px;
  }
  /* .theme__info-container {
    margin-left: 3rem;
  } */
  .theme__info-right {
    width: 200px;
  }
  .theme {
    overflow-x: hidden;
  }
}

.about__flex-content {
  display: flex;
  flex-direction: column;
  gap: 7rem;
  margin-left: 10rem;
}

@media (max-width: 1150px) {
  .about__main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3rem;
  }

  .img__about-juliette {
    width: 19rem;
    height: 24rem;
    position: unset;
  }
  .about__flex-content {
    margin-left: 1rem;
  }
}
