* {
    margin: 0;
    padding: 0;
}


body {
    overflow-x: hidden;
}

/* .modal-contacto{
    display: flex;
    pointer-events: none;
    background: #000000cc;
    position: fixed;
    z-index: 2000;
    width: 100%;
    height: 100%;
    transition: 1s;
    opacity: 0;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    justify-content: center;

} */

/* Clase de activacion ".modal-contacto" */
/* 
.modal-contacto-activado{
pointer-events: all;
opacity: 1;
}

.cont-contactame{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: row;
    gap: 100px;
}

.modal-contacto h1 {
    text-align: center;
color: #FFFFFF;
}

.cont-contactame a img{
    width: 100px;
    height: 100px;
}

.ico-cerrar{
    position: absolute;
    top: 50px;
    right: 70px;
width: 60px;
height: 60px;
}

@media (max-width: 500px) {

    .modal-contacto{
    gap: 30px;
    }

    .cont-contactame{
    gap: 30px;
    }

    .cont-contactame a img{
        width: 75px;
        height: 75px;
    }

    .cont-contactame{
    flex-direction: column;
    }

    .ico-cerrar{
        top: 20px;
    right: 10px;
    width: 40px;
    height: 40px;
    }
 
}
*/


.redes-sociales {
    width: 240px;
    position: absolute;
    z-index: 5;
    bottom: 0;
    right: -1000px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    transition: right 0.5s;
    height: 87%;
}

/* Clases de activación de redes sociales */

.redes-sociales-activado {
    right: 0;
}

.red-social {
    border-radius: 20px 0px 0px 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: #FFFFFF;
}

.img-red-social {
    border-radius: 10px 0px 0px 10px;
    padding: 10px;
    display: flex;
    width: 30%;
    height: 70px;
    align-items: center;
    justify-content: center;
    background-color: #d2d2d2;
}

.red-social .img-red-social img {
    width: 40px;
}

.red-social span a {
    color: #011C40;
    font-size: 18px;
    font-weight: bold;
}


@media (max-width: 1050px) {
    .redes-sociales {
        width: 180px;
        justify-content: flex-start;
        gap: 50px;
        height: 75%;
    }
}



@media (max-width: 800px) {

    .redes-sociales {
        width: 180px;
        justify-content: flex-start;
        gap: 50px;
        height: 70% !important;
    }

    .red-social {
        gap: 15px;
    }

    .red-social .img-red-social {
        height: 55px;
    }

    .red-social .img-red-social img {
        width: 35px;
    }


}



#up {
    cursor: pointer;
    border-radius: 100%;
    background-color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    z-index: 1000;
    width: 50px;
    height: 50px;
    justify-content: center;
    bottom: -200px;
    right: 20px;
    box-shadow: 2px 5px 15px;
    transition: all 0.5s;
}

#up img {
    width: 25px;
}

#up:hover {
    transform: scale(1.2);
}

@media (max-width: 800px) {

    #up {
        display: none;
    }

}

/* Clases de activacion del boton "up" */

.up-activado {
    bottom: 30px !important;
    right: 30px !important;
}

#inicio {
    position: relative;
    overflow-x: hidden;
    height: 100vh;
    width: 100%;
    background-image: url('../resources/img/mountains-1985027_1920.webp');
    background-size: cover;
    /* O puedes usar "contain" según tus preferencias */
    background-position: center;
    /* Alinea la imagen al centro del contenedor */
    background-repeat: no-repeat;
}

header {
    height: 20%;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.logo {
    color: #fff;
    font-size: 50px;
    display: flex;
    width: 30%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.logo b {
    color: #011C40 !important;
}

.navegacion {
    margin-bottom: 0;
    margin-right: 70px;
    font-size: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 42px;
}

.navegacion li {
    list-style: none;
}

.navegacion li a {
    text-decoration: none;
    color: #fff;
    font-weight: 700;
    transition: all 0.5s;
}

.navegacion li a:hover {
    color: #011C40;
}

#contactame {
    cursor: pointer;
    font-weight: 700;
    border-radius: 10px;
    border-style: solid;
    border-width: 3px;
    border-color: #011C40;
    color: #011C40;
    background: transparent;
    width: 185px;
    height: 60px;
}

main {

    height: 80%;
    display: flex;
    align-items: start;
    justify-content: center;
}

.primera-foto {
    border-radius: 100%;
    box-shadow: 2px 5px 20px #000;
    background-color: #fff;
    width: 230px;
    height: 230px;
    opacity: 0;
    transform: translateY(50px);
    transition: all 1s;

}

/* Clase de activación */
.primera-foto-activacion {
    transform: translateY(0px);
    opacity: 1;
}

.sobre_mi {
    gap: 25px;
    border-radius: 10px;
    display: flex;
    background-color: rgba(255, 255, 255, 0.5);
    width: 720px;
    height: 520px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.sobre_mi h1 {
    color: #011C40;
    font-weight: 700;
}

.sobre_mi h3 {
    color: #00539C;
    font-weight: 700;
}

.hamburger {
    display: none;
}

.contenido-menu {
    pointer-events: none;
    background: #000000a6;
    position: fixed;
    z-index: 100;
    width: 100%;
    height: 100%;
    transition: 1s;
    opacity: 0;

}

.menu {
    transition: all 0.5s;
    position: fixed;
    width: 60%;
    height: 100%;
    padding-left: 20px;
    background-color: #fff;
    border: solid 2px #011C40;
    left: -1000px;
    overflow: auto;
}

.decorativos {
    height: 20%;
    display: flex;
    gap: 10px;
    flex-direction: column;
    justify-content: center;
}

.lineas {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.linea-1,
.linea-2,
.linea-3 {
    transition: width 1s;
    height: 5px;
    width: 20px;
    background-color: #00539C;
}

.linea-1-activado {
    width: 140px;

}

.linea-2-activado {
    width: 120px;
}

.linea-3-activado {
    width: 70px;
}

.opciones {
    display: flex;
    height: 80%;
    flex-direction: column;
    justify-content: space-between;

}

.opciones ul {
    margin-top: 20px;
    display: flex;
    transition: 0.7s left;
    position: relative;
    left: -1000px;
    padding: 0;
    list-style: none;
    /* padding-bottom: 10px; */
    flex-direction: column;
    gap: 50px;
}

.opciones ul li {
    display: flex;
    gap: 10px;
}

.opciones ul li a {
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    color: #011C40;
}

.opciones ul img {
    width: 25px;
    height: 25px;
}

.copyright-mobile {
    font-size: 14px;
    color: #707070;
    bottom: 0;
    padding-left: 35px;
}


/* Medias query y clases para la seccion de inicio */

.contenido-menu-activado {
    opacity: 1;
    pointer-events: all;
}

.menu-activado {
    left: 0;
}

.opciones-activado {
    left: 0px !important;
}

@media (max-width: 800px) {

    #contactame-reducido {
        display: block !important;
        font-weight: 700;
        border-radius: 10px;
        border-style: solid;
        border-width: 3px;
        border-color: #011C40;
        color: #011C40;
        background: transparent;
        width: 130px;
        height: 38px;
        margin-right: 10px;
    }

    .logo {
        font-size: 21px !important;
        width: 50% !important;
    }

    nav {
        display: none;
    }

    .hamburger {
        display: block;
        right: 0;
        bottom: 0;
        position: fixed;
        z-index: 101;
        cursor: pointer;
    }

    .hamburger input {
        display: none;
    }

    .hamburger svg {
        /* The size of the SVG defines the overall size */
        height: 4em;
        /* Define the transition for transforming the SVG */
        transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
    }

    .line {
        fill: none;
        stroke: white;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 3;
        /* Define the transition for transforming the Stroke */
        transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
            stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
    }

    .line-top-bottom {
        stroke-dasharray: 12 63;
    }

    .hamburger input:checked+svg {
        transform: rotate(-45deg);
    }

    .hamburger input:checked+svg .line-top-bottom {
        stroke-dasharray: 20 300;
        stroke-dashoffset: -32.42;
    }

    .primera-foto {
        width: 150px;
        height: 150px;
    }

    .sobre_mi h1 {
        text-align: center;
        font-size: 24px;
    }

    .sobre_mi h3 {
        text-align: center;
        font-size: 18px;
    }

    .sobre_mi {
        gap: 20px;
        margin-top: 20px;
        width: 310px;
        height: 375px;
    }
}

/* --------------------SOBRE MI---------------------------------------- */

#sobre-mi {
    display: grid;
    grid-template-columns: 0.7fr 1fr;
    padding: 40px 40px;
    height: 100vh;
    background-color: #0E69B8;
}

#cont-marco-foto {
    position: relative;
    margin: 70px 20px;
}

#foto {
    transform: translateY(50px);
    position: absolute;
    z-index: 2;
    opacity: 0;
    background: #fff;
    width: 400px;
    height: 520px;
    transition: all 1.5s;
}

/* Clase activada de foto */

.foto-activado {
    transform: translateY(0px) !important;
    opacity: 1 !important;
}

#marco {
    position: absolute;
    z-index: 1;
    left: 20px;
    top: 15px;
    border: #011C40 4px solid;
    width: 400px;
    height: 520px;
}

.titulo-decorado,
.titulo-decorado-mobile {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: center;
}

.titulo-decorado-mobile {
    display: none;
}

.titulo-decorado-mobile h1 {
    width: 100%;
    font-size: 53px;
    position: absolute;
    color: rgba(255, 255, 255, 0.1);
}

.titulo-decorado-mobile h3 {
    margin-bottom: 0;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
}

.titulo-decorado h1 {
    font-size: 120px;
    position: absolute;
    color: rgba(255, 255, 255, 0.1);
}

.titulo-decorado h3 {
    margin-left: 20px;
    margin-bottom: 0;
    color: #fff;
    font-size: 50px;
    font-weight: 700;
}


.cont-descripcion {
    margin-top: 70px;
}

.descripcion {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.descripcion-texto {
    font-size: 18px;
    color: #D9D9D9;
}

.cont-informacion {
    padding: 30px;
    border-radius: 10px;
    border: #011C40 3px solid;
    display: flex;
    gap: 20px;
    flex-direction: column;
    height: 300px;
    flex-wrap: wrap;
}

.cont-informacion p {
    display: flex;
    flex-wrap: wrap;
    font-weight: 700;
    color: #fff;
}

.color-info {
    margin-left: 20px;
    color: #D9D9D9;
}

.color-info img {
    width: 35px;
}



@media (max-width: 1050px) {

    #inicio {
        height: auto;
    }

    #sobre-mi {
        height: auto;
        padding: 40px 30px;
        grid-template-columns: 100%;
        justify-items: center;
    }

    .sobre_mi {
        margin-bottom: 50px;
    }

    #foto {
        position: relative;
        z-index: 2;

    }

    header {
        flex-direction: column;
    }

    .logo {
        width: auto;
    }

    .navegacion {
        margin-top: 30px;
        margin-bottom: 30px;
        flex-wrap: wrap;
    }

}

/* Medias query y clases para la seccion de sobre mí */
@media (max-width: 800px) {

    #inicio {
        height: 100vh !important;
    }

    header {
        flex-direction: row !important;
    }

    #foto,
    #marco {
        width: 210px;
        height: 290px;
    }

    #foto {
        position: absolute !important;
    }

    #marco {
        position: relative;
    }

    .titulo-decorado.sobre-mi {
        display: none;
    }

    .titulo-decorado-mobile {
        text-align: center;
        width: 100%;
        display: flex !important;
        align-items: center;
    }

    .cont-informacion {
        height: auto;
    }

    #cont-marco-foto {
        padding: 20px;
        margin: 50px 0 0 0;
    }

    .descripcion {
        gap: 40px
    }

    .color-info {
        margin-left: 5px;
    }

    .cont-foto {
        display: flex;
        justify-content: center;
    }
}

@media (max-height:400px) {
    #inicio {
        height: auto !important;
    }

    #contactame-reducido {
        margin-right: 0px;
    }


    .logo {
        display: block;
    }

    header {
        justify-content: center;
        margin-top: 30px;
    }
}

/* --------------------HABILIDADES---------------------------------------- */

#habilidades {
    overflow-x: hidden;
    position: relative;
    padding: 50px;
    display: flex;
    background-color: #09508D;
    height: 100vh;
    flex-direction: column;
    align-items: center;
}

.titulo-decorado.habilidad {
    font-size: 90px;
    margin-top: 30px;
    align-items: center;
}

.titulo-decorado.habilidad h1 {
    font-size: 90px;
}

.cont-habilidades {

    position: relative;
    margin-top: 40px;
    height: 80%;
    display: grid;
    grid-template-columns: 2fr 2fr 0.1fr;
    width: 100%;
    gap: 20px;
    justify-items: center;
    transition: all 1s;
    right: 0;
}

.columna1,
.columna2 {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 35px;
}



.barra-grafica {
    width: 60%;
}

.barra {
    border-radius: 20px;
    height: 30px;
    background-color: #D9D9D9
}

.barra-interna {
    border-radius: 20px 0px 0px 20px;
    width: 80px;
    height: 30px;
    background-color: #011C40;
    transition: 1s all;
}

.barra-grafica h6 {
    margin-bottom: 0;
    color: #FFFFFF;
}

.barra-grafica p {
    color: #D9D9D9;
    font-weight: 700;
}

.porcentaje {
    text-align: end;
    margin-bottom: 0;
}

.flecha {
    display: flex;
    align-items: center;
}

.cont-frameworks {
    transition: left 1s;
    position: absolute;
    top: 0;
    left: 2000px;
    height: 100vh;
    width: 100%;
}

.titulo-frameworks {
    display: flex;
    width: 50%;
    justify-content: center;
}

.contenido-frameworks {
    margin-left: 30px;
    width: 60%;
}

/* Clases activadas */

.cont-habilidades-ocultas {
    right: 2000px;
}

.cont-frameworks-activas {
    position: absolute;
    left: 0;
}

.frameworks {
    margin-left: 60px;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.contenido-frameworks div h1 {
    margin-bottom: 0;
    font-size: 55px;
    color: #fff;
}

.contenido-frameworks p {
    margin-top: 10px;
    color: #D9D9D9;
    margin-bottom: 0;
    font-size: 24px;
}

.flecha-img {
    transition: transform 0.5s;
    cursor: pointer;
}

.flecha-atras {
    transform: rotate(180deg);
    cursor: pointer;

}

.flecha-img:hover {
    transform: scale(1.3);
}

.flecha-atras:last-child {
    display: none;
}

.grupo-frameworks {
    display: flex;
    gap: 66px;
}

.img-frameworks {
    width: 220px;
    position: relative;
    top: 0;
}

.img-frameworks:last-child {
    height: 162px;
}

.img-frameworks:first-child {
    animation: levitar-primero 3s infinite alternate ease-in-out;
}

.img-frameworks:last-child {
    animation: levitar-segundo 3s infinite alternate ease-in-out;
}

@keyframes levitar-primero {

    /* Define la animación con un movimiento sutil de arriba a abajo */
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(30px);
    }
}

@keyframes levitar-segundo {

    /* Define la animación con un movimiento sutil de arriba a abajo */
    0% {
        transform: translateY(30px);
    }

    100% {
        transform: translateY(0px);
    }
}

@media (max-width: 1050px) {

    .titulo-frameworks {
        width: 65%;
    }

    .grupo-frameworks {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 40px;
    }

}


/* Diseño mobile de habilidades */

@media (max-width: 800px) {

    #habilidades {
        height: auto;
    }

    .titulo-decorado.habilidad h1 {
        font-size: 55px;
    }

    .titulo-decorado.habilidad h3 {
        font-size: 28px;
    }

    .cont-habilidades {
        grid-template-columns: 1fr;
    }

    #habilidades {
        padding: 10px;
    }

    .flecha-img {
        margin: 30px 20px;
    }

    .flecha-atras:first-child {
        display: none;
    }

    .flecha-atras:last-child {
        display: block;
    }

    .cont-frameworks {
        height: 100%;
    }

    .frameworks {
        flex-direction: column;
        justify-content: space-evenly;
        margin-left: 0;
    }

    .contenido-frameworks {
        margin-left: 0;
        width: auto;
        display: flex;
        flex-direction: column;
        gap: 28px
    }

    .contenido-frameworks h1 {
        font-size: 50px;
        margin-top: 20px;
    }

    .contenido-frameworks p {
        font-size: 22px;
    }


}

/* --------------------EDUCACION---------------------------------------- */

#educacion {
    display: flex;
    height: auto;
    width: 100%;
    background-color: #0E69B8;
    padding: 60px 20px;
    flex-direction: column;
    gap: 50px;
}

.titulo-decorado.educacion {
    align-items: center;
}

.titulo-decorado.educacion h1 {
    font-size: 90px;
}

.cont-educacion {
    transform: translateY(50px);
    opacity: 0;
    display: flex;
    gap: 50px;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: all 0.5s;
}

/* clase de activacion de "cont-educacion" */
.cont-educacion-activado {
    transform: translateY(0px);
    opacity: 1;
}

.informacion-educacion {
    width: 500px;
    height: 330px;
    background-color: #f9f9f9;
    border-radius: 10px;
    padding: 20px;
    transition: transform 0.5s;
}

.informacion-educacion p {
    color: #00539C;
    font-size: 18px;
}

.informacion-educacion:hover {
    transform: scale(1.1);
}

.informacion-educacion h3 {
    font-weight: 700;
    color: #011C40;
}

/* Diseño mobile de Educacion */

@media (max-width:800px) {
    .titulo-decorado.educacion h1 {
        font-size: 55px;
    }

    .titulo-decorado.educacion h3 {
        font-size: 28px;
    }

    .informacion-educacion {
        height: 450px;
    }
}


/*------------------------------PROYECTOS----------------------------------------*/

#proyectos {
    padding: 50px;
    display: flex;
    gap: 60px;
    background-color: #09508D;
    height: auto;
    flex-direction: column;
    align-items: center;
}

.titulo-decorado.proyecto {
    align-items: center;
}

.titulo-decorado.proyecto h1 {
    font-size: 90px;
}

.cont-proyecto {
    pointer-events: none;
    transform: translateY(50px);
    opacity: 0;
    width: 65%;
    display: flex;
    flex-direction: column;
    gap: 100px;
    transition: all 1s;
}

.tecnologias h6 {
    color: #011C40;
    text-align: center;
}

.elementos-tecnologias {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.elementos-tecnologias img {
    margin: 20px;
    width: 35px;
}

/* Clase de activacion de "cont-proyecto" */
.cont-proyecto-activado {
    pointer-events: all;
    transform: translateY(0px);
    opacity: 1;
}


.informacion-proyecto {
    border-radius: 20px;
    display: flex;
    gap: 15px;
    flex-direction: column;
    align-items: center;
    padding: 50px;
    background-color: #f9f9f9;
    width: 100%;
}

.informacion-proyecto h3 {
    color: #011C40;
    font-weight: 700;
}

.informacion-proyecto p {
    width: 100%;
    height: auto;
    overflow: auto;
    color: #0E69B8;
    font-size: 18px;
    max-height: 250px;
}

.proyecto-sin-video {
    display: flex;
    align-items: center;
}

.proyecto-sin-video a img {
    width: 50px;
}

/* CARRUSEL */

.container-carrusel {
    position: relative;
    width: 500px;
    height: 300px;
    overflow: hidden;
}

.slider {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.6s ease;
}

.slider-section {
    min-width: 100%;
    height: 100%;
}

.slider-section img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.btn-left,
.btn-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,.5);
    color: white;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    padding: 5px 10px;
}

.btn-left { left: 10px; }
.btn-right { right: 10px; }

.btn-left:hover,
.btn-right:hover {
    background-color: #333333d4;
    color: #ffffff;
}

.img-ampliada{
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    position: fixed;
    top: 0;
    background: #000000a6;
    width: 100%;
    height: 100%;
    z-index: 1000;
    opacity: 0;

}

.ampliado{
    overflow: auto;
    height: 80%;
}

.img-ampliada img {
    height: 100%;
    object-fit: cover;
}

.slider-section img {
    cursor: zoom-in;
}

/* Diseño mobile de Proyectos */

@media (max-width:800px) {
    .titulo-decorado.proyecto h1 {
        font-size: 55px;
    }

    .titulo-decorado.proyecto h3 {
        font-size: 28px;
    }

    #proyectos {
        padding: 60px 20px;
    }

    .informacion-proyecto {
        padding: 25px;
    }

    .cont-proyecto {
        width: 100%;
    }

    iframe {
        width: 100%;
    }

    .container-carrusel{
    width: auto;
    height: auto;
    }

    .ampliado{
        width: 90%;
    }

    
}

/* Pie de Pagina */

footer:not(.p-3) {
    background-color: #f9f9f9;
    font-size: 22px;
    height: 300px;
    display: flex;
    gap: 25px;
    flex-direction: column;
    align-items: center;
    justify-content: center;

}

.p-1 {
    text-align: center;
    margin-top: 50px;
    font-weight: 400;

}

.p-1:not(b) {
    color: #0E69B8;
}


.p-2 {
    color: #766666;
}

.p-2 b a {
    color: #766666;
    text-decoration: none;
}

.p-3 {
    font-size: 18px;
    color: #011C40;
}

.p-2 a:hover {
    color: #0E69B8;
}