:root {
    --background: #fff;
    --destaque: #FF1F40;
    --label: #333;
    --texto-destaque: #333;
    --nav-background: #f8f8f8;
    --nav-color: #777;
    --logo-padding: 15px;

    --input-border-color: #ff1f40;
    --input-shadow-color: rgba(255, 31, 64, .6);
    --input-select-background: #ff1f40;
    --input-select-color: #fff;

    --btn-color: #fff;
    --btn-background-color: #ff1f40;
    --btn-border-color: #ff1537;
    --btn-hover-color: #fff;
    --btn-hover-background-color: #c9102c;
    --btn-hover-border-color: #b9122b;

    --viagem-background: #fff;
    --viagem-border: #ddd;
    --viagem-lateral-background : #eee;
    --viagem-lateral-selecao: #ff1f40;
    --viagem-lateral-checked: #a94442;
    --viagem-lateral-color: #fff;
    --viagem-texto-destaque: #59687f;
    --viagem-texto-muted: #777;
    --viagem-texto-valor: #5cb85c;

    --paginacao-background: #fff;
    --paginacao-border: #ddd;
    --paginacao-color-disabled: #777;
    --paginacao-color: #ff1f40;
    --paginacao-background-active: #ff1f40;
    --paginacao-border-active: #ff1537;
    --paginacao-color-active: #fff;
    --paginacao-hover-background: #eee;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    background-color: var(--background);
    margin-bottom: 250px;
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    /* Set the fixed height of the footer here */
    max-height: 250px;
    line-height: 60px; /* Vertically center the text there */
    background-color: #f5f5f5;
}

footer .container a {
    text-decoration: none;
    color: var(--nav-color);
}

footer .container a i {
    padding-left: 4px;
}

body > .container {
    padding: 60px 15px 0;
}

.footer > .container {
    padding-right: 15px;
    padding-left: 15px;
}

.form-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px;
}

.justify-content-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}

.justify-content-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.form-row > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px;
}

.col-auto {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

h1, .h1, h2, .h2, h3, .h3 {
    color: var(--texto-destaque);
}

label {
    color: var(--label);
}

.navbar-brand {
    padding: var(--logo-padding) 15px;
}

.navbar-default {
    background-color: var(--nav-background);
}

.navbar-default .navbar-nav > li > a {
    color: var(--nav-color);
}

.progress.progress-duracao .progress-bar {
    background-color: var(--destaque);
}

.form-control:focus {
    border-color: var(--input-border-color);
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px var(--input-shadow-color);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px var(--input-shadow-color);
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
    color: var(--input-select-color);
    background-color: var(--input-select-background);
}

.datepicker table tr td.active {
    background-image: linear-gradient(to bottom, var(--input-select-background), var(--input-select-background));
}

.datepicker table tr td.active, .datepicker table tr td.active:hover, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover {
    color: var(--input-select-color);
}

.funkyradio label {
    border: 1px solid var(--viagem-border);
}

.funkyradio input[type="radio"]:empty ~ label, .funkyradio input[type="checkbox"]:empty ~ label {
    padding-left: 35px;
}

.viagem {
    background-color: var(--viagem-background);
}

.carregando-example {
    margin-top: 20px;
    font-size: 33px !important;
    color: var(--destaque);
}

.blockUI.blockMsg.blockPage h3 {
    color: rgb(255, 255, 255);
}

.numPoltrona {
    color: #fff;
    font-size: 20px;
    position: absolute;
    margin-top: 5px;
    margin-left: 4px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}

.numPoltronaOcupada{
    color: #808080;
    font-size: 20px;
    position: absolute;
    margin-top: 5px;
    margin-left: 4px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: not-allowed;
}

footer.site-footer .footer-inner {
    height: 40px !important;
}

@media (max-width: 991px){
    .numPoltrona {
        transform: rotate(-90deg);
    }

    .numPoltronaOcupada {
        transform: rotate(-90deg);
    }

    .onibus {
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        margin-top: 320px;
        margin-bottom: 320px;
    }

    footer.site-footer .footer-inner {
        height: 65px !important;
    }

    .divRow {
        flex-direction: column;
    }

    .divBtnBusca {
        padding-bottom: 50px;
    }
}

.imgPoltrona {
    cursor: pointer;
}

.imgPoltronaOcupada{
    cursor: not-allowed;
}

/*@media (max-width: 991px){*/
/*    .imgPoltrona{*/
/*        cursor: pointer;*/
/*        -webkit-transform: rotate(90deg);*/
/*        -ms-transform: rotate(90deg);*/
/*        transform: rotate(90deg);*/
/*    }*/
/*    .imgPoltronaOcupada{*/
/*        cursor: pointer;*/
/*        -webkit-transform: rotate(90deg);*/
/*        -ms-transform: rotate(90deg);*/
/*        transform: rotate(90deg);*/
/*    }*/
/*}*/

.bgOnibus{
    background: url('../imagens/bg_onibus180.png') repeat-x;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
}

/*@media (max-width: 991px){*/
/*    .bgOnibus {*/
/*        background: url('../imagens/bg_onibus180.png') repeat-y;*/

/*        padding-top: 5px;*/
/*        padding-bottom: 5px;*/
/*    }*/
/*}*/

.corredor{
    padding-bottom: 24px;
}

.espacoPoltrona{
    padding-right: 3px;
}

.poltrona {
    font-size: 38px;
    cursor: pointer;
}

.poltrona-disponivel {
    color: #0C9C14;
}

.pisca-poltronas-desconto {
    color: #1fb8ff !important;
}

.poltrona-vendida {
    color: #FF1F40;
}

.poltrona-selecionada {
    color: #2D44D8;
}

.espaco-vago {
    padding-left: 39px;
}

.vendida{
    cursor: not-allowed !important;
}

.numPoltrona.vendida{
    color: #d3d3d3 !important;
}

.legenda {
    font-size: 23px;
}

@media (max-width: 991px){
    .espacoPoltrona{
        padding-bottom: 10px;
        padding-left: 1px;
        padding-right: 0;
    }
}

.legendaPoltrona{
    width: 30px;
}

.tableOnibus{
    margin-right:auto;
    margin-left:auto;
    margin-bottom: 10px;
}

.andares {
    height: 100%;
    display: flex;
    align-items: center;
}

.btn-andar {
    font-size: 18px;
    cursor: pointer;
}

.carregando{
    margin-left: 40%;
    margin-top: 25px;
    font-size: 100px !important;
    color: var(--destaque);
}

.carregandoOnibus {
    text-align: center;
}

.loading-bus {
    font-size: 91px;
    color: #FF1F40;
    margin-left: 30px;
}

.vcenter {
  min-height: 100vh;

  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

    -webkit-box-align : center;
  -webkit-align-items : center;
       -moz-box-align : center;
       -ms-flex-align : center;
          align-items : center;

  width: 100%;

         -webkit-box-pack : center;
            -moz-box-pack : center;
            -ms-flex-pack : center;
  -webkit-justify-content : center;
          justify-content : center;
}

.tabLeft{
    text-align: left;
}

.tabRight{
    text-align: right;
}

.tabCenter{
    text-align: center;
}

.tabJustify{
    text-align: justify;
}

.error{
    color: #ac2925;
    font-style: oblique;
    position: unset !important;
    cursor: auto !important;
    opacity: 1 !important;
}

.bandeiraCartao{
    height: 30px;
}

.descViagem{
    margin-top: 0;
}

.aguardePagamento{
    width: 103px;
    height: 57px;
}

.tableCompra {
    font-size: 12px;
}

.tableCompra tbody tr td{
    border-top: none;
}

.textoCompra{
    font-size: 80%;
}

.passageiro{
    padding-top: 7px;
    font-weight: bold;
}

.heading{
    text-align:center;
    margin-bottom:40px
}
.heading-endreco{
    margin-bottom:20px !important;
}
.heading:after{
    content:" ";
    display:block;
    width:100px;
    height:2px;
    margin:20px auto 20px;
    background: var(--destaque)
}
.accent{
    color: var(--destaque)
}
.text-uppercase{
    text-transform:uppercase
}

.control-error{
    color: #a94442;
}

.btn-praxio {
    color: var(--btn-color);
    background-color: var(--btn-background-color);
    border-color: var(--btn-border-color);
}

.btn-praxio:focus, .btn-praxio.focus {
    color: var(--btn-hover-color) !important;
    background-color: var(--btn-hover-background-color);
    border-color: var(--btn-hover-border-color);
}

.btn-praxio:hover {
    color: var(--btn-hover-color) !important;
    background-color: var(--btn-hover-background-color);
    border-color: var(--btn-hover-border-color);
}

.btn-pesquisa {
    margin-top: 25px;
}

.job-form-box {
    margin-bottom: 25px;
}

.btn-new-dia {
    padding: 2px;
}

.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
    background-color: var(--paginacao-background-active);
    border-color: var(--paginacao-border-active);
    color: var(--paginacao-color-active);
}

.pagination > li > a, .pagination > li > span {
    color: var(--paginacao-color);
    background-color: var(--paginacao-background);
    border: 1px solid var(--paginacao-border);
}

.pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus {
    color: var(--paginacao-color-disabled);
    background-color: var(--paginacao-background);
    border-color: var(--paginacao-border);
}

.pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus {
    background-color: var(--paginacao-hover-background);
}

.title-ida-volta {
    margin-top: 0;
    margin-bottom: 0;
}

.pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus {
    border-color: var(--paginacao-border-active);
    color: var(--paginacao-color);
}

.loading-passageiro {
    left: 50%;
    position: relative;
    color: #ccc;
}

.valores-passageiro {
    position: relative;
    top: -16px;
    z-index: -1;
    width: 100%;
    left: 0;
}

.valores-passageiro .panel-body {
    padding-bottom: 0;
    padding-top: 0;
}

.valores-passageiro-volta .panel-body {
    padding-bottom: 0;
    padding-top: 0;
}

.scheduler-border {
    font-size: 0.8em !important;
    text-align: left !important;
    width: 97%;
    padding: 0 10px;
    border-bottom: none;
    color: #7F808D;
    position: relative;
    top: -9px;
    background-color: #fff;
    left: 11px;
    margin: 0;
}

.scheduler-border.none {
    color: #fff;
}

.scheduler-border.volta {
    font-size: 21px !important;
    top: -16px;
}

.stats {
    overflow: auto;
    padding: 8px 0;
    font-size: 16px;
    color: #59687f;
    font-weight: 600;
    border-radius: 0 0 5px 5px;
    display: flex;
    flex-wrap: wrap;
}

.stats div {
    border-right: 1px solid #ebeff2;
    text-align: center;
}

.detalhe-valor {
    border: none !important;
}

.padding-voucher {
    padding-bottom: 5px;
    padding-top: 5px;
}

.border-voucher {
    border-right: 1px solid #ebeff2;
}

.passageiro-voucher {
    font-size: 16px;
    border-bottom: 1px solid #ebeff2;
}

.text-info {
    font-size: 70%;
}

#qtd-passageiros {
    font-weight: bold;
}

.busca-cupom {
    height: 20px;
    margin-left: 5px;
}

.right-inner-addon .fa-circle-o-notch {
    position: absolute;
    right: 0;
    padding: 3px 0;
    pointer-events: none;
}

.padding-left {
    padding-left: 0;
}

.padding-right {
    padding-right: 0;
}

.padding-all {
    padding-left: 0;
    padding-right: 0;
}

.con-cupom {
    padding: 4px 0 0 0;
    cursor: pointer;
}

.btn-forma-pgto a {
    color: #555;
}

.height-pix {
    height: 320px;
}

.carregando-pix {
    --fa-animation-duration: 2s;
    top: 35%;
    position: relative;
    left: 40%;
    color: #ddd;
}

.col-pix {
    padding: 0;
}

#time{
    text-align: center;
    font-weight: bold;
    font-size: 20px;
}

#timeMc{
    text-align: center;
    font-weight: bold;
    font-size: 20px;
}

.itinerario{
    margin-left: 10px;
    margin-right: 10px;
}

.modal-title{
    text-align: center;
}

.servico {
    width: 100%;
    color: var(--viagem-texto-destaque);
    font-weight: 600;
    text-align: center;
}

.valorpromocao {
    width: 100%;
    color: var(--viagem-texto-destaque);
    font-weight: 600;
    text-align: center;
}

.dados-viagem {
    max-width: 100%;
    display: flex;
    width: 100%;
    padding-right: 5px;
}

.hora-inicio, .hora-fim {
    flex: 0 0 auto;
    max-width: 81px;
    width: 100%;
}

.dados-origem, .dados-destino {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hora {
    color: var(--viagem-texto-destaque);
    font-weight: 600;
    font-size: x-large;
}

.desc-origem, .desc-destino {
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

.tempo-viagem {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.duracao-viagem {
    align-self: center;
}

.one.primary-color {
    position: absolute;
    margin-top: 29px;
    z-index: 1;
    height: 15px;
    width: 15px;
    border-radius: 25px;
    left: 54%;
    background-color: var(--destaque);
}

.funkyradio input[type="radio"]:empty ~ label::before, .funkyradio input[type="checkbox"]:empty ~ label::before {
    background: var(--viagem-lateral-background);
}

.funkyradio input[type="radio"]:hover:not(:checked) ~ label::before, .funkyradio input[type="checkbox"]:hover:not(:checked) ~ label::before {
    color: var(--viagem-lateral-checked);
}

.funkyradio-primary input[type="radio"]:checked ~ label::before, .funkyradio-primary input[type="checkbox"]:checked ~ label::before {
    color: var(--viagem-lateral-color);
    background-color: var(--viagem-lateral-selecao);
}

.tempo-viagem > .text-muted, .dados-origem > .text-muted, .dados-destino > .text-muted {
    color: var(--viagem-texto-muted);
}

.progress-duracao {
    height: 4px; margin: 0 5px;
}

.qtd-assentos {
    align-self: center;
}

.valor-viagem {
    width: 100%;
    color: var(--viagem-texto-valor);
    font-weight: 600;
    font-size: x-large;
    text-align: center;
}

.corta-texto {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fileinput {
    margin-bottom: 9px;
    display: inline-block;
    max-width: 100vw;
}

.fileinput .img-thumbnail {
    overflow: hidden;
    display: inline-block;
    margin-bottom: 5px;
    vertical-align: middle;
    text-align: center;
    width: 300px;
    height: 100px;
    line-height: 100px;
}

.img-thumbnail {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    max-width: 100%;
    height: auto;
}

.fileinput .img-thumbnail > img {
    max-height: 100%;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    display: block;
}

.btn-file {
    overflow: hidden;
    position: relative;
    vertical-align: middle;
}

.btn-file > input {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    font-size: 23px;
    height: 100%;
    width: 100%;
    direction: ltr;
    cursor: pointer;
}

.fileinput-exists .fileinput-new, .fileinput-new .fileinput-exists {
    display: none;
}

.panel-heading-nav {
    border-bottom: 0;
    padding: 10px 0 0;
}

.panel-heading-nav .nav {
    padding-left: 10px;
    padding-right: 10px;
}

.material-switch > input[type="checkbox"] {
    display: none;
}

.material-switch > label {
    cursor: pointer;
    height: 0;
    position: relative;
    width: 40px;
}

.material-switch > label::before {
    background: rgb(0, 0, 0);
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
    border-radius: 8px;
    content: '';
    height: 16px;
    margin-top: -8px;
    position: absolute;
    opacity: 0.3;
    transition: all 0.4s ease-in-out;
    width: 40px;
    left: 2px;
}

.material-switch > label::after {
    background: rgb(255, 255, 255);
    border-radius: 16px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    content: '';
    height: 24px;
    left: -4px;
    margin-top: -8px;
    position: absolute;
    top: -4px;
    transition: all 0.3s ease-in-out;
    width: 24px;
}

.material-switch > input[type="checkbox"]:checked + label::before {
    background: inherit;
    opacity: 0.5;
}

.material-switch > input[type="checkbox"]:checked + label::after {
    background: inherit;
    left: 20px;
}

.popover-information {
    color: #b3b3b3;
}

.input-config {
    margin-top: -5px;
}

#tab-config {
    margin-top: 25px;
    margin-bottom: 10px;
}

.msg-pix {
    margin-top: 10px;
    padding: 0;
}

@media (min-width: 768px) {
    .viagem {
        display: flex;
    }

    .servico {
        width: auto;
        max-width: 130px;
        align-self: center;
        margin-right: 10px;
        padding-right: 5px;
        font-weight: 600;
        font-size: large;
    }

    .valorpromocao {
        width: auto;
        max-width: 150px;
        align-self: center;
        font-weight: 600;
        font-size: large;
    }

    .dados-viagem {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
        display: flex;
        padding-left: 5px;
    }

    .hora-inicio, .hora-fim {
        flex: 0 0 auto;
        max-width: 100%;
        width: 112px;
        height: 74px;
    }

    .hora {
        font-weight: 600;
        font-size: xx-large;
        position: absolute;
        top: 10px;
    }

    .desc-origem, .desc-destino {
        position: absolute;
        top: 28px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 112px;
    }

    .tempo-viagem {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    .one.primary-color {
        position: absolute;
        margin-top: 29px;
        z-index: 1;
        height: 15px;
        width: 15px;
        border-radius: 25px;
        left: calc(50% + 35px);
    }

    .dados-origem, .dados-destino {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 112px;
        height: 74px;
    }

    .valor-viagem {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
        align-self: center;
        margin-left: 10px;
        margin-right: 5px;
        padding-left: 5px;
        font-weight: 600;
        font-size: xx-large;
    }

    .one.primary-color.ida-volta {
        left: 56%;
    }

    .servico.ida-volta {
        font-size: medium;
        max-width: 115px;
    }

    .valorpromocao.ida-volta {
        font-size: medium;
        max-width: 115px;
    }

    .dados-origem.ida-volta, .dados-destino.ida-volta {
        width: auto;
        height: auto;
    }

    .hora.ida-volta {
        font-size: x-large;
        top: 12px;
    }

    .hora-inicio.ida-volta, .hora-fim.ida-volta {
        flex: 0 0 auto;
        width: 70px;
    }

    .desc-origem.ida-volta, .desc-destino.ida-volta {
        top: 27px;
        max-width: 75px;
    }

    .valor-viagem.ida-volta {
        font-size: x-large;
    }

    .treeview, .treeview ul {
        padding: 0;
        list-style: none;
        text-align: left;
        margin-left: 7px !important;
    }

    .treeview ul {
        margin-left: 1em;
        position: relative
    }

    .treeview ul ul {
        margin-left: .5em
    }

    .treeview ul:before {
        content: "";
        display: block;
        width: 0;
        position: absolute;
        top: 0;
        left: 0;
        border-left: 1px solid;

        /* creates a more theme-ready standard for the bootstrap themes */
        bottom: 15px;
    }

    .treeview li {
        margin: 0;
        padding: 0 1em;
        line-height: 2em;
        position: relative
    }

    .treeview li.destino {
        font-weight: 700;
    }

    .treeview ul li:before {
        content: "";
        display: block;
        width: 10px;
        height: 0;
        border-top: 1px solid;
        margin-top: -1px;
        position: absolute;
        top: 1em;
        left: 0
    }

    .tree-indicator {
        margin-right: 5px;
        cursor: pointer;
    }

    .treeview li a {
        text-decoration: none;
        color: inherit;
        cursor: default;
    }
}

.info-conexao {
    border: 1px solid #ddd;
    border-top: none;
    margin-left: 0px;
    margin-right: 0px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.dados-empresa {
    font-weight: 400;
    margin: 0;
    padding: 0;
    line-height: 20px;
}

.text-bold {
    font-weight: bold;
}

.display-grid {
    display: grid;
}

.divInverte{
    padding-top: 25px;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
    width: auto;
}

.btn-praxio-clean {
    color: var(--destaque);
    background-color: transparent;
}

.btn-praxio-clean:focus, .btn-praxio-clean.focus {
    color: var(--destaque);
}

.btn-praxio-clean:hover {
    color: var(--destaque);
}

.divBtnBusca {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.divRow {
    display: flex;
}

.poltrona-reserva-deficiente {
    color: #56BBBC;
}

.poltrona-reserva-policia-Militar100{
    color: #000066;
}

.poltrona-reserva-estudante100 {
    color: #00ff00;
}

.poltrona-reserva-jovem100 {
    color: #9a5160;
}

.poltrona-reserva-idoso100 {
    color: #a76d12;
}

.poltrona-reserva-idoso50 {
    color: #f96f54;
}

.poltrona-reserva-jovem50 {
    color: #262f86;
}

.poltrona-reserva-estudante50 {
    color: #5a032a
}

.poltrona-reserva-deficiente50{
    color:#A6005B;
}

.strongLeg{
    font-size: 12px;
}

.blockUI.blockMsg {
    z-index: 99999 !important;
}
.blockUI.blockOverlay {
    z-index: 99998 !important;
}
.table-gratuidades {
    margin: 0;
}

.title-table-gratuidades {
    background-color: #f7f7f7;
}

.popover-gratuidades {
    cursor: pointer;
}

.popover-content:has(.table-gratuidades):not(:has(.popover-content .table-gratuidades)) {
    padding: 0;
}

.modal-body {
    max-height: calc(100vh - 150px);
    overflow-y: auto;
}