body, div, form, input, select, textarea, p { 
  padding: 0;
  margin: 0;
  outline: none;
  font-family: Roboto, Arial, sans-serif;
  font-size: 14px;
  color: #555;
  line-height: 22px;
}
.tres_cols {
	display:flex;
	flex-wrap:wrap;
	margin:0;
	padding:0;
}
.tres_cols li {
	width:33%;
	list-style:none;
	overflow-x:hidden;
}
.tres_cols  input[type=checkbox] {
	display:inline-block;
	width:auto;
}
			#cuerpo {
				width:100%;
				height:150px;
				resize:none;
				overflow-y:auto;
			}
			
	#cartadocumetopreview {
		width:100%;
		margin: 50px auto;
		max-width:1200px;
		border-collapse: collapse;
	}
	#cartadocumetopreview, #cartadocumetopreview th, #cartadocumetopreview td  {
		border:1px solid #000;
	}
	#cartadocumetopreview th, #cartadocumetopreview td  {
		text-align:left;
		padding:15px 20px;
	}

/* barra superior | perfil de usuario */
.cabecera{
  background-color: #d1e0e0;
  padding: 0.2rem 0.5rem;
  display: flex;
  justify-content: flex-end;
}
.cabecera a{
  margin-left: 1rem;
}

/* menú horizontal en la parte superior */
.menu-div{
  display: flex;
  padding: 0;
  list-style: none;
  margin: 0.2rem 0 0 0;
  justify-content: space-between;
}
.menu-div li{
  flex-grow: 1;
  text-align: center;
}
.menu-div li a{
  font-weight: bold;
  display: block;
  padding: 0.5rem 0;
  background-color: #b3cccc;
  border-radius: 10px;
  border: 1px solid white;
  transition: 0.1s linear all;
}
.menu-div li a:hover{
  color: #FFF;
  background-color: #0077b3;
}


/* nuevo menu con subitems */

.menuWrapper {
  width:100%; 
  background:#b3cccc;
}
.menu {
  
  font-size:1rem;
  padding: 0 0 0 1rem;
  margin: 0px;
  display: flex;
  list-style: none;;
}
.menu li{
  padding: 1rem;
  cursor: pointer;
}
.menu li:hover{
  background: #0077b3;
  color: #FFF;
  text-decoration: none;
}
.menu li:hover a{
  color: #FFF;
  text-decoration: none;
}
.menu .has-submenu{
  color: #000;
  position: relative;
}

.menu .has-submenu ul{
  background: #b3cccc; 
  display:none;
  padding: 0;
  margin: 0;
  position:absolute;
  width:200px;
  z-index:100;
  border-top:1px solid #fff;
  list-style: none;
  margin-left: -1rem;
  margin-top: 1rem;
}
.menu li:hover ul{
  display:block;
}
.menu .has-submenu ul li{
  color: #000;
  padding: 0.5rem;
}
.menu .has-submenu ul li a{
  color: #000;
  text-decoration: none;
  display: block;
}
.menu .has-submenu ul li:hover a{
  background: #0077b3;
  color: #FFF;
  text-decoration: none;
}








/* espacio para filtros */
.espacio-filtro{
  display: flex; 
  justify-content: space-between; 
  margin-bottom:0.2rem
}
.espacio-contenido{
  margin: 0 0.2rem;
}


/* ventana flotante para ver, editar o eliminar */
.ventana-flotante{
  position: fixed;
  background-color: rgba(0,0,0,0.5);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  justify-content: center;
  align-items: center;
}
.ventana-flotante form{
  width: 60%;
}

/* carteles de advertencia en los formularios */
.cartel{
  position: relative;
  padding: 0.5rem 1rem;
  margin-bottom: 0.5rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}
.cartel-ok{
  color: #0f5132;
  background-color: #d1e7dd;
  border-color: #badbcc;
}
.cartel-error{
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}







a {
    text-decoration: none;
    color: black; /* Color en formato hexadecimal (rojo en este caso) */
}

#iframe_estaditica {
	border:none;
	width:100%;
	height:70vh;
}

.rounded-table {
  border-collapse: collapse;
  width: 100%;
}

.rounded-table th {
  padding: 10px;
  text-align: center;
  border: 1px solid white; /* Add borders */
  border-radius: 8px; /* Rounded corners */
}

.rounded-table td {
  padding: 10px;
  text-align: center;
  border: 1px solid #ccc; /* Add borders */
  border-radius: 8px; /* Rounded corners */
}
.rounded-table td .acortador{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
    /*background-color: #006699;*/
}

.rounded-table th {
  background-color: #f2f2f2; /* Header background color */
  background-color: #b3cccc;
  background-color: #cccccc;

}

.rounded-table tr:nth-child(even) {
  background-color: #f2f2f2; /* Alternate row color */
  background-color: #f5f5ef;
}

.rounded-table tr:hover {
  background-color: #e0e0e0; /* Hover effect */
  cursor: pointer;
}

.menu-table {
  border-collapse: collapse;
  width: 100%;
}

.menu-table th, .menu-table td {
  padding: 10px;
  text-align: center;
  border: 1px solid white; /* Add borders */
  border-radius: 12px; /* Rounded corners */
}

.menu-table th {
  background-color: #f2f2f2; /* Header background color */
  background-color: #b3cccc;

}

.menu-table tr:nth-child(even) {
  background-color: #f2f2f2; /* Alternate row color */
}

.menu-table td:hover {
  background-color: #e0e0e0; /* Hover effect */
  cursor: pointer;
}

.button-70 {
  background-image: linear-gradient(#006699, #0077b3);
  border: 0;
  border-radius: 4px;
  box-shadow: rgba(0, 0, 0, .3) 0 5px 15px;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  font-family: Montserrat,sans-serif;
  font-size: .9em;
  margin: 5px;
  padding: 10px 15px;
  text-align: center;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.formulario {

  padding: 10px;
  text-align: left;
  border: 1px solid #ccc; /* Add borders */
  border-radius: 12px; /* Rounded corners */
  max-width: 400px;
  margin: 0 auto;
  --padding: 20px;
  --border: 1px solid #ccc;
  --border-radius: 5px;
  background-color: #f9f9f9;

}


input[type='text'],
input[type='email'],
input[type='number'],
input[type='date'],
input[type='file'],
select,
textarea {
    --width: 100%;
    padding: 0.5rem 0.5rem 0.3rem 0.5rem;
    margin-bottom: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 14px;
    /*size: 4;*/
}

label {
    font-size: 14px;
}
.lapiz, .tacho, .imprime, .ojo, .sucursal {
	display:inline-block;
	width:16px;
	height:16px;	
	margin:4px 6px;
	font-size:0;
}
.lapiz {
	background:url('img/lapiz.png') center center no-repeat;
}
.tacho {
	background:url('img/tacho.png') center center no-repeat;
}
.imprime {
	background:url('img/print.png') center center no-repeat;	
}
.ojo {
	background:url('img/ojo.png') center center no-repeat;	
}
.sucursal{
  background:url('img/sucursal.png') center center no-repeat;	
}

      /* estilos del formulario */
      * {
      box-sizing: border-box;
}
    
      
      h1 {
      --position: absolute;
      align: center;
      margin: 0;
      font-size: 38px;
      color: black;
      --z-index: 2;
      }
      .testbox {
      display: flex;
      justify-content: center;
      align-items: center;
      height: inherit;
      padding: 20px;
      }
      form {
      width: 100%;
      padding: 20px;
      border-radius: 6px;
      background: #fff;
      box-shadow: 0 0 25px 0 #006699; 
      /*overflow-y: auto;*/
      /*min-height: 70vh;*/
	  
      }
      .banner {
      position: relative;
      height: 210px;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      }
      .banner::after {
      content: '';
      background-color: rgba(0, 0, 0, 0.3); 
      position: absolute;
      width: 100%;
      height: 100%;
      }

      input, select, textarea {
      margin-bottom: 10px;
      border: 1px solid #ccc;
      border-radius: 3px;
      }
      input {
      width: calc(100% - 10px);
      padding: 5px;
      }
      input[type='date'] {
      padding: 4px 5px;
      }
      select {
      width: 100%;
      padding: 7px 0;
      background: transparent;
      }
      textarea {
      width: calc(100% - 12px);
      padding: 5px;
      }

/* elementos del formulario */
.item {
  position: relative;
  margin: 10px 0;
}      
.item_grupo{
  display: flex;
  flex-wrap:wrap;
  width: 100%;
  justify-content: space-between;
}
.item_grupo .item{
  width: 48%;
}
.item3 .item{
  width: 30%;
}
.error_formulario {
	color:#ad030f;
}



      .item:hover p, .item:hover i, .question:hover p, .question label:hover, input:hover::placeholder {
      color: #892e9b;
      color: #006699;
      }
      .item input:hover, .item select:hover, .item textarea:hover {
      border: 1px solid transparent;
      box-shadow: 0 0 6px 0 #892e9b;
      box-shadow: 0 0 6px 0 #006699;
      color: #892e9b;
      color: #006699;
      }
      
      input[type='date']::-webkit-inner-spin-button {
      display: none;
      }
      .item i, input[type='date']::-webkit-calendar-picker-indicator {
      position: absolute;
      font-size: 20px;
      color: #a9a9a9;
      color: #006699;
      }
      .item i {
      right: 2%;
      top: 30px;
      z-index: 1;
      }
      [type='date']::-webkit-calendar-picker-indicator {
      right: 1%;
      z-index: 2;
      opacity: 0;
      cursor: pointer;
      }
      input[type=radio], input[type=checkbox]  {
      display: none;
      }
      label.radio {
      position: relative;
      display: inline-block;
      margin: 5px 20px 15px 0;
      cursor: pointer;
      }
      .question span {
      margin-left: 30px;
      }
      label.radio:before {
      content: '';
      position: absolute;
      left: 0;
      width: 17px;
      height: 17px;
      border-radius: 50%;
      border: 2px solid #ccc;
      }
      input[type=radio]:checked + label:before, label.radio:hover:before {
      border: 2px solid #892e9b;
      border: 2px solid #006699;
      }
      label.radio:after {
      content: '';
      position: absolute;
      top: 6px;
      left: 5px;
      width: 8px;
      height: 4px;
      border: 3px solid #892e9b;
      border: 3px solid #006699;
      border-top: none;
      border-right: none;
      transform: rotate(-45deg);
      opacity: 0;
      }
      input[type=radio]:checked + label:after {
      opacity: 1;
      }
      .btn-block {
      margin-top: 10px;
      text-align: center;
      }
      button, .button {
      width: 150px;
      padding: 10px;
      border: none;
      border-radius: 5px; 
      background: #892e9b;
      background: #006699;
      font-size: 16px;
      color: #fff;
      cursor: pointer;
      }
      button:hover {
      background: #0077b3;
      }
      @media (min-width: 568px) {
      .name-item, .city-item {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      }
      .name-item input, .city-item input {
      width: calc(50% - 20px);
      }
      .city-item select {
      width: calc(50% - 8px);
      }
      }
      
      .sin-estilo {
        all: unset;
      }
      
   