Template:LegalDocument/styles.css: Difference between revisions

From RACKWiki
(Created page with "→‎Container to reset the main counter: .legal-doc { counter-reset: level1; } →‎Common resets for all lists in this container: .legal-doc ol { list-style-type: none; margin-left: 0; padding-left: 0; } →‎LEVEL 1: Articles: .legal-doc > ol > li { counter-increment: level1; counter-reset: level2; margin-top: 1.5em; font-weight: bold; →‎Optional: makes Article headers pop: } →‎LEVEL 2: 1.1, 1.2...: .legal-doc ol ol > li { counter-increment:...")
 
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Container to reset the main counter */
/* Gemini sucks */
 
/* Container Reset */
.legal-doc {
.legal-doc {
   counter-reset: level1;
   counter-reset: level1;
  line-height: 1.6;
  margin-top: 1em;
}
}


/* Common resets for all lists in this container */
/* 1. Reset all lists to zero indent so they align with "Normal Text" */
.legal-doc ol {
.legal-doc ol {
   list-style-type: none;
   list-style-type: none;
   margin-left: 0;
   margin: 0 !important;
   padding-left: 0;
   padding: 0 !important;
}
}


/* LEVEL 1: Articles */
/* 2. LEVEL 1: Articles - Centered */
.legal-doc > ol > li {
.legal-doc > ol > li {
   counter-increment: level1;
   counter-increment: level1;
   counter-reset: level2;
   counter-reset: level2;
   margin-top: 1.5em;
   margin-top: 2.5em !important;
   font-weight: bold; /* Optional: makes Article headers pop */
  margin-bottom: 1.5em !important;
   font-weight: bold;
  text-align: center;
  font-size: 1.1em;
}
 
/* 3. Common setup for Levels 2, 3, and 4 */
.legal-doc ol ol li {
  position: relative;
  font-weight: normal;
  text-align: left;
  /* This padding creates the Gutter */
  padding-left: 8em;
  margin-bottom: 1.2em !important;
}
 
/* Remove margin from the very last item in a sub-list to prevent stacking */
.legal-doc li:last-child {
  margin-bottom: 0 !important;
}
 
/* 1. Ensure the list container itself doesn't add extra padding */
.legal-doc ol ol ol,
.legal-doc ol ol ol ol {
  margin-top: 1.2em !important; /* Forces the same gap as margin-bottom */
}
 
.legal-doc ol ol li::before {
  position: absolute;
  font-weight: normal;
  white-space: nowrap;
}
}


/* LEVEL 2: 1.1, 1.2... */
/* 4. LEVEL 2: "Section 1.1"
  Number starts 0.5em from the left margin */
.legal-doc ol ol > li {
.legal-doc ol ol > li {
   counter-increment: level2;
   counter-increment: level2;
   counter-reset: level3;
   counter-reset: level3;
  position: relative;
  padding-left: 3.5em; /* This creates the gutter */
  margin-bottom: 0.5em;
  font-weight: normal;
}
}


.legal-doc ol ol > li::before {
.legal-doc ol ol > li::before {
   content: counter(level1) "." counter(level2);
   content: "Section " counter(level1) "." counter(level2);
  position: absolute;
   left: 0.5em;  
   left: 0;
  width: 3em; /* Width of the numbering area */
  text-align: left;
}
}


/* LEVEL 3: 1.1.1, 1.1.2... */
/* 5. LEVEL 3: "1.1.1"
  Text aligns with L2 gutter (8em), Number indents to 2em */
.legal-doc ol ol ol > li {
.legal-doc ol ol ol > li {
   counter-increment: level3;
   counter-increment: level3;
   counter-reset: level4;
   counter-reset: level4;
   padding-left: 4.5em; /* Wider gutter for more digits */
   /* Reset nesting: ensures L3 doesn't add to L2's padding */
  margin-left: -8em;
  padding-left: 8em;  
}
}


.legal-doc ol ol ol > li::before {
.legal-doc ol ol ol > li::before {
   content: counter(level1) "." counter(level2) "." counter(level3);
   content: counter(level1) "." counter(level2) "." counter(level3);
   width: 4em;
   left: 2em;  
}
}


/* LEVEL 4: 1.1.1.1... */
/* 6. LEVEL 4: "1.1.1.1"
  Both text and number move right */
.legal-doc ol ol ol ol > li {
.legal-doc ol ol ol ol > li {
   counter-increment: level4;
   counter-increment: level4;
   padding-left: 5.5em;
  margin-left: -8em;
   padding-left: 9.5em;  
}
}


.legal-doc ol ol ol ol > li::before {
.legal-doc ol ol ol ol > li::before {
   content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4);
   content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4);
   width: 5em;
   left: 3.5em;  
}
 
.legal-doc br {
  display: block;
  content: "";
  margin-top: 0.8em; /* Adds extra 1.5 spacing */
}
 
.legal-doc li br:first-of-type {
  display: block;
  content: "";
  margin-top: 0; /* Create a smaller gap for the underlined title */
}
}

Latest revision as of 17:36, 21 January 2026

/* Gemini sucks */

/* Container Reset */
.legal-doc {
  counter-reset: level1;
  line-height: 1.6;
  margin-top: 1em;
}

/* 1. Reset all lists to zero indent so they align with "Normal Text" */
.legal-doc ol {
  list-style-type: none;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. LEVEL 1: Articles - Centered */
.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;
}

/* 3. Common setup for Levels 2, 3, and 4 */
.legal-doc ol ol li {
  position: relative;
  font-weight: normal;
  text-align: left;
  /* This padding creates the Gutter */
  padding-left: 8em; 
  margin-bottom: 1.2em !important;
}

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

/* 1. Ensure the list container itself doesn't add extra padding */
.legal-doc ol ol ol, 
.legal-doc ol ol ol ol {
  margin-top: 1.2em !important; /* Forces the same gap as margin-bottom */
}

.legal-doc ol ol li::before {
  position: absolute;
  font-weight: normal;
  white-space: nowrap;
}

/* 4. LEVEL 2: "Section 1.1" 
   Number starts 0.5em from the left margin */
.legal-doc ol ol > li {
  counter-increment: level2;
  counter-reset: level3;
}

.legal-doc ol ol > li::before {
  content: "Section " counter(level1) "." counter(level2);
  left: 0.5em; 
}

/* 5. LEVEL 3: "1.1.1" 
   Text aligns with L2 gutter (8em), Number indents to 2em */
.legal-doc ol ol ol > li {
  counter-increment: level3;
  counter-reset: level4;
  /* Reset nesting: ensures L3 doesn't add to L2's padding */
  margin-left: -8em; 
  padding-left: 8em; 
}

.legal-doc ol ol ol > li::before {
  content: counter(level1) "." counter(level2) "." counter(level3);
  left: 2em; 
}

/* 6. LEVEL 4: "1.1.1.1" 
   Both text and number move right */
.legal-doc ol ol ol ol > li {
  counter-increment: level4;
  margin-left: -8em;
  padding-left: 9.5em; 
}

.legal-doc ol ol ol ol > li::before {
  content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4);
  left: 3.5em; 
}

.legal-doc br {
  display: block;
  content: "";
  margin-top: 0.8em; /* Adds extra 1.5 spacing */
}

.legal-doc li br:first-of-type {
  display: block;
  content: "";
  margin-top: 0; /* Create a smaller gap for the underlined title */
}