/* checkbox-rect */
    .checkbox-rect input[type="checkbox"] {
        display: none;
        margin: 1px;
    }
    .checkbox-rect input[type="checkbox"] + label {
        display: block;
        position: relative;
        padding-left: 35px;
        margin-bottom: 20px;
        font: 14px/20px "Open Sans", Arial, sans-serif;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }
    .checkbox-rect input[type="checkbox"]:hover + label:hover {
        color: rgb(23, 86, 228);
    }
    .checkbox-rect input[type="checkbox"]:hover + label:before {
        background: #343a3f7a;
        box-shadow: inset 0px 0px 0px 2px #f7f2f2;
    }
    .checkbox-rect input[type="checkbox"] + label:last-child {
        margin-bottom: 10px;
    }
    .checkbox-rect input[type="checkbox"] + label:before {
        content: "";
        display: block;
        width: 1.4em;
        height: 1.4em;
        border: 1px solid #343a3f;
        border-radius: 0.2em;
        position: absolute;
        left: 0;
        top: 0;
        -webkit-transition: all 0.2s, background 0.2s ease-in-out;
        transition: all 0.2s, background 0.2s ease-in-out;
        background: #f3f3f3;
    }
    .checkbox-rect input[type="checkbox"]:checked + label:before {
        width: 1.3em;
        height: 1.3em;
        border-radius: 2em;
        border: 2px solid #fff;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        background: #50565a;
        box-shadow: 0 0 0 1px #000;
    }
/* checkbox-rect end */

/* CSS button help */

    .dataTables_scrollHead th .fa-question-circle{
        position: absolute !important;
        top: 4px;
        right: 10px;
    }

/* CSS button help */

/* CSS de estilos para mostrar y ocultar */

    .dropdown-menu{
        padding: 5px !important;
        border-radius: 15px !important;
    }

    .dt-button-collection-title {
        border-radius: 0px 0px 15px 15px !important;
    }

    .dropdown-item.active, .dropdown-item:active{
        color: #000 !important;
        background-color: #007bff1f !important;
        border: 2px solid #007bff63 !important;
        border-radius: 12px !important;
        margin-top: 2px;
    }

    .dropdown-item, .dropdown-item{
        color: #000 !important;
        border: 2px solid #007bff63 !important;
        border-radius: 12px !important;
        margin-top: 2px;
    }

    .dropdown-menu a.buttons-columnVisibility:before,
    .dropdown-menu a.buttons-columnVisibility.active span:before {
        display:block;
        position:absolute;
        right:0;
        width:12px;
        height:12px;
        box-sizing:border-box;
    }

    .dropdown-menu a.buttons-columnVisibility:before {
        content:' ';
        margin-top:5px;
        margin-right:15px;
        border:1px solid black;
        border-radius:3px;
    }

    .dropdown-menu a.dt-button.dropdown-item.buttons-columnVisibility.dt-button-active:after{
        content:'\2714' !important;
        display:block !important;
        right:-7px !important;
        margin-top:-15px !important;
        margin-right:15px;
        text-align:center;
        text-shadow:1px 1px #DDD, -1px -1px #DDD, 1px -1px #DDD, -1px 1px #DDD;
    }

    .dropdown-menu a.buttons-columnVisibility.active span:before {
        content:'\2714';
        margin-top:-6px;
        margin-right:15px;
        text-align:center;
        text-shadow:1px 1px #DDD, -1px -1px #DDD, 1px -1px #DDD, -1px 1px #DDD;
    }

    .dropdown-menu a.buttons-columnVisibility span {
        margin-right:20px;    
    }

/* CSS de estilos para mostrar y ocultar */


/* Estilos de de Border de un Card*/

    .card-border-info {
        border: 1px solid #000000 !important;
        margin: 10px;
    }

/* Estilos de de Border de un Card*/

/* ESTILOS DE DATATABLES PARA FILTRO DE COLUMNAS */
    /* FIX CLASS FOR DATATABLES*/
    .col-1, .col-2, .col-3, .col-4, .col-5,
    .col-6, .col-7, .col-8, .col-9, .col-10,
    .col-11, .col-12, .col, .col-auto,
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4,
    .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8,
    .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
    .col-sm, .col-sm-auto,
    .col-md-1, .col-md-2, .col-md-3, .col-md-4,
    .col-md-5, .col-md-6, .col-md-7, .col-md-8,
    .col-md-9, .col-md-10, .col-md-11, .col-md-12,
    .col-md, .col-md-auto,
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4,
    .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8,
    .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
    .col-lg, .col-lg-auto,
    .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4,
    .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8,
    .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12,
    .col-xl, .col-xl-auto {
        padding-right: 7.5px;
        padding-left: 7.5px;
    }

    .container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl{
        padding-right: 7.5px;
        padding-left: 7.5px;
    }

    .row {
        margin-right: -7.5px;
        margin-left: -7.5px;
    }
    /* FIX CLASS FOR DATATABLES*/

    table.dataTable.table > tbody > tr.selected > * {
        box-shadow: none !important;
        background-color:  #729fc7 !important;
        color: #ffffff !important;
    }
    
    table.dataTable thead th {
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    table.dataTable tbody td {
        white-space: normal;
        word-break: break-word;
        min-width: 50px;
    }

    .selector_drop {
        width: 100%;
        padding: 5px !important;
        box-sizing: border-box;
    }

    thead input {
        width: 100%;
        padding: 3px !important;
        box-sizing: border-box;
    }

    thead .filter th {
        padding: 3px !important;
    }

    thead tr.head th {
        text-align: left !important;
    }

/* ESTILOS DE DATATABLES PARA FILTRO DE COLUMNAS */

    .btn-action-table {
        cursor: pointer;
        border: none;
        background: 0;
        padding: 0 0 0 5px;
        font-size: 14px !important;
        line-height: 1.5;
    }

    .btn-action-table .fa-map-marker {
        color: #F34725;
    }

    .btn-action-table .fa-edit {
        color: black;
    }

    label.requerido:after {
        content: " *";
        color: #e73d4a
    }

    .menu-logo {
        max-width: 3.8rem;
        max-height: 2.2rem;
        margin: -.2rem .5rem 0 0;
    }

    .user-menu a span {
        font-size: 1.3rem;
    }

    .nav-link .fa-bars{
        font-size: 1.3rem;
        margin-top: .35rem;
    }
    @media(min-width:860px) {
        .user-menu a span {
            font-size: 1.1rem;
        }
        
        .nav-link .fa-bars{
            font-size: 1.1rem;
            margin-top: .2rem;
        }
    }

/* Estilos para el modal */
    .loader-modal {
        display: none;
        position: fixed;
        z-index: 9999;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
    }

    .loader-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100vh;
    }

    .loader-background {
        background-color: white;
        padding: 1%;
        border-radius: 25px;
    }

    .loader {
        width: 70px;
        height: 70px;
        position: relative;
        margin: auto;
    }

    .loader:before {
        content: "";
        width: 70px;
        height: 70px;
        border-radius: 50%;
        border: 6px solid #007bff;
        position: absolute;
        top: 0;
        left: 0;
        animation: pulse 1s ease-in-out infinite;
    }

    .loader:after {
        content: "";
        width: 70px;
        height: 70px;
        border-radius: 50%;
        border: 6px solid transparent;
        border-top-color: #007bff;
        position: absolute;
        top: 0;
        left: 0;
        animation: spin 2s linear infinite;
    }

    .loader-text {
        font-size: 24px;
        margin-top: 20px;
        color: #007bff;
        font-family: Arial, sans-serif;
        text-align: center;
        text-transform: uppercase;
    }

    @keyframes pulse {
        0% {
            transform: scale(0.6);
            opacity: 1;
        }
        50% {
            transform: scale(1.2);
            opacity: 0;
        }
        100% {
            transform: scale(0.6);
            opacity: 1;
        }
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }
        100% {
            transform: rotate(360deg);
        }
    }
/* Estilos para el modal */

/* MODAL */

    .modal-head {
        display: flex;
        padding: 1rem;
        background-color: #343A40;
        /* border-bottom: 1px solid #e9ecef; */
        border-top-left-radius: calc(.3rem - 1px);
        border-top-right-radius: calc(.3rem - 1px);
    }

    .modal-head > h5 {
        margin: 0 auto;
        color: white;
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .modal-head > button {
        margin: -1rem -1rem -1rem -1rem;
        color: white;
        padding: 1rem !important;
    }

    .modal-bod {
        flex: 1 1 auto;
        padding: 1.8rem 1.5rem 0 1.8rem;
    }

    .modal-foot {
        display: flex;
        justify-content: center;
        padding: 1.4rem 0 1.7rem 0;
    }

    .alert-error {
        margin: 1%;
    }

/* MODAL */

/*DATATABLES LARGE TABLES*/

    th.dt-orderable-none .dtcc-button_order {
        display: none !important;
    }

    .head .dt-column-header {
        flex-direction: row !important;
    }

    td.details-control {
        background: url('../vendor/DataTables/details_open.png') no-repeat center center;
        padding: 1rem !important;
        cursor: pointer;
    }

    tr.details td.details-control {
        background: url('../vendor/DataTables/details_close.png') no-repeat center center;
    }

    .bs-placeholder{
        border: solid 1px black;
    }
/*DATATABLES LARGE TABLES*/

/* Tabs Class custom */
    .tabs {
        padding-bottom: 0.5%;
    }

    .nav-tabs .nav-link {
        color: black;
        border: 1px solid #0144a11a;
    }

    .nav-link.tabs.active {
        background-color: #0144a100 !important;
        border-color: #0144a19e #0144a19e #ffffff38 !important;
        color: black !important;
    }
/* Tabs Class custom */

/* Filter Class */

    .dropdown-custom {
        transform: translate3d(0px, -55px, 0px) !important; /* Elimina cualquier transformación previa */
    }

    .selector_inputs,
    .column_search {
        background: #f8f9fa;
        margin: 0 1% 1% 0;
        border-radius: 5px;
        border-style: solid;
        border-color: #f2f2f2;
        border-width: 2px;
        line-height: 1.65;
    }

    .bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){
        width: -webkit-fill-available;
    }

    .bootstrap-select > button {
        border-color: #f2f2f2;
        border-style: solid;
        border-width: 2px;
    }

/* Filter Class */

/* Modal FullScream */
    .modal-dialog-fullscreen {
        width: 90% !important;
        height: 90% !important;
        margin: auto !important;
        padding: 0 !important;
        max-width: none !important;
    }

    .modal-content-fullscreen {
        height: 100% !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    .modal-body-fullscreen {
        height: calc(100% - 56px) !important; /* Ajusta la altura del cuerpo del modal restando la altura del encabezado */
        padding: 0 !important;
    }

    .iframe-fullscreen {
        width: 100% !important;
        height: 100% !important;
        border: 0 !important;
    }
/* Modal FullScream */

/* SELECT MULTI */
    .select2-selection__choice__remove{
        background: #ffffff00;
        border: #ffffff00;
    }
/* SELECT MULTI */

/* DRILL DOWN CSS */

.custom-link {
    font-weight: bold;
    text-decoration: underline double;
    color: inherit;
    transition: color 0.3s ease;
}

.custom-link:hover {
    color: blue;
    text-decoration: underline double;
    cursor: pointer;
}

/* DRILL DOWN CSS */

.fa-1x-custom{
    font-size: 1.6em;
}

/* CARD FOR DETAILS IN ANIMALS */
.identifications-container {
    display: flex;
    flex-wrap: wrap; /* permite que se acomoden en varias filas */
    gap: 10px; /* separación entre tarjetas */
}

.ident-card {
    width: 150px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    background: #f9f9f9;
    box-shadow: 0px 2px 4px rgba(0,0,0,0.1);
    overflow: hidden; /* por si el texto es muy largo */
}

.ident-card h6 {
    margin: 0;
    font-size: 14px;
    font-weight: bold;
    color: #333;
}

.ident-card p {
    margin: 5px 0 0;
    font-size: 13px;
    color: #555;
}