/* GENERAL */

body {
	font-family: 'lemurgh', Trebuchet MS, Helvetica, sans-serif;
	margin: 0 0 24px 0;
	color: #222222;
	font-size: 10pt;
	min-width: 1024px;
}

#planning {
	margin-top: 2px;
}

.center {
	text-align: center !important;
}

.left {
	text-align: left !important;
}

.right {
	text-align: right !important;
}

.bold {
	font-weight: bold;
}

.inline {
	display: inline-block;
}

.par {
	background: #F5F5F5;
}

.fondoblanco {
	background: #FFFFFF;
}

.fondoverde {
	background: #B6DC9A;
}

.fondorojo {
	background: #ed8a8a !important;
	color: #FFFFFF;
}

.btn_fondorojo {
	background: #ed8a8a !important;
	color: #FFFFFF;
}

.btn_fondorojo:hover {
	background: #AAAAAA !important;
	color: #FFFFFF;
}

.fondoazul {
	background: #3398DB;
	color: #FFFFFF;
}

.fondogris {
	background: #777777 !important;
	color: #FFFFFF;
}

.fondoguardiacivil {
	background: #1F7A1F !important;
}

.fondoguardiacivil:hover {
	background: #409A40 !important;
}

.fondopolicianacional {
	background: #223766 !important;
}

.fondopolicianacional:hover {
	background: #3E5281 !important;
}

.fondogris:hover {
	background: #AAAAAA !important;
}

.width60 {
	width: 60px !important;
}

.width70 {
	width: 70px !important;
}

.width85 {
	width: 85px !important;
}

.width120 {
	width: 120px !important;
}

.width130 {
	width: 130px !important;
}

.width140 {
	width: 139px !important;
}


.width160 {
	width: 150px !important;
}

.width200 {
	width: 210px !important;
}

.sel {
	background: #B6DC9A !important;
}

#cargando, .cargando {
	text-align: center;
}

#cargando img, .cargando img {
	width: 100px;
	vertical-align: middle;
}

#cargando h3, .cargando h3 {
	vertical-align: middle;
}

#cargando {
	position: absolute;
	display: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#lightboxbg {
	z-index: 9910;
	display: none;
	position: fixed;
	top: 0px; left: 0px; 
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(100, 100, 100, 0.6);
}

 .hide, .lightbox, #cli_bus-div, #cli_bus-div-empty, #age_bus-div, #age_bus-div-empty, .bus_div, .bus_empty {
	display: none;
}

.lightbox > div {
	z-index: 9999;
	background: #FFFFFF;
	max-width: 800px;
	margin: auto;
	border-radius: 4px;
	text-align: left;
	padding: 20px;
	position: fixed;
	min-width: 680px;
	top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lightbox1000 > div {
	width: 1000px !important;
	max-width: 1000px !important;
}

.lightbox800 > div {
	width: 800px !important;
}

.lightbox_pla_eli_res {
	grid-template-columns: 1fr 1fr 1fr;
}

#regimenes .lightbox > div, #cliente .lightbox > div, #agencia .lightbox > div, #reserva .lightbox > div, #factura .lightbox > div, #fac_imp-num {
	max-height: 80%;
	overflow: scroll;
  overflow-x: hidden;
  min-width: 676px;
}

.noscroll > div {
	overflow: hidden !important;
  overflow-y: hidden;
  overflow-x: hidden;
}


/* ICONOS */

.icon16 {
	width: 16px;
	height: 16px;
	object-fit: contain;
	margin: 4px;
}

.icon22 {
	width: 22px;
	height: 22px;
	object-fit: contain;
	margin: 1px;
}

.iconomenugrande {
	height: 18px !important;
}

.input_height39 {
	height: 39px;
}

.icon_pres {
	display: inline-block;
	height: 40px;
	vertical-align: middle;
	margin: 0 10px 20px 0;
}


/* TEXTO */

@font-face {
  font-family: "lemurgh";
  src: url("lemurgh.woff") format('woff');
}

a {
	text-decoration: none;
	color: #3398DB;
	cursor: pointer;
}

a:hover {
	text-decoration: underline;
}

.mini {
	font-size: 10pt;
}

.leyenda {
	font-size: 9pt;
}

#loginusername, #loginusuario {
	font-size: 11pt;
}

h1, h2, h3 {
	color: #3398DB;
}


/* BOTONES */

button {
	cursor: pointer;
	background: #EEEEEE;
	color: #333333;
	border: 0;
	padding: 10px;
	border-radius: 4px;
	font-family: 'lemurgh';
}

button:hover {
	background: #DADADA;
}

input[type=submit], .btn_lightbox {
	background: #3398DB;
	color: #FFFFFF;
	border-radius: 4px;
	cursor: pointer;
	font-family: 'lemurgh';
}

input[type=submit]:hover, .btn_lightbox:hover {
	background: #67B2E4;
}

.btn_lightbox {
	float: right;
	margin-left: 10px;
}

.btn_lightbox img {
	height: 10px;
}

#menu button, #menuvista button, button.azul {
	background: #3398DB;
	color: #FFFFFF;
	padding: 7px;
	vertical-align: middle;
}

#menu button:hover, #menuvista button:hover, button.azul:hover {
	background: #67B2E4;
}

.active {
	background: #67B2E4 !important;
}
/*
.bloque_subtitulo button, .bloque_fila button {
	width: 20px;
	padding: 1px;
	height: 18px;
}
*/
.btn_mini {
		width: 20px;
		padding: 1px;
		height: 18px;
}

.btn_min_100 {
	min-width: 100px;
}

.bloque_subtitulo button {
	background: #45DC85;
	color: #FFFFFF;
}

.bloque_subtitulo button:hover {
	background: #B9DCC8;
}

.eliminar {
	margin-top: 10px;
	background: #DD7777;
	color: #FFFFFF;
}

.btn_eliminar {
	background: #DD7777 !important;
}

.btn_eliminar:hover {
	background: #E18A8A !important;
}

.bloque_fila .eliminar:hover {
	background: #D5AAAA;
}

.bloque_fila .disabled, #menuvista .disabled {
	background: #BBBBBB !important;
}

.bloque_fila .disabled:hover, #menuvista .disabled:hover {
	background: #BBBBBB;
	cursor: default;
}

.bloque_btn button {
	padding: 5px;
}

.bloque_btn button img {
	height: 10px;
}

/* FORMS */

input, select {
	padding: 10px;
	border: 0;
	display: block;
	border-radius: 4px;
}

label, input, select, textarea {
	margin-top: 6px;
}

.bloques_h label, .bloques_h input {
	margin-top: 0 !important;
}

textarea {
	box-sizing: border-box;
	padding: 12px;
}

input[type=text], input[type=password], select {
	width: 100%;
}

input[type=checkbox], input[type=radio] {
	display: inline-block;
	margin: 20px 4px 20px 24px !important;
	transform: scale(1.5);
}

#res_est-edi-div- input[type=checkbox] {
	margin: 0px 4px 0px 24px !important;
}

.readonly {
	background: #fceec0;
	cursor: default;
}

#loginusername label, #loginusuario label {
	margin-top: 20px;
	display: block;
	color: #15799C;
}

#loginusername input, #loginusername select, #loginusuario input, #loginusuario select {
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 12pt;
}

.hoja label {
	background: #15799C;
	color: #FFFFFF;
	width: 160px;
	padding: 10px;
	display: inline-block;
	border-radius: 4px;
	text-align: right;
}

.hoja label.light {
	background: #3398DB;
}

.hoja input[type=text], .hoja input[type=password], .hoja input[type=number], .hoja select, textarea {
	display: inline-block;
	border: 1px solid #EAEAEA;
}

.hoja input[type=text].withlabel, .hoja input[type=password].withlabel, .hoja input[type=number].withlabel, .hoja select.withlabel, .lightbox .withlabel {
		width: calc(100% - 185px);
}

div.withlabel {
		width: calc(100% - 205px);
		padding: 10px;
}

.hoja input[type=text].withlabelbtn {
		width: calc(100% - 210px);
}

.hoja textarea {
	width: 100%;
	border-radius: 4px;
	max-width: 100%;
	min-width: 100%;
	min-height: 100px;
	max-width: 300px;
}

#menu input[type=date] {
	display: inline-block;
	padding: 2px;
	height: 28px;
	margin: 0px 10px;
}

label.light {
	background: #67B2E4 !important;
}

label.clear {
	padding: 0;
	margin: 0;
	background: none;
	color: #222222;
	width: inherit;
}

.cleartop {
	margin-top: 0 !important;
}

#con_est-iva_normal, #con_est-iva_reducido, #con_est-iva_superr {
	text-align: right;
	margin-left: 18px;
}

/* LOGIN */

#loginusername, #loginusuario, #loginerror, #loginusuarioerror {
	display: none;
	background-image: url('../img/login_bg.jpg');
	position: fixed;
	width: 100%;
	min-height: 850px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

#logout {
	margin: 20px 20px 0 0;
	float: right;
}

.loginbox {
	background: rgba(240, 240, 240, 0.8);
	max-width: 320px;
	width: calc(100% - 82px);
	padding: 40px;
	margin: auto;
	border-radius: 4px;
	margin-top: 100px;
	text-align: center;
}

.loginbox form {
	text-align: left;
}

.loginlogo {
	margin: auto;
}

.loginbox input[type=submit] {
	width: 100%;
}


/* NAVEGACIÓN */

header {
	background: #3398DB;
	height: 32px;
	width: calc(100% - 16px);
	position: sticky;
	padding: 8px;
	top: 0px;
	z-index: 999;
}

#logo, #menu {
	display: inline-block;
}

#logo {
	height: 48px;
	width: 96px;
}

#logo img {
	width: 80px;
	padding: 8px;
	cursor: pointer;
	border-radius: 4px;
}

#logo img:hover {
	background: #67B2E4;
}

#menu {
	width: calc(100% - 204px);
	text-align: center;
	vertical-align: top;
}

#menu img, #menuvista img {
	height: 16px;
	vertical-align: bottom;
	margin-right: 4px;
}

nav {
	display: none;
	margin-top: 0;
	position: fixed;
	top: 48px;
	z-index: 90;
}

#context {
  position: absolute;
  text-align: center;
	z-index: 90;
}

#context a {
	color: #222222;
	text-decoration: none;
	text-align: left;
	
}

ul, li {
	margin: 0;
	display: inline-block;
}

nav ul, #context ul {
	background: #FAFAFA;
	border-radius: 4px;
	padding: 0;
	margin: 0;
}

nav ul {
	width: 220px;
}

nav ul li, #context ul a, #menu ul li {
	padding: 12px;
	list-style: none;
	cursor: pointer;
	border-radius: 4px;
	width: calc(100% - 24px);
}

nav ul li:hover, #context ul a:hover, #menu ul li:hover {
	background: #EAEAEA;
}

nav ul li div, #context ul a li, #menu ul li {
	display: inline-block;
	vertical-align: middle;
}

nav ul li img, #context ul a img, #menu ul li img {
	vertical-align: middle;
	margin-right: 12px !important;
}

ul {
	padding-inline-start: 0;
}

#menu > li {
 position:relative;
}

#menu ul, nav ul ul {
 display: none;
 position: absolute;
}

#menu ul li {
	background: #FAFAFA;
	text-align: left;
}

#menu li ul {
	border-radius: 4px;
	width: 220px;
	padding: 10px 0;
	margin: 0;
}

#menu li:hover > ul, nav li:hover > ul {
 display:block;
}

#menu li ul li {
	border-radius: 0px;
}

#menu li ul li:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

/* MENU VISTA */

#menuvista {
	background: #EAEAEA;
	padding: 6px 0 10px;
	text-align: center;
	position: sticky;
	top: 48px;
	z-index: 899;
}

.estado {
	bottom: 0px;
	background: #EEEEEE;
	position: fixed;
	width: 100%;
	padding: 2px 0;
	z-index: 9999;
	color: #666;
	font-size: 9pt;
	border-top: dotted 1px #CDCDCD;
	display: grid;
	grid-template-columns: 200px 200px 200px 1fr 140px 10px 140px;
}

.estado div {
	text-align: center;
	text-overflow: ellipsis !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.notificacion {
	background-color: #EEEE7E !important;
  color: #444 !important;
  border-left: solid 1px #ed8a8a;
  border-right: solid 1px #ed8a8a;
}

.noleido {
	background-color: #EEE27E !important;
  border: #C2BB85 dotted 2px !important;
}

.estado button {
  background: #DDDDDD;
  border: 0;
  border-radius: 4px;
  padding: 0 12px;
}

.estado button:hover, .notificacion:hover {
  background: #CCCCCC !important;
  border: 0;
  border-radius: 2px;
}

/* PLANNING */

.planning {
	display: grid;
	grid-column-gap: 1px;
	grid-row-gap: 1px;
	background: #EAEAEA;
}

#estancia {
	cursor: default  !important;
	line-height: 2.5;
}

#estancia, .habitacion {
	grid-column: 1/2;
	position: relative;
	z-index: 10;
}

#estancia, .fecha, .habitacion, .celda {
	font-size: 9pt;
	text-align: center;
	padding: 3px;
	height: 30px;
}

.fecha, .habitacion {
	cursor: hand !important;
}

.habitacion span {
	font-style: italic;
	color: #444444;
	font-size: 8pt;
}

.celda, .habitacion {
	text-overflow: ellipsis !important;
  overflow: hidden !important;
  white-space: nowrap !important;
	cursor: default;
}

.celda.vacia {
  /*cursor: hand !important;*/
  line-height: 2.5;
}

.celda.vacia:hover {
	background: #EEEEEE !important;
}

.celdalista {
	padding: 10px;
	cursor: pointer;
}

.celdalista > div {
	text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

.celdalista:hover {
	background: #EAEAEA;
}

.celdatexto5 {
	margin-top: 4px !important;
}

.celdatexto10 {
	margin-top: 12px !important;
}

.celdatexto20 {
	margin-top: 18px !important;
}

.icon_ocupada, .icon_cambiar {
	position: absolute;
  left: 6px;
	width: 10px;
}

.icon_ocupada {
	top: 6px;
}

.icon_cambiar {
	bottom: 6px;
}

/* Colores celdas */

.celda-fecha-0 { /* Hoy */
	background: #BBBBBB;
	color: #222222;
}

.celda-fecha-1 { /* Baja */
	background: #EEEE7E;
	color: #222222;
}

.celda-fecha-2 { /* Media */
	background: #EEB87E;
	color: #222222;
}

.celda-fecha-3 { /* Alta */
	background: #EE7E7E;
	color: #FFFFFF;
}

.celda-fecha-4 { /* Especial */
	background: #EE7EDB;
	color: #FFFFFF;
}

.celda-habitacion-0 { /* Limpia */
	background: #afd896;
	color: #222222;
}

.celda-habitacion-1 { /* Sucia */
	background: #ed8a8a;
	color: #222222;
}

.celda-habitacion-2 { /* Cambiar */
	background: #ed8a8a;
	color: #222222;
}

.celda-planning-0 { /* Libre */
	background: #FFFFFF;
	color: #999999;
}

.celda-planning-1 { /* Reserva */
	background: #aac85a;
	color: #222222;
}

.celda-planning-2 { /* Reserva confirmada */
	background: #6e9628;
	color: #FFFFFF;
}

.celda-planning-3 { /* Página web */
	background: orange;
	color: #222222;
}

.celda-planning-4 { /* Agencia */
	background: #d2a050;
	color: #222222;
}

.celda-planning-5 { /* Empresa */
	background: #24A1B9;
	color: #FFFFFF;
}

.celda-planning-6 { /* Agencia y Empresa */
	background: linear-gradient(135deg, rgba(210,160,80,1) 34%, rgba(210,160,80,1) 39%, rgba(36,160,185,1) 70%, rgba(36,160,185,1) 100%);
	color: #FFFFFF;
}

.celda-planning-7 { /* Factura abierta */
	background: #B8B8B8;
	color: #222222;
}

.celda-planning-8 { /* Factura cerrada */
	background: #808080;
	color: #FFFFFF;
}

.celda-planning-9 { /* Factura error */
	background: #F01E1E;
	color: #FFFFFF;
}

/* Menú contextual */

#context, #fac_dat-abr-, #fac_dat-cer-, #fac_imp-num-rno {
    display: none;
}


/* CONTENIDO */

.hoja {
	max-width: 1400px;
	margin: auto;
  padding: 20px;
}

.bloques {
	display: grid;
  grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
  grid-gap: 10px;
  max-width: 1400px;
  margin: auto;
}

.bloques > div, .bloques_h > div {
	background: #FAFAFA;
	border: 1px dotted #BABABA;
	padding: 20px;
	border-radius: 4px;
}

.bloques_h > div {
	margin-bottom: 20px;
}

.bloque_titulo {
	background: #BABABA;
	color: #FFFFFF;
	padding: 10px;
	border-radius: 4px;
	font-size: 12pt;
	text-align: center;
}

.bloque_subtitulo {
	grid-gap: 4px;
	background: #77A3BD;
	padding: 10px;
	color: #FFFFFF;
	margin: 4px 0 10px;
	border-radius: 4px;
	cursor: default;
}

.bloque_btn {
	padding: 6px;
	display: grid;
}

.bloque_btn > div {
	margin-top: 3px;
}

.bloque_fila {
	padding: 10px 6px;
	border-radius: 4px;
}

.bloque_fila input, .bloque_fila select {
	margin-top: 0;
}

.bloque_fila button {
	vertical-align: top;
}

.bloque_fila.nueva {
	background: #CCCCCC;
}

.gridfila {
	display: grid;
	grid-gap: 8px;
}

#con_est-logo {

	text-align: center;
}

#con_est-logo img {
	width: 40%;
	margin: 40px auto;
}

#temporadas, #usuarios {
	max-width: 800px;
	margin: auto;
}

.logo_booking {
	margin: 40px;
	width: 260px;
}

#cli_dat-observaciones {
	min-height: 242px;
}

#age_dat-notas {
	min-height: 124px;
}

#emp_dat-notas {
	min-height: 296px;
}

.bus_resultado > div {
	display: grid;
	grid-template-columns: 50px 1fr;
	padding: 6px 0;
}

.bus_resultado > div > div {
	display: grid;
	grid-template-columns: 72px 2fr 120px 200px 140px;
	grid-gap: 10px;
	margin-left: 10px;
}

.bus_registros > div {
	display: grid;
	grid-template-columns: 160px 120px 1fr;
	grid-gap: 10px;
	margin-left: 10px;
	padding: 10px 0;
}

#res_bus-resultado > div > div {
	grid-template-columns: 80px 1fr 120px 120px 2fr;
}

#fac_bus-resultado > div > div {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: 100px 1fr 120px 80px 100px;
}

#cli_hue-resultado > div {
	grid-template-columns: 50px 50px 1fr;
}

#cli_hue-resultado > div > div {
		display: grid;
		grid-gap: 10px;
		grid-template-columns: 2fr 80px 120px 120px 120px 120px 1fr 20px;
}

#cli_hue-resultado > div input[type=checkbox], #res_hos-resultado > div input[type=checkbox] {
	margin: 0px !important; 
  transform: scale(0.7);
}

#cli_hue-resultado .celdalista, #res_hos-resultado .celdalista {
	cursor: default;
}

.cursordef {
	cursor: default !important;
}

#cli_hue-resultado .celdalista:hover, #res_hos-resultado .celdalista:hover {
	background: inherit;
}

#res_hos-resultado > div > div {
		display: grid;
		grid-gap: 10px;
		grid-template-columns: 120px  1fr 1fr 20px;
}

#res_hos-resultado > div {
	grid-template-columns: 50px 50px 1fr;
}

#res_aye-age-cliente, #res_aye-emp-cliente {
	margin: 10px 0;
}

#fac_imp-num-res {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fit, 90px);
}

.chn_bloque {
	margin-top: 10px;
	background: #CCCCCC;
}

.chn_bloque div div {
	text-overflow: ellipsis !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.chn_reserva_false, .chn_tarifa, .chn_tit_reservas {
	background: #FFFFFF;
}

.chn_tipohab, .chn_tarifa {
	padding: 6px;
}

.chn_tipohab {
	font-weight: bold;
	padding-top: 12px;
	background: #EAEAEA;
}

.chn_fila {
	display: grid;
	grid-gap: 1px;
	margin-top: 1px;
}

.chn_enventa, .chn_reserva_true, .chn_reserva_false, .chn_precio, .chn_libres {
	text-align: center;
	padding: 4px;
	vertical-align: middle;
}

.chn_precio {
	height: 30px;
}

.chn_enventa {
	height: 24px;
	padding-top: 12px;
}

.chn_reserva_true, .chn_reserva_false, .chn_libres {
	height: 12px;
}

.chn_reserva_true {
	border-radius: 4px;
	background: #666666;
	color: #FFFFFF;
}

@media (max-width: 1152px) {
	.hoja {
		padding: 20px 6px;
	}
	.bloques {
		display: grid;
	  grid-gap: 4px;

	}
	.bloques > div {
		padding: 6px;
	}
}

@media (max-width:  1064px) {
	#menu {
		width: calc(100% - 164px);
		text-align: center;
		vertical-align: top;
	}
}