/*Fuente principal*/

:root{
    --primary-color1:#469D1C;
    --brown-color:#ff6565;
    --blue-color:#1782ff;
}
body {
    font-family: 'HelveticaNeue';
}
/****************************************************/
th {
    font-weight: normal;
}
/*Footer anclado en la parte inferior de la pantalla*/
*{
    font-family: 'HelveticaNeue';
}
body { 
    font-family: 'HelveticaNeue';
    height: 100vh;
    margin: 0;
    background-color: #24262B;
}
a{
    color: var(--blue-color);
}
@font-face {
    font-family: 'HelveticaNeue';
    src: url('../fonts/HelveticaNeue/HelveticaNeue-Thin.otf') format('opentype');
    font-weight: 100;
}

@font-face {
    font-family: 'HelveticaNeue';
    src: url('../fonts/HelveticaNeue/HelveticaNeue-Light.otf') format('opentype');
    font-weight: 300;
}

@font-face {
    font-family: 'HelveticaNeue';
    src: url('../fonts/HelveticaNeue/HelveticaNeue-Bold.otf') format('opentype');
    font-weight: 700;
}

/* Aplicar la fuente a todo el sitio */
body {
    font-family: 'HelveticaNeue', sans-serif;
}
/* .table-responsive .periodo-archivo:last-of-type{
    border: white;
} */


/* Puedes seguir el mismo patrón para pb (padding-bottom), pl (padding-left), y pr (padding-right) */
.periodo-item:last-of-type{
    border-bottom: none;
}
.btn-comuna2{
    border: 1px solid rgb(70, 157, 28);
        color: rgb(70, 157, 28);
        border-radius: 20px;
        transition: all .5s ease;
}
.btn-comuna2:hover{
    background-color:rgb(70, 157, 28);
    color: white !important;
}
.btn-comuna2:hover * {
    color: white !important;
}
.btn-danger2 {
    border: 1px solid brown;
    color: brown;
    border-radius: 20px;
}
.font-weight-bold{
    font-weight: bold;
}
.invalid-control .invalid-feedback{
    display: block !important;
}
.pr-0{
    padding-right: 0px !important;
}
.paginador_periodo .page-link{
    background-color: #000;
        border: 1px solid #000000;
        color: #ffffff;
        padding: 0.2rem 0.75rem;
        border-radius: 0px !important;
}
.paginador_periodo .page-item.active .page-link {
    z-index: 3;
    color: #000;
    background-color: #ffffff;
    border-color: #000000;
}
.paginador_periodo .page-link:hover{
        z-index: 2;
        color: #000;
            background-color: #ffffff;
            border-color: #000000;
}
/* Márgenes horizontales */
.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}

/* ... */
.mx-5 {
    margin-left: 1.25rem;
    margin-right: 1.25rem;
}

/* Márgenes izquierdos */
.ml-1 {
    margin-left: 0.25rem;
}

.ml-2 {
    margin-left: 0.5rem;
}

.ml-3 {
    margin-left: 1rem;
}

.ml-4 {
    margin-left: 1.5rem;
}

.ml-5 {
    margin-left: 1.25rem;
}
.mr-1 {
    margin-right: 0.25rem;
}

.mr-2 {
    margin-right: 0.5rem;
}

.mr-3 {
    margin-right: 1rem;
}

.mr-4 {
    margin-right: 1.5rem;
}

.mr-5 {
    margin-right: 1.25rem;
}

/* Márgenes derechos */
.mr-1 {
    margin-right: 0.25rem;
}

/* ... */
.mr-5 {
    margin-right: 1.25rem;
}

/* Márgenes verticales */
.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

/* ... */
.my-5 {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

/* Márgenes superiores */
.mt-1 {
    margin-top: 0.25rem;
}

/* ... */
.mt-5 {
    margin-top: 1.25rem;
}

/* Márgenes inferiores */
.mb-1 {
    margin-bottom: 0.25rem;
}

/* ... */
.mb-5 {
    margin-bottom: 1.25rem;
}

/* Márgenes responsivos */
.m-sm-2 {
    margin: 0.5rem;
}

/* Puedes ajustar según tus necesidades */
.m-md-3 {
    margin: 1rem;
}

.m-lg-4 {
    margin: 1.5rem;
}

.m-xl-5 {
    margin: 2rem;
}
/* Márgenes automáticos */
.m-auto {
    margin: auto;
}
.status-tag-contrato{
border: none;
    text-align: center;
    border-radius: 20px;
    color: white;
    padding: 5px 12px;
}
.status-tag-Revision{
    background: #f8f9fa;
    color: black;
}
.status-tag-Enviada,.status-tag-Enviado{
    background: #1782ff;
}
.status-tag-Confirmada,.status-tag-Confirmado, .status-tag-Activo,
.status-tag-Completado,
.status-tag-Autorizado {
    background: var(--primary-color1);
        color: white;
}
.btn-borrar-noti:hover i{
    color: black !important;
}
.btn-rounded-pill{
    text-decoration: none;
        white-space: nowrap;
        border-radius: 20px;
        transition: all .5s ease;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
}
.btn-rounded-pill:hover {
    color: white;
    background-color: #565e64;
}
.status-tag-Rechazada,.status-tag-Vencido,.status-tag-Rechazado,
.status-tag-Eliminado,.periodo-status-tag-Rechazado,.periodo-status-tag-Cancelado {
    background: brown;
    color: white;
}
.periodo-status-tag-Confirmado{
background: #7ccd55;
}
.status-tag-Pagada,.status-tag-Pagado,.periodo-status-tag-Pagado {
    background: var(--primary-color1);
}
.status-tag-Pendiente,.status-tag-Porpagar,.periodo-status-tag-Atrasado {
    background: orange;
}
.periodo-status-tag-Pendiente{
    background-color: #959595;
}

.periodo-status-tag-Activo{
    background: #ffdd50;
    color: black;
}

footer {
    min-height: 30px;
    line-height: 30px;
}

/*Footer Fixed to Bottom*/
/*body { 
    display:flex; 
    flex-direction:column;
}

footer {
    margin-top:auto;
}*/

.my_footer {
    text-align: center;
}
.main-container {
    width: 100% !important;
    display:table; 
    height: 100vh;
    flex-direction:column;
    background-color: #ececec;
    background-image: url(../img/comuna_footer_white.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-position-x: right;
    background-size: 70%;
    position: relative;
    padding-left: 250px;
}
.container {
    position: relative;
    width: 100% !important;
}
.fix-container {
    z-index: 2;
}
.my_main_footer {
    position: absolute;
    right: 0;
    left: 0;
    text-align: center;
    font-size: 10pt;
    padding-left: 250px;
    bottom: 0;
    z-index: 1;
    background:transparent;
    padding-top: 6px;
}
/****************************************************/
/* * {
    scrollbar-width: auto;
    scrollbar-color: #ececec #f4f4f4;
} */

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
    width: 5px;
}

*::-webkit-scrollbar-track {
    background: #f4f4f4;
}

*::-webkit-scrollbar-thumb {
    background-color: #8f8f8f;
    border-radius: 0px;
    border: 3px solid #898989;
}
/*Toast Notificaciones*/
.fix_toast {
    z-index: 9999;
}
.toast-header {
    color: #000000;
    border-bottom: 0px;
}
.toast-error {
    background-color: #ff0000;
}
.toast-warning {
    background-color: #ff9007;
}
.toast-success {
    background-color: #009e1a;
}
.toast-body {
    background-color: #ffffff;
}
/****************************************************/

.form-floating>label {
    color: #6C757D;
}
.text-black{
    color: black !important;
}
/*Colores de Comuna*/
.bg-comuna {
    background-color: #24262B;
}
.color-comuna {
    color: #469D1C;
}
.a-comuna {
    color: #469D1C;
}
.a-comuna:hover {
    color: #3f8d19;
}
.background-comuna {
    background-color: #469D1C;
}
.btn-comuna {
    color: #FFFFFF;
    background-color: #469D1C;
    border-color: #469D1C;
}
.btn-comuna:hover {
    color: #FFFFFF !important;
    background-color: #3f8d19;
    border-color: #3f8d19;
}
.btn-comuna:focus {
    box-shadow: 0 0 0 0.25rem rgb(70 157 28 / 25%);
}
.btn-outline-comuna {
    color: #469D1C;
    border-color: #469D1C;
}
.btn-outline-comuna:hover {
    color: #ffffff !important;
    background-color: #3f8d19;
    border-color: #3f8d19;
}
.btn-outline-comuna:focus {
    box-shadow: 0 0 0 0.25rem rgb(63 141 25 / 25%);
}
.page-link-comuna {
    color: #469D1C;
}
.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #469D1C !important;
    border-color: #469D1C !important;
}
.page-link:hover {
    z-index: 2;
    color: #ffffff;
    background-color: #469D1C;
    border-color: #469D1C;
}
.page-link:focus {
    box-shadow: 0 0 0 0.25rem rgb(63 141 25 / 25%);
}
/****************************************************/

/*Pantalla de login*/
.login_logo {
    width: 100%;
    max-width: 350px;
}
.login-box {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    min-height: 100vh;
}
.login-container{
    width: 500px;
}
.login-form{
    margin: 0 auto;
    max-width: 350px;
}
/****************************************************/

/*Pantalla de registro*/
.register-box {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    min-height: 100vh;
}
.register-container {
    width: 650px;
}
.register-form {
    margin: 0 auto;
    max-width: 650px;
}
/****************************************************/
/* .alert{
    border-radius: 0px;
} */
.footer_logo {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: -1;
}
.footer_logo_right {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 0;
    right: 0;
}

/*Sidebar Container*/
.wrapper {
    display: flex;
    flex-wrap: nowrap;
    height: 100vh;
    height: -webkit-fill-available;
    max-height: 100vh;
    overflow-x: auto;
    width: 100vw;
    max-width: 100vw;
}

.table>tbody {
    font-size: 11pt;
}

.fix_search_proveedor {
    display: contents;
}

.search_icon {
    cursor: pointer;
}

.resultado_busqueda {
    display: none;
}
.dropdown-toggle::after{
    margin-left: auto !important;
}
.text-right{
    text-align: right;
}
.status-tag{
display: block;
    padding: 4px 12px;
    font-size: small;
    border-radius: 12px 12px 0px 0px;
}


/* .status-tag-Requerido{
background-color: #ff6e07;
    color: white;
} */



.status-tag-Requerido {
    background-color: #ffdede;
        color: #a93131;
        font-size: small;
}
.progress_0.progress-bar-checklist
{
        color: brown;
            /* border: solid 1px brown; */
            background: #ababab;
}

.progress_1.progress-bar-checklist {
color: rgb(255 255 255);
    /* border: solid 1px rgb(207, 155, 51); */
    background-color: #ababab;
}
.progress_1.progress-bar-checklist>.actual-progress {
background-color: orange;
}

.progress_2.progress-bar-checklist {
color: rgb(255 255 255);
    /* border: solid 1px rgb(207, 155, 51); */
    background-color: #ababab;
}

.progress_2.progress-bar-checklist>.actual-progress {
background-color: orange;
}

.progress_3.progress-bar-checklist {
    color: white;
        /* border: solid 1px var(--primary-color1); */
        background: #ababab;
}
#sidebar_nav{
    width: 265px !important;
}
.progress_3.progress-bar-checklist>.actual-progress {
background-color: #ffc906;
}

.progress_4.progress-bar-checklist {
    color: white;
    /* border: solid 1px var(--primary-color1); */
    background: #ababab !important;
}

.progress_4.progress-bar-checklist>.actual-progress {
    background-color: var(--primary-color1);
}
.btn-comuna-volver{
    background-color: white;
        color: rgb(86, 94, 100);
        border: 1px solid rgb(86, 94, 100);
        white-space: nowrap;
            padding-right: 1rem !important;
                padding-left: 1rem !important;
    border-radius: 20px;
}
.progress-bar-checklist{
    min-width:71px;

    position: relative;
    min-height: 31px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    transition: all .2s ease;
    background-color: #ababab;
}
.progress-bar-checklist>.actual-progress{
    height: 100%;
    display: block;
    position: absolute;
    left: 0px;
    top: 0px;
    background: brown;
}
/* .campo-opcional .status-tag-Pendiente{
    display: none !important;
} */
.progress-bar-checklist .actual-progress-lbl{
    color: white;
}
.progress-bar-checklist .actual-progress-lbl,.progress-bar-checklist i {
    transition: all .5s ease;

}
.progress-bar-checklist:hover{
    transform: translateY(-1px);
}
.progress-bar-checklist:hover .actual-progress-lbl {
    transform: translateY(-2px);
}
.progress-bar-checklist:hover i{
    transform: scale(1.1);
}
.actual-progress-lbl{
    pointer-events: none;
}
.campos_proveedor_container .lbl-status{
    display: flex; 
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
}
.sidebar-icon{
    text-align: center;
}
.rounded-20{
    border-radius: 20px !important;
}
#modal_cumplimiento_contrato .campos_proveedor_container input:read-only,#modal_cumplimiento_proveedor .campos_proveedor_container input:read-only, #modal_cumplimiento input:read-only
,#modal_cumplimiento textarea:read-only
{
    background-color: white;
    cursor: default;
}
.paginador_notificaciones [aria-label="Paginador"],.paginador_todo_completados [aria-label="Paginador"]
, .paginador_todo [aria-label="Paginador"],.paginador_notificaciones_leidas [aria-label="Paginador"]{
    margin-bottom: 13px !important;
    margin-top: 13px !important;
}
.toggle-chat-btn{
    display: none;
    pointer-events: none;
}
.notificaciones-cont{
    display: none;
    position: fixed;
    top: 62px;
    right: 12px;
    width: 100%;
    max-width: 450px;
    z-index: 101;
        background-color: white;
        padding: 16px;
    box-shadow: 0px 0px 2px 0px rgb(191 191 191 / 80%);
        border-radius: 3px;
}
.show.notificaciones-cont {
    display: block;
}
.notification-icon{
    width: 50px;
    min-width: 50px;
height: 50px;
display: flex;
align-items: flex-start;
justify-content: center;
transform: translateY(6px);
padding-top: 5px;
}
.notification-icon i{
    /* color: white; */
    font-size: x-large;
}
.notification-cont-header
{
    background: white;
    width: 100%;
    box-shadow: 0px 0px 4px 0px rgb(153 153 153 / 50%);
        text-align: center;
        color: black;
        border-radius: 0px;
        margin-bottom: .75rem;
}
.btn-borrar-noti{
    position: absolute;right: .75rem;
    color: #c1c1c1;
    right: 0.25rem;
    cursor: pointer;
}
.notificacion-link{
    text-decoration: none !important;
    color: black;
}
#notificaciones{
    display: flex;
    flex-direction: column;
    gap: 7px;
}

#lista_cuentas li{
    border-top: 1px solid rgba(0,0,0,.125);
    position: relative;
}
#lista_cuentas li .btn-borrar-cuenta{
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}
#lista_cuentas li.cuenta-selected
{
    border: 1px solid rgb(20 182 0 / 96%) !important;
    background-color: #e8fae8;
}

.drag_area {
    border: dashed 2px #ccc;
    border-radius: 0px;
    cursor: pointer;
    background-color: white;
}
 .drag_area_archivos {
    background-color: #ededed;
     border: dashed 1px #dee2e6;
     border-radius: 5px;
     cursor: pointer;
    background-color: white;
 }

#cargar_evidencias_modal .modal-header{
    font-weight: bold !important;
}
 .archivo-item {
     padding: 5px 35px 5px 0px;
     border-radius: 0px;
     width: fit-content;
     display: flex;
     justify-content: flex-start;
     border: dashed 2px #ccc;
 }

 .archivo-item .archivo-delete {
     cursor: pointer;
     position: absolute;
     right: 10px;
     transition: all .5s ease;
     color: #ccc;
 }

 .archivo-item .archivo-delete:hover {
     color: gray;
 }

 .archivos_area {
     width: 100%;
     max-height: 50vh;
     overflow-y: auto;
 }

 .archivo-item .archivo-icon {
     width: 28px;
     display: flex;
     transition: all .5s ease;
     align-items: center;
     justify-content: center;
     overflow: hidden;
 }


 .archivo-item .archivo-icon i {
     font-size: 16px;
 }
#cargar_evidencias_modal a{
    text-decoration: none !important;
}
.pantalla-carga {
    background-color: #f3f3f3;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100vw;
    z-index: 100;
}
.texto-carga {
    font-size: 24px;
    font-weight: bold;
    animation: dots 1.5s infinite;
}
.modal-body.dashed {
    /* border-bottom: dashed 2px #ccc; */
    background-color: white;
    border-left: none;
}


.modal-body.dashed:last-child, .modal-body.dashed:first-child{
    border-bottom: none !important;
}

#modal_evidencias,#modal_facturas,#modal_comprobantes,#cargar_comprobante_modal .modal-content,#descargar_facturas_modal .modal-content, #descargar_evidencias_modal .modal-content
{
    background-color: transparent !important;
    border: none 
    !important;
}
.paginador_periodos nav[aria-label="Paginador"]{
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}
.container{
    max-width: 95% !important;
}
[aria-label="breadcrumb"]{
    padding: 0px;
}
.image-centered{
    width: 100%;
    min-height: 100%;
    min-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.rounded-50{
    border-radius: 50%;
}
/* #modal_cumplimiento_contrato .modal-header,#modal_cumplimiento_proveedor .modal-header{
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
} */
.tab.active {
	/* font-weight: bold; */
	border-bottom: solid 2px #f7f7f7;
    background-color: white;
    border-radius: 5px 5px 0px 0px;
}
.absolute-cont{
	position: absolute;
	right: 0px;
    top: 20px;
    pointer-events: none;
}
.campo_rechazado .status-tag-lbl,.cumplimiento_Rechazado .status-tag-lbl
{
    display: none !important;
}
.pendientes-icon{
    color: white;
}
.archivos-cont a{
    text-decoration: none !important;
}
.campos_proveedor_container a{
    text-decoration: none;
}
#cumplimientos_container{
    max-height: 390px;
    overflow-y: auto;
}
    	#cumplimientos_container::-webkit-scrollbar-thumb,
    	#cumplimientos_container *::-webkit-scrollbar-thumb {
    	    border: 3px solid #a4a0a0 !important;
    	    border-radius: 0px !important;
    	}
/* #proveedor_nav .nav-link{
    padding-left: 5px;
} */
@keyframes dots {
    0% {
        content: "";
    }

    33% {
        content: ".";
    }

    66% {
        content: "..";
    }

    100% {
        content: "...";
    }
}
.select2-container--open {
    z-index: 9999999 !important;
}

#modal_cumplimiento .modal-content{
    border: none !important;
}
.modal-title{
    color: black;
}
table tr:last-of-type{
    border-bottom: white 1px solid;
}
[data-title]:after {
    content: "( ? ) " attr(data-title);
    background-color: #333;
    font-weight: 500;
    color: #fff;
    font-size: 15px;
    font-family: sans-serif;
    position: fixed;
    padding: 15px 20px;
    bottom: 2.5rem;
    left: calc(50% + 133px);
    transform: translateX(-50%); /* Centrar tooltip */
    box-shadow: 1px 1px 3px #222222;
    opacity: 0;
    border: 1px solid #111111;
    z-index: 99999;
    visibility: hidden;
    border-radius: 6px;
    transition: all 0.05s ease 0.2s;
}

[data-title]:hover:after {
    opacity: 1;
    visibility: visible;
}
/* [data-title] {
    position: relative;
} */
/*[v-cloak] {*/
/*    display: none;*/
/*}*/
/* DESCARGAR EVIDENCIAS MODAL*/
.btn-pagos {
    white-space: nowrap;
}

#descargar_evidencias_modal .btn-comuna2 {
    background-color: white;

}

#descargar_evidencias_modal .btn-comuna2:hover {
    background-color: #3f8d19;
}

.periodo-archivo {
    background-color: white;
}

.pendientes-icon {
    position: absolute;
    right: -1.2rem;
    /* top: 6px; */
}

.list-files {
    padding-left: 0px;
    margin-bottom: 9px;
}
.paginador_periodo ul[class="pagination"]{
    margin-bottom: 0px;
}
nav[aria-label="Paginador"]{
    margin-top: 1rem;
}
.list-files li,.list-file-item {
    list-style-type: none;
    padding: 4px 15px;
    background-color: white;
    border: solid 1px #d6d6d6;
    /* border-right:none; */
    cursor: pointer;
}
/* .list-files li:last-of-type{
    border-right: solid 1px #d6d6d6;
} */
.list-files li.show-periodo, .list-file-item.show-periodo{
    background-color: black;
    border-color: black;
    color: white;
}
.list-files li.show-periodo *, .list-file-item.show-periodo * {
    color:white
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #f4f4f4;
    border: 1px solid #ccc;
    margin-bottom: 1px;
}

.select2-container--default .select2-selection--multiple {
    flex-direction: column-reverse !important;
    display: flex;
    padding: 5px;
    border-color: #ccc;
}

.select2-container--default .select2-search--inline .select2-search__field {
    margin-bottom: 4px;
    margin-top: 4px;
}

.select2-container .select2-selection--multiple ul.select2-selection__rendered {
    margin-bottom: 0px !important;
}

.select2-search--inline {
    display: contents;
}

.select2-search__field:placeholder-shown {
    width: 100% !important;
}

#contratos_cont a {
    text-decoration: none;
}

button:disabled.upload-btn {
    cursor: not-allowed;
}

button.upload-btn {
    border: none !important;
    padding: 0px !important;
    background-color: transparent !important;
}

.header-documentos {
    background-color: white;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75);
}

#descargar_evidencias_modal .modal-header {
    background-color: white;
    padding-top: 5px;
    padding-bottom: 11px;
    border-radius: 0px;
}

.action-buttons button {
    transition: all 1s ease;
}

.abono_item {
    background-color: #ededed;
}

.pair .abono_item {
    background: white;
}

.input_comprobante {
    border: solid 1px #ccc;
    border-radius: 5px;
    width: 96%;
    outline: none;
}

.input_comprobante:disabled {
    background-color: transparent;
    border: none;
}

.campo-invalido .nombre-campo {
    border-color: #ff0000;
    box-shadow: 0 0 0 0.25rem rgb(253 13 13 / 25%);
}


#modal_cumplimiento_contrato .progress-bar-checklist {
    width: 156px;
    border: none;
    height: 30px;
    display: block;
    line-height: 30px;
    text-align: center;
    pointer-events: none;
    /* margin-top: -7px; */
    background: #ababab;
}

.porcentaje-progreso {
    opacity: 0;
    transition: all .5s ease;
    display: block;
    margin-top: -35px;
}


.monto-progreso {
    opacity: 1;
    transition: all .5s ease;
    display: block;
    line-height: 31px;
}

.progress-bar-checklist:hover .monto-progreso {
    opacity: 0;
    margin-top: -11px;
}

.progress-bar-checklist:hover .porcentaje-progreso {
    opacity: 1;
}

.alert-danger.alert-comentario {
    border: 1px solid brown;
    color: brown;
}

.alert-comentario {
    margin-left: 21px;
    border-radius: 20px;
    background-color: white;
    border: 1px solid rgb(70, 157, 28);
    color: rgb(70, 157, 28);
    width: fit-content;
    white-space: pre-line;	
}

.alert-comentario::after {
    display: block;
    content: '';
    position: absolute;
    left: -18px;
    top: 20px;
    height: 1px;
    width: 17px;
}

.alert-comentario::before {
    display: block;
    content: '';
    position: absolute;
    left: -18px;
    top: -25px;
    height: 45px;
    width: 1px;
}

.alert-comentario.alert-success::after,
.alert-comentario.alert-success::before {
    background: var(--primary-color1);
}

.alert-comentario.alert-danger::after,
.alert-comentario.alert-danger::before {
    background: brown;
}

.empresa-logo-pic {
    min-width: 50px;
    width: 50px;
    height: 50px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: xx-large;
    background-color: var(--primary-color1);
    color: white;
    border-radius: 50%;
    overflow: hidden;
}

/* #modal_evidencias .table-responsive tr:last-of-type {
    border: white;
} */
.form-control[readonly] {
    cursor: default !important;
    background-color: white;
}

.modal-dialog .modal-body.modal-item {
    border-bottom: solid 1px #f3f3f3;
}

.modal-dialog .modal-body.modal-item:last-of-type {
    border-bottom: none !important;
    padding-bottom: 0px !important;
}

.fecha-periodo-item .periodo-item .fecha-item {
    width: 100%;
}

.fecha-periodo-item .periodo-item:last-child .fecha-item {
    width: 50%;
}
#descargar_evidencias_modal .periodo-fecha-item.fecha{
	border: solid 1px #ced4da;
    border-radius: 4px;
    font-size: 17px;
}
.periodo-fecha-item {
    /* border-right: solid 1px #ccc; */
    padding: 4px 15px;
    background: white;
    border: none;
    color: black;
    transition: all .5s ease;
    border: solid 1px #d6d6d6;
    border-bottom: none;
}

.fecha-periodo-item .periodo-item {
    margin-bottom: 10px;
}

.periodo-activo .periodo-fecha-item {
    /* box-shadow: 25px 0px 0px 0px #959595 inset;
    -webkit-box-shadow: 25px 0px 0px 0px #959595 inset;
    -moz-box-shadow: 25px 0px 0px 0px #959595 inset; */
    background: #000000;
    padding-left: 35px;
    color: white;

}

/* .periodo-activo.periodo-Activo .periodo-fecha-item {
    box-shadow: 25px 0px 0px 0px #e79424 inset;
    -webkit-box-shadow: 25px 0px 0px 0px #e79424 inset;
    -moz-box-shadow: 25px 0px 0px 0px #e79424 inset;
} */



.periodo-Activo .fecha-item {
    border-bottom: solid 6px #ffdd50;
}

.periodo-Activo.periodo-no-autorizado .fecha-item::before {
    /* content: '\e417' !important; */
    color: #624801 !important;
    opacity: 1;
    z-index: 10;
}

.periodo-Activo.periodo-no-autorizado .fecha-item::after {
    content: '\e417' !important;
    color: #ffa500;
    opacity: 1;
}

.row-reverse{
    flex-direction: row-reverse;
}

/* .periodo-Atrasado.periodo-no-autorizado .fecha-item::before {
    content: '\e417' !important;
    color: #624801 !important;
    opacity: 1;
    z-index: 10;

}

.periodo-Atrasado.periodo-no-autorizado .fecha-item::after {
    content: '\e417\e417' !important;
    color: #ffbc41;
    opacity: 1;
} */

/* .periodo-Activo .fecha-item::after  */
.periodo-Activo .fecha-item::before
{
    content: '' !important;
}

.periodo-Activo .fecha-item::after {
    font-family: "Font Awesome 6 Pro";
    font: var(--fa-font-sharp-solid);
    content: '';
    bottom: 10px;
    left: 1rem;
    color: #ffbc41;
    pointer-events: none;
}

.periodo-Confirmado.periodo-actual .fecha-item {
    border-bottom: solid 6px #7ccd55;
    width: 100%;
}

.periodo-Confirmado.periodo-actual .fecha-item::before {
    content: '\e416';
    color: white;
    opacity: 1;
}

.periodo-Confirmado.periodo-actual .fecha-item::after {
    content: '\e416\e416';
    color: #7ccd55;
    opacity: 1;
}

/* .periodo-activo.periodo-Confirmado.periodo-actual .periodo-fecha-item {
    box-shadow: 25px 0px 0px 0px #7ccd55 inset;
    -webkit-box-shadow: 25px 0px 0px 0px #7ccd55 inset;
    -moz-box-shadow: 25px 0px 0px 0px #7ccd55 inset;
}
*/




.archivo-icon {
    min-width: 30px;
}

.paginador_periodo [aria-label="Paginador"] {
    margin-bottom: 0px !important;
}

.paginador_periodo .page-link {
    font-size: 19px;
}


.fecha-item::before,
.fecha-item::after {
    font-family: "Font Awesome 6 Duotone";
    position: absolute;
    bottom: 7px;
    left: 1.2rem;
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
.sortBy {
    text-decoration: none !important;
    position: relative;
  }
  
  .sortBy i {
    position: absolute;
    --fa-primary-color: #aeaeae;
    --fa-secondary-color: #aeaeae;
    --fa-secondary-opacity: 1;
    transform: translate(5px, 4px);
    pointer-events: none;
  }
  
  .sortBy.sortASC i {
      --fa-primary-color: rgb(61, 61, 61);
      --fa-secondary-color: #ffffff;
      --fa-secondary-opacity: 1;
    }
    
    .sortBy.sortDESC i {
      --fa-primary-color: #ffffff;
      --fa-secondary-color: rgb(61, 61, 61);
    --fa-secondary-opacity: 1;
  }
  
.periodo-Pendiente .fecha-item {
    width: 100%;
    border-bottom: solid 6px #959595; 
}

.periodo-Pendiente .fecha-item::before {
    content: '';
}

.periodo-Pendiente .fecha-item::after {
    font-family: "Font Awesome 6 Pro" !important;
    font: var(--fa-font-sharp-solid);
    content: '\f312';
    bottom: 7px;
    left: 1.2rem;
    opacity: 0;
    color: #959595;
    pointer-events: none;
}

.periodo-Confirmado .fecha-item {
    border-bottom: solid 6px #7ccd55;
    width: 100%;
}

.periodo-Confirmado .fecha-item::before {
    content: '\e416';
    color: white;
    opacity: 1;
}

.periodo-Confirmado .fecha-item::after {
    content: '\e416\e416';
    color: #7ccd55;
    opacity: 1;
}

.periodo-Cancelado .fecha-item {
    border-bottom: solid 6px brown;
    width: 100%;
}

.periodo-Cancelado .fecha-item::before {
    content: '\f057';
    color: white;
    opacity: 1;
}

.periodo-Cancelado .fecha-item::after {
    content: '\f057\f057';
    color: brown;
    opacity: 1;
}

/* .periodo-activo.periodo-Confirmado .periodo-fecha-item {
    box-shadow: 25px 0px 0px 0px #7ccd55 inset;
    -webkit-box-shadow: 25px 0px 0px 0px #7ccd55 inset;
    -moz-box-shadow: 25px 0px 0px 0px #7ccd55 inset;
} */

.periodo-Pagado .fecha-item {
    border-bottom: solid 6px var(--primary-color1);
    width: 100%;
}

.periodo-Pagado .fecha-item::before {
    content: '\f2e8';
    color: white;
    opacity: 1;
}
th a,th a:hover{
    color: white;
}
.periodo-Pagado .fecha-item::after {
    content: '\f2e8\f2e8';
    color: var(--primary-color1);
    opacity: 1;
}

/* .periodo-activo.periodo-Pagado .periodo-fecha-item {
    box-shadow: 25px 0px 0px 0px var(--primary-color1) inset;
    -webkit-box-shadow: 25px 0px 0px 0px var(--primary-color1) inset;
    -moz-box-shadow: 25px 0px 0px 0px var(--primary-color1) inset;
}
*/


#pendientes_contrato_icon, .pendientes_contrato_icon{
    padding-left: 7px;
}
#pendientes_contrato_icon::after, .pendientes_contrato_icon::after{
    font-family: "Font Awesome 6 Pro";
    content: '\e417' !important;
    font-weight: 900; /* Fuerza la versión sólida */
    color: #ffc520;
}
/* #pendientes_contrato_icon::before {
    content: '\f321';
    color: #f9bb67;
    z-index: 10;
} */
.periodo-Atrasado .fecha-item {
    border-bottom: solid 6px #e79424;
    width: 100%;
}

.periodo-no-autorizado .fecha-item::before {
    content: '';
    color: #f9bb67;
    opacity: 1;
    z-index: 10;
    left: 90% !important;
    bottom: 6px;
}

.periodo-no-autorizado .fecha-item::after {
    content: '\e417\e417' !important;
    color: #ffc520;
    opacity: 1;
}
/* 
.periodo-activo.periodo-Atrasado .periodo-fecha-item {
    box-shadow: 25px 0px 0px 0px #e79424 inset;
    -webkit-box-shadow: 25px 0px 0px 0px #e79424 inset;
    -moz-box-shadow: 25px 0px 0px 0px #e79424 inset;
} */


.periodo-Rechazado .fecha-item {
    border-bottom: solid 3px brown;
    width: 100%;
}

.periodo-Rechazado .fecha-item::before {
    content: '\f2ee';
    color: white;
    opacity: 1;
}

.periodo-Rechazado .fecha-item::after {
    content: '\f2ee\f2ee';
    color: brown;
    opacity: 1;
}
/* 
.periodo-activo.periodo-Rechazado .periodo-fecha-item {
    box-shadow: 25px 0px 0px 0px brown inset;
    -webkit-box-shadow: 25px 0px 0px 0px brown inset;
    -moz-box-shadow: 25px 0px 0px 0px brown inset;
} */




.periodo-activo .fecha-item {
    padding-bottom: 0px;
}

.periodo-activo .periodo-fecha-item {
    border: none;
    padding-bottom: 4px;

}

.cumplimiento-campo:last-of-type td {
    border-bottom-width: 0px !important;
}

.cumplimiento-campo td {
    padding-bottom: 16px;
    padding-top: 16px;
    border-bottom-width: 1px;
}
.select-fecha-item{
    border: none !important;
}
.select-fecha-item.fecha-active {
    /* padding-left: 15px;
    box-shadow: 15px 0px 0px 0px var(--primary-color1) inset;
    -webkit-box-shadow: 15px 0px 0px 0px var(--primary-color1) inset; */
    opacity: 1;
    transform: scale(1);
    background-color: black;
    border-bottom: solid 5px black !important;
}
.select-fecha-item span{
    color: black;
    line-height: 28px;
}
.select-fecha-item.fecha-active span{
    color: white;
}
.fecha-active *{
    color:white;
}
.periodo-rechazado {
    background: #fff5f5;
}

table tr{
    border-bottom: #ededed 1px solid;
}
table tr:last-of-type{
    border-bottom: white 1px solid;
}

.was-validated .form-control:valid[name="tipo_archivo[]"] {
    background-position: right calc(2em + .1875rem) center;
}

.select2-search__field {
    outline: none !important;
}

.select2-container .select2-selection--single {
    height: 38px;
    border-radius: 0px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    margin-top: 0px;
}

.select2-container--default .select2-selection--single {
    border: 1px solid #d6d6d6;
}

.select2-container {
    width: 100% !important;
    z-index: 1100;
}
.select-fecha-item
{
    margin-bottom:10px;
    width: 100%;
    border:solid 1px #d6d6d6;
    color:black;
    background-color: white;
}
.select-fecha-item:last-of-type{
    margin-bottom:0px;
}
.nuevo-archivo-container td{
    align-content:start;
}
#cargar_archivo_cont.invalid-control .invalid-feedback{
    display: block !important;
}
#cargar_archivo_cont.invalid-control .drag_area_archivos {
    border-color: #dc3545;
}
.fechas-container{
    max-height: 80vh;
    overflow-y: auto;
    padding-right: 5px;
    width: 76px;
min-width: 76px;
list-style: none;
padding-left: 0;
display: flex;
justify-content: space-between;
/* background-image: linear-gradient(#000,#000); */
background-size: 6px;
background-repeat: no-repeat;
background-position: 50%;
margin-bottom: 15px;
}
.filtro-rechazado.show-periodo{
    background-color: brown !important;
    border-color:brown !important;
     color:white !important;
}
.actualizando-fecha-item::after{
    content: '-';
    position: absolute;
    top: 8px;
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%);
}
input[type="date" i]::-webkit-calendar-picker-indicator {
    transform: translateX(5px);
}
.close-modal-contrato{
    text-decoration: none;
}
.list-files a{
    text-decoration: none;
}
.mobile_version_container{
    display: none;
}
.pc_version_container{
    display: block;
}
.btn-comuna-hover{
    color: #ffffff !important;
    background-color: #3f8d19 !important;
    border-color: #3f8d19 !important;
    border-radius: 20px;
}

.justify-center-md{
    justify-content: flex-start;
}
.text-center-md{
    text-align: left;
}
.periodo-action-container{
flex-direction: row;
}
.justify-center-lg{
    justify-content: space-between;
}
#chat_action_btn{
    gap: 15px;
}
.nav-pills .nav-link.active{
    background-color: #469D1C !important;
}
/*CHAT*/
#mensajes_container {
    position: fixed;
    top: 7px;
    right: 11rem;
    z-index: 100;
}

.foto-perfil-mensaje {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    border: solid 1px #ccc;
}

.btn-abrir-mensajes {
    width: 50px;
    height: 50px;
    border-radius: 25px;
    font-size: x-large;
    display: flex;
    align-items: center;
    justify-content: center;
    /* background-color: var(--primary-color1); */
    color: black;
    text-decoration: none;
}

.btn-abrir-mensajes:hover {
    color: white;
}

.btn-abrir-mensajes .badge {
    top: 4px !important;
    font-size: small;
}

.chat-container {
    max-height: 0px;
    overflow: hidden;
    transition: all .5s ease;
    position: absolute;
    right: calc(100% - 52px);
    bottom: 0px;
    display: none;
}

.chat-container.toggled {
    max-height: 100vh;
    box-shadow: 0px 0px 5px 0px rgba(92, 92, 92, 0.5);
    display: block;
    z-index: 1000;
}

.chat-inner {
    /* max-height: 800px;
    width: 100%;
    background: white;
    max-width: 464px;
    bottom: 2rem;
    top: auto;
    right: 138px; */
    display: none;
position: fixed;
top: 62px;
right: 12px;
width: 100%;
max-width: 450px;
z-index: 101;
    background-color: white;
    padding: 10px;
box-shadow: 0px 0px 2px 0px rgb(191 191 191 / 80%);
    border-radius: 3px;
}

.chat-inner .chat-header {
    width: 100%;
    background-color: white;
    color: black;
    /* box-shadow: 0px 3px 19px 0px rgba(92, 92, 92, 0.75); */
}

.chat-header .chat-header-menu ul {
    list-style: none;
    font-size: 15px;
}

.chat-header .chat-header-menu ul li {
    position: relative;
    cursor: pointer;
    padding: 5px 15px;
}
.active-window{
    background-color:#469D1C;
    color: white;
    border-radius: 4px;
}
/* .active-window::after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -4px;
    height: 4px;
    width: calc(100% + 33px);
    background-color: #469d1c;
} */
/* .active-window i{
    color: #7acf50;
} */

.chat-windows-cont {
    height: calc(100% - 51.5px);
}

.chat-window {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background: white;
}

.chat-user-item {
    display: flex;
    gap: 8px;
    align-items: center;
    /* flex-wrap: wrap; */
}

.chat-user-item .user-profile-pic {
    min-width: 50px;
    width: 50px;
    height: 50px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: xx-large;
    background-color: var(--primary-color1);
    color: white;
    border-radius: 50%;
}

.user-msg-badge {
    position: absolute;
    right: 15px;
}

.messages-cont {
    border-radius: 6px;
    border: solid 1px rgb(233, 233, 233);
    height: calc(100% - 66px);
    background-color: rgb(244 244 244);
    overflow-y: auto;
    overflow-x: hidden;
}

.messages-cont .messages .mssg {
    color: #464646;
    background-color: white;
    width: fit-content;
    position: relative;
    margin-left: 0px;
    margin-right: auto;
    border-radius: 4px;
}

.messages {
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
}


.messages-cont .messages .mssg.mine {
    margin-left: auto;
    margin-right: 0px;
    color: white;
    background-color: var(--primary-color1);
}

.latest-messages {
    display: flex;
    flex-direction: column;
}

small.mine {
    float: right;
    display: block;
    margin-top: 5px;
}

/* .messages-cont .messages .mssg::after {
    top: 0px;
    content: "";
    position: absolute;
    left: -18px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
    border-right: 10px solid white;
}

.messages-cont .messages .mssg.mine::after {
    content: "";
    position: absolute;

    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 10px solid transparent;
    border-left: 10px solid var(--primary-color1);
    right: -18px;
    left: auto;
    top: 0px;
} */
 .view-title{
    display: inline-block;
    font-size: 32px;
    margin: 12px 0px !important;
    font-weight: 400;
 }
.mssg-cont .archivo-item:last-of-type {
    padding-bottom: 2px !important;
}

.chat-archivo.mine {
    flex-direction: row-reverse;
    justify-content: flex-start;
    margin-left: auto;
}

#mensajes_container .archivo-item .archivo-delete {
    right: -30px;
}
.foto-perfil-mensaje .user_icon {
min-width: 38px;
width: 38px;
height: 39px;
line-height: 38px;
text-align: center;
color:white;
}
.loader-container{
    position: fixed;
    left: 0px;
    padding-left: 125px;
    top: 0px;
    height: 100%;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.463);
    display: flex;
    justify-content: center;
    align-items: center;
}
.rounded-pill.progress-bar-checklist{
    border-radius: 4px !important;
}
/* HTML: <div class="loader"></div> */
.loader {
    width: 50px;
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #25b09b;
    --_m: 
      conic-gradient(#0000 10%,#000),
      linear-gradient(#000 0 0) content-box;
    -webkit-mask: var(--_m);
            mask: var(--_m);
    -webkit-mask-composite: source-out;
            mask-composite: subtract;
    animation: l3 1s infinite linear;
  }
  @keyframes l3 {to{transform: rotate(1turn)}}
/*CHAT*/
/* RESPONSIVE */
@media (max-width: 991px) {
    .toggle-chat-btn{
        display: block;
        pointer-events: all;
    }
    #mensajes_container{
        right: 5rem !important;
    }
    #main_nav .btn-comuna{
        color: #FFFFFF !important;
    }
    #mensajes_container .btn-comuna{
        color: #FFFFFF !important;
    }
    .justify-center-lg{
        justify-content: center !important;
    }
    .periodo-action-container{
        flex-direction: column;
    }
    .hide-lg{
        display: none !important;
    }
    .mobile_version_container{
        display: block;
    }
    .pc_version_container{
        display: none;
    }
    .my_main_footer{
        background-color: white;
        bottom: -20px;
    }
    #botones_container{
        display: flex;
        justify-content: center;
    }
}
@media (max-width: 767px) {
    .row-reverse{
        flex-direction: column-reverse;
    }
    .table-responsive ul{
        padding-left: 4px;
    }
    .absolute-cont{
        position: relative;
        top: auto;
    }
    .tab-container .tab{
        font-size: small;
    }
    .table-row{
    	font-size: 14px;
    }
    #select_tipo_filtro{
        text-align: center;
    }
    #modal_cumplimiento_contrato .progress-bar-cont, #modal_cumplimiento .progress-bar-cont{
        width: 100%;
        margin-top: 10px;
    }
    #modal_cumplimiento_contrato .progress-bar-checklist, #modal_cumplimiento .progress-bar-checklist{
        width: 100% !important;
    }
    #chat_action_btn{
        gap: 0px;
    }
    .container
    {
        padding-top: 1rem;
        padding-left: 0px;
        padding-right: 0px;

    }
    [data-title]:after{
        left: 0px;
        width: 100%;
        padding: 1rem;
        transform: none;
    }
    .text-center-md{
        text-align: center;
    }
    .justify-center-md{
        justify-content: center;
    }
    #todolist_cont .btn-close-tab, #notificaciones_cont .btn-close-tab{
        display: block !important;
        border: none;
        position: absolute;
        right: 10px;
        top: -16px;
    }
    #todolist_cont, #notificaciones_cont{
        z-index: 150;
        left: 12px;
        min-width: 100%;
        min-height: 100%;
        right: 0px;
    }
    .notificaciones_tab_container{
        bottom: 60px !important;
    }
    .chat-inner{
        width: 100% !important;
        right: auto !important;
        left: 0px !important;
        height: 100% !important;
        bottom: 0px !important;
        max-height: calc(100% - 64px) !important;
        top: 64px;
        max-width: none !important;
    }
    .filter_item{
        
    }
}