html { background-color: #FFF; }
body { font-family: Georgia, 'Times New Roman', serif; font-size: 1em; width: 960px; margin: 8px auto; background-color: #FFF; }
h1 { border-color: #F90; border-style: solid; border-width: 32px 0; font-family: 'Gill Sans'; font-weight: normal; margin: 0; padding: 0; text-transform: uppercase; }
h2, h3, h4, h5, h6 { font-family: Helvetica, Arial, sans-serif; }
h3 { clear: both; }
h1 span { display: none; }
h1 a { text-decoration: none; color: #333; background-image: url(../images/banner.png); background-repeat: no-repeat; display: block; height: 58px; }
h2 { font-size: 1.5em; margin-top: 1em; } 
h3 { font-size: 1.2em; margin-top: 2em; border-bottom: solid 2px #F90; }
h4 { font-size: 1em; border-bottom: solid 0px #F90; margin: 32px 0 0; padding-bottom: 4px; }
p, li { font-size: 0.9em; line-height: 1.5em; }
span.caption { font-weight: bold; font-style: italic; text-align: center; display: block; }
h4 + p { margin-top: 0; padding-top: 8px; }
img { border: 0 none; }
a { color: #060; }
ul { list-style-type: none; margin: 0; padding: 0; }

div.notice { background-color: #DFD; border: solid 1px #060; font-weight: normal; font-size: 0.8em; padding: 4px; position: absolute; top: 26px; left: 20px; right: 20px; text-align: left; }
div.error { background-color: #FDD; border: solid 1px #900; font-size: 0.8em; padding: 4px; color: #600; }

div#d1 { border-bottom: solid 1px #333; background-color: #DDD; position: fixed; top: 0; left: 0; right: 0; opacity: 0.8; font-size: 1em; padding: 2px 16px; display: none;}
div#d1 a { color: #000; margin-right: 16px; }
#content { clear: both; padding: 0 0 16px; border-top: solid 1px #FFF; border-bottom: solid 16px #F90;  width: 100%; float: left; margin-bottom: 16px; } 
.pageContent img { float: left; margin: 4px 8px; }

h4 + p.subscription { margin-top: 16px; } 
p.subscription { font-size: 1em; font-weight: bold;  }

/* forms */
fieldset { border: none 0; }
label abbr { color: #900; border: 0 none; margin-left: 16px; margin-right: -8px; }
.formtastic ol { list-style-type: none; margin: 32px auto; padding: 16px; border: solid 1px #999; background-color: #EEE; }
.formtastic ol textarea { vertical-align: top; }
.formtastic ol > li + li { margin-top: 16px; }
.formtastic ol label { display: inline-block; font-size: 1em; text-align: right; width: 150px; margin-right: 16px; }
.mandatory label { color: #F90; }
.formtastic fieldset fieldset { padding-bottom: 0; }
.formtastic fieldset fieldset legend { padding-left: 26px; }
.formtastic fieldset fieldset ol { border: 0 none;  padding-top: 0;  margin: -26px 0 -16px 134px; }
/* forms */
fieldset { border: none 0; }
.formList { list-style-type: none; margin: 32px auto; padding: 16px; border: solid 1px #999; background-color: #EEE; }
.formList textarea { vertical-align: top; }
.formList li + li { margin-top: 16px; }
.formList label { font-family: Helvetica; display: inline-block; font-size: 1em; text-align: right; width: 150px; margin-right: 16px; }
.mandatory label { color: #F90; }

li.check_boxes input { margin-right: 8px;  } 
li.check_boxes label { text-align: left; width: 400px; }
li.check_boxes p { margin-left: 70px; }
li.radioButton input { margin-right: 50px; vertical-align: top; }
li.radioButton label { width: 700px; text-align: left; }
li.hiddenField {  margin-left: 70px; }
li.hiddenField label { text-align: left; }
input.dateField { width: 100px; }

/* form errors */
.errorExplanation { color: #600; width: 600px; background-color: #EEE; padding: 8px; }
.errorExplanation h2 { margin: 0; font-size: 1em; padding: 4px; }
.errorExplanation p { margin-left: 8px; }
.errorExplanation ul { list-style-type: none; font-size: 0.8em; font-weight: bold; padding-left: 8px; margin-left: 0; }
.errorExplanation li { margin-bottom: 8px; }
.fieldWithErrors { display: inline; }
.fieldWithErrors label { color: #900; font-weight: bold; }
.formError { color: #900; margin-left: 166px; font-weight: bold; font-size: 0.9em; }
.radioButton .formError { margin-left: 72px; margin-top: 8px; }

/* Menu */
ul#menu { list-style: none; float: left; width: 100%; margin: 8px 0; padding: 0; background-color: #777; }
ul#menu li { float: left; padding: 0 16px; height: 32px; line-height: 32px; }
ul#menu li:hover { background-color: #F90; }
ul#menu li a { color: #FFF; font-size: 0.9em; text-decoration: none; font-family: Helvetica, Arial; font-weight: bold; }

/* Shop */
#categoryList { list-style-type: none; margin-left: 0; padding-left: 0; text-align: center; }
#categoryList li { display: inline; margin-right: 0; }
#categoryList li + li:before { content: " | " }

.publications { list-style-type: none; margin-left: 0; padding-left: 0; }
.publications h4 { font-weight: bold; margin-bottom: 0;  } 
.publications li { width: 100%; float: left; margin: 0 16px 32px; }
.publications img { float: right; margin: 0 16px; }
.publicationsForm { font-size: 0.9em; border-spacing: 0; margin-bottom: 16px; }
.publicationsForm th { text-align: left; background-color: #DDD; border-bottom: solid 4px  #999; }
.publicationsForm th + th { text-align: right; }

.publicationsForm td { padding: 4px; width: 40em; }
.publicationsForm td + td{ width: 5em; text-align: right; }
.publicationsForm td + td + td{ width: 5em; text-align: right; }
td#postageHeading { background-color: #DDD; border-top: solid 16px white; border-bottom: solid 4px #999; font-size: 1.5em; }
.publicationsForm input { width: 2em; text-align: right;  }

#postageWarning { font-style: italic; font-weight: bold; }
#overseasPostageWarning { border: double 3px #900; background-color: #FDD; color: #900; padding: 4px; font-weight: bold;  }
#postageRates { border: solid 1px #666; background-color: #DDD; list-style-type: none; padding-left: 8px; padding-bottom: 16px; margin: 16px 0 32px 0; }
#postageRates li { margin-top: 16px; width: 100%;  }
#postageRates span { display: inline-block; width: 400px; font-weight: bold; font-size: 1em; }
#postageRates form { display: inline; vertical-align: top; }

img.left, div.left { float: left; }
img.right, div.right { float: right; }
img.block { float: none; }

#mappings { border-collapse: collapse; margin-bottom: 16px; }
#mappings th { background-color: #DDD; } 
#mappings th, #mappings td { border: solid 1px #333; padding: 2px 4px; }

ul.paymentOptions { list-style-type: none;  margin-left: 32px; padding-left: 0; }
ul.paymentOptions li { margin-bottom: 16px; font-weight: bold; }
ul.paymentOptions input { margin: 8px 0 16px 16px; }

li h4 { margin-bottom: 0; padding: 0; }
ol#membershipOptions { list-style-type: lower-alpha; }

/* Articles */
ol#articles { list-style-type: none; margin-left: 0; padding-left: 0; }
#galleryWrapper h3 { margin: 0 64px 32px 0; }
#articleAuthors { font-style: italic; clear: both; }
#articleGallery { width: 100%; float: left;  }
#articleGallery li { float: left; margin-right: 24px; }

.books {  font-size: 0.75em; width: 400px; border-collapse: collapse; margin-bottom: 16px; float: left; clear: both; }
.books td { border: solid 1px #333; padding: 2px 4px; }