body  {
	margin: 0;
	padding: 0;
	text-align: center;
	background-color: #001701;
	background-image: url(../images/bg_grad_strip.jpg);
	background-repeat: repeat-x;  
}

#outside_header {
  position:absolute;
  top: 0;
  left:0;
  border:none;
  height:600px;
  width:100%;
  background-image: url(../images/main_bg.jpg);
	background-repeat: no-repeat;
	background-position: top center;
}



/* layout divs*/

#outerwrapper {
	width: 800px;
	margin: 0 auto; /* the auto margins (in conjunction with a width) center the page */
	text-align: left; /* this overrides the text-align: center on the body element. */
}	

.twoColFixLtHdr #container {
	width: 780px;  /* using 20px less than a full 800px width allows for browser chrome and avoids a horizontal scroll bar */
	margin: 0 auto; /* the auto margins (in conjunction with a width) center the page */
	text-align: left; /* this overrides the text-align: center on the body element. */
	position: relative;
	
} 

.twoColFixLtHdr #header { 
	padding: 0 10px 0 20px;
	height:220px;  /* this padding matches the left alignment of the elements in the divs that appear beneath it. If an image is used in the #header instead of text, you may want to remove the padding. */

} 

.twoColFixLtHdr #header h1 {
	margin: 0; /* zeroing the margin of the last element in the #header div will avoid margin collapse - an unexplainable space between divs. If the div has a border around it, this is not necessary as that also avoids the margin collapse */
	 /* using padding instead of margin will allow you to keep the element away from the edges of the div */
}

.twoColFixLtHdr #sidebar1 {
	margin-top: 5px;
	float: left; /* since this element is floated, a width must be given */
	width: 242px;
	padding:0;
	 /* the actual width of this div, in standards-compliant browsers, or standards mode in Internet Explorer will include the padding and border in addition to the width */
	 /* the background color will be displayed for the length of the content in the column, but no further */
}

#maincontent_holder {
	width: auto;  /* using 20px less than a full 800px width allows for browser chrome and avoids a horizontal scroll bar */
	float:left;
	margin-top: 5px;
} 

.twoColFixLtHdr #sidebar1_header {
	float: left; /* since this element is floated, a width must be given */
	/* the background color will be displayed for the length of the content in the column, but no further */
	height: auto;
	background-image: url(../images/green_grad.jpg);
	background-repeat: repeat-x;
	padding:10px;
	width: 222px;
}


.twoColFixLtHdr #sidebar1_text {
	float: left; /* since this element is floated, a width must be given */
	 /* the background color will be displayed for the length of the content in the column, but no further */
	padding: 20px 10px 15px 10px;
	width: 222px;
	height: auto;
}

.twoColFixLtHdr #mainContent { 
	position: relative;
	margin: 7px 0px 0px 250px; 
	padding: 5px 20px 20px 20px; 
	background-color: #FFF;
	background-image: url(../images/bodycontent_grad.jpg);
	background-repeat: repeat-x;
	background-position: bottom;
	
}

.twoColFixLtHdr #mainContent_portfolio { 
	margin: 0px 0 0 0px; /* the left margin on this div element creates the column down the left side of the page - no matter how much content the sidebar1 div contains, the column space will remain. You can remove this margin if you want the #mainContent div's text to fill the #sidebar1 space when the content in #sidebar1 ends. */
	padding: 5px 20px 20px; /* remember that padding is the space inside the div box and margin is the space outside the div box */
	background-color: #FFF;
	background-image: url(../images/bodycontent_grad.jpg);
	background-repeat: repeat-x;
	background-position: bottom;
}

#small_footer {
	margin-top: 5px;
	border-top: solid 2px #FFF; 
	float: right;
	height: 30px;
	width: 530px;
	text-align: left;
	padding: 0px 0px 0px 0px;
}

#large_footer {
	margin-top: 5px;
	border-top: solid 2px #FFF; 
	float: right;
	height: 30px;
	width: 780px;
	text-align: left;
	padding: 0px 0px 0px 0px;
}


.footer_tab {
	background-color: #FFF;
	float: right;
	height: 20px;
	text-align: right;
	width:auto;
	padding: 0px 5px 0px 5px;
	margin-left: 5px;
	color:#000;
}

.footer_tab:hover {
	background-color: #999999;
	float: right;
	height: 20px;
	text-align: right;
	width:auto;
	padding: 0px 5px 0px 5px;
	margin-left: 5px;
	color:#000;
}
 
.twoColFixLtHdr #footer { 
	padding: 10px 0px 10px 20px; /* this padding matches the left alignment of the elements in the divs that appear above it. */
	 text-align:right;

} 
.twoColFixLtHdr #footer p {
	margin: 0; /* zeroing the margins of the first element in the footer will avoid the possibility of margin collapse - a space between divs */
	padding: 10px 0; /* padding on this element will create space, just as the the margin would have, without the margin collapse issue */
}
.fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
	float: right;
	margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
	clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}


/* NAVIGATION */

#navigation { 
	position:relative;
	height: 55px;
	text-align:right;
	margin:0px 0px 0px 0px;
	width: 100%;
} 

#nav {
	font-family: Helvetica, Arial, sans-serif;
	float:left;
	line-height:1;
	list-style-type:none;
	margin:2px 0px 2px 0px;
	padding-left:250px;
	width:540px;
	display:inline;
}
	
	
#nav ul {
	font-family: Helvetica, Arial, sans-serif;
	float:left;
	width: 550px;
	margin: 0px;
	padding: 0px;
	line-height:1;
	list-style-type:none;
	display:inline;
}

#nav li {
	margin: 0px;
	padding: 0px;
	float:left;
}
	
	
#nav li a {
	float:left;
	height: 18px;
	padding-top: 35px;
	display:block;
	text-decoration:none;
	font-size: 13px;
	text-align: center;
	margin-right: 8px;
	color:#333;
}
	
#nav li a.home {
	display:block;
	width: 64px;
	text-decoration:none;
	background-image: url(../images/new_nav/ws_nav_home.gif);
	background-repeat: no-repeat;
	background-position: 0 0;	
}
	
#nav li a.home:hover {
	background-position: 0 -55px;	
}
	
#nav li a.home.selected {
	background-position: 0 -110px;	
	color:#999;
}
	
#nav li a.design {
	display:block;
	width: 73px;
	text-decoration:none;
	background-image: url(../images/new_nav/ws_nav_design.gif);
	background-repeat: no-repeat;
	background-position: 0 0;	
}
	
#nav li a.design:hover {
	background-position: 0 -55px;	
}
	
#nav li a.design.selected {
	background-position: 0 -110px;
	color:#999;	
}
	
	
#nav li a.dev {
	display:block;
	width: 122px;
	text-decoration:none;
	background-image: url(../images/new_nav/ws_nav_dev.gif);
	background-repeat: no-repeat;
	background-position: 0 0;	
}
	
#nav li a.dev:hover {
	background-position: 0 -55px;	
}
	
#nav li a.dev.selected {
	background-position: 0 -110px;
	color:#999;	
}
	
#nav li a.hosting {
	display:block;
	width: 74px;
	text-decoration:none;
	background-image: url(../images/new_nav/ws_nav_hosting.gif);
	background-repeat: no-repeat;
	background-position: 0 0;	
}
	
#nav li a.hosting:hover {
	background-position: 0 -55px;	
}
	
#nav li a.hosting.selected {
	background-position: 0 -110px;
  color:#999;	
}
	
#nav li a.folio {
	display:block;
	width: 81px;
	text-decoration:none;
	background-image: url(../images/new_nav/ws_nav_folio.gif);
	background-repeat: no-repeat;
	background-position: 0 0;	
}
	
#nav li a.folio:hover {
	background-position: 0 -55px;	
}
	
#nav li a.folio.selected {
	background-position: 0 -110px;
	color:#999;	
}
	
#nav li a.contact {
	display:block;
	width: 75px;
	text-decoration:none;
	background-image: url(../images/new_nav/ws_nav_contact.gif);
	background-repeat: no-repeat;
	background-position: 0 0;	
}
	
#nav li a.contact:hover {
	background-position: 0 -55px;	
}
	
#nav li a.contact.selected {
	background-position: 0 -110px;
	color:#999;	
}
	
/* footer links */
#button {
	list-style: none;
	display: inline;
	width: 100%;
}

#button ul {
	list-style: none;
	display: inline;
	margin-left: 0px;
	border: none;
	font-size: 12px;
	padding:0px 0px 0px 5px;	
	
}
#button li {
  list-style: none;
  display: inline;
}
#button li a {
	list-style: none;
	display: inline;
	padding: 3px 8px 3px 0.5em;
	color: #4A4A4A;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #333;
	text-transform: lowercase;
	text-decoration: none;	 
}
#button li a:hover {
	list-style: none;
	display: inline;
	padding: 3px 8px 3px 0.5em;
	color: #DDD;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #333;
	text-transform: lowercase;
	text-decoration: underline;
}
#button li a.selected {
	list-style: none;
	display: inline;
	padding: 3px 8px 3px 0.5em;
	color: #DDD;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #333;
	text-transform: lowercase;
	text-decoration: underline;
}


/* TYPOGRAPHY */

body  {
	color: #333333;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 18px;
	text-decoration: none;
}

h1  {
	color: #009900;
	font-size: 22px;
	line-height: 18px;
	text-decoration: none;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #009900;
	padding-top:10px;
	padding-bottom: 10px;
	font-weight: normal;
}


h2  {
	color: #333333;
	font-size: 18px;
	line-height: 15px;
	text-decoration: none;
}

h3  {
	color: #009900;
	font-size: 18px;
	line-height: 20px;
	text-decoration: none;
	font-style: italic;
	font-weight: normal;
}

h4 {
	color: #009900;
	font-size: 14px;
	line-height: 16px;
	margin-bottom:0;
	padding-bottom:0;
	font-weight: normal;
}
.sidecolumn_white_italic_large  {
	color: #FFF;
	font-size: 18px;
	line-height: 24px;
	text-decoration: none;
	font-style: italic;
	font-weight: normal;
}

.sidecolumn_links  {
	color: #999999;
	font-size: 12px;
	line-height: 15px;
	text-decoration: none;
	font-weight: normal;
	border-bottom: dotted 1px #009900;
	padding: 0 0 10px 0;
}

.sidecolumn_links a:link, .sidecolumn_links a:visited, #sidebar1_text a:link, #sidebar1_text a:visited   {
	color: #999999;
	text-decoration: none;
}
.sidecolumn_links a:hover, .sidecolumn_links a:active, #sidebar1_text a:hover, #sidebar1_text a:active  {
	color: #999999;
	text-decoration: underline;
}

input {
  width: 250px;
  color: #006600;
  font-size: 14px;
}

textarea {
  width: 250px;
  color: #006600;
  font-size: 14px;
}

.body_lighter  {
	color: #999999;
	font-size: 12px;
	line-height: 16px;
	text-decoration: none;
}

.body_green  {
	color: #006600;
	font-size: 12px;
	line-height: 16px;
	text-decoration: none;
}


.rails_package_title  {
	color: #FFF;
	font-size: 14px;
	line-height: 19px;
	text-decoration: none;
	font-weight: normal;
}

.website_title  {
	color: #006600;
	font-size: 14px;
	line-height: 19px;
	text-decoration: none;
	font-weight: normal;
}

.seperator  {
	border-bottom: dotted 1px #009900;
	padding: 0 0px 10px 0;
	width:200px;
	display: block;
}

#seperator_websites  {
	border-bottom: dotted 1px #009900;
	padding: 0 0px 10px 0;
	width:430px;
}

	
.url_portfolio  {
	color: #333333;
	font-size: 14px;
	line-height: 19px;
	text-decoration: none;
	font-weight: normal;
}

.url_portfolio:hover  {
	color: #333333;
	text-decoration: underline;
}	

.footer_a  {
	color: #000;
	font-size: 10px;
	line-height: 16px;
	text-decoration: none;
}
.footer_a:hover  {
	color: #000;
	text-decoration: underline;
}	


/* portfolio layout */
.portfolio_site {
	float: left;
	width:365px;
	height: 210px;
}

.portfolio_site .image {
	float: left;
	width: 345px;
	height: 100px;
	background-color:#333333;
	color:#33CC00;
	border:1px solid #333333;
}

.ps_left .image {
	margin:20px 0 10px 0px;
}

.ps_right .image {
	margin:20px 0 10px 20px;
}

.portfolio_site .image img {
	width: 345px;
	height: 100px;
}

.ps_left .title, .ps_left .description {
	margin: 0 20px 0 0;
	padding: 0px;
}

.ps_right .title, .ps_right .description {
	margin: 0 20px 0 20px;
	padding: 0px;
}

.portfolio_site .title	{
	color: #006600;
	font-size: 14px;
	line-height: 19px;
	text-decoration: none;
	font-weight: normal;
}

.portfolio_site .description	{
	font-size: 12px;
}


div.cf_wrapper
{
	position: relative;
	width:225px;
	height:225px;
}

div.cf_element
{
	width: 225px;
	height: 225px;
	background-color: #eee;
	xborder:  1px solid #999;
}

div.cf_element div.content
{
	padding: 0;
}

div.cf_element div.content h3
{
	padding-top: 0;
	margin-top: 0;
}

