/* -----------------------------------------------------------------------
   Terra Firma Design & Consulting

   * Copyright (c) 2008 Terra Firma Design & Consulting, LLC
   * URL: http://terra-firma-design.com
   * Author: Brian Getting
	 * Thanks to the Blueprint CSS Framework 0.7.1
		 http://blueprintcss.googlecode.com
----------------------------------------------------------------------- */

/* 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; }
table { border-collapse:separate; border-spacing:0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align:middle; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
a img { border: none; }

/* Document Body */

body { 
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size:75%;
  line-height:1.5;
  color:#f0c9c7; 
  background:#380001 url('/images/layout/bg.gif') repeat-x top left;
	margin:0;
	padding:0;
	text-align:center;
}

/* Headings */

h1,h2,h3,h4,h5,h6 { font-weight:normal;color:#fff; }
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img { margin:0; }
h1 { font-family: "Times New Roman", Times, serif;font-size:3em; margin-bottom:0.5em; }
h2 { font-family: "Times New Roman", Times, serif;font-size:21px; margin-bottom:0.65em;margin-top:4px;text-shadow:0 0 2px #222; }
h3 { font-size:14px; margin-bottom:1em;margin-top:-1.25em;text-shadow:0 0 2px #222; }
h4 { font-size:1.2em; line-height:1.25; margin-bottom:1.25em; height:1.25em; }
h5 { font-size:1em; font-weight:bold; margin-bottom:1.5em; }
h6 { font-size:1em; font-weight:bold; }

/* Text elements */

a:focus, a:hover	{ color:#b6cf80; text-decoration:underline; }
a									{ color:#ffe28c; text-decoration:none; }

p								{ margin:0 0 1.5em; }
blockquote			{ margin:1em; padding:1em 1em 0; color: #272727; font-style:italic; background:#fffffa; border:1px solid #cfcfcf; }
blockquote p		{ margin:0 0 1em; font-size:0.85em;}
strong, b				{ font-weight:bold; }
em,dfn					{ font-style:italic; }
dfn							{ font-weight:bold; }
sup, sub				{ line-height:0; }
abbr, acronym		{  }
address					{ margin:0 0 1.5em; font-style:italic; }
del							{ color:#666; }
pre							{ background:#fafaff; border:1px solid #cfcfcf; padding:1em; overflow:auto; }
pre,code				{ margin:1.5em 0; white-space:pre; }
pre,code,tt			{ font:1.1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }

/* Lists */

li ul, li ol	{ margin:0 1.5em; }
ul, ol				{ margin:0 1.5em 1.5em 1.5em; padding:0 1.5em; }
ul						{ list-style-type:disc; }
ol						{ list-style-type:decimal; }
dl						{ margin: 0 0 1.5em 0; }
dl dt					{ font-weight: bold; }
dd						{ margin-left: 1.5em;}

/* Tables */

table       { margin-bottom:1.4em; width:100%; }
th          { font-weight:bold; }
th,td       { padding:0; }
tr.even td  { background:#49090b; }
tfoot       { font-style:italic; }
caption     { background:#eee; }

/* Forms */

label 						{ font-weight:bold;display:block;text-shadow:0 0 2px #222; }
fieldset					{ padding:0; margin:0; border:none; }
legend 						{ font-weight:bold; font-size:1.2em; }
input.text,
textarea,
select						{ font-family:Arial, "Helvetica Neue", Helvetica, sans-serif;margin:0.16em 0 !important; font-size:16px; }
input.text,
textarea          { padding:0.5em; }
select            { padding:2px; }
input.text:focus,
textarea:focus,
select:focus			{ color:#000;border:1px solid #ffe28c; }
input.text,
textarea 					{ padding:5px;color:#701d17;border:1px solid #42000d; }
input[readonly]		{ color:#999; }

/* Feedback Elements */
.alert,
.error,
.errorExplanation,
.success                { margin:0 0 1.5em;padding:0.5em 1em; }
.alert p,
.error p,
.success p              { line-height:1.4em;margin:0!important; }
.alert .loadicon,
.error .loadicon,
.errorExplanation .loadicon,
.success .loadicon      { position:absolute;margin:1px 0 0 3px!important; }
.alert                  { border:1px solid #fc0;background:#ffb;color:#930; }
.alert a                { color:#930; }
.error,
.errorExplanation       { border:1px solid #88201b;background:#fffbfb;color:#88201b; }
.error a,
.errorExplanation a     { color:#88201b; }
.success                { border:1px solid #739b44;background:#fbfffb;color:#739b44 }
.success a              { color:#739b44; }
.errorExplanation h2    { margin:0 0 0.5em;color:#88201b;font-size:14px;line-height:18px;font-weight:bold; }
.errorExplanation ul    { color:#88201b;margin:0;line-height:1.4em }
.errorExplanation p     { display:none; }
.fieldError             { background:#fffbfb; }
.fieldWithErrors        { margin:0;padding:0;background:#88201b;display:inline-block; }
.fieldWithErrors input  { margin:1px!important; }

/* Calendar Popup (JavaScript) Styles */
div.calendar{font-size:12px;color:#111;}
div.calendar.popup{margin-left:20px;margin-top:-75px;}
div.calendar table{background-color:#fafafa;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #eee;border-bottom:1px solid #eee;border-collapse:collapse;}
div.calendar thead{background-color:white;border-bottom:1px solid #eee;}
div.calendar td,div.calendar th{padding:3px;text-align:center;font-size:11px;}
div.calendar td.title{font-weight:bold;color:#13b2e8!important;font-size:13px;}
div.calendar th{background:#f0f0f0!important;border-bottom:1px solid #eee;border-top:1px solid #eee;font-weight:bold;color:#333;}
div.calendar tr.days td {width: 2em;color:#333;text-align:center;cursor:pointer;}
div.calendar tr.days td:hover,div.calendar td.button:hover{background-color:#999;cursor:pointer;color:#fff!important;}
div.calendar thead td.button:hover{text-decoration:underline;cursor:pointer;background:none!important;color:#8ec743!important;}
div.calendar tr.days td:active,div.calendar td.button:active{background-color:#111;color:#fff;}
div.calendar td.selected{font-weight: bold;background-color:#13b2e8;color:#fff!important;}
div.calendar td.today{font-weight: bold;color:#fff!important;}
div.calendar td.otherDay{color:#999 !important;}

/* Rails Calendar Styles */
#public_cal             { margin:0 0 1.5em; }
table.calendar          { margin:0 auto 2em; }
table.calendar th       { text-align:center!important;color:#fff;text-shadow:0 0 2px #222;padding:5px 0; }
table.calendar th a     { font-weight:normal;font-size:10px; }
table.calendar tbody tr td:first-child   { border-left:1px dotted #a6807e!important; }
.monthName              { font-family: "Times New Roman", Times, serif;font-size:16px; margin-bottom:0.65em;text-shadow:0 0 2px #222;font-weight:normal; }
.dayName th             { font-size:11px;background:#fcd765 url('/images/layout/yellow-gradient.gif') repeat-x bottom;text-align:center!important;padding:0.3em 0;color:#42000d;text-shadow:0 0 2px #fff }
.otherMonth,
.day                    { padding:0.5em 0.7em;border-right:1px dotted #a6807e; }
.otherMonth             { color:#a6807e;border-bottom:1px dotted #a6807e; }
.weekendDay             { background-color:#5a110e; }
.day,
.specialDay             { text-align:center;border-bottom:1px dotted #a6807e;border-right:1px dotted #a6807e;padding:none!important; }
.specialDay             { background-color:#380001;color:#fff; }
.specialDay a,
.specialDay a:visited   { padding:0.5em 0.7em;color:#ffe28c;text-decoration:none; }
.specialDay a:hover     { color:#b6cf80;text-decoration:underline; }
.today                  { background:#b4cc7e url('/images/layout/green-gradient.gif') repeat-x bottom;color:#380001;text-shadow:0 0 2px #fff; }
/* Tab Highlight Styles */
#home .home a, #home .home a:hover,
#about .about a, #about .about a:hover,
#menu .menu a, #menu .menu a:hover,
#events .events a, #events .events a:hover,
#photos .photos a, #photos .photos a:hover,
#jobs .jobs a, #jobs .jobs a:hover,
#contact .contact a, #contact .contact a:hover { background-position:0 -104px !important; }

/* Layout Styles */

#albums       { list-style:none;margin:0 0 30px;padding:0;border-top:1px solid #330e0c; }
#albums li    { font-size:14px;border-bottom:1px solid #330e0c; }
#albums li a  { padding:0.5em;display:block; }
#albums li a .count { font-weight:normal;font-size:11px;color:#fafafa!important; }
#contact_form input.text,
#directions-form input.text   { width:370px; }
#contact_form textarea        { width:370px; }
#contact_submit,
#directions-submit            { font-family:'Times New Roman', Times, serif;font-size:14px;border:1px solid #42000d;color:#42000d;background:url('/images/layout/yellow-gradient.gif') repeat-x top;padding:5px 15px; text-shadow:0 0 2px #fff; }
#contact-submit:hover,
#directions-submit:hover       { cursor:pointer;color:#fff;text-shadow:0 0 2px #006300;background:url('/images/layout/green-gradient.gif') repeat-x top;border:1px solid #fff; }
#contact-submit:active,
#directions-submit:active      { text-shadow:0 0 2px #42000d;background:url('/images/layout/dark-gradient.gif') repeat-x top;border:1px solid #42000d; }
#error      { width:340px;font-weight:bold;color:#a00;background:#fff9f9 url('/images/icons/exclamation.png') no-repeat 10px 7px;border:1px solid #a00;margin:0 0 15px;padding:7px 10px 7px 30px; }
#error p    { margin:0;padding:0; }
#event_list			{ list-style:none;margin:0 0 1.5em;padding:0;;border-top:1px dashed #f0c9c7; }
#event_list li 	{ margin:0;padding:3px 0;border-bottom:1px dashed #f0c9c7; }
#feedback		{ position:absolute;background:#000;color:#fff;top:2px;left:0;width:100%;height:100%;opacity:0.9;text-align:center;font-size:16px;line-height:150px; }
#ftr        { text-align:center;margin:0;padding:75px 30px 15px;color:#a6807e;font-size:0.9em;background:url('/images/layout/main-btm.gif') no-repeat top; }
#ftr a      { color:#a6807e; }
#gallery     { margin:0 0 15px; }
#gallery img { margin:0 5px 2px 0;background:#fff;border:1px solid #42000d;padding:2px; }
#haps       { list-style:none;margin:0 0 30px;padding:0; }
#haps li    { font-size:11px;margin-bottom:15px; }
#haps li a  { font-weight:bold;font-size:12px;text-shadow:0 0 2px #222; }
#haps li p  { margin:0; }
#hdr        { height:129px;position:relative; }
#hdr h1     { margin:0;padding:0;font-size:0px;text-indent:-5000em;overflow:hidden;position:absolute;top:20px;left:20px; }
#hdr h1 a   { background:transparent url('/images/layout/logo.png') no-repeat;display:block;width:128px;height:180px; }
#left-column  { float:left;width:228px;margin:0;padding:0; }
#main       { background:#701d17 url('/images/layout/content-bg.gif') repeat-x top left;min-height:500px;margin:0;padding:40px 30px 0; }
#map-canvas   { width:228px;height:250px;border:;margin:0 0 15px;padding:0;border:1px solid #42000d;color:#000; }
#menu-main h4 { font-family:"Times New Roman", Times, serif;font-size:18px;padding-bottom:18px;margin-bottom:0;background:url('/images/layout/main-detail.png') no-repeat 0 24px;text-shadow:0 0 2px #222; }
#menu-main table          { width:100%;margin-bottom:2em; }
#menu-main table td       { vertical-align:top;padding:7px 10px; }
#menu-main table td a     { font-size:13px;font-weight:bold;text-shadow:0 0 2px #222; }
#menu-main table td p     { margin:0!important; }
#menu-main table td div p { color:#f0c9c7;padding:0.5em 0; }
#menu-main .price         { font-size:11px;font-weight:bold;text-align:right; }
#menu-side h3       { font-size:11px;text-transform:uppercase;background:url('/images/layout/side-detail.png') no-repeat 0 16px;margin:7px 0;padding-bottom:2px; }
#menu-side table    { width:100%;margin-bottom:2em; }
#menu-side table td { vertical-align:top;padding:2px 7px;font-size:11px;color:#fafafa; }
#menu-side .price   { font-size:11px;font-weight:bold;text-align:right; }
#nav          { text-align:right;margin:0;padding:0; }
#nav ul       { list-style:none;margin:0;padding:0;height:52px; }
#nav ul li    { display:inline;float:right; }
#nav ul li a  { font-size:0px;height:52px;display:block;overflow:hidden;text-indent:-5000em;letter-spacing:-5000em;background-position:0 0; }
#nav ul li.home a     { width:81px;background:url('/images/layout/nav-home.gif') no-repeat; }
#nav ul li.about a    { width:106px;background:url('/images/layout/nav-about.gif') no-repeat; }
#nav ul li.menu a     { width:80px;background:url('/images/layout/nav-menu.gif') no-repeat; }
#nav ul li.events a   { width:87px;background:url('/images/layout/nav-events.gif') no-repeat; }
#nav ul li.photos a   { width:86px;background:url('/images/layout/nav-photos.gif') no-repeat; }
#nav ul li.contact a  { width:114px;background:url('/images/layout/nav-contact.gif') no-repeat; }
#nav ul li a:hover    { background-position:0 -52px; }
#newsletter { margin:0 0 1.5em; }
#newsletter p { font-size:11px; }
#newsletter label { display:none; }
#newsletter strong { color:#c7c380;font-weight:bold; }
#newsletter .helpers { font-size:10px;margin-top:-1em; }
#newsletter .text { font-size:12px;border:1px solid #010300;width:140px; }
#notice      { width:340px;font-weight:bold;color:#006300;background:#f9fff9 url('/images/icons/accept.png') no-repeat 10px 7px;border:1px solid #006300;margin:0 0 15px;padding:7px 10px 7px 30px; }
#notice p    { margin:0;padding:0; }
#photo-loader { margin:100px 0 0 75px; }
#right-column   { float:right;width:438px;margin:0;padding:0; }
#social										{ position:absolute;top:20px;right:0;margin:0;padding:0; }
#social-icons							{ list-style:none;position:relative;height:65px; }
#social-icons li 					{ display:inline;margin:0;padding:0; }
#social-icons li a 				{ text-decoration:none;color:#e7e7e7;float:left;background:url('/images/layout/social_sprite.png') no-repeat;display:block;width:32px;height:32px;overflow:hidden; }
#social-icons li.twitter a 				{ background-position:0 0;margin-right:5px; }
#social-icons li.twitter a:hover 	{ height:50px!important; }
#social-icons li.facebook a 			{ background-position:-40px 0; }
#social-icons li.facebook a:hover { height:50px!important; }
#social-icons li.video a 					{ background-position:-76px 0;margin-right:5px; }
#social-icons li.video a:hover 		{ height:50px!important; }
#social-icons li a:hover span { display:block!important; }
#social-icons li a span 	{ position:absolute;right:0;top:43px;width:120px;text-align:center;color:#e7e7e7;font-size:11px;background:#000;padding:7px 10px;-webkit-border-bottom-left-radius:6px 6px;-webkit-border-bottom-right-radius:6px 6px;-webkit-border-top-left-radius:6px 6px;-webkit-border-top-right-radius:6px 6px;display:none; }

#skip-links { height:0; width:0; overflow:hidden; margin:0; padding:0; }
#tripadvisor { position:absolute;top:0;right:10px;height:85px;width:419px;background:transparent url('/images/layout/tripadvisor.png') no-repeat;color:#666;padding:6px 20px 5px;margin:0;line-height:1.3em; }
#tripadvisor h2 { font-size:18px;text-shadow:none;margin-bottom:7px;color:#2b8938; }
#tripadvisor p  { margin-bottom:0;font-size:12px; }
#tripadvisor p.right  { text-align:right;font-size:11px;margin-top:4px; }
#tripadvisor a { color:#000;padding-right:91px; }
#wrap       { width:770px;text-align:left;margin:0 auto;padding:0;position:relative; }

.button 		{ font-family:'Times New Roman', Times, serif;font-size:13px;border:1px solid #42000d;color:#42000d;background:url('/images/layout/yellow-gradient.gif') repeat-x top;padding:4px 6px; text-shadow:0 0 2px #fff; }
.button:hover { cursor:pointer;color:#fff;text-shadow:0 0 2px #006300;background:url('/images/layout/green-gradient.gif') repeat-x top;border:1px solid #fff; }
.clear      { clear:both;height:0;font-size:0;line-height:0;overflow:hidden; }
.firma    	{ display:block;width:147px;height:22px;font-size:0px;text-index:-5000em;letter-spacing:-5000em;overflow:hidden;background:url('/images/layout/tf.gif') no-repeat;margin:0 auto;padding:0; }
.highlight 	{ color:#ffe28c;text-shadow:0 0 2px #222; }
.hidden     { display:none; }
.left       { float:left; }
.loadicon   { margin:0 0.5em -4px 0; }
.map-info   { margin:0;padding:0;line-height:1.3em; }
.map-info b { font-size:16px;font-family:"Times New Roman", Times, serif;line-height:1.3em; }
.map-info a { color:#42000d;font-weight:bold; }
.map-info a:hover { color:#b6cf80;text-decoration:underline; }
.relative   { position:relative; }
.right      { float:right; }
.rule       { margin:1.5em 0;height:0;border-bottom:1px solid #fafafa; }
.textright  { text-align:right; }
.title    { font-size:24px !important;color:#ffe28c!important;margin-top:0!important; }

