.booking_event, .booking_events {
	max-width: 50rem;
}

.booking_event > .event > h1 {
	margin-bottom: 1rem;
	text-align: center;
}

.booking_event > .event .web-content {
	padding-top: .8rem;
	border-top: .2rem solid #999;
}

.booking_header {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	margin-bottom: 2rem;
}

.booking_event fieldset {
	border: none;
	border-top: .2rem solid #999;
}

.booking_event fieldset legend {
	text-align: center;
	font-size: 1.5em;
}

.booking_event fieldset article {
	max-width: 30rem;
	margin: 1rem auto;
}

.booking_event fieldset.info {
	text-align: center;
	border-radius: 0;
}

.booking_event fieldset.info .help {
	font-size: .9em;
}

.booking_event p.submit {
	max-width: 30rem;
	margin: 1rem auto;
	text-align: center;
}

.booking_event fieldset article h3 {
	margin-bottom: .5rem;
}

.booking_event .slots {
	text-align: center;
}

.booking_event .slots article {
	border: 1px solid #ccc;
	margin: 1em;
	border-radius: .5rem;
	overflow: hidden;
}

.booking_event .slots article h4 {
	font-weight: normal;
	font-style: italic;
	padding: .5rem;
	font-size: 1.3em;
	color: #666;
}

.booking_event .slots article h3 {
	background: var(--gLightBackgroundColor);
	padding: .5rem;
}

.booking_event .slots ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}

.booking_event .slots li a {
	display: block;
	background: #dfd;
	box-shadow: 0px 0px 5px #ccc;
	padding: .5rem;
	text-decoration: none;
	margin: .5rem 1rem;
	color: unset;
	border-radius: .5rem;
	text-align: center;
	transition: background-color .2s, box-shadow .2s;
}

.booking_event .slots li a:hover {
	box-shadow: 0px 0px 5px orange;
	background: #FFD580;
}

.booking_event .slots li a strong {
	display: block;
	font-size: 1.5em;
	text-decoration: underline;
}

.booking_event .slots li a em {
	color: #666;
	font-style: normal;
}

.booking_event .slots li .available_1 {
	background: #fcc;
}

.booking_event .slots li .available_2 {
	background: #ffc;
}

.booking_event .slots li .available_0, .booking_event .slots li a.available_0:hover {
	background: #ddd;
	cursor: not-allowed;
	color: #999;
	box-shadow: 0px 0px 5px #ccc;
}

.booking_event .slots li .available_0 strong {
	text-decoration: line-through;
}

.mycaptcha {
	text-align: center;
	padding: .5em;
	background: #ddd;
	border-radius: .5em;
}

.mycaptcha h4 {
	border-bottom: .1rem solid #666;
	margin-bottom: .5rem;
	font-size: 1.2em;
}

.mycaptcha label {
	display: block;
}

.booking_events article a {
	margin: 1rem;
	display: block;
	background: var(--gLightBackgroundColor);
	padding: .3em .5em;
	border-radius: .5em;
}

.my_bookings {
	max-width: 40rem;
	margin: 1rem 5rem;
}

.my_bookings article {
	margin: 1rem;
	text-align: center;
	padding: .5em;
	border: .2rem solid #ddd;
	border-radius: .5em;
}

.my_bookings article form {
	margin: 1rem 0;
}

.my_bookings article h5 {
	font-weight: normal;
	color: #666;
	margin: .5rem;
}

.my_bookings article h3 span {
	border-radius: .5rem;
	padding: .2rem .3rem;
	color: darkred;
	background: #fdd;
}

.booking_list article {
	margin: 1rem;
}
