/* FLEX ADMIN CORE CSS */

/* We've used some big text art as comments to split up our sections for easy readability. This works great with a text editor like Sublime Text! */

/* Global Styles
                                                                                                     
       ,o888888o.    8 8888         ,o888888o.     8 888888888o          .8.          8 8888         
      8888     `88.  8 8888      . 8888     `88.   8 8888    `88.       .888.         8 8888         
   ,8 8888       `8. 8 8888     ,8 8888       `8b  8 8888     `88      :88888.        8 8888         
   88 8888           8 8888     88 8888        `8b 8 8888     ,88     . `88888.       8 8888         
   88 8888           8 8888     88 8888         88 8 8888.   ,88'    .8. `88888.      8 8888         
   88 8888           8 8888     88 8888         88 8 8888888888     .8`8. `88888.     8 8888         
   88 8888   8888888 8 8888     88 8888        ,8P 8 8888    `88.  .8' `8. `88888.    8 8888         
   `8 8888       .8' 8 8888     `8 8888       ,8P  8 8888      88 .8'   `8. `88888.   8 8888         
      8888     ,88'  8 8888      ` 8888     ,88'   8 8888    ,88'.888888888. `88888.  8 8888         
       `8888888P'    8 888888888888 `8888888P'     8 888888888P .8'       `8. `88888. 8 888888888888 

*/
.modal-open {
    overflow: scroll !important;
}

.top-spaced{
    margin-top:15px
}

.required-left:before {
    content: '* ';
    color: #F00;
    font-weight: bold;
}

.plus-left:before {
    content: '+ ';
    color: #007bff;
    font-weight: bold;
    margin-right: 2px;
    font-size: 20px;
}

.minus-left:before {
    content: '- ';
    color: #007bff;
    font-weight: bold;
    margin-right: 2px;
    font-size: 20px;
}

.disabled:before{
    color: #b9b9b9 !important;
}

label {
  font-weight: 400 !important;
}

.input-custom{  
  border: 0;
  border-bottom: 1;
  border-bottom: 1px solid rgba(0,0,0,0.12);
  border-radius:0;
}

.card-custom {
  box-shadow: none;
  border-radius: 0;
}

.card-custom>.card-header-custom {
  border-bottom: 1px solid rgba(0,0,0,.125);
  padding-left:0;
}

.btn-group-xs > .btn, .btn-xs {
    padding  : .25rem .4rem;
    font-size  : .875rem;
    line-height  : .5;
    border-radius : .2rem;
    min-width: 27px !important;
}

.bg-warning, .bg-warning>a {
  color: #ffffff!important;
}

.bg-warning {
  background-color: #ecb819!important;
}

.small-box .icon>i.fa, .small-box .icon>i.fab, .small-box .icon>i.far, .small-box .icon>i.fas, .small-box .icon>i.glyphicon, .small-box .icon>i.ion {
  font-size: 40px;
  top: 5px;
}

.small-box:hover .icon>i.fa, .small-box:hover .icon>i.fab, .small-box:hover .icon>i.far, .small-box:hover .icon>i.fas, .small-box:hover .icon>i.glyphicon, .small-box:hover .icon>i.ion {
  font-size: 45px;
}

.margin-bottom-none{
  margin-bottom:0;
}

.padding-bottom-none{
  padding-bottom:0;
}

.padding-side-none{
  padding-left:0;
  padding-right:0;
}

.padding-right-none{
  padding-right:0;
}

.padding-left-none{
  padding-right:0;
}

.box-shadow-none{
  box-shadow:none;
}

.border-bottom-none{
  border-bottom:none !important;
}

/* Custom Table Styles

  8888888 8888888888   .8.          8 888888888o   8 8888         8 8888888888     d888888o.   
        8 8888        .888.         8 8888    `88. 8 8888         8 8888         .`8888:' `88. 
        8 8888       :88888.        8 8888     `88 8 8888         8 8888         8.`8888.   Y8 
        8 8888      . `88888.       8 8888     ,88 8 8888         8 8888         `8.`8888.     
        8 8888     .8. `88888.      8 8888.   ,88' 8 8888         8 888888888888  `8.`8888.    
        8 8888    .8`8. `88888.     8 8888888888   8 8888         8 8888           `8.`8888.   
        8 8888   .8' `8. `88888.    8 8888    `88. 8 8888         8 8888            `8.`8888.  
        8 8888  .8'   `8. `88888.   8 8888      88 8 8888         8 8888        8b   `8.`8888. 
        8 8888 .888888888. `88888.  8 8888    ,88' 8 8888         8 8888        `8b.  ;8.`8888 
        8 8888.8'       `8. `88888. 8 888888888P   8 888888888888 8 888888888888 `Y8888P ,88P' 

*/

 table {
    font-size: 12.5px;
}

.dt-buttons{
    margin-bottom:15px;
}

.dataTables_length{
    width :50% !important;
}

.dataTables_filter{
    width :50% !important;
    float: right;
    text-align: right;
}



/* Custom Checkbox Styles

  .oooooo.   ooooo   ooooo oooooooooooo   .oooooo.   oooo    oooo oooooooooo.    .oooooo.   ooooooo  ooooo 
 d8P'  `Y8b  `888'   `888' `888'     `8  d8P'  `Y8b  `888   .8P'  `888'   `Y8b  d8P'  `Y8b   `8888    d8'  
888           888     888   888         888           888  d8'     888     888 888      888    Y888..8P    
888           888ooooo888   888oooo8    888           88888[       888oooo888' 888      888     `8888'     
888           888     888   888    "    888           888`88b.     888    `88b 888      888    .8PY888.    
`88b    ooo   888     888   888       o `88b    ooo   888  `88b.   888    .88P `88b    d88'   d8'  `888b   
 `Y8bood8P'  o888o   o888o o888ooooood8  `Y8bood8P'  o888o  o888o o888bood8P'   `Y8bood8P'  o888o  o88888o 

*/
.span_pseudo, .chiller_cb span:before, .chiller_cb span:after {
  content: "";
  display: inline-block;
  background: #fff;
  width: 0;
  height: 0.2rem;
  position: absolute;
  transform-origin: 0% 0%;
}

.chiller_cb {
  position: relative;
  height: 2rem;
  display: flex;
  align-items: center;
}
.chiller_cb input {
  display: none;
}
.chiller_cb input:checked ~ span {
  background: #28a745;
  border-color: #28a745;
}
.chiller_cb input:checked ~ span:before {
  width: 1rem;
  height: 0.15rem;
  transition: width 0.1s;
  transition-delay: 0.3s;
}
.chiller_cb input:checked ~ span:after {
  width: 0.4rem;
  height: 0.15rem;
  transition: width 0.1s;
  transition-delay: 0.2s;
}
.chiller_cb input:disabled ~ span {
  background: #ececec;
  border-color: #dcdcdc;
}
.chiller_cb input:disabled ~ label {
  color: #dcdcdc;
}
.chiller_cb input:disabled ~ label:hover {
  cursor: default;
}
.chiller_cb label {
  padding-left: 2rem;
  position: relative;
  z-index: 2;
  cursor: pointer;
  margin-bottom:0;
}
.chiller_cb span {
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  border: 2px solid #ccc;
  position: absolute;
  left: 0;
  transition: all 0.2s;
  z-index: 1;
  box-sizing: content-box;
}
.chiller_cb span:before {
  transform: rotate(-55deg);
  top: 1rem;
  left: 0.37rem;
}
.chiller_cb span:after {
  transform: rotate(35deg);
  bottom: 0.35rem;
  left: 0.2rem;
}

table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc, table.dataTable thead > tr > th.sorting, table.dataTable thead > tr > td.dt-orderable-asc, table.dataTable thead > tr > td.dt-orderable-desc, table.dataTable thead > tr > td.sorting {
    padding-right: 30px;
    background-color: #40586f;
    color: white;
}

ul.pagination{float: right;}
div.dt-search{float: right;}

.badge {
    padding: 0.37em .37em;
    font-size: 90%;
}

.btn-group-xs > .btn, .btn-xs {
    padding: 0.45rem .4rem;
}

.bg-teal {
    background-color: #28a745!important;
}

.card-header {
    background-color: azure;
}

.badge-navy {
  color: #ffffff;
  background-color: #001f3f;
}



.spinner {
  height: 60px;
  width: 60px;
  margin: auto;
  display: flex;
  position: absolute;
  -webkit-animation: rotation .6s infinite linear;
  -moz-animation: rotation .6s infinite linear;
  -o-animation: rotation .6s infinite linear;
  animation: rotation .6s infinite linear;
  border-left: 6px solid rgba(0, 174, 239, .15);
  border-right: 6px solid rgba(0, 174, 239, .15);
  border-bottom: 6px solid rgba(0, 174, 239, .15);
  border-top: 6px solid rgba(0, 174, 239, .8);
  border-radius: 100%;
}

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
  }
}

@-moz-keyframes rotation {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(359deg);
  }
}

@-o-keyframes rotation {
  from {
    -o-transform: rotate(0deg);
  }
  to {
    -o-transform: rotate(359deg);
  }
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

#overlay {
  position: absolute;
  display: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 2;
  cursor: pointer;
}

.tab-content{
  border: solid 1px #cacaca;
}

.nav-tabs {
    margin-bottom: -1px;
}

.nav-tabs .nav-link {
    color: #495057;
    border-color: #b9c8da #b9c8da #fff;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #007bff;
    background-color: #f0fefe;
    border-color: #459bfa #459bfa #cacaca;
}

.pseudo_border {
    position:relative;
}
.pseudo_border:after {
    content:'';
    position:absolute;
    left:0; right:0;
    top:100%;
    margin:10px auto;
    width:70%;
    height:1px;
    background:#c0c5cb;
}

.img-size-120 {
  width: 120px;
}

.img-size-180 {
  width: 180px;
}

.img-size-200 {
  width: 200px;
}

.img-circle.img-size-64 {
  height: 64px;
  object-fit: cover;
}

.img-circle.img-size-50 {
  height: 50px;
  object-fit: cover;
}

.img-circle.img-size-32 {
  height: 32px;
  object-fit: cover;
}

.img-circle.img-size-120 {
  height: 120px;
  object-fit: cover;
}

.img-circle.img-size-180 {
  height: 180px;
  object-fit: cover;
}

.img-circle.img-size-200 {
  height: 200px;
  object-fit: cover;
}


.float-center {
  margin: auto;
  display: block;
}

#cargando {
    color: white;
    background-color: rgba(15, 15, 15, 0.28);
    position: absolute;
    z-index: 100;
    top: 46px;
    right: 0;
    left: auto;
    width: 100%;
    height: 19px;
    text-align: center;
}
#cargando > p {
    margin-top: -1px;
    font-size: 15px;
    font-weight: 600;
}

.circle-icon {
    background: #00b6ff;
    padding: 19px;
    border-radius: 50%;
    color: #fff;
    margin: auto;
    display: block;
    width: 80px;
    height: 80px;
}

.mdi{
  font-size: 1.2rem;
}
.btn > .mdi{
    /*
    si comentar el display: block;
    trae problemas en otra parte, entonces descomentar
    y cuando se utilice un .btn > .mdi y sea necesario
    agregarle la clase di-ib para corregir la posición del icono
     */
    /*display: block;*/
    margin-left: -.15rem;
    margin-top: -.3rem;
}
.btn-square{
    width: 30px;
    height: 30px;
    margin-top: -.3rem;
}
.btn-square-text {
    display: flex;
    width: auto;
}
.btn-square-text > .mdi{
    margin-right: .2em;
}
li > a > i.mdi {
  margin-left: -.2em;
}

.di-in{
  display: inherit !important;
}
.di-fl{
  display: flex !important;
}
.di-bl{
  display: block !important;
}
.di-ib{
  display: inline-block !important;
}

.text-center{
  text-align: center;
}

.text-white{
  color: #fff!important;
}

.text-dark{
  color: #1f2d3d!important;
}

.custom-tooltip{
    margin-left: 10px;
    font-size: 0.7rem;
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5;
    padding: 5px;
    width: 90%;
}

.anti-margin-top-15{
  margin-top: -15px;
}

.dropdown-menu.dropdown-menu-opciones-bandeja{
  position: absolute; 
  transform: translate3d(-15px, -84px, 0px); 
  top: 0px; 
  left: 0px; 
  will-change: transform;
  overflow: scroll; 
  max-height: 300px;
}

.dropdown-menu-opciones-bandeja::-webkit-scrollbar {
    width: 5px;
}

.dropdown-menu-opciones-bandeja::-webkit-scrollbar-thumb {
  background-color: gray;
}



.callout-user-notification{
  max-height: 59.2px;
  height: auto;
  padding-bottom: 1rem!important;
  padding-left: 1rem!important;
  padding-right: .25rem!important;
  padding-top: .25rem!important;
  margin-bottom: 0!important;
}

.callout-user-notification-text{
  display: -webkit-box;
  max-height: 59.2px;
  height: auto;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.625;
  white-space: initial;
}

.user-notification-buttons{
  padding-right: 0;
}

.user-notification-buttons > .btn-group{
  width: 100%;
  height: 100%;
  padding: 0;
  margin-top: -4px;
  margin-bottom: -1px;
}

.user-notification-buttons > .btn-group > button:hover{
  background-color: #e4e4e4;
}

.notification-button{
    border-radius: 3px;
    background-color: #f8f9fa;
    border: 1px solid #ddd;
    color: #6c757d;
    text-align: center;
    height: 52px;
}
.btn.notification-button {
  font-size: 1.2rem !important;
}

.user-notifications > .dropdown-item.active, .dropdown-item:active {
     color: #212529; 
    text-decoration: none;
    background-color: #dbddde;
}

.user-notifications > .dropdown-item.active, .dropdown-item:active > .callout-user-notification{
    color: #3a444e; 
    text-decoration: none;
    background-color: #dbddde;
}

.dropdown-menu-xxl {
  max-width: 520px;
  min-width: 460px;
  padding: 0;
}

.new-notification-user{
    writing-mode: vertical-lr;
    padding-top: 2px;
    text-orientation: upright;
    background-color: #ff9090;
    color: #ffffff;
    margin-left: -17px;
    margin-top: -4px;
    margin-bottom: -2px;
    letter-spacing: -.3em;
    text-transform: uppercase;
    min-height: 60px;
}

.user-notifications::-webkit-scrollbar {
    width: 5px;
}

.user-notifications::-webkit-scrollbar-thumb {
  background-color: gray;
}

.dropdown-divider-notifications{
    height: 0;
    margin: .2rem 0;
    overflow: hidden;
    border-top: 1px solid #e9ecef;
}

.callout.callout-gray {
    border-left-color: #6c757d;
}

.img-preview {
  max-width: 100%;
 }

 .sistema_metrico{
  color:#3364A2;
 }

 .sistema_imperial{
  color:#35987D;
 }

 .height-100{
  height: 100%;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance:textfield;
}

/* Overwrite the default to keep the scrollbar always visible */

::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
    height: 7px;
}

::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0,0,0,.5);
    -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}

.no-bullets {
    list-style-type: none;
}

.alert-info-light {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}
.input-group-addon {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  font-family: 'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;
  border-collapse: separate;
  box-sizing: border-box;
  display: table-cell;
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
  font-size: 14px;
  padding-top: 5px;
  padding-right: 28px;
  padding-bottom: 15px;
  padding-left: 8px;
  font-weight: 400;
  line-height: 1;
  color: #555;
  text-align: center;
  border: 1px solid #ccc;
  border-left: 0;
  border-radius: 0;
  border-color: #d2d6de;
  background-color: #e8e8e8;
  height: 75%;
}

.input-group-addon-hover:hover{
  background-color: #bfbfbfe0;
}

.text-warning {
  color: #ecb819!important;
}
.text-success {
  color: #28a745!important;
}
.text-primary {
  color: #007bff!important;
}

.text-secondary {
  color: #6c757d!important;
}

.hide{
  display: none;
}

.xmodal-scroll::-webkit-scrollbar {
  width: 12px;
  background-color: #aecee8;
}

.xmodal-scroll::-webkit-scrollbar-thumb {
  background-color: #77ace2;
}

.btn-outline-custom {
  font-weight: 500 !important;
  color: #171718;
  border-color: #5486c0;
}

.btn-outline-custom:not(:disabled):not(.disabled).active,
.btn-outline-custom:not(:disabled):not(.disabled):active,
.show>.btn-outline-custom.dropdown-toggle {
  color: #fff;
  background-color: #5486c0;
  border-color: #5486c0;
}

.btn-outline-custom:not(:disabled):not(.disabled):hover {
  color: #fff;
  background-color: #456fa0;
  border-color: #456fa0;
}

.top-menu-box-module{
  width: 36px;
  height: 33px;
  text-align: center;
  /*border: 3px solid #ffffff57;*/
  border-right: 2px solid #ffffff57;
  /* border-radius: 9px;*/
  transition: all .1s ease-in-out;
}
.top-menu-box-module-selected{
  /*border-bottom: 2px solid #ffffff57;*/
  background-color: #1d9add;
  border-radius: 6px;
}
  /* border-radius: 9px;*/

.top-menu-box-module:hover {
  transform: scale(1.1);
}

.dividir_preguntas > h5 > hr{
  border-top: 2px solid #007bff30!important;
}

.textarea-char-count {
  position: relative;
}

.textarea-char-count .char-count {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 12px;
  color: #888;
}

.textarea-char-count .char-count span {
  font-weight: bold;
}


.color-list {
  display: flex;
  /*display: block;
  flex-direction: column;
  align-items: center;*/
}

.color-item {
  padding: 5px;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.color-circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin-right: 10px;
  display: inline-block;
}

.color-list > .color-item:hover {
  transform: scale(1.1); /* Hace crecer el div un 10% */
  border: 3px solid #ccc; /* Agrega un borde gris claro */
  border-radius: 5px; /* Esquinas redondeadas para el borde */
}

.select2-selection__rendered {
  line-height: 19px !important;
}
.select2-container .select2-selection--single {
  height: 31px !important;
}
.select2-selection__arrow {
  height: 28px !important;
}

.badge-danger-custom{
  background-color: #ff6961;
}

.badge-warning-custom{
  background-color: #f6f667;
}

.badge-success-custom{
  background-color: #77dd77;
}

.badge-info-custom{
  background-color: #84b6f4;
}

.badge-pink-custom{
  background-color: #fdcae1;
}

.dot {
  height: 10px;
  width: 10px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
}

.scrollable-div {
  height: 400px; /* Altura deseada del div */
  overflow: auto; /* Añade scroll si el contenido excede la altura */
  border: 1px solid #ccc; /* Opcional: Añadir un borde para mayor claridad */
}



.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow {
  top: 3% !important;
}

.icon-modulo-big{
  width: 154px !important;
}

.control-sidebar::before{
  top:50px !important;
}

.callout-user-notification:hover{
  max-height: none;
  padding-bottom: 0.1rem !important;
}
.callout-user-notification-text:hover{
  max-height: none;
  -webkit-line-clamp: unset;
}

.alert {
  cursor: help;
  box-shadow: 0 0 0 0 rgba(185, 8, 8, .8);
  -webkit-animation: pulse 2.5s infinite;
}

.alert:hover {
  -webkit-animation: none;
}

@-webkit-keyframes pulse {
  0% {
    transform: scale(1);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 5px rgba(185, 8, 8, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(185, 8, 8, 0);
  }
}


.button-export-dt{
  margin-right: 0;
  margin-left: auto;
  display: block;
}

img[src=""] {
  position: relative; /* Asegura que el contenedor sea relativo */
  background-color: #f0f0f0; /* Color de fondo de carga */
  display: inline-block; /* Asegura que el contenedor tenga el tamaño de la imagen */
}

img[src=""]::before {
  content: "Loading..."; /* Texto que se mostrará mientras carga */
  position: absolute; /* Coloca el texto sobre el contenedor */
  top: 50%; /* Ajusta la posición verticalmente */
  left: 50%; /* Ajusta la posición horizontalmente */
  transform: translate(-50%, -50%); /* Centra el texto */
  color: #666; /* Color del texto */
  font-size: 14px; /* Tamaño de fuente */
}

.adjunto-progress-container {
  width: 100%;
  background-color: #f3f3f3;
  margin-top: 20px;
  display: none;
  }

.adjunto-progress-bar {
  width: 0;
  height: 30px;
  background-color: #4caf50;
  text-align: center;
  color: white;
  line-height: 30px;
}

/* Pruebas */
/*
.text-primary {
    color: #ffffff !important;
}
.card-header {
    background-color: #4c92cb !important;
}
*/

.total-eventos-img {
    border-top-left-radius: 9px !important;
    border-bottom-left-radius: 9px !important;
    background-color: #ffcc3b !important;
}