@charset "utf-8";
/*
Template Name: Foxclore
Author: <a href="https://www.os-templates.com/">OS Templates</a>
Author URI: https://www.os-templates.com/
Copyright: OS-Templates.com
Licence: Free to use under our free template licence terms
Licence URI: https://www.os-templates.com/template-terms
File: Layout CSS
*/

@import url("fontawesome-free/css/all.css");
@import url("framework.css");

/* Rows
--------------------------------------------------------------------------------------------------------------- */
.row0, .row0 a{}
.row1, .row1 a{}
.row2, .row2 a{}
.row3, .row3 a{}
.row4, .row4 a{}
.row5, .row5 a{}


/* Header
--------------------------------------------------------------------------------------------------------------- */
#header{padding:50px 0;}

#header #logo *{margin:0; padding:0; line-height:1;}
#header #logo h1{font-size:32px;}
#header #logo p{font-size:.8rem;}

#header ul{}
#header ul li{}
#header ul li div{position:relative; min-height:45px; padding:0 0 0 60px; line-height:1; word-wrap:break-word;}
#header ul li div i{position:absolute; top:0; left:0; width:45px; height:45px; line-height:45px; font-size:16px; text-align:center; border-radius:50%;}
#header ul li div span{display:block; padding:4px 0 0 0;}
#header ul li div strong{display:block; margin:0 0 8px 0;}

#header div:last-child{margin-bottom:0;}/* Used when elements stack in small viewports */


/* Navwrapper
--------------------------------------------------------------------------------------------------------------- */
#navwrapper{padding:0 0 0 20px;}

#navwrapper #searchform{display:block; position:relative; float:right; height:58px; line-height:1; z-index:999; border-radius:10px 0;}
#navwrapper #searchform::after{display:block; height:58px; line-height:58px; padding:0 15px; font-size:20px; font-family:"Font Awesome 5 Free"; font-weight:900; content:"\f002"/* fa-search */;}
#navwrapper #searchform:hover::after, #navwrapper #searchform button{cursor:pointer;}
#navwrapper #searchform > div{position:absolute; top:58px; right:0; width:280px; visibility:hidden; opacity:0/* Required for transition effect */;}
#navwrapper #searchform:hover > div{visibility:visible; opacity:1/* Required for transition effect */;}
#navwrapper #searchform form{display:block; position:relative;}
#navwrapper #searchform form *{border:none;}
#navwrapper #searchform input{display:block; width:100%; height:36px; padding:8px 40px 8px 10px; font-size:1rem;}
#navwrapper #searchform ::placeholder{text-transform:capitalize;}
#navwrapper #searchform button{display:block; position:absolute; top:3px; right:2px; height:30px; font-size:16px; line-height:1;}


/* Hero con video de fondo
--------------------------------------------------------------------------------------------------------------- */
.hero-with-video{position:relative; min-height:100vh;}
.hero-video-wrap{position:absolute; top:0; left:0; width:100%; height:100%; z-index:-2; overflow:hidden;}
.hero-video-wrap .hero-video{width:100%; height:100%; object-fit:cover;}
.hero-with-video .overlay::after{z-index:-1;}

/* Page Intro
--------------------------------------------------------------------------------------------------------------- */
#pageintro{padding:180px 0;}

#pageintro article{display:block; max-width:55%;}
#pageintro .heading{margin-bottom:20px; font-size:4rem;}
#pageintro .hero-bienvenida{margin:0 0 10px 0; text-transform:none; font-size:1.25rem; letter-spacing:1px;}
#pageintro .hero-titulo-principal{margin:0 0 12px 0; font-size:5.5rem; line-height:1.1; font-weight:700;}
#pageintro .hero-subtitulo{margin:0 0 20px 0; font-size:2rem; font-weight:600;}
#pageintro p:first-of-type{margin:0 0 20px 0; text-transform:uppercase; font-size:1.6rem; letter-spacing:2px;}
#pageintro .hero-bienvenida{text-transform:none; font-size:1.25rem;}
#pageintro p:last-of-type{font-size:1.2rem;}
#pageintro footer{margin-top:50px;}


/* Content Area
--------------------------------------------------------------------------------------------------------------- */
.container{padding:80px 0;}

/* Content */
.container .content{}

.sectiontitle{display:block; max-width:55%; margin:0 auto 80px; text-align:center;}
.sectiontitle *{margin:0;}

/* Introblocks */
#introblocks{display:block; position:relative; margin:-150px 0 0 0; z-index:1;}/* 180px => 100px + container padding */
#introblocks > ul > li{margin-bottom:50px;}
#introblocks > ul > li:nth-last-child(-n+3){margin-bottom:0;}/* Removes bottom margin from the last line of items - margin is restored in the media queries when items stack */
#introblocks > ul > li:nth-child(3n+1){margin-left:0; clear:left;}/* Removes the need to add class="first" */
#introblocks figure{}
#introblocks figure figcaption{display:block; padding:30px 0 0 0;}
#introblocks figure figcaption > a{}
#introblocks figure figcaption .heading{font-size:1.2rem; font-weight:700; margin-bottom:0;}

/* Stats */
#stats{}
#stats > li{display:block; float:left; width:25%; border:solid; border-width:0 1px 0 0; text-align:center;}
#stats > li:last-child{border:none;}
#stats > li *{margin:0; padding:0;}
#stats > li i{margin-bottom:30px; font-size:5rem;}
#stats > li p:first-of-type{margin-bottom:15px; font-size:3rem; font-weight:700; line-height:1;}
#stats > li p:last-of-type{text-transform:uppercase;}

/* Latest */
.latest{margin-bottom:80px;}
.latest > li:last-child{margin-bottom:0;}/* Used when elements stack in small viewports */
.latest article{position:relative; padding:0 0 0 80px;}
.latest article time{display:block; position:absolute; top:0; left:0; width:60px;}
.latest article time *{display:block; margin:0; padding:0; text-align:center; text-transform:uppercase; font-style:normal; line-height:1;}
.latest article time strong{padding:12px 0; font-size:18px; border-bottom:1px solid; opacity:.5;}
.latest article time em{padding:8px 0;}
.latest article .excerpt .meta li{display:inline-block; font-size:.8rem;}
.latest article .excerpt .meta li::after{margin-left:5px; content:"|";}
.latest article .excerpt .meta li:last-child::after{margin:0; content:"";}
.latest article .excerpt .heading{margin:0; font-size:1.2rem;}
.latest article .excerpt p{margin-bottom:30px;}

/* Noticias y eventos - carrusel con datos propios */
.noticias-title{text-transform:uppercase; color:#1E3F66;}
.noticias-carrusel{margin-bottom:40px;}
.noticias-carrusel-scroll{overflow-x:auto; overflow-y:hidden; padding:10px 0 20px; -webkit-overflow-scrolling:touch;}
.noticias-carrusel-inner{display:flex; gap:24px; flex-wrap:nowrap; min-height:320px;}
.noticias-loading{text-align:center; color:#666; padding:40px 20px;}
.noticias-card{flex:0 0 320px; max-width:320px; background:#fff; border-radius:8px; overflow:hidden; border:1px solid rgba(30,63,102,.15); box-shadow:0 4px 16px rgba(0,0,0,.06); transition:box-shadow .2s, transform .2s;}
.noticias-card:hover{box-shadow:0 8px 24px rgba(30,63,102,.15); transform:translateY(-2px);}
.noticias-card-link{display:block; text-decoration:none; color:inherit; height:100%;}
.noticias-card-img{width:100%; height:180px; overflow:hidden;}
.noticias-card-img img{width:100%; height:100%; object-fit:cover;}
.noticias-card-body{padding:16px;}
.noticias-card-fecha{display:block; font-size:.85rem; color:#1E3F66; opacity:.9; margin-bottom:8px;}
.noticias-card-titulo{margin:0 0 10px; font-size:1.05rem; line-height:1.35; color:#1E3F66;}
.noticias-card-desc{font-size:.9rem; color:#444; line-height:1.45; margin:0 0 12px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.noticias-card-more{font-size:.9rem; font-weight:600; color:#1E3F66;}

/* Más espacio entre las tarjetas de trámites y la sección Formación académica */
.section-programas{margin-top:60px;}
.section-programas figure figcaption{display:block; padding:30px 0 0 0;}
.section-programas figure figcaption .heading{font-size:1.2rem; font-weight:700; margin-bottom:0;}

/* Iconos flotantes animados (presentación) */
.float-whatsapp,.float-chatbot{position:fixed; z-index:9999; width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(0,0,0,.2); cursor:default; animation:float-bounce 2s ease-in-out infinite;}
.float-whatsapp{bottom:24px; right:24px; background:#25D366; color:#fff; font-size:28px;}
.float-chatbot{bottom:24px; left:24px; background:#1E3F66; color:#fff; font-size:26px;}
@keyframes float-bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* Páginas de programas (Doctorado, Maestrías, Segundas especialidades) */
.pagina-programa #pageintro{display:none;}
.programa-banner{background:#1E3F66; color:#fff; padding:50px 0;}
.programa-banner-inner{max-width:55%;}
.programa-banner-label{font-size:1rem; text-transform:uppercase; letter-spacing:1px; opacity:.9; margin:0 0 8px;}
.programa-banner-title{font-size:2.8rem; margin:0 0 12px; font-weight:700;}
.programa-banner-sub{font-size:1.1rem; margin:0; opacity:.95;}
.programa-intro p{font-size:1.05rem; line-height:1.6;}
.programa-lista{list-style:none; margin:0; padding:0; display:grid; gap:20px;}
.programa-card{border:1px solid rgba(30,63,102,.2); border-radius:8px; overflow:hidden; transition:box-shadow .2s;}
.programa-card:hover{box-shadow:0 6px 24px rgba(30,63,102,.12);}
.programa-card-link{display:block; padding:24px; text-decoration:none; color:inherit;}
.programa-card-icon{display:block; color:#1E3F66; font-size:1.8rem; margin-bottom:12px;}
.programa-card .heading{color:#1E3F66; margin:0 0 10px; font-size:1.15rem;}
.programa-card p{margin:0 0 12px; font-size:.95rem; color:#444;}
.programa-card-more{font-size:.9rem; font-weight:600; color:#1E3F66;}
.programa-listado{list-style:none; margin:0; padding:0;}
.programa-listado li{margin-bottom:12px; padding-left:24px; position:relative;}
.programa-listado li i{position:absolute; left:0; color:#1E3F66;}
@media (min-width:900px){.programa-lista{grid-template-columns:repeat(3,1fr);}}
@media (min-width:1200px){.programa-lista{grid-template-columns:repeat(3,1fr);}}

/* Página detalle programa: 3 columnas fijas = Presentación (izq) | texto (centro) | Más información (der, más angosta) */
.programa-detalle-wrap{padding:40px 0 60px; background:#fff;}
.programa-detalle-layout{display:grid; gap:28px; grid-template-columns:1fr; grid-template-areas:"nav" "main" "info";}
.programa-sidebar-nav{grid-area:nav; min-width:0;}
.programa-main{grid-area:main; min-width:0;}
.programa-sidebar-info{grid-area:info; min-width:0;}
.programa-nav-inner{display:flex; flex-direction:column; border:1px solid #e0e0e0; border-radius:8px; overflow:hidden; background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.06);}
.programa-nav-item{display:flex; align-items:center; gap:12px; padding:14px 18px; color:#333; text-decoration:none; border-bottom:1px solid #eee; font-size:.95rem; transition:background .15s, color .15s;}
.programa-nav-item:last-child{border-bottom:none;}
.programa-nav-item i{width:22px; text-align:center; color:#1E3F66; flex-shrink:0;}
.programa-nav-item:hover{background:rgba(30,63,102,.06);}
.programa-nav-item.active{background:rgba(30,63,102,.1); color:#1E3F66; font-weight:600; border-left:3px solid #1E3F66;}
.programa-seccion{padding-bottom:32px;}
.programa-seccion-oculta{display:none;}
.programa-seccion-visible{display:block;}
.programa-grado{font-size:1.55rem; color:#1E3F66; margin:0 0 10px; font-weight:700; line-height:1.3;}
.programa-duracion{margin:0 0 24px; font-size:1rem; color:#555;}
.programa-texto{margin:0 0 20px; line-height:1.7; color:#444;}
.programa-subtitulo{font-size:1.12rem; color:#1E3F66; margin:28px 0 12px; font-weight:600;}
.programa-subtitulo:first-of-type{margin-top:0;}
.programa-lista-campo{list-style:disc; margin:0 0 24px; padding-left:24px;}
.programa-lista-campo li{margin-bottom:8px; line-height:1.55;}
.programa-info-box{background:#f8f9fa; border:1px solid rgba(30,63,102,.12); border-radius:8px; padding:20px;}
.programa-sidebar-info .programa-info-box{max-width:100%;}
/* Solo en Presentación se muestra la caja a la derecha; en otras secciones se oculta y el contenido usa todo el ancho */
@media (min-width:768px){
  .programa-detalle-layout.programa-sin-sidebar .programa-sidebar-info{display:none;}
  .programa-detalle-layout.programa-sin-sidebar{grid-template-columns:200px 1fr; grid-template-areas:"nav main";}
}
@media (min-width:1024px){
  .programa-detalle-layout.programa-sin-sidebar{grid-template-columns:220px minmax(0,1fr);}
}
.programa-info-title{font-size:1.1rem; color:#1E3F66; margin:0 0 12px;}
.programa-info-box p{margin:0 0 16px; font-size:.95rem; line-height:1.5;}
.programa-info-hr{border:0; border-top:1px solid #ddd; margin:16px 0;}
.programa-coord{font-size:.9rem; margin:0;}

/* Malla curricular: diseño dinámico y animado */
.programa-malla-titulo{font-size:1.6rem; color:#1E3F66; margin:0 0 12px; font-weight:700;}
.programa-malla-intro{margin:0 0 32px; line-height:1.65; color:#444;}
.programa-malla-semestres{display:grid; gap:20px; list-style:none; margin:0; padding:0;}
.programa-malla-semestre{background:#fff; border:1px solid rgba(30,63,102,.12); border-radius:12px; overflow:hidden; box-shadow:0 4px 16px rgba(30,63,102,.08); transition:transform .25s ease, box-shadow .25s ease, border-color .2s; position:relative; opacity:0; animation:programa-malla-fade-in .5s ease forwards;}
.programa-malla-semestre::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg,#1E3F66,#2d5a8f); opacity:0; transition:opacity .2s;}
.programa-malla-semestre:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(30,63,102,.14); border-color:rgba(30,63,102,.25);}
.programa-malla-semestre:hover::before{opacity:1;}
.programa-malla-semestre[data-semestre="1"]{animation-delay:.05s;}
.programa-malla-semestre[data-semestre="2"]{animation-delay:.1s;}
.programa-malla-semestre[data-semestre="3"]{animation-delay:.15s;}
.programa-malla-semestre[data-semestre="4"]{animation-delay:.2s;}
.programa-malla-semestre[data-semestre="5"]{animation-delay:.25s;}
.programa-malla-semestre[data-semestre="6"]{animation-delay:.3s;}
.programa-malla-electivos{animation-delay:.35s;}
.programa-malla-badge-electivos{background:linear-gradient(135deg,#2d5a8f,#1E3F66);}
.programa-malla-badge-electivos i{font-size:1rem;}
@keyframes programa-malla-fade-in{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}
.programa-malla-semestre-header{display:flex; align-items:center; gap:14px; padding:18px 20px; background:linear-gradient(135deg,rgba(30,63,102,.06),rgba(30,63,102,.02)); border-bottom:1px solid rgba(30,63,102,.08);}
.programa-malla-badge{display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:10px; background:#1E3F66; color:#fff; font-weight:700; font-size:1.1rem; flex-shrink:0;}
.programa-malla-semestre-titulo{margin:0; font-size:1.15rem; color:#1E3F66; font-weight:600;}
.programa-malla-cursos{list-style:none; margin:0; padding:16px 20px 20px; display:flex; flex-direction:column; gap:10px;}
.programa-malla-curso{display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:8px; background:rgba(30,63,102,.03); font-size:.95rem; color:#333; line-height:1.4; transition:background .2s, transform .15s;}
.programa-malla-curso i{color:#1E3F66; font-size:.9rem; width:20px; text-align:center; flex-shrink:0;}
.programa-malla-curso:hover{background:rgba(30,63,102,.08); transform:translateX(4px);}
.programa-malla-nota{margin:24px 0 0; font-size:.9rem; color:#666;}
.programa-malla-nota a{color:#1E3F66; font-weight:500;}
/* Banner referencial / CTA al final de la malla */
.programa-cta-banner{margin-top:32px; border-radius:12px; overflow:hidden; background:#1A3A5C; position:relative;}
.programa-cta-banner::before{content:""; position:absolute; top:0; left:0; right:0; bottom:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cellipse fill='%23ffffff' fill-opacity='0.03' cx='30' cy='30' rx='20' ry='20'/%3E%3C/svg%3E"); pointer-events:none;}
.programa-cta-banner-inner{position:relative; z-index:1; padding:32px 24px; text-align:center;}
.programa-cta-icon{display:block; font-size:2.2rem; color:#fff; margin:0 0 16px; opacity:.95;}
.programa-cta-title{margin:0 0 12px; font-size:1.25rem; font-weight:700; color:#fff; line-height:1.35;}
.programa-cta-text{margin:0 0 20px; font-size:.95rem; color:rgba(255,255,255,.9); line-height:1.5; max-width:420px; margin-left:auto; margin-right:auto;}
.programa-cta-btn-wrap{margin:0;}
.programa-cta-btn{display:inline-block; padding:12px 28px; background:#F2C94C; color:#1a1a1a; font-weight:600; text-decoration:none; border-radius:8px; font-size:1rem; transition:background .2s, transform .15s;}
.programa-cta-btn:hover{background:#f5d35c; transform:translateY(-2px);}
/* Inversión económica */
.programa-inversion-titulo{font-size:1.6rem; color:#1E3F66; margin:0 0 12px; font-weight:700;}
.programa-inversion-tabla-wrap{margin:24px 0; overflow-x:auto; border-radius:10px; border:1px solid rgba(30,63,102,.15); box-shadow:0 2px 12px rgba(30,63,102,.06);}
.programa-inversion-tabla{width:100%; border-collapse:collapse; font-size:.95rem;}
.programa-inversion-tabla th,.programa-inversion-tabla td{padding:14px 18px; text-align:left; border-bottom:1px solid rgba(30,63,102,.1);}
.programa-inversion-tabla th{background:rgba(30,63,102,.08); color:#1E3F66; font-weight:600;}
.programa-inversion-tabla tbody tr:last-child td{border-bottom:none;}
.programa-inversion-tabla tbody tr:hover{background:rgba(30,63,102,.03);}
.programa-inversion-tabla td:last-child{font-weight:500; color:#333;}
.programa-inversion-bloques{display:flex; flex-direction:column; gap:24px; margin:20px 0 0;}
.programa-inversion-bloque{padding:20px; border-radius:10px; background:rgba(30,63,102,.04); border-left:4px solid #1E3F66;}
.programa-inversion-bloque-num{font-size:1.1rem; color:#1E3F66; margin:0 0 12px; font-weight:600;}
.programa-inversion-bloque .programa-texto:first-of-type{margin-top:0;}
.programa-inversion-bloque .programa-lista-campo{margin-bottom:0;}
.programa-inversion-notas{margin:28px 0 0;}
.programa-inversion-notas .programa-subtitulo{margin-bottom:10px;}
.programa-inversion-enlace{margin:24px 0 0; font-size:.95rem; color:#555;}
.programa-inversion-enlace a{color:#1E3F66; font-weight:500;}
/* Cronograma académico */
.programa-cronograma-bloque{margin-bottom:28px;}
.programa-cronograma-bloque:last-of-type{margin-bottom:0;}
.programa-cronograma-bloque-titulo{margin:0 0 0; padding:12px 18px; font-size:1.05rem; font-weight:600; color:#fff; background:#1E3F66; border-radius:10px 10px 0 0;}
.programa-cronograma-bloque .programa-inversion-tabla-wrap{margin-top:0; border-radius:0 0 10px 10px;}
.programa-cronograma-bloque .programa-inversion-tabla-wrap:first-of-type{margin-top:0;}
.programa-cronograma-tabla{margin-top:0;}
.programa-vacantes-tabla-wrap{margin-top:20px;}
.programa-vacantes-tabla th{background:#1E3F66; color:#fff;}
/* Requisitos para postular */
.programa-requisitos-observacion{margin:20px 0 24px; padding:18px 20px; border-radius:10px; background:rgba(30,63,102,.06); border-left:4px solid #1E3F66;}
.programa-requisitos-observacion-titulo{margin:0 0 10px; font-size:1rem; font-weight:600; color:#1E3F66; display:flex; align-items:center; gap:8px;}
.programa-requisitos-observacion-titulo i{font-size:1.1rem;}
.programa-requisitos-observacion .programa-texto{margin:0;}
.programa-lista-requisitos{margin:0 0 24px; padding-left:24px; line-height:1.65;}
.programa-lista-requisitos li{margin-bottom:14px;}
.programa-lista-requisitos a{color:#1E3F66; font-weight:500;}
.programa-requisitos-notas{margin:20px 0 24px; padding:16px 20px; background:#f5f5f5; border-radius:8px; font-size:.95rem;}
.programa-requisitos-notas p{margin:0 0 10px;}
.programa-requisitos-notas p:last-child{margin-bottom:0;}
/* Inscripción */
.programa-inscripcion-pasos{list-style:none; margin:20px 0 0; padding:0;}
.programa-inscripcion-paso{margin-bottom:20px; padding:16px 18px; background:rgba(30,63,102,.04); border-left:4px solid #1E3F66; border-radius:0 8px 8px 0; line-height:1.6;}
.programa-inscripcion-paso:last-child{margin-bottom:0;}
.programa-inscripcion-paso a{color:#1E3F66; font-weight:500;}
.programa-cronograma-destacado{margin:20px 0 24px; padding:20px; border-radius:10px; background:rgba(30,63,102,.08); border-left:4px solid #1E3F66;}
.programa-cronograma-ciclo{margin:0 0 8px; font-size:1.15rem; color:#1E3F66;}
.programa-cronograma-cierre{margin:0; font-size:1rem; color:#333;}
/* Admisión: timeline de pasos */
.programa-admision-titulo{font-size:1.6rem; color:#1E3F66; margin:0 0 12px; font-weight:700;}
.programa-admision-intro{margin:0 0 24px; line-height:1.6; color:#444;}
.programa-admision-pasos{list-style:none; margin:0; padding:0; position:relative; padding-left:0;}
.programa-admision-paso{position:relative; padding-left:56px; padding-bottom:24px;}
.programa-admision-paso:last-child{padding-bottom:0;}
.programa-admision-paso::before{content:""; position:absolute; left:15px; top:28px; bottom:-12px; width:2px; background:rgba(30,63,102,.2);}
.programa-admision-paso:last-child::before{display:none;}
.programa-admision-paso-icono{position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; background:#1E3F66; color:#fff; display:flex; align-items:center; justify-content:center; font-size:.95rem;}
.programa-admision-paso-contenido{font-size:.95rem; line-height:1.55; color:#333;}
.programa-admision-paso-contenido a{color:#1E3F66; font-weight:500;}
.programa-admision-paso-contenido a:hover{text-decoration:underline;}
/* Caja derecha: Guía para el proceso de admisión */
.programa-guia-admision{background:#f8f9fa; border:1px solid rgba(30,63,102,.12); border-radius:8px; padding:20px;}
.programa-guia-titulo{font-size:1.05rem; color:#1E3F66; margin:0 0 16px; font-weight:600; display:flex; align-items:center; gap:10px;}
.programa-guia-titulo i{font-size:1.1rem;}
.programa-guia-nav{display:flex; flex-direction:column;}
.programa-guia-item{display:flex; align-items:center; gap:12px; padding:12px 0; color:#333; text-decoration:none; font-size:.95rem; border-bottom:1px solid rgba(30,63,102,.1); transition:color .15s, background .15s;}
.programa-guia-item:last-child{border-bottom:none;}
.programa-guia-item i{width:22px; text-align:center; color:#1E3F66; flex-shrink:0;}
.programa-guia-item:hover{color:#1E3F66;}
.programa-guia-item-inversion{font-weight:500;}
.programa-guia-item-primero{font-weight:600; color:#1E3F66;}
.programa-guia-pendiente{font-size:.8em; color:#888; font-weight:400;}
@media (min-width:600px){.programa-malla-semestres{grid-template-columns:repeat(2,1fr);}}
@media (min-width:960px){.programa-malla-semestres{grid-template-columns:repeat(3,1fr);}}

.btn-small{padding:8px 16px; font-size:.9rem;}
@media (min-width:768px){
  .programa-detalle-layout{grid-template-columns:200px 1fr 200px; grid-template-areas:"nav main info";}
}
@media (min-width:1024px){
  .programa-detalle-layout{grid-template-columns:220px minmax(0,1fr) 220px;}
}

/* Comments */
#comments ul{margin:0 0 40px 0; padding:0; list-style:none;}
#comments li{margin:0 0 10px 0; padding:15px;}
#comments .avatar{float:right; margin:0 0 10px 10px; padding:3px; border:1px solid;}
#comments address{font-weight:bold;}
#comments time{font-size:smaller;}
#comments .comcont{display:block; margin:0; padding:0;}
#comments .comcont p{margin:10px 5px 10px 0; padding:0;}

#comments form{display:block; width:100%;}
#comments input, #comments textarea{width:100%; padding:10px; border:1px solid;}
#comments textarea{overflow:auto;}
#comments div{margin-bottom:15px;}
#comments input[type="submit"], #comments input[type="reset"]{display:inline-block; width:auto; min-width:150px; margin:0; padding:8px 5px; cursor:pointer;}

/* Sidebar */
.container .sidebar{}

.sidebar .sdb_holder{margin-bottom:50px;}
.sidebar .sdb_holder:last-child{margin-bottom:0;}


/* Testimonials
--------------------------------------------------------------------------------------------------------------- */
#testimonials{}

#testimonials article{text-align:center;}
#testimonials article *{margin:0; padding:0;}
#testimonials article img{margin-bottom:20px; border-radius:50%;}
#testimonials .autoridad-img{width:180px; height:180px; object-fit:cover; border-radius:50%; display:block; margin-left:auto; margin-right:auto;}
#testimonials .testimonial-contact{margin-top:12px; font-size:.95rem;}
#testimonials .testimonial-contact a{color:inherit;}
#testimonials article blockquote{margin-bottom:20px; padding:20px;}
#testimonials article blockquote::before{top:5px; left:5px; font-size:30px; line-height:30px;}
#testimonials article .heading{font-size:1.4rem;}
#testimonials article em{display:block; margin-top:-5px; font-size:.8rem; font-style:normal;}


/* Footer
--------------------------------------------------------------------------------------------------------------- */
#footer{padding:80px 0;}

#footer .heading{margin-bottom:50px; font-size:1.2rem;}

#footer > div:first-of-type .heading{margin-bottom:20px; text-transform:uppercase; font-size:1.8rem;}
#footer > div:first-of-type .faico{margin-bottom:30px;}

#footer input, #footer button{border:1px solid;}
#footer input{display:block; width:100%; padding:8px;}
#footer button{padding:8px 18px 10px; text-transform:uppercase; font-weight:400; cursor:pointer;}

#footer .linklist li{display:block; margin-bottom:15px; padding:0 0 15px 0; border-bottom:1px solid;}
#footer .linklist li:last-child{margin:0; padding:0; border:none;}
#footer .linklist li::before, #footer .linklist li::after{display:table; content:"";}
#footer .linklist li, #footer .linklist li::after{clear:both;}

#footer .contact{}
#footer .contact.linklist li, #footer .contact.linklist li:last-child{position:relative; padding-left:40px;}
#footer .contact li *{margin:0; padding:0; line-height:1.6;}
#footer .contact li i{display:block; position:absolute; top:0; left:0; width:30px; font-size:16px; text-align:center;}

#footer .latestimg{}
#footer .latestimg > li{display:inline-block; float:left; width:30%; margin:0 0 5% 5%;}
#footer .latestimg > li:nth-last-child(-n+3){margin-bottom:0;}/* Removes bottom margin from the last three items - margin is restored in the media queries when items stack */
#footer .latestimg > li:nth-child(3n+1){margin-left:0; clear:left;}/* Removes the need to add class="first" */
#footer .latestimg > li img{width:100%;}/* Force the image to resize to take the full space - may have to be changed for tablets, depends on personal preference */
#footer .latestimg > li a.imgover{display:block;}


/* Copyright
--------------------------------------------------------------------------------------------------------------- */
#copyright{padding:20px 0;}
#copyright *{margin:0; padding:0;}


/* Transition Fade
This gives a smooth transition to "ALL" elements used in the layout - other than the navigation form used in mobile devices
If you don't want it to fade all elements, you have to list the ones you want to be faded individually
Delete it completely to stop fading
--------------------------------------------------------------------------------------------------------------- */
*, *::before, *::after{transition:all .3s ease-in-out;}
#mainav form *{transition:none !important;}


/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */


/* Navigation
--------------------------------------------------------------------------------------------------------------- */
nav ul, nav ol{margin:0; padding:0; list-style:none;}

#mainav, #breadcrumb, .sidebar nav{line-height:normal;}
#mainav .drop::after, #mainav li li .drop::after, #breadcrumb li a::after, .sidebar nav a::after{position:absolute; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:10px; line-height:10px;}

/* Top Navigation */
#mainav{display:block; float:left;}
#mainav ul{text-transform:uppercase;}
#mainav ul ul{z-index:9999; position:absolute; width:180px; text-transform:none; text-align:left;}
#mainav ul ul ul{left:180px; top:0;}
#mainav li{display:block; float:left; position:relative; margin:0; padding:0;}
#mainav li:last-child{margin-right:0;}
#mainav li li{width:100%; margin:0;}
#mainav li a{display:block; padding:20px;}
#mainav li li a{border:solid; border-width:0 0 1px 0;}
#mainav .drop{padding-left:15px;}
#mainav li li a, #mainav li li .drop{display:block; margin:0; padding:10px 15px;}
#mainav .drop::after, #mainav li li .drop::after{content:"\f0d7";}
#mainav .drop::after{top:25px; left:5px;}
#mainav li li .drop::after{top:15px; left:5px;}
#mainav ul ul{visibility:hidden; opacity:0;}
#mainav ul li:hover > ul{visibility:visible; opacity:1;}

#mainav form{display:none; width:100%; margin:0; padding:0;}
#mainav form select, #mainav form select option{display:block; cursor:pointer; outline:none;}
#mainav form select{width:100%; padding:5px; border:none;}
#mainav form select option{margin:5px; padding:0; border:none;}

/* Breadcrumb */
#breadcrumb{padding:150px 0 30px;}
#breadcrumb ul{margin:0; padding:0; list-style:none; text-transform:uppercase;}
#breadcrumb li{display:inline-block; margin:0 6px 0 0; padding:0;}
#breadcrumb li a{display:block; position:relative; margin:0; padding:0 12px 0 0; font-size:12px;}
#breadcrumb li a::after{top:4px; right:0; content:"\f0da";}
#breadcrumb li:last-child a{margin:0; padding:0;}
#breadcrumb li:last-child a::after{display:none;}
#breadcrumb .heading{margin:0; font-size:2rem;}

/* Sidebar Navigation */
.sidebar nav{display:block; width:100%;}
.sidebar nav li{margin:0 0 3px 0; padding:0;}
.sidebar nav a{display:block; position:relative; margin:0; padding:5px 10px 5px 15px; text-decoration:none; border:solid; border-width:0 0 1px 0;}
.sidebar nav a::after{top:10px; left:5px; content:"\f0da";}
.sidebar nav ul ul a{padding-left:35px;}
.sidebar nav ul ul a::after{left:25px;}
.sidebar nav ul ul ul a{padding-left:55px;}
.sidebar nav ul ul ul a::after{left:45px;}

/* Pagination */
.pagination{display:block; width:100%; text-align:center; clear:both;}
.pagination li{display:inline-block; margin:0 2px 0 0;}
.pagination li:last-child{margin-right:0;}
.pagination a, .pagination strong{display:block; padding:8px 11px; border:1px solid; background-clip:padding-box; font-weight:normal;}

/* Back to Top */
#backtotop{z-index:999; display:inline-block; position:fixed; visibility:hidden; bottom:20px; right:20px; width:36px; height:36px; line-height:36px; font-size:16px; text-align:center; opacity:.2;}
#backtotop i{display:block; width:100%; height:100%; line-height:inherit;}
#backtotop.visible{visibility:visible; opacity:.5;}
#backtotop:hover{opacity:1;}


/* Tables
--------------------------------------------------------------------------------------------------------------- */
table, th, td{border:1px solid; border-collapse:collapse; vertical-align:top;}
table, th{table-layout:auto;}
table{width:100%; margin-bottom:15px;}
th, td{padding:5px 8px;}
td{border-width:0 1px;}


/* Gallery
--------------------------------------------------------------------------------------------------------------- */
#gallery{display:block; width:100%; margin-bottom:50px;}
#gallery figure figcaption{display:block; width:100%; clear:both;}
#gallery li{margin-bottom:30px;}


/* Font Awesome Social Icons
--------------------------------------------------------------------------------------------------------------- */
.faico{margin:0; padding:0; list-style:none;}
.faico li{display:inline-block; margin:8px 5px 0 0; padding:0; line-height:normal;}
.faico li:last-child{margin-right:0;}
.faico a{display:inline-block; width:36px; height:36px; line-height:36px; font-size:18px; text-align:center;}

.faico a{color:#FFFFFF; background-color:#2A2D34;}
.faico a:hover{}

.faicon-dribble:hover{background-color:#EA4C89;}
.faicon-facebook:hover{background-color:#3B5998;}
.faicon-google-plus:hover{background-color:#DB4A39;}
.faicon-linkedin:hover{background-color:#0E76A8;}
.faicon-twitter:hover{background-color:#00ACEE;}
.faicon-vk:hover{background-color:#4E658E;}


/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */


/* Colours
--------------------------------------------------------------------------------------------------------------- */
body{color:#474747; background-color:#FFFFFF;}
a{color:#1E3F66;}
a:active, a:focus{background:transparent;}/* IE10 + 11 Bugfix - prevents grey background */
hr, .borderedbox{border-color:#D7D7D7;}
label span{color:#FF0000; background-color:inherit;}
input:focus, textarea:focus, *:required:focus{border-color:#1E3F66;}

.overlay{color:#FFFFFF; background-color:inherit;}
.overlay::after{color:inherit; background-color:rgba(0,0,0,.55);}
.overlay.light{color:#474747;}
.overlay.light::after{background-color:rgba(255,255,255,.7);}

.btn, .btn.inverse:hover{color:#FFFFFF; background-color:#1E3F66; border-color:#1E3F66;}
.btn:hover, .btn.inverse{color:inherit; background-color:transparent; border-color:inherit;}

.imgover:hover::before{background-color:rgba(0,0,0,.55);}
.imgover, .imgover:hover::after{color:#1E3F66;}


/* Rows */
.row0, .row0 a{}
.row1, .row1 a{}
.row2{color:#474747; background-color:#F4F4F4;}
.row3{color:#474747; background-color:#FFFFFF;}
.row4{color:#C1C2C4; background-color:#323639;}
.footer-with-video{position:relative;}
.footer-video-wrap{position:absolute; top:0; left:0; width:100%; height:100%; z-index:-2; overflow:hidden;}
.footer-video-wrap .footer-video{width:100%; height:100%; object-fit:cover;}
.footer-with-video .overlay::after{z-index:-1;}
.row5, .row5 a{color:#C1C2C4; background-color:#2A2D34;}
#copyright,#copyright a{color:#FFFFFF !important;}

.coloured{color:#FFFFFF; background:linear-gradient(90deg, #1E3F66, #2a5280);}


/* Header */
#header #logo a.logo-link{color:inherit; display:inline-block;}
#header #logo .logo-animated{display:inline-block; position:relative; height:95px; min-width:160px;}
#header #logo .logo-img{max-height:95px; width:auto; vertical-align:middle; position:absolute; top:0; left:0; object-fit:contain;}
#header #logo .logo-img-a{animation:logo-cycle-a 8s ease-in-out infinite;}
#header #logo .logo-img-b{opacity:0; animation:logo-cycle-b 8s ease-in-out infinite; animation-delay:4s;}
/* A: visible → efecto salida → oculto → efecto entrada → visible (bucle) */
@keyframes logo-cycle-a{
  0%, 32%{opacity:1; transform:scale(1) rotate(0deg);}
  35%{opacity:1; transform:scale(1.1) rotate(25deg);}
  40%{opacity:0; transform:scale(0.4) rotate(180deg); pointer-events:none;}
  88%{opacity:0; transform:scale(0.4) rotate(-180deg); pointer-events:none;}
  91%{opacity:1; transform:scale(1.1) rotate(-25deg);}
  95%, 100%{opacity:1; transform:scale(1) rotate(0deg);}
}
/* B: oculto → efecto entrada → visible → efecto salida → oculto (empieza a 4s cuando A ya salió) */
@keyframes logo-cycle-b{
  0%{opacity:0; transform:scale(0.4) rotate(180deg); pointer-events:none;}
  3%{opacity:1; transform:scale(1.1) rotate(-25deg);}
  7%, 35%{opacity:1; transform:scale(1) rotate(0deg);}
  38%{opacity:1; transform:scale(1.1) rotate(25deg);}
  42%{opacity:0; transform:scale(0.4) rotate(180deg); pointer-events:none;}
  100%{opacity:0; transform:scale(0.4) rotate(-180deg); pointer-events:none;}
}
#header ul li div i{background-color:#FFFFFF;}
#header ul li div:hover i{color:#FFFFFF; background-color:#1E3F66;}


/* Navwrapper */
#navwrapper{color:#FFFFFF; background-color:rgba(0,0,0,.35);}
#navwrapper #searchform{color:#1E3F66; background:#FFFFFF;}
#navwrapper #searchform:hover{color:#1E3F66;}
#navwrapper #searchform input{color:#FFFFFF; background:#1E3F66;}
#navwrapper #searchform button{color:#FFFFFF; background:transparent;}


/* Page Intro */
#pageintro{color:#FFFFFF;}


/* Content Area */
#stats > li{border-color:#D7D7D7;}
#stats > li i{color:rgba(0,0,0,.2);}
#stats > li:hover i{color:rgba(0,0,0,.6);}
#stats > li p:first-of-type{color:#1E3F66;}

.latest article time{color:#474747; background-color:#F4F4F4;}
.latest article time strong{border-color:rgba(0,0,0,.2);}


/* Testimonials / Autoridades */
#testimonials .sectiontitle .heading{text-transform:uppercase;}
#testimonials article blockquote{color:#FFFFFF; background-color:transparent; border:none;}
#testimonials article blockquote::before{color:rgba(255,255,255,.4);}
#testimonials article .heading{color:#FFFFFF;}
#testimonials article em{color:rgba(255,255,255,.95);}
#testimonials .testimonial-contact{color:#FFFFFF;}
#testimonials .testimonial-contact a{color:#FFFFFF;}


/* Footer */
#footer .heading{color:#FFFFFF;}
#footer,.row4.footer-with-video{color:#FFFFFF; font-size:1.08rem;}
#footer a,#footer p,#footer .heading,#footer li{color:#FFFFFF !important;}
#footer input{color:#474747 !important;}
#footer .footer-logo{max-height:115px; width:auto; display:inline-block; vertical-align:middle;}
#footer hr, #footer .borderedbox, #footer .linklist li{border-color:rgba(255,255,255,.2);}
#footer .faico .faicon-instagram:hover{background-color:#E4405F;}
#footer .faico .faicon-tiktok:hover{background-color:#000000;}
#footer .faico .faicon-email:hover{background-color:#1E3F66;}

#footer input, #footer button{border-color:transparent;}
#footer input{color:#474747; background-color:#FFFFFF;}
#footer input:focus{border-color:#1E3F66;}
#footer button{color:#FFFFFF; background-color:#1E3F66;}
#footer button:hover{color:inherit; background-color:transparent; border-color:inherit;}


/* Navigation */
#mainav{}
#mainav li a{color:inherit;}
#mainav .active a, #mainav a:hover, #mainav li:hover > a{color:#1E3F66; background-color:inherit;}
#mainav li li a, #mainav .active li a{color:#FFFFFF; background-color:rgba(30,63,102,.6); border-color:rgba(0,0,0,.6);}
#mainav li li:hover > a, #mainav .active .active > a{color:#FFFFFF; background-color:#1E3F66;}

/* Admisión 2026-I: opción destacada animada */
#mainav .menu-admision{margin-right:12px;}
#mainav .menu-admision a{color:#FFFFFF !important; font-weight:700; letter-spacing:.08em; padding:20px 18px; border-radius:6px; background:linear-gradient(135deg, #1E3F66 0%, #2d5a8f 50%, #1E3F66 100%); background-size:200% 200%; animation:admision-glow 2.2s ease-in-out infinite; box-shadow:0 0 18px rgba(30,63,102,.7); display:block; line-height:1.2; transition:transform .2s ease; box-sizing:border-box;}
#mainav .menu-admision a:hover{animation:admision-glow .6s ease-in-out infinite; box-shadow:0 0 25px rgba(30,63,102,.95), 0 0 40px rgba(255,255,255,.25); transform:scale(1.02);}
@keyframes admision-glow{0%, 100%{background-position:0% 50%; box-shadow:0 0 18px rgba(30,63,102,.7);} 50%{background-position:100% 50%; box-shadow:0 0 28px rgba(30,63,102,.9), 0 0 45px rgba(255,255,255,.22);}}

/* Aula Virtual: botón destacado color dorado/amarillo */
#mainav .menu-aula{margin-left:4px;}
#mainav .menu-aula a{color:#1a1a1a !important; font-weight:700; letter-spacing:.08em; padding:20px 18px; border-radius:6px; background:linear-gradient(135deg, #E8BE4A 0%, #d4a83a 50%, #E8BE4A 100%); background-size:200% 200%; animation:aula-glow 2.2s ease-in-out infinite; box-shadow:0 0 18px rgba(232,190,74,.6); display:block; line-height:1.2; transition:transform .2s ease; box-sizing:border-box;}
#mainav .menu-aula a:hover{animation:aula-glow .6s ease-in-out infinite; box-shadow:0 0 25px rgba(232,190,74,.8), 0 0 40px rgba(255,255,255,.2); transform:scale(1.02);}
@keyframes aula-glow{0%, 100%{background-position:0% 50%; box-shadow:0 0 18px rgba(232,190,74,.6);} 50%{background-position:100% 50%; box-shadow:0 0 28px rgba(232,190,74,.85), 0 0 45px rgba(255,255,255,.25);}}
#mainav form select{color:#474747; background-color:#FFFFFF;}

#breadcrumb a{color:inherit; background-color:inherit;}
#breadcrumb li:last-child a{color:#1E3F66;}

.container .sidebar nav a{color:inherit; border-color:#D7D7D7;}
.container .sidebar nav a:hover{color:#1E3F66;}

.pagination a, .pagination strong{border-color:#D7D7D7;}
.pagination .current *{color:#FFFFFF; background-color:#1E3F66;}

#backtotop{color:#FFFFFF; background-color:#1E3F66;}


/* Tables + Comments */
table, th, td, #comments .avatar, #comments input, #comments textarea{border-color:#D7D7D7;}
#comments input:focus, #comments textarea:focus, #comments *:required:focus{border-color:#1E3F66;}
th{color:#FFFFFF; background-color:#373737;}
tr, #comments li, #comments input[type="submit"], #comments input[type="reset"]{color:inherit; background-color:#FBFBFB;}
tr:nth-child(even), #comments li:nth-child(even){color:inherit; background-color:#F7F7F7;}
table a, #comments a{background-color:inherit;}


/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */


/* Media Queries
--------------------------------------------------------------------------------------------------------------- */
@-ms-viewport{width:device-width;}


/* Max Wrapper Width - Laptop, Desktop etc.
--------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width:1140px){
	.hoc{max-width:1140px;}
}

@media screen and (min-width:978px) and (max-width:1140px){
	.hoc{max-width:95%;}
}


/* Mobile Devices
--------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:978px){
	.hoc{max-width:90%;}

	#header{}

	#navwrapper #mainav{width:80%; padding:15px 0 0 0;}
	#navwrapper #mainav ul{display:none;}
	#navwrapper #mainav form{display:block;}

	#breadcrumb{}

	.container{}
	#comments input[type="reset"]{margin-top:10px;}
	.pagination li{display:inline-block; margin:0 5px 5px 0;}

	#footer{}

	#copyright{}
	#copyright p:first-of-type{margin-bottom:10px;}
}

@media screen and (max-width:750px){
	.imgl, .imgr{display:inline-block; float:none; margin:0 0 10px 0;}
	.fl_left, .fl_right{display:block; float:none;}
	.group .group > *:last-child, .clear .clear > *:last-child, .clear .group > *:last-child, .group .clear > *:last-child{margin-bottom:0;}/* Experimental - Needs more testing in different situations, stops double margin when stacking */
	.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter{display:block; float:none; width:auto; margin:0 0 30px 0; padding:0;}

	#header{}

	#navwrapper{padding:0 20px;}
	#navwrapper #searchform{display:none;}/* Needs modifying if the form is required in small viewports */
	#navwrapper #mainav{float:none; width:100%; padding:15px 0;}

	#pageintro article{max-width:none;}
	#pageintro .heading{font-size:2rem;}
	#pageintro p:first-of-type{font-size:1rem;}

	#introblocks > ul{margin:0 auto; max-width:348px;}/* Centre the items and restrict the width to the one_third grid element */
	#introblocks > ul > li:nth-last-child(-n+3){margin-bottom:50px;}
	#introblocks > ul > li:last-child{margin-bottom:0;}

	.sectiontitle{max-width:none;}

	#footer{padding-bottom:50px;}/* Not required, just looks a little better */
}

@media screen and (min-width:450px) and (max-width:750px){
	#stats > li{width:50%; margin-bottom:50px;}
	#stats > li:nth-child(even){border:none;}
	#stats > li:nth-last-child(-n+2){margin-bottom:0;}
}

@media screen and (max-width:450px){
	#stats > li{float:none; width:100%; margin-bottom:25px; padding-bottom:25px;}
	#stats > li, #stats > li:nth-child(even){border-width:0 0 1px 0;}
	#stats > li:last-child{margin:25px 0 0 0; padding-bottom:0;}
}


/* Other
--------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:650px){
	.scrollable{display:block; width:100%; margin:0 0 30px 0; padding:0 0 15px 0; overflow:auto; overflow-x:scroll;}
	.scrollable table{margin:0; padding:0; white-space:nowrap;}

	.inline li{display:block; margin-bottom:10px;}
	.pushright li{margin-right:0;}

	.font-x2{font-size:1.4rem;}
	.font-x3{font-size:1.6rem;}
}