Template:LegalDocument/styles.css

From RACKWiki
Revision as of 18:42, 10 February 2026 by Pupfern (talk | contribs) (Wooooo)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
/* Legal Document Formatting with Multi-Level Numbering */

/* Initialize the document container and level 1 counter */
.legal-doc {
  counter-reset: level1;
  line-height: 1.6;
  margin-top: 1em;
}

/* Remove default list styling from all nested lists */
.legal-doc ol {
  list-style-type: none;
  margin: 0 !important;
  padding: 0 !important;
}

/* LEVEL 1: Articles (e.g., "ARTICLE 1")
   Centered, bold, larger font */
.legal-doc > ol > li {
  counter-increment: level1;
  counter-reset: level2;
  margin-top: 2.5em !important;
  margin-bottom: 1.5em !important;
  font-weight: bold;
  text-align: center;
  font-size: 1.1em;
}

/* LEVEL 2: Sections (e.g., "Section 1.1")
   Normal text with 8em left gutter for content, number at 0.5em */
.legal-doc > ol > li > ol > li {
  position: relative;
  counter-increment: level2;
  counter-reset: level3;
  font-weight: normal;
  text-align: left;
  padding-left: 8em;
  margin-bottom: 1.2em !important;
}

.legal-doc > ol > li > ol > li::before {
  content: "Section " counter(level1) "." counter(level2);
  position: absolute;
  left: 0.5em;
  font-weight: normal;
  white-space: nowrap;
}

/* LEVEL 3: Subsections (e.g., "1.1.1")
   Text aligns with level 2 gutter (8em), number at 2em */
.legal-doc > ol > li > ol > li > ol > li {
  position: relative;
  counter-increment: level3;
  counter-reset: level4;
  font-weight: normal;
  text-align: left;
  margin-left: -8em;
  padding-left: 8em;
  margin-bottom: 1.2em !important;
}

.legal-doc > ol > li > ol > li > ol > li::before {
  content: counter(level1) "." counter(level2) "." counter(level3);
  position: absolute;
  left: 2em;
  font-weight: normal;
  white-space: nowrap;
}

/* LEVEL 4: Sub-subsections (e.g., "1.1.1.1")
   Text indented further to 9.5em, number at 3.5em */
.legal-doc > ol > li > ol > li > ol > li > ol > li {
  position: relative;
  counter-increment: level4;
  font-weight: normal;
  text-align: left;
  margin-left: -8em;
  padding-left: 9.5em;
  margin-bottom: 1.2em !important;
}

.legal-doc > ol > li > ol > li > ol > li > ol > li::before {
  content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4);
  position: absolute;
  left: 3.5em;
  font-weight: normal;
  white-space: nowrap;
}

/* Remove bottom margin from last item in any list to prevent stacking */
.legal-doc li:last-child {
  margin-bottom: 0 !important;
}

/* Add top margin to nested list containers to maintain spacing */
.legal-doc ol ol ol,
.legal-doc ol ol ol ol {
  margin-top: 1.2em !important;
}

/* Line breaks: add spacing between paragraphs within list items */
.legal-doc br {
  display: block;
  content: "";
  margin-top: 0.8em;
}

/* Smaller gap after underlined headings within list items */
.legal-doc u + br {
  display: block;
  content: "";
  margin-top: 0;
}