Template:LegalDocument/styles.css

From RACKWiki
Revision as of 13:20, 21 January 2026 by Pupfern (talk | contribs)
/* Written by Gemini! */

/* Container and Reset */
.legal-doc {
  counter-reset: level1;
  line-height: 1.5;
}

/* Force all lists to start at the absolute left */
.legal-doc ol {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
}

/* Pull nested lists back to the left margin to prevent additive indents */
.legal-doc li > ol {
  margin-left: -6.5em; 
}

/* Level 4 needs a slightly larger pull-back because its parent (L3) used a 6.5em gutter */
.legal-doc ol ol ol > li > ol {
  margin-left: -6.5em;
}
/* Specifically for the Level 4 nested list reset */
.legal-doc ol ol ol ol {
  margin-left: -7.5em !important;
}

/* LEVEL 1: Articles */
.legal-doc > ol > li {
  counter-increment: level1;
  counter-reset: level2;
  margin-top: 2em;
  font-weight: bold;
}

/* LEVEL 2: Section 1.1 
   Numbering starts at 0, Text starts at 6.5em */
.legal-doc ol ol > li {
  counter-increment: level2;
  counter-reset: level3;
  position: relative;
  padding-left: 6.5em; 
  margin-bottom: 0.6em;
  font-weight: normal;
}

.legal-doc ol ol > li::before {
  content: "Section " counter(level1) "." counter(level2);
  position: absolute;
  left: 0; 
  width: 6em;
  font-weight: bold;
}

/* LEVEL 3: 1.1.1 
   Numbering starts at 1em, Text starts at 6.5em (Aligns with L2) */
.legal-doc ol ol ol > li {
  counter-increment: level3;
  counter-reset: level4;
  position: relative;
  padding-left: 6.5em;
  font-weight: normal;
}

.legal-doc ol ol ol > li::before {
  content: counter(level1) "." counter(level2) "." counter(level3);
  position: absolute;
  left: 1em; /* Slight indent for number */
  width: 5em;
  font-weight: bold;
}

/* LEVEL 4: 1.1.1.1 
   Numbering starts at 2em, Text starts at 7.5em */
.legal-doc ol ol ol ol > li {
  counter-increment: level4;
  position: relative;
  padding-left: 7.5em;
  font-weight: normal;
}

.legal-doc ol ol ol ol > li::before {
  content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4);
  position: absolute;
  left: 2em; /* Deeper indent for number */
  width: 5em;
  font-weight: bold;
}

/* Bigger break for <br /> tags */
.legal-doc br {
  display: block;
  content: "";
  margin-top: 0.7em;
}