form, fieldset {
	padding: 2%;
	background: rgba(32,65,30,0.1);
	margin-bottom: 1em;
}
fieldset {
	border: solid 1px rgb(32,65,30);
	width: 23em;
	max-width: 100%;
}
legend {
	font-size: 112.5%;
}
label {
	display: block;
	font-size: 112.5%;
}
.checkbox {
	margin-bottom: 0.5em;
}
.checkbox label, .radio label {
	display: inline;
}
input, textarea {
	margin: 0.25em 0 1.25em 0;
	font-family: monospace;
	font-size: 112.5%;
	width: 25em;
	max-width: 100%;
}
input[type="tel"] {
	width: 8em;
}
input[type="date"], input.postcode {
	width: 11em;
}
input[type="time"] {
	width: 6em;
}
textarea {
	height: 5em;
}
.checkbox input, .radio input {
	vertical-align: -webkit-baseline-middle;
	width: auto;
}
.radio label {
	margin: 0 2em 0 0.25em;
}
.required {
	font-size: 75%;
}
.button input {
	font-family:'Cambria W01 Regular', cambria, georgia, serif;
	font-weight: normal;
	font-size: 131.25%;
	background: rgba(101,209,0,0.95);
	border: solid 1px rgb(32,65,30);
	border-radius: 5px;
	width: auto;
	padding: 0.25em 0.5em;
	color: #fff;
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.8), 0 3px 9px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.8), 0 3px 9px rgba(0,0,0,0.2);
	box-shadow: 0 1px 3px rgba(0,0,0,0.8), 0 3px 9px rgba(0,0,0,0.2);
}
.button input:hover {
	background: rgba(101,209,0,0.7);
	cursor: pointer;
}

@media screen and (min-width: 420px) {
	form, fieldset {
		border: solid 1px rgb(32,65,30);
	}
}

@media screen and (min-width: 600px) {
	form, fieldset {
		padding: 1%;
	}
	.hall-booking-form #form {
		width: 49.5%;
		float: left;
	}
	.hall-booking-form #events {
		width: 49.5%;
		float: right;
	}
	#repeat-bookings {
		width: 100%;
		display: none;
	}
	#repeat-bookings.show {
		display: block;
	}
	#repeat-bookings div {
		clear: left;
	}
	#repeat-bookings div div {
		clear: none;
		float: left;
		margin-right: 2em;
	}
}