/*
 Fritz Kiessling, 2026.08.24
 added this stylesheet to facilitate the mobiles pages
*/
html,
body {
	width: 100%;
	margin: 0;
	padding: 0;
}

body {
	overflow-x: hidden;
}

.mbl-page {
	width: 100%;
	max-width: 100%;
	padding: 8px;
	box-sizing: border-box;
}

.mbl-header-row {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100% !important;
	max-width: 100%;
	clear: both !important;
	float: none !important;
	position: static !important;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	overflow: visible;
}

.mbl-page-title {
	display: block !important;
	flex: 1 1 auto;
	float: none !important;
	position: static !important;
	width: auto;
	margin: 0;
	padding: 0;
	font-weight: bold;
	white-space: nowrap;
}

.mbl-account-link {
	display: block !important;
	flex: 0 0 auto;
	float: none !important;
	position: static !important;
	width: auto !important;
	margin: 0 0 0 10px;
	padding: 0;
	text-align: right;
	white-space: nowrap;
	box-sizing: border-box;
	visibility: visible;
}

	.mbl-account-link a {
		display: inline-block !important;
		padding: 2px 4px;
		visibility: visible;
	}

.mbl-page h4 {
	margin-top: 0;
	margin-bottom: 0;
}

.mbl-page table {
	max-width: 100%;
}

.mbl-page td,
.mbl-page th {
	white-space: normal !important;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.mbl-page img {
	max-width: 100%;
	height: auto;
}

.mbl-page input,
.mbl-page select,
.mbl-page textarea,
.mbl-page button {
	max-width: 100%;
	box-sizing: border-box;
	font-size: 16px;
}

	.mbl-page input[type="text"],
	.mbl-page input[type="password"],
	.mbl-page input[type="email"],
	.mbl-page input[type="tel"],
	.mbl-page select,
	.mbl-page textarea {
		width: 100%;
	}

	.mbl-page input[type="submit"],
	.mbl-page input[type="button"],
	.mbl-page button {
		min-height: 40px;
		padding: 8px 12px;
	}

.mbl-page textarea {
	height: auto;
}

.mbl-page a {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.mbl-calendar-scroll {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	clear: both;
}

.mbl-calendar-table {
	width: 100%;
	min-width: 1000px;
	border-collapse: separate;
}

	.mbl-calendar-table td,
	.mbl-calendar-table th {
		white-space: normal !important;
		overflow-wrap: break-word;
		word-wrap: break-word;
	}

	.mbl-calendar-table select {
		width: auto;
		max-width: 100%;
	}

.mbl-rsvp-scroll {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.mbl-rsvp-table {
	width: 100%;
	border-collapse: collapse;
}

	.mbl-rsvp-table td,
	.mbl-rsvp-table th {
		vertical-align: top;
		padding: 4px;
		white-space: normal !important;
	}

#map-canvas {
	width: 100%;
	height: 320px;
	margin: 0;
	padding: 0;
}

#directionsPanel {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.mbl-form-table {
	width: 100%;
	max-width: 100%;
}

	.mbl-form-table td {
		white-space: normal !important;
		vertical-align: top;
	}

.mbl-archive-table {
	width: 100%;
	max-width: 100%;
}

	.mbl-archive-table td {
		white-space: normal !important;
		vertical-align: top;
	}

.mbl-login {
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
	padding: 8px 0;
	box-sizing: border-box;
}

.mbl-login-form {
	width: 100%;
	margin: 0;
	padding: 0;
}

.mbl-login-field {
	width: 100%;
	margin-bottom: 10px;
}

	.mbl-login-field label {
		display: block;
		margin-bottom: 4px;
	}

	.mbl-login-field input[type="text"],
	.mbl-login-field input[type="password"] {
		height: 40px;
		min-height: 40px;
		padding: 8px;
	}

.mbl-login-password-row {
	display: flex;
	align-items: stretch;
	gap: 6px;
	width: 100%;
}

	.mbl-login-password-row input[type="password"],
	.mbl-login-password-row input[type="text"] {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		height: 40px;
	}

.mbl-login-password-toggle {
	flex: 0 0 auto;
	width: auto;
	height: 40px;
	min-height: 40px;
	padding-top: 0;
	padding-bottom: 0;
}

.mbl-login-options {
	margin: 8px 0;
}

.mbl-login-remember {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

	.mbl-login-remember input[type="checkbox"] {
		width: auto;
		margin: 0;
	}

.mbl-login-actions {
	margin: 10px 0;
}

	.mbl-login-actions button {
		width: 100%;
	}

.mbl-login-return {
	margin: 10px 0;
}

	.mbl-login-return button {
		width: 100%;
	}

.mbl-login-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}

.mbl-login-status {
	width: 100%;
}

.mbl-login-member {
	margin-bottom: 10px;
}

.mbl-login-logout-form {
	margin: 0;
}

	.mbl-login-logout-form button {
		width: 100%;
	}

@media screen and (max-width: 700px) {
	.mbl-page {
		padding: 6px;
	}

		.mbl-page h1,
		.mbl-page h2,
		.mbl-page h3,
		.mbl-page h4 {
			max-width: 100%;
			overflow-wrap: break-word;
			word-wrap: break-word;
		}

		.mbl-page table:not(.mbl-calendar-table) {
			width: 100%;
		}

		.mbl-page td,
		.mbl-page th {
			white-space: normal !important;
		}

		.mbl-page input[type="text"],
		.mbl-page input[type="password"],
		.mbl-page input[type="email"],
		.mbl-page input[type="tel"],
		.mbl-page select,
		.mbl-page textarea {
			width: 100%;
			max-width: 100%;
		}

	#map-canvas {
		height: 300px;
	}
}
