

@font-face {
    font-family: 'Urbanist';
    src: url('/libreria/fonts/Urbanist-VariableFont_wght.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Urbanist';
    src: url('/libreria/fonts/Urbanist-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

table th,
table td{
    font-size: 15px;
}

header{
    border-bottom: 2px solid #183a64;
    background-color: #f8f9fa;
}
nav li{
    list-style: none;
    display: inline-block;
    color: #ff4f12;
}
.navbar-brand img{
    max-width: 150px;
    padding: 10px;
}
main{
    padding-top: 40px;
    padding-bottom: 40px;
    min-height: 900px;
}
#form-cursos, #form-listado-cursos, #form-captoglobal, #form-listado-material{
    background-color: #f8f9fa;
    padding: 30px;
    border-radius: 6px;
}
footer{
    height: auto;
    background-color: #183a64;
    padding-bottom: 10px;
}

footer .row > div p{
    text-align: center;
    color: #eaeaea;
    padding-top: 10px;
    font-size: 17px;
    margin-bottom: 0px;
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgb(248, 249, 250);
}
.contenedor-botones{
    text-align: center;
    border-bottom: 5px solid #716969;
}
.info-extra{
    display: none;
    background-color: #a1a2a254 !important;
    font-size: 12px;
}
.info-operadores{
    background-color: #a1a2a254 !important;
    font-size: 12px;
}
.info-extra-material{
    display: none;
    background-color: #a1a2a254 !important;
	border-bottom: 5px solid #716969;
    font-size: 12px;
}
.matriculado{
    border-left: 10px solid #8bc34a;
}
.descartado {
    border-left: 10px solid red;
}
.apto {
    border-left: 10px solid red;
}

.info-extra td,
.info-extra th{
    font-size: 13px;
}
.modal-body p.title{
    background-color: #007bff;
    color: #fff;
    padding: 5px;
    padding-left: 15px;
}
h1.title{
    border-bottom: 1px solid;
    color: #0080c9;
    margin-bottom: 25px;
}
.bloque{
    background-color: #f8f9fa;
    padding: 30px;
    border-radius: 15px;
    margin-bottom: 25px;
}
.contenedor-botones-control{
    margin-bottom: 20px;
}
#content-busqueda-alumno-vivo{
    background-color: #fff;
    border-radius: 10px;
}
#content-busqueda-alumno-vivo li{
    list-style: none;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 10px;
    padding: 10px;
}
#content-busqueda-alumno-vivo li:hover{
    background-color: #0080c9;
    color: #fff;
    cursor: pointer;
}
#content-busqueda-captador-vivo{
    background-color: #fff;
    border-radius: 10px;
}
#content-busqueda-captador-vivo li{
    list-style: none;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 10px;
    padding: 10px;
}
#content-busqueda-captador-vivo li:hover{
    background-color: #0080c9;
    color: #fff;
    cursor: pointer;
}
h4.ficha-registro {
    display: inline-block;
    background-color: #069ad3;
    color: #fff;
    padding-left: 10px;
    padding-right: 10px;
}
h4.barra-roja {
    background-color: red;
    font-size: 15px;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    padding: 6px;
}

.fa-check-circle{
    color: #11da11;
}
.fa-times-circle{
    color: red;
}
.bi-patch-check-fill{
    color: #42A5F5;
}
.bloque h4{
    color: #ff4e00;
}
#historial-comentarios i:hover{
    cursor: pointer;
}

.left{
    text-align: left;
}
.rigth{
    text-align: right;
}
.center{
    text-align: center;
}
.btn-naranja{
    background-color: #e30613;
    border-color: #ff4e00;
    font-size: 12px;
    color: #fff !important;
}
.btn-azul2{
    background-color: #069ad3;
    border-color: #069ad3;
    font-size: 12px;
    color: #fff !important;
}
.btn-verde{
    background-color: #8BC34A;
    border-color: #8bc34a;
    font-size: 12px;
}   
.btn-rojo{
    background-color: #dc3545;
    border-color: #dc3545;
    font-size: 12px;
}
.btn-amarillo{
    background-color: #F1C40F;
    border-color: #F1C40F;
    font-size: 12px;
}
.btn-azul2{
    background-color: #069ad3;
    border-color: #069ad3;
    font-size: 12px;
}
.titulo-seccion{
    background-color: #183a64;
    color: #fff;
    padding: 5px;
    padding-left: 20px;
    border-radius: 10px;
    font-size: 20px;
    margin-bottom: 20px;
}
#cuerpo-info-curso p{
    margin-bottom: 0px;
}
#cuerpo-info-curso{
    text-align: center;
}
.bottom-20{
    margin-bottom: 20px;
}
#content-busqueda-alumno-vivo{
    display: none;
    position: absolute;
    z-index: 5;
    max-height: 280px;
    overflow-y: scroll;
    border: 1px solid #ccc;
}
#content-busqueda-captador-vivo{
    display: none;
    position: absolute;
    z-index: 5;
    max-height: 280px;
    overflow-y: scroll;
    border: 1px solid #ccc;
}


#navbarSupportedContent .navbar-nav{
    display: inline-block;
    float: right;
    margin-top: 15px;
}
#navbarSupportedContent .navbar-nav a{
    font-size: 17px;
    color: #e30613;
	font-family: 'Urbanist', sans-serif;
}
#navbarSupportedContent .navbar-nav a:hover{
    color: #fff;
    background-color: #0062cc;
}
.titulo-pag{
    color: #007bff;
}
.info-extra  p{
    margin-bottom: 10px;
}
.info-detalle-curso p{
    margin-bottom: 2px;
}
.bloque-delegacion{
    background-color: #f8f9fa;
    padding: 25px;
    margin-bottom: 30px;
}
.bloque-delegacion h3{
    border-bottom: 1px solid;
    padding-bottom: 10px;
}
.bloque-delegacion label{
    margin-right: 15px;
    font-size: 18px;   
}
.medium-select{
    font-size: 18px;
    padding: 5px;
    vertical-align: middle;
    border-radius: 5px;
}
.form-group {
    margin-bottom: 0.4rem;
}
#usuario-conectado{
    color: #007bff;
    font-style: oblique; 
}
p.custom-green {
    color: #03bf03;
}
.total-resultados{
    text-align: right;
}

.contenedor-titulos label,
#contenedor-titulos label{
    border: 1px solid #007bff;
    padding: 10px;
    margin-right: 10px;
}
.contenedor-titulos label:hover,
#contenedor-titulos label:hover{
    background-color: #007bff;
    color: #fff;
    cursor: pointer;
}
.contenedor-titulos label input,
#contenedor-titulos label input{
    margin-right: 7px;
}
/* Estilo adicional para ofertas */
.contenedor-titulos label.oferta,
#contenedor-titulos label.oferta {
    border: 2px solid red; /* Cambia a tu color preferido */
}
.contenedor-titulos-comprobacion label,
#contenedor-titulos-comprobacion label{
    border: 1px solid #03bf03;
    padding: 10px;
    margin-right: 10px;
}

.contenedor-titulos-comprobacion label input,
#contenedor-titulos-comprobacion label input{
    margin-right: 7px;
}
.subseccion{
    font-size: 26px;
    /* text-align: center; */
    border-bottom: 1px double;
    margin-bottom: 30px;
    padding-bottom: 10px;
}

.text-secundario{
    font-style: oblique;
}

.impar{
    background-color: #c8f1f7 !important;
}
.par{
    background-color: #fff !important;
}
.abandono{
    background-color: #e8bcb7 !important;
}
.btn-danger{
    color: #fff !important;
}
.blockUI h2{
    font-size: 27px;
}
.content-grafica{
    width: 100%;
    background-color: #ececec;
    height: 25px;
    margin-top: 10px;
}
.porcentaje-alcanzado{
    height: 25px;
    background-color: #ff4e00;
    text-align: center;
    color: #fff;
    padding-top: 2px;
}

.btn{
    margin-bottom: 5px;
}
.titulaciones-matriculados li{
    display: inline-block;
    border: 2px solid #007bff;
    padding-left: 10px;
    padding-right: 10px;
}
.titulaciones-matriculados{
    margin-top: 5px;
    margin-bottom: 5px;
}

.fecha-alta-text{
    margin-bottom: 0px;
    font-size: 12px;
    margin-top: 4px;
}
.pagado {
    border-right: 10px solid #007bff;
}
.carnet {
    border-right: 10px solid #ffc107;
}

.bloque-expedicion-diploma{
    background-color: #eeeeef;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 10px;
}
.content-id-curso h3{
        color: #007bff;
}

@media (max-width: 991px) {
    .navbar-nav li{
        width: 100%;
        text-align: center;
    }
}

@media (min-width: 992px) {
    #navbarSupportedContent{
        display: inline-block !important;
    }
}
/* ===== Bloques del listado ===== */
.sep-bloque td{
  padding: 0;
  border: 0;
  position: relative;
}

/* control de cuánto sobresale a la izquierda */
:root{ --grupo-overshoot: 56px; }  /* << mueve más/menos el bloque */

.grupo-wrap{
  position: sticky;
  top: 56px;                 /* ajusta si tu cabecera es más baja/alta */
  z-index: 1;
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .45rem 1rem .45rem 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .3px;
  font-size: .85rem;
  background: var(--grupo-bg, #f4f6f9);
  color: var(--grupo-fg, #2b2f33);
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.04);
}

/* sobresalir por la izquierda */
.grupo-wrap--overshoot{
  transform: translateX(calc(-1 * var(--grupo-overshoot)));
  width: calc(100% + var(--grupo-overshoot));
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  padding-left: calc(1.1rem + 8px); /* no hace falta tocar este valor */
}

/* barra de acento */
.grupo-wrap::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: var(--grupo-accent, #adb5bd);
  border-radius: 0 4px 4px 0;
  opacity: .9;
}

.grupo-wrap i{ font-size: 1rem; opacity: .9; }
.grupo-title{ line-height: 1; }

/* Temas */
.grupo-socorrismo .grupo-wrap{
  --grupo-bg: linear-gradient(90deg,#e8f7ff 0%, #ffffff 55%);
  --grupo-fg: #0b7285;
  --grupo-accent: #15aabf;
}
.grupo-id-22 .grupo-wrap{
  --grupo-bg: linear-gradient(90deg,#fff7db 0%, #ffffff 55%);
  --grupo-fg: #8a6a00;
  --grupo-accent: #f08c00;
}
.grupo-otros .grupo-wrap{
  --grupo-bg: linear-gradient(90deg,#f1f3f5 0%, #ffffff 55%);
  --grupo-fg: #495057;
  --grupo-accent: #868e96;
}

/* si tu tabla está dentro de .table-responsive (Bootstrap),
   evita que recorte el overshoot */
.table-responsive{ overflow: visible; }
@media (max-width: 768px){
  .grupo-wrap{ top: 48px; font-size: .8rem; }
}



