/* Written by Gemini! */
/* Container and Reset */
.legal-doc {
counter-reset: level1;
line-height: 1.5; /* Base spacing */
}
.legal-doc ol {
list-style-type: none;
margin-left: 0;
padding-left: 0;
}
/* LEVEL 1: Articles (Numbers Suppressed) */
.legal-doc > ol > li {
counter-increment: level1;
counter-reset: level2;
margin-top: 2em;
font-weight: bold;
}
/* Common for Levels 2-4: Absolute positioning for numbering */
.legal-doc ol ol > li {
position: relative;
margin-bottom: 0.8em;
}
.legal-doc ol ol > li::before {
position: absolute;
text-align: left;
}
/* LEVEL 2: Section 1.1
Gutter: 8em total for text alignment */
.legal-doc ol ol > li {
counter-increment: level2;
counter-reset: level3;
padding-left: 8em; /* The "Gutter" */
}
.legal-doc ol ol > li::before {
content: "Section " counter(level1) "." counter(level2);
left: 0; /* Starts at the very left */
width: 7.5em;
}
/* LEVEL 3: 1.1.1
Matches level 2 gutter, but indents the number */
.legal-doc ol ol ol > li {
counter-increment: level3;
counter-reset: level4;
padding-left: 8em; /* Matches Level 2 gutter */
}
.legal-doc ol ol ol > li::before {
content: counter(level1) "." counter(level2) "." counter(level3);
left: 1.5em; /* Small indent for the number (~2 spaces) */
width: 6em;
}
/* LEVEL 4: 1.1.1.1
Further indent for both number and text */
.legal-doc ol ol ol ol > li {
counter-increment: level4;
padding-left: 9.5em; /* Pushed out to account for text alignment */
}
.legal-doc ol ol ol ol > li::before {
content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4);
left: 3em; /* Larger indent for the number (~4 spaces) */
width: 6em;
}
/* Bigger break for <br /> tags */
.legal-doc br {
display: block;
content: "";
margin-top: 0.6em; /* Creates the ~1.5x spacing effect when used */
}