@font-face {
  font-family: "Photography Signature";
  src: url("../lib/fonts/Photography\ Signature\ 400.ttf") format("opentype");
}

@font-face {
  font-family: "KH Interference";
  src: url("../lib/fonts/Mistrully.ttf") format("opentype");
}

@font-face {
  font-family: "Gothams";
  src: url("../lib/fonts/Gotham-Medium\ 500.ttf") format("opentype");
}

@font-face {
  font-family: "MoonHeavy";
  src: url("../lib/fonts/MOONHeavy\ 800.otf") format("opentype");
}

@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600&display=swap");

body {
  font-family: "Rubik", sans-serif;
}

:root {
  --color-header: #597592;
}

body {
  padding-top: constant(safe-area-inset-top);
  padding-top: env(safe-area-inset-top);
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

/* Estilo normal del scrollbar */
html {
  scrollbar-width: thin; /* thin = aprox. 5-6px */
  scrollbar-color: #597592e7 #f5f7ff9a;
}

.modal.fade .modal-dialog {
  transition: transform 0.15s ease-out; /* de 0.3s a 0.15s */
}
.modal.fade.show .modal-dialog {
  transform: translate(0, 0);
}

.spinnercarga {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(107, 106, 117, 0.123);
  z-index: 1055;
}

.loader {
  position: absolute;
  top: 45%;
  left: 48%;
  transform: translate(-50%, -50%);
  animation: rotate 1s infinite;
  height: 65px;
  width: 65px;
}

.loader:before,
.loader:after {
  border-radius: 50%;
  content: "";
  display: block;
  height: 20px;
  width: 20px;
}
.loader:before {
  animation: ball1 1s infinite;
  background-color: #fff;
  box-shadow: 30px 0 0 #697786;
  margin-bottom: 10px;
}
.loader:after {
  animation: ball2 1s infinite;
  background-color: #697786;
  box-shadow: 30px 0 0 #fff;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(0.8);
  }
  50% {
    transform: rotate(360deg) scale(1.2);
  }
  100% {
    transform: rotate(720deg) scale(0.8);
  }
}

@keyframes ball1 {
  0% {
    box-shadow: 30px 0 0 #697786;
  }
  50% {
    box-shadow: 0 0 0 #697786;
    margin-bottom: 0;
    transform: translate(15px, 15px);
  }
  100% {
    box-shadow: 30px 0 0 #697786;
    margin-bottom: 10px;
  }
}

@keyframes ball2 {
  0% {
    box-shadow: 30px 0 0 #fff;
  }
  50% {
    box-shadow: 0 0 0 #fff;
    margin-top: -20px;
    transform: translate(15px, 15px);
  }
  100% {
    box-shadow: 30px 0 0 #fff;
    margin-top: 0;
  }
}

/*Estilos globales de lrdsolutions*/
.scroll-no {
  overflow-y: hidden;
  overflow-x: hidden;
}

.body-color {
  background-color: aliceblue;
}

/*Utilzado para poder acomodar todos los elementos y se vayan recorriendo para abajo si es que se excede del contenedor*/
.rowcrg {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.rowcrg-nocentrar {
  display: flex;
  flex-wrap: wrap;
}

/*Asigna al elemento que tenga esta clase un display especifico para poder tomar herramientas de display sin tener que escribir display en cada unoa de ellas*/
.display-f {
  display: flex;
}

/*Utilzado para poder acomodar todos los elementos y se vayan recorriendo para abajo si es que se excede del contenedor*/
.display-l {
  display: inline;
}

/*Utilzado para poder acomodar todos los elementos y se vayan recorriendo para abajo si es que se excede del contenedor*/
.display-b {
  display: block;
}

/*Utilzado para poder acomodar todos los elementos y se vayan recorriendo para abajo si es que se excede del contenedor*/
.display-no {
  display: none;
}

/*Have que un nav o cualquier otra cosa horizontal se haga vertical*/
.flex-column {
  flex-direction: column;
}

/*Have que un nav o cualquier otra cosa horizontal se haga vertical*/
.flex-row {
  flex-direction: row;
}

/*Alinea el texto en medio/ Justificado enmedio*/
.alinear-center {
  text-align: center;
}

/*Alinear texto a la izq*/
.alinear-left {
  text-align: left;
}

/*Alinear texto a la izq*/
.alinear-right {
  text-align: right;
}

.justificar-left {
  justify-content: left;
}

.justificar-rigth {
  justify-content: right;
}

.justificar-center {
  justify-content: space-between;
}

.text-blanco {
  color: aliceblue;
}

.text-rojo {
  color: rgb(209, 0, 0);
}

.text-verde {
  color: rgb(31, 189, 0);
}

.text-amarillo {
  color: rgb(255, 213, 27);
}

.text-azul {
  color: #4575c8;
}

.text-gris {
  color: #597592e7;
}

.text-xc {
  font-size: 0.6rem;
}

.text-c {
  font-size: 0.8rem;
}

.text-m {
  font-size: 0.9rem;
}

.text-g {
  font-size: 1.3rem;
}

.text-t {
  font-size: 1.5rem;
}

.text-negrita-c {
  font-weight: 500;
}

.text-negrita-m {
  font-weight: 700;
}

.text-negrita-g {
  font-weight: 800;
}

.text-decoration-no {
  text-decoration: none;
}

.cursor-mano {
  cursor: pointer;
}

.icono-c {
  width: 11px;
  height: 11px;
  pointer-events: none;
}

.icono-m {
  width: 15px;
  height: 15px;
  pointer-events: none;
}

.icono-g {
  width: 40px;
  height: 40px;
  pointer-events: none;
  margin-bottom: 15px;
}

.lazyload {
  content-visibility: auto;
  contain-intrinsic-size: 500px; /* Proporciona un tamaño para evitar el "layout shift" */
}

.avatartabla {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  pointer-events: none;
  object-fit: cover;
  object-position: top;
}

.modal-header {
  background-color: #6984a3;
  color: aliceblue;
}

.form-check-label {
  font-size: 0.8rem;
}

/* ------------------------------------------------------ Estilos de Componentes globales ------------------ */

/* Boton dezplegar menu de dropdown */
.dropdown-toggle-split {
  max-width: 70px;
}

/* menu que se dezpliega del dropdown */
.dropdown-menu {
  transition: 0.1s ease;
  background-color: #7e8da7;
  width: 100%;
}

.dropdown-menu .dropdown-item {
  color: aliceblue;
  font-size: small;
}

.dropdown-menu .dropdown-item:hover {
  color: #7e8da7;
}

.btn-drop {
  width: 100%;
  text-align: left;
  padding-left: 35px;
}

.btn-drop-transparente {
  background-color: rgba(255, 68, 0, 0);
  border: none;
  color: aliceblue;
  transition: 0.3s ease;
  font-size: 0.8rem;
}

.btn-drop-transparente.active {
  background-color: rgb(255, 255, 255);
  color: #6984a3;
  font-weight: bold;
  transform: scale(1.01);
  border: none;
  border: 0.1px solid aliceblue;
  transition: 0.5s ease;
}

.btn-drop-transparente:hover {
  background-color: rgb(240, 240, 240);
  font-weight: bold;
  border: none;
  transition: 0.3s ease;
  color: #435980;
}

.iconomenuadmon {
  width: 15px;
  height: 15px;
  margin-right: 7px;
  margin-top: -5px;
}

.btnmenucerrarsesion {
  padding-top: 15px;
}

.btnmenucerrarsesion:hover {
  background-color: #ff0000;
  color: aliceblue;
}

/* - Boton de menu de pagina principal -*/
/*Contenedor de todo el btn que maneja su posicion de todos los elemntos del btn*/
.contenedorbtnmenu {
  position: fixed;
  top: 2px;
  left: 10px;
  height: 35px;
  width: 35px;
  cursor: pointer;
  z-index: 16; /* Esta una por arriba del contenedor menu */
  transition: 0.3s ease;
}

/* Clse que comparten las 3 lineas para ajustar mismas cualidades de ancho largo etc*/
.btnmenulinea {
  position: absolute;
  width: 20px;
  height: 2px;
  background-color: rgb(255, 255, 255);
  transition: 0.5s ease;
  pointer-events: none;
}

/* Linea 1 superior de las 3 lineas que componen los btn */
.btnmenulinea1 {
  top: 10px;
  left: 0px;
}

/* Linea 2 superior de las 3 lineas que componen los btn */
.btnmenulinea2 {
  top: 17px;
  left: 0px;
}

/* Linea 1 superior de las 3 lineas que componen los btn */
.btnmenulinea3 {
  top: 24px;
  left: 0px;
}

.contenedorbtnmenu:hover {
  transform: scale(1.1);
}

/* - Boton cerrar sesion -*/
.cerrasesion {
  display: none;
  visibility: hidden;
  position: fixed;
  top: 7px;
  right: 10px;
  width: auto;
  height: 25px;
  z-index: 11;
  background-color: #585c70;
  border-radius: 7px;
  transition: 0.3s ease;
}

/* btn dentro del menu que cierra sesion */
.logobtncerrarsesion {
  width: 11px;
  height: auto;
}

/* - Boton cerrar sesion para version mobile -*/
@media (max-width: 575px) {
  .cerrasesion {
    display: none;
    visibility: hidden;
    top: 5px;
  }

  .logobtncerrarsesion {
    margin-left: -5px;
  }
}

/* Animacion al sobreponer en el boton cerrar sesion diferente a las demas opciones */
.cerrasesion:hover {
  transform: scale(1.04);
  border: solid 1px aliceblue;
}

/* Estilos de los Headers */
.opcionesheader {
  color: aliceblue;
  transition: 0.1s ease;
  width: auto;
  height: 36px;
  margin: 5px;
  font-size: 0.6rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 575px) {
  .opcionesheader {
    padding-left: 5px;
  }
}

/* Animacion al sobre poner en las opciones del header (parte superior)*/
.opcionesheader:hover {
  color: aliceblue;
  transform: scale(1.01);
}

.contenedoropcionesheader .nav-link {
  color: aliceblue;
}

.navbar-nav .nav-link {
  color: aliceblue;
}

@media (max-width: 575px) {
  .navbar-nav .nav-link {
    font-size: 0.7rem;
    font-weight: bold;
    text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5); /* Añade sombra al texto */
  }
}

.navbar-nav .nav-link::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  margin: auto;
  margin-top: 2px;
  background: #f1f1f1;
  transition: width 0.3s ease;
}

/* Animacion al sobre poner en las opciones del header (parte superior)*/
.navbar-nav .nav-link:hover::after {
  width: 100%;
  color: aliceblue;
  transform: scale(1.01);
}

.navbar-nav .nav-link.active::after {
  width: 100%;
  transform: scale(1.01);
}

.navbar-nav .nav-link.active {
  color: aliceblue;
  transform: scale(1.1);
}

/* Es la cinta que esat en el encabezado junto con el logo, menu, btn-cerrar sesion */
.principalheader {
  position: fixed;
  width: 100%;
  height: 15px;
  top: calc(42px + env(safe-area-inset-top));
  right: 0;
  background-color: #597592e7;
  filter: saturate(1.3);
  z-index: 10;
}

/* Logo superior izq dentro del header al lado del menu */
.principalheadlogoldr {
  width: 20px;
  height: auto;
  position: absolute;
  left: 50px;
  top: 12px;
  transition: 0.3s ease;
}

.btnnavbarcomprimidocontenedoropciones {
  width: 100px;
}

.navbarheader {
  position: absolute;
  width: 100px;
  top: -40px;
  right: 46%;
  z-index: 10;
}

.navcontenedoropciones {
  min-width: 100px;
  width: auto;
}

@media (max-width: 575px) {
  .navbarheader {
    top: -12px;
    right: 0px;
  }

  .navbarheader .navbar-collapse {
    margin-right: 30px;
  }

  .btnnavbarheadercomprimido {
    display: none;
    transform: scale(0.7);
    margin-right: 10px;
  }

  .navbarheader .navbar-collapse {
    background-color: #597592e7;
    transition: 0.3s ease;
  }
}

.contendorfotonombreusuario {
  position: absolute;
  top: -65px;
  right: 10px;
  user-select: none; /* Evita que el contenido sea seleccionado */
  z-index: 4000;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

@media (max-width: 575px) {
  .contendorfotonombreusuario .text-xc {
    font-size: 0.45rem;
  }
}

.img-avatar-breadcrumb {
  width: 20px;
  height: 20px;
  margin-top: -7px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  margin-right: 5px;
  padding: 1px;
  background-color: rgb(255, 255, 255);
}

/* Estilos del breadcrumb */
.contenedorbreadcrumb {
   position: fixed;
  top: 0;
  right: 0;
  width: 100%;

  height: calc(42px + env(safe-area-inset-top));
  padding-top: env(safe-area-inset-top);

  background-color: #597592e7;
  filter: saturate(1.3);

  display: flex;
  justify-content: right;
  align-items: center;

  z-index: 10;
}

.contenedorheader {
  position: relative;
  width: 100%;
  height: 100%;
}

.titulobreadcrumb {
  position: absolute;
  left: 50px;
  top: -2px;
  font-size: 0.55rem;
  color: rgb(255, 255, 255);
  border-right: solid 2px aliceblue;
  padding-right: 5px;
}

.breadcrumb {
  position: absolute;
  left: 50px;
  top: 5px;
  font-size: 0.7rem;
  width: 250px;
}

@media (max-width: 575px) {
  .breadcrumb {
    left: 45px;
    top: 5px;
    width: 200px;
  }
}

.breadcrumb-item.active {
  color: rgb(255, 255, 255);
  font-weight: 645;
  font-size: 0.55rem;
  z-index: 18;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: -9px;
  padding-right: 27px;
}

.breadcrumb-item a {
  color: aliceblue;
  font-size: 0.65rem;
}

.contenedorcontenidointerfaz {
  position: absolute;
  width: 100vw;
  height: 100vh;
  left: 0px;
  top: 0px;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #ffffff;
  scroll-behavior: smooth;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  Tipos de centrado +++++++++++++++++++++*/
/*Centra elemenetos que esten dentro de un contenedor/elemento padre (se pone al contenedor padre inmediato) en medio de ellos HORIZONTAL*/
.centrar {
  display: flex; /*alinea los componenetes*/
  align-items: center; /*Alinea horizontalmente en medio*/
  justify-content: center; /*Alinea verticalmenete en medio*/
}

/* Centra elemenetos que esten dentro de un contenedor/elemento padre (se pone al contenedor padre inmediato) en medio de ellos Vertical*/
.centrar-v {
  align-items: center;
}

/*Centra horizontlmente a los elmentos hijos que tenga ese contenedoor/seccion*/
.centrar-h {
  justify-content: center;
}

.radius-c {
  border-radius: 15px;
}

.radius-m {
  border-radius: 25px;
}

.radius-m {
  border-radius: 30px;
}

/*------------------------------------------- Estilos para: pagina inicio ---------------------------------------------*/
/*Contenedor padre de toda la interfaz*/
.inisesioncontenedor {
  position: relative;
  width: auto;
  height: 100vh;
  background-image: radial-gradient(
      circle,
      rgba(109, 126, 180, 0.85) 44%,
      rgba(101, 101, 101, 0.104) 100%
    ),
    url("../img/fondos/poligon.jpg");
  background-position: center;
  background-size: cover;
}

/*Contenedor del section de en medio que contiene al form y las imagenes*/
.inisesioncuadro {
  position: relative;
  width: 70%;
  height: 70%;
  border-radius: 15px;
  z-index: 2;
}

@media (max-width: 575px) {
  .inisesioncuadro {
    width: 95%;
    height: 98%;
  }
}

/* Contenedor que esta dentro del section y contiene el form*/
.inisesionformulario {
  height: 100%;
  width: 50%;
  background-color: rgba(49, 35, 25, 0.233);
  border-top-left-radius: 25px;
  border-bottom-left-radius: 25px;
  box-shadow: 0px 0px 10px rgb(255, 255, 255);
  transition: 0.5s ease;
}

/* Contenedor que esta dentro del section y contiene las imagenes*/
.inisesioninformacion {
  height: 100%;
  width: 50%;
  background-color: aliceblue;
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
  transition: 0.5s ease;
}

/* Contenedor que esta dentro del section y contiene el form*/
.inisesioncontra {
  display: none;
  height: 100%;
  width: 50%;
  background-color: rgba(49, 35, 25, 0.233);
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
  box-shadow: 0px 0px 10px rgb(255, 255, 255);
  transition: 0.5s ease;
}

/* Si la pantalla es de movil*/
@media (max-width: 780px) {
  /* Contenedor que esta dentro del section y contiene las imagenes*/
  .inisesioninformacion {
    display: none;
  }

  /* Contenedor que esta dentro del section y contiene el form*/
  .inisesionformulario {
    width: 100vw;
    border-radius: 25px;
  }

  /* Contenedor que esta dentro del section y contiene el form*/
  .inisesioncontra {
    width: 100%;
    border-radius: 25px;
    transition: 0.5s ease;
  }
}

/* Elementos del form */
.inisesionlogoldr {
  width: 150px;
  height: auto;
  margin-top: 10px;
  margin-bottom: 30px;
}

@media (max-width: 575px) {
  .inisesionlogoldr {
    width: 150px;
    height: auto;
    margin-top: -150px;
    margin-bottom: 30px;
  }
}

/* Input inicio de sesion */
.inisesioninputs {
  width: 85%;
}

.politicasdeprivacidad {
  position: absolute;
  bottom: 10px;
  left: 15px;
  color: aliceblue;
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s ease;
  font-size: 0.7rem;
}

/* Label de recuperar pass */
.inisesionolvidaste {
  width: 100%;
  height: auto;
  text-decoration: none;
  color: aliceblue;
  margin-left: 0px;
  margin-top: -10px;
  cursor: pointer;
  transition: 0.3s ease;
  text-align: right;
  padding-right: 11%;
}

/* Animacion de expansion al label de olvidar pass */
.inisesionolvidaste:hover {
  transform: scale(1.01);
  color: rgb(240, 240, 240);
}

/* btn iniciar de login: tamaño, posicion y animacion */
.inisesionbtnini {
  width: 65%;
  margin-top: 25px;
  transition: 0.3s ease;
}

/* btn iniciar de login: tamaño, posicion y animacion */
.inisesionbtnini:hover {
  transform: scale(1.02);
}

.continuarsinbtnini {
  width: 65%;
  margin-top: 10px;
  transition: 0.3s ease;
  border: 1px solid aliceblue;
  color: aliceblue;
}

.continuarsinbtnini:hover {
  transform: scale(1.02);
  border: 1px solid rgba(240, 248, 255, 0);
  background-color: aliceblue;
  color: rgb(0, 0, 0);
}

/* imagenes de carruzel */
.inisesionimgs {
  width: 100%;
  height: 70vh;
  object-fit: cover;
  object-position: center -20px;
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
}

/* imagenes de los circulos con las marcas */
.inisesionimgfondo {
  position: absolute;
  object-fit: cover;
  top: 0;
  object-position: top;
  filter: blur(50);
  border-radius: 50%;
  z-index: 1;
}

@media (max-width: 780px) {
  .inisesionimgfondo {
    display: none;
  }
}

/* Tamaño y Animaciones de cada circulo por separado para controlar independiente los tamaños y velocidad de las animaciones */
.inisesionimg1 {
  top: 1%;
  left: 10%;
  width: 120px;
  height: 120px;
  animation: sube-baja infinite 4.5s ease;
}

.inisesionimg2 {
  top: 5%;
  left: 60%;
  width: 80px;
  height: 80px;
  animation: sube-baja infinite 4s ease;
}

.inisesionimg3 {
  top: 2%;
  left: 40%;
  width: 90px;
  height: 90px;
  animation: sube-baja infinite 4.5s ease;
}

.inisesionimg4 {
  top: 80%;
  left: 20%;
  width: 180px;
  height: 180px;
  animation: sube-baja infinite 4s ease;
}

.inisesionimg5 {
  top: 10%;
  left: 85%;
  width: 140px;
  height: 140px;
  animation: sube-baja infinite 5s ease;
}

.inisesionimg6 {
  top: 80%;
  left: 70%;
  width: 170px;
  height: 170px;
  animation: sube-baja infinite 6s ease;
}

/* Animacion de subir y bajar */
@keyframes sube-baja {
  0% {
    margin-top: -40px;
    opacity: 75%;
  }
  50% {
    margin-top: 0;
    opacity: 1;
    filter: brightness(1);
    filter: contrast(1.2);
  }
  100% {
    margin-top: -40px;
    opacity: 75%;
  }
}

/* ----------------------------------------------- Continuar sin iniciar ---------------------------------------------- */
/* @media (min-width: 780px) {
  .contenedoropcionesmobile {
    display: none;
  }
} */

.inisesioncuadroappsinsesion {
  position: relative;
  width: 80%;
  height: 80%;
  background-color: #37517ec2;
  border-radius: 30px;
  z-index: 2;
}

@media (max-width: 780px) {
  .inisesioncuadroappsinsesion {
    width: 95%;
    height: 95%;
  }
}

.contenedoropcion {
  display: block;
  width: 100px;
  height: 100px;
  text-decoration: none;
  color: aliceblue;
  white-space: nowrap;
  font-size: 0.7rem;
  transition: 0.3s ease;
  margin: 20px;
}

.contenedoropcion:hover {
  transform: scale(1.1);
}

.option {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 10px solid rgb(240, 248, 255);
  transition: 0.3s ease;
}

.optiontracking {
  background-color: #5a5a5a49;
  opacity: 0.5;
}

.optiongerentes {
  background-color: #5a5a5a49;
  opacity: 0.5;
}

.optioncursos {
  background-color: #5a5a5a49;
  opacity: 0.5;
}

@media (max-width: 750px) {
  .contenedoropcionesmobile {
    display: block;
    width: 100%;
    margin-top: -50px;
  }

  .contenedoropcionpadre {
    width: 100%;
    margin: 50px;
  }

  .contenedoropcion {
    width: 100px;
    height: 100px;
    text-decoration: none;
    color: aliceblue;
    white-space: nowrap;
    font-size: 0.7rem;
    transition: 0.3s ease;
  }

  .contenedoropcion:hover {
    transform: scale(1.1);
  }

  .option {
    width: 100%;
    height: 100%;
    background-color: #007bff61;
    border-radius: 50%;
    border: 10px solid rgb(240, 248, 255);
    transition: 0.3s ease;
  }

  .optiontracking {
    width: 150px;
    height: 150px;
    background-color: #5a5a5a49;
    opacity: 0.5;
    margin-left: 100%;
    margin-top: -50px;
  }

  .titulooptiontracking {
    margin-top: 10px;
    margin-left: 120%;
  }

  .optiongerentes {
    background-color: #5a5a5a49;
    opacity: 0.5;
    margin-left: -30%;
    margin-top: -50%;
  }

  .titulooptiongerentes {
    margin-top: 10px;
    margin-left: -20%;
  }

  .optionunidadesprestamo {
    width: 180px;
    height: 180px;
    margin-left: 115%;
  }

  .titulooptionunidadesprestamo {
    margin-top: 10px;
    margin-left: 165%;
  }

  .titulooptioncursos {
    margin-left: -25%;
    margin-top: 10px;
  }

  .optioncursos {
    width: 130px;
    height: 130px;
    margin-left: -30%;
  }
}
/* ------------------------------------------------- Estructura/layout para toda la app --------------------------------- */
/* Contenedor estructura main menu que bare y cierra */
.principalmenu {
  position: fixed;
  display: none;
  height: 100%;
  transition: 0.5s ease;
  z-index: 15;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
}

/* Contenedor estructura main donde ira todo el contenido de las distintas interfaces */
.principalcontenedorcontenido {
  width: 100%;
  height: 100vh;
  background-color: aliceblue;
}

/* @media (min-width: 820px) {
  #principalcolumnacontenido {
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
  }
} */

/* Del menu lateral izq es la parte superior, donde esta el avatar, nombre, puesto */
.principalseccionusuinfo {
  position: absolute;
  height: 130px;
  width: 100%;
  background: #4d5f72;
  box-shadow: inset 4px 4px 8px rgba(0, 0, 0, 0.55),
    inset -4px -4px 8px rgba(255, 255, 255, 0.15);
  border-top-right-radius: 15px;
  transition: 0.3s ease;
  filter: brightness(1.1);
  filter: contrast(1.1);
  filter: saturate(1.5);
}

/* Animaciones de esa parte del menu lateral izq es la parte superior */
.principalseccionusuinfo:hover {
  transform: scale(1.02);
  filter: brightness(1.2);
  filter: contrast(1.1);
  filter: saturate(1.5);
}

/* cintilla arriba del avatar del menu */
.cintillaldr {
  width: 95%;
  margin-left: -10px;
  margin-top: -10px;
  height: auto;
  object-fit: contain;
}

/* Quien le da el tamaño y forma al avatar circular del menu */
.contenedoravatar {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: aliceblue;
  margin-left: 4px;
}

/* img que se adapata a su contenedor padre quien es quien le da tamaño y formato */
.img-avatar {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  filter: saturate(0.65);
  transition: 0.3s ease;
}

/* animacion de expandirse a la img al sobreponer  */
.img-avatar:hover {
  border: solid 2px aliceblue;
  transform: scale(1.1);
  filter: saturate(0.7);
}

.contenedornombrepuesto {
  position: absolute;
  margin-left: 95px;
  padding-right: 12px;
  right: 0;
  top: 40px;
}

.titulomenuinfo {
  margin-top: 5px;
  color: aliceblue;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  font-variant: small-caps;
  line-height: 1.1;
}

.subtitulomenuinfo {
  margin-top: 7px;
  margin-left: -7px;
  color: aliceblue;
  font-size: 0.5rem;
}

/* la opcion es un "a" y con esto le quitamos los estilos del a y le ponemos los nuestros*/
.principalseccionusuinfo {
  text-decoration: none;
}

/* contenedor que maneja la posicion dentro del contenedor de menu el cual tiene las pill de las opciones del cual se va guiar en tomar tamaño y posicion (este es su elemento padre)*/
.principalseccionopcionesmenu {
  position: absolute;
  width: 100%;
  top: 130px;
  height: calc(100% - 130px);
}

/* seccion/contenedor donde van las opciones */
.principalseccionmenunav {
  position: sticky;
  width: 100%;
  height: 100%;
  background-color: #7e8da7;
  display: inline;
  flex-direction: column;
  padding-top: 5px;
  box-shadow: 1px 1px 5px rgb(189, 189, 189);
}

/* Opciones del menu */
.principalseccionnavopcion {
  width: 105.1%;
  height: 50px;
  color: aliceblue;
  transition: 2s ease;
}

.footermenu {
  position: fixed;
  bottom: -30px;
  left: 38px;
  height: 50px;
  color: aliceblue;
  font-size: 0.5rem;
  font-family: inherit;
}

/* -------------------------------------------------------- modulo inicio ----------------------------------------- */
#particles-canvas {
  position: absolute;
  width: 95%;
  height: 90%;
  top: -10%;
  left: 4%;
  z-index: 0; /* Encima del video fondo (assumed 0 or default), debajo del contenido principal */
  pointer-events: none; /* Permitir clics en elementos debajo */
  background-color: #387eda00;
}

.fondolavalampara {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(0, 153, 255, 0.336) 70%,
    rgba(255, 255, 255, 0.575) 80%
  );
  z-index: -1;
}

.capavideofondoinicio {
  position: absolute;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  background: linear-gradient(
    to bottom,
    rgba(0, 89, 255, 0.274) 50%,
    rgba(255, 255, 255, 0.425) 85%
  );
}

.bolalava {
  position: fixed;
  top: 50%;
  left: 40%;
  width: 300px;
  height: 350px;
  background-image: radial-gradient(
    circle at 50% 50%,
    rgba(0, 140, 255, 0.715) 0%,
    rgba(255, 255, 255, 0.151) 100%
  );
  border-radius: 50%;
  animation: lavaLampEffect 10s infinite alternate;
  filter: blur(50px);
}

@keyframes lavaLampEffect {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }
  12.5% {
    transform: translate(-60px, 60px) scale(1.2);
  }
  25% {
    transform: translate(-50px, 50px) scale(1);
  }
  37.5% {
    transform: translate(0px, 100px) scale(1.2);
  }
  50% {
    transform: translate(50px, -50px) scale(1);
  }
  62.5% {
    transform: translate(100px, 0px) scale(1.2);
  }
  75% {
    transform: translate(50px, 50px) scale(1);
  }
  87.5% {
    transform: translate(60px, -60px) scale(1.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}

/* Todas las tarjetas de opciones */
.contenedoropcioninicio {
  width: 100px;
  height: 100px;
  margin: 5px;
  margin-bottom: 20px;
  margin-top: 10px;
  color: aliceblue;
  cursor: pointer;
  border-radius: 15px;
  transition: 0.3s ease;
  overflow: ellipsis;
}

.contenedoropcioninicioimagen {
  background: linear-gradient(135deg, #127de07e, #108cdf7e);
  width: 100%;
  height: 100%;
  padding: 30px;
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contenedoropcioninicioimagen:hover {
  background: linear-gradient(135deg, #127de07e, #4aa9e97e);
}

.contenedoropcioninicioimagendeshabilitado {
  background: linear-gradient(135deg, #a5a5a5, #b4b4b4af);
  width: 100%;
  height: 100%;
  padding: 30px;
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.3;
}

.titulocontenedoropcioninicio {
  text-align: center;
  font-size: 0.7rem;
  margin-top: 2px;
  font-weight: 600;
  color: rgba(91, 121, 138, 0.541);
}

/* Animacion crecer opcion inicio */
.contenedoropcioninicio:hover {
  transform: scale(1.2);
}

.contenedoropcioninicio:hover .titulocontenedoropcioninicio {
  color: #557a9bb4;
}

.columnacontendorinfoaccionesinicio {
  position: absolute;
  width: 100%;
  left: 0px;
  top: 65px;
  padding: 30px;
  z-index: 5;
}

.iframeinicio {
  position: absolute;
  top: 100vh;
  left: 0px;
  width: 100%;
  height: 100%;
}

.contenedorinicio {
  position: absolute;
  width: 100vw;
  left: 0px;
  top: 0px;
  overflow-x: hidden;
}

@media (max-width: 575px) {
  .contenedorinicio {
    height: calc(100dvh - 1px);
    overflow: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .contenedorinicio::-webkit-scrollbar {
    display: none;
  }
}

.cuadrocontenedorbienvenidainicio {
  position: relative;
  width: 98vw;
  max-height: 85vh;
  margin-left: 50%;
  transform: translateX(-50%);
  background-color: #dfebff11;
  margin-top: 6.5%;
  padding-top: 30px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 50px;
  border-radius: 15px;
  box-shadow: inset 0.2px 0.2px 0.2px rgba(255, 255, 255, 0.5);
  transition: all 0.3s ease;
}

.cuadrocontenedorbienvenidainicio:hover {
  background-image: linear-gradient(
    to top,
    rgba(230, 230, 230, 0.123),
    rgba(255, 255, 255, 0)
  );
}

.logoldriniciotitulo {
  width: 70px;
  height: 70px;
  margin: 5px;
  margin-bottom: 20px;
  margin-top: 10px;
  color: aliceblue;
  cursor: pointer;
  border-radius: 15px;
  transition: 0.3s ease;
  object-fit: contain;
  margin-right: 20px;
  filter: drop-shadow(0 0 2px rgba(228, 244, 255, 0.5));
}

/* Si es movil las opciones se hacen mas pequeñas */
@media (max-width: 720px) {
  .contenedoropcioninicio {
    width: 15vw;
    height: 15vw;
    margin: 10px;
    margin-bottom: 30px;
  }

  /* Animacion crecer opcion inicio */
  .contenedoropcioninicio:hover {
    transform: scale(1.05);
  }

  .contenedoropcioninicioimagen {
    background: linear-gradient(135deg, #3aa9e9, #3aa9e969);
    width: 100%;
    height: 100%;
    padding: 20%;
  }

  .titulocontenedoropcioninicio {
    font-size: 0.65em;
  }
}

@media (max-width: 575px) {
  .titulocontenedoropcioninicio {
    font-size: 0.5em;
  }
}

.imgrecursoshumanosinicio {
  display: none;
  position: fixed;
  left: 30%;
  bottom: -100px;
  transform: translate(-50%);
  width: 45%;
  animation: animacionrecursoshumanos infinite 4s ease-in alternate;
}

@media (max-width: 1072px) {
  .cuadrocontenedorbienvenidainicio {
    width: 90%;
    margin-top: 90px;
  }
}

@media (max-width: 575px) {
  .cuadrocontenedorbienvenidainicio {
    width: 100%;
    margin-top: 50px;
    height: calc(100dvh - 50px);
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    padding-bottom: 50px;
    padding-left: 0px;
    padding-right: 0px;
  }
}

@keyframes animacionrecursoshumanos {
  0% {
    transform: scale(1.2);
    filter: contrast(1) saturate(0.95);
  }
  50% {
    transform: scale(1.15);
    filter: contrast(1.1) saturate(1);
  }
  100% {
    transform: scale(1.2);
    filter: contrast(1.1) saturate(0.95);
  }
}

.imgldrlogoinicio {
  width: 80px;
  height: 80px;
  object-fit: contain;
  margin-top: -10px;
  margin-right: 50px;
}

.tituloinicioprincipal {
  font-size: 3.5rem;
  color: #ffffff;
  font-weight: bold;
  letter-spacing: 0.35em;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

.subtituloinicioprincipal {
  font-size: 2rem;
  margin-top: 5px;
}

.imgavatarinicioprincipal {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  border: 3px solid #ffffff;
  margin-right: 15px;
}

.subtituloinicioprincipal .nombreinicioprincipal {
  font-size: 1.5rem;
  color: #ffffff;
  margin-bottom: -20px;
  font-weight: 600;
  text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.5);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  letter-spacing: 0.07em;
}

.subtituloareainicioprincipal {
  color: #435980;
  font-size: 0.8rem;
  margin-top: 0px;
  margin-left: 13px;
}

.titulocontenedoropcionesinicio {
  margin-left: 3%;
  text-align: left;
  font-size: 0.8rem;
  margin-top: 20px;
  margin-bottom: 5px;
  color: #ffffff;
}

.contenedoropciones {
  width: 75%;
  margin-left: 50%;
  height: auto;
  transform: translate(-50%);
  margin-top: 10px;
}

@media (max-width: 1100px) {
  .tituloinicioprincipal {
    font-size: 4rem;
    margin-bottom: 0px;
    text-align: center;
    letter-spacing: 0.15em;
  }
}

@media (max-width: 575px) {
  .imgavatarinicioprincipal {
    width: 50px;
    height: 50px;
    margin-top: 20px;
    margin-left: 0px;
    margin-right: 10px;
  }

  .contenedoropciones {
    width: 100%;
    height: 100vh;
    margin-top: -70px;
    background-color: #ffffff9a;
    border-radius: 10px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    padding: 10px;
    padding-top: 0px;
  }

  .columnacontendorinfoaccionesinicio {
    position: absolute;
    width: 100%;
    top: 44%;
    transform: translateY(-50%);
    left: 0px;
    padding: 10px;
  }

  .tituloinicioprincipal {
    display: none;
    font-size: 2.5rem;
    margin-bottom: 0px;
    text-align: left;
    letter-spacing: 0.15em;
  }

  .subtituloinicioprincipal {
    display: none;
    text-align: left;
    margin-top: -50px;
    margin-left: 20px;
  }

  .subtituloinicioprincipal .nombreinicioprincipal {
    font-size: 1.1rem;
  }

  .subtituloareainicioprincipal {
    position: absolute;
    top: 80px;
    left: 20px;
    font-size: 0.9rem;
    text-align: left;
    margin-top: -5px;
    margin-left: 60px;
  }

  .titulocontenedoropcionesinicio {
    margin-left: 10%;
    margin-top: 20px;
    margin-bottom: 10px;
    text-align: left;
    color: #5c5c5c;
  }
}

/* -------------------------------------------------------- modulo perfil usuario --------------------------------- */
/* Contenedor principal del modulo perfil usuario en el que se contienen todas sus secciones */
.modulocontenedorperfilusuario {
  position: relative;
  width: 100%;
  height: 100vh;
  right: 8px; /* Evita que el contenido se desborde */
  background-color: #00000000;
  transition: 0.3s ease;
}

/* columna del modulo donde estara la imagen(avatar) y un poco de informacion */
.modulocolumnainfousuario {
  position: fixed;
  top: 60px;
  left: 0;
  width: 280px;
  height: 100vh;
  background-color: #ffffffa0;
  transition: 0.3s ease;
  box-shadow: 2px 2px 7px rgba(156, 156, 156, 0.315);
  z-index: 2;
  overflow-y: scroll;
}

/* columna del modulo der donde estara la info del usu mas extendida */
.modulocolumnahistoriausuario {
  position: absolute;
  right: 0;
  top: 65px;
  width: calc(100% - 280px);
  height: 100vh;
  background-color: #ffffff;
}

.imgavatarperfil {
  position: absolute;
  top: 15px;
  width: 130px;
  height: 130px;
  object-fit: cover;
  border-radius: 50%;
  transition: 0.3s ease;
  padding: 10px;
  background-color: rgba(240, 248, 255, 0.882);
  filter: brightness(1.01) contrast(1.1) saturate(0.7);
  box-shadow: 1px 1px 2px rgba(156, 156, 156, 0.315);
}

.imgavatarperfil:hover {
  cursor: none;
  box-shadow: 5px 5px 10px rgba(156, 156, 156, 0.315);
  filter: brightness(1.01) contrast(1.05) saturate(0.7);
  animation: respiracionavatar infinite 2s ease-in-out alternate;
  z-index: 10;
}

@keyframes respiracionavatar {
  0% {
    transform: scale(1.05) translateY(5px);
  }
  50% {
    transform: scale(1.1) translateY(5px);
  }
  100% {
    transform: scale(1.05) translateY(5px);
  }
}

.titulonombreperfil {
  position: absolute;
  top: 153px;
  font-size: 0.7rem;
  width: 100%;
  color: #597592e7;
  padding-left: 10px;
  padding-right: 10px;
}

.titulotipousuperfil {
  position: absolute;
  top: 175px;
  font-size: 0.65rem;
  width: 100%;
  color: #272d4b4f;
}

.titulonumerocolabperfil {
  position: absolute;
  top: 122px;
  right: 15px;
  font-size: 0.7rem;
  width: auto;
  color: #ffffff;
  font-weight: bold;
  background-color: #1253a77e;
  padding: 2px;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 3px;
}

.contenedormasinfoperfil {
  position: absolute;
  top: 200px;
  width: 100%;
  height: auto;
  background-color: rgba(255, 255, 255, 0);
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
  border-top-right-radius: 15px;
  border-top-left-radius: 15px;
  padding-bottom: 20px;
}

.titulocontenedormasinfoperfil {
  height: 20px;
  width: 70%;
  background-color: #1253a77e;
  color: rgb(255, 255, 255);
  font-size: 0.5rem;
  text-align: left;
  padding-left: 10px;
}

.titulocontenedormasinfoperfilvacaciones {
  height: 20px;
  width: 70%;
  margin-top: 13px;
  background-color: #1253a77e;
  color: rgb(255, 255, 255);
  font-size: 0.5rem;
  text-align: left;
  padding-left: 10px;
}

.iconotituloperfilusuario {
  margin-bottom: 2.5px;
}

.separadordevacaciones {
  width: calc(55% - 10px);
  height: 1px;
  background-color: #00a7e47e;
  margin-top: 6px;
  margin-bottom: 7px;
}

@media (max-width: 575px) {
  .contenedormasinfoperfil {
    top: 25px;
    margin-top: -30px;
  }
  .titulocontenedormasinfoperfil {
    width: 100%;
    text-align: center;
  }
  .titulocontenedormasinfoperfilvacaciones {
    width: 100%;
    text-align: center;
  }
}

.contenidocontenedormasinfoperfil {
  margin-top: 0px;
  text-align: left;
  color: rgb(108, 108, 108);
  margin-bottom: 10px;
  padding: 10px;
  padding-top: 5px;
  padding-bottom: 0px;
  padding-left: 30px;
}

.h1masinfoperfil {
  font-size: 0.6rem;
  font-weight: 600;
}

.h1masinfoperfil span {
  font-size: 0.6rem;
  font-weight: normal;
}

.contenidocontenedorinfovacaciones {
  margin: 0;
  padding: 0;
}

/* Si el tamañon de la pantalla es para movuiles */
@media (max-width: 575px) {
  /* La columna se pondra arriba izq*/
  .modulocolumnainfousuario {
    position: absolute;
    top: 60px;
    width: 100%;
    height: 100%;
    z-index: 3;
    border-bottom-left-radius: 20%;
    border-bottom-right-radius: 20%;
    overflow-y: hidden;
  }

  /* La columna se pondra abajo der */
  .modulocolumnahistoriausuario {
    width: 100%;
    height: calc(100vh);
    z-index: 4;
    top: calc(100vh - 60px);
  }
  .imgavatarperfil {
    width: 160px;
    height: 160px;
  }
  .titulonombreperfil {
    top: 175px;
    font-size: 0.9rem;
    left: 50%;
    transform: translate(-50%);
  }
  .titulotipousuperfil {
    top: 195px;
    font-size: 0.8rem;
  }
  .contenedormasinfoperfil {
    position: absolute;
    top: 280px;
    width: 70%;
    left: 50%;
    transform: translate(-50%);
    height: auto;
  }
  .titulonumerocolabperfil {
    top: 220px;
    left: 50%;
    transform: translate(-50%);
    width: 55px;
  }
}

/* Linea del tiempo */
.titulolineadeltiempohistoriausuario {
  width: 100%;
  margin-top: 15px;
  padding-top: 3px;
  padding-bottom: 5px;
  font-size: 1.5rem;
  color: #597592e7;
}

.contenedorlineadeltiempohistoriausuario {
  width: 100%;
  padding-left: 3px;
  background-color: #ffffff;
}

.titulocontactolineadeltiempo {
  font-weight: bold;
}
/******************* Timeline Demo - 5 (PLANTILLA) *****************/
.main-timeline5 {
  overflow: hidden;
  position: relative;
}
.main-timeline5 .timeline {
  position: relative;
  margin-top: -79px;
}
.main-timeline5 .timeline:first-child {
  margin-top: 0;
}
.main-timeline5 .timeline-icon,
.main-timeline5 .year {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.main-timeline5 .timeline:after,
.main-timeline5 .timeline:before {
  content: "";
  display: block;
  width: 100%;
  clear: both;
}
.main-timeline5 .timeline:before {
  content: "";
  width: 100%;
  height: 100%;
  box-shadow: -8px 0 5px -5px rgba(0, 0, 0, 0.5) inset;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
.main-timeline5 .timeline-icon {
  width: 210px;
  height: 210px;
  border-radius: 50%;
  border: 25px solid transparent;
  border-top-color: #597592e7;
  border-right-color: #597592e7;
  z-index: 1;
  transform: rotate(45deg);
}
.main-timeline5 .year {
  display: block;
  width: 110px;
  height: 110px;
  line-height: 110px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
  font-size: 30px;
  font-weight: 700;
  color: #597592e7;
  text-align: center;
  transform: rotate(-45deg);
}
.main-timeline5 .timeline-content {
  width: 38%;
  max-height: auto;
  float: right;
  background: #597592e7;
  padding: 20px 20px;
  margin: 50px 0;
  z-index: 1;
  position: relative;
}
.main-timeline5 .timeline-content:before {
  content: "";
  width: 20%;
  height: 15px;
  background: #597592e7;
  position: absolute;
  top: 50%;
  left: -20%;
  z-index: -1;
  transform: translateY(-50%);
}
.main-timeline5 .title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
}
.main-timeline5 .description {
  font-size: 16px;
  color: #fff;
  line-height: 24px;
  margin: 0;
  font-size: 0.7rem;
}
.main-timeline5 .timeline:nth-child(2n):before {
  box-shadow: 8px 0 5px -5px rgba(0, 0, 0, 0.5) inset;
}
.main-timeline5 .timeline:nth-child(2n) .timeline-icon {
  transform: rotate(-135deg);
  border-top-color: #667e99e7;
  border-right-color: #667e99e7;
}
.main-timeline5 .timeline:nth-child(2n) .year {
  transform: rotate(135deg);
  color: #667e99e7;
}
.main-timeline5 .timeline:nth-child(2n) .timeline-content {
  float: left;
}
.main-timeline5 .timeline:nth-child(2n) .timeline-content:before {
  left: auto;
  right: -20%;
}
.main-timeline5 .timeline:nth-child(2n) .timeline-content,
.main-timeline5 .timeline:nth-child(2n) .timeline-content:before {
  background: #667e99e7;
}
.main-timeline5 .timeline:nth-child(3n) .timeline-icon {
  border-top-color: #667e99e7;
  border-right-color: #667e99e7;
}
.main-timeline5 .timeline:nth-child(3n) .year {
  color: #667e99e7;
}
.main-timeline5 .timeline:nth-child(3n) .timeline-content,
.main-timeline5 .timeline:nth-child(3n) .timeline-content:before {
  background: #667e99e7;
}
.main-timeline5 .timeline:nth-child(4n) .timeline-icon {
  border-top-color: #667e99e7;
  border-right-color: #667e99e7;
}
.main-timeline5 .timeline:nth-child(4n) .year {
  color: #667e99e7;
}
.main-timeline5 .timeline:nth-child(4n) .timeline-content,
.main-timeline5 .timeline:nth-child(4n) .timeline-content:before {
  background: #667e99e7;
}
@media only screen and (max-width: 1199px) {
  .main-timeline5 .timeline {
    margin-top: -103px;
  }
  .main-timeline5 .timeline-content:before {
    left: -18%;
  }
  .main-timeline5 .timeline:nth-child(2n) .timeline-content:before {
    right: -18%;
  }
}
@media only screen and (max-width: 990px) {
  .main-timeline5 .timeline {
    margin-top: -127px;
  }
  .main-timeline5 .timeline-content:before {
    left: -2%;
  }
  .main-timeline5 .timeline:nth-child(2n) .timeline-content:before {
    right: -2%;
  }
}
@media only screen and (max-width: 767px) {
  .main-timeline5 .timeline {
    margin-top: 0;
    overflow: hidden;
  }
  .main-timeline5 .timeline:before,
  .main-timeline5 .timeline:nth-child(2n):before {
    box-shadow: none;
  }
  .main-timeline5 .timeline-icon,
  .main-timeline5 .timeline:nth-child(2n) .timeline-icon {
    margin-top: -30px;
    margin-bottom: 20px;
    position: relative;
    transform: rotate(135deg);
  }
  .main-timeline5 .timeline:nth-child(2n) .year,
  .main-timeline5 .year {
    transform: rotate(-135deg);
  }
  .main-timeline5 .timeline-content,
  .main-timeline5 .timeline:nth-child(2n) .timeline-content {
    width: 100%;
    float: none;
    border-radius: 0 0 20px 20px;
    text-align: center;
    padding: 25px 20px;
    margin: 0 auto;
  }
  .main-timeline5 .timeline-content:before,
  .main-timeline5 .timeline:nth-child(2n) .timeline-content:before {
    width: 15px;
    height: 25px;
    position: absolute;
    top: -22px;
    left: 50%;
    z-index: -1;
    transform: translate(-50%, 0);
  }
}

/* ------------- documentos colaborador -------------*/
.contenedordocumentoscolaborador {
  width: 100%;
  height: auto;
  padding-bottom: 60px;
  background-color: #ffffff;
}

.contenedorcarddocumentosperfil {
  position: relative;
  width: 300px;
  height: 300px;
  background-color: #ffffff7e;
  color: #597592e7;
  box-shadow: 0.3px 3px 3px #6363637e;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  padding-top: 20px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 10px;
  overflow: hidden;
}

.contenedordocumentoiframe {
  width: 100%;
  height: 100%;
  max-height: 100%;
  border: none;
  margin-bottom: 10px;
  border-radius: 10px;
}

.btndescargardocperfil {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #0059be;
  color: aliceblue;
  padding: 4px 8px;
  border-radius: 5px;
}

.contenedordocumentoiframesubida {
  width: 100%;
  height: 150px;
  max-height: 100%;
  border: none;
  margin-bottom: 10px;
  border-radius: 10px;
}

.contenedordocumentoiframesubirdoc {
  width: 100%;
  height: 100px;
  border: none;
  margin-bottom: 10px;
  border-radius: 10px;
}

.iframedocuemntosperfil {
  border: none;
  border-radius: 10px;
  height: 100%;
}

.iconocardvalidadorok {
  position: absolute;
  width: 25px;
  height: 25px;
  top: 10px;
  right: 10px;
  background-color: #00be19;
  color: aliceblue;
  font-size: 1rem;
  border-radius: 50%;
}

.iconocardvalidadorwarning {
  position: absolute;
  width: 25px;
  height: 25px;
  top: 10px;
  right: 10px;
  font-size: 1rem;
  background-color: #e6b800;
  color: aliceblue;
  border-radius: 50%;
}

.iconocardvalidadorpendiente {
  position: absolute;
  width: 25px;
  height: 25px;
  top: 10px;
  right: 10px;
  font-size: 1rem;
  background-color: #757575;
  color: aliceblue;
  border-radius: 50%;
}

/* ------- Equipos perfil usuario ------- */
.contenedorequiposperfilusuario {
  height: auto;
  width: 100%;
  padding-bottom: 60px;
  padding-right: 15px;
  background-color: #ffffff;
}

.contenedorcardsequiposperfilusuario {
  width: 100%;
  padding-bottom: 30px;
  padding-top: 20px;
  padding-top: 65px;
}

.cardpcperfilusuario {
  position: relative;
  width: 220px;
  max-height: 800px;
  padding-bottom: 10px;
  background-color: #1253a77e;
  color: aliceblue;
  border-radius: 10px;
  margin: 5px;
  margin-top: 15px;
  transition: 0.3s ease;
}

.secciondescripcioncardperfilusuario {
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 10px;
}

.cardpcperfilusuario:hover {
  transform: scale(1.03);
  padding-bottom: 20px;
  z-index: 3;
}

.cardpcperfilusuario:hover img {
  transform: scale(1.3);
  left: 10%;
  margin-top: -30px;
  transform: rotate(20deg);
  animation: hoverequipo 2s ease infinite;
}

.subtitulocardequipos {
  font-size: 0.85rem;
  font-weight: 700;
}

.seccionimgcardperfilusuario {
  position: relative;
  left: -12px;
  top: 0px;
  width: 113%;
  height: 100px;
  background-color: rgb(255, 255, 255);
  z-index: 2;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  border-end-start-radius: 50%;
  border-end-end-radius: 50%;
}

.seccionimgpcperfilusuarioimg {
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translate(-50%);
  width: 160px;
  z-index: 2;
}

.seccionimgdektopperfilusuarioimg {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translate(-50%);
  width: 140px;
  z-index: 2;
}

.seccionimgtelperfilusuarioimg {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translate(-50%);
  width: 110px;
  z-index: 2;
}

.seccionimgtagperfilusuarioimg {
  position: absolute;
  top: -33px;
  left: 50%;
  transform: translate(-50%);
  width: 80px;
  z-index: 2;
}

.seccionimgmonitorperfilusuarioimg {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translate(-50%);
  width: 140px;
  z-index: 2;
}

.seccionimgsimperfilusuarioimg {
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translate(-50%);
  width: 80px;
  z-index: 2;
}

@keyframes hoverequipo {
  0% {
    margin-top: 0px;
  }
  50% {
    margin-top: -20px;
  }
  100% {
    margin-top: 0px;
  }
}

/* Seccion de aprobaciones de vacaciones */
.contenedoraprovacionesdevacionesperfilusuario {
  position: relative;
  width: 100%;
  max-height: 100vh;
  padding-left: 20px;
  padding-right: 20px;
  box-shadow: 0.3px 3px 3px #3f586e7e;
  border-radius: 15px;
  margin: 10px;
  overflow: auto;
  padding-bottom: 20px;
}

.contenedorfiltrodevacaciones {
  position: sticky;
  top: 0px;
  width: 100%;
  height: auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 25px;
  padding-top: 10px;
  border-top-right-radius: 15px;
  border-top-left-radius: 15px;
  background-color: #ffffff;
  z-index: 3;
}

.contenedordebtnsfiltrovacaciones {
  position: absolute;
  width: auto;
  height: 40px;
  top: 55px;
  left: 15px;
  border-top-right-radius: 15px;
  color: aliceblue;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

@media (max-width: 725px) {
  .contenedordebtnsfiltrovacaciones {
    top: 85px;
  }
}

@media (max-width: 575px) {
  .contenedordebtnsfiltrovacaciones {
    top: 50px;
  }
}

.contenedordebtnsfiltrovacacionesconjuntobtn {
  width: 100%;
  background-color: #4a7fc47e;
}

.btnopcionessolicitudesvacaciones {
  height: 100%;
  color: aliceblue;
  border: 1px solid aliceblue;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  transition: 0.3s ease;
  background-color: #6e9bd6;
  margin: -1px;
}

.btnopcionessolicitudesvacaciones:hover {
  transform: scale(1.05);
}

/* Seccion de vacaciones */
.contenedorvacionesperfilusuario {
  position: relative;
  width: 100%;
  height: calc(100vh - 14px);
  margin: 5px;
  padding: 0;
  padding-top: 57px;
}

.contenedorformulariopeticionesvacaciones {
  position: relative;
  width: 35%;
  height: auto;
  min-height: 100%;
  background-color: #1253a77e;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  z-index: 3;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0.3px 3px 3px #3f586e7e;
}

.inputfechavacacionesperfil {
  cursor: pointer;
}

.tituloinputiniciofechavacacionesperfilinicio {
  display: none;
  opacity: 0;
  margin-top: 5px;
}

.inputfechavacacionesperfilinicio {
  height: 30px;
  width: auto;
  border-radius: 3px;
  padding-left: 15px;
  padding-right: 10px;
  border: none;
  cursor: pointer;
  margin-top: 0px;
  opacity: 0;
}

.inputdiapermisoperfilinicio {
  height: 30px;
  width: auto;
  border-radius: 3px;
  padding-left: 15px;
  padding-right: 10px;
  border: none;
  cursor: pointer;
  margin-top: 0px;
  opacity: 0;
}

.inputfilejustificanteenfermedad {
  width: 250px;
  height: 30px;
  font-size: 0.7rem;
  border-radius: 3px;
  padding-left: 15px;
  padding-right: 10px;
  border: none;
  cursor: pointer;
  margin-top: 0px;
  opacity: 0;
}

.inputfilejustificanteenfermedad {
  display: none;
  opacity: 0;
  transition: 0.3s ease;
}

.inputdiapermisoperfilinicio {
  display: none;
  opacity: 0;
  transition: 0.3s ease;
}

.inputpermisovacacionesperfilinicio {
  display: none;
  opacity: 0;
  transition: 0.5s ease;
  width: 100px;
  height: 30px;
  font-size: 0.7rem;
  border-radius: 20px;
  padding-left: 15px;
  padding-right: 5px;
  border: none;
}

.inputpermisovacacionesperfilfin {
  display: none;
  opacity: 0;
  transition: 0.5s ease;
  width: 100px;
  height: 30px;
  font-size: 0.7rem;
  border-radius: 20px;
  padding-left: 15px;
  padding-right: 5px;
  border: none;
}

.inputpermisovacacionesperfilfin:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(0, 113, 233, 0.425);
  box-shadow: 0 0 0 2px rgba(0, 113, 233, 0.425);
}

.inputpermisovacacionesperfilinicio:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(0, 113, 233, 0.425);
  box-shadow: 0 0 0 2px rgba(0, 113, 233, 0.425);
}

.inputfechavacacionesperfilinicio:disabled {
  color: black;
}

.inputfechavacacionesperfilfin {
  height: 30px;
  width: auto;
  border-radius: 3px;
  padding-left: 15px;
  padding-right: 10px;
  border: none;
  cursor: pointer;
  opacity: 0;
  transition: 0.3s ease;
}

.inputfechavacacionesperfilfin:disabled {
  color: aliceblue;
}

.inputfechavacacionesperfilfintitulo {
  opacity: 0;
  transition: 0.1;
}

.inputnumerovacacionesnormalesperfilusuario {
  font-size: 1rem;
  transition: 0.3s ease;
}

.inputnumerovacacioneseconomicosperfilusuario {
  font-size: 1rem;
  transition: 0.3s ease;
}

.inputtipovacacionesperfilusuario {
  height: 40px;
  width: 90%;
  opacity: 1;
  transition: 0.3s ease;
  font-size: 0.75rem;
}

.inputtipopermisosperfilusuario {
  display: none;
  opacity: 0;
  height: 40px;
  width: 90%;
  transition: 0.3s ease;
  font-size: 0.75rem;
}

.inputtipovacacionesperfilusuariotitulo {
  opacity: 1;
  transition: 0.3s ease;
}

.inputtipopermisosperfilusuariotitulo {
  display: none;
  opacity: 0;
  transition: 0.3s ease;
}

.contenedorcheckinputvacacionegocesueldo {
  display: none;
  opacity: 0;
  transition: 0.3s ease;
  width: auto;
  height: 30px;
  font-size: 0.72rem;
}

.tituloinputiniciodiatiempovacacionesperfilinicio {
  opacity: 0;
  display: none;
  transition: 0.3s ease;
}

.tituloinputfilejustificanteenfermedad {
  opacity: 0;
  display: none;
  transition: 0.3s ease;
}

.tituloinputiniciotiempovacacionesperfilinicio {
  opacity: 0;
  display: none;
  transition: 0.3s ease;
}

.inputtiempovacacionesperfilfintitulo {
  opacity: 0;
  display: none;
  transition: 0.3s ease;
}

#contenedornumerovacacionesperfilusuarionormales {
  display: none;
}

#contenedornumerovacacionesperfilusuarioeconomicos {
  display: none;
}

.btnsolicitarvacacionesperfilusuario {
  position: absolute;
  bottom: 50px;
  display: none;
  left: 50%;
  transform: translate(-50%);
  background-color: rgb(0, 209, 35);
  color: aliceblue;
  width: auto;
  min-width: 170px;
  height: 30px;
  padding-bottom: 10px;
  transition: 0.3s;
}

.btnsolicitarvacacionesperfilusuario:hover {
  background-color: rgb(0, 184, 31);
  color: aliceblue;
}

.btnreiniciarvacacionesperfilusuario {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translate(-50%);
  background-color: dodgerblue;
  color: aliceblue;
  width: auto;
  min-width: 170px;
  height: 30px;
  transition: 0.3s;
}

.btnreiniciarvacacionesperfilusuario:hover {
  background-color: rgb(0, 105, 209);
  color: aliceblue;
}

.contenedorinfovacacionesperfilusuario {
  height: 100%;
  width: 65%;
  overflow-x: auto;
  overflow-y: auto;
  padding-left: 10px;
}

.inputvacacionesperfilusuario {
  width: 150px;
  height: 30px;
  font-size: 0.7rem;
}

@media (max-width: 750px) {
  .contenedorformulariopeticionesvacaciones {
    width: 100%;
  }

  .contenedorinfovacacionesperfilusuario {
    width: 100%;
    height: 400px;
    padding-bottom: 830px;
  }

  .btnopcionessolicitudesvacaciones {
    font-size: 0.6rem;
  }
}

.contenedorinfovacacionesnormales {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  margin-left: 0px;
  background-color: #ffffff;
}

.contenedorinfovacacioneseconomicas {
  position: absolute;
  right: 0px;
  top: 0;
  width: 50%;
  height: 100%;
  background-color: aliceblue;
}

.contenedortablasolicitudesvacaciones {
  width: 100%;
  min-height: 500px;
  max-height: 500px;
  overflow-y: auto;
  padding-bottom: 100px;
  margin-top: 65px;
}

.tablasolicitudesvacaciones {
  font-size: 0.6rem;
}

.titulotablasolicitudesvacaciones {
}

.imgperfilaprovacionvacacion {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  transition: all 0.3s ease;
}

.imgperfilaprovacionvacacion:hover {
  transform: scale(1.5);
  cursor: pointer;
}

.btnaccionaprobacionvacaciones {
  height: 25px;
  width: 75px;
  font-size: 0.5rem;
  margin: 3px;
  padding-top: 3px;
  padding-bottom: 3px;
}

.btnaccionaprobarcancelacionvacaciones {
  height: 25px;
  width: 120px;
  font-size: 0.5rem;
  margin: 3px;
  padding-top: 3px;
  padding-bottom: 3px;
  white-space: nowrap;
}

.btnvermotivosolicitud {
  height: 25px;
  width: 70px;
  font-size: 0.5rem;
}

.vacacionaceptada {
  background-color: #00be19;
  color: aliceblue;
  width: 45px;
  height: 12px;
  padding-top: 1px;
  border-radius: 25px;
  font-size: 0.4rem;
}

.vacacionrechazada {
  background-color: #e97100;
  color: aliceblue;
  width: 45px;
  height: 12px;
  padding-top: 1px;
  border-radius: 25px;
  font-size: 0.4rem;
}

.vacacionenviada {
  min-width: 45px;
  width: auto;
  height: 12px;
  padding-top: 1px;
  border-radius: 25px;
  font-size: 0.5rem;
}

.vacacioncancelada {
  background-color: #e90000;
  color: aliceblue;
  min-width: 45px;
  width: auto;
  height: 12px;
  padding-top: 1px;
  padding-left: 5px;
  padding-right: 5px;
  padding-bottom: 2px;
  border-radius: 25px;
  font-size: 0.4rem;
  white-space: nowrap;
}

.vacacionregresada {
  width: 45px;
  height: 12px;
  padding-top: 1px;
  border-radius: 25px;
  font-size: 0.5rem;
}

/* -------------------------------------------------------- Servicios generales inventario  ------------------------------------- */
/* Contiene todos los forms de inventarios servicios generales */
.modulocontendorinventariosg {
  position: relative;
  width: 100%;
  height: 100%;
  right: 0;
  background-color: #00000000;
  transition: 0.3s ease;
  padding-left: 20px;
  padding-top: 10px;
  padding-right: 20px;
}

.contenedorinventariochips {
  min-height: 550px;
  width: 100%;
}

.modulocontendorinventariosgchips {
  position: absolute;
  top: 60px;
}

/* Fromato a los imputs donse  */
.inputsgalta {
  width: 40%;
  height: 50%;
  padding-left: 3px;
  overflow: hidden; /* Oculta el texto que se desborda */
  text-overflow: ellipsis; /* Muestra '...' al final del texto si se desborda */
  white-space: nowrap; /* Evita el ajuste de línea */
}

.tablainventariochips {
  min-width: 100px;
  font-size: 0.7rem;
}

@media (max-width: 500px) {
  .tablainventariochips {
    width: 50%;
    font-size: 0.5rem;
  }
}

.titulotablainventariochips {
  position: sticky;
  top: -16px;
}

.inventariosgcintilla {
  width: 100%;
}

.btninventariossgbtncrearchip {
  position: absolute;
  width: 65px;
  height: 25px;
  right: 20px;
  top: 12px;
  font-size: 0.7rem;
}

@media (max-width: 500px) {
  .btninventariossgbtncrearchip {
    width: 50px;
    height: 20px;
    font-size: 0.7rem;
  }
}

.btnregresarsolicitudvacaciones {
  height: 25px;
  width: 70px;
  right: 25px;
  top: 0px;
  font-size: 0.5rem;
  background-color: #f08800;
}

.btnregresarsolicitudvacaciones:hover {
  background-color: #c26e00;
  color: aliceblue;
}

.btnsolicitarcancelarsolicitudvacaciones {
  height: 25px;
  width: 120px;
  right: 25px;
  top: 0px;
  font-size: 0.5rem;
}

.btnenviarsolicitudvacaciones {
  height: 25px;
  width: 70px;
  right: 25px;
  top: 0px;
  font-size: 0.5rem;
}

.btneliminarsolicitudvacaciones {
  height: 25px;
  width: 70px;
  right: 25px;
  top: 0px;
  font-size: 0.5rem;
}

.tablevacaciones {
  background-color: #1253a77e;
  color: aliceblue;
}

.inventariosginputchip {
  position: absolute;
  left: 20%;
  transform: translate(-50%);
  top: 15px;
  width: 200px;
  height: 30px;
}

.contenedorsugerenciasinputchip {
  opacity: 0;
  z-index: -1;
  position: absolute;
  width: 200px;
  height: 100px;
  left: 50%;
  transform: translate(-50%);
  top: 50px;
  background-color: aliceblue;
  box-shadow: 1px 1px 6px rgb(168, 168, 168);
  transition: 0.3s ease;
}

/* ------------------------------------------------------------------- Administracion de Colaboradores ------------------------------------------- */
.contenedorcolaboradores {
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translate(-50%);
  width: 99%;
  height: auto;
  padding: 10px;
  padding-top: 15px;
  border-radius: 15px;
  background-color: #f5f7ff9a; /* borrar y queda cool*/
  box-shadow: 1px 2px 30px rgba(97, 97, 97, 0.267);
  transition: 0.3s ease;
  overflow-y: auto;
  z-index: 3;
}

.contendorbusquedaadministracioncolaboradores {
  position: sticky;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 75px;
  background-color: rgb(245, 250, 255);
  border-radius: 10px;
  box-shadow: 1px 2px 5px rgba(105, 105, 105, 0.267);
  margin-bottom: 10px;
  z-index: 3;
}

@media (max-width: 500px) {
  .contenedorcolaboradores {
    position: absolute;
    width: 100%;
    height: auto;
    background-color: rgb(244, 250, 255);
    padding: 10px;
    padding-top: 10px;
    border-radius: 10px;
  }
}

.tituloinputbusquedacolaboradores {
  position: absolute;
  left: 15px;
  top: 3.5px;
}

.inputbusquedacolaboradores {
  position: absolute;
  width: 45%;
  height: 35px;
  left: 10px;
  top: 25px;
}

.btnbusquedacolaboradores {
  position: absolute;
  right: 10px;
  top: 25px;
  width: 50px;
  height: 30px;
  border-radius: 13px;
  transition: 0.3s ease;
  overflow: hidden;
}

.btndescargaexcelhistorialvacaciones {
  position: absolute;
  right: 10px;
  top: 25px;
  width: 110px;
  height: 25px;
}

/* Contenedor de los filtros de busqueda */
.contenedorfiltrosbusquedacolaboradores {
  position: absolute;
  right: 40%;
  transform: translate(50%);
  top: 25px;
  width: 10%;
  height: 30px;
  border: solid 1.4px rgba(78, 92, 104, 0.404);
  border-radius: 13px;
  transition: 0.3s ease;
  interpolate-size: allow-keywords;
  background-color: aliceblue;
  overflow: hidden;
  z-index: 50;
}

/* Contenedor de los checkboxes de busqueda */
.contendorcheckboxesfiltrosbusquedacolaboradores {
  width: 0px;
  height: 0px;
  opacity: 0;
  transition: 0s ease;
  margin-top: -10px;
  margin-left: -5px;
}

/* Contenedor de las ordenes de busqueda */
.contenedorordenesbusquedacolaboradores {
  position: absolute;
  right: 29%;
  transform: translate(50%);
  top: 25px;
  width: 10%;
  height: 30px;
  border: solid 1.4px rgba(78, 92, 104, 0.404);
  border-radius: 13px;
  transition: 0.3s ease;
  background-color: aliceblue;
  overflow: hidden;
  z-index: 50;
}

.imagenfotoactualizarcolaborador {
  height: 100px;
  width: 100px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  transition: 0.3s ease;
}

.imagenfirmaactualizarcolaborador {
  height: 100px;
  width: 100px;
  object-fit: cover;
  object-position: center top;
  transition: 0.3s ease;
}

.imagenfotoactualizarcolaborador:hover {
  transform: scale(1.5);
  z-index: 20;
  border: 3px solid rgb(255, 255, 255);
  cursor: pointer;
}

.imagenfirmaactualizarcolaborador:hover {
  width: auto;
  transform: scale(2);
  z-index: 20;
  border-radius: 15px;
  border: 3px solid rgb(255, 255, 255);
  cursor: pointer;
}

.contenedorfiltroscolaboradoresdefechassedes {
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translate(-50%);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  background-color: aliceblue;
  padding: 5px 15px;
  border-radius: 10px;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
  z-index: 4;
  white-space: nowrap;
}

.contenedorfiltroscolaboradoresdefechassedes h1 {
  font-size: 0.7rem !important;
  margin: 0 !important;
  margin-right: 5px !important;
  color: #4e5c68;
}

.contenedorfiltroscolaboradoresdefechassedes .mb-2 {
  margin-bottom: 0 !important;
  display: flex;
  align-items: center;
  gap: 5px;
}

.contenedorfiltroscolaboradoresdefechassedes select {
  font-size: 0.7rem !important;
  padding: 2px 5px;
  height: 25px;
  width: auto;
  min-width: 150px;
}

.contenedorfiltroscolaboradoresdefechassedes input[type="date"] {
  font-size: 0.7rem !important;
  padding: 2px 5px;
  height: 25px;
  width: auto;
}

.contenedorfiltroscolaboradoresdefechassedes label {
  font-size: 0.7rem !important;
  margin: 0;
}

@media (max-width: 800px) {
  .contenedorfiltroscolaboradoresdefechassedes {
    display: none !important;
  }
}

.contendortablacolaboradores {
  width: 100%;
  height: auto;
  min-height: 50dvh;
  overflow-x: auto;
  overflow-y: auto;
  margin-left: 0px;
  margin-right: 0px;
  scrollbar-width: 5px;
  scrollbar-color: #597592e7 #f5f7ff9a;
}

.contendortablacolaboradoresfiltro {
  width: 100%;
  height: auto;
  overflow-x: auto;
  margin-left: 0px;
  margin-right: 0px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}

.contendortablacolaboradoresfiltro::-webkit-scrollbar {
  height: 4px;
  background-color: #c8e4ff00; /* Color de fondo de la barra de desplazamiento */
}

.tablacolaboradores {
  box-shadow: 1px 1px 5px rgba(116, 116, 116, 0.301);
}

/* Hace que la letra de los titulos de la tabla se ajuste al tamaño del contenedor */
.titulotablaadministrarcolaboradores {
  font-size: 0.75rem;
}

/* Hace que la letra de los registros de la tabla se ajuste al tamaño del contenedor */
.registrotablaadministrarcolaboradores {
  font-size: 0.7rem;
}

/* Hace que la tabla se ajuste al tamaño del contenedor */
.registrotablaadministrarcolaboradores td {
  height: 30px;
  white-space: nowrap; /* Evita que el texto se divida en múltiples líneas */
  text-overflow: ellipsis; /* Muestra "..." para indicar que hay más texto */
}

.btneditarcolaboradores {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  transition: 0.3s ease;
  background-color: #0073aa;
  user-select: none;
}

.btneditarcolaboradores:hover {
  transform: scale(1.05);
  background-color: #006594;
}

/* Hace que los iconos de editar y eliminar se ajusten al tamaño del contenedor */
.iconoeditarcolaboradores {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-left: 3px;
}

.textolabelestadocolaborador {
  font-size: 0.4rem;
  text-align: center;
  padding: 2px;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 5px;
  user-select: none;
  margin-left: 5px;
  color: aliceblue;
}

/* Colores de los estados */
.textolabelestadocolaboradoralta {
  background-color: rgba(0, 197, 89, 0.644);
}

/* Colores de los estados */
.textolabelestadocolaboradorpendiente {
  background-color: rgba(145, 255, 0, 0.644);
}

.textolabelestadocolaboradorconciliacion {
  background-color: rgba(124, 124, 124, 0.644);
}

.textolabelestadocolaboradordeclinado {
  background-color: rgba(187, 114, 31, 0.808);
  color: aliceblue;
}

.textolabelestadocolaboradorbaja {
  background-color: rgb(182, 0, 0);
  color: aliceblue;
}

.textolabelestadocolaboradorprebaja {
  background-color: rgb(186, 189, 0);
  color: aliceblue;
}

.textolabelestadocolaboradorprealta {
  background-color: rgb(0, 119, 255);
  color: aliceblue;
}

/* Boton de crear colaborador */
.btncrearcolaborador {
  position: absolute;
  width: 100px;
  height: 32px;
  top: 18px;
  right: 10px;
  border-radius: 13px;
  transition: 0.3s ease;
  overflow: hidden;
  z-index: 2;
}

/* imagen del boton buscar */
.btnconimagenmargintop {
  margin-top: -7px;
}

.btndescargaexcelcolaboradores {
  position: absolute;
  width: 100px;
  height: 32px;
  top: 18px;
  right: 120px;
  border-radius: 13px;
  transition: 0.3s ease;
  overflow: hidden;
  z-index: 2;
}

/* Boton de filtro de busqueda */
.btnfiltrosbusquedacolaboradores {
  user-select: none;
}

/* Boton de filtro de busqueda */
#btnfiltrosbusquedacolaboradores {
  user-select: none;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(151, 151, 151, 0.377);
}

/* mueve el icono de filtro para ajustar el icono a la derecha */
.iconofiltrobtnfiltrarcolaboradores {
  width: 13px;
  height: 13px;
  margin-right: 8px;
}

/* Boton de filtro de busqueda */
.btnordenesbusquedacolaboradores {
  user-select: none;
}

/* Boton de orden de busqueda */
#btnordenesbusquedacolaboradores {
  user-select: none;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(151, 151, 151, 0.377);
}

/* mueve el icono de ordenar para ajustar el icono a la derecha */
.iconofiltrobtnordenarcolaboradores {
  width: 11px;
  height: 11px;
  margin-right: 5px;
}

/* rows de la tabla */
.sticky-left-0 {
  position: sticky;
  left: 0;
  top: 0;
}

.sticky-left-25 {
  position: sticky;
  left: 35px;
  top: 0;
}

.sticky-left-50 {
  position: sticky;
  left: 60px;
  top: 0;
}

.sticky-left-110 {
  position: sticky;
  left: 140px;
  top: 0;
}

@media (max-width: 575px) {
  .titulotablaadministrarcolaboradores {
    font-size: 0.6rem;
  }

  .registrotablaadministrarcolaboradores {
    font-size: 0.55rem;
  }

  .sticky-left-0 {
    position: sticky;
    left: 0px;
  }

  .sticky-left-25 {
    position: sticky;
    left: 40px;
  }

  .sticky-left-50 {
    position: sticky;
    left: 65px;
  }

  .sticky-left-110 {
    position: sticky;
    left: 135px;
  }
}

.pagination {
}

.pagination .page-item {
  font-size: 0.6rem;
  color: #1253a7;
}

/* ------------ Interfaz de resgistro de colaboradores ( administracion colaboradores) ------------ */
/* contenedor de formulario  */
.contenedorformularioaltacolaborador {
  position: absolute;
  display: none;
  left: 50%;
  transform: translate(-50%);
  width: 0%;
  height: 0%;
  opacity: 0;
  border-radius: 10px;
  transition: 0.3s ease;
  background-color: #f5f7ff9a;
  padding: 10px;
  padding-top: 70px;
  padding-bottom: 20px;
  box-shadow: 1px 1px 5px rgba(0, 17, 255, 0.315);
}

.contenedoropcionesformularioaltacolaborador {
  position: absolute;
  top: 0;
  right: 5px;
}

#btnopcionesformulariodocumentos {
  position: absolute;
  right: 5px;
  top: 80px;
}

#btnmodalimportarinformacionplaneacion {
  position: absolute;
  right: 190px;
  top: 80px;
  background-color: #13ac64;
}

.btnopcionesformulario {
  font-size: 1rem;
  transition: 0.3s ease;
}

.btnopcionesformulario:hover {
  transform: scale(1.03);
}

@media (max-width: 575px) {
  .contenedoropcionesformularioaltacolaborador {
    position: absolute;
    transform: translateX(50%);
    right: 0px;
  }

  .btnopcionesformulario:hover {
    transform: scale(1.03);
  }

  #btnopcionesformulariodocumentos {
    right: 0px;
  }

  #btnimportarinformacionplaneacion {
    display: none;
  }
}

.contenedordatospersonalesformulariocolaboradores {
  position: relative;
  padding-bottom: 70px; /* Le da espacio a el contendor de los documentos que sera flotante que esta abajo y va hacia arriba*/
}

.inputformulariocolaborador {
  width: 396px;
  height: 60px;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.inputformulariocolaboradornombre {
  width: 370px;
  height: 50px;
  margin: 5px;
}

@media (max-width: 990px) {
  .inputformulariocolaboradornombre {
    width: 360px;
  }
}

@media (max-width: 575px) {
  .inputformulariocolaboradornombre {
    width: 320px;
  }
}

/* contenedor donde cargan los documentos, estara escondido al iniciohasta que preionen saldra como una barra */
.contenedordocumentospersonalesformulariocolaboradores {
  position: absolute;
  top: 3px;
  right: 2px;
  width: 90px;
  height: auto;
  padding-bottom: 15px;
  background-color: #6984a3b2;
  color: aliceblue;
  z-index: 10;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  box-shadow: -2px 0.5px 5px rgba(155, 155, 155, 0.589);
  transition: 0.3s ease;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 575px) {
  .contenedordocumentospersonalesformulariocolaboradores {
    width: 0px;
  }
}

/* cuando se sobre ponga en el contenedor se hara mas grande el contendor de los input documentos */
.contenedordocumentospersonalesformulariocolaboradores:hover {
  width: 400px;
  background-color: #6984a3;
  color: #ffffff;
}

/* Cuando con js abran el menu, asignara esta clase */
#contenedordocumentospersonalesformulariocolaboradores.contenedordocumentosabierto {
  width: 400px;
}

.titulocontenedordocumentospersonalesalta {
  transform: rotate(-90deg);
}

.contenedorinputsdocumentospersonalesformulariocolaborador {
  padding-left: 40px;
  padding-right: 40px;
  z-index: 3;
}

.contenedordatospersonalesformularioaltacolaborador {
  width: 45%;
  background-color: #f7fbff9a;
  margin: 5px;
  padding-bottom: 10px;
  border-radius: 15px;
  box-shadow: inset 0.3px 0.7px 5px rgba(156, 156, 156, 0.315);
  transition: 0.3s ease;
}

.contenedordatospersonalesformularioaltacolaborador:hover {
  transform: scale(1.02);
  z-index: 3;
  background-color: #556fc50e;
  box-shadow: 1px 1px 5px #335adb6e;
}

.contenedordatoslaboralesformularioaltacolaborador {
  width: 45%;
  background-color: #f7fbff9a;
  margin: 5px;
  padding-bottom: 10px;
  border-radius: 15px;
  box-shadow: inset 0.5px 1px 5px rgba(156, 156, 156, 0.315);
  transition: 0.3s ease;
}

.contenedordatoslaboralesformularioaltacolaborador:hover {
  transform: scale(1.02);
  z-index: 3;
  background-color: #556fc50e;
  box-shadow: 1px 1px 5px #6977866e;
}

.contenedordatosclinicosformularioaltacolaborador {
  width: 100%;
  background-color: #f7fbff9a;
  height: auto;
  min-height: 50%;
  margin: 5px;
  padding-bottom: 30px;
  border-radius: 15px;
  box-shadow: inset 0.5px 1px 5px rgba(156, 156, 156, 0.315);
  transition: 0.3s ease;
}

.contenedordatosclinicosformularioaltacolaborador:hover {
  transform: scale(1.02);
  z-index: 3;
  background-color: #556fc50e;
  box-shadow: 1px 1px 5px #6977866e;
}

.contenedordatosnominaformularioaltacolaborador {
  width: 45%;
  background-color: #f7fbff9a;
  margin: 5px;
  padding-bottom: 10px;
  border-radius: 15px;
  box-shadow: inset 0.5px 1px 5px rgba(156, 156, 156, 0.315);
  transition: 0.3s ease;
}

.contenedordatosnominaformularioaltacolaborador:hover {
  transform: scale(1.02);
  z-index: 3;
  background-color: #556fc50e;
  box-shadow: 1px 1px 5px #6977866e;
}

.contenedordatosviaticosformularioaltacolaborador {
  width: 100%;
  background-color: #f7fbff9a;
  height: auto;
  min-height: 50%;
  margin: 5px;
  padding-bottom: 30px;
  border-radius: 15px;
  box-shadow: inset 0.5px 1px 5px rgba(156, 156, 156, 0.315);
  transition: 0.3s ease;
}

.contenedordatosviaticosformularioaltacolaborador:hover {
  transform: scale(1.02);
  z-index: 3;
  background-color: #556fc50e;
  box-shadow: 1px 1px 5px #6977866e;
}

.contenedorcolumnafomularioaltacolaborador {
  width: 45%;
  margin: 5px;
}

@media (max-width: 900px) {
  .contenedordatospersonalesformularioaltacolaborador {
    width: 100%;
    margin-top: 20px;
  }

  .contenedordatoslaboralesformularioaltacolaborador {
    width: 100%;
  }

  .contenedordatosclinicosformularioaltacolaborador {
    width: 100%;
  }

  .contenedordatosnominaformularioaltacolaborador {
    width: 100%;
  }

  .contenedordatosviaticosformularioaltacolaborador {
    width: 100%;
  }

  .contenedorcolumnafomularioaltacolaborador {
    width: 100%;
  }
}

/* ---------------- Editar colaboradores -------------- */
.contenedordocumentosformularioaltacolaboradoractualizar {
  position: absolute;
  bottom: -15px;
  height: 50px;
  width: 50%;
  background-color: #4575c8;
  color: aliceblue;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  transition: 0.3s ease;
  box-shadow: 1px 1px 5px rgba(156, 156, 156, 0.315);
  z-index: 9;
  overflow: hidden;
}

.contenedordocumentosformularioaltacolaboradoractualizar:hover {
  height: 520px;
  width: 98%;
  background-color: #ffffff;
  color: #4575c8;
  box-shadow: 0px 1px 5px #b4b4b4;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
  overflow-y: scroll;
}
.contenedordocumentosformularioaltacolaboradoractualizar:hover
  .contenedortitulodocumentoseditar {
  position: sticky;
  top: 0px;
  left: 0px;
  height: 50px;
  background-color: #ffffff;
  width: 100%;
  z-index: 300;
}

.bodycontenedordocumentosformularioaltacolaboradoractualizar {
  position: relative;
}

.contenedordocumentoscolaboradoractualizar {
  position: relative;
  height: 370px;
  width: 300px;
  padding: 7px;
  padding-top: 10px;
  overflow: hidden;
  margin: 5px;
  border-radius: 15px;
  box-shadow: 0px 0.5px 2px rgba(125, 96, 255, 0.315);
  transition: 0.3s ease;
  opacity: 0.75;
}

.iframedocumentosformularioactualizarcolaborador {
  width: 100%;
  height: 80%;
  z-index: 2;
  margin-bottom: 5px;
  border-radius: 10px;
  box-shadow: 1px 1px 5px rgba(156, 156, 156, 0.315);
}

.contenedordocumentoscolaboradoractualizar:hover {
  transform: scale(1.05);
  cursor: pointer;
  background-color: rgb(255, 255, 255);
  opacity: 1;
  z-index: 3;
}

.contenedoravatarformularioaltacolaborador {
  position: absolute; /* Posiciona el contenedor como referencia para el contenido */
  top: -65px; /* Ajusta la posición vertical del contenedor */
  left: 240px; /* Centra el contenedor horizontalmente */
  width: 35px; /* Asegura que el contenedor tenga el mismo ancho que la imagen */
  height: 35px; /* Asegura que el contenedor tenga el mismo alto que la imagen */
}

/* Estilo para la imagen */
.avatarformularioaltacolaborador {
  width: 35px; /* Asegura que la imagen llene el contenedor */
  height: 35px; /* Mantiene proporción con el contenedor */
  object-fit: cover; /* Ajusta la imagen para cubrir el contenedor */
  object-position: top;
  border-radius: 50%; /* Hace que la imagen sea circular */
}

/* ----------------- Baja de colaboradores ---------------- */
.btnbajacolaborador {
  position: absolute;
  top: -50px;
  right: 45px;
  padding-left: 20px;
  padding-right: 20px;
  z-index: 8;
}

.btnnotificarbaja {
  border: 1px solid #f1cd00;
}

@media (max-width: 990px) {
  .btnbajacolaborador {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.btnreingresocolaborador {
  position: absolute;
  top: -50px;
  right: 31%;
  padding: 2.5px;
  padding-left: 100px;
  padding-right: 100px;
  z-index: 100000;
}

@media (max-width: 990px) {
  .btnreingresocolaborador {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.contenedordocumentosbajaformularioaltacolaboradoractualizar {
  width: 100%;
  height: 100%;
  border-radius: 25px;
  padding-top: 20px;
  margin-top: 5px;
}

.contenedorformulariobajacolaborador {
  padding-left: 70px;
  padding-right: 70px;
}

.inputformulariocolaboradorbaja {
  width: 45%;
  height: 40px;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 5px;
}

@media (max-width: 990px) {
  .contenedorformulariobajacolaborador {
    padding-left: 23px;
  }

  .inputformulariocolaboradorbaja {
    width: 300px;
  }
}

.contenedordocumentosbajaporarea {
  padding-top: 10px;
  padding-bottom: 10px;
  margin: 10px;
  border-radius: 10px;
  box-shadow: 1px 1px 5px rgba(156, 156, 156, 0.315);
  transition: 0.3s ease;
}

.contenedordocumentosbajaporarea:hover {
  transform: scale(1.02);
  z-index: 3;
  background-color: #c5be550e;
  box-shadow: 1px 1px 5px #c5be550e;
}

.contenedordocumentoscolaboradorbaja {
  height: 370px;
  width: 300px;
  padding: 7px;
  padding-top: 10px;
  overflow: hidden;
  margin: 5px;
  border-radius: 15px;
  box-shadow: 0px 0.5px 2px rgba(141, 141, 141, 0.315);
  transition: 0.3s ease;
  opacity: 0.75;
}

.contenedordocumentoscolaboradorbaja:hover {
  transform: scale(1.05);
  cursor: pointer;
  background-color: #ffee0028;
  opacity: 1;
  z-index: 3;
}

/*-----Dashboard colaboradores*/
.contenedordashboardcolaboradores {
  padding: 10px;
  margin: 10px;
  margin-top: 62px;
  box-shadow: inset 1px 1px 5px rgba(156, 156, 156, 0.315);
  border-radius: 10px;
  display: none;
  opacity: 0;
  width: 0;
  transition: all 0.5s ease;
}

.selectdocumentosdash {
  height: 250px;
}

.selectdocumentosdash:focus {
  outline: none; /* quita el borde azul del navegador */
  outline: 2px solid #ffffff;
}

.multiselect-container {
  position: relative;
  width: 100%;
}

.multiselect-btn {
  width: 100%;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 5px;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #495057;
}

.multiselect-btn:after {
  content: "\25BC";
  font-size: 0.8em;
  color: #6c757d;
}

.multiselect-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-height: 300px;
  overflow-y: auto;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 5px;
  z-index: 1000;
  display: none;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.multiselect-dropdown.show {
  display: block;
}

.multiselect-option {
  padding: 8px 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #f1f1f1;
}

.multiselect-option:last-child {
  border-bottom: none;
}

.multiselect-option:hover {
  background-color: #f8f9fa;
}

.multiselect-option input[type="checkbox"] {
  margin-right: 10px;
  transform: scale(1.2);
}

.multiselect-option label {
  margin-bottom: 0;
  cursor: pointer;
  width: 100%;
  font-size: 0.9em;
  color: #4d5f72;
}

/*------------------- Organigrama -------------------*/
.contenedormoduloorganigrama {
  height: auto;
  max-height: calc(100vh - 62px);
  padding: 10px;
  margin: 10px;
  margin-top: 62px;
  border-radius: 10px;
  transition: all 0.5s ease;
}

/* Controls card styling */
.contenedormoduloorganigrama .card {
  border-radius: 15px;
  border: none;
}

/* Button styling improvements */
.contenedormoduloorganigrama .btn {
  border-radius: 8px;
  padding: 0px 15px;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.contenedormoduloorganigrama .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Search input styling */
#searchInput {
  border-radius: 8px;
  border: 2px solid #e0e0e0;
  transition: all 0.3s ease;
}

#searchInput:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Info panel styling */
#colaboradorInfo {
  border-radius: 8px;
  font-size: 0.9rem;
}

/* Estilos para el organigrama D3 */
#tree {
  height: auto;
  max-height: calc(90vh - 62px);
  min-height: calc(85vh - 62px);
  width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
  background: linear-gradient(135deg, #ffffff 0%, #e9f8ff 100%);
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.node rect {
  cursor: pointer;
  fill: #fff;
  stroke-width: 2px;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
  min-height: 500px;
}

.node text {
  font: 12px sans-serif;
}

.link {
  fill: none;
  stroke: #ccc;
  stroke-width: 1.5px;
}

/* Contenido HTML dentro del nodo SVG */
.node-foreign-content {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 5px;
  box-sizing: border-box;
  overflow: hidden;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.node-header {
  width: 80px;
  height: 80px;
  background-color: #0073aa;
}

.node-img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 10px;
  border: 2px solid #eee;
}

.node-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.2;
  overflow: hidden;
}

.node-name {
  font-weight: bold;
  font-size: 13px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

.node-title {
  font-size: 11px;
  color: #666;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

/* -------------------------------------------------------------  Directorio  ----------------------------------------------------------------- */
.contenedortarjetadirectoriocolaborador {
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 20px;
  overflow-y: hidden;
  padding-bottom: 150px;
}

.btnacercadelaborador {
  position: absolute;
  top: 13px;
  right: 14px;
  width: 18px;
  height: 18px;
  z-index: 2;
}

@media (max-width: 575px) {
  .btnacercadelaborador {
    top: 10px;
    right: 10px;
    width: 18px;
    height: 18px;
    z-index: 2;
  }
}

.tarjetadirectoriocolaborador {
  position: relative;
  width: 280px;
  height: 310px;
  box-shadow: 1px 1px 5px rgba(156, 156, 156, 0.315);
  transition: 0.3s ease;
  margin: 5px;
  padding: 5px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

@media (max-width: 740px) {
  .tarjetadirectoriocolaborador {
    width: 40%;
  }
}

.tarjetadirectoriocolaborador:hover {
  position: relative;
  height: 300px;
  transform: scale(1.2);
  cursor: pointer;
  border-radius: 500px;
  animation: palpitarshadow 1.5s ease infinite;
  padding-bottom: 20px;
  z-index: 5;
}

@keyframes palpitarshadow {
  0% {
    box-shadow: 1px 20px 20px rgba(156, 156, 156, 0.315);
  }
  50% {
    box-shadow: 0px 50px 50px #697786;
  }
  100% {
    box-shadow: 1px 20px 20px rgba(156, 156, 156, 0.315);
  }
}

.numerocolaboradortextolabelestadocolaborador {
  position: absolute;
  right: 10px;
  bottom: -2px;
  font-size: 10px;
  font-weight: bold;
  color: #ffffff;
}

@media (max-width: 575px) {
  .numerocolaboradortextolabelestadocolaborador {
    bottom: -6px;
    font-size: 8px;
  }
}

.tarjetadirectoriocolaborador:hover
  .numerocolaboradortextolabelestadocolaborador {
  color: #697786;
}

.tarjetadirectoriocolaborador:hover .tarjetadirectoriocolaboradorizquierda {
  background-color: #ffffff;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}

.tarjetadirectoriocolaborador:hover .tarjetadirectoriocolaboradorderecha {
  background-color: #697786;
  color: #ffffff;
  height: auto;
  box-shadow: 0.5px 0.5px 5px rgb(56, 56, 56);
}

.tarjetadirectoriocolaborador:hover .tarjetadirectoriocolaboradortitulos {
  color: #ffffff;
}

.tarjetadirectoriocolaborador:hover .tarjetadirectoriocolaboradortitulos span {
  color: #ffffff;
}

.tarjetadirectoriocolaborador:hover .tarjetadirectoriocolaborador :not(:hover) {
  opacity: 0.5;
}

.tarjetadirectoriocolaborador:hover .tarjetadirectoriocolaboradorfoto {
  transform: scale(1.1);
}

/* Parte izquierda de la tarjeta donde va la foto del colaborador */
.tarjetadirectoriocolaboradorizquierda {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 40%;
  background-color: #697786;
  transition: 0.3s ease;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

@media (max-width: 740px) {
  .tarjetadirectoriocolaboradorizquierda {
    height: 30%;
  }
}

.tarjetadirectoriocolaboradorfoto {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  transition: 0.3s ease;
  bottom: 10px;
  left: 30%;
  z-index: 1;
}

.tarjetadirectoriocolaboradorfoto:hover {
  transform: scale(1.2);
  z-index: 10;
  bottom: -0px;
  box-shadow: 5px 5px 10px rgba(156, 156, 156, 0.315);
  cursor: pointer;
  transition: 0.3s ease;
  animation: respiracion 3s infinite;
}

@keyframes respiracion {
  0% {
    transform: scale(1.2);
  }
  50% {
    transform: scale(1.28);
  }
  100% {
    transform: scale(1.2);
  }
}

.imagentarjetadirectoriocolaborador {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  transition: 0.3s ease;
  margin-left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 740px) {
  .imagentarjetadirectoriocolaborador {
    width: 70px;
    height: 70px;
    margin-top: 25px;
    margin-left: 30%;
    transform: translateX(-50%);
  }
}

@media (max-width: 575px) {
  .imagentarjetadirectoriocolaborador {
    width: 50px;
    height: 50px;
    margin-top: 35px;
    margin-left: 25%;
    transform: translateX(-50%);
  }
}

/* Parte derecha de la tarjeta donde van los datos del colaborador */
.tarjetadirectoriocolaboradorderecha {
  position: absolute;
  right: 0;
  top: 40%;
  width: 100%;
  height: 60%;
  background-color: #ffffff;
  transition: 0.3s ease;
  padding: 0 20px; /* Ajuste de padding para ocultar elementos parcialmente visibles */
  overflow: hidden;
}

@media (max-width: 740px) {
  /* Parte derecha de la tarjeta donde van los datos del colaborador */
  .tarjetadirectoriocolaboradorderecha {
    top: 30%;
    height: 70%;
  }
}

.tarjetadirectoriocolaboradortitulos {
  font-weight: 500;
  font-size: 0.9rem;
  color: #697786;
}

.tarjetadirectoriocolaboradortitulos span {
  font-weight: 450;
  font-size: 0.8rem;
  color: #000000;
}

/* Colores de los estados */
.estadodirectoriotextolabelestadocolaboradoralta {
  position: absolute;
  top: 85%;
  left: 10px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 2px;
  padding-bottom: 2px;
  background-color: rgba(0, 197, 89, 0.644);
  color: aliceblue;
  font-size: 0.5rem;
  border-radius: 10px;
}

/* Colores de los estados */
.estadodirectoriotextolabelestadocolaboradorpendiente {
  position: absolute;
  top: 85%;
  left: 10px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 2px;
  padding-bottom: 2px;
  background-color: rgba(145, 255, 0, 0.644);
  color: aliceblue;
  font-size: 0.5rem;
  border-radius: 10px;
}

.estadodirectoriotextolabelestadocolaboradorconciliacion {
  position: absolute;
  top: 85%;
  left: 10px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 2px;
  padding-bottom: 2px;
  background-color: rgba(124, 124, 124, 0.644);
  color: aliceblue;
  font-size: 0.5rem;
  border-radius: 10px;
}

.estadodirectoriotextolabelestadocolaboradorprebaja {
  position: absolute;
  top: 85%;
  left: 10px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 2px;
  padding-bottom: 2px;
  background-color: rgba(135, 145, 0, 0.808);
  color: aliceblue;
  font-size: 0.5rem;
  border-radius: 10px;
}

.estadodirectoriotextolabelestadocolaboradorbaja {
  position: absolute;
  top: 85%;
  left: 10px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 2px;
  padding-bottom: 2px;
  background-color: rgb(255, 0, 0);
  color: aliceblue;
  font-size: 0.5rem;
  border-radius: 10px;
}

.estadodirectoriotextolabelestadocolaboradorprealta {
  position: absolute;
  top: 85%;
  left: 10px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 2px;
  padding-bottom: 2px;
  background-color: rgb(0, 119, 255);
  color: aliceblue;
  font-size: 0.5rem;
  border-radius: 10px;
}

.contenedormodulo {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #f5f7ff9a;
  overflow: hidden;
  border-radius: 15px;
  padding: 10px;
  margin-top: 2px;
  box-shadow: 1px 2px 30px rgba(97, 97, 97, 0.267);
}

/*--------------------------------------------------- PLANEACION ALTAS --------------------------------------------*/
.contenedorformularioplaneacionaltas {
  position: relative;
  width: 100%;
  height: 100%;
  margin-top: 70px;
}

.btndescargaexcel {
  position: absolute;
  top: 23px;
  right: 180px;
  width: auto;
  height: 32px;
  padding-left: 15px;
  padding-right: 15px;
  background-color: #15b800;
  color: aliceblue;
  border-radius: 10px;
  font-size: 0.8rem;
  border: none;
  transition: 0.3s ease;
  cursor: pointer;
}

.labelbtndescargaexcel {
  opacity: 0;
  position: absolute;
  top: 53px;
  right: 177px;
  font-size: 0.4rem;
  color: #15b800;
  transition: 0.3s ease;
}

.btndescargaexcel:hover + .labelbtndescargaexcel {
  opacity: 1;
}

.btnagregarplaneacion {
  width: auto;
  height: 32px;
  padding-left: 15px;
  padding-right: 15px;
  background-color: #0093f5;
  color: aliceblue;
  border-radius: 10px;
  font-size: 0.8rem;
  border: none;
  transition: 0.3s ease;
  cursor: pointer;
}

.contenedorinputpuestoabiertoplaneacionaltas {
  display: none;
}

.contenedorinputjefeabiertoplaneacionaltas {
  display: none;
}

.contenedormoduloplaneacion {
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translate(-50%);
  width: 99%;
  height: auto;
  min-height: 80dvh;
  padding: 10px;
  padding-top: 15px;
  border-radius: 15px;
  background-color: #f5f7ff9a; /* borrar y queda cool*/
  box-shadow: 1px 2px 30px rgba(97, 97, 97, 0.267);
  transition: 0.3s ease;
  overflow-y: auto;
  z-index: 3;
}

.contenedortablaplaneacion {
  width: 100%;
  overflow-y: auto;
  overflow-x: auto;
  scrollbar-width: 5px;
  scrollbar-color: #597592e7 #f5f7ff9a;
}

.table.table-white.tablaplaneacionaltas th,
.table.table-white.tablaplaneacionaltas tr {
  font-size: 0.7rem;
}

.btneditarplaneacionalta {
  width: 25px;
  height: 25px;
  background-color: #0073aa;
  color: aliceblue;
  border-radius: 50%;
  font-size: 0.5rem;
  border: none;
  transition: 0.3s ease;
}

.btneditarplaneacionalta:hover {
  background-color: #0073aa;
  transform: scale(1.05);
}

/* rows de la tabla */
.planeacionsticky-left-1 {
  position: sticky;
  left: 0;
  top: 0;
}
/* rows de la tabla */
.planeacionsticky-left-2 {
  position: sticky;
  left: 30px;
  top: 0;
}
/* rows de la tabla */
.planeacionsticky-left-3 {
  position: sticky;
  left: 50px;
  top: 0;
}
/* rows de la tabla */
.planeacionsticky-left-4 {
  position: sticky;
  left: 100px;
  top: 0;
}

.contenedorcomentariosplaneacionalta {
  field-sizing: content;
}

.textoestadoplaneacionenproceso {
  background-color: rgba(126, 126, 126, 0.644);
  color: aliceblue;
  padding-left: 6px;
  padding-right: 5px;
  padding-top: 2px;
  padding-bottom: 2px;
  font-size: 0.5rem;
  border-radius: 10px;
}

.textoestadoplaneacionconcretada {
  background-color: rgba(0, 197, 89, 0.644);
  color: aliceblue;
  padding-left: 6px;
  padding-right: 5px;
  padding-top: 2px;
  padding-bottom: 2px;
  font-size: 0.5rem;
  border-radius: 10px;
}

.textoestadoplaneaciondescartada {
  background-color: rgb(255, 0, 0);
  color: aliceblue;
  padding-left: 6px;
  padding-right: 5px;
  padding-top: 2px;
  padding-bottom: 2px;
  font-size: 0.5rem;
  border-radius: 10px;
}
/*---------------------------------------------------- ADMINISTRACIÓN DE PUESTOS --------------------------------------------*/
.contenedormodulopuestos {
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translate(-50%);
  width: 99%;
  height: auto;
  padding: 10px;
  padding-top: 15px;
  border-radius: 15px;
  background-color: #f5f7ff9a; /* borrar y queda cool*/
  box-shadow: 1px 2px 30px rgba(97, 97, 97, 0.267);
  transition: 0.3s ease;
  overflow-y: auto;
  z-index: 3;
}
.contenedortablapuestos {
  width: 100%;
  overflow-y: auto;
  overflow-x: auto;
  scrollbar-width: 5px;
  scrollbar-color: #597592e7 #f5f7ff9a;
}

.table.table-white.tablapuestosaltas th,
.table.table-white.tablapuestosaltas tr {
  font-size: 0.7rem;
}

.btnagregarpuesto {
  width: auto;
  height: 32px;
  padding-left: 15px;
  padding-right: 15px;
  background-color: #15b800;
  color: aliceblue;
  border-radius: 10px;
  font-size: 0.8rem;
  border: none;
  transition: 0.3s ease;
  cursor: pointer;
}
.btneditarpuestos {
  width: 25px;
  height: 25px;
  background-color: rgba(0, 197, 89, 0.644);
  color: aliceblue;
  border-radius: 50%;
  font-size: 0.5rem;
  border: none;
  transition: 0.3s ease;
}

.btneditarpuestos:hover {
  background-color: #0073aa;
  transform: scale(1.05);
}
.btnAgregarDetallePuesto {
  width: 25px;
  height: 25px;
  background-color: rgba(203, 187, 8, 0.644);
  color: aliceblue;
  border-radius: 50%;
  font-size: 0.5rem;
  border: none;
  transition: 0.3s ease;
}

.btnAgregarDetallePuesto:hover {
  background-color: #aa3e00;
  transform: scale(1.05);
}

.btnVerDetallePuesto {
  width: 25px;
  height: 25px;
  background-color: rgba(0, 99, 197, 0.589);
  color: aliceblue;
  border-radius: 50%;
  font-size: 0.5rem;
  border: none;
  transition: 0.3s ease;
}

.btnVerDetallePuesto:hover {
  background-color: #03ac79;
  transform: scale(1.05);
}

/*agregar pdf del puesto*/
.btnagregarpdfpuestos {
  width: 25px;
  height: 25px;
  background-color: rgba(12, 98, 197, 0.644);
  color: aliceblue;
  border-radius: 50%;
  font-size: 0.5rem;
  border: none;
  transition: 0.3s ease;
}

.btnagregarpdfpuestos:hover {
  background-color: #00aa93;
  transform: scale(1.05);
}
/*---------------------------------------------------- ADMINISTRACIÓN DE AREAS --------------------------------------------*/
.contenedormoduloareas {
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translate(-50%);
  width: 99%;
  height: auto;
  padding: 10px;
  padding-top: 15px;
  border-radius: 15px;
  background-color: #f5f7ff9a; /* borrar y queda cool*/
  box-shadow: 1px 2px 30px rgba(97, 97, 97, 0.267);
  transition: 0.3s ease;
  overflow-y: auto;
  z-index: 3;
}
.contenedortablareas {
  width: 100%;
  overflow-y: auto;
  overflow-x: auto;
  scrollbar-width: 5px;
  scrollbar-color: #597592e7 #f5f7ff9a;
}

.table.table-white.tablareasalta th,
.table.table-white.tablareasalta tr {
  font-size: 0.7rem;
}

.btnagregararea {
  width: auto;
  height: 32px;
  padding-left: 15px;
  padding-right: 15px;
  background-color: #15b800;
  color: aliceblue;
  border-radius: 10px;
  font-size: 0.8rem;
  border: none;
  transition: 0.3s ease;
  cursor: pointer;
}
.btneditarareas {
  width: 25px;
  height: 25px;
  background-color: rgba(0, 197, 89, 0.644);
  color: aliceblue;
  border-radius: 50%;
  font-size: 0.5rem;
  border: none;
  transition: 0.3s ease;
}

.btneditarareas:hover {
  background-color: #0073aa;
  transform: scale(1.05);
}

/*---------------------------------------------------ADMINISTRACION DE DIRECCIONES  --------------------------------------------*/
.contenedormodulodirecciones {
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translate(-50%);
  width: 99%;
  height: auto;
  padding: 10px;
  padding-top: 15px;
  border-radius: 15px;
  background-color: #f5f7ff9a; /* borrar y queda cool*/
  box-shadow: 1px 2px 30px rgba(97, 97, 97, 0.267);
  transition: 0.3s ease;
  overflow-y: auto;
  z-index: 3;
}
.contenedortabladirecciones {
  width: 100%;
  overflow-y: auto;
  overflow-x: auto;
  scrollbar-width: 5px;
  scrollbar-color: #597592e7 #f5f7ff9a;
}

.table.table-white.tabladireccionesalta th,
.table.table-white.tabladireccionesalta tr {
  font-size: 0.7rem;
}

.btnagregardireccion {
  width: auto;
  height: 32px;
  padding-left: 15px;
  padding-right: 15px;
  background-color: #15b800;
  color: aliceblue;
  border-radius: 10px;
  font-size: 0.8rem;
  border: none;
  transition: 0.3s ease;
  cursor: pointer;
}
.btneditardirecciones {
  width: 25px;
  height: 25px;
  background-color: rgba(0, 197, 89, 0.644);
  color: aliceblue;
  border-radius: 50%;
  font-size: 0.5rem;
  border: none;
  transition: 0.3s ease;
}

.btneditardirecciones:hover {
  background-color: #0073aa;
  transform: scale(1.05);
}

/* Custom Tooltip Styles */
.ag-tooltip {
  display: none;
  position: fixed;
  background: rgba(30, 30, 30, 0.95);
  color: #fff;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  pointer-events: none;
  z-index: 10000;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  white-space: nowrap;
  animation: fadeIn 0.2s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
