/* Shared OSHA HazCom appendix presentation
   Used by current and historical Appendix A-F pages. */

.appSectionHeader {
  margin-top: 1.65em;
  margin-bottom: 0;
  padding: 0.58em 0.78em;
  background: #dcecf7;
  color: #17324d;
  border: 1px solid #9ebfd6;
  border-radius: 4px;
  font-weight: bold;
}

/* Everything beneath an A.x banner is visibly subordinate to it. */
.appSectionBody {
  margin-left: 1rem;
  padding-left: 0.8rem;
  border-left: 2px solid #dcecf7;
}

.appSubsection {
  margin: 1.15em 0 0.45em;
  font-weight: bold;
}

.appNumber {
  margin-top: 0.85em;
  margin-bottom: 0.15em;
}

.appText {
  margin-top: 0;
  margin-bottom: 0.8em;
  line-height: 1.5;
}

.appList {
  margin-top: 0.35em;
  margin-bottom: 0.55em;
  line-height: 1.45;
}

.appListMarker {
  font-weight: normal;
}

/* A.x.y.z provisions receive one extra visual step.
   Deeper levels increase modestly and stop before mobile layout becomes absurd. */
.appIndent1 {
  margin-left: 1.25rem;
}

.appIndent2 {
  margin-left: 2.25rem;
}

.appIndent3 {
  margin-left: 3.25rem;
}

/* Rebuilt regulatory tables are intentionally narrower than the text column. */
.appTable {
  width: auto;
  max-width: calc(100% - 2rem);
  margin: 1.25em 1rem;
  padding: 0.75em 1em;
  border: 1px solid #888;
  background: #fafafa;
  overflow-x: auto;
}

.appTable p {
  margin: 0.25em 0;
  line-height: 1.35;
}

.appTableTitle {
  margin-bottom: 0.65em !important;
  text-align: center;
}

/* Semantic OSHA appendix tables */

table.appRegTable {
  width: auto;
  max-width: calc(100% - 3rem);
  margin: 1.4em auto 1.8em;
  border-collapse: collapse;
  border-spacing: 0;
  background: #ffffff;
  font-family: inherit;
  font-size: 1em;
  line-height: 1.4;
  color: inherit;
}

table.appRegTable.appTableBeforeSection {
  margin-bottom: 2.4em;
}

table.appRegTable caption {
  max-width: 58rem;
  margin: 0 auto 0.65em;
  padding: 0 0.75em;
  font-family: inherit;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.35;
  text-align: center;
  color: inherit;
}

table.appRegTable th,
table.appRegTable td {
  padding: 0.7em 0.85em;
  border: 1px solid #8a98a6;
  vertical-align: top;
  font-family: inherit;
  font-size: 1em;
  line-height: 1.4;
  color: inherit;
  background: #ffffff;
}

table.appRegTable thead th {
  background: #dcecf7;
  color: #17324d;
  font-weight: bold;
  text-align: center;
}

table.appRegTable tbody th,
table.appRegTable .appTableStub {
  background: #f3f7fa;
  font-weight: bold;
  text-align: left;
}

table.appRegTable tbody tr:nth-child(even) td {
  background: #fbfcfd;
}

table.appRegTable tfoot td {
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  background: #f7f7f7;
  font-size: 0.96em;
}

table.appRegTable tfoot p {
  margin: 0.35em 0;
}

table.appRegTable .appTableNumber {
  text-align: center;
  white-space: nowrap;
}

table.appRegTable p {
  margin: 0.3em 0;
}

@media (max-width: 700px) {
  table.appRegTable {
    display: block;
    width: auto;
    max-width: calc(100% - 0.5rem);
    margin: 1.2em auto 1.7em;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 0.98em;
  }

  table.appRegTable th,
  table.appRegTable td {
    min-width: 7rem;
    padding: 0.6em 0.7em;
  }

  table.appRegTable .appTableStub {
    min-width: 9rem;
  }

  table.appRegTable.appTableBeforeSection {
    margin-bottom: 2em;
  }
}


/* Ensure table captions remain legible despite older global caption rules. */
table.appRegTable caption {
  color: #17324d !important;
  background: transparent !important;
  text-shadow: none !important;
}

/* Appendix figures */
.appFigure {
  margin: 1em auto 1.5em;
  text-align: center;
}

.appFigureImage {
  display: block;
  height: auto;
  margin: 0 auto;
}

.appFigure80 {
  width: 80%;
  max-width: 80%;
}

.appFigure75 {
  width: 75%;
  max-width: 75%;
}

/* Displayed equations */
.appFormula {
  margin-top: 0.9em;
  margin-bottom: 1em;
  text-align: center;
}

.appFormulaImage {
  display: block;
  width: auto;
  max-width: 70%;
  height: auto;
  margin: 0 auto;
}

.appFormulaWide {
  max-width: 78%;
}

@media (max-width: 700px) {
  .appFigure80,
  .appFigure75 {
    width: 100%;
    max-width: 100%;
  }

  .appFormulaImage,
  .appFormulaWide {
    max-width: 100%;
  }
}

/* Figure A.3.1: Tiered evaluation for serious eye damage/eye irritation */
.appDecisionFigure {
  width: 75%;
  max-width: 72rem;
  margin: 1.5em auto 2em;
  font-family: inherit;
  font-size: 1em;
  line-height: 1.4;
  color: inherit;
}

.appDecisionCaption {
  margin-bottom: 0.35em;
  font-weight: bold;
  text-align: center;
}

.appDecisionNote {
  margin-bottom: 0.75em;
  font-style: italic;
  text-align: center;
}

.appDecisionTableWrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table.appDecisionTable {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  font-family: inherit;
  font-size: 1em;
  line-height: 1.4;
}

table.appDecisionTable th,
table.appDecisionTable td {
  padding: 0.65em 0.75em;
  border: 1px solid #8795a3;
  vertical-align: top;
  background: #fff;
}

table.appDecisionTable thead th {
  background: #dcecf7;
  color: #17324d;
  text-align: center;
}

table.appDecisionTable tbody th[scope="row"] {
  width: 3.5em;
  background: #eef5fa;
  text-align: center;
}

table.appDecisionTable td:nth-child(2) { width: 31%; }
table.appDecisionTable td:nth-child(3) { width: 35%; }
table.appDecisionTable td:nth-child(4) { width: 21%; }



table.appDecisionTable .appDecisionCategory {
  background: #edf6ec;
  font-weight: bold;
  text-align: center;
}

table.appDecisionTable .appDecisionNoClass {
  background: #f2f2f2;
  font-weight: bold;
  text-align: center;
}

.appDecisionFootnotes {
  margin-top: 0.9em;
  padding: 0.75em 1em;
  border: 1px solid #c2ccd5;
  background: #f8fafb;
  font-size: 0.94em;
}

.appDecisionFootnotes p {
  margin: 0.45em 0;
}

@media (max-width: 700px) {
  .appDecisionFigure {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  table.appDecisionTable {
    min-width: 46rem;
  }

  table.appDecisionTable th,
  table.appDecisionTable td {
    padding: 0.55em 0.65em;
  }
}




/* "Not classified" is a conclusion and therefore uses the same
   pale-green treatment as Category 1 and Category 2 outcomes. */
table.appDecisionTable .appDecisionCategory {
  background: #edf6ec;
  font-weight: bold;
  text-align: center;
}


/* Final Figure A.3.1 flow and border treatment */

/* Parameter-cell arrows */
table.appDecisionTable .appDecisionParameter {
  position: relative;
  padding-bottom: 2.05em;
}

.appDecisionArrow {
  position: absolute;
  right: 0;
  bottom: 0.38em;
  left: 0;
  color: #17324d;
  font-size: 1.3em;
  font-weight: 800;
  line-height: 0.9;
  text-align: center;
}

/* Continuation arrows after the no/insufficient-data block */
table.appDecisionTable tr.appDecisionFlow td:first-of-type {
  position: relative;
  padding-bottom: 1.9em;
  text-align: center;
}

.appDecisionFlowArrow {
  position: absolute;
  right: 0;
  bottom: 0.28em;
  left: 0;
  color: #17324d;
  font-size: 1.3em;
  font-weight: 800;
  line-height: 0.9;
  text-align: center;
}

table.appDecisionTable tr.appDecisionFlow td {
  background: #fafafa;
  font-style: normal;
}

table.appDecisionTable th[scope="rowgroup"],
table.appDecisionTable th[scope="row"] {
  background: #eef5fa;
  text-align: center;
  vertical-align: top;
}

/* Prevent doubled borders: use the top/left cell border only for the internal grid. */
table.appDecisionTable {
  border-collapse: collapse;
}

table.appDecisionTable th,
table.appDecisionTable td {
  border-right: 0;
  border-bottom: 0;
  border-left: 1px solid #8795a3;
  border-top: 1px solid #8795a3;
}

/* Restore the outside edge of the overall table. */
table.appDecisionTable tr > *:last-child {
  border-right: 1px solid #8795a3;
}

table.appDecisionTable tbody tr:last-child > * {
  border-bottom: 1px solid #8795a3;
}

/* Stronger outline around each numbered OSHA decision step. */
table.appDecisionTable tr.appDecisionStepStart > * {
  border-top: 3px solid #587184;
}

table.appDecisionTable tr.appDecisionStepEnd > * {
  border-bottom: 3px solid #587184;
}

table.appDecisionTable tr.appDecisionStep > *:first-child {
  border-left: 3px solid #587184;
}

table.appDecisionTable tr.appDecisionStep > *:last-child {
  border-right: 3px solid #587184;
}

/* Avoid doubled vertical rules where a row-spanning Step cell meets Parameter cells. */
table.appDecisionTable tr.appDecisionStep > th[scope="rowgroup"] + td,
table.appDecisionTable tr.appDecisionStep > th[scope="row"] + td {
  border-left-width: 1px;
}

/* "Not classified" remains a terminal conclusion. */
table.appDecisionTable .appDecisionCategory {
  background: #edf6ec;
  font-weight: bold;
  text-align: center;
}


/* Definitive Figure A.3.1 border model.
   Only the actual row-spanning Step cell receives the heavy left edge. */

/* Reset every cell to a single internal grid line. */
table.appDecisionTable th,
table.appDecisionTable td {
  border-top: 1px solid #8795a3 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 1px solid #8795a3 !important;
}

/* Top of each grouped step. */
table.appDecisionTable tr.appDecisionStepStart > * {
  border-top: 3px solid #587184 !important;
}

/* Bottom of each grouped step. */
table.appDecisionTable tr.appDecisionStepEnd > * {
  border-bottom: 3px solid #587184 !important;
}

/* The true Step-column cell spans the whole group, so its left and bottom
   borders define the complete outer edge without touching continuation cells. */
table.appDecisionTable .appDecisionStepCell {
  border-left: 3px solid #587184 !important;
  border-bottom: 3px solid #587184 !important;
}

/* Heavy right edge for every row in a grouped step. */
table.appDecisionTable tr.appDecisionStep > *:last-child {
  border-right: 3px solid #587184 !important;
}

/* Explicitly prevent continuation-row Parameter cells and Finding cells
   from inheriting a heavy left border from older selectors. */
table.appDecisionTable tr.appDecisionFlow > td:first-of-type,
table.appDecisionTable tr.appDecisionStep > td:nth-of-type(2),
table.appDecisionTable tr.appDecisionStep > td:nth-of-type(3) {
  border-left: 1px solid #8795a3 !important;
}

/* Step 7 is one row, so its Step cell supplies left/top/bottom and the
   final conclusion cell supplies the right edge. */
table.appDecisionTable tr.appDecisionStepStart.appDecisionStepEnd
  > .appDecisionStepCell {
  border-top: 3px solid #587184 !important;
  border-bottom: 3px solid #587184 !important;
  border-left: 3px solid #587184 !important;
}


/* Ensure Figure A.3.1 title remains visible despite legacy global title rules. */
.appDecisionCaption {
  color: #17324d !important;
  background: transparent !important;
  text-shadow: none !important;
}


/* Explicit page typography for regulatory table and figure titles. */
table.appRegTable caption,
.appHazardFigureTitle {
  font-family: verdana, arial, helvetica;
}

/* Hazard-category figures reconstructed from flattened OSHA source text. */
.appHazardFigure {
  width: 75%;
  max-width: 62rem;
  margin: 1.4em auto 2em;
  font-family: verdana, arial, helvetica;
  font-size: 12px;
  line-height: 1.4;
}

.appHazardFigureTitle {
  margin-bottom: 0.65em;
  color: #17324d;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}

table.appFigureTable {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  font-family: verdana, arial, helvetica;
  font-size: 12px;
  line-height: 1.4;
}

table.appFigureTable th,
table.appFigureTable td {
  padding: 0.7em 0.85em;
  border: 1px solid #8a98a6;
  vertical-align: top;
  font-family: verdana, arial, helvetica;
  font-size: 12px;
}

table.appFigureTable thead th {
  background: #dcecf7;
  color: #17324d;
  text-align: center;
}

table.appFigureTable tbody th {
  width: 22%;
  background: #f3f7fa;
  text-align: left;
}

table.appFigureTable tbody tr:nth-child(even) td {
  background: #fbfcfd;
}

table.appFigureTable ul {
  margin: 0.45em 0 0.2em 1.4em;
  padding: 0;
}

.appFigureFootnote {
  margin: 0.75em 0 0;
  padding: 0.65em 0.8em;
  border: 1px solid #c2ccd5;
  background: #f8fafb;
  font-family: verdana, arial, helvetica;
  font-size: 12px;
}

@media (max-width: 700px) {
  .appHazardFigure {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  table.appFigureTable {
    min-width: 36rem;
  }
}


/* Consistent typography inside reconstructed hazard-category figures. */
.appHazardFigure,
.appHazardFigure *,
.appFigureTable,
.appFigureTable * {
  font-family: verdana, arial, helvetica !important;
  font-size: 12px !important;
  line-height: 1.4;
}

.appHazardFigureTitle {
  font-family: verdana, arial, helvetica !important;
  font-size: 12px !important;
}

.appFigureTable ol,
.appFigureTable ul {
  margin-top: 0.45em;
  margin-bottom: 0.45em;
  padding-left: 2em;
}

.appFigureTable li {
  margin: 0.3em 0;
}

/* OSHA document footnotes restored to the end of Appendix A. */
.appFootnoteRef {
  font-family: verdana, arial, helvetica;
  font-size: 0.82em;
  text-decoration: none;
}

.appFootnotes {
  margin: 2em 1rem 1.5em;
  padding: 1em 1.2em;
  border-top: 3px solid #9ebfd6;
  border-bottom: 1px solid #c2ccd5;
  background: #f3f7fa;
  font-family: verdana, arial, helvetica;
  font-size: 12px;
  line-height: 1.45;
}

.appFootnotes h3 {
  margin: 0 0 0.8em;
  color: #17324d;
  font-family: verdana, arial, helvetica;
  font-size: 12px;
}

.appFootnote {
  margin: 0.65em 0;
  background: #f3f7fa;
}

.appFootnoteBack {
  margin-left: 0.3em;
  text-decoration: none;
}

/* End-of-section navigation. */
.appSectionNav {
  margin: 1.5em 0 0.5em;
  padding-top: 0.65em;
  border-top: 1px solid #d5e3ec;
  font-family: verdana, arial, helvetica;
  font-size: 12px;
  text-align: right;
}

@media (max-width: 700px) {
  .appFootnotes {
    margin-right: 0;
    margin-left: 0;
    padding: 0.85em;
  }

  .appSectionNav {
    text-align: left;
  }
}


/* End-of-section navigation */
.appSectionNav {
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  text-align: center;
}

.appSectionNavDivider {
  color: #17324d;
  font-weight: bold;
}

/* Consistent 14 px titles for all tables and figures. */
table.appRegTable caption,
.appDecisionCaption,
.appHazardFigureTitle,
.appFigureTitle,
.appTableTitle {
  font-family: verdana, arial, helvetica !important;
  font-size: 14px !important;
  line-height: 1.35;
}

/* Cross-reference links should inherit surrounding typography. */
#currentAppendixABody a[href^="#A."],
#currentAppendixABody a[href^="#table_"],
#currentAppendixABody a[href^="#figure_"],
#currentAppendixABody a[href^="1910_1200_APP_"] {
  font-family: inherit;
  font-size: inherit;
}


/* Appendix B cleanup: normalize legacy list fragments and subsection headings. */
#currentAppendixBBody,
#currentAppendixBBody p,
#currentAppendixBBody ul,
#currentAppendixBBody ol,
#currentAppendixBBody li,
#currentAppendixBBody table,
#currentAppendixBBody th,
#currentAppendixBBody td {
  font-family: verdana, arial, helvetica;
  font-size: 12px;
}

#currentAppendixBBody .appSubsection {
  color: inherit !important;
  background: transparent !important;
  text-shadow: none !important;
}

#currentAppendixBBody ul.appList {
  margin: 0.35em 0 0.65em 1.7em;
  padding-left: 1.25em;
}

#currentAppendixBBody ul.appList > .appText {
  margin-left: 0;
  font-size: 12px;
}

/* Appendix B normalization: the OSHA source frequently uses parenthesized
   regulatory markers as text rather than semantic list items. */
#currentAppendixBBody .appSectionBody {
  margin-left: 1rem;
  padding-left: 0.8rem;
  border-left: 2px solid #dcecf7;
}

#currentAppendixBBody .appList {
  margin: 0.35em 0 0.55em 0;
  padding-left: 0;
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  line-height: 1.5;
  list-style: none;
}

#currentAppendixBBody .appList .appList {
  margin-left: 1.25rem;
}

#currentAppendixBBody ul.appList {
  padding-left: 1.7rem;
  list-style: disc;
}

#currentAppendixBBody .appList > .appText:first-child,
#currentAppendixBBody .appList > p:first-child {
  margin-top: 0;
}

#currentAppendixBBody .appSubsection,
#currentAppendixBBody .appText,
#currentAppendixBBody .appList,
#currentAppendixBBody .appList p,
#currentAppendixBBody .appList li {
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 700px) {
  #currentAppendixBBody .appSectionBody {
    margin-left: 0.35rem;
    padding-left: 0.55rem;
  }
}


/* Appendix B definitive text-color normalization. Legacy global selectors
   must not turn the first anonymous paragraph in a subsection white. */
#currentAppendixBBody,
#currentAppendixBBody .appSectionBody,
#currentAppendixBBody .appSectionBody p,
#currentAppendixBBody .appSectionBody div,
#currentAppendixBBody .appSectionBody li,
#currentAppendixBBody .appSectionBody em,
#currentAppendixBBody .appSectionBody strong,
#currentAppendixBBody .appSectionBody span {
  color: #000 !important;
  text-shadow: none !important;
}

#currentAppendixBBody .appSectionBody a {
  text-shadow: none !important;
}

#currentAppendixBBody .appFootnote {
  margin: 0.75em 0 1.1em;
  padding: 0.65em 0.8em;
  border: 1px solid #c2ccd5;
  background: #f8fafb;
  color: #000 !important;
  font-size: 12px;
}


/* Appendix B final color guard: malformed OSHA source leaves some text in
   anonymous boxes rather than paragraphs. Normalize every descendant. */
#currentAppendixBBody,
#currentAppendixBBody *:not(a) {
  color: #000 !important;
  text-shadow: none !important;
}

#currentAppendixBBody a {
  text-shadow: none !important;
}


/* Appendix B canonical rebuild */
#currentAppendixBBody,
#currentAppendixBBody p,
#currentAppendixBBody div,
#currentAppendixBBody li,
#currentAppendixBBody td,
#currentAppendixBBody th {
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  color: #000;
}
#currentAppendixBBody .appSectionHeader { color: #17324d; }
#currentAppendixBBody a { font-family: inherit; font-size: inherit; }


/* Semantic regulatory lists used in Appendix B. Parenthesized markers
   preserve OSHA's printed hierarchy while retaining real HTML list semantics. */
.appRegList {
  margin: 0.45em 0 0.95em 2.25em;
  padding: 0;
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  line-height: 1.5;
  list-style: none;
  counter-reset: app-list-item;
}

.appRegList > li {
  position: relative;
  margin: 0.48em 0;
  padding-left: 2.15em;
  counter-increment: app-list-item;
}

.appRegList > li::before {
  position: absolute;
  left: 0;
  width: 1.8em;
  text-align: right;
}

.appRegListAlpha > li::before {
  content: "(" counter(app-list-item, lower-alpha) ")";
}

.appRegListRoman > li::before {
  content: "(" counter(app-list-item, lower-roman) ")";
}

.appRegList .appRegList {
  margin-top: 0.55em;
  margin-bottom: 0.35em;
  margin-left: 1.15em;
}

.appRegList li > p,
.appRegList li > .appText {
  margin-top: 0;
  margin-bottom: 0;
}

@media (max-width: 700px) {
  .appRegList {
    margin-left: 1.25em;
  }

  .appRegList > li {
    padding-left: 2em;
  }
}

/* Semantic regulatory lists: extended Appendix B treatment. */
.appRegListDash {
  list-style: none;
  counter-reset: none;
}

.appRegListDash > li {
  position: relative;
}

.appRegListDash > li::before {
  content: "—";
  position: absolute;
  left: -1.45em;
  width: 1.15em;
  text-align: right;
}

/* Lists appearing inside regulatory tables use tighter spacing. */
table.appRegTable .appRegList {
  margin-top: 0.35em;
  margin-bottom: 0.35em;
  margin-left: 1.7em;
  padding-left: 0.8em;
  font-size: inherit;
}

table.appRegTable .appRegList li {
  margin: 0.25em 0;
  font-size: inherit;
  line-height: inherit;
}


/* Compact semantic lists embedded in regulatory table cells. */
table.appRegTable .appRegListInTable {
  margin-top: 0.25em;
  margin-bottom: 0.45em;
  margin-left: 0;
  padding-left: 0;
}

table.appRegTable .appRegListInTable > li {
  margin: 0.2em 0;
}


/* Safety Emporium captions inside Appendix B */
#currentAppendixBBody .SE_floatRight,
#currentAppendixBBody .SE_floatLeft,
#currentAppendixBBody .SE_floatRight p,
#currentAppendixBBody .SE_floatLeft p {
  color: green !important;
  font-size: 12px !important;
  font-family: verdana, arial, helvetica;
  font-weight: normal;
  text-shadow: none !important;
}



/* Keep advertisement hyperlinks in the site's normal link color */
#currentAppendixBBody .SE_floatRight a,
#currentAppendixBBody .SE_floatLeft a {
  color: blue !important;
  font-size: inherit;
}

#currentAppendixBBody .SE_floatRight p,
#currentAppendixBBody .SE_floatLeft p {
  margin: 0.5em 0 0;
  line-height: 1.35;
  text-align: center;
}



/* Appendix C: C.4 table groups and navigation */
#currentAppendixCBody { color:#000; font-family:verdana,arial,helvetica; font-size:14px; line-height:1.5; }
.appC4JumpBox { margin:1.1em 0 1.8em; padding:.9em 1em; border:1px solid #b8c8d4; border-left:4px solid #7fa9c5; border-radius:4px; background:#f3f8fb; }
.appC4JumpBox label { display:block; margin-bottom:.45em; color:#17324d; font-weight:bold; }
.appC4JumpSelect { width:min(46rem,78%); max-width:100%; padding:.45em .55em; font:inherit; }
.appC4JumpButton { margin-left:.45em; padding:.45em .85em; font:inherit; cursor:pointer; }
.appC4TableGroup { margin:2em 0 2.5em; padding:1em; border:1px solid #b8c8d4; border-left:4px solid #9ebfd6; border-radius:5px; background:#f7fafc; }
.appC4TableGroup:nth-of-type(even) { background:#f3f7fa; }
.appHazardClassHeader { margin:-1em -1em 1em; padding:.7em .9em; border-bottom:1px solid #b8c8d4; background:#e7f1f7; color:#17324d; font:700 15px/1.35 verdana,arial,helvetica; }
.appC4TableGroup table { width:100%!important; max-width:100%; margin:1em auto 1.35em!important; border-collapse:collapse; background:#fff; font:13px/1.4 verdana,arial,helvetica; }
.appC4TableGroup td,.appC4TableGroup th { padding:.65em .75em; border:1px solid #8a98a6; vertical-align:top; }
.appC4TableGroup table tr:first-child>* { background:#dcecf7; color:#17324d; }
.appC4TableGroup table tr:nth-child(even)>td { background:#fbfcfd; }
.appC4TableGroup img { max-width:110px; height:auto; }
.appC4GroupNav { margin-top:1.2em; padding-top:.7em; border-top:1px solid #cbd9e2; }
@media (max-width:700px) {
  .appC4JumpSelect { display:block; width:100%; }
  .appC4JumpButton { margin:.55em 0 0; }
  .appC4TableGroup { margin-right:0; margin-left:0; padding:.65em; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .appC4TableGroup table { min-width:48rem; }
  .appHazardClassHeader { margin:-.65em -.65em .8em; }
}


/* Appendix C navigation refinements */
.appC4JumpBox {
  margin-top: 1.8em;
  margin-bottom: 2.2em;
  padding: 1.15em 1.25em;
  border-left-width: 6px;
  background: #eef6fb;
}

.appC4JumpBox label {
  margin-bottom: 0.65em;
  font-size: 16px;
}

.appC4JumpSelect {
  width: min(52rem, 82%);
  min-height: 2.65em;
  padding: 0.55em 0.7em;
  font-size: 15px;
  background: #fff;
  border: 1px solid #7f9bad;
  border-radius: 4px;
}

.appC4JumpButton {
  min-height: 2.65em;
  padding: 0.55em 1.05em;
  border: 1px solid #587184;
  border-radius: 4px;
  background: #dcecf7;
  color: #17324d;
  font-size: 15px;
  font-weight: bold;
}

.appC4JumpButton:hover,
.appC4JumpButton:focus {
  background: #c9e0ef;
}

.appC4GroupNav {
  clear: both;
  margin-top: 1.35em;
  margin-bottom: 0;
  padding-top: 0.8em;
  text-align: center;
}


/* Appendix C canonical OSHA-source table refinements */
#currentAppendixCBody .appTableResponsive {
  width: 100%;
  margin: 1em 0 1.35em;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#currentAppendixCBody .appRegTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
  background: #fff;
  font-family: verdana, arial, helvetica;
  font-size: 13px;
  line-height: 1.42;
}

#currentAppendixCBody .appRegTable th,
#currentAppendixCBody .appRegTable td {
  padding: 0.65em 0.75em;
  border: 1px solid #8997a5;
  vertical-align: top;
}

#currentAppendixCBody .appRegTable thead th,
#currentAppendixCBody .appRegTable tbody tr:first-child th {
  background: #dcecf7;
  color: #17324d;
}

#currentAppendixCBody .appRegTable tbody tr:nth-child(even) > td {
  background: #fbfcfd;
}

#currentAppendixCBody .appTableCaption {
  padding: 0.8em 0.9em;
  border: 1px solid #b8c8d4;
  border-bottom: 0;
  background: #e7f1f7;
  color: #17324d;
  font-weight: bold;
  text-align: center;
  caption-side: top;
}

#currentAppendixCBody .appTextCenter {
  text-align: center;
}

#currentAppendixCBody .appC4TableGroup {
  scroll-margin-top: 120px;
}

#currentAppendixCBody .appC4TableGroup > .appTableResponsive:first-of-type {
  margin-top: 0;
}

#currentAppendixCBody .appRegTable p {
  margin: 0 0 0.75em;
  font: inherit;
  line-height: inherit;
}

#currentAppendixCBody .appRegTable p:last-child {
  margin-bottom: 0;
}

@media (max-width: 700px) {
  #currentAppendixCBody .appRegTable {
    min-width: 48rem;
  }

  #currentAppendixCBody .appRegTable img {
    max-width: 90px;
    height: auto;
  }
}


/* Appendix C hierarchy, major-header spacing, and footer */
#currentAppendixCBody > .appSectionHeader + .appSectionBody {
  margin-top: 0.95em;
}

#currentAppendixCBody .appSubsection {
  margin: 1.15em 0 0.45em;
  color: #000;
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  line-height: 1.45;
}

#currentAppendixCBody .appNumberLine {
  display: block;
  margin-bottom: 0.2em;
}

#currentAppendixCBody .appText.appIndent1 {
  margin-left: 1.25em;
}

#currentAppendixCBody .appText.appIndent2 {
  margin-left: 2.5em;
}

#ilpiPageFooter {
  margin-top: 1.5em;
}

#ilpiPageFooter .appOfficialSource {
  margin: 1em 0;
  font: 13px/1.45 verdana, arial, helvetica;
}

@media (max-width: 700px) {
  #currentAppendixCBody .appText.appIndent1 {
    margin-left: 0.8em;
  }

  #currentAppendixCBody .appText.appIndent2 {
    margin-left: 1.5em;
  }
}


/* Appendix C corrected Figure C.1/C.2 placement and clean footer */
#currentAppendixCBody .appFigureC1 {
  margin-top: 1.35em;
  margin-bottom: 1.8em;
}

#currentAppendixCBody .appFigureC2 {
  margin: 1.75em 0;
  padding: 1.1em;
  border: 1px solid #b8c8d4;
  border-left: 4px solid #9ebfd6;
  border-radius: 4px;
  background: #f7fafc;
  text-align: center;
}

#currentAppendixCBody .appFigureC2 .appFigureTitle {
  margin: 0 0 1em;
  padding: 0;
  border: 0;
  background: transparent;
  color: #17324d;
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

#currentAppendixCBody .appFigureC2 .appFigureImage {
  margin: 0;
  text-align: center;
}

#currentAppendixCBody .appFigureC2 .appFigureImage img {
  display: inline-block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

#ilpiPageFooter {
  margin-top: 1.5em;
}

#ilpiPageFooter table,
#ilpiPageFooter .appC4TableGroup {
  display: none;
}


/* Appendix C final cleanup */
#currentAppendixCBody .appOrSeparator {
  margin: 0.45em 0;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  font: inherit;
  text-align: center;
}

#currentAppendixCBody .appFigureC2.appFigureNarrow {
  width: 75%;
  max-width: 56rem;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

#ilpiPageFooter {
  margin-top: 1.5em;
  font-family: verdana, arial, helvetica;
  font-size: 13px;
  line-height: 1.45;
}

#ilpiPageFooter .appOfficialSource {
  margin: 1em 0;
}

@media (max-width: 700px) {
  #currentAppendixCBody .appFigureC2.appFigureNarrow {
    width: 100%;
  }
}


/* Appendix D canonical table */
#currentAppendixDBody { color:#000; font-family:verdana,arial,helvetica; font-size:14px; line-height:1.5; }
#currentAppendixDBody .appTableTitle { margin:1.6em 0 .75em; color:#17324d; text-align:center; }
#currentAppendixDBody .appDTable { width:90%; margin:0 auto 1.25em; border-collapse:collapse; background:#fff; }
#currentAppendixDBody .appDTable th,
#currentAppendixDBody .appDTable td { padding:.75em .9em; border:1px solid #8997a5; vertical-align:top; }
#currentAppendixDBody .appDTable thead th { background:#dcecf7; color:#17324d; text-align:center; }
#currentAppendixDBody .appDHeading { width:34%; }
#currentAppendixDBody .appDSubheading { width:66%; }
#currentAppendixDBody .appDSubheading p { margin:0 0 .6em; font:inherit; line-height:inherit; }
#currentAppendixDBody .appDSubheading p:last-child { margin-bottom:0; }
#currentAppendixDBody .appDTable tbody tr { transition:background-color .15s ease; }
#currentAppendixDBody .appDTable tbody tr:hover > td { background:#eef6fb; }
#currentAppendixDBody .appFootnote,
#currentAppendixDBody .appFederalRegister,
#currentAppendixDBody .appOfficialSource { width:90%; margin-right:auto; margin-left:auto; }
@media (max-width:700px) {
  #currentAppendixDBody .appDTable,
  #currentAppendixDBody .appFootnote,
  #currentAppendixDBody .appFederalRegister,
  #currentAppendixDBody .appOfficialSource { width:100%; }
  #currentAppendixDBody .appTableResponsive { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  #currentAppendixDBody .appDTable { min-width:46rem; }
}


/* Appendix D semantic subheading lists and item hover */
#currentAppendixDBody .appDTable tbody tr:hover > td {
  background: inherit;
}

#currentAppendixDBody .appDSubList {
  margin: 0;
  padding-left: 2.2em;
}

#currentAppendixDBody .appDSubList .appDSubList {
  margin-top: 0.5em;
}

#currentAppendixDBody .appDSubitem {
  margin: 0;
  padding: 0.35em 0.45em;
  border-radius: 3px;
  transition: background-color 0.15s ease;
}

#currentAppendixDBody li.appDSubitem {
  padding-left: 0.25em;
}

#currentAppendixDBody .appDSubitem:hover {
  background: #eef6fb;
}

#currentAppendixDBody .appDSubheadLabel {
  margin-top: 0.75em;
  margin-bottom: 0.25em;
  color: #17324d;
}

#currentAppendixDBody .appDNote {
  margin-top: 0.55em;
  margin-bottom: 0.55em;
}

#currentAppendixDBody .appRegListNumeric {
  list-style: none;
  counter-reset: appDNum;
}

#currentAppendixDBody .appRegListNumeric > li {
  counter-increment: appDNum;
  position: relative;
}

#currentAppendixDBody .appRegListNumeric > li::before {
  content: "(" counter(appDNum) ")";
  position: absolute;
  right: calc(100% + 0.4em);
  white-space: nowrap;
}


/* Appendix D list alignment refinements */
#currentAppendixDBody .appDSubList {
  margin: 0;
  padding-left: 2.5em;
  list-style-position: outside;
}

#currentAppendixDBody .appDSubList > li {
  position: relative;
  padding-left: 0.15em;
}

#currentAppendixDBody .appRegListAlpha {
  list-style: none;
  counter-reset: appDAlpha;
}

#currentAppendixDBody .appRegListAlpha > li {
  counter-increment: appDAlpha;
}

#currentAppendixDBody .appRegListAlpha > li::before {
  content: "(" counter(appDAlpha, lower-alpha) ")";
  position: absolute;
  left: -2.15em;
  width: 1.75em;
  text-align: right;
  white-space: nowrap;
}

#currentAppendixDBody .appRegListNumeric > li::before {
  left: -2.15em;
  right: auto;
  width: 1.75em;
  text-align: right;
}

#currentAppendixDBody .appDListOnly > .appDSubList {
  padding-left: 2em;
}

#currentAppendixDBody .appDListOnly > .appDSubList > li::before {
  left: -1.8em;
}

#currentAppendixDBody .appDListOnly {
  padding-left: 0.5em;
}


/* Appendix D Section 3 and Section 11 nesting refinements */
#currentAppendixDBody .appDMixtureList {
  margin-top: 0.35em;
}

#currentAppendixDBody .appDMixtureSubList {
  margin-top: 0.45em;
  margin-bottom: 0.45em;
}

#currentAppendixDBody .appDMixtureList > li + li {
  margin-top: 0.55em;
}

#currentAppendixDBody .appDIndentedAfterIntro {
  margin-top: 0.45em;
  margin-left: 1.25em;
}

@media (max-width: 700px) {
  #currentAppendixDBody .appDIndentedAfterIntro {
    margin-left: 0.75em;
  }
}



/* Appendix E canonical presentation */
#currentAppendixEBody {
  color: #000;
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  line-height: 1.55;
}

#currentAppendixEBody .appESection {
  margin: 1.5em 0;
  padding: 1em 1.1em;
  border: 1px solid #b8c8d4;
  border-left: 4px solid #9ebfd6;
  border-radius: 4px;
  background: #f7fafc;
}

#currentAppendixEBody .appESubheading {
  margin: 0 0 0.75em;
  color: #17324d;
  font-family: verdana, arial, helvetica;
  font-size: 15px;
  line-height: 1.4;
}

#currentAppendixEBody .appText {
  margin: 0 0 0.85em;
}

#currentAppendixEBody .appText:last-child {
  margin-bottom: 0;
}

#currentAppendixEBody .appEFactorList {
  margin: 0.6em 0 0.4em 2.25em;
}

#currentAppendixEBody .appEFactorList li {
  margin: 0.45em 0;
  padding-left: 0.25em;
}

#currentAppendixEBody .appFederalRegister,
#currentAppendixEBody .appOfficialSource {
  margin: 1.3em 0;
  font-size: 13px;
}

@media (max-width: 700px) {
  #currentAppendixEBody .appESection {
    padding: 0.8em;
  }

  #currentAppendixEBody .appEFactorList {
    margin-left: 1.6em;
  }
}


/* Appendix E quotation presentation */
#currentAppendixEBody .appQuote {
  margin: 0.75em 1em 1.5em 2em;
}

#currentAppendixEBody .appQuoteHeading {
  margin: 1.15em 0 0.45em;
  color: #000;
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  line-height: 1.5;
}

#currentAppendixEBody .appQuote .appText {
  margin: 0 0 0.85em;
}

#currentAppendixEBody .appEFactorList {
  margin: 0.6em 0 1em 2.25em;
  padding-left: 1.25em;
  list-style-type: decimal;
  list-style-position: outside;
}

#currentAppendixEBody .appEFactorList li {
  margin: 0.45em 0;
  padding-left: 0.25em;
}

@media (max-width: 700px) {
  #currentAppendixEBody .appQuote {
    margin-left: 1em;
    margin-right: 0;
  }

  #currentAppendixEBody .appEFactorList {
    margin-left: 1.5em;
  }
}



/* Appendix F canonical presentation */
#currentAppendixFBody {
  color: #000;
  font-family: verdana, arial, helvetica;
  font-size: 14px;
  line-height: 1.5;
}

#currentAppendixFBody > .appSectionHeader {
  margin-top: 1.8em;
}

#currentAppendixFBody > .appSectionHeader + .appSectionBody {
  margin-top: 0.9em;
}

#currentAppendixFBody .appSubsection {
  margin: 1.15em 0 0.45em;
  color: #000;
  font-size: 14px;
  line-height: 1.45;
}

#currentAppendixFBody .appRegList {
  margin-top: 0.45em;
  margin-bottom: 0.9em;
}

#currentAppendixFBody .appListParagraph {
  margin: 0.65em 0 0;
}

#currentAppendixFBody .appOrSeparator {
  margin: 0.45em 0;
  border: 0;
  background: transparent;
  font-style: italic;
}

#currentAppendixFBody .appFEquivalenceTable {
  width: 82%;
  margin: 1em auto 1.25em;
  border-collapse: collapse;
}

#currentAppendixFBody .appFEquivalenceTable caption {
  padding: 0.7em;
  border: 1px solid #8997a5;
  border-bottom: 0;
  background: #e7f1f7;
  color: #17324d;
  font-weight: bold;
}

#currentAppendixFBody .appFEquivalenceTable th,
#currentAppendixFBody .appFEquivalenceTable td {
  padding: 0.65em 0.8em;
  border: 1px solid #8997a5;
  vertical-align: top;
}

#currentAppendixFBody .appFEquivalenceTable th {
  background: #dcecf7;
  color: #17324d;
}

#currentAppendixFBody .appFEquivalenceTable tbody tr:hover > td {
  background: #eef6fb;
}

#currentAppendixFBody .appFNoteList {
  margin-left: 2em;
}

#currentAppendixFBody .appReferenceList {
  margin: 0.4em 0 0.8em;
  padding-left: 1.4em;
  list-style-type: none;
}

#currentAppendixFBody .appReferenceList li {
  margin: 0 0 0.85em;
}

#currentAppendixFBody .appFootnotes .appFootnote {
  margin: 0;
  padding: 0.8em 0;
  border-bottom: 1px solid #cbd9e2;
}

#currentAppendixFBody .appFootnoteRef {
  margin-left: 0.15em;
}

#currentAppendixFBody .appFootnoteBack {
  text-decoration: none;
}

#currentAppendixFBody .appFederalRegister,
#currentAppendixFBody .appOfficialSource {
  margin: 1.3em 0;
  font-size: 13px;
}

@media (max-width: 700px) {
  #currentAppendixFBody .appFEquivalenceTable {
    width: 100%;
    min-width: 42rem;
  }

  #currentAppendixFBody .appTableResponsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
