* {
    margin: 0;
    padding: 0;
}
html {
    font-size: 20px;
}
body {
    font-family: Arial, sans-serif;
    background: linear-gradient(to bottom, #292929 0%, #1a1a1a 50%, #303030 100%);
}

/* parte del header */
.banner {
    background: url("banner.png") no-repeat center center;
    background-size: 100%;
    background-repeat: no-repeat;

    height: 30vh;
    margin-bottom: 28%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;

}
.perfil {
    width: 60%;
    border-radius: 40px;
    display: block;
    margin-bottom: -24%;
    border: 2px solid black;
}

/* estilos del card */
.card {
    background: linear-gradient(to bottom, #0a0048 0%, #131313 100%);
    width: 84%;
    color: white;
    margin: 0 auto;
    margin-bottom: 6%;
    padding: 4%;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    -webkit-margin-bottom-collapse: collapse;
}
h1 {
    font-size: 2.5em;
    font-family:Georgia, 'Times New Roman', Times, serif;
}
.info-perfil {
    font-size: 1em;
    color: #cccccc;
    margin-bottom: 8%;
}
.descripcion {
    font-size: 0.9em;
    color: #e8e8e8;
    margin-top: 0.5em;
    font-family: sans-serif;
}

/* ahora la zona del menu */
.menu {
    margin-top: 10%;
    font-size: 0.7em;
    display: flex;
    justify-content: space-around;
    height: auto;
}
.item-menu {
    color: white;
    list-style: none;
    flex: 0 0 20%;
}
.item-menu a {
    color: white;
    text-decoration: none;
    width: 100%;
    display: block;
    padding: 6% 2%;
    transition: all 0.3s ease;
    border-bottom: 1px solid white;
}
.item-menu a:hover {
    background-color: #ffffff;
    color: black;
    border-radius: 5px;
}
.item-menu a.active {
    background-color: #ffffff;
    color: black;
    border-radius: 5px;
}

/* general de las secciones */
.seccion {
    width: 84%;
    margin: 5% auto;
    padding: 4%;
    color: white;
    background: linear-gradient(to bottom, #0a0048 0%, #131313 100%);
    border-radius: 0 0 10px 10px;
    -webkit-margin-bottom-collapse: collapse;
}
.tecnologias, .proyectos, .redes {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.tecnologia-caja, .proyecto-caja, .red-social {
    list-style: none;
    width: 46%;
    margin: 2%;
    border-radius: 20px;
    text-align: center;
    transition: all 0.3s ease;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
.red-social {
    width: 40%;
}
.proyecto-caja {
    width: 90%;
    aspect-ratio: 1.85;
}
.proyecto-caja a, .red-social a {
    display: block;
    text-decoration: none;
    color: white;
}
.tecnologia-caja p, .proyecto-caja a, .red-social a {
    font-size: 1.2em;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    border-radius: 20px;
}
.tecnologia-caja p:hover, .proyecto-caja a:hover, .red-social a:hover {
    color: white;
    background-color: rgba(0, 0, 0, 0.671);
    opacity: 1;
}
.proyecto-caja a:hover, .red-social a:hover {
    cursor: pointer;
}

/* fondos personalizados */
#html-caja {
    background: url("html.png") no-repeat center center;
    background-size: cover;
}
#css-caja {
    background: url("css.png") no-repeat center center;
    background-size: cover;
}
#javascript-caja {
    background: url("js.png") no-repeat center center;
    background-size: cover;
}
#python-caja {
    background: url("python.png") no-repeat center center;
    background-size: cover;
}
#nodejs-caja {
    background: url("nodejs.png") no-repeat center center;
    background-size: cover;
}
#siempreBella {
    background: url("siemprebella.png") no-repeat center center;
    background-size: cover;
}
#correo {
    background: url("correo.jpg") no-repeat center center;
    background-size: cover;
}
#whatsapp {
    background: url("whatsapp.jpg") no-repeat center center;
    background-size: cover;
}
#github {
    background: url("github.jpg") no-repeat center center;
    background-size: cover;
}
#instagram {
    background: url("instagram.jpg") no-repeat center center;
    background-size: cover;
}

/* estilos para el formulario */
.formulario {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.logo-formulario {
    width: 30%;
    margin-bottom: 4%;
}
.formulario input, .formulario textarea {
    width: 80%;
    padding: 2%;
    margin: 2% auto;
    border-radius: 5px;
    font-size: 0.8em;
    box-sizing: border-box;
}

textarea {
    resize: none;
    height: 20vh;
}
select {
    width: 80%;
    padding: 2%;
    margin: 2% auto;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 0.8em;
    background-color: white;
}
option {
    font-size: 0.6em;
}
.boton {
    padding: 4% 6%;
    background-color: #0a0048;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 1em;
    cursor: pointer;
    margin-top: 4%;
}
.boton:hover {
    background-color: white;
    color: black;
}
input, select, textarea {
    margin-bottom: 6%;
}

/* la de ocultar */
.oculto {
    display: none;
}

@media(min-width: 1024px) {
    .banner {
        height: 40vh;
        margin-bottom: 18%;
    }
    .perfil {
        width: 25%;
        margin-bottom: -16%;
    }
    .info-perfil {
        margin-bottom: 4%;
    }
    .menu {
        margin-top: 5%;
    }
    .seccion {
        margin: 3%;
        padding: 2%;
    }
    .tecnologia-caja, .proyecto-caja, .red-social {
        width: 24%;
        margin: 1%;
        margin-bottom: 4%;
    }
    .proyecto-caja {
        width: 80%;
    }
    .logo-formulario {
        width: 25%;
    }
    .formulario input, .formulario textarea, select {
        width: 60%;
        margin-bottom: 2%;
    }
    option {
        font-size: 1em;
    }
    textarea {
        height: 50vh;
    }
    .boton {
        margin-top: 2%;
        padding: 2% 4%;
    }
}