/* Main styles
===================================== */

	* {
		 margin:0;
		 padding:0;
		}

	html{
		font-size: medium;
		}

	body {
		background:#eeeeee;
		font: normal normal 62.5%/140% Verdana,Arial,Helvetica,sans-serif;
		min-width: 52em;
		}

	#accessibility-menu {
		position: absolute;
		left: -9999px;
	}

	fieldset {
		padding: 0;
		margin: 0;
		border: 0;
	}
	body, p, div, li, td {
	    font-size:11px;
	    color:#222;
	}
        p {
            margin:1em 0;
        }
	pre, code {
	    font-family:'andale mono','lucida console',monaco,monospace;
	    color:#036;
	}

	abbr, acronym {
		border:0;
	}
	pre {
	    clear: both;
	    overflow: auto;
	    /*width:100% !important;*/
	    width: 60em; /*for IE, which doesn't obey !important or width:100% on pre */
	    padding-bottom: 0 !important;
	    padding-bottom: 1.5em; /* for IE which doesn't make room at the bottom of the pre for a horizontal scrollbar */}

	a, a:visited {
	    text-decoration:none;}

	a {
	    color:#00f;}

	a:visited {
	    color:#551a8b;}

	a:hover {
	    text-decoration:underline;}

	img {
		border: 0;}
	
	hr {
	    border:none;
	    color: #ccc;
	    background-color: #ccc;
	    height: 1px;
	    width:100%;
	    clear:both;}

	hr.divider {
	    color:#333;
	    background-color:#999;}

	#page {	
		width: 98%;
		min-width: 80em;
		max-width: 91em;
		width:expression(document.body.clientWidth < 885? "880px" : document.body.clientWidth > 1002? "1000px" : "auto");
		margin:0 auto;
		background-color:#fff;
		border: 1px solid #D4D4D4;
		border-width: 0 1px 1px 1px;
	}


/* Header settings
===================================== */
	
	#header {
	    height:67px;}

	#header h1 {
		float:left;
		display: inline;
		width:228px;
		height:67px;
		margin:0;
		padding:0;
		/*background:url(http://oreilly.com/images/oreilly/oreilly.gif) no-repeat 0 0;
		font-size:0;
		text-indent:-9999px;*/
		}
		
	#header #logo {
		display: block;
		float: left;
		margin: 0;
		padding: 0;
	}

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


	#header 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 */
	}

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

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

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

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

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

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

	#topic {
    display:block;
    font-size:20px;
    line-height:26px;
    margin:0;
    padding:0;
    color:#000;
}



/* Navigation - main
===================================== */

	#nav {
	    background:#000 url(http://oreilly.com/images/oreilly/bg_nav.gif) repeat-x 0 0;
	    clear: both;
	}

	#nav form {
	    overflow: hidden;
	}
	#nav ul, #subnav ul {
	    list-style:none;
	    margin:0;
	    padding:0;
	    overflow:hidden;
	    clear: both;
	}

	/* this is new, replacing the below */
	#nav ul li{
	      float:left;
	      display:block;
	}
	/* removing this as it breaks the nav on FFox 1.7
	#nav ul li {
	    float:left;
	    display:inline-table;
	} */

	#nav ul li a {
	    display:block;
	    line-height:30px;
	    padding:0 1em;
	    text-decoration:none;
	    font-size:12px;
	    color:#fff;
	    float:left;
	    border-right:1px solid #000;
	    margin:2px 0;
	}   
    
	#nav ul li input {
	    margin:8px 0 0 2px;
	    padding:0;
	    vertical-align:middle;
	    font-size:95%;
	    color:#666;
	    float: left;
	}   
    
	#nav form {    margin:0;
	    padding:0;
	}

	/* Commented Backslash Hack
	     hides rule from IE5-Mac \*/
	#nav ul li a {
	    float:none;
	}
	/* End IE5-Mac hack */

	#nav ul li a:hover {
	    background:#000 url(http://oreilly.com/images/oreilly/bg_nav_hover.gif) repeat-x 0 0;
	    color:#bbb;
	}

	#nav li.nav_selected a, #nav li.nav_selected a:hover {
	    line-height:34px !important;
	    margin:0 !important;
	    background: #990000 !important;
	    background-image:none !important;
	}

/* Navigation
===================================== */

	#netnav {
		float: left;
		width: 16em;
		padding: 0 1em 0 2em;
		margin: .6em -18em 0 0;

	}
	

	#netnav h3 {
	    font-weight:normal;
	    margin:1em 0 0 0;
	    padding: 4px 0;
	    border-bottom:1px solid #666;
	    text-transform:uppercase;
	    font-size: 1em;
	}

	#netnav ul, #netnav li {
	    margin:0;
	    padding:0;
	    list-style:none;
	}

	#netnav li {
	    display:inline;
	}

	/* temporary, until JS will be updated */
	#netnav ul {
		display: none;
	}

	#netnav dl a {
	    text-decoration:none;
	    display:block;
	    margin:0;
	    padding:4px 6px;
	    color:#990000;
	    border-bottom:1px solid #aaa;
	}

	#netnav dd li a {
	    padding-left:25px;
	    color:#666;
	}

	#netnav dl a:hover, #netnav dd li a:hover {
	    background-color:#F6F6F6;
	}

	#netnav a.selected {
	   background-color:#ececec;
	}

/* Navigation - second level
===================================== */

	#subnav {
	    background-color:#990000;
	    padding:6px 0 6px 0;
            clear:both;
	    border-bottom:1px solid #990000;
            width:100%;
	}

	#subnav ul li {
	    float:left;
	    display:block;
	}

	#subnav ul li a {
	    padding:0 1em;
	    text-decoration:none;
	    color:#fff;
	    float:left;
            display:block;
	}

	#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 */
	#netnav .hideSwitch {
	    display:none;
	}

	#netnav .showSwitch {
	    display:block;
	}

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

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

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

/* NEW SEARCH */

/* Search bar
===================================== */

        #search-box {
                background-color:#F6F6F6;
                border-bottom:1px solid #CCCCCC;
                padding-bottom:0;
                padding-top:11px;
                text-align:center;
        }
	
	#search-form {
		width: 400px;
		margin: 0 auto;
		text-align: left;
                display:block;
	}
	
	#search-title {
		display: block;
		float: left;
		padding: 8px 5px 4px 0;
		font-size: 17px;
		color: #888;
                vertical-align:middle;
	}
	
	#search-input {
		display: block;
		float: left;
		width: 260px;
		padding: 0 5px 0 0;
		background: transparent url(http://oreilly.com/images/oreilly/search_bar_mid.gif) top left repeat-y;
	}
	
	#search-input-top {
		display: block;
		width: 260px;
		background: transparent url(http://oreilly.com/images/oreilly/search_bar_top.gif) top left no-repeat;
	}
	
	#search-input-bot {
		display: block;
		width: 260px;
		background: transparent url(http://oreilly.com/images/oreilly/search_bar_bot.gif) bottom left no-repeat;
	}
	
	#search-field {
		float: left;
	}
	
	#search-field input {
		width: 215px;
		padding: 3px 0 4px 10px;
		margin: 0;
		border: 0;
		background: transparent;
		font-size: 16px;
		color: #990000;
		font-family:Verdana, Arial, Helvetica, sans-serif;
	}
	
	#search-field input:focus {
		outline: 0;
	}
	
	#search-button {
		float: right;
	}
	
	#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 label {
		text-transform:uppercase;
	}
	
	#search legend {
		display: none;
	}
	
	#search label {
		position: absolute;
		left: -9999px;
	}
	
	fieldset {
		padding: 0;
		margin: 0;
		border: 0;
	}
	
    .clear {
        display: block;
        line-height: 0;
    }

/* Content - main
===================================== */

	#wrapper {
		margin: 1em 0 1em 19em;
		overflow: hidden;
		}

#features {
    width:41em;
    margin:0;
    padding:0 2em 0 0;
    float:left;
}

	#upsell {
	    width:18em;
	    margin:0;
	    padding:0;
	    float:right;
	} 

	#fullcontent {
	    margin:2em;
	}

	#container h3 {
	    font-weight:bold;
	    color:#000;
	    margin:0.5em 0 1em 0;
	    font-size:14px;
	}

	#container h4 {
	    margin:-1em 0 0.5em 0;
	    padding:0;
	    font-size:12px;
       clear: both;
	    color: #666;
	}
	#container h4.conference {
		color: #000;
		margin: 1em 0 .5em;
	}
	
	#sidebar h4 {
		font-size: 1em;
		font-weight: normal;
		margin: .5em 0 0;
	}
	#sidebar .vevent {
		margin-left: 0;
		list-style: none;
	}


/* Footer
===================================== */

	#footer {
	    border-top:1px solid #ccc;
	    padding:1em 0 1em 0;
	    clear:both;
            text-align:left;
	}

	#footer td {
		padding:0 20px;
		vertical-align:top;
		width:25%;
	}

	#footer p {
	    text-align:left;
	    line-height:1.2em;
	}

	#footer p.footer-links {
	    font-size:12px;
	    margin-bottom: 1em;
	}

	#footer img {
	    vertical-align:bottom;
	    border:none;
	}

	.aleft {
	    float:left;
	    margin:0 0.5em 0 0.3em;
	}

	.aright {
	    float:right;
	    margin:0.5em 0 0 0.5em;
	}

	.clear, hr.clear {
	    font-size:0;
	    clear:left;
	    width:100%;
	    height:0;
	    margin:0;
	    padding:0;
	    background:transparent;
	    border:none;
	    color:#fff;
	}

	.more {
	    text-align:left;
	    padding-left: 11px;
	    background-image: url(http://oreilly.com/images/icons/arrow.gif);
	    background-repeat: no-repeat;
	    background-position: 0 3px;
	}
	#container .more {
       margin: 1em 0;
       display: inline;
	}

	.price {
	    color:#900;
	}

	.banner {
	    padding:12px 0 0;
	    text-align:center;
	    background-color:#efefef;
	}

	.banner p, .banner a, .ad, .ad a {
	    text-align: center;
	    text-transform:uppercase;
	    font-size:9px !important;
	    color:#bbb;
	    letter-spacing:0.1em;
	    padding:0.2em 0;
	    margin:0;
	}

        .sidebar-item {
            padding:0;
            margin:0 0 20px 0;
        }

        .sidebar-item-ak {
            padding:0;
            margin:0 0 0 20px;
        }

        .sidebar-item h3 {
            border-top: 1px solid #999;
            border-left: 1px solid #999;
            border-right: 1px solid #999;
            line-height:2em;
            font-size:11px !important;
            text-align:center;
            background-color:#eee;
            background:url(/images/box-item-header.gif) no-repeat 0 0;
            margin:0 !important;
        }

        .sidebar-item-content {
            border: 1px solid #999;
            margin:0;
            padding:10px;
            text-align:left;
        }

        .content-box {
            padding:0;
            margin:0 0 20px 0;
            overflow: hidden;
            vertical-align:top;
            font-size:12px;
            line-height:1.5em;
        }

        .content-box h3 {
            background:#666 url(http://oreilly.com/images/box-header.gif) repeat-x bottom center;
            text-align:center;
            border: 1px solid #999;
            height:30px;
            font-size:16px;
            line-height:24px !important;
            font-weight:normal !important;
            color:#fff !important;
        }

        .content-box-body {
            padding:10px;
            border-right: 1px solid #999;
            border-bottom: 1px solid #999;
            border-left: 1px solid #999;
            margin:0;
            text-align:left;
        }
	
	#sidebar .more {
		float: none;
	}

/* comments
------ */ 
.tb_left {
    width: 30%;
    height: 20px;
    float: left;
    margin-top:0.5em;
}
.tb_right {
    text-align: right;
    width: 60%;
    height: 20px;
    float: right;
    margin-top:0.5em;
}

/* ads
------ */
.box {
    padding:0.2em 0.5em;
    margin:1em 0 0.5em 0;
    border: 1px solid #999;
}

.boxright {
    padding:1em 2em 1em 2em;
    margin:.5em .5em .5em 2.5em;
    float:right;
    width:18em;
    border-left: 5px;
    border: 1px dashed #999;
}

.alerts {
    background-color:#F8D108;
}

.pick {
   padding:50px 1em 0.5em 1em;
   margin:0 0 20px 0;
   border: 1px solid #999;
   background-image: url(http://oreilly.com/images/icons/staff_picks.gif); 
   background-repeat: no-repeat; 
   background-position: right top;
}

/* GOOGLE */
a.hl:link, a.hl:visited, a.hl:active, a.hl:hover {
    font-family: arial,sans-serif;
    font-size: 10px;
    color: #fff;
    text-decoration: underline;
}

.ch {
    cursor:pointer;
    background-color:#ffffff;
    border-bottom: 1px solid;
    border-top: 1px solid;
    border-left: 1px solid;
    border-right: 1px solid;
    border-color: #FFFFFF;
    padding-top:0px;
    padding-left:4px;
    padding-right:3px;
    overflow:hidden;
}

  .listen {
    display: block;
    height: 1.8em;
    float: right;
    list-style: none;

    margin: .5em 0 0 10px;
    padding: 0 0 0 10px;

    font-size: .75em;

    line-height: 1.5em;
    text-align: right;
}



    .listen li {
    margin: 0;
    padding: 5px 0;
    display: inline;
    text-align: right;
}

    .listen a {
    display: block;
    float: left;
    padding: 0 14px 0 0;
    height: 1.8em;
}
/*
    .listen a:hover {
    color: #990000;
    text-decoration: none;
}
*/

    .listen .button {
    font-size:12px;    
    margin-left: 10px;
}
    .listen .option {
    font-size:12px;    
    display: none;
}

/*

    .listen:hover {
    background: transparent url(../images/tools_corner.gif) left bottom no-repeat;
}

    .listen:hover .option {
    display: inline;
}


  .listen.sfhover {
    background: transparent url(../images/tools_corner.gif) left bottom no-repeat;
}

  .listen.sfhover .option {
    display: inline;
}
*/

/* Share This button */
.stbutton {
    font-size:11px;
}
.stbuttontext {
    color:blue;
}

/* site specific */

#netnav .international-sites {
	display: block;
	margin: 1em 0 0;
}
.international-sites img {
	border: 1px solid #000;
}

