/* #region Auxiliar */
@keyframes shimmer {
  0% { background-position: -600px 0; }
  100% { background-position: 600px 0; }
}

ul {
    padding: revert;
    list-style-type: revert;
}

.skel .skelatable {
  background: linear-gradient(90deg,
    rgba(255,255,255,0.08) 25%,
    rgba(255,255,255,0.18) 50%,
    rgba(255,255,255,0.08) 75%
  );
  background-size: 600px 100%;
  animation: shimmer 1.6s infinite linear;
  border-radius: 8px;
  color:  transparent;
}

.skel .skelatable * {
  visibility: hidden;
}

.icon.large {
    font-size: 24px;
}

.flex-center {
    display: flex;
    align-items: center;
}

.text-bold {
    font-weight: bold;
}

.scrollable {
    overflow-y: scroll;
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox, Safari 18.2+, Chromium 121+ */
    max-height: 600px;
}

.align-items-center {
    align-items: center;
}

.align-items-stretch {
    align-items: stretch;
}

.align-items-end {
    align-items: end;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-flex-end {
    justify-content: flex-end;
}

.justify-content-flex-start {
    justify-content: flex-start;
}

.justify-content-space-between {
    justify-content: space-between;
}

.flex-direction-column {
    flex-direction: column;
}

.flex-direction-row {
    flex-direction: row;
}

.flex-wrap-wrap {
    flex-wrap: wrap;
}

.flex-0 {
    flex: 0;
}

.flex-grow-1 {
    flex-grow: 1;
}

.h-full {
    height: 100%;
}

.w-full {
    width: 100%;
}

@media (min-width: 992px) {
    .scrollable-md {
        position: absolute;
        top: 0;
        right: 0;
        overflow-y: auto;
        -ms-overflow-style: none;  /* Internet Explorer 10+ */
        scrollbar-width: thin;  /* Firefox, Safari 18.2+, Chromium 121+ */
        max-height: 100%;
    }
    
    .d-md-flex {
        display: flex;
    }

    .flex-wrap-md-wrap {
        flex-wrap: wrap;
    }
}

.chip-wrapper {
    display: inline-block;
}

.chip-wrapper .chip {
    padding: 4px 8px;
    background-color: #037BC4;
    color: #fff;
    font-size: 14px;
    line-height: 16px;
    text-transform: uppercase;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.chip-wrapper .chip.chip-extra {
    background-color: #E2F0FA;
    color: #037BC4;
    font-size: 12px;
    line-height: 14px;
    display: block;
}

.chip-wrapper .chip > i.fa-arrow-right {
    transform: rotate(90deg);
}

.chip-wrapper .chip > span:last-of-type {
    padding-right: 30px;
}

.chip-wrapper .chip.no-indicator > span:last-of-type {
    padding-right: 0;
}

@media (min-width: 992px) {
    .chip-wrapper .chip {
        padding: 4px 10px;
        font-size: 20px;
        line-height: 26px;
    }

    .chip-wrapper .chip.chip-extra {
        font-size: 15px;
        line-height: 21px;
    }

    .chip-wrapper .chip > i.fa-arrow-right {
        transform: rotate(0deg);
    }
}

.column {
    margin-top: -15px;
    margin-bottom: -15px;
}

.column > * {
    padding-top: 15px;
    padding-bottom: 15px;
}

/* #endregion */

/* #region Map */
#map {
    aspect-ratio: 1/1;
    border-radius: 0px 50px;
    margin-bottom: 30px;
}

@media (min-width: 992px) {
    #map {
        margin-bottom: 0;
    }
}

#map.loading {
    pointer-events: none;
}

#map.loading::after {
    --spinner-size: 50px;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    margin: calc(-1 * var(--spinner-size) / 2) 0 0 calc(-1 * var(--spinner-size) / 2);
    width: var(--spinner-size);
    height: var(--spinner-size);
    border: 5px solid rgba(0, 0, 0, 0.1);
    border-top-color: #3498db;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
    animation: spin 0.8s linear infinite;
    z-index: 9999;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

#map + #map-modal {
    position: absolute;
    z-index: 1050;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    border-radius: 50px 0px 0px 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}

#map.modal-open::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0.6;
    z-index: 1040;
}

#map.modal-open + #map-modal {
    pointer-events: auto;
}

#map + #map-modal .modal-dialog {
    margin: 0;
    padding: 0;
    width: 80%;
    height: 80%;
    max-width: none;
}

#map + #map-modal .modal-dialog .modal-content {
    border-radius: 50px 0px 0px 50px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

#map + #map-modal .modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    max-height: 100%;
}

#map + #map-modal .modal-header {
    padding: 8px;
    border-bottom: none;
    flex: 0 0 auto;
}

#map + #map-modal .modal-header .close {
    font-size: 13px;
    color: white;
    line-height: 15px;
    font-weight: normal;
    opacity: 1;
}

#map + #map-modal .modal-footer {
    padding: 0;
    border: none;
    flex: 0 0 auto;
}

#map + #map-modal .modal-footer a {
    display: inline-block;
    padding: 8px 10px;
    border: none;
    color: #fff;
    background: #16355A;
    text-transform: uppercase;
}

#map + #map-modal .modal-footer a > span {
    padding-right: 40px;
}

#map-outer-modal .modal-dialog .modal-content {
    border-radius: 50px 0px 0px 50px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

#map-outer-modal .modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    max-height: 100%;
}

#map-outer-modal .modal-header {
    border-bottom: none;
    flex: 0 0 auto;
}

#map-outer-modal .modal-header .close {
    padding: 8px;
    font-size: 13px;
    color: white;
    line-height: 15px;
    font-weight: normal;
    opacity: 1;
    background: #16355A;
    text-transform: uppercase;
}

#map-outer-modal .modal-footer {
    padding: 0;
    border: none;
    flex: 0 0 auto;
}

#map-outer-modal .modal-footer a {
    display: inline-block;
    padding: 8px 10px;
    border: none;
    color: #fff;
    background: #16355A;
    text-transform: uppercase;
}

#map-outer-modal .modal-footer a > span {
    padding-right: 40px;
}
/* #endregion */

/* #region Cabecera */ 
#main-wrapper #main-header,
#main-wrapper #secondary-header,
#main-wrapper #language-header {
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    padding: 0;
    display: block;
    margin-bottom: 30px;
}

#main-wrapper #main-header,
#main-wrapper #secondary-header,
#main-wrapper #title-header {
    padding: 0 15px;   
}

#main-wrapper #title-header {
    text-transform: uppercase;
    color: #007BC4;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 16px;
    font-weight: bold;
}

#main-wrapper #language-header a {
    font-size: 20px;
    border-top: 5px solid transparent;
    color: black;
    line-height: 24px;
    padding-top: 8px;
}

#main-wrapper #language-header a.active,
#main-wrapper #language-header a:hover {
    border-top-color: #037BC4;
    color: #037BC4;
    font-weight: bold;
}

#main-wrapper .header-wrapper {
    --element-spacing: 15px;
    margin-left: calc(-1 * var(--element-spacing));
    margin-right: calc(-1 * var(--element-spacing));
}

#main-wrapper .header-wrapper > * {
    padding-left: var(--element-spacing);
    padding-right: var(--element-spacing);
}

#main-wrapper #language-header .header-wrapper > * {
    /* Necesitamos este numero para que aparezca la barra superior con el elemento seleccionado */
    margin-top: 11px;
}

#main-wrapper .header-wrapper > * {
    padding-left: var(--element-spacing) !important;
    padding-right: var(--element-spacing) !important;
}

#main-header #header-left,
#main-header #header-right {
    width: 100%;
    max-width: 400px;
}

#main-wrapper #secondary-header .secondary-header-text {
    margin-bottom: 0;
    font-size: 14px;
    text-transform: uppercase;
    line-height: 16px;
    font-weight: bold;
    color: white;
    padding: 4px;
    background-color: #037BC4;
}

#main-wrapper #main-header {
    background-color: #002B49;
    position: sticky;
    height: 92px;
}

body.has-right-menu.has-right-menu-hidden #main-wrapper #main-header {
    background-color: #007BC4;
}

#main-wrapper #main-header .header-wrapper {
}

#main-wrapper #main-header #header-right-menu-toggler {
    background: transparent;
    box-shadow: none;
    border: none;
    color: #fff;
    font-size: 24px;
}

#main-wrapper #secondary-header img {
    width: 200px;
    margin-bottom: 8px;
}

#main-wrapper #right-menu {
    --spacing: 36px;
    border-radius: 0;
    padding: var(--spacing);
    position: fixed;
    top: 92px;
    overflow: auto;
}

#main-wrapper #right-menu #right-main-menu ul {
    padding: 0;
    list-style: none;
}

#main-wrapper #right-menu #right-main-menu ul li {
    font-size: 24px;
    line-height: 30px;
    font-weight: bold;
    padding: 8px 0;
}

#main-wrapper #right-menu #right-main-menu ul li.active {
    color: #87B7E3;
}

#main-wrapper #right-menu #right-language-menu {
    margin-left: -16px;
    margin-right: -16px;
}

#main-wrapper #right-menu #right-language-menu a {
    font-size: 14px;
    line-height: 16px;
    margin: 0 16px;
    padding-bottom: 6px;
    font-weight: normal;
    text-decoration: none;
}

#main-wrapper #right-menu #right-language-menu a.active,
#main-wrapper #right-menu #right-language-menu a:focus {
    color: #87B7E3;
    font-weight: bold;
    border-bottom: 2px solid #87B7E3;
}

#main-wrapper #right-menu #right-login-menu .nav.nav-pills {
    border: none;
    padding: none;
}

#right-menu #right-login-menu li > a {
    margin: 0 16px;
    padding-bottom: 6px;
    font-weight: normal;
    text-decoration: none;
    background: transparent;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 20px;
    padding: 0;
    font-weight: bold;
}

#right-menu .menu-section {
    margin-bottom: 2.5rem;
}

#main-wrapper #right-menu #right-login-menu li.active > a {
    color: #87B7E3;
}

@media (min-width: 992px) {
    #main-wrapper .header-wrapper {
        --element-spacing: 24px;
    }

    #main-wrapper #main-header {
       height: auto;
    }

    #main-wrapper #main-header,
    #main-wrapper #secondary-header,
    #main-wrapper #language-header {
        max-width: 1100px;
        margin-bottom: 60px;
    }

    body.has-right-menu.has-right-menu-hidden #main-wrapper #main-header {
        margin-top: 0;
        background-color: transparent;
        position: static;
    }

    #main-header #header-left,
    #main-header #header-right {
        width: 400px;
        max-width: none;
        display: block
    }

    #main-wrapper #secondary-header img {
        width: auto;
        margin-bottom: 0;
    }

    #main-wrapper #secondary-header .secondary-header-text {
        font-size: 24px;
        line-height: 30px;
        margin-right: 16px;
    }

    #main-wrapper #right-menu {
        display: none;
    }
}

@media (min-width: 1200px) {
    #main-wrapper #main-header,
    #main-wrapper #secondary-header,
    #main-wrapper #language-header {
        max-width: 1300px;
    }
}

@media (min-width: 1400px) {
    #main-wrapper #main-header,
    #main-wrapper #secondary-header,
    #main-wrapper #language-header {
        max-width: 1640px;
    }  
    
    #main-wrapper #secondary-header {
        max-width: 1320px;
    }
}

/* #endregion */

/* #region Generico */
body {
    background: #FFFFFF;
}

.section-wrapper {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}

.section-wrapper ~ .section-wrapper{
    margin-top: 30px;
}

@media (min-width: 992px) {
    .section-wrapper ~ .section-wrapper{
        margin-top: 80px;
    }
}

.section-wrapper.no-flex {
    display: block;
}

#main-wrapper .main-container {
    display: block;
    padding-left: 0;
    padding-right: 0;
}

#main-wrapper .main-container #main-content {
    margin-right: 0;    
}

#main-wrapper .main-container #main-menu {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 92px;
    display: none;
}

@media (min-width: 992px) {
    #main-wrapper .main-container #main-menu {
        display: block;
    }
}

#main-wrapper .main-container #main-menu #main-menu-content,
#secondary-header .login-menu-content {
    padding: 0;
    border: none;
    overflow: auto;
    flex-wrap: nowrap;
}

#main-wrapper .main-container #main-menu #main-menu-content li,
#secondary-header .login-menu-content li {
    padding: 0 8px;
    text-align: center;
    flex: 1 1 auto;
}

#main-wrapper .main-container #main-menu #main-menu-content li a {
    padding: 0;
    font-size: 20px;
    line-height: 24px;
    text-transform: uppercase;
    color: #16355A;
    font-weight: normal;
    border-top: 5px solid transparent;
    padding-top: 4px;
    border-radius: 0;
    display: inline-block;
    margin: auto;
}

#secondary-header .login-menu-content li a {
    padding: 0;
    font-size: 16px;
    line-height: 12px;
    text-transform: uppercase;
    color: #037BC4;
    font-weight: normal;
    border-bottom: 5px solid transparent;
    padding-bottom: 12px;
    border-radius: 0;
    font-weight: bold;
    display: flex;
    align-items: end;
    gap: 8px;
}

#main-wrapper .main-container #main-menu #main-menu-content li a:hover,
#secondary-header .login-menu-content li a:hover {
    background-color: transparent;
    color: #002b4a;
}

#main-wrapper .main-container #main-menu #main-menu-content li a:after,
#secondary-header .login-menu-content li a:hover, {
    content: unset;
}

#main-wrapper .main-container #main-menu #main-menu-content li a:hover,
#main-wrapper .main-container #main-menu #main-menu-content li.active a,
#secondary-header .login-menu-content li a:hover,
#secondary-header .login-menu-content li.active a {
    color: #037BC4;
    font-weight: bold;
    border-color: #037BC4;
}

#main-wrapper .main-container #main-content .page .page-content {
    box-shadow: none;
    padding: 0;
}

@media (min-width: 1400px) {
    .container {
        width: 1320px;
    }
}
/* #endregion */

/* #region Tabla resultados */ 
.tabla-resultados table.table {
    table-layout: fixed;
    min-width: 1200px;
}

.tabla-resultados table.table.mobile {
    min-width: 0;
}

.tabla-resultados table.table:not(.mobile) caption {
    --caption-height: 100px;
    background: #16355A;
    border-radius: 0px 45px 0px 50px;
    position: relative;
    color: #fff;
    padding: 0;
    height: var(--caption-height);
    margin-left: calc(var(--caption-height) / 2);
}

.tabla-resultados table.table.solid:not(.mobile) caption {
    margin-bottom: 30px;
}

.tabla-resultados table.table:not(.mobile) caption.inverse-radius {
    border-radius: 45px 0px 50px 0px;
}

.tabla-resultados table.table:not(.mobile) caption.no-image {
    --caption-height: 0;
    height: auto;
}

.tabla-resultados table.table:not(.mobile) caption .main-caption {
    height: 100%;
    align-items: center;
}

.tabla-resultados table.table:not(.mobile) caption .main-image {
    position: absolute;
    top: 0;
    left: calc(var(--caption-height) / 2 * -1);
    border-radius: 100%;
    border: 3px solid #fff;
    background: #037BC4;
    height: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
}

.tabla-resultados table.table:not(.mobile) caption .main-image > img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.tabla-resultados table.table:not(.mobile) caption .main-text {
    margin-left: calc(var(--caption-height) / 2);
    padding: 12px;
}

.tabla-resultados table.table:not(.mobile) caption.no-image .main-text {
    padding: 24px;
}

.tabla-resultados table.table:not(.mobile) caption .main-text .main-label{
    font-size: 20px;
}

.tabla-resultados table.table:not(.mobile) caption .main-text .main-value{
    font-size: 35px;
    line-height: 41px;
    font-weight: bold;
}

.tabla-resultados table.table.mobile caption {
    color: #037BC4;
}

.tabla-resultados table.table.mobile caption .main-text .main-value{
    font-size: 20px;
    line-height: 24px;
    font-weight: bold;
}

.tabla-resultados table.table > thead > tr {
    margin: 0;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
    padding: .8rem 4px;
}

.tabla-resultados table.table > thead > tr > th {
    border-top: none !important;
    border-bottom: none;
}

.tabla-resultados table.table > thead > tr > th.mobile-column,
.tabla-resultados table.table > tbody > tr > td.mobile-column {
    width: 24px;
    padding: 4px;
}

.tabla-resultados table.table > thead > tr > th:first-of-type {
    padding-left: 0;
}

.tabla-resultados table.table > thead > tr > th:last-of-type {
    padding-right: 0;
}

.tabla-resultados table.table > thead > tr > th > a,
.tabla-resultados table.table > thead > tr > th > span {
    display: block;
    font-size: 11px;
    color: #fff;
    background: #037BC4;
    text-align: center;
    padding: 8px 0;
    border-radius: 10px;
}

.tabla-resultados table.table.solid > thead > tr > th > a,
.tabla-resultados table.table.solid > thead > tr > th > span {
    background: #FFFFFF33;
}

.tabla-resultados table.table.solid.mobile > thead > tr > th > a,
.tabla-resultados table.table.solid.mobile > thead > tr > th > span {
    background: #037BC4;
}

@media(min-width: 992px) {
    .tabla-resultados table.table > thead > tr > th > a,
    .tabla-resultados table.table > thead > tr > th > span {
        font-size: 13px;
    }

    .tabla-resultados table.table.solid.mobile > thead > tr > th > a,
    .tabla-resultados table.table.solid.mobile > thead > tr > th > span {
        background: #FFFFFF33;
    }

    .table > tbody > tr > td,
    .table > tbody > tr > th,
    .table > tfoot > tr > td,
    .table > tfoot > tr > th,
    .table > thead > tr > td,
    .table > thead > tr > th {
        padding: .8rem 8px;
    }
}

.tabla-resultados table.table > thead > tr > th > a > .icons-wrapper {
    display: inline-flex;
    padding-left: 4px;
    flex-direction: column;
    align-items: center;
}

.tabla-resultados table.table > tbody > tr > td {
    color: #16355A;
    font-size: 15px;
    border: none;
    font-weight: bold;
}

.tabla-resultados table.table.solid > tbody > tr > td:first-of-type {
    padding-left: 0;
}

.tabla-resultados table.table.solid > tbody > tr > td:last-of-type {
    padding-right: 0;
}

.tabla-resultados table.table.solid > tbody > tr > td {
    color: #fff;
}

.tabla-resultados table.table.solid.mobile > tbody > tr > td {
    color: #002B49;
}

.tabla-resultados table.table > tbody > tr:not(:first-of-type) > td {
    border-top: 0.5px solid #16355a4d;
}

.tabla-resultados table.table.solid > tbody > tr:not(:first-of-type) > td {
    border-color: white;
}

.tabla-resultados table.table.solid.mobile > tbody > tr:not(:first-of-type) > td {
    border-color: #E2F0FA;
}

.tabla-resultados table.table.no-border > tbody > tr:not(:first-of-type) > td {
    border-top: none;
}

.tabla-resultados table.table > tfoot > tr > td {
    border: none;
    background: #16355A;
    color: #fff;
}

.tabla-resultados table.table > tfoot > tr > td:first-of-type {
    border-radius: 0 0 0 45px;
}

.tabla-resultados table.table > tbody > tr.expand-row table.sub-table {
    table-layout: fixed;
    width: 100%;
}

.tabla-resultados table.table > tbody > tr.expand-row table.sub-table tr > td:first-of-type {
    font-size: 12px;
}

.tabla-resultados table.table > tbody > tr.expand-row table.sub-table tr > td:last-of-type {
    font-size: 14px;
    font-weight: bold;
}

@media(min-width: 992px) {
    .tabla-resultados table.table.mobile caption {
        --caption-height: 100px;
        background: #16355A;
        border-radius: 0px 45px 0px 50px;
        position: relative;
        color: #fff;
        padding: 0;
        height: var(--caption-height);
        margin-left: calc(var(--caption-height) / 2);
    }

    .tabla-resultados table.table.solid.mobile caption {
        margin-bottom: 30px;
    }

    .tabla-resultados table.table.mobile caption.inverse-radius {
        border-radius: 45px 0px 50px 0px;
    }

    .tabla-resultados table.table.mobile caption.no-image {
        --caption-height: 0;
        height: auto;
    }

    .tabla-resultados table.table.mobile caption .main-caption {
        height: 100%;
        align-items: center;
    }

    .tabla-resultados table.table.mobile caption .main-image {
        position: absolute;
        top: 0;
        left: calc(var(--caption-height) / 2 * -1);
        border-radius: 100%;
        border: 3px solid #fff;
        background: #037BC4;
        height: 100%;
        aspect-ratio: 1/1;
        overflow: hidden;
    }

    .tabla-resultados table.table.mobile caption .main-image > img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .tabla-resultados table.table.mobile caption .main-text {
        margin-left: calc(var(--caption-height) / 2);
        padding: 12px;
    }

    .tabla-resultados table.table.mobile caption.no-image .main-text {
        padding: 24px;
    }

    .tabla-resultados table.table.mobile caption .main-text .main-label{
        font-size: 20px;
    }

    .tabla-resultados table.table.mobile caption .main-text .main-value{
        font-size: 35px;
        line-height: 41px;
    }
    
    .tabla-resultados table.table.solid.mobile > tbody > tr > td {
        color: #fff;
    }

    .tabla-resultados table.table.solid.mobile > tbody > tr:not(:first-of-type) > td {
        border-color: white;
    }
}

.tabla-resultados .pagination-wrapper {
    font-size: 10px;
    line-height: 12px;
}

.tabla-resultados .pagination-wrapper p {
    margin-bottom: 0;
}

/* .tabla-resultados .pagination-wrapper .pagination > li > a,
.tabla-resultados .pagination-wrapper .pagination > li > span {
    margin: 0 4px;
    height: 24px;
    min-width: 24px;
    font-size: 12px;
} */

.tabla-resultados .pagination-wrapper #tamanho-pagina {
    border: none;
    color: #007BC4;
    font-weight: bold;
}

@media(min-width: 992px) {
    .tabla-resultados .pagination-wrapper {
        font-size: 12px;
        line-height: 15px;
    }

    /* .tabla-resultados .pagination-wrapper .pagination > li > a,
    .tabla-resultados .pagination-wrapper .pagination > li > span {
        height: 28px;
        min-width: 28px;
        font-size: 14px;
    } */
}


/* #endregion */

/* #region Filtros */
#dropdown-search-section .dropdown-wrapper.open {
    position: relative;
}

#dropdown-search-section .dropdown-wrapper .dropdown {
    padding: 15px;
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow;
    -webkit-transition-duration: .35s;
    transition-duration: .35s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    width: 100%;
    border-radius: 20px;
}

#dropdown-search-section .dropdown-wrapper.open .dropdown {
    position: absolute;
    background: white;
    box-shadow: 0px 3px 6px #037BC43C;
    z-index: 9999;
}

#quick-filter-search-section .filter-element-wrapper.open {
    position: relative;
}

#quick-filter-search-section .filter-element-wrapper .filter-element {
    padding: 15px;
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow;
    -webkit-transition-duration: .35s;
    transition-duration: .35s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    border-radius: 20px;
    width: 100%;
}

#quick-filter-search-section .filter-element-wrapper.open .filter-element {
    position: absolute;
    background: white;
    box-shadow: 0px 3px 6px #037BC43C;
    z-index: 9999;
}

#quick-filter-search-section .filter-element-wrapper .filter-element .form-group {
    margin-bottom: 0;
}

#quick-filter-search-section .form-group > label {
    position: static;
    font-size: 20px;
    font-weight: bold;
    color: #037BC4;
    padding: 0;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

#quick-filter-search-section .form-group > label > em {
    font-size: 14px;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: .35s;
    transition-duration: .35s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
}

#quick-filter-search-section .form-group .form-control,
#quick-filter-search-section .form-group .collapse-wrapper label {
    padding: 8px;
    font-size: 14px;
    line-height: 18px;
    color: #037BC4;
    background: #F3FCFF;
    border-radius: 8px;
    border: 1px solid #037BC4;
}

#quick-filter-search-section .form-group .form-control::placeholder {
    color: #037BC4;
}

#quick-filter-search-section .form-group .chosentree-search.form-control {
    padding-left: 40px;
}

#quick-filter-search-section .form-group .form-control-feedback {
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%);
    width: auto;
    height: auto;
    color: #037BC4;
    display: inline-block;
    right: 12px;
}

#quick-filter-search-section .form-group .filter.enum .collapse-wrapper {
    --gap: 14px;
    display: flex;
    gap: var(--gap);
    flex-wrap: wrap;
}

#quick-filter-search-section .form-group .filter.enum .collapse-wrapper input:checked + label {
    background: #037BC4;
    color: #F3FCFF;
}

#quick-filter-search-section .form-group .filter.enum .collapse-wrapper input + label {
    flex: 0 0 auto;
    width: calc(50% - var(--gap) / 2);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#quick-filter-search-section .form-group .collapse-wrapper label > input {
    display: none;
}
/* #endregion */

/* #region Filtros Tree Select */
.chosentree .treewrapper {
    position: relative;
    border: none;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.chosentree .treeselect > .treenode > ul {
    overflow: visible;
    max-height: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.chosentree .treeselect > .treenode > ul > .treenode {
    padding: 8px 15px;
}

.chosentree .treeselect > .treenode > ul > .treenode.odd,
.chosentree .treeselect > .treenode > ul > .treenode.even {
    width: 50%;
}

.chosentree .treeselect > .treenode > ul .treenode input,
.chosentree .treeselect > .treenode > ul .treenode .treeselect-expand {
    display: none;
}

.chosentree .treeselect > .treenode > ul > .treenode > .treeselect-title {
    position: relative;
    margin: 0px !important;
    padding: 8px;
    padding-right: 30px;
    padding-left: 30px;
    border-radius: 8px;
    border: 1px solid  #037bc4;
    background-color: #f3fcff;
    font-size: 15px;
    line-height: 18px;
    font-weight: bold;
    width: 100%;
    text-align: center;    
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    color: #037bc4;
}

.chosentree .treeselect > .treenode > ul > .treenode > .treeselect-title::after {
    position: absolute;
    font-family: 'Glyphicons Halflings', serif;
    content: "\e114";
    right: 8px;
}

.chosentree .treeselect > .treenode > ul > .treenode > .treeselect-title.expanded {
    background-color: #037bc4;
    color: #fff;
}

.chosentree .treeselect > .treenode > ul > .treenode > .treeselect-title.expanded::after {
    content: "\e113";
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"] ~ label {
    position: relative;
    margin-left: 10px !important;
    color: #037BC4;
    font-weight: 400;
    font-size: 15px;
    line-height: 21px;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"] ~ .treeselect-title > label {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    margin: 0;
    display: block;
    cursor: pointer;
    font-size: 0;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"] ~ label:before,
.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"] ~ .treeselect-title > label:before {
    content: "";
    position: absolute;
    top: 4px;
    left: -25px;
    width: 15px;
    height: 15px;
    border: 1px solid #037BC4;
    border-radius: 2px;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"] ~ .treeselect-title > label:before {
    top: 0;
    left: 0;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"]:checked ~ label,
.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"]:checked ~ .treeselect-title > label{
    color: #16355A;
    font-weight: bold;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"]:checked ~ label:before,
.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"]:checked ~ .treeselect-title > label:before {
    border-color: #16355A;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"] ~ .treeselect-title.expanded > label:before {
    border-color: white;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"]:checked ~ label:after,
.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"]:checked ~ .treeselect-title > label:after{
    content: "\f00c";
    font-family: "Font Awesome 6 Pro", serif;
    font-size: 12px;
    position: absolute;
    top: 3px;
    left: -23px;
    color: #16355A;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"]:checked ~ .treeselect-title > label:after {
    top: 0px;
    left: 2px;
}

.chosentree .treeselect > .treenode > ul .treenode > input[type="checkbox"] ~ .treeselect-title.expanded > label:after {
    color: white;
}

/* #endregion Filtros Tree Select */

/* #region Filtros Chip */

#filters-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 36px;
}

#filters-chips .filter-chip {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px;
}

#filters-chips .filter-chip .filter-chip-label {
    color: #037BC4;
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
}

#filters-chips .filter-chip .filter-chip-label {
    color: #037BC4;
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
}

#filters-chips .filter-chip .filter-chip-value-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

#filters-chips .filter-chip .filter-chip-value-wrapper .filter-chip-value {
    border-radius: 8px;
    border: 1px solid #037BC4;
    background-color: #F3FCFF;
    color: #037BC4;
    padding: 8px;
    font-size: 14px;
    line-height: 18px;
    position: relative;
}

#filters-chips .filter-chip .filter-chip-value-wrapper .filter-chip-value .fa-circle-xmark {
    --size: 16px;
    position: absolute;
    font-size: var(--size);
    top: calc(-1 * (var(--size) / 2));
    right: calc(-1 * (var(--size) / 2));
    cursor: pointer;
}

/* #endregion Filtros Chip */

/* #region Carousel Cards */

#offers-carousel {
    --caption-height: 100px;
    --item-padding-y: 32px;
    --item-padding-x: 48px;
}

@media(min-width: 768px) {
    #offers-carousel {
        --caption-height: 150px;
        --item-padding-y: 64px;
        --item-padding-x: 48px;
    }
}

#offers-carousel .carousel-inner {
    border-radius: 0px 50px;
}

#offers-carousel .carousel-control {
    background: none;
    text-shadow: none;
    color: white;
    opacity: 1;
    width: calc(var(--item-padding-y));
    height: calc(var(--item-padding-x) * 2 + var(--caption-height));
}

#offers-carousel .carousel-control > i {
    position: absolute;
    lefT: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

#offers-carousel .carousel-inner .item-wrapper {
    background: #037BC4;
    padding: var(--item-padding-x) var(--item-padding-y);
    border-image: fill 1 linear-gradient(#037BC4E6);
    mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
}

#offers-carousel .carousel-inner .item .item-wrapper .caption {
    background: #16355A;
    border-radius: 0px 45px 0px 50px;
    position: relative;
    color: #fff;
    padding: 12px 16px 12px 16px;
    height: var(--caption-height);
    margin-left: calc(var(--caption-height) / 2);
    margin-bottom: 32px;
}

#offers-carousel .carousel-inner .item.skel .item-wrapper .caption.skelatable {
  background: linear-gradient(90deg,
    rgba(255,255,255,0.08) 25%,
    rgba(255,255,255,0.18) 50%,
    rgba(255,255,255,0.08) 75%
  );
  background-size: 600px 100%;
  margin-left: 0;
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-image{
    position: absolute;
    top: 0;
    left: calc(var(--caption-height) / 2 * -1);
    border-radius: 100%;
    border: 3px solid #fff;
    height: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-image > img{
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-basis: 100%;
    margin-right: 24px;
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .especie-text,
#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .lonja-text {
    margin-left: calc(var(--caption-height) / 2);
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .especie-text .especie-label{
    font-size: 20px;
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .especie-text .especie-value{
    font-size: 20px;
    line-height: 24px;
    font-weight: bold;    
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

@media(min-width: 992px) {
    #offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .especie-text .especie-value{
        font-size: 30px;
        line-height: 36px;
    }
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .lonja-text {
    text-transform: uppercase;
    font-size: 18px;
    line-height: 24px;
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .lonja-text .lonja-value {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

@media(min-width: 992px) {
    #offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .lonja-text { 
        font-size: 24px;
        line-height: 32px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

    #offers-carousel .carousel-inner .item .item-wrapper .caption .especie-and-lonja-text-wrapper .lonja-text .lonja-value {
        font-weight: bold;
        display: inline;
    }
}

/* #offers-carousel .carousel-inner .item .item-wrapper .caption .lonja-text-wrapper {
    min-width: 0;
    flex-basis: 100%;
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .lonja-text-wrapper .lonja-text {
    text-align: right;
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .lonja-text-wrapper .lonja-text .lonxa-label {
    font-size: 14px;
}

@media(min-width: 768px) {
    #offers-carousel .carousel-inner .item .item-wrapper .caption .lonja-text-wrapper .lonja-text .lonxa-label {
        font-size: 20px;
    }
}

#offers-carousel .carousel-inner .item .item-wrapper .caption .lonja-text-wrapper .lonja-text .lonxa-value {
    text-transform: uppercase;
    font-size: 20px;
    line-height: 24px;
    font-weight: bold;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media(min-width: 768px) {
    #offers-carousel .carousel-inner .item .item-wrapper .caption .lonja-text-wrapper .lonja-text .lonxa-value {
        font-size: 35px;
        line-height: 48px;
    }
} */

#offers-carousel .carousel-inner .item .item-wrapper .data {
    justify-content: space-between;
    align-items: end;
    padding-top: 24px;
}

#offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper {
    color: #fff;
    flex-direction: column;
}

@media(min-width: 992px) {
    #offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper {
        flex-direction: row;
    }
}

#offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .horario-text {
    padding-top: 24px;
    border-top: 1px solid #fff;
}

@media(min-width: 992px) {
    #offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .horario-text {
        padding-left: 24px;
        padding-top: unset;
        border-left: 1px solid #fff;
        border-top: unset;
    }
}

#offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .cantidad-text {
    padding-bottom: 16px;
}

@media(min-width: 992px) {
    #offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .cantidad-text {
        padding-right: 24px;
        padding-bottom: unset;
    }
}

#offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .horario-text .horario-label,
#offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .cantidad-text .cantidad-label {
    font-size: 12px;
    line-height: 18px;
}

@media(min-width: 992px) {
    #offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .horario-text .horario-label,
    #offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .cantidad-text .cantidad-label {
        font-size: 20px;
        line-height: 32px;
    }
}

#offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .cantidad-text .cantidad-value {
    font-size: 26px;
    line-height: 31px;
    font-weight: bold;
}

#offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .horario-text .horario-value {
    font-size: 18px;
    line-height: 21px;
    font-weight: bold;
}

@media(min-width: 992px) {
    #offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .horario-text .horario-value,
    #offers-carousel .carousel-inner .item .item-wrapper .data .cantidad-and-horario-text-wrapper .cantidad-text .cantidad-value {
        font-size: 24px;
        line-height: 30px;
        font-weight: bold;
    }
}

#offers-carousel .carousel-inner .item.skel .item-wrapper .data .cantidad-and-horario-text-wrapper .horario-text .horario-value span,
#offers-carousel .carousel-inner .item.skel .item-wrapper .data .cantidad-and-horario-text-wrapper .cantidad-text .cantidad-value {
  display: inline-block;
  width: 60%;
}

#offers-carousel .carousel-inner .item .item-wrapper .data .presencial-wrapper {
    width: 120px;
}

#offers-carousel .carousel-inner .item .item-wrapper .data .presencial-wrapper .presencial-button {
    border-radius: 50px 50px 0 50px;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
    padding: 10px;
    color: #fff;
    white-space: nowrap;
    float: right;
}

#offers-carousel .carousel-inner .item .item-wrapper .data .presencial-wrapper .presencial-button.presencial:not(.skelatable) {
    background-color: #16355A;
}

#offers-carousel .carousel-inner .item .item-wrapper .data .presencial-wrapper .presencial-button.no-presencial:not(.skelatable) {
    background-color: #29AF1D;
    position: relative;
}

#offers-carousel .carousel-inner .item .item-wrapper .data .presencial-wrapper .presencial-button.no-presencial:not(.skelatable)::after {
    content: "\f245";
    position: absolute;
    font-family: 'Font Awesome 6 Pro';
    font-size: 32px;
    bottom: -12px;
    right: -12px;
    transform: rotate(-20deg);
    font-weight: 900;
}

#offers-carousel .carousel-inner .item .item-wrapper .data .presencial-wrapper .presencial-button.no-presencial::before {
    text-transform: none;
    content: "Accede aquí";
    position: absolute;
    font-weight: 400;
    font-size: 12px;
    right: 16px;
    bottom: -21px;
    width: max-content;
}

/* #endregion */

#groups-menu-dropdown,
#indexes-menu-dropdown,
#quick-menu-dropdown {
    margin-bottom: 12px;
}

#groups-menu-dropdown > span,
#indexes-menu-dropdown > span,
#quick-menu-dropdown > span {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    color: #037BC4;
}

#groups-menu-dropdown > span > span,
#indexes-menu-dropdown > span > span,
#quick-menu-dropdown > span > span {
    font-size: 20px;
    font-weight: bold;
}

#groups-menu-dropdown > span > em,
#indexes-menu-dropdown > span > em,
#quick-menu-dropdown > span > em {
    font-size: 14px;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: .35s;
    transition-duration: .35s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
}

#groups-menu-dropdown + .input-search > input,
#indexes-menu-dropdown + .input-search > input,
#quick-menu-dropdown + .input-search > input {
    padding: 8px 8px 8px 40px;
    margin: 0;
    font-size: 15px;
    line-height: 18px;
    color: #fff;
    background-color: #037BC4;
    border: 1px solid #037BC4;
    width: 100%;
}

#groups-menu-dropdown + .input-search > input::placeholder,
#indexes-menu-dropdown + .input-search > input::placeholder,
#quick-menu-dropdown + .input-search > input::placeholder {
    color: #fff;
}

#groups-menu-dropdown + .input-search > .dropdown-search-icon,
#indexes-menu-dropdown + .input-search > .dropdown-search-icon,
#quick-menu-dropdown + .input-search > .dropdown-search-icon {
    left: 8px;
    right: unset;
    top: 50%;
    color: #fff;
    padding-bottom: 8px;
}

#columnas-agregated-groups-section,
#columnas-agregated-indexes-section,
#columnas-quick-filter-section {
    --padding: 8px;
    width: calc(100% + var(--padding) * 2) !important;
    margin-right: calc(-1 * var(--padding));
    margin-left: calc(-1 * var(--padding));
    padding: 0;
    box-shadow: none;
    border: none;
}


#columnas-agregated-groups-section.in,
#columnas-agregated-indexes-section.in,
#columnas-quick-filter-section.in,
#columnas-agregated-groups-section.collapsing,
#columnas-agregated-indexes-section.collapsing,
#columnas-quick-filter-section.collapsing {
    max-height: none;
    display: flex;
    flex-wrap: wrap;
}

#columnas-agregated-groups-section > li,
#columnas-agregated-indexes-section > li,
#columnas-quick-filter-section > li {
    width: calc(100% / 3) !important;
    padding: var(--padding);
}

#columnas-agregated-groups-section > li.divider,
#columnas-agregated-indexes-section > li.divider,
#columnas-quick-filter-section > li.divider {
    display: none;
}

#columnas-agregated-groups-section > li > input,
#columnas-agregated-indexes-section > li > input,
#columnas-quick-filter-section > li > input {
    display: none;
}

#columnas-agregated-groups-section > li > label,
#columnas-agregated-indexes-section > li > label,
#columnas-quick-filter-section > li > label {
    width: 100%;
    font-size: 12px;
    color: #037BC4;
    padding: 10px;
    border: 1px solid #037BC4;
    border-radius: 8px;
    background-color: #F3FCFF;
    text-align: center;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#columnas-agregated-groups-section > li > input:checked + label,
#columnas-agregated-indexes-section > li > input:checked + label,
#columnas-quick-filter-section > li > input:checked + label {
    color: #FFF;
    background-color: #037BC4;
    font-weight: bold;
}

#columnas-agregated-groups-section > li > label:before,
#columnas-agregated-groups-section > li > label:after,
#columnas-agregated-indexes-section > li > label:before,
#columnas-agregated-indexes-section > li > label:after,
#columnas-quick-filter-section > li > label:before,
#columnas-quick-filter-section > li > label:after {
    display: none !important;
    content: "";
}

body.has-right-menu:not(.has-right-menu-hidden) .main-container {
    opacity: 1;
}

.fa-btn-print {
    color: white !important;
    background-color: #037BC4;
    font-size: 12px;
    line-height: 14px;
    text-transform: uppercase;
    min-height: auto;
    font-weight: bold;
}