.logo-app{
    height: 100%;
    max-height: 75px;
    max-width: 100%;
    padding: 10px;
}
.dataTables_filter {
    display: flex;
    justify-content: flex-end;
}

.buttons-colvis{
    padding: 0.5rem 1rem!important;
}

.dataTables_wrapper table th .form-filter {
    min-height: 25px !important;
    padding: .1rem 0.3rem;
}

div.dataTables_wrapper div.dataTables_processing{
    margin-left: 0;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.2rem;
    box-shadow: 0 1rem 3rem rgba(0,0,0,.175)!important;
    z-index: 1000;
    padding: 15px;
    background-color: #ffffff;
}

.table:not(.table-bordered) th {
    color: var(--bs-text-gray-600);
}

.table-center th, .table-center tr{
    text-align: center !important;
}

.table-head-primary thead th {
    background-color: var(--color-principal) !important;
    color: var(--color-contraste) !important;
    border-spacing: 0;
    border-collapse: separate;
}

.table-head-primary thead th:first-child {
    border-top-left-radius: 0.75rem;
}

.table-head-primary thead th:last-child {
    border-top-right-radius: 0.75rem;
}


.table-head-primary tbody tr:last-child td:first-child {
    border-bottom-left-radius: 0.75rem;
}

.table-head-primary tbody tr:last-child td:last-child {
    border-bottom-right-radius: 0.75rem;
}

.dt-buttons{
    border: 1px solid var(--bs-gray-200);
    border-radius: 0.35rem;
}

.dt-buttons button:first-child{
    border-top-left-radius: 0.35rem;
    border-bottom-left-radius: 0.35rem;
}

.dt-buttons button:last-child{
    border-top-right-radius: 0.35rem;
    border-bottom-right-radius: 0.35rem;
}

.table-img {
    width: 50px;
    height: 50px;
    object-fit: cover;
}

.table-img:hover {
    opacity: .5;
}

fieldset{
    border: solid #ced4da 1px;
    padding: 15px;
}

.acciones-tabla, .columna-minima-tabla{
    white-space: nowrap;
    width: 1px;
}

.form-check.form-check-solid-bg .form-check-input:not(:checked) {
    background-color: var(--bs-gray-200);
}

.form-check .form-check-input:checked {
    background-color: var(--color-principal);
}

.form-control:not(:focus):not(.is-invalid),
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single,
.form-check-input, .form-select:not(.is-invalid){
    border: 1px solid var(--bs-gray-400)!important;
}

.form-label, .form-label i, .form-check-label, .btn.btn-light, .btn.btn-light i{
    color: var(--bs-gray-700);
}

.check-wrapper{
    display: flex;
    flex-direction: column;
}

.form-control-color {
    height: 34.8px;
    width: 100%;
    padding: 0;
}

.impersonator-wrapper{
    z-index: 1000;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
}

.impersonator-msg{
    background-color: var(--color-principal);
    color: var(--color-contraste);
    margin: 0 auto;
    border-top-right-radius: 0.75rem;
    border-top-left-radius: 0.75rem;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.btn > i {
    display: inline-block;
}

/* INICIO - Sobreescritura de colores del tema */
:root,
[data-bs-theme=light] {
    --bs-primary: var(--color-principal);
    --bs-text-primary: var(--color-principal);
    --bs-component-active-bg: var(--color-principal);
    --bs-component-hover-color: var(--color-principal);
    --bs-component-checked-bg: var(--color-principal);

    --bs-scrolltop-bg-color: var(--color-principal);
    --bs-scrolltop-bg-color-hover: var(--color-principal);
    --bs-scrolltop-icon-color: var(--color-contraste);
    --bs-scrolltop-icon-color-hover: var(--color-contraste);

    --bs-menu-link-color-hover: var(--color-principal);
    --bs-menu-link-color-show: var(--color-principal);
    --bs-menu-link-color-here: var(--color-principal);
    --bs-menu-link-color-active: var(--color-principal);

    --bs-link-color: var(--color-principal);
    --bs-primary-active: var(--color-principalL10);
    /* Fondo de las variantes «light-primary» (btn-light-primary, badge-light-primary, menús...): tono muy claro del
       color principal. Los colores L5/L10 del tema solo lo aclaran un 5-10 % y dejan el texto rojo sobre rojo. */
    --bs-primary-light: color-mix(in srgb, var(--color-principal) 10%, #ffffff);

    --dt-row-selected: 224, 236, 255;

    --bs-app-bg-color: #f5f5f5;
    --bs-app-header-base-bg-color: #f5f5f5;
    --bs-app-sidebar-base-bg-color: #f5f5f5;
    --bs-app-sidebar-minimize-bg-color: #f5f5f5;
    --bs-app-aside-base-bg-color: #f5f5f5;
}

.btn-primary {
    --bs-btn-color: var(--color-contraste);
    --bs-btn-bg: var(--color-principal);
    --bs-btn-border-color: var(--color-principal);
    --bs-btn-hover-color: var(--color-contraste);
    --bs-btn-hover-bg: var(--color-principalL10);
    --bs-btn-hover-border-color: var(--color-principalL5);
    --bs-btn-active-color: var(--color-contraste);
    --bs-btn-active-bg: var(--color-principalL10);
    --bs-btn-active-border-color: var(--color-principalL5);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-contraste);
    --bs-btn-disabled-bg: var(--color-principal);
    --bs-btn-disabled-border-color: var(--color-principal);
}

.btn-outline-primary {
    --bs-btn-color: var(--color-principal);
    --bs-btn-border-color: var(--color-principal);
    --bs-btn-hover-color: var(--color-contraste);
    --bs-btn-hover-bg: var(--color-principal);
    --bs-btn-hover-border-color: var(--color-principal);
    --bs-btn-active-color: var(--color-contraste);
    --bs-btn-active-bg: var(--color-principal);
    --bs-btn-active-border-color: var(--color-principal);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-principal);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--color-principal);
    --bs-gradient: none;
}

.btn-primary, .btn.btn-primary i, .btn.btn-primary .svg-icon,
.btn.btn-active-primary:hover:not(.btn-active) i,
.page-item.active .page-link{
    color: var(--color-contraste)!important;
}

.text-primary, .text-hover-primary:hover, .menu-item.text-primary .subItemMenu,
.header-navs .header-tabs .nav-link.active, .header-navs .header-tabs .nav-link:hover, .header .header-tabs .nav-link.active,
.menu-state-title-primary .menu-item .menu-link.active .menu-title, .menu-state-title-primary .menu-item.show>.menu-link .menu-title,
.menu-state-title-primary .menu-item.hover:not(.here)>.menu-link:not(.disabled):not(.active):not(.here) .menu-title,
.menu-state-title-primary .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here) .menu-title,
.btn-check:active+.btn.btn-active-color-primary, .btn-check:checked+.btn.btn-active-color-primary, .btn.btn-active-color-primary.active,
.btn.btn-active-color-primary.show, .btn.btn-active-color-primary:active:not(.btn-active),
.btn.btn-active-color-primary:focus:not(.btn-active), .btn.btn-active-color-primary:hover:not(.btn-active), .show>.btn.btn-active-color-primary,
.menu-state-primary .menu-item.hover:not(.here)>.menu-link:not(.disabled):not(.active):not(.here),
.menu-state-primary .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here),
.btn-check:active+.btn.btn-active-color-primary .svg-icon, .btn-check:active+.btn.btn-active-color-primary i,
.btn-check:checked+.btn.btn-active-color-primary .svg-icon, .btn-check:checked+.btn.btn-active-color-primary i,
.btn.btn-active-color-primary.active .svg-icon, .btn.btn-active-color-primary.active i,
.btn.btn-active-color-primary.show .svg-icon, .btn.btn-active-color-primary.show i,
.btn.btn-active-color-primary:active:not(.btn-active) .svg-icon, .btn.btn-active-color-primary:active:not(.btn-active) i,
.btn.btn-active-color-primary:focus:not(.btn-active) .svg-icon, .btn.btn-active-color-primary:focus:not(.btn-active) i,
.btn.btn-active-color-primary:hover:not(.btn-active) .svg-icon, .btn.btn-active-color-primary:hover:not(.btn-active) i,
.show>.btn.btn-active-color-primary .svg-icon, .show>.btn.btn-active-color-primary i{
    color: var(--color-principal) !important;
}

.nav {
    --bs-nav-link-hover-color: #EEA729;
}

.nav-pills {
    --bs-nav-pills-link-active-color: var(--color-contraste);
    --bs-nav-pills-link-active-bg: var(--color-principal);
}

.alert-primary {
    --bs-alert-color: var(--bs-primary-text-emphasis);
    --bs-alert-bg: var(--bs-primary-bg-subtle);
    --bs-alert-border-color: var(--bs-primary-border-subtle);
    --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.form-check-input:checked {
    background-color: var(--color-principal);
    border-color: var(--color-principal);
}

.menu-state-color .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active):not(.here),
.menu-state-color .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here) {
    transition: color 0.2s ease;
    color: var(--bs-menu-link-color-hover);
}

table.table.dataTable > tbody > tr, table.table.dataTable > tbody > tr.selected > *{
    color: var(--bs-gray-700);
}
/* FIN - Sobreescritura de colores del tema */

table.dataTable>thead .sorting, table.dataTable>thead .sorting_asc, table.dataTable>thead .sorting_asc_disabled, table.dataTable>thead .sorting_desc, table.dataTable>thead .sorting_desc_disabled {
    cursor: pointer;
    position: relative;
}

.dataTables_wrapper .dataTable th:not(.noSearchable) {
    vertical-align: bottom!important;
}


table.dataTable>thead .sorting_asc:not(.sorting_disabled)>.dt-titulo:after, table.dataTable>thead .sorting_desc:not(.sorting_disabled)>.dt-titulo:after{
    opacity: 1 !important;
    display: inline-block !important;
    width: 0.65rem;
    height: 0.65rem;
    content: " " !important;
    margin-left: 0.5rem;
}

table.dataTable > thead .sorting_asc>.dt-titulo:after {
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: var(--color-contraste);
    -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6' fill='var%28--bs-text-muted%29'%3e%3cpath d='M3.23571 2.72011L4.97917 4.46358C5.15176 4.63618 5.43158 4.63617 5.60417 4.46358C5.77676 4.29099 5.77676 4.01118 5.60417 3.83861L3.29463 1.52904C3.13192 1.36629 2.86809 1.36629 2.70538 1.52904L0.395812 3.83861C0.22325 4.01117 0.22325 4.29099 0.395812 4.46358C0.568437 4.63617 0.84825 4.63617 1.02081 4.46358L2.76429 2.72011C2.89446 2.58994 3.10554 2.58994 3.23571 2.72011Z'/%3e%3c/svg%3e");
    mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6' fill='var%28--bs-text-muted%29'%3e%3cpath d='M3.23571 2.72011L4.97917 4.46358C5.15176 4.63618 5.43158 4.63617 5.60417 4.46358C5.77676 4.29099 5.77676 4.01118 5.60417 3.83861L3.29463 1.52904C3.13192 1.36629 2.86809 1.36629 2.70538 1.52904L0.395812 3.83861C0.22325 4.01117 0.22325 4.29099 0.395812 4.46358C0.568437 4.63617 0.84825 4.63617 1.02081 4.46358L2.76429 2.72011C2.89446 2.58994 3.10554 2.58994 3.23571 2.72011Z'/%3e%3c/svg%3e");
}

table.dataTable > thead .sorting_desc>.dt-titulo:after {
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: var(--color-contraste);
    -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6' fill='var%28--bs-text-muted%29'%3e%3cpath d='M2.76429 3.27989L1.02083 1.53642C0.848244 1.36382 0.568419 1.36383 0.395831 1.53642C0.223244 1.70901 0.223244 1.98882 0.395831 2.16139L2.70537 4.47096C2.86808 4.63371 3.13191 4.63371 3.29462 4.47096L5.60419 2.16139C5.77675 1.98883 5.77675 1.70901 5.60419 1.53642C5.43156 1.36383 5.15175 1.36383 4.97919 1.53642L3.23571 3.27989C3.10554 3.41006 2.89446 3.41006 2.76429 3.27989Z'/%3e%3c/svg%3e");
    mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6' fill='var%28--bs-text-muted%29'%3e%3cpath d='M2.76429 3.27989L1.02083 1.53642C0.848244 1.36382 0.568419 1.36383 0.395831 1.53642C0.223244 1.70901 0.223244 1.98882 0.395831 2.16139L2.70537 4.47096C2.86808 4.63371 3.13191 4.63371 3.29462 4.47096L5.60419 2.16139C5.77675 1.98883 5.77675 1.70901 5.60419 1.53642C5.43156 1.36383 5.15175 1.36383 4.97919 1.53642L3.23571 3.27989C3.10554 3.41006 2.89446 3.41006 2.76429 3.27989Z'/%3e%3c/svg%3e");
}

.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
    background-position: right 1rem center, center right 4rem !important;
}

.btn.btn-icon.btn-xs, .btn-group-xs > .btn.btn-icon {
    height: calc(1.5em + 0.1rem + 2px) !important;
    width: calc(1.5em + 0.1rem + 2px) !important;
}

.datatables-spinner {
    width: 30px;
    height: 30px;

}
.datatables-spinner circle {
    stroke: var(--color-principal) !important;
}

.dataTables_wrapper .dropdown .btn > i {
    padding-right: 0 !important;
}

.dataTables_wrapper .dropdown button {
    padding: 6px 8px !important;
}

.disabled-link {
    pointer-events:none;
    opacity: .65;
}

.disabled-link, .select2-container--disabled .form-control, .flatpickr-input[disabled]{
    background-color: #eff2f5;
    opacity: 1;
}

.dropdown-menu .dropdown-item {
    cursor: pointer;
}

/* Grid lists */
.grid-cards {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: left;
}

.menu-card {
    width: 230px;
    height: 170px;
    border-width: 2px;
    text-align: center;
}

.menu-card:hover {
    border-color: var(--color-principal);
}

.menu-card:hover * {
    color: #8A151B !important;
}

.menu-card i {
    font-size: 35px!important;
    margin-bottom: 10px;
}

.menu-card img {
    height: 50px;
    width: 50px;
    margin: 0 auto 10px;
    filter: invert(1);
}

.menu-card a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: auto;
    height: 100%;
    text-decoration: none;
}

.menu-card a h4 {
    color: var(--bs-text-gray-600);
}

.menu-card a:hover img {
    filter: invert(80%) !important;
}

.custom-tooltip {
    --bs-tooltip-bg: #191919;
    --bs-tooltip-color: var(--color-contraste);
}

.parpadeo {
    animation-name: parpadeo;
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    -webkit-animation-name:parpadeo;
    -webkit-animation-duration: 2s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
}

@-moz-keyframes parpadeo{
    0% { opacity: 1.0; }
    50% { opacity: 0.5; }
    100% { opacity: 1.0; }
}

@-webkit-keyframes parpadeo {
    0% { opacity: 1.0; }
    50% { opacity: 0.5; }
    100% { opacity: 1.0; }
}

@keyframes parpadeo {
    0% { opacity: 1.0; }
    50% { opacity: 0.5; }
    100% { opacity: 1.0; }
}

.invalid-feedback {
    font-weight: normal !important;
}

.calendario-reservas td, .calendario-reservas th{
    padding: 7px !important;
}

@media (max-width: 992px) {
    .calendario-reservas td, .calendario-reservas th{
        padding: 5px !important;
        white-space: nowrap !important;
        line-height: 20px !important;
    }
}

.letra-dia {
    font-size: 1.2em !important;
}


.calendario-precio {
    padding: 3px;
}

.calendario-marcado {
    background-color: #218839 !important;
}

.bloque-reserva:hover {
    background-color: #218839 !important;
}

.bloque-no-disponible {
    background-color: #abb1c1 !important;
}

.bloque-reserva, .bloque-reservado, .bloque-no-disponible {
    position: relative;
    color: white !important;
    font-weight: 700 !important;
}

.bloque-deshabilitado {
    background-color: #797c86 !important;
}

.boton-pen, .btn-accion-calendario {
    cursor: pointer;
}

.btn-accion-calendario {
    font-size: 1.1em !important;
    position: absolute;
    right: 2px;
    top: 0;
    padding: 0;
    color: white;
}
