/* -----------------------------------------------------------------------
   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: normal 13px/1.5em 'Calibri', Arial, Helvetica, sans-serif;
  color:#707071;
  background:#050505;
	background-repeat: no-repeat;
	background-position:860px 0;
	margin:0;
	padding:0;
	text-align:left;
}

/* Headings */

h1,h2,h3,h4,h5,h6 { font-weight:normal; }
h1 { font-size:38px;line-height:40px;letter-spacing:-2px;color:#0c0c0d;text-transform:uppercase;margin-bottom:0.75em; }
h2 { font-size:16px;line-height:18px;letter-spacing:-1px;color:#0c0c0d;text-transform:uppercase;margin-bottom:1em; }
h3 { font-size:16px;line-height:18px;color:#0c0c0d;margin:1.1em 0; }
h4 { font-size:1em; }
h5 { font-size:0.8em; }
h6 { font-size:0.5em; }


a:focus, a:hover	{ color:#4b4a4c;text-decoration:underline; }
a									{ color:#4f191f;text-decoration:none; }

p								{ margin:0 0 1.5em; }
blockquote			{ margin:0 -60px 1.5em 2em;float:right;border-top:1px solid #e8e6ed;border-bottom:1px solid #e8e6ed;width:300px;padding:1em 1.5em 0;background:#fbfbfb; }
blockquote p		{ margin:0 0 1em;}
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							{ overflow:auto;padding:1em 1.5em;border:1px solid #e8e6ed;margin:0 0 1.5em; }
pre,code				{ white-space:pre;color:#4b4a4c;background:#fbfbfb; }
pre,code,tt			{ font:13px 'Consolas', 'andale mono', 'lucida console', monospace;line-height:1.5; }

/* Lists */

ul, ol				{ margin:0 1.5em 1.5em 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:#fff2c5!important; }
tfoot       { font-style:italic; }
caption     { background:#e8e6ed; }

/* Forms */

label 						{ font-weight:normal;display:block;text-transform:uppercase;font-size:10px; }
fieldset					{ padding:0; margin:0; border:none; }
legend 						{ font-weight:bold; font-size:1.2em; }
input.text,
textarea,
select						{ font-family:'Calibri', Arial, Helvetica, sans-serif;margin:0.16em 0 0!important;font-size:14px;border:1px solid #e8e6ed; }
input.text:focus,
textarea:focus,
select:focus			{ color:#000;border:1px solid #000; }
input.text,
textarea 					{ padding:0.5em;color:#939296;border:1px solid #e8e6ed;margin:0; }
input[readonly],
input[readonly]:focus	{ color:#4b4a4c; }

.full			{ width:575px; }
.med			{ width:262px; }

/* 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 #4f191f;background:#fffbfb;color:#4f191f; }
.error a,
.errorExplanation a     { color:#4f191f; }
.success                { border:1px solid #739b44;background:#fbfffb;color:#739b44 }
.success a              { color:#739b44; }
.errorExplanation h2    { margin:0 0 0.5em;color:#4f191f;font-size:14px;line-height:18px;font-weight:bold; }
.errorExplanation ul    { color:#4f191f;margin:0;line-height:1.4em }
.errorExplanation p     { display:none; }
.fieldError             { background:#fffbfb!important;border:1px solid #4f191f!important; }
.fieldWithErrors        { margin:0;padding:0;background:#4f191f;display:inline-block; }
.fieldWithErrors input  { margin:1px!important; }

/* Background Photography Styles */
#home				{ background-image:url('/images/photos/home.jpg'); }
#design			{ background-image:url('/images/photos/design.jpg'); }
#marketing	{ background-image:url('/images/photos/marketing.jpg'); }
#consulting	{ background-image:url('/images/photos/consulting.jpg'); }
#blog				{ background-image:url('/images/photos/blog.jpg'); }
#contact		{ background-image:url('/images/photos/contact.jpg'); }
#legal			{ background-image:url('/images/photos/legal.jpg'); }

/* Tab Highlight Styles */
#home .home,
#design .design,
#marketing .marketing,
#consulting .consulting,
#blog .blog,
#contact .contact															{ border-top:5px solid #4f191f; }
#home .home a, #home .home a:hover,
#design .design a, #design .design a:hover,
#marketing .marketing a, #marketing .marketing a:hover,
#consulting .consulting a, #consulting .consulting a:hover,
#blog .blog a, #blog .blog a:hover,
#contact .contact a, #contact .contact a:hover { color:#4f191f; }

/* Layout Styles */

#contact_form,
#content				{ margin:0 0 2em; }
#content em			{ font-family:'Cambria', Georgia, Times, serif; }
#content strong,
#content b		  { font-weight:normal;color:#4b4a4c; }
#footer			{ border-top:1px solid #e8e6ed;padding-top:1.5em; }
#footer p		{ font-size:11px;line-height:16px; }
#logo				{ position:absolute;top:90px;left:19px; }
#logo p			{ background:url('/images/layout/logo.gif') no-repeat;width:41px;height:226px;text-indent:-4000em; }
#map					{ border:1px solid #e8e6ed;margin:0 0 1.5em;padding:5px; }
#map p				{ font-size:11px;text-align:center;background:#fbfbfb;margin:0;padding:0.6em 1em 0.5em;font-style:italic;border-top:1px solid #e8e6ed; }
#map #canvas	{ height:250px;margin:0; }
#nav									{ position:absolute;top:0; }
#nav ul								{ margin:0;padding:0;list-style:none; }
#nav ul li						{ display:inline-block;margin:0 40px 0 0;text-transform:uppercase;font-size:11px;letter-spacing:1px;padding-top:2px; }
#nav ul li:last-child { margin:0!important; }
#nav ul li a 					{ color:#939296; }
#nav ul li a:hover 		{ color:#4b4a4c;text-decoration:none; }
#page 			{ width:591px;background:url('/images/layout/page_bg.png') repeat-y;padding:90px 140px 3em; }
#posts,
#projects		{ margin:0;padding:0;list-style:none; }
#posts li		{ font-size:12px;line-height:1.3em;margin-bottom:1em; }
#posts li a	{ border-left:5px solid #e8e6ed;display:block;padding-left:15px; }
#posts li a:hover { color:#4b4a4c;border-left:5px solid #4b4a4c; }
#projects li	{ display:inline;margin:0 10px 0 0; }
#projects li a img { border:1px solid #e8e6ed;padding:5px;margin-bottom:7px; }
#signup_email	{ width:430px; }
#socials		{ margin:0;padding:0;list-style:none;float:right; }
#socials li	{ display:inline;margin-left:3px; }
#socials li a { display:inline-block;width:16px;height:16px; }
#socials li a img { display:block; }
#transparency			{ width:450px; }
#transparency h1	{ font-size:21px!important;line-height:23px!important;letter-spacing:-1px!important;border-bottom:1px solid #e8e6ed;padding-bottom:0.25em; }
#transparency strong,
#transparency b		{ font-weight:normal;color:#4b4a4c; }

.campaign 	{ line-height:125%;margin:0.5em; }
.cite				{ font-size:11px;text-align:right; }
.clear      { clear:both;height:0;font-size:0;line-height:0;overflow:hidden;margin:0;padding:0; }
.col				{ width:280px; }
.col h2			{ margin-top:0.5em;border-bottom:1px solid #e8e6ed;padding-bottom:10px; }
.display_archive { font-family:'Calibri', Arial, Helvetica, sans-serif;font-size:13px; }
.gray				{ color:#939296!important; }
.hidden     { display:none; }
.image			{ border:1px solid #e8e6ed;padding:5px;display:block; }
.image.left	{ margin:0 1.5em 0.5em 0; }
.image.right	{ margin:0 0 0.5em 1.5em; }
.intro			{ font-size:14px!important;margin-bottom:1.4em!important; }
.intro em		{ font-size:1.2em; }
.left       { float:left; }
.loadicon   { margin:0 0.5em -4px 0; }
.map-info		{ line-height:1.3em;font-size:11px!important;background:#fff!important;padding:0!important;border:none!important;text-align:left; }
.meta				{ border:1px solid #e8e6ed;padding:0.5em;background:#fbfbfb; }
.meta p			{ font-size:11px;margin:4px 0;line-height:1.3em; }
.meta img		{ border:1px solid #e8e6ed;padding:5px;background:#fff;float:left;margin:0 0.5em 0.5em 0; }
.no_right		{ margin-right:0!important; }
.post				{ border-top:1px solid #e8e6ed; }
.quote			{ font:italic 1.5em/1.25em 'Cambria', Georgia, 'Times New Roman', Times, serif;color:#4b4a4c;margin-bottom:0.5em; }
.red				{ color:#4f191f!important; }
.relative   { position:relative; }
.right      { float:right; }
.rule       { margin:1.5em 0;height:0;border-bottom:1px solid #e8e6ed; }
.stbutton		{ padding:0!important; }
.textright  { text-align:right; }
.thumbnail   { margin:3px 1em 0.25em 0;border:1px solid #e8e6ed;padding:2px;background:#fff;display:block; }
.tiny				{ font-size:10px; }
.uppercase	{ text-transform:uppercase; }

/* Pagination */
.pagination 							{ padding:0;margin:1.5em 0;font-size:11px;text-transform:uppercase;text-align:center; }
.pagination a 						{ padding:3px 5px;margin:1px;text-decoration:none; }
.pagination a:hover,
.pagination a:active 			{ text-decoration:underline;color:#4b4a4c; }
.pagination span.current  { padding:3px 5px;margin:1px;font-weight:bold;background-color:#efefef;color:#4b4a4c; }
.pagination span.disabled { padding:3px 5px;margin:1px;color:#e8e6ed; }

#pushup {
  position: fixed;
  top: 10px;
  right: 10px;
  margin: 0;
  padding: 4px;
  background: #ffffc6;
  border: 1px solid #b0dfc8;
  z-index: 9999;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
}
* html #pushup {
  position: absolute;
  top: expression(_pushupIETop = 10 + (document.documentElement.scrollTop || 0) + 'px');
}
#pushup * {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.withReminder { padding-bottom: 6px; }
#pushup a {
  outline-style: none;
  text-decoration: none;
}

#pushup .pushup_messageLink {
  float: left;
  position: relative;
  color: #4293cd;
  font-size: 12px;
  cursor: pointer;
}

#pushup .pushup_icon {
  position: relative;
  float: left;
  height: 22px;
  width: 22px;
  margin-right: 5px;
  overflow: hidden;
  vertical-align: middle;
}

#pushup .pushup_message {
  position: relative;
  float: left;
  margin-right: 3px;
  line-height: 22px;
  vertical-align: middle;
}

#pushup .pushup_reminder {
  float: left;
  clear: both;
  font-size: 10px;
  color: #84a2ac;
  margin-left: 27px;
  cursor: pointer;
}

#pushup .pushup_messageLink:hover,
#pushup .pushup_reminder:hover { text-decoration: underline; }

/* lightview.css
   http://www.nickstakenburg.com/projects/lightview
*/

#lightview {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 150px;
	width: 150px;
	margin: -75px 0 0 -75px;
	padding: 0;
	text-align: left;
}

/* The container that holds everything */
.lv_Container {
	position: relative;
	width: 100%;
	height: 100%;
	background: none;
	padding: 0;
	margin: 0;
}

.lv_Button {
	cursor: pointer;
	text-decoration: none;
	border: none;
	background: none;
	margin: 0;
	padding: 0;
}

/* The buttons on the side when you view a gallery */
.lv_Sides {
	position: absolute;
	top: 50%;
	left: 0;
	clear: both;
	width: 100%;
	padding: 0;
	margin: 0;
}
.lv_Sides * { padding: 0; margin: 0; }
.lv_Sides li {
	list-style-type: none;
	position: relative;
}

.lv_PrevSide { float: left; }
.lv_NextSide { float: right; }
.lv_Sides .lv_Wrapper {
	width: 100%;
	height: 100%;
	cursor: pointer;
}
.lv_Sides .lv_Button {
	float: left;
	background: none;
}

/* The frames above and below the center, that hold the corners.
   It's recommended not to change anything here, a lot is done in
   javascript to build further upon this based on your settings.
*/
.lv_Frames {
	width: 100%;
	height: 100%;
	position: relative;
	padding: 0;
	margin: 0;
}
.lv_Frames li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.lv_Frame {
	width: 100%;
	display: block;
}
.lv_Frame * { padding: 0; margin: 0; }
.lv_FrameTop {
	position: absolute;
	left: 0;
	width: 100%;
	display: block;
}
.lv_FrameBottom {
	position: relative;
	float: left;
	clear: both;
}

.lv_Liquid {
	position: relative;
	float: left;
	width: 100%;
	overflow: hidden;
	clear: both;
}
.lv_Liquid .lv_Filler {
	position: absolute;
	height: 100%;
	width: 2px;
	top: 0;
	left: 50%;
}

.lv_Half {
	display: block;
	height: 100%;
	clear: both;
	line-height: 0px;
}
.lv_Half li { list-style-type: none; }
.lv_Corner {
	float: left;
	position: relative;
}
.lv_CornerTr, .lv_CornerBr { float: right; }

.lv_Fill {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}

.lv_Half .lv_CornerWrapper {
	float: left;
	position: relative;
	width: 50%;
	height: 100%;
	overflow: hidden;
}
.lv_HalfRight .lv_CornerWrapper { float: right; }

.lv_Corner { position: relative; }
.lv_Corner canvas { position: relative; }
.lv_HalfLeft .lv_Corner { float: left; }
.lv_HalfRight .lv_Corner {
	position: relative;
	float: right;
}

/* To position content correctly in the center with correct
   rounded corner display we need a few wrappers.
   This is to get it right on all browsers.
*/
.lv_Center {
	position: relative;
	clear: both;
	height: 100%;
	overflow: hidden;
	background: none;
	padding: 0;
	margin: 0;
}
.lv_WrapUp {
	position: absolute;
	left: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
	padding: 0;
	margin: 0;
}
.lv_WrapDown {
	position: relative;
	height: 100%;
	width: 100%;
	overflow: hidden;
	padding: 0;
	margin: 0;
}
.lv_WrapCenter {
	position: relative;
	padding: 0;
	margin: 0;
}

/* The loading indicator */
.lv_Loading {
	position: absolute;
	top: 50%;
	left: 50%;
}
.lv_Loading .lv_Button {
	float: left;
	height: 100%;
	width: 100%;
}

.lv_MediaWrapper {
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
	clear: both;
	padding: 0;
	margin: 0;
}
.lv_MediaWrapper img {
	position: relative;
	float: left;
	padding: 0;
	margin: 0;
}

/* The overlays on top of images that toggle the previous/next buttons */
.lv_PrevNext {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}
.lv_PrevNext * { padding: 0; margin: 0; }
.lv_PrevNext .lv_Button {
	position: relative;
	height: 100%;
}
.lv_PrevButton { float: left; }
.lv_NextButton { float: right; }

/* The bar that holds title, caption, imagenumber, slideshow and closebutton */
.lv_MenuBar {
	clear: both;
	position: relative;
	width: 100%;
	font: 11px Arial, Helvetica, sans-serif;
	color: #7a7a7a;
	padding: 0;
	margin: 0;
	text-align: left;
}
.lv_MenuBar * { padding: 0; margin: 0;}


.lv_Close {
    position: relative;
	float: right;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.lv_Data {
	position: relative;
	float: left;
	padding-bottom: 3px;
	line-height: 13px;
	overflow: hidden;
}

/* simulates padding-left inside .lv_Data 
.lv_DataText div, .lv_ImgNumber div { margin-left: 3px; } */

.lv_Data li {
	list-style-type: none;
	float: left;
	margin-top: 3px;
}
.lv_DataText { width: 100%; }
.lv_DataText .lv_Title {
	font-weight: bold;
	margin-bottom: 2px;
}
.lv_DataText .lv_Caption { clear: both; }
.lv_Data .lv_ImgNumber {
	color: #a7a7a7;
	margin-right: 5px;
	margin-top: 5px;
}

.lv_Data .lv_innerPrevNext, 
.lv_Data .lv_Slideshow {
	position: relative;
	border-left: 1px solid #d7d7d7;
	padding: 0 5px;
	margin-top: 5px;
	vertical-align: middle;
}
.lv_Data .lv_Slideshow { padding-right: 0px; }

.lv_Data .lv_innerPrevNext .lv_Button, 
.lv_Data .lv_Slideshow .lv_Button { /* play and stop */
	float: left;
	background-position: center left;
	background-repeat: no-repeat;
}

/* the boxes that hold media or external content */
.lv_contentTop,
.lv_contentBottom {
	position: relative;
	float: left;
	margin: 0;
	padding: 0;
	clear: both;
}

#lightview iframe {
	float: left;
	border: 0;
	clear: both;
	padding: 0;
	margin: 0;
	background: none;
}

/* The container that hold buttons above the view, currently only topclose */
.lv_topButtons {
	position: absolute;
	left: 0;
	width: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.lv_topcloseButtonImage { cursor: pointer; }


/* The error/warning/download message that will appear when
   a required plugin is not installed.
*/
#lightviewError p { padding: 0 0 10px 0; }
#lightviewError div {
	padding: 6px;
	font: 11px Arial, Helvetica, sans-serif;
}
#lightviewError .message {
	background: #fcb5b5;
	color: #dd1f1f;
	margin-bottom: 3px;
}
#lightviewError .type { font-weight: bold; }
#lightviewError .pluginspage {
	background: #b5fcbd;
	color: #21be30;
}
#lightviewError a,
#lightviewError a:hover,
#lightviewError a:visited {
	color: #21be30;
	text-decoration: none;
	background: none;
	font-weight: bold;
	border-bottom: 1px solid #7de689;
}
#lightviewError p {
	margin-left: 0;
	padding: 0;
}

#lv_overlay {
  position: absolute; /* Opera will use fixed */
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

/* navbar
   Adds a bar below the view that takes over the default Controller
*/
#lightviewController {
	position: fixed;
	bottom: 0;
	top: 0;
	left: 50%;
	margin: 0;
	padding: 0;
	color: #d2d2d2;
	font: 11px Arial, Helvetica, sans-serif;
}
* html body #lightviewController { /* IE6 */
	position: absolute;
	top: auto;
	margin-top: expression( (-1 * this.offsetHeight / 2 + (document.documentElement ? document.documentElement.scrollTop : 0) + (Lightview.controllerOffset || 0)) + 'px');	
}
#lightviewController ul {
	display: block;
	height: 100%;
	float: left;
	margin: 0;
	padding: 0;
	position: relative;
}
.lv_controllerTop, .lv_controllerMiddle, .lv_controllerBottom {
	list-style-type: none;
	float: left;
	display: block;
	position: relative;
	clear: both;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.lv_controllerCenter  { width: auto; float: left; }
.lv_controllerCornerWrapper {
	position: absolute;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
.lv_controllerCornerWrapperTopLeft,
.lv_controllerCornerWrapperBottomLeft { top: 0; left: -100%;}
.lv_controllerCornerWrapperTopRight,
.lv_controllerCornerWrapperBottomRight { top: 0; left: 100%;}

#lightviewController .lv_CornerWrapper {
	width: 100%;
}
#lightviewController .lv_Corner { float: left; }
#lightviewController .lv_Corner {
	float: right;
	position: relative;
}
#lightviewController .lv_CornerTr, #lightviewController .lv_CornerBr { float: left; }
.lv_controllerBetweenCorners {
	position: relative;
	height: 100%;
	overflow: hidden;
}

.lv_controllerMiddle {
	position: relative;
	height: 100%;
	float: left;
}
.lv_controllerCenter { float: left; width: auto;}
.lv_controllerCenter li {
	list-style-type: none;
	float: left;
	display: inline;
	position: relative;
	clear: none;
}
.lv_controllerSetNumber {
	float: left;
	text-align: center;
}

#lightviewController .lv_Button {
	float: left;
	position: relative;
	height: 100%;
	clear: none;
}
.lv_controllerSetNumber {
	position: relative;
	height: 100%;
	padding-right: 3px;
}
.lv_controllerPrev, 
.lv_controllerNext, 
.lv_controllerSlideshow, 
.lv_controllerClose {
	float: left;
	position: relative;
	height: 100%;
	padding-left: 3px;
}

.lv_controllerPrev { border-left: 1px solid #3c3c3c; }
#lightviewController .lv_controllerNext { padding-right: 3px; border-right: 1px solid #3c3c3c; }

* html #lightview { /* IE6 */
	position: absolute;
	margin-top: expression( (-1 * this.offsetHeight / 2 + (document.documentElement ? document.documentElement.scrollTop : 0) - (Lightview.controllerHeight || 0)) + 'px');
	margin-left: expression( -1 * this.offsetWidth / 2 + (document.documentElement ? document.documentElement.scrollLeft : 0) + 'px');
}

/* Always cover 100% of the screen in IE6 */
html #lv_overlay {
	position: absolute;
	height: expression(((window.Enumerable && window.Enumerable.max) ? [document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight].max() : document.documentElement.scrollHeight) + 'px' );
	width: expression(((window.Enumerable && window.Enumerable.max) ? [document.body.scrollWidth, document.documentElement.scrollWidth, document.body.offsetWidth, document.documentElement.clientHeight].max() : document.documentElement.scrollWidth) + 'px' );
}