/* Estilos para dispositivos móviles (generalmente teléfonos) */
@media only screen and (max-width: 767px) {
    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: 80%;
    }

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

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

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

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

    nav .logo img {
        width: 85px;
    }

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

    .fade-text-2 {
        height: auto;
    }

    header .frases-header-slider .boton-primario {
        bottom: inherit;
        top: 20vh;
    }

    .pilares {
        grid-template-columns: (1fr);
        grid-template-rows: repeat(3, 1fr);
        height: 100%;
        width: 100%;
        border-top: 14px solid var(--gris-claro);
        flex-flow: column wrap;
    }

    .pilares div div {
        width: 65%;
    }

    .pilares img {
        margin-bottom: 14px;
    }

    .pilar1, .pilar2, .pilar3 {
        padding: 80px 0;
    }

    .pilar2 {
        border-top: 0.8px solid black;
        border-bottom: 0.8px solid black;
        border-left: 0;
        border-right: 0;
    }
    
    .pilar2 .lineavn {
        width: 50%;
    }

    .pilar2 .lineavn.top {
        position: absolute;
        border-top: 3px solid black;
        width: 20%;
        top: -1.5px;
    }
    
    .pilar2 .lineavn.bottom {
        position: absolute;
        border-bottom: 3px solid black;
        width: 20%;
        bottom: -1.5px;    
    }

    .pilar2 .lineavn.left, .pilar2 .lineavn.right {
        display: none;
    }

    .trayectoria div {
        width: 80%;
    }

    .header-text-2 {
        display: contents;
    }

    .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);
    
    }

    /* INTERNAS Quienes somos */
    .quienes-somos {
        display: flex;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        justify-content: center;
        align-content: center;
        border-bottom: 14px solid var(--gris-claro);
    }

    .quienes-somos .texto {
        padding: 80px 10% 50px 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/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) {
    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%;
    }
}

/* 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í */
}