/* -----------------------------------------------------------------------
   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: Helvetica, Arial, sans-serif;
	font-size:12px;
  line-height:1.5;
  color:#000;
  background:#fafafa;
	margin:0;
	padding:0;
	text-align:center;
}

/* Headings */

h1,h2,h3,h4,h5,h6 { font-weight:normal; }
h1 { font-size:3em; }
h2 { font-size:2em; }
h3 { font-size:1.5em; }
h4 { font-size:1.25em; }
h5 { font-size:1em; }
h6 { font-size:1em; }

a:focus, a:hover	{ color:#c00; text-decoration:underline; }
a									{ color:#25a9e0; text-decoration:none; }

p								{ margin:0 0 1.5em; }
blockquote			{ margin:0 0 1.5em; }
strong, b				{ font-weight:bold; }
em,dfn					{ font-style:italic; }
dfn							{ font-weight:bold; }
sup, sub				{ line-height:0; }
abbr, acronym		{ border-bottom:1px dashed #000; }
abbr:hover,
acronym:hover   { cursor:help; }
address					{ margin:0 0 1.5em; font-style:italic; }
del							{ color:#c00;text-decoration:line-through; }
code            { padding:2px 0.5em; }
pre							{ padding:1em;overflow:auto;margin:0 0 1.5em; }
pre,code				{ white-space:pre; }
pre,code			  { font:1em 'andale mono', 'lucida console', monospace;line-height: 1.5; }
pre code        { background:none!important;border:none!important;padding:0; }
hr              { margin:0 0 1.5em;color:#cfcfcf;background-color:#cfcfcf;height:1px;border:none; }

/* Lists */

li ul, li ol	{ margin:0 1.5em; }
ul, ol				{ margin:0 0 1.5em;padding:0 1.5em; }
ul						{ list-style-type:square; }
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.5em;width:100%; }
th          { font-weight:bold; }
th,td       { padding:0; }
.even,
tr.even td  { background:#fdfdfd !important; }
tfoot       { font-style:italic; }
caption     { background:#fdfdfd; }


/* Forms */
form            { margin:0 0 1.5em;padding:0; }
form p          { margin:0 0 1em; }
form small      { display:block;margin-left:3px; }
label           { display:block;color:#6a6a6a;font-size:12px; }
label.inline    { display:inline;margin-left:3px;color:#000!important; }
input.text,
textarea.text   { font-size:14px;padding:5px;border:1px solid #eaeaea; }

/* 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:auto; }
table.calendar th       { text-align:center;font-weight:bold;padding:0.5em 0; }
table.calendar tbody    { background:#fff; }
table.calendar tbody tr td:first-child   { border-left:1px solid #c1c1c1!important; }
table.calendar tbody tr td  { font-size:10px;text-align:left!important;vertical-align:top;padding:2px 0 0 4px;width:10%;height:60px;background:url('/images/layout/gradient.gif') repeat-x bottom left; }
#page #side table.calendar tbody tr td { height:30px!important; }
.monthName              { font-size:18px;padding-bottom:0.5em;padding-top:0.5em;font-weight:normal!important;color:#111; }
.dayName th             { font-size:11px;border-top:1px solid #c1c1c1;border-bottom:1px solid #c1c1c1;border-right:1px solid #c1c1c1;padding:0.5em!important;background:#eee;color:#fff; }
#page #side .dayName th { padding:0.25em!important; }
.dayName th:first-child  { border-left:1px solid #c1c1c1; }
.otherMonth,
.day                    { border-right:1px solid #c1c1c1;color:#111;position:relative!important;vertical-align:top;line-height:13px; }
.otherMonth             { color:#bbb;border-bottom:1px solid #c1c1c1; }
.weekendDay             { background-color:#fafafa; }
.day,
.specialDay             { border-bottom:1px solid #c1c1c1;border-right:1px solid #c1c1c1; }
.specialDay             { background:#fffafa!important;color:#222;padding:0!important; }
.specialDay a,
.specialDay a:visited   { color:#cb5620;text-decoration:none;display:block;font-weight:bold!important;line-height:1.4em;display:block;height:100%;padding:2px 0 0 4px; }
.specialDay a:hover     { color:#fff;text-decoration:none;background:#13b2e8; }
.today                  { background:#fafaff!important;color:#222;font-weight:bold; }

/* Layout Elements */

.banner         { text-align:left;color:#fff;text-shadow:0 0 2px #000; }
.board          { border:1px solid #eaeaea;height:289px;background:url('/images/layout/gradient.gif') repeat-x bottom left;overflow:hidden; }
.board ul       { list-style:none;margin:2px 7px 0;padding:0; }
.board ul li    { margin:0;padding:0;border-bottom:1px solid #fafafa; }
.board ul li a  { padding:4px 7px;display:block;color:#6a6a6a;font-size:11px; }
.board ul li a:hover { text-decoration:none;color:#000; }
.blue           { border-color:#25a9e0!important;color:#25a9e0!important; }
.blue_bg        { background:#25a9e0!important; }
.clear          { clear:both;line-height:0;font-size:0; }
.column_full    { padding:2em 0;background:#fff; }
.column_single  { width:273px; }
.column_double  { width:586px; }
.error          { background:#fffafa;border:1px solid #c00;padding:0.5em 1em;color:#c00!important;font-size:12px; }
.error strong   { color:#a00; }
.error a        { text-decoration:underline;color:#c00; }
.error a:hover  { color:#fff;background:#c00;text-decoration:none; }
.fieldError     { background:#fffafa;border-color:#c00!important; }
.for            { border-left:5px solid #000;margin-bottom:2em;position:relative; }
.for img        { position:absolute;top:0;left:-27px; }
.for a          { padding:0 0 7px 1em;display:block;text-decoration:none; }
.for.blue a:hover { background:#beebf9; }
.for.green a:hover { background:#c3f0d1; }
.for.red a:hover { background:#ffbcc0; }
.for.yellow a:hover { background:#fefcc9; }
.for a h3       { color:#000; }
.for a p        { color:#6a6a6a;margin:0!important; }
.for a:hover p  { color:#333; }
.frame          { margin:0 0 8px;padding:11px 12px 25px;background:url('/images/layout/frame.gif') no-repeat;height:295px; }
.full           { width:574px; }
.gray           { color:#6a6a6a!important; }
.green          { border-color:#37b34a!important;color:#37b34a!important; }
.green_bg       { background:#37b34a!important; }
.know           { font-size:0;line-height:0;letter-spacing:-2000em;text-indent:-2000em;overflow:hidden;background:url('/images/layout/know.gif') no-repeat;height:21px;margin:10px 7px 1.5em 7px!important;border-bottom:1px dashed #eaeaea;padding:0 0 3px; }
.larger         { font-size:14px; }
.loadicon       { position:absolute;margin:3px 0 0 3px; }
.left           { float:left; }
img.left        { border:1px solid #eaeaea;padding:2px;background:#fff;margin:3px 1em 0.25em 0; }
.list             { list-style:none;margin:0 0 1.5em;padding:0;border-top:1px solid #efefef; }
.list li          { border-bottom:1px solid #efefef;line-height:44px;padding:0 6px; }
.list li a        { line-height:1.5em; }
.list li .avatar  { margin:6px 0.75em 0 0;float:left; }
.list li .icon    { float:right;margin-top:-2.5em; }
.list li .inventory { font-size:11px;color:#aaa; }
.list td,
.list th        { border-bottom:1px solid #efefef;padding:6px;vertical-align:top; }
.list th        { background:#fafafa; }
.med            { width:261px; }
.noborder       { border:none!important;padding:0!important; }
.nobottom       { margin-bottom:0!important; }
.noright        { margin-right:0!important; }
.pagination 							{ padding:1.5em 0 0;margin:1.5em 0;text-align:center;border-top:1px dashed #eaeaea; }
.pagination a 						{ padding:2px 5px;margin:1px;border:1px solid #eaeaea;text-decoration:none;background:#fff; }
.pagination a:hover,
.pagination a:active 			{ background:#fffafa; }
.pagination span.current  { padding:2px 5px;margin:1px;border:1px solid #eaeaea;font-weight:bold;background-color:#fffafa;color:#c00; }
.pagination span.disabled { padding:2px 5px;margin:1px;border:1px solid #eaeaea;color:#eaeaea; }
.post           { border-top:1px solid #eaeaea;padding:1.5em 0 0 ; }
.programs       { text-align:right;margin:0 2px 0 0;padding:0;font-size:10px;display:block; }
.programs a     { color:#6a6a6a; }
.programs a:hover { color:#000;text-decoration:underline; }
.program_logo   { margin:0 33px 1.5em 0;display:inline; }
.red            { border-color:#c00!important;color:#c00!important; }
.red_bg         { background:#c00!important; }
.right          { float:right;margin-top:-1.5em; }
img.right       { border:1px solid #eaeaea;padding:2px;background:#fff;margin:3px 0 0.25em 1em; }
.rss            { float:right;margin-top:1.5em; }
.smaller        { font-size:11px; }
.smallest       { font-size:10px; }
.success        { background:#fafffa;border:1px solid #0c0;padding:0.5em 1em;color:#0c0!important;font-size:12px; }
.success strong { color:#0a0; }
.success a      { text-decoration:underline;color:#0c0; }
.success a:hover{ color:#fff;background:#0c0;text-decoration:none; }
.tfdc           { text-align:right; }
.tfdc a:hover   { color:#a00!important; }
.wrap           { width:900px;margin:0 auto;padding:0;text-align:left; }
.yellow         { border-color:#f9ec31!important;color:#f9ec31!important; }
.yellow_bg      { background:#f9ec31!important; }

#address      { border:1px solid #eaeaea;padding:1em 1.5em;margin:3.5em 0 1.5em; }
#address p    { margin:0;background:url('/images/icons/mail_large.png') no-repeat top right; }
#footer       { border-top:1px solid #eaeaea;padding:2em 0;margin:0;color:#aaa;font-size:11px; }
#footer a     { color:#6a6a6a; }
#footer a:hover { color:#000; }
#header       { background:#000;margin:0;padding:10px 0;text-align:left; }
#header h1    { font-size:0;line-height:0;color:#000;text-indent:-2000em;overflow:hidden; }
#header h1 a  { display:block;width:208px;height:86px;background:url('/images/layout/logo.gif') no-repeat; }
#header ul    { margin:70px 0 0;padding:0;list-style:none;float:right; }
#header ul li { display:inline;border-right:1px solid #818181;margin-left:0.7em; }
#header ul li:last-child { border-right:none;margin-left:none; }
#header ul li a { color:#d3d3d3;text-decoration:none;margin-right:0.9em; }
#header ul li a:hover { color:#25a9e0; }
#resources        { list-style:none;border-top:1px solid #eaeaea;padding:0; }
#resources li     { color:#ccc;border-bottom:1px solid #eaeaea;padding:0.5em 1em; }
#resources li h3  { display:inline;font-size:14px; }
#section      { background:#fafafa url('/images/layout/grunge.gif') repeat-x top left;border-top:1px solid #eaeaea;padding:2em 0; }
#section h3   { margin:0; }

/* Safari-targeted hacks */
@media screen and (-webkit-min-device-pixel-ratio:0) {
  .right { margin:0!important; }
  
}