/* 
Colors

light grey:		#b1b2b4
dark grey:		#7f8082
red:			#d21034

*/

/* whitespace reset: remove margin & padding from certain elements (for browser compatibility) */
html, body, td, tr, p, h1, h2, h3, h4, h5, h6, div, ul, li { padding:0; margin:0; }

/* global settings */
body, td { font: 11px Arial, Helvetica, sans-serif; color: #7f8082; }
small { font-size:80%; letter-spacing: 0.05em; }
img { border: 0; }
img.vmiddle { vertical-align:middle; }
img.icon { width:16px; height:16px; }
span.popup { position:absolute; display:block; top:-9px; left:21px; background:#eee; color:#7f8082; width:200px; font-size:10px; line-height:14px; padding:5px; }

input.text, input.password
{
	padding:2px; 
	font: 11px Arial, Helvetica, sans-serif; 
	color: #000; 
	background-color:#fff; 
	border:1px solid #b1b2b4;
	vertical-align:middle;
}

.labeltext
{
	margin: 15px 0;
	padding: 2px; 
	font: 11px Arial, Helvetica, sans-serif; 
	color: #000; 
	background-color:#fff; 
	border:1px solid #b1b2b4;
	vertical-align:middle;
}
select 
{
	padding:2px; 
	font: 11px Arial, Helvetica, sans-serif; 
	color: #000; 
	background-color:#fff; 
	border:1px solid #b1b2b4;
	vertical-align:middle;
}
textarea
{
	padding:2px; 
	font: 11px Arial, Helvetica, sans-serif; 
	color: #000; 
	background-color:#fff; 
	border:1px solid #b1b2b4;
	vertical-align:top;
}
input.button
{ 
	margin:0 5px; 
	border:0; 
	vertical-align:middle;
	font-size:11px;
	line-height:14px;
	font-weight:bold;
	color:#fff;
	background:#d21034 url(/images/css/corner-red-5.gif) no-repeat top left;
	padding:2px 0;
	cursor:pointer;
}
html > body input.button { padding:2px 5px; }

input.button:hover
{ 
	background:#b1b2b4 url(/images/css/corner-light-grey-5.gif) no-repeat top left;
}

p { margin:0 0 10px; }
p.last { margin:0; }

a { color: #000; text-decoration:none; }
a:hover { background:#eee; }

/* site header - normally a graphic */
h1 { margin:0; padding:0; font-size: 30px; }
/* individual page header */
h2 
{ 
	margin:0 0 5px; 
	padding:30px 20px 10px 20px;
	color:#fff;
	background:#7f8082 url(/images/css/corner-dark-grey-10-bg.gif) no-repeat top left;
	font-size:25px;
}
h2 a { float:right; font-size:11px; margin:10px 0 0 0; padding:1px 5px; color:#fff; line-height:14px; border:1px solid #fff; border-right:0; }
h2 a.last { border-right:1px solid #fff; }
h2 a:hover { background:#b1b2b4; }
/* page section header */
h3
{
	clear:both;
	margin:0 0 5px;
	padding:5px 20px;
	color:#fff;
	background:#d21034;
	font-size:20px;
}

div.table { border:2px solid #7f8082; border-top:0; margin:0 0 5px; }
div.topborder { border-top:2px solid #7f8082; }
table 
{ 
	margin:0 0 5px;
	border-collapse:collapse; 
	border:2px solid #7f8082;
}
div.table table { border:0; margin:0; }
div.info table, form table { border:1px solid #7f8082; }

th, td 
{ 
	font-size:11px; 
	text-align:left; 
	padding:5px 5px 5px 10px;  
	vertical-align:middle; 
}
th 
{
	color:#fff;
	background:#7f8082;
}
th.vtop { vertical-align:top; }
th a { color:#fff; vertical-align:middle; }
th a:hover { background:#9fa0a2; }

div.table table.leftheader { border-top:2px solid #7f8082; }
table.leftheader th { width:25%; overflow:visible; vertical-align:top; }

td 
{ 
	background:#fff;
}
td.first { border-left:1px solid #7f8082; }
tr.alt td { background:#f2f2f2; }
tr.alt a:hover { background:#fff; }
th img, td img { vertical-align:middle; }
table a img { background:#fff; }
table tr.alt a img { background:#f2f2f2; }

table.l td, table.l th { text-align:left; }
table.c td, table.c th { text-align:center; }
table.r td, table.r th { text-align:right; }
th.l, td.l { text-align:left !important; }
th.c, td.c { text-align:center !important; }
th.r, td.r { text-align:right !important; }

/* common classes */
.nofloat { float:none !important; }
.clear { clear:both !important; }
.noclear { clear:none !important; }
.noborder { border:none !important; }
.hidden { display:none !important; }
.full { width:100% !important; }
.auto { width:auto !important; }
.b { font-weight:bold !important; }
.deleted { color:#d21034 !important; }
.reallyimportant { font-weight:bold; color:#d21034 !important; }
.money { font-weight:bold; color:#d21034 !important; }

/* informational divs: info, success, warning, error */
div.info 
{ 
	margin:0 0 5px; 
	padding:8px; 
	border: 2px solid #7f8082; 
	background: #fff;
	text-align:left;
}
div.info pre { overflow:hidden; } 
div.info pre b { color:#000; }
div.infologin { border:2px solid #7f8082; padding-left:8px; color:#d21034; line-height:16px; width: 195px;}
div.important { border:2px solid #6289b5; padding-left:32px; background: #fff url(/images/icons/important.gif) 8px 7px no-repeat; }
div.success { border:2px solid #7f8082; padding-left:32px; background: #fff url(/images/icons/success.gif) 8px 7px no-repeat; }
div.warning { border:2px solid #ffdf3f; padding-left:32px; background: #fff url(/images/icons/warning.gif) 8px 7px no-repeat; }
div.error { border:2px solid #d21034; padding-left:32px; color:#d21034; background: #fff url(/images/icons/error.gif) 8px 7px no-repeat; }
div.debug { border:2px solid #000; padding-left:32px; background: #fff url(/images/icons/debug.gif) 8px 7px no-repeat; }
html > body div.important, html > body div.success, html > body div.warning, html > body div.error, html > body div.debug { background-position: 9px 6px; }
div.alert { position:absolute; cursor:pointer; }

div.paging { font-weight:bold; text-align:center; line-height:16px; }
div.paging img { background:#fff; vertical-align:middle; padding:0; margin:0; }
div.paging span { padding:0 2px; vertical-align:middle; height:16px; }

div.info ul { margin-left:25px; padding:5px 10px; }
div.info h4 { margin:0 0 5px; font-size:11px; } 

div.loginerror { color:red; }


/* basic layout */
body
{
	margin: 0;
	padding: 0;
	background: #eee url(../images/css/body.gif) repeat;
	text-align: center;
}

#debug { position:absolute; left:10px; top: 10px; width:350px; z-index:100; }
html > body #debug { position:fixed; }

#page
{
	margin: 0 auto;
	width: 765px;
	text-align: left;
}
#header { margin:5px 0; }

#nav
{
	padding:0;
	margin:0 0 5px;
	border:0;
	border-collapse:collapse;
	height:32px;
	width:100%;
}
#nav td
{
	border:1px solid #d21034;
	vertical-align:middle;
	text-align:center;
	font-weight:bold;
	padding:0; 
	margin:0;
	height:30px;
	cursor:pointer;
}
#nav a, #nav b {
	font-weight:bold;
	text-align:center;
	vertical-align:middle;
	line-height:13px;
	margin:0;
	color:#999;
}
#nav td.active
{ 
	background:#e26263;
	color:#fff;
}
#nav td.active a, #nav td.active  b { color:#fff; }
#nav td:hover, #nav td.hover, #nav td:hover a, #nav td.hover a, #nav a:hover 
{ 
	background:#d21034;
	color:#fff;
	text-decoration:none; 
}

#studentitnav
{ 
	background:red;
	color:red;
	text-decoration:none; 
}
#nav td.nolink
{
	background:#e26263 !important;
	cursor:auto !important;
}

#main
{
	clear: both;
	float: right;
	width: 595px;
	margin: 0 0 0 5px;
}
#main.full 
{ 
	float:none; 
	margin:0; 
	width: 765px; 
}
#sidebar
{
	float: left;
	width: 165px;
	z-index: 2;
}
#footer
{
	clear: both;
	margin: 0 0 10px;
	text-align: center;
	color: #7f8082;
	z-index: 1;
}

/* main page components */
#main .banners { margin:0 0 5px; border:2px solid #7f8082; }
#main .banners a { display:block; }
#main .banners img { display:block; }

#main .feature 
{ 
	float:left; 
	margin:0 0 5px 5px; 
	width: 195px; 
	clear:none;	
}
#main .feature h4 
{ 
	padding:2px 10px;
	background:#7f8082 url(/images/css/corner-dark-grey-10-bg.gif) no-repeat top left;
	color:#fff;
	font-size: 14px;
	line-height: 18px;
	overflow:hidden;
}
#main .feature .image 
{
	border-left:2px solid #7f8082;
	border-right:2px solid #7f8082;
	background:#fff;
	padding:8px;
	height:120px;
}
#main .feature .image div 
{
	display:table-cell;
	width:175px;
	height:120px; 
	overflow:hidden; 
	vertical-align: top;
	text-align:center;
}
#main .feature .image div img { margin:0px; }
#main .feature .content
{
	border:2px solid #7f8082;
	border-top:none;
	background:#fff;
	padding:0 8px 8px;
	height:112px;
}
#main .feature .content div 

{
	line-height:14px; 
	height:112px;  
	overflow:hidden;
}
#main .feature .content div a, #main .feature .content div a:hover { display:block; line-height:14px; width:100%; overflow:hidden; }

#bundlewrapper {
	clear: both;
	float: right;
	width: 594px;
	margin: 0 0 5px 0;
	padding-left:0;
	background:#fff;
	border: 1px solid #7f8082;
} 




#bundlewrapper .bundle {
	border:0;
	float: left;
	width: 102px;
	height: 81px;
	margin-left: 14px;
	margin-top: 5px;
	margin-bottom: 5px;
}

#main .promo { margin:0 0 5px; float:left; width:100%;  }
#main .promo h4 
{ 
	padding:4px 10px 3px;
	background:#d21034 url(/images/css/corner-red-10-bg.gif) no-repeat top left;
	color:#fff;
	font-size: 14px;
	line-height: 18px;
}
#main .promo .content { border:2px solid #d21034; border-top:none; background:#fff; margin:0; padding:0; }
#main .promo .content img { display:block; width:591px; }

/* override to remove left-margin from  first component */
#main .first { margin-left:0; }

/* sidebar components */
#sidebar h4
{
	padding:4px 12px 3px;
	background:#b1b2b4 url(/images/css/corner-light-grey-10-bg.gif) no-repeat top left;
	color: #fff;
	font-size: 12px;
	line-height: 18px;
}
#sidebar .content
{
	border: 2px solid #b1b2b4;
	border-top:none;
	margin: 0 0 5px;
	padding: 8px 8px 10px;
	background: #fff;
}

/* specific components */

#cart h4 { background:#d21034 url(/images/css/corner-red-10-bg.gif) no-repeat top left;  }
#cart h4 a { float:right; vertical-align:middle; }
#cart h4 a img { display:block; }
#cart .content { border:2px solid #d21034; border-top:none; }

.cartitem { padding:0 0 2px; margin:0; }
.cartitem a { display:block; overflow:hidden; line-height:16px; height:16px; }
.cartitem span.deleted { color:#d21034; line-height:16px; height:16px; overflow:hidden; }
#cart .total { text-align:right; padding:5px 0 5px; font-weight:bold; }
#cart .total span { float:left; }
#cart .buttons { text-align:left; }
#cart .buttons a { margin:5px 0 0; padding:0 5px 0 0; height:16px; line-height:16px; display:block;  }
#cart .buttons a img { float:left; background:#fff; vertical-align:middle; margin:0 5px 0 0; padding:0; }

#searchbox input.text
{
	width: 118px;
	vertical-align: middle;
	margin: 0;
}
#searchbox input.image
{
	float:right;
	margin:3px 0 0;
	
}

#categorynav {}
#categorynav #listby
{
	margin:0 0 8px;
	padding:0 0 5px 5px;
	border-bottom: 1px solid #b1b2b4;
	float:none;
	clear:both;
	width:145px;
}
#listby li { margin-left:25px; padding:2px; }

/* parent items */
#categorynav #categorytree { list-style:none; clear:left; }
#categorytree li 
{ 
	list-style:none;
	float:left; 
	clear:none; 
	width:145px; 
}
#categorytree a 
{
	display:block;
	padding:2px 5px;
	text-decoration:none;
}
#categorytree a:hover { background:#eee; }
/*  child items */
#categorytree ul { display:none; }
#categorytree ul.visible { display: block; }
#categorytree ul a { color: #7f8082; padding:2px 5px 2px 10px; }

#adminmenu
{
	border:2px solid #7f8082;
	padding:18px 28px;
	background:#fff;
	margin-bottom:5px;
}
#adminmenu ul
{
	list-style:none;
	font-size:15px;
}
#adminmenu li h4 { font-size:15px; margin:0 0 5px; }
#adminmenu ul ul
{
	list-style-type:disc;
	font-size:11px;
}
#adminmenu li { margin:0 0 10px 0; clear:left; }
#adminmenu li li { margin:0 0 10px 30px; line-height:16px; padding:0 5px; }
#adminmenu a { font-weight: bold; }


.productlist th { padding:5px 10px !important; }
.productlist td {	padding:10px; }
.productlist .image { width:77px; }
.productlist .image img { border:1px solid #b1b2b4; }
.productlist .name { width:auto; }
.productlist .price { width:65px; text-align:right; }
.productlist .price small { color: #d21034; }
.productlist .buttons
{
	width:65px;
	text-align:left;
	white-space:nowrap;
}
.productlist td.buttons a { margin:0 5px 0 0; padding:0; background:#fff; }
.productlist tr.alt td.buttons a { background:#f2f2f2; }

/* print styles */
@media print 
{ 
	body { background-color:#fff; background-image:none; }
	#nav, #sidebar, input.button, #footerlinks, #debug { display:none; } 
	#page { width:650px; margin:0; }
	#main, #header, #footer { float:none !important; width:auto !important; border:0 !important; }
	h1 img { width:100%; height:auto; }
}