* {
  box-sizing: border-box;
}

body {
  align-items: center;
  height: 100vh;
  margin: 0;
  background-color: #e4e4e4;
  font-family: Arial, sans-serif;
}

/* -------------------HEADER-------------------------- */

#encabezado {
  width: 100%;
  height: 110px;
  background-color: #e01a31;
  position: relative;
  top: 0;
  left: 0;
  z-index: 1000;
  padding-top: 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 30px;
  padding-right: 30px;
}

#imgLogoHeader {
  height: 90px;
  display: block;
  padding-top: 5px;
  border: 2px solid white;
}

#userInfo {
  display: flex;
  align-items: center;
}

#loginUserHeader {
  color: white;
  font-size: 24px;
  margin-left: 20px;
  margin-right: 60px;
  display: flex;
  align-items: center;
  transition: transform 0.3s ease;
}

#loginUserHeader img {
  height: 57px;
  margin-right: 10px;
}

#loginUserHeader:hover {
  transform: scale(1.05);
}

#logoutIcon {
  position: relative;
}

#logoutIcon img {
  height: 60px;
  padding: 5px;
  background-color: #e01a31;
}

#logoutIcon img:hover {
  transform: scale(1.07);
  transition: transform 0.3s ease;
}

#logoutIcon::after {
  content: "Cerrar sesión";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: white;
  padding: 5px;
  border-radius: 5px;
  opacity: 0;
  white-space: nowrap;
  pointer-events: none;
  transition: opacity 0.3s;
  font-size: 12px;
}

#logoutIcon:hover::after {
  opacity: 1;
}

.menu {
  width: 100%;
  height: 60px;
  background-color: #404040;
  position: relative;
  z-index: 1000;
  padding: 10px;
  padding-left: 30%;
  padding-right: 30%;
}

.menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-around;
}

.disabledLi a {
  color: #333;
  font-weight: 600;
  text-decoration: none;
  padding: 10px 20px;
  display: block;
  background-color: #ffffff;
  border-radius: 15px;
  pointer-events: none;
  cursor: default;
}

.activeLi a {
  font-weight: bold;
  color: white;
  text-decoration: none;
  padding: 10px 20px;
  display: block;
  background-color: #e01a31;
  border-radius: 15px;
}

.activeLi a:hover {
  background-color: white;
  font-weight: bold;
  color: #e01a31;
  border-radius: 5px;
  border-radius: 15px;
}

.hamburger-menu {
  display: none;
  width: 25px;
  flex-direction: column;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.hamburger-menu:hover {
  transform: scale(1.05);
}

.hamburger-menu div {
  width: 30px;
  height: 3px;
  background-color: rgb(255, 255, 255);
  margin: 4px 0;
}
/*----------------------INDEX-------------------------*/

#divRegulador {
  z-index: 100;
}
#textoWelcome {
  border-radius: 1px;
}

/* -------------------FOOTER--------------------------*/

html,
body {
  height: 80%;
  margin: 0;
}

.main-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.main-container_index {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.content {
  flex: 1;
}

.footer_1 {
  margin-top: 50px;
  height: 50px;
  background-color: #333;
  position: relative;
}

.footer_1 p {
  color: white;
  text-align: center;
  margin: 0;
  line-height: 50px;
}

.footer_2 {
  position: relative;
  margin-top: -50px;
  background-color: #333;
  height: 50px;
  z-index: 999;
}

.footer_2 p {
  color: white;
  text-align: center;
  margin: 0;
  line-height: 50px;
}

/*-------------------FILTROS BUSQUEDA------------------*/

.container-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-right: 15px;
  margin-top: 15px;
}

.empresa-container,
.search-container,
.formato-container,
.limpiar-container,
.usuarios-container {
  display: flex;
  align-items: center;
  margin-right: 0;
  margin-top: 0;
}

.checkbox-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  /* width: 60%; */
  margin-right: 20px;
}

.empresa-container,
.search-container,
.usuarios-container {
  margin-right: 15px;
}

.formato-container {
  margin-top: 5px;
}

#formatoM img {
  width: 40px;
  height: 40px;
}

#formatoM button {
  border: none;
  background: none;
  position: relative;
}

.btnActiveL,
.btnActiveM {
  cursor: pointer;
  transition: transform 0.2s ease;
}

.btnActiveL:hover,
.btnActiveM:hover {
  transform: scale(1.1);
}

.tooltipVista .tooltiptextVista {
  visibility: hidden;
  width: 120px;
  background-color: #333;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  padding: 5px;
  position: absolute;
  z-index: 9999;
  bottom: 110%;
  left: 50%;
  margin-left: -80px;
  opacity: 0;
  transition: opacity 0.3s;
}

.tooltipVista:hover .tooltiptextVista {
  visibility: visible;
  opacity: 1;
}

.seleccion {
  display: inline-block;
}

.buscador {
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #9c9c9c;
  border-radius: 4px;
  box-sizing: border-box;
}

.buscador:focus {
  outline-color: #e01a31;
}

.btnBuscador {
  padding: 10px 20px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #f0f0f0;
  cursor: pointer;
}

.search-box,
.search-box-2 {
  display: flex;
  max-width: 250px;
  min-width: 150px;
  height: 35px;
  border: 1px solid #808080;
  border-radius: 5px;
  padding: 5px 15px;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.search-box:hover,
.search-box-2:hover {
  border-color: 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.search-field {
  flex-grow: 1;
  position: relative;
  height: 100%;
  border: 0;
}

#selectSector {
  width: 100%;
  height: 100%;
  border: 0;
  border-color: transparent;
  font-size: 1rem;
  padding-right: 10px;
  background: #fff;
  outline: none;
}

#selectEmpresa {
  color: #494949;
}

#empresaColumnDcha select:nth-of-type(2) {
  margin-bottom: -20px;
}

#empresaColumnDcha label:nth-of-type(1) {
  margin-top: 7px;
}

.input {
  width: 100%;
  height: 100%;
  border: 0;
  border-color: transparent;
  font-size: 1rem;
  padding-right: 10px;
  background: #fff;
  outline: none;
}

.search-box-icon,
.search-box-icon-1,
.search-box-icon-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 35px;
  margin-right: 20px;
  background: #333;
  border-radius: 5px;
}

.search-box-icon:hover,
.search-box-icon-1:hover,
.search-box-icon-2:hover {
  background: #e01a31;
}

.search-icon svg {
  fill: #fff;
}

.btn-icon-content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
  cursor: pointer;
}

.search-icon {
  width: 21px;
  height: 21px;
}

#btnLimpiar {
  display: none;
  margin-right: 10px;
  padding: 10px;
  background-color: #333;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

#btnLimpiar:hover {
  background-color: #e01a31;
}

#btnLimpiar span {
  border: 1px solid #333;
  padding: 2px;
  color: red;
  font-weight: bold;
  background-color: white;
}

/*-------------------CONTACTOS----------------------- */

.containerContactos {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-left: 150px;
  margin-right: 150px;
}

.containerEmpresasLista {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  margin-left: 150px;
  margin-right: 150px;
}

/* .containerContactosLista {
  display: flex;
  flex-direction: column;
  gap: 10px; 
  align-items: center; 
} */

.containerContactosLista {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  width: 1000px;
  margin: 0 auto;
}

.containerUsuLista {
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
}

.usu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0px 20px 0px;
  align-items: center;
  position: relative;
}

.usuGrupo {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0px 20px 0px;
  align-items: center;
  position: relative;
}

.usu p,
.usuGrupo p {
  margin: 0;
}

.postListaUsu,
.postListaGru {
  position: relative;
  max-width: 700px;
  min-width: 300px;
  padding: 10px 10px 10px 10px;
  border: 3px solid #e01a31;
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  background-color: white;
  z-index: 1;
}

.usuImg {
  max-width: 50px;
  height: 50px;
  flex: 1;
  flex-shrink: 0;
}

.user-info {
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.full-width {
  width: calc(100% + 10px);
}

#adminUsu {
  font-weight: bold;
  color: #e01a31;
  text-transform: capitalize;
}

.page-link {
  margin-left: auto;
  margin-top: 10px;
  color: #e01a31;
  font-weight: bold;
  font-size: 18px;
  text-decoration: none;
}

.page-link:hover {
  color: #910e1d;
}

.post {
  width: calc(33.33% - 20px);
  margin: 10px;
  padding: 0px 10px 10px 10px;
  border: 3px solid #e01a31;
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  background-color: white;
  box-sizing: border-box;
  z-index: 1;
}

.postEdit {
  width: calc(33.33% - 20px);
  margin: 10px;
  padding: 0px 10px 10px 10px;
  border: 3px solid #e01a31;
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  background-color: white;
  box-sizing: border-box;
  z-index: 1;
  position: relative;
  min-height: 200px;
}

.postLista {
  min-width: 300px;
  flex: 0 1 calc(50% - 20px);
  margin: 10px;
  padding: 0px 10px 10px 10px;
  box-sizing: border-box;
  border: 3px solid #e01a31;
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  background-color: white;
  box-sizing: border-box;
  z-index: 1;
}

.postListaEdit {
  min-width: 300px;
  flex: 0 1 calc(50% - 20px);
  margin: 10px;
  padding: 0px 10px 10px 10px;
  box-sizing: border-box;
  border: 3px solid #e01a31;
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  background-color: white;
  box-sizing: border-box;
  z-index: 1;
  position: relative;
  min-height: 120px;
}

.postListaEditContactos {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr 2fr auto;
  align-items: center;
  padding: 15px;
  border-radius: 5px;
  background-color: #f9f9f9;
  width: 110%;
  box-sizing: border-box;
  gap: 20px;
  z-index: 1;
  justify-content: center;
  position: relative;
}

.postListaEditContactos .acciones {
  text-align: right;
  grid-column: 5;
}
.postListaEditContactos.header {
  font-weight: bold;
  background-color: #e01a31;
  color: #fff;
  border: none;
}

.acciones {
  text-align: center;
  grid-column: span 1;
}

.postListaEditContactos p {
  margin: 0;
  text-align: left;
}

/* .deshabilitado-banner {
  grid-column: 1 / -1;
  background-color: #e01a31;
  color: #fff;
  padding: 10px;
  text-align: center;
  border-radius: 5px;
  font-weight: bold;
  font-size: 16px;
  margin: -10px;
} */

.deshabilitado-banner {
  background-color: rgba(224, 26, 49, 0.5);
  color: #f1f1f1;
  padding: 10px;
  text-align: center;
  border-radius: 5px;
  font-weight: bold;
  font-size: 20px;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  text-shadow: -2px -2px 0 #333, 2px -2px 0 #333, -2px 2px 0 #333,
    2px 2px 0 #333, -2px 0 0 #333, 2px 0 0 #333, 0 2px 0 #333, 0 -2px 0 #333;
  letter-spacing: 3px;
}

.hover-trigger {
  display: hidden;
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.hover-trigger:hover {
  display: block;
  opacity: 1;
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: auto;
  max-width: 300px;
  background-color: #e01a31;
  color: white;
  text-align: left;
  border-radius: 6px;
  padding: 10px;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5), 0 10px 30px rgba(0, 0, 0, 0.4);
  overflow-wrap: break-word;
  word-wrap: break-word;
  font-weight: bold;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

.post h3,
.postEdit h3 {
  text-align: center;
  margin-top: 8px;
}

.post p,
.postEdit p {
  overflow-wrap: break-word;
  padding-left: 20px;
  max-width: 100%;
  box-sizing: border-box;
}

#abrirPost a,
#abrirPostEdit a,
#abrirPostListaEdit a {
  color: #e01a31;
  font-weight: bold;
  font-size: 18px;
  text-decoration: none;
}

#abrirPostEdit {
  position: absolute;
  bottom: 10px;
  left: 10px;
  margin-top: 20px;
  display: flex;
  align-items: center;
}

#abrirPostListaEdit {
  position: absolute;
  bottom: 10px;
  left: 10px;
}

#abrirPostListaEditContactos {
  margin-left: auto;
  display: flex;
  align-items: center;
}

#abrirPost a:hover,
#abrirPostEdit a:hover,
#abrirPostListaEdit a:hover {
  color: #910e1d;
}

#abrirPostEdit svg {
  margin-left: 20px;
  margin-right: 2px;
  position: relative;
  top: 3px;
}

.paginacionContactos {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 30px;
}

.paginacionGrupos {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 30px;
}

#paginas {
  background-color: #e01a31;
  color: white;
  text-decoration: none;
  font-size: 24px;
  padding-top: 3px;
  padding-bottom: 3px;
  border-radius: 5px;
}
#paginas:hover {
  background-color: #8b101e;
}

.disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.6;
}

#deshabilitado {
  color: white;
  font-style: italic;
  font-weight: bold;
  background-color: #e01a31;
  padding: 4px;
}

#deshabilitadoUsu,
#deshabilitadoGru {
  color: white;
  font-style: italic;
  font-weight: bold;
  background-color: #e01a31;
  padding: 4px;
  margin-top: -20px;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
}

div#contactoColumnDcha label,
div#empresaColumnDcha label,
input#sendConMod.boton,
div#empresaColumnaIzq label,
button#addContactButton {
  margin-top: 10px;
}

div#contactoColumnDchaCrear label:nth-of-type(2),
div#contactoColumnDchaCrear label:last-of-type,
div#empresaColumnDchaCrear label:nth-of-type(2),
div#empresaColumnDchaCrear label:last-of-type {
  margin-top: 10px;
}

input#sendConMod.boton {
  width: 110px;
}

/* ------------------CONTACTOS MENU EMERGENTE------------- */

.btnCrearContacto {
  position: fixed;
  right: 30px;
  bottom: 80px;
  width: 50px;
  height: 50px;
  background: none;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s ease, background-color 0.3s ease;
  z-index: 9999;
}

.btnCrearContacto img {
  width: 200%;
  height: 150%;
}

.btnCrearContacto:hover {
  transform: scale(1.1);
}

.btnCrearContacto::after {
  content: "Añadir";
  position: absolute;
  bottom: 100%;
  margin-bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: white;
  padding: 5px;
  border-radius: 5px;
  opacity: 0;
  white-space: nowrap;
  pointer-events: none;
  transition: opacity 0.3s;
  font-size: 12px;
}

.btnCrearContacto:hover::after {
  opacity: 1;
}

#contactoColumnDchaCrear {
  margin-right: -55px;
  margin-top: 15px;
}

#empresaColumnDchaCrear {
  margin-right: -55px;
  margin-top: 58.8px;
}

#empresaColumnDchaCrear select {
  padding-top: 8px;
}

.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
  overflow-y: hidden;
}

.modal-content {
  background-color: #fefefe;
  margin: 5% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 50%;
  max-width: 540px;
  position: relative;
}

.modal-contentGru {
  background-color: #fefefe;
  margin: 5% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 70%;
  max-width: 700px;
  position: relative;
}

.contactoDiv,
.empresaDiv {
  margin-bottom: 15px;
}

#contactoColumnaContainer {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

#contactoColumnaIzq label {
  margin-top: 10px;
}

#contactoColumnaIzqGrupo {
  flex: 1;
  margin-right: 0px;
}

#contactoColumnaDchGrupo {
  flex: 1;
  margin-right: -30px;
  max-height: 256px;
}

#columnsContainer {
  display: flex;
  width: 100%;
  justify-content: space-between;
}

#divBotonCentrado {
  margin: -60px 0px 20px 0px;
}

#contactoColumnDchGrupo h2 {
  display: flex;
  justify-content: space-between;
}

#contactoColumnDchGrupo select {
  padding-top: 8px;
}

.buttonContainer {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

#containerFormContactoCrear {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#containerFormEmpresaCrear {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cerrarCrear {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  outline: none;
}

.cerrarCrear:hover {
  color: #333;
  transform: scale(1.1);
}

/*---------------------- CONTACTO -------------------------- */

#containerContacto {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.fondo-img {
  position: absolute;
  top: 160px;
  left: 50%;
  width: 700px;
  height: auto;
  opacity: 0.1;
  transform: translateX(-50%);
  z-index: 0;
  object-fit: cover;
}

.fondo-img_2 {
  position: fixed;
  top: 30%;
  left: 50%;
  width: 100%;
  height: auto;
  opacity: 0.1;
  transform: translateX(-50%) rotate(-15deg);
  z-index: 0;
  object-fit: cover;
  pointer-events: none;
}

#containerFormContacto {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
  margin-left: 20%;
  margin-right: 20%;
  margin-top: 20px;
  height: fit-content;
  border: 3px solid #e01a31;
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  background-color: white;
}

#containerFormEmpresa {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-left: 20%;
  margin-right: 20%;
  margin-top: 20px;
  height: fit-content;
  border: 3px solid #e01a31;
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  background-color: white;
}

.contactoDiv {
  margin: 10px;
  padding: 0px 10px 10px 10px;
  width: 300px;
}

.empresaDiv {
  display: flex;
  flex-direction: column;
  margin: 10px;
  padding: 0px 10px 10px 10px;
  width: 300px;
}

.empresaDivCrear {
  margin: 10px;
  padding: 0px 10px 10px 10px;
  width: 300px;
  margin-bottom: 15px;
}

.empresaDivCrear input,
.empresaDivCrear select {
  width: 77%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  outline-color: #e01a31;
}

#acionExtra {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  gap: 20px;
  margin-left: 20%;
  margin-right: 20%;
  margin-top: -10px;
  margin-bottom: 80px;
  height: fit-content;
}

#contAlta,
#contExcel,
#contBorrar,
#contCopiar {
  border: 3px solid #e01a31;
  text-align: center;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  margin-top: 20px;
  width: 300px;
}

.button-container {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 20px;
}

.botonFlechaAtras {
  position: absolute;
  color: white;
  padding: 0px 10px 10px 10px;
  border-radius: 40%;
  background-color: #e01a31;
  font-size: 40px;
  text-decoration: none;
  margin-left: 20px;
  margin-top: 80px;
  left: 10px;
  transform: translateY(-50%);
}

.botonFlechaAtras::after {
  content: "Atrás";
  position: absolute;
  bottom: 90%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: white;
  padding: 5px;
  border-radius: 5px;
  opacity: 0;
  white-space: nowrap;
  pointer-events: none;
  transition: opacity 0.3s;
  font-size: 12px;
}

.botonFlechaAtras:hover::after {
  opacity: 1;
}

.botonFlechaAtras:hover {
  background-color: #333;
}

.headerContacto {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 100%;
  margin-top: 25px;
  margin-bottom: 60px;
  color: #333;
  font-size: 28px;
}

.contenedorPrincipal {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  justify-content: center;
}

.tituloContacto {
  font-size: 1.5em;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.botones {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 50px;
  margin-bottom: -60px;
}

.boton-contenedor {
  margin-top: 10px;
  display: flex;
  gap: 10px;
}

#contactoColumnDcha,
#empresaColumnDcha {
  margin-right: -55px;
}

.contactoDiv input[type="text"],
.contactoDiv input[type="number"],
.contactoDiv input[type="email"],
.contactoDiv input[type="tel"],
.contactoDiv input[type="password"],
.empresaDiv input[type="text"],
.empresaDiv input[type="number"],
.empresaDiv input[type="email"],
.empresaDiv input[type="tel"],
.empresaDiv input[type="password"],
#password1,
#cpassword,
.contactoDiv select,
.contactoDiv textarea,
.empresaDiv select,
.selectGroup {
  width: 77%;
  padding: 10px;
  /* margin-bottom: 15px; */
  border: 1px solid #ddd;
  border-radius: 4px;
}

.contactoDiv input[type="number"]::-webkit-outer-spin-button,
.contactoDiv input[type="number"]::-webkit-inner-spin-button,
.empresaDiv input[type="number"]::-webkit-outer-spin-button,
.empresaDiv input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.contactoDiv input[type="text"]:focus,
.contactoDiv input[type="password"]:focus,
.contactoDiv input[type="email"]:focus,
.contactoDiv input[type="number"]:focus,
.contactoDiv input[type="tel"]:focus,
.contactoDiv select:focus,
.empresaDiv input[type="text"]:focus,
.empresaDiv input[type="password"]:focus,
.empresaDiv input[type="email"]:focus,
.empresaDiv input[type="number"]:focus,
.empresaDiv input[type="tel"]:focus,
.empresaDiv select:focus {
  outline-color: #e01a31;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.divMensajeEmergente {
  text-align: center;
}

.divMensajeEmergente p {
  font-size: 20px;
  color: #22aa4a;
  font-weight: bold;
}

.divMensajeEmergenteEmp {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.mensajeEmergenteEmp {
  font-size: 20px;
  color: #22aa4a;
  font-weight: bold;
  margin-bottom: 20px;
}

.fade-out {
  animation: fadeOut 0.5s ease-out forwards;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

#contAlta input {
  margin-bottom: 20px;
}

.loader {
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-left-color: transparent;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  animation: spin89345 1s linear infinite;
}

@keyframes spin89345 {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*-------------------LOGIN Y REGISTER----------------------- */

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.containerLogin,
.containerRegister {
  background-color: white;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px;
  margin: 20px;
  width: 300px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 1;
}

h2 {
  color: #e01a31;
}

#imgLogoLogin {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 20px;
  border: 1px solid #e01a31;
}

label {
  display: block;
  text-align: left;
  margin-left: 11px;
  font-weight: bold;
  margin-bottom: 5px;
  color: #333;
}

#formLogin input[type="text"],
#formLogin input[type="password"],
#formLogin input[type="email"] {
  width: calc(100% - 22px);
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

#formLogin input[type="text"]:focus,
#formLogin input[type="password"]:focus,
#formLogin input[type="email"]:focus {
  outline-color: #e01a31;
}

#registerLink,
.boton {
  background-color: #e01a31;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.botonCancelar {
  background-color: #e01a31;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  margin-bottom: 10px;
  display: block;
  margin: 0 auto;
}

.botonPasswd {
  background-color: #e01a31;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 5px 17px;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}

#addContactButton {
  background-color: #e01a31;
  color: white;
  width: 175px;
  border: none;
  border-radius: 4px;
  padding: 7px;
  cursor: pointer;
  font-size: 12px;
}

#registerLink:hover,
.boton:hover,
.botonPasswd:hover,
.botonCancelar:hover,
#addContactButton:hover {
  background-color: #333;
}

.deshabilitar {
  background-color: #e01a31;
}

.habilitar {
  background-color: rgb(104, 180, 89);
}

.deshabilitar:hover,
.habilitar:hover {
  background-color: #333;
}

.hidden {
  display: none;
}

.mostrar {
  display: block;
}

.infoLogin {
  display: none;
  font-style: italic;
  color: #e01a31;
}

/*-------------------PÁGINA DE ERROR----------------------- */

.error {
  margin-top: 100px;
  text-align: center;
}

.botonRedirigirAIndex {
  background-color: #e01a31;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 16px;
}

.botonRedirigirAIndex:hover {
  background-color: #333;
}

.miPadre {
  background-color: #e01a31;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 16px;
}

.miPadre:hover {
  background-color: #333;
}

.miPadre:disabled {
  opacity: 0.5;
  background-color: #9c9c9c;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 16px;
}
/*-------------------GRUPO----------------------- */

#nameUser {
  margin-bottom: 0;
}
.inputNewName {
  width: 77%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
}
#confirmarCopiar,
#confirmarFusion {
  align-content: center;
  text-align: center;
}

.botonGru {
  background-color: #e01a31;
  color: white;
  width: 85px;
  border: none;
  border-radius: 4px;
  padding: 7px;
  cursor: pointer;
  font-size: 16px;
  margin-bottom: 10px;
}

.botonGru:hover,
#addContactButtonGroup:hover {
  background-color: #333;
}

#addContactButtonGroup {
  background-color: #e01a31;
  color: white;
  width: 40px;
  border: none;
  border-radius: 4px;
  padding: 7px;
  cursor: pointer;
  font-size: 16px;
  margin-bottom: 10px;
  margin-left: 5px;
}

#participantes {
  overflow-y: scroll;
  max-height: 300px;
  min-width: 600px;
  margin: 0;
  margin-bottom: 10px;
  width: 100%;
  box-sizing: border-box;
}

#divParticipantes {
  margin-top: 10px;
}

#participantes::-webkit-scrollbar {
  width: 10px;
}

#participantes::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 10px;
}

#containerFormContactoGrupo {
  padding-top: 20px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  width: 50%;
  margin: 20px auto;
  height: fit-content;
  border: 3px solid #e01a31;
  box-shadow: 0px 3px 7px rgb(48, 48, 48);
  background-color: white;
  box-sizing: border-box;
}

.contactoDivGrupo {
  margin: 10px;
  padding: 0px 10px 10px 10px;
  box-sizing: border-box;
}

.contactoDivGrupo input[type="text"] {
  width: 77%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.contactoDivGrupo {
  outline-color: #e01a31;
}

#contactList {
  list-style-type: none;
  padding: 2px;
  margin: 0;
  width: 90%;
  overflow-y: auto;
  margin-right: 15px;
  max-height: 70%;
}

ul#contactList:not(:empty) {
  max-height: 220px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px 10px 10px 20px;
}

#contactList::-webkit-scrollbar {
  width: 10px;
}

#contactList::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 10px;
}

#contactList::-webkit-scrollbar-track {
  background: #f1f1f1;
}

#contactList li {
  padding: 7px;
}

#contactList li:before {
  content: "\2022";
  color: #e60000;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

#contactoColumnaDchGrupo label {
  margin-top: 70px;
}

.removeButton {
  float: right;
  background-color: #e01a31;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-left: 8px;
}

.removeButton:hover {
  background-color: #333;
}

#contactoColumnaContainerGrupos {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  margin-bottom: 70px;
}

.noHayNingunResultado {
  display: flex;
  justify-content: center;
}

#selectContactoGru {
  width: 200px;
  max-height: 200px;
  overflow-y: auto;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

#selectContactoGru:focus {
  border-color: black;
}

.icono-borrar,
.icono-copiar {
  width: 24px;
  height: 24px;
  fill: #030104;
}

.boton svg,
.botonPasswd svg {
  fill: #ffffff;
}

.error-message {
  color: red;
  font-style: italic;
}

/*-------------------RESPONSIVE----------------------- */

@media (min-width: 940px) {
  #botonDeshab::after,
  #botonHab::after,
  #botonDeshabUsu::after,
  #botonHabUsu::after,
  #botonDeshabGru::after,
  #botonHabGru::after,
  #botonCambPasswd::after,
  #botonCopiar::after,
  #botonExport::after,
  #botonBorrar::after,
  #botonDeshabCon::after,
  #botonHabCon::after,
  #botonFusion::after {
    position: absolute;
    bottom: -20%;
    background-color: #e01a31;
    color: white;
    padding: 5px;
    border-radius: 5px;
    opacity: 0;
    white-space: nowrap;
    pointer-events: none;
    transition: opacity 0.3s;
    font-size: 14px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  }

  #botonExport2 {
    position: relative;
  }

  #botonExport2::after {
    content: "Exportar a Excel";
    position: absolute;
    bottom: 110%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: white;
    padding: 5px;
    border-radius: 5px;
    opacity: 0;
    white-space: nowrap;
    pointer-events: none;
    transition: opacity 0.3s;
    font-size: 14px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    z-index: 9999;
  }

  #botonExport2:hover::after {
    opacity: 1;
  }

  #botonDeshab::after,
  #botonHab::after {
    left: 50%;
    transform: translateX(-50%);
  }

  #botonDeshabUsu::after,
  #botonHabUsu::after {
    left: 50%;
    transform: translateX(-100%);
  }

  #botonDeshabCon::after,
  #botonHabCon::after {
    left: 50%;
    transform: translateX(-95%);
  }

  #botonDeshabGru::after,
  #botonHabGru::after {
    transform: translateX(-33%);
  }

  #botonCambPasswd::after {
    left: 50%;
    transform: translateX(-20%);
    content: "Cambiar contraseña";
  }

  #botonCopiar::after {
    transform: translateX(-25%);
    content: "Copiar";
  }

  #botonExport::after {
    transform: translateX(-40%);
    content: "Exportar a Excel";
  }

  #botonFusion::after {
    transform: translateX(-40%);
    content: "Importar contactos";
  }

  #botonBorrar::after {
    transform: translateX(-30%);
    content: "Eliminar";
  }

  #botonDeshab::after,
  #botonDeshabUsu::after,
  #botonDeshabGru::after,
  #botonDeshabCon::after {
    content: "Deshabilitar";
  }

  #botonHab::after,
  #botonHabUsu::after,
  #botonHabGru::after,
  #botonHabCon::after {
    content: "Habilitar";
  }

  #botonDeshab:hover::after,
  #botonHab:hover::after,
  #botonDeshabUsu:hover::after,
  #botonHabUsu:hover::after,
  #botonCambPasswd:hover::after,
  #botonDeshabGru:hover::after,
  #botonHabGru:hover::after,
  #botonCopiar:hover::after,
  #botonExport:hover::after,
  #botonBorrar:hover::after,
  #botonDeshabCon:hover::after,
  #botonHabCon:hover::after,
  #botonFusion:hover::after,
  #botonExport2:hover::after {
    opacity: 1;
  }
}

@media (max-width: 940px) {
  .containerContactos {
    margin-left: 40px;
    margin-right: 40px;
  }
  .postEdit{
    flex: 1 1 100%;
  }
  #columnsContainer {
    flex-direction: column;
    align-items: center;
  }

  #empresaColumnaIzq,
  #empresaColumnDcha,
  #contactoColumnaIzq,
  #contactoColumnDcha {
    width: 100%;
  }

  #contactoColumnDcha label:nth-child(1) {
    margin-top: -10px;
  }

  #contactoColumnDcha input:nth-child(2) {
    margin-bottom: -15px;
  }

  #empresaColumnDcha {
    margin: 0;
  }

  #contactoColumnaContainerGrupos {
    display: block;
    margin-bottom: 0;
    padding-left: 25%;
  }

  #contactoColumnaDchGrupo label {
    margin-top: 0;
  }

  #contactoColumnDcha input#sendConMod {
    margin-top: -15px;
  }

  .containerUsuLista {
    margin-left: auto;
    margin-right: auto;
  }

  .postListaUsu {
    width: 400px;
    margin: auto;
  }

  .usu {
    flex-direction: column;
    gap: 10px;
  }

  p.user-info {
    text-align: center;
    display: block;
  }

  .full-width {
    margin: 0 -10px;
    width: calc(100% + 20px);
  }

  .post {
    width: 40%;
    margin: 10px 5px;
  }

  #containerFormContactoCrear {
    display: block;
    width: 80%;
    justify-content: center;
  }

  #containerFormEmpresaCrear {
    display: block;
    width: 80%;
    justify-content: center;
  }

  #containerFormContacto {
    display: block;
    width: 50%;
    justify-content: center;
    padding-left: 6%;
  }

  #containerFormEmpresa {
    display: block;
    width: 50%;
    justify-content: center;
    padding-left: 6%;
  }

  .modal {
    overflow-y: auto;
  }

  .contactoDiv {
    width: 80%;
  }

  .cerrarCrear {
    position: fixed;
    right: 20px;
    top: 80px;
    background-color: white;
    border-radius: 3px;
  }

  .buscador {
    width: 100%;
  }

  .container-right {
    flex-direction: column;
    margin-left: 40px;
    z-index: 1;
  }

  .usuarios-container {
    flex-direction: column;
    margin-left: 40px;
  }

  .search-box-2 {
    margin-right: 65px;
  }

  .search-box-icon-2 {
    margin: -35px 0px 0px 240px;
  }

  .usuarios-container input[type="submit"] {
    margin-top: 10px;
  }

  #formatoM {
    display: none;
  }

  .checkbox-container {
    justify-content: flex-end;
    margin-right: 20px;
  }

  .search-box {
    margin: 5px 0px 5px 0px;
  }

  .empresa-container + .search-container .search-box {
    margin-left: -35px;
    width: 50px;
  }

  .search-box-icon-1 {
    margin: -40px 0px 5px 180px;
  }

  #btnLimpiar {
    margin-left: -112px;
  }

  #btnDeshabilitado {
    margin-top: 5px;
  }

  #empresaColumnDchaCrear select {
    margin-bottom: 30px;
  }

  #empresaColumnDcha label:nth-of-type(1) {
    margin-top: -7px;
  }

  .fondo-img {
    width: 120%;
  }

  .fondo-img_2 {
    display: none;
  }

  #acionExtra {
    display: flex;
    flex-direction: column;
  }

  #divBotonCentrado {
    margin: -40px 0px 20px 10px;
  }

  .headerContacto {
    margin-bottom: -10px;
  }

  .botones {
    /* margin-top: 50px; */
    margin-bottom: 10px;
    position: relative;
  }
}

@media (max-width: 1200px) {
  .menu {
    padding-left: 10%;
    padding-right: 10%;
  }
}

@media (max-width: 530px) {
  .menu ul {
    display: none;
    flex-direction: column;
    width: 70%;
  }

  .menu a {
    border-radius: 0px;
  }

  .menu a:hover {
    border-radius: 0px;
  }

  .menu ul.active {
    display: flex;
  }

  .hamburger-menu {
    display: flex;
  }

  #loginUserHeader {
    margin-right: 2%;
  }

  .botonFlechaAtras {
    margin-top: -20px;
    left: 0;
  }

  .tituloContacto {
    display: none;
  }
}
@media (max-width: 1100px) {
  #containerFormContactoGrupo {
    display: block;
    width: fit-content;
    justify-content: center;
    padding-left: 6%;
    padding-right: 8%;
  }
}

@media (max-width: 1600px) {
  #participantes {
    min-width: 1px;
  }
}

@media (max-height: 680px) {
  .modal {
    overflow-y: auto;
  }

  .modal-content {
    padding: 0;
  }

  .buttonContainer {
    margin-top: -45px;
  }
}

@media (max-height: 617px) {
  .footer_2 {
    display: none;
  }
}
