/* Global styles */

:focus { outline: none; }

/* Page element positioning and styles */

body { background: #85130F url(../images/site/body-bg.png) repeat-x left top ; }

#branding { position: absolute ; right: 0 ; top: 15px ; width: 500px ; height: 345px ; z-index: 0 ;
            background: transparent url(../images/site/branding-bg.jpg) no-repeat left top ; }
#branding a { position: absolute ; left: 100px ; top: 10px ; width: 300px ; height: 70px ; 
              text-indent: -9999px ;  }

#container { position: relative ; width: 1040px ; padding: 65px 0 0 ; } 

#navmain { position: absolute ; left: 30px ; top: 39px ; width: 540px ; height: 26px ;
           background: transparent url(../images/site/navmain-bg.gif) no-repeat left -156px ; }
body#home #navmain { background-position: left -130px ; }         
body#shop #navmain { background-position: left -104px ; }         
body#news_events #navmain { background-position: left -78px ; }         
body#find_a_magician #navmain { background-position: left -52px ; }         
body#links #navmain { background-position: left -26px ; }         
body#contact #navmain { background-position: left 0 ; }         
    
#content { position: relative ; width: 630px ; z-index: 1 ; 
           background: transparent url(../images/site/content-bg.jpg) repeat-y left top ; }

#content-main { min-height: 500px ; padding: 20px 40px 10px 60px ; 
                background: transparent url(../images/site/content-main-bg.jpg) no-repeat left top ; }

#siteinfo { position: relative ; height: 90px ; z-index: 1 ; padding: 20px 130px 0 80px ; 
			background: transparent url(../images/site/siteinfo-bg.gif) no-repeat left top ;
			text-align: right ; }  

/* Main navigation */

#navmain h4 { position: absolute ; left: 0 ; top: 0 ; text-indent: -9999px ; }
#navmain ul { list-style: none ; 
              font: normal bold 1.3em/26px Georgia, "Times New Roman", times, serif ; }
#navmain li { float: left ; text-align: center ; width: 67px ; }
#navmain li#navshop { width: 62px ; }
#navmain li#navnews_events { width: 131px ; }
#navmain li#navfind_a_magician { width: 131px ; }
#navmain li#navcontact { width: 74px ; }

#navmain a { color: #4D2804 ; text-decoration: none ; }
#navmain a:hover { color: #fff ; text-decoration: underline ; }  
#navmain li.active a { color: #85130F ; text-decoration: none ; cursor: default ; }

/* Content area typography */

#content a { color: #85130F ; text-decoration: none ; }
#content a:hover { text-decoration: underline ; } 

#content blockquote { margin-left: 2em ; }

#content h1 { height: 80px ; margin: -20px 0 40px -30px ; 
              background: transparent url(../images/site/h1-welcome.gif) no-repeat left top ; 
              text-indent: -9999px ; }

body#find_a_magician #content h1 { background-image: url(../images/site/h1-find_a_magician.gif) ; }         
body#links #content h1 { background-image: url(../images/site/h1-links.gif) ; }         
body#contact #content h1 { background-image: url(../images/site/h1-contact.gif) ; }         
body#shop #content h1 { background-image: url(../images/site/h1-shop.gif) ; }  
body#search #content h1 { background-image: url(../images/site/h1-search.gif) ; }  
body#basket #content h1 { background-image: url(../images/site/h1-basket.gif) ; }  
body#checkout #content h1 { background-image: url(../images/site/h1-checkout.gif) ; }  

#content h2 { margin-bottom: 0.5em ; color: #4D2804 ; 
			  font: italic normal 1.8em/1.4 Georgia, "Times New Roman", times, serif ; }
       

#content p,#content ol,#content ul { margin: 0 0 1em ; 
                                     font: normal normal 1.3em/1.5 Georgia, "Times New Roman", times, serif ; 
                                     color: #4D2804 ; }
#content ol, #content ul { margin-left: 2.8em ; } 
#content ul { list-style: none ; }

#content ul h2 { margin-left: -45px ; padding: 3px 0 0 45px ; line-height: 35px ; 
                 background: transparent url(../images/site/bullet-bg.png) no-repeat left top ; 
                 font-size: 1.4em ; }

#content ol p, #content ul p, #content ul ul { font-size: 100% ; }
#content-main p#introduction { font-size: 1.5em ; line-height: 1.8em ; }
#content-main p#introduction:first-letter { float: left ; padding: 0 4px ;  
                                            background: transparent url(../images/site/firstletter-ornament.gif) no-repeat center center ;
                                            font-size: 1.6em ; }
                   
#content #siteinfo p { font-size: 1.1em ; }

/* Forms */

form { color: #4D2804 ; font: normal normal 1.3em/1.5 Georgia, "Times New Roman", times, serif ; }
form h3 { margin: 10px 0 10px -10px ; padding: 3px 0 0 45px ; color: #4D2804 ; background: transparent url(../images/site/bullet-bg.png) no-repeat left top ; 
          font: italic normal 1.4em/35px Georgia, "Times New Roman", times, serif ; }
form label { float: left ; position: relative ; top: 4px ; width: 16em ; margin: 0 0 0 10px ; }
form .checkbox label,
form .radiogroup label { float: none ; width: auto ; margin: 20px 0 5px 5px ; top: 0 ; font-weight: bold ; }
form .text input,
form input.txt { width: 12em ; margin: 2px 10px 5px 0 ; border: 1px solid #4d2804 ; padding: 2px 3px ; background: transparent url(../images/site/bg-tablecell.png) repeat left top ; font: 1.0em/1.0 Verdana ; }
form .checkbox input { margin-top: 10px ; }
form select { width: 12.6em ; height: 1.6em ; margin: 2px 10px 5px 0 ; border: 1px solid #4d2804 ; background: #b8a06e ; font: 1.0em/1.0 Verdana ; } 
form select.month { width: 7em ; margin-right: 1px ; }
form select.year { width: 4em ; }
form textarea { width: 14em ; height: 6em ; margin: 2px 10px 5px 0 ; border: 1px solid #4d2804 ; ; padding: 2px 3px ; background: transparent url(../images/site/bg-tablecell.png) repeat left top ; font: 1.0em/1.0 Verdana ; }
form input.btn { margin-top: 15px ; padding: 5px 10px ; border: 2px solid #a5332f ; border-color: #a5332f #65030f #65030f #a5332f ; 
                 color: #fc0 ; background: #85130F ; 
                 font: normal bold 1.1em/1.0 Georgia, "Times New Roman", times, serif ; cursor: pointer ; }

/* Home page */

body#home #content-main img { float: right ; margin: 5px 0 0 10px ; border: 10px solid #fff ; }
body#home p.browse { width: 152px ; height: 72px ; margin: 1em 0 -50px 10px ; padding: 8px 8px 8px 80px ; 
                     background: transparent url(../images/site/browse-books-bg.png) no-repeat left top ; 
                     font-size: 1.6em ; font-weight: bold ; }

body#home p#apparatus.browse { position: relative ; top: -54px ; left: 255px ; 
                               background-image: url(../images/site/browse-apparatus-bg.png) ; }

/* Shop pages */

body#shop #content h1 { margin-left: -200px ; }

body#shop #subnavshop { position: absolute ; left: 50px ; top: 80px ; width: 160px ; }
body#shop #subnavshop ul { margin-left: 0 ; }
body#shop #subnavshop ul a { display: block ; color: #4D2804 ; font-weight: bold ; margin-bottom: 0.5em ; border-bottom: 1px solid #4d2804 ; }
body#shop #subnavshop ul ul a { font-weight: normal ; font-size: 0.95em ; margin-bottom: 0.4em ; border: none ; padding-left: 8px ; line-height: 1.2 ; } 
body#shop #subnavshop ul ul li.active a { border-left: 3px solid #85130F ; padding-left: 5px ; color: #85130F ; font-weight: bold ; text-decoration: none ; cursor: default ;  }

body#shop #content-main { padding-left: 230px ; min-height: 700px ;  }
body#shop #content-main img { float: right ; margin: 5px 0 0 10px ; border: 10px solid #fff ; }

body#shop p#breadcrumb { text-align: right ; font-size: 1.1em ; }
body#shop #productlist { overflow: auto ; margin-bottom: 2em ; }
body#shop #productlist .item { float: left ; position: relative ; width: 100px ; height: 190px ; margin: 0 5px 10px 5px ; padding: 10px 5px ;
                               background: #fff ; color: #4D2804 ; text-align: center ; }
body#shop #productlist .item p.buy { font-weight: bold ; margin-bottom: 0 ; }
body#shop #productlist .item p.buy a { position: absolute ; left: 0 ; top: 0 ; width: 108px ; height: 208px ; 
                                       border: 1px solid #fff ; text-indent: -9999px ; }    
body#shop #productlist .item p.buy a:hover { border-color: #85130F ; }                                                                 
body#shop #productlist .item h3 { margin: 5px 0 ; font: normal bold 1em/1.3 Georgia, "Times New Roman", times, serif ; }
body#shop #productlist .item img { float: none ; margin: 0 ; border: 1px solid #4D2804 ; }

body#shop #productitem form { clear: left ; padding-top: 1em ; text-align: right ;}
body#shop #productitem form input.btn { margin-top: 0 ; padding: 5px 10px ; border: 2px solid #a5332f ; border-color: #a5332f #65030f #65030f #a5332f ; 
                                        color: #fff ; background: #85130F ; cursor: pointer ;
                                        font: normal bold 1.1em/1.0 Georgia, "Times New Roman", times, serif ; }
body#shop #productitem form span.price { float: left ; padding: 3px 0 ; ;font-weight: bold ; font-size: 1.2em ; }

body#shop #productitem h2 {  font-style: normal ; }
body#shop #productitem h2 em { font-size: 0.8em ; }
body#shop #productitem img { float: left ; margin: 5px 10px 0 0 ; border: 1px solid #4D2804 ; }

body#shop #productitem p#data { font-size: 1.1em ; }
body#shop #productitem #related { border: 1px solid #4D2804 ; border-left: none ; border-right: none ; padding: 10px ; 
                                  background: transparent url(../images/site/bg-tablecell.png) repeat left top ; 
                                  font-size: 0.770em ; text-align: left ; }
body#shop #productitem #related ul { list-style: disc ; }

body#shop #content ul#atoz { margin-left: 1em ; list-style: disc ; } 
body#shop #content ul#atoz li { margin-bottom: 0.3em ; }
body#shop #content ul#atoz span.price { font-weight: bold ; }

/* Global shopping basket */

form#globalbasket { position: absolute ; right: -326px ; top: 300px ; width: 280px ; min-height: 330px ;
                    padding: 92px 16px 0 ;
                    background: transparent url(../images/site/basket-bg.jpg) no-repeat left top ; }

form#globalbasket h2 { position: absolute ; left: 0 ; top: 0 ; text-indent: -9999px ; }

form#globalbasket .basketitem { margin-bottom: 10px ; border-bottom: 1px solid #c22 ; padding-bottom: 10px ;  }
form#globalbasket .basketitem h3 { position: relative ; width: 280px ; height: auto ; margin: 20px 0 0 ; padding: 0 ; 
                                   background: none ; line-height: 1.0 ; }
form#globalbasket .basketitem h3 a { color: #fc0 ; font-size: 0.77em ; }
form#globalbasket .basketitem h3 input.removebtn { position: absolute ; right: 0 ; top: 0 ; 
                                                   border: 2px solid #a5332f ; border-color: #a5332f #65030f #65030f #a5332f ; color: #fff ; 
                                                   padding: 0 2px ;
                                                   background: #85130F ; 
                 								   font: normal normal 0.9em/1.0 Georgia, "Times New Roman", times, serif ; cursor: pointer ; }
form#globalbasket p#nextstage,                 								   
form#globalbasket p#baskettotals,
form#globalbasket .basketitem p { position: relative ; margin: 10px 0 0 20px ; font-size: 0.923em ; color: #fc0 ; }

form#globalbasket p#baskettotals { font-size: 1.075em ; text-align: right ; }

/* Basket and Checkout order display */

form#basket table,
table#order_breakdown { width: 520px ; margin: 10px 0 ; border-top: 1px solid #4D2804 ; }
form#basket table tr.odd,
table#order_breakdown tr.odd { background: transparent url(../images/site/bg-tablecell.png) repeat left top ; }
form#basket table td { border-bottom: 1px solid #4D2804 ; padding: 3px ; vertical-align: middle ; }
table#order_breakdown td {  padding: 3px ; vertical-align: middle ; }
table#order_breakdown td.qty,
table#order_breakdown td.desc,
table#order_breakdown td.delivery,
table#order_breakdown td.subtotal { border-bottom: 1px solid #4d2804 ; }
form#basket table td.item,
table#order_breakdown td.desc { padding-left: 5px ; }
form#basket table td.item { width: 250px ; }
form#basket table td.price,
table#order_breakdown td.subtotal,
table#order_breakdown td.total { text-align: right ; }
table#order_breakdown td.delivery { padding-left: 30px ; }

form#basket table td#totals,
table#order_breakdown td.total { border-bottom: none ; font-size: 1.2em ; text-align: right ; }
form#basket table td#proceed { border-bottom: none ; padding: 20px 0 0 0 ; text-align: right ; }
form#basket table td#shopping { border-bottom: none ; padding: 20px 0 0 0 ; } 
table#order_breakdown td p { margin-bottom: 0 ; }
table#order_breakdown td.vat p { font-size: 1.2em ; font-style: italic ; }

form#basket table input.removebtn { border: 2px solid #a5332f ; border-color: #a5332f #65030f #65030f #a5332f ;  
                                    padding: 0 2px ; color: #fff ; background: #85130F ; 
                 					font: normal normal 0.9em/1.0 Georgia, "Times New Roman", times, serif ; cursor: pointer ; }

form#basket select { width: 3em ; margin: 0 0 0 1.5em ; border-color: #fff ; color: #000 ; background: #fff ; font: normal bold 1.0em/1.0 Georgia, "Times New Roman", times, serif ; }

body#basket p#actions { font-size: 1em ; }
body#checkout form input#makePayment,
form#basket input.updatebtn,
body#basket input.checkoutbtn,
body#basket p#actions a,
form#globalbasket p#nextstage a { float: right ; border: 2px solid #a5332f ; border-color: #a5332f #65030f #65030f #a5332f ; padding: 5px ;
                                  color: #fff ; background: #85130F ; 
                 			      font: normal bold 1.1em/1.0 Georgia, "Times New Roman", times, serif ; cursor: pointer ; }
body#basket p#actions a:hover,
form#globalbasket p#nextstage a:hover { text-decoration: none ; }

body#basket p#actions a { whitespace: nowrap ; float: left ; width: 150px ; margin: 0; padding: 7px 7px 6px ; }
form#basket input.updatebtn { float: none ; margin-left: 26px ; padding: 5px ; }
body#basket input.checkoutbtn { position: relative ; margin-right: 10px ; top: -3.15em ;  }

/* Checkout */

body#checkout form h2 { margin: 20px 0 10px -9px ; padding: 3px 0 0 45px ; line-height: 35px ; 
                        background: transparent url(../images/site/bullet-bg.png) no-repeat left top ; 
                        font-size: 1.4em ; }
body#checkout form td { font-size: 0.77em ; }
body#checkout form p { font-size: 1.1em ; margin: 0.5em 0 ; }
body#checkout form .text span { position: relative ; top: -3px ; font-style: italic ; }
body#checkout form span.tooltiphint { position: relative ; top: -5px ; left: -10px ; padding: 2px 6px 3px ; color: #fff ; background-color: #4D2804 ; font-size: 1.2em ; font-weight: bold ; cursor: help ; }
body#checkout form input#makePayment { float: none ; margin: 20px 0 10px ; }

body#checkout form div.error { color: #85130F  }
body#checkout p.error { margin: 10px 0 5px ; font-size: 1em ; font-weight: bold ; color: #85130F ; }
body#checkout form div.text.error input,
body#checkout form div.error select { background: #fdd ; border-color: #85130F ; }

/* Find a magician */

#find_a_magician #magicianlist { float: left; width: 360px; margin-right: 10px; }
#googleskyscraper { float: left; width: 120px; height: 600px; }
#googleleaderboard { clear: left; width: 468px; height: 60px; margin: 10px auto; }

/* Google Search Box */

#searchbox { position: absolute; left: 279px; top: 145px; width: 311px; height: 20px; z-index: 3;
			 background: transparent url(../images/site/bg-searchbox.png) no-repeat left top; }
#searchbox form label { width: 116px; top: 1px; color: #2D1804 ; margin-left: 5px; }
#searchbox form input { position: relative; top: 1px; margin-left: 1px; border: none; background: none; }
#searchbox form input#searchkeywords { width: 154px; padding: 0 3px; font-size: 12px; }
#searchbox form input#dosearch { width: 20px; padding: 0; color: #ffd800; cursor: pointer; }

/* Search results pages */

#content ul#searchpagelinks { margin-top: 40px; }
#content ul#searchpagelinks li { float: left ; margin-left: 5px ; }
#content ul#searchpagelinks li#browse { margin-left: 0 ; }
#content ul#searchpagelinks a { display: block ; width: 20px ; height: 20px ; padding-bottom: 1px ; text-align: center ; }
#content ul#searchpagelinks li.active a { color: #fff ; background: #85130F ; }
#content ul#searchresults { clear: left ; padding-top: 10px ; float: left; width: 360px; margin-right: 10px; }
#content ul#searchresults h2 { font-size: 1.148em ; line-height: 1.2 ; padding-bottom: 15px ; }
#content ul#searchresults p { margin-top: -10px ; }

/* Misc styles */

hr { display: none; }
body#find_a_magician img { float: left ; border: 1px solid #4D2804 ; margin: 3px 15px 0 10px ; }
#content-main img { border: 10px solid #FFFFFF ; float: right ; margin: 5px 0 0 10px ; }
