/* bundlua @ 2008-01-31 01:49:57 */

/* --- structure.css --- */
@media screen
{
  #body {
    border-top: 1px solid white;
  }
  #content {
    width: auto;
    background: #fcfcff ;
    padding: 0 6px .5em 12px;
	overflow: visible;
	min-width:750px;
	clear: both!important;
	top:1em!important;
	margin-bottom:1em!important;
  }

  #maincontent {
    float: left;
    width:70%;
    padding-right:1px;
    margin:0 5px 0 0;
    background-color:transparent;
  }

// center layout

  div#flow{ 
    overflow: visible !important;
    width:60%;
    padding:0 0 20px 0;
    margin:0 0 0 0;
  }
  
  div#flow div#tab {
    cursor: default;
  }

  div.nav  {
    background:#fff none repeat scroll 0%;
	position:relative;
    background: #fff;
    margin-bottom:1em;
    width:auto!important;
    border:0px solid #CAD6E8 ;
	padding:1em 0 1.5em 0;

  }

  #col3 {
    float:right;
    width:0%;
    margin:0;
    padding:0;
  }

  #footer {
    font-size:.8em;
 	text-align:center; 
	color:#777;
	clear:both;
	line-height:1.6em;
	margin-top:1.7em!important;
	clear:both;
	overflow:hidden;
	border-top:10px solid #fff;
  }

/*footer*/
  #tertiary {
    font-size:110%;
	background: #B0B087 url(/images/new/bargradient2.jpg) bottom right  no-repeat; 
	margin:0 2px -5px 12px;
	overflow:hidden;
	height: 2.8em;
	color:#97AFD9;
	margin-right:0;
	padding-right:0;
  }

  #standards {
    position: relative;
    top: 50px;
    text-align: center;
  }

  #topcontrols {
    clear: both;
  }

  .half {
    width: 44%;
    float: left;
    padding: 5px 2%;
    margin: 0px 0px 5px 0px;
    overflow: hidden;
  }
 .wrap {
	position:relative;
  margin-bottom: 15px;
 }
 
 #flow #tab .industrybrains {
   padding: 10px 3.5% 15px;
 }
 #flow #tab .industrybrains table {
   margin: 0;
 }
 #flow #tab .industrybrains td {
   border-style: none;
 }

  /* Forces blocks to enclose their floated children */
  .clearfix:after { /* This can be replaced by the alternative fix below if it doesn't kill CatFish */
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  }

  /* This alternative fix works fine, but it's disabled to troubleshoot CatFish */
  /*.clearfix {
    overflow: hidden;
  }*/

  /* Don't know why we'd need this rule, but it was here when CatFish worked */
  .clearfix {
    display:block;
	position:relative
  }

  * html .clearfix { /* This should be moved to ie.css, as IE7 doesn't support * html */
    height: 1%;
  }

  #tab div.wrap {
    border: 1px solid #CAD6E8;
    background-color: #fff;
    /*margin-top: 15px;*/
  }
  
}

/* ***************************************************************************** */

/* --- standard.css --- */
body{ /* set the relative font size of IE5-5.5 differently to everything else, and we scale it from there */
  background: #fff;
  line-height: 1.1;
  color: #555;
  font: small Verdana, Geneva, Arial, Helvetica, sans-serif;
}

/*Global Whitespace Reset*/
body, form, input {
padding: 0;
margin: 0;
}
/*
form {
display:inline
} */
/* setting form to inline messes up countless forms throughout the site in all
 */

h1, h2, h4, h5, h6, p, pre, blockquote, form, label, ul, ol, dl, fieldset, address {
  margin:20px 0;
}

dd, blockquote {
  margin-left: 40px;
}
fieldset {
  padding:10px;
}
/* end : Global Whitespace Reset*/
img {
  border: 0px none #fff;
}

h2, h3{
  color:#030;
  background: transparent;
  font-family:  'Trebuchet MS', Arial, Helvetica, sans-serif
}
h1  {
  position:relative;
  color:#030;
  font: normal 2.0em Verdana, 'Trebuchet MS', Arial, Helvetica, sans-serif
}
h2  {
  font-size:160%;
  padding:0 0;
  }

h4  {
  font:  bold 100% Verdana, Arial, Helvetica, sans-serif;
}
h5  {
  font-size:  100%;
  line-height:140%
}
h6 {
  font-weight: normal;
}
p, li {
  line-height:150%
}

a:link{
  color: #633;
  background: transparent;
}
a:visited{

  color:#4B5970;
  background: transparent;
}
a:hover{
  color: #f60;
  background: transparent;
}

acronym, abbr
{
	cursor: help;
}

address{
  padding:1.5em!important;
  font: italic bold small/1.4em  Verdana,Arial,Helvetica,sans-serif;
  color: #036;
  background: transparent;
}
blockquote{
  font: bold 13px/1.4em  Verdana, Arial, Helvetica,sans-serif;
  color: #036;
  margin: 10px 0px 10px 20px;
  background: transparent;
}
blockquote h6{
  color: #036!important;
  text-align: right;
  background: transparent;
}

t1d {
  padding: 5px 10px;
  vertical-align: top;
}
/* *********************************************** */
/* Exempt table cells inside formatted code listings */
.dp-highlighter td {
  padding: 0;
  vertical-align: baseline;
}
.dp-highlighter td.line1, .dp-highlighter td.line2 {
  padding-left: 10px;
}
.dp-highlighter td a {
  font-weight: inherit;
}
.dp-highlighter th {
  font-size: inherit;
  font-family: inherit;
  color: inherit;
}

p label {
  width: 25%;
  font-weight: bold;
  float: left;
  clear: left;
}
legend {
  font: bold small/1.4em Verdana,Arial,Helvetica,sans-serif;
  margin: 0px;
  padding: 0px;
}

code {
color: #900;
background: #FFFFFF;
font-size:115%!important;
font-family:"Courier New", Courier, mono
}

.nowrap { 
white-space:nowrap;
}
.glossary {
  text-decoration:none;
  border-bottom: 1px dashed green;
  }
a.alert:link, a.alert {
  color:#CC0033
  }


html>img /* autoscroll override for Firefox */
{
  width: 0!important;
  height: 28px!important;
  padding-left: 28px!important;
  background: url(/images/icons/autoscroll2.png);
}
div.wrap div#aboutnav ul {
list-style-position:inside;
list-style:none;
text-align:center;
padding-left:0;
padding-right:0;
}
div.wrap div#aboutnav ul li{
list-style-position:inside;
list-style:none;
display:inline;
padding:0 .5em 0 .15em;
margin:0!important;
font-size:x-small;
border-right:1px #b0c0d0 solid;
}

/* --- format.css --- */
/*preset default margins */

#recent *, div.wrap * {
margin:8px 3% 8px 3.5%;
}
#blogpreview *{
margin:2em 8px 25px 3.5%;
}
#search * *, #feature * *, #recent * *, #blogpreview * *, div.wrap * * {
margin: 0;
}
#flow #recent {
margin:0 0 15px 0
}
#col1 *, #col3 *{
position: relative;
}
#tab a
{
margin: 0;
}

/* twothirds fixes */

div.wrap .twothirds
{
margin-top: 0;
}
div.wrap .twothirds *
{
margin: 8px 0;
}

div.wrap div.twothirds * *
{
margin: 0;
}


/* column settings */

#content div h3  { /* groovy floating topright headings */
  font:  normal .9em Verdana, Arial, Helvetica, sans-serif;
  height:1em;
  padding:2px 1.5em 4px .5em;
  clear: right;
  color:#99ACCA ;
  background:transparent url(/images/new/bulletr.gif) right center no-repeat;
  margin:0;
  position:absolute;
  right:-1px;
  top:-.8em;
  border:0 none;
}


#content div h3 img {
  margin:-3px 0;
}
div#tab div.wrap{
padding: 1em 0;
}

/* sidebar nav & product stuff */

div#content div.product h3, div#content div.specialoffer h3 {
  color:#CCB4A2;
  font-size:12px;
  right:-1px;
   top:-9px;
   padding-bottom:5px;
  background:transparent url(/images/new/bulletr-br.gif) right center no-repeat;
  overflow:hidden
}

div.product a:link, div.product a:visited,
div.specialoffer a:link, div.specialoffer a:visited {
color:#730
}
div.nav *, div.product *, div.cart *, div.specialoffer * {
margin:4px 6px 6px 10px;
}
div.nav * *, div.product * *, div.specialoffer * * {
margin:0;
}
div.nav h4 { 
color: #4B5757;
}
div.nav ul, div.nav ol {
margin: 5px 0 10px 5px;
padding:5px;
font-size:77%;
font-weight:bold;
border:1px solid #B0B087;
}

div.nav li {
margin: 0 5px 5px 18px;
padding:0;
}
div.nav p {

font-size:77% ;
margin-bottom:10px;
color:#ddd;
}

/* Note use of child selector (>), which is not IE6 compatible. This is
   required to prevent interfering with code highlighting in blogs, but
   may cause problems in IE6. Convert to descendant selectors if a problem
   is noticed. */
div#flow > table, div#flow div.wrap > table {
margin: 10px 3.5% 15px 3.5%;
font-size: 80%;
border-collapse: collapse;
width: auto
}
div#flow > table td, div#flow div.wrap > table td, div#flow > table th, div#flow div.wrap > table th {
border-right: 1px solid #fff;
}
div#flow > table th, div#flow div.wrap > table th {
background-color: #fff
}

div#flow div#tab q {
font-style: italic;
}
div#tab h1#title {
padding:12px 0 24px 0!important;
line-height: 150%;
color:#58706D;
}

/* RSS buttons */

/* cross site layout knick-nacks */

.imgleft {
float: left;
clear: left;
margin-right: 10px!important;
margin-bottom: 10px!important;
}
.imgcenter {
text-align:center;
display:block;
margin-right: auto!important;
margin-left: auto!important;
margin-bottom: 10px!important;
}
#flow .imgright, #col1 .imgright, #col3 .imgright {
float: right;
clear: right;
margin-left: 10px;
margin-bottom: 10px;
margin-top: 10px;
}
.expert_author
{
color: #FF6600;
font: bold 80% Verdana,sans-serif;
}

.regular_author
{
color: #5F5F5F;
font: bold 80% Verdana,sans-serif;
}
div.wrap .line {
border-bottom: 1px solid #C0D0E0;
margin-top: 10px;
margin-bottom: 20px;
height: 0;
overflow:hidden;
clear:both ;
position: relative;
}
.noborder{
border:0px none
	}
.nomargin {
margin:0px!important;
	}
.breaker {
clear: both;
}
.clearright {
clear: right;
}
.clearleft {
clear: left ;
}
.box{
line-height:1.1;
padding-top:15px;
position: relative;
}
.wrapper{
line-height:1.1;
margin-bottom:25px;
display:block;
position: relative;
}
.wrap{
/*margin: 0px;*/
padding: 0;
clear:left;
line-height:1.1;
}
.cropme {
overflow:hidden;
width:85%;
margin:0 auto;
border:1px dashed #fafafa;
}


div#content .wrapleft{
	border:0 none;
	margin:0;
	padding:0 1em;
	line-height: 1.1;
	float:left!important;
}
div#content .wrapright{
	border:0px none;
	margin: 0 10px 10px 10px;
	text-align:right!important;
	clear:both;
}
.wrapcenter{
	border:0px none;
	margin:0px;
	padding:0px;
	text-align:center;
	clear:both;
	width:auto;
}
.wrapcenter img{
	float:none!important;
}
.rgt{
	text-align:right!important;
	padding-right:10px;
	padding-top:5px;
}
.lft{
	text-align:left!important;
	padding-left:10px;
	padding-top:5px;
}

.tiny {
	font-size:10px}
.highlight {
color: #C00!important;
font-weight: bold!important;
}
.break{
	clear:both;
}
h6.download {
	background: transparent url(/images/icons/pdf5.gif) no-repeat left top;
	padding:0 0 0 18px;
	margin:0 10px 10px 1em;
	font-weight:bold;
	height:1.7em;
	font-size:.75em;
	text-align:left;
	clear:both;

}
div#content p a.next{
	font: bold x-small Verdana,Arial,Helvetica,sans-serif;
	color: #06c;
	margin:0 15px;
	padding:0 0 0 12px;
	background: url(/images/icons/forwardc.gif) no-repeat left!important;
	background /**/: none; /* removed icon for older IEs */
}

.boxes{
	background:#F9FAF9;
	border:1px solid #c0d0e0;
	color:#333;
	margin-top: 20px;
	margin-bottom: 15px;
	padding:7px 10px 15px 10px;
	clear: both;
	overflow: hidden;
	display:none;
}
/* footer links */
#footer a:link
{color:#97AFD9;}
#footer a:hover
{color:#036!important}
#footer a:visited
{color:#97AFD9;}


#tertiary a:link
{color:#D7DEEA;}
#tertiary a:hover
{color:#fff!important}
#tertiary a:visited
{color:#C0D0E0;}

#footer p {
	margin:0 2em;
}

#tertiary ul {
	margin:0;
	background: transparent url(/images/new/block.gif) top right  no-repeat;
	margin:0 0 13px 0;
	padding:1px 0  0 0;
}
#tertiary ul li{
	display:inline;
	padding:0 4px;
}


/* Widebanner must be sized differently when article nav hidden by docknavigation.js */
div.expanded div#articlebanner div.ad {
  margin-right: -27%;
  width: 127% !important;
}

/* sidebar text ads */
#textadwrap {
}
div#textadwrap div.textad *{
 padding:0;
}
div#textadwrap div.textad ul {
  padding-left: 1em;
}
div#textad1 div.ad, div#textad2 div.ad, div#textad3 div.ad {
border: 2px none #88B800;
color: #333;
margin-bottom: 1em;
padding: 0 2% 1.5em 2%;
background: transparent url(/images/icons/deco-break.gif) bottom center  no-repeat;
}
div#textad1 h5, div#textad2 h5, div#textad3 h5{
display:list-item;
list-style-position:inside;
line-height:150%;
padding-bottom:10px;
}
div.infographic1 h5{
list-style-image:url(/images/icons/infographics-1.gif);
}
div.infographic2 h5{
list-style-image:url(/images/icons/infographics-2.gif);
}
div.infographic3 h5{
list-style-image:url(/images/icons/infographics-3.gif);
}
div.infographic4 h5{
list-style-image:url(/images/icons/infographics-4.gif);
}
.textad p img{
	display: inline;
	position: relative;
	float: left;
	margin:5px 5px 0px 0px;
}
div#textadwrap {
  font-size: 92%;
  line-height: 140%;
}
div#textadwrap div *{
	margin: 5px 0 0 0;
}
.textad p a{
	color:#333!important;
	text-decoration: none;
	font-size:90%
}

.textad p a.sublink, .headad p a.sublink{
	color:#06c!important;
	text-decoration: underline;
	}
.textad p a:hover, .headad p a:hover{
	color:#00f!important;
}

/* crumbtrail */
div#tab span.crumb, div#tab div.crumb {
	color: #7C8A6E;
	background-color: transparent;
	font: bold small/1em Verdana,Arial,Helvetica,sans-serif;
	position: relative;
}
div#tab span.crumb {
	text-align:right;
	display:block
}
.crumb a{
	color: #7C8A6E;
	background-color: transparent;
}
/* details box */
div#tab div.detail{
	border:1px solid #C0D0E0;
	background: #F9FAF9;
	margin:0 10px 0 10px;
	padding:0!important;
	float:right;
	width:170px;
}
div#tab div.detail ul{
	background: #F9FAF9;
}
div#tab div.detail li{
font-size:70%;
line-height:170%;
margin-left:1em;
padding-left:1em;
}
/* featured product in col3 of some pages */
div.product div#featuredproduct *
{
	margin-top: 10px;
	margin-bottom: 10px;
}
div.product div#featuredproduct * *
{
	margin-top: auto;
	margin-bottom: auto;
}
/* newsletter pages */
div#newsletterlist h4 {
padding-bottom: 10px;
}

div#tab p a#fancy {
text-align: center;
margin: 0 auto 20px auto;
display: block;
text-decoration: none;
background:url(/images/icons/buy_now4.gif) no-repeat center bottom;
font-size: 85%;
font-weight: bold;
padding-top: 1px;
width:220px;
height:23px;
color: #000;
clear:both;
vertical-align: baseline;
}

div#tab p a#fancy:visited{
color: #000;
display: block;
}
div#tab p a#fancy:hover{
color: #000;
background:url(/images/icons/buy_now4.gif) no-repeat center top;
}

div#tab pre.code
{
margin-top: 18px;
margin-bottom: 18px;
padding: 6px;
background: #F9FAF9;
overflow: auto;
}


div#flow div#tab p{
line-height: 140%;
}

#stats ul, #stats ul li {
	margin:0.4em 0;
	padding: 0;
	list-style:none
}


/* caps emphasis */
strong.caps
{
	text-transform:uppercase;
	font-weight:normal;
}


/* don't style abbreviations */
abbr
{
	font-style:normal;
	border:none;
}









.nobreak { white-space:nowrap /* keep on same line*/
}



/* --- tabs-v5.css --- */
/* nav bar */

div#navcontainer
{
//	background: #339967;
	margin: 20px 0 32px 0;
 }	
}


div#tertiary
{
	overflow: hidden;
	margin: 0 1% 10px;
}

ul#navlist
{
	display: block;
	padding: 0;
	margin: 0;
	float: left;
}

ul#navlist li
{
	display: block;
	float: left;
	position:relative
}

ul#navlist li a
{
	display: block;
	float: left;
	padding: 8px 8px;
	text-decoration: none;
	font-family: Tahoma, Verdana, Arial, sans-serif;
	font-size: 114%;
	color: #CCDDEE;
	border: 1px solid #446688;
	border-width: 0 1px 1px 0;
	white-space: nowrap;
}

ul#navlist li a:hover
{
	background: #446688 url(/images/new/navbarhighlight1.png);
	color: #FFFFFF;
}

ul#navlist li a.active
{
	color: #fff;
	font-weight: bold;
}

d1iv#navcontainer form
{
	display: block;
	float: right;
	margin: 0;
}


d1iv#navcontainer form input
{
	border-width: 1px;
	vertical-align: top;
	font-size: small;
	padding: 0;
	font-family: Tahoma, sans-serif;
}

form#search
{
	top:1em;
	position:absolute;
	right:0;
	margin: 0;
	padding: 1em 0 0 0;
	width:32em;
	font-family: sans-serif;
}
form#search input
{
	float:left; 
		padding: 0;
}
form#search label
{
float:left;
margin: 1em 0 ;
background: transparent url(/images/new/searchme.png) left center no-repeat; 
overflow:hidden;
padding-left:16px;
width:0;
height:19px;
white-space:nowrap
}

form#search input#mainsearchbox
{
	width: 48%;
	margin:1em 1em 0 .5em ;
}
form#search input.button
{
margin:1em 0;
font-family: sans-serif;
}
ul#searchlinks
{
	margin:  .4em -1em 0 5px;
	padding: 0;
	float:left;
	height:3.5em;
}

ul#searchlinks li
{
	margin:.3em 0 0 0;
	line-height:70%;
	list-style: none;
}
ul#searchlinks li a
{
	font-family: Arial, sans-serif;
	font-size: xx-small;
}


/* logo styling */

#header h1
{
	margin: 10px 25px;
	font-weight: bold;
	height: 67px;
	font-size: 26px;
}

#header h1 span
{
	background: url(/images/new/logo.gif) left top no-repeat;
	min-width: 209px;
	width: 50%;
	height: 67px;
	position: absolute;
}


/* stats */

#stats ul, #stats ul li {
	margin: 5px 0 0;
	padding: 0;
	list-style:none;
}

/* footer */
}
/* --- print.css --- */
/* this is a print style sheet - no pixel measurements! */

@media print {

	body {
    background-color: #fff;
    color: #000;
		word-spacing:.3em;
	}

	a {
		word-spacing:.5em;
		padding: 0 1em;
	}

	div#dostuff, div#adz, div#tab div.product, #skip, #search, #col1, #col3, #textadwrap, #crumbbox, #stats, #footer, #topcontrols, #dostuff, #news, #navcontainer,  .h3insert, .product, #stats
	{
	  display: none;
	}
	#header{
		position:relative;
		height:2em;
		}
	#header h1
	{
		margin:10px 10px 15px 10px;
		width: 160px;
		height:50px;
		display: list-item;
		list-style-image: url(/images/sitepoint-logo.gif);
		list-style-position: inside;
		letter-spacing:-1000em;
		color: #fff;
		font-size:1%;
	}
	div.line {display:none}

	#header h1 span
	{
		display:none;
	}


	#tabbar
	{
	  height: 0;
		width: 100%;
		border: 0 none!important;
		color:#FFFFFF;
		background-color:#FFF;
		margin:0!important
	}
	#tab p, #tab li
	{
	  font-family: Georgia, Times, "Times New Roman", serif;
	  font-size:x-small;
	  margin-left:0!important;
	 margin-right:0!important;
	color:#000;
	}
	.glossary {
		position:relative;
		color:#000000;
		text-decoration:none
		}

	div#tab h1
	{
	  margin-left:0!important;
	  font-size:x-large;
	  margin-top:2em;
	  padding-bottom:.3em
	}

	div#tab h4
	{
	  position:static;
	}
	div#tab h5
	{
	  border-bottom: 1px dotted #c0d0e0;
	  font-size:medium;
	  margin-top:2em;
	  padding-bottom:.3em;
	   margin-left:0!important;
	}
	div#bio {
		width:25%;
		padding:2%!important;
		float:right;
		margin:3% 0 0 2%
	}
	div#bio h4, div#bio p {
		margin:1em!important;
	}
	div#bio img{
		float:left;
		margin-right:1em;
	}
	div#bio p {
		font-size:x-small
	}

	div#bio p, .crumb{
		font-size:x-small
	}


	.boxes
	{
	  border: 1pt solid #c0d0e0;
	}
	#banner .tagline
	{
	  padding: 0.9cm 0.4cm 0.4cm 0;
		margin: 0;
		text-align: right;
		border:1px dashed red;
	}

	.browserwarning
	{
		display: none;
	}

}

/* --- index.css --- */
   #newcontent {
    position:relative;
	padding:0!important
  }
  #feature {
    border:1px solid #CAD6E8 ;
    width:72%;
    margin:0 0 1.5em 0;
    padding:0 0 15px 0!important;
    position:relative;
	height: auto;
	background:#fff;
	top:0
  }
  #blogpreview {
    position:absolute;
    width:26%;
    border:1px solid #CAD6E8 ;
    right:0;
    top:0;
    padding:0;
    background: #fff ;
  }
  #recent {
    background: #fff ;
    width:62.2%;
    padding:.6em 0;
    border: 1px solid #CAD6E8;
	position:relative;	
  }


/* FEATURE BOX */
#feature h1 {
margin:1em 4% 10px 3%;
}
#feature h5 {
font-size:1.1em;
margin:0 4% 1em 3%;
}
#feature p  {
margin:0 4% 1.1em 3%;
font-size:1.0em;
line-height: 150%;
color:#666;
}
#feature p.hook  {
font-weight:700
}
#feature h1 a {
text-decoration:none;
}
#feature img {
float:right;
margin:2em 25px 0 1em;
display:inline
}
#flow {
border:0 none ;
padding-bottom:0!important
}
#tab{
border:0 none;
padding-bottom:0!important
}
/* #recent  */

#recent * {
margin : 0 15px 
}
#recent * *{
margin :0;
}
#recent h4 {
display:block;
margin-top:15px
}	

#recent h4 span{
display:block;
margin:10px 0 10px 0
}
#recent h4 span span{
display: inline;
}

#col1 p.xhtml {
margin: 10px auto;
text-align:center;
} 

#nlblurb p.wrapleft {
	white-space:nowrap; /* solves an IE problem */
}
div#blogpreview h5 a.blogpost
{
display:block
}
div#blogpreview h5
{
padding:1px;
}
div.half {
height:7.5em;
overflow:visible; 
}
div.half p {
font-size:80%;
font-weight:700;
}

#nlblurb p  {
padding-bottom: 0
}

div#content div#flow div.wrap p.right {
float:right;
margin-top:-3px;
}
