@charset "UTF-8";
/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/montserrat-v25-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/montserrat-v25-latin-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/montserrat-v25-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/montserrat-v25-latin-700italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/*Trueno Font*/
@font-face {
  font-family: "Trueno";
  src: url("../fonts/Trueno-Regular.woff2") format("woff2"), url("../fonts/Trueno-Regular.woff") format("woff"), url("../fonts/Trueno-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
/***********************************/
/*             Variables           */
/***********************************/
/***********************************/
/*        Estilo de texto          */
/***********************************/
.justificado {
  text-align: justify;
  text-justify: inter-word;
}

.font-weight-bold {
  font-weight: bold;
}

.paragraph__column h2 {
  /* text-transform: uppercase; */
  text-align: left;
}

.paragraph--color paragraph--color--azul-ucr, .paragraph--color--rgba-stylish-slight {
  background-color: #005da4;
}

.mayuscula {
  text-transform: uppercase;
}

body {
  font-family: "Trueno", "Montserrat", sans-serif;
  /*font-family: 'Trueno', sans-serif;*/
  line-height: 1.2;
  font-size: 1.2em;
  background-color: #f8f9fa;
}

.node__meta {
  display: none;
}

.viewsreference--view-title, .node__submitted {
  display: none;
}

strong {
  font-weight: 700;
}

.logos-site-brand .navbar {
  background-color: #005da4 !important;
}

.logos, .navbar {
  background-color: #005da4 !important;
}

.navbar a {
  color: #ffffff;
  font-size: 20px;
}

.navbar a:hover {
  color: #ffffff;
}

.logo-ucr img {
  width: 50%;
  height: auto;
}

.logo-ori img {
  height: 100% !important;
  margin-top: 20px;
}

/*  Mega menú */

nav.navbar.navbar-expand-lg.navbar-dark.text-light.bg-dark {
  z-index: 100 !important;
}


.tbm-nav {
  background-color: #005da4 !important;
}

.tbm-item {
  color: #ffffff;
}

.tbm-link {
  display: flex;
  flex-direction: column; /* Ícono encima del texto */
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
}

.tbm-link svg {
  display: block;
  margin-bottom: 5px; /* Espacio entre el ícono y el texto */
  width: 1.7em;
  height: 1.7em;
}

.tbm-link.level-1 {
  color: #ffffff;
}

.tbm-link-container a,
.tbm-link-container span {
  text-decoration: none;
  font-size: 18px;
}

.active {
  text-decoration: underline;
  text-decoration-color: #00c0f3;
  background-color: #005da4 !important;
  text-decoration-thickness: 6px;
}

.tbm-subnav>.tbm-item.active {
  background-color: transparent !important;
}

.tbm-link-container > a:hover,
.tbm-link-container > span:hover,
.tbm-link-container > span:focus {
  /* text-decoration: underline; */
  text-decoration-color: #00c0f3;
  background-color: #005da4 !important;
}

.submenu-tb {
  background-color: #ffffff !important;
}

.tbm-link > span {
  background-color: #ffffff !important;
  color: #222;
}

.tbm-link > a:hover,
.tbm-link > span:hover {
  background-color: #ffffff !important;
  color: #ffffff;
}

.tbm-subnav > .tbm-item > .tbm-link-container {
  background-color: #ffffff !important;
  color: #222;
}

.tbm-subnav > .tbm-item > .tbm-link-container:hover {
  background-color: #ffffff !important;
  color: #00c0f3;
}

.tbm-subnav > .tbm-item > .tbm-link-container > .tbm-link {
  background-color: #ffffff !important;
  color: #222;
}

.tbm-subnav > .tbm-item > .tbm-link-container > .tbm-link:hover {
  background-color: #ffffff !important;
}

.tbm-subnav > .tbm-item:first-child > .tbm-link-container > .tbm-link {
  background-color: #ffffff !important;
}

.tbm-subnav > .tbm-item:first-child > .tbm-link-container > .tbm-link:hover {
  background-color: #ffffff !important;
}

.tbm-item.level-1:last-child .tbm-link.level-1 {
  display: flex; /* Asegura que el contenedor sea flex para alinear elementos */
  align-items: center; /* Alinea el ícono y el espacio para el texto */
}

/***********************************/
/*            Paginador            */
/***********************************/
.page-link {
  background-color: #005da4;
  border-color: #005da4;
  color: #ffffff;
}

.active > .page-link {
  background-color: #00c0f3;
  border-color: #00c0f3;
}

.subrayado {
  border-bottom: 3px solid #00c0f3;
  display: inline-block;
}

/*****************************/
/*          Views            */
/*****************************/
.icono-proceso {
  margin: 10px;
  width: 100px;
}

.container-view-procesos {
  color: #ffffff;
  background-color: #0e2b44;
  min-height: 200px;
}

.js-form-item-combine input {
  margin-top: 23px;
}

table th {
  word-break: break-word;
}

.tabla-preguntas-frecuentes th {
  word-break: keep-all;
}

span.file {
  text-transform: capitalize;
  word-break: break-all;
}

/*********************************Preguntas frecuentes********************/
.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.col-md-4, .col-sm-6, .col-12 {
  padding: 0; /* Elimina el espacio entre columnas */
}

.module-box {
  background-color: #005da4;
  color: white;
  padding: 20px;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: background-color 0.3s; /* Efecto de transición en el color de fondo */
  text-decoration: none; /* Elimina el subrayado del enlace */
  border: 1px solid white; /* Borde blanco de 1 px */
  box-sizing: border-box; /* Incluye el borde en el tamaño total */
}

.module-box:hover {
  background-color: #00c0f3;
}

.module-icon {
  font-size: 50px;
  margin-bottom: 10px;
}

.page-node-type-preguntas-frecuentes-matricula .field--name-field-orden,
.page-node-type-preguntas-frecuentes-matricula .fontawesome-icon,
.page-node-type-preguntas-frecuentes-admision .field--name-field-orden,
.page-node-type-preguntas-frecuentes-admision .fontawesome-icon,
.page-node-type-preguntas-frecuentes-ingreso-a-c .field--name-field-orden,
.page-node-type-preguntas-frecuentes-ingreso-a-c .fontawesome-icon,
.page-node-type-preguntas-frecuentes-horarios .field--name-field-orden,
.page-node-type-preguntas-frecuentes-horarios .fontawesome-icon,
.page-node-type-preguntas-frecuentes-reconocimie .field--name-field-orden,
.page-node-type-preguntas-frecuentes-reconocimie .fontawesome-icon,
.page-node-type-preguntas-frecuentes-recono-titu .field--name-field-orden,
.page-node-type-preguntas-frecuentes-recono-titu .fontawesome-icon,
.page-node-type-preguntas-frecuentes-certificaci .field--name-field-orden,
.page-node-type-preguntas-frecuentes-certificaci .fontawesome-icon,
.page-node-type-preguntas-frecuentes-expedientes .field--name-field-orden,
.page-node-type-preguntas-frecuentes-expedientes .fontawesome-icon,
.page-node-type-preguntas-frecuentes-graduacione .field--name-field-orden,
.page-node-type-preguntas-frecuentes-graduacione .fontawesome-icon,
.page-node-type-preguntas-frecuentes-interrupcio .field--name-field-orden,
.page-node-type-preguntas-frecuentes-interrupcio .fontawesome-icon {
  display: none !important;
}

/*****************************/
/*        Paragraphs         */
/*****************************/
.paragraph {
  margin: 20px 0 20px 0 !important;
}

.field--name-field-contacto .field__label,
.field--name-field-titulo-pagina .field__label {
  display: none;
}

.contact-section {
  padding: 60px 0;
}

.contact-card {
  background-color: #005da4;
  color: #ffffff;
  padding: 30px;
  border-radius: 10px;
  #box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  box-shadow: 14px 14px 20px 0 rgba(20, 20, 20, 0.3);
  transition: transform 0.3s;
}

.contact-card:hover {
  transform: translateY(-5px);
}

.contact-card a {
  color: #ffffff;
}

.contact-card h2, .contact-card p,
.contact-card p a, .contact-card p a:hover,
.contact-card p a:focus {
  color: #ffffff;
  text-align: center;
}

.bloque-titulo-pagina {
  padding: 20px 0px 20px 0;
  background-color: #0e2b44;
}

.titulo-pagina {
  color: #ffffff;
  text-transform: uppercase;
  font-size: 32px;
}

.texto-subrayado {
  text-decoration: underline;
  text-decoration-color: #00c0f3;
}

.caja-izq {
  color: #005da4;
  background-color: #e4e4e4;
  text-align: center;
  padding: 20px 0 20px 0;
}

.caja-der {
  color: #ffffff;
  background-color: #005da4;
  text-align: center;
  padding: 20px 0 20px 0;
}

.paragraph--type--dos-cajas-texto .field__item {
  display: flex;
  justify-content: center;
  align-items: center;
}

.paragraph--type--dos-cajas-texto p {
  width: 30rem !important;
}

.tarjeta-col-3 {
  background-color: transparent;
  color: #ffffff;
  border: none;
  border-color: transparent;
  display: flow-root;
}

.tarjeta-col-3 > img {
  height: 100px;
  width: 100px;
}

.btn-col-3 {
  border-color: #00c0f3 !important;
  border-width: 4px !important;
  font-weight: bold;
  width: 150px;
  background: rgba(0, 0, 0, 0.6);
}

.tarjeta-col-3 > img {
  height: 100px;
  width: 100px;
}

.btn-col-3 {
  border-color: #00c0f3 !important;
  border-width: 4px !important;
  font-weight: bold;
  width: 150px;
  background: rgba(0, 0, 0, 0.6);
}

.card-title {
  font-size: 18px;
  font-weight: bold;
}

.card-body span {
  font-size: 14px;
}

.card-text {
  #font-size: 16px;
}

.background {
  background-size: cover;
  position: relative;
  height: 500px;
}

.boxes-proceso .container-box {
  box-shadow: 14px 14px 20px 0 rgba(20, 20, 20, 0.3);
}

.boxes-proceso {
  background-color: #0e2b44;
}

.cuerpo-proceso {
  max-width: 300px;
  border: 4px solid #ffffff;
  border-radius: 20px;
  margin: 25px;
  padding: 10px;
}

.proceso-titulo {
  color: #ffffff;
  font-size: 25px;
}

.proceso-texto {
  color: #ffffff;
}

.overlay {
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.btn-descarga {
  background-color: #00c0f3;
  color: #005da4;
  font-size: 31px;
  font-weight: bold;
  padding: 16px;
}

.btn-descarga:hover {
  background-color: #005da4;
  color: #ffffff;
}

.tarjeta-col-2 {
  background-color: transparent;
  border: none;
  border-color: transparent;
  display: flow-root;
}

.tarjeta-col-2 > img {
  height: 100px;
  width: 100px;
}

.btn-col-2 {
  color: #ffffff;
  font-weight: bold;
  width: 150px;
  background: #005da4;
}

.btn-col-2:hover {
  color: #ffffff;
  background: #00c0f3;
}

.tarjeta-documento {
  background-color: #e4e4e4;
  box-shadow: 14px 14px 20px 0 rgba(20, 20, 20, 0.3);
}

.imagen-tarjeta {
  margin: 10px;
}

@media (max-width: 768px) {
  .background {
    height: 100%;
  }
}
.imagen-izquierda {
  float: left;
  margin: 0 30px 25px 0;
  width: 600px; /* Ajusta el tamaño según sea necesario */
  box-shadow: 14px 14px 20px 0 rgba(20, 20, 20, 0.3);
}

.event-container {
  max-width: 600px;
  margin: 50px auto;
  padding: 20px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.event-date {
  font-size: 18px;
  font-weight: bold;
  color: #007bff;
}

.event-title {
  font-size: 24px;
  margin-top: 10px;
}

.event-body {
  margin-top: 20px;
}

.custom-row {
  display: flex;
  align-items: stretch;
}

.activity-list {
  flex: 1;
  padding: 15px;
  border: 1px solid #ddd;
  margin: 5px;
  background-color: #ffffff;
  border-radius: 8px;
  margin-bottom: 15px;
  padding: 15px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.activity-list .date {
  font-size: 18px;
  font-weight: bold;
  color: #000000;
}

.boxes {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  background-color: #f8f9fa;
}

.container-box {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.calendar-box {
  border: 3px solid #005da4;
  border-radius: 9px;
  width: 300px;
  text-align: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  margin: 10px;
  box-shadow: 14px 14px 20px 0 rgba(20, 20, 20, 0.3);
}

.header-box {
  background-color: #005da4;
  color: white;
  padding: 10px;
  font-size: 18px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.body-box {
  background-color: white;
  padding: 20px;
  font-size: 18px;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.body-box a {
  color: #005da4;
  cursor: pointer;
  text-decoration: none;
}

.caja-menu .card {
  display: flex;
  flex-direction: column;
  border: none;
  transition: transform 0.2s;
  text-decoration: none;
  height: 100%;
}

.caja-menu .card:hover {
  transform: scale(1.03);
}

.caja-menu .card a {
  text-decoration: none;
  color: inherit;
}

.caja-menu .card a:hover {
  text-decoration: none;
}

.caja-menu .card-body {
  background-color: #ffffff;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  position: relative;
}

.caja-menu .card:hover .card-body {
  background-color: #e9ecef;
}

.caja-menu .fontawesome-icon {
  height: 60px;
  font-size: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.caja-menu .card-body::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 100%;
  background-color: #00c0f3;
}

.caja-menu .card-title {
  margin-top: 10px;
  margin-bottom: 10px;
  color: #005da4;
  text-decoration: none;
}

.caja-menu .card-text {
  margin-top: 0;
  margin-bottom: 40px;
}

.otro-servicio-card {
  text-align: center;
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 20px;
  background: #ffffff;
}

.otro-servicio-icon {
  font-size: 35px;
  color: #005da4;
  margin-bottom: 15px;
}

.otro-servicio-title {
  color: #005da4;
  font-weight: bold;
  margin-bottom: 15px;
}

.otro-servicio-text {
  margin-bottom: 15px;
}

.otro-servicio-boton {
  display: inline-block;
  padding: 10px 20px;
  font-size: 16px;
  color: white;
  background-color: #005da4;
  text-decoration: none;
  border-radius: 5px;
}

.otro-servicio-boton:hover {
  background-color: #00c0f3;
}

.otro-servicio-boton a {
  color: #ffffff;
}

/***********************************/
/*             Paragraph           */
/*      Preguntas frecuentes       */
/***********************************/
.accordion-button.active:not(.collapsed),
.accordion-button:not(.collapsed) {
  /* background-color: #00c0f3; /* Cambia a tu color deseado */
  /* color: #000000; /* Cambia el color del texto si lo deseas */
  background-color: #005da4;
  color: #ffffff;
}

/* Color cuando está colapsado */
.accordion-button.collapsed {
  background-color: #005da4; /* Cambia a tu color deseado */
  color: #ffffff; /* Cambia el color del texto si lo deseas */
}

.accordion-button {
  transition: background-color 1s, color 1s;
  font-size: 20px;
  font-weight: bold;
}

.accordion-body {
    padding: 25px 50px;
}

/***********************************/
/*             Vistas              */
/***********************************/
.circle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 10px;
}

/* Circle colors */
.circle-general {
  background-color: #772E25;
}

.circle-admision {
  background-color: #1d4e9f;
}

.circle-ingreso {
  background-color: #0a70b9;
}

.circle-horarios {
  background-color: #049cd7;
}

.circle-matricula {
  background-color: #00abbe;
}

.circle-reconocimientos {
  background-color: #0cb99e;
}

.circle-expedientes {
  background-color: #008880;
}

.circle-graduaciones {
  background-color: #016a80;
}

/***********************************/
/*         Datos UCCI              */
/***********************************/
.view-datos-ucci-admision .views-field-title a {
  font-size: 1.5rem; /* ≈ 24px */
  font-weight: 600;
}

.icono-datos-ucci {
  font-size: 24px !important;
}

/*         Directorio              */
/***********************************/
.contact-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.contact-header, .contact-email-header {
  text-align: center;
  margin-bottom: 20px;
}

.contact-header h2, .contact-email-header h3 {
  margin: 0;
  color: #333;
}

.contact-phone {
  font-size: 1.5em;
  color: #007bff;
  text-decoration: none;
  font-weight: bold;
}

.contact-phone:hover {
  color: #0056b3;
}

.contact-email-table table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

.contact-email-table th, .contact-email-table td {
  padding: 12px 15px;
  text-align: left;
}

.contact-email-table th {
  background-color: #007bff;
  color: #fff;
  font-weight: bold;
}

.contact-email-table tr:nth-child(even) {
  background-color: #f2f2f2;
}

.contact-email-table tr:hover {
  background-color: #e9ecef;
}

.contact-email-table a {
  color: #007bff;
  text-decoration: none;
}

.contact-email-table a:hover {
  text-decoration: underline;
}

/* Modo tarjetas en móvil */
@media (max-width: 768px) {
  .directorio-ori-table thead {
    display: none; /* Oculta encabezados de tabla */
  }
  .directorio-ori-table tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 12px;
    background: #fff;
  }
  .directorio-ori-table td {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border: none;
  }
  .directorio-ori-table td:before {
    content: attr(data-label); /* Inyecta el encabezado a la izquierda */
    font-weight: bold;
    color: #333;
    margin-right: 10px;
    flex-basis: 45%;
    text-align: left;
  }
  .directorio-ori-table td a {
    word-break: break-word;
  }
}
/****************Tabla de correos de áreas ***************/
/* Tarjetas en pantallas pequeñas */
@media (max-width: 768px) {
  .contact-table thead {
    display: none;
  }
  .contact-table tr {
    display: block;
    margin-bottom: 1rem;
    padding: 14px;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: #fff;
  }
  .contact-table td {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border: none;
  }
  .contact-table td:before {
    content: attr(data-label);
    font-weight: 600;
    color: #333;
    flex-basis: 45%;
    text-align: left;
  }
  .contact-table a {
    word-break: break-word;
  }
}
/***********************************/
/*            Glosario             */
/***********************************/
.views-summary {
  /*display: flex;*/
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px; /* Espaciado entre letras */
  margin: 20px 0;
}

.views-summary a {
  display: inline-block;
  padding: 8px 12px;
  background-color: #005da4;
  color: #ffffff;
  text-decoration: none;
  border-radius: 4px;
  font-size: 16px;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.views-summary a:hover {
  background-color: #0056b3;
}

/***********************************/
/*           Directorio            */
/***********************************/
.pestanas-directorio .nav-tabs a {
  color: #ffffff;
}

.pestanas-directorio .nav-tabs > li > .nav-link {
  /* background: #005DA4; */
  background: #005da4;
}

/* .pestanas-directorio .nav-tabs > li:nth-child(2) > .nav-link {
  background: #2A7BC1;
}

.pestanas-directorio .nav-tabs > li:nth-child(3) > .nav-link {
  background: #0083B7;
}

.pestanas-directorio .nav-tabs > li:nth-child(4) > .nav-link {
  background: #5DA400;
}

.pestanas-directorio .nav-tabs > li:nth-child(5) > .nav-link {
  background: #A4005D;
}

.pestanas-directorio .nav-tabs > li:nth-child(6) > .nav-link {
  background: #003F73;
}

.pestanas-directorio .nav-tabs > li:nth-child(7) > .nav-link {
  background: #000000;
} */

.pestanas-directorio .nav-tabs > li > .nav-link.is-active,
.pestanas-directorio .nav-tabs > li.active > .nav-link {
  background: #0097d8 !important;
  color: #fff !important;
}

/***********************************/
/*             Footer              */
/***********************************/
.footer {
  /* background-color: #004972; */
  background-color: #292929;
  color: #ffffff;
}

.footer-info {
  text-align: left;
}

.footer-social, .footer-links {
  text-align: center;
}

.footer-info {
  flex: 1;
}

.footer-social {
  flex: 1;
}

.footer-links {
  flex: 1;
}

.footer-info a {
  color: #AAE8FF !important;
  text-decoration: underline !important;
  transition: color 0.3s ease;
}

.footer-info a:hover {
  color: #ffdd00 !important;
  text-decoration: underline;
}

.region-sidebar-second {
  place-items: center;
}

/* Estilos adicionales para los iconos de redes sociales */
.footer-social {
  font-size: 20px;
}

.footer-social a {
  font-size: 1.8em;
  color: #AAE8FF;
  margin: 0 10px;
  transition: color 0.3s ease;
}

.footer-social a:hover {
  color: #ffdd00;
}

/* Estilos para los enlaces de Directorio de Contactos y Mapa del Sitio */
.footer-links a {
  color: #AAE8FF;
  text-decoration: none;
  margin: 0 5px;
  font-weight: bold;
}

.footer-links a:hover {
  color: #ffdd00;
}

/*******************/
/*        404	   */
/*******************/
.praga-404-wrapper {
  text-align: center;
  padding: 80px 20px;
  color: #333; /* texto oscuro para fondo claro */
  background: #fff; /* asegura fondo blanco */
}

.praga-404-image img {
  max-width: 280px;
  animation: floaty 3s ease-in-out infinite;
}

@keyframes floaty {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}
.praga-404-btn {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 28px;
  background: #005da4;
  color: #fff;
  font-weight: bold;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.2s ease;
}

.praga-404-btn:hover {
  background: #00c0f3;
}

/*# sourceMappingURL=custom.css.map */

/********** Cambios OAF **********/

/*** Estilos generales ***/

/*** Color de fondo del contenedor del área de contenido ***/
body {
  overflow: auto !important;
  padding-right: 0 !important;
}

#page, #main-wrapper,
.region-primary-menu 
.menu-item a.is-active, 
.region-primary-menu 
.menu-item--active-trail a {
    background-color: #F5F5F5 !important;
}

/*** Formato para títulos de primer nivel, títulos de páginas ***/
h1 {
  font-family: "Trueno", "Montserrat", sans-serif;;
  color: #02477B;
  font-size: 36px;
  line-height: 52px;
  margin-bottom: 22px;
  font-weight: lighter;
}

/*** Formato para títulos de segundo nivel, subtítulos de páginas ***/
h2 {
  font-family: "Trueno", "Montserrat", sans-serif;
  color: #02477B;
  font-size: 32px;
  line-height: 44px;
  margin-top: 0px;
  margin-bottom: 0px;
  font-weight: lighter;
  padding: 5px 0px;
}

.h2-16 {
  font-size: 16px;
  color: #000000;
  font-weight: 600;
}

/*** Formato para títulos de tercer nivel ***/
h3 {
  font-family: "Trueno", "Montserrat", sans-serif;
  color: #02477B;
  font-size: 24px;
  line-height: 44px;
  margin-bottom: 0px;
  font-weight: lighter;
}

/*** Formato para títulos de cuarto nivel ***/
h4 {
  font-family: "Trueno", "Montserrat", sans-serif;
  color: #02477B;
  font-size: 19.2px;
  line-height: 44px;
  margin-top: 0px;
  margin-bottom: 0px;
  font-weight: lighter;
}

/*** Formato para textos páginas (párrafos) ***/
body, p {
  font-family: "Trueno", "Montserrat", sans-serif;
  font-size: 16px;
  line-height: 22px;
  color: #000000;
  margin: 0 auto;
  text-align: left;
  /* padding: 5px 0px; */
}

/*** Formato para enlaces de páginas ***/
a {
  font-family: "Trueno", "Montserrat", sans-serif;
  color: #0071B3;
  text-decoration: none;
  background-color: transparent;
}

/*** Formato para enlaces de páginas, cuando se pasa el puntero por encima o reciben foco del teclado ***/
a:hover, 
a:focus {
  color: #02477B;
  text-decoration: underline;
  background-color: transparent;
} 

/*** Formato para enlaces de la página principal, como: "ver más avisos" ***/
.more-link {
  text-align: right;
  font-size: 18px;
  padding: 10px 0px;
  margin-bottom: 25px;
}

/*** Formato para listas ***/
ol,
ul {
  /* list-style: none; */
  /* padding: 5px 0px; */
}

main#content li {
  margin-left: 20px;
}

.list-group {
  padding: 0;
}

.list-group .list-group-item {
  margin-left: 0 !important;
}

ul.list-group li:nth-child(odd) {
	background-color: #F5F5F5;
}

ul.list-group li:nth-child(even) {
	background-color: #ffffff;
}

.table tr, .table td, .table th{
  border: 1px solid #E6E6E6;
}

/*** Formato para elementos de listas ***/
li {
  font-family: "Trueno", "Montserrat", sans-serif;
}

/*** Formato para breadcrumb ***/
.breadcrumb li, .breadcrumb li a {
  font-size: 0.9rem;
}

/*** Formato para botones ***/
.btn-primary, .button--primary, .button {
  color: #ffffff;
  background: #0071B3;
  border: none;
  margin-top: 10px;
}

/*** Formato para botones, cuando se pasa el puntero por encima o recbe foco del teclado ***/
.btn-primary:hover,
.btn-primary:focus,
.button--primary:hover,
.button--primary:focus,
.button:hover,
.button:focus {
  color: #ffffff;
  background: #035484;
  border: none;
  text-decoration: none;
}

/*** Formato de tablas  ***/

.table{
  padding: 5px 0px;
}

.table thead {
  background-color: #ffffff;
}

.table thead tr {
  background-color: #e3e3e3;
}

/* table tr th, table tr th a, table tr th a:hover, table tr th a:focus{
  color: #666666;
} */

.table tbody {
  color: #000000;
}

.table tbody tr:nth-child(odd) {
	background-color: #F5F5F5;
}

.table tbody tr:nth-child(even) {
	background-color: #ffffff;
}

.table tr, .table td, .table th{
  border: 1px solid #E6E6E6;
}

@media screen and (max-width: 768px) {
	table {
		width:100%;
	}
  
	thead {
		display:none ;
	}

  .table>:not(:first-child) {
    border: 1px transparent;
  }

  .table>:first-child {
    border: 1px transparent;
  }
  
	tr td:first-child::before {
		content: line;
	}

	tbody td {
		display: block;
		text-align:center;
	}

	tbody td:before {
		content: attr(data-th);
		display: block;
		text-align:center;
	}

	table thead th,
	table td {
		border-bottom: 1px solid #fff;
	}

  tbody, td, tfoot, th, thead, tr{
    border-style: hidden;
  }
}

/*** FIN Formato de tablas ***/

/*** Formato de listas ***/

.list-group.list-group-item:nth-child(odd) {
  background: #f5f5f5;
}

.list-group.list-group-item:nth-child(even) {
  background: #ffffff;
}

/*** FIN Formato de listas ***/

.paragraph__column {
  padding: 0;
}

.field--name-body iframe {
  width: 100% !important;
}

/*** FIN Estilos generales ***/

/*** Encabezado ***/

a.navbar-brand.logo-vra img {
  width: 60%;
  height: auto;
  margin-top: 8px;
  margin-left: -125px;
}

.logo-vra:hover, .logo-vra:focus {
  color: transparent;
}

a.navbar-brand.logo-oaf img {
  width: 90%;
  height: auto;
}

div#block-ori-subtheme-search-form {
    padding-left: 25px;
}

.js input.form-autocomplete {
  margin-top: 9px;
}

.region.region-breadcrumb {
    margin-top: 20px;
}

@media (max-width: 991px) {
  a.navbar-brand.logo-vra img {
    margin-left: -40px;
    width: 90%;
  }

  .logo-ucr img {
    width: 70%;
  }

  a.navbar-brand.logo-oaf img {
    width: 110%;
    height: auto;
    margin-left: -75px;
  }

  #navbarSupportedContent.collapse {
    display: block !important;
  }
  #navbarSupportedContent.collapse:not(.show) {
    display: block !important;
  }

  .navbar-toggler {
    display: none !important;
  }

  div#block-ori-subtheme-search-form{
    padding-left: 0;
  }

  .navbar .block-search form .form-actions {
    margin-top: 0;
    margin-left: 10px;
  }

  .tbm.tbm--mobile.tbm--mobile-show .tbm-collapse {
    padding: 0;
  }

  .tbm.tbm--mobile .tbm-button, .tbm.tbm--mobile .tbm-submenu-toggle {
    background: transparent;
  }

  span.tbm-link.no-link.tbm-toggle {
    margin-left: 60px;
  }

  nav.navbar.navbar-expand-lg.navbar-dark.text-light.bg-dark {
    position: relative !important;
  }
}

@media (max-width: 768px) {
  .logos.bg-ucr {
    overflow-x: hidden;
    width: 100%;
    padding-bottom: 25px;
  }

  .logos.bg-ucr .escalar-logos {
    transform: scale(1.5);
    transform-origin: top center;
    width: 100%;
    margin-left: 30%;
  }

  a.navbar-brand.logo-vra img {
    margin-left: -21px;
    width: 100%;
    margin-top: 3px;
  }

  .logo-ucr img {
    width: 100%;
  }

  a.navbar-brand.logo-oaf img {
    width: 85%;
    height: auto;
    margin-left: -25px;
    margin-top: -15px;
  }
}

@media (max-width: 575px) {
  .logos.bg-ucr .escalar-logos {
    transform: scale(1.8);
    margin-left: 40%;
  }

  a.navbar-brand.logo-oaf img {
    width: 25%;
  }
}

@media (min-width: 991px) and (max-width: 1200px) {
  .region-nav-additional {
    width: 20%;
  }

  .tbm-link-container .tbm-link {
    padding: 10px;
  }
}

/*** FIN Encabezado ***/

/*** Menu ***/

/* ul.tbm-nav>li.tbm-item--has-dropdown>.tbm-link-container>button.tbm-submenu-toggle.always-show {
  display: none;
} */

button.tbm-submenu-toggle.always-show {
  width: 0px;
  background: transparent;
  color: #ffffff;
  margin-right: 5px;
}

.tbm-link-container>.tbm-link.level-1 {
  padding: 16px;
}

li.tbm-item.level-2 button.tbm-submenu-toggle.always-show {
  color: #000000;
  margin-right: -15px;
}

@media screen and (max-width: 991px) {
  li.tbm-item.level-2 button.tbm-submenu-toggle.always-show {
    margin-right: 40px;
  }
}

@media (min-width: 991) and (max-width: 1100px) {
  .region-nav-additional {
    width: 18%;
  }
}

@media screen and (max-width: 1200px) {
  .tbm-link-container>.tbm-link.level-1 {
    padding: 16px 10px;
  }
}

/*** FIN Menu ***/

/*** Página de inicio ***/

.carousel-principal {
  height: 400px;
}

.carousel-principal .carousel-inner {
  height: 400px;
  align-content: center;
}

.tarjeta-oaf-informa .card-body {
  height: 500px;
}

.carousel-principal .carousel-item {
  background: transparent;
}

.carousel-principal .carousel-item img {
  width: 100%;
  height: 400px;
  object-fit: contain;
}

/* @media (max-width: 991px) {
  .carousel-principal {
    height: 175px;
  }
  
  .carousel-principal .carousel-inner {
    height: 175px;
  }
  
  .carousel-principal .carousel-item img {
    height: 175px;
  }
} */

.carousel-principal .carousel-caption h2, 
.carousel-principal .carousel-caption p { 
  color: #FFFFFF;
  margin: 10px 0;
}

.carousel-principal .carousel-caption h2 {
  font-size: 2.5vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: left;
}

.carousel-principal .carousel-caption p {
  font-size: 2.5vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: left;
}

.carousel-principal .carousel-caption { /* Formato de la barra de texto del carrusel */
  background: #232323;
  opacity: 0.7;
  padding: 0 20px;
  text-align: left;
  left: 5%;
  right: 5%;
  bottom: 10%;
}

.img-unica img { 
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 4/3;
}

.img-unica {
  height: 600px;
  background: #f2f2f2;
  margin-bottom: 30px;
}

.img-unica img {
  height: 600px;
  width: auto;
  border-radius: 0;
  object-fit: cover;
}

@media screen and (max-width: 1800px) {
  .img-unica {
    height: 600px;
  }
  
  .img-unica img {
    height: 600px;
  }
}

@media screen and (max-width: 1200px) {
  .img-unica {
    height: 400px;
  }
  
  .img-unica img {
    height: 400px;
  }

  .tarjeta-oaf-informa .card-body {
    height: 450px;
  }

  .carousel-principal, .carousel-principal .carousel-inner,
  .carousel-principal .carousel-item img {
    height: 400px;
  }
}

@media screen and (max-width: 1100px) {
  .img-unica {
    height: 350px;
  }
  
  .img-unica img {
    height: 350px;
  }

  .tarjeta-oaf-informa .card-body {
    height: 400px;
  }

  .carousel-principal, .carousel-principal .carousel-inner,
  .carousel-principal .carousel-item img {
    height: 350px;
  }
}

@media screen and (max-width: 991px) {
  .img-unica {
    height: 300px;
  }
  
  .img-unica img {
    height: 300px;
  }

  .tarjeta-oaf-informa .card-body {
    height: 350px;
  }

  .carousel-principal, .carousel-principal .carousel-inner,
  .carousel-principal .carousel-item img {
    height: 300px;
  }
}

@media screen and (max-width: 768px) {
  .img-unica {
    height: 200px;
  }
  
  .img-unica img {
    height: 200px;
    width: 100%;
  }

  .tarjeta-oaf-informa .card-body {
    height: 250px;
  }

  .carousel-principal, .carousel-principal .carousel-inner,
  .carousel-principal .carousel-item img {
    height: 200px;
  }
}

.img-unica {
  display: flex;
  place-content: center;
}

.carousel-control-next-icon {
  background-image: url(../images/flecha.svg);
}

.carousel-control-prev-icon {
  background-image: url(../images/flecha.svg);
  transform: rotateY(180deg);
} 

.carousel-indicators {
  margin-bottom: 0;
}

.carousel-indicators button {
  width: 6px !important;
  height: 6px !important;
  border-radius: 100%;
}

.carousel-indicators [data-bs-target] {
  background-color: #333333;
}

.tarjeta-oaf-informa {
  margin-top: 19px;
}

.tarjeta-oaf-informa .card-header {
  background: #005da4;
}

.tarjeta-oaf-informa .card-header h2 {
  color: #ffffff;
  text-align: center;
  margin: 20px 0;
  text-transform: uppercase;
}

.tarjeta-oaf-informa .card-body img {
  width: 100%;
  height: auto;
}

.tarjeta-inicio .card-body h2,
.tarjeta-inicio .card-body p {
  color: #ffffff;
}

/*** FIN Página de inicio ***/

/*** Sección consulta de deudas ***/

div#block-consultas1 {
  border: 1px solid #d3d3d3;
  border-radius: 5px;
  margin-top: 20px;
}

div#block-consultas1 h4 {
  background: #005da4;
  color: #ffffff;
  padding: 15px;
  border-radius: 3px;
}

div#block-consultas1 .panel-body {
  padding: 0;
}

div#block-consultas1 .panel-body form .form-group {
  width: 90%;
  justify-self: center;
}

div#block-consultas1 .panel-body form .form-group .g-recaptcha {
  margin: 10px -13px;
  scale: 0.9;
}

.boton-informe {
  font-size: 14px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 991px) {
  div#block-consultas1 .panel-body form .form-group .g-recaptcha {
    scale: 1;
  }

  .panel-consultas {
    width: 100%;
  }
}

/*** FIN Sección consulta de deudas ***/

/*** Página de noticia ***/

.imagen-noticia img {
  width: 100%;
  height: auto;
}

.view-noticias .card {
  background: transparent;
}

/*** FIN Página de noticia ***/

/*** Página de contacto ***/

.mapa-contacto iframe {
  width: 100%;
}

/*** FIN Página de contacto ***/

/*** Página de sistemas ***/

.encabezado-seccion {
  padding: 10px 0;
}

.grid-container {
  display: grid; 
  grid-gap: 10px;
  padding: 10px 0;
  grid-template-columns: repeat(2, 1fr);
}

.grid-tarjetas-informativas {
  grid-template-columns: repeat(3, 1fr);
}

.grid-container > div {
  text-align: center;
  padding: 0;
  font-size: 30px;
}

.item1 {
  grid-area: 1 / 1 / span 2 / span 2;
  position: relative;
}

.item{
  position: relative;
  background: #000000;
  border-radius: 8px;
}

.avatar, .imgs-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  opacity: 0.8;
  margin: 0;
}

.avatar:hover, .imgs-avatar img:hover, 
.avatar:hover, .imgs-avatar img:focus {
  opacity: 0.6;
}

.texto-encima{
  position: absolute;
  width: 90%;
  top: 30%;
  left: 5%;
  font-size: 2.5vw;
  text-align: center;
  line-height: 1;
  color: #FFFFFF;
}

a.texto-encima:hover, a.texto-encima:focus{
  color: white;
  text-decoration: none;
}

@media only screen and (max-width: 991px) {
  .tarjeta-informativa {
    grid-column: span 4;
  }
}

@media only screen and (max-width: 768px) {
  .texto-encima {
    position: absolute;
    top: 20%;
    left: 5%;
    font-size: 7vw;
    text-align: left;
    line-height: 0.8;
  }

  .item1 {
    grid-column: span 4;
  }

  .item {
    grid-column: span 4;
  }
}

/*** FIN Página de sistema ***/

/*** Página ¿Dónde pagar? ***/

.tarjeta-informativa {
  border-radius: 5px;
  word-break: break-word;
  box-shadow: 0px 3px 4px 1px #0000001a;
}

.tarjeta-informativa .card-header {
  background: #e6e6e6;
  font-size: 25px;
}

.tarjeta-informativa .card-body {
  font-size: 18px;
}

.tarjeta-informativa .card-body ul {
  list-style: none;
}

.tarjeta-informativa .card-body p {
  text-align: center;
}

/*** FIN Página ¿Dónde pagar? ***/

/*** Página de Videos ***/

.card .card-body .titulo-video {
  font-size: 24px;
  text-align: center;
  margin-bottom: 15px;
  color: #02477B;
}

/*** FIN Página de Videos ***/

/****** Footer ******/

.footer-ori .footer-info a,
.footer-ori .footer-links a,
.footer-ori .footer-social a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 600;
}

.footer-ori .footer-info a:hover,
.footer-ori .footer-info a:focus,
.footer-ori .footer-links a:hover,
.footer-ori .footer-links a:focus {
  text-decoration: underline !important;
}

/****** FIN Footer ******/

.panel-consultas .panel-body .item-list ul {
  list-style: none;
}

.panel-consultas .panel-body .item-list ul li a.request-password-link {
  display: none;
}

.panel-consultas .panel-body ul.nav {
  place-self: center;
}

.panel-consultas .panel-body ul.nav li a {
  color: #ffffff;
  background: #0071B3;
  border: none;
  border-radius: 5px;
}

.panel-consultas .panel-body ul.nav li a:hover,
.panel-consultas .panel-body ul.nav li a:focus {
  color: #ffffff;
  background: #035484;
  border: none;
  text-decoration: none;
}

/********** FIN Cambios OAF **********/
