@charset "utf-8";
/* CSS Document */

* {
  margin: 0px;
  padding: 0px;
}

html,
body {
  height: 100%;
  padding: 0px;
  margin: 0px;
}

/*font-family: 'Roboto', sans-serif; 400, 500, 700, 900
font-family: 'Roboto Condensed', sans-serif; 400, 700*/

@font-face {
  font-family: unireg;
  src: url(../fonts/UniBook.woff);
}

@font-face {
  font-family: unibol;
  src: url(../fonts/UniBold.woff);
}

@font-face {
  font-family: unihea;
  src: url(../fonts/UniHeavy.woff);
}

@font-face {
  font-family: uniheacap;
  src: url(../fonts/UniHeavyCaps.woff);
}

@media screen and (min-width: 239px) and (max-width: 480px) {
  select {
    width: 100%;
    height: 50px !important;
    padding: 1%;
    margin-left: 1%;
    margin-bottom: 5px;
    border-radius: 10px;
    font-size: 5vw !important;
    color: #787878;
    border: solid 1px #fff;
  }

  #imglide {
    margin-top: 10% !important;
  }
}

/* VERSIÓN DESKTOP MEDIDA 1025 COMO MININIMO DE ANCHO */
@media only screen and (min-width: 1025px) {
  p {
    font-family: unireg;
  }

  li {
    font-family: unireg;
  }

  span {
    font-family: unireg;
  }

  label {
    font-family: unireg;
  }

  input {
    font-family: unireg;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: unihea;
    color: #1f0066;
  }

  a {
    text-decoration: none;
    font-family: unibol;
  }
  a:hover {
    text-decoration: none;
  }

  hr {
    color: #b2bec3;
  }

  /* HEADER MOVIL */

  /*GENERAL*/

  header {
    width: 100%;
    height: auto;
  }

  footer {
    width: 100%;
    height: auto;
    background-color: #c14321;
  }

  /*MENU SUPERIOR*/

  #mengral {
    width: 100%;
    height: auto;
    padding: 0% 5%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
  }

  #logotipo {
    width: 76%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
  }

  .logo.uno {
    width: 13%;
    height: auto;
  }

  .logo.dos {
    width: 11%;
    height: auto;
    margin-left: 60%;
  }

  .logo.tres {
    width: 11%;
    height: auto;
  }

  #ctacont {
    width: 24%;
    height: auto;
  }

  a.ctactont {
    width: 100%;
    height: auto;
    display: block;
    font-size: 2vw;
    line-height: 20px;
    color: #c14321;
  }

  .icontel {
    width: 15%;
    vertical-align: middle;
    margin-right: 2%;
  }

  #continf {
    width: 42%;
    margin-left: 3%;
  }

  /*SLIDER + CONTACTO*/

  #slider {
    width: 100%;
    height: auto;
    background-color: #e34218;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
  }

  #imglide {
    width: 55%;
    height: auto;
  }

  img.imgmap {
    width: 50%;
    height: auto;
  }

  .imgmap {
    width: 100%;
    height: auto;
  }

  #contenlace {
    width: 45%;
    height: auto;
    margin-left: 5%;
  }

  h2.titcentro {
    width: 100%;
    height: auto;
    color: #fff;
    font-size: 3vw;
  }

  hr.line {
    margin-left: 42%;
    margin-right: 42%;
    height: 7px;
    background: white;
    border-radius: 50px;
  }

  .divline {
    width: 100%;
    float: center;
  }

  p.dir {
    width: 100%;
    height: auto;
    color: #fff;
    font-size: 1vw;
    margin-bottom: 30px;
  }

  #tels {
    width: 96%;
    height: auto;
    padding: 4% 2%;
    margin: 0 auto;
    margin-bottom: 30px;

    flex-wrap: wrap;
    text-align: center;
  }

  p.dcord {
    color: #fff;
    font-size: 1.2vw;
  }

  a.dcord {
    color: #fff;
    font-size: 1.2vw;
  }

  /* CONTENEDOR CONTACTO */

  select {
    text-align: center;
    text-align-last: center;
    color: #e34218 !important;
    font-weight: b;
    /* webkit*/
  }
  option {
    text-align: left;
    /* reset to left*/
  }

  #formcontact {
    width: 100%;
    height: auto;
    padding: 2% 3% 2% 7%;

    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;

    margin-bottom: 30px;
  }

  p.infcont {
    width: 100%;
    height: auto;
    font-size: 28px;
    text-align: center;
    color: #fff;
    margin-top: 30px;
  }

  input.camp.uno {
    width: 98%;
    height: 35px;
    padding: 1% 2%;
    margin-bottom: 10px;
    border-radius: 10px;
    font-size: 1.2vw;
    color: #787878;
    border: solid 1px #fff;
  }

  select.camp.uno {
    width: 98%;
    height: 35px;
    padding: 1% 2%;
    margin-bottom: 10px;
    border-radius: 10px;
    font-size: 1.2vw;
    color: #000;
    background-color: #f5927d;
    border: solid 1px #fff;
  }

  input.camp.dos {
    width: 48%;
    height: 35px;
    padding: 1% 2%;
    margin-bottom: 10px;
    border-radius: 10px;
    font-size: 1.2vw;
    color: #787878;
    background-color: #f5927d;
    border: solid 1px #fff;
  }

  input.camp.tres {
    width: 48%;
    height: 35px;
    padding: 1% 2%;
    margin-bottom: 10px;
    margin-left: 10px;
    border-radius: 10px;
    font-size: 1.2vw;
    color: #787878;
    background-color: #f5927d;
    border: solid 1px #fff;
  }

  select.camp.tres {
    width: 48%;
    height: 35px;
    padding: 1% 2%;
    margin-bottom: 10px;
    margin-left: 10px;
    border-radius: 10px;
    font-size: 1.2vw;
    color: #787878;
    background-color: #f5927d;
    border: solid 1px #fff;
  }

  /*select{
	width: 98%;
	height: auto;
	padding: 1%;
	margin-left: 1%;
	margin-bottom: 5px;
	border-radius: 10px;
	font-size: 1.2vw;
	color: #787878;

	border: solid 1px #fff;

}*/

  p.aviso {
    width: 95%;
    height: auto;
    margin: 0 auto;
    margin-top: 10px;
    margin-bottom: 30px;
    font-size: 1vw;
    color: #fff;
    text-align: justify;
  }

  p.textinf {
    width: 100%;
    height: auto;
    margin: 0 auto;
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 1vw;
    height: auto;
    color: #fff;
    text-align: justify;
  }

  ::-webkit-input-placeholder {
    text-align: center;
    color: #e34218;
    font-weight: bold;
  }

  :-moz-placeholder {
    /* Firefox 18- */
    text-align: center;
    color: #e34218;
    font-weight: bold;
  }

  ::-moz-placeholder {
    /* Firefox 19+ */
    text-align: center;
    color: #e34218;
    font-weight: bold;
  }

  :-ms-input-placeholder {
    text-align: center;
    color: #e34218;
    font-weight: bold;
  }

  .formenviar {
    width: 48%;
    height: auto;
    padding: 1% 1%;
    margin-left: 25%;
    margin-bottom: 3%;
    background: linear-gradient(to bottom, #ffa200 0%, #ffa200 100%);
    border: none;
    border-radius: 50px;
    font-size: 1.7vw;
    font-weight: 700;
    text-align: center;
    color: white;
    cursor: pointer;
    transition: all 0.5s ease;
  }

  .formenviar:hover {
    background: linear-gradient(to bottom, #33cc33 0%, #2eb82e 100%);
    box-shadow: 0px 3px 3px #b30000;
  }

  /*PROGRAMAS Y ESTUDIA EN LINEA*/

  #estudia {
    width: 100%;
    height: auto;
  }

  #programa {
    width: 100%;
    height: auto;
    padding: 1.5% 0 5% 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
  }

  #programa h2 {
    width: 80%;
    height: auto;
    margin: 0 auto;
    margin-bottom: 30px;
    font-size: 3vw;
    text-align: center;
    color: #c14321;
  }

  #centros {
    width: 90%;
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    align-content: center;
    justify-content: space-between;
  }

  .inst {
    width: 31%;
    height: auto;
    text-align: center;
  }

  .inst p {
    font-size: 14px;
  }

  .logoprog.uno {
    width: 50%;
    height: auto;
  }

  .logoprog.dos {
    width: 70%;
    height: auto;
  }

  .logoprog.tres {
    width: 50%;
    height: auto;
  }

  /*BENEFICIOS*/

  #beneficios {
    width: 100%;
    height: auto;
    padding: 5% 0 5% 0;
    margin: 0 auto;
    background-color: #1959a7;
  }

  #beneficios h2 {
    width: 80%;
    height: auto;
    margin: 0 auto;
    margin-bottom: 30px;
    font-size: 3vw;
    text-align: center;
    color: #fff;
  }

  #valores {
    width: 80%;
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: space-around;
  }

  .val {
    width: 30%;
    height: auto;
    text-align: center;
    margin-bottom: 50px;
  }

  .icoval {
    width: 30%;
    height: auto;
    margin: 0 35%;
  }

  .tval {
    width: 100%;
    height: auto;
    text-align: center;
    margin: 0 auto;
    font-size: 16px;
    color: #fff;
  }

  h3.modapr {
    width: 80%;
    height: auto;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 30px;
    font-size: 3vw;
    text-align: center;
    color: #fff;
  }

  p.textapr {
    width: 70%;
    height: auto;
    margin: 0 auto;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    color: #fff;
  }

  /*OFERTA ACADEMICA*/

  #oferta {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 5% 0;
  }

  h2.titoferta {
    width: 30%;
    height: auto;
    margin: 0 auto;
    margin-bottom: 50px;
    font-size: 3vw;
    color: #c14321;
    padding-bottom: 1%;
    border-bottom: solid 1px #4d4d4d;
    text-align: center;
  }

  #ofertaedu {
    width: 90%;
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: space-between;
  }

  #ofertprepa {
    width: 95%;
    height: auto;
    margin: 0 auto;
    margin-left: 5%;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: flex-start;
  }

  h2.titofedu {
    width: 30%;
    height: auto;
    margin-left: 0px;
    margin-right: 70%;
    margin-bottom: 50px;
    font-size: 3vw;
    color: #1959a7;
    padding-bottom: 1%;
    border-bottom: solid 1px #4d4d4d;
    text-align: left;
    font-family: unireg;
  }

  .ofe {
    width: 370px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    margin-bottom: 70px;
  }

  .est {
    width: 370px;
    height: 115px;
    border-radius: 40px;
    background-color: #c14321;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
  }

  .est.ing {
    background-color: #e69d25;
  }

  .est.mae {
    background-color: #4d4d4d;
  }

  .est.dip {
    background-color: #1959a7;
  }

  p.nam {
    width: 350px;
    height: auto;
    text-align: center;
    margin-left: 10px;
    margin-top: -35px;
    color: #fff;
    position: absolute;
    font-size: 18px;
    line-height: 18px;
  }

  p.nam.dip {
    margin-top: 0px;
  }

  p.rvoe {
    width: 358px;
    height: auto;
    text-align: center;
    margin: auto;
    margin-top: 65px;
    background-color: #fff;
    border-radius: 0px 0px 35px 35px;
    line-height: 40px;
  }

  a.ctades {
    width: 300px;
    height: 40px;
    margin: 0 35px;
    background-color: #e69d25;
    border-radius: 0px;
    color: #fff;
    text-align: center;
    line-height: 40px;
    transition: all 0.5s ease;
  }

  a.ctadesdos {
    width: 300px;
    height: 40px;
    margin: 0 35px;
    background-color: #da8700;
    border-radius: 0px 0px 35px 35px;
    color: #fff;
    text-align: center;
    line-height: 40px;
    transition: all 0.5s ease;
  }

  a.ctades:hover,
  a.ctades.ing:hover,
  a.ctades.mae:hover {
    background-color: #862d15;
  }

  a.ctadesdos:hover,
  a.ctadesdos.ing:hover,
  a.ctadesdos.mae:hover {
    background-color: #862d15;
  }

  a.ctades.ing {
    background-color: #c14321;
    transition: all 0.5s ease;
  }

  a.ctadesdos.ing {
    background-color: #c14321;
    transition: all 0.5s ease;
  }

  a.ctades.mae {
    background-color: #c14321;
    transition: all 0.5s ease;
  }

  a.ctadesdos.mae {
    background-color: #c14321;
    transition: all 0.5s ease;
  }

  #bullets {
    width: 50%;
    list-style: none;
  }

  #bullets li {
    width: 100%;
    margin-bottom: 20px;
    font-size: 18px;
    margin-left: 30px;
    line-height: 50px;
  }

  .imgprep {
    width: 50%;
    height: auto;
  }

  .icbullet {
    width: 30px;
    height: 30px;
    height: auto;
    vertical-align: middle;
    margin-right: 10px;
  }

  /*COMUNICATE*/

  #comunicate {
    width: 100%;
    margin: 0 auto;
    display: flex;
    background-image: url("../image/bg-tels.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-clip: border-box;
    box-sizing: border-box;
    padding: 2% 0 2% 0%;

    background-origin: padding-box;
    background-position: 50% 50%;
    background-position-x: 50%;
    background-position-y: 50%;
  }

  #tels {
    width: 80%;
    height: auto;
    /*background-color: #1959a7;*/
    padding: 1%;
    margin: auto;
  }

  h2.tittels {
    width: 100%;
    height: auto;
    text-align: center;
    color: #fff;
    font-size: 4vw;
    margin-bottom: 30px;
  }

  #ctas {
    width: 45%;
    padding: 2% 5%;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 80px;
  }

  .icontelinf {
    width: 10%;
    height: auto;
    vertical-align: middle;
    margin-right: 10px;
  }

  a.ctatel {
    width: 100%;
    height: auto;
    display: block;
    font-size: 30px;
    line-height: 30px;
    color: #1959a7;
  }

  /*FOOTER*/

  #mapfooter {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 5%;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: flex-start;
  }

  .col.uno {
    width: 60%;
    height: 50px;
  }

  .col.dos {
    width: 40%;
    height: 50px;
  }

  p.textlist {
    font-size: 14px;
    text-transform: uppercase;
    color: #fff;
  }

  .listfoot {
    width: 100%;
    height: auto;
    list-style: none;
    margin-top: 20px;
  }

  .listfoot li {
    display: inline;
    margin-right: 20px;
  }

  .listfoot li a {
    color: #fff;
    font-size: 12px;
    line-height: 16px;
  }

  .listfoot2 {
    width: 100%;
    height: auto;
    list-style: none;
  }

  .listfoot2 li {
    margin-right: 20px;
  }

  .listfoot2 li a {
    color: #fff;
    font-size: 12px;
    line-height: 16px;
  }

  .iconfoot {
    width: 30px;
    height: auto;
    line-height: 30px;
    vertical-align: top;
    margin-right: 10px;
    margin-top: -6px;
  }

  /* ENVIAR SUCCES */

  #contpag {
    width: 100%;
    height: 100%;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.9);
    position: fixed;
    top: 0;
    left: 0;

    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
  }

  h2.titgrac {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 30px;
    text-align: center;
    font-size: 2.5vw;
    color: #fff;
  }

  p.textgrac {
    width: 90%;
    margin: 0 auto;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    color: #fff;
  }

  a.lynkgrac {
    font-size: 16px;
    line-height: 18px;
    text-align: center;
    color: yellow;
  }

  /* Estilos generales para selects */
  select.camp.uno,
  select.camp.dos {
    font-size: 16px; /* Tamaño de fuente legible */
    border: 1px solid #ccc; /* Borde suave */
    border-radius: 6px; /* Bordes redondeados */
    background-color: #fff; /* Fondo blanco */
    color: #333; /* Color del texto */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Transición suave */
    outline: none; /* Elimina el borde de enfoque por defecto */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* Sombra ligera */
  }

  /* Estilo cuando el select está enfocado */
  select.camp.uno:focus,
  select.camp.dos:focus {
    border-color: #007bff; /* Borde azul al enfocar */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25); /* Sombra al enfocar */
  }

  /* Estilo para opciones */
  select.camp.uno option,
  select.camp.dos option {
    padding: 8px; /* Espaciado interno para opciones */
    background-color: #fff; /* Fondo blanco */
    color: #333; /* Color del texto */
  }

  /* Estilo para selects deshabilitados */
  select.camp.uno:disabled,
  select.camp.dos:disabled {
    background-color: #f8f9fa; /* Fondo gris claro */
    color: #6c757d; /* Texto gris */
    cursor: not-allowed; /* Cursor de no permitido */
  }

  /* Estilo para selects requeridos */
  select.camp.uno[required],
  select.camp.dos[required] {
    border-bottom: 2px solid #007bff; /* Línea inferior destacada */
  }

  /* Estilo para selects con error (opcional) */
  select.camp.uno.error,
  select.camp.dos.error {
    border-color: #dc3545; /* Borde rojo */
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25); /* Sombra roja */
  }
}

.input-error {
  border: 2px solid red !important;
  background-color: #fff0f0 !important;
}
