/* -------------------------------------------------------------- 
  	GENERAL CROSS-BROWSER RESET 
-------------------------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body { 
  line-height: 1.5;
}

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* Remove annoying border on linked images. */
a img { border: none; }

/* PC FF3 adds an outline to Flash objects? */
a, object {
	outline: none;
}

/* -------------------------------------------------------------- 
  	TYPOGRAPHIC DEFAULTS 
-------------------------------------------------------------- */
    
body {
	margin: 0;
	height: 100%;
	color: #000000;
	font: 62.5% arial, helvetica, sans-serif;
	text-align: center;
	background: url(../images/design/body-bg.gif) 0 0 #004f8a;
}

/* Headings
-------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
	font-family: "Trebuchet MS", arial, san-serif;
	line-height: 1;
	margin-bottom: 0.5em;
}  

h1 { 
	color: #FE7666; 
	font-family: "Comic Sans MS", "Trebuchet MS", arial, san-serif;
	font-size: 2.2em; 
	margin-bottom: 0.5em;
}
	.home-page h1 { 
		border-bottom: 1px dashed #C8E7F7; 
		font-family: "Trebuchet MS", arial, san-serif; 
		font-style: italic; 
		padding-bottom: 0.5em;  
	}
	
	h1 span { 
		display: block;
		font-size: 0.857em; 
		font-style: normal; 
		font-weight: bold; 
	}
	
h2 { 
	color: #009ADA;
	font-size: 2.083em;
}

h3, h6 { 
	color: #009ADA;
	font-family: arial, san-serif;
	font-size: 1.417em; 
	text-transform: uppercase;
}

h4, h5 { 
	color: #009ADA;
	font-family: arial, san-serif;
	font-size: 1.417em; 
	font-weight: bold;
}

h5 { font-size: 1.25em; }
h6 { font-size: 1.083em; }

h1 a, h1 a:link, h1 a:visited { color: #FE7666; }
h2 a, h2 a:link, h2 a:visited,
h3 a, h3 a:link, h3 a:visited,
h4 a, h4 a:link, h4 a:visited,
h5 a, h5 a:link, h5 a:visited,
h6 a, h6 a:link, h6 a:visited { color: #009ADA; }

h1 a:hover { color: #EB432F; }
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover { color: #FE7666; }

/* Text Elements
-------------------------------------------------------------- */

p { 
	color: #005588; 
	font-size: 1.417em;
	margin: 0 0 1em; 
	line-height: 1.25;
}

.summary p { 
	color: #57B7E6;
	font-size: 1.417em; 
	font-style: italic; 
}

a { text-decoration: underline; }
a,a:link { color: #00A800; }
a:visited { color: #7BDD31; }
a:hover,a:active,a:focus { color: #EB432F; }
a.plauditCredit { text-decoration: none; }
	
blockquote  { 
	color: #00456E; 
	margin: 0; 
	font-style: italic; 
}

strong { font-weight: bold; }
em  { font-style: italic; }
address { font-style: normal; }
cite { font-style: italic; }
small { font-size: 0.833em; }

/* Following six styles generally do not need to be edited */

sup, sub    { line-height: 0; }
dfn { font-style: italic; }
del { color:#666; }
pre { white-space: pre; }
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }

/* HRs with background images
-------------------------------------------------------------- */
div.hr {
  	height: 3px;
  	margin: 10px 0;
  	background: #fff url() 0 0 repeat-x;
}
	div.hr hr {
	  	display: none;
	}

/* Lists
-------------------------------------------------------------- */

li ul, 
li ol       { margin: 1em 1.5em 0 1.5em; }
ul, ol      { margin: 0 1.5em 1.5em 1.5em; }

ul          { list-style-type: disc; }
ol          { list-style-type: decimal; }
li 			{ 
				color: #005588; 
				font-size: 1.417em; 
				margin-bottom: 1em;
			}
li li 		{ font-size: 1em; margin-bottom: 0.5em; }
dl          { margin: 0 0 1.5em 0; }
dl dt       { font-weight: bold; }
dd          { margin-left: 1.5em;}

/* Tables
-------------------------------------------------------------- */

table { 
	border: 1px solid #D9D9D9;
	border-bottom: 0;
	margin-bottom: 1.4em; 
	table-layout: fixed; 
	width: 100%; 
}

th { 
	background: #e5e5e5 url(../images/design/table-th-bg.gif) 0 0 repeat-x;
	font-weight: bold; 
}

th,td,caption { padding: 4px 10px 4px 5px; }
tr td  { border-bottom: 1px solid #D9D9D9; border-right: 1px solid #D9D9D9; }
tfoot       { font-style: italic;  }
caption     { text-align: center; }

/* -------------------------------------------------------------- 
	PAGE STRUCTURE
	Elements that make up the skeleton of the layout and holds things together
----------------------------------------------------------- */

#page {
	background: url(../images/design/page-bg.gif) 0 0 repeat-x;
	position: relative;
	min-height: 100%;
	text-align: left;
	padding: 0;
	font-size: 1.2em; /* this, along with body font size of 62.5% renders type approximately 12px in size across all browsers */
}

#wrapper {
	margin: 0 auto;	
	min-height: 100%;
	width: 860px;
}

#header {
	min-height: 112px; /* Alt style in IE6.css */
	position: relative;
}

#animation {
	background: url(../images/design/rounded-both.gif) 0 100% no-repeat;
	height: 349px;
	padding-bottom: 10px; /* Alt style in IE6.css */
}

#contentMain {
	background: url(../images/design/contentmain-bg.gif) 0 100% no-repeat;
	padding-bottom: 10px;
}

	#contentMainInner {
		background: #FFFFFF;
		padding: 2em 40px;
	}
	
#footer {
	background: url(../images/design/footer-bg.gif) 0 0;
	border-bottom: 10px solid #DEFCFF;
	position: relative;
}
	
	#footerInner {
		padding: 10px 370px 10px 40px;
		background: url(../images/design/destinations-bg.gif) 520px 0 repeat-y;
		min-height: 150px; /* Alt style in IE6.css */
	}
	
		#footerInner p {
			color: #57B7E6;
			font-family: verdana, san-serif;
			font-size: 0.833em;
		}
		
			#footerInner a,
			#footerInner a:link,
			#footerInner a:visited {
				color: #57B7E6;
			}
			
				#footerInner a:hover {
					color: #FE7666;
				}
				
	.inner-general .footerTop {
		position: absolute;
		top: 0;
		left: 0;
		width: 860px;
		height: 10px;
		display: block;
		background: url(../images/design/inner-general-content-bottom.gif) 0 0 no-repeat;
	}
	
	.inner-one-column .footerTop {
		position: absolute;
		top: 0;
		left: 0;
		width: 860px;
		height: 10px;
		display: block;
		background: url(../images/design/inner-one-column-content-bottom.gif) 0 0 no-repeat;
	}
	
	
/* -------------------------------------------------------------- 
	PAGE STRUCTURE ELEMENTS
	Elements  such as logos, search bars, and any other design element repeated throughout the site, but doesn't effect the structural layout
----------------------------------------------------------- */
    
#logo {
	border-bottom: 0;
	width: 229px;
	height: 166px;
	display: block;
	background: url(../images/design/logo.png) 0 0 no-repeat;
	top: 10px;
	position: absolute;
	zoom: 1;
	left: 20px;
	margin: 0;
	padding: 0;
	z-index: 150;
}
	#logo a {
		width: 229px;
		height: 166px;
		display: block;
		text-indent: -9999px;
		z-index: 150;
	}


/* Search Form Styling */

.searchForm {
	position: absolute;
	top: 10px;
	right: 0;
}

	#searchPage {
		position: static;
	}
	
	.searchForm input.query {
		border: 1px solid #009ADA;
		float: left;
		padding: 4px 1px;
	}
	
	.searchForm input.search {
		background: url(../images/buttons/search.gif) 0 0 no-repeat;
		border: 0;
		cursor: pointer;
		display: block;
		float: left;
		font-size: 0;
		height: 26px;
		line-height: 0;
		margin-left: 6px;
		overflow: hidden;
		text-indent: -9999px;
		width: 76px;
	}
	
	.searchForm input.search:hover,
	.searchForm input.hover {
		background: url(../images/buttons/search.gif) 0 -27px no-repeat;
	}
	
/* Contact Phone */
#phoneNumber {
	position: absolute;
	font-family: arial, san-serif;
	right: 240px;	
	top: 10px;
}

	#phoneNumber a {
		color: #BFE6F6;
		float: left;
		font-size: 0.833em;
		margin-right: 5px;
		text-align: right;
	}
	
	#phoneNumber p {
		color: #ffffff;
		float: left;
		font-size: 1.917em;
		font-weight: bold;
		font-style: italic;
		line-height: 1;
		margin-bottom: 0;
	}

/* Search Results Styling */

#searchResults {
	clear: left;
	padding-top: 1.5em;
}

	.results-intro {
		margin-bottom: 1em;
	}
	
	.search-result {
		margin-bottom: 2em;
	}
	
		.search-result p {
			margin-bottom: 0.5em;
		}
		
	.highlight {
		font-weight: bold;
	}
	
	.scroller {
		width: auto;
		border: 0;
	}
		
		.scroller td {
			padding: 0;
			border: 0;
		}

.paginator {
		margin-bottom: 0;
		border: 0;
		width: auto;
	}
	
		.paginator td {
			text-align: center;
			width: auto;
			padding: 0 2px;
		}
			.paginator td a {
				background: #f3fafd;
				display: block;
				padding: 5px 10px;
				text-decoration: none;
			}
			
			.paginator td.selected a {
				font-weight: bold;
				color: #005588;
			}
			
/* -------------------------------------------------------------- 
	ENTRY PAGE ELEMENT STYLES
	Styles for elements specific to the entry page
----------------------------------------------------------- */
body.home-page #contentMainInner {
	background: #FFFFFF url(../images/design/destinations-bg.gif) 520px 0 repeat-y;
	padding-right: 370px;
	position: relative;
}

#upcomingDestination {
	background: url(../images/design/destinations-shadow.gif) 100% 35px no-repeat;
	padding-right: 40px;
	position: absolute;
	right: 0;
	top: -35px;
	min-height: 250px; /* Alt style in IE6.css */
	width: 300px;
	z-index: 100;	
}

	#upcomingDestinationImage {
		text-align: center;
		position: relative;
	}
		
		#upcomingDestinationImage span {
			background: url(../images/design/destinations-image-mask.png) 0 0 no-repeat;
			display: block;
			position: absolute; 
			width: 300px;
			height: 179px;
			top: -22px;
			left: 0;
			z-index: 50;
		}
		
		#upcomingDestinationImage a.viewInfo {
			bottom: 20px;
			color: #fFfFff;
			font-size: 1.167em;
			font-family: "Trebuchet MS", arial, san-serif;
			font-weight: bold;
			left: 40px;
			position: absolute;
			text-decoration: none;
			text-transform: uppercase; 
			z-index: 60;
		}
		
			#upcomingDestinationImage a.viewInfo:hover {
				text-decoration: underline;
			}
		
	#upcomingDestinationsInner {
		background: url(../images/design/destination-corners.gif) 0 0 no-repeat;
		padding: 1.5em 20px;
	}
	
		#upcomingDestinationsInner h3, #customTravel h3 {
			color: #009ADA;
			font-size: 1.75em; 
			text-transform: capitalize;
		}
		
		#upcomingDestinationsInner li , #customTravel li{
			color: #005588;
			font-size: 1.25em;
			margin-bottom: 0;
		}
		
			#upcomingDestinationsInner li a, #customTravel li a {
				color: #005588;
				font-weight: bold;
				text-decoration: none;
			}
			
				#upcomingDestinationsInner li a:hover, #customTravel li a:hover {
					text-decoration: underline;
				}
		
			#upcomingDestinationsInner li span {
				font-weight: normal;
			}
			
		#upcomingDestinationsInner a.destination {
			background: url(../images/design/upcoming-events-banner.jpg) 0 0 no-repeat;
			bottom: 0;
			display: block;
			height: 59px;
			left: -30px;
			position: relative;
			text-indent: -9999px;
			width: 237px;
		}
		
		.customOptions {background: url(../images/callouts/custom-travel.gif) 0 0 no-repeat; text-indent: -9999px; display: block; width: 210px; height: 43px; position: relative; left: 31px; float: right; }
		
		#customTravel {padding-left: 20px; }


.AuthorizeNetSeal { margin: 2em auto !important; }
	.AuthorizeNetSeal a { font-size: 1em !important; }
		

/* Inner Page One Column Template - Specific Styles
-------------------------------------------------------------- */
body.inner-one-column #contentMain {
	background: url(../images/design/inner-one-column-bg.gif) 0 0 repeat-y;
	padding-bottom: 0;	
}

	body.inner-one-column #contentMainInner {
		background: url(../images/design/inner-one-column-top-bg.gif) 0 0 no-repeat;
		padding: 73px 0 50px 0;	
		min-height: 500px;
	}
	
	body.inner-one-column #innerColumnMain {
		float: left;
		margin-left: 20px; /* Alt Style in ie6.css */
		padding-top: 1em;
		width: 642px;
	}
	
	body.inner-one-column #innerColumnMainTop {
		border-bottom: 1px solid #C8E7F7;
		margin-bottom: 1em;
		position: relative; /* Alt Style in ie6.css to trigger hasLayout */
		padding: 0.5em 395px 3em 0;
	}
	
	#mainImage {
		position: absolute;
		right: 15px;
		top: -50px;
	}
	
body.inner-one-column #footerInner {
	background: none;
}

body.inner-one-column #footer {
	border-bottom: 0;	
}

/* Image - text list style */

.pageList {
	border-bottom: 1px dashed #C8E7F7;
	margin-bottom: 1.5em;
	padding-bottom: 1.5em; /* Alt Style in ie.css */
	padding-left: 149px;
}

.pageList.last-child { border-bottom: 0; }

	.pageList .tripImageArea {
		border: 1px solid #57B7E6;
		float: left;
		margin-left: -149px;
		position: relative;
	}
	.pageList .tripImageArea .tripBookedImage {
		position: absolute;
		top: -3px;
		left: -3px;
		z-index: 100;
	}
	
	.pageList h3 { 
		margin-bottom: 0.75em;
		padding-right: 110px; 
	}
	
	.pageList a.tripInfo {
		background: url(../images/buttons/trip-info.gif) 0 0 no-repeat;
		display: block;
		float: right;
		height: 20px;
		margin-right: 25px;
		width: 78px;
		text-indent: -9999px;	
	}
	
	.pageList a.tripInfo:hover { background: url(../images/buttons/trip-info.gif) 0 -21px no-repeat; }
	.bookedTrip .tripImage { opacity:0.5;filter:alpha(opacity=50); }
	
/* Destinations Page */
#currentDestinations {
	border-top: 1px solid #C8E7F7;
	padding-top: 2em;	
}



/* Inner Page General Template - Specific Styles
-------------------------------------------------------------- */
body.inner-general #contentMain {
	background: url(../images/design/inner-general-bg.gif) 0 0 repeat-y;
	padding-bottom: 0;	
}

	body.inner-general #contentMainInner {
		background: url(../images/design/inner-general-top-bg.gif) 0 0 no-repeat;
		padding: 80px 0 50px 0;	
	}

body.inner-general #footerInner {
	background: url(../images/design/footer-inner-bg.gif) 605px 0 repeat-y;
}

	body.inner-general #innerColumnMain {
		display: inline;
		float: left;
		margin: 0 20px; /* Alt Style in ie6.css */
		width: 382px;
	}

	body.inner-general #innerColumnSub {
		float: left;
		padding: 40px 10px 0 10px;
		width: 225px;
	} 
	
	body.inner-general #innerColumnMainTop {
		width: 290px;
	}

body.inner-general #footer {
	border-bottom: 0;	
}

/* -------------------------------------------------------------- 
	DESTINATIONS PAGE STYLES
----------------------------------------------------------- */
#tripGallery {
	background: url(../images/design/inner-sidebar-corner.gif) no-repeat scroll 5px 100%;
	margin: 0 -15px 1em;
	padding: 0 15px 2em 115px;
}

#tripGallery a {
	background: url(../images/buttons/see-the-pics.gif) 0 0 no-repeat;
	display: block;
	height: 20px;
	text-indent: -9999px;
	width: 96px;
}

	#tripGallery a:hover {
		background-position: 0 -20px;
	}

	#tripGallery img {
		border: 1px solid #57B7E6;
		float: left;
		margin-left: -94px;
	}
	
	#innerColumnSub #tripGallery h3 {
		font-size: 1.417em;
		text-transform: none;
	}
	
#tripBooking {
	padding: 0 10px;	
}

#tripBooking span {
	color: #009ADA;
}

	#tripBooking .cost {
		display: block;
		font-family: "Trebuchet MS", arial, sans-serif;
		font-size: 3.667em;	
		font-weight: bold;
		margin-bottom: 0;
	}

	#tripBooking .includes {
		font-size: 0.917em;
		padding-left: 1.5em;
		margin-bottom: 1em;
	}

#tripBooking a.book {
	background: url(../images/buttons/book-this-trip.gif) 0 0 no-repeat;
	display: block;
	height: 53px;
	margin: 1em 0;
	text-indent: -9999px;
	width: 206px;
}

#tripBooking a.book:hover {
	background-position: 0 -53px;
}

#tripBooking p {
	color: #005588;
	font-size: 0.917em;
	padding: 0 1em;	
}

/* -------------------------------------------------------------- 
	booking
----------------------------------------------------------- */


input.bookVacation {
	background: url(../images/buttons/book-vacation.gif) 0 0 no-repeat;
	display: block;
	height: 40px;
	text-indent: -9999px;
	width: 221px;
	border: none;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
}

input.bookVacation:hover {
	background-position: 0 -41px;	
}

.referralSourceFieldArea {margin-bottom: 2.5em !important;}

/* -------------------------------------------------------------- 
	IMAGE GALLERY
----------------------------------------------------------- */
#photoGallery {
	background: none;
	border-top: 1px solid #C8E7F7;
	padding: 2em 0;
}

	body.jsEnabled #photoGallery { background: url(../images/design/gallery-divider.gif) 150px 0 repeat-y; }
		
	#photoGallery img {
		border: 1px solid #57B7E6;
	}
	
	#gallery {
		float: left;
		padding: 30px 0;
		position: relative;
	    display: none;        
	}
	
			body.jsEnabled #gallery { display: block; }
			
	#galleryInner { 
	    height: 384px;
	    position: relative; 
	    overflow: hidden;          
		width: 150px;	
	} 
	 
		#photoItems {     
		    height: 20000em;     
		    position: absolute;
		    z-index: 100; 
		} 
			
			#photoItems div {
				border-bottom: 1px dashed #C8E7F7;
				cursor: pointer;
				margin-bottom: 10px;
				padding-bottom: 10px;
			}
				
		.nextPhoto,
		.previousPhoto {
			background: url(../images/design/gallery-arrows.gif) -1px 0 no-repeat;
			cursor: pointer;
			display: block;
			left: 45px;
			position: absolute;
			height: 19px;
			width: 40px;
			z-index: 1000;
		}
		
		.nextPhoto			{ top: 0; background-position: 0 0px; }
		.nextPhoto:hover 	{ background-position: 0 -20px; }
		
		.previousPhoto 			{ bottom: 0; background-position: -42px 0; }
		.previousPhoto:hover 	{ background-position: -42px -20px; }
		
		.previousPhoto.disabled { cursor: none; background-position: -42px -40px;  }
		.nextPhoto.disabled { background-position: 0px -40px;  }
		
	#largePhoto {
		float: left;
		width: 466px;
	}
	
		body.jsEnabled #largePhoto {
			padding-left: 15px;	
		}
	
		.individualPhoto {
			margin-bottom: 2em;
		}
		
		body.jsEnabled .individualPhoto {
			display: none;
		}
		
		.individualPhoto h3,
		.individualPhoto p { 
			text-align: left;
		}
		
		.individualPhoto p {
			margin-bottom: 0;
		}
		
		.individualPhoto img {
			margin-bottom: 1em;
		}
		
/* -------------------------------------------------------------- 
	NAVIGATION
----------------------------------------------------------- */

#mainMenu {
	bottom: 0;
	margin: 0;
	list-style: none;
	position: absolute;
	right: 0;
	width: 630px;
}

	#mainMenu li {
		float: left;
		font-size: 1em;
		margin-bottom: 0;
		margin-right: 5px; 
	}
	
	#mainMenu li.last-child {
		margin-right: 0;
	}
	
		#mainMenu a {
			color: #FFFFFF;
			display: block;
			font-family: "Trebuchet MS", arial, san-serif;
			font-size: 1.5em;
			padding: 15px 9px;
			text-decoration: none;
		}
		
			#mainMenu a:hover {
				background: url(../images/design/nav-hover.gif) 50% 0 no-repeat;
			}
		
	#mainMenu li.active {
		padding-top: 12px;
	}
	
			#mainMenu li.active a,
			#mainMenu li.active a:hover {
				background: #85C441 url(../images/design/nav-active.gif) 0 0 repeat-x;
				padding: 3px 9px;
			}
			
/* Local Navigation
-------------------------------------------------------------- */
#localNav {
	float: left;
	padding-top: 40px;
	width: 183px;	
}

	#localNav ul {
		list-style: none;
		margin: 0;
		margin-bottom: 2em;
		padding-right: 10px;
	}
	
		#localNav li {
			margin-bottom: 1em;
			padding-left: 15px;
			position: relative;
			width: 100%;
		}
		
		#localNav li.active {
			background: url(../images/design/local-nav-active.gif) 100% 0 no-repeat;
			margin-left: -10px;
			margin-bottom: 0.75em;
			position: relative;
			display: inline-block; /* Need this to trigger hasLayout in IE */
			padding-left: 0;
		}
		
			#localNav li.active a {
				background: url(../images/design/local-nav-active-top.gif) 0 0 no-repeat;
				margin-top: -9px;
				padding: 10px 0 4px 25px;
			}
				
			#localNav li.active a,
			#localNav li.active a:hover {
				color: #FFFFFF;
			}
			
		#localNav a {
			color: #009ADA;
			display: block;
			font-weight: bold;
			font-size: 20px;
			text-decoration: none;
		}
		
		#localNav a:hover {
			color: #EB432F;
		}
		
		#localNav .top {
			background: url(../images/design/local-nav-active-top.gif) 0 0 no-repeat;
			display: block;
			height: 10px;
			position: absolute;
			top: -10px;
			left: 0px;
			width: 10px;
		}
				
			/* Second Tier Styles */
			
			#localNav li.active ul {
				margin-top: 0.5em;
				margin-bottom: 0;
				padding-left: 30px;
			}
			
				#localNav li.active li {
					background: url(../images/design/local-nav-bullet.gif) 0 0.3em no-repeat;
					margin: 0;
					margin-bottom: 0.25em;
					padding-left: 10px;
				}
				
					#localNav li.active li a {
						background: none;
						color: #009ADA;
						font-size: 0.765em;
						font-weight: normal;
						margin: 0;
						padding: 0;
					}
					
							#localNav li.active li.active a.active {
								color: #EB432F;
								margin: 0;
							}
						
						#localNav li.active li a:hover {
							color: #EB432F;
						}
		
/* -------------------------------------------------------------- 
	TYPOGRAPHY
	Set any special typography here that isn't set in the typographic defaults section
----------------------------------------------------------- */
#innerColumnSub h3 {
	color: #005588;
	font-size: 1.75em;
	font-weight: bold;
}

#innerColumnSub a {
	color: #009ADA;
	text-decoration: none;	
}

	#innerColumnSub a:hover {
		text-decoration: underline;	
	}

#innerColumnSub li {
	margin-bottom: 0;	
}

/* Address Info */

#contactInformation {
	margin-bottom: 1em;
}

	#contactInformation h3 {
		color: #009ADA;
		font-size: 1.417em;
		text-transform: uppercase;
	}
	
	#contactInformation p {
		margin-bottom: 0;
		font-size: 1.167em;	
	}
	
		#contactInformation p span {
			font-weight: bold;
		}
	
	.address {
		margin-bottom: 1em;	
	}
	
/* -------------------------------------------------------------- 
	IMAGE ELEMENTS
----------------------------------------------------------- */		
#innerColumnSubImage {
	background: url(../images/design/inner-sidebar-corner.gif) 5px 100% no-repeat;
	margin: 0 -15px 1em -15px;
	position: relative;
	min-height: 235px; /* Alt style in IE6.css */
}

#innerColumnSubImage img {
	position: relative;
	right: 99px;
	top: -70px;	
}

	#innerColumnSubImage p { margin: 0; }
	
	#innerColumnSubImage img, 
	#innerColumnMainTop img { border: 1px solid #57B7E6; }

/* Callouts */

h4.forms {
	background: url(../images/callouts/orange-callout.gif) 0 0 no-repeat;
	width: 206px;
	height: 93px;
}

h4.loyalityProgram {
	background: url(../images/callouts/pink-callout.gif) 0 0 no-repeat;
	width: 206px;
	height: 93px;	
}

h4.callout {
	margin: 10px auto;
}

h4.callout a {
	background: url(../images/callouts/callout-arrow.gif) 19px 32px no-repeat;
	color: #FFFFFF !important;
	display: block;
	font-family: "Comic Sans MS", arial;
	padding: 30px;
}

#callout {
	background: url(../images/callouts/callout-middle.jpg) 0 0 repeat-y;
	width: 162px;
	margin-left: 11px;
}

	#callout h4 {
		background: url(../images/callouts/callout-bottom.jpg) 0 100% no-repeat;
		padding-bottom: 9px;
		margin-bottom: 0;
	}
	
		#callout h4 a {
			background: url(../images/callouts/callout-top.jpg) 0 0 no-repeat;
			color: #FFFFFF;
			font-size: 1em;
			padding: 1.25em 15px 1em 20px;
		}

		#callout h4 a:hover {
			color: #FFFFFF;
			text-decoration: underline;
		}
		
		#callout h4 a em {
			background: url(../images/callouts/callout-arrow.gif) 0 6px no-repeat;
			font-style: normal;
			padding-left: 10px;
		}
		
/* -------------------------------------------------------------- 
	FORM ELEMENTS
----------------------------------------------------------- */
form {
	margin: 0;
	padding: 0;
}

	fieldset {
		margin-bottom: 0;
		padding: 0;
		margin-top: 1em;
	}
	
		legend {
			font-weight: bold;
			font-size: 1.25em;
			margin-bottom: 0.5em;
			font-family:"Trebuchet MS",arial,san-serif;
			color:#009ADA;
		}
	
		.fieldArea {
			margin-bottom: 0.833em;
		}
			.agreeFieldArea {
				float: left;
				margin-bottom: 0;
			}
				.agreeFieldArea input {
					margin: 0;
				}
			.cardVerificationCodeFieldArea label,
			.creditCardTypeFieldArea label,
			.cardNumberFieldArea label,
			.expirationDateMonthFieldArea label,
			.airportFieldArea label,
			.paymentMethodFieldArea label,
			.travelerAccessibilityNeedsLabel {
				width: auto;
				float: none;
				text-align: left;
			}
			.cardVerificationCodeFieldArea label,
			.creditCardTypeFieldArea label,
			.cardNumberFieldArea label,
			.expirationDateMonthFieldArea label,
			.travelerAccessibilityNeedsLabel {
				display: block;
			}
			.paymentMethodFieldArea table {
				width: 18em;
			}
			.paymentMethodFieldArea table,
			.paymentMethodFieldArea td {
				border: 0;
			}
			.paymentMethodFieldArea table input {
				float: left;
			}
			.paymentMethodFieldArea table label {
				font-weight: normal;
			}
			.agreeLabel {
				width: auto;
				margin-left: 0.5em;
			}
		.registerButton {
			clear: both;
			margin-top: 1em;
		}
		
		label {
			float: left;
			margin-right: 0.417em;
			width: 8.333em;
		}
		
		span.message {
			display: block;
			font-size: 0.833em;
		}
		
		span.error {
			color: #DD0000;
		}
		
div.errors, div.importantMsg {
	background: #FEFAD9 url(../images/forms/bg_error.gif) 0 0 repeat-x;
	border: 1px solid #E0D75F;
	display: block;
	margin: 0 0 2em 0;
}
div.importantMsg {
	padding: 1em;
}

div.errorsInner {
	background: url(../images/forms/big_error.gif) 15px 1em no-repeat;
	padding: 1em 0 1em 80px;
}
	
	div.errorsInner ul {
		margin-top: 0.5em;
		margin-bottom: 0;
	}
	
		div.errorsInner li {
			margin-bottom: 0.25em;
		}
/* Contact Us and Register Forms */
form.contact fieldset {
	border-top: 1px dashed #C8E7F7;
	margin-bottom: 0;
	padding-top: 1.5em;
}

	form.contact fieldset.comments {
		border-bottom: 1px dashed #C8E7F7;
		margin-bottom: 1.5em;
	}

label {
	color: #00456E;
	font-weight: bold;
	font-size: 0.917em;
	text-align: right;
	width: 6.333em;
}

	form.contact .htmlInputText input,
	form.contact textarea {
		border: 1px solid #BFBFBF;
		margin-left: 10px;
		width: 190px;
	}
	.travelerAccessibilityNeedsFieldArea textarea {
		width: 300px;
	}
	
	form.contact .htmlSelectOneMenu label {
		display: block;
		margin-bottom: 0.5em;
		text-align: left;
		width: 100%;
	}
	
	form.contact .htmlSelectOneMenu select {
		width: 310px;
	}
	
	input.submit,
	input.makePayment {
		clear: both;
		border: 0;
		cursor: pointer;
		display: block;
		font-size: 0;
		height: 25px;
		margin-left: 150px;
		line-height: 0;
		overflow: hidden;
		text-indent: -9999px;
	}
	input.submit {
		background: url(../images/buttons/submit.jpg) 0 0 no-repeat;
		width: 73px;
	}
	input.makePayment {
		background: url(../images/buttons/make-payment.jpg) 0 0 no-repeat;
		width: 142px;
	}
	
	input.submit:hover,
	input.makePaymentt:hover,
	input.hover {
		background-position: 0 -26px;
	}
	
/* Destination Selection Form */ 

#destinationSelector {
	background: #FFF0D9 url(../images/design/select-destination-bg.gif) 0 0 repeat-x;
	border: 1px solid #D9F0F9;
	border-top: 0;
	margin-top: -12px;
	margin-bottom: 1.5em;
	padding: 1.5em 20px;	
}

	#destinationSelector select {
		color: #BFBFBF;
		font-family: verdana, sans-serif;
		font-size: 12px;
		margin-right: 15px;
		width: 190px;
	}
	
	#destinationSelector select.lastOption { margin-right: 0px; }
	#destinationSelector .commandButton { margin-top: 0.5em; float: right; }
	
	body.jsEnabled #destinationSelector .commandButton { display: none; }
	
/*booking form */
	
#tripBookingForm select { margin-bottom: 15px;} 	
	
/* -------------------------------------------------------------- 
	MISC
----------------------------------------------------------- */

.floatLeft { float: left; }
.floatRight { float: right; }
.clearLeft { clear: left; }
.clearRight { clear: right; }
.clear {clear: both;}
.first { margin-left:0; padding-left:0; }
.last  { margin-right:0; padding-right:0; }
.top   { margin-top:0; padding-top:0; }
.bottom { margin-bottom:0; padding-bottom:0; }

img.floatLeft { margin: 0 1.5em 1.5em 0; }
img.floatRight { margin: 0 0 1.5em 1.5em; }

/* ----------------
	CLEAR FLOATS WITHOUT EXTRA HTML MARKUP
	add this class to the element that needs to be cleared - This works in modern browser that support the after pseudo element
    ------------- */ 
.clearFix:after { 
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden; 
}

.pageList:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden; 
}

.applyNow {
		background: url(../images/buttons/apply.jpg) 0 0 no-repeat;
		border: 0;
		margin-bottom: 20px;
		cursor: pointer;
		display: block;
		font-size: 0;
		height: 33px;
		line-height: 0;
		overflow: hidden;
		text-indent: -9999px;
		width: 97px;
	}
.applyNow:hover {
		background-position: 0 -34px;
}


.minnesota { }
