@import url(http://blogs.oreilly.com/headfirst/base.css);
@import url(http://blogs.oreilly.com/headfirst/screen.css);

body { 
   	font-family: Verdana, Arial, Helvetica, sans-serif;
	background: #ffffff url(http://www.headfirstlabs.com/Images/background2.gif) repeat top left;
}

#menu a, #menu a:link, #menu a:hover, #menu a:visited  { 
	border: 0;
	text-decoration: none;
}
#banner {
	position: absolute;
	top: -20px;
}
#purplebanner {
	margin: 0px;
}
#brainbanner a, #menu a:link, #menu a:hover, #menu a:visited  { 
	border: 0;
	text-decoration: none;
}
#brainbanner {
	position: absolute;
	top: 20px;
	left: 10px;
}
#coverbanner {
	float: right;
	position: absolute;
	top: 30px;
	margin: 0px 0px 0px 655px;
}
#menu {
	text-align: center;
	position: relative;
	top: -35px;
	z-index: 1;
}

b {
	color: #3f2785;	
}

#dropmenudiv{
position:absolute;
border:1px solid black;
border-bottom-width: 0;
font:normal 10px Verdana;
line-height:11px;
z-index:100;
margin-top:-20px;
padding-left:5px;
}
#dropmenudiv a{
width: 100%;
display: block;
text-indent: 3px;
border-bottom: 1px solid black;
padding: 1px 0;
text-decoration: none;
color:white;
background-color: #737373;
text-align:left;
}
#dropmenudiv a:hover{ /*hover background color*/
background-color: #3f2785;
font-weight: bold;
}

hr { display:none; }
ol, ul { list-style: none; }

a:link {
	color: #3f2785;	
	text-decoration: none;
}

a:visited {
	color: #3f2785;	
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a:active {}

/*  Sidebar Widget Styles */

.widget-left {
	margin: 0 0 20px 20px;
	
}
.widget-left h3 {
	font-weight:normal;
	margin:0;
	padding:2px 0;
	border-bottom:1px solid #666;
	text-transform:uppercase;
	font-size: 11px;
	line-height: 15px;
	width:170px;
}

.widget-left .widget-content {
	margin:0;
	padding:10px 0;
}
.widget-left .widget-content ul,
.widget-right .widget-content ul { margin: 5px 0; }
.widget-right .widget-content ul li,
.widget-left .widget-content ul li { margin-bottom: 10px; }

.widget-middle {
	margin: 0 0 20px 0;
	font-size:11px;
	font-family:verdana,arial,sans-serif;
	width:180px;
}

.widget-middle h2 {
	border-bottom:1px solid #666666;
	color:#990000;
	font-size:11px;
	font-weight:bold;
	margin:0;
	padding:0 0 5px 0;
	text-transform:uppercase;
	font-family:Verdana,helvetica,arial,sans-serif;
}

.widget-middle ul { padding:14px; }
.widget-middle ul li { list-style-type:disc; }

.widget-right {
	margin: 0 0 20px 0;	
	border: 1px solid #ae91d4;
	font-family:verdana,arial,sans-serif;
	position:relative;
	width: 212px;
}

.hfwidget {
	margin: 14px;
}

.search {
	margin: 0px 15px 0px;
}


/* styles for search autocomplete */
#search-box #autocomplete li.yui-ac-highlight {
background:#BBBBBB none repeat scroll 0 0;
}

#search-box #autocomplete .yui-ac-content {
position:absolute;
width:180px;
border:1px solid #808080;
background-color:#fff;
overflow:hidden;
z-index:9050;
}

/* styles for search autocomplete */ 
#search-box #autocomplete .yui-ac {
    position:relative;font-family:arial;font-size:100%;
}
.yui-skin-sam .yui-ac-input {
    width:180px;
}
#search-box #autocomplete .yui-skin-sam .yui-ac-container {
    position: absolute; top:1.6em;width:180px;
}
.yui-skin-sam .yui-ac-content {
    position:absolute;width:180px;border:1px solid #808080;background-color:#fff;overflow:hidden;z-index:9050;
}
.yui-skin-sam .yui-ac-shadow {
    position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity: 0.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;
}
.yui-skin-sam .yui-ac-content ul{
    margin:0;padding:0;width:180px;
}
.yui-skin-sam .yui-ac-content li {
    margin:0;padding:2px 5px;cursor:default;white-space:nowrap;
}
.yui-skin-sam .yui-ac-content li.yui-ac-prehighlight {
    background:#B3D4FF;
}
.yui-skin-sam .yui-ac-content li.yui-ac-highlight {
    background:#0000FF;color:#FFF;
}

.widget-right h3 {
	font-weight: bold;
	text-align: center;
	padding:3px 0;
    	color: #3f2785;
}
.widget-right .widget-content {
}

.widget-right ul.booklist { padding:10px; }
.widget-right ul.booklist li { list-style-type:disc; }


/* Widget Tag cloud */

.cbox { text-align: left; }

.widget-cloud a:link {
	color: #990000;
	text-decoration: none;
}

.widget-cloud a:visited {
	color:#990000;
	text-decoration: none;
}

.widget-cloud a:hover {
	text-decoration: underline;
}

.widget-cloud .widget-list {
margin: 10px 0;
}

.rightbox .widget-list {
padding-bottom: 10px;
}
.widget-cloud .widget-list-item {
display: inline;
margin: 0 5px 0 0;
padding: 0;
line-height: 22px;
background: none;
font-family: Verdana, Arial, Helvetica, sans-serif;
}

.widget-cloud .rank-1 { font-size: 22px; }
.widget-cloud .rank-2 { font-size: 20px; }
.widget-cloud .rank-3 { font-size: 18px; }
.widget-cloud .rank-4 { font-size: 18px; }
.widget-cloud .rank-5 { font-size: 15px; }
.widget-cloud .rank-6 { font-size: 11px; }
.widget-cloud .rank-7 { font-size: 10px; }
.widget-cloud .rank-8 { font-size: 10px; }
.widget-cloud .rank-9 { font-size: 10px; }
.widget-cloud .rank-10 { font-size: 10px; display: none;}


.asset-body { padding-top: 10px; }

.asset-body p { margin: 12px 0px; }


/*  Header Styles  */
/*  ----------------------------- */

#header { 
    border:0px;
}

#header1 { height:67px; }

#login {
    width:266px;
    float:right;
    margin: 36px -40px 0 0;
}
#login ul {
    list-style:none;
    padding:0;
}


#login ul li {
    font-size:0;
    text-indent:-9999px;
    float:left;
    display:inline-table; /* css 2.0 won't stack the <li>s, so we add display property */
}

#login a {
    display:block;
    margin:0;
    padding:0;
    height:22px;
    text-decoration:none; 
}

#login a.sign {
    width:54px;
    background:url(http://oreilly.com/images/oreilly/button_sign.gif) no-repeat 0 0;
}

#login a.signout {
    width:65px;
    background:url(http://oreilly.com/images/oreilly/button_signout.gif) no-repeat 0 0;
}

#login a.acct {
    width:86px;
    background:url(http://oreilly.com/images/oreilly/button_acct.gif) no-repeat 0 0;
}

#login a.cart {
    width:100px;
    background:url(http://oreilly.com/images/oreilly/button_cart.gif) no-repeat 0 0;
}

#login a.sign:hover, #login a.acct:hover, #login a.cart:hover, #login a.help:hover {
    background-position: 0 -22px;
}

/* Layout styles */
/* ------------------------- */

#container,
#container-inner,
#header,
#header-inner,
#header-content {
    width: 780px; 
    margin: 0 auto;
    text-align:left;
    padding:0px;
}

#header-content {
    height: 160px;
}

.layout-twt #alpha {
    left: 10px;
    margin:0px;
}

.layout-twt #beta {
    left: -600px;    
    width: 190px;
}

.layout-twt #gamma {
    width: 215px;
padding-right: 20px;
}

#sb1 { float:left; width:180px; }
#center-body { float:left; width:100%; padding: 0 20px 0 0; }

#container-inner {
    width: 780px;
    min-height: 100%;
    margin: 0px auto;
    text-align: left;
    overflow:hidden;
}


#content-inner,
#footer-inner {
    position: relative;
    width: 780px;
    border-top: 1px solid #d4d4d4;
}

#content {
position: relative;
background: #ffffff;
    border-left: 1px solid #d4d4d4;    
    border-right: 1px solid #d4d4d4;
top: -59px;
}

#content
#content,
#content-inner,
#alpha,
#alpha-inner { margin:0px; }


#gamma {
	width: 215px;
	font-size: 11px;
	line-height: 1.1;
}



fieldset {
    padding: 0;
    margin: 0;
    border: 0;
}

/* navigation - second level
---------------------------- */
#subnav {
    width:100%;
    background-color:#990000;
    padding:6px 0 6px 0;
    border-bottom:1px solid #990000;
    /*margin-top:expression(-2+"px"); causing problems in IE Win*/
}

#subnav ul li {
    float:left;
    display:inline-table;
}

#subnav ul li a {
    padding:0 11px;
    text-decoration:none;
    color:#fff;
    float:left;
font-weight: normal;
}

#subnav ul li + li a {
    border-left:1px solid #fff;
}

#subnav ul li a:hover {
    text-decoration:underline;
}

#subnav .nav_selected a, #subnav .nav_selected a:hover {
    color:#cc9999;
} 

/* menu nav states */
.hideSwitch {
    display:none;
}

.showSwitch {
    display:block;
}

.rollup {
    padding-left:18px !important;
    background:#fff url(/images/oreilly/bullet_menu.gif) no-repeat 6px;
}

.rolldown {
    padding-left:18px !important;
    background:#F6F6F6 url(/images/oreilly/bullet_menu_open.gif) no-repeat 6px;
}

.showtopic {
    padding-left:25px !important;
}


/* Front Page Entry Styles */

.top_stories {
	border-bottom:1px solid #666666;
	color:#990000;
	font-size:11px;
	font-weight:bold;
	margin-bottom:10px;
	padding:0 0 5px 0;
	text-transform:uppercase;
	font-family:Verdana,helvetica,arial,sans-serif;
}

/*.archive-title,*/
.archive-title h3 {
	border-bottom: 1px solid rgb(102, 102, 102);
	padding: 10px 0;
	color: rgb(153, 0, 0);
	font-size:11px;
	font-weight:bold;
	margin-bottom:10px;
	text-transform:uppercase;
	font-family:verdana,helvetica,arial,sans-serif;
}
.entry-title { color:#444444; font-size:16px; }

.entry-asset { padding:0px; margin:0 0 10px 0; }

.asset-header h2 a {
	color: #3f2785; 
	padding-top: 7px; 
}
.asset-header h2 a:hover {
	color: #3f2785; 
	padding-top: 7px; 
}
.asset-header h2 a:visited {
	color: #3f2785; 
	padding-top: 7px; 
}

.asset-body ul { list-style:disc; }
.asset-body ol { list-style:decimal; }

.entry-tags-header,
.entry-tag {
	font-size:11px;
}
.asset-footer { border:0px; }

#front-page-list {
	font-family:Verdana,helvetica,arial,sans-serif;
	font-size:11px;
	line-height:12px;
	text-align:left;
}
#front-page-list a {
	text-decoration: none;
}
#front-page-list h2 {
	text-transform: none;
	color:#0033CC;
	font-size:14px;
	font-weight:bold;
	text-decoration:none;
	line-height: 17px;
}

#front-page-list img {
	border: none;
}

.asset-meta {
	font-size: 11px;
	margin:0px;
	padding:0px;
	border-bottom: 1px solid #ffffff;
}
.asset-body {
	font-size: 12px;
	line-height: 17px;
	margin-top:-15px;
}

* html .asset-body { margin-top:-10px; }

.asset-body a { font-weight:bold; }

.more {
	text-align:left;
	padding-left: 11px;
	background: url(http://oreilly.com/images/icons/arrow.gif) no-repeat 0 3px;
}

.ap_r_front {
	clear:right;
	float:right;
	margin-bottom:4px;
	margin-left:10px;
}
.highslide a:link {
	color:#0000FF;
	text-decoration:none;
}
.highslide {
	cursor:url(http://digitalmedia.oreilly.com/scripts/highslide/graphics/zoomin.cur), pointer;
	outline-color:invert;
	outline-style:none;
	outline-width:medium;
}
.highslide img {
	margin:0px;
	padding:0px;
	border: none;
}
.highslide-html {
    	background-color: #FFFFFF;
}
.highslide-html-blur {
}
.highslide-html-content {
	position: absolute;
    	display: none;
	width: 120px;
}
.highslide-loading {
    	display: block;
	color: #000000;
	font-size: 8pt;
	font-family: sans-serif;
	font-weight: bold;
    	text-decoration: none;
	padding: 2px;
	border: 1px solid #000000;
    	background-color: #ffffff;
    
    /*padding-left: 22px;
    background-image: url(highslide/graphics/loader.white.gif);
    background-repeat: no-repeat;
    background-position: 3px 1px;*/   
}
.highslide-display-block {
    	display: block;
}
.highslide-display-none {
    	display: none;
}

.control {
	float: right;
    	display: block;
    /*position: relative;*/
	margin: 0 5px;
	font-size: 9pt;
    	font-weight: bold;
	text-decoration: none;
	text-transform: uppercase;
	color: #999;
}
.control:hover {
	color: black !important;
}
.highslide-move {
    	cursor: move;
}


.ap_r {
	float: right;
	/*clear: right;*/
	padding: 0px;
	margin: 8px;
}

.ap_c {
	padding: 0;
	clear: right;
	margin-top: 15px;
	width: 400px;
   	display:block;
   	clear:both;
   	margin:0 auto;	
}

.apcaption {
	background-color: #FFFFFF;
	font-style: italic;
	font-size: 12px;
	text-align: left;
	padding: 8px;
}


/* NEW SEARCH */

/* Search bar
===================================== */
	
	#search-box {
		padding-top: 5px;
		border-bottom: 1px solid #ccc;
		text-align: center;
	}
	
	#search-form {
		width: 180px;
		margin: 0 auto;
		text-align: left;
	}
	
	#search-title {
		display: block;
		padding: 5px 5px 4px 0;
		font-size: 11px;
font-weight: bold;
		color: #3f2785;	
        }
	
	#search-input {
		display: block;
		float: left;
		width: 180px;
		padding: 0;
	}
		
	#search-field {
		float: left;
		padding: 4px 2px 0 0;
	}
	
	#search-field input {
		margin: 0;
		background: transparent;
		color: #3f2785;
		font-family:Verdana, Arial, Helvetica, sans-serif;
                width: 140px;
	}
	
	#search-field input:focus {
		outline: 0;
	}
	
	#search-button {
	}
	
	#search-button input {
		padding: 0;
		margin: 4px 4px 2px 0;
		height: 18px;
		width: 28px;
		
		font-size: 0;
		line-height: 0;
	}
	
	#search-tips {
	display: block;
	float: left;
	padding: 6px 0 0 0;
	font-size: 10px;
	}
	
#search-box #autocomplete { 
clear:both; 
left:0; 
position:relative; 
text-align:left; 
top:0; 
width:170px; 
}

#search-box #autocomplete li { 
background:none repeat scroll 0 0 #FFFFFF; 
cursor:default; 
display:block; 
float:none; 
font-size:100%; 
line-height:100%; 
margin:0; 
padding:3px; 
text-indent:0; 
white-space:nowrap; 
overflow: hidden;
}

#search-box  #autocomplete .yui-ac-content {  
background:none repeat scroll 0 0 #FFFFFF; 
border:1px solid gray;
}

	#search label {
		text-transform:uppercase;
	}
		#search legend {
		display: none;
	}
	#search label {
		position: absolute;
		left: -9999px;
	}
	fieldset {
		padding: 0;
		margin: 0;
		border: 0;
                width: 140px;
	}
#search-tips a {	
	font-weight:normal;
	color:#3F2785;
}

/* Comment Styles */

.comments-header,
.comments-open-header { font-size:14px; }

.comment-content { 
	font-size:11px;
}
.comment-header .asset-meta {
	font-size:11px;
	font-weight:bold;
	margin-bottom:10px;
}

#footer {
	border-top: 1px solid #d4d4d4;
top: -59px;
}
#footer-inner,
#footer-content {
	color:#000000;
	background-color: #ffffff;
	text-align:center;
	padding:5px 0;
	width: 777px;
}
#footer-content p { font-size:11px; }
#footer-content a {
	color: #0000ff;
	text-decoration: none;
	font-size:11px;
}
#footer-content a:hover {
	text-decoration: underline;
}

.clear {
clear:both;
display:block;
font-size:0pt;
line-height:0pt;
}
/* TEST BLOCK FOR LAURA START */
table.navbar
{font-size: 8pt;
margin: 0px;
padding: 0px; 
border: 0px; 
font-weight: bold;
/*border: 1px solid #444444;*/}

table.menu
{font-size: 8pt;
margin: 0px;
padding: 0px;
font-weight: normal;}

td.menuNormal
{padding: 0px;
color: black;
font-weight: normal;
vertical-align: top;
background-color: white;}

td.menuHover
{padding: 0px;
color: black;
font-weight: normal;
vertical-align: top;
/*remove the following line for drop-down menu with images*/
background-color: white;}

div.menuNormal
{display: none;
position: static;}

div.menuHover
{
/*border: 1px solid #444444; */
background-color: white;
display: inline;
position: absolute;
}

a.menuitem:link
{
text-decoration: none;
color: #444444;
background-color: white;
display: block;}

a.menuitem:visited
{text-decoration: none;
color: #444444;
background-color: white;
display: block;}

a.menuitem:hover
{text-decoration: none;
color: #444444;
background-color: white;
display: block;}

a.menuitem:active
{text-decoration: none;
color: black;
background-color: white;
}
/* TEST BLOCK FOR LAURA END */


/* code_beautify.css */
.acode {
border: 1px #cccccc solid;
padding: 2px;
clear: right;
margin-top: 15px;
width: 500px;
   display:block;
   clear:both;
   margin:0 auto 1em;	
   text-align: left;
   background-color: #FFFFFF;
   overflow: auto;

   }
.linecomment { color: #FF8000; }
.blockcomment { color: #FF8000; }
.prepro { color: #0000BB; }
.select {}
.quote { color: #DD0000; }
.category1 { color: #007700; }
.category2 { color: #0000BB; }
.category3 { color: #0000BB; }

code, pre {
    margin: 0;
    /* setting border: 0 hoses ie5 win window inner well border */
    padding: 0;
    background: white;
    color: black;
/*    font-size: smaller; */
    font-family: Courier, monospace;
    font-weight: normal;
/*    letter-spacing: -0.05em; */
    line-height: 1.0em;
}
.acode2 {
overflow-x: visible;
}

.sidebar-item-content {
overflow: hidden;
}

#comments-open-challenge {
color: red;
font-weight: bold;
font-style:italic;
}




