/*
Copyright 24-Sep-2018 - Little Fire Digital Ltd
-----------------------------------------------------------------------
Reuse and modification by permission only
*/
/* 
	Created on : 24-Sep-2018, 17:18:20
	Author     : simon
	Compyright     : Little Fire Digital Ltd  24-Sep-2018
*/

iframe {
	border: 0;
	width: 100%;
	min-height: 800px;
}


.search_container {
	display: none;
}


@media only screen and (min-width: 640px) {
	#main {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		overflow: unset; /* Needed for Sticky behaviour on #booking_console_wrapper */
	}

	h1 {
		flex: 1 1 100%;
	}

	#pagebar {
		flex: 0 1 calc(66.66%);
		max-width: calc(66.66%);
		margin: 0;

		& > * {
			max-width: 100%;
		}

		textarea {
			min-width: 100%;
			max-width: 100%;
		}
	}

	#rightbar {
		flex: 0 1 calc(33.33% - 20px);
		margin-left: 20px;
		padding-top: 0;

		#booking_console_wrapper {
			position: sticky;
			top: 68px;
			width: 100%;
			min-width: 296px;
			overflow-x: hidden;
			transition: top .2s ease;
		}
	}
}


#primary_traveller .input_row_tel {
	overflow: visible;
}

#primary_traveller .input_row_tel .field_description {
	white-space: nowrap;
}

#booking_console *:first-child {
	margin-top: 0;
}

#booking_credentials a {
	line-height: 1;
}

#booking_console {
	margin-bottom: 20px;
}

#booking_console img {
	max-width: 100%;
}

#booking_console > div {
	min-height: 20px;
}
#booking_console .image_div h2 {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	color: #fff;
	font-family: museo-slab;
	font-weight: normal;
	font-size: 22px;
	text-shadow: 2px 2px 4px rgba( 0,0,0,.5);
	line-height: 1.3;
}

#booking_console .image_div {
	background: #000;
	width: 100%;
	padding: 0 0 71% 0;
	background-size: cover;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

#booking_console > div + div {
	margin-top: 2px;
}

#booking_console .booking_details > * {
	float: left;	
	margin: 5px 0 0;
}

#booking_console .booking_details > *.grand_total {
	font-weight: bold;
	font-size: 1.1em;
}

#booking_console .booking_details > dt {
	clear: left;
	width: 70%;
}

#booking_console .booking_details > dd {
	width: 30%;
	text-align: right;
}

#booking_console .booking_details a,
#booking_console .booking_details a:visited {
	text-decoration: none;
}

#booking_console .booking_details .footnote {
	display: block;
}

dd.jg_offer:before {
	content: '- ';
}

.info_icon {
	
}

#booking_console .booking_details a.alert {
	display: inline-block;
	padding-right: 12px;
	background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTM2RTYzNzlDNTc5MTFFOEFEMkJGRDkyRURDNzNENUQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTM2RTYzN0FDNTc5MTFFOEFEMkJGRDkyRURDNzNENUQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MzZFNjM3N0M1NzkxMUU4QUQyQkZEOTJFREM3M0Q1RCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5MzZFNjM3OEM1NzkxMUU4QUQyQkZEOTJFREM3M0Q1RCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsY1W0QAAAEVSURBVHjaLE/NasJgEJx8NZWkh56U3gTBk6gHcxHfQfABvAj6CIK3oIg330DfQHyKgkUUWi2CFhIhJiktCoZCfpqkm6QDuzAzu8sOwhiOqirt9gp4Ad6r1etikeig+tlstsXiWhDOsmyMRvt6fSWKuixHtnM6bQuFJfCazSYbWq+3jM98z2bMGAzs4/EO8C3LPhwAOIrCAA74nEzYdT7nYhLYtmeaZHuaRp0maJoFloUYQRj6t1tk6zoXK6HnMVGSQvzDHI9P3a6raWSTyGcy7KnfZzxPhKVSD5IklMv3uRxRH3hsNKJg+nBIr67T6d/LhajSaj0Du1LJNQwkYb6m012lsq/VPprNt3xe7XRcXSf9T4ABAG3AmiZx3jGYAAAAAElFTkSuQmCC') top right no-repeat;
}
#booking_help {
	text-align: center;
}

#main #booking_help UL.ul_stripped LI {
	display: inline-block;
	margin: 5px;
}

.book_now {
	background-color: #ddd;
	padding: 20px;
	color: #fff;
	text-align: center;
}

.book_now > * {
	display: block;
}

.book_now strong {
	font-size: 1.5em;
}

#booking_credentials {
	text-align: center;
	overflow: hidden;
}

#booking_credentials > a { 
	display: inline-block;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: .5;
	transition: filter 1s ease, opacity 1s ease;
}

#booking_credentials > a:hover {
	opacity: 1;
	-webkit-filter: grayscale( 0% );
	filter: grayscale( 0% );

}

#booking_credentials img { 
	max-height: 60px;
	margin: 0 10px;
}

#booking_console .image_div a,
#booking_console .image_div a:visited {
	color: #fff;
	text-decoration: none;
}

#console_controls {
	display: none;
}


@media screen and (max-width: 640px) {

	#console_controls {
		display: block;
		width: 100%;
		height: 32px;
	}

	#console_controls .i_icon {
		font-size: 1em;	
		line-height: 32px;
		padding-top: 5px;
		display: block;
		width: 100%;
	}

	#console_controls .i_icon span {
		float: none;
		display: inline-block;
		transform: translate( 0, 5px );
	}

	#console_controls > li {
		width: 50%;
		text-align: center;
		height: 1em;
		float: left;
	}

	#console_details_hide,
	.overlaid #console_details_show {
		display: none;
	}

	.overlaid #console_details_hide {
		display: block;
	}

	#booking_console.shadow {
		box-shadow: 0 4px 10px rgba( 0,0,0,.5);
		border-radius: 0 0 5px 5px;
		overflow: hidden;
	}

	#main h1 {
		display: none;
	}

	div#pagebar {
		float: none;
	}

	#primary_traveller .input_row_tel .field_description {
		white-space: normal;
		width: 300%;
	}

	#pagebar {
		padding-top: 20px;
	}

	#trip_date_departures {
		padding-top: 90px;
	}

	#rightbar {
		position: fixed;
		float: none;
		left: 0;
		top: 0;
		z-index: 200;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		min-height: 0;
		transition: background .5s ease;
		background: rgba( 0,0,0,0 );
		min-width: 320px;
	}
	
	#rightbar.overlaid {
		right: 0;
		bottom: 0;		
		background: rgba( 0,0,0, .2 );
		position: fixed;	
	}

	.book_now {
		padding: 1em;
	}

	.book_now > *,
	.book_now > strong {
		display: inline;
		font-size: 1.1em;
	}	

	.book_now > * + *:before {
		content: '- ';
	}

	#booking_console_wrapper {
		max-width: 100%;
		box-sizing: border-box;
		padding: 36px 10px 20px;
	}

	.booking_details_wrapper {
		height: 0;
		overflow: hidden;
		opacity: 0;
	}

	iframe {
		margin-top: 70px;
	}


}

@media screen and (max-width: 440px) {

	._panel.p20,
	._panel.p40,
	._panel.p33,
	._panel.p50,
	._panel.p66,
	._panel.p60 {
		max-width: 100%;
		min-width: 100%;
	}


	#primary_traveller .input_row_tel .field_description {
		white-space: normal;
		width: 100%;
	}

}