a:link { color: #000066; }
a:visited { color: #666666; }

body { position: relative; width: 770px; padding: 0; margin: 0 auto; font-size: 11px; line-height: 17px; font-family: verdana, sans-serif; background-color: #fafafa; }
table { font-size: 11px; font-family: verdana, sans-serif; }
form { padding: 0; margin: 0 0 1px 0; }

input.dataEntry { width: 90%; border: 1px solid #cccccc; }
img.stripe { margin: 0 0 10px 0; padding: 0; }
p.info { width: 100%; color: #000000; font-size: 11px; margin: 0 ; line-height: 18px; padding: 0 0 10px 0; }
p.summary { margin: 0; color: #000000; line-height: 17px; font-size: 12px; padding: 0 0 20px 0; }
p.phone { margin: 0; color: #000000; line-height: 17px; font-size: 11px; padding: 10px 0 0 0; }
span.price { font-weight: bold; font-size: 12px; color: #0033cc; }
span.unavailable { font-weight: bold; font-size: 12px; color: #cc0000; }
span.outOfPrint { font-weight: bold; font-size: 12px; color: #cc0000; }
span.released { font-weight: bold; font-size: 12px; color: #65b13f; }

span.promotionalPrice { font-weight: bold; font-size: 12px; color: #cc3300; }
p.shippingPrice { height: 50px; color: #cc3335; font-family: verdana, sans-serif; font-size: 12px; font-weight: bold; text-align: center; padding: 0 10px 0 10px; border-left: 1px #cccccc solid; margin: 10px 0 10px 0; }
p.shippingPrice img { margin-bottom: 10px; }
p.subtotal { height: 50px; color: #666666; font-family: verdana, sans-serif; font-size: 12px; font-weight: bold; text-align: center; padding: 0 10px 0 10px; border-left: 1px #cccccc solid; margin: 10px 0 10px 0; }
p.subtotal img { margin-bottom: 10px; }
p.total { height: 50px; color: #000066; font-family: verdana, sans-serif; font-size: 12px; font-weight: bold; text-align: center; padding: 0 10px 0 10px; border-left: 1px #cccccc solid; margin: 10px 0 10px 0; }
p.total img { margin-bottom: 10px; }

p.cartButtons  { width: 750px; padding: 10px 0 5px 0; margin: 0; border-top: 1px #cccccc solid; }
p.cartButtons .centerButton { text-align: center; }
p.cartButtons .leftButton { float: left; }
p.cartButtons .rightButton { float: right; }

.detached { color: #cc3300; }

div#topBar { z-index: 2; width: 765px; margin: 0 0 0 5px; padding: 0; background-color: #000000; text-align: center; }

div#headerLogo { z-index: 2; width: 770px; height: 135px; background-image: url(/images/header_background-770x135.gif); background-repeat: no-repeat; background-position: center top; }

div#breadCrumb { z-index: 2; height: 20px; margin: 0 0 10px 0; padding: 5px; font-weight: bold; line-height: 20px; }
div#breadCrumb a { font-weight: normal; }

div#core { z-index: 2; position: relative; width: 620px; padding: 0; border: 1px solid #cccccc; margin: 0 0 10px 0; background-color: #fafafa; vertical-align: top; }
div#coreContent { width: 600px; padding: 10px 10px 20px 10px; margin: 0; font-size: 12px; }
div#coreContent h1 { margin: 0 0 10px 0; padding: 0; font-size: 16px; font-family: verdana, sans-serif; }

div#cart { z-index: 2; position: relative; width: 770px; padding: 0; border: 1px solid #cccccc; margin: 0 0 10px 0; background-color: #fafafa; vertical-align: top; }
div#cartContent { width: 750px; padding: 10px 10px 20px 10px; margin-bottom: 0; font-size: 12px; }

div#sideBar { z-index: 2; position: relative; width: 140px; padding: 0; border: 1px solid #cccccc; margin: 0 0 10px 0; background-color: #fafafa; vertical-align: top; }
div#sideBarContent { padding: 10px 5px 10px 5px; margin: 0; }

div#headerSideBar { z-index: 4; position: absolute; width: 170px; left: 585px; top: 40px; padding-left: 15px; }
div#headerSideBarContent { text-align: center; position: relative; padding: 70px 5px 5px 5px; color: #000000; line-height: 20px; }


div#headerSearch { z-index: 4; position: absolute; width: 170px; left: 585px; top: 40px; padding-left: 15px; }

div#footer { z-index: 2; position: relative; width: 770px; padding: 0; background-color: #eaeaea; margin-bottom: 10px; color: #eaeaea; }
div#footerContent { text-align: center; position: relative; padding: 2px; color: #000000; line-height: 20px; }

div#copyright { z-index: 2; position: relative; width: 770px; padding: 0; margin: 0; text-align: center; color: #000000; }

div#charList { z-index: 3; position: relative; left: 50px; width: 500px; border-top: 1px solid #cccccc; border-bottom: 1px solid #cccccc; font-size: 14px; padding: 5px 0 5px 0; margin: 0; line-height: 30px; text-align: center; }
div#charList a { margin: 0 6px 0 6px; }

div#shoppingSteps { z-index: 3; margin: 0 0 10px 0; padding: 5px; vertical-align: top; }
div#shoppingSteps img { margin: 0 5px 0 5px; }
div#shoppingSteps img.secure { position: relative; top: -3px; left: 30px; }

div#messages { z-index: 2; position: relative; width: 100%; padding: 0; border: 1px solid #cccccc; margin: 0 0 10px 0; background-color: #fafafa; vertical-align: top; }
div#messagesContent { width: 600px; padding: 10px; margin-bottom: 0; font-size: 12px; color: #000000; font-weight: bold; }
div#messagesContent p { margin: 0; padding: 0 0 14px 0; }

div#searchResults { z-index: 2; position: relative; width: 620px; padding: 0; border: 1px solid #cccccc; margin: 0 0 10px 0; background-color: #fafafa; vertical-align: top; }
div#searchResultsContent { padding: 10px; margin-bottom: -1px; font-size: 12px; color: #000000; }

div#refinedSearch { z-index: 3; margin: 0 0 10px 0; padding: 0; }
div#refinedSearch div.paramList { font-size: 11px; color: #000000; font-family: verdana, sans-serif; padding: 0; margin: 0 0 10px 0; }
div#refinedSearch div.paramList p.param { width: 125px; font-weight: bold; margin: 0; padding: 0 0 0 5px; }
div#refinedSearch div.paramList p.option { width: 125px; line-height: 15px; margin: 0; padding: 5px 0 5px 5px; }

div#sortOptions { z-index: 3; width: 600px; font-size: 11px; color: #000000; border-bottom: 1px solid #cccccc; padding-bottom: 10px; line-height: 25px; }

div#paginate { z-index: 3; width: 600px; font-size: 11px; padding: 5px 0 5px 0; margin: 0; line-height: 20px; text-align: left; color: #000000; border-top: 1px solid #cccccc; }
div#paginate a { margin: 0 6px 0 6px; }
div#paginate b { font-weight: normal; }
div#paginate b.selectedPage { margin: 0 5px 0 5px; font-weight: bold; color: #000000; }

div#orderNumber { z-index: 3; width: 339px; border: 2px solid #000066; color: #ff0000; text-transform: none; font-weight: bold; font-family: verdana, sans-serif; font-size: 14px; text-align: center; padding: 5px 10px 5px 10px; line-height: 22px; margin: 0 10px 10px 0; }
div#orderNumber b { color: #000066; font-size: 20px; }

div#categoryPage { z-index: 3; width: 590px; margin: 0; padding: 0 0 10px 0; }
div#categoryPage h1 { margin: 0 0 10px 0; padding: 0; font-size: 16px; font-family: verdana, sans-serif; }
div#categoryPage img { border-left: 10px #fafafa solid; }

div#bestSellersList { width: 130px; padding: 0; margin: 0 0 10px 0; border-collapse: collapse; text-align: center; }
div#bestSellersList div.book { border-bottom: 1px solid #cccccc; padding: 5px 0 10px 0; }
div#bestSellersList div.book img.cover { border: 1px solid #cccccc; margin: 5px 0 5px 0; }
div#bestSellersList div.book p.description { margin: 0 0 5px 0; padding: 0; line-height: 17px; font-size: 11px; color: #000000; }
div#bestSellersList div.book p.description a { text-transform: none; font-weight: bold; }
div#bestSellersList div.book p.availability { padding: 0; margin: 0; }
div#bestSellersList div.book p.availability input { margin: 3px 0 3px 0; }
div#bestSellersList div.book p.availability img { margin: 3px 0 3px 0; }

/* Absolutos */
div#navigation { z-index: 4; position: absolute; left: 20px; top: 125px; }
div#navigation img { margin: 0 3px 0 3px; }

div#headerSearch { z-index: 4; position: absolute; width: 170px; left: 585px; top: 85px; padding-left: 15px; }
div#headerSearch input.dataEntry { width: 140px; }

div#headerInfo { z-index: 2; position: absolute; width: 170px; left: 585px; top: 35px; padding-left: 15px; }

/* Tabelas */
table.homepage { width: 599px; padding: 0; margin: 0; border-collapse: collapse; line-height: 17px; }
table.homepage tr td { width: 300px; padding: 0 10px 0 0; vertical-align: top;  }
table.homepage tr td.rightColumn { width: 299px; padding: 0 0 0 10px; vertical-align: top; border-left: 1px solid #cccccc; }
table.homepage a { text-transform: none; font-weight: bold; }
table.homepage div.book { margin: 0 0 10px 0; padding: 10px 0 0 0; color: #000000; border-top: 1px solid #cccccc; }
table.homepage div.book img.cover { margin-right: 10px; border: 1px #cccccc solid; }
table.homepage div.book p.availability { margin: 10px 0 10px 0; padding: 0; vertical-align: top; }
table.homepage div.book p.availability input { margin: 5px 3px 5px 0; vertical-align: top; }
table.homepage div.book p.availability img { margin: 5px 0 5px 0; vertical-align: top; }
table.homepage div.firstBook { margin: 0 0 10px 0; padding: 10px 0 0 0; color: #000000; }
table.homepage div.firstBook img.cover { margin-right: 10px; border: 1px #cccccc solid; }
table.homepage div.firstBook p.availability { margin: 10px 0 10px 0; padding: 0; vertical-align: top; }
table.homepage div.firstBook p.availability input { margin: 5px 3px 5px 0; vertical-align: top; }
table.homepage div.firstBook p.availability img { margin: 5px 0 5px 0; vertical-align: top; }

table.bookList { width: 600px; padding: 0; margin: 0; border-collapse: collapse; line-height: 17px; }
table.bookList tr.book { font-size: 11px; font-family: verdana, sans-serif; padding: 0; vertical-align: top; }
table.bookList tr.book td.cover { border-bottom: 1px solid #cccccc; }
table.bookList tr.book td.description { border-bottom: 1px solid #cccccc; }
table.bookList tr.book td.availability { border-bottom: 1px solid #cccccc; }
table.bookList tr.lastBook { font-size: 11px; font-family: verdana, sans-serif; padding: 0; vertical-align: top; }
table.bookList tr.lastBook td.cover { border-bottom: none; }
table.bookList tr.lastBook td.description { border-bottom: none; }
table.bookList tr.lastBook td.availability { border-bottom: none; }
table.bookList td.cover { width: 100px; padding: 10px 0 10px 0; text-align: center; }
table.bookList td.cover img { border: 1px solid #cccccc; }
table.bookList td.description { width: 300px; padding-bottom: 10px; }
table.bookList td.description p { min-height: 90px; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; margin: 10px 0 0 0; padding: 0 10px 0 10px; }
table.bookList td.description p a { text-transform: none; font-weight: bold; }
table.bookList td.availability { width: 200px; padding-bottom: 10px; vertical-align: bottom; }
table.bookList td.availability p { min-height: 90px; margin: 10px 0 0 0; padding: 0 0 0 10px; font-size: 12px; }
table.bookList td.availability p input { margin: 5px 2px 5px 0; }
table.bookList td.availability p img { margin: 5px 2px 5px 0; }

table.bookPage { width: 599px; padding: 0; margin: 0 0 10px 0; border-collapse: collapse; line-height: 17px; }
table.bookPage tr { vertical-align: top; }
table.bookPage td.cover { width: 199px; padding: 10px 0 10px 0; text-align: center; }
table.bookPage td.cover img { border: 3px double #cccccc; }
table.bookPage td.cover img.enlargeCover { border: none; margin: 10px 0 10px 0; }
table.bookPage td.info { width: 400px; padding-bottom: 10px; }
table.bookPage td.info div.infoContent { padding-left: 20px; border-left: 1px solid #cccccc; }
table.bookPage td.info h1.title { margin: 0 0 10px 0; padding: 0; font-size: 16px; font-family: verdana, sans-serif; }
table.bookPage td.info h2.subtitle { margin: -8px 0 5px 0; padding: 0; font-size: 12px; font-family: verdana, sans-serif; padding-bottom: 5px; }
table.bookPage td.info h2.author { margin: 0 0 10px 0; padding: 0; font-size: 14px; font-family: verdana, sans-serif; padding-bottom: 10px; border-bottom: 1px solid #cccccc; }
table.bookPage td.info p.edition { border-bottom: 1px solid #cccccc; margin: 0 0 10px 0; padding: 5px 0 5px 0; }
table.bookPage td.info p.availability { margin: 0; padding: 0; font-size: 12px; }
table.bookPage td.info p.availability input { margin: 5px 2px 10px 0; }

table.bookDetails { width: 599px; padding: 0; margin: 0; border-collapse: collapse; font-size: 12px; color: #000000; line-height: 25px; }
table.bookDetails tr { vertical-align: top; }

table.cartList { width: 742px; padding: 0; margin: 0; border-collapse: collapse; line-height: 17px; }
table.cartList tr.tableHeader th { text-align: left; padding: 0 0 0 5px; background-color: #dddddd; border-top: 4px double #dddddd; border-bottom: 4px double #dddddd; border-left: 1px #ffffff solid;  border-right: 1px #ffffff solid; }
table.cartList tr.tableHeader th.product { width: 390px; border-left: none; }
table.cartList tr.tableHeader th.quantity { width: 100px; }
table.cartList tr.tableHeader th.unitPrice { width: 100px; }
table.cartList tr.tableHeader th.totalPrice { width: 100px; }
table.cartList tr.tableHeader th.exclude { width: 60px; border-right: none; }
table.cartList tr { text-align: center; vertical-align: top; }
table.cartList tr td { padding: 10px 0 10px 0; border-bottom: 1px solid #cccccc; }
table.cartList tr td.product { width: 290px; text-align: left; }
table.cartList tr td.product p { border-left: 1px solid #cccccc; height: 90px; padding-left: 10px; }
table.cartList tr td.cover { width: 100px; border-bottom: 1px solid #cccccc; text-align: center;  padding: 20px 0 10px 0; }
table.cartList tr td.cover img { border: 1px solid #cccccc; }

table.cartInfo { width: 747px; padding: 0; margin: 0; border-collapse: collapse; line-height: 17px; }
table.cartInfo tr td { vertical-align: top; padding: 0; }
table.cartInfo tr td table.cep { width: 420px; padding: 0; margin: 0; }

table.authorList { width: 599px; padding: 0; margin: 0; border-collapse: collapse; line-height: 17px; }
table.authorList tr { vertical-align: top; }
table.authorList tr td { width: 300px; }
table.authorList tr td.rightColumn { width: 289px; padding-left: 10px; border-left: 1px #cccccc solid; }
table.authorList p.author { padding: 5px 0 10px 10px; margin: 0; }
table.authorList p.author img { margin-right: 5px; vertical-align: bottom; }

table.authorPage { width: 599px; padding: 0; margin: 0 0 10px 0; border-collapse: collapse; line-height: 17px; }
table.authorPage tr { vertical-align: top; }
table.authorPage td.photo { width: 199px; padding: 0 20px 10px 0; text-align: left; }
table.authorPage td.photo div { width: 100%; border-right: 1px solid #cccccc; text-align: center; }
table.authorPage td.photo table { margin: 0; padding: 0; border-collapse: collapse; }
table.authorPage td.photo table tr td.credit { text-align: right; font-size: 11px; }
table.authorPage td.photo img { border: 3px double #cccccc; }
table.authorPage td.biography { padding: 0 0 10px 0; }
table.authorPage td.biography h1.author { margin: 0 0 10px 0; padding: 0; font-size: 16px; font-family: verdana, sans-serif; }

table.categoryList { width: 599px; padding: 0; margin: 0 0 10px 0; border-collapse: collapse; line-height: 17px; }
table.categoryList tr { vertical-align: top; }
table.categoryList tr td { width: 300px; }
table.categoryList tr td.rightColumn { width: 289px; padding-left: 10px; border-left: 1px #cccccc solid; }
table.categoryList p.category { padding: 5px 0 10px 10px; margin: 0; }
table.categoryList p.category img { margin-right: 1px; vertical-align: bottom; }

table.identificationPage { width: 749px; padding: 0; margin: 0; border-collapse: collapse; color: #000000; font-size: 10px; line-height: 17px; }
table.identificationPage table { width: 80%; padding: 0; margin: 0; border-collapse: collapse; }
table.identificationPage tr { vertical-align: top; }
table.identificationPage tr td.leftColumn { width: 360px; }
table.identificationPage tr td.rightColumn { width: 360px; padding-left: 20px; border-left: 1px #cccccc solid; }
table.identificationPage div.companyFields { width: 330px; border: 1px dotted #cc3300; padding: 10px 10px 10px 15px; margin-bottom: 20px; }
table.identificationPage table { margin-bottom: 10px; text-align: left; }

table.paymentPage { width: 750px; padding: 0; margin: 0; border-collapse: collapse; color: #000066; font-size: 12px; line-height: 17px; }
table.paymentPage tr { vertical-align: top; }
table.paymentPage tr td { padding: 5px 0 10px 0; }
table.paymentPage span.additionalInfo { text-transform: none; color: #999999; font-size: 10px; vertical-align: middle; }
table.paymentPage span.hint { color: #660000; font-size: 10px; }

table.confirmationPage { width: 749px; padding: 0; margin: 0; font-size: 12px; font-family: verdana, sans-serif; color: #000000; line-height: 17px; }
table.confirmationPage tr { vertical-align: top; }
table.confirmationPage tr td { width: 349px; }
table.confirmationPage tr td.rightColumn { width: 390px; padding-left: 10px; border-left: 1px #cccccc solid; }
table.confirmationPage tr td div.confirmationInfo { width: 98%; border-top: 1px solid #cccccc; padding: 10px 0 10px 0; }
table.confirmationPage tr td div.confirmationInfo b { color: #000000; }
table.confirmationPage tr td div.confirmationInfo p { margin: 5px 0 0 0; padding: 0; }
table.confirmationPage tr td div.confirmationInfo p b { color: #000000; }

/* Rounded corners (line) */
div.rctl { z-index: 1; width: 10px; height: 10px; position: absolute; top: -1px; left: -1px; background-image: url(/images/rc-tl.gif); background-repeat: no-repeat; background-position: top right ; }
div.rctr { z-index: 1; width: 10px; height: 10px; position: absolute; top: -1px; right: -1px; background-image: url(/images/rc-tr.gif); background-repeat: no-repeat; background-position: top right ; }
div.rcbl { z-index: 1; width: 10px; height: 10px; position: absolute; bottom: -1px; left: -1px; background-image: url(/images/rc-bl.gif); background-repeat: no-repeat; background-position: bottom left; }
div.rcbr { z-index: 1; width: 10px; height: 10px; position: absolute; bottom: -1px; right: -1px; background-image: url(/images/rc-br.gif); background-repeat: no-repeat; background-position: bottom left; }
/* IE Bug fix */
div.rcblIE { z-index: 1; width: 10px; height: 10px; position: absolute; bottom: -2px; left: -1px; background-image: url(/images/rc-bl.gif); background-repeat: no-repeat; background-position: bottom left; }
div.rcbrIE { z-index: 1; width: 10px; height: 10px; position: absolute; bottom: -2px; right: -1px; background-image: url(/images/rc-br.gif); background-repeat: no-repeat; background-position: bottom left; }

/* Rounded corners (solid) */
div.srctl { position: absolute; z-index: 1; width: 10px; height: 10px; background-color: #fafafa; overflow: hidden; top: 0; left: 0; }
div.srctr { position: absolute; z-index: 1; width: 10px; height: 10px; background-color: #fafafa; overflow: hidden; top: 0; right: 0; }
div.srcbl { position: absolute; z-index: 1; width: 10px; height: 10px; background-color: #fafafa; overflow: hidden; bottom: 0; left: 0; }
div.srcbr { position: absolute; z-index: 1; width: 10px; height: 10px; background-color: #fafafa; overflow: hidden; bottom: 0; right: 0; }
div.srctlc { position: relative; z-index: 1; font-size: 80px; font-family: verdana, sans-serif; line-height: 40px; left: -5px; top: -10px; }
div.srctrc { position: relative; z-index: 1; font-size: 80px; font-family: verdana, sans-serif; line-height: 40px; left: -39px; top: -10px }
div.srcblc { position: relative; z-index: 1; font-size: 80px; font-family: verdana, sans-serif; line-height: 40px; left: -5px; top: -40px; }
div.srcbrc { position: relative; z-index: 1; font-size: 80px; font-family: verdana, sans-serif; line-height: 40px; left: -39px; top: -40px; }

.addressInfo { display: block; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1; margin: 0 0 10px; }
