@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=Montserrat:wght@400;700&family=Roboto:wght@400;500&display=swap');
/*fonts*/
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
}

/* =============================
   BOTONES, LINKS Y MICROTEXTO
============================= */
a, button {
    font-family: 'Inter', sans-serif;
}
.download-cv-button {
    max-height: 33px;
    display: flex;
    align-items: center;
    color: #292929;
    background-color: white;
    border-radius: 5px;
    flex-direction: column;
    padding: 5px;
    font-size: 14px;
}
:root {
    --bg-dark-op: rgba(7, 7, 7, 0.1);
    --bg-dark: rgba(7, 7, 7, 0.829);
    /*--blue: #0098c0;*/
    --card-title: #af864f;
    --dark-violet: rgb(31, 3, 77);
    --violet: #775dc0;
    --green: #77dd77;
    --dark-golden: #af864f;

    }
    
    body {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 0;
        color: antiquewhite;
        font-family: 'Roboto', 'Mulish', sans-serif;
        font-size: 18px;
    }

    .background {
        
        margin: 0 0;
        z-index: -1;
        position:fixed;
        height: 100%;
        width: 100%;
        background: 
        linear-gradient(12deg, var(--dark-violet), var(--bg-dark-op) 15%),
        linear-gradient(85deg, var(--dark-violet), var(--bg-dark-op) 15%),
        linear-gradient(275deg, var(--dark-violet), var(--bg-dark-op) 15%),
        linear-gradient(342deg, var(--dark-violet), var(--bg-dark-op) 15%),
        linear-gradient(0deg, var(--dark-violet), var(--bg-dark) 5%);
    }

    nav::-webkit-scrollbar {
        width: 12px;
        padding-left: 20px;
    }

    nav::-webkit-scrollbar-thumb {
        background-color: transparent;

    }

    nav::-webkit-scrollbar-track {
        background-color: transparent; /* Color del fondo de la barra de desplazamiento */
    }


    nav {
        box-sizing: border-box;
        height: 8vh;
        width: 100% ;
        display: flex;
        position: sticky;
        top: 0;
        overflow-x: auto;
        align-items: center;
        justify-content: center;
        backdrop-filter: blur(5px);       
        border-radius: 10px;
        z-index: 1;
        gap: 18px;
    }

    nav::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color:  rgb(15, 8, 27, 0.7); 
        filter: blur(10px);
        z-index: -1; 
    }

    nav a {
        text-decoration: none;
        background-color: rgba(255, 255, 255, 0.767);
        color: black;
        border-radius: 20px;
        padding: 8px;
        font-weight: bold;
        box-shadow: 0px 0px 10px 1px black;
    }

    section {
        width: 85vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: auto;
        box-sizing: border-box;
    }




    h1 {
        font-family: 'Fira Sans', sans-serif;
        font-size: 50px;
        margin: 25px;
        color: var(--dark-golden);
    }

    h2 {
        font-size: 38px;
        color: var(--violet)
    }

    h3 {
        color: var(--card-title)
    }
    
    small {
        font-size: 14px;
        color: rgba(250, 235, 215, 0.795);
    }

    p {
        font-size: 24px;
        margin: 15px;
    }

    article footer {
        display: flex;
        align-items: center;
        flex-direction: column;
        padding-bottom: 30px;
        width: 90%;
    }

    svg {
        height: 75px;
    }

    aside {
        display: flex;
        width: 90%;
        justify-content: space-evenly;
        flex-wrap: wrap;
        justify-content: space-evenly;
        gap: 5px;
    }

    ul {
        list-style-type: none;
    } 

    /* home */

    .sobre-mi {
        max-width: 800px;
    }

    .my-name {
        margin-bottom: 0;
    }

    .name-socials {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .skill {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-evenly;
        flex-direction: row;
    }

    .img-perfil {
        height: 20vh;
        border-radius: 50%;
    }

    .container-img-networks {
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: 56px;
        width: fit-content;   /* hace que el contenedor se ajuste al ancho de su contenido */
        margin: 0 auto;       
    }

    .social-networks {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }

    .home {
        display: flex;
        align-items: center;
        justify-content: space-evenly;
        flex-direction: column;
        gap: 10px;
    }

    /* Projects */
    .article-project {
        display: flex;
        align-items: center;
        flex-direction: column;
        /* background-color: rgb(18, 10, 34, 0.7); */
        grid-column: span 2; /* Ocupa dos columnas */
        border-radius: 10px;
        backdrop-filter: blur(5px); 
        /* justify-content: space-between; */
        animation: reveal linear both;
        animation-timeline: view();
        animation-range: entry 10% cover 25%;

    }

    .small-project {
        grid-column: span 1;
        /* grid-row: 2; */
    }


    .article-project-content {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
    }


    .article-project-content h3 {
        text-align: center;
    }

    .div-img {
        display: contents;
    }

    .img-project {
        width: 95%;

    }

    /* commit */
    .img-web-excel {
        width: 95%;
    }
    .container-btn {
        display: flex;
        justify-content: center;
        height: 100%;
        align-items: end;
    }
    .github-btn {
        border-radius: 20px;
        box-sizing: border-box;
        padding: 10px;
        background-color: rgb(76, 0, 255);
        color: antiquewhite;
        text-decoration: none;
        box-shadow: 3px 3px 15px black;
        margin-inline: 5px;
    }

    .mas-btn {
        background-color: rgb(18, 10, 34, 0.7);
        color:white;
        font-family: 'Mulish', sans-serif;
        font-size: 25px;
        cursor: pointer;
    }


    /* ocultado por max-height (no usamos display:none aquí) */
    #more-projects {
        max-height: 0;
        overflow: hidden;
        transition: max-height 600ms cubic-bezier(.2,.8,.2,1);
        box-sizing: border-box;
    }
    
    /* opcional: si usás la clase .open en algún momento */
    #more-projects.open {
        /* el valor real lo fijamos por JS midiendo scrollHeight */
        /* keep this empty or use a big max-height as fallback */
        max-height: 2000px;
    }


    .article-project::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgb(18, 10, 34, 0.7);
        filter: blur(2px);
        z-index: -1;
        border-radius: 51px;
    }

    @keyframes reveal {
        from {
            opacity: 0;
            filter: blur(5px);
            
        }

        to {
            opacity: 1;
            filter: blur(0px);
        }
    } 

    .projects {
        
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        /* grid-template-rows: repeat(2, 1fr); */
        gap: 10px;
    }
    

    /* Study */
    .div-study {
        max-height: 70vh;
        width: 85vw;
        overflow: auto;
    }
    .institute {
        color: var(--green);
    }
    /* Estilos para WebKit (Chrome) */
    .div-study::-webkit-scrollbar {
        width: 12px; 
    }

    .div-study::-webkit-scrollbar-thumb {
        background-color: #c7c7c7;
        border-radius: 10px;
    }

    .div-study::-webkit-scrollbar-track {
        background-color: #f1f1f100;
    }

    .div-study ul {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 110px;
    }

    .div-study ul > :last-child {
        margin-bottom: 150px;
    }

    .div-study ul > :first-child {
        margin-top: 75px;
    }

    .article-study {
        display: flex;
    }

    .article-study p{
        
        animation: reveal-study linear both;
        animation-timeline: view();
        animation-range: entry 35% cover 90%;
        
    }

    

    @keyframes reveal-study {
        0% {
            opacity: 0;
            filter: blur(5px);
            scale: 0%;
            
        }

        35% {
            opacity: 1;
            filter: blur(0px);
            scale: 100%;
        }

        85% {
            opacity: 1;
            filter: blur(0px);
            scale: 100%;
        }
        100% {
            opacity: 0;
            filter: blur(5px);
            scale: 0%;
            
        }
    } 

    .article-study header {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        min-width: 25vw; /* Puedes ajustar el valor según el ancho mínimo deseado */
        margin-left: 20px;
        
    }

    .timeline {
        position: relative;
        max-width: 1200px;
        margin: 0 auto;
    }

    /* The actual timeline (the vertical ruler) */
    .timeline::after {
        content: '';
        position: absolute;
        width: 6px;
        background-color: white;
        bottom: 0;
        z-index: -1;
        height: 100%;
        left: 41px;
    }
    

    .timeline li::before {
        content: '';
        position: relative;
        padding: 0 12.5px; /* Ajusta el ancho del círculo ajustando el padding */
        width: 25px;
        height: 25px;
        left: -12px;
        background-color: #7755ff;
        border: 4px solid white;
        top: 20px;
        border-radius: 50%;
        z-index: 1;
    }


    /* Contact */
    .msj {
        position: relative;
        width: 60vw;
        display: grid;
        grid-template-columns: 1fr repeat(2, 2fr);
        grid-template-rows: repeat(6, minmax(100px, 1fr));
        gap: 15px;
        align-items: center;
        justify-items: center;
    }

    .normal-input {
        font-size: 25px;
        border-radius: 12px;
        background-color: var(--bg-dark);
        border-color: black;
        color: antiquewhite;
    }

    .input-msj {
        font-size: 20px;
        background-color: transparent;
        height: 100%;
        width: 100%;
        border-color: transparent;
        outline: none;
        color: antiquewhite;
        resize: none;
    }


    .msj label {
        grid-column-start: 1;
        box-sizing: border-box;
        margin: 10px;
    }



    .msj .normal-input {
        grid-column: span 2;
        height: 50px;
        box-sizing: border-box;
        position: relative;
        right: 9px;
        width: 95%;
    }
    
    
    .msj .send-email-button {
        grid-column: span 3;
        height: 50px;
        width: 100%;
        border: 2px solid #3ccb6d;
        background-color: #4fa56c;

    }

    .msj .container-msj-input {
        grid-column: 2/-1;
        grid-row: 3/-2;
        height: 90%;
        width: 95%;
        right: 10px;
        position: relative;
    }

    
    .bg-form {
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: #4b4199;
        border: 4px solid white;
        z-index: -1;
        box-shadow: 2px 2px 5px black;
        border-radius: 10px;
    }
    .bg-small-1 {
       
        grid-column: 1 / 4;
        grid-row: 1/2;
       
    }

    .bg-small-2 {
        
        grid-column: 1 / 4;
        grid-row: 2/3;
        
    }

    .bg-big-1 {
        
        grid-column: 1 / 4;
        grid-row: 3/-2;

    }
    
    .msj input > :first-child {
        grid-column: 1 / 4;
        grid-row: 1/2;
    }
    .msj:nth-child(-1) {
        grid-row-start: 1;
    }

    .container-msj-input {
        padding: 10px;
        border-radius: 20px;
        box-sizing: border-box;
        background-color: var(--bg-dark);
        border-color: black;
        color: antiquewhite;
        margin: 10px;
        display: flex;
        align-items: center;
    }
    .msj .input-msj::-webkit-scrollbar {
        width: 12px;
        padding-left: 20px;
    }

    .msj .input-msj::-webkit-scrollbar-thumb {
        background-color: #c7c7c7;
        border-radius: 10px;
    }

    .msj .input-msj::-webkit-scrollbar-track {
        background-color: #f1f1f100; /* Color del fondo de la barra de desplazamiento */
    }

        /* responsive media */
    @media (max-width: 413px) {
        nav {
            padding-left: 100px;
        }
        .container-btn {
            min-height: none;
        }
    }

    @media (max-width: 1000px) {
        /* Estilos específicos para cuando el ancho del viewport es menor a 1000px */

    .skill {
        flex-direction: column !important;
    }

    .projects > article {
        grid-column: span 2;
    }

    #more-projects article {
        grid-column: span 2;
      }

    /* article:nth-child(2) {
        grid-column: span 2;
        grid-row: 2; 
    }
    
    article:nth-child(3) {
        grid-column: span 2;
        grid-row: 3; 
    } */

    .article-study {
        flex-direction: column;
    }

    .container-img-networks {
        flex-direction: column !important;
    }

    }

    @media (min-width: 1000px) {

    .projects {
        max-width: 70%;
    }

    }

    @media (min-width: 1250px) {
        .timeline {
            margin-left: 0px;
        }
    }

    @media (min-width: 1500px) {
        .img-project {
            width: 60%;
    
        }
    }

    /* commit */