/* ---------------------------------------------
Tabla de Contenidos
Fuentes y reinicio CSS

Reinicio
Estilos globales
Encabezado
Banner
Pie de página
--------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
div pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
figure,
header,
nav,
section,
article,
aside,
footer,
figcaption {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

ul,
li {
  padding: 0;
  margin: 0;
  list-style: none;
}

header,
nav,
section,
article,
aside,
footer,
hgroup {
  display: block;
}

* {
  box-sizing: border-box;
}

html,
html,
body {
  font-family: 'Montserrat', sans-serif;
  /* Ya lo tienes, pero es el punto de partida */
  font-weight: 400;
  background-color: #fff;
  font-size: 16px;
  /* Ajustado a un tamaño más estándar para la base */
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  text-decoration: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Montserrat', sans-serif;
  /* Añade o confirma esta línea */
  margin-top: 0px;
  margin-bottom: 0px;
  color: #142C76;
}

ul {
  margin-bottom: 0px;
}

p {
  font-family: 'Montserrat', sans-serif;
  /* Confirma esta línea si no la toma */
  font-size: 15px;
  line-height: 26px;
  color: #142C76;
}

/*
---------------------------------------------
global styles
---------------------------------------------
*/
html,
body {
  background: #fff;
  font-family: 'Montserrat', sans-serif;
}

::selection {
  background: #EAB300;
  color: #fff;
}

::-moz-selection {
  background: #EAB300;
  color: #fff;
}

@media (max-width: 991px) {

  html,
  body {
    overflow-x: hidden;
  }

  .mobile-top-fix {
    margin-top: 30px;
    margin-bottom: 0px;
  }

  .mobile-bottom-fix {
    margin-bottom: 30px;
  }

  .mobile-bottom-fix-big {
    margin-bottom: 60px;
  }
}

.green-button a {
  font-size: 14px;
  color: #fff;
  background-color: #43ba7f;
  padding: 12px 30px;
  display: inline-block;
  border-radius: 5px;
  font-weight: 500;
  text-transform: capitalize;
  letter-spacing: 0.5px;
  transition: all .3s;
}

.green-button a:hover {
  opacity: 0.9;
}

.orange-button a {
  font-size: 14px;
  color: #fff;
  background-color: #EAB300;
  padding: 12px 30px;
  display: inline-block;
  border-radius: 5px;
  font-weight: 500;
  text-transform: capitalize;
  letter-spacing: 0.5px;
  transition: all .3s;
}

.orange-button a:hover {
  opacity: 0.9;
}

section {
  margin-top: 120px;
}

.section-heading {
  position: relative;
  z-index: 2;
  margin-top: 0px;
  text-align: center;
  margin-bottom: 70px;
}

.section-heading h6 {
  font-size: 16px;
  text-transform: uppercase;
  color: #EAB300;
  font-weight: 700;
}

.section-heading h4 {
  margin-top: 10px;
  line-height: 40px;
  font-size: 36px;
  font-weight: 700;
  text-transform: capitalize;
  color: #142C76;
}

.section-heading p {
  margin-top: 30px;
}

/*
---------------------------------------------
header
---------------------------------------------
*/
.background-header {
  background-color: #142C76;
  height: 100px !important;
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15) !important;
}

.header-area {
  position: absolute;
  height: 110px;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transition: all .5s ease 0s;
}

.header-area .main-nav {
  min-height: 100%;
  background: transparent;
}

.header-area .main-nav .logo {
  line-height: 120px;
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  float: left;
  transition: all 0.3s ease 0s;
}

/* Estilo específico para la imagen del logo, ajustado a un tamaño deseado */
.header-area .main-nav .logo img {
  height: 70px;
  /* Altura deseada para el logo */
  width: auto;
  /* Mantiene la proporción */
  overflow: hidden;
  /* Asegura que no se desborde */
}

.background-header .main-nav .logo {
  position: fixed !important;
  line-height: 80px;
  width: auto;
}

.background-header .main-nav .logo img {
  height: 60px;
  width: auto;
}

.background-header .nav {
  margin-top: 18px !important;
}

.header-area .main-nav .nav {
  position: relative;
  float: right;
  margin-top: 60px;
  margin-right: 0px;
  background-color: transparent;
  z-index: 999;
}

.header-area .main-nav .nav li {
  padding-left: 25px;
  padding-right: 25px;
}

.header-area .main-nav .nav li a {
  display: block;
  font-weight: 676;
  font-size: 16px;
  font-optical-sizing: auto;
  font-style: normal;
  text-transform: uppercase;
  color: #EAB300;
  transition: all 0.3s ease 0s;
  height: 40px;
  line-height: 40px;
  border: transparent;
  letter-spacing: 1px;
}

.header-area .main-nav .nav li:last-child a:hover {
  color: #EAB300;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li:last-child a,
.background-header .main-nav .nav li.has-sub ul.sub-menu li:last-child a {
  margin-left: 0px;
  border-radius: 0px;
  padding-top: 0px !important;
  height: 40px;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li:last-child a:hover,
.background-header .main-nav .nav li.has-sub ul.sub-menu li:last-child a:hover {
  padding-left: 25px !important;
}

.header-area .main-nav .nav li:hover a,
.header-area .main-nav .nav li a.active {
  color: #EAB300;
}

.background-header .main-nav .nav li:hover a,
.background-header .main-nav .nav li a.active {
  color: #EAB300;
  opacity: 1;
}

.header-area .main-nav .nav li.has-sub {
  position: relative;
  padding-right: 15px;
}

.header-area .main-nav .nav li.has-sub:after {
  font-family: FontAwesome;
  content: "\f107";
  font-size: 12px;
  color: #fff;
  position: absolute;
  right: 2px;
  top: 12px;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu {
  position: absolute;
  width: 140px;
  background-color: #fff;
  box-shadow: 0 2px 28px 0 rgba(0, 0, 0, 0.06);
  overflow: hidden;
  top: 40px;
  border-radius: 5px;
  opacity: 0;
  transition: all .3s;
  transform: translateY(+2em);
  visibility: hidden;
  z-index: -1;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li {
  margin-left: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li a {
  opacity: 1;
  display: block;
  background: #f7f7f7;
  color: #2a2a2a !important;
  padding-left: 20px;
  height: 40px;
  line-height: 40px;
  transition: all 0.3s ease 0s;
  position: relative;
  font-size: 12px;
  font-weight: 400;
  border-bottom: 1px solid #eee;
}

.header-area .main-nav .nav li.has-sub ul li a:hover {
  background: #fff;
  color: #EAB300 !important;
  padding-left: 25px;
}

.header-area .main-nav .nav li.has-sub ul li a:hover:before {
  width: 3px;
}

.header-area .main-nav .nav li.has-sub:hover ul.sub-menu {
  visibility: visible;
  opacity: 1;
  z-index: 1;
  transform: translateY(0%);
  transition-delay: 0s, 0s, 0.3s;
}

.header-area .main-nav .menu-trigger {
  cursor: pointer;
  display: block;
  position: absolute;
  top: 33px;
  width: 32px;
  height: 40px;
  text-indent: -9999em;
  z-index: 99;
  right: 40px;
  display: none;
}

.background-header .main-nav .menu-trigger {
  top: 23px;
}

.header-area .main-nav .menu-trigger span,
.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  transition: all 0.4s;
  background-color: #fff;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  content: "";
  width: 75%;
}

.header-area .main-nav .menu-trigger span {
  top: 16px;
}

.header-area .main-nav .menu-trigger span:before {
  transform-origin: 33% 100%;
  top: -10px;
  z-index: 10;
}

.header-area .main-nav .menu-trigger span:after {
  transform-origin: 33% 0;
  top: 10px;
}

.header-area .main-nav .menu-trigger.active span,
.header-area .main-nav .menu-trigger.active span:before,
.header-area .main-nav .menu-trigger.active span:after {
  background-color: transparent;
  width: 100%;
}

.header-area .main-nav .menu-trigger.active span:before {
  transform: translateY(6px) translateX(1px) rotate(45deg);
  background-color: #fff;
}

.header-area .main-nav .menu-trigger.active span:after {
  transform: translateY(-6px) translateX(1px) rotate(-45deg);
  background-color: #fff;
}

.header-area.header-sticky {
  min-height: 80px;
}

.header-area .nav {
  margin-top: 30px;
}

.header-area.header-sticky .nav li a.active {
  color: #EAB300;
}

/* --- Media Queries --- */
@media (max-width: 1200px) {
  .header-area .main-nav .nav li {
    padding-left: 10px;
    padding-right: 10px;
  }

  .header-area .main-nav:before {
    display: none;
  }
}

@media (max-width: 767px) {
  .header-area .main-nav .logo {
    color: #142C76;
  }

  .header-area.header-sticky .nav li a:hover,
  .header-area.header-sticky .nav li a.active {
    color: #EAB300 !important;
    opacity: 1;
  }

  .header-area.header-sticky .nav li.search-icon a {
    width: 100%;
  }

  .header-area {
    background-color: #f7f7f7;
    padding: 0px 15px;
    height: 100px;
    box-shadow: none;
    text-align: center;
  }

  .header-area .container {
    padding: 0px;
  }

  .header-area .logo {
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
    line-height: 80px;
    float: none;
  }

  .header-area .menu-trigger {
    display: block !important;
  }

  .header-area .main-nav {
    overflow: hidden;
  }

  .header-area .main-nav .nav {
    float: none;
    width: 100%;
    display: none;
    transition: all 0s ease 0s;
    margin-left: 0px;
  }

  .header-area .main-nav .nav li:first-child {
    border-top: 1px solid #eee;
  }

  .header-area.header-sticky .nav {
    margin-top: 100px !important;
  }

  .background-header.header-sticky .nav {
    margin-top: 80px !important;
  }

  .header-area .main-nav .nav li {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #eee;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .header-area .main-nav .nav li a {
    height: 50px !important;
    line-height: 50px !important;
    padding: 0px !important;
    border: none !important;
    background: #f7f7f7 !important;
    color: #142C76 !important;
  }

  .header-area .main-nav .nav li a:hover {
    background: #eee !important;
    color: #EAB300 !important;
  }

  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    position: relative;
    visibility: inherit;
    opacity: 1;
    z-index: 1;
    transform: translateY(0%);
    top: 0px;
    width: 100%;
    box-shadow: none;
    height: 0px;
    transition: all 0s;
  }

  .header-area .main-nav .nav li.submenu ul li a {
    font-size: 12px;
    font-weight: 400;
  }

  .header-area .main-nav .nav li.submenu ul li a:hover:before {
    width: 0px;
  }

  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    height: auto;
  }

  .header-area .main-nav .nav li.has-sub:after {
    color: #142C76;
    right: 30px;
    font-size: 14px;
    top: 15px;
  }

  .header-area .main-nav .nav li.submenu:hover ul,
  .header-area .main-nav .nav li.submenu:focus ul {
    height: 0px;
  }
}

@media (min-width: 767px) {
  .header-area .main-nav .nav {
    display: flex !important;
  }
}


/*
---------------------------------------------
banner
---------------------------------------------
*/

/* Carrusel Bootstrap - estilo de texto */
#carrusel {
  position: relative;
  background-color: #142C76;
}

#carrusel .carousel-item {
  height: 800px;
  overflow: hidden;
}

#carrusel .carousel-item img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

#carrusel .carousel-caption {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  text-align: left;
  max-width: 70%;
}

#carrusel .carousel-caption h2 {
  font-size: 56px;
  color: #fff;
  font-weight: 700;
  line-height: 70px;
  margin-bottom: 40px;
  text-transform: uppercase;
}

#carrusel .carousel-caption h2 em {
  color: #EAB300;
  font-style: normal;
}
/* Admnisiones */
.container.my-5 img {
  width: 100%;
  height: auto;
}
.admission-banner-image img {
  max-width: 100%; /* Asegura que la imagen no exceda el ancho de su contenedor */
  height: auto;    /* Mantiene la proporción de la imagen */
  display: block;  /* Ayuda a centrarla con mx-auto */
  margin-left: auto; /* Centra la imagen si el contenedor es más grande */
  margin-right: auto;/* Centra la imagen si el contenedor es más grande */
}
/*
---------------------------------------------
footer
---------------------------------------------
*/
footer {
  background-color: #142C76;
  text-align: center;
  padding: 25px 0px;
}

footer p {
  color: #fff;
  font-weight: 300;
  font-family: 'Montserrat', sans-serif;
}

footer p a {
  color: #EAB300;
}

/*
---------------------------------------------
responsive
---------------------------------------------
*/
/* Esto es la para la pagina de contacto */
/* --- Sección de Información de Contacto (info-item) --- */

.info-item {
  background-color: #f8f8f8; /* Un fondo claro para las tarjetas */
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); /* Sombra suave para un efecto de elevación */
  text-align: center;
  margin-bottom: 20px; /* Asegura espacio entre items en todas las pantallas */
  transition: all 0.3s ease; /* Transición para efectos hover */
  height: 100%; /* Asegura que todas las tarjetas tengan la misma altura */
  display: flex; /* Para flexbox */
  flex-direction: column; /* Apila contenido verticalmente */
  justify-content: center; /* Centra verticalmente el contenido */
  align-items: center; /* Centra horizontalmente el contenido */
}

.info-item:hover {
  transform: translateY(-5px); /* Pequeño levantamiento al pasar el ratón */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); /* Sombra más pronunciada al pasar el ratón */
}

.info-item i {
  font-size: 40px; /* Tamaño más grande para los iconos */
  color: #142C76; /* Color distintivo para los iconos (tu color amarillo/naranja) */
  margin-bottom: 20px;
}

.info-item h4 {
  font-size: 20px; /* Tamaño de fuente para el título */
  color: #142C76; /* Tu color principal azul */
  margin-bottom: 10px;
  font-weight: 700; /* Negrita para el título */
}

.info-item a {
  font-size: 16px; /* Tamaño de fuente para el enlace/texto */
  color: #142C76; /* Color de tu texto principal */
  line-height: 24px;
  word-wrap: break-word; /* Para que la dirección larga se rompa en varias líneas */
  display: block; /* Asegura que el enlace ocupe su propio espacio */
}

.info-item a:hover {
  color: #EAB300; /* Cambia de color al pasar el ratón */
  text-decoration: underline; /* Subrayado al pasar el ratón */
}

/* Ajustes para pantallas pequeñas */
@media (max-width: 767px) {
  .info-item {
    padding: 25px; /* Reducir padding en móviles */
  }
  .info-item i {
    font-size: 35px; /* Reducir tamaño de icono en móviles */
    margin-bottom: 15px;
  }
  .info-item h4 {
    font-size: 18px; /* Reducir tamaño de título en móviles */
  }
  .info-item a {
    font-size: 14px; /* Reducir tamaño de texto en móviles */
  }
}

/*  */
body {
  overflow-x: hidden;
}

@media (max-width: 992px) {
  .header-area .main-nav .nav li:last-child {
    display: none;
  }

  .header-area .main-nav .nav li ul li:last-child {
    display: inline-block;
  }

  .header-area {
    background-color: #142C76;
  }

  .slide-inner .header-text {
    width: 80%;
  }
}

@media (max-width: 767px) {
  .header-area .main-nav .logo {
    line-height: 100px;
  }

  .background-header .main-nav .logo {
    line-height: 80px;
  }

  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    display: none;
  }
}