/* 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;
}