html {
  box-sizing: border-box;
}

*,
*:after,
*:before {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
  /** 1REM = 10pX **/
}

body {
  background-color: #fff;
  font-size: 1.6rem;
  font-family: 'Lato', sans-serif;
}

.ocultar {
  visibility: hidden !important;
}

.noMostrar {
  display: none !important;
}

/*Grid pagos*/
.contenedor {
  max-width: 140rem;
  margin: 0 auto;
  height: 85rem;
  display: grid;
  grid-template: "datos datos datos tiket" 6fr;
  gap: 1rem;
}

.box {
  padding: 1rem;
  display: flex;
  justify-content: left;
  align-items: top;
  font-size: 1.6rem;
}

.header {
  max-width: 140rem;
  margin: 0 auto 1rem auto;
}

.datos {
  grid-area: datos;
  display: grid;
}

.tiket {
  grid-area: tiket;
  width: 100%;
}

.cabeusuario {
  font-size: 1.5rem;
  font-weight: 600;
}

.cabeimpresora {
  cursor: pointer;
  font-size: 1.7rem;
  font-weight: 600;
}

/*Fin Grid pagos*/
/*Grid rectificar*/
.rec_contenedor {
  max-width: 140rem;
  margin: 0 auto;
  display: grid;
  gap: 1rem;
}

.cabe {
  grid-area: cabe;
  display: grid;
  background-color: #F1F2F8;
  margin-bottom: 1rem;
}

.det {
  grid-area: det;
  background-color: #F1F2F8;
  max-height: 50rem;
  overflow: auto;
  margin-bottom: 1rem;
}

/*Fin Grid rectificar*/
/*Etiquetas*/
p {
  font-size: 1.5rem;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

h1 {
  font-size: 2.8rem;
}

h2 {
  font-size: 2.4rem;
}

h3 {
  font-size: 2rem;
}

/*Fin Etiquetas*/
/*Cabecera y pie*/
.logo {
  padding: 0.5rem;
}

.menu {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  width: 100%;
  justify-content: right;
}

.linkMenu {
  cursor: pointer;
  font-size: 1.75rem;
  font-weight: 700;
}

.menuPie {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  width: 100%;
  justify-content: center;
}

.linkPie {
  font-size: 1.8rem;
  font-weight: 600;
}

/*Fin cabecera y pie*/
/*Datos*/
/*Formulario*/
.form {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-gap: 2px;
  grid-template-columns: repeat(3, 1fr);
}

.rec_form {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-gap: 2px;
  grid-template-columns: repeat(4, 1fr);
}

.campo,
.campoMod {
  margin: 2rem;
  display: inline-block;
}

.grande {
  grid-column: 1 / 3;
}

.grande5 {
  grid-column: 1 / 5;
}

.campo label {
  display: inline-block;
  font-weight: 700;
}

.campo input,
.campo select,
.entrada {
  padding: 0.5rem;
  width: 100%
}

.campo button,
.boton {
  font-size: 1.8rem;
  padding: 0.5rem;
}

.campo button:disabled,
.boton:disabled {
  cursor: not-allowed !important;
}

.campo input[type=number] {
  font-size: 1.8rem;
  padding: 0.5rem;
  margin: 0.1rem;
}

.dosCol {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-gap: 2px;
  grid-template-columns: repeat(2, 1fr);
}

.campoMod label {
  display: inline-block;
  font-weight: 700;
  width: 100%;
  grid-column: 1 / 2;
}

.campoMod input {
  padding: 0.5rem;
  margin: 0.5rem;
  width: 100%;
  grid-column: 1 / 2;
}

button:hover {
  cursor: pointer
}

.formulario .conectar {
  display: inline-block;
}

.formulario .conectar .campo {
  width: 90%;
}

.gmodal__footer {
  text-align: center;
}

.gmodal__footer button {
  font-size: 1.8rem;
  padding: 0.5rem;
  cursor: pointer
}

/*Fin formulario*/

/*Precios*/
.precio {
  padding: 0 2rem;
  font-size: 2rem;
}

.precio span {
  font-weight: 800;
  padding: 0 1.8rem;
}

/*Fin precios*/
.detalle {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
}

.imagen {
  max-height: 20rem;
}

#bh_prodDescL {
  max-height: 25rem;
  overflow-y: auto;
  padding: 1.5rem;
}

.descripcion {
  grid-column: 2 / 5;
  padding: 0 1.5rem;
}

.boton {
  font-size: 1.8rem;
}

/*Pago*/
.for_cobro {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-gap: 2px;
  grid-template-columns: repeat(4, 1fr);
}

.cobro {
  display: inline-block;
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin-top: 1rem;
  padding-top: 4rem;
  grid-column: 1 / 3;
}

.formulario .cobro input[type=radio] {
  margin: 1rem;
  cursor: pointer;
}

.formulario .cobro input[type=radio]:disabled {
  cursor: not-allowed !important;
}

.campo_cobro_label label {
  font-weight: 700;
  grid-column: 3 / 4;
  display: block;
  font-size: 1.8rem;
  padding: 0.4rem;
  text-align: right;
}

.campo_cobro_input input,
.campo_cobro_input input[type=number] {
  grid-column: 4 / 5;
  font-size: 1.7rem;
  padding: 0.3rem;
  width: 100%;
}

.botones_pago {
  text-align: right;
}

.botones_pago button {
  font-size: 1.8rem;
  padding: 0.5rem;
}

.botones_pago button:disabled {
  cursor: not-allowed !important;
}

.botones_pago button:hover {
  cursor: pointer
}

/*Fin pago*/
/*Fin datos*/

/*Tiket*/
.tiket2 {
  padding: 1rem;
  text-transform: capitalize;
  text-align: center;
  max-height: 73rem;
  overflow-y: auto;
}

.tiquetNombre {
  font-weight: bold;
  font-size: 2rem;
}

/*Tabla tiket*/
.tabla {
  padding: 0;
  text-align: left;
}

.tabla thead th {
  font-weight: bold;
  font-size: 1.5rem;
}

.numero {
  text-align: right;
}

.tabla tfoot td {
  font-size: 2rem;
  font-weight: bold;
}

.tabla tbody td {
  padding: 0 0.5rem;
  font-size: 1.5rem;
}

.mano:hover {
  cursor: pointer
}

/*Fin tabla tiket*/
.rec_table {
  width: 100%;
  margin-top: 1rem;
}

/*Fin tiket*/

.limpiar {
  clear: both;
}

/* Iconos usados en tabulator*/
.icover {
  display: block;
  height: 20px;
  text-decoration: none;
}

.icover:before {
  content: '';
  background: url('../img/view.svg');
  background-size: cover;
  position: absolute;
  width: 20px;
  height: 20px;
  margin-left: -22px;
}

.icoprint {
  display: block;
  height: 20px;
  text-decoration: none;
}

.icoprint:before {
  content: '';
  background: url('../img/print.svg');
  background-size: cover;
  position: absolute;
  width: 20px;
  height: 20px;
  margin-left: -22px;
}

.icomod {
  display: block;
  height: 20px;
  text-decoration: none;
}

.icomod:before {
  content: '';
  background: url('../img/modify.svg');
  background-size: cover;
  position: absolute;
  width: 20px;
  height: 20px;
  margin-left: -22px;
}

.icocli {
  display: block;
  height: 20px;
  text-decoration: none;
}

.icocli:before {
  content: '';
  background: url('../img/client.svg');
  background-size: cover;
  position: absolute;
  width: 20px;
  height: 20px;
  margin-left: -22px;
}

.input_peque {
  width: 40px;
}

/*Página presupuestos*/
.presup_contenedor,
.gestoria_contenedor {
  max-width: 140rem;
  margin: 0 auto;
  height: 85rem;
}

.grid_contenedor {
  display: grid;
  grid-template-columns: 8% 8% 8% 8% 8% 8% 8% 8% 8% 8% 8% 8%;
  column-gap: 0.33%;
  row-gap: 0.5rem;
  padding: 1rem;
}

.grid_c1 {
  grid-column: span 1;
  padding: 0.5rem;
}

.grid_c2 {
  grid-column: span 2;
  padding: 0.5rem;
}

.grid_c3 {
  grid-column: span 3;
  padding: 0.5rem;
}

.grid_c4 {
  grid-column: span 4;
  padding: 0.5rem;
}

.grid_c5 {
  grid-column: span 5;
  padding: 0.5rem;
}

.grid_c6 {
  grid-column: span 6;
  padding: 0.5rem;
}

.grid_c7 {
  grid-column: span 7;
  padding: 0.5rem;
}

.grid_c8 {
  grid-column: span 8;
  padding: 0.5rem;
}

.grid_c9 {
  grid-column: span 9;
  padding: 0.5rem;
}

.grid_c10 {
  grid-column: span 10;
  padding: 0.5rem;
}

.grid_c11 {
  grid-column: span 11;
  padding: 0.5rem;
}

.grid_c12 {
  grid-column: span 12;
  padding: 0.5rem;
}

.grid_r3 {
  grid-row: span 3;
}

.etiqueta {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
}

.etiquetaCabe {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
}

.entrada {
  width: 100%;
  padding: 0.5rem;
}

#presup_lineas_det {
  height: 200px;
  overflow: scroll;
}
