#map-canvas{
	width:100%;
	height:100%;
	position:absolute !important;
	left:0;
	top:0;*
}
.google_map_container{
	width:100%;
	height:0;
	padding-bottom:60%;
	position:relative;
}
.google_map_container img{
	max-width:none !important;
	max-height:none !important;
}

#bus_available{
	width:100%;
	height:150px;
}

.step_2_container{
	margin:1em 0;
}

.bus_availability{
	border:5px solid #000;
	width:100%;
	height:100%;
	position:relative;
	padding-left:150px;
	
	font-size:1.5em;
	font-weight:bold;
	padding-top:1em;
}
.bus_availability:before{
	content:"\f207";
	font-family:'FontAwesome';
	position:absolute;
	top:0;
	left:0;
	font-size:100px;
	width:150px;
	text-align:center;
	line-height:150px;
}
.bus_yes{
	border-color:#27ae60;
	color:#27ae60;
}
.bus_no{
	border-color:#c0392b;
	color:#c0392b;
}

#courtesy_booking{
	margin-top:1em;
}

#courtesy_booking>p{
	margin-bottom:0;
}

.input_error{
	color:#c0392b;
	margin-left:200px;
	display:block;
	height:1.5em;
}

#courtesy_lookup input[type="submit"], #courtesy_booking input[type="submit"], 
#courtesy_lookup input[type="submit"]:hover, #courtesy_booking input[type="submit"]:hover,
#courtesy_lookup input[type="submit"]:active, #courtesy_booking input[type="submit"]:active,
#courtesy_lookup button, #courtesy_booking button, 
#courtesy_lookup button:hover, #courtesy_booking button:hover,
#courtesy_lookup button:active, #courtesy_booking button:active, #receipt_send, #receipt_send:hover, #receipt_send:active{
	padding:7px 45px 7px;
	max-width:100%;
}

#or_box{
	width:100%;
	height:4em;
}

#or_box .or_option{
	width:40%;
	width: -webkit-calc( 50% - 20px );
	width: -moz-calc( 50% - 20px );
	width: calc( 50% - 20px );
	
	padding:7px 5px 7px !important;
}

#or_box .button_or{
	display:inline-block;
	width:40px;
	text-align:center;
	text-transform:uppercase;
}

#courtesy_lookup label, #courtesy_booking label, #email_receipt_area label{
	display:inline-block;
	min-width:200px;
}

#courtesy_booking input[type="text"], #courtesy_booking input[type="number"], #courtesy_booking select,
#courtesy_lookup input[type="text"], #courtesy_lookup input[type="number"], #courtesy_lookup select,
#email_receipt_area input[type="text"]{
	width:-webkit-calc( 100% - 200px );
	width:-moz-calc( 100% - 200px );
	width:calc( 100% - 200px );
}

#courtesy_booking .info, #email_receipt_area .info{
	display:block;
	margin-top:0.5em;
	font-weight:500;
}

#loader{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:9;
	background-color:rgba(0,0,0,0.4);
	text-align:center;
}
#loader #loader_spinny{
	width:100px;
	height:100px;
	position:relative;
	left:0;
	top:200px;
	color:white;
	font-size:5em;
	line-height: 1.3em;
	vertical-align: top;
	display: inline-block;
}

#loader #loader_text{
	color:white;
	font-weight:bold;
	font-size:1.2em;
	background-color:rgba(0,0,0,0.6);
}

#mem_lookup{
	margin-top:-0.5em;
	margin-bottom:1em;
}

#map-canvas img {
    max-width: none !important;
}
.gmnoprint a, .gmnoprint span {
    display:none;
}
a[title="Report errors in the road map or imagery to Google"]{
	display:none !important;
}

.bookmark_link{
	float:right;
	display:inline-block;
	position:relative;
}

.bookmark_link:before{
	content: "\f02e";
	font-family:'FontAwesome';
	font-size:16px;
	padding-right:0.5em;
}

@media screen and (max-width:900px){
	.bus_availability {
		font-size:1.2em;
	}
}
@media screen and (max-width:800px){
	#courtesy_booking input[type="text"], #courtesy_booking input[type="number"], #courtesy_booking select, #courtesy_booking button,
	#courtesy_lookup input[type="text"], #courtesy_lookup input[type="number"], #courtesy_lookup select,
	#email_receipt_area input[type="text"]{
		width:100%;
	}
	#or_box{
		height:auto;
	}
	#or_box input, #or_box span, #or_box button, #courtesy_booking input{
		display:block;
		width:100% !important;
	}
	.input_error{
		margin-left:0;
	}
}
@media screen and (max-width:750px){
	.bus_availability {
		font-size:1em;
	}
}
@media screen and (max-width:643px){ /*sidebar moved to footer*/
	.bus_availability {
		font-size:1.2em;
	}
}
@media screen and (max-width:500px){
	.bus_availability {
		font-size:1em;
	}
}
@media screen and (max-width:400px){
	#bus_available{
		height:300px;
	}
	.bus_availability {
		padding-left:10px;
		padding-right:10px;
		padding-top:150px;
		text-align:center;
	}
	.bus_availability:before, .bus_availability:after{
		width:100%
	}
}

