/* FONT-FACE */
@font-face {
    font-family: 'NotoSans';
    src: url('fonts/NotoSans.eot');
    src: url('fonts/NotoSans.eot?#iefix') format('embedded-opentype'),
         url('fonts/NotoSans.woff') format('woff'),
         url('fonts/NotoSans.ttf') format('truetype'),
         url('fonts/NotoSans.svg#NotoSans') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'NotoSans';
    src: url('fonts/NotoSans-Bold.eot');
    src: url('fonts/NotoSans-Bold.eot?#iefix') format('embedded-opentype'),
         url('fonts/NotoSans-Bold.woff') format('woff'),
         url('fonts/NotoSans-Bold.ttf') format('truetype'),
         url('fonts/NotoSans-Bold.svg#NotoSans-Bold') format('svg');
    font-weight: 700;
    font-style: normal;
}
/* GENERAL CONTENT */
* {
	margin: 0;
	padding: 0;
}
.nopadding {
	padding: 0;
}
.nomargin {
	margin: 0;
}
.col40-right {
	padding-right: 40px;
}
.align-center {
	text-align: center;
}
.align-right {
	text-align: right;
}
body {
  background-color: #eee;
  font-family: 'NotoSans',"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.45;
  color: #544b3e;
  text-shadow: 0px 1px 0px #fff;
}
/*Font Config.*/
p {margin-bottom: 1.3em;}
h1, h2, h3, h4 {
  margin: 1.414em 0 0.5em;
  font-weight: inherit;
  line-height: 1.2;
}
h1 {
  margin-top: 0;
  font-size: 3.157em;
}
h2 {font-size: 2.369em;}
h3 {font-size: 1.83em;}
h4 {font-size: 1.333em;font-weight: 700;}
small, .font_small {font-size: 0.75em;}
/*Fin Font Config.*/
/* FORMS */
form p{
	display: block;
	margin: 0;
	padding: 0;
}
input[type=date], input[type=datetime], input[type=datetime-local], input[type=email], input[type=month], input[type=number], input[type=password], input[type=range], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week] {
	width: 100%;
	padding: 8px 5px 5px 6px;
	background-color: #fff;
	text-shadow: none;
	border: 1px solid #a19686;
	border-radius: 3px;
	margin-bottom: 15px;
}
button:not(.fc-button), input[type="button"], input[type="reset"], input[type="submit"] {
	background-color: #2274a1;
	border: 1px solid #315672;
	border-radius: 3px;
	color: #fff;
	text-shadow: none;
	padding: 7px 11px 8px 10px;
	font-size: 1em;
	margin-bottom: 10px;
}
button:not(.fc-button):hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
	background-color: #7d88ee;
	border: 1px solid #2274a1;
}
label.error {
    color: red;
    font-weight: 400;
    font-size: 14px;
    display: block;
    margin-top: -11px;
    margin-bottom: 7px;
    width: 100% !important;
}
form.simple {
	background-color: #eee;
	border: 1px solid #a19686;
	border-radius: 3px;
	box-shadow: 0px 1px 0px rgba(255,255,255,0.7);
	padding: 20px 30px 15px;
	text-align: left;
	max-width: 300px;
	width: 100%;
	margin: 30px auto 20px;
}
form.simple label {
	display: block;
	font-weight: 400;
	font-size: 1em;
	margin: 0px 0px 4px 0px;
}
/* fin FORMS */
.imgcomedor {
	width: 90%;
	max-width: 500px;
	height: auto;
	border-radius: 5px
}
.modicome, .come-mesa {
	display: none;
}
/* BODY */
.general-content-box, .header-content-box {
	max-width: 1230px;
	width: 100%;
	margin: 0 auto;
}
.general-content-box {
    padding: 50px 0px;
}
.general-content, .header-content {
    padding-left: 30px !important;
    padding-right: 30px !important;
}
/* HEADER */
.main-header {
	background-color: #7d88ee;
	min-height: 52px;
}
.main-header .header-content-box .header-content {
    padding: 14px 0px 5px;
}
.header-content ul {
    list-style: none;
    display: flex;
}
.header-content ul li {
	margin: 0px;
}
.header-content a {
    color: #fff;
    text-shadow: none;
    font-size: 0.875em;
    text-decoration: none;
    padding: 17px 20px 15px 15px;
    border-radius: 0px;
}
.header-content a:hover {
    color: #7d88ee;
    background-color: #fff;
}
.header-content i, .nav-tabs i {
    font-size: 22px;
    vertical-align: bottom;
    margin-right: 8px;
}
.header-content .logout {
	text-align: right;
}
.header-content .logout .lang-label {
	color: #fff;
	text-shadow: none;
	font-size: 0.875em;
}

/* LOGIN - INDEX */
.index-header p {
	padding: 30px 30px 0 0;
}
.index-header a {
    margin: 0 4px 0 3px;
}
.index-header a:first-of-type {
    margin-left: 6px;
}
.index-header a:last-of-type {
    margin-right: 0px;
}
body.login {
	display: flex;
	justify-content: center;
	align-items: center;
}
body.login .general-content-box {
	padding: 0px;
}
.login-box {
    text-align: center;
}
.login-box-content {
	padding: 40px 0px;
}
.login-box-content h1 {
    font-size: 2.5em;
    max-width: 300px;
    margin: 20px auto;
    text-align: center;
    font-weight: 700;
}
.logo.login {
	max-width: 255px;
	width: 90%;
	height: auto;
}
/* -numpad */
.nmpd-grid {
    border-radius: 20px;
    background-color: #EEEEEE;
    box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
}
.nmpd-grid > tbody > tr > td {
	border-top: 0px solid transparent !important;
}
.nmpd-grid > tbody > tr > td:first-of-type {
	padding-left: 30px;
}
.nmpd-grid > tbody > tr > td:last-of-type {
	padding-right: 30px;
}
.nmpd-grid > tbody > tr:last-of-type > td {
    padding-bottom: 21px;
}
.displayer {
    padding-top: 26px !important;
}
.displayer input {
	text-align: left !important;
	font-size: 35px;
	height: 52px;
	padding-bottom: 10px;
}
.numpad.numero {
    font-size: 40px;
    width: 85px;
    text-align: center;
    height: 70px;
    border-radius: 15px;
    margin-bottom: 0px;
    font-weight: 700;
    border: none !important;
    box-shadow: 0px 1px 0px #fff;
}
.numpad.funcionals {
    width: 93%;
    vertical-align: middle;
    font-size: 27px;
    margin-top: 1px;
    border-radius: 14px;
    height: 69px;
    float: right;
    margin-bottom: 0px;
    background-color: rgba(0,0,0,0.25);
	border: none !important;
	box-shadow: 0px 1px 0px #fff;
}
.numpad.funcionals.done {
    background-color: #3CC53C;
}
.numpad.funcionals.done:hover {
    background-color: #68DD3D;
}
/* CALENDARIO */
#calendar h2 {
    text-transform: capitalize;
}
.calen-select-color {
	color: #7dc5ee;
}
.calen-today-color {
	color: #fff;
	text-shadow: none;
}
#calendar .fc-week .fc-bg td, #calendar .fc-head-container {
	box-shadow: 0px 1px 0px rgba(255,255,255,1);
}
#calendar .fc-week:first-child .fc-bg td {
	box-shadow: 0px 2px 0px rgba(255,255,255,1);
}
.fc td, .fc th {
    border-color: #cbc6bf;
}
.fc-basic-view td.fc-day-number, .fc-basic-view td.fc-week-number span {
    padding-top: 6px;
    padding-bottom: 2px;
    padding-right: 10px;
    font-size: 1.1em;
}
.calen-select {
	background-color: #7dc5ee;
	color: #fff;
	text-shadow: none;
	cursor: pointer;
}
.fc-day.calen-select {
	border: 1px solid #2274a1;
}
.fc-unthemed td.fc-today {
	background-color: rgba(0,0,0,0);
	position: relative;
}
.fc-unthemed td.fc-today.calen-select {
	background-color: #7dc5ee;
	border-right: 1px solid #2274a1;
}
.fc-unthemed td.fc-today:before { 
	content: '';
	display: block;
	width: 0; 
	height: 0; 
	border-top: 40px solid #fff; 
	border-right: 40px solid rgba(0,0,0,0); 
	position: absolute;
}
.calen-selected {
    background-color: #2274a1 !important;
    color: #fff !important;
    border: solid 1px #2274a1 !important;
    font-weight: 700;
    opacity: 1 !important;
}
#after-calendar {
    margin-top: 15px;
    margin-bottom: 40px;
}
#after-calendar p {
	margin-bottom: 5px;
}
#after-calendar p i {
    font-size: 25px !important;
    vertical-align: bottom;
}
#comidas-box form{
	text-align: center;
}
#comidas-box form input[type="button"] {
    max-width: 250px;
    padding: 7px 11px 8px 10px;
    width: 100%;
    margin-top: 15px;
}
#comidas-box form input[type=button].disponible {
	background-color: #7dc5ee;
}
#comidas-box form input[type=button].disponible:hover, #comidas-box form input[type=button].disponible:focus {
	background-color: #2274A1;
}
#comidas-box form input[type=button].completo {
	background-color: red;
}
#comidas-box form input[type=button].nodisponible {
	display: none;
}
.fc-row .fc-content-skeleton {
    padding-bottom: 0px;
}
/* RESERVA */
.reserva-mesa ul {
	-webkit-column-count: 5; /* Chrome, Safari, Opera */
    -moz-column-count: 5; /* Firefox */
    column-count: 5;

    -webkit-column-gap: 10px; /* Chrome, Safari, Opera */
    -moz-column-gap: 10px; /* Firefox */
    column-gap: 10px;
}
.nav-pills > li {
    float: none;
    text-align: center;
}
.nav-pills > li > a {
    border-radius: 5px;
    border: solid 1px #cbc6bf;
    box-shadow: 0px 1px 0px #fff;
    display: flex;
	justify-content: center;
	align-items: center;
}
.nav-pills > li > a:hover {
    background-color: #fff;
}
.nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover {
    color: #fff;
    background-color: #2274a1;
    text-shadow: none;
    border: solid 1px #2274a1;
    font-weight: 700;
}
.notificaciones {
	padding: 7px 16px 8px;
	color: #fff;
	text-shadow: none;
	margin: 25px 0 20px;
	border-radius: 5px;
	box-shadow: 0px 1px 0px #fff;
}
.notificaciones.primera {
    margin-top: -27px;
    padding-bottom: 19px;
}
.notificaciones p {
	margin: 0px 0px 3px 39px;
	text-indent: -39px;
}
.notificaciones p a {
    color: #fff;
    text-decoration: underline;
    font-weight: 700;
}
.notificaciones p a:hover {
    text-decoration: none;
}
.notificaciones.red p:before, .notificaciones.green p:before, .notificaciones.blue p:before {
	font-family: 'FontAwesome';
	color: #fff;
	text-shadow: none;
	font-size: 30px;
	vertical-align: sub;
	margin-right: 13px;
}
.red.isindex {
    max-width: 300px;
    margin: 16px auto -12px;
    text-align: left;
    padding-bottom: 13px;
    padding-right: 25px; 
}
.red { background-color: #d52600; }
.red p:before{ content: '\f05c'; }
.green { background-color: #3cc53c; }
.green p:before{ content: '\f05d'; }
.blue { background-color: #7dc5ee; }
.blue p:before{ content: '\f05a'; }
.reserva-content h2, h3{
	margin: 0px;
}
.reserva-content h2 {
    margin-bottom: 23px;
}
h3 {
    padding-bottom: 12px;
    border-bottom: solid 1px #a19686;
    margin-bottom: 19px;
}
.info-dot {
    font-size: 20px;
    vertical-align: bottom;
    margin-left: 4px;
}
.row.titular {
    background-color: #7d88ee;
    color: #fff;
    text-shadow: none;
    padding: 5px 0px 6px;
    border-radius: 5px 5px 0px 0px;
    display: flex;
	align-items: center;
}
.tablerow {
	padding: 8px 0px;
	border: solid 1px #cbc6bf;
	border-top: none;
	box-shadow: 0px 1px 0px #fff;
}
.tablerow:last-of-type {
	border-radius: 0px 0px 5px 5px;
	margin-bottom: 30px;
}
.row-a{ background-color: rgba(255,255,255,0.8); }
.row-b{ background-color: rgba(255,255,255,0.3); }
.tablerow span {
	margin-top: 4px;
	display: block;
}
.tablerow button {
	font-size: 0.875em;
	padding: 5px;
	padding: 4px 9px;
}
.img-comedor a {
    color: #333;
    font-size: 0.875em;
}
.img-comedor a:hover {
    color: #2274A1;
    text-decoration: none;
}
.img-comedor a .zoom-img {
    margin-top: 10px;
}
.modal-content .modal-header {
    padding: 27px 28px 15px 30px;
}
.modal-content .modal-body {
    padding: 25px 28px 25px 30px;
}
.modal-content .modal-body p {
    margin-bottom: 8px;
}
.modal-content .modal-body input {
    margin-right: 8px;
}
.modal-content .modal-body .datos {
    margin: 16px 0px 5px;
}
.modal-content .modal-body .datos p {
    margin-bottom: 0px;
    font-style: italic;
}
.modal-content .modal-footer {
    padding: 18px 28px 18px 30px;
}
.modal-content .modal-footer .btn + .btn {
    margin-left: 12px;
}
/* RES-IMG */
.general-content-box.image-content, .main-nav.image-content {
	max-width: 100%;
	text-align: center;
}
/* PANEL DE CONTROL */
/* -general */
.previo-box {
	padding: 30px;
	border: solid 1px #cbc6bf;
	box-shadow: 0px 1px 0px #fff;
	border-radius: 5px;
	max-width: 360px !important;
	margin: 0px auto 30px;
}
.previo h3 {
    margin-bottom: 0px;
    border-bottom: none;
}
.generales h3:not(:first-of-type) {
	margin-top: 30px;
}
.logo-preview {
	width: 100%;
	height: auto;
}
#limitday, #limitcena {
	width: 50%;
	margin-top: 4px;
	margin-bottom: 18px;
}
/* -socios */
.lista-socios-box {
    margin-top: 28px;
}
.nav-tabs {
    border-bottom: 1px solid #cbc6bf;
}
.nav-tabs > li > a, .nav-tabs > li > a:focus, .nav-tabs > li > a:hover {
    color: #544b3e;
    background-color: rgba(203, 198, 191, 0.45);
    border: 1px solid #cbc6bf;
}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
    color: #2274a1;
    cursor: default;
    background-color: #eee;
    border: 1px solid #cbc6bf;
    border-bottom-color: transparent;
}
.section-box {
    padding: 35px 18px;
    border: solid 1px #cbc6bf;
    border-top: none;
    border-radius: 0px 0px 5px 5px;
    box-shadow: 0px 1px 0px #fff;
}
/* -establecimiento */
.titulo-comedor{
	font-size: 1.5em;
	margin-bottom: 26px;
	padding: 0px 15px;
}
.comedor-row-box > div:last-child {
	margin-top: 60px;
}
.listado-mesas-title {
	font-size: 1.1em;
	font-weight: 700;
	margin-top: -5px;
}
.modicome-box {
    margin-top: 23px;
}
.modicomebtn{
	margin-right: 12px;
}
ul.comedor-list {
  list-style: none;
}
ul.comedor-list li {
	border-top: solid 1px #fff;
	padding: 5px 0px;
	box-shadow: 0px -1px 0px #a19686;
}
ul.comedor-list li:first-of-type, ul.comedor-list li:last-of-type {
	border: none;
	box-shadow: none;
}
ul.comedor-list li:last-of-type {
	padding-top: 13px;
}
ul.comedor-list li p {
    margin: 0px;
}
ul.comedor-list li .delmesabtn {
    margin: 0px 0px 2px 20px;
    font-size: 0.875em;
    padding: 3px 8px;
}
.come-mesa {
    padding: 28px 0px 0px;
}
.come-mesa label{
	width: 50%;
}
.come-mesa input[type="submit"] {
    margin-top: 13px;
    margin-bottom: -10px;
}
input[type="file"] {
    margin-bottom: 23px;
}
.addmesabtn, .btn-default {
	margin-bottom: 0px !important;
}
button.mesabtn,
button.cancelres {
    margin-bottom: 1px;
}
.close {
	border: none !important;
	font-size: 27px !important;
	padding: 0px 7px 1px !important;
}
.close:hover {
	color: #fff;
	opacity: 1;
	background-color: #7dc5ee;
	border: none !important;
}
.btn-cancelar {
    background-color: rgba(203, 198, 191, 1) !important;
    border: solid 1px #cbc6bf !important;
    text-shadow: 0px -1px 0px rgba(203, 198, 191, 0) !important;
}
.btn-cancelar:hover {
	background-color: rgba(203, 198, 191, 0.7) !important;
    text-shadow: 0px -1px 0px rgba(203, 198, 191, 0.7) !important;
    color: #fff !important;
}
/* MEDIA QUERIES */
@media screen and (max-width: 1024px) {
	.previo h3 {
	    text-align: center;
	}
}
@media screen and (max-width: 768px) {
	.reserva-mesa ul {
		-webkit-column-count: 3 !important; /* Chrome, Safari, Opera */
	    -moz-column-count: 3 !important; /* Firefox */
	    column-count: 3 !important;
	    -webkit-column-gap: 15px; /* Chrome, Safari, Opera */
	    -moz-column-gap: 15px; /* Firefox */
	    column-gap: 15px;
	    padding: 0px 15px;
	}
	.reserva-mesa ul.nav-pills > li {
	    margin-bottom: 16px;
	}
	/* Login */
	body.login .general-content-box {
	    padding: 50px 0px;
	}
	.logo.login {
	    max-width: 140px;;
	    height: auto !important;
	}
	/* Res-fecha */
	.reserva-content h2 {
	    padding: 0px 15px;
	}
	.col40-right {
	    padding-right: 0px;
	}
	#comidas-box .col-md-12.nomargin {
		width: 20% !important;
		float: left;
	}
	.reservados-box {
		font-size: 0.8em;
	}
	.comensales-box, .btn-place-box {
		display: none;
	}
	.mesa-box {
		width: 30%;
		padding: 0px 0px 0px 10px;
	}
	.soci-box{
		width: 40%;
		padding: 0px 0px 0px 10px;
	}
	.cocina-box {
		width: 20%;
		padding: 0px 0px 0px 10px;
		text-align: left;
	}
	.tablerow .col-xs-2.btn-reserva-box{
		width: 100% !important;
		padding-top: 8px;
		padding-bottom: 4px;
	}
	/* panel de control */
	.previo-box {
		padding: 20px;
		max-width: 200px !important;
		margin: 0px auto 26px;
	}
}
@media screen and (max-width: 640px) {
	/* Res-fecha */
	#comidas-box .col-md-12.nomargin {
	    width: 50% !important;
	}
}
@media screen and (max-width: 533px) {
	.general-content, .header-content {
	    padding-left: 0px !important;
	    padding-right: 0px !important;
	}
	.section-box {
	    padding: 35px 10px;
	    border: none;
	    box-shadow: none;
	}
 	.hide-sm {
 		display: none;
 	}
 	.show-sm {
	    margin-right: 0px !important;
	}
	.container-fluid > .row > div:not(.logout):not(.main-menu):not(.tablerow > div) {
		width: 100% !important;
	}
	/* res-fecha */
	.header-content {
	    padding-left: 0px !important;
	    padding-right: 0px !important;
	}
	.header-content a {
	    padding: 17px 11px 15px 11px;
	}
	.row {
	    margin-right: 0px;
	    margin-left: 0px;
	}
}
@media screen and (max-width: 480px) {
	.reserva-mesa ul {
		-webkit-column-count: 2 !important; /* Chrome, Safari, Opera */
	    -moz-column-count: 2 !important; /* Firefox */
	    column-count: 2 !important;
	    -webkit-column-gap: 20px; /* Chrome, Safari, Opera */
	    -moz-column-gap: 20px; /* Firefox */
	    column-gap: 20px;
	}
	.reserva-mesa ul.nav-pills > li {
	    margin-bottom: 21px;
	}
	#limitday, #limitcena {
		width: 100%;
	}
}
@media screen and (max-width: 384px) {
	.index-header p {
	    padding: 30px 0px 0 0;
	}
	.fc-toolbar .fc-left {
	    width: 100%;
		margin-bottom: 16px;
	}
}
@media screen and (max-width: 360px) {
	.reserva-mesa ul {
		-webkit-column-count: 1; /* Chrome, Safari, Opera */
	    -moz-column-count: 1; /* Firefox */
	    column-count: 1;
	    -webkit-column-gap: 10px; /* Chrome, Safari, Opera */
	    -moz-column-gap: 10px; /* Firefox */
	    column-gap: 10px;
	}
	.reserva-mesa ul.nav-pills > li {
	    margin-bottom: 10px;
	}
	.nav-pills > li > a {
	    font-size: 0.875em;
	}
	ul.comedor-list li p {
	    display: inline;
	}
	ul.comedor-list li .delmesabtn {
	    margin: 5px 0px 4px 0px;
	}
	/* Login */
	.login-box-content h1 {
	    font-size: 1.75em;
	}
	.login form.simple {
	    border: 0px solid #a19686;
	    padding-bottom: 30px;
	    box-shadow: 0px 0px 0px transparent;
	}
	/* res-fecha */
	#comidas-box .col-md-12.nomargin {
	    width: 100% !important;
	}
	/* res-mesa */
	.btn-reserva-box, .tablerow .col-xs-2.btn-reserva-box{
		width: 100% !important;
		padding-top: 8px;
		padding-bottom: 4px;
	}
}

@media screen and (min-width: 534px) and (max-width: 767px) {
	.main-header .header-content-box .header-content {
		padding-top: 0;
		padding-bottom: 0;
	}
	.header-content .logout {
	    display: flex;
	    align-items: center;
	    justify-content: space-around;
	}
	.header-content ul {
	    margin: 0;
	}
	.header-content a {
	    padding: 14px 20px 12px 15px;
	}
	.header-content .main-menu a, .header-content .salir  {
		display: flex;
		align-items: center;
		flex-direction: column;
		width: inherit;
		float: left;
	}
	.header-content .logout a:not(.salir) {
		display: inline-block;
	}
	.header-content i, .nav-tabs i {
	    font-size: 18px;
	    margin-right: 0px;
	    margin-bottom: 4px;
	}
	.lang-label:first-of-type {
		display: none;
	}
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ CSS styles go here */
     body.login {
	    display: block;
	}
	.general-content-box, .header-content-box {
	    position: relative !important;
	}
}