/* ---
	We will begin this intricate and analytical story  with some fundamental, but minimal resets to establish a clean and error free path into the world of css and xhtml ...
	~ Created By 			: Will Ayers - dev.willayers@gmail.com
	~ Last Modified On 		: Monday, January 18th, 2010
	~ Last Modified By 		: Will Ayers - dev.willayers@gmail.com
	
	
	Resets --- --- --- */

	html, body, div, a img {
		margin:0; padding:0; border:0;
	}

/* ---
	Basic Tags --- --- --- */
	
	html { 
		font-size:small;
	}
	body {
		background:rgb(193, 225, 245) url('../img/mayflower_body_bg.jpg') repeat-x; color:rgb(108,108,108); font:1.1em/1.6em Georgia, "Palatino Linotype", "Book Antiqua", serif;
	}
	
	h2, h3, h4, h5 {
		font-weight:normal;
	}
	
	h2 { color:#23648F !important; }
	h3 { color:rgb(77, 155, 207) !important; }
	h4 { color:#7DB8DF !important; }
	
	blockquote { 
		font-family:Georgia,'Times New Roman',Serif; font-size:15px; font-style:italic; margin:0 0 0 4px; padding:2px 32px 16px 16px; color:#6c6c6c !important; background:url('../img/l_quote.gif') no-repeat top left;
	}
	blockquote p {
		background:url('../img/r_quote.gif') no-repeat bottom right;
	}
	blockquote p strong {
		font-size:140%;
	}
	blockquote cite {
		color:rgb(77, 155, 207);
	}
	
	#index_page #mainHeading { 
		margin-left:24px;
	}
	#accommodations_page #mainHeading { 
		margin-left:8px;
	}
	#spa_page #mainHeading, #spa-health-and-activities_page #mainHeading, 
	#spa-spa-events_page #mainHeading, #spa-sample-services_page #mainHeading, 
	#spa-offerings_page #mainHeading, #spa-downloads_page #mainHeading { 
		margin-left:78px;
	}
	#dining_page #mainHeading, #din-chef-bio_page #mainHeading, 
	#din-spa-cuisine_page #mainHeading, #din-restaurant-menu_page #mainHeading { 
		margin-left:38px;
	}
	#events_page #mainHeading, #photos_page #mainHeading, #location_page #mainHeading, 
	#eve-retreats-and-special-events_page #mainHeading, #eve-weddings_page #mainHeading, 
	#loc-gardens-and-trees_page #mainHeading, #loc-steep-rock-reverse_page #mainHeading { 
		margin-left:44px;
	}
	#spa-culture_page #mainHeading { 
		margin-left:70px;
	}

/* ---
	Typography & Links Tags --- --- --- */
	
	a {
		border-bottom:1px solid rgb(95, 160, 204); color:rgb(95, 160, 204); text-decoration:none;
	}
	a:hover { border-bottom:1px solid rgb(0, 0, 0); color:rgb(0, 0, 0); }
	
	#lastFooter {
		margin:0; padding:4px; text-align:center; font-style:italic; font-weight:700; font-size:.8em; line-height:1.2em;
	}

/* ---
	Framework --- --- --- */

	#hotel {
		background-image:url('../img/hotel_bg.png'); background-repeat:repeat-y; margin:0 auto; padding:0 12px; width:1009px;
	}
	#hotelHeader {
		background-image:url('../img/top_bg.png'); background-repeat:no-repeat; background-position:top left; width:1033px; height:14px; margin:0 auto;
	}
	#hotelFooter {
		background-image:url('../img/bottom_bg.png'); background-repeat:no-repeat; background-position:top left; width:1033px; margin:0 auto; height:14px;
	}
	
/* ---
	The Big Picture --- --- --- */
	
	#theBigPicture {
		background:#f5f5f5 url('../photo/hero/default.jpg') no-repeat; border-bottom:1px solid rgb(204, 204, 204); border-top:1px solid rgb(204, 204, 204); height:275px; background-position:center center;
	}
	#index_page #theBigPicture {
		height:344px !important; background:rgb(250, 250, 232) url('../img/loader.gif') no-repeat center 100px !important; 
	}
	
	#dining_page #theBigPicture, #din-chef-bio_page #theBigPicture, 
	#din-spa-cuisine_page #theBigPicture, #din-restaurant-menu_page #theBigPicture {
		background-image:url('../photo/hero/dining.jpg');
	}
	#accommodations_page #theBigPicture, #request-spa-treatment_page #theBigPicture {
		background-image:url('../photo/hero/accommodations.jpg');
	}
	#spa_page #theBigPicture, #spa-culture_page #theBigPicture, #spa-health-and-activities_page #theBigPicture, 
	#spa-spa-events_page #theBigPicture, #spa-sample-services_page #theBigPicture, 
	#spa-offerings_page #theBigPicture, #spa-downloads_page #theBigPicture {
		background-image:url('../photo/hero/spa.jpg');
	}
	#events_page #theBigPicture, #eve-retreats-and-special-events_page #theBigPicture, #eve-weddings_page #theBigPicture, #request-proposal_page #theBigPicture {
		background-image:url('../photo/hero/events.jpg');
	}
	#specials-packages_page #theBigPicture {
		background-image:url('../photo/hero/specials-packages.jpg');
	}
	#photos_page #theBigPicture {
		background-image:url('../photo/hero/photo.jpg');
	}
	#location_page #theBigPicture, #loc-gardens-and-trees_page #theBigPicture, #loc-steep-rock-reverse_page #theBigPicture {
		background-image:url('../photo/hero/location.jpg');
	}
	#gift-and-spa-shop_page #theBigPicture, #spa-shop_page #theBigPicture, #inn-shop_page #theBigPicture {
		background-image:url('../photo/hero/gift-and-spa-shop.jpg');
	}
	
	#contact-us_page #theBigPicture {
		background-image:url('../photo/hero/contact-us.jpg');
	}
	#directions_page #theBigPicture {
		background-image:url('../photo/hero/directions.jpg');
	}
	#media-room_page #theBigPicture {
		background-image:url('../photo/hero/media-room.jpg');
	}
	#fact-sheet_page #theBigPicture {
		background-image:url('../photo/hero/fact-sheet.jpg');
	}
	#downloads_page #theBigPicture {
		background-image:url('../photo/hero/downloads.jpg');
	}
	
/* ---
	Content section --- --- --- */
	
	#virbage {
		padding:24px;
	}
	#v_left {
		width:630px; float:left;
	}
	#photos_page #v_left {
		width:935px;
	}
	#v_right {
		width:305px; float:right;
	}
	#v_right a {
		border:0 !important;
	}
	#v_left iframe, #v_right p img, .cphoto {
		padding:3px; background-color:rgb(253, 253, 244); border:1px solid rgb(212, 212, 212);
	}
	#v_right p img { padding:3px; }
	
	.cphoto {
		margin:0 16px 4px 0px;
	}
	#v_left p {
		line-height:1.8em;
	}
/* ---
	Top Section --- --- --- */
	
	#mayflowerLogo {
		border:0; float:left; margin:8px 0 0 32px;
	}
	#mayflowerTitle {
		float:left; margin:35px 0 0 160px; width:500px;
	}
	#mayflowerBooknow {
		border:0; display:block; float:right; width:145px; height:80px; background:rgb(255, 255, 255) url('../img/mayflower_booknow.gif') no-repeat; text-indent:-9999px; overflow:hidden; margin:18px 18px 0 0;
	}
	#mayflowerBooknow:hover { background-position:0px -80px; }

/* ---
	Top & Bottom Navigation Links --- --- --- */
	
	#topNav, #botNav {
		border-top:1px solid rgb(204, 204, 204); clear:both; list-style-type:none; padding:0 0 0 80px; margin:0;
	}
	#botNav {
		padding-left:234px;
	}
	#topNav li, #botNav li {
		height:40px; float:left;
	}
	#topNav li a, #botNav li a { 
		display:block; height:40px; float:left; text-indent:-9999px; overflow:hidden; border:0;
	}
	.img_align_left {
		padding:4px; margin:8px 8px 8px 0; border:1px solid rgb(212, 212, 212); float:left;
	}
	/* top nav */
	#navHom {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -40px 0px; width:75px;
	}
	#navHom:hover { background-position:-40px -40px; }
	.active #navHom { background-position:-40px -80px; }
	
	#navAcc {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -112px 0px; width:160px;
	}
	#navAcc:hover { background-position:-112px -40px; }
	.active #navAcc { background-position:-112px -80px; }
	
	#navSpa {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -275px 0px; width:64px;
	}
	#navSpa:hover { background-position:-275px -40px; }
	.active #navSpa { background-position:-275px -80px; }
	
	#navDin {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -339px 0px; width:91px;
	}
	#navDin:hover { background-position:-339px -40px; }
	.active #navDin { background-position:-339px -80px; }
	
	#navEve {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -430px 0px; width:92px;
	}
	#navEve:hover { background-position:-430px -40px; }
	.active #navEve { background-position:-430px -80px; }
	
	#navSpe {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -568px 0px; width:102px;
	}
	#navSpe:hover { background-position:-568px -40px; }
	.active #navSpe { background-position:-568px -80px; }
	
	#navPho {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -704px 0px; width:85px;
	}
	#navPho:hover { background-position:-704px -40px; }
	.active #navPho { background-position:-704px -80px; }
	
	#navLoc {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -789px 0px; width:102px;
	}
	#navLoc:hover { background-position:-789px -40px; }
	.active #navLoc { background-position:-789px -80px; }
	
	#navGif {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -891px 0px; width:118px;
	}
	#navGif:hover { background-position:-891px -40px; }
	.active #navGif { background-position:-891px -80px; }
	
	/* bottom nav */
	#navCon {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -174px -120px; width:112px;
	}
	#navCon:hover { background-position:-174px -160px; }
	.active #navCon { background-position:-174px -200px; }
	
	#navDir {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -286px -120px; width:124px;
	}
	#navDir:hover { background-position:-286px -160px; }
	.active #navDir { background-position:-286px -200px; }
	
	#navFac {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -410px -120px; width:126px;
	}
	#navFac:hover { background-position:-410px -160px; }
	.active #navFac { background-position:-410px -200px; }
	
	#navDow {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -536px -120px; width:138px;
	}
	#navDow:hover { background-position:-536px -160px; }
	.active #navDow { background-position:-536px -200px; }
	
	#navMed {
		background:rgb(255, 255, 255) url('../img/image_sprite.gif') no-repeat -674px -120px; width:135px;
	}
	#navMed:hover { background-position:-674px -160px; }
	.active #navMed { background-position:-674px -200px; }
	
/* ---
	Sub Navigation --- --- --- */
		
	#sub_eve, #sub_acc, #sub_loc, #sub_din, #sub_gif {
		width:100%; display:none;
	}
	#subNav {
		height:23px; border-top:1px solid rgb(204, 204, 204);
	}
	#sub_acc ul, #sub_eve ul, #sub_loc ul, #sub_din ul, #sub_gif ul {
		margin:0; padding:0;
	}
	#sub_acc ul li, #sub_eve ul li, #sub_loc ul li, #sub_din ul li, #sub_gif ul li { 
		display:block; float:left; margin:0; padding:0;
	}
	#sub_acc ul a, #sub_eve ul li a, #sub_loc ul li a, #sub_din ul li a, #sub_gif ul li a { 
		display:block; float:left; height:23px; text-indent:-9999px; overflow:hidden; border:0;
	}	
	
	/* acc */
	#acc_cul {
		width:66px; background:url('../img/image_sprite.gif') no-repeat 0px -295px;
	}
	#acc_cul:hover, #spa-culture_page #acc_cul { background-position:0px -316px; }
	#acc_hea {
		width:108px; background:url('../img/image_sprite.gif') no-repeat -66px -295px;
	}
	#acc_hea:hover, #spa-health-and-activities_page #acc_hea { background-position:-66px -316px; }
	#acc_spa {
		width:135px; background:url('../img/image_sprite.gif') no-repeat -174px -295px;
	}
	#acc_spa:hover, #spa-spa-events_page #acc_spa { background-position:-174px -316px; }
	#acc_sam {
		width:134px;background:url('../img/image_sprite.gif') no-repeat -309px -295px;
	}
	#acc_sam:hover, #spa-sample-services_page #acc_sam { background-position:-309px -316px; }
	#acc_fac {
		width:107px;background:url('../img/image_sprite.gif') no-repeat -459px -295px;
	}
	#acc_fac:hover, #spa-offerings_page #acc_fac { background-position:-459px -316px; }
	
	/* eve */
	#eve_ret {
		width:182px; background:url('../img/image_sprite.gif') no-repeat -261px -248px;
	}
	#eve_ret:hover, #eve-retreats-and-special-events_page #eve_ret { background-position:-261px -269px; }
	#eve_wed {
		width:81px; background:url('../img/image_sprite.gif') no-repeat -443px -248px;
	}
	#eve_wed:hover, #eve-weddings_page #eve_wed { background-position:-443px -269px; }
	#eve_req {
		width:147px; background:url('../img/image_sprite.gif') no-repeat -563px -295px;
	}
	#eve_req:hover, #request-proposal_page #eve_req { background-position:-563px -316px; }
	/* loc */
	#loc_act {
		width:122px; background:url('../img/image_sprite.gif') no-repeat 0px -248px;
	}
	#loc_act:hover, #local-activities_page #loc_act { background-position:0px -269px; }
	#loc_ste {
		width:139px; background:url('../img/image_sprite.gif') no-repeat -122px -248px;
	}
	#loc_ste:hover, #loc-steep-rock-reverse_page #loc_ste { background-position:-122px -269px; }
	
	/* din */
	#din_che {
		width:139px; background:url('../img/image_sprite.gif') no-repeat -544px -248px;
	}
	#din_che:hover, #din-chef-bio_page #din_che { background-position:-544px -269px; }
	#din_spa {
		width:72px; background:url('../img/image_sprite.gif') no-repeat -703px -248px;
	}
	#din_spa:hover, #din-spa-cuisine_page #din_spa { background-position:-703px -269px; }
	#din_res {
		width:128px; background:url('../img/image_sprite.gif') no-repeat -792px -248px;
	}
	#din_res:hover, #din-restaurant-menu_page #din_res { background-position:-792px -269px; }
	
	/* gif */
	#gif_spa {
		width:79px; background:url('../img/image_sprite.gif') no-repeat -743px -296px;
	}
	#gif_spa:hover, #spa-products_page #gif_spa { background-position:-743px -317px; }
	#gif_inn {
		width:69px; background:url('../img/image_sprite.gif') no-repeat -823px -296px;
	}
	#gif_inn:hover, #spa-products_page #gif_inn { background-position:-823px -317px; }
	
/* ---
	Classes & Conditionals --- --- --- */
	
	.clear { 
		clear:both;
	}
	.clear_l { 
		clear:left;
	}
	.clear_r { 
		clear:right;
	}
	.messageError, .messageGood {
		margin:8px 8px 8px 0; border:1px solid rgb(213, 84, 90); padding:8px; color:rgb(213, 84, 90); background-color:rgb(255, 223, 227);
	}
	.messageError ul, .messageGood ul { 
		padding:0; margin:0;
	}
	.messageError ul li, .messageGood ul li {
		list-style-position:inside;
	}
	.messageGood {
		border-color:rgb(95, 200, 61); color:rgb(95, 200, 61); background-color:#DBFFCF;
	}
	.pdfDownload {
		width:303px; height:37px; display:block; margin:24px 12px; text-indent:-9999px; overflow:hidden; border:0;
	}
	.pdfDownload:hover { border:0; }
	#pdf_services {
		background:url('../img/pdf_offered.gif') no-repeat;
	}
	#pdf_services:hover { background-position:0px -37px; }
/* ---
	Tables --- --- --- */
	
	.box-table-a {
		font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; font-size: 12px; width:100%; text-align: left; border-collapse: collapse;
	}
	.box-table-a th {
		font-size: 13px; font-weight: normal; padding: 8px; background-color:rgb(193, 225, 245); border-top: 4px solid #99C3DF; border-bottom: 1px solid rgb(255, 255, 255); color: #0F374F;
	}
	.box-table-a td {
		padding: 8px; background-color:rgb(250, 250, 232); border-bottom: 1px solid rgb(255, 255, 255); color:rgb(77, 155, 207); border-top: 1px solid transparent;
	}
	.box-table-a tr:hover td {
		background: #C2E1F6; color:#23648F;
	}

/* ---
	Forms --- --- --- */
	
	.emailSignup {
		background:url('../img/email_gather.jpg') no-repeat; height:102px; width:303px;
	}
	.emailLeft {
		float:left; margin-top:32px;
	}
	.emailRight {
		float:right; margin-top:32px;
	}
	.required {
		color:#FF0F0F;
	}
	.emailSignup form input {
		margin:2px 8px; padding:4px; border-top:2px solid #ccc; border-right:1px solid #ccc; border-bottom:1px solid rgb(221, 221, 221); border-left:1px solid rgb(221, 221, 221);
	}
	.emailSignup form button {
		margin:16px 12px 0 0; display:block; border:0; height:24px; width:61px; background:url('../img/sign_up.jpg') no-repeat; text-indent:-9999px; overflow:hidden;
	}
	/* contact form */
	.myform{
		width:500px; padding:14px;
	}
	#stylized{
		border:solid 2px #b7ddf2; background:#ebf4fb;
	}
	#stylized h1 {
		font-size:14px; font-weight:bold; margin-bottom:8px;
	}
	#stylized p{
		font-size:11px; color:#666666; margin-bottom:20px; border-bottom:solid 1px #b7ddf2; padding-bottom:10px;
	}
	#stylized2 {
		border:solid 2px #b7ddf2; background:#ebf4fb;
	}
	#stylized2 h1 {
		font-size:14px; font-weight:bold; margin-bottom:8px;
	}
	#stylized2 p{
		font-size:11px; color:#666666; margin-bottom:20px; border-bottom:solid 1px #b7ddf2; padding-bottom:10px;
	}
	#stylized .row label{
		display:block; font-weight:bold; text-align:right; width:140px;
	}
	#stylized .row .small{
		color:#666666; display:block; font-size:11px; font-weight:normal; text-align:right; width:140px;
	}
	#stylized input, #stylized textarea {
		font-size:12px; padding:4px 2px; border:solid 1px #aacfe4; width:300px; margin:2px 0 20px 10px;
	}
	
	#stylized div.left {
		width:140px; float:left;
	}
	#stylized div.right {
		width:314px; float:right;
	}
	.entire_right input {
		float:none; width:25px;
	}
	#stylized textarea {
		height:200px;
	}
	#stylized button{
		clear:both; margin-left:150px; width:125px; height:31px; background:#666666 url(img/button.png) no-repeat; text-align:center; line-height:31px; color:rgb(255, 255, 255); font-size:11px; font-weight:bold;
	}
	#photogallery a {
		border:none;
	}
	#photogallery a img {
		padding:4px; border:1px solid #C1E1F5; margin:12px;
	}
	#photogallery a img:hover {
		border:1px solid #67A8CF; background-color:#C1E1F5;
	}
	#side_spa, #side_request {
		display:block; height:40px; background:url('../img/small_img_sprite.gif') no-repeat; overflow:hidden; text-indent:-9999px; float:left;
	}
	#side_spa {
		background-position:0px -40px; width:131px;
	}
	#side_spa:hover {
		background-position:0px 0px;
	}
	#side_request {
		background-position:-131px -40px; width:172px;
	}
	#side_request:hover {
		background-position:-131px 0px;
	}
	.events_table {
		width:100%;
	}
	.events_table tr td{
		padding:4px !important;
	}
	.events_table tr.activeRow1 td {
		border:1px solid #ddd;
	}
	.events_table tr.activeRow2 td {
		border:1px solid #999; background:#E5E5E5; color:#333;
	}
	.events_table tr td.center {
		text-align:center; width:20px;
	}
	.events_table tr td.time {
		width:50px; text-align:center;
	}
	
	.time_br {
		display:block;
	}
	
	
	h2.u-heading {
		font-size:18px; border-bottom:1px solid rgb(35, 100, 143); display:inline;
	}
