
/* Colours used:
 * Blues (light to dark):	#8abbee	#739cc7	#5d7ea1
 * Tans (light to dark):	#edde8a	#c7ac73	#a18b5d
 * Black/White:			#121212		#ededed
 */


/* ----------------------------------- 
   clearfix: Use on a block element to expand
   it to contain any floated elements. */

.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

.clearfix {display: inline-table;}

/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

/* ------------------------------------- */

/*
 * First, reset margin/padding on everything
 * to give us a blank slate to work with.
 */
* {
	margin:		0;
	padding:	0;
}

/*
 * Global properties.
 */
body, html {
	background:	#8abbee;
	color:		#121212;
	font-family:	"Verdana", "Arial", sans-serif;
	font-size:	small;
	line-height:	1.4;
}

/*
 * Global link styling.
 */
:link:focus, :visited:focus {
	color:		#c7ac73;
}

:link {
	color:		#484848;
	text-decoration: underline;
}

:visited {
	color:		#242424;
}

:link:hover, :visited:hover, :link:active, :visited:active {
	color:		#c7ac73;
}

a img {
	border:		none;
}

/*
 * Generic headings.
 */
h2 {
	clear:		both;
	font-size:	1.75em;
	margin-bottom:	0.5em;
}

h3 {
	clear:		both;
	font-size:	1em;
	margin-bottom:	0.25em;
}

h4 {
	clear:		both;
	color:		#800000;
	font-size:	1.25em;
	margin-bottom:	0.25em;
	margin-top:	1em;
}

h5 {
	clear:		both;
	color:		#800000;
	font-size:	1em;
	margin-bottom:	0.25em;
	margin-top:	0.5em;
}

/*
 * Generic body elements.
 */
p {
/*	clear:		both;*/
	text-align:	justify;
}

p, ul {
	display:	block;
	margin-bottom:	0.5em;
}

li {
	list-style:	disc;
	margin-left:	2em;
}

li p {
	clear:		none;
	margin-bottom:	0;
}

ul.unbulleted li {
	list-style:	none;
	margin-left:	0;
}

/*
 * Wrapper: The ultimate containing div.
 */
#wrapper {
	background:	white;
	margin:		2.5em 5em;
	min-width:	50em;
}

/*
 * Main navigation menu.
 */
ul#nav-menu {
	background:	#edde8a;
	border-bottom:	solid 1px white;
	border-top:	solid 1px white;
	display:	block;
	margin:		0;
}

ul#nav-menu li {
	float:		left;
	list-style:	none;
	margin:		0;
	text-align:	center;
}

ul#nav-menu li a:link, ul#nav-menu li a:visited {
	background:	#edde8a;
	border-right:	solid 1px white;
	color:		black;
	display:	block;
	height:		2em;
	line-height:	2em;
	padding:	0 1em;
	text-align:	center;
	text-decoration: none;
}

ul#nav-menu li.first a:link, ul#nav-menu li.first a:visited {
	padding:	0;
	width:		13em;
}

ul#nav-menu li a:hover, ul#nav-menu li a:active {
	background:	#c7ac73;
}

/*
 * Content block, with wrapper div to make it easier
 * to deal with some bugs in IE.
 */
#content-wrapper {
	float:		right;
	margin-left:	-13em;
	width:		100%;
}

#content {
	margin-left:	11em;
	padding:	3em;
}

/*
 * Page header.
 */
#header {
	height:		128px;
	position:	relative;
}

#header h1 {
	background:	white url(/images/borders/HeaderRight.gif) no-repeat scroll top right;
	display:	block;
	height:		128px;
	text-indent:	-1000px;
}

#header h1 a {
	background:	transparent url(/images/borders/Header.gif) no-repeat scroll top left;
	display:	block;
	height:		100%;
	padding-right:	20px;
	text-decoration: none;
}

#tagline {
	background:	white url(/images/Tagline.gif) no-repeat scroll center center;
	display:	block;
	height:		96px;
	/*float:		right;*/
	position:	absolute;
	right:		0;
	text-indent:	-10000px;
	top:		0;
	width:		360px;
	visibility:	hidden;
}

#tagline span {
	visibility:	hidden;
}

/*
 * Side link bar.
 */
#links {
	background:	white url(/images/borders/VertTanBlend.gif) repeat-x scroll top left;
	float:		left;
	padding:	1em 1em 1em 1em;
	width:		11em;
}

.credit-cards li {
	display:	inline;
	margin:		0;
}

.credit-cards {
	text-align:	center;
}

/*
 * Footer
 */
#footer {
	background:	white url(/images/borders/VertBlueBlend.gif) repeat-x scroll bottom left;
	clear:		both;
	color:		#666;
	font-size:	small;
	padding:	0 1em 32px 13em;
	position:	relative;
	text-align:	center;
}

/* This should be removed from the template... */
#footer-end {
	display:	none;
}

#footer a:link, #footer a:visited {
	color:		#666;
}

#footer a:hover, #footer a:active {
	color:		#888;
}

/*
 * Captioned image styling.
 */
.captioned_image {
	display:	block;
	margin:		8px auto 8px auto;
	padding:	0;
}

.captioned_image span {
	color:		#800000;
	display:	block;
	font-weight:	bold;
	text-align:	center;
}

.captioned_image img {
	display:	block;
	margin:		0;
	padding:	0;
	
}

.right_float {
	float:		right;
	margin:		8px 8px 8px 8px;
}

.left_float {
	float:		left;
	margin:		8px 8px 8px 8px;
}

/*
 * Definition lists (really only used for itinerary listing).
 */
dt {
	clear:		both;
	font-size:	1em;
	font-weight:	bold;
	margin-bottom:	0.5em;
	margin-top:	0.5em;
}

dd {

}

/*
 * Cross-browser horizontal rule styling.
 */
div.hr {
	background:	#edde8a;
	clear:		both;
	height:		2px;
	margin:		1em auto 1em auto;
	width:		100%;
}

div.hr hr {
	display:	none;
}

/*
 * Text-replacement: "Book now" link.
 */
a.BookNowButton {
	background:	transparent url(../images/borders/BookNowButton.gif) no-repeat scroll top left;
	display:	block;
	font-size:	larger;
	font-weight:	bold;
	height:		32px;
	margin:		1em auto 0em auto;
	overflow:	hidden;
	text-align:	center;
	text-decoration: none;
	text-indent:	-1000px;
	width:		128px;
}

#links a.BookNowButton {
	background:	transparent url(../images/borders/BookNowButtonAni.gif) no-repeat scroll top left;
}

/*
 * Form styling.
 */
form {
	width:		100%;
}

fieldset {
	border:		none;
}

label {
	display:	block;
}

table.form-fields {
	border:		none;
	border-collapse: collapse;
	margin:		0em auto 0.75em auto;
	width:		75%;
}

table.form-fields th {
	background:	#edde8a;
	border:		solid 1px white;
	font-weight:	normal;
	text-align:	right;
	vertical-align:	baseline;
	width:		50%;
}

table.form-fields td {
	border:		solid 1px white;
	font-weight:	normal;
	padding-left:	1em;
	text-align:	left;
	vertical-align:	baseline;
}

/* Bit of a hack, but we can't add padding to the td because we explicitly specified a width. */
table.form-fields th *
{
	margin-right:	1em;
}

table.supplement-list, table.passenger-list {
	border:		none;
	border-collapse: collapse;
	margin:		auto;
	width:		75%;
}

table.supplement-list th, table.passenger-list th {
	background:	#edde8a;
	border:		solid 1px white;
}

table.supplement-list td, table.passenger-list td {
	background:	#ffffce;
	border:		solid 1px white;
}

span.formerror {
	color:		#ed4422;
	display:	block;
}

input.submit {
	display:	block;
	margin:		1em auto;
	padding:	0.25em;
	text-align:	center;
}

input.numeric, select.numeric {
	width:		5em;
}

input.text, select.text {
	width:		20em;
}

input.short-text, select.short-text {
	width:		10em;
}

select.cc-date {
	width:		7em;
}

.protx-error {
	border:		dotted 3px #f00;
	background:	#fee;
	margin:		0.5em;
	padding:	0.5em;
}

.protx-mode {
	border:		dotted 3px #0f0;
	background:	#efe;
	margin:		0.5em;
	padding:	0.5em;
}

/*
 * Completed booking summary.
 */
table.booking-summary {
	border:		none;
	border-collapse: collapse;
	margin:		0em auto 0.75em auto;
	width:		75%;
}

table.booking-summary th {
	background:	#edde8a;
	border:		solid 1px white;
	font-weight:	normal;
	padding:	0 1em;
	text-align:	right;
	vertical-align:	baseline;
}

table.booking-summary td {
	border:		solid 1px white;
	font-weight:	normal;
	padding:	0 1em;
	text-align:	left;
	vertical-align:	baseline;
}

/* Bit of a hack, but we can't add padding to the td because we explicitly specified a width. */
table.booking-summary th *
{
/*	margin:		0 1em 0 0;*/
}

table.booking-summary .currency, table.booking-summary .price {
	text-align:	right;
}

table.booking-summary .at {
	text-align:	center;
}

table.booking-summary tr.total-price td {
	font-weight:	bold;
}

/*
 * Error page styling.
 */
#exception-info dt {
	font-size:	1em;
	font-weight:	bold;
	margin-bottom:	0.25em;
	margin-top:	0.5em;
	padding-left:	2.5em;
}

#exception-info dd {
	padding-left:	5em;
}

#exception-info.hidden {
	display:	none;
}

#exception-info.visible {
	display:	block;
}

#exception-info .stack-trace {
	background:	#edde8a;
	border:		solid 1px #121212;
	margin-left:	5em;
	max-height:	20em;
	overflow:	auto;
	padding-left:	0;
}

/*
 * Tour view styling.
 */
.captioned-image {
/*	display:	block;
	margin:		0 auto 1em auto;*/
}

.captioned-image span {
	background:	#edde8a;
	display:	block;
	font-weight:	bold;
	padding:	0.1em;
	text-align:	center;
}

.left-float {
	clear:		left;
	float:		left;
	margin-left:	0em;
	margin-right:	1.5em;
}

.right-float {
	clear:		right;
	float:		right;
	margin-left:	1.5em;
	margin-right:	0em;
}

.image-group {
	display:	block;
	text-align:	center;
}

/*
 * Styling for validation icons.
 */
.w3c-icon {
	margin:		0.5em 0.5em;
}

.review {
	font-size: 85%;
	font-style: italic;
	line-height: 1.25;
	margin-right: 15em;
}

.promote {
	color: red;
	font-size: 1.25em;
}
