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;
}

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

.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: calc(1.5em + 1rem + -4px);
}
.dataTables_filter .select2-container--default .select2-selection--single .select2-selection__rendered,
.filter-dt .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: calc(1.5em + 1rem + -4px);
}

.form-control {
    height: calc(1.5em + 1rem + -4px);
    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;
}
#modal-player{
    padding-right: 0 !important;
}
.modal-player{
    padding: 0 !important;
    margin: 0;
}
.modal-player .modal-content{
    height: 100vh;
}


@media (min-width: 992px){
    .modal-lg,
    .modal-lg-2 {
        max-width: 1024px;
    }
    .modal-xl{
        max-width: 98%;
    }
    .modal-player{
        max-width: 100%;
    }
    .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;
}
.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;
}
.btn{
    border-radius: 40px !important;  
}
.btn-icon-top{
    position: relative;
}
.btn-icon-top .icon-top{
    position: absolute;
    top: -4px;
    right: -6px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
footer .btn{
    line-height: 1.3 !important;
}

.input-group-append .btn{
    border-radius: 0px 4px 4px 0px !important;
}
.alert {
    padding: 0.5rem 0.7rem;
}
.hidden {
    display: none !important;
}

.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: #505050;
    font-weight: 500;
}
.info-card-text .usuario_head{
    color:#fff;
    font-weight: inherit;
}
.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;  Afecta alineamientos*/ 
    font-weight: 400;
}

.badge i.fal{
    margin-top: 1px;
}

.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;
}

.select2-search.select2-search--dropdown{
    position: relative;
}

.select2-search.select2-search--dropdown .select2-clear-search,
.select2-search.select2-search--dropdown .select2-clear-search-ap
{
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    cursor: pointer;
}

.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;
}

.index-col-opciones{
    width: 58px;
}

/* Colegios index*/
.colegios_direccion{
    max-width:248px; 
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu > li > a + ul > li > a i{
    display: none;
}

.toggle-menu-minify{
    opacity: 0.5;
    cursor: pointer;
    color: #fff;
}

.toggle-menu-minify:hover,
.toggle-menu-minify:active{
    opacity: 0.8;
}

.input-group-text {
    padding: 0.3rem 0.875rem;
}

table a[target]:not(.btn) {
    text-decoration: none !important; 
}


hr{
    border: 1px solid #ccc;
}

.title-form-label::before{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ddd;
    position: absolute;
    top: 50%;
    z-index: 0;
}
.title-form-label{
    margin: 10px auto;
    position: relative;
}

.title-form-label span{
    background: #fff;
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0 10px;
    color: #999;
    width: max-content;
}

.nav-menu li > ul li.active > a{
    background-color: #081982 !important;
}


.form-group.select2-custom-result .select2-container .select2-selection--single {
    height: auto !important;
}

.form-group.select2-custom-result .select2-container--default .custom-selection {
    line-height: 20px !important;
    padding: 10px 0 !important;
}

.select2-results__option--highlighted .custom-selection,
.select2-results__option--highlighted .custom-selection .text-muted,
.select2-results__option--highlighted .custom-selection .badge{
    color: #fff !important;
}
.select2-results__option--highlighted .custom-selection .badge{
    border-color: #fff !important;
}
.select2-drop-400 {
    width: 400px !important;
}

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

.select2-drop-300 {
    width: 300px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    padding-left: 8px !important;
    padding-right: 20px !important;
}

.select2-container .select2-search--inline .select2-search__field{
    min-width: 200px !important;
}
/*pagos */

.pagos_color1{
    color: #4679cc;
}
.pagos_color2{
    color: #6e96d7;
}
.fuente_s1{
    font-size: 12px;
}

.fuente_s2{
    font-size: 9.3px;
}

.btn.btn-flex-middle{
    padding: 4px 10px;
    display: inline-flex;
    justify-content: space-around;
    align-items: center;
}
.btn.btn-flex-middle i{
    margin-right: 6px;
}


.loading-dt {
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
    text-align: center;
    backdrop-filter: blur(2px);
}

#dataTables {
    position: relative;
}

.sticky-top {
    padding: 30vh 0 0 0;
}

.loading-msj {
    margin: 0 auto;
    padding: 10px 20px;
    background-color: rgb(255, 255, 255);
    width: 300px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Reportes */

.reporte section{
    margin-bottom: 70px;
}
.report-hr{
    border-bottom: #e1e1e1 solid 1px;
    margin-inline: -20px;
    margin-bottom: 26px;
    border-top: none;
}
.report-fs-label{
    font-size: 13px;
    padding-top: 6px;
}
.report-col{
    flex: 0 0 32.2%;
    max-width: 33%;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}
.card-img{
    width: 60px;
    height: auto;
    border-radius: 4px;
    border: 1px solid #ccc;
}


 /* Flex Paq*/
.container-flex-paq{
    position: relative;
}
.container-flex-paq .paq-image{
    position:absolute; 
    width: 100px; 
    height: 100%; 
    right: 0;
    top: 0;
    z-index: 1;
    transition: width 0.6s ease-in-out, opacity   0.4s ease;
    opacity: 0.2;
}
.container-flex-paq .paq-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-fit: cover;
    clip-path: polygon(
        50px 0,
        100% 0,
        100% 100%,
        20px 100%
    );
    image-rendering: auto;
}

#dataTables tbody tr:hover .paq-image {
    opacity: 0.9;
    width: 110px; 
}

.container-flex-paq .paq-info{
    position: relative; 
    z-index: 10;
}