:root {
	--xpadding: 20px;
}

* {
	box-sizing: border-box;
}
html, body {
	display: block;
	min-width: 0;
}
body {
	background-color: #fff;
	display: block;
}
#frame {
	min-height: 0;
	padding: 10px var(--xpadding);
	display: block;
}
.main-page-content {
	padding: 0;
	min-width: 0;
	overflow-x: auto;
	background: transparent !important;
}
.reservations-schedule #frame > h1 {
	display: none;
}
h1 + .menu {
	margin-top: 0;
	padding-left: 0;
}

/* inline overlays */
body.mobile .main-page-content > #overlays:not(:empty) ~ *,
body.mobile div.overlay:not(:last-child),
body.mobile div.lightbox:not(:last-child) {
	display: none;
}
body.mobile div.lightbox {
	position: static;
}
body.mobile div.lightbox div.lbborder {
	box-shadow: none;
	border-radius: 0;
	background-color: transparent;
}

html, body, table, input, textarea, select {
	font-size: 15px;
}
input, textarea, select {
	padding: 6px;
}
h1, h2, ul, table {
	margin: 0 0 10px;
}
table {
	width: 100%;
}

.general-notice {
	margin-left: 0;
	margin-right: 0;
}

.fold-in-menu {
	display: none;
}

.mobile .qrcode {
	text-align: center;
	--size: 120px;
}
.mobile .qrcode svg {
	width: var(--size);
	height: var(--size);
}

.matrix-nav {
	display: block;
	padding: 0;
}
.matrix-nav a.matrix-date-nav {
	display: inline-block;
}
.main-page-content .matrix-nav h1 {
	display: inline-block;
}
.matrix-nav select,
.matrix-nav .button3 {
	display: block;
	margin-left: 0;
	width: 100%;
	margin-top: 0.5em;
}
.matrix-nav .button3 {
	display: none;
}

html #matrix_div {
	padding-top: 0 !important;
}

.mpc-sticky-wrapper,
.mpc-sticky,
.fold-in-menu-wrapper,
.fold-in-menu {
	position: static;
}

#login-form-container {
	max-width: 350px;
}

.matrix table {
	margin: 0;
}
html .matrix-timeslot {
	display: none;
}

.make-reservation,
.qrcode {
	margin-bottom: 1em;
}

.hide-on-mobile {
	display: none;
}
.hide-on-desktop {
	display: block;
}
td.hide-on-desktop {
	display: table-cell;
}

a.button, a.button:hover, a.button:focus,
input.button, button.button,
a.submit, a.submit:hover, a.submit:focus,
input.submit, button.submit {
	padding: 8px 19px;
}

input[nosearchmembers] {
	width: 30px;
}

.complaint-form .text {
	width: 100% !important;
}



/* menu */
.mobile-main-menu {
	margin: 0;
	padding: 0;
	line-height: 1.6;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 90%;
}
.mobile-main-menu.header {
	margin-bottom: 1em;
}
.mobile-main-menu.footer {
	margin-top: 4em;
}
.mobile-main-menu.inline {
	display: flex;
	justify-content: space-between;
	border-bottom: solid 1px #000;
}
.mobile-main-menu li {
	list-style: none;
	display: block;
}
.mobile-main-menu:not(.inline) li {
	border-bottom: solid 1px #000;
}
.mobile-main-menu:not(.inline) li + li {
	margin-top: .5em;
}
.mobile-main-menu.inline li + li {
	padding-left: 1em;
}
.mobile-main-menu a {
	display: inline-block;
	color: black;
	padding: 5px 0;
}
.mobile-main-menu a.color {
	color: var(--club-color-bg-dark);
}



.top-buttons {
	display: none;
}
.lbborder th.tblUpTitle,
.lbborder tr.tblUpTitle > th {
	padding-right: 7px;
}

p.mobile-loaded-in {
	color: #aaa;
	margin: 0;
	padding: 0 10px 10px;
}

p, table, ul, ol, h1, h2, h3 {
	margin: 10px 0;
}

html #mootooltip {
	max-width: none !important;
	left: 10% !important;
	right: 10% !important;
	margin-top: 5px;
}

/* table white spacing */
table.oneBorder tr > td,
table.oneBorder tr > th {
	padding: 7px;
}

/* login */
.login-phone,
.login-form,
.login-buttons {
	text-align: center;
	width: 350px;
	max-width: 100%;
	margin: 0 auto;
}
.login-form input.text,
.login-form button {
	width: 100%;
	max-width: 100%;
}

ul.login-buttons {
	margin-top: 1em;
	padding: 0;
	display: block;
}
ul.login-buttons li {
	display: block;
	list-style: none;
	margin-bottom: .25em;
}
ul.login-buttons a {
	display: block;
	width: 100%;
	margin: 0 auto;
}

.login-phone {
	margin-top: 1em;
}
.login-phone a {
	display: inline-block;
	line-height: 32px;
}
.login-phone img {
	height: 32px;
	width: 32px;
	vertical-align: middle;
}

/* schedule */
table.matrix {
	width: auto;
}
table.matrix td,
table.matrix th {
	border-width: 2px;
	padding: 8px;
}
table.matrix thead.matrix-header tr:first-child th {
	border-top-width: 2px;
}
table.matrix tfoot.matrix-header tr:last-child th {
	border-bottom-width: 2px;
}
table.matrix td.onActive.onActive.onActive.onActive,
table.matrix td.onActive.onActive.onActive.onActive * {
	background-color: #555;
	color: #fff;
}


/* schedule index */
#schedule-title {
	margin-top: 0;
}

form.schedule-index .widget > *,
form.schedule-index .button3 {
	width: 100%;
}
/*form.schedule-index .widget > * {*/
	/*background-color: var(--club-color-bg-light);*/
	/*color: var(--club-color-txt-on-light);*/
	/*border: 0;*/
/*}*/
form.schedule-index button.button.submit {
	padding: 12px;
	width: 100%;
	margin: 0 auto;
}


.mobile-product-logo {
	margin-top: 30px;
	text-align: right;
}
.mobile-product-logo img {
	max-width: 180px;
}
