body { margin: 0; background: #FBF8FC /* to match .whiteback */; color: black; font-family: Georgia, Times New Roman, Times, serif; font-style: normal; font-weight: normal; font-size: 12pt; }
h1 { margin: 0; margin-bottom: 9px; font-family: Georgia, Times New Roman, Times, serif; font-style: normal; font-weight: normal; font-size: 36pt; }
h2 { margin: 0; margin-bottom: 9px; font-family: Georgia, Times New Roman, Times, serif; font-style: normal; font-weight: normal; font-size: 24pt; }
h3 { margin: 0; margin-bottom: 9px; font-family: Georgia, Times New Roman, Times, serif; font-style: normal; font-weight: normal; font-size: 18pt; }
h4 { margin: 0; margin-bottom: 9px; font-family: Georgia, Times New Roman, Times, serif; font-style: normal; font-weight: bold; font-size: 12pt; }
p { margin: 0; margin-bottom: 9px; }
a { text-decoration: none; color: #500080; }
a:hover { color: #A000FF; }

.pseudolink { cursor: pointer; color: #500080; }
.pseudolink:hover { color: #A000FF; }

.unpaddedtable { margin: 0; border-spacing: 0; padding: 0; }
.spacercell { width: 960px; }

/* centreinner div is centred horizontally within centreouter div; latter must have specified width, e.g. 100% */
.centreouter { text-align: center; }
.centreinner { display: inline-block; }

/* middleinner div is centred vertically within middleouter div */
.middleouter { display: table; table-layout: fixed; }  /* table-layout fixed is required to prevent the outer/inner elements from expanding beyond the specified width to fit the contents, which they otherwise do because display: table/table-cell cause the outer/inner elements to behave like a table/table-cell */
.middleinner { display: table-cell; vertical-align: middle; }

.noselect
{
  -webkit-touch-callout: none;  /* iOS Safari */
    -webkit-user-select: none;  /* Safari */
     -khtml-user-select: none;  /* Konqueror HTML */
       -moz-user-select: none;  /* Firefox */
        -ms-user-select: none;  /* Internet Explorer/Edge */
            user-select: none;  /* non-prefixed version, currently supported by Chrome and Opera */
}

#main { position: relative; width: 960px /* excluding padding */; padding: 8px 16px 12px; margin: 0 auto; background: white; }
.banner { position: relative; width: 944px /* excluding padding */; height: 41px; margin: 0; padding-left: 8px; padding-right: 8px; }
.banner h2 { font-style: italic; font-size: 24pt; }
.bannerheader { margin-bottom: 8px; }
.bannerfooter { margin-top: 15px; }
.controls { position: absolute; top: 4px; right: 5px; font-size: 16pt; }
.jssocials-shares { margin: 0; }
.jssocials-share { margin: 0 5px 0 0; }
.jssocials-share-link { padding: .25em; border: none; border-radius: 0; background: #D4C0E0 /* background to match .deepback */; color: #A880C0 /* half way between :hover color #500080 and white */; }
.jssocials-share-link:hover { border: none; border-radius: 0; background: #A880C0 /* background to match .fullback */; color: #500080; }
.jssocials-share-link:focus { /* to match jssocials-share-link so that there's no change on focus */ border: none; border-radius: 0; background: #D4C0E0 /* background to match .deepback */; color: #A880C0 /* half way between :hover color #500080 and white */; }
.jssocials-share-link:active { /* to match jssocials-share-link so that there's no change on active */ border: none; border-radius: 0; background: #D4C0E0 /* background to match .deepback */; color: #A880C0 /* half way between :hover color #500080 and white */; }
.jssocials-share-digg .jssocials-share-link { padding-left: 0.1em; }
#message { font-size: 18pt; margin: 6px; margin-top: 18px; margin-bottom: 12px; }
#otherpagesbanner { margin-top: 12px; text-align: center; }
#otherpagesbannerlink { font-style: italic; }
#otherpages { margin-top: 12px; text-align: center; }
.otherpagetitlecell { width: 300px; padding-top: 9px; }
.otherpagetitle { font-size: 16pt; }
.thumbnailspacer { width: 30px; }
#bottomspacer { height: 9px; }
#subscribeoverlay { position: fixed; bottom: 0; left: 0; right: 0; padding: 12px 15px 9px; box-shadow: 0 -3px 6px white; text-align: center; background: #500080; color: white; z-index: 10000; }
.subscribemessage { margin-bottom: 9px; font-size: 18pt; }
#subscribecontrols { margin-bottom: 12px; }
#subscribefield { width: 50vw; max-width: 300px; background: none; border: solid 1px white; padding: 4px 6px; font-size: 12pt; color: white; }
#subscribebutton { margin-left: 8px; border: solid 1px white; border-radius: 24px; padding: 2px 16px; font-size: 12pt; background: white; color: #500080; cursor: pointer; }
.subscribedetails { margin-bottom: 6px; font-size: 9pt; font-style: italic; }
#subscribeclose { position: absolute; top: -9px; right: 0; padding: 3px; font-size: 24pt; cursor: pointer; }

#columns { position: relative; width: 960px; margin: 0; }
.column { position: absolute; top: 0; width: 472px; }  /* 960px - 16px gap between columns = 944px / 2 = 472px */
.columnbox { width: 448px /* excluding padding */; padding: 12px; padding-top: 8px; }  /* 960px - 16px gap between columns = 944px / 2 = 472px - 2 * 12px padding = 448px */
.gap { margin-top: 12px; }
#column1 { left: 0; }
#column2 { left: 488px; }  /* 960px - 16px gap between columns = 944px / 2 = 472px + 16px gap between columns = 488px */
.tallest { position: relative; }  /* so that the height of the columns div is the height of the tallest column rather than zero */

#more p { margin-bottom: 3px; }
#more a { font-size: 14pt; }
.morelist { margin-left: 36px; }
.morelistlast { margin-left: 36px; padding-bottom: 3px; }
#books a { color: #280040; }
#books a:hover { text-decoration: underline; color: #500080; }
#sources p { font-size: 9pt; }
#sources a { font-size: 9pt; color: #280040; }
#sources a:hover { text-decoration: underline; color: #500080; }
#sources ul { margin: 0 0 9px; }
#sources li { margin: 0 0 6px; font-size: 9pt; }
#images p { font-size: 9pt; }
#images a { font-size: 9pt; color: #280040; }
#images a:hover { text-decoration: underline; color: #500080; }
#text p { font-size: 9pt; }
.textheading { margin-top: 9px; font-size: 14pt; }
.textheading a { font-size: 14pt; }
.textheadingsmall { font-size: 12pt; }
.textheadingsmall a { font-size: 12pt; }
.textsymbol { font-size: 12pt; font-weight: bold; }
.textpreexplanation { margin-bottom: 6px; }
.textexplanation { margin-left: 18px; }
.texttechnical { font-family: Arial, Geneva, sans-serif; }
.textsmall { font-size: 9pt; }
.textmedium { font-size: 12pt; }
.textlarge { font-size: 14pt; }
#timestamp p { font-size: 9pt; }

.nowrap { white-space: nowrap; }

.heading { margin-top: 12px; }

.nopadding { margin: 0; border-spacing: 0; padding: 0; }  /* used to remove all padding from tables; does not work under Internet Explorer, so equivalent attributes must be added to HTML table */

.paletext { color: #9480A0; }  /* 1/2 white + 1/4 #500080 + 1/4 black */

.whiteback { background: #FBF8FC; }  /* R 100 - 16 / 4, G 100 - 20 / 4, B 100 - 10 / 4 */
.washback  { background: #F5F0F8; }  /* R 100 - 16 / 2, G 100 - 20 / 2, B 100 - 10 / 2 */
.paleback  { background: #EAE0F0; }  /* R 100 -   16  , G 100 -   20  , B 100 -   10   */
.deepback  { background: #D4C0E0; }  /* R 100 - 2 * 16, G 100 - 2 * 20, B 100 - 2 * 10 */
.fullback  { background: #A880C0; }  /* R 100 - 4 * 16, G 100 - 4 * 20, B 100 - 4 * 10 */
.darkback  { background: #500080; }  /* R 100 - 8 * 16, G 100 - 8 * 20, B 100 - 8 * 10 */
.highback  { background: #A000FF; }  /* darkback * 2 */

.indexlinktitle { font-size: 18pt; }
.madethinkable { font-style: italic; }

.smallprint { font-size: 9pt; }
#fromkvvinc { width: 100%; margin-top: 12px; text-align: center; font-size: 9pt; font-style: italic; }

.porcupinelabel { margin-bottom: 3px; font-size: 9pt; }
.porcupineinput { width: 440px; }
#porcupineerror { color: red; }

.commentheader { margin-bottom: 3px; }
.commentname { font-weight: bold; }
.commentdate { font-size: 9pt; }
.comment { font-style: italic; }

.preview { border: none; }
