/* =MAIN LAYOUT
---------------------------------------------------- */
* {
    padding: 0;
    margin: 0;
    }

body {
    color: #fff;
    text-align: center;
    font: normal 12px/18px "Lucida Grande", arial, verdana, helvetica, sans-serif;
    background: #3d586b url(/images/bg_all.gif) repeat-x;
	}
#wrap {
    width: 960px;
    margin: 0 auto;
    text-align: left;
    }
#header {
    background: #0e1316 url(/images/bg_header.gif) bottom no-repeat;
    }
#header h1 {	
	float: left;
	}
#header h1 a, #header h1 a:hover {
	display: block;
	border: 0;
	padding: 0;
    background: none;
	}
#headline {
    background: url(/images/bg_headline.png) bottom no-repeat;
    padding: 10px 20px 25px 20px;
    }

/* Disabled the background in IE6 because the png wasn't acting nicely. */
* html #headline {
    background: none;
    }
*html div.content-pad,
*html div.sidebar-pad {
    padding: 20px;
    }
*html #headline {
    padding-bottom: 5px;
    }
    
#headline div.intro {
    float: left;
    width: 630px;
    font-size: 11px;
    line-height: 19px;
    color: #ccc;
    padding: 15px 0;
    }
#reflect-banner {
    float: right;
    padding: 10px 0 0 0;
    }
div.intro p {
    margin: 0;
    }
#main {
    background: #fff url(/images/bg_main.png) repeat-y;
    padding: 0;
    }
#content {
    color: #333;
    width: 670px;
    float: left;
    padding: 0 0 20px 0;
    }
div.content-pad {
    padding: 5px 20px;
    }
div.col-1 {
    float: left;
    width: 180px;
    color: #666;
    font-size: 11px;
    line-height: 15px;
    }  
div.col-2 {
    float: right;
    width: 410px;
    padding: 0 0 0 20px;
    border-left: #ccc dotted 1px;
    }
#fbf div.col-2 {
    float: left;
    margin: 0 0 0 20px;
    display: inline;
    border-left: #999 dotted 1px;
    }
#fbf div.col-3 {
    float: left;
    display: inline;
    width: 240px;
    margin: 0 0 0 20px;
    border-left: #999 dotted 1px;
    padding: 0 0 0 20px;
    }
#sidebar {
    color: #ddd;
    width: 290px;
    float: left;
    font-size: 11px;
    line-height: 17px;
    min-height: 300px;
    background: url(/images/bg_sidebar.png) top left no-repeat;
    }
div.sidebar-pad {
    padding: 5px 20px;
    }
#fbf {
    background: #ddd url(/images/bg_fbf-top.gif) top left no-repeat;
    padding: 20px 20px 10px 20px;
    color: #666;
    font-size: 11px;
    line-height: 17px;
    }
#footer {
    background: url(/images/bg_fbf-bottom.gif) top left no-repeat;
    padding: 30px 20px;
    font-size: 10px;
    color: #ddd;
    }
#footer a {
    color: #ddd;
    }
#footer a:hover {
    color: #fff;
    border-bottom: #fff solid 1px;
    }

/* Post */

div.post {
    border-bottom: #ccc dotted 1px;
    margin: 0 0 15px 0;
    padding: 0 0 5px 0;
    }
div.post p.stamp {
    color: #999;
    background: url(/images/bullet.gif) left no-repeat;
    padding: 0 0 0 15px;
    }
.author {
    color: #999;
    font-weight: normal;
    white-space: nowrap;
    }
div.post h2 {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 5px 0;
    }
div.post h2.permalink {
    margin: -5px 0 20px 0;
    font-size: 22px;
    }
a.comments {
    background: url(/images/icon_comment.gif) left no-repeat;
    padding: 0 0 0 15px;
    }
a.comments:hover {
    background-color: transparent;
    color: #000;
    }

/* =NAV
---------------------------------------------------- */

#nav {
    float: left;
    margin: 32px 0 0 20px;
    }
#nav ul {
    list-style: none;
    width: 700px;
    float: left;
    }
#nav ul li {
    list-style: none;
    float: left;
    margin: 0 25px 0 0;
    padding: 0 0 5px 0;
    display: inline;
    background: none;
    }
#nav ul li.client-login {
    float: right;
    margin: 0;
    }
#nav ul li.client-login a {
    color: #999;
    }
#nav ul li a {
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    padding: 0 0 3px 0;
    border-bottom: transparent solid 0px !important;
    }
#nav ul li a:hover {
    color: #66cc33;
    background: none;
    }
#nav ul li a:active {
    color: #666;
    }
#nav ul li a.active {
    border-bottom: #66cc33 solid 1px !important;
    }

ul.subnav {
    list-style: none;
    margin: 0 0 15px 0;
    }
ul.subnav li a.active, ul.subnav li a.active:hover {
	border: 0 !important;
	font-weight: bold;
	text-shadow: 3px 3px 2px #444;
	color: #fff !important;
	}

/* =HEADERS
---------------------------------------------------- */

h2.graphic {
    text-indent: -9999px;
    width: 630px;
    float: left;
    background-position: 0 0;
    background-repeat: no-repeat;
    }
h2.home {
    height: 60px !important;
    background-image: url(/images/headline_home.png);
    }
* html h2.home {
    background-image: none; filter: progid:DXImagetransform.Microsoft.AlphaImageLoader(enabled="true", src="/images/headline_home.png", sizingMethod="crop");
    margin: 0 !important;    
    }
h2 {
    font-size: 22px;
    line-height: 22px;
    margin: 0 0 10px 0;
    padding: 5px 0 0 0;
    color: #000;
    font-weight: normal;
    }
h3 {
    font-size: 18px;
    line-height: 22px;
    margin: 0 0 5px 0;
    padding: 5px 0 0 0;
    color: #333;
    font-weight: normal;
    }
h3.alt {
    font-size: 14px;
    color: #666633;
    margin: 0;
    padding: 0;
    font-family: georgia, times, serif;
    }
#sidebar h3 {
    color: #fff;
    font-size: 12px;
    padding: 0;
    border-bottom: #555 solid 2px;
    text-shadow: 3px 3px 2px #444;
    text-transform: uppercase;
    margin: 0 0 10px 0;
    }
h4 {
    text-transform: uppercase;
    color: #999;
    font-weight: normal;
    font-size: 11px;
    line-height: 12px;
    margin: 0 0 10px 0;
    }
#sidebar h4 {
	color: #fff;
	text-shadow: 3px 3px 2px #444;
	}

#fbf h4 {
    color: #333;
    font-weight: bold;
    text-transform: none;
    font-size: 12px;
    }
ul.structured h4 {
  margin: 15px 0 0 0;
  padding: 0;
  font-size: 14px; 
  line-height: 18px;
  color: #666633;
  text-transform: none;
  font-weight: bold;
}

h2 a, h3 a {
    border: 0;
    }

/* =LINKS
---------------------------------------------------- */

a {
    outline: none;
    color: #3d586b;
    text-decoration: underline;
    border-bottom: #ccc solid 1px;
    }
a:hover {
    border-bottom: #000 solid 1px;
    color: #000;
    }
#fbf a {
    border-bottom: #999 solid 1px;
    }
#sidebar a {
    color: #fff;
    border-bottom: #999 solid 1px;
    }
#sidebar a:hover {
    color: #66cc33;
    border-bottom: #66cc33 solid 1px;
    }
a img {
    text-decoration: none;
    border: 0;
    }
a.thumb {
    border: #ccc solid 2px;
    padding: 1px;
    background: #fff;
    }
a.thumb:hover {
    border: #999 solid 2px;
    }
#sidebar a.thumb {
    border: #555 solid 2px;
    }
#sidebar a.thumb:hover {
    border: #333 solid 2px;
    }
a.thumb.left {
    float: left;
    margin: 2px 10px 5px 0;
    }
a.pound {
    color: #999;
    white-space: nowrap;
    border-bottom: #ddd solid 1px;
    }
a.pound:hover {
    color: #777;
    border-bottom: #777 solid 1px;
    white-space: nowrap;
    }
a.img {
    border: 0 !important;
    }
a.more {
    background: url(/images/bg_link-more.gif) right no-repeat;
    padding: 0 10px 0 0;
    border: 0 !important;
    font-weight: bold;
    white-space: nowrap;
    }
#headline a.more {
    color: #fff;
    }
#headline a.more:hover {
    color: #66cc33;
    }
a.card {
    background: url(/images/icon_vcard.gif) 0 .6em no-repeat;
    padding: 10px 0 10px 30px;
    border: 0 !important;
    font-weight: bold;
    }

/* =LISTS
---------------------------------------------------- */

ul {
    margin: 0 0 10px 0;
    }

ul li {
    background: url(/images/bullet.gif) 0 .5em no-repeat;
    padding: 0 0 5px 15px;
    list-style: none;
    }
ol {
	margin: 0 0 10px 20px;
	}

ul.tumblelog li {
    padding: 0;
    margin: 0 0 15px 0;
    list-style: none;
    background: none;
    color: #999;
    }
ul.fbf-nav {
    margin: 0 0 5px 0;
    }
ul.fbf-nav li {
    list-style: none;
    background: url(/images/bullet_fbf-nav.gif) 0 .7em no-repeat;
    padding: 0 0 0 10px;
    }
dl.services {
    margin: 0 0 15px 0;
    }
dl.services dt {
    font-size: 12px;
    color: #fff;
    }
dl.services dt a {
    border: 0;
    }
dl.services dd {
    margin: 0 0 10px 0;
    }

dl.comments dd {
    padding: 10px;
    background: #eee;
    }
dl.comments dt {
    padding: 10px;
    margin: 0 0 10px 0;
    color: #999;
    background: url(/images/bg_dt-comments.gif) 10px 0 no-repeat;
    }
dl.comments dt.your-comment {
    margin: 0 !important;
    padding: 0 !important;
    text-indent: -9999px;
    }

dl.form dd {
    padding: 0;
    margin: 0 0 10px 0;
    }
dl.comment-form {
    padding: 0 10px;
    margin: 0;
    }

dl.work {
    margin: 0 0 10px 0;
    padding: 5px 0 0 0;
    }
ul li h4 abbr {
	border: 0;
}
/* -- added to fix the block level elements in DT --*/
dl.work dt {
	clear: left;
}
dl.work a, a.thumb {
	line-height: 0;
}
dl.work dt a.thumb {
    margin-top: -3px;
    }
dl.work dd {
    font-size: 10px;
    color: #999;
    padding: 0 0 20px 0;
    }
dl.work dt p {
    margin: 0;
    padding: 0;
    }
dl.work p.title {
    font-size: 12px;
    padding: 5px 0 3px 0 !important;
    margin: 0;
    }
dl.work dt.active a {
    border-color: #333;
    color: #333;
    }

ol.numbers {
    margin: 0 0 10px 0;
    }
ol.numbers li {
    list-style: none;
    padding: 5px 0 5px 25px;
    background-repeat: no-repeat;
    background-position: 0 .5em;
    }
ol.numbers li.one {background-image: url(/images/num_one.gif);}
ol.numbers li.two {background-image: url(/images/num_two.gif);}
ol.numbers li.three {background-image: url(/images/num_three.gif);}
ol.numbers li.four {background-image: url(/images/num_four.gif);}
ol.numbers li.five {background-image: url(/images/num_five.gif);}
ol.numbers li.six {background-image: url(/images/num_six.gif);}
ol.numbers li.seven {background-image: url(/images/num_seven.gif);}
ol.numbers li.eight {background-image: url(/images/num_eight.gif);}
ol.numbers li.nine {background-image: url(/images/num_nine.gif);}
ol.numbers li.ten {background-image: url(/images/num_ten.gif);}

ul.structured li {
	margin: 0;
	padding: 0;
	background: none;
    }

/* =TEXT
---------------------------------------------------- */

p {
    margin: 0 0 10px 0;
    }
small {
    font-size: 11px;
    color: #999;
    }
#list-form fieldset {
    padding: 15px 15px 5px 15px;
    margin: 10px 0;
    background: #f6f6f6;
}
div.group {
    padding: 15px 15px 5px 15px;
    margin: 10px 0;
    background: #f6f6f6;
    }
div.service {
    margin: 0 0 10px 0;
    border-bottom: #ccc dotted 1px;
    }    
blockquote {
    font-family: georgia, times, serif;
    font-style: italic;
    margin: 0 0 10px 0;
    width: 99%;
    }
blockquote p {
    margin: 0 0 5px 0;
    }
blockquote p.client {
    font-family: "Lucida Grande", arial, verdana, helvetica, sans-serif;
    font-style: normal;
    text-align: right;
    }
#content blockquote {
    color: #666;
    }
.light {
    color: #999;
    }
.vcard abbr, h3 abbr, dl.work abbr, blockquote abbr {
	text-decoration: none;
	border-bottom: none;
}
.vcard .tel .type {
	font-weight: bold;
}

/* =IMAGES
---------------------------------------------------- */
img {behavior: url(/javascripts/iepngfix.htc);}
img.left {
    float: left;
    margin: 3px 10px 0 0;
    }
img.right {
	float: right;
	margin: 0 0 0 10px;
	}
img.middle {
	vertical-align: middle;
	}
img.frame {
    border: #ccc solid 4px;
    padding: 1px;
    margin: 0 0 5px 0;
    }
#sidebar img.frame {
    border: #555 solid 4px;
    }
#fbf .col-2 img { margin: 5px 15px 0 -13px !important; }
/* =FORMS
---------------------------------------------------- */
fieldset {
	border: 0;
	outline: 0;
}
legend {
	display: none;
}
input, textarea {
    font: normal 12px/14px "Lucida Grande", arial, verdana, helvetica, sans-serif;
    padding: 2px;
    border-top: #ddd solid 1px;
    border-right: #999 solid 1px;
    border-bottom: #999 solid 1px;
    border-left: #ddd solid 1px;
    }
input.title {
    font-size: 18px;
    line-height: 20px;
    }
input.submit {
    font-size: 11px;
    background: #474747 url(/images/bg_submit.gif) bottom left repeat-x;
    color: #fff;
    padding: 3px 6px;
    border: 0;
    cursor: pointer;
    }
*html input.submit,
*:first-child+html input.submit {
    padding: 3px;
    }
input.submit:hover {
    background: #555;
    }
textarea.comment {
    background: #eee;
    }

.req-star {
    color: #cc0000;
    font-weight: bold;
    }
div.error {
    color: #cc0000;
    }
div.error h2 {
    font-size: 14px;
    font-weight: bold;
    color: #cc0000;
    margin: 0 0 5px;
    }
dd input.special {
	display: block;
	height: 0;
	width: 0;
	visibility: hidden;
	overflow: hidden;
}
/* SELF-CLEARING FLOATS
---------------------------------------------------- */
#header:after,
#main:after,
#headline:after,
#fbf:after {
	content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
    }

/* trigger hasLayout and target ie5+6/win only */
* html #header,
* html #main,
* html #headline,
* html #fbf {
	height: 1%;
	}

/* trigger hasLayout and target ie7/win only */
*:first-child+html #header,
*:first-child+html #main,
*:first-child+html #headline,
*:first-child+html #fbf {
	min-height: 1px;
	}
