Reset CSS *
{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* CSS general de elementos */
body
{
    background-color: #333;
    color: white;
    font: 200 14px Poppins, sans-serif;
}

footer
{
    position: absolute;
    bottom: 0;
    width: 100%;
}


/* titulos */

h2 a
{
    color: rgb(190, 0, 190);
}

/* subtitulos */
h3
{
    color: white;
    font-weight: 200;
    font-size: 20px;
}

a
{
    text-decoration: none;
}


section
{
    padding: 10px 100px 10px 100px;
}

@media (max-width: 910px)
{
    section
    {
        padding: 15px;
    }
}



/* NAV */

nav
{
    background-color: #222;
    border-bottom: 1px solid #00c3ff;
    text-align: center;
    width: 100%;
    position: fixed;
}

nav ul
{
    display: inline-block;
    font-size: clamp(20px, 2.5vw, 24px);
}

nav ul i:hover
{
    color: white;
}

/* .dropdown a
{
    display: inline-block;
} */

[data-es]
{
    display: none;
}

#Language-button a
{
    background-color: #233f47;
    color: #ffffff;
    border: 1px solid #00c3ff;
}

/* INICIO */
#Inicio
{
    border-bottom: 1px solid #00c3ff;
    background-image: url("./Img/Fondo/jack-b-YHFaMjk4uVo-unsplashv3.jpg");
    min-height: auto;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

h2 .name
{
    font-size: clamp(24px, 1vw, 36px);
}


.titulo
{
    color: rgb(190, 0, 190);
    font-family: 'Source Code Pro', sans-serif;
    font-size: clamp(16px, 2.5vw, 20px);
}

.hastag
{
    color: #00c3ff;
    font-size: clamp(14px, 2.5vw, 18px);
}

#IconsSocialMedia
{
    font-size: 35px;
    text-align: center;
    display: inline-block;
    padding-top: 10px;
}

#IconsSocialMedia li
{
    float: left;
    margin-right: 25px;

}

/* Sobre mi */
#AboutMe
{

    display: grid;
    grid-template-columns: 350px 1fr;
    background-color: #222;

    padding: 60px 180px 60px 180px;
}



@media (max-width: 1080px)
{
    #AboutMe
    {
        grid-template-columns: 1fr;
        padding: 30px 10px 30px 10px;
    }

    #AboutMeinfo
    {
        margin: 25px;
        text-align: start;
    }

    #ImgMe
    {
        text-align: center;
    }



}

/* Portfolio */
#Portfolio
{
    border-top: 1px solid #00c3ff;

    width: 100%;
    height: 100%;
    background: radial-gradient(circle farthest-side at 0% 50%,
            #282828 23.5%,
            rgba(255, 170, 0, 0) 0) 21px 30px,
        radial-gradient(circle farthest-side at 0% 50%,
            #2c3539 24%,
            rgba(240, 166, 17, 0) 0) 19px 30px,
        linear-gradient(#282828 14%,
            rgba(240, 166, 17, 0) 0,
            rgba(240, 166, 17, 0) 85%,
            #282828 0) 0 0,
        linear-gradient(150deg,
            #282828 24%,
            #2c3539 0,
            #2c3539 26%,
            rgba(240, 166, 17, 0) 0,
            rgba(240, 166, 17, 0) 74%,
            #2c3539 0,
            #2c3539 76%,
            #282828 0) 0 0,
        linear-gradient(30deg,
            #282828 24%,
            #2c3539 0,
            #2c3539 26%,
            rgba(240, 166, 17, 0) 0,
            rgba(240, 166, 17, 0) 74%,
            #2c3539 0,
            #2c3539 76%,
            #282828 0) 0 0,
        linear-gradient(90deg, #2c3539 2%, #282828 0, #282828 98%, #2c3539 0%) 0 0 #282828;
    background-size: 40px 60px;
}

#Portfolio h3
{
    font-weight: 500;
    color: white;
    /* font-size: clamp(1px, 2.5vw, 18px); */
    font-weight: 200;
    text-align: start;
}



.TablaProyectos
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 30px;
}

.card-game
{
    min-width: 300px;
    max-width: 320px;

}

.Card img,
.Card video,
.Card iframe
{
    margin-top: 0px;
    border-radius: 15px;
    min-width: auto;
    min-height: auto;
    max-width: 300px;
    max-height: 160px;
    border: 0px solid transparent;
}


#Portfolio i:hover
{
    color: white;
}



#Portfolio .card h3
{
    color: #00c3ff;
    font-weight: 500;
}

.Card h4
{
    text-align: justify;
    margin-bottom: 0px;
    padding: 0px 25px 0px 25px;
    font-weight: 200;
    /* font-size: clamp(1px, 2.5vw, 14px); */
}

/* Titulo proyecto */
.Card h5
{
    color: #ffffff;
    font-weight: bold;
    padding: 0px 25px 0x 25px;
    /* font-size: clamp(1px, 2.5vw, 20px); */
    margin-bottom: 0px;
    margin-top: 10px;
}

.Card,
.PortfolioSeparacion
{
    border-bottom: 1px solid #00c3ff;


}

.card p
{
    text-align: start;
}

.Card .DatesExp
{
    height: 320px;
}

.Card .DatesExp p
{
    padding-bottom: 5px;
}

.Card .ListExp
{
    height: 280px;
    display: grid;
    grid-template-rows: 240px 10px 20px;
}

.Card .MoreInfo
{
    height: 25px;
    padding: 5px 25px 5px 25px;
    justify-self: end;
}

.Card .MoreInfo button
{
    background-color: rgb(74, 30, 146);
    font-weight: 600;
    padding: 2px 15px 2px 15px;
    color: white;
}

.MoreInfo a
{
    display: inline-flex;
    align-items: center;
}

.GameEngine
{
    color: white;
    width: 20px;
    padding-left: 10px;
}

/* Experiencia */
#Experiencia
{
    background-color: #222;
    border-top: 1px solid #00c3ff;

}

#Experiencia h4
{
    font-weight: 500;
}


.gridExp
{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 15px;
    justify-content: space-around;
    align-content: space-around;
    padding-bottom: 15px;
}

/* En caso de que la pantalla no pueda soportar 3 bloques del grid */
@media (max-width: 1024px)
{
    .gridExp
    {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 910px)
{
    .gridExp
    {
        grid-template-columns: 2fr;
    }
}

/* ----------------------------------------------- */
.CardExp
{
    background-color: #333;
    color: white;
}

.CardExp h2
{
    font-size: clamp(14px, 2.5vw, 18px);
    color: #00c3ff;
    font-weight: 300;
}

.CardExp h3
{
    color: rgb(209, 209, 209);
}

.CardExp h4
{
    font-weight: 500;
}



/* Iconos de programas usados */
.CardExp ul
{
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    font-size: 25px;
}

.CardExp li
{
    width: max-content;
}

.CardExp img,
.CardExp video
{
    width: max-content;
}

/* SKILLS */
.gridSkills
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    /* Ajuste automático */
    justify-content: space-around;
    align-content: space-around;
}



/* ----------------------------------------------- */
.CardSkill
{
    background-color: #333;
    /* border-radius: 20px; */
    color: white;
    /* margin: 10px; */
    text-align: center;
    align-items: center;
    display: inline;
    width: 160px;
    height: auto;

}

.CardSkill img
{
    width: min-content(auto);
    height: 50px;
    padding-top: 7.5px;
    margin-bottom: 5px;

}

#Experiencia .CardSkill h3
{
    font-size: clamp(14px, 2.5vw, 18px);
    word-wrap: break-word;
    text-align: center;
    align-self: center;
    color: white;
}

/* Licenciados */

#Certificados
{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 10px;
    justify-content: space-around;
    align-content: space-around;
    padding-bottom: 15px;
}

/* En caso de que la pantalla no pueda soportar 3 bloques del grid */
@media (max-width: 1024px)
{
    #Certificados
    {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 910px)
{
    #Certificados
    {
        grid-template-columns: 1fr;
    }
}

#Certificados h2
{
    font-size: 16px;
    justify-content: center;
    margin: 0;
    padding: 0;
}

#Certificados h3
{
    color: white;
    font-size: 14px;
    font-weight: 200;
    text-align: end;
    margin: 0;
    padding: 0;
}

#Certificados h4
{
    font-size: 16px;
    font-weight: 400;
    color: #beacff;
    margin: 0px;
    padding: 5px 0px 5px 0px;
}

#Certificados h5
{
    font-size: 18px;
    font-weight: 600;
    margin: 0px;
    width: auto;
    padding: 5px 0px 5px 0px;
}

#Certificados .CertificadoCard a:hover
{
    color: #00c3ff;
}

#Certificados .CertificadoCardTitle
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    margin-bottom: 0px;
}

#Certificados .CertificadoCard
{
    background-color: #333;
    border-radius: 20px;
    color: white;
    padding: 10px 15px;
    margin: 10px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 10px;
}


/* Contacto */

#Contact
{
    border-top: 1px solid #00c3ff;
    background-color: #233f47;
}

#Contact h2 b
{
    color: #00c3ff;
}

#Contact .itemform
{
    display: grid;
    grid-template-columns: 150px 350px;
    padding: 10px;
    justify-content: center;
    margin-bottom: 10px;
}

/* En caso de que la pantalla no pueda soportar 3 bloques del grid */
@media (max-width: 1024px)
{
    #Contact .itemform
    {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 910px)
{
    #Contact .itemform
    {
        grid-template-columns: 1fr;
    }
}

#Contact .itemform label
{
    margin-right: 20px;
    width: 20px;
    font-weight: 700;
}

#Contact .itemform input,
#Contact .itemform textarea
{
    border-radius: 5px;
    border: 1px solid white;
}

#Contact .itemform input[type="submit"]
{
    background-color: #222;
    border: 1px solid #222;
    color: white;
    padding: 10px;
    grid-column: 2/3;
    justify-self: end;
}

#Contact .itemform input[type="submit"]:active
{
    background-color: #444;
    border-color: #444;
}

/* Footer */
footer
{
    border-top: 2px solid #00c3ff;
    color: #ccc;
    text-align: center;
    padding: 10px;
    position: static;
    bottom: 0;
    width: 100%;
}

/* OTROS */
/* Iconos */
ul
{
    list-style: none;
}








/* Asegura que los enlaces mantengan color blanco en diferentes navegadores */
a:-webkit-any-link
{
    color: white;
}

a:any-link
{
    color: white;
}

a:-moz-any-link
{
    color: white;
}

/* Cambia el color del button/link cuando se pasa encima */

.nav-link.active
{
    font-weight: normal !important;
    color: #B197FC !important;
    /* conservas tu color */
}






/* From Uiverse.io by NorthFishHasNa */
#AboutMe a
{
    display: inline-block;
    text-align: center;

    transition: all 0.5s;
    cursor: pointer;
    margin: 5px;
}

a span
{
    cursor: pointer;
    display: inline-block;
    position: relative;
    transition: 0.5s;
}

#AboutMe a span:after
{
    content: '»';
    position: absolute;
    opacity: 0;
    top: 0;
    right: -15px;
    transition: 0.5s;
}

#AboutMe a:hover span
{
    padding-right: 15px;
}

#AboutMe a:hover span:after
{
    opacity: 1;
    right: 0;
}



#Portfolio .card
{
    box-shadow: rgba(0, 0, 0, 0.4) 10px 20px 30px, rgba(0, 0, 0, 0.3) 10px 1px 53px 3px, rgba(1, 0, 0, 0.2) 0px -1px 3px inset;
    cursor: pointer;
    transition: all 0.5s;
    display: flex;
    user-select: none;
}

#Portfolio .card:hover
{
    transform: scale(1.021);
}

#Portfolio .card:active
{
    transform: scale(0.95) rotateZ(1.1deg);
}

/* From Uiverse.io by wilsondesouza */
#Inicio ul
{
    list-style: none;
}



.example-2 .icon-content
{
    position: relative;
}

.example-2 .icon-content .tooltip
{
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    color: #ffffff;
    padding: 6px 10px;
    border-radius: 5px;
    opacity: 0;
    visibility: hidden;
    font-size: 14px;
    transition: all 0.3s ease;
}

.example-2 .icon-content:hover .tooltip
{
    opacity: 1;
    visibility: visible;
    top: -30px;
}

.example-2 .icon-content a
{
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    color: #222;
    background-color: #fff;
    transition: all 0.3s ease-in-out;
}

.example-2 .icon-content a:hover
{
    box-shadow: 3px 2px 45px 0px rgb(0 0 0 / 12%);
}

.example-2 .icon-content a svg
{
    position: relative;
    z-index: 1;
    width: 30px;
    height: 30px;
}

.example-2 .icon-content a:hover
{
    color: white;
}

.example-2 .icon-content a .filled
{
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background-color: #000;
    transition: all 0.3s ease-in-out;
}

.example-2 .icon-content a:hover .filled
{
    height: 100%;
}

.example-2 .icon-content a[data-social="linkedin"] .filled,
.example-2 .icon-content a[data-social="linkedin"]~.tooltip
{
    background-color: #0274b3;
}

.example-2 .icon-content a[data-social="github"] .filled,
.example-2 .icon-content a[data-social="github"]~.tooltip
{
    background: linear-gradient(45deg,
            #6e40c9,
            #8e44ec,
            #a678f1,
            #c084fc);
}

.example-2 .icon-content a[data-social="email"] .filled,
.example-2 .icon-content a[data-social="email"]~.tooltip
{
    background: linear-gradient(45deg,
            #1e2a38,
            #2e3b4e,
            #3c4d63);
}

.example-2 .icon-content a[data-social="itch"] .filled,
.example-2 .icon-content a[data-social="itch"]~.tooltip
{
    background: linear-gradient(45deg,
            #fa5c5c,
            /* rojo principal de itch.io */
            #e04545,
            /* un rojo más profundo */
            #c53030);
    /* un rojo oscuro para contraste */
}


/* From Uiverse.io by adamgiebl */
.CertificadoCard a
{
    display: inline-flex;
    appearance: none;

    cursor: pointer;
    font-family: "JetBrains Mono", monospace;
    list-style: none;
    overflow: hidden;


    transition: box-shadow 0.15s, transform 0.15s;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    white-space: nowrap;
    will-change: box-shadow, transform;
}


.CertificadoCard a:hover
{
    transform: translateY(-4px);
}

/* Estilos base para todas las secciones de contenido */
.content-section
{
    opacity: 0;
    /* Por defecto, todas las secciones están ocultas */
    transform: translateY(20px);
    /* Un ligero desplazamiento hacia abajo para el efecto de "aparición desde abajo" */
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    /* Suaviza los cambios de opacidad y posición */
    /* width: 100%; */
    /* Si usas position: absolute, esto ayudaría */
    visibility: hidden;
    /* Oculta la sección completamente cuando no está activa */
    /* Puedes ajustar la altura mínima para evitar saltos si las secciones son muy diferentes */
    /* min-height: 500px; */
    /* Ajusta según tus necesidades */
}

/* Estado ACTIVO: La sección que debe ser visible */
.content-section.active
{
    opacity: 1;
    /* Completamente visible */
    transform: translateY(0);
    /* Vuelve a su posición original */
    visibility: visible;
    /* Hace visible la sección */
    /* position: relative;  // Si usas position: absolute arriba, esta la activa */
    /* z-index: 1; */
}

/* Opcional: Cuando una sección está saliendo (si usas un sistema de navegación por clics) */
.content-section.exiting
{
    opacity: 0;
    transform: translateY(-20px);
    /* Opcional: que se desplace hacia arriba al salir */
    /* Puedes controlar si es visible o no durante la salida */
}