form {
    position: relative;
}

.icon-process {
    margin-bottom: 20px;
}

.mensaje-process {
    margin-bottom: 20px;
}

.layer-process {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 10;
    display: none;
    text-align: center;
}

.layer-content {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    flex-wrap: nowrap;
    height: 100%;
}

.dataTables_empty{
    font-size: 14px !important;
    color: #4679cc!important;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label{
    color: inherit;
}
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before{
    border-color: #6e4e9e;
    background-color: #7a59ad;
}
.disabled{
    pointer-events: none;
    opacity: 0.5;
}

/*######################################*/

.header-icon:not(.btn)[data-toggle="dropdown"][aria-expanded="true"]:after{
    left: -4px;
}

table.table-bordered.dataTable tbody th, table.table-bordered.dataTable tbody td{
    vertical-align: middle;
}
table .img_user_perfil_list{
    width: 38px;
    height: 38px;
    background-position: center;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 50%;
}

.dataTables_filter .select2-container .select2-selection--single,
.filter-dt .select2-container .select2-selection--single {
    height: 31px !important;
}
.dataTables_filter .select2-container--default .select2-selection--single .select2-selection__rendered,
.filter-dt .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 29px !important;
}

.form-control {
    height: 30px;
    padding: 0.4rem 0.3rem;
}
.select2-container.select2-container--open{
    z-index: 2099;
}

.was-validated .form-visual > .form-control:valid, .form-visual > .form-control.is-valid,
.was-validated .form-visual > .form-control:invalid, .form-visual > .form-control.is-invalid
{
    background-image: none;
}

@media (min-width: 992px){
    .modal-lg,
    .modal-lg-2 {
        max-width: 1024px;
    }
    .modal-xl{
        max-width: 98%;
    }
    .nav-function-top .page-sidebar .primary-nav .nav-menu > li > ul{
        width: 16rem;
    }
}

@media (min-width: 320px){
    .modal-sm {
        max-width: 350px;
    }
}


.profile-image{
    background-size: cover;
    background-position: center;
    display: inline-block;
    border-radius: 50%;
}

.info-card .profile-image{
    width: 3.125rem;
    height: 3.125rem;
}
.header-icon:not(.btn) .profile-image {
    width: 2rem;
    height: 2rem;
}

.table th, .table td{
    padding: 0.35rem;
}

table.dataTable thead .sorting:before, 
table.dataTable thead .sorting:after, 
table.dataTable thead .sorting_asc:before, 
table.dataTable thead .sorting_asc:after, 
table.dataTable thead .sorting_desc:before, 
table.dataTable thead .sorting_desc:after, 
table.dataTable thead .sorting_asc_disabled:before, 
table.dataTable thead .sorting_asc_disabled:after, 
table.dataTable thead .sorting_desc_disabled:before, 
table.dataTable thead .sorting_desc_disabled:after{
    bottom: 0.3em;
}

.dataTables_filter .select2{
    margin-left: 5px;
}

.form-group .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 30px !important;
}
.form-group .select2-container .select2-selection--single{
    /*height: 32px !important;  -- En Modal agregar no se alinea a los bloques input*/
    height: 30px !important;
}
.hidden{
    display: none;
}
.btn-sm, .btn-group-sm > .btn{
    padding: 0.35rem 0.844rem;
}
.alert {
    padding: 0.5rem 0.7rem;
}

.img_ncl_container{
    width: 60px;
    height: 48px;
    border: 1px solid #797979 !important;
    border-radius: 10%;
    background-repeat: no-repeat;
    background-size: cover;
    display: inline-block;
    background-position: center center;
    vertical-align: middle;
}

.was-validated .form-control:valid,
.form-control.is-valid {
    background-image: none;
    padding-right: 0;
}
.was-validated .form-control:invalid,
.form-control.is-invalid {
    background-image: none;
    padding-right: 0;
}
.usuario_head{
    color: #fff;
}
.header-icon:not(.btn):hover > [class*='fa-']:only-child, 
.header-icon:not(.btn):hover > .ni,
.header-icon:not(.btn) > .ni {
    color: #fff !important;
}

.page-logo img{
    border-radius: 50% !important;
}

.custom-control-label::after {
    background: no-repeat 50% / 0.6rem
}

#js-nav-menu-wrapper-left-btn,
#js-nav-menu-wrapper-right-btn{
    display: none !important;
}

a[target]:not(.btn) {
    font-weight: inherit !important;
}

.badge {
    line-height: 12px;
}

.badge-block{
    width: 100%;
    text-align: center;
}

.select2-drop {
    width: 500px !important;
}

.btn-delete-file{
    display: none;
}

.nav-function-top .page-sidebar .primary-nav .nav-menu > li a {
    font-size: .85rem;
}

.nav-function-top .page-sidebar .primary-nav .nav-menu > li > a {
    padding: .70rem 1.0rem;
}

.nav-function-top .page-sidebar .primary-nav .nav-menu > li > a > .collapse-sign{
    right: 0.2rem;
}

.was-validated select:invalid + .select2 .selection .select2-selection, 
select.is-invalid + .select2  .selection .select2-selection{
    border: 1px solid #fd3995;
}


.was-validated input[type="file"]:invalid + .btn, 
input[type="file"].is-invalid + .btn{
    border: 1px solid #fd3995;
}

.was-validated input[type="file"]:invalid + .input-group-append .btn, 
input[type="file"].is-invalid + .input-group-append .btn{
    border: 1px solid #fd3995;
}

.filter-dt {
    display: flex;
    align-items: flex-end;
    position: relative;
    gap: 4px;
}

.filter-dt>div:last-child {
    margin-left: auto !important;
}


/* Fix Theme */

.app-sidebar .slide-menu.child1 .side-menu__item, .app-sidebar .slide-menu.child2 .side-menu__item {
    padding: 0.45rem 0rem;
}

.app-sidebar .slide-menu.child1 .side-menu__item:before, .app-sidebar .slide-menu.child2 .side-menu__item:before, .app-sidebar .slide-menu.child3 .side-menu__item:before {
    display: none;
}

div.dataTables_wrapper div.dataTables_filter {
    text-align: start !important;
}

.text-right{
    text-align: end !important;
}

.text-left{
    text-align: start !important;
}

#dataTables_filter .select2.select2-container,
.filter-dt .select2.select2-container{
    width: auto !important;
    min-width: 188px;
}

.select2-container .select2-selection--single, .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 1.98rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-inline-end: 34px !important;
}

div.dataTables_wrapper div.dataTables_filter label {
    vertical-align: middle;
}

table.table-bordered.dataTable thead tr:first-child th, table.table-bordered.dataTable thead tr:first-child td {
    font-size: 12px;
}

.pagination{
    --bs-pagination-font-size: 0.8rem;
    --bs-pagination-padding-x: 0.6rem;
    --bs-pagination-padding-y: 0.24rem;
}

.modal-header .modal-title {
    font-size: 16px;
}
.modal-header .modal-title small {
    font-size: 12px;
    font-weight: normal;
    display: block;
    padding-top: 8px;
}
.modal-header .close{
    position: absolute;
    right: 16px;
    cursor: pointer;
}

table.dataTable > thead .sorting:before, table.dataTable > thead .sorting_asc:before, table.dataTable > thead .sorting_asc_disabled:before, table.dataTable > thead .sorting_desc:before, table.dataTable > thead .sorting_desc_disabled:before{
    top: 0.45rem !important;
}

table.dataTable > thead .sorting:after, table.dataTable > thead .sorting_asc:after, table.dataTable > thead .sorting_asc_disabled:after, table.dataTable > thead .sorting_desc:after, table.dataTable > thead .sorting_desc_disabled:after
{
    top: 0.9rem !important;
}

table.dataTable.table-striped>tbody>tr.odd>* {
    box-shadow: inset 0 0 0 9999px rgb(0 0 0 / 1%);
}

table.dataTable.table-hover>tbody>tr:hover>* {
    box-shadow: inset 0 0 0 9999px rgb(0 0 0 / 1%);
}

div.dataTables_wrapper div.dataTables_filter input{
    margin-left: 0;
}

div.page-title {
    display: flex;
}

div.page-title svg{
    width: 30px;
    margin-right: 10px;
}

div.page-title small{
    display: block;
    font-size: 12px;
    font-weight: normal;
    opacity: 0.65;
}

.svg-xs svg{
    width: 12px;
    vertical-align: text-bottom;
}

.svg-md svg{
    width: 14px;
    vertical-align: text-bottom;
}

.svg-lg svg{
    width: 16px;
    vertical-align: text-bottom;
}

.svg-xlg svg{
    width: 20px;
    vertical-align: text-bottom;
}

.svg-inherit svg{
    vertical-align: inherit !important;
}

:root{
    --bs-form-valid-color: rgb(var(--primary-rgb));
    --bs-form-valid-border-color: inherit !important;
    --bs-btn-disabled-opacity: 0.45 !important;
}

.form-check-input.is-valid~.form-check-label, .was-validated .form-check-input:valid~.form-check-label {
    color: inherit !important;
}
.form-check-input.is-valid:focus, .was-validated .form-check-input:valid:focus {
    box-shadow: inherit !important;
}

.input-group-text{
    padding: .0rem .75rem;
}

.input-group-xs > .form-control,
.input-group-xs > .form-select,
.input-group-xs > .input-group-text,
.input-group-xs > .btn {
  font-size: 0.75rem;
}

.fa-2x{
    font-size: 1.5rem;
}
.fa-4x{
    font-size: 3rem;
}

.fs-nano {
  font-size: 0.65rem !important;
}

.btn-select-file{
    cursor: pointer;
}