.tblock.table {
  margin-top: 1em;
}
.tblock.table > .num {
  margin-top: 1em;
  text-align: center;
  font-weight: bold;
}
.tblock.table > .heading {
  margin-top: 1em;
  text-align: center;
}

table {
  width: 100%;
  margin: 1em 0 0 0;
  border-collapse: collapse;
  font-size: smaller;
}

table.level-1 {
  width: calc(100% - 2.5em);
  margin-left: 2.5em;
}

table.level-2 {
  width: calc(100% - 5em);
  margin-left: 5em;
}

table.level-3 {
  width: calc(100% - 7.5em);
  margin-left: 7.5em;
}

table.level-4 {
  width: calc(100% - 10em);
  margin-left: 12.5em;
}

table.level-5 {
  width: calc(100% + 12.5em);
  margin-left: -12.5em;
}

th, td {
  padding: 6pt;
}

th {
  text-align: left;
}

td {
  vertical-align: top;
}

th > *:first-child, td > *:first-child {
  margin-top: 0;
}

th > *:last-child, td > *:last-child {
  margin-bottom: 0;
}

.fnRef {
  position: relative;
  top: -0.5em;
  font-size: 12pt;
}

.footnotes {
  margin-top: 2em;
  border-top: thin solid black;
  font-size: smaller;
}

.footnotes > .footnote > .marker {
  display: block;
  position: absolute;
}
.footnotes > .footnote > .marker:after {
  content: ".";
}

.footnote > p {
  margin-left: 2.5em;
}

.tablenotes {
  margin-top: 1em;
  font-size: smaller;
}

.tablenote > .marker {
  display: block;
  position: absolute;
}

.tablenote > p {
  margin-left: 2.5em;
}

ins, del {
  text-decoration: none;
}

ins.first:before, del.first:before {
  content: "[";
  font-weight: bold;
}

ins.last:after, del.last:after {
  content: "]";
  font-weight: bold;
}

.noteRef.commentary {
  position: relative;
  top: -0.5em;
  font-weight: bold;
  font-size: smaller;
}

.noteRef.commentary.C, .noteRef.commentary.I {
  display: none;
}

/* the second of these doesn't quite work, b/c [ then comes after ref */
.annotations {
  margin: 1em;
  border: thin solid grey;
  padding: 1em;
  font-size: smaller;
}

.annotations > div + div {
  margin-top: 1em;
}

.annotations > div:first-child {
  font-weight: bold;
}

.annotations > div > div {
  margin-top: 1em;
}

.annotations > div > div:first-child {
  border-top: thin dotted gray;
  padding-top: 1em;
  font-weight: bold;
}

.annotations > div > div > p:first-child {
  margin-left: 3em;
  text-indent: -3em;
}

.annotations > div > div > p > span.marker {
  display: inline-block;
  text-indent: initial;
  min-width: 2em; /* text-indent - padding-right */
  padding-right: 1em;
}

body {
  margin: 1cm 1in;
  font-family: arial, helvetica, verdana, sans-serif;
  font-size: 16pt;
}

h1 {
  margin: 1em 0 0 0;
}

section, .hcontainer {
  position: relative;
  margin-top: 1em;
}

h2, h3, h4, h5, h6 {
  position: relative;
  margin: 0;
  font-weight: normal;
  font-size: inherit;
}

.schedule, .crossheading:not([data-ukl-name=P1group]),
section.subheading, .part,
.chapter {
  margin-top: 2em;
}
.schedule > h2 > *, .crossheading:not([data-ukl-name=P1group]) > h2 > *,
section.subheading > h2 > *, .part > h2 > *,
.chapter > h2 > * {
  display: block;
  margin-top: 0.5em;
  text-align: center;
}

p, .p {
  margin-top: 1em;
  margin-bottom: 0;
}

blockquote > ol, blockquote > ul {
  margin-left: 0;
}

ol, ul {
  position: relative;
  margin-left: 2em;
  padding-left: 0;
  list-style-type: none;
}

li {
  margin-top: 1em;
  margin-left: 2em;
}

li > .num {
  display: inline-block;
  position: absolute;
  left: -0.5em;
}

li > ol, li > ul {
  margin-left: 0;
}

div.mod {
  display: inline;
}

blockquote {
  margin: 1em 0 0 2.5em;
}

q:before, q:after {
  content: "";
}

/* images */
figure {
  margin-top: 1em;
}

figcaption {
  text-align: center;
}
figcaption > div {
  margin-top: 1em;
}

figure > p {
  text-align: center;
}

.image.centre {
  text-align: center;
}

.uppercase {
  text-transform: uppercase;
}

.smallCaps {
  font-variant: small-caps;
}

a {
  color: #0A64D7;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

cite {
  font-style: normal;
}

cite.operative {
  font-weight: bold;
}

/* tables of contents */
.tocItem {
  margin-top: 0.25em;
}

.tocItem[data-level="2"] {
  margin-left: 1em;
}

.tocItem[data-level="3"] {
  margin-left: 2em;
}

.tocItem[data-level="4"] {
  margin-left: 3em;
}

.tocItem[data-level="5"] {
  margin-left: 4em;
}

.tocItem[data-level="6"] {
  margin-left: 5em;
}

.tocNum + .tocHeading {
  padding-left: 1em;
}

.crossheading[data-ukl-name=P1group] > h2 {
  font-weight: bold;
}

.schProv1,
.schedule > .paragraph,
.schedule > .part > .paragraph,
.context-schedule > .paragraph {
  margin-top: 1em;
  margin-left: 2.5em;
}
.schProv1 > h2 > .num,
.schedule > .paragraph > h2 > .num,
.schedule > .part > .paragraph > h2 > .num,
.context-schedule > .paragraph > h2 > .num {
  display: block;
  position: absolute;
  margin-left: -2.5em;
}
.schProv1 > h2 > .heading:first-child,
.schedule > .paragraph > h2 > .heading:first-child,
.schedule > .part > .paragraph > h2 > .heading:first-child,
.context-schedule > .paragraph > h2 > .heading:first-child {
  display: block;
  margin-left: -2.5em;
}
.schProv1 > h2 > .heading + .num,
.schedule > .paragraph > h2 > .heading + .num,
.schedule > .part > .paragraph > h2 > .heading + .num,
.context-schedule > .paragraph > h2 > .heading + .num {
  margin-top: 1em;
}

.schedule .subparagraph,
.context-schedule .subparagraph,
.schProv2, div.definition {
  margin-top: 1em;
  margin-left: 2.5em;
}
.schedule .subparagraph > h2,
.context-schedule .subparagraph > h2,
.schProv2 > h2, div.definition > h2, .schedule .subparagraph > h3,
.context-schedule .subparagraph > h3,
.schProv2 > h3, div.definition > h3, .schedule .subparagraph > h4,
.context-schedule .subparagraph > h4,
.schProv2 > h4, div.definition > h4, .schedule .subparagraph > h5,
.context-schedule .subparagraph > h5,
.schProv2 > h5, div.definition > h5, .schedule .subparagraph > h6,
.context-schedule .subparagraph > h6,
.schProv2 > h6, div.definition > h6 {
  position: absolute;
  margin-left: -2.5em;
}

section.prospective {
  border: 1px solid #ddd;
  background-color: rgb(250, 250, 250);
  margin-left: -0.5em;
  padding-left: 0.5em;
  margin-right: -0.5em;
  padding-right: 0.5em;
  padding-bottom: 0.5em;
}

section.prospective::before {
  display: block;
  position: relative;
  left: -0.5em;
  margin-right: -1em;
  margin-bottom: 0.5em;
  background-color: rgb(235, 235, 235);
  padding: 0.5em;
  font-family: Roboto, sans-serif;
  font-weight: lighter;
  content: "Prospective";
}

*[data-show-extent]::after {
  margin-left: 2em;
  background-color: darkMagenta;
  color: white;
  padding: 2pt 6pt;
  font-weight: normal;
  content: attr(data-show-extent);
}

/* parts, chapters */
/* cross-headings, sub-headings */
.crossheading:not([data-ukl-name=P1group]) > h2,
section.subheading > h2 {
  font-style: italic;
}

.crossheading:first-of-type,
section.subheading:first-of-type {
  margin-top: 1em;
}

/* compact format */
.article, .regulation, .rule {
  margin-top: 2em;
}
.article > h2, .regulation > h2, .rule > h2 {
  display: inline;
}
.article > h2 > .heading, .regulation > h2 > .heading, .rule > h2 > .heading {
  display: block;
  font-weight: bold;
  margin-bottom: 1em;
}
.article > h2 > .num, .regulation > h2 > .num, .rule > h2 > .num {
  padding-left: 1em;
  font-weight: bold;
}
.article > .intro, .regulation > .intro, .rule > .intro, .article > .content, .regulation > .content, .rule > .content {
  display: inline;
}
.article > .intro > p:first-child, .regulation > .intro > p:first-child, .rule > .intro > p:first-child, .article > .intro .p:first-child, .regulation > .intro .p:first-child, .rule > .intro .p:first-child, .article > .content > p:first-child, .regulation > .content > p:first-child, .rule > .content > p:first-child, .article > .content .p:first-child, .regulation > .content .p:first-child, .rule > .content .p:first-child {
  display: inline;
  padding-left: 1ch;
}

.level, .para1, .para2, .para3, .para4 {
  margin-top: 1em;
  margin-left: 2.5em;
}

blockquote:not(.secondary) .subsection > h2, .level > h6.with-heading > .num, .para1 > h6.with-heading > .num, .para2 > h6.with-heading > .num, .para3 > h6.with-heading > .num, .para4 > h6.with-heading > .num, .level > h5.with-heading > .num, .para1 > h5.with-heading > .num, .para2 > h5.with-heading > .num, .para3 > h5.with-heading > .num, .para4 > h5.with-heading > .num, .level > h4.with-heading > .num, .para1 > h4.with-heading > .num, .para2 > h4.with-heading > .num, .para3 > h4.with-heading > .num, .para4 > h4.with-heading > .num, .level > h3.with-heading > .num, .para1 > h3.with-heading > .num, .para2 > h3.with-heading > .num, .para3 > h3.with-heading > .num, .para4 > h3.with-heading > .num, .level > h6:not(.with-heading), .para1 > h6:not(.with-heading), .para2 > h6:not(.with-heading), .para3 > h6:not(.with-heading), .para4 > h6:not(.with-heading), .level > h5:not(.with-heading), .para1 > h5:not(.with-heading), .para2 > h5:not(.with-heading), .para3 > h5:not(.with-heading), .para4 > h5:not(.with-heading), .level > h4:not(.with-heading), .para1 > h4:not(.with-heading), .para2 > h4:not(.with-heading), .para3 > h4:not(.with-heading), .para4 > h4:not(.with-heading), .level > h3:not(.with-heading), .para1 > h3:not(.with-heading), .para2 > h3:not(.with-heading), .para3 > h3:not(.with-heading), .para4 > h3:not(.with-heading) {
  position: absolute;
  margin-left: -5em;
  width: 4em;
  text-align: right;
}

/* for P3 with-heading, see uksi/1993/2006/schedule/5/paragraph/12/made */
/* blockContainers in preamble and explanatory notes */
.P3 {
  margin-top: 1em;
  margin-left: 2.5em;
}
.P3 > .num {
  position: absolute;
  margin-left: -2.5em;
}

.definition > .para1 {
  margin-left: 3.75em;
}

.step {
  margin-left: 2.5em;
}
.step > h2, .step > h3, .step > h4 {
  font-weight: bold;
  font-style: italic;
}

/* sections */
/* definition lists */
/* schedules */
.schedules {
  margin-top: 4em;
}
.schedules > h2 > * {
  display: block;
  margin-top: 0.5em;
  text-align: center;
}
.schedules > h2 > .heading {
  font-size: larger;
  text-transform: uppercase;
  letter-spacing: 0.5ch;
}

.schedule > h2 .num {
  font-size: larger;
  text-transform: uppercase;
}

article:not(.asp) .referenceNote {
  position: absolute;
  top: -1em;
  right: 0;
  font-size: smaller;
}

article.asp .referenceNote {
  text-align: center;
  font-size: smaller;
}

.schedule .crossheading > h2 > * {
  text-align: left;
}

/* subparagraph should only be used in schedules */
/* schedule paragraphs P1 class=schProv1 */
/* schedule subparagraphs P2 class=schProv2 */
/* tables */
table {
  border-top: solid 1px black;
  border-bottom: solid 1px black;
}

tbody {
  border-bottom: solid 1px black;
}

thead th, thead td {
  font-weight: normal;
  font-style: italic;
}

tbody th {
  font-weight: bold;
}

table.uk-default th, table.uk-default td {
  border-left: thin solid black;
}
table.uk-default thead th, table.uk-default thead td {
  border-bottom: thin solid black;
}
table.uk-default th:first-child, table.uk-default td:first-child {
  border-left: none;
}

blockquote:not(.secondary) .section {
  margin-top: 1.5em;
  margin-left: 3.75em;
}
blockquote:not(.secondary) .section > h2 {
  margin-left: -3.75em;
  font-weight: bold;
}
blockquote:not(.secondary) .section > h2 > .num {
  display: inline-block;
  min-width: calc(3.75em - 1ch);
  padding-right: 1ch;
}

blockquote:not(.secondary) .subsection {
  margin-left: 2.5em;
}
.tblock.formula > div:first-child {
  margin-top: 1em;
  text-align: center;
}

.correctionRubric {
  margin-top: 1em;
  font-style: italic;
}

.proceduralRubric {
  margin-top: 1em;
}

.banner {
  margin-top: 1em;
  padding: 1ex;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.5ch;
}

.preface > h1 {
  text-align: center;
  font-weight: normal;
  font-size: 21.6pt;
}
.preface > .number {
  margin-top: 1em;
  text-align: center;
  font-weight: bold;
}

.subject.block {
  margin-top: 1em;
  margin-bottom: 1em;
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
}

.subsubject {
  margin-top: 1em;
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
}

.approval {
  margin-top: 1em;
  text-align: center;
}

.laidInDraft, .madeDate, .laidDate, .commenceDate {
  position: relative;
  margin: 1em 25%;
  font-style: italic;
}
.laidInDraft > *:nth-child(2), .madeDate > *:nth-child(2), .laidDate > *:nth-child(2), .commenceDate > *:nth-child(2) {
  position: absolute;
  right: 0;
}

/* P1 */
/* P2 */
.body .paragraph:not(.para1) > h2,
.body .SIParagraph > h2,
.article > section > h2,
.regulation > section > h2,
.rule > section > h2,
.prov2 > h2 {
  display: inline;
}
.body .paragraph:not(.para1) > h2 > .num,
.body .SIParagraph > h2 > .num,
.article > section > h2 > .num,
.regulation > section > h2 > .num,
.rule > section > h2 > .num,
.prov2 > h2 > .num {
  padding-left: 1em;
}
.body .paragraph:not(.para1) > .intro, .body .paragraph:not(.para1) > .content,
.body .SIParagraph > .intro,
.body .SIParagraph > .content,
.article > section > .intro,
.article > section > .content,
.regulation > section > .intro,
.regulation > section > .content,
.rule > section > .intro,
.rule > section > .content,
.prov2 > .intro,
.prov2 > .content {
  display: inline;
}
.body .paragraph:not(.para1) > .intro > p:first-child, .body .paragraph:not(.para1) > .intro .p:first-child, .body .paragraph:not(.para1) > .content > p:first-child, .body .paragraph:not(.para1) > .content .p:first-child,
.body .SIParagraph > .intro > p:first-child,
.body .SIParagraph > .intro .p:first-child,
.body .SIParagraph > .content > p:first-child,
.body .SIParagraph > .content .p:first-child,
.article > section > .intro > p:first-child,
.article > section > .intro .p:first-child,
.article > section > .content > p:first-child,
.article > section > .content .p:first-child,
.regulation > section > .intro > p:first-child,
.regulation > section > .intro .p:first-child,
.regulation > section > .content > p:first-child,
.regulation > section > .content .p:first-child,
.rule > section > .intro > p:first-child,
.rule > section > .intro .p:first-child,
.rule > section > .content > p:first-child,
.rule > section > .content .p:first-child,
.prov2 > .intro > p:first-child,
.prov2 > .intro .p:first-child,
.prov2 > .content > p:first-child,
.prov2 > .content .p:first-child {
  display: inline;
  padding-left: 1ch;
}

/* first P2 within a P1 */
.article > h2 + section,
.regulation > h2 + section,
.rule > h2 + section,
h2 + .prov2 {
  display: inline;
}
.article > h2 + section > h2 > .num,
.regulation > h2 + section > h2 > .num,
.rule > h2 + section > h2 > .num,
h2 + .prov2 > h2 > .num {
  padding-left: 0 !important;
}
.article > h2 + section > h2 > .num::before,
.regulation > h2 + section > h2 > .num::before,
.rule > h2 + section > h2 > .num::before,
h2 + .prov2 > h2 > .num::before {
  content: "—";
}

/* P3 */
/* extra indent because secondary P2s are not indented  */
.body .paragraph:not(.para1) > .level,
.body .SIParagraph > .level,
.para1 {
  margin-left: 5em;
}

/* P3 as first child of a block quote */
blockquote > .level,
blockquote > .para1 {
  margin-left: 2.5em;
}

/* P4 as first child of a block quote */
blockquote > .para2 {
  margin-left: 5em;
}

/* signatures */
.signatures {
  margin-top: 1em;
}

.signatureBlock {
  position: relative;
  margin-top: 1em;
}

.signatureBlock > .content > div {
  text-align: right;
}

.signatureBlock > .content > div.seal {
  margin-top: 0.5em;
  text-align: left;
}

.signatureBlock > .content > .signature {
  font-style: italic;
}

.signatureBlock > .content > .address > * {
  margin-top: 0;
  text-align: left;
}

.signatureBlock > .content > .date {
  text-align: left;
}

/* schedules */
.schedule > h2 .heading {
  font-style: italic;
}

.schProv1 > h2 > .num,
.schedule > .paragraph > h2 > .num,
.schedule > .part > .paragraph > h2 > .num,
blockquote[data-ukl-Context=schedule] > .paragraph > h2 > .num {
  font-weight: bold;
}

/* explanatory notes */
.explanatoryNote, .explanatoryNotes,
.commencementHistory, .earlierOrders {
  margin-top: 4em;
}
.explanatoryNote > .heading, .explanatoryNotes > .heading,
.commencementHistory > .heading, .earlierOrders > .heading {
  margin-top: 1em;
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
}
.explanatoryNote .subheading, .explanatoryNotes .subheading,
.commencementHistory .subheading, .earlierOrders .subheading {
  margin-top: 0.5em;
  text-align: center;
  font-style: italic;
}

.blockContainer.para1, .tblock.para1 {
  margin-left: 5em;
}
.blockContainer.para1 > .num, .tblock.para1 > .num {
  position: absolute;
  margin-left: -2.5em;
}

.blockContainer.para2, .blockContainer.para3, .blockContainer.para4,
.tblock.para2, .tblock.para3, .tblock.para4 {
  margin-left: 2.5em;
}
.blockContainer.para2 > .num, .blockContainer.para3 > .num, .blockContainer.para4 > .num,
.tblock.para2 > .num, .tblock.para3 > .num, .tblock.para4 > .num {
  position: absolute;
  margin-left: -2.5em;
}

.blockContainer[data-ukl-name=P1] {
  margin-left: 2.5em;
}
.blockContainer[data-ukl-name=P1] > .num {
  position: absolute;
  margin-left: -2.5em;
}
