/*                             -  Bits of style for all websites - 
                                  ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
*/
/* ------------------------------------------------------------------------- Keyframes for generic animations -- */
@keyframes colourIn {
    0% { filter: grayscale(100%) ; }
    100% { filter: none ; }
}

@keyframes fadeOff { /* Fade off - only using Opacity */
      0% { opacity: 1 ; }
    100% { opacity: 0 ; }
}
@keyframes fadeOn { /* Fade on - only using Opacity (clearer than equivelent fadeOff reverse) */
      0% { opacity: 0 ; }
    100% { opacity: 1 ; }
}
@keyframes fade { /* Fade off and change layer (z-index) */
      0% { z-index: 99 ; opacity: 1 ; }
    100% { z-index: -1 ; opacity: 0 ; }
}
/* ------------------------------------------------------------------------------------------------ Variables -- */
:root {
    --hue: 240deg ;
    --saturation: 2% ;
    --nearBlack: hsl(var(--hue), var(--saturation),  8%) ;
    --dark:      hsl(var(--hue), var(--saturation), 25%) ;
    --mid-dark:  hsl(var(--hue), var(--saturation), 40%) ;
    --midtone:   hsl(var(--hue), var(--saturation), 50%) ;
    --mid-light: hsl(var(--hue), var(--saturation), 60%) ;
    --light:     hsl(var(--hue), var(--saturation), 75%) ;
    --greyOut:   hsl(var(--hue), var(--saturation), 90%) ;

    --brightNearBlack: hsl(var(--hue), 100%,  7%) ;
    --brightVeryDark:  hsl(var(--hue),  95%, 18%) ;
    --brightDark:      hsl(var(--hue),  90%, 25%) ;
    --brightMid-dark:  hsl(var(--hue),  80%, 40%) ;
    --brightMidtone:   hsl(var(--hue),  70%, 50%) ;
    --brightMid-light: hsl(var(--hue),  60%, 60%) ;
    --brightLight:     hsl(var(--hue),  50%, 75%) ;
    --brightOut:       hsl(var(--hue),  40%, 95%) ;
	
    --brightBack:   hsl(var(--altHue),  98%, 95%) ;

    --altHue: calc(var(--hue) + 155deg) ;
    --altNearBlack: hsl(var(--altHue), 100%,  5%) ;
    --altDark:      hsl(var(--altHue),  90%, 10%) ;
    --altMid-dark:  hsl(var(--altHue),  80%, 25%) ;
    --altMidtone:   hsl(var(--altHue),  50%, 40%) ;
    --altMid-light: hsl(var(--altHue),  40%, 50%) ;
    --altLight:     hsl(var(--altHue),  20%, 60%) ;
    --altVeryLight: hsl(var(--altHue),  15%, 80%) ;
    --altOut:       hsl(var(--altHue),  12%, 95%) ;
    --offwhite:     hsl(var(--altHue), var(--saturation), 98%) ;

    --errorColour: hsl(0deg, 100%, 35%) ;
    --goodColour: hsl(120deg, 100%, 42%) ;

/* Type */
    --font-size: 96% ;
    --typeCode: "Times New Roman", Times, serif ;
    --typeback: Georgia, "Minion Web", var(--typeCode) ;
    --typeface: "Trebuchet MS", var(--typeback) ;
    --typeSansback: Verdana, Arial, Helvetica, sans-serif ;
    --typeSans: "Myriad Web", var(--typeSansback) ;
    --typeTable: "Courier New", monospace ;

/* Dimensions of main container (main or article or, perhaps, body) */
    --main-top: 1.2rem ;
    --main-right: 22px ;
    --main-left: 27px ;
    --main-sides: calc(var(--main-left) + var(--main-right)) ;
    --body-min-width: 70vw ;
    --body-max-width: calc(100vw - 2*var(--main-right)) ;
    --body-width: var(--body-max-width) ; /* Default to max */
    --menu-width: 0px ; /* Reset by *menu53.css */
    --main-min-width: max(calc(var(--min-char) + var(--sides)), 66vw) ;
    --main-max-width: calc(var(--body-max-width, 100vw) - var(--menu-width) - var(--main-sides)) ;
    --main-width: calc(var(--body-width) - var(--menu-width) - var(--main-left)) ;

/* Dimensions of chunks (sections, posters &c &c) */
    --right: 1rem ;
    --left: max(2vw, 1.5rem) ;
    --sides: calc(var(--left) + var(--right)) ;
    --min-char: 45ch ; /* character length of lines */
    /* --max-char: 68ch ; */
    --max-char: min(68ch, 100%) ;
    /* --min-width: max(var(--min-char), calc(var(--main-width) - var(--sides))) ; */
    --min-width: var(--min-char) ;
    /* --max-width: min(var(--max-char), calc(var(--main-width) - var(--sides))) ; */
    --max-width: var(--max-char) ;
    /* --width: clamp(var(--min-width), calc(0.5 * var(--main-width) - var(--right)), var(--max-width)) ; */
    --width: calc(0.5 * var(--main-width) - var(--right)) ;
    --padding: 0 ;
    --margin: -1ex 0 0 var(--left) ;
}
/* ============================================================================================ Document-wide == */
* {
    margin: 0 ; padding: 0 ; border: 0 none transparent ;
    background: transparent ;
    cursor: inherit ; hyphens: manual ; /* soft hyphens are hidden by default  */
}
html { background-color: var(--offwhite) ; scroll-behavior: smooth ; }
body {
    overflow: auto ; position: absolute ; top: 0 ; left : 0 ; z-index: 0 ;
    width: var(--body-width) ; min-width: var(--body-min-width) ; max-width: var(--body-max-width) ; 
    margin: auto ; padding: 0 var(--main-right) 0 0 ; /* For cross-browser consistency */
    color: black ; background: var(--offwhite) url("../images/tb00b.gif") repeat-y left top ;
    font: normal 1rem/140% var(--typeface) ; text-decoration: none ;
    font-size-adjust: 0.49 ; text-align: left ; 
    cursor: default ;
}
:lang(en) { quotes: "‘" "’" "“" "”" ; }
:lang(de), :lang(yi) { quotes: "» " " «" " ›" "‹ " ; font-style: italic ; }
:lang(fr) { quotes: "« " " »" "‹ " " ›" ; }
:lang(la) { quotes: "‘" "’" "“" "”" ; font-style: italic ; }
:lang(sh) { quotes:  "„" "”" "‚" "’" ; }
span[lang] { font-style: italic ; }

footer, header, section, nav { display: block ; } /* article & aside under Page Body below */

abbr { color: var(--altMid-dark) ; }
  abbr[title] { cursor: alias ; }
address { text-align: right ; }

blockquote {
    display: block ; max-width: 85ex ; margin: 0 ; padding: 1rem 5ex 0 5ex ; text-indent: -1.6ex ;
}
  blockquote+sup.Reference { float: right ; margin: -1ex 4ex 0 0 ; }
  blockquote+footer+p { margin-top: 7ex ; }

    blockquote h5 { text-indent: 0 ; }
    blockquote p, article blockquote p, section blockquote p, article blockquote.bodyChunk p, article .bodyChunk blockquote p {
        margin: 1ex 0 0 0 ; text-indent: 0 ;
    }
    blockquote p, section blockquote p { min-width: 0 ; max-width: 100% ; }
      blockquote p+ol, article blockquote p+ol , article blockquote.bodyChunk p+ol {
          margin: 3ex 3ex 2ex 3ex ;
      }
    blockquote p:first-child, article blockquote p:first-child { text-indent: -1.6ex ; }
    blockquote>*:first-child::before { content: open-quote ; }
    blockquote p:last-of-type::after { content: close-quote ; }
      blockquote cite { font-style: normal ; }
      section blockquote footer { float: none ; margin: 1.5ex 3ex 3ex 0 ; }
/* See below for section footer */

cite { white-space: nowrap ; color: var(--mid-dark) ; font-size: 95% ; font-style: oblique ; }
  a cite { color: inherit ; }

code {
    display: block ; margin: 1ex 0 1.5ex 5ex ; text-indent: 0 ;
    color: var(--brightDark) ; font-family: var(--typeSans) ; font-size: 90% ; font-size-adjust: 0.47 ;
    white-space: pre-line ;
}
kbd { font-family: var(--typeTable) ; font-size: 80% ; font-size-adjust: 0.47 ; white-space: nowrap ; }

dl { margin: 0.6ex 4% 2ex 3ex ; line-height: 110% ; }
dt { margin: 1.5ex 0 0 0 ; }
dd { margin: 0 0 0.3ex 4ex ; }

dfn {
    color: var(--dark) ; font-size: 100% ; font-size-adjust: 0.42 ;
    font-family: "Minion Web", var(--typeback) ; font-style: oblique ;
    white-space: nowrap ;
}

h1, h2, h3, h4, h5, h6, th {
    font-family: "Trebuchet MS", var(--typeSans) ;
    font-weight: bold ; letter-spacing: 0.2em ; text-decoration: none ; break-after: avoid ;
}
h1 { font-size: 160% ; line-height: 105% ; }
h2 { font-size: 140% ; }
h3     { margin: 3ex 0 0.6ex 0 ; color: var(--mid-light) ; font-size: 120% ; line-height: 95% ; }
  :is(h1, h2, h3) cite { color: var(--brightDark) ; }
h4     { margin: 2.5ex 0 0.3ex 0 ; color: var(--midtone) ; letter-spacing: 0.1em ; font-size: 107% ; }
h5     { margin: 2ex 0 0 0 ; color: var(--midtone) ; letter-spacing: 0.1ex ; font-size: 102% ; }
h6, th { margin: 1ex 0 0 0 ; color: var(--mid-dark) ; letter-spacing: 0 ; font-size: 98% ; }

hr { border-top: 1px groove var(--midtone) ; }

i { font-style: italic ; } /* for Logot &c */
    i i { color: var(--brightMid-dark) ; font-style: normal ; font-weight: bolder ; letter-spacing: 0.8ex ; }

iframe { resize: both ; overflow: hidden ; }
  iframe[seamless] { resize: none ; overflow: visible ; }

img { display: block ; max-width: none ; height: auto ; }

ins { text-decoration: none ; color: var(--errorColour) ; }

object { display: block ; }

p { min-width: var(--min-char) ; max-width: var(--max-char) ; margin: 0.2ex 0 1.5ex 0 ; line-height: 120% ; }
p:has(q:first-child) { text-indent: -1ch ; }

details { display: block ; font: 75% small-caption ; margin: 1ex 0 0 0 ; text-indent: 0 ; }
  details p { font: 120% var(--typeface) ; }
  ul li details p { margin: 0 0 1.5ex 0 ; line-height: 120% ; }

samp {
    color: var(--brightDark) ; background-color: transparent ;
    font-family: var(--typeSansback) ; font-size: 100% ; font-size-adjust: 0.54 ; white-space: nowrap ;
}
  samp::before, samp::after, var::before, var::after { content: " " ; font-size: 30% ; line-height: 100% ; }
                                      /* Remove size when browsers honour thin space */
sub, sup { font-size: 60% ; font-weight: bold ; }
sub { vertical-align: -40% ; }
sup { vertical-align: 50% ; }
    sup.Reference { /* Use for links that references a footnote */
        font-size: 65% ; vertical-align: 40% ; border: none ;
    }
    sup.Reference::before { content: "(" ; font-weight: normal ; }
    sup.Reference::after { content: ")" ; font-weight: normal ; }

time { white-space: nowrap ; }

var { font: italic 110% var(--typeCode) ; }
cite var { font-size: 150% ; line-height: 90% ; }
  cite var::before, cite var::after { content: none ; }

/* ------------------------------------------------------------------------- Classes -- */
.Formulae { font: normal 130%/200% var(--typeCode) ; }
  .Formulae p { font: normal 120%/175% var(--typeCode) ; }

.Inactive {  /* An element that is normally active, e.g. a link */
    cursor: default ; color: var(--dark) ;
}

.Quantity, .ISBN { /* Use for measures e.g. 20 kg and for ISBNs & ISDNs */
    white-space: nowrap ; word-spacing: -0.45ex ;
}
  .Quantity::before, .ISBN::before, .Quantity::after, .ISBN::after { content: " " ; }

.Matrix {
    border-style: none solid ; border-width: 2px ; border-color: var(--mid-dark) ; border-radius: 0.8ex ; border-collapse: revert ;
    background: white ; padding: 0 ;
}

  .Matrix td {
    padding: 0.2ex 0.5ex ; font-family: var(--typeTable) ; vertical-align: middle ; text-align: right ;
  }

.On { opacity: 1 ; }
.FadeOn { animation: 2.7s linear 1ms normal both 1 running fadeOn ; }
.FadeIn { animation: 3s ease-out 1ms reverse both 1 running fade ; }
.In { opacity: 1 ; z-index: 9 ; } /* Must be on top to be clickable */
.FadeOut { animation: 1.7s ease-out 1ms normal both 1 running fade ; }
.Out { opacity: 0 ; z-index: -1 ; }
.FadeOff { animation: 1.5s linear 1ms normal both 1 running fadeOff ; }
.Off { opacity: 0 ; }
.Up { z-index: 9 ; }
.Down { opacity: 1 ; z-index: -1 ; }

.AfterTitle::after { content: ' ' attr(title) ; }

/* -------------------------------------------------------------------------- Tables -- */
table {
    margin: 2ex auto 2ex auto ;
    table-layout: auto ; border-collapse: collapse ; empty-cells: show ;
}
  caption {
      padding: 0.6ex 1ex 0.6ex 1ex ; border-top: 1px solid var(--nearBlack) ; border-bottom: 1px solid var(--midtone) ;
      text-align: left ;
  }
  colgroup { border-left: 1px solid var(--midtone) ; border-right: 1px solid var(--midtone) ; }
  col { border-left: 1px solid var(--midtone) ; border-right: 1px solid var(--midtone) ; }
  tfoot { border-top: 1px solid var(--midtone) ; }
  td { vertical-align: middle ; font-family: var(--typeback) ; }

/* -------------------------------------------------------------- Forms & interaction -- */
/*                                          here for order forms, not only contact forms */
[onclick] { cursor: pointer ; }
button { border: 1px solid var(--mid-dark) ; padding: 0 0.5ex 0.2ex 0.5ex ; cursor: pointer ; text-align: center ; }
command:empty::before { content: attr(label) ; }

input, select, textarea, .recaptcha-checkbox-border {
    background: var(--altOut) ; border: 1px solid var(--altVeryLight) ; font-size: inherit ; cursor: text ;
} /* Leave default colour so hints are grey */
  input:focus, select:focus, textarea:focus { outline-style: none ; border: 2px solid var(--altLight) ; }
  input:out-of-range  { color: var(--errorColour) ; border-color: var(--errorColour) ; }
  input:invalid, select:invalid  { color: var(--errorColour) ; }
  input[disabled], input[readonly] { color: var(--greyOut) ; cursor: default ; }

menuitem:empty::before { content: attr(label) ; }

/* ------------------------------------------------------- Navigation in general -- */
a, a:any-link, nav:not(#menu) a::before {
    outline: none ; text-decoration: none ; font-size: inherit ; cursor: pointer ;
    transition: color 0.1s, text-shadow 1s, transform 0.5s ;
    color: var(--brightMid-dark) ; background: transparent ;
}
    a:visited { color: var(--brightDark) ; } /* Note reduced browser support for privacy reasons */
    a:hover { text-shadow: 0.1ex 0 white, -0.1ex 0 white, 0 0.1ex white, 0 -0.1ex white ; }
    a:hover, a:focus { color: var(--brightMidtone) ; border-bottom: 1px dotted var(--brightMid-dark) ; }
      p :is(a:hover, a:focus) { border-bottom: 2px dotted var(--brightMidtone) ; }
    a:active { color: var(--altMid-dark) ; }
    [data-target~="self"]:not([href*="#"]) { cursor: default ; }
    a[data-target~="self"]:not([href="#pageTop"]):not(:has(.Reference)) { 
        color: var(--brightDark) ; border-bottom: 2px dotted var(--brightMid-dark) ; 
    }
    [rel="help"] { cursor: help ; }
    [rel="license"], [data-target~="popup"] { color: hsl(var(--hue), 100%, 25%) ; cursor: pointer ; }
    [rel="license"]:hover, [data-target~="popup"]:hover, [data-target~="popup"]:focus, [data-target~="popup"]:active {
        color: hsl(var(--hue), 100%, 66%) ; white-space: nowrap ;
    }
    a abbr { color: inherit ; text-decoration: none ; }
    a sup { color: hsl(var(--hue), 100%, 33%) ; }

:target { color: hsl(var(--hue), 100%, 35%) ; background: var(--brightBack) ; font-size: 125% ;}

/* ================================================================================================= Divisions == */
/* -------------------------------- Top line -- */

/* px throughout, not ex measurements, for accurate placement of decorative topline */

#home {
    position: absolute ; left: 10px ; top: 16px ; width: 35px ; height: 35px ; z-index: 99 ;
    color: var(--offwhite) ; background: var(--offwhite) ; border-color: var(--offwhite) ;
}
body > header, body > header:target {
    padding: 10px 0 0 45px ;  /* Padding, not margin, at top so  top  button goes all the way */
    background: var(--offwhite) ; text-align: right ;   /* Background, so  top  button doesn't change its colour */
}
  body > header :is(h1, h2) { padding: 0 4px 0 0 ; font-size: 14px ; }
  body > header h1 {
      border-bottom: 3px solid var(--dark) ;
      color: var(--midtone) ; line-height: 21px ; letter-spacing: 8px ;
  }
    body > header h1 cite { color: var(--brightDark) ; font-size: 110% ; }
  body > header h2 { color: var(--dark) ; font-weight: normal ; letter-spacing: 0.6ex ; }
    body > header :is(a:link, a:visited, a:hover, a:focus), body>header [data-target~="self"]:not([href="#pageTop"]) {
        color: inherit ; text-decoration: none ; border-bottom: none ;
    }
    body > header svg { float: right ; padding: 2px 0 0 12px ; }

/* ----------------------------------------------------------------------------------------------------- Menu -- */
/* These styles apply to all menus, not only menus in a specific position */
#menu, .Menu { z-index: 10 ; color: var(--nearBlack) ; font: menu ; }
  :is(#menu, .Menu) ul { list-style: none outside none ; }
    #menu a, .Menu a { color: inherit ; }
    #menu :is(:focus, a:hover) { color: var(--brightMidtone) ; transform-origin: -1ex 0 ; }
    #menu :is([rel="author"]:hover, [data-target~="start"]:hover, [rel="help"]:hover) { color: var(--brightLight) ; }
    #menu :is([data-target~="self"], [data-target~="self"]:hover) {
        color: var(--brightNearBlack) ; text-shadow: none ; border: none ;
        font-size: 88% ; font-variant: small-caps ; letter-spacing: 0.4ch ; text-decoration: none ;
    }
    a.Inactive, a.Inactive:link, a.Inactive:hover, #menu a.Inactive, #menu a.Inactive:hover {
        color: var(--greyOut) ; background-color: transparent ; cursor: default ;
        font-size: 85% ; font-weight: lighter ; text-decoration: none ;
    }
      #menu cite, .Menu cite { white-space: inherit ; }
      #menu img, .Menu img { display: none ; }

/* --------------------------------------------------------------------------------- Content areas -- */
/* ---------------------------------------------------------------- Illustrations -- */
/* Also figure spec included below to match  section  and  aside */
figure { }
  figure iframe, figure img, figure object, figure video {
      float: right ; max-width: 100% ; height: auto ;  /* max 100% - no overflow from small containers */
      margin: 0 auto 0 auto ; border: 1px solid var(--mid-light) ;
  }
  figure img, figure video { background: transparent ; }
  figure iframe, figure object { background-color: white ; }
  figcaption {
      clear: both ; padding: 0.5ex 0 0 0 ; margin: 1ex 0 0.5ex 0 ;
      text-align: left ; font-size: 95% ; letter-spacing: 0.1ex ; line-height: 110% ;
  }

  figure svg { width: 100% ; }

  /* For the  url()  form of CSS filters, the SVG filters file, ../xml/filters.svg is required in the PHP or HTML */
  svg#filters { visibility: hidden ; position: absolute ; width: 0 ; height: 0 ; }
  .BlueGrey, .ToBlueGrey:hover  { filter: url('#blueGrey') saturate(60%) contrast(110%) ; }
  .Grey, .ToGrey:hover { filter: grayscale(98%) ; }
  .Sepia, .ToSepia:hover { filter: url('#sepia') saturate(75%) ; }
  .Colour, .ToColour:hover { filter: none ; }

  .Fade1s { transition: filter 1s ease-in-out 0.1s ; }

/* ---------------------------------------------------------------------- Body text -- */
/* ---------------------------- Main and general - */
main, article, section {
    position: relative ;
    color: var(--brightNearBlack) ; background-color: transparent ;
    line-height: 140% ; font-size: var(--font-size) ; letter-spacing: 1px ;
}
main, #pageBody { /* pageBody (unfortunate - for historical reasons) may be an article or a section */
    clear: both ; float: none ; display: table ;
    margin: var(--main-top) auto 1ex auto ;
    padding: var(--main-top) 0 1.5rem var(--menu-width) ; /* padding nomally reset by *Menu53.css */
}

section, aside, figure, template, main header, article header {
    float: left ; width: var(--width) ; min-width: var(--min-width) ; 
    margin: var(--margin) ; padding: var(--padding) ;
}
section, aside, figure { max-width: var(--max-width) ; }
    section aside { min-width: 0 ; max-width: none ; }
    article footer, aside footer, section footer {
        border: none ; font-size: 86% ; line-height: 100% ; margin: 0 ; padding: 0 ;
    }
    section img { max-width: 60% ; margin: 5ex auto 5ex auto ; }
      section img:last-child { margin-bottom: 0 ; }

    main ul, main ol, article ul, article ol { margin: 0.7ex 3ex 2ex 5ex ; list-style-type: none ; list-style-image: none ; }
    main ol, article ol { counter-reset: item ; }
    main ol.References:not(:first-of-type), article ol.References:not(:first-of-type) { counter-reset: none ; }
    main li { margin: 1.5ex 2ex 1.5ex 1ex ; text-indent: -5ex ; line-height: 115% ; }
    main li.More { font-size: 125% ; }
    main ul>li::before, main ol ul>li::before, article ul>li::before, article ol ul>li::before {
        content: "♦ " ; counter-increment: none ; color: var(--midtone) ;
    }
    main ul>li.More::before, article ul>li.More::before { content: none ; }
    main ol>li::before, article ol>li::before {
        display: inline-block ; min-width: 3ex ; padding: 0 1ex 0 0 ;
        content: counters(item, ".") ; counter-increment: item ;
        text-align: right ;
    }

/* ------------------------------------ Articles - */
body > article { padding: 0 0 0 calc(var(--main-left) + var(--menu-width))  ; }
article { width: fit-content ; margin: 3ex auto 3ex auto ; padding: 0 0 0 2.2rem ; }
    article a { white-space: nowrap ; }

article.References {
    display: block ; margin: auto; padding: 2rem 0 0.5rem 0 ; background: var(--offwhite) ;
    columns: 60ex 3 ; column-fill: balance ; column-gap: 2rem ; column-rule: 1px solid var(--dark) ;
}
  article.References>h1 { column-span: all ; }
  article.References>h3 { margin: 0 0 1ex 3ex ; }
  article.References ol { margin: 1ex 0 2rem 2ex ; }
    article.References li { break-inside: avoid-column ; }


  article li {
        margin: 1.5ex 2ch 1.5ex 1ch ;
        text-indent: -2.5ch ; line-height: 115% ;
  }
    article li li {
        margin: 0.5ex 1.5ex 1.5ex 0 ;
        line-height: 100% ;
    }
    article ul ul>li::before {
        content: "• " ;
        color: var(--midtone) ; font-size-adjust: 0.6 ;
    }
    article ol li li {
        margin-left: 1.7ex ;
        text-indent: -4.8ex ;
    }
    article li li ul>li::before {
        content: "▪ " ;
        color: var(--mid-dark) ;
    }
    article ol li li li {
        margin-left: 3.6ex ;
        text-indent: -6.8ex ;
    }
    article li li li ul>li::before {
        content: "◊ " ;
        font-size-adjust: 0.4 ;
        color: var(--nearBlack) ;
    }
    article ol li li li li {
        margin-left: 5.7ex ;
        text-indent: -8.8ex ;
    }
    article li li li li ul>li::before {
        content: "▫ " ;
        font-size-adjust: 0.55 ;
    }
    article ol li li li li li {
        margin-left: 7.7ex ;
        text-indent: -10.8ex ;
    }
    article li li li li li ul>li::before {
        content: "∙ " ;
        font-size-adjust: 0.6 ;
    }
    article li h4, article li h5, article li.SubHeading {
        margin: -1.9ex 0 0.8ex 0 ;
        padding: 0 ; text-indent: 0 ;
        white-space: nowrap ;
    }
    article li h5, article li.SubHeading { margin: -2ex 0 0.3ex 0 ; }
    article li h6 { display: inline-block ; margin: 0 0 0.3ex 1.5ch ; }
    article li p {
        margin: 0 0 -1.7ex 0 ;
        padding: 0 ; text-indent: 0 ;
        line-height: 115% ; font-size: 90% ;
    }

/* -------------------------------------- Asides - */
aside { margin-top: 2ex ; }
    aside p { font-size: 90% ; line-height: 115% ; }

/* ---------------------------------------------------------------------------- Navigation buttons -- */
button[onclick*="fadeOut"], button[onclick*="crossFade"] {
    position: absolute ; top: 0.1ex ; right: 0 ; width: 3.5ex ; height: 3.5ex ; z-index: 99 ;
    text-align: center ;
}
  button[onclick*="fadeOut"]:empty::before, button[onclick*="crossFade"]:empty::before {
      content: "╳" ;
      font-size: 70% ; font-weight: bold ; vertical-align: 20% ;
  }

/* -------------------------------------  Page foot -- */
nav.BackNext {
    clear: both ; margin: 3ex 0 0 0 ; padding: 2ex 0 0 0 ;
    text-align: right ;
}
    [href="#pageTop"]:empty, [href="#pageTop"]:empty:hover {  /* px to match vertical menu line */
        z-index: 99 ; position: absolute ; left: 26px ; bottom: 0 ; height: 0.65rem ;
        margin: 0 ; border-bottom: 3px solid var(--nearBlack) ;
        font-size: 165% ; letter-spacing: -0.4ex ; line-height: 28% ;
    }
    [href="#pageTop"]:empty::before { content: "    ▲" ; }
    [href="#pageTop"]:empty::after { content: none ; }
    [rel="prev"]:empty, [href*="goBack"]:empty {
        float: left ;
        padding: 0 0 0 4ch ; margin: 0 0 0 var(--main-left, 12%) ;
    }
    [rel="prev"]:empty::before, [href*="goBack"]:empty::before, [onclick*="goBack"]:empty::before {
        content: "◄" ;
    }
    [rel="next"]:empty {
        float: right ;
        margin: 0 0 2ex 3ex ;
    }
    [rel="next"]:empty::before { content: "►" ; }

    [rel="prev"]:empty, [href*="goBack"]:empty, [rel="next"]:empty, a:empty:hover  {
        border: none ;
        font-size: 165% ; text-decoration: none ;  
    }
/* --------------------------------------------- Footnotes -- */
footer, .Footnotes {
    clear: both ; float: right ; min-width: 35ex ;
    margin: 2ex 0 0 0 ; padding: 1ex 0 0.5ex 0 ; border-top: 2px solid var(--dark) ;
    text-align: right ;
}
    footer ul, footer ol { font-family: var(--typeback) ; font-size: 65% ; word-spacing: 1px ; }
    footer ol { padding: 0 0 1ex 0 ; }
    footer ul { list-style: none ; }
    footer ol+ul { padding: 1ex 0 0 0 ; border-top: 1px solid var(--mid-dark) ; }

    footer a { white-space: nowrap ; }
    footer cite { font-size: 105% ; }
    footer cite::before, footer cite::after { content: " " ; }
    footer li, footer p { clear: right ; margin: 0 0 0.5ex 0 ; line-height: 130% ; }
    footer h6 { float: right ; width: 100% ; margin: 1.5ex 0 0 0 ; border-top: 1px solid rgba(0, 0, 0, 0.5) ; }

#p5_loading { left: 8rem ; bottom: 1.6rem ; }

/* ================================================================================================== */
