@font-face {
    font-family: "AntiqueOlive-Roman";
    font-style: normal;
    src: url(../fonts/AntiqueOliveLT-Roman.woff2) format("woff2");
}

body {
    color: black;
    background: white;
    font-family: "AntiqueOlive-Roman";
}

body::-webkit-scrollbar {
    display: none;
}

::selection {
    background-color: #353535; /* Couleur de fond lors de la sélection */
    color: white; /* Couleur du texte lors de la sélection */
}

::-moz-selection {
    background-color: #353535; /* Compatibilité avec Firefox */
    color: white;
}

img::selection {
    background: transparent; /* Pas de surbrillance sur les images */
}

/*

╔═══════════════════════════════════════════════════════════════════════════════╗
║                                                                               ║
║     ________  ____________      ___ _____   ________  ______    ____  ____    ║
║    /_  __/ / / / ____/ __ \    /   /__  /  / ____/  |/  /   |  / __ \/ __ \   ║
║     / / / /_/ / __/ / / / /   / /| | / /  / __/ / /|_/ / /| | / /_/ / / / /   ║
║    / / / __  / /___/ /_/ /   / ___ |/ /__/ /___/ /  / / ___ |/ _, _/ /_/ /    ║
║   /_/ /_/ /_/_____/\____/   /_/  |_/____/_____/_/  /_/_/  |_/_/ |_/_____/     ║
║                                                                               ║
╚═══════════════════════════════════════════════════════════════════════════════╝

*/

body.index {
    overflow: hidden;
    background: white;
    color: white;
}

#calligraphyCanvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; /* Canvas en arrière-plan */
}

.elements {
    bottom: 0;
    position: absolute;
}

.titre {
    position: relative;
    font-family: "AntiqueOlive-Roman";
    letter-spacing: -8px;
    padding-bottom: 50px;
    padding-left: 50px;
    padding-top: 50px;
    width: auto;
    height: 20%;
    font-size: 9em;
    mix-blend-mode: difference; /* Fait la différence avec le fond */
    z-index: 2; /* Texte par-dessus le canvas */
    pointer-events: none; /* Empêche le texte d'interférer avec la souris */
}

ul.list {
    width: auto;
    display: block;
    padding-left: 50px;
    z-index: 2; /* Les liens sont au-dessus du canvas */
    position : relative;
}

li.work, .fonts, .about {
    font-family: "AntiqueOlive-Roman";
    text-align: left;
    font-size: 2.5em;
    width: 100%;
    padding: 5px;
}

a {
    color: lightgray;
    text-decoration: none;
}

a:hover {
    color: black;
}

ul {
    width: 100%;
    display: flex;
    padding-top: 10px;
    padding-bottom: 10px;
}

li {
    padding-top: 10px;
    padding-bottom: 10px;
    list-style: none;
    width: 100%;
    text-align: right;
}

@media (max-width: 768px) {

    .titre {
        font-size: 6em; 
        letter-spacing: -3px;
        padding-left: 20px;
    }

    li.work, .fonts, .about {
        font-size: 2em;
    }

    ul.list{
        width: auto;
        display: block;
        padding-left: 25px;
    }
}

@media (max-width: 480px) {

    .titre {
        font-size: 4.5em; 
        letter-spacing: -3px;
        padding-left: 15px;
        padding-bottom: 20px;
    }

    li.work, .fonts, .about {
        font-size: 1.8em;
        padding: 3px;
    }

    ul.list{
        width: auto;
        display: block;
        padding-left: 15px;
    }
}

/*

╔════════════════════════════════╗
║                                ║
║   _       ______  ____  __ __  ║
║  | |     / / __ \/ __ \/ //_/  ║
║  | | /| / / / / / /_/ / ,<     ║
║  | |/ |/ / /_/ / _, _/ /| |    ║
║  |__/|__/\____/_/ |_/_/ |_|    ║
║                                ║
╚════════════════════════════════╝

*/

div.full{
    overflow-x: hidden;
    width: 100%;
    margin: auto;
    height: 100vh;
}

.full::-webkit-scrollbar {
    display: none;
}

@media screen and (max-width: 768px) {
    div.full{
    overflow-x: hidden;
    width: 96%;
    margin: center;
    height: 100vh;
}
}
/*
    __  ___________    ____  __________ 
   / / / / ____/   |  / __ \/ ____/ __ \
  / /_/ / __/ / /| | / / / / __/ / /_/ /
 / __  / /___/ ___ |/ /_/ / /___/ _, _/ 
/_/ /_/_____/_/  |_/_____/_____/_/ |_|  

*/

div.header {
    font-family: "AntiqueOlive-Roman";
    width: 98vw;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 2em;
    /* haut | droite | bas | gauche */
    padding: 6px 8px 10px 8px;
    gap: 10px;
}

a.titre_header {
    padding-top: 12px;
    color: black;
    text-decoration: none;
    white-space: nowrap; /* Empêche le texte de passer à la ligne */
    overflow: hidden;
}

li#work {
    padding-right: 3px;
}

a.page_active{
    color: black;
}

@media screen and (max-width: 768px) {
    div.header {
        font-size: 1.1em;
        padding: 8px 5px;
        width: 93vw;
    }

    a.titre_header {
        font-size: 1.1em;
    }

    li#work a {
        font-size: 1.1em;
        gap : 2px;
    }

    li#work {
        padding-right: 0;
    }
}

@media screen and (max-width: 480px) {

    div.header {
        font-size: 1.1em;
        padding: 8px 5px;
        width: 93vw;
    }

    a.titre_header {
        font-size: 1.1em;
    }

    li#work a {
        font-size: 1.1em;
        gap : 2px;
    }

    li#work {
        padding-right: 0;
    }
}

/*
   __________  __    ____  _   ___   _____________
  / ____/ __ \/ /   / __ \/ | / / | / / ____/ ___/
 / /   / / / / /   / / / /  |/ /  |/ / __/  \__ \ 
/ /___/ /_/ / /___/ /_/ / /|  / /|  / /___ ___/ / 
\____/\____/_____/\____/_/ |_/_/ |_/_____//____/  

*/

div.container {
    width: 98vw;
    margin: auto;
    height: 100vh;
    display: flex;
    gap: 15px;
}

div.column_1, .column_2 {
    width: 50%;
}

.itemcolonne1, .itemcolonne2 {
    position: relative;
    display: inline-block;
    width: 100%;
    padding-bottom: 13px;
}

.itemcolonne1 img, .itemcolonne2 img {
    width: 100%;
    transition: 0.3s;
}

.itemcolonne1::after, .itemcolonne2::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.10); /* Couleur blanche avec 15% d'opacité */
    opacity: 0; /* Caché par défaut */
}

.itemcolonne1:hover::after, .itemcolonne2:hover::after {
    opacity: 1; /* Visible au survol */
}

.container img {
    opacity: 1; /* Les images sont immédiatement visibles sans transition */
}

@media screen and (max-width: 768px) {

    div.container {
        flex-direction: column;
        height: auto;
        gap: 0;
    }

    div.column_1, .column_2 {
        width: 99%; /* Les colonnes deviennent des blocs sur toute la largeur */
    }
}

/*

╔═══════════════════════════════════════════════════════════════════════════════════╗
║                                                                                   ║
║      ____  ___   _________________     ____  ____  ____      ___________________  ║
║     / __ \/   | / ____/ ____/ ___/    / __ \/ __ \/ __ \    / / ____/_  __/ ___/  ║
║    / /_/ / /| |/ / __/ __/  \__ \    / /_/ / /_/ / / / /_  / / __/   / /  \__ \   ║
║   / ____/ ___ / /_/ / /___ ___/ /   / ____/ _, _/ /_/ / /_/ / /___  / /  ___/ /   ║
║  /_/   /_/  |_\____/_____//____/   /_/   /_/ |_|\____/\____/_____/ /_/  /____/    ║
║                                                                                   ║
╚═══════════════════════════════════════════════════════════════════════════════════╝

*/


body#projectpage {
    overflow: hidden; /* Pas de défilement vertical ou horizontal sur le body */
    height: 100%;
    position: relative; /* Important pour le positionnement absolu de .img-container */
    margin: 0; /* Retirer les marges par défaut */
}

body#projectpage .header {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

div.fullproject {
    width: 100vw;
    height: 100vh;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Aligne la description en bas de la page */
}


/*
    ______  ______   _________________
   /  _/  |/  /   | / ____/ ____/ ___/
   / // /|_/ / /| |/ / __/ __/  \__ \ 
 _/ // /  / / ___ / /_/ / /___ ___/ / 
/___/_/  /_/_/  |_\____/_____//____/  

*/

.big-image {
    position: absolute;
    left: 50%; /* Centre horizontalement */
    transform: translateX(-50%);
    width: 80%;
    height: 95%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1; /* Pour qu'il passe derrière les autres éléments */
    opacity: 1; /* Assurez-vous qu'il n'est pas caché */
    /* border: 2px solid red; /* Permet de voir l’élément */
}

.img-container {
    position: absolute; /* Positionnement absolu pour qu'il soit indépendant */
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center; /* Centre les miniatures */
    justify-content: center;
}

.thumbnails {
    display: flex;
    justify-content: center;
}

.thumbnail {
    width: auto;
    height: 40px;
    object-fit: contain;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
  body#projectpage {
    overflow-y: auto;
    overflow-x: hidden;
    height: 100%;
    margin: 0;
  }

  div.fullproject {
    overflow-y: auto;
    width: 100vw;
    height: auto;
    margin: 0 auto;
  }

  .img-container,
  .thumbnails {
    position: static !important;
    width: auto;
    height: auto;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 7px;
  }

  .thumbnail {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
    cursor: default;
  }

  .big-image {
    display: none !important;
  }
}



/*
    ____  ___________ __________  ______________  ________  _   __
   / __ \/ ____/ ___// ____/ __ \/  _/_  __/ __ \/  _/ __ \/ | / /
  / / / / __/  \__ \/ /   / /_/ // /  / / / /_/ // // / / /  |/ / 
 / /_/ / /___ ___/ / /___/ _, _// /  / / / ____// // /_/ / /|  /  
/_____/_____//____/\____/_/ |_/___/ /_/ /_/   /___/\____/_/ |_/   

*/

.description {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    /* haut | droite | bas | gauche */
    padding: 10px 15px 25px 15px;
    align-items: flex-start;
    font-family: 'AntiqueOlive-Roman';
    font-style: Roman;
    font-size: 1em;
    color: black;
    line-height: 115%;
    position: relative;
    z-index: 1; /* Assure que la description soit au-dessus des images */
}

.description > div {
    flex: 1;
}

.description .one {
    flex: 0.7;
}

.description .two {
    flex: 1.3;
    color: gray;
}

.description .three {
    flex: 3;
}

.mini-description {
    position: absolute;
    display: none; /* Cache la mini-description par défaut */
    flex-wrap: wrap;
    gap: 30px;
    padding: 10px 15px 25px 15px;
    align-items: flex-start;
    font-family: 'AntiqueOlive-Roman';
    font-style: Roman;
    font-size: 1em;
    color: black;
    line-height: 115%;
    position: relative;
    z-index: 5;
}

.mini-description > div {
    flex: 1;
}

.mini-description .project-title2 {
    flex: 0.7;
}

.mini-description .two2 {
    flex: 1.3;
    color: gray;
}

.mini-description .three2 {
    flex: 3;
}

@media screen and (max-width: 768px) {
    .description {
        display: none; /* <-- on cache entièrement la description */
    }

    .mini-description {
        margin-top: -20px;
        display: flex !important; /* <-- toujours visible */
        flex-wrap: wrap;
        gap: 20px;
    }

    .mini-description .three2 {
        display: none;
    }

    .mini-description .project-title2 {
        flex: 1;
        font-size: 1em;
    }

    .mini-description .two2 {
        flex: 1;
        font-size: 1em;
        margin-left: auto;
        text-align: right;
    }
}


/*

╔═══════════════════════════════════════╗
║                                       ║
║      ___    ____  ____  __  ________  ║
║     /   |  / __ )/ __ \/ / / /_  __/  ║
║    / /| | / __  / / / / / / / / /     ║
║   / ___ |/ /_/ / /_/ / /_/ / / /      ║
║  /_/  |_/_____/\____/\____/ /_/       ║
║                                       ║
╚═══════════════════════════════════════╝

*/


.about_container {
  max-width: 70vw;
  margin-top: 70px;
  margin-left: 50px;
  padding: 20px;
  font-size: 2em;
  line-height: 130%;
}

.rights {
    text-align: right;
    padding-top: 30px;
    padding-right: 2vw;
    padding-bottom: 3vh;
    font-size: 1.5em;
}

@media screen and (max-width: 768px) {

    .about_container {
      font-size: 1.3em;
    }

    .rights {
        font-size: 1em;
    }
}

@media screen and (max-width: 480px) {

    .about_container {
      font-size: 1.3em;
      margin-left: 20px;

    }

    .rights {
        font-size: 1em;
    }
}

/*

╔═════════════════════════════════════╗
║                                     ║
║      __________  _   _____________  ║
║     / ____/ __ \/ | / /_  __/ ___/  ║
║    / /_  / / / /  |/ / / /  \__ \   ║
║   / __/ / /_/ / /|  / / /  ___/ /   ║
║  /_/    \____/_/ |_/ /_/  /____/    ║
║                                     ║
╚═════════════════════════════════════╝

*/

@font-face {
    font-family: "NeueGothica-Regular";
    font-style: normal;
    src: url(../fonts/mes_typos/NeueGothica-Regular.woff2) format("woff2");
}

@font-face {
  font-family: "Vetera-Regular";
  font-style: normal;
  src: url(../fonts/mes_typos/Vetera-Regular.woff2) format("woff2");
}

@font-face {
  font-family: "Morali-Regular";
  font-style: normal;
  src: url(../fonts/mes_typos/Morali-Regular.woff2) format("woff2");
}

.typo_titre {
  padding-top: 70px;
  width: 70%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  font-size: 1.5em;
  border-bottom: 2px solid #000;
  padding-bottom: 20px; /* Augmente l'espace avant la bordure */
}

.type-tester {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
}

.controls {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  justify-content: center;
  align-items: center;
}

select {
  font-family: AntiqueOlive-Roman;
  font-size: 16px;
  padding: 5px;
}

.slider {
  display: flex;
  align-items: center;
  gap: 5px;
}

input[type="range"] {
  -webkit-appearance: none;
  width: 150px;
  height: 4px;
  background: #000;
  border-radius: 2px;
  outline: none;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  background: #000;
  border-radius: 50%;
  cursor: pointer;
}

textarea#textDisplay {
  font-size: 6em;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  max-width: 80vw;
  height: fit-content;
  line-height: 1.2;
  border: none;
  outline: none;
  resize: none; /* Empêche le redimensionnement */
  overflow: hidden;
  font-family: Vetera-Regular;
  background-color: transparent;
  padding: 20px;
  color: #000;
}

textarea#textDisplay2 {
  font-size: 5em;
  text-align: center;
  width: 100%;
  max-width: 80vw;
  height: fit-content;
  line-height: 1.2;
  border: none;
  outline: none;
  resize: none; /* Empêche le redimensionnement */
  overflow: hidden;
  font-family: Morali-Regular;
  background-color: transparent;
  padding: 20px;
  color: #000;
}

textarea#textDisplay3 {
  font-size: 9em;
  text-align: center;
  width: 100%;
  max-width: 80vw;
  height: fit-content;
  line-height: 1.2;
  border: none;
  outline: none;
  resize: none; /* Empêche le redimensionnement */
  overflow: hidden;
  font-family: NeueGothica-Regular;
  background-color: transparent;
  padding: 20px;
  color: #000;
}

textarea#textDisplay::selection {
    background-color: #29367E; /* Couleur de fond */
    color: #F4F4F4; /* Couleur du texte */
}

textarea#textDisplay::-moz-selection {
    background-color: #29367E;
    color: #F4F4F4;
}

textarea#textDisplay2::selection {
    background-color: #4F4747; /* Couleur de fond */
    color: #FBE9D2; /* Couleur du texte */
}

textarea#textDisplay2::-moz-selection {
    background-color: #4F4747;
    color: #FBE9D2;
}

@media (max-width: 768px) {
  .typo_titre {
    font-size: 1em;
  }

  .controls {
    flex-direction: column;
    align-items: stretch;
  }

  textarea#textDisplay,
  textarea#textDisplay2,
  textarea#textDisplay3 {
    font-size: 2.5em; 
    line-height: 1.1;
    margin-bottom: 5%; /* Réduit l'espacement sous la textarea */

  }

  input[type="range"] {
    width: 120px;
  }

  /* Masquer sliders Letter-spacing et Line-height */
  .letter-spacing-slider,
  .line-height-slider {
    display: none;
  }
}