* { margin: 0; padding: 0; }

html { height: 100%; margin-bottom: 1px; font: 12px/18px 'Lucida Grande', Verdana, sans-serif; color: #555; background: #bd8cbf; }

a { text-decoration: none; color: #630460; }
a:hover,
a:focus { text-decoration: underline; }

.cufon,
canvas { text-decoration: none !important; border-bottom: 0 !important; }
a img,
fieldset { border: 0; } 
:active,
:focus { outline: none; }
                           
i { font-weight: normal; font-family: Georgia, serif; }

.skipper    { position: absolute; left: -9999px; top: -9999px; }


#sizer          { width: 986px; margin: 0 auto 9px; }
#sizer:after    { content: "."; display: block; clear: both; height: 0; font-size: 0; visibility: hidden; }
     
.grid         { width: 940px; margin: 0 23px; background: #fff; /* background: #fff url(i/grid.png) repeat-y 0 0; */ }
.grid:after   { content: "."; display: block; clear: both; height: 0; font-size: 0; visibility: hidden; }
           
#header         { float: left; width: 100%; background: url(i/L/sheet-shadow-sides.png) repeat-y 0 0; }
#header .grid   { position: relative; background: #630460 url(i/headers/violet.jpg) no-repeat 0 100%; }

.top-bar    { float: left; width: 100%; border-bottom: 1px solid #fff; color: #5b0458; background: #fff url(i/L/top-bar-bottom.png) repeat-x 0 100%;  }
.top-bar a  { color: #630460; }

#nologo     { font-weight: bold; font-size: 24px; line-height: 27px; } 
#nologo a   { float: left; padding: 20px 64px; text-decoration: none; background: url(i/L/pseudo-logo.png) no-repeat 20px 50%; }

#logo a   { float: left; padding: 15px 20px; }


#tagline { clear: both; width: 550px; height: 100px; padding: 30px 0 30px 70px; font: normal normal 20px/28px Arial, Helvetica, sans-serif !important; color: #fff; }
#tagline strong { font-size: 36px; }

#image-overlap { position: absolute; bottom: 0; right: 0; width: 380px; height: 100%; background: url(i/headers/model-01.png) no-repeat 0 100%; }

#main-nav       { position: relative; float: left; width: 100%; min-height: 48px; color: #fff; background: url(i/L/main-nav-glass.png) no-repeat; }

#main-nav ul    { float: left; }
#main-nav li    { float: left; display: inline; }
#main-nav li a  { display: block; padding: 16px 20px; font-weight: bold; font-size: 14px; letter-spacing: -1px; color: #fff; text-decoration: none; }

#main-nav li.current    { border: 1px solid #fff; background: #fff url(i/L/main-nav-current.png) repeat-x 0 0; }
#main-nav li.current a  { color: #3e023d; padding: 15px 19px 17px; }
       
#cart-and-search    { float: right; max-width: 520px; }

#cart-info      { float: left; max-width: 220px; height: 18px; padding: 15px 20px 14px 0; background: url(i/L/cart-violet.png) no-repeat 0 6px; }   
#cart-info p    { text-align: left; padding-left: 23px; margin-left: 20px; font: 12px/18px Arial, Helvetica, sans-serif; background: url(/c/i/I/cart.png) no-repeat 0 3px; }
#cart-info a    { font-weight: bold; color: #fff; text-decoration: underline; }
#cart-info a:hover { text-decoration: none; }

#search-form { float: left; display: inline; width: 181px; height: 30px; margin-right: 15px; padding: 18px 0 0 35px; background: url(i/L/search-violet.png) no-repeat 0 6px; }

#search-form .input-text { float: left; display: inline; width: 160px; font-size: 12px; font-family: Arial, Helvetica, sans-serif; color: #ccc; background: none; border: 0; }
#search-form .input-text:focus  { color: #000; }
#search-form label  { position: absolute; left: -9999px; top: -9999px; }
#search-form .input-submit { position: absolute; left: -9999px; top: -9999px; }

#local-nav      { position: relative; float: left; width: 140px; margin-left: -940px; }
#local-nav ul   { float: left; width: 140px; /* position: fixed; */ }
#local-nav li   { list-style: none; text-align: right; background: #fff url(i/L/local-nav.png) repeat-x 0 0; }
#local-nav li a         { display: block; padding: 9px 10px; font-weight: bold; text-decoration: none; }
#local-nav li.current   { color: #fff; background: #630460; }
#local-nav li.current a { color: #fff; }
#local-nav li a:hover   { text-decoration: underline; }

.section-overview #local-nav { padding-top: 36px; }

#footer         { padding-bottom: 23px; font: 11px/18px Arial, Helvetica, sans-serif; color: #bd8cbf; background: url(i/L/sheet-shadow-bottom.png) no-repeat 0 100%; }
#footer .grid   { width: 890px; padding: 25px; background: #630460 url(i/L/footer-shadow.png) repeat-x 0 0; }
#footer a       { padding: 0 5px; color: #fff; }
#footer .pipe   { position: relative; top: -1px; }

#footer-nav             { float: left; }

#copyright      { float: right; }
#copyright a    { color: #bd8cbf; }

#logotypes-and-disclaimer  { width: 910px; margin: 0 auto; padding: 0 15px 12px; overflow: auto; }

#logotypes      { float: left; }
#logotypes li   { list-style: none; float: left; display: inline; padding-right: 20px; }

#disclaimer         { float: right; width: 490px; margin: 0 auto; padding: 0 0 36px; font-size: 11px; color: #fff; overflow: auto; }
#disclaimer p       { padding: 0 15px 9px !important; }








/*** content general ***/

#content { clear: both; background: url(i/L/sheet-shadow-sides.png) repeat-y 0 0; }
#content .grid { padding-top: 20px; }

.main-content { float: left; display: inline; width: 780px; margin: 0 0 0 160px; background: #630460 url(i/L/main-content-390-390.png) repeat-y 0 0; }
#content .wide-page { width: 620px !important; margin: 0 !important; padding: 0 160px 50px !important; background: #fff !important; }         
       
.main-content h1 { font-weight: bold; font-size: 36px; line-height: 42px; margin-bottom: 19px; letter-spacing: -2px; color: #630460; }
.main-content p { margin-bottom: 18px; }

.article-page .main-content {background: #ffffff;}

/*** section heading ***/

#section-heading     { float: left; width: 100%; color: #bd8cbf; background: #fff; padding-bottom: 10px; border-bottom: 1px solid #ededed; }
#section-heading h1  { float: left; font-size: 26px !important; line-height: 18px !important; margin-bottom: 0; }
#section-heading p   { text-align: right; font-weight: normal; font-size: 26px; padding: 0 20px 0; margin: 0; margin-top: 0 !important; letter-spacing: -1px; }

/*** company section overview ***/

#intro-box      { clear: both; position: relative; border-bottom: 1px solid #fff; overflow: hidden; }               
#intro-box p    { position: absolute; right: 0; bottom: 0; width: 350px; padding: 20px; margin: 0; font-size: 36px; line-height: 42px; letter-spacing: -2px; text-align: left; text-shadow: 0 2px 0 #000; color: #fff; background: url(/c/i/L/black-60.png); }

/*** resource page ***/

#resource-heading       { float: left; width: 100%; padding-bottom: 9px; background: #fff; }
#resource-heading h1    { color: #bd8cbf; text-align: right; font-weight: normal; font-size: 26px; padding: 0 0 10px; margin: 0 20px 18px 0; border-bottom: 1px solid #ededed; letter-spacing: -1px; }
#resource-heading h1 strong { color: #630460; }                    
                    
#resource-heading p strong { color: #630460; }                    

#resource-heading .left-col   { float: left; width: 370px; padding: 0 20px 0 0; }
#resource-heading .right-col  { float: right; width: 370px; padding: 0 20px 0 0; }
                    
                    
                    

/*** featured articles ***/

#featured-articles  { float: left; clear: both; position: relative; min-height: 280px; padding: 18px 0 20px 400px; background: #fff; }
#featured-heading   { float: left; width: 360px; padding: 0 20px 12px 0; margin-bottom: 36px; border-bottom: 1px solid #ededed; }
#featured-articles h3           { float: left; }
#featured-articles .prevnext    { float: right; margin: -3px 0 0; }

#featureds-list                         { clear: both; padding-top: 9px; }
#featureds-list li                      { display: none; width: 370px; }
#featureds-list li#featured-article     { display: block; }

#featureds-list a               { text-decoration: underline; }
#featureds-list dt a            { text-decoration: none; }
#featureds-list .image          { position: absolute; top: 18px; left: 0; }
#featureds-list dt              { font-weight: bold; font-size: 36px; line-height: 42px; letter-spacing: -2px; margin-bottom: 9px; }
#featureds-list dd.abstract p   { margin-bottom: 0; }
#featureds-list dd.abstract a       { font-weight: bold; }
#featureds-list dd.abstract a:hover { text-decoration: none; }







/*** default two column listing ***/

.overview-list          { float: left; width: 350px; padding: 0 20px 10px; background: url(i/L/secondary-shadow-top.png) repeat-x 0 0; }
.overview-list ul       { float: left; clear: both; width: 100%;}
.overview-list li       { float: left; clear: both; width: 100%; padding: 15px 0; list-style: none; background: url(i/L/3d-divider.png) repeat-x 0 0; }

.overview-list li ul    { border: 0; float: none; padding: 0; }

.overview-list dl               { position: relative; margin-left: 80px; min-height: 60px;  }
.overview-list dl img           { position: absolute; width: 60px; height: 60px; left: -80px; top: 0; }
.overview-list dt               { font-weight: bold; font-size: 18px; margin-bottom: 5px; color: #333; }
.overview-list dd.abstract li   { float: none; clear: none; list-style: outside square !important; width: auto; border: 0; background: none; margin: 0 0 0 20px; padding: 0; }

.overview-list dd.play-button    { padding-top: 9px; }
.overview-list dd.play-button a  { float: right; padding: 0 12px; font-size: 10px; text-transform: uppercase; text-decoration: none; background: url(/c/i/L/white-60.png); border-radius: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; -khtml-border-radius: 9px; }
.overview-list dd.play-button a:hover { background: #fff; }



/*** sidecontent listing ***/ 

.side-content       { float: right; width: 350px; padding: 0 20px 0; background: url(i/L/secondary-shadow-top.png) repeat-x 0 0; }


.sections-list                  { padding-bottom: 36px; }
.sections-list li               { list-style: none; width: 100%; padding: 15px 0; background: url(i/L/3d-divider.png) repeat-x 0 0; } 
.sections-list li dt            { font-weight: bold; font-size: 12px; margin-bottom: 3px; }
.sections-list li dd            { font-size: 11px; }

.sidebox    { padding: 18px 0; font-size: 11px; }
.sidebox h3,
.sidebox h4 { margin-bottom: 4px; color: #630460; }
.sidebox p  { margin-bottom: 9px; }

.address { font-style: italic; }

#opening-hours li { list-style: none; }


.content-page .side-content { width: 200px; }


/*** did you know (right column) ***/

#did-you-know       { float: left; clear: both; padding: 0 0 36px; }
#did-you-know ul    { background: url(i/L/3d-divider.png) repeat-x 0 0; }
#did-you-know li    { list-style: none; padding: 15px 0 0 30px; font-size: 11px; background: url(i/I/checkmark-violet.png) no-repeat 5px 15px; }
#did-you-know h4    { font-size: 12px; margin-bottom: 3px; }
              

.meta-title         { font: bold 14px/18px Arial, Helvetica, sans-serif; text-transform: uppercase; color: #bd8cbf; }
.meta-title-small   { font: bold 12px/18px Arial, Helvetica, sans-serif; padding: 18px 0 12px; color: #a864a8; text-transform: uppercase; }





/**********************

    COMMON STYLES 
        
***********************/

/*** leaf pages ***/

.main-content .entry { float: left; min-height: 400px; padding: 0 20px 50px 19px !important; border-left: 1px solid #ededed; background-color: #fff !important; }

.intro-text { font-size: 16px; line-height: 22px; } 

.main-content .entry a { text-decoration: underline; } 
.main-content .entry a:hover { text-decoration: none; }
.main-content .entry h2 { font-weight: bold; font-size: 18px; margin-bottom: 9px; color: #630460; letter-spacing: -1px; }
.main-content .entry h3 { font-weight: bold; font-size: 14px; margin-bottom: 9px; color: #630460; }
.main-content .entry p,
.main-content .entry ul,
.main-content .entry ol,
.main-content .entry dl { margin-bottom: 18px; } 
.main-content .entry li { margin-left: 20px; }
.main-content .entry dt { font-weight: bold; }
.main-content .entry dd { padding: 0 0 9px 20px; }
.main-content .entry dd p   { margin-bottom: 9px; }

.main-content .entry ul li { margin-left: 20px; list-style: square; }                            
.main-content .entry blockquote         { padding: 0 20px 18px; font-style: italic; font-family: Georgia, serif; }                            
.main-content .entry blockquote p       { margin-bottom: 9px; }
.main-content .entry blockquote cite    { display: block; text-align: right; }                            

.main-content .figure .caption { display: block; padding: 9px; border-bottom: 1px solid #ededed; color: #999; }
.main-content .alignleft  { float: left; margin: 0 20px .2em 0; }
.main-content .alignright { float: right; margin: 0 0 .2em 20px; }

.main-content table { width: 100%; border-collapse: collapse; margin-bottom: 18px; }
.main-content th,
.main-content td    { text-align: left; vertical-align: top; padding: 4px 9px 5px; }
.main-content thead th { border-bottom: 1px solid #000; }
.main-content tbody th,
.main-content tbody td { border-bottom: 1px solid #ccc; }
.main-content tbody td,
.main-content .text-right { text-align: right; }






/*** article view ***/


.article-page           { }
.article-page .entry    { width: 740px !important; }  
.content-page           { background-image: url(i/L/main-content-540-240.png) !important; }
.content-page .entry    { width: 500px; height: 100%; } /* content page = "contact us" etc. */

.article-tools      { color: #ccc; padding-top: 18px; border-top: 1px solid #ededed; }
.article-tools a    { padding: 0 20px; }

.print-link            { background: url(/c/i/I/tools/print.png) no-repeat 0 50%; } 
.send-2-friend-link    { background: url(/c/i/I/tools/mail.png) no-repeat 0 50%; }
.facebook-link         { background: url(/c/i/I/tools/facebook.png) no-repeat 0 50%; }
.delicious-link        { background: url(/c/i/I/tools/delicious.png) no-repeat 0 50%; }
.digg-link             { background: url(/c/i/I/tools/digg.png) no-repeat 0 50%; }
.reddit-link           { background: url(/c/i/I/tools/reddit.png) no-repeat 0 50%; }
.stumbleupon-link      { background: url(/c/i/I/tools/stumbleupon.png) no-repeat 0 50%; }








/*** FORMS ***/

.content-page .entry form { margin-bottom: 18px; background: #eee0ee url(i/F/form-bottom.png) no-repeat 0 100%; }
.content-page .entry fieldset { padding: 18px 0; background: url(i/F/form-top.png) no-repeat 0 0; }

.confirmation           { font-weight: normal; font-size: 16px; margin-bottom: 18px; color: #666; letter-spacing: -1px; }
.confirmation strong    { color: #000; }

.errors         { color: red; padding-bottom: 0; margin-bottom: 9px; font-weight: bold; background: #ffc url(i/F/form-top.png) no-repeat 0 0; }
.errors .inner  { padding: 18px 20px 32px; background: url(i/F/form-bottom-bubble.png) no-repeat 0 100%; }
.errors p       { margin: 0 0 5px !important; }
.errors li      { margin: 0 0 5px 20px; }

.content-page .entry .field             { padding: 0 0 18px 20px; }
.content-page .entry label              { display: block; padding: 4px 0 4px 4px; font-weight: bold; color: #630460; text-shadow: 0 1px 1px #fff; }
.content-page .entry .text-field        { float: left; display: inline; width: 220px; }
.content-page .entry .textarea-field    { clear: both; width: 460px; padding: 9px 0 0; margin-left: 20px; background: url(i/L/3d-divider.png) repeat-x 0 0; }

.content-page .entry #name-field        { margin-left: 20px; padding-left: 0; }
.content-page .entry .input-wrapper     { float: left; padding: 1px; border: 1px solid #e6e6e6; background: #fff; }
.content-page .entry .input-text,
.content-page .entry textarea    { font: 16px/18px Arial, Helvetica, sans-serif; padding: 2px; border: 1px solid #666; border-color: #666 #bbb #ddd; background: #fff url(i/F/input-text-shadow.png) no-repeat 0 0; }

.content-page .entry .input-text { width: 210px; }
.content-page .entry textarea    { width: 454px; height: 7em; padding: 2px 0 0; overflow: auto; }

.content-page .entry .button-holder     { clear: both; padding: 18px 22px 0; text-align: right; }
.content-page .entry .button-holder .label-check { float: left; padding: 2px 5px; }
.content-page .entry .button-holder .label-check input  { float: left; margin: 0 .5em 0 0; }

.content-page .entry button             { font: bold 12px/18px Arial, Helvetica, sans-serif; text-transform: uppercase; border: 0; padding: 4px 18px; color: #fff; background: #630460 url(i/F/button-shine.png) repeat-x 0 0; border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; -khtml-border-radius: 13px; }
.content-page .entry button:hover       { background-color: #a864a8; }
.content-page .entry button:active      { background-color: #bd8cbf; }

#store-locator form { padding-bottom: 18px; background-image: url(i/F/form-bottom-bubble.png); }

#store-locator .inline-field                { float: left; width: 190px; }
#store-locator .inline-field label          { }
#store-locator .inline-field .input-text    { display: block; width: 180px; }
#store-locator #or                          { width: 80px; padding: 2.5em 0 .5em !important; color: #aaa; text-align: center; text-shadow: 0 1px 1px #fff; }
#store-locator #town-field                  { float: right; padding: 0 20px 0 0; }
#filter-button                              { float: left; display: inline; width: 455px; margin: 0 22px; padding: 18px 0 0; background: url(i/L/3d-divider.png) repeat-x 0 0; }
#store-locator .inline-error    { clear: both; width: 416px; padding: 12px 20px; margin: 0 22px; text-align: left; color: red; background: #ffc; }
#store-locator .inline-error p  { margin: 0; }




                                           

/*** SERP listing ***/
.serp-listing       { float: left; clear: both; width: 100%; }
.serp-listing h2    { font-weight: normal; font-size: 18px; margin-bottom: 18px; color: #666; }
.serp-listing h2 strong { color: #000; }
.serp-listing ul    { margin-bottom: 36px; }
.serp-listing li    { position: relative; float: left; clear: both; width: 100%; list-style: none !important; padding: 18px 0 !important; border-top: 1px solid #ededed; }
.serp-listing li dl { padding-left: 80px; }
.serp-listing li dt { font-weight: bold; font-size: 18px; margin-bottom: 9px; }
.serp-listing li dd.image       { position: absolute; top: 18px; left: 0; }
.serp-listing li dd.metadata    { color: #999; }
.serp-listing li dd.metadata a  { font-weight: normal; text-decoration: underline; } 
.serp-listing .more-results     { text-align: right; padding: 5px !important; background: #f6f6f6; overflow: auto; border: 0; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; }
.serp-listing .more-results a   { float: right; padding: 5px 12px; color: #bd8cbf; text-transform: uppercase; text-decoration: none; }
.serp-listing .more-results a:hover { background: #fff; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -khtml-border-radius: 10px;  }



/*** Pagination ***/
.pagination li      { list-style: none; display: inline; padding: 0 2px; }
.pagination li a    { display: inline-block; padding: 0 6px; text-decoration: none; background: #ededed; border-radius: 8px; -webkit-border-radius: 8px; -moz-border-radius: 8px; -khtml-border-radius: 8px; }
.pagination li.current a,
.pagination li a:hover { color: #fff; text-decoration: none; background: #bd8cbf; }
.pagination li.prev a,
.pagination li.next a { padding: 0 12px; }

.pagination li.current-page { padding: 0 12px !important; }

.pagination-generic   { text-align: center; }


/*** staff list ***/
.staff-list         { float: left; }
.staff-list li      { list-style: none !important; width: 230px; margin: 0 !important; padding: 18px 20px 18px 0; font-size: 11px; }
.staff-list li.odd  { float: left; clear: left; }
.staff-list li.even { float: right; clear: right; }
.staff-list li img  { float: left; margin: 0 20px .2em 0; } 
.staff-list li strong   { font-size: 13px; color: #630460; }



/*** store index ***/  
.store-index li { list-style: none !important; margin: 0 !important; }
.store-index li h2  { padding-left: 9px; }
.store-index li ul  { border-top: 1px solid #ccc; margin-bottom: 36px !important; }
.store-index li li  { padding: 4px 9px; border-bottom: 1px solid #ededed; }
.store-index .odd   { background: #ededed; }


                                           
/*** Error 404 ***/
#error-404      { width: 380px; padding: 70px 0 80px 240px; margin-bottom: 70px; background: url(i/L/404.jpg) no-repeat 0 100%; }
#error-404 p    { font-size: 14px; }
#error-404 p a  { font-weight: bold; }   


/*** HOMEPAGE ***/

/*** homepage ***/

#homepage-overview ul   { float: left; width: 100%; padding-bottom: 18px; background: #fff url(i/L/top-bar-bottom.png) repeat-x 0 100%; border-bottom: 1px solid #fff; }
#homepage-overview li   { float: left; display: inline; position: relative; list-style: none; width: 200px; padding: 0 0 0 19px; margin-left: 20px; }
#homepage-overview li.first-child { margin-left: 0; }

#homepage-overview li dl { margin-left: 70px; min-height: 60px; padding-bottom: 9px; }
#homepage-overview li dt { font-weight: bold; font-size: 16px; letter-spacing: -1px; margin-bottom: 5px; }
#homepage-overview li dd { }
#homepage-overview li dd.image { position: absolute; left: 20px; top: 0; }
                   


#homepage-content .main-content { width: 940px !important; padding: 0; margin: 0 !important; background-image: none; }

/*** First homepage row ***/
#homepage-articles { float: left; width: 100%; background: url(i/L/main-content-580-280.png) !important; background: #fff; }

#homepage-content #featured-articles        { float: left; width: 580px; padding: 1px 20px 0 20px !important; overflow: hidden; border-bottom: 0 !important; background: url(i/L/secondary-shadow-top.png) repeat-x 0 0; }
#homepage-content #featured-heading         { width: 100%; margin-bottom: 9px; padding: 18px 0 13px; border: 0; background: url(i/L/3d-divider.png) repeat-x 0 100%; }
#homepage-content #featured-heading .next   { padding: 0; }
#homepage-content #featured-heading .pagination li a { background: #fff; }
#homepage-content #featured-heading .pagination li.current a,
#homepage-content #featured-heading .pagination li a:hover { color: #fff; text-decoration: none; background: #bd8cbf; }

#homepage-content #featureds-list           { float: left; width: 100%; margin: 0; }
#homepage-content #featureds-list li        { padding: 0 !important; margin: 0; width: 580px; }
#homepage-content #featureds-list li dl     { float: left; }
#homepage-content #featureds-list .image    { position: static; float: left; padding: 0 20px 18px 0; }

#homepage-content #featured-articles .image a { float: left; line-height: 0; }
#homepage-content #featured-articles .abstract { float: left; width: 180px; font-size: 14px; line-height: 22px; }

#homepage-articles .overview-list        { float: right; display: inline; width: 280px; padding: 3px 20px 36px !important; background: url(i/L/secondary-shadow-top.png) repeat-x 0 0;  }
#homepage-articles .overview-list h3     { padding-left: 0; }
#homepage-articles .overview-list ul     { padding-left: 0; border-top: 0 !important; }

#homepage-articles .overview-list li.even { margin-right: 0 !important; }
#homepage-articles .overview-list li.odd { margin-left: 0; }
    

/*** Second homepage row ***/
#homepage-tertiary { float: left; width: 100%; background: url(/c/i/L/white-80.png) !important; background: #fff;}

#homepage-content #did-you-know { float: left; width: 380px; padding: 0 20px 36px; background: url(i/L/secondary-shadow-top.png) repeat-x 0 0; }

#homepage-map       { float: right; width: 500px; padding: 0 20px 36px 0; background: url(i/L/secondary-shadow-top.png) repeat-x 0 0; }
#homepage-map h3    { padding-bottom: 14px; margin-bottom: 16px; border-bottom: 0; background: url(i/L/3d-divider.png) repeat-x 0 100%; }
#homepage-address   { float: left; width: 180px; margin-right: 20px; overflow: hidden; }






















