@font-face {
    font-family: Bodoni;
    
    src: url("bodoni_72.otf") format("opentype");
}
::-webkit-scrollbar {
  width: 0;  /* Remove scrollbar space */
  background: transparent;  /* Optional: just make scrollbar invisible */
}
/*.nav-left-wrapper p[data-type="territoire"], .nav-left-wrapper p[data-type="name"]{
  display:none
}*/
/*.projects-once,.publications-once,.lectures-once,.infos-once,.exhib-once{
opacity:0;
}
.projects-once-active,.publications-once-active,.lectures-once-active,.infos-once-active,.exhib-once-active{
transition: opacity 3s linear;
}
.projects-once-to,.publications-once-to,.lectures-once-to,.infos-once-to,.exhib-once-to{
opacity: 1;
}
*/
.profil_senior{
  display:flex;
  margin-bottom: 20px;
}
.profil_senior img{
  width:8vw;
  margin-right: 20px;
}
#arrow-left,#arrow-right{
text-decoration: none;
}

.fadeR-leave{
  transform:translateX(0);
  position: fixed;
  }
  .fadeR-leave-active{
  transition: all 0.7s;
  }
  .fadeR-leave-to{
  transform:translateX(-100%);
  position: fixed;
  }


  
.fadeR-enter{
  transform:translateX(100%);
  position: fixed;
  }
  .fadeR-enter-active{
    transition: all 0.7s;
  }
  .fadeR-enter-to{
    transform:translateX(0);
    position: fixed;
    left:0;
  }


  .fadeL-leave{
    transform:translateX(0);
    position: fixed;
    }
    .fadeL-leave-active{
    transition: all 0.7s;
    }
    .fadeL-leave-to{
    transform:translateX(100%);
    position: fixed;
    }
  
    
  .fadeL-enter{
    transform:translateX(-100%);
    position: fixed;
    }
    .fadeL-enter-active{
      transition: all 0.7s;
    }
    .fadeL-enter-to{
      transform:translateX(0);
      position: fixed;
      left:0;
    }

a{
  color:black;
}
.sub-menu{
  /*display:none;*/
  position: absolute;
  padding-top: 15px;
  visibility: hidden;
}
.lecture_container{
  min-height: 70vh;
}
.sub-menu span{
  padding-top: 5px;
  cursor: pointer;
}
.top-menu:hover .sub-menu{
  visibility: visible;
}
.top-menu:hover{
  text-decoration: underline;
  text-underline-offset: 4px;
}
body {
    font-family: 'Bodoni';
    font-size: 16px;
    letter-spacing: 0.5px;
   /* max-width: 1680px;*/
    margin: auto;
    /*padding-left: 40px;
    padding-right: 40px;*/
  }
  .title{
    /*margin: auto;
    margin-top: 50px;*/
    position: fixed;
    left: 50%;
    /* top: 50%; */
    transform: translate(-50%, 8px);
    cursor:pointer;
  }

  
  .infos,.more{
    display: flex;
    justify-content: space-between;
  }
  .more{
    margin-bottom: 200px;
    margin-top: 26px;
    margin-left: -190px;
    /*width:100%;*/
  }
  hr{
    border-top: 1px solid black; 
  }
  .details{
    display:none;
    font-size: 16px;
    width: 100%;
  }
  .active-details{
    display:block;
  }
  .nav-left-wrapper p, .nav-right-wrapper p{
      margin :0px;
      text-align: right;
      min-height: 20px;
  }
  .sub-menu.sm-project{
    text-align: left;
  }
  .nav-left-wrapper{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    height: 93%;
    position: fixed;
    overflow: scroll;
    max-width: 150px;
  }
  .nav-right-wrapper{
    
    display: flex;
    flex-direction: column;
   justify-content: space-between;
   align-items: flex-start;
    height: 93%;
    position: fixed;
  }
  .nav-right-wrapper a{
    text-decoration: none;
  }
  .nav-right-wrapper p:last-child{
    padding-bottom: 20px;
  }
  /*.nav-right{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    
  }*/
  .photo{
    width: 100%;
    background-size: cover;
    /*aspect-ratio: 27/20;*/
    margin: auto;
    height:60vh;
    display: flex;
    justify-content: center;
  }
  .photo img{
    display:block;
    margin:auto;
    height: 100%;
    object-fit: contain;
    max-width: 95vw;
  }
  .min{
    display:none;
    font-size: 25px;
    margin-top: 10px;
    cursor: pointer;
    margin-top: 40px;
  }
  .cross{
  
    font-size: 25px;
    margin-top: 10px;
    cursor: pointer;
    margin-top: 40px;
  }
  .project{
    margin-bottom: 9px;
    min-height: calc(100vh - 152px);
    display: flex;
    flex-direction: column;
  }
  .legend{
        /* font-weight: 700; */
        font-size: 16px;
        margin-top: 52px;
        width: 190px;
        cursor: pointer;
        transform: translateY(-12px);
  }
  .infos{
    margin-top:50px
  }
  .desc{
    margin-bottom: 100px;
  }
  .link,.link_categ{
    cursor: pointer;
    position:relative;
    min-height: 16vh;
  }
  .parent-link{
    min-height: 16vh;
  }
  .intro{
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    position: absolute;
    z-index: 0;
  }
  .nav-right-wrapper p{
    /*min-height: 16vh;*/
  }
  .nav-right,.nav-left{
    background-color: white;
    z-index: 89;
  }

 
  /*.link::before,.link_categ::before{
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #000;
    transform: scaleX(0);
    transform-origin: top left;
  }
  .link.selected::before,.link_categ.selected:before{
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #000;
    transform: scaleX(1);
    transform-origin: top left;
  }
 .link:hover::before,.link_categ:hover::before{
    transform: scaleX(1);
  }*/
  .link:hover, .legend-text:hover, .link.selected,.legend.selected,.legend-text.selected,.link_categ.selected{
    text-decoration: underline;
    text-underline-offset: 4px;
  }
  
  /*.legend-text.selected{
    border-bottom: solid 1px black;
  }*/
  .gallery{
    background-color: white;
    width:99vw;
    height:100vh;
    position: absolute;
    top:0;
    left:0;
    z-index: 99
  }
  .gallery-container{
    display:none;
    height:106vh;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 0.4fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    
    gap: 0px 16px;
    grid-auto-flow: row;
    grid-template-areas: 
    ". . . . . . . . . . gal-close"
    ". . . . . . . . . . ."
    ". . gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo . ."
    ". . gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo . ."
    ". . gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo . ."
    ". . gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo . ."
    ". . gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo . ."
    ". . gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo gal-photo . ."
  }
  .gal-nav{
    display:flex;
    justify-content: space-between;
    padding-top: 2vh;
  }
  .gal-photo{
    grid-area:gal-photo;
    height: 100vh;
  
  }
  .gal-slide{
    position :relative;
    height: 80vh;
  }
  .gal-photo .photo.photo-slide{
    height: 80vh;
    position: absolute;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    background-size: cover;
    /*aspect-ratio: 27/20;
    width: initial !important;*/
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    background-size: contain;
    background-repeat: no-repeat;

  }
  .gal-photo .photo.photo-slide img{
    max-width: 100%;
  }
  .gal-photo .photo.active{
    opacity: 1;
    z-index: 1;

  }
  .gal-close{
    grid-area:gal-close;
    cursor: pointer;
    transform: translateY(-35px) rotate(45deg);
    font-size: 30px;
    width: 20px;
    margin-left: auto;
    top:35px;
    position: relative;
    z-index: 99;
  }
  .previous{
    grid-area:previous;
    /*margin-left: -20%;*/
    cursor: pointer;
  }
  .next{
    grid-area:next;
    /*margin-right:-20%;*/
    cursor: pointer;
  }
  .count{grid-area:count;}
  .hidden{
    display: none;
    
  }
  .container-title {  
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". . . title title title title title . . ."
  }
  .container-title{
    display: flex;
    justify-content: center;
  }
  .container-title h1{
    position:fixed;
    margin-top: 50px;
  }
  .details-container{
    display:flex;
  }
  .main-container {  
    display: grid;
    height:100vh;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    "nav-left . . . . title title . . . . nav-right"
    "nav-left . . . . . . . . . . nav-right"
    "nav-left . . main-photo main-photo main-photo main-photo main-photo main-photo . . nav-right"
    "nav-left . . main-photo main-photo main-photo main-photo main-photo main-photo . . nav-right"
    "nav-left . . main-photo main-photo main-photo main-photo main-photo main-photo . . nav-right"
    "nav-left . . main-photo main-photo main-photo main-photo main-photo main-photo . . nav-right"
    "nav-left . . main-photo main-photo main-photo main-photo main-photo main-photo . . nav-right"
    "nav-left . . main-photo main-photo main-photo main-photo main-photo main-photo . . nav-right"
  }
  
  .title { grid-area: title; }
  
  .main-photo { 
    grid-area: main-photo; 
    /*margin-top: 30px;*/
  }
  
  .nav-left {
    grid-area: nav-left;
    font-size: 16px;
    justify-content: space-between;
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 10px;
  }
 
  .nav-right { 
    grid-area: nav-right; 
    font-size: 16px;  
    margin-top: 40px;
    padding-left: 10px;
  }
  .publications{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 150px;
    flex-direction: column;

  }
  .publications.lectures{
    flex-direction: column;
  }
  .publication_legend{
    margin-top: 40px;

  }
  .publication_container{
    max-width: 340px;
    margin:auto;
  }
  .lecture_container{
    /*max-width: 640px;*/
    margin:auto;
  }

  .main_description{
    margin-top: 125px;
  }
  .studiosPlace{
    display: flex;
    justify-content: space-between;
    margin-top: 69px;
  }
  .bio{
    display: flex;
    justify-content: space-between;
    column-gap: 30%;
    margin-top: 150px;
  }
  .bio img{
    height:220px;
  }
  .team, .apply{
    /*padding-right: 30%;*/
    margin-top: 150px;
  }
  .endpage{
    height: 30px;
  }
  #splash{
    display:none;
    background-color: white;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top:0;
    left:0;
    bottom: 0px;
    z-index: 9999;
    
  }
  #splash.active{
    animation-name : slide-up;
    animation-duration: 2s ;
    animation-delay: 2s;
    animation-fill-mode: forwards;
  }
  .splash-container{
    display: flex;
    flex-direction: column;
    width: 30vw;
    margin: auto;
    margin-top: 44vh;
    align-items: center;
    z-index: 999999;
    position: relative;
    
  }
  .splash-container p{
    text-align: center;
    width: 32vw;
    font-size: 18px;
  }
  .lecture_container iframe{
    width: 640px;
    height: 390px;
    max-width: 90vw;
    border: 0;
  }
  @keyframes slide-up {
    0% {
      top:0px;
    }
    99% {
      top:-1000px;
      display:block;
    }
    100% {
      top:-1000px;
      display:none;
    }
  }
  #openBtnBurger{
    position: fixed;
    right: 0;
    margin-right: 20px;
    margin-top: 35px;

  }
  .adjust-left-items{
    min-height: 11vh !important;
  }
  .mobile-nav{
    display:none;
  }
  @media screen and (max-width: 1300px) {
    .mobile-nav{
      display:block;
      position: fixed;
      bottom: 20px;
    width: 100vw;
    background-color: white;
    padding: 20px 0;
    transform: translateY(20px);
    }
    .mobile-nav-container{
      display:flex;
      /*max-width: 50%;*/
    margin: auto;
    justify-content: space-evenly;
    flex-wrap: nowrap;
    }
    .mobile-nav-dot.selected{
      background-color: lightgrey;
    }
    .link-mobile a{
      display:none;
    }
    .link-mobile a.selected{
      display:block;
      text-decoration: none;
    }
    .mobile-nav-dot{
      height: 10px;
    width: 10px;
    background-color: grey;
    z-index: 89;
    border-radius: 10px;
    }
    .main-container {
      grid-template-rows: 1fr 0.3fr 1fr 1fr 1fr 1fr 1fr 1fr;
    }
    .photo {
      height: 40vh;
    }
    .sub-menu{
      visibility:hidden;
    }
    /*#splash video{
      display:none;
    }*/
    .project{
        margin-bottom: 179px;
    }
    .splash-container svg{
      width: 50vw !important;
      height: 6vw !important;
    }
    .splash-container p{
      width :90vw;
      font-size:16px;
      min-width: 90vw;
    }
    .nav-left{
      display:none;
    }
    .adjust-left-items {
      min-height: initial;
    }
    .nav-right{
      display:none;
      grid-area: "initial";
      font-size: 16px;
      /* justify-content: space-between; */
      /* margin-top: 40px; */
      /*display: flex;*/
      flex-direction: row;
      align-items: flex-end;
      flex-wrap: nowrap;
      position: fixed;
      bottom: 0;
      max-width: 100vw;
    }
    .nav-right-wrapper{
      display: flex;
      flex-direction: row;
      align-items: center;
      height: 50px;
      position: fixed;
      overflow: scroll;
      /*bottom: 0px;
      gap: 20px;
      min-width: 95%;*/
      margin-left: 2.5%;
      background-color: white;
      position: relative;
    }
    .nav-right-wrapper p{
      margin: 0px;
      text-align: center;
      min-width: 94vw;
    }
    /*.nav-right-wrapper p.sub-menu a{
      display:none;
    }*/
    .main-photo{
      width: 90vw;
    }
    .more,.details{
      margin-left: initial !important;
    }
    /* Icône burger */
    .burger-icon span {
      display: block;
      width: 20px;
      height: 2px;
      background-color: black;
      margin: 4px 0;
    }
    .splash-container svg{
      height: initial;
    }
    .nav-right.mobile {
      grid-area: initial;
      display: block !important;
      margin-top: 72px;
    }
    .nav-right.mobile .nav-right-wrapper{
      background-color: white;
      width: 100%;
      height: calc(100vh - 121px);
      padding-left: 30px;
    }
    .more{
      margin-top: initial;
    }

  }
  @media screen and (max-width: 640px) {
    .bio{
      flex-direction: column;
      align-items: center;
    }
    .team, .apply {
      padding-right: initial;
  }
    .studiosPlace {
      flex-direction: column;
    }
    .details-container {
      flex-direction: column;
      position: relative;
      top: -30px;
    }
    .more{
      margin-bottom: 40px !important;
    }
    .gal-photo {
      
      width: 80vw;
  }
}