metanorma-nist 1.2.7 → 1.2.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +7 -5
  3. data/README.adoc +23 -3
  4. data/lib/asciidoctor/nist/basicdoc.rng +52 -3
  5. data/lib/asciidoctor/nist/boilerplate.rb +5 -3
  6. data/lib/asciidoctor/nist/cleanup.rb +5 -3
  7. data/lib/asciidoctor/nist/converter.rb +7 -2
  8. data/lib/asciidoctor/nist/front.rb +37 -46
  9. data/lib/asciidoctor/nist/front_id.rb +18 -7
  10. data/lib/asciidoctor/nist/isodoc.rng +51 -3
  11. data/lib/asciidoctor/nist/nist.rng +1 -0
  12. data/lib/asciidoctor/nist/nist_intro.xml +9 -9
  13. data/lib/asciidoctor/nist/nist_intro_cswp.xml +9 -9
  14. data/lib/asciidoctor/nist/validate.rb +17 -6
  15. data/lib/isodoc/nist/base_convert.rb +2 -3
  16. data/lib/isodoc/nist/fonts_manifest.yaml +4 -0
  17. data/lib/isodoc/nist/html/header_cswp.html +2 -3
  18. data/lib/isodoc/nist/html/html_nist_titlepage.html +5 -3
  19. data/lib/isodoc/nist/html/htmlstyle.css +221 -221
  20. data/lib/isodoc/nist/html/htmlstyle.scss +5 -6
  21. data/lib/isodoc/nist/html/nist.css +49 -50
  22. data/lib/isodoc/nist/html/nist.scss +49 -50
  23. data/lib/isodoc/nist/html/nist_cswp.css +48 -49
  24. data/lib/isodoc/nist/html/nist_cswp.scss +48 -49
  25. data/lib/isodoc/nist/html/word_nist_titlepage.html +8 -8
  26. data/lib/isodoc/nist/html/word_nist_titlepage_cswp.html +2 -0
  27. data/lib/isodoc/nist/html/wordstyle.css +42 -42
  28. data/lib/isodoc/nist/html/wordstyle.scss +42 -42
  29. data/lib/isodoc/nist/html/wordstyle_cswp.css +52 -52
  30. data/lib/isodoc/nist/html/wordstyle_cswp.scss +52 -52
  31. data/lib/isodoc/nist/html_convert.rb +6 -5
  32. data/lib/isodoc/nist/metadata.rb +28 -40
  33. data/lib/isodoc/nist/metadata_id.rb +3 -7
  34. data/lib/isodoc/nist/nist.csts.xsl +4780 -0
  35. data/lib/isodoc/nist/nist.cswp.xsl +401 -159
  36. data/lib/isodoc/nist/nist.sp.xsl +387 -194
  37. data/lib/isodoc/nist/pdf_convert.rb +5 -1
  38. data/lib/isodoc/nist/presentation_xml_convert.rb +30 -10
  39. data/lib/isodoc/nist/refs.rb +6 -20
  40. data/lib/isodoc/nist/render.rb +42 -40
  41. data/lib/isodoc/nist/render_dates.rb +8 -9
  42. data/lib/isodoc/nist/word_convert.rb +11 -7
  43. data/lib/isodoc/nist/xref.rb +11 -5
  44. data/lib/metanorma/nist/processor.rb +12 -8
  45. data/lib/metanorma/nist/version.rb +1 -1
  46. data/metanorma-nist.gemspec +2 -2
  47. metadata +8 -6
@@ -55,6 +55,13 @@
55
55
  <param name="pattern">\i\c*|\c+#\c+</param>
56
56
  </data>
57
57
  </attribute>
58
+ <optional>
59
+ <attribute name="to">
60
+ <data type="string">
61
+ <param name="pattern">\i\c*|\c+#\c+</param>
62
+ </data>
63
+ </attribute>
64
+ </optional>
58
65
  <optional>
59
66
  <attribute name="type">
60
67
  <ref name="ReferenceFormat"/>
@@ -246,6 +253,12 @@
246
253
  <data type="boolean"/>
247
254
  </attribute>
248
255
  </optional>
256
+ <optional>
257
+ <attribute name="width"/>
258
+ </optional>
259
+ <optional>
260
+ <ref name="colgroup"/>
261
+ </optional>
249
262
  <optional>
250
263
  <ref name="tname"/>
251
264
  </optional>
@@ -764,6 +777,21 @@
764
777
  </define>
765
778
  </include>
766
779
  <!-- end overrides -->
780
+ <define name="colgroup">
781
+ <element name="colgroup">
782
+ <oneOrMore>
783
+ <ref name="col"/>
784
+ </oneOrMore>
785
+ </element>
786
+ </define>
787
+ <define name="col">
788
+ <element name="col">
789
+ <attribute name="width"/>
790
+ </element>
791
+ </define>
792
+ <define name="BibItemType" combine="choice">
793
+ <value>internal</value>
794
+ </define>
767
795
  <define name="TextElement" combine="choice">
768
796
  <ref name="concept"/>
769
797
  </define>
@@ -814,6 +842,9 @@
814
842
  <data type="boolean"/>
815
843
  </attribute>
816
844
  </optional>
845
+ <optional>
846
+ <attribute name="number"/>
847
+ </optional>
817
848
  <optional>
818
849
  <attribute name="obligation">
819
850
  <choice>
@@ -869,9 +900,11 @@
869
900
  <element name="code">
870
901
  <text/>
871
902
  </element>
872
- <element name="text">
873
- <text/>
874
- </element>
903
+ <optional>
904
+ <element name="text">
905
+ <text/>
906
+ </element>
907
+ </optional>
875
908
  </element>
876
909
  </define>
877
910
  <define name="standard-document">
@@ -1041,6 +1074,9 @@
1041
1074
  </choice>
1042
1075
  </attribute>
1043
1076
  </optional>
1077
+ <optional>
1078
+ <attribute name="number"/>
1079
+ </optional>
1044
1080
  <optional>
1045
1081
  <attribute name="type"/>
1046
1082
  </optional>
@@ -1094,6 +1130,9 @@
1094
1130
  <optional>
1095
1131
  <attribute name="type"/>
1096
1132
  </optional>
1133
+ <optional>
1134
+ <attribute name="number"/>
1135
+ </optional>
1097
1136
  <optional>
1098
1137
  <ref name="section-title"/>
1099
1138
  </optional>
@@ -1196,6 +1235,9 @@
1196
1235
  <optional>
1197
1236
  <attribute name="type"/>
1198
1237
  </optional>
1238
+ <optional>
1239
+ <attribute name="number"/>
1240
+ </optional>
1199
1241
  <optional>
1200
1242
  <attribute name="obligation">
1201
1243
  <choice>
@@ -1524,6 +1566,7 @@
1524
1566
  <value>add</value>
1525
1567
  <value>modify</value>
1526
1568
  <value>delete</value>
1569
+ <value>replace</value>
1527
1570
  </choice>
1528
1571
  </attribute>
1529
1572
  <optional>
@@ -1554,6 +1597,11 @@
1554
1597
  </optional>
1555
1598
  <optional>
1556
1599
  <element name="newcontent">
1600
+ <optional>
1601
+ <attribute name="id">
1602
+ <data type="ID"/>
1603
+ </attribute>
1604
+ </optional>
1557
1605
  <zeroOrMore>
1558
1606
  <ref name="BasicBlock"/>
1559
1607
  </zeroOrMore>
@@ -43,6 +43,7 @@
43
43
  <choice>
44
44
  <ref name="clause"/>
45
45
  <ref name="errata_clause"/>
46
+ <ref name="acknowledgements"/>
46
47
  </choice>
47
48
  </zeroOrMore>
48
49
  <optional>
@@ -6,21 +6,21 @@
6
6
  <p>
7
7
  {%- if substage == "retired" or substage == "withdrawn" -%}
8
8
  {%- if unpublished -%}
9
- {%- if substage == "retired" %}{{draft-retired-boilerplate}}{% else %}{{draft-withdrawn-boilerplate}}{% endif -%}
9
+ {%- if substage == "retired" %}{{labels["draft-retired-boilerplate"]}}{% else %}{{labels["draft-withdrawn-boilerplate"]}}{% endif -%}
10
10
  {%- else -%}
11
- {%- if withdrawal_pending %}{{ withdrawal-pending-boilerplate}}{% else %}{{ publication-withdrawn-boilerplate }}{% endif -%}
11
+ {%- if withdrawal_pending %}{{ labels["withdrawal-pending-boilerplate"]}}{% else %}{{ labels["publication-withdrawn-boilerplate"] }}{% endif -%}
12
12
  {%- endif -%}
13
13
  {%- else -%}
14
14
  {%- if status == "Internal Draft" -%}
15
- {{- draft-internal-boilerplate -}}
15
+ {{- labels["draft-internal-boilerplate"] -}}
16
16
  {%- elsif status == "Work-in-Progress Draft" -%}
17
- {{- draft-wip-boilerplate -}}
17
+ {{- labels["draft-wip-boilerplate"] -}}
18
18
  {%- elsif status == "Preliminary Draft" -%}
19
- {{- draft-prelim-boilerplate -}}
19
+ {{- labels["draft-prelim-boilerplate"] -}}
20
20
  {%- elsif status == "Public Draft" -%}
21
- {{- draft-public-boilerplate -}}
21
+ {{- labels["draft-public-boilerplate"] -}}
22
22
  {%- elsif status == "Approval Draft" -%}
23
- {{- draft-public-boilerplate -}}
23
+ {{- labels["draft-public-boilerplate"] -}}
24
24
  {%- endif -%}
25
25
  {%- endif -%}
26
26
  </p>
@@ -78,8 +78,8 @@ CODEN: NSPUE2</p>
78
78
  <p align="center"><strong>Comments on this publication may be submitted to:</strong></p>
79
79
 
80
80
  <p align="center">National Institute of Standards and Technology <br/>
81
- Attn: {{ nist_division }} <br/>
82
- {{ nist_division_address }} <br/>
81
+ Attn: {{ labels["nist_division"] }} <br/>
82
+ {{ labels["nist_division_address"] }} <br/>
83
83
  {% if email %}
84
84
  Email: <link target="mailto:{{ email }}"/>
85
85
  {% endif %}</p>
@@ -6,21 +6,21 @@
6
6
  <p>
7
7
  {%- if substage == "retired" or substage == "withdrawn" -%}
8
8
  {%- if unpublished -%}
9
- {%- if substage == "retired" %}{{draft-retired-boilerplate}}{% else %}{{draft-withdrawn-boilerplate}}{% endif -%}
9
+ {%- if substage == "retired" %}{{labels["draft-retired-boilerplate"]}}{% else %}{{labels["draft-withdrawn-boilerplate"]}}{% endif -%}
10
10
  {%- else -%}
11
- {%- if withdrawal_pending %}{{ withdrawal-pending-boilerplate}}{% else %}{{ publication-withdrawn-boilerplate }}{% endif -%}
11
+ {%- if withdrawal_pending %}{{ labels["withdrawal-pending-boilerplate"]}}{% else %}{{ labels["publication-withdrawn-boilerplate"] }}{% endif -%}
12
12
  {%- endif -%}
13
13
  {%- else -%}
14
14
  {%- if status == "Internal Draft" -%}
15
- {{- draft-internal-boilerplate -}}
15
+ {{- labels["draft-internal-boilerplate"] -}}
16
16
  {%- elsif status == "Work-in-Progress Draft" -%}
17
- {{- draft-wip-boilerplate -}}
17
+ {{- labels["draft-wip-boilerplate"] -}}
18
18
  {%- elsif status == "Preliminary Draft" -%}
19
- {{- draft-prelim-boilerplate -}}
19
+ {{- labels["draft-prelim-boilerplate"] -}}
20
20
  {%- elsif status == "Public Draft" -%}
21
- {{- draft-public-boilerplate -}}
21
+ {{- labels["draft-public-boilerplate"] -}}
22
22
  {%- elsif status == "Approval Draft" -%}
23
- {{- draft-public-boilerplate -}}
23
+ {{- labels["draft-public-boilerplate"] -}}
24
24
  {%- endif -%}
25
25
  {%- endif -%}
26
26
  </p>
@@ -62,8 +62,8 @@
62
62
  <p align="center"><strong>Comments on this publication may be submitted to:</strong></p>
63
63
 
64
64
  <p align="center">National Institute of Standards and Technology <br/>
65
- Attn: {{ nist_division }} <br/>
66
- {{ nist_division_address }} <br/>
65
+ Attn: {{ labels["nist_division"] }} <br/>
66
+ {{ labels["nist_division_address"] }} <br/>
67
67
  {% if email %}
68
68
  Email: <link target="mailto:{{ email }}"/>
69
69
  {% endif %}</p>
@@ -48,18 +48,29 @@ module Asciidoctor
48
48
  end
49
49
 
50
50
  def series_validate(xmldoc)
51
- series = xmldoc&.at("//bibdata/series/title")&.text or return
51
+ series = xmldoc&.at("//bibdata/series[@type = 'main']/title")&.text or return
52
+ recognised_series_validate(series)
53
+ subseries_validate(series, xmldoc)
54
+ end
55
+
56
+ def recognised_series_validate(series)
52
57
  found = false
53
58
  SERIES.each { |_, v| found = true if v == series }
54
- found or
55
- @log.add("Document Attributes", nil,
56
- "#{series} is not a recognised series")
59
+ found or @log.add("Document Attributes", nil, "#{series} is not a recognised series")
60
+ end
61
+
62
+ def subseries_validate(series, xmldoc)
63
+ subseries = xmldoc&.at("//bibdata/series[@type = 'secondary']")
64
+ csts = series == "NIST Cybersecurity Technical Specification"
65
+ subseries && !csts and
66
+ @log.add("Document Attributes", nil, "Subseries are not permitted on the series #{series}")
67
+ !subseries && csts and
68
+ @log.add("Document Attributes", nil, "Subseries are required on the series #{series}")
57
69
  end
58
70
 
59
71
  def validate(doc)
60
72
  content_validate(doc)
61
- schema_validate(formattedstr_strip(doc.dup),
62
- File.join(File.dirname(__FILE__), "nist.rng"))
73
+ schema_validate(formattedstr_strip(doc.dup), File.join(File.dirname(__FILE__), "nist.rng"))
63
74
  end
64
75
 
65
76
  def introduction_validate(doc)
@@ -113,7 +113,7 @@ module IsoDoc
113
113
  end
114
114
  end
115
115
 
116
- def middle_clause
116
+ def middle_clause(_docxml)
117
117
  "//clause[parent::sections] | //terms[parent::sections]"
118
118
  end
119
119
 
@@ -175,8 +175,7 @@ module IsoDoc
175
175
 
176
176
  def modification_parse(node, out)
177
177
  out << @i18n.modified
178
- node.at(ns("./p[text()[normalize-space() != '']]")) and
179
- out << " &mdash; "
178
+ node.at(ns("./p[text()[normalize-space() != '']]")) and out << " &mdash; "
180
179
  node.at(ns("./p")).children.each { |n| parse(n, out) }
181
180
  end
182
181
 
@@ -0,0 +1,4 @@
1
+ ---
2
+ Times New Roman:
3
+ Arial:
4
+ Courier New:
@@ -65,8 +65,7 @@ href="../{{ filename }}.html">
65
65
 
66
66
  <p class=MsoHeaderCxSpFirst style='tab-stops:center 234.0pt right 468.0pt'><span
67
67
  lang=EN-US style='font-size:10.0pt;font-family:"Arial",sans-serif;font-variant:
68
- small-caps;color:#244061;mso-themecolor:accent1;mso-themeshade:128'>NIST
69
- Cybersecurity White Paper<span style='mso-tab-count:2'>                                                                           </span></span><!--[if supportFields]><span
68
+ small-caps;color:#244061;mso-themecolor:accent1;mso-themeshade:128'>{{ series }}<span style='mso-tab-count:2'>                                                                           </span></span><!--[if supportFields]><span
70
69
  lang=EN-US style='font-size:10.0pt;font-family:"Arial",sans-serif;font-variant:
71
70
  small-caps;color:#244061;mso-themecolor:accent1;mso-themeshade:128'><span
72
71
  style='mso-element:field-begin'></span> DOCPROPERTY<span
@@ -199,7 +198,7 @@ _Hlk10701209'></span></a><w:Sdt SdtDocPart="t" DocPartType="Watermarks"
199
198
  style='mso-bookmark:_Hlk10701209'><span lang=EN-US style='font-size:10.0pt;
200
199
  font-family:"Arial",sans-serif;font-variant:small-caps;color:white;mso-themecolor:
201
200
  background1;background:#244061;mso-shading-themecolor:accent1;mso-shading-themeshade:
202
- 128'>NIST Cybersecurity White Paper {% if draft_prefix %}(DRAFT){% endif %}</span></span></span><span
201
+ 128'>{{ series }} {% if draft_prefix %}(DRAFT){% endif %}</span></span></span><span
203
202
  style='mso-bookmark:_Hlk10701208'><span style='mso-bookmark:_Hlk10701209'><span
204
203
  class=MsoCommentReference><span lang=EN-US style='font-size:10.0pt;font-family:
205
204
  "Arial",sans-serif;font-variant:small-caps;color:white;mso-color-alt:windowtext'><span
@@ -86,7 +86,7 @@
86
86
  {% if unpublished %}
87
87
  <div class="coverpage-warning">
88
88
  <!--
89
- <p>{% if substage == "retired" %}{{draft-retired-boilerplate}}{% else %}{{draft-withdrawn-boilerplate}}{% endif %}</p>
89
+ <p>{% if substage == "retired" %}{{labels["draft-retired-boilerplate"]}}{% else %}{{labels["draft-withdrawn-boilerplate"]}}{% endif %}</p>
90
90
  -->
91
91
  <div class="authority6"/>
92
92
 
@@ -105,9 +105,9 @@
105
105
  <div class="coverpage-warning">
106
106
  <!--
107
107
  {% if withdrawal_pending %}
108
- <p>{{ withdrawal-pending-boilerplate}}</p>
108
+ <p>{{ labels["withdrawal-pending-boilerplate"]}}</p>
109
109
  {% else %}
110
- <p>{{ publication-withdrawn-boilerplate }}</p>
110
+ <p>{{ labels["publication-withdrawn-boilerplate"] }}</p>
111
111
  {% endif %}
112
112
  -->
113
113
  <div class="authority6"/>
@@ -172,12 +172,14 @@
172
172
  {% endif %}
173
173
  </div>
174
174
 
175
+ {% if doi %}
175
176
  <div class="download-info">
176
177
 
177
178
  This publication is available free of charge from: <br>
178
179
  <a href="{{doi}}">{{ doi }}</a>
179
180
 
180
181
  </div>
182
+ {% endif %}
181
183
  {% endunless %}
182
184
 
183
185
  {% endif %}
@@ -180,223 +180,6 @@ a.FootnoteRef + a.FootnoteRef:before {
180
180
  #withdrawn {
181
181
  border-bottom: solid 3px #7e0d13; }
182
182
 
183
- dl {
184
- grid-template-columns: 25% 75%; }
185
- dl.glossary dt {
186
- font-weight: bold; }
187
-
188
- body {
189
- margin-left: auto;
190
- margin-right: auto;
191
- max-width: 100%;
192
- font-size: 14px;
193
- font-weight: 400;
194
- line-height: 1.6em;
195
- color: #141115;
196
- background-color: #fff; }
197
- body main {
198
- margin: 0 3em 0 6em; }
199
-
200
- .rule {
201
- width: 100%;
202
- height: 1px;
203
- background-color: #2677ea;
204
- margin: 2em 0; }
205
-
206
- .rule-2 {
207
- width: 100%;
208
- height: 1px;
209
- background-color: #2677ea; }
210
-
211
- .rule-thick {
212
- width: 100%;
213
- height: 3px;
214
- background-color: #2677ea;
215
- margin: 3em 0 0 0; }
216
-
217
- #toc {
218
- font-family: 'Source Sans Pro', sans-serif; }
219
- #toc ul {
220
- margin: 0;
221
- padding: 0;
222
- list-style: none; }
223
- #toc ul li a {
224
- padding: 5px 10px; }
225
- #toc ul a {
226
- color: #141115;
227
- text-decoration: none;
228
- display: block; }
229
- #toc ul a:hover {
230
- box-shadow: none;
231
- color: white; }
232
- #toc .h2 {
233
- padding-left: 30px; }
234
- #toc .h3 {
235
- padding-left: 50px; }
236
- #toc .toc-active, #toc li:hover {
237
- background: #006494;
238
- box-shadow: inset -5px 0px 10px -5px #006494 !important; }
239
- #toc .toc-active a, #toc li:hover a {
240
- color: white; }
241
- @media print {
242
- #toc .toc-active, #toc li:hover {
243
- background: white;
244
- box-shadow: none !important; }
245
- #toc .toc-active a {
246
- color: #141115; }
247
- #toc li:hover a {
248
- color: black; } }
249
- #toc li a {
250
- font-size: 14px; }
251
- #toc li:before {
252
- content: " ";
253
- display: none; }
254
-
255
- @media screen and (min-width: 768px) {
256
- nav {
257
- position: fixed;
258
- top: 0;
259
- bottom: 0;
260
- left: 0;
261
- width: 323px;
262
- font-size: 0.9em;
263
- overflow: auto;
264
- padding: 0 0 0 45px;
265
- background-color: white; } }
266
-
267
- @media print {
268
- nav {
269
- position: relative;
270
- width: auto;
271
- font-size: 0.9em;
272
- overflow: auto;
273
- padding: 0;
274
- margin-right: 0;
275
- background-color: white; } }
276
-
277
- nav #toc {
278
- font-family: {{bodyfont}};
279
- font-weight: 400; }
280
- @media screen and (max-width: 768px) {
281
- nav #toc {
282
- padding: 0 1.5em;
283
- overflow: visible; } }
284
- @media screen and (min-width: 768px) {
285
- #toggle {
286
- position: fixed;
287
- height: 100%;
288
- width: 30px;
289
- background-color: #006494;
290
- color: white !important;
291
- cursor: pointer;
292
- z-index: 100; }
293
- #toggle span {
294
- text-align: center;
295
- width: 100%;
296
- position: absolute;
297
- top: 50%;
298
- transform: translate(0, -50%); } }
299
-
300
- @media screen and (max-width: 768px) {
301
- #toggle {
302
- display: none; } }
303
-
304
- @media print {
305
- #toggle {
306
- display: none; } }
307
-
308
- @media screen and (min-width: 768px) {
309
- .container {
310
- padding-left: 360px; } }
311
-
312
- @media print {
313
- .container {
314
- padding-left: 0; } }
315
-
316
- @media screen and (min-width: 768px) {
317
- .rule.toc {
318
- display: none; } }
319
-
320
- span.nistvariable {
321
- font-family: {{bodyfont}};
322
- font-style: italic; }
323
-
324
- /* Document bands */
325
- .document-stage-band {
326
- left: 0;
327
- top: 0;
328
- height: 100%;
329
- position: fixed;
330
- display: block;
331
- z-index: 101;
332
- box-shadow: -5px 0px 10px #1d1d1d; }
333
- .document-stage-band > :first-child {
334
- position: relative;
335
- width: 25px;
336
- font-family: 'Source Sans Pro', sans-serif;
337
- font-weight: 300;
338
- height: 160px;
339
- color: #7ba812;
340
- text-transform: uppercase;
341
- font-size: 0.9em;
342
- font-weight: 400;
343
- letter-spacing: 0.05em;
344
- margin: 0;
345
- margin-left: 6px;
346
- writing-mode: tb-rl;
347
- -webkit-transform: rotate(180deg);
348
- -moz-transform: rotate(180deg);
349
- -o-transform: rotate(180deg);
350
- white-space: nowrap;
351
- display: block;
352
- bottom: 0; }
353
- @media print {
354
- .document-stage-band {
355
- display: none; } }
356
- .document-type-band {
357
- left: 0;
358
- top: 180px;
359
- height: 100%;
360
- position: fixed;
361
- display: block;
362
- z-index: 102; }
363
- .document-type-band > :first-child {
364
- position: relative;
365
- width: 25px;
366
- font-family: 'Source Sans Pro', sans-serif;
367
- font-weight: 400;
368
- color: #7ba812;
369
- text-transform: uppercase;
370
- font-size: 0.9em;
371
- font-weight: 400;
372
- letter-spacing: 0.05em;
373
- margin: 0;
374
- margin-left: 6px;
375
- writing-mode: tb-rl;
376
- -webkit-transform: rotate(180deg);
377
- -moz-transform: rotate(180deg);
378
- -o-transform: rotate(180deg);
379
- white-space: nowrap;
380
- display: block;
381
- bottom: 0; }
382
- @media print {
383
- .document-type-band {
384
- display: none; } }
385
- .document-type-band .document-type {
386
- top: 20px; }
387
-
388
- #governance-band p.document-type {
389
- height: 230px !important; }
390
-
391
- #standard-band p {
392
- height: 270px !important; }
393
-
394
- #proposal-band p {
395
- height: 150px !important; }
396
-
397
- #standard, #final {
398
- color: #9ABD48; }
399
-
400
183
  .coverpage-maturity, .coverpage-stage {
401
184
  font-family: 'Source Sans Pro', sans-serif;
402
185
  font-weight: 400;
@@ -641,6 +424,223 @@ table.coverpage-table {
641
424
  .coverpage {
642
425
  height: 23cm; } }
643
426
 
427
+ dl {
428
+ grid-template-columns: 25% 75%; }
429
+ dl.glossary dt {
430
+ font-weight: bold; }
431
+
432
+ body {
433
+ margin-left: auto;
434
+ margin-right: auto;
435
+ max-width: 100%;
436
+ font-size: {{normalfontsize}};
437
+ font-weight: 400;
438
+ line-height: 1.6em;
439
+ color: #141115;
440
+ background-color: #fff; }
441
+ body main {
442
+ margin: 0 3em 0 6em; }
443
+
444
+ .rule {
445
+ width: 100%;
446
+ height: 1px;
447
+ background-color: #2677ea;
448
+ margin: 2em 0; }
449
+
450
+ .rule-2 {
451
+ width: 100%;
452
+ height: 1px;
453
+ background-color: #2677ea; }
454
+
455
+ .rule-thick {
456
+ width: 100%;
457
+ height: 3px;
458
+ background-color: #2677ea;
459
+ margin: 3em 0 0 0; }
460
+
461
+ #toc {
462
+ font-family: 'Source Sans Pro', sans-serif; }
463
+ #toc ul {
464
+ margin: 0;
465
+ padding: 0;
466
+ list-style: none; }
467
+ #toc ul li a {
468
+ padding: 5px 10px; }
469
+ #toc ul a {
470
+ color: #141115;
471
+ text-decoration: none;
472
+ display: block; }
473
+ #toc ul a:hover {
474
+ box-shadow: none;
475
+ color: white; }
476
+ #toc .h2 {
477
+ padding-left: 30px; }
478
+ #toc .h3 {
479
+ padding-left: 50px; }
480
+ #toc .toc-active, #toc li:hover {
481
+ background: #006494;
482
+ box-shadow: inset -5px 0px 10px -5px #006494 !important; }
483
+ #toc .toc-active a, #toc li:hover a {
484
+ color: white; }
485
+ @media print {
486
+ #toc .toc-active, #toc li:hover {
487
+ background: white;
488
+ box-shadow: none !important; }
489
+ #toc .toc-active a {
490
+ color: #141115; }
491
+ #toc li:hover a {
492
+ color: black; } }
493
+ #toc li a {
494
+ font-size: {{normalfontsize}}; }
495
+ #toc li:before {
496
+ content: " ";
497
+ display: none; }
498
+
499
+ @media screen and (min-width: 768px) {
500
+ nav {
501
+ position: fixed;
502
+ top: 0;
503
+ bottom: 0;
504
+ left: 0;
505
+ width: 323px;
506
+ font-size: 0.9em;
507
+ overflow: auto;
508
+ padding: 0 0 0 45px;
509
+ background-color: white; } }
510
+
511
+ @media print {
512
+ nav {
513
+ position: relative;
514
+ width: auto;
515
+ font-size: 0.9em;
516
+ overflow: auto;
517
+ padding: 0;
518
+ margin-right: 0;
519
+ background-color: white; } }
520
+
521
+ nav #toc {
522
+ font-family: {{bodyfont}};
523
+ font-weight: 400; }
524
+ @media screen and (max-width: 768px) {
525
+ nav #toc {
526
+ padding: 0 1.5em;
527
+ overflow: visible; } }
528
+ @media screen and (min-width: 768px) {
529
+ #toggle {
530
+ position: fixed;
531
+ height: 100%;
532
+ width: 30px;
533
+ background-color: #006494;
534
+ color: white !important;
535
+ cursor: pointer;
536
+ z-index: 100; }
537
+ #toggle span {
538
+ text-align: center;
539
+ width: 100%;
540
+ position: absolute;
541
+ top: 50%;
542
+ transform: translate(0, -50%); } }
543
+
544
+ @media screen and (max-width: 768px) {
545
+ #toggle {
546
+ display: none; } }
547
+
548
+ @media print {
549
+ #toggle {
550
+ display: none; } }
551
+
552
+ @media screen and (min-width: 768px) {
553
+ .container {
554
+ padding-left: 360px; } }
555
+
556
+ @media print {
557
+ .container {
558
+ padding-left: 0; } }
559
+
560
+ @media screen and (min-width: 768px) {
561
+ .rule.toc {
562
+ display: none; } }
563
+
564
+ span.nistvariable {
565
+ font-family: {{bodyfont}};
566
+ font-style: italic; }
567
+
568
+ /* Document bands */
569
+ .document-stage-band {
570
+ left: 0;
571
+ top: 0;
572
+ height: 100%;
573
+ position: fixed;
574
+ display: block;
575
+ z-index: 101;
576
+ box-shadow: -5px 0px 10px #1d1d1d; }
577
+ .document-stage-band > :first-child {
578
+ position: relative;
579
+ width: 25px;
580
+ font-family: 'Source Sans Pro', sans-serif;
581
+ font-weight: 300;
582
+ height: 160px;
583
+ color: #7ba812;
584
+ text-transform: uppercase;
585
+ font-size: 0.9em;
586
+ font-weight: 400;
587
+ letter-spacing: 0.05em;
588
+ margin: 0;
589
+ margin-left: 6px;
590
+ writing-mode: tb-rl;
591
+ -webkit-transform: rotate(180deg);
592
+ -moz-transform: rotate(180deg);
593
+ -o-transform: rotate(180deg);
594
+ white-space: nowrap;
595
+ display: block;
596
+ bottom: 0; }
597
+ @media print {
598
+ .document-stage-band {
599
+ display: none; } }
600
+ .document-type-band {
601
+ left: 0;
602
+ top: 180px;
603
+ height: 100%;
604
+ position: fixed;
605
+ display: block;
606
+ z-index: 102; }
607
+ .document-type-band > :first-child {
608
+ position: relative;
609
+ width: 25px;
610
+ font-family: 'Source Sans Pro', sans-serif;
611
+ font-weight: 400;
612
+ color: #7ba812;
613
+ text-transform: uppercase;
614
+ font-size: 0.9em;
615
+ font-weight: 400;
616
+ letter-spacing: 0.05em;
617
+ margin: 0;
618
+ margin-left: 6px;
619
+ writing-mode: tb-rl;
620
+ -webkit-transform: rotate(180deg);
621
+ -moz-transform: rotate(180deg);
622
+ -o-transform: rotate(180deg);
623
+ white-space: nowrap;
624
+ display: block;
625
+ bottom: 0; }
626
+ @media print {
627
+ .document-type-band {
628
+ display: none; } }
629
+ .document-type-band .document-type {
630
+ top: 20px; }
631
+
632
+ #governance-band p.document-type {
633
+ height: 230px !important; }
634
+
635
+ #standard-band p {
636
+ height: 270px !important; }
637
+
638
+ #proposal-band p {
639
+ height: 150px !important; }
640
+
641
+ #standard, #final {
642
+ color: #9ABD48; }
643
+
644
644
  .recommend {
645
645
  background-color: #ccffcc;
646
646
  padding: 1.2em;
@@ -739,7 +739,7 @@ p.Biblio, p.NormRef {
739
739
  overflow: auto;
740
740
  font-family: {{monospacefont}};
741
741
  font-variant-ligatures: none;
742
- font-size: 0.8em;
742
+ font-size: {{monospacefontsize}};
743
743
  background-color: #f6f6f6; }
744
744
  .figure .FigureTitle, .figure .figure-title {
745
745
  font-weight: 700;
@@ -761,7 +761,7 @@ pre {
761
761
  font-family: {{monospacefont}};
762
762
  font-variant-ligatures: none;
763
763
  background-color: #f6f6f6;
764
- font-size: 0.8em;
764
+ font-size: {{monospacefontsize}};
765
765
  line-height: 1.6em;
766
766
  padding: 1.5em;
767
767
  margin: 2em 0 1em 0;
@@ -770,7 +770,7 @@ pre {
770
770
 
771
771
  .pseudocode {
772
772
  background-color: #f6f6f6;
773
- font-size: 0.8em;
773
+ font-size: {{monospacefontsize}};
774
774
  line-height: 1.6em;
775
775
  padding: 1.5em;
776
776
  margin: 2em 0 1em 0;
@@ -879,7 +879,7 @@ a.footnote-number {
879
879
  font-size: 0.8em; }
880
880
 
881
881
  .footnote {
882
- font-size: 0.9em; }
882
+ font-size: {{footnotefontsize}}; }
883
883
 
884
884
  /* Keywords */
885
885
  span.keyword {