/* Document content styles. Values mirror the Word defaults written by the DOCX/ODT exporters
   (Normal: 11pt, 8pt after, 1.08 lines; headings in Calibri Light, accent blues). */

.doc {
  position: relative;
  z-index: 1;
  /* Keep the first block's top margin inside the document, so the document's top edge is
     exactly the top of page 1's text area (pagination measures from it). */
  display: flow-root;
  outline: none;
  color: #000;
  font-family: Calibri, Carlito, 'Segoe UI', Arial, sans-serif;
  font-size: 11pt;
  line-height: 1.242;
  overflow-wrap: break-word;
  caret-color: #000;
  tab-size: 4;
  font-kerning: normal;
}

.doc p { margin: 0 0 8pt; }
.doc h1, .doc h2, .doc h3, .doc h4, .doc h5, .doc h6 {
  font-family: 'Calibri Light', Calibri, Carlito, 'Segoe UI', Arial, sans-serif;
  font-weight: normal;
  margin: 2pt 0 0;
  line-height: 1.242;
}
.doc h1 { font-size: 16pt; color: #2f5496; margin-top: 12pt; }
.doc h2 { font-size: 13pt; color: #2f5496; }
.doc h3 { font-size: 12pt; color: #1f3763; }
.doc h4 { font-size: 1em; color: #2f5496; font-style: italic; }
.doc h5 { font-size: 1em; color: #2f5496; }
.doc h6 { font-size: 1em; color: #1f3763; }
.doc h1 + *, .doc h2 + *, .doc h3 + * { margin-top: 0; }
.doc .ns-title {
  font-family: 'Calibri Light', Calibri, Carlito, sans-serif;
  font-size: 28pt;
  letter-spacing: -0.5pt;
  line-height: 1.15;
  margin: 0;
}
.doc .ns-subtitle { color: #5a5a5a; letter-spacing: 0.75pt; margin-bottom: 8pt; }
.doc .ns-caption { font-size: 9pt; font-style: italic; color: #44546a; margin: 0 0 10pt; }
.doc .nsw-seq, .doc .nsw-ref { border-radius: 2px; }
.doc .nsw-ref { cursor: pointer; }
.doc .nsw-seq:hover, .doc .nsw-ref:hover { background: rgba(80, 60, 200, 0.08); }
.doc .nsw-ref.ref-error { color: #c00000; font-weight: bold; }
.doc blockquote {
  font-style: italic;
  color: #404040;
  margin: 10pt 43.2pt 8pt;
  text-align: center;
}
.doc blockquote p { margin: 0; }
.doc pre {
  font-family: Consolas, 'Cascadia Mono', 'Liberation Mono', 'Courier New', monospace;
  font-size: 10pt;
  background: #f2f2f2;
  margin: 0;
  padding: 0 2pt;
  white-space: pre-wrap;
  line-height: 1.15;
}
.doc ul, .doc ol { margin: 0 0 8pt; padding-left: 36pt; }
.doc li { margin: 0; padding-left: 0; }
.doc li > ul, .doc li > ol { margin-bottom: 0; }
.doc li.ns-cont { list-style: none; }
.doc ul ul { list-style-type: circle; }
.doc ul ul ul { list-style-type: square; }
.doc ol ol { list-style-type: lower-alpha; }
.doc ol ol ol { list-style-type: lower-roman; }
.doc a { color: #0563c1; text-decoration: underline; cursor: text; }
.doc a:hover { cursor: pointer; }
.doc img { max-width: 100%; height: auto; vertical-align: bottom; cursor: default; }
.doc hr { border: none; border-top: 0.75pt solid #000; margin: 6pt 0 10pt; }
.doc sub, .doc sup { line-height: 0; }
.doc code { font-family: Consolas, 'Liberation Mono', monospace; }
.doc .nsw-tab { white-space: pre; display: inline-block; min-width: 0.5in; }

/* Tables */
.doc table.ns-table { border-collapse: collapse; width: 100%; margin: 0 0 8pt; table-layout: auto; }
.doc table.ns-table td, .doc table.ns-table th {
  border: 0.5pt solid #000;
  padding: 0 5.4pt;
  vertical-align: top;
  min-width: 18px;
}
.doc table.ns-table.ns-noborder td, .doc table.ns-table.ns-noborder th { border: 1px dashed #c8c8d4; }
.doc table.ns-table td > p:last-child, .doc table.ns-table td > :last-child { margin-bottom: 0; }

/* Page break, TOC, footnotes */
.doc .nsw-page-break {
  height: 18px;
  margin: 4px 0;
  border-top: 1px dotted #8f8aa3;
  position: relative;
  user-select: none;
  cursor: default;
}
.doc .nsw-section {
  height: 18px;
  margin: 4px 0;
  border-top: 3px double #8f8aa3;
  position: relative;
  user-select: none;
  cursor: default;
}
.doc .nsw-section::after {
  content: 'Section Break (Next Page)';
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  color: #6c6787;
  font: 9px/14px system-ui, sans-serif;
  padding: 0 8px;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.doc .nsw-page-break::after {
  content: 'Page Break';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  color: #6c6787;
  font: 9px/14px system-ui, sans-serif;
  padding: 0 8px;
  letter-spacing: 0.04em;
}
.doc .nsw-toc {
  margin: 0 0 12pt;
  padding: 4pt 0;
  border-radius: 2px;
  cursor: default;
  user-select: none;
}
.doc .nsw-toc:hover { outline: 1px solid #cbc4e8; outline-offset: 4px; }
.doc .nsw-toc .toc-title {
  font-family: 'Calibri Light', Calibri, Carlito, sans-serif;
  color: #2f5496;
  font-size: 16pt;
  margin-bottom: 6pt;
}
.doc .nsw-toc .toc-entry { margin: 0 0 4pt; cursor: pointer; display: flex; align-items: baseline; }
.doc .nsw-toc .toc-text { min-width: 0; }
.doc .nsw-toc .toc-dots { flex: 1 1 auto; min-width: 12pt; margin: 0 3pt; border-bottom: 1.5px dotted currentColor; opacity: 0.55; transform: translateY(-0.25em); }
.doc .nsw-toc .toc-page { flex: none; min-width: 1.5em; text-align: right; }
.doc .nsw-toc.toc-nopages .toc-dots, .doc .nsw-toc.toc-nopages .toc-page { display: none; }
.doc .nsw-toc .toc-entry:hover .toc-text { color: #0563c1; text-decoration: underline; }
.doc .nsw-toc .toc-2 { padding-left: 11pt; }
.doc .nsw-toc .toc-3 { padding-left: 22pt; }
.doc .nsw-toc .toc-4 { padding-left: 33pt; }
.doc .nsw-toc .toc-5 { padding-left: 44pt; }
.doc .nsw-toc .toc-6 { padding-left: 55pt; }
.doc .nsw-toc.toc-hide-pages .toc-dots, .doc .nsw-toc.toc-hide-pages .toc-page { display: none; }
.doc .nsw-toc.toc-no-leader .toc-dots { border-bottom-color: transparent; }
.doc .nsw-toc .toc-empty { color: #777; font-style: italic; }
.doc .nsw-toc .toc-empty ol { margin: 4pt 0 4pt 16pt; padding: 0; font-style: normal; }
.doc .nsw-toc .toc-empty li { margin: 0 0 2pt; }
.doc .nsw-toc .toc-empty .toc-note { font-size: 0.9em; }
@media print { .doc .nsw-toc .toc-empty { display: none; } }
.doc { counter-reset: nswfn; }
.doc .nsw-fn { counter-increment: nswfn; cursor: pointer; font-size: 0.7em; vertical-align: super; line-height: 0; color: #2f5496; padding: 0 1px; }
.doc .nsw-fn::after { content: counter(nswfn); }

/* Comments and tracked changes */
.doc .nsw-comment { background: rgba(255, 213, 79, 0.38); border-bottom: 1.5px solid #f2b705; }
.doc .nsw-comment.active { background: rgba(255, 193, 7, 0.65); }
.doc ins.nsw-ins { color: #1b7f3b; text-decoration: underline; text-decoration-color: #1b7f3b; }
.doc del.nsw-del { color: #c62828; text-decoration: line-through; }
.doc.markup-simple ins.nsw-ins { color: inherit; text-decoration: none; box-shadow: inset 0 -1px 0 rgba(27, 127, 59, 0.35); }
.doc.markup-simple del.nsw-del { display: none; }
.doc.markup-none ins.nsw-ins { color: inherit; text-decoration: none; }
.doc.markup-none del.nsw-del { display: none; }
.doc.markup-none .nsw-comment { background: none; border: none; }
.doc.markup-original ins.nsw-ins { display: none; }
.doc.markup-original del.nsw-del { color: inherit; text-decoration: none; }

/* Formatting marks */
.doc.show-marks p::after, .doc.show-marks h1::after, .doc.show-marks h2::after, .doc.show-marks h3::after,
.doc.show-marks h4::after, .doc.show-marks h5::after, .doc.show-marks h6::after, .doc.show-marks li::after,
.doc.show-marks blockquote::after, .doc.show-marks pre::after {
  content: '¶';
  color: #8a84b5;
  font-family: 'Segoe UI', Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  margin-left: 1px;
}
.doc.show-marks br::after { content: '↵'; }
.doc.show-marks .nsw-tab { background: linear-gradient(transparent 45%, transparent 45%); position: relative; }
.doc.show-marks .nsw-tab::before { content: '→'; position: absolute; left: 2px; color: #8a84b5; }

/* Find highlights (CSS Custom Highlight API) */
::highlight(nsw-find) { background-color: #fde68a; color: inherit; }
::highlight(nsw-find-current) { background-color: #f59e0b; color: #000; }

/* Footnotes listed after the document body */
.footnotes-view {
  position: relative;
  z-index: 1;
  margin-top: 18pt;
  padding-top: 6pt;
  border-top: 0.75pt solid #000;
  width: 33%;
  min-width: 180px;
  font: 9pt/1.3 Calibri, Carlito, sans-serif;
  color: #000;
}
.footnotes-view .notes-head { display: none; }
.footnotes-view ol { margin: 0; padding-left: 16pt; width: 300%; max-width: none; }
.footnotes-view li { cursor: pointer; margin-bottom: 2pt; }
.footnotes-view li:hover { color: #0563c1; }

/* Endnotes (numbered i, ii, iii), editable notes area, bookmarks, tab stops, column resizing */
.doc { counter-reset: nswfn nswen; }
.doc .nsw-fn[data-kind="endnote"] { counter-increment: nswen; }
.doc .nsw-fn[data-kind="endnote"]::after { content: counter(nswen, lower-roman); }
.footnotes-view li[contenteditable] { cursor: text; outline: none; border-radius: 2px; }
.footnotes-view li:focus { background: rgba(80, 60, 200, 0.06); }
.footnotes-view .notes-sub { font-weight: 600; margin-top: 6pt; }
.doc.show-marks .nsw-bm::before { content: 'I'; color: #8a84b5; font-family: 'Segoe UI', Arial, sans-serif; }
.doc.nsw-col-resize, .doc.nsw-col-resize * { cursor: col-resize !important; }
.ruler .rm-tab { cursor: ew-resize; }
@media print { .doc.show-marks .nsw-bm::before { content: none; } }
