/* ============== */
/* = typography = */
/* ============== */

body {
	font-size: 75%;
	line-height: 1.5em;
	font-family: Helvetica, Arial, Verdana, sans-serif;
	color: #424140;
}
html>body { font-size: 12px; }
h1, h2, h3, h4, h5 {
	color: #594b38;
	margin: 0;
	font-weight: 500;
}
	h1 {
		font-size: 1.6667em;
		line-height: 1.4em;
		padding: 8px 0 0 0;
	}
	h2 {
		font-size: 1.3333em;
		line-height: 1.75em;
		padding: 0.5em 0 0 0;
	}
	h3 { font-size: 14px; }
a {
	color: #6d8946;
	text-decoration: none;
	border-bottom: 1px dotted #6d8946;
}
p.green {
	font-family: "Avenir LT Std 45 Book", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.5em;
	line-height: 2em;
	color: #6d8946;
	margin: 0 36px 1em 0;
}

/* ============= */
/* = commoners = */
/* ============= */

.clear {
	clear: both;
	overflow: hidden;
	height: 0;
}
.hidden { display: none; }
.hr {
	width: 100%;
	height: 0;
	overflow: hidden;
	border-top: 1px solid #e3e3ca;
	border-bottom: 1px solid #fffffd;
}
	#content .hr { width: 684px; }
	#content div div.hr { width: 100%; }
a.no_underline { border: none; }

/* =============== */
/* = text layout = */
/* =============== */

.two_column {
	position: relative;
	float: left;
	width: 324px;
	padding-right: 36px;
}
* html .two_column { height: 1%; }
.three_column {
	position: relative;
	float: left;
	width: 234px;
}
	.three_column_first { left: -18px; }

/* ================ */
/* = page headers = */
/* ================ */

.home .header { background-image: url(/media/pages/home_header.jpg); }
.home .flourishes { height: 515px; background-image: url(/media/pages/home_flourishes.jpg); }
.portfolio .header { background-image: url(/media/pages/portfolio_header.jpg); }
.portfolio .flourishes { height: 143px; background-image: url(/media/pages/portfolio_flourishes.jpg); }
.webdesign .header { background-image: url(/media/pages/web_header.jpg); }
.webdesign .flourishes { height: 365px; background-image: url(/media/pages/web_flourishes.jpg); }
.contentmanagement .header { background-image: url(/media/pages/firefly_header.jpg); }
.contentmanagement .flourishes { height: 422px; background-image: url(/media/pages/firefly_flourishes.jpg); }
.company .header { background-image: url(/media/pages/company_header.jpg); }
.company .flourishes { height: 460px; background-image: url(/media/pages/company_flourishes.jpg); }
.contact .header { background-image: url(/media/pages/contact_header.jpg); }
.contact .flourishes { height: 450px; background-image: url(/media/pages/contact_flourishes.jpg); }
.blog .header { background-image: url(/media/pages/blog_header.jpg); }
.blog .flourishes { height: 467px; background-image: url(/media/pages/blog_flourishes.jpg); }

/* ========== */
/* = layout = */
/* ========== */

body { background: #f5f5e9 url('/media/template/bg.jpg') repeat-x; }

.logo { 
	position: absolute;
	width: 333px;
	height: 64px;
	top: 47px;
	left: 36px;
	z-index: 100;
}
	.logo a { border: none; }
.header {
	position: absolute;
	top: 143px;
	left: 0;
	width: 992px;
	height: 164px;
	background: #9ec969 no-repeat;
	z-index: 10;
}
.flourishes {
	position: absolute;
	top: 0;
	left: 0;
	width: 992px;
	background: transparent no-repeat;
	z-index: 5;
}
.menu {
	position: absolute;
	top: 74px;
	left: 410px;
	width: 445px;
	z-index: 95;
	padding-left: 112px; /* leave room for additional menu items */
}
	.menu li {
		float: left;
		list-style: none;
		padding: 0 7px 0 0;
		margin: 0;
	}	
	.menu a {
		display: block;
		height: 22px;
		background-image: url('/media/template/menu.png');
		background-repeat: no-repeat;
		border: none;
	}

	.menu .nav_portfolio 	{ width: 62px; background-position: -112px top;  }
	.menu .nav_web 			{ width: 82px; background-position: -181px top; }
	.menu .nav_content 		{ width: 144px; background-position: -270px top; }
	.menu .nav_company 		{ width: 66px; background-position: -421px top; }
	.menu .nav_contact 		{ width: 56px; background-position: -494px top; }
           
	.menu .nav_portfolio_o { background-position: -112px -22px; }
	.menu .nav_web_o { background-position: -181px -22px; }
	.menu .nav_content_o { background-position: -270px -22px; }
	.menu .nav_company_o { background-position: -421px -22px; }
	.menu .nav_contact_o { background-position: -494px -22px; }
    
	/* current page */
	.portfolio .menu .nav_portfolio { background-position: -112px bottom; }
	.webdesign .menu .nav_web 		{ background-position: -181px bottom; }
	.contentmanagement .menu .nav_content	 	{ background-position: -270px bottom; }
	.company .menu .nav_company	 	{ background-position: -421px bottom; }
	.contact .menu .nav_contact	 	{ background-position: -494px bottom; }

#container {
	position: relative;
	width: 992px;
	margin: 0 auto;
}           
#body {
	position: relative;
	top: 342px;
	margin: 0 0 0 1px;
	width: 990px;
	z-index: 50;
}
	#content {
		position: relative;
		padding: 1px 0 0 0;
		width: 720px;
		float: right;
	}
		* html #content { } /* if we NEED to, we can overflow: hidden to fix IE, but that breaks the labels on contentmanagement.html */
	#sidebar {
		position: relative;
		float: left;
		clear: both;
		width: 233px;
		margin-right: 36px;
	}
		#sidebar .box {
			position: relative;
			width: 217px;
			padding-right: 15px;
			height: 19.333em;
			background: #eaebd8 url('/media/template/sidebar.png') repeat-x;
			color: #594b38;
			border: 1px solid #e7e7d4;
		}
			#sidebar .box a {
				color: #594b38; 
				border-bottom: 1px dotted #594b38;
			}
			#sidebar .box ul.contact { margin: 1.41667em 0 0 7px; }
				#sidebar .box ul li {
					list-style: none outside none;
					background: transparent url('/media/template/ico_gt.gif') no-repeat top left;
					padding-left: 17px;
				}
				#sidebar b.phone {
					font-size: 1.167em;
					line-height: 1.286em;
				}
				#sidebar .box ul.contact li.worksheet {
					margin-top: 1.5em;
					background: transparent url('/media/template/ico_worksheet.gif') no-repeat top left;
				}
#footer {
	position: relative;
	width: 990px;
	height: 3.833em;
	margin: 0.667em 1px;
	color: #828076;
}
	#footer ul {
		position: absolute;
		top: 1.5em;
		left: 0;
		margin: 0;
	}
	#footer ul li {
		display: inline;
		list-style: none;
		list-style-position: outside;
		padding: 0 0.75em 0 0;
		margin: 0;
	}
		#footer ul li.blog {
			border-left: 1px solid #b3b0a1;
			padding-left: 0.833em;
		}
			#footer ul li.blog a { color: #b3b0a1; }
	#footer a {
		color: #828076;
		border: none;
	}
		#footer a:hover { border-bottom: 1px dotted #828076; }
	#footer p.copyright {
		position: absolute;
		top: 1.5em;
		right: 0;
	}


/* ============= */
/* = home page = */
/* ============= */

.home .portfolio_tiny {
	width: 54px;
	float: left;
	margin: -1px 18px 1.5833em 0;
}
.home .portfolio_tiny a { border: none; }
h2.blog_entries { margin-top: 0.31818182em; }
ul.blog_entries {
	border: 1px solid #e7e7d4;
	border-bottom: 1px solid #fcfcf7;
	border-left: none;
	list-style: none;
	margin: 0 0;
	padding: 0;
}
	ul.blog_entries li {
		border-top: 1px solid #fcfcf8;
		border-bottom: 1px solid #e7e7d4;
		margin: 0;
		padding: 8px 18px 8px 0;
	}
	.blog_home {
		display: block;
		padding-top: 0.667em;
	}
		.blog_home a {
			color: #594b38;
			border-bottom: 1px dotted #594b38;
		}
	
.home .left_column { width: 378px; }
.home .right_column {
	width: 306px;
	padding-right: 0;
}

/* ================== */
/* = portfolio page = */
/* ================== */

/* case study */
.portfolio_large {
	position: relative;
	width: 720px;
	margin-top: -8px;
	padding-bottom: 0.5em;
}
	* html .portfolio_large { margin-top: 10px; }
.portfolio_large .portfolio_head {
	height: 42px;
	xoverflow: hidden;
}
.portfolio_large .portfolio_nav {
	position: absolute;
	top: 0px;
	right: 2px;
	width: 339px;
	height: 43px;
	z-index: 80;
}
	* html .portfolio_large .portfolio_nav { right: 0px; }
	.portfolio_large .portfolio_nav .wrapper {
		background: url('/media/portfolio/tab_top.png') no-repeat;
		padding: 11px 0 0 122px;
		height: 100%;
		width: 219px; /* changed from 100% -tyler, 1/18/07 */
	}
	* html .portfolio_large .portfolio_nav .wrapper {
		background-image: none;
		filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/media/portfolio/tab_top.png', sizingMethod='image');
	}
	.portfolio_large .portfolio_nav a {
		z-index: 100;
		line-height: 1.5em;
		color: #594b38;
		border-bottom: 1px dotted #594b38;
		margin-right: 20px;
		position: relative;
	}
	.portfolio_large .portfolio_nav a.active {
		border: none;
		font-weight: bold;
		cursor: default;
	}
.portfolio_large .portfolio_content {
	width: 684px;
	background-color: #f1f2e6;
	border: 1px solid #e7e7d4;
	z-index: 50;
	padding: 17px;
}
.portfolio_large .portfolio_content .large {
	display: inline;
	float: left;
	overflow: hidden;
}
.portfolio_large .portfolio_content .text {
	display: inline;
	float: right;
	margin-top: 1px;
	width: 181px;
	padding-right: 18px;
}
.portfolio_large .portfolio_bottomtab {
	background: url('/media/portfolio/tab_visit_site.png') no-repeat;
	width: 90px;
	height: 29px;
	cursor: pointer;
}
	* html .portfolio_large .portfolio_bottomtab {
		background-image: none;
		filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/media/portfolio/tab_visit_site.png', sizingMethod='image');
	}
.portfolio_large .portfolio_footnote {
	position: absolute;
	bottom: 10px;
	left: 110px;
	color: #f1f2e6;
}

/* client list */
ul.client_list { margin: 0 0 18px 0; }
ul.client_list li {
	list-style: none outside none;
	background: transparent url('/media/template/ico_gt.gif') no-repeat top left;
	padding: 0 0 0 17px;
	font-weight: bold;
	margin: 0 0 0.75em 1px;
}

/* pop-up */
#portfolio_popup { display: none; }
#tb-content .portfolio_large { margin: 14px 0 0 6px; }

/* projects */
.portfolio #content .hr_top { margin: 3em 0 2.9167em 0; width: 720px; }
.portfolio .hr_bottom { margin: 1.41667em 0 2.9167em 0; }
.portfolio_small {
	display: inline;/* fixes a stupid ie double margin float bug. other browsers ignore it.  see http://positioniseverything.net/explorer/doubled-margin.html */
	float: left;
	width: 324px;
	margin: 0 36px 3em 0;
}
	.portfolio_small a { border: none; }

/* ========================== */
/* = content managment page = */
/* ========================== */
	
.contentmanagement p.green { margin-top: 3em; }
.contentmanagement .hr_top { margin: 1.4em 0 2.85em 0; }
.contentmanagement .hr_bottom { margin: 0 0 2.8333em 0; }
.firefly_large {
	position: relative;
	margin: 0 0 3em 0;
}
	.firefly_large h2.right { margin-right: -3px; }
	.firefly_large .text {
		position: absolute;
		left: -252px;
		bottom: 36px;
		width: 219px;
		text-align: right;
	}
		* html .firefly_large .text { top: 188px; } /* we have to work from the top because IE doesn't like us positioning from the bottom when there's a bottom margin in ems */ 
		/* a hack if we have to overflow: hidden for ie6
		* html .firefly_large .text {
			position: relative;
			left: 0;
			bottom: 0;
			width: 324px;
			text-align: left;
			margin-top: -2em;
		}
		
		* html .firefly_large h2 { margin-top: 0; text-align: left; }
		*/
			/* * html  */
.firefly_large_last { margin: 0 0 1.5em 0; }
.firefly_small {
	display: inline; /* fixes a stupid ie double margin float bug. other browsers ignore it. see http://positioniseverything.net/explorer/doubled-margin.html */
	float: left;
	margin: 1.5em 36px 1.5em 0;
	width: 324px;
	overflow: hidden;
}

/* ================ */
/* = company page = */
/* ================ */
	
.company p img {
	float: left;
	margin: -1px 6px 0 0;
}

/* ================ */
/* = contact page = */
/* ================ */
	
.contact .two_column div.left, .contact .two_column div.right {
	width: 50%;
	float: left;
}
.contact .hr { margin-bottom: 0.5em; }
.form_layout { padding: 0; }
input, select, textarea {
	font-family: Helvetica, Arial, Verdana, sans-serif;
	color: #424140;
	font-size: 13px;
}
.form_layout input.describe { color: #828076; }

/* ======== */
/* = blog = */
/* ======== */

.blog #content .entry { margin-top: 0; }

.blog .left_column { width: 450px; }
.blog .right_column {
	width: 234px;
	padding-right: 0;
}

/* topic links */
.blog #sidebar .box { height: 13.333em; }
	.blog #sidebar .box h2 {  margin: 0 0 0 30px;}
	.blog #sidebar .box ul.topics { margin: 0 0 0 18px; }
	.blog #sidebar .box ul.topics li.back {
		margin-top: 1.5em;
		font-weight: 700;
	}
	
/* firefly ad */
.blog #sidebar .firefly_ad {
	margin-top: 1.5em;
	padding: 1.333em 35px 0 35px;
	width: 162px;
}
	.blog #sidebar .firefly_ad img { /* can't apply padding because it's a pngfixed png */ }
	.blog #sidebar .firefly_ad p { margin: 0; }
	.blog #sidebar .firefly_ad a { border: 0; }
	.blog #sidebar .firefly_ad p a { border-bottom: 1px dotted #6d8946; font-weight: 700; }
	
/* post title */
.blog .entry .date {
	position: relative;
	float: left;
	width: 34px;
	height: 3.25em;
	border: 1px solid #e7e7d4;
	margin: -1px 18px 0 0;
	padding-top: 0.333em;
	background: #eaebd8 url('/media/template/sidebar.png') repeat-x;
	color: #6d8946;
	text-align: center;
}
	.blog .entry .date .month {
		font-size: 1.1667em;
		line-height: 1.2857;
		display: block;
	}
	.blog .entry .date .day {
		font-size: 1.5em;
		line-height: 1em;
	}
.blog .entry .title {
	position: relative;
	width: 396px;
	height: 4.5em;
	margin-top: -1px;
	float: left;
}
	* html .blog .entry .title { margin-bottom: -12px; }
.blog .entry .title h1 {
	padding: 1px 0 0 0;
	margin: 0;
}
.blog .entry .title p {
	margin-top: -3px;
	font-style: italic;
}
 .blog .entry .body { margin-top: 0; }
	/* * html .blog .entry .body { margin-top: 1.5em; } */
.blog .hr { margin-bottom: 1.334em; }
.blog .more-link { font-style: italic; }

/* author box */
.blog div.author {
	position: relative;
	height: 6em;
	background-color: #eaead8;
	color: #594b38;
	margin-bottom: 1.5em;
}
.blog div.author p {
	position: absolute;
	top: 1.5em;
	left: 65px;
}

/* comments */
.blog ol.commentlist li {
	margin: 0 0 0.6667em 0;
	border-bottom: 1px solid #e3e3ca;
	color: #828076;
	font-weight: bold;
	list-style-type: none;
}
#comment-3 {
	background-color: #eaead8;
	padding: 1em 1em 0.5em 1em ;
}
	
	.blog ol.commentlist p, .blog ol.commentlist cite, .blog ol.commentlist span {
		font-weight: normal;
		color: #424140;
	}
	.blog ol.commentlist li cite {
		font-weight: 700;
		font-style: normal;
	}
	.blog ol.commentlist li small {
		font-style: italic;
		font-weight: normal;
	}
	.blog ol.commentlist li p { margin-bottom: 0.75em; }
	.blog textarea {
		width: 100%;
		height: 10.1667em;
		font-size: 12px;
	}
	

/* overwrite wordpress defaults */
.blog ul, .blog ol, .blog .body ul li, .blog .body ol li { margin-bottom: 1.5em; }
	.blog .body ul li, .blog .body ol li {
		list-style-position: outside;
		padding: 0 12px;
		margin-left: 16px;
	}
.blog #content .navigation { color: #828076; }
.blog #content .navigation a {
	color: #828076;
	border-bottom: 1px dotted #828076;
}
.blog .more-link {
	display: block;
	margin-top: 1.5em;
	border: none;
}
.blog .more-link span { border-bottom: 1px dotted #6d8946; }

/* other styles */
.blog .align_right {
	float: right;
	padding: 0 0 4px 10px;
}

.digg {
	padding-bottom: 8px;
	text-align: right;
}

/* added by tyler july 30 2008 */

body.blog #content div.left_column {
	width: 450px;
	padding-right: 270px;
}

p.caption {
	margin: -9px 0 27px 0;
}
	
/* ============ */
/* = thickbox = */
/* ============ */

/* Default skin for Thickbox interface */

/* All types */

/* building blocks */
#tb-dim {
	background-color: #000000;
    opacity: 0.8; /* also change for IE at bottom of this doc */
}
#tb-dim:empty {
	background-color: transparent;
	opacity: 1;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQI12NgYGA4CwAA0gDOpxOBvQAAAABJRU5ErkJggg==);
}
#tb-loading {
    xbackground: url(jquery.thickbox.spinner.gif) no-repeat 50% 50%;
}
#tb-modal {
}
#tb-content, #tb-modal{
	overflow: hidden;
	opacity: 1;
}
#tb-title {
	display: none;
    xpadding: 0 10px 13px 0;
}
#tb-close a { /* image replacement */
    position: absolute;
    top: 23px;
    right: -8px;
    z-index: 999;
    overflow: hidden;
    width: 26px;
    height: 26px;
    line-height: 30px;
    text-indent: 1000px;
	background: url('/media/portfolio/x.png') no-repeat;
	border: 0;
	cursor: pointer;
}
* html #tb-close a {
	background-image: none;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/media/portfolio/x.png', sizingMethod='image');
	right: 0px;
}

/* Specific types: ajax, confirm, external, image, inline. The modal window belongs to a class of one of these types. */

/* confirm */
.tb-confirm #tb-content a { color: #666; }
#tb-confirm { float: left; }
#tb-cancel { float: right; }

/* external */
.tb-external #tb-content iframe {
    padding: 0;
    width: 100%;
}

/* image */
.tb-image #tb-content img { display: block; }
#tb-browse {
    padding: 12px 0 0;
    text-align: center;
}
#tb-next { float: right; }
#tb-prev { float: left; }
#tb-browse em { font-style: normal; }


/* IE fixes - WARNING: do not group selectors, otherwise IE 6 will ignore complete rule (because of the + combinator) */
* html #tb-dim { /* @ IE 6 & IE 7 Quirks Mode */
    filter: Alpha(Opacity=80);
}
*:first-child+html #tb-dim { /* @ IE 7 Standards Mode */
    filter: Alpha(Opacity=80);
}



/* Minimum requirements */
html, body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}
html>body #tb-dim, html>body #tb-loading, html>body #tb-modal { /* IE 7 should always use fixed positioning, thus override IE 6 hack (also applied by IE 7 in Quirks Mode) with higher specificity */
    position: fixed;
}
#tb-dim {
    top: 0;
    left: 0;
    z-index: 9998;
    width: 100%;
    height: 100%;
}
#tb-loading, #tb-modal {
    top: 50%;
    left: 50%;
}
#tb-loading {
    z-index: 9999;
    margin: -25px 0 0 -25px;
    width: 50px;
    height: 50px;
}
#tb-modal {
    display: none;
    z-index: 10000;
}
#tb-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
}

/* IE 6 specific */
* html #tb-dim, * html #tb-loading, * html #tb-modal {
	position: absolute;
}
* html #tb-dim iframe { /* hide selects in IE 6, iframe is not required and not present in IE 7 */
    width: 100%;
    height: 100%;
    filter: Alpha(Opacity=0);
}
