:root {
    --co-blanco: #FFFFFF;
    --co-fondo: #27343d;
    --co-fondo2: #27343d;
}
html {
    height: 100%;
    margin: 0;
    font-size: 14px;
}
small{
    display:inline;
}
body {
    font-family: "Montserrat", Arial, sans-serif;
    text-align: left;
    color: #1D334F;
}
button {
    border: 0;
    background: none;
}
.map {
    /*border: 1px solid black;*/
    cursor: grab;
    background: linear-gradient(to right, #ffffff 40%, #d9d8d8 60%);
}
h1 {
    line-height: 1;
}

button:focus {
    outline: 1px dotted;
}
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: #fff;
    padding: 8px;
    z-index: 1000;
}

    .skip-link:focus {
        top: 0;
    }

.menu {
    width: 54px;
    height: 54px;
    display: inline-block;
    font-size: 24px;
    vertical-align: middle;
    margin: 0 auto;
    color: var(--co-blanco) !important;
    padding-top: 11px;
}
.headerBar {
    /*padding-left: 55px;*/
    height: 54px;
    width: 100%;
    position: sticky;
    top: 0;
    left: 0;
    background-color: var(--co-fondo);
    z-index: 99;
    box-shadow: 2px 2px 5px rgb(0 0 0 / 38%);
}
.headerBar2 {
  /*height: 50px;
    width: 100%;*/
    width: auto;
    position: fixed;
    top: 54px;
    z-index: 98;
    right: 30px;
}
.tituloPrincipal {
    color: #f9f9fa;
    line-height: 1;
    font-weight: 500;
    font-size: 1.1rem;
    margin: 0;
}


.tituloDisclaimer {
    color: white;
    line-height: 1.4;
    font-weight: 400;
    font-size: 0.7rem;
}
.main {
    padding-top: 20px !important;
}
.img-fluid {
    width: 100%;
    height: auto;
}

.pad-r {
    padding-right: 0 !important;
}
.pad-l {
    padding-left: 0 !important;
}

.logoHome {
    width: auto;
    max-height: 42px;
    filter: brightness(0) invert(1);
    border-right: 1px solid #ddeaf3;
    padding-right: 20px;
}


.filtro {
    margin-right: -15px;
    padding: 5px 30px 5px 35px;
    background: #27343d;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 20px 100%);
    color: white;
}
.nowrap {
    white-space: nowrap;
}
h4 {
    font-size: 1.2rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
    font-weight: 800;
}
h5 {
    margin-bottom: 0;
}
h5 span {
    font-weight: 400;
}
hr {
    background-color: #e5e5e5;
    height: 1px;
    border: 0px;
}

.underline{
    text-decoration:underline;
}
.click {
    cursor: pointer;
    display: block;
    font-weight: 400;
}
    .click:hover {
        text-decoration: underline;
    }
.pointer {
    cursor: pointer;
    white-space: nowrap;
}
.pointer2 {
    cursor: pointer;
}
@media (min-width: 768px) {
    html {
    font-size: 14px;
  }
}

.h1small {
    line-height: 1;
    font-weight: 900;
    font-size: 3rem;
}
.circulo {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #ddeaf3;
    display: block;
    margin: 0 auto;
    border: 5px solid #c9e0ef;
}

    .circulo .cirInterno {
        background: #ffffffe6;
        padding: 5px;
        position: relative;
        left: 30px;
        top: 10px;
        /*display: inline-block;*/
        width: 264px;
        display: none;
        z-index: 9;
        border: 1px solid #ddeaf3;
        font-size: 0.8rem;
        border-radius: 5px;
    }

.cirInterno .cirHeader {
    background: #1d334f;
    color: white;
    padding: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: -5px;
    margin-right: -5px;
    margin-left: -5px;
    margin-bottom: 5px;
    font-weight: bold;
}
    .circulo:hover .cirInterno {
        display: inline-block;
    }
    .circulo span {
        vertical-align: middle;
        position: relative;
        top: 24%;
        font-weight: 900;
        font-size: 1.6rem;
        text-align: center;
        display: block;
    }
.filtrosFlotantes {
    position: fixed;
    top: 0;
    background: #ddeaf3;
    border-radius: 0 5px 5px 0;
    left: 0;
    padding: 15px 15px;
    border-bottom: 1px solid #acbdc9;
    border-right: 1px solid #acbdc9;
    box-shadow: 0px 0px 3px #c6d7e3;
}
.titulo {
    background-color: #035A70; /*#058AAD;*/
    color: white;
    padding: 7px 10px;
    margin-left: -10px;
    position: sticky;
    top: 0px;
    z-index: 2;
    margin-top: 0;
}
    .titulo.aux {
        font-size: 1.2rem;
        margin-left: -15px;
        margin-top: 15px;
    }

.scrollable {
    height: 300px; /* Altura del contenedor */
    overflow-y: auto; /* Activa el scroll vertical cuando sea necesario */
    overflow-x: hidden; /* Activa el scroll vertical cuando sea necesario */
    position: relative;
}

    /* Ocultar scrollbar por defecto en WebKit */
    .scrollable::-webkit-scrollbar {
        width: 0;
        background: transparent;
    }

/* Para Firefox: ocultar scrollbar (limitado) */
.scrollable {
    scrollbar-width: none; /* Firefox: oculta la barra de scroll */
}

    /* Clase que se aplicará mientras se está desplazando para mostrar la scrollbar en WebKit */
    .scrollable.scrolling {
        margin-right: 0;
    }
    .scrollable.scrolling::-webkit-scrollbar {
        width: 8px; /* Ancho de la scrollbar */
        background: rgba(0, 0, 0, 0.2);
        border-radius: 4px;
    }

    /* Para Firefox, cuando esté en scroll se puede cambiar a 'thin' */
    .scrollable.scrolling {
        scrollbar-width: thin;
    }



.scroll {
    height: 100px; /* Altura del contenedor */
    overflow-y: auto; /* Activa el scroll vertical cuando sea necesario */
    position: relative;
}

.padd-scroll{
    padding-right:20px;
}
.scroll::-webkit-scrollbar {
    width: 10px; /* width of the entire scrollbar */
}

.scroll::-webkit-scrollbar-track {
    background: #ddeaf3; /* color of the tracking area */
}

.scroll::-webkit-scrollbar-thumb {
    background-color: #aeb8c0; /* color of the scroll thumb */
    border-radius: 20px; /* roundness of the scroll thumb */
    border: 2px solid #ddeaf3; /* creates padding around scroll thumb */
}
/**********************************/
/**********INICIO GRAFICO**********/
/**********************************/
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }

    to {
        opacity: 0;
        transform: scale(0.95);
    }
}


#infoBox {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 5px 10px;
    border-radius: 5px;
    display: none;
    pointer-events: none;
    margin: 0;
    font-size: 1rem;
    width: 300px;
    border: 1px solid #e1e1e1;
    z-index: 99;
}

    #infoBox .titulo {
        background-color: var(--co-fondo);
        margin-right: -10px;
        margin-top: -10px;
        border-radius: 4px 4px 0 0;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        margin-bottom: 1rem;
    }
.badge {
    padding: 3px 12px;
    border-radius: 11px;
    color: white;
    margin-left: 5px;
}
.badge.badge-xs {
    padding: 2px 12px;
    margin-left: 0;
}
    .badge span {
        vertical-align: text-top;
        color: #ffffff;
        padding-left: 5px;
        cursor:pointer;
    }
#infoBox3 {
    position: absolute;
    background-color: #f4f4fb;
    padding: 5px 10px;
    border-radius: 5px;
    display: none;
    pointer-events: none;
    margin: 0;
    font-size: 1rem;
    width: 300px;
    border: 1px solid #e1e1e1;
    z-index: 99;
}
#infoBox2 {
    position: absolute;
    background-color: #f4f4fb;
    padding: 5px 10px;
    border-radius: 5px;
    display: none;
    pointer-events: none;
    margin: 0;
    font-size: 1rem;
    width: 300px;
    border: 1px solid #e1e1e1;
    z-index: 99;
}

    #infoBox2 .titulo {
        background-color: #1e334e;
        margin-right: -11px;
        margin-left: -11px;
        padding: 5px 5px 5px 10px;
        color: #ffffff;
        margin-bottom: -7px;
        padding: 10px;
        margin-top: -7px;
        border-radius: 3px 3px 0 0;
    }
.show-infoBox {
    display: block !important;
    animation: fadeIn 0.2s ease-out /*0.5s*/; /* Espera 0.5s antes de animarse */
}

    

#infoBox.titdisable {
    padding: 0;
    width: auto;
    max-width: 300px;
    font-size: 80%;
}
    #infoBox.titdisable .titulo {
        margin-right: -10px;
        margin-top: -5px;
        background-color: #d9d8d8;
        color: #1d334f;
        margin-bottom: -5px;
        border-radius: 5px;
    }

            #infoBox.titdisable .titulo p {
                text-align: left;
            }
            #infoBox.titdisable .titulo b {
                font-weight: 400
            }



.show-infoBox .tool-valor {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1D334F;
    padding-right: 5px;
}


.hide-infoBox {
    animation: fadeOut 0.2s ease-in;
}

strong{
    font-weight:900;
}

.fixed {
    position: sticky;
    right: 0;
    top: 0;
}
/**********************************/
/**********FINAL  GRAFICO**********/
/**********************************/




.small {
    font-size: 80%;
}
.c-12 {
    font-size: 12px;
}
.c-14 {
    font-size: 14px;
}
.c-16 {
    font-size: 16px;
}
.c-18 {
    font-size: 18px;
}
.c-20 {
    font-size: 20px;
}
.c-24 {
    font-size: 24px;
}
.c-32 {
    font-size: 32px;
}
.c-34 {
    font-size: 34px;
}
.c-36 {
    font-size: 36px;
}
.c-56 {
    font-size: 56px;
}
.c-86 {
    font-size: 86px;
}
.c-38 {
    font-size: 38px;
}
.c-azul {
    color: #0056b3; /*#008EFF;*/
}
.c-verde {
    color: #1D7F9C;
}
.c-gris {
    color: #6B6B6B; /*#858383;*/
}
.c-negro {
    color: #1D334F;
}
.margin-0{
    margin:0;
}


.margin- {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.margin-sm {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.margin-md {
    margin-top: 4rem;
    margin-bottom: 4rem;
}
.margin-lg {
    margin-top: 6rem;
    margin-bottom: 6rem;
}
.margin-xl {
    margin-top: 8rem;
    margin-bottom: 8rem;
}

.bg-cafe {
    background-color: #eae2d5;
}
.bg-cafeoscuro {
    background-color: #A39A8D;
}
.bg-beige {
    background-color: #F5E5CC;
}

.bg-gris {
    /*background-color: #DDEAF3;*/
    background-color: #f6f7fb;
    border: 1px solid #f2f6fd;
}


.bg-1 {
    background-color: #0accf0;/*celeste*/
}
.bg-2 {
    background-color: #009dd2; /*azul*/
}
.bg-3 {
    background-color: #8b84c7; /*morado*/
}
.bg-4 {
    background-color: #1ac1a3; /*verde*/
}
.bg-5 {
    background-color: #0d7262; /*verde oscuro*/
}
.bg-6 {
    background-color: #035A70;
    /*background-color: #058AAD;*/ /*verde oscuro*/
}

.linea-l {
    border-left: 1px solid #9B9B9B;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-left {
    text-align: left;
}
.padd-r {
    padding-right: 0px;
}
.contenedor {
    padding: 10px;
    border-radius: 3px;
    margin-bottom:15px;
}

/* Se aplica transición de opacidad para la animación */
#div1, #div2 {
    transition: opacity 0.5s ease;
}

/* Estado visible: el div es opaco y se muestra en pantalla */
.visible {
    opacity: 1;
    pointer-events: auto;
    display: block;
}

/* Estado oculto: el div es transparente; usamos display: block para que la transición de opacidad funcione */
.hidden {
    opacity: 0;
    height:0;
    overflow:hidden;
    pointer-events: none;
    position:absolute;
    /*display: none!important;*/
}

/* Estilos para la paginación */
.pagination {
    text-align: center;
    margin-top: 10px;
}

    .pagination button {
        margin: 10px 4px;
        padding: 5px 8px;
        border: 3px solid #ddeaf3;
    }
        .pagination button:hover {
            background-color: #1d334f;
            color: white;
        }
/* Clases para ocultar elementos */
.hidden {
    display: none;
}
.tooltip {
    padding: 5px;
    border-radius: 1px;
    background: rgb(255 255 255 / 70%);
    color: #404040;
    font-size:90%;
    position: absolute;
}
    .tooltip span {
        font-weight: 900;
        color: #2e2e2e;
    }
.dot{
    cursor:pointer;
}
.flotante {
    position: absolute;
    top: 50px;
    z-index: 99;
    background-color: var(--co-fondo);
    color:var(--co-blanco);
    display: block;
    width: 40%;
    min-width: 300px;
    right: 0;
}

.rangoColor {
    position: absolute;
    bottom: 5px;
    right: 15px;
    font-weight: 800;
    color: #1e334e;
}
    .rangoColor .cuadro {
        background: linear-gradient(to right, #A1D1EE, #406B9A);
        border: 1px solid white;
        width: 150px;
        height: 20px;
        display: inline-block;
        vertical-align: middle;
        margin: 0px 5px 5px 5px;
    }
    .rangoColor p{
        color: #9B9B9B;
        font-weight: 600;
    }
.sin-margin {
    margin-top: 0;
    margin-bottom: 0;
}
.sin-padding {
    padding-right: 0;
    padding-left: 0;
}

.sin-padding-right {
    padding-right: 15px;
}
/*@media (min-width: 1200px) {
    .sin-padding-right {
        padding-right: 15px;
    }
}*/

.div100 {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 54px);
    padding-top: 8px;
    padding-bottom: 8px;
    box-sizing: border-box;
}

.div100Arriba {
   /* background: lightcoral;*/
    padding: 20px;
    /* No necesita altura fija, se ajusta al contenido */
}

.div100Interno {
    flex: 1; /* Ocupa todo el espacio restante */
    overflow: auto; /* Hace scroll si es más grande que el espacio disponible */
    /*background: lightblue;*/
    /*padding: 10px;*/
}

.valor {
    font-weight: 900;
    margin: 0;
    font-size: 1.6rem;
}
.divtotal {
    height: 100vh;
    overflow-y: auto;
    padding-top: 70px;
}
.over {
    overflow: hidden;
    height: 577px;
    overflow-y: auto;
}



.icon {
    margin-right: 5px;
    vertical-align: text-top;
}

.icon-l {
    margin-left: 10px;
    font-size:70%;
    vertical-align: middle;
}

.form-group {
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.form-control {
    display: block;
    width: 100%;
    /*height: calc(1.5em + 0.75rem + 2px);*/
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control-small {
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.2;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

    .form-control:disabled {
        background-color: #ececff;
        border: 1px solid #f4f4f4;
        cursor: no-drop;
    }

    .form-control[type=number] {
        max-width: 200px;
    }

    .form-control:focus {
        color: #495057;
        background-color: #fff;
        border-color: #80bdff;
        outline: 0;
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    }

.form-control::placeholder {
    color: #e3e3e3;
    opacity: 1;
}

    .form-control:disabled::placeholder {
        color: #ECECFF;
        opacity: 1;
    }

.form-input {
    padding-bottom: 2rem;
}

.form-input-sm {
    padding-top: 1rem;
    width: 100%;
    padding-bottom: 1rem;
}

    .form-input-sm label {
        display: block;
    }

.form-inline {
    display: inline;
}

label {
    font-size: 1rem;
}

    label small.c-gris {
        font-size: 70%;
    }

.maxcol {
    max-width: 300px;
}

.form-check {
    position: relative;
    display: block;
    padding-left: 1.25rem;
    margin-bottom: 5px;
}

.form-check-inline {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 0;
    margin-right: .75rem;
}

    .form-check-inline .form-check-input {
        position: static;
        margin-top: 0;
        margin-right: .3125rem;
        margin-left: 0;
    }

.form-check-input,
.form-check-label {
    margin-bottom: 0;
    display: inline-block !important;
}

.form-select {
    max-width: 400px;
}

.btn {
    white-space: nowrap;
    display: inline-block;
    font-weight: 400;
    color: #212529;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .5rem 2rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 1px;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.btn-link {
    white-space: nowrap;
    font-weight: bold;
    color: #858383;
    text-decoration:none!important;
}
    .btn-link.active {
        border-bottom: 4px solid #008EFF;
        color: #008EFF;
    }
.btn-small {
    padding: .5rem 1rem;
    font-size: 0.8rem;
    line-height: 1.2;
}

    .btn.disable {
        opacity: 0.5;
        cursor: no-drop;
    }

.btn-underline {
    border: 1px solid #c4c4c4;
}

    .btn-underline:hover {
        border: 1px solid #909090;
        background-color: rgba(0, 0, 0, 0.1);
        text-decoration: none;
    }

.btn-primary {
    color: #fff !important;
    background-color: #1D7F9C;
    border-color: #2672b2;
}

    .btn-primary:hover {
        text-decoration: none;
        color: #fff;
        background-color: #15667E;
        border-color: #074E91;
    }
.table-responsive {
    overflow-x: auto;
}
.table {
    font-size: 90%;
    width: 100%;
}
    .table tr {
        padding-right: 5px;
        padding-left: 5px;
        border-bottom: 1px solid #ced4da;
    }
    .table td, .table th {
        padding: 5px ;
    }

    .table tbody tr:hover {
        background-color: #ced4da;
        cursor:pointer;
    }



.table2 {
    font-size: 90%;
    width: 100%;
    margin:10px auto;
}

    .table2 tr {
        padding-right: 5px;
        padding-left: 5px;
        border-bottom: 1px solid #ced4da;
    }

    .table2 td, .table2 th {
        padding: 5px;
        border: 1px solid #ced4da;
    }

    .table2 tbody tr:hover {
        background-color: #ced4da;
        cursor: pointer;
    }


.automatico {
    width: 110px;
    height: 20px;
    background-color: color(srgb 0 0 0 / 0.7);
    border-radius:5px 5px 0 0;
    bottom: 0;
    left: 0;
    position: absolute;
}

    .automatico .circulo {
        width: 10px;
        height: 10px;
        background: #ffffff;
        border-radius: 50%;
        border: 0px;
        margin: 5px 0px 5px 5px;
    }
    .automatico .circulo.red {
        background: red;
    }


.nube {
    display: inline-block;
    padding-right: 7px;
    padding-left: 7px;
    vertical-align: middle;
    cursor: pointer;
}
    .nube .sin-margin {
        line-height:1;
    }

.nubeh {
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 5px;
    padding-left: 10px;
}

    .nubeh:hover {
        background: #f5f5f5;
    }
#treemap {
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.5s ease;
}
.hiddenOpacity{
    opacity:0!important;
    transition: opacity 0.5s ease!important;
}
#header{
    min-height:39px;
}


/*
CSS del CONSEJO*/
.cplt {
    color: rgb(51, 51, 51);
}

.cplt a{
    color: rgb(51, 51, 51);
    text-decoration:none;
}
    .cplt h4 {
        font-size: 18px;
        font-weight: 700;
        font-family: "Montserrat", Arial, sans-serif;
    }
    .cplt .ver-todas {
        font-size: 14px;
        color: rgb(51, 51, 51);
    }
        .cplt .ver-todas h5:hover {
            color: #046671;
            font-weight: bold;
        }

.card {
    background-color: #f5f5f5;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    color: #333333;
    text-align: center;
    overflow: hidden;
}
    .card img {
        transition: transform 0.3s ease; /* Transición suave */
    }

    .card:hover img {
        transform: scale(1.1); /* Zoom al pasar el mouse */
    }


.card h5 {
    font-size: 16px;
    margin-bottom: 10px;
}
    .card p {
        font-size: 12px;
        text-align: center; 
        line-height: 1.2;
        margin-bottom: 5px;
    }
    .card p b{
        font-size: 20px;
        font-weight:900;
    }
.card-body {
    padding:10px;
}
.card-img {
    min-height: 100px;
    max-height: 145px;
    height: 145px;
    width: auto;
    background: #d7d7d7;
    overflow: hidden;
}
.card-text {
    height: 50px;
}
.card-title {
    font-weight: 400;
    line-height: 1.4;
    height: 65px;
}

/*.c-gris {
    background-color: #626262;
}*/

.c-blanco{
    color:white!important;
}
.bg-oscuro {
    background-color: var(--co-fondo);
    color:white;
}
.hr-gris {
    background-color: #525252;
}

.cplt {
    padding-bottom: 2rem;
}

.cplt .enlace {
    color: #b7b7b7;
    font-size: 75%;
    text-decoration: underline;
}

.cplt .enlace:hover {
    color: white;
}


.c-1 {
    color: #404ac5;
}

.c-2 {
    color: #02717c;
}

.c-3 {
    color: #5a71a3;
}
.c-4 {
    color: #42517c;
}
.c-5 {
    color: #0181a2;
}
.c-6 {
    color: #00a897;
}

.h-100{
    height:100%;
}
@media (max-width: 992px) {

    .targetasTodas .targeta:nth-child(n+7) {
        display: none !important;
    }
    .tituloPrincipal {
        font-size: 0.8rem;
    }
    .div100 {
        height: auto;
    }
    .arrowjud{
        font-size:18px;
    }
}

}
@media (max-width: 768px) {
    .card-img {
        max-height: 100px;
    }
    .targetasTodas .targeta:nth-child(n+5) {
        display: none !important;
    }
}
@media (max-width: 576px) {

    .card-title {
        height: 90px;
    }
}

:root {
    --ta-verde: #046671;
    --ta-azul: #035A70; /*#058AAD;*/
    --ta-gris: #666666;
    --ta-linea: #ebebeb;
    --ta-negro: #252525;
}
.altototal{
    height:100vh;
}
.tituloH1 {
    text-transform: uppercase;
    font-size: 38px;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 900;
}
    .tituloH1 small {
        font-size: 18px;
        display: inline-block;
        margin-top: 8px;
        text-transform: none;
    }
.tituloBajada{
    color: var(--ta-verde);
    text-align:center;
}
.tituloBajada2 {
    color: var(--ta-verde);
    text-align: center;
    border-bottom:1px solid #acbdc9;
}

.tituloSeccion {
    color: var(--ta-negro);
    font-size: 18px;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 400;
}
.cajaTotal {
    background: #ffffff;
    border-radius: 20px;
    padding: 15px;
    border: 1px solid #f7f7f7;
    vertical-align: middle;
    box-shadow: 2px 2px 5px #ebebeb;
    max-width: 300px;
    height: 100%;
    margin: 0 auto;
}

.montoTotal {
    font-size: 32px;
    color: #252525;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 900;
    margin-bottom: 10px;
    line-height: 1.5;
}


.tablaTitulo {
    font-size: 16px;
    font-weight:700;
    color: var(--ta-azul);
    margin-bottom: 5px;
    line-height: 1;
    font-family: "Montserrat", Arial, sans-serif;
}
.tablaBajada {
    font-size: 12px;
    color: var(--ta-gris);
    margin-bottom: 10px;
    line-height: 1;
}
.tableTableau {
    height: 300px;
    overflow: auto;
    border: 1px solid var(--ta-linea);
    border-radius: 5px;
}

.tableItem {
    border-bottom: 1px solid var(--ta-linea);
    padding-top: 3px;
    padding-bottom: 3px;
    font-size:12px;
    cursor:pointer;
}
.tableItem:hover {
    background-color:var(--ta-linea);
}
    .tableItem.active {
        background: var(--ta-verde);
        color: white;
    }
        .tableItem.active .tableValor {
            color: white;
        }
.tableValor {
    color: var(--ta-verde);
}
.glosario {
    text-decoration: none;
    color: #e1e1e1;
    margin: 0;
    padding: 0;
    cursor: pointer;
    display: block;
}
    .glosario:focus {
        outline: dotted 2px #000000;
    }
:focus-visible {
    outline: dotted 2px #000000;
}
.glosario:hover {
    color: white;
}
    .glosario:hover span:first-of-type {
        background: #22667a;
    }
    .glosario:hover span:last-of-type {
        color: #22667a;
    }


    .glosario span:first-of-type {
        vertical-align: middle;
        background: #0f6f8a; /*#158aac;*/ 
        border-radius: 15px 0 0 15px;
        padding-right: 10px;
        padding-left: 10px;
        font-size: 16px;
        display: inline-block;
        color: white;
    }

    .glosario span:last-of-type {
        font-size: 32px;
        color: #158aac;
        display: inline-flex;
        margin-left: -7px;
        vertical-align: middle;
    }

.modal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(98, 98, 98, 0.9);
    z-index: 999999;
}

    .modal .modal-conte {
        position: relative;
        max-width: 800px;
        width: 100%;
        overflow-y: auto;
        max-height: 90vh;
        top: 10vh;
        padding: 30px;
        margin: 0 auto;
        border-radius: 5px;
        outline: 0;
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid rgba(0,0,0,.2);
        box-shadow: 2px 2px 10px #565656;
    }
.seccionFiltro {
    background-color: #f5f6ff;
    box-shadow: 2px 6px 10px #c5caf3;
    position: fixed;
    /*top: 54px;
    height: 100vh;*/
    height: -webkit-fill-available;
    overflow-y: auto;
    top: 54px;
    min-height: calc(100vh - 54px);
}

#seccionFiltro {
    padding-right: 15px;
    padding-left: 15px;
    width: 330px;
    z-index: 5;
    left: 0;
    transition: all 0.4s ease;
}
.seccionFiltroOculto {
    left: -330px !important;
    transition: all 0.4s ease;
}

.seccionInfo {
    padding-left:15px;
    transition: all 0.4s ease;
}
.seccionInfoExtendida {
    padding-left: 340px !important;
    transition: all 0.9s ease;
}

.tituloFiltro {
    background: white;
    border-bottom: 2px solid #158aac;
}
.btn-icon {
    border-radius: 50%;
    background: #d5e6ff;
    height: 35px;
    width: 35px;
    margin: 0px;
    padding: 0px;
    padding-top: 2px;
    padding-right: 0px;
    font-weight: bold;
}
    .btn-icon:hover {
        background: #a3a3a3;
    }
.form-group-filtro {
    margin-bottom: 15px;
    margin-top: 10px;
}
.linea {
    border-bottom: 1px solid #e3e3e3;
}
.form-control-filtro {
    display: block;
    width: 100%;
    /* height: calc(1.5em + 0.75rem + 2px); */
    padding: 0.25rem 0.5rem;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.filtros {
    position: sticky;
    top: 14px;
    z-index: 98;
}
.bg-verde {
    background-color: var(--ta-verde);
    color: white;
}
.filtro-item {
    margin: 1px;
    margin-left: 5px;
    padding: 0px 0px 0 12px;
    display: inline-block;
}

.bg-borrar {
    background-color: #d5e6fe;
    color: #252525;
}

    .bg-borrar:hover {
        color: #a3a3a3;
    }

.filtrosblack {
    background: #27343d;
}
    .filtrosblack label {
        color: white;
    }
.filtros label {
    margin-bottom: 0px;
    font-size: 12px;
    font-weight: bold;
}

.help {
    /*font-size: 13px;*/
}

.tool {
    position: relative;
    z-index: 0;
}

    .tool:hover {
        background-color: transparent;
        z-index: 1;
        text-decoration: none;
    }

    .tool span {
        border: 1px solid rgba(15, 15, 15, 0.9);
        padding: 5px;
        position: absolute;
        text-decoration: none;
        background-color: rgba(22, 40, 45, 0.9);
        color: #f3f3f3;
        width: max-content;
        text-align: left;
        visibility: hidden;
        display: none;
        font-size: 0.75rem;
        line-height: 1;
        border-radius: 3px;
        font-weight: 400;
    }

    .tool:hover span {
        visibility: visible;
        display: block;
    }

    .tool.tool-r:hover span {
        top: 0px;
        left: 20px;
    }

    .tool.tool-l:hover span {
        top: 0px;
        right: 20px;
    }

    .tool.tool-t:hover span {
        bottom: 2em;
        left: 0;
    }

    .tool.tool-t-l:hover span {
        bottom: 2em;
        right: 0;
    }

    .tool.tool-b:hover span {
        top: 2em;
        left: -15px;
    }

    .tool.tooltip-top:hover span {
        visibility: visible;
        top: 0px;
        left: 20px;
    }

    .tool.tooltip-top:hover span {
        visibility: visible;
        top: 0px;
        left: 20px;
    }

    .tool.tooltip-top:hover span {
        visibility: visible;
        top: 0px;
        left: 20px;
    }

.global-tooltip {
    position: fixed;
    background-color: #f4f4fb;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #e1e1e1;
    font-size: 1rem;
    pointer-events: none;
    opacity: 0;
    transition: opacity .15s;
    z-index: 99999;
    max-width: 300px;
}
.global-tooltip-title {
    font-weight: bold;
    border-radius: 4px 4px 0 0;
    background: var(--co-fondo);
    color: white;
    margin: -10px;
    padding: 10px;
}
.global-tooltip-valor {
    margin-top: 2rem;
}
.global-tooltip-valor #tooltipValor {
    color: var(--ta-azul);
    font-weight: bold;
    font-size: 24px;
}
.global-tooltip-footer {
    margin-top:1rem;
    color: var(--ta-gris);
}

.corchete {
    font-size: 80px;
    font-weight: 900;
    color: var(--co-azul);
    font-family: sans-serif;
    /* line-height: 0; */
    line-height: 1;
    height: 55px;
    display: block;
}

.animacionFlecha {
    font-size:40px;
    color:var(--ta-linea);
    display: inline-block;
    animation: bounce 1.5s infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(6px);
    }
}
.bordeT{
    border-top:1px solid var(--ta-linea);
}

.text-small {
    font-size: 80%;
    line-height: 1.4;
    margin-bottom: 0;
}

#loadingOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparente */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999; /* Encima de todo */
    display: none; /* Inicialmente oculto */
}

#loadingText {
    color: white;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}

.barraFiltro {
    position: sticky;
    background: #ececec;
    top: 54px;
    z-index: 4;
}

.icon {
    display: inline-flex;
    vertical-align: middle;
    padding-bottom: 2px;
}
.icon-close {
    color: #dcdcdc;
}
.icon-close:hover {
    color: white;
}

.minWidth{
    min-width:300px;
}