#portfolio-title-start{
    position: absolute;
    top: 100%;
    left: 0;
    height: 100vh;
    /* width: 100%;
    background-color: rgba(255, 0, 0, 0.209); */
    pointer-events: none;
    opacity: 0;
    z-index: 999;
}
.portfolio-disapear{
    position: absolute;
    top: 100%;
    transform: translate(0, 100%);
    left: 0;
    height: 100vh;
    /* width: 100%;
    background-color: rgba(0, 0, 255, 0.209); */
    pointer-events: none;
    opacity: 0;
    z-index: 999;
}


.portfolio-grid {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 998;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    --vertical-marquee-width: 150vh;
    --vertical-offset: 50vh;
    --vertical-move-initial: calc(-25vh + var(--vertical-offset));
    --vertical-move-final: calc(-50vh + var(--vertical-offset));
}
.portfolio-grid-overflow {
    position: absolute;
    overflow: hidden;
    height: 100%;
    width: 100%;
    /* transform: skewX(15deg); */
}
.portfolio-x-scroll {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: hidden;
    height: 100%;
    align-items: center;
    padding: 0 0 0 50vw;
}
.portfolio-y-scroll{
    margin-top: -200vh;
}
/* div#portfolio, .portfolio {
    height: 200vh;
} */

/* ITEM */
.portfolio-item{
    display: flex;
    height: 100%;
    /* background-color: #000; */
    position: relative;
    z-index: 1;
    opacity: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.portfolio-item picture{
    width: 30vw;
    height: 50vh;
    overflow: hidden;
    background-color: var(--black);
}

.portfolio-grid picture:nth-of-type(2n+1) {
    width: 30vw;
    height: 40vh;
    transform: translate(5vw, 7vw);
    z-index: 3;
    overflow: hidden;
  }
.portfolio-grid picture:nth-of-type(3n+2) {
    width: 40vw;
    height: 70vh;
    transform: translate(-7vw, -7vw);
    z-index: 2;
    overflow: hidden;
  }
.portfolio-grid picture:nth-of-type(5n+3) {
    width: 30vw;
    height: 80%;
    overflow: hidden;
}
.portfolio-grid picture.first-img {
    height: 100vh;
    transform: translate(0, 0);
    width: 60vw;
}
.portfolio-grid picture.first-img{
    transform: translateX(0)!important;
}
.portfolio-grid picture.second-img{
    transform: translateY(calc((100vh / 4) * 1))!important;
    margin-bottom: auto;
    margin: 0 -8vw auto -8vw;
    z-index: 9;
    width: clamp(300px, 30vw, 500px);
    height: clamp(300px, 30vw, 500px);
}
.portfolio-item picture img,
.portfolio-item picture video{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0;
}
.portfolio-item picture video{
    opacity: 1;
}
.portfolio-grid picture:nth-of-type(2n+1) img {
opacity: 0.2;
}
.portfolio-grid picture:nth-of-type(3n+2) img {
    opacity: 1;
}
.portfolio-grid picture:nth-of-type(5n+3) img {
    opacity: 0.5;
}


.title-portfolio, .project-name-repeat{
    background: transparent;
    display: flex;
    flex-direction: row-reverse;
    align-self: center;
    justify-content: center;
    text-align: center;
    height: 100%;
    width: auto;
    flex-wrap: nowrap;
    position: relative;
}
.title-portfolio{
    z-index: 9;
}
.project-name-repeat{
    width: 100px;
}
.portfolio-item h3{
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 20vh;
    text-align: center;
    font-family: 'brier';
    text-transform: uppercase;
    white-space: nowrap;
    -webkit-text-stroke: 1px #ffffff;
    text-stroke: 1px #FFF;
    font-weight: 100;
    color: transparent;
    transform: translate(0, 25%);
    padding-left: 10vw;
    padding-right: 10vw;
}
.project-name-repeat {

    font-size: 0.7rem;
    letter-spacing: 0.1rem;
    color: var(--white);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    font-weight: 500;
    text-transform: uppercase;
    padding: calc((var(--global-space)) * 1) 0;
}
.project-name-repeat span {
    padding: 00 calc((100vh / 10) * 0.5) calc((100vh / 10) * 0.5);
    white-space: nowrap;
    position: relative;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}
.project-name-repeat span svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -58%) ;
    height: 100%;
    width: 170%;
}
.project-name-repeat b{
    color: var(--tonic);
    font-family: "Glysa";
    font-size: 0.8rem;
}
.portfolio-item .project-name-repeat > .modal-toggle {
    /* position: absolute; */
    bottom: 0;
    left: 0;
    transform: translate(calc((100vh / 10) * 0.7), 0%);
    display: flex;
    align-items: flex-end;
    position: relative;
    cursor: pointer;
}
.portfolio-item .modal-toggle b{
    white-space: nowrap;
    letter-spacing: 0.8rem;
    text-transform: uppercase;
    font-size: 1rem;
    background: var(--tonic);
    color: var(--white);
    padding: 1rem 0 1rem 1rem;
}
.portfolio-item .modal-toggle svg {
    transform: scaleX(-1) translate(-1rem, -1rem);
    position: absolute;
    left: 100%;
    bottom: 100%;
}
.portfolio-item .modal-toggle:hover svg {
    transform: scaleX(-1) translate(1rem, 1rem);
}
.number, .number-repeat {
    position: absolute;
    z-index: 4;
    top: 15%;
    right: 20vw;
    font-size: 43vh;
    transform: translate(10%, -20%);
    opacity: 1;
    font-family: 'brier';
    color: var(--tonic);
    mix-blend-mode: overlay;
}
.number-repeat {
    color: var(--white);
}
.number-repeat:nth-of-type(1){
    right: 25vw;
    opacity: 1;
}
.number-repeat:nth-of-type(2){
    right: 20vw;
    opacity: 0.6;
}
.number-repeat:nth-of-type(3){
    right: 15vw;
    opacity: 0.3;
}
.number-repeat:nth-of-type(4){
    right: 10vw;
    opacity: 0.2;
}
.number-repeat:nth-of-type(5){
    right: 5vw;
    opacity: 0.1;
}


.portfolio-item svg path{
    transition: all 800ms ease-out;
}
.portfolio-item.item-active svg path{
    stroke-dashoffset: 0!important;
    transition-delay: 0.5s;
}



/* MORE PROJECTS */
.more-projects-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: space-around;
}

.more-projects {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* margin-top: calc((var(--global-space)) * 2); */
    align-self: flex-start;
    height: 100vh;
    overflow: hidden;
}
.more-projects-container{
    height: 100%;
}
.more-projects-scroller {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: calc((var(--global-space)) * 2) calc((var(--global-space)) * 2) calc((var(--global-space)) * 2) calc((var(--global-space)) * 0);
    align-self: flex-start;
}
.more-projects > .more-projects-scroller ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
.more-projects > .more-projects-scroller li {
    display: flex;
    flex-direction: row;
    font-size: 1rem;
    font-weight: 300;
    gap: 1rem;
    width: 100%;
    justify-content: space-between;
    min-width: 40vw;
    border-bottom: 1px solid #ffffff50;
    padding-bottom: 1rem;
    padding-top: 2rem;
}
.more-projects > .more-projects-scroller li:last-child{
    border-bottom: 3px solid var(--white)!important;
}

/* .more-projects-spacer-x.item-active {
    height: 3px;
    background: red;
} */

.more-projects-spacer-x{
    width: 300vw;
}

.more-projects-scroller h4{
    font-family: 'Brier';
    font-weight: 100;
    text-transform: uppercase;
    font-size: 4rem;
}

.more-projects-scroller h4 span{
    color: var(--tonic);
}



.more-projects-scroller h5 {
    font-size: 1.6rem;
    margin: 2rem 0;
    font-weight: 300;
    width: fit-content;
    margin-top: 2rem;
    margin-bottom: 0;
}
.more-projects-scroller h5 span{
    font-weight: 500;
}
.more-projects-scroller h5 svg {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 0%) rotate(0deg) scale(1);
    height: auto!important;
    width: 100%!important;
    display: flex;
}
.more-arrow {
    display: flex;
    transform: scaleX(-1);
}
.more-projects li a {
    text-transform: uppercase;
    font-size: 0.6rem;
    letter-spacing: 0.3rem;
    margin-top: auto;
    transition: all 400ms ease-out;
    color: var(--white);
}
.more-projects a:hover {
    color: var(--tonic);
}

.titre-socrea{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3rem;
    margin-top: 3rem;
}

.titre-projet-perso{
    margin-top: 5rem;
}





/* DETAILS */

.content-details{
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
    background: rgb(0 0 0 / 100%);
    height: 100%;
    overflow: none;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
}
.content-details > div{
    height: 100%;
    width: 100%;
}
.content-details article{
    opacity: 0;
    flex-direction: column;
    transform: translate(0%, 0) scale(1.2);
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    justify-content: space-between;
    pointer-events: none;
    height: 100%;
    width: 100%;
}

.content-modal .title-portfolio .project-name-repeat {
    padding-bottom: 0!important;
    margin-top: auto;
    font-size: 0.5rem;
    letter-spacing: 0.2rem;
}
.small-info-modal,
.content-modal{
    display: flex;
    justify-content: space-between;
}
.content-modal .title-portfolio {
    width: 100%;
    justify-content: flex-start;
    margin-right: auto;
}
.content-modal{
    height: 100%;
    overflow: hidden;
}
.content-modal picture.first-img {
    position: absolute;
    top: 0%;
    left: 0%;
    z-index: -1;
    width: 100vw;
    height: 100vh;
}
.content-modal picture.first-img img{
    width: 100%;
    height: 100%;
    opacity: 0;
    object-fit: cover;
    transform: scale(1.5);
    backdrop-filter: blur(15px);
}
.right-side{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: fit-content;
}
.text-modal {
    width: clamp(300px, 100%, 700px);
    padding: calc((100vh / 10) * 0.5);
    justify-content: flex-end;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    height: fit-content;
    border-top: 1px solid #ffffff50;
    background-color: var(--black);
    width: 100%;
}
.recompenses{
    margin-top: auto;
    margin-right: auto;
    padding: calc((100vh / 10) * 0.5);
    display: flex;
    justify-content: flex-start;
    gap: 0.4rem;
}
.recompenses img {
    max-width: 40px;
    height: auto;
}
.small-info-modal {
    border-top: 1px solid #ffffff50;
}
.content-modal .title-portfolio {
    z-index: 9;
    border-right: 1px solid #ffffff50;
}
.text-modal h2{
    font-style: 4rem;
    font-family: "Brier";
    margin-bottom: 2rem;
}
.text-modal h4 {
    font-size: 0.7rem;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
    color: #7b7b7b;
    letter-spacing: 0.2rem;
    text-transform: uppercase;
    font-weight: 300;
}
.text-modal p {
    font-size: 0.8rem;
    letter-spacing: 0;
    font-weight: 300;
}
.small-info-modal > *{
    font-size: 0.5rem;
    letter-spacing: 0.2rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    text-transform: uppercase;
    padding: calc((100vh / 10) * 0.5);
}

.small-info-modal p{
    width: 100%;
    font-weight: 300;
}
.small-info-modal a {
    justify-content: center;
    width: auto;
    white-space: nowrap;
}
.close-cursor{
    display: none;
    opacity: 0;
}

.hovered .close-cursor{
    display: none;
    opacity: 0!important;
}
.hovered {
    border-width: 1px!important;
}

span#close-details-btn {
    position: fixed;
    right: calc((var(--global-space)) * 1);
    top: calc((var(--global-space)) * 1);
    opacity: 0.4;
    cursor: pointer;
    z-index: 9999999999;
    pointer-events: all;
    display: flex;
    transition: 250ms all ease-out;
}
span#close-details-btn:hover{
    opacity: 0;
    transform: scale(1) rotate(-45deg);
}