/* estilos.css */

body {
    font-family: Arial, sans-serif;
    font-size: 16px;
    margin: 0;
}

p {margin: 7px 0;}

.container {
    margin: 0 auto;
}

form {
    margin-bottom: 15px;
    line-height: 1.8;
}

button {
   font-size: 15px; 
}

@media screen and (min-width: 500px) {
.formulario {
    padding: 0 0 0 20%;
}
}

input, select, textarea {
    margin-left: 10px;
    margin-bottom: 10px;
    padding: 4px 7px;
    font-size: 15px;
    font-family: Arial, sans-serif;
}

input[type="checkbox"], input[type="radio"], input[type="submit"] {
    width: auto;
}

input[type="submit"] {
    font-size: 17px;
    background: #11b62c;
    color: #fff;
    padding: 7px 20px;
}

table {
    border-collapse: collapse;
}

th {
    background-color: #175ebb;
    color: white;
    padding: 5px 7px;
    }
    
th a {color: #fff;}

td {
    padding: 5px 7px;
}

th, tr, td {
  border: solid 1px #e0e0e0;
}

.tabla2 {
    width: 100%;
}

.tabla2 tr {
    border: 0;
    border-bottom: 1px solid #d4d4d4;
}
.tabla2 td {
    border: 0;
    padding-left: 10px;
}

.vista-datos {
    font-size: 15px;
    }
    
.centro {text-align: center;}
.justificado {text-align: justify;}
.derecha {text-align: right;}

.centrar-h {
    display: flex;
    justify-content: center;
}

.centrar-v {
    display: flex;
    align-items: center;
}

.centrar-pag {
    display: flex;
    align-items: center;
    justify-content: center;
}

.centrar-popup {
    padding-left: 10px;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 500px) {
input[type="text"], input[type="email"], input[type="url"], textarea {
    width: 90%;
    }
}

.texto-largo {
    max-width: 150px;
    white-space: nowrap; /* Evitar que el texto se divida en varias líneas */
    overflow: hidden; /* Ocultar el texto que se desborda */
    text-overflow: ellipsis;
}

h1 {font-size: 30px; margin: 15px 0;}
h2 {font-size: 25px; margin: 10px 0;}
h3 {font-size: 19px; margin: 2px 0;}
h4 {font-size: 17px; margin: 2px 0;}
h5 {font-size: 16px; margin: 1px 0;}
h6 {font-size: 15px; margin: 0;}

@media screen and (max-width: 800px) {
    .texto-celular {
        p, span, li, table, div, form { font-size: 14px; line-height: 1.25;}
        h1 {font-size: 23px; line-height: 1.25;}
        h2 {font-size: 18px; line-height: 1.2;}
        h3 {font-size: 17px; line-height: 1.2;}
        h4 {font-size: 14px; line-height: 1.1;}
        td { font-size: 14px; line-height: 1;}
    }
}

@media screen and (max-width: 800px) {
    .texto-celular2 {
        p, span, li, table, div, form { font-size: 12.7px !important; line-height: 1.2 !important;}
        h1 {font-size: 20px !important; line-height: 1.25 !important;}
        h2 {font-size: 18px !important; line-height: 1.2 !important;}
        h3, legend {font-size: 16px !important; line-height: 1.1 !important;}
        h4 {font-size: 13px !important; line-height: 1.1 !important;}
        td { font-size: 12.7px !important; line-height: 0.97 !important;}
    }
}

fieldset {
    border: 3px solid #000;
    background: rgb(255 255 255 / 85%);
    border-radius: 0 30px;
}
@media screen and (min-width: 870px) {
    fieldset {
    padding: 5px 30px 15px 40px;  
    }
}

.simple legend {
    font-weight: 500;
    padding: 0;
    background: none;
    color: #000;
    }
.simple h3 {color: #000;}
.simple fieldset {border-radius: 0;}

.lista-catalogo-1 {
    
    table {max-width: 1000px;}

    th:nth-child(1), td:nth-child(1) {width: 75px;}
    th:nth-child(2), td:nth-child(2) {width: 90px;}
    th:nth-child(3), td:nth-child(3) {width: 500px;}
    th:nth-child(4), td:nth-child(4) {width: 150px;}

}   

a {text-decoration: none; color: inherit;}


/* Botones */

.b-simple {
    border: 1px solid black;
    padding: 2px 8px;
    margin: 3px 10px;
    text-decoration: none;
    color: black;
    font-weight: 500;
    line-height: 1.9;
}
.b-simple:hover {
    text-decoration: none;
    color: inherit;
}

/* Boton general */
.boton {
  display: inline-block;
  margin: 10px;
  text-decoration: none;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  padding: 4px 12px;
  transition: background-color 0.3s ease;
  border-radius: 3px;
  border: none;
  line-height: 1.2;
  white-space: nowrap;
}

/* Boton normal para formulario */
.boton-x {
  display: inline-block;
  margin: 15px;
  text-decoration: none;
  color: #fff;
  font-size: 15px !important;
  font-weight: 500;
  text-align: center;
  padding: 7px 15px;
  transition: background-color 0.3s ease;
  border-radius: 5px;
  border: none;
  line-height: 1.2;
  white-space: nowrap;
}

/* Boton radius para formulario */
.boton-xo {
  display: inline-block;
  margin: 15px;
  text-decoration: none;
  color: #fff;
  font-size: 15px !important;
  font-weight: 500;
  text-align: center;
  padding: 7px 15px;
  transition: background-color 0.3s ease;
  border-radius: 20px;
  border: none;
  line-height: 1.2;
  white-space: nowrap;
}

/* Boton borde redondo */
.boton-o {
  display: inline-block;
  margin: 10px;
  text-decoration: none;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  padding: 5px 15px;
  transition: background-color 0.3s ease;
  border-radius: 20px;
  border: none;
  line-height: 1.2;
  white-space: nowrap;
}

/* Boton para icono */
.boton-i {
  display: inline-block;
  margin: 4px;
  text-decoration: none;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  padding: 5px 7px;
  transition: background-color 0.3s ease;
  border-radius: 3px;
  border: none;
  line-height: 1.2;
  white-space: nowrap;
}

.bce {
    display: block;
    margin-left:  auto; 
    margin-right: auto;
    }
    
.ban2 {
    max-width: 200px;
    width: 90%;
}
.ban3 {
    max-width: 300px;
    width: 90%;
}
.ban4 {
    max-width: 400px;
    width: 90%;
}
.ban5 {
    max-width: 500px;
    width: 90%;
}

.boton:hover {color: white; text-decoration: none;}
.boton-o:hover {color: white; text-decoration: none;}
.boton-i:hover {color: white; text-decoration: none;}
.boton-x:hover {color: white; text-decoration: none;}
.boton-xo:hover {color: white; text-decoration: none;}

@media screen and (max-width: 800px) {
   .boton, .boton-o, .boton-i {
    font-size: 14px;
} }

.b1, .bazul {background-color: #236ed0;} .b1:hover, .bazul:hover {background-color: #2190be;}
.b2, .brojo {background-color: red;} .b2:hover, .brojo:hover {background-color: #ea5187;}
.b3, .bverde {background-color: #1db769;} .b3:hover, .bverde:hover {background-color: #1ea78a;}
.b4, .bamarillo {background-color: #e8c01d;} .b4:hover, .bamarillo:hover {background-color: #e7a51a;}
.b5, .bmorado {background-color: #cb29f3;} .b5:hover, .bmorado:hover {background-color: #f33ae9;}

.bm, .bmetal {
    background: linear-gradient(135deg, #e0e0e0, #b0b0b0, #f5f5f5, #bebebe, #d9d9d9);
    color: #000 !important;
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.5), 
                inset 0 -1px 2px rgba(0, 0, 0, 0.3);
}

.bw {
  background-color: #25D366;
}
.bw:hover {
  background-color: #128C7E;
}


/* Estilos para el contenedor */

.contenedor {
    margin: 0 auto;
    padding: 20px;
    }

.contenedor-pag {
    max-width: 900px;
    margin: 0 auto; /* Esto centra el contenedor horizontalmente */
    padding: 20px;
    }

/* Estilos para el texto dentro del contenedor */
    .contenedor p {
    color: #333;
    }

/* Encabezados */

.encabezado-1 {
    padding: 40px;
    background-image: url("../imagenes/fondo-pagina-programa.jpg");
    background-position: 50%;
    background-size: cover;
    color: #fff;
    }
.encabezado-1 div {
    max-width: 800px;
    margin: 0 auto;
}

/* Estilos para alinear el logo y el texto */
        .header1 {
            padding: 10px 25%;
            background-color: #e7e7e7;
        }
        .header1 div {
            margin: 0 auto;
            align-items: center;
            justify-content: space-between;
        }
        .header1 .logo {
            height: 50px;
            padding: 0 5% 0 0;
        }
        .header1 h2 {
            margin: 0;
            color: #000;
            font-size: 24px;
        }

@media screen and (max-width: 1200px) {
    .encabezado-1, .header1 {
        padding: 20px 20%;
    }
}
@media screen and (max-width: 750px) {
    .encabezado-1, .header1 {
        padding: 10px 10px 10px 20px;
    }
    .encabezado-1 h1, .header1 h2 {
    line-height: 1.15 !important;
    }
    .header1 h2 {
    font-size: 19px;
    }
}

.mostrar-imprimir {
    display: none;
    }

.iframe-doc {
    border: solid 2px #848484;
}
@media screen and (max-width: 750px) {
    .iframe-doc {
        width: 100%;
        aspect-ratio: 0.9 !important;
    }
}

.ocultar {display: none;}


@media print {
    
    .ocultar {display: none;}
    .ocultar-imprimir {
        display: none;
    }
    .mostrar-imprimir {
        display: inline-block;
    }

    body {
    -webkit-print-color-adjust: exact; /* Para navegadores basados en WebKit */
    print-color-adjust: exact;         /* Estándar */
    }

    .espaciado {padding-top: 10px;}
    .espaciado-10 {padding-top: 10px;}
    .espaciado-15 {padding-top: 15px;}
    .espaciado-20 {padding-top: 20px;}
    .espaciado-30 {padding-top: 30px;}
    .espaciado-40 {padding-top: 40px;}
    .espaciado-60 {padding-top: 60px;}
    .espaciado-80 {padding-top: 80px;}
    
    .header1 {padding: 10px 10% !important;}

    .iframe-doc {width: 50% !important;}
    
    .bloque {page-break-inside: avoid;}
}


.salto-pagina {
/* page-break-after: always; */
break-after: page;
}

/* Precios */

.recuadro-precios {
    border: 2px solid #000;
    padding: 3px 10px 25px 15px;
    font-family: 'Barlow Semi Condensed';
    background: #f7f7f7;
}

.col-izq td:nth-child(1) {text-align: left; padding-left: 10px;}
.col-der td:nth-child(2) {text-align: right; padding-right: 10px;}

.resaltar {
  text-decoration: underline;
}

.embed-precios {
    font-family: "Barlow Semi Condensed", "Arial Narrow", "Arial", sans-serif;
    font-size: 15px;
}

.embed-precios {
    h1 {font-size: 24px; font-weight: 600; line-height: 1.2; margin: 7px;}
    h2, h3, h4, h5 {font-weight: 600; line-height: 1.2; margin: 5px;}
    ul, ol {margin: 5px;}
    p {margin: 5px 0;}
}

.embed-precios fieldset {
    border: 2px solid #9d9d9d;
    background: #f9f9f9;
    max-width: 637px;
}    

/* Filas y Columnas */

.fila {
    display: flex;
}
@media screen and (max-width: 800px) {
.fila {
    display: block;
} }

.columna {
    flex: 1; /* Crecen para llenar el contenedor */
}

    .col {flex-basis: auto; padding: 0 10px;}
    .col-10 {flex-basis: 10%; padding: 0 10px;}
    .col-15 {flex-basis: 15%; padding: 0 10px;}
    .col-20 {flex-basis: 20%; padding: 0 10px;}
    .col-25 {flex-basis: 25%; padding: 0 10px;}
    .col-30 {flex-basis: 30%; padding: 0 10px;}
    .col-35 {flex-basis: 35%; padding: 0 10px;}
    .col-40 {flex-basis: 40%; padding: 0 10px;}
    .col-45 {flex-basis: 45%; padding: 0 10px;}
    .col-50 {flex-basis: 50%; padding: 0 10px;}
    .col-60 {flex-basis: 60%; padding: 0 10px;}
    .col-70 {flex-basis: 70%; padding: 0 10px;}

@media screen and (max-width: 700px) {
.col-inverso {
    display: flex;
    flex-direction: column-reverse;
    }
.fila-inverso {
    display: flex;
    flex-direction: row-reverse;
    }
}

/* Footer */

.footer {
    background-color: #222222;
    color: #e4e4e4;
    padding: 40px 7% 50px;
    line-height: 1.7;
    font-size: 14px;
        }
.footer a {
    color: #e4e4e4;
    text-decoration: none;
    }
.footer a:hover {
    text-decoration: underline;
    }

@media print {
 .footer  {
    padding: 100px 0;
    font-size: 18px;
    width: 100%;
    height: auto;
    aspect-ratio: 0.98;
 }
 .pf-fila {display: block;}
 .pf_logo {height: 200px;}
 .footer h5 {font-size: 20px;}
 .pf {padding: 0 150px 0 170px !important;}
}

@media screen and (max-width: 800px) {
.footer {padding: 30px 15px 90px 20px;}
.footer img {max-height: 120px;}
}

.footer-bottom {
    background-color: #000;
    color: #878787;
    padding: 10px;
    line-height: 1.7;
    font-size: 14px;
    text-align: center;
    }
.footer {
  h1, h2, h3, h4, h5, h6 {
    color: #d6b138;
  } 
}

.fondo-campus {
    background-image: url("../imagenes/campus-universidad.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.fondo {
    background: #f0f0f0;
}

.recuadro {
    border: 2px solid #000;
    padding: 10px;
}

.logo2 {
   width: 100px;
}
@media screen and (max-width: 800px) {
.logo2 {
   width: 70px; 
}
}

.video_16-9 {
  aspect-ratio: 1.78;
  width: 100%;
  height: auto;
  max-width: 750px;
}

.col-texto {
    max-height: 380px;      /* Limita la altura máxima */
    column-count: 2;        /* Divide el contenido en 2 columnas */
    column-gap: 20px;       /* Espacio entre las columnas */
    overflow-y: visible;       /* Añade un scroll si el contenido sobrepasa */
}
@media screen and (max-width: 800px) {
    .col-texto {
    column-count: 1;
    max-height: 1000px;
    column-gap: 0;
    }
}

.oculto-seo {
    position: absolute;
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
}
