/* page layout & screen position */
html {
	overflow-y: scroll;	
}
	
body {
    text-align: center;
	font-size:62.5%;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color:#000;
	background-color:#DDD;
	margin: 0 0 20px 0;
}

*html body {														/*  hack for IE6  */
	font-size:55%;
}

*, div, p  {
	margin: 0;
	padding: 0;
}

p,ul,ol,dl,th,td, .description {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.1em;
	line-height: 135%;
	color: #333;
}

dt,li,ol li ul,ul li ul {
	color: #333;
	font-size:100%;
}

li, dd, dt {
	padding:3px;
	margin:0;
	color: #333;
}

p {
	margin-bottom: 8px;	
}

th {
	padding-right: 10px;
	text-align: left;
	font-weight: bold;
}

img {
	border:none;
}

h1 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.0em;
	font-weight:bold;
	color: #333;
	margin: 0;
	padding: 6px 0 0 0;
}

h2 {
	border: 1px solid #000;
	background-color :#FFF;
	padding: 4px 0 4px 8px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.4em;
	font-weight: bold;
	color: #000;
	margin: 0 0 10px 0;
}

h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.4em;
	font-weight: bold;
	color: #333;
}

h4  {
	margin:20px 0 10px 0;
	border-bottom: 1px solid #000;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.4em;
	font-weight: bold;
	color: #000;
}

h5 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.2em;
	font-weight: normal;
	color: #666;
}

h6 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.1em;
	font-weight: bold;
	color: #333;
}

p.error {
	font-weight: bold;
	color: red;
}

a {
	color: #000;
	text-decoration:none;
}

a:hover {
	text-decoration:underline;
}

input.checkItem, label.checkItem {
	vertical-align: middle;
	line-height: 1.9em;
}

label.checkItem {
	padding-left: 0.5em;
}

.cleaner {
	clear: both;
	height: 0px;
	font-size: 0.1em;
	border: none;
	margin: 0;
	padding: 0;
	background: transparent;
}

.none {
	display:none;
}

.indent {
	margin-left: 20px;	
}

.left {
	float: left;
}

.right {
	float: right;
	text-align: right;
}
.center {
	text-align: center;
}

.separator {
	border-top:1px dashed #999;
	color:#9c9c9c;
	margin:0 9px;
}

.smallGapAbove {
	margin-top: 5px !important;	
}

.largeGapAbove {
	margin-top: 25px !important;	
}

/* BUTTONS */
a.button, button.button, input.button {
    display:block;
    float:left;
    margin:0 7px 0 0;
    background-color: #FFF;
    border: 1px solid #000;
    border-top-color: #000;
    border-left-color: #000;

    font-family:Arial, Helvetica, sans-serif;
    line-height:130%;
    text-decoration:none;
    font-weight:bold;
    color:#000;
    cursor:pointer;
    padding:2px 10px 3px 10px; /* Links */
}
button.button[type] {
    padding:5px 10px 5px 7px; /* Firefox */
    line-height:17px; /* Safari */
}
*:first-child+html button.button[type] {
    padding:4px 10px 3px 7px; /* IE7 */
}
a.button img, button.button img {
    margin:0 8px -3px 0 !important;
    padding:0;
    border:none;
    width:16px;
    height:16px;
}
a.button.arrow, button.button.arrow {
	background: #FFF url("/resources/images/background_button_arrowRight.gif") no-repeat right top;
	padding-right: 16px;
}
a.button:hover.arrow, button.button:hover.arrow {
	background-position: right bottom;
}
a.button:hover, button.button:hover {
    background-color:#000;
    border:1px solid #000;
    color: #FFF;
    text-decoration: none;
}
a.button:active {
    background-color:#999;
    border:1px solid #333;
    color:#333;
}

.box {
	width: auto;
	border: 1px solid #000;
	background-color: #FFF;
	padding: 0 5px 5px 3px;
}

.box h4 {
	margin-top: 0;
	background-color: #FFF;
	border-bottom: 1px solid #000;
	margin-bottom: 5px;
	padding: 4px 0px 4px 8px;
	position: relative;
	font-size: 1.3em;
	text-align: left;
	margin-left: -3px;
	margin-right: -5px;
}

.box a:hover {
	text-decoration: none;	
}

.box p.emptyMessage {
	margin: 0 6px;	
}

.box button.button {
	padding: 1px 3px;
	font-size: 1em;	
}

.box.shoppingCart {
	width: auto;	
}

.box.shoppingCart .product {
	position: relative;
	width: 100%;
	margin:0;
	padding:0;
}

.box.shoppingCart .product .wrapper {
	position: relative;
	display: block;
	margin: 4px 4px 4px 5px;
	background: transparent url("/resources/images/background_shoppingCartProducts.gif") repeat-x bottom;
}

.box.shoppingCart .product a.removeItem {
	position: absolute;
	top: 0;
	right: -3px;
	display: none;
	padding-right: 22px;
	background: transparent url("/resources/images/background_removeItemBox.gif") no-repeat top right;
	line-height: 1.4em;
}

.box.shoppingCart .product:hover a.removeItem {
	display: block;
}

.box.shoppingCart .product:hover a:hover.removeItem {
	background-position: bottom right;
}

.box.shoppingCart .product img {
	postion: absolute;
	bottom: 0;
	left: 0;
	height: 60px;
	padding-right: 4px;
	background-color: #FFF;
}

.box.shoppingCart .product span.quantity {
	background-color: #FFF;	
	padding: 0 3px;
	font-size: 1.1em;
}
	
.box.shoppingCart .product span.price {
	position: absolute;
	bottom: 0;
	right: 0;
	padding-left: 4px;
	font-size: 1.1em;
	cursor: pointer;
}
* html .box.shoppingCart .product span.price {  /* hack for IE6 as per CSS Mastery */
	bottom: 8px;
	padding-right: 5px;
}

.box.shoppingCart .total {
	position: relative;
	height: 1%;  /* hack for IE6 as per CSS Mastery */
	margin: 5px 5px 0 5px;
	border-top: 1px solid #000;
	padding: 8px 0;
	font-weight: bold;
	font-size: 1.1em;
}

.box.shoppingCart .total span {
	position: absolute;
	right: 0;
}

.box.shoppingCart a.button {
	float: right;
	margin: 5px 5px 5px 5px;
	background-repeat: no-repeat;
	background-position: top right;
	font-size: 1.1em;
}

.box.shoppingCart a.button:hover {
	background-position: bottom right;
}

.box.shoppingCart p.note {
	margin-bottom: 0;
	padding: 10px 2px 0 3px;
	font-size:0.9em;
	font-style: italic;
}

.box.newReleases .product,
.box.specials .product,
.box.similarMusic .product {
	margin: 0 8px 5px 0;
	width: 80px;
	overflow: hidden;
}

#searchAlphabet {
	margin: 20px 0 10px 0;
	padding-bottom: 5px;
	background-color: transparent;	
	border-bottom: 1px solid #000;
	text-align: left;
}

#searchAlphabet ul {
	width:100%;
	margin:0;
	padding:0;
	list-style:none;
}

#searchAlphabet li {
	float:left;
	margin:0;
	padding:0 3px 0 3px;
	line-height: 2em;
	color: #999;
}

#searchAlphabet li a {
	padding: 0 2px;
	border: 1px solid #000;
}

#searchAlphabet li a:hover {
	background-color: #999;
	color: #FFF;
}

#searchAlphabet li.selected a {
	background-color: #000;
	color: #FFF;
}

#searchResultsTree .containerTableStyle {
	overflow-x: hidden;	
}

ol.faq {
	list-style-type: decimal;
	vertical-align: top;
	padding-left: 20px;
}
ol.faq li, ol.faq li h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
}
ol.faq li p {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-weight: normal;
}

/**********/
/* Tables */
/**********/
table.largeGapBetweenRows {
	border-collapse: seperate;
	border-spacing:0 15px;
}
.basicTable {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #000;
}
.basicTable th, .basicTable td {
	border: 1px solid #000;
	padding: 2px 5px;
	vertical-align: middle;	
}
.basicTable thead {
	background-color: #fff;
}
.basicTable .alignRight {
	text-align: right;
}
.basicTable .alignCenter {
	text-align: center;
}
.basicTable .noWrap {
	white-space: nowrap;
}
