/* Estilos Formularios */

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

@media screen and (max-width: 670px) {
body {
    font-size: 14px;
    }
}

p {margin: 2px 0; line-height: 1.3;}

.container {
    width: 80%;
    margin: 0 auto;
}

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

label {
    display: inline-block;
    font-weight: 600;
    padding: 5px 0 5px;
}

.simple label {
    font-weight: 400;
    padding: 0;
    margin-bottom: 0;
    }

.renglon input[type="checkbox"], .renglon input[type="radio"] {
    margin: 10px 3px 0 7px;
    }
    

@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;
    border: 1px solid #000;
    border-radius: 7px;
}

textarea {
    width: 85%;
}

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

input[type="text"] {
    width: 230px;
}

input[type="number"], input[type="date"] {width: 150px;}

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

form span {
    display: inline-block;
    color: #386b9d;
    font-size: 13px;
    font-family: "Arial Narrow", "Arial";
    line-height: 1;
}

form small {
    display: inline-block;
    color: #6a6a6a;
    font-size: 80%;
    font-weight: 400;
    line-height: 0.9;
    font-family: "Arial Narrow", "Arial";
}

legend {
    font-size: 17px;
    font-weight: 600;
    background: rgb(0 0 0 / 85%);
    color: #fff;
    padding: 5px 15px;
}

fieldset {
    background: rgb(255 255 255 / 85%);
    padding: 14px 10px 10px 5%;
    margin: 15px 0;
    border: 2px solid #000;
}

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%;
    max-width: 400px;
}

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


/* 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;}
    .col-10 {flex-basis: 10%; 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-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;}
    .col-80 {flex-basis: 80%; padding: 0 10px;}
    .col-90 {flex-basis: 90%; padding: 0 10px;}


.vista-datos {
    font-size: 15px;
    }
    
.centrar-pag {
    display: flex;
    align-items: center;
    justify-content: center;
}
    
.centrar-popup {
    padding-left: 10px;
    align-items: center;
    justify-content: center;
}

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

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

.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: 25px; margin: 7px; line-height: 1.2; font-weight: 600;}
h2 {font-size: 22px; margin: 3px; line-height: 1.1; font-weight: 600;}
h3 {font-size: 19px; margin: 1px; line-height: 1; font-weight: 600;}
h4 {font-size: 17px; margin: 1px; line-height: 1; font-weight: 600;}
h5 {font-size: 16px; margin: 1px; line-height: 1; font-weight: 600;}
h6 {font-size: 15px; margin: 1px; line-height: 1; font-weight: 600;}

@media screen and (max-width: 800px) {
   h1 {font-size: 18px; margin: 4px; line-height: 1.1} 
}

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

.h-color h2, .h-color h3 {color: #6348b6;}

.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 {
    font-weight: 600;
    text-decoration: none;
    color: #1063a7;
}

.boton1 {
    border: 1px solid #000;
    padding: 2px 7px;
    margin: 5px 0;
    line-height: 2.4;
}
    

.boton-wtp {
  display: inline-block;
  margin: 20px;
}

.boton-wtp a {
  text-decoration: none;
  background-color: #25D366;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  padding: 10px 20px;
  transition: background-color 0.3s ease;
  border-radius: 20px;
  white-space: nowrap;
}

.boton-wtp a:hover {
  background-color: #128C7E;
}

.boton-wtp img {
  vertical-align: middle;
  margin-right: 10px;
}

/* Estilos para el contenedor */

.contenedor {
    max-width: 800px;
    margin: 0 auto; /* Esto centra el contenedor horizontalmente */
    padding: 20px;
    background-color: #fff;
    }

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

@media screen and (max-width: 800px) {
    .encabezado-1 {
        padding: 20px; 
    }
}

/* Estilos para alinear el logo y el texto */

        .header1 {
            padding: 10px;
            background-color: #e7e7e7;
        }
        
        .header1 div {
            max-width: 800px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .header1 .logo {
            width: 100px;
            padding: 0 15px 0 0;
        }
        .header1 h2 {
            margin: 0;
            color: #000;
        }

.mostrar-imprimir {
    display: none;
    }

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

.texto-comprimido {
    font-family:  "Barlow Semi Condensed", "Arial Narrow";
}

.salto-pagina {
break-after: page;
}

.recuadro-simple {
    border: 1px solid #838383;
    padding: 15px 15px 12px;
}

.recuadro {
    border: 2px solid #000;
    padding: 15px 8% 15px;
    background: rgb(255 255 255 / 90%);
    max-width: 570px;
    overflow: hidden;
}

.recuadro2 {
    border: 2px solid #000;
    padding: 15px 20px;
    background: rgb(255 255 255 / 90%);
    max-width: 570px;
    overflow: hidden;
}

.titulo2 {
    background: #000;
    color: #fff;
    padding: 5px 10px;
    text-align: center;
    margin: 0px -15px 20px;
}

@media screen and (max-width: 450px) {
    .recuadro {
    padding: 5px 5% 7px 5%;    
    }
    .titulo2 {
    margin: -5px -16px 10px;
    font-size: 17px;
    }
}



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

.fondo {
    background: #f0f0f0;
}
.fondo2 {
    background: #f0f0f0;
}

.sf {
    text-indent: -30px;
    padding-left: 30px;
}

.sombra-1 {
    color: black;
    text-shadow: 1px -1px 0px #fff;
}

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

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


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

.b1 {
  background-color: #236ed0;
}
.b1:hover {
  background-color: #9c40bc;
}
.b2 {
  background-color: red;
}
.b2:hover {
  background-color: #ff0080;
}
.b3 {
  background-color: #1ec370;
}
.b3:hover {
  background-color: #0aaf5c;
}
.b4 {
  background-color: #e8c01d;
}
.b4:hover {
  background-color: #e7a51a;
}
.bw {
  background-color: #25D366;
}
.bw:hover {
  background-color: #128C7E;
}

.invisible {
    visibility: hidden;
}

.invisible-color {
    opacity: 0;
}
