/* Estilos para dispositivos móviles (generalmente teléfonos) */
@media only screen and (max-width: 767px) {

    .idioma-enlace {
        display: block;
        position: absolute;
        margin: 38px 80px 0 0;
        right: 0
      }
      .idioma-enlace.interna {
        margin: 20px 100px 0 0;
      }
      .idioma {
        cursor: pointer;
        width: 50px;
        background: none;
        border: none;
      }

    html, body, h1, h2, h3, h4, h5, h6, p, ul, ol, li {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    /* Titulos Home Slider-animación ---------- */
    .header-text {
        width: 90%;
    }

    .mobile {display: inherit;}
    .desktop {display: none;}

    .header-text-2 {
        background-size: 320px auto;
    }

    h1 {
        font-size: 1.7rem;
        line-height: 2rem;
    }

    h1 span {
        font-size: 2rem;
    }
    
    h1 .titulo {
        font-size: 1.3rem;
        font-weight: bolder;
    }
    
    h2 {
        font-size: 1.8rem;
        line-height: 2rem;
        font-weight: 300;
    }
    h2 span {
        font-size: 2rem;
    }
    
    h3 {
        font-size: 1rem;
    }

    nav {
        height: 75px;
        /* margin: 5px 5px 0 5px; */
        padding-right: 0;
    }

    nav .logo {
        margin: 0 auto;
        top: 33px;
        left: 22px;
        right: inherit;
    }

    nav .logo img {
        width: 85px;
    }

    /* NAV submenu droppdown  */
    nav ul li ul {
        visibility: visible;
        position: relative;
        margin-top: 20px;
        display: contents;
    }
    ul li:hover > ul,
    ul li ul:hover {
      visibility: visible;
      opacity: 1;
      display:contents;
    }
    ul li ul li {
        clear: both;
        width: 100%;
        padding: 2px 3px !important;
        text-align: center;
    }
    ul li ul li a {
        font-size: 1.2rem !important;
        margin-top: 8px;
    }

    .fade-text {
        top: -120px;
    }

    .tipos-de-barcos .titulo {
        padding: 50px 10px 20px 10px;
    }
    .tipos-de-barcos .barcos .item {
        width: 90%;
        border-radius: 10px;
    }

    header .frases-header-slider .boton-primario {
        bottom: inherit;
        top: 60px;
    }

    .certificacion .titulo {
        padding-left: 9%;
        background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 40.07%, rgba(0, 0, 0, 0.3) 100%), url(../images/undercut-trazos-ingenieria-yates.jpg) top center;
        background-size: cover !important;
    }

    .certificacion .texto p {
        margin: auto 5%;
    }

    .certificacion .semar {
        margin: 20px 0 25px 5%;
    }

    .proyectos-principales {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }
    .proyectos-principales div {
        padding: 60px 10% 70px 10%;
    }
    .proyectos-principales .proyecto-1 {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.97) 0%, rgba(0, 0, 0, 0.15) 110%), url("../images/undercut-catamaran-halo.jpg") top center;
        background-size: cover;
        border-bottom: 0.7px solid rgba(255,255,255,0.7);
    }
    .proyectos-principales .proyecto-2 {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.97) 0%, rgba(0, 0, 0, 0.15) 110%), url("../images/undercut-yacht-domum.jpg") top center;
        background-size: cover;
    }

    .frase {
        padding: 0;
        width: 80%;
    }

    /* INTERNAS */
    #header-internas {
        height: 160px;
        min-height: 160px;
    }
    .titulo-internas {
        position: absolute;
        background-color: white;
        top: 115px;
        left: 50%;
        transform: translate(-50%, 0);
        padding: 30px 40px;
        box-shadow: 0px -18px 20px -2px rgba(0, 0, 0, 0.25);
    
    }

    header.internas {
        height: 180px;
        background: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.80)), url('../images/undercut-bkgr-header-internas.jpeg') no-repeat top center;
    }


    /* INTERNAS Quienes somos */
    #quienes-somos .origen, #quienes-somos .alcance {
        flex-direction: column;
        box-sizing: border-box;
    }

    #quienes-somos > h2:first-child {
        text-align: center;
        margin: 50px 2% 0;
    }
    
    #quienes-somos .origen .texto, #quienes-somos .alcance .texto { /* origen y alcance */
        width: 100%;
        box-sizing: border-box;
    }

    #quienes-somos .mision-vision {
        padding: 13% 10%;
    }

        /* Alcance */
        #quienes-somos .alcance,  #quienes-somos .origen {
            padding-top: 20px;
            padding-bottom: 20px;
        }

    /* INTERNAS Proyectos */
    .proyecto .imagen {
        width: 65%;
        border-radius: 10px;
    }

    .proyecto h2 {
        margin: 6% 2%;
    }

    .proyecto .descripcion {
        margin: 40px 7%;
        padding-left: 20px;
        border-left: 0.7px solid black;
    }

    /* INTERNAS Contacto */
    .formulario {
        margin-top: 0;
    }
    
    .contacto .textos {
        color: white;
    }

    .formulario h2 {
        padding: 40px 10% 30px 10%;
    }

    /* INTERNAS Misión Visión Valores */
    .mision-vision {
        display: grid;
        justify-content: center;
        align-items: center;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }
    .mision-vision .texto {
        padding: 12% 9%;
        border-bottom: 0.5px solid black;
        border-right: 0;
    }
    .mision-vision .contenedor-imagen {
        padding: 60px 30px;
    }
    .mision-vision .imagen {
        width: 100%;
        max-width: 550px;
        height: 400px;
        margin: 0 auto;
        /* margin: 60px 0; */
        filter: drop-shadow(0px 4px 33px rgba(0, 0, 0, 0.32));
    }
    .mision-vision .lineavn.right {
        position: absolute;
        border-bottom: 3px solid black;
        border-right: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: 20%;
        top: 0;
        height: 99.7%;
    }
    .valores {
        padding: 50px 30px 30px 30px;
    }
    .valores .textos {
        display: grid;
        justify-content: center;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, auto);
        margin-top: 12px;
    }
    .valores .valor-2 {
        /* padding: 0 20px; */
        border-left: 0;
        border-right: 0;
        border-top: 0.5px solid rgba(255,255,255,0.7);
        border-bottom: 0.5px solid rgba(255,255,255,0.7);
    }

    /* INTERNAS -- Servicios */
    .servicios .textos {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, 1fr);
    }
    .servicios .textos .servicio-1,
    .servicios .textos .servicio-2,
    .servicios .textos .servicio-3 {
        min-height: 70px;
        justify-content: center;
        padding: 0 13%;
    }
    .servicios img {
        margin-top: 15%;
    }
    .servicios ul {
        margin-bottom: 12%;
    }

    /* INTERNAS -- Contacto */
    .contacto {
        padding: 50px 30px 30px 30px;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 100%), url("../images/contacto.jpg") no-repeat center center;
        background-size: cover;
    }
    .contacto .textos {
        display: grid;
        justify-content: center;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, auto);
        margin-top: 12px;
    }
    .contacto .contacto-2 {
        border-left: 0;
        border-right: 0;
        /* border-top: 0.5px solid rgba(255,255,255,0.7); */
        border-bottom: 0.5px solid rgba(255,255,255,0.7);
    }


    /* FOOTER */
    footer {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr auto auto;
        align-items: center;
        justify-content: flex-start;
        height: auto;
        margin: 30px 10px 10px 10px;
    }
    .logo-footer {
        display: flex;
        align-items: center;
        /* justify-content:flex-start; */
        border-bottom: 0.5px solid black;
        border-right: 0;
        margin: 20px 0 5px 0;
    }
    .enlaces-menu {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        border-bottom: 0.5px solid black;
    }

    .enlaces-menu li {
        padding: 22px 10px;
    }

    .enlaces-menu li:first-child {
        padding-left: 20px;
    }
    
    .enlaces-redes {
        display: flex;
    }
    
    .enlaces-redes li {
        padding: 15px;
    }

    .formulario {
        background-color: var(--gris-claro);
        background-image: none;
    }
}

/* Estilos para tabletas (generalmente pantallas más grandes que dispositivos móviles) */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
     .idioma-enlace {
        display: flex;
        position: absolute;
        margin: 0;
        right: 0;
        top: 42px;
      }
      /* .idioma-enlace.interna {
         margin: 20px 155px 0 0;
      } */
      .idioma {
        position: absolute;
        cursor: pointer;
        width: 50px;
        border: none;
      }

    h1 {
        font-size: 1.7rem;
        line-height: 2.4rem;
    }
    
    h1 .titulo {
        font-size: 1.3rem;
    }

     /* INTERNAS -- Servicios */
     .servicios .textos {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, 1fr);
    }
    .servicios .textos .servicio-1,
    .servicios .textos .servicio-2,
    .servicios .textos .servicio-3 {
        min-height: 50px;
        padding: 0 13%;

    }
    .servicios img {
        margin-top: 10%;
    }
    .servicios ul {
        margin-bottom: 7%;
    }

       /* NAV submenu droppdown  */
       nav ul li ul {
        visibility: visible;
        position: relative;
        margin-top: 20px;
        display: contents;
    }
    ul li:hover > ul,
    ul li ul:hover {
      visibility: visible;
      opacity: 1;
      display:contents;
    }
    ul li ul li {
        clear: both;
        width: 100%;
        padding: 2px 3px !important;
        text-align: center;
    }
    ul li ul li a {
        font-size: 1.2rem !important;
        margin-top: 8px;
    }
}

/* Estilos para pantallas medianas a grandes (tabletas y escritorio) */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  /* Agrega tus estilos para pantallas medianas a grandes aquí */

}

/* Estilos para pantallas extra grandes (escritorio) */
@media only screen and (min-width: 1200px) {
  /* Agrega tus estilos para pantallas extra grandes aquí */
}