@charset "utf-8";
/* CSS Document */
.ac-subsection-title{
 	font-size: 2.8rem;
    color:#0D47A1;
    font-weight:600;
    padding:20px;
}
.ac-subsection-title-desc{
    font-size: 1.05rem;
    color:rgba(0,0,0,0.8);
    font-weight: 400;
    /*line-height:normal;*/
}
.ac-pc-title{
font-size:2.0rem;
 color:#0B3B84;
 text-align:center;
 padding:20px;    
}
.ac-part-title h2{
 font-size:2.0rem;
 color:#0B3B84;
 text-align:center;
 padding:20px;
}
.ac-part-title h3{
 font-size:1.7rem;
 color:#0B3B84;
 text-align:center;
 padding:20px;
}
.ac-part-btn{
 	list-style:none;
    padding:0;
    margin:0;
    display:flex;
    align-items: stretch;
    flex-wrap:wrap;
    gap:15px;
}
.ac-part-btn li{
  width:calc(25% - 12px);
  display:flex;
}
.ac-part-btn li a{
    display:flex;
    border-radius:10px;
    padding:25px 20px;
    border:solid 1px rgba(0,0,0,0.1);
    position:relative;
    justify-content: center;
 	align-items: center;
    text-decoration:none;
     width:100%;
    height:100%;
    background:#0D47A1;
    transition:all .25s ease;
}
.ac-part-btn li a:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 20px rgba(0,0,0,.10);
    border-color:#b8b8b8;
}
.ac-part-btn .btn-num{
 border-radius:50%;
 width:28px;
 height:28px;
 background:#FFFFFF;
 color:#000000;
 position:absolute;
 top:10px;
 left:10px;
 display:flex;
 justify-content: center;
 align-items: center;
}
.ac-part-btn .cont-btn-icon span{
	font-size:1.5rem;    
}
.ac-part-btn .cont-btn-content{
 padding-left:10px;
 align-self:flex-start;
}
.ac-part-btn .cont-btn-title{
 font-size:1.0rem;
 font-weight:500;
 color:#FFFFFF;   
}
.ac-part-btn .cont-btn-desc{
 color:rgba(255,255,255,0.75);   
}
.ac-part-btn .cont-btn-icon{
   background:#FFFFFF;
    border-radius:50%;
    width:45px;
    height:45px; 
    flex-shrink: 0;
    display: flex;
   align-items: center;  
   justify-content: center; 
}
.ac-part-btn li:nth-child(1) .cont-btn-icon span{
   
    color:#0d6efd;
    
}
.ac-part-btn li:nth-child(2) .cont-btn-icon span{
    color:#dc3545;
}
.ac-part-btn li:nth-child(3) .cont-btn-icon span{
    color:#198754;
}
.ac-part-btn li:nth-child(4) .cont-btn-icon span{
    color:#fd7e14;
}
/* ICONO */
.ac-part-btn .cont-btn-icon span{
    transition:all .25s ease;
}
.ac-part-btn li a:hover .cont-btn-icon span{
    transform:scale(1.1);
}
/* NÚMERO */
.ac-part-btn .btn-num{
    transition:all .25s ease;
}
.ac-part-btn li a:hover .btn-num{
    transform:scale(1.1);
}
/* === RANKING === */
.ac-rank-cont{
 flex:1;
 border-radius:10px;
 background:#FFFFFF;
}
.ac-rank-header{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:10px 15px;
 background:#E1EEFF;
 border-radius:10px 10px 0 0;
}
.ac-rank-header-title{
 color:#0B3B84;
 font-size:1.0rem;
 font-weight:600;
}
.ac-rank-list{
 width:100%;
}
.ac-rank-item{
 display:flex;
 align-items:center;
 gap:15px;
 border-top:solid 1px rgba(0,0,0,0.1);
 padding:7px 10px;
}
.ac-rank-number{
 width:27px;
 height:27px;
 border-radius:50%;
 background:#676767;
 color:#FFFFFF;
display:flex;
align-items:center;
justify-content: center;
font-size:0.8rem;
}
.ac-rank-content{
    flex:1;
}
.ac-rank-content h6{
 font-size:1.0rem;
 line-height:normal;
 padding:0;
 margin:0;
}
.ac-rank-content span{
  font-size:0.8rem;
 line-height:1.1; 
 display:block;
 padding:0;
 margin:0;
}
.ac-parti-wrap{
    max-width:1200px;
    margin:auto;
    /*padding:60px 20px;*/
}
.ac-parti-header{
    text-align:center;
    margin-bottom:50px;
}
.ac-parti-mini{
    display:block;
    color:#0d47a1;
    font-size:12px;
    font-weight:500;
    letter-spacing:2px;
    margin-bottom:10px;
}
.ac-parti-header h2{
    color:#0d47a1;
    font-size:48px;
    font-weight:800;
    margin-bottom:20px;
}
.ac-parti-header p{
    max-width:750px;
    margin:auto;
    font-size:20px;
    color:#666;
    line-height:1.8;
}
.ac-parti-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}
.ac-parti-card{
    background:#FFFFFF;
    border-radius:18px;
    padding:30px;
    text-align:center;
    border:1px solid #e9edf2;
    transition:.3s;
}
.ac-parti-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}
.ac-parti-icon{
    width:90px;
    height:90px;
    border-radius:50%;
    margin:0 auto 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:40px;
}
.ac-parti-card h4{
    font-size:24px;
    color:#0d47a1;
    margin-bottom:15px;
}
.ac-parti-card p{
    color:#666;
    line-height:1.8;
    margin:0;
}
.ac-parti-azul{
    background:#eaf3ff;
    color:#1565c0;
}
.ac-parti-verde{
    background:#e8f8ef;
    color:#198754;
}
.ac-parti-naranja{
    background:#fff2e6;
    color:#fd7e14;
}
.ac-parti-morado{
    background:#f3e9ff;
    color:#9333ea;
}
@media(max-width:992px){
    .ac-parti-grid{
        grid-template-columns:repeat(2,1fr);
    }
}
@media(max-width:576px){
    .ac-parti-grid{
        grid-template-columns:1fr;
    }
    .ac-parti-header h2{
        font-size:34px;
    }
}
/*=== SERVICIOS === */
.ac-serv-btn{
 	list-style:none;
    padding:0;
    margin:0;
    display:flex;
    align-items: stretch;
    flex-wrap:wrap;
    gap:15px;
}
.ac-serv-btn li{
  width:calc(20% - 15px);
  display:flex;
}
.ac-serv-btn li a{
    border-radius:10px;
    padding:25px 20px;
    border:solid 1px #ECF1F5;
    text-decoration:none;
    width:100%;
    height:100%;
    background:rgba(236,241,245,0.5);
    transition:all .25s ease;
}
.ac-serv-btn li a:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 20px rgba(0,0,0,.10);
    border-color:#ECF1F5;
    background:rgba(236,241,245,1.0);
}
.ac-serv-btn .cont-btn-title{
 font-size:1.1rem;
 text-align:center;
 color:#0B3B84;
}
.ac-serv-btn .cont-btn-desc{
 padding-top:3px;
 font-size:0.9rem;
 text-align:center;
 color:rgba(0,0,0,0.7);
 line-height:1.1;
}
/*=== OTROS === */
.ac-list-info ol li, ul li{
 font-size:0.8rem;   
}
.servicios-item{
    list-style:none;
}
.servicios-item li{
 border-radius:10px;
 padding:20px 30px;
 background:#ffffff;
 margin-bottom:10px;
 font-size:0.95rem;
 box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.25);
-webkit-box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.25);
-moz-box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.25);
}
.servicios-item li:hover{
    background:#08936C;
    color:#ffffff;
}
/* === FORMULARIO CONTACTO === */
.cont-frm-contacto{
 background: #F5F6F8;
 border-radius: 8px;
 padding: 35px;
}
.frm-contacto label{
 font-size:0.85rem;   
}
.activo{
 	font-size:1.5rem; 
    width:250px; 
    
}
.sec-parrafo-a{
  display: flex;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: 20px;
  margin-top:50px;
}
.sec-parrafo-a p{
  text-align:justify;
}
.sec-cont-icon {
    width: 100px;
  height: 100px;
  border-radius: 20%;
  background-color: #FFB606;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.sec-cont-img-a{
  height: 100%; /* ajusta según necesites */
  background-size: cover;         /* Hace que la imagen llene el div */
  background-position: center;    /* Centra horizontal y verticalmente */
  background-repeat: no-repeat; 
  border-radius:0 50px 50px 50px;
    
  padding: 0.25rem;
  background-color: #fff;
  border: 3px solid #ffffff;
  box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.5);
-webkit-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.5);
-moz-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.5);
}
.sec-cont-img-a{
  height: 100%; /* ajusta según necesites */
  background-size: cover;         /* Hace que la imagen llene el div */
  background-position: center;    /* Centra horizontal y verticalmente */
  background-repeat: no-repeat; 
  border-radius:50px 0 50px 50px;
    
  padding: 0.25rem;
  background-color: #fff;
  border: 3px solid #ffffff;
  box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.5);
-webkit-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.5);
-moz-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.5);
}
.sec-cont-icon img {
    width: 60%;
    height: 60%;
    object-fit: contain; /* O 'cover' si prefieres que llene el espacio */
  filter: invert(1) brightness(2);
}
/* === VELORES === */
.valores h3{
    line-height:normal;
    font-size:1.3rem;
}
.valores h4{
    
}
.valores .cont-icon{
  height: 100%; /* ajusta según necesites */
  background-size: cover;         /* Hace que la imagen llene el div */
  background-position: center;    /* Centra horizontal y verticalmente */
  background-repeat: no-repeat; 
  /*padding:25px !important;*/
}
.valores .cont-icon img{
  	width: 100%;
    height: 100%;
    object-fit: contain; /* O 'cover' si prefieres que llene el espacio */
	filter: brightness(0) saturate(100%) invert(79%) sepia(54%) saturate(1750%) hue-rotate(1deg) brightness(100%) contrast(105%);
}
.cont-list-a{
   padding:15px;
   
}
.cont-list-item{
   display: flex;
  align-items: flex-start;
  gap: 30px;
  margin-bottom:10px;
  background-color: #F5F5F5; 
   padding:15px;
}
.cont-list-item .cont-icon{
 width:100px;
 heigh:100px;
}
.cont-list-item .cont-icon img{
}
/* === FOTOS DIRECTIVOS === */
.cont-foto-a{
	width: 270px;
	height: 270px;
	position: relative;
    margin-bottom:25px;
}
.cfa-circulo{
	width: 270px;
	height: 270px;
	border-radius: 50%;
	background: #FFFFFF;
	background-size: cover;       /* Asegura que la imagen cubra todo el contenedor */
background-position: center;  /* Centra la imagen */
background-repeat: no-repeat; /* Evita que se repita */
overflow: hidden;
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
    transition: transform 0.4s ease;
    border:solid 5px rgb(255, 215, 0);
}
.cfa-nombre {
position: absolute;
bottom: 20px;
left: 0;
background-color: #0C3782; /* Celeste */
padding: 8px 12px;
color: white;
font-size: 0.8rem;
width: 100%;
clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
z-index:1000;
}
.cargo {
  font-weight: bold;
  font-size: 0.9rem;
}
.cfa-circulo:hover .cfa-img {
  transform: scale(1.1); /* Agranda un poco */
}
.cont-frm-contacto {
    position: relative;
}
/* Overlay completamente oculto al inicio */
.msje-loading {
    position: absolute;
    inset: 0; /* cubre todo el contenedor */
    background: rgba(255, 255, 255, 0.5); /* blanco semi-transparente */
    display: none; /* oculto por defecto */
    z-index: 20;
    display:block ;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
	font-size:0.8rem;
    padding: 20px;
}
.msje-loading.show {
    display: flex; /* se muestra agregando la clase 'show' */
}
.active-icon{
	color:#000;
	text-shadow:0px 1px 0px #fff;
}
.tab-pane{
	background: #fff !important;
	color: #000 !important;
}
.semest{
	padding: 10px 15px 10px 20px;
	color:rgba(0,0,0,1.00)!important;
	background: #EAF1F7;
	border-radius: 6px;
	font-size: 0.8rem;
	margin: 10px 1px;
	cursor: pointer;
}
.semest span{
	position: relative;
	padding: 2px 2.5px;
	background: rgba(255,255,255,0.8);
	border-radius: 50%;
	margin-left: 5px;
	color: #000;
}
.activ_semest{
	background: #58CCE6;
	color: #fff!important;
}