/* FUENTE */
@import url('https://fonts.googleapis.com/css2?family=Montserrat+Alternates:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900&display=swap');
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Montserrat Alternates', sans-serif; 
    }
html {
    scroll-behavior: smooth;
}

#inicio {
    background: linear-gradient(rgba(0, 0 , 0, .7), rgba(0, 0, 0, .7)), url("./img/fondo.jpeg"); 
    background-size: cover;
    background-position: center center;
    height: 100vh;
}

#inicio .contenido-header {
    background-color: rgba(0, 0, 0, .8);
    position: fixed;
    width: 100%;
    z-index: 100;
    top: 0;
}

#inicio .contenido header .contenido-header {
    max-width: 1100pt;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
}

#inicio .contenido header .contenido-header {
    text-align: center;
    color: rgb(230, 230, 235);
}

#inicio .contenido header .contenido-header nav ul {
    list-style: none;
    display: flex;
    align-items: center;
}

#inicio .contenido header .contenido-header nav ul li a{
    text-decoration: none;
    color: #fff;
    margin: 0 12px;
    font-weight: 40%;
    transition: .5;
}

#inicio .contenido header .contenido-header nav ul a:hover {
    color: rgb(14, 26, 185);
}

#inicio .contenido header .contenido-header .redes a {
    text-decoration: none;
    color: #fff;
    display: inline-block;
    margin: auto;
    transition: .5s;

}

#inicio .contenido header .contenido-header .redes a:hover {
    color: rgb(14, 26, 185);
}

#inicio .contenido header .contenido-header .seleccionado {
    color: rgb(14, 26, 185);;
}

#inicio .contenido .presentacion {
    max-width: 1100pt;
    height: 100vb;
    margin: auto;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#inicio .contenido .presentacion .bienvenida {
    font-size: 16px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 5px;
}

#inicio .contenido .presentacion h2 {
    font-size: 35px;
    margin-bottom: 25px;
    text-align: center;
}

#inicio .contenido .presentacion h2 span {
    font-size: 35px;
    color: rgb(14, 26, 185);
}

#inicio .contenido .presentacion .descripcion {
    max-width: 700px;
    margin: 25px auto;
    font-size: 18px;
    text-align: center;
}

#inicio  .contenido .presentacion a {
    text-decoration: none;
    display: inline-block;
    margin: 25px;
    padding: 20px 25px;
    border: 2px solid #fff;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    transition: .5s;
}

#inicio .contenido .presentacion a:hover {
    background-color: rgb(14, 26, 185);
}

#icono-nav {
    color: #fff;
    display: none;
}

/*SOBRE MI*/

#sobremi {
    max-width: 1100px;
    margin: auto;
    padding: 100px 15px;
    color: #111111;
    display: flex;
}

#sobremi .contenedor-foto {
    max-width: 400px;
    margin-right: 80px;
}

#sobremi .contenedor-foto img {
    padding: 20px;
    width: 100%;
    border-radius: 30px;
    background-color: rgba(82, 55, 180, 0.2);

}

#sobremi .sobremi {
    margin: 0 40px;

}

#sobremi .sobremi .titulo-seccion {
    font-size: 22px;
    text-transform: uppercase;
    color: #111135;
    text-decoration: underline;
    text-decoration-color: #d3d3d3;
    text-decoration-thickness: 5px;
}

#sobremi .sobremi h2 {
    font-size: 30px;
    font-weight: bold;
    margin: 20px 0;
    letter-spacing: 2px;
}

#sobremi .sobremi h2 span {
    color: rgb(14, 26, 185);
}

#sobremi .sobremi h3 {
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

#sobremi .sobremi p {
    font-size: 14px;
    line-height: 25px;
    color: #565656;
    margin-bottom:12px;
    text-align: justify; 
} 

#sobremi .sobremi a {
    display: inline-block;
    text-decoration: none;
    color: #006;
    border-radius: 30px;
    padding: 10px 20px;
    border: 1px solid #006;
    margin-top: 30px;
    transition: .5s;
}

#sobremi .sobremi a:hover {
    background-color: rgb(14, 26, 185);;
    color: #fff;
}

/*SERVICIO*/

#servicios {
    padding: 100px 15px;
    text-align: center;
    background-color: #f3f3f3;
}

#servicios .titulo-seccion {
    font-size: 22px;
    text-transform: uppercase;
    color: #111135;
    text-decoration: underline;
    text-decoration-color: #d3d3d3;
    text-decoration-thickness: 5px;
}

#servicios .fila {
    display:flex;
    justify-content: space-between;
    max-width: 900px;
    margin: 30px auto;
}

#servicios .fila .servicio {
    max-width: 350px;
    background-color: #fff;
    padding: 30px;
    margin: 0 5px;
    border-radius: 5px;
    transition: .5s;
}

#servicios .fila .servicio:hover {
    box-shadow: 5px 5px 10px #565656, -5px -5px 10px #8a8a8a;;
}

#servicios .fila .servicio h4 {
    font-size: 22px;
    margin-bottom: 25px;
}

#servicios .fila .servicio hr {
    width: 30%;
    margin: auto;
    color: #000;
    margin-bottom: 25px;
}

#servicios .fila .servicio ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

#servicios .fila .servicio p {
    font-size: 14px;
    line-height:  22px;
}

/*PORTFOLIO*/

#portfolio {
    max-width: 1100px;
    padding: 100px 0;
    margin: auto;
}

#portfolio .titulo-seccion {
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
    color: #111135;
    text-decoration: underline;
    text-decoration-color: #d3d3d3;
    text-decoration-thickness: 5px;
}

#portfolio .fila {
    display: flex;
    justify-content: space-between;
    margin: 30px 0;
}

#portfolio .fila .proyecto {
    max-width: 500px;
    border: 1px solid #000;
    margin: 0 10px;
    position: relative;
    overflow: hidden;
}

#portfolio .fila .proyecto img {
    width: 100%;
    height: 100%;
    filter:grayscale(1);
    object-fit: cover;
    transition: .5s;
}

#portfolio .fila .proyecto:hover img {
    filter: grayscale(0);
}

#portfolio .fila .proyecto .info {
    position: absolute;
    left: 0;
    background-color: rgba(0, 0, 0, .8);;
    color: rgb(250, 250, 250);;
    width: 100%;
    padding: 10px;
    opacity: 0;
    bottom: -40px;
    transition: .5s;
}

#portfolio .fila .proyecto:hover .info {
    opacity: 1;
    bottom: 0;
}

/*CONTACTO*/

#contacto {
    padding: 10px 15px;
}

#contacto .titulo-seccion {
    margin-bottom: 20px;
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
    color: #111135;
    text-decoration: underline;
    text-decoration-color: #d3d3d3;
    text-decoration-thickness: 5px;
}

.contenedor-contacto {
    max-width: 600px; 
    margin: 0 auto; 
    padding: 20px;
    text-align: center; 
    background-color: #f9f9f9; 
    border-radius: 10px; 
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
}

.contenedor-contacto p {
    font-size: 18px; 
    color: #333; 
    margin: 10px 0;
}

.contenedor-contacto a {
    color: #0077b5; 
    text-decoration: none; 
    font-weight: bold; 
    transition: color 0.3s ease; 
}

.contenedor-contacto a:hover {
    color: #005580; 
}

@media (max-width: 600px) {
    .contenedor-contacto {
        padding: 15px; 
    }

    .contenedor-contacto p {
        font-size: 16px; 
    }
}

/*FOOTER*/

footer {
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 30px 0;
}

footer a {
    text-decoration: none;
    color: #fff;
    display: inline-block;
    margin: 5px;
    font-size: 20px;
}

/*REPONSIVE*/

@media screen and (max-width:800px){
    .redes {
        display: none;
    }
    nav {
        display: none;
    }
    nav.responsive {
        display: block;
        background-color: rgba(0, 0, 0, .8);
        width: 100%;
        position: absolute;
        top: 48px;
        left: 0;
        padding: 10px 0;
    }
    nav.responsive ul {
        display: block !important;
        text-align: center;
    }
    nav.responsive ul li {
        margin: 5px 0;
    }
    #icono-nav {
        display: block;
        cursor: pointer;
    }
    #inicio .contenido .presentacion h2 {
        font-size: 40px;
    }

    /* Estilos responsive */
#sobremi {
    padding: 50px 0;
    display: flex;
    flex-direction: column;
    align-items: center; /* Alinea todo el contenido al centro horizontalmente */
}

#sobremi .contenedor-foto {
    max-width: 200px;
    margin: 0 auto; /* Centra la imagen horizontalmente */
}

#sobremi .contenedor-foto img {
    padding: 8px;
    width: 100%; /* Asegura que la imagen ocupe el contenedor */
    border-radius: 30px;
}

#sobremi .sobremi .titulo-seccion,
#sobremi .sobremi h2,
#sobremi .sobremi h3 {
    text-align: center;
}


#servicios {
    padding: 50px 15px;
}

    #servicios .fila {
        display: block;
    }

    #servicios .fila .servicio {
        margin: 10px auto;
    }

    #portfolio {
        padding: 50px 0;
    }

    #portfolio .fila {
        display: block;
    }

    #portfolio .fila .proyecto {
        margin: 10px auto;
    }

    /* CSS para responsive */
#contacto {
    padding: 50px 15px;
}

#contacto .contenedor-form .mitad {
    margin-bottom: 15px;
    display: block;
}

#contacto .contenedor-form .mitad input {
    width: 100%;
    margin-bottom: 15px;
}

#contacto .contenedor-form .fila input,
#contacto .contenedor-form .fila textarea {
    width: 100%;
    margin-bottom: 15px;
}

}