/*
    DEMO STYLE
*/
@import "https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700";

@font-face {
  font-family: AvenirNextLTPro-Regular;
  src: url(../fonts-text/AvenirNextLTPro-Regular.otf);
}
@font-face {
  font-family: AvenirNextLTPro-MediumCn;
  src: url(../fonts-text/AvenirNextLTPro-MediumCn.otf);
}
:root {
  --color-primary: 22,105,47;
  --color-secondary: 65,128,84;
  --color-dangerS: 252, 75, 111; 
  --color-graylight: 248,248,248;
  --color-gray: 167, 172, 192;
}
body {
    /*font-family: 'Poppins', sans-serif;*/
    font-family: AvenirNextLTPro-Regular;
    background: #fafafa;
    line-height: 1.3;
    font-size:  0.70rem !important;
}


a, a:hover, a:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}

/* .navbar {
   /* padding: 15px 10px;
    background: #fff;
    border: none;
    border-radius: 0;
    margin-bottom: 40px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
} */

.navbar-btn {
    box-shadow: none;
    outline: none !important;
    border: none;
}

.nav-item.show {
    background: rgba(var(--color-secondary),0.16);
    color:  rgba(var(--color-secondary),1);
}

.line {
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed #ddd;
    margin: 40px 0;
}

/* ---------------------------------------------------
    Menu  STYLE
----------------------------------------------------- */

.wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
    perspective: 1500px;
}


#sidebar {
    min-width: 250px;
    max-width: 250px;
    transition: all 0.3s; 
    -webkit-box-shadow: 2px 0px 10px 2px rgba(0,0,0,0.45);
    -moz-box-shadow: 2px 0px 10px 2px rgba(0,0,0,0.45);
    box-shadow: 2px 0px 10px 2px rgba(0,0,0,0.45);
    /*transition: all 0.6s cubic-bezier(0.945, 0.020, 0.270, 0.665);
    transform-origin: bottom left;*/
    position: relative;   
}

#Content-C{
    width: calc(100% - 250px);
    margin-left: 250px; 
    position: absolute;
}

/*#sidebar.active {
    margin-left: -250px;
    /*transform: rotateY(100deg);*/

 #sidebar ul { 
    list-style:none; 
}

#sidebar ul li { 
    font-family:AvenirNextLTPro-MediumCn; 
}

#sidebar ul li a { 
    display:block;
}

#sidebar ul li > a .row { 
    height: 6vh;
}

#sidebar  ul li > a i { 
    color: var(--color-gray);
}

#sidebar ul li a:hover { 
    background: 0px rgba(var(--color-primary),0.16);
    color:rgba(var(--color-primary),1);
    /*box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(156, 39, 176, 0.4);*/
}

/* cuando se activa la casilla li background principal el segundo rgba sirve para cambiar el color de la sombra*/ 
#sidebar ul li.active > a i, #sidebar ul li.active > a{
    background: rgba(var(--color-graylight),1);
    color: rgba(var(--color-secondary),1) !important;
    /*box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(109,127,204, 0.4);*/
}
#sidebar ul li.active > a .row{
    border-left:5px solid rgba(var(--color-secondary),1); 
}

#sidebar ul li ul{
    background: rgba(var(--color-graylight),1);
}

#sidebar ul li ul li.active > a .row{
    border-left:0; 
}

  
/*background image Menu*/
.bi-Csidebar {
background-image: url(../image/sidebar-1.jpg);
z-index:1;
}

/*color sombreado de la imagen de fondo Menu*/

 .layer {
    /*background-color: rgba(255, 255, 255, 0.9);*/
    background-color: var(--white);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.bgt-Ccolor::after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  overflow:auto;  
  background:rgba(109, 127, 204, 0.8);
  z-index:-1;
}

/* ---------------------------------------------------
     Estilos GeneralesS
----------------------------------------------------- */
#content {
    width: 100%;
    padding: 20px;
    min-height: 100vh;
    transition: all 0.3s;
}

#sidebarCollapse {
    width: 40px;
    height: 40px;
    background: #f5f5f5;
    cursor: pointer;
}

#sidebarCollapse span {
    width: 80%;
    height: 2px;
    margin: 0 auto;
    display: block;
    background: #555;
    transition: all 0.8s cubic-bezier(0.810, -0.330, 0.345, 1.375);
    transition-delay: 0.2s;
}

#sidebarCollapse span:first-of-type {
    transform: rotate(45deg) translate(2px, 2px);
}
#sidebarCollapse span:nth-of-type(2) {
    opacity: 0;
}
#sidebarCollapse span:last-of-type {
    transform: rotate(-45deg) translate(1px, -1px);
}


#sidebarCollapse.active span {
    transform: none;
    opacity: 1;
    margin: 5px auto;
}

/*color background principal*/
.bg-Cprimary {
    background: rgba(var(--color-primary),5) !important;
}
.border-Cprimary {
  border-color: rgba(var(--color-primary)) !important;
  border-style:solid;
  border-width: 10%;
}

/*color background secundario*/
.bg-Csecondary {
    background: rgba(var(--color-secondary),1) !important;
}

.gbg-Cprimary {
    background-image: linear-gradient(90deg, rgba(var(--color-primary),1) , purple);
}

.gbg-Csecondary {
    background-image: linear-gradient(90deg, rgba(var(--color-secondary),1), blue);
}

/*Color texto  primario*/
.text-Cprimary {
    color: rgba(var(--color-primary),1) !important;
}

/*Color texto  secundario*/
.text-Csecondary {
    color: rgba(var(--color-secondary),1) !important;
}

/*Color texto rojo de salir secundario*/
.text-Cdanger {
    color: rgba(var(--color-dangerS),1) !important;
}
.text-purple {
    color: #800080; /* Color morado */
}
/*posicionar imagen de fondo*/

.full-Cimage {
    height: 100%; 
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
   }
/*imagen de fondo login*/
.bi-Clogin {
background-image: url(../image/img_login_sangabriel.jpg);
z-index:1;
}

/*radio del borde*/

.br-C20 {
    border-radius: 20px;
}

.br-C40 {
    border-radius: 40px;
}

/* cambiar alturas*/   

.h-C5 {
    height: 5%;
}
.h-C9 {
    height: 9%;
}
.h-C10 {
    height: 10%;
}
.h-C7 {
    height: 7%;
}
.h-C8 {
    height: 8%;
}
.h-C7_5 {
    height: 7.5%;
}

.h-C10 {
    height: 10%;
}
.h-C15 {
    height: 15%;
}
.h-C25 {
    height: 25%;
}
.h-C30 {
    height: 30%;
}
.h-C40 {
    height: 40%;
}
.h-C60 {
    height: 60%;
}
.h-C70 {
    height: 70%;
}
.h-C75 {
    height: 83%;
}
.h-C80{
    height: 85%;
}
.h-C85 {
    height: 85%;
}

.h-C90 {
    height: 90%;
}
.h-C92_5{
    height: 92.5%;    
}

.h-C93 {
    height: 93%;
}

.h-C95 {
    height: 95%;
}
/*cambiar tamaños*/
.w-C5 {
    width:5%;
}
.w-C10 {
    width:10%;
}
.w-C15 {
    width:15%;
}
.w-C25 {
    width:25%;
}
.w-C85 {
    width:85%;
}

.w-C90 {
    width:90%;
}
.w-C92_5{
    width:92.5%;    
}

.w-C93 {
    width:93%;
}

.w-C95 {
    width:95%;
}

/* Styles for wrapping the search box */

/* INput circular con icono interno*/

.i-Cinside .form-control {
    padding-left: 2.375rem;
    background-color: transparent;
}

.i-Cinside .form-control-feedback {
    position: absolute;
    z-index: 2;
    display: block;
    width: 2.375rem;
    height: 2.375rem;
    line-height: 2.375rem;
    text-align: center;
    pointer-events: none;
    color: #aaa;
}

.i-Cinside .form-control:focus {
    outline: none;
    border-color: rgba(var(--color-secondary),1);
    border-width: 2px;
    box-shadow: none;
    transition: all .2s ease-out;
    background-color: transparent;
}

.i-Cinside2 .form-control {
    background-color: transparent;
}

.i-Cinside2 .form-control:focus {
    outline: none;
    border-color: rgba(var(--color-secondary),1);
    border-width: 2px;
    box-shadow: none;
    transition: all .2s ease-out;
    background-color: transparent;
}



/* ---------------------------------------------------
    MEDIAQUERIES
----------------------------------------------------- */
@media (max-width: 768px) {
    #sidebar {
        margin-left: -250px;
        box-shadow: none;
    }

    #Content-C {
        width: 100%;
        margin-left:0; 
    }

    #Content-C.active {
        background-color: rgba(0,0,0,0.4); 
    }
    #Content-C.active > div.container-fluid{
        z-index: -1;
        position: absolute;
    }
    #sidebar.active {
        margin-left: 0;
        z-index: 1;
    }
    #sidebarCollapse span:first-of-type,
    #sidebarCollapse span:nth-of-type(2),
    #sidebarCollapse span:last-of-type {
        transform: none;
        opacity: 1;
        margin: 5px auto;
    }
    #sidebarCollapse.active span {
        margin: 0 auto;
    }
    #sidebarCollapse.active span:first-of-type {
        transform: rotate(45deg) translate(2px, 2px);
    }
    #sidebarCollapse.active span:nth-of-type(2) {
        opacity: 0;
    }
    #sidebarCollapse.active span:last-of-type {
        transform: rotate(-45deg) translate(1px, -1px);
    }

}

/* ---------------------------------------------------
    scroll personalizado
----------------------------------------------------- */
/* width */
::-webkit-scrollbar {
  width: 5px;
  height: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px rgba(var(--color-secondary),0.4); 
  border-radius: 10px;
}
 
/* Handle */
::-webkit-scrollbar-thumb {
  background: rgba(var(--color-secondary),1); 
  border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: rgba(var(--color-secondary),0.4); 
}

/* ---------------------------------------------------
    Paginacion
----------------------------------------------------- */
.pagination {
  display: inline-block;
}

.pagination a {
  float: left;
  padding: 4px 12px;
  color: rgba(var(--color-gray),1);
}

.pagination a:hover { 
    background: 0px rgba(var(--color-secondary),0.16);
    color:  rgba(var(--color-secondary),1);
}

.pagination a.active {
  color: var(--white);
  float: left;
  padding: 4px 12px;
  text-decoration: none;
  background-color: rgba(var(--color-secondary),1);
}

/* ---------------------------------------------------
    Table
----------------------------------------------------- */
.tableC {
    margin-bottom: 0;
}
.tableC thead th {
  border-top: none;
}
 .tableC th, .tableC td {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 1.55vh;
}

/*.first-col {
    position: absolute;
    width: 3em;
    margin-left: -2em;
}*/
.last-col {
    position: absolute;
    width: 100px; 
    right: 10px;
}
.table-wrapper {
    overflow-x: scroll;
    width: calc(100% - 100px);
}

/* ---------------------------------------------------
    modal derecho
----------------------------------------------------- */
.crudC {
  z-index:100;
  background-color: rgba(0,0,0,0.4);
}

/* ---------------------------------------------------
    Input personalizado  borde inferior
----------------------------------------------------- */
.Cinput .form-group {
  position: relative;
  margin: 20px auto !important;
}

.Cinput .form-control {
    position: relative;
    border: none;
    border-bottom: 1px solid rgba(var(--color-gray),1);
    height:calc(1.2em + .6rem + 2px);
    font-size: 15px;
    background-color: transparent;
}

.Cinput .form-group label {
    position: absolute;
    top: 5px;
    color: rgba(var(--color-gray),1);
    font-size: 15px;
}

.Cinput .form-control:focus {
    outline: none;
    border-color: rgba(var(--color-secondary),1);
    border-width: 2px;
    box-shadow: none;
    transition: all .2s ease-out;
    background-color: transparent;
}

.Cinput .form-control:focus + label, .Cinput .form-control.has-value + label {
    top: -11.5px;
    color: rgba(var(--color-secondary),1);
    font-size: 12px;
}
 .Cinput .form-control.has-value:not(:focus){
    border-color: rgba(var(--color-secondary),1);
    border-width: 2px;
}

/* ---------------------------------------------------
    Input personalizado  borde inferior
----------------------------------------------------- */
.Cinput2 .form-group {
  position: relative;
  margin: 10px auto !important;
}

.Cinput2 .form-control {
    position: relative;
    padding: 10px 8px 0px 8px;
    height:calc(1.2em + 1rem + 10px);
    border: 1px solid rgba(var(--color-gray),1);
    font-size: 15px;
    background-color: rgba(var(--color-graylight),1);
}

.Cinput2 .form-group label {
    position: absolute;
    top: 14px;
    left: 10px;
    color: rgba(var(--color-gray),1);
    font-size: 15px;
}

.Cinput2 .form-control:focus {
    outline: none;
    border-color: rgba(var(--color-secondary),1);
    border-width: 2px;
    box-shadow: none;
    transition: all .2s ease-out;
}

.Cinput2 .form-control:focus + label, .Cinput2 .form-control.has-value + label {
    top: 5px;
    color: rgba(var(--color-secondary),1);
    font-size: 10px;
}
 .Cinput2 .form-control.has-value:not(:focus){
    border-color: rgba(var(--color-secondary),1);
    border-width: 2px;
}

/* ---------------------------------------------------
    Color  y background de los poppus
----------------------------------------------------- */

.popover-body {
    color: rgba(var(--color-primary),1) !important;
    background-color: rgba(var(--color-primary),0.16) !important;
}

/* ---------------------------------------------------
    scroll vertical
----------------------------------------------------- */

.overflow-y {
    overflow-y: auto; 
}
.overflow-hx {
    overflow-x: hidden; 
}

/* ---------------------------------------------------
  palabra en mitad de dos lineas
----------------------------------------------------- */
.lineWordMiddle {
    overflow: hidden;
    text-align: center;
}
.lineWordMiddle:before,
.lineWordMiddle:after {
    background-color: rgba(var(--color-gray),1);
    content: "";
    display: inline-block;
    height: 1px;
    position: relative;
    vertical-align: middle;
    width: 32%;
}
.lineWordMiddle:before {
    right: 0.5em;
    margin-left: -50%;
}
.lineWordMiddle:after {
    left: 0.5em;
    margin-right: -50%;
}

/* ---------------------------------------------------
  estilos de las notificaciones
----------------------------------------------------- */

.p-C3truncate {
  display: block; /* Fallback for non-webkit */
  display: -webkit-box;
  max-height: 65px; /* Fallback for non-webkit */
  margin: 0 auto;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-point]:after {
    content: attr(data-point);
    position: absolute;
    height: 100%;
    width: 13px;
    top: 0;
    background-image: radial-gradient(circle at center, red 6px, transparent 5px);
    background-size: 20px 20px;
    background-position: top center, bottom center;
    background-repeat: no-repeat;
    color: var(--white);
    font-size: 8px;
    padding-top: 5px;
    text-align: center; 
}

[data-point]:after {
    right: 5px;
}


.div-Custom {  
    width: 300px;
    max-height: 420px;
    margin: 0.125rem -16rem 0;
    overflow-y: auto;
}

/* ---------------------------------------------------
    circulo 
----------------------------------------------------- */

.circular-image {
    position: relative;
    border-radius: 50%;
    float: left;
    border: 1px solid black;
    width: 100%;
    height: 100%;
    background-image: url(../image/perfil.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.stepCircle span {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 2em;
  border-radius: 1em;
  background: rgba(var(--color-primary),1);
  /*background-image: radial-gradient(white 10%, blue 60%);*/
  margin: 0 0.3em;
  display: inline-block;
  color: white;
  position: relative;
}

.stepCircle span::before{
  content: '';
  position: absolute;
  top: 0.4em;
  left: -1em;
  width: 2em;
  height: .2em;
  background: rgba(var(--color-primary),1);
  z-index: -1;
}


.stepCircle span:first-child::before {
  display: none;
}

.stepCircle span.active {
  background-image: radial-gradient(white 10%, rgba(var(--color-primary),1) 60%);
}

.stepCircle .active ~ span {
  background: rgba(var(--color-gray),1);
}

.stepCircle .active ~ span::before {
  background: rgba(var(--color-gray),1);
}

/* ------------------- logo de imagen fondo-------------------- */


.backgroundicon{
    background-image: url("../../../media/general/fondologo.png");
    background-repeat: no-repeat;
    background-position: bottom right;
  }
/* -------------------clases para autocompletar, estas clases son propias de la libreria del autocompletar -------------------- */
.autocomplete-suggestions { 
  -webkit-box-sizing: border-box; 
  -moz-box-sizing: border-box; 
  box-sizing: border-box; 
  background: var(--white);
  border: 1px solid rgba(var(--color-secondary),1); 
  cursor: pointer;
  overflow: auto;
  /*margin-top: -5px;*/ 
  -webkit-box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); 
  -moz-box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); 
  box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); 
}
.autocomplete-suggestion { 
  white-space: nowrap; 
  overflow: hidden; 
}

.autocomplete-selected { 
  background: rgba(var(--color-graylight),1); 
}
.autocomplete-suggestions strong { 
  font-weight: bold; 
  color: var(--black); 
}
/* estilo para caledario */
#calendar {
    max-width: 900px;
    margin: 0 auto;
}
/*--------------------------------------------------------------------------------------------*/
/*-----------------colores del calendario-----------------------------------------------------*/
/*--------------------------------------------------------------------------------------------*/
.fc-button-primary:not(:disabled):active, .fc-button-primary:not(:disabled).fc-button-active {
    color: rgba(var(--black),1) !important;
    background-color: rgba(var(--color-gray),1) !important;
    border-color: #28a745 !important;
}

.fc-button-primary {
    color: #fff;
    background-color: rgba(var(--color-secondary),1) !important;
    border-color: #2c502d !important;
}
/*------------------------- tex area fijo --------------------------*/
.inputarea {
  width: 100%;
  height: 70px !important;
  line-height: 18px;
}

/*-------- Clases Sobrescritas Autocompletar------*/

ul.ui-autocomplete {
  background-color: white;
  position: absolute;
  border: 1px var(--color-primary) solid;
  padding-left: 8px; 
}

ul.ui-autocomplete li{
  list-style-type: none;
  padding:2px;
} 
ul.ui-autocomplete li:hover{
  background: rgba(var(--color-secondary),0.3);

} 
ul.ui-autocomplete li .ui-state-active{
  background: rgba(var(--color-secondary),0.3);
}

[aria-live="assertive"], .ocultar-error-modal{
  display: none;
}

/*-------- Estilo Modal Historial Servicios------*/
.dataModal {
    display: grid;
    grid-template-columns: repeat(2,1fr);
}

.dataModal p{
    font-size: 20px;
}

@media print {
    .page-footer {
      position: fixed;
      bottom: 0;
      width: 100%;
    }

    .page-header {
      position: fixed;
      top: 0;
      width: 100%;
    }
    .page-header, .page-header-space {
      height: 200px;
    }

    .page-footer, .page-footer-space {
      height: 150px;
    }

    div.saltopagina{
      display:block;
      page-break-before:always;
    }

}

.z-C1{
    z-index:1;
}

/* Header estaticos */
.contenedor-tabla {
    max-height: 500px;
    overflow: auto;
    display: inline-block;
  }
  
  table {
    position: relative;
  }
  
.contenedor-tabla thead th {
    position: sticky;
    top: 0;
    background: #fafafa;
    z-index: 1;
    border-bottom: 2px solid;
  }
  
  th,
  td {
    padding: 0.7rem;
  }

  #miTabla {
  font-size: 10px;
}

#miTabla thead {
  background-color: #f4f4f4;
}

#miTabla th, #miTabla td {
  text-align: center;
}

#miTabla th {
  color: #333;
  font-weight: 800;
}

.loading {
  position: fixed; /* o absolute */
  z-index: 9999;
  height: 2rem;
  width: 2rem;
  overflow: visible;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

#multipleSelect{
  max-width: 100%;
  width: 700px;    
}

#emptyDataFrameModal .modal-dialog {
    margin-top: 90px; /* Ajusta este valor según lo que necesites */
    transform: none; /* Asegúrate de quitar cualquier transformación previa */
}


#emptyDataFrameModal .show .modal-dialog {
    transform: translateY(0);
    opacity: 1;
}

#emptyDataFrameModal.modal-content {
    border-color: #006400; /* Verde oscuro */
}

#emptyDataFrameModal .btn {
    background-color: #006400; /* Verde oscuro */
    color: white;
    border: none;
}

#emptyDataFrameModal .btn:hover {
    background-color: #004d00; /* Un tono más oscuro para el hover */
}

#emptyDataFrameModal .modal-content {
    box-shadow: 0 5px 15px rgba(0, 100, 0, 0.5); /* Sombra verde suave */
}

/* Estilos para el spinner (ajústalos según tu diseño) */
#spinner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.8);
  padding: 20px;
  border-radius: 5px;
  text-align: center;
  display: none;
}

