@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
@import url("https://p.typekit.net/p.css?s=1&k=xci1jgh&ht=tk&f=41097.41111.41079.41082.41088.41091.41099.41102.41113.41116&a=171548360&app=typekit&e=css");
@font-face {
    font-family:"roc-grotesk-compressed";
    src:url("https://use.typekit.net/af/404af9/00000000000000007735b7d5/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/404af9/00000000000000007735b7d5/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/404af9/00000000000000007735b7d5/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
    font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}
@font-face {
    font-family:"roc-grotesk";
    src:url("https://use.typekit.net/af/975d46/00000000000000007735b7c3/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/975d46/00000000000000007735b7c3/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/975d46/00000000000000007735b7c3/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
    font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}

:root {
    --display: "roc-grotesk-compressed";
    --content: Inter, sans-serif;

    --neutral-lowest: #FFFFFF;
    --neutral-lower: #F1F5F9;
    --neutral-hightest: #09090B;
    --primary-brand-medium: #6366F1;
    --primary-brand-lowest: #EEF2FF;

    --slate-50: #F8FAFC;
    --slate-100: #F1F5F9;
    --slate-200: #E2E8F0;
    --slate-300: #CBD5E1;
}

*, ::before, ::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

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

body{
    width: 100vw;
    gap: 64px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ==================== MENU ====================*/
.menu{
    width: 100%;
    height: 100px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu_headers > h1{
    font-family: var(--content);
    font-size: 2.5em;
    font-weight: 900;
}

.menu > svg{
    height: 100%;
}
.menu_whoami{
    display: none;
}
.menu_choices{
    display: none;
}

.burger_menu{
    width: 100vw;
    height: 100dvh;
    background: var(--slate-100);
    display: none;
    padding: 40px 20px;

    position: absolute;
    top: 0;
    left: 0;

    align-items: center;
    justify-content: space-between;
    flex-direction: column;

    z-index: 10;
}

.burger_menu_heading{
    display: flex;
    font-family: var(--content);
    font-weight: 900;
    font-size: 20px;
    width: 100%;
    opacity: 0;
    animation: fadeIn .8s .8s cubic-bezier(0, 0, 0.58, 1) forwards;
}
.burger_menu_heading > svg {
    height: 50px;
}

.burger_menu_choices{
    font-family: var(--display);
    font-weight: 800;
    font-size: 80px;
    line-height: 200%;
    text-transform: uppercase;
    text-align: center;
}
.burger_menu_choices > h1:nth-child(n){
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

.burger_menu_choices > h1:nth-child(1){
    animation: textAppearFromBottom .3s .3s cubic-bezier(0, 0, 0.58, 1) forwards;
}
.burger_menu_choices > h1:nth-child(2){
    animation: textAppearFromBottom .3s .4s cubic-bezier(0, 0, 0.58, 1) forwards;
}
.burger_menu_choices > h1:nth-child(3){
    animation: textAppearFromBottom .3s .5s cubic-bezier(0, 0, 0.58, 1) forwards;
}
.burger_menu_choices > h1:nth-child(4){
    animation: textAppearFromBottom .3s .6s cubic-bezier(0, 0, 0.58, 1) forwards;
}

.burger_menu object {
    width: 100%;
}

.burger_menu_footer{
    position: relative;
    width: 100%;
    opacity: 0;
    animation: fadeIn .8s .8s cubic-bezier(0, 0, 0.58, 1) forwards;
}

.bg{
    width: 100%;
}
.avatar {
    background: var(--slate-200);
    padding: 14px;
    height: 80%;
    border-radius: 9999px;
    position: absolute;
    left: 30px;
    top: 50%;
    transform: translate(0, -50%);
}
.burger_menu_footer > svg{
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translate(0, -50%);
    height: 30%;
}
.burger_menu_footer > h1{
    position: absolute;
    left: 55%;
    top: 50%;
    transform: translate(-55%, -50%);

    font-family: var(--content);
    font-weight: 900;
    color: white;
    font-size: 40px;
}



@keyframes slideIn {
    from{
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0%);
    }
}
@keyframes slideOut {
    from{
        transform: translateY(0%);
    }
    to {
        transform: translateY(-100%);
    }
}

@keyframes fadeIn {
    from{
        opacity: 0;
    }
    to{
        opacity: 100;
    }
}

@keyframes textAppearFromBottom {
    from {
        clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
    }
    to {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}

@media (min-width: 1050px) {
    .menu{
        height: 50px;
        justify-content: space-between;
    }
    .menu_headers, .menu_choices {
        display: flex;
        gap: 40px;
    }
    .menu_whoami{
        display: block;
    }
    .menu_choices > h1,.menu_headers > h1{
        font-family: var(--content);
        font-size: 20px;
        font-weight: 800;
        position: relative;
    }

    .menu_choices > h1:after
    ,.menu_headers > h1:after
    {
        content: '';
        position: absolute;
        width: 100%;
        transform: scaleX(0);
        height: 2px;
        bottom: 0;
        left: 0;
        background-image: linear-gradient(to top left, #4338CA, #6366F1, #A5B4FC);
        transform-origin: bottom right;
        transition: transform 0.25s ease-out;
    }

    .menu_choices > h1:hover:after
    ,.menu_headers > h1:hover:after
    {
        transform: scaleX(1);
        transform-origin: bottom left;
    }

    .menu_choices > h1:hover
    ,.menu_headers > h1:hover
    {
        background-image: linear-gradient(to top left, #4338CA, #6366F1, #A5B4FC);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        transform-origin: bottom left;
    }
    .menu > svg {
        display: none;
    }
}

@media (min-width: 1450px) {
    .menu{
        padding: 0 10%;
    }
}


/* ==================== CONTENT ==================== */

body > h1 {
    font-family: var(--display);
    font-size: 128px;
}

body > h1 > span:nth-child(n){
    clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
}
body > h1 > span:nth-child(1){
    animation: textAppearFromBottom .5s  cubic-bezier(0, 0, 0.58, 1) forwards;
}
body > h1 > span:nth-child(2){
    animation: textAppearFromBottom .3s .15s cubic-bezier(0, 0, 0.58, 1) forwards;
}

.wrapper_project{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.project{
    background: var(--neutral-lower);
    width: 100%;
    height: 600px;
    border-radius: 16px;
    display: flex;
    position: relative;
    overflow: hidden;
    /*box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;*/
    transition: .3s cubic-bezier(0.93, -0.01, 0.19, 1);
}

.project:nth-child(n){
    opacity: 0;
}
.project:nth-child(1){
    animation: fadeIn .3s .3s cubic-bezier(0.87, 0, 0.17, 1) forwards;
}
.project:nth-child(2){
    animation: fadeIn .3s .4s cubic-bezier(0.87, 0, 0.17, 1) forwards;
}

.wrapper_caroussel {
    position: absolute;
    left: -15%;
    top: 50%;
    transform: translate(0, -50%);
    height: 550px;
    width: 388px;
    transition: .3s cubic-bezier(0.93, -0.01, 0.19, 1);
    display: flex;
    overflow: hidden;
}
.wrapper_caroussel > svg{
    display: none;
    width: 80px;
    height: 80px;
    position: absolute;
    top: 45%;
    transition: 1s ease-in;
    z-index: 1000;
}
.navigation_caroussel_left{
    display: none;
    left: 10px;
}
.navigation_caroussel_right{
    right: 10px;
}
.caroussel{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
}
.caroussel > svg{
    display: none;
}
.caroussel > img{
    height: 100%;
}


.wrapper_dot{
    display: flex;
    gap: 20px;
    position: absolute;
    top: 570px;
    left: 50%;
    transform: translate(-50%, 0);
    opacity: 0;
}
.dot{
    background: var(--neutral-hightest);
    border-radius: 99999px;
    width: 12px;
    height: 12px;
}

.dot:nth-child(n+2){
    opacity: 30%;
}

.project_info{
    position: absolute;
    left: 40%;
    top: 60px;
    height: 80%;
    width: 60%;
    padding-right: 30px;
    transition: .3s cubic-bezier(0.93, -0.01, 0.19, 1);
}

.project_info > h1{
    font-family: var(--content);
    font-size: 50px;
    font-weight: 900;
}

.wrapper_project_data{
    width: 100%;
    height: 770px;
    margin-top: 10px;
    padding: 27px 20px;
    display: none;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.project_data{
    width: 100%;
    height: 100%;
    background: var(--neutral-lowest);
    border-radius: 16px;
    padding: 26px 20px;
}
.project_data > .heading_data{
    font-family: var(--content);
    font-size: 24px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 6px;
}
.project_data > p {
    font-family: var(--content);
    font-size: 32px;
}
.gradient_text{
    background-image: linear-gradient(to top left, #4338CA, #6366F1, #A5B4FC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


.project_data > .heading_data > svg{
    height: 60px;
}
.wrapper_techno{
    width: 100%;
    height: 75%;
    gap: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.techno{
    margin-left: 33%;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--content);
    font-size: 32px;
}
.techno > img {
    height: 50px;
}
.project_data_3{
    grid-column: span 2;
    grid-row: span 3;
    position: relative;
}
.project_data_3 > p {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 20px;
    opacity: 30%;
    font-weight: 500;
    font-family: var(--content);
}

.project_info > svg{
    width: 60px;
    position: absolute;
    bottom: 0;
    right: 30px;
}

.minus{
    display: none;
    width: 60px;
    position: absolute;
    bottom: 0;
    right: 0;
}

@keyframes appearGrid {
    from{
        display: none;
    }
    to{
        display: grid;
    }
}
@keyframes disappearGrid {
    from{
        display: grid;
    }
    to{
        display: none;
    }
}

@media (min-width: 1050px) {
    body > h1 {
        font-size: 96px;
    }

    .project{
        height: 500px;
        box-shadow: none;
        transition: .5s ease;
    }
    .wrapper_project{
        gap: 25px;
    }


    .project_info{
        position: absolute;
        left: 53%;
        top: 70px;
        width: 45%;
        height: 70%;
        padding: 0;
    }

    .project_info > h1{
        font-family: var(--content);
        font-size: 35px;
        font-weight: 900;
        letter-spacing: -0.02em;
    }

    .project_info > svg{
        display: none;
    }


    .wrapper_caroussel {
        position: absolute;
        left: 0;
        height: 100%;
        width: 600px;
        transition: none;
    }
    .wrapper_caroussel:hover .navigation_caroussel_left{
        display: none;
    }
    .wrapper_caroussel:hover > svg{
        opacity: 100;
    }
    .wrapper_caroussel > svg{
        display: block;
        opacity: 0;
        width: 40px;
        height: 40px;
        position: absolute;
        top: 38%;
        transition: .25s ease;
        z-index: 1000;
    }
    .navigation_caroussel_left{
        left: 40px;
    }
    .navigation_caroussel_right{
        right: 40px;
    }

    .caroussel{
        position: relative;
        top: 20px;
        height: 80%;
        display: flex;
    }


    .caroussel > img{
        height: 100%;
        margin: 0px 165px;
    }
    .caroussel_p2 > img{
        margin: 0px 130px;
    }

    .wrapper_dot{
        gap: 15px;
        top: 440px;
        left: 300px;
        opacity: 100;
    }
    .dot{
        border-radius: 99999px;
        width: 8px;
        height: 8px;
    }

    .wrapper_project_data{
        height: 90%;
        margin-top: 10px;
        padding: 0;
        display: grid;
        gap: 10px;
    }

    .project_data{
        border-radius: 16px;
        padding: 13px 10px;
    }

    .project_data > .heading_data{
        font-size: 12px;
        gap: 3px;
    }
    .project_data > .heading_data > svg{
        height: 30px;
    }
    .project_data > p {
        font-size: 16px;
        margin-left: 5px;
    }

    .wrapper_techno{
        gap: 5px;
    }
    .techno{
        margin-left: 37%;
        gap: 3px;
        font-size: 16px;
    }
    .techno > img {
        height: 25px;
    }

    .project_data_3{
        grid-row: span 2;
    }
    .project_data_3 > p {
        display: none;
    }
}

@media (min-width: 1450px) {
    .wrapper_project{
        padding: 0 10%;
    }
}

@media (min-width: 1600px) {
    .wrapper_project{
        padding: 0 20%;
    }
}
