html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}
body {
    min-height:170vh; /* Mínimo 100% de la altura de la ventana */
    margin: 0px; 
    padding-bottom: 18vh; /* Ajusta según la altura del footer */
    position: absolute; /* Asegura que el footer esté posicionado correctamente */
}
/*Encabezado*/
header {
    display: flex;
    height: 60px;
    justify-content: space-between;
    align-items: center;
    padding: 60px;
    background: linear-gradient(90deg, rgba(255, 241, 104) 10%, rgba(255, 0, 0, 0.8) 60%);
}

.logo {
    flex: 1;
    display: flex;
    align-items: center;
}

.logo img {
    height: 210px;
}
.menu {
    flex: 2;
    display: flex;
    justify-content: center;
    margin-right: 5px; /* Agrega un margen derecho al menú */
}

.menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

.menu li {
    margin: 0 20px;
    position: relative;
}

.menu a {
    text-decoration: none;
    color: black;
    font-size: 20px;
    display: flex;
    align-items: center;
    position: relative;
}

/*cambio tamaño de forma*/
.menu .link:hover, .menu .active {
    transform: scale(1.1); /* Aumenta el tamaño del botón al 110% */
    border-radius: 8px; /* Aplica un borde redondeado al botón */
    transition: transform 0.3s ease, border-radius 0.3s ease; /* Agrega una transición suave */
}
/*portada*/
.portada {
    font-size:4em;
    position: relative;
    background-image: url('../img/grupo5.jpg'); /* Ruta relativa a la carpeta 'img' */
    background-size: cover; /* Asegura que la imagen cubra todo el área */
    background-position: center; /* Centra la imagen */
    text-align: center;
    padding: 30px 30px;
    color: black;
    overflow: hidden; /* Asegura que la superposición no se desborde */
    display: flex; /* Usa flexbox para centrar el contenido */
    justify-content: center; /* Centra horizontalmente */
    align-items: center; /* Centra verticalmente */
}

.portada h1 {
    font-size: var(--h1-font-size, 4em); /* Usa una variable CSS para el tamaño de fuente */
    border-radius: 4px; /* Añade bordes redondeados al fondo */
   padding: 5px 5px; /* Ajusta el padding según sea necesario */
   margin: -10px 0 0;/* Elimina el margen superior e inferior */
    justify-content: center; /* Centra horizontalmente el contenido */
    align-items: center; /* Centra verticalmente el contenido */
    text-align: center; /* Centra el texto horizontalmente */
     display: flex;
    line-height: 1.2;
    text-shadow: 2px 2px 2px black; /* Delineado de las letras */
    transition: color 0.5s; /* Transición suave para el cambio de color */
}

/* Estilos para el icono de la flecha */
.arrow {
    margin-left: 0px; /* Ajusta según sea necesario */
    width: 20px; /* Tamaño ajustado */
    height: 20px; /* Tamaño ajustado */
    display: inline-block;
    position: relative;
    top: 2px; /* Ajuste para centrar verticalmente */
}

/* Estilos para el menú desplegable */
.dropdown {
    position: relative;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #256B8C;
    min-width: 160px;
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
    z-index: 1;
}

.dropdown-content a {
    color: white;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: justify; /* Justificar el texto dentro de los enlaces */
}

.dropdown-content a:nth-child(2) {
    white-space: nowrap; /* Evitar que el texto se divida en varias líneas */
}

.dropdown-content a:hover {
    background-color: #778899;
}

.dropdown:hover .dropdown-content {
    display: block;
}

button {
    color: white;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 10px;
    transition: .3s ease;
    display: inline-flex;
    background-color: #256B8C;
}

#myButton {
    margin-right: 12px; /* Separación de los botones */
}

.Button {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    /*separa los botones del menu*/
    margin-left: 5px; /* Agrega un margen izquierdo a los botones */
}

#myButton, #myButton1 {
    margin-left: 10px;
}
/*Cuerpo de la aplicación parte izquierda */
/* Cuerpo de la aplicación parte izquierda */
main {
    width: 100%;
    padding: 10px;
    display: flex;
    justify-content: space-between; /* Espacia el contenido y la imagen */
    align-items: flex-start; /* Alinea el contenido al principio */
    overflow-x: hidden;
}

#content {
    flex: 1; /* Permite que el contenido del formulario ocupe el espacio disponible */
    max-width: 540px; /* Limita el ancho máximo del formulario */
    margin-right: 60px;
    margin-left: 120px;
    margin-top: 30px;
    padding: 20px; /* Espaciado interno para separar del borde */
    background-color:#efef7b; /* Color de fondo del formulario */
    border-radius: 5px; /* Bordes redondeados */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Sombra para el contenedor del formulario */
}

.commentForm {
    margin-left: 17px;
    display: flex;
    flex-direction: column; /* Alinea los elementos verticalmente */
}

.commentForm label {
    font-size: 2em;
    margin-bottom: 20px; /* Espacio inferior para separación */
}

.commentForm input {
    font-size: 2em;
    width: calc(100% - 20px); /* Ajusta el ancho teniendo en cuenta el padding */
    padding: 10px; /* Espaciado interno del input */
    margin-bottom: 28px; /* Espacio inferior para separación */
    border: 1px solid #ccc; /* Borde del input */
    border-radius: 5px; /* Bordes redondeados */
}


.commentForm select {
    width: calc(40% - 20px); /* Ajusta el ancho teniendo en cuenta el padding */
    padding: 10px; /* Espaciado interno del input */
    margin-bottom: 10px; /* Espacio inferior para separación */
    border: 1px solid #ccc; /* Borde del input */
    border-radius: 5px; /* Bordes redondeados */
    font-size: 1.5em;
}

.commentForm button {
    font-size:3em;
    margin-left: 250px;
    margin-top:-47px;
    align-self: center; /* Centra el botón horizontalmente */
    background-color: #256B8C; /* Color de fondo del botón */
    color: white; /* Color del texto del botón */
    border: none; /* Sin borde */
    padding: 2px 6px; /* Espaciado interno del botón */
    cursor: pointer; /* Cursor apuntador */
    border-radius: 5px; /* Bordes redondeados */
    transition: background-color 0.3s; /* Transición suave */
}

.commentForm button:hover {
   background-color: red; /* Cambio de color de fondo al pasar el mouse */
}

#errorMessage {
    margin-top: 10px;
    color: red; /* Color del mensaje de error */
}
#thankYouMessage {
    position: absolute;
    top: 845px; /* Ajusta la distancia desde el borde superior */
    left: 33%; /* Centra el contenedor horizontalmente */
    transform: translateX(-50%); /* Ajusta el centrado */
    background-color: #4CAF50; /* Color de fondo (verde para el éxito) */
    color: white; /* Color del texto */
    padding: 15px; /* Espaciado interno */
    border-radius: 5px; /* Bordes redondeados */
    z-index: 1000; /* Asegúrate de que el mensaje esté por encima de otros elementos */
    display: none; /* Inicialmente oculto */
    width: 60%; /* Ajusta el ancho al 80% del contenedor padre */
    max-width: 750px; /* Máximo ancho del mensaje */
    min-height: 78px; /* Altura mínima para que sea más alto que ancho */
    font-size: 1.6em; /* Tamaño de fuente */
    text-align: justify;
}

.image-container {
    margin-right: 110px;
    flex-shrink: 0; /* Evita que la imagen se reduzca */
    width: 30%; /* Ajusta el ancho de la imagen */
    display: flex;
    justify-content: center; /* Centra la imagen horizontalmente */
    align-items: center; /* Centra la imagen verticalmente */
}

.image-container img {
    max-width: 100%; /* Asegura que la imagen no exceda el contenedor */
    height: auto; /* Mantiene la relación de aspecto de la imagen */
}
.input-label {
    display: block;
    margin-bottom: 1.5px; /* Ajusta el espacio debajo de la etiqueta */
}
/*Pie de aplicación*/
footer {
    position: absolute;
    bottom: 0; /* Coloca el footer al final de la ventana */
    width: 100%; /* Asegura que el footer ocupe todo el ancho */
    min-height: 8vh; /* Altura mínima del footer */
    background: linear-gradient(
        100deg, 
        rgba(255, 241, 104, 1) 0%, 
        rgba(255, 241, 104, 1) 30%, 
        rgba(25, 108, 236, 1) 40%, 
        rgba(25, 108, 236, 1) 70%, 
        rgba(234, 71, 71) 75%, 
        rgba(234, 71, 71) 100%
    );
    color: white; /* Color del texto del footer */
    text-align: center; /* Alineación del texto en el centro */
    padding: 10px 0; /* Espaciado interior del footer */
}

.column1{
    display:flex;
    justify-content: space-between;
    align-items:center;
    padding:10px;
    gap:100px;
}

.redes{
    display: flex;
    align-items: center; /* Centrar verticalmente */
    gap: 10px; /* Espacio entre el texto y los iconos */
    width: 100%;
    padding-left:40px;
}
.redes h1 {
    margin: 0; /* Eliminar márgenes */
    transform: translateY(10%); /* Ajustar para centrar verticalmente */
    color:blue;
    margin-right: 10px;
    font-size: 28px;
}

.iconos{
     transform: translateY(22%);/*mover el texto o iconos de forma vertical*/
     display:flex;
     gap: 8px; /*se despejan los iconos*/
}

.iconos a:hover{
    transform: scale(1.2);
}

.cont-footer{
    width:60%;
    padding-right:0px;
    font-size: 20px;
    transform: translateY(10%);
}

.cont-footer a{
    text-decoration: none;
    color:black;
}

.sigueface , .sigueinst, .tiktok, .youtube{
    color: black;
    font-size: 30px; /* Tamaño del ícono */
}

.column2{
    display:flex;
    justify-content: center;
    align-items: center;
    padding:10px;
    color:black;
    font-weight: bold;
    font-size: 18px;
    transform: translateY(-15%);
}
@media only screen and (min-width: 769px) {
    .mobile-menu {
        display: none; /* Oculta el menú móvil en pantallas más grandes que 768px */
    }
}

/* Estilos para dispositivos móviles */
@media only screen and (max-width: 768px) {
    .menu {
        display: none; /* Oculta el menú principal en dispositivos móviles */
    }
    /*quita los botones cuando se recoje el menú*/
    button{
        display: none;
    }
    .mobile-menu {
        text-align: center;
        display: none; /* Oculta inicialmente el menú móvil */
        position: absolute;
        top: 100px; /* Ajusta la posición superior del menú móvil */
        right: 30px;
        width: 28%;
        background-color: rgba(255, 241, 104, 0.9); /* Color de fondo del menú móvil */
        z-index: 1000; /* Z-index para estar encima del contenido */
        padding: 10px;
        box-sizing: border-box; /* Incluye el padding en el ancho total */
    }
    .mobile-menu li:hover {
        transform: scale(1.1);
    }

    .mobile-menu.open {
        display: block; /* Muestra el menú móvil cuando está abierto */
    }

    .mobile-menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .mobile-menu li {
        margin-bottom: 15px; /* Espacio entre los elementos de la lista */
    }

    .mobile-menu a {
        text-decoration: none;
        color: black;
        font-size: 19px;
        display: block;
        padding: 10px 0;
    }

    .dropdown-content a{
        font-size: 18px;
        text-align: center;
    }

    .mobile-menu .button {
        background-color: #256B8C; /* Color de fondo del botón */
        margin-left: 8px;
        width: 145px;
        color: white;
        text-align: center;
        padding: 2px 2px;
        border-radius: 5px;
        margin-top: 5px; /* Espacio entre los botones */
    }

    .menu-icon {
        display: block; /* Muestra el icono de menú en dispositivos móviles */
        cursor: pointer;
        margin-right: 10px; /* Ajusta el margen derecho del icono de menú */
    }

    .menu-icon .bar1,
    .menu-icon .bar2,
    .menu-icon .bar3 {
        width: 40px; /* Ancho de las barras del icono de menú */
        height: 4px; /* Alto de las barras del icono de menú */
        background-color: black; /* Color de las barras del icono de menú */
        margin: 8px 0; /* Espacio entre las barras del icono de menú */
        transition: 0.4s; /* Transición suave para las barras del icono de menú */
    }

    .menu-icon:hover .bar1,
    .menu-icon:hover .bar2,
    .menu-icon:hover .bar3 {
        background-color: #256B8C; /* Cambia el color de las barras al hacer hover */
    }
    body {
        width: 640px;/*Ancho de la pantalla de mi pagina*/
        min-height:200vh; /* Mínimo 100% de la altura de la ventana */
        padding-bottom: 25vh; /* Ajusta según la altura del footer */
        position: absolute; /* Asegura que el footer esté posicionado correctamente */
    }
    .cont-footer{
        width:60%;
        padding-right:0px;
        font-size: 18px;
        transform: translateY(2%);
    }
}
/*pruebas*/
@media only screen and (max-width: 538px) {
    .menu {
        display: none; /* Oculta el menú principal en dispositivos móviles */
    }
    .button{
        display: none;
    }
    .mobile-menu {
        text-align: center;
        display: none; /* Oculta inicialmente el menú móvil */
        position: absolute;
        top: 100px; /* Ajusta la posición superior del menú móvil */
        right: 30px;
        width: 28%;
        background-color: rgba(255, 241, 104, 0.9); /* Color de fondo del menú móvil */
        z-index: 1000; /* Z-index para estar encima del contenido */
        padding: 10px;
        box-sizing: border-box; /* Incluye el padding en el ancho total */
    }
    .mobile-menu.open {
        display: block; /* Muestra el menú móvil cuando está abierto */
    }

    .mobile-menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .mobile-menu li {
        margin-bottom: 15px; /* Espacio entre los elementos de la lista */
    }

    .mobile-menu a {
        text-decoration: none;
        color: black;
        font-size: 19px;
        display: block;
        padding: 10px 0;
    }

    .dropdown-content a{
        font-size: 18px;
        text-align: center;
    }

    .mobile-menu .button {
        background-color: #256B8C; /* Color de fondo del botón */
        margin-left: 16px;
        width: 130px;
        color: white;
        text-align: center;
        padding: 2px 2px;
        border-radius: 5px;
        margin-top: 5px; /* Espacio entre los botones */
    }

    .menu-icon {
        display: block; /* Muestra el icono de menú en dispositivos móviles */
        cursor: pointer;
        margin-right: 10px; /* Ajusta el margen derecho del icono de menú */
    }

    .menu-icon .bar1,
    .menu-icon .bar2,
    .menu-icon .bar3 {
        width: 40px; /* Ancho de las barras del icono de menú */
        height: 4px; /* Alto de las barras del icono de menú */
        background-color: black; /* Color de las barras del icono de menú */
        margin: 8px 0; /* Espacio entre las barras del icono de menú */
        transition: 0.4s; /* Transición suave para las barras del icono de menú */
    }

    .menu-icon:hover .bar1,
    .menu-icon:hover .bar2,
    .menu-icon:hover .bar3 {
        background-color: #256B8C; /* Cambia el color de las barras al hacer hover */
    }
    /*footer*/
    body {
        min-height:220vh; /* Mínimo 100% de la altura de la ventana */
        padding-bottom: 27vh; /* Ajusta según la altura del footer */
        position: absolute; /* Asegura que el footer esté posicionado correctamente */
    }
    .column1{
        display:flex;
        justify-content: space-between;
        align-items:center;
        padding:10px;
        gap:10px;
    }
    .column2{
        margin-top: 20px;
    }
    .cont-footer{
        width:60%;
        padding-right:0px;
        font-size: 20px;
        transform: translateY(10%);
    }
    .redes{
        display: flex;
        align-items: center; /* Centrar verticalmente */
        gap: 1px; /* Espacio entre el texto y los iconos */
        width: 80%;
        padding-left:10px;
    }
    .redes h1 {
        margin: 0; /* Eliminar márgenes */
        transform: translateY(10%); /* Ajustar para centrar verticalmente */
        color:blue;
        margin-right: 10px;
        font-size: 20px;
    }
}

