body {
	margin: 0;
	border-left: 30px solid white;
	border-right: 30px solid white;
	min-width: 800px;
	background:white;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 12px;
	line-height:25px;
		padding-left: 5px;
}
/*script header*/
#page #header {
	height:300px;
	margin:0 0 5px 0;
}

#page #header #advertSWF {

	width:635px;
	height:300px;
	float:left;
	position:relative;
	overflow:hidden;
}

#page #header .advertSWF_Over{
	width:635px;
	height:300px;
	position:absolute;
	left:0;
	top:0;
	background-image:url(../images/layout/orange/headerSWF_overlay.png);
	background-repeat:no-repeat;
	background-position:top left;
	cursor:pointer;
	/*background-image:url(../images/advert_swf.png);
	background-repeat:no-repeat;
	background-position:top left;*/

}
/*script header*/
a, a:link { text-decoration:none; }


p
{ padding-left: 8px; 
padding-right: 8px; 
vertical-align:top;  
text-align:justify;
}
hr { 
border: none; 
border-top: 2px dotted #6699cc; 
color:#6699CC; 
padding: 0; 
margin: 25px 0px 10px 0px; }
hr.section_top { display: none; }

h1, #sectionheader { font-size: 30px; 
font-family: Helvetica Bold, Arial Bold, Arial, sans-serif; 
font-weight: bold; 
margin: 20px 0px 15px 0px; 
padding-bottom:8px; 
line-height: 1em;
}

h1.sectionheader { margin-bottom:-.1em;}

h1 b { font-size: 14px; }

h1 img { vertical-align: bottom; padding: 0; margin: 0; }

h4 {
	font-family: Helvetica Bold, Arial Bold, Arial, sans-serif;
	font-size: 16px;
	line-height: 18px;
	
	margin: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}
#wrapper { clear:both; 
width: 100%; 
position:relative; 
padding-top: 10px; 
}

#content { padding-left: 10px; 
vertical-align:top;  
}

#margin { 
vertical-align:top; 
border-right: 1px solid; 
padding: 0; 
font-size:.9em; }

#margin ul li, #content ul li { text-align: left; 
padding-left:8px; 
background: url(/images/bullet_4A3A2D.gif) no-repeat 0px 8px; 
}

#margin a { /*display:block; margin:0; padding:0; */}
ul#margin_inline li a { display: inline; margin:0; padding:0;}

#margin ul a:hover {
   text-decoration:none;
   background-color:DAE4E9;
}
td#logo, td#phone {
   width:180px;
   border-right:1px solid;
   text-align:center;
}
td#logo, td#background-pic, td#quick-links {
   border-top:1px solid;
   border-bottom:1px solid;
   height:70px;
   overflow:hidden;
}

td#quick-links,td#help {
   width:150px;
   border-left:1px solid;
   padding-left:5px;
}
td#search {
   text-align:center;}



td#quick-links ol { 
   list-style:none; 
   padding:0; 
   margin:0;
}

td#quick-links ol li {
   line-height:1.4em;
   font-weight:bold;
}

td#logo, 
td#phone, 
td#quick-links, 
td#background-pic, 
td#help {
   border-color:#98B4C2;
}

td#phone {
   padding-top:9px;
}

#search form {
   padding:0;
   margin:0;
}

#search-box { width: 55%; 
font-weight: normal; 
border:1px solid #003366; 
font-size:1em; 
padding:1px; 
} 
#search-button{ width:3em; 
margin-left:3px; 
background: #9dc4e4; 
padding:0; 
font-size:1em; 
}

#search a {
   font-size:1.1em;
   letter-spacing:1px;
}

td#help a, td#help a:hover, td#help a:visited {
   border:1px solid #98B4C2;
   padding:0 1.5em;
   font-size:.9em;
   letter-spacing:1px;
   font-weight:bold;
   text-decoration:none;
   color:#98B4C2;
}


td.row4 {
   padding-top:.70em;
}
ul#nav, ul#nav ul { /* the list */
   padding: 0;
   margin: 0;
   list-style: none;
}


ul#nav li.spacer { /* 'horns' on the sides of the menu */
   background-color:white;
   width:2%;
   float:left;
   position:relative;
   padding: 3px 0 2px 0;
   height:2em;
   border-bottom: 1px solid #98B4C2; /* MOD - was 'border:0;' */
   border-top: 1px solid #98B4C2; /* MOD - was 'border:0;' */
   background:url(/images/pixel-med-blue.gif) right repeat-y; /* MOD */
}

ul#nav li#spacer2 { /* final one, doesn't get the right hand border */
   background:none;
}

ul#nav li.spacer:hover {
    background-color:white;  
}

ul#nav li ul { /* second-level lists */
   display: none;
   position: absolute;
   border:10px solid white;  
   background:#dae4e9;
   text-align:left;
   padding:1em 0 1em 10px;
   width:160px;
   z-index:50;
   top:0;
   left:0;
}

ul#nav li ul li {
   height:1.25em;
   background:none;
}

ul#nav li ul hr {
   border:0;
   padding:10px;
   margin:.5em 0;
   width:215px;
}



ul#nav li.header ul li a:hover { /* see above */
   
}

ul#nav li>ul.left { 
   top: 2em;
   left: -10px;
   margin-top:6px;
   z-index:100;
}

ul#nav li>ul.right { 
   top: 2em;
   left:auto;
   right: -10px;
   margin-top:6px;
   z-index:100;
}

ul#nav li:hover ul, ul#nav li.over ul { 
   display: block;
   z-index:100;
}

ul#nav li:hover a.header-link, ul#nav li.over a { 
   background:url(/images/pixel-med-blue.gif) right repeat-y;
   background-color:#DAE4E9;
}
ol.booklist {
   margin:0;
   padding:0;
   width:auto;
   background:white;
}

ol.booklist li ,ol.booklist li bikky {
   list-style:none;
   margin:5px 0 5px 0;
   padding:5px;
   position:relative;
}

ol.booklist li.bikky {
   background-color:#DAE4E9;
}

ol.border-bottom li {
   border-bottom:1px dotted #ccc;
}

ol.booklist p {
   clear:both;
}

ol.booklist li small.counter {
   float:right;
   padding:5px;
   font-size:2.5em;
   font-weight:bold;
   color:#DAE4E9;
}
   
ol.booklist li.bikky small.counter {
   color:#fff;
}  

ol.booklist li h3 {
   margin:0 0 .1em 0;
   font-size:1.2em;
   font-weight:bolder;
   line-height:1.1em;
   padding:0;
  }
   
ol.booklist li img.bookcover { 
   float:left;
   margin:.1em 10px 0.5em 0;
   border:1px solid #333;
   }  

ol.booklist li div.all-info {
   float:left;
   padding-bottom:10px;
   margin-left:10px;
}

ol.booklist li div cite {
    font-weight:bold;
   font-style:normal;
}  

ol.booklist li p { }


ol.booklist li .location {
   font-weight:bold; 
   font-size:smaller;
}

ol.booklist li .price-cart {
   margin:1em 0 0 0;
}
   
ol.booklist li .price-cart big {
   display:block;
   font-weight:bold;
}

ol.booklist li .price-cart .list-price {
   font-size:0.9em;
   color:#000000;
}

ol.booklist li .price-cart b {
   color:#000000;
}
ol.booklist li p.also-available {
   margin:0;
   padding-top:.75em;
}


ol.table-style {
   margin:0;
   padding:0;
   font-size: 12px;
}

ol.table-style li {
   width:200px;
   display: -moz-inline-box;
   display: inline-block;
   vertical-align:top;
   margin:0;
   padding:.5em 0;
}

ol.table-style li span.width-fixer {
   display:block;
   width:190px;
}

ol.table-style li .coverlink, ol.table-style li .price-cart {
   display: -moz-inline-box;
   display:inline-block;
   display:inline;
   margin-bottom:.5em;
   padding-bottom:.5em;
   vertical-align:top;
   padding:0;
   margin:0;
   float:left;
   width:45%;
}



ol.table-style li .price-cart {
   padding-left:.25em;
}

ol.table-style li .price-cart small {
   color:#555;
}

ol.table-style big.price {
   font-weight:bold;
   display:block;
   margin:0 0 .2em 0;
}

ol.table-style img.add-to-cart-button {
   display:block;
   margin:0 0 .5em 0;
}

ol.table-style li big.price small {
   padding:0 2px 0 0;
   display:block;
   float:left;
}

ol.table-style li .book-info {
   clear:left;
   display:block;
   padding:.25em 0 15px;
}

ol.table-style li h3.book-title {
   font-size: 1.2em;
   margin:0;
   padding:0;
}

ol.table-style cite {
   font-style:normal;
   font-weight:bold;
}

.title_list {
    width:100%; 
    text-align:left;
    margin-bottom:2em;
    padding-bottom:2em;
    border:none;
}

.title_list th {
    background: #dae4e9; 
    padding: 5px; 
    font-weight:bold;
    border:1px solid #5f747e;
}

.title_list td { 
    border:1px solid #5f747e;
    padding: 5px; 
    font-size:12px;
}

a.delete {
   color:#0066CC;
   background:url(/images/silk/delete.png) no-repeat center right;
   padding:3px;
   padding-right:20px;
}

.bookcover {
   border:1px solid #003366;
}


ol.form-list {
  margin: 0 1em 0 3px;
  padding: 0;
  list-style:none;
  width:99%;
}

ol.form-list li {display:block;
  height: 2em;
  width:48%;
  position:relative;
  margin:0;
  padding:0;
}
ol.form-list li.column1 { margin-left: 0em; }
ol.form-list li.column2 { margin-left: 50%; }
ol.form-list li.reset {
  margin-top:-12em;
}

ol.form-list li label{ 
   width:80px;
   display:block;
   text-align: right;
   padding:0;
   font-size:.85em;
   color:#555;
   overflow:hidden;
   margin:0;
   height:1.8em;
}

ol.form-list li input, ol.form-list li select, ol.form-list li textarea {
   position:absolute;
   left:85px;
   top:0;
   width:150px;
   padding:0;
   margin:0;
 
}

ol.form-list label#exact_title_adv_checkbox_label {
   text-align:left;
   position:relative;
   left:85px;
   top:0;
}
   
ol.form-list label#exact_title_adv_checkbox_label input {
   width:1.1em;
   position:relative;
   left:0;
   margin:0;
}

ol.form-list label.filled-in {
    background-color:#0099FF;
   color:#0033CC;
   color:#930;
   font-weight:bolder;
}
#change-password li input {
   left:155px;
} 

#change-password li input.button, #change-name li input.button {
   width:7em;
}

#cancel_order { border: 1px solid #98B4C2; width: 100%; margin-bottom: 20px; }
#cancel_order th { background: #98B4C2; padding: 5px; text-align: left; }
#cancel_order td { padding: 5px; border: 1px solid #98B4C2; text-align: left; }

ol.message {
   border: 2px solid;
   padding:5px 5px 5px 26px;
   line-height:1.1em;
   min-height:2em;
   list-style:none;
   margin-left: 0;
}

ol.message li {
   margin-bottom:.5em;
}

ol.warning {
   background:url(/images/silk/error.png) no-repeat 5px 5px;
   background-color:#DAE4E9;
   border-color:#003366;
} 

ol.error {
   background:url(/images/silk/stop.png) no-repeat 5px 5px;
   background-color:#66CCFF;
   border-color:#003366;
}
  
ol.information {
   background:url(/images/icons/warning_info.gif) no-repeat 5px 5px;
   background-color: #DAE4E9;
   border-color: #003366;
   margin-left: 0;
}
 
ol.success {
   background:url(/images/silk/tick.png) no-repeat 5px 5px;
   background-color:#DDE7C0;
   border-color:#337733;
}   
  
ol.choking {
    background:url(/images/warning_caution2.gif) no-repeat 5px 5px;
    background-color:#DAE4E9;
    border:1px solid;
    border-color:#3e7795;
    line-height: 1.2em;
    padding: 3px 3px 3px 50px;
    margin: 0px 300px 0px 0px;
} 

b.warning {
   background:url(/images/silk/exclamation.png) no-repeat;
   padding-left:21px;
   color:#930;
   font-size:1.2em;
}

dfn {
   font-size:1.2em;
   font-weight:bold;
   border-bottom:1px dotted;
   font-style:normal;
}

a.help {
   float:right;
   background:url(/images/silk/help.png) no-repeat;
   padding-left:20px;
}

div.author-pod {
   padding-right:.5em;
}

img.portrait {
   border:1px solid #003366;
}

.highlight {
   background-color:#FFFFC0;
}

.large {
   font-size:1.4em;
}

.invisible {
   display:none;
}

.bookcover {
   border:1px solid #003366;
}

.left {
   float:left;
   margin-right:10px;
}

.right {
   float:right;
   margin-left:10px;
}

div.blurb_bq h1 {
   font-size:20px;
}

div.blurb_bq h2 {
   font-size:18px;
}

div.blurb_bq h3 {
   font-size:16px;
}

div.blurb_bq h4 {
   font-size:14px;
}

div.blurb_bq h1, div.blurb_bq h2, div.blurb_bq h3, div.blurb_bq h4 {
    font-weight: normal;
}
/*body text color*/
html, body, table, table tr td {
		color:#000000;
	margin: 0px;
	font-size: 12px;
	line-height: 20px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 2px;
}

a, a:link, h4 a:visited,  #margin h4 a:visited {
	color: #5F747E;
	color:#3E7795;
	padding-left: 10px;
}

a:visited { color:#0066CC; color:#3e7795;}

#margin a:visited, ul li a:visited, ol li a:visited {
  color:#3E7795;
} 

h1.sectionheader a:visited {
  color:#3E7795;
}

h2.post-title a:visited {
  color:#3E7795;
}

h3 a:visited {
  color:#3E7795;
}



a:hover { color: #003366; }


a.secondary { }


li#search b,
.binding b,


li#hello, li.row1, li#logo, li#phone, .boxFooter, li#search ol, #margin, li#help{
   border-color:#98B4C2;
}
li#picture ol {
   border-color:#98B4C2;
}
a.button, input.button { font-family: Arial Bold, Arial, sans-serif; border: 2px solid #3e7795;  background: #ffffff; font-weight: bold; padding: 2px 3px 2px 2px; margin: 5px; font-size: 14px; text-transform: uppercase; text-decoration: none; cursor: pointer; }

a.smallbutton, input.smallbutton { font-family: Arial Bold, Arial, sans-serif; border: 2px solid #3e7795;  background: #ffffff; font-weight: bold; padding: 1px; margin: 3px; font-size: 8px; text-transform: uppercase; text-decoration: none; cursor: pointer; }

html, body {
   background:white;
   background-color:white;
}

   
a.continue {
   display:block; 
   text-align:right;
   font-weight:bold;
   font-size:.85em; 
   font-style:italic;
   clear:both;
}
   
hr.fine, #margin hr.fine, .tanbox hr.fine {
   border:#dae4e9;
   border-bottom:1px solid #;
   margin:0 0 5px 0;
   height:1px;
}

#margin .comment-info, #margin p, #margin hr.fine {
   margin-right:1em;
}

.post-info {
   display:block;
   padding:5px 0;
}

.comment-info {
   float:right;
   padding-right:17px;
   }

.author-thumb {
   border:0; 
   float:none;
}

h3.post-title {
   margin-bottom:0;
   line-height:.95em;
   padding:0;
}

h3.post-title a:visited, h3.post-title a:hover, #margin h3.post-title a:visited, #margin h3.post-title a:hover {
   color:#3E7795;
}

#cover,.borderJacket { 
   border:1px solid #003366; 
}

#related_sections { 
   margin: 20px 0px 2em 0px; 
   border: 2px dotted #86A5B5;
}

#related_sections td {
   padding:0 .5em;
   margin:5px;
}

#related_sections th {
   text-align:left;
   padding:0 .5em;
}

#shopcart { color: #003366; }

#random_author { 
   font-size: .9em; 
   line-height: 1.3em; 
   margin: 10px 0px 0px 10px; 
   padding: 5px; 
   background: #ffffff; 
   text-align: center; 
}

#random_author img { 
   display: block; margin: 5px auto; 
}

dl.bibliographic {}

dl.bibliographic dt {
   font-weight:bold;
}

dl.bibliographic dd {}

#seemore { 
   font-size:.9em; 
}

#seemore ul {
   margin-top:0;
   padding:.5em;
   list-style:none;
}

#related_copies {
   margin-left:.5em;
}

#si_tb {
   /*border:1px solid #ccc;*/
   text-align:center;
}
.tanbox, .bluebox, .boxed {
   border: 2px dotted;
   margin-bottom:1em;
   padding:10px;
   font-size:.9em;
}

.tanbox ul li, .bluebox ul li, .boxed ul li {
   clear:both;
}

.bluebox { 
   border-color:#B09B8A; 
}

.tanbox, .ds-b, #sidebar  {
   border-color:#B09B8A;
}

.scallopBox {
   /*border:1px solid #ccc;*/
   margin-bottom:1em;
}

.rec_item { margin: 0px 0px 20px 10px; clear: left; font-size: 11px; line-height: 1.2em; }
.rec_item img { float: left; margin: 0px 7px 15px 0px; }
.rec_item p { margin-right: 10px; }

ul#related_aisles li { margin: 0; padding: 0px; background: none; }

ul#related_aisles a.major_sec { font-weight:bold; margin-top:.5em; }
ul#related_aisles a.minor_sec { padding-left: 8px; font-size: .95em; }

h2.book-title {
   color:#003366;
   margin:0;
   text-transform: none;
   font-size:1.5em;
   /*letter-spacing:-1px;*/
}

#margin h4 {
   color:#003366;
   margin:.5em 0;
   padding-top:0.5em;
}

.scallopBox h5 {
   color:#003366;
   border-bottom:1px dotted #ccc;
   margin-bottom:0.5em;
   text-align:left;
   margin-top:0;
   padding:2px;
}

#stock_info{
   width:216px;
   float:right;
   padding-left: 15px; 
   background: white;
}

.morecopies ul { border-top:none; list-style:none; padding:.5em; margin-top:0; }

#additional { width: 120px; text-align: center; font-size: 11px; line-height: 1.2em; }

#scanalert { margin: 0; padding: 0; text-align: center; }

#yelp { float: right; margin: 0px 0px 20px 20px; padding: 0; }

#wrapper { position: relative; }
#wrapper h2 { margin: 15px 0px 15px 0px; font-size: 18px; padding: 0; }

#midships h2 a { background: url(/images/linkarrow_lightblue10.gif) no-repeat right; padding: 0px 14px 2px 0px; }
#midships h2 a:hover { background: url(/images/linkarrow_orange10.gif) no-repeat right; }
#port h3 a { background: url(/images/linkarrow_lightblue.gif) no-repeat right; padding: 0px 10px 0px 0px; }
#port h3 a:hover { background: url(/images/linkarrow_orange.gif) no-repeat right; }

#port ul li { list-style-type: none; margin: 15px 0px 0px 0px; padding: 0px 5px 0px 8px; line-height: 0.5em; background: url(/images/bullet_4A3A2D.gif) no-repeat 0px 5px; }
#starboard { width: 216px; }

#topseller { display: table-cell; vertical-align: bottom; height: 155px; padding-left: 112px; }

#homechunk { margin: 0px 7px 0px 0px; padding: 0; }
#homechunk li { clear: both; margin: 10px 5px 0px 20px; padding: 0; }
#homechunk li.topmost { list-style-type: none; background: none; margin: 0; padding-right: 7px; }
.topmost img { margin: 0px 5px 10px 0px; float: left; }

#newsletters { margin: 0; padding: 0; }
#newsletters td { font-size: 11px; margin-top: 12px; font-weight: bold; }
#newsletters td input { width: 20px; height: 20px; }
#newsletters img { display:none; }

#port h3 a:visited, h2 a:visited {color: #5F747E;} /* keeping blog headers on home page consistent */
#port h3 a:hover, h2 a:hover {color: #F07F24;} 

#slideshow-wrapper {
   position:relative;
   padding:0;
   margin:0;
}

#menu {
   background:white;
   position:absolute;
   top:200px;
   left:10px;
   height:20px;
   padding:2px 5px;
   border:1px solid #4A3A2D;
   font-weight:bold;
}

#menu a, #menu a:visited, #menu a:hover {
   color:#4A3A2D;
   text-decoration:none;
}

#position {
   position:absolute;
   top:225px;
   left:350px;
   height:12px;
   background:white;
   padding:0;
   color:#888;
   font-weight:bold;
}
.tanbox hr.fine {
   border:0;
   border-bottom:1px solid #EBE7DC;
   margin:0 0 5px 0;
   height: 1px;
}



.menu {width:894px; height:32px; position:relative; z-index:100;border-right:1px solid #5F747E; font-family:arial, sans-serif;}
/* hack to correct IE5.5 faulty box model */
* html .menu {width:905px; w\idth:904px;}
/* remove all the bullets, borders and padding from the default list styling */
.menu ul {padding:0;margin:0px;list-style-type:none;}
.menu ul ul {width:149px;}
/* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
.menu li {float:left;width:149px;position:relative;}
/* style the links for the top level */
.menu a, .menu a:visited {display:block;font-size:12px;text-decoration:none; color:#FFFFFF; width:138px; height:30px; border:1px solid #5F747E; border-width:1px 0 1px 1px; background:#7DA1B7; padding-left:10px; line-height:29px; font-weight:bold;}
/* a hack so that IE5.5 faulty box model is corrected */
* html .menu a, * html .menu a:visited {width:149px; w\idth:138px;}

/* style the second level background */
.menu ul ul a.drop, .menu ul ul a.drop:visited {background:#7DA1B7;}
/* style the second level hover */
.menu ul ul a.drop:hover{background:#0099FF;}
.menu ul ul :hover > a.drop {background:#7DA1B7;}
/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {background:#7DA1B7;}
/* style the third level hover */
.menu ul ul ul a:hover {background:#7DA1B7;}










.menu {width:894px; height:32px; position:relative; z-index:100;border-right:1px solid #5F747E; font-family:arial, sans-serif;}
/* hack to correct IE5.5 faulty box model */
* html .menu {width:905px; w\idth:904px;}
/* remove all the bullets, borders and padding from the default list styling */
.menu ul {padding:0;margin:0px;list-style-type:none;}
.menu ul ul {width:149px;}
/* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
.menu li {float:left;width:149px;position:relative;}
/* style the links for the top level */
.menu a, .menu a:visited {display:block;font-size:12px;text-decoration:none; color:#fff; width:138px; height:30px; border:1px solid #5F747E; border-width:1px 0 1px 1px; background:#7DA1B7; padding-left:10px; line-height:29px; font-weight:bold;}
/* a hack so that IE5.5 faulty box model is corrected */
* html .menu a, * html .menu a:visited {width:149px; w\idth:138px;}

/* style the second level background */
.menu ul ul a.drop, .menu ul ul a.drop:visited {background:#7DA1B7;}
/* style the second level hover */
.menu ul ul a.drop:hover{background:#0099FF;}
.menu ul ul :hover > a.drop {background:#7DA1B7;}
/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {background:#7DA1B7;}
/* style the third level hover */
.menu ul ul ul a:hover {background:#7DA1B7;}


/* hide the sub levels and give them a positon absolute so that they take up no room */
.menu ul ul {visibility:hidden; position:absolute;height:0;top:31px;left:0; width:149px;border-top:1px solid #000;}
/* another hack for IE5.5 */
* html .menu ul ul {top:30px;top:31px;}

/* position the third level flyout menu */
.menu ul ul ul{left:149px; top:-1px; width:149px;}

/* position the third level flyout menu for a left flyout */
.menu ul ul ul.left {left:-149px;}

/* style the table so that it takes no ppart in the layout - required for IE to work */
.menu table {position:absolute; top:0; left:0; border-collapse:collapse;;}

/* style the second level links */
.menu ul ul a, .menu ul ul a:visited {background:#7DA1B7; color:#ffffff; height:auto; line-height:1em; padding:5px 10px; width:128px;border-width:0 1px 1px 1px;}
/* yet another hack for IE5.5 */
* html .menu ul ul a, * html .menu ul ul a:visited {width:150px;w\idth:128px;}

/* style the top level hover */
.menu a:hover, .menu ul ul a:hover{color:#000; background:#ffffff;}
.menu :hover > a, .menu ul ul :hover > a {color:#000; background:#ffffff;}

/* make the second level visible when hover on first level list OR link */
.menu ul li:hover ul,
.menu ul a:hover ul{visibility:visible;}
/* keep the third level hidden when you hover on first level list OR link */
.menu ul :hover ul ul{visibility:hidden;}
/* make the third level visible when you hover over second level list OR link */
.menu ul :hover ul :hover ul{ visibility:visible;}

