metanorma-nist 1.2.3 → 1.2.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +62 -0
  3. data/.github/workflows/release.yml +36 -0
  4. data/README.adoc +3 -4
  5. data/lib/asciidoctor/nist/basicdoc.rng +4 -11
  6. data/lib/asciidoctor/nist/cleanup.rb +1 -0
  7. data/lib/asciidoctor/nist/converter.rb +2 -0
  8. data/lib/asciidoctor/nist/isodoc.rng +27 -50
  9. data/lib/asciidoctor/nist/nist.rng +9 -1
  10. data/lib/isodoc/nist/base_convert.rb +0 -1
  11. data/lib/isodoc/nist/fonts_manifest.yaml +4 -0
  12. data/lib/isodoc/nist/html/htmlstyle.css +226 -222
  13. data/lib/isodoc/nist/html/htmlstyle.scss +5 -6
  14. data/lib/isodoc/nist/html/nist.css +49 -50
  15. data/lib/isodoc/nist/html/nist.scss +49 -50
  16. data/lib/isodoc/nist/html/nist_cswp.css +48 -49
  17. data/lib/isodoc/nist/html/nist_cswp.scss +48 -49
  18. data/lib/isodoc/nist/html/wordstyle.css +42 -42
  19. data/lib/isodoc/nist/html/wordstyle.scss +42 -42
  20. data/lib/isodoc/nist/html/wordstyle_cswp.css +52 -52
  21. data/lib/isodoc/nist/html/wordstyle_cswp.scss +52 -52
  22. data/lib/isodoc/nist/html_convert.rb +12 -1
  23. data/lib/isodoc/nist/metadata.rb +1 -0
  24. data/lib/isodoc/nist/metadata_id.rb +2 -0
  25. data/lib/isodoc/nist/nist.cswp.xsl +546 -88
  26. data/lib/isodoc/nist/nist.sp.xsl +578 -93
  27. data/lib/isodoc/nist/refs.rb +2 -0
  28. data/lib/isodoc/nist/render.rb +0 -4
  29. data/lib/isodoc/nist/word_convert.rb +6 -1
  30. data/lib/metanorma/nist/fonts_manifest.yaml +6 -0
  31. data/lib/metanorma/nist/processor.rb +0 -8
  32. data/lib/metanorma/nist/version.rb +1 -1
  33. data/metanorma-nist.gemspec +2 -2
  34. metadata +10 -9
  35. data/.github/workflows/macos.yml +0 -38
  36. data/.github/workflows/ubuntu.yml +0 -56
  37. data/.github/workflows/windows.yml +0 -40
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf785a903733a43d512bf78b6a9ed63b1366d3608e64cdb7a107b0af44c83d3f
4
- data.tar.gz: edbff6b8f91a32ea9c2866c35d50ce17802626d5c1edc26f73f3429195c9b497
3
+ metadata.gz: 76b612ddae877500cbbc398c12a44867549fa1c987772eb781fc7aa33ac63e2b
4
+ data.tar.gz: d6def5426449912f9890f09834da5ed430c1fc04958b8c2850d59c5730b7cae7
5
5
  SHA512:
6
- metadata.gz: b6cca2e46cd13198d8e21ee48231c7046e0578c2eda603857d015ecd3944302b785d433f9fbccb1d28f45bbc1857a3bd0d33d1167f4a252589a9a1b038ac45c3
7
- data.tar.gz: 88f9452e81d23d1029dc6030b3a851d6a6332b09c2726a4dce3125974f570d7aa0bf63f6701e19f3e9ee1b7992242f9a43884ba02124228b13b092d86d923347
6
+ metadata.gz: 5ce949e7353a14d240b75037b5a68736490a3fd2efe227af16d34ec0b7b1ecb82c689117bc743cc99f33f68a22824d40ed8126516d929de75e14767de2e78bd4
7
+ data.tar.gz: e077d67bfb18798c77dbd0573e0988771b0a6d273149950c7ba5f11a12f50c17a728c5d978eaee82f716696fcdbe9fd50b29015485f918913cda27059ec71fd9
@@ -0,0 +1,62 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: rake
4
+
5
+ on:
6
+ push:
7
+ branches: [ master, main ]
8
+ tags: [ v* ]
9
+ pull_request:
10
+
11
+ jobs:
12
+ rake:
13
+ name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
14
+ runs-on: ${{ matrix.os }}
15
+ continue-on-error: ${{ matrix.experimental }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby: [ '2.6', '2.5', '2.4' ]
20
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
21
+ experimental: [ false ]
22
+ include:
23
+ - ruby: '2.7'
24
+ os: 'ubuntu-latest'
25
+ experimental: true
26
+ - ruby: '2.7'
27
+ os: 'windows-latest'
28
+ experimental: true
29
+ - ruby: '2.7'
30
+ os: 'macos-latest'
31
+ experimental: true
32
+ steps:
33
+ - uses: actions/checkout@master
34
+
35
+ - uses: ruby/setup-ruby@v1
36
+ with:
37
+ ruby-version: ${{ matrix.ruby }}
38
+
39
+ - uses: actions/cache@v2
40
+ with:
41
+ path: vendor/bundle
42
+ key: bundle-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}
43
+ restore-keys: bundle-${{ matrix.os }}-${{ matrix.ruby }}
44
+
45
+ - run: bundle config set path 'vendor/bundle'
46
+
47
+ - run: bundle install --jobs 4 --retry 3
48
+
49
+ - run: bundle exec rake
50
+
51
+ tests-passed:
52
+ needs: rake
53
+ runs-on: ubuntu-latest
54
+ steps:
55
+ - name: Trigger tests passed event
56
+ uses: Sibz/github-status-action@v1
57
+ with:
58
+ authToken: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
59
+ context: 'tests-passed-successfully'
60
+ description: 'Tests passed successfully'
61
+ state: 'success'
62
+ sha: ${{ github.event.pull_request.head.sha || github.sha }}
@@ -0,0 +1,36 @@
1
+ name: release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '*'
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v1
13
+
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: '2.6'
17
+
18
+ - uses: actions/cache@v1
19
+ with:
20
+ path: vendor/bundle
21
+ restore-keys: bundle-ubuntu-latest-2.6
22
+
23
+ - run: bundle exec rake
24
+
25
+ - name: publish
26
+ env:
27
+ GITHUB_PACKAGES_TOKEN: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
28
+ run: |
29
+ cat << 'EOF' > ~/.gem/credentials
30
+ ---
31
+ :github: Bearer ${GITHUB_PACKAGES_TOKEN}
32
+ EOF
33
+ chmod 0600 ~/.gem/credentials
34
+ gem install gem-release
35
+ gem release --key github --host https://rubygems.pkg.github.com/metanorma
36
+
@@ -1,16 +1,15 @@
1
1
  = metanorma-nist: Metanorma processor for the NIST SP 800 document classes
2
2
 
3
3
  image:https://img.shields.io/gem/v/metanorma-nist.svg["Gem Version", link="https://rubygems.org/gems/metanorma-nist"]
4
- image:https://github.com/metanorma/metanorma-nist/workflows/macos/badge.svg["Build Status (macOS)", link="https://github.com/metanorma/metanorma-nist/actions?workflow=macos"]
5
- image:https://github.com/metanorma/metanorma-nist/workflows/ubuntu/badge.svg["Build Status (ubuntu)", link="https://github.com/metanorma/metanorma-nist/actions?workflow=ubuntu"]
6
- image:https://github.com/metanorma/metanorma-nist/workflows/windows/badge.svg["Build Status (Windows)", link="https://github.com/metanorma/metanorma-nist/actions?workflow=windows"]
4
+ image:https://github.com/metanorma/metanorma-nist/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma-nist/actions?workflow=rake"]
7
5
  image:https://codeclimate.com/github/metanorma/metanorma-nist/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-nist"]
8
6
  image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-nist.svg["Pull Requests", link="https://github.com/metanorma/metanorma-nist/pulls"]
9
7
  image:https://img.shields.io/github/commits-since/metanorma/metanorma-nist/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-nist/releases"]
10
8
 
11
9
  == Functionality
12
10
 
13
- This gem processes Metanorma documents into the NIST document class.
11
+ This gem processes https://www.metanorma.com[Metanorma documents] following
12
+ a template for generating NIST standards.
14
13
 
15
14
  It provides the following functions:
16
15
 
@@ -158,17 +158,7 @@
158
158
  <data type="ID"/>
159
159
  </attribute>
160
160
  <oneOrMore>
161
- <choice>
162
- <ref name="formula"/>
163
- <ref name="ul"/>
164
- <ref name="ol"/>
165
- <ref name="dl"/>
166
- <ref name="quote"/>
167
- <ref name="sourcecode"/>
168
- <ref name="paragraph"/>
169
- <ref name="table"/>
170
- <ref name="figure"/>
171
- </choice>
161
+ <ref name="paragraph"/>
172
162
  </oneOrMore>
173
163
  </element>
174
164
  </define>
@@ -1028,6 +1018,9 @@
1028
1018
  <value>alphabet_upper</value>
1029
1019
  </choice>
1030
1020
  </attribute>
1021
+ <optional>
1022
+ <attribute name="start"/>
1023
+ </optional>
1031
1024
  <oneOrMore>
1032
1025
  <ref name="li"/>
1033
1026
  </oneOrMore>
@@ -44,6 +44,7 @@ module Asciidoctor
44
44
  end
45
45
 
46
46
  def move_clauses_into_preface1(x, preface)
47
+ x.xpath("//acknowledgements[@preface]").each { |c| c.delete("preface") }
47
48
  x.xpath("//clause[@preface]").each do |c|
48
49
  c.delete("preface")
49
50
  title = c&.at("./title")&.text.downcase
@@ -151,6 +151,8 @@ module Asciidoctor
151
151
  "terms and definitions"
152
152
  when "introduction"
153
153
  "donotrecognise_introduction"
154
+ when "normative references"
155
+ "bibliography"
154
156
  else
155
157
  super
156
158
  end
@@ -24,6 +24,14 @@
24
24
  <start>
25
25
  <ref name="standard-document"/>
26
26
  </start>
27
+ <define name="doctype">
28
+ <element name="doctype">
29
+ <optional>
30
+ <attribute name="abbreviation"/>
31
+ </optional>
32
+ <ref name="DocumentType"/>
33
+ </element>
34
+ </define>
27
35
  <define name="hyperlink">
28
36
  <element name="link">
29
37
  <attribute name="target">
@@ -42,7 +50,6 @@
42
50
  </define>
43
51
  <define name="xref">
44
52
  <element name="xref">
45
- <!-- attribute target { xsd:IDREF }, -->
46
53
  <attribute name="target">
47
54
  <data type="string">
48
55
  <param name="pattern">\i\c*|\c+#\c+</param>
@@ -64,6 +71,11 @@
64
71
  </choice>
65
72
  </attribute>
66
73
  </optional>
74
+ <optional>
75
+ <attribute name="droploc">
76
+ <data type="boolean"/>
77
+ </attribute>
78
+ </optional>
67
79
  <text/>
68
80
  </element>
69
81
  </define>
@@ -137,6 +149,11 @@
137
149
  <data type="boolean"/>
138
150
  </attribute>
139
151
  </optional>
152
+ <optional>
153
+ <attribute name="key">
154
+ <data type="boolean"/>
155
+ </attribute>
156
+ </optional>
140
157
  <oneOrMore>
141
158
  <ref name="dt"/>
142
159
  <ref name="dd"/>
@@ -859,6 +876,13 @@
859
876
  </define>
860
877
  <define name="standard-document">
861
878
  <element name="standard-document">
879
+ <attribute name="version"/>
880
+ <attribute name="type">
881
+ <choice>
882
+ <value>semantic</value>
883
+ <value>presentation</value>
884
+ </choice>
885
+ </attribute>
862
886
  <ref name="bibdata"/>
863
887
  <optional>
864
888
  <ref name="boilerplate"/>
@@ -880,7 +904,7 @@
880
904
  <oneOrMore>
881
905
  <choice>
882
906
  <ref name="content"/>
883
- <ref name="preface_abstract"/>
907
+ <ref name="abstract"/>
884
908
  <ref name="foreword"/>
885
909
  <ref name="introduction"/>
886
910
  <ref name="acknowledgements"/>
@@ -1153,49 +1177,7 @@
1153
1177
  </define>
1154
1178
  <define name="annex">
1155
1179
  <element name="annex">
1156
- <optional>
1157
- <attribute name="id">
1158
- <data type="ID"/>
1159
- </attribute>
1160
- </optional>
1161
- <optional>
1162
- <attribute name="language"/>
1163
- </optional>
1164
- <optional>
1165
- <attribute name="script"/>
1166
- </optional>
1167
- <optional>
1168
- <attribute name="inline-header">
1169
- <data type="boolean"/>
1170
- </attribute>
1171
- </optional>
1172
- <attribute name="obligation">
1173
- <choice>
1174
- <value>normative</value>
1175
- <value>informative</value>
1176
- </choice>
1177
- </attribute>
1178
- <optional>
1179
- <ref name="section-title"/>
1180
- </optional>
1181
- <group>
1182
- <group>
1183
- <zeroOrMore>
1184
- <ref name="BasicBlock"/>
1185
- </zeroOrMore>
1186
- <zeroOrMore>
1187
- <ref name="note"/>
1188
- </zeroOrMore>
1189
- </group>
1190
- <zeroOrMore>
1191
- <choice>
1192
- <ref name="annex-subsection"/>
1193
- <ref name="terms"/>
1194
- <ref name="definitions"/>
1195
- <ref name="references"/>
1196
- </choice>
1197
- </zeroOrMore>
1198
- </group>
1180
+ <ref name="Annex-Section"/>
1199
1181
  </element>
1200
1182
  </define>
1201
1183
  <define name="terms">
@@ -1481,11 +1463,6 @@
1481
1463
  </optional>
1482
1464
  </element>
1483
1465
  </define>
1484
- <define name="preface_abstract">
1485
- <element name="abstract">
1486
- <ref name="Basic-Section"/>
1487
- </element>
1488
- </define>
1489
1466
  <define name="term-clause">
1490
1467
  <element name="clause">
1491
1468
  <optional>
@@ -34,7 +34,7 @@
34
34
  <define name="preface">
35
35
  <element name="preface">
36
36
  <optional>
37
- <ref name="preface_abstract"/>
37
+ <ref name="abstract"/>
38
38
  </optional>
39
39
  <optional>
40
40
  <ref name="foreword"/>
@@ -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>
@@ -182,6 +183,13 @@
182
183
  </define>
183
184
  <define name="nist-standard">
184
185
  <element name="nist-standard">
186
+ <attribute name="version"/>
187
+ <attribute name="type">
188
+ <choice>
189
+ <value>semantic</value>
190
+ <value>presentation</value>
191
+ </choice>
192
+ </attribute>
185
193
  <ref name="bibdata"/>
186
194
  <zeroOrMore>
187
195
  <ref name="termdocsource"/>
@@ -127,7 +127,6 @@ module IsoDoc
127
127
  def info(isoxml, out)
128
128
  @meta.series isoxml, out
129
129
  @meta.commentperiod isoxml, out
130
- @meta.note isoxml, out
131
130
  super
132
131
  end
133
132
 
@@ -0,0 +1,4 @@
1
+ ---
2
+ Times New Roman:
3
+ Arial:
4
+ Courier New:
@@ -9,7 +9,7 @@ fieldset, form, label, legend,
9
9
  table, caption, tbody, tfoot, thead, tr, th, td,
10
10
  article, aside, canvas, details, embed,
11
11
  figure, figcaption, footer, header, hgroup,
12
- menu, nav, output, ruby, section, summary,
12
+ menu, output, ruby, section, summary,
13
13
  time, mark, audio, video {
14
14
  margin: 0;
15
15
  padding: 0; }
@@ -104,6 +104,10 @@ b, strong {
104
104
  div.document-stage-band, div.document-type-band {
105
105
  background-color: #333333; }
106
106
 
107
+ a.FootnoteRef + a.FootnoteRef:before {
108
+ content: ", ";
109
+ vertical-align: super; }
110
+
107
111
  #nist-sp-band {
108
112
  background-color: #d8eca8; }
109
113
 
@@ -176,223 +180,6 @@ div.document-stage-band, div.document-type-band {
176
180
  #withdrawn {
177
181
  border-bottom: solid 3px #7e0d13; }
178
182
 
179
- dl {
180
- grid-template-columns: 25% 75%; }
181
- dl.glossary dt {
182
- font-weight: bold; }
183
-
184
- body {
185
- margin-left: auto;
186
- margin-right: auto;
187
- max-width: 100%;
188
- font-size: 14px;
189
- font-weight: 400;
190
- line-height: 1.6em;
191
- color: #141115;
192
- background-color: #fff; }
193
- body main {
194
- margin: 0 3em 0 6em; }
195
-
196
- .rule {
197
- width: 100%;
198
- height: 1px;
199
- background-color: #2677ea;
200
- margin: 2em 0; }
201
-
202
- .rule-2 {
203
- width: 100%;
204
- height: 1px;
205
- background-color: #2677ea; }
206
-
207
- .rule-thick {
208
- width: 100%;
209
- height: 3px;
210
- background-color: #2677ea;
211
- margin: 3em 0 0 0; }
212
-
213
- #toc {
214
- font-family: 'Source Sans Pro', sans-serif; }
215
- #toc ul {
216
- margin: 0;
217
- padding: 0;
218
- list-style: none; }
219
- #toc ul li a {
220
- padding: 5px 10px; }
221
- #toc ul a {
222
- color: #141115;
223
- text-decoration: none;
224
- display: block; }
225
- #toc ul a:hover {
226
- box-shadow: none;
227
- color: white; }
228
- #toc .h2 {
229
- padding-left: 30px; }
230
- #toc .h3 {
231
- padding-left: 50px; }
232
- #toc .toc-active, #toc li:hover {
233
- background: #006494;
234
- box-shadow: inset -5px 0px 10px -5px #006494 !important; }
235
- #toc .toc-active a, #toc li:hover a {
236
- color: white; }
237
- @media print {
238
- #toc .toc-active, #toc li:hover {
239
- background: white;
240
- box-shadow: none !important; }
241
- #toc .toc-active a {
242
- color: #141115; }
243
- #toc li:hover a {
244
- color: black; } }
245
- #toc li a {
246
- font-size: 14px; }
247
- #toc li:before {
248
- content: " ";
249
- display: none; }
250
-
251
- @media screen and (min-width: 768px) {
252
- nav {
253
- position: fixed;
254
- top: 0;
255
- bottom: 0;
256
- left: 0;
257
- width: 323px;
258
- font-size: 0.9em;
259
- overflow: auto;
260
- padding: 0 0 0 45px;
261
- background-color: white; } }
262
-
263
- @media print {
264
- nav {
265
- position: relative;
266
- width: auto;
267
- font-size: 0.9em;
268
- overflow: auto;
269
- padding: 0;
270
- margin-right: 0;
271
- background-color: white; } }
272
-
273
- nav #toc {
274
- font-family: {{bodyfont}};
275
- font-weight: 400; }
276
- @media screen and (max-width: 768px) {
277
- nav #toc {
278
- padding: 0 1.5em;
279
- overflow: visible; } }
280
- @media screen and (min-width: 768px) {
281
- #toggle {
282
- position: fixed;
283
- height: 100%;
284
- width: 30px;
285
- background-color: #006494;
286
- color: white !important;
287
- cursor: pointer;
288
- z-index: 100; }
289
- #toggle span {
290
- text-align: center;
291
- width: 100%;
292
- position: absolute;
293
- top: 50%;
294
- transform: translate(0, -50%); } }
295
-
296
- @media screen and (max-width: 768px) {
297
- #toggle {
298
- display: none; } }
299
-
300
- @media print {
301
- #toggle {
302
- display: none; } }
303
-
304
- @media screen and (min-width: 768px) {
305
- .container {
306
- padding-left: 360px; } }
307
-
308
- @media print {
309
- .container {
310
- padding-left: 0; } }
311
-
312
- @media screen and (min-width: 768px) {
313
- .rule.toc {
314
- display: none; } }
315
-
316
- span.nistvariable {
317
- font-family: {{bodyfont}};
318
- font-style: italic; }
319
-
320
- /* Document bands */
321
- .document-stage-band {
322
- left: 0;
323
- top: 0;
324
- height: 100%;
325
- position: fixed;
326
- display: block;
327
- z-index: 101;
328
- box-shadow: -5px 0px 10px #1d1d1d; }
329
- .document-stage-band > :first-child {
330
- position: relative;
331
- width: 25px;
332
- font-family: 'Source Sans Pro', sans-serif;
333
- font-weight: 300;
334
- height: 160px;
335
- color: #7ba812;
336
- text-transform: uppercase;
337
- font-size: 0.9em;
338
- font-weight: 400;
339
- letter-spacing: 0.05em;
340
- margin: 0;
341
- margin-left: 6px;
342
- writing-mode: tb-rl;
343
- -webkit-transform: rotate(180deg);
344
- -moz-transform: rotate(180deg);
345
- -o-transform: rotate(180deg);
346
- white-space: nowrap;
347
- display: block;
348
- bottom: 0; }
349
- @media print {
350
- .document-stage-band {
351
- display: none; } }
352
- .document-type-band {
353
- left: 0;
354
- top: 180px;
355
- height: 100%;
356
- position: fixed;
357
- display: block;
358
- z-index: 102; }
359
- .document-type-band > :first-child {
360
- position: relative;
361
- width: 25px;
362
- font-family: 'Source Sans Pro', sans-serif;
363
- font-weight: 400;
364
- color: #7ba812;
365
- text-transform: uppercase;
366
- font-size: 0.9em;
367
- font-weight: 400;
368
- letter-spacing: 0.05em;
369
- margin: 0;
370
- margin-left: 6px;
371
- writing-mode: tb-rl;
372
- -webkit-transform: rotate(180deg);
373
- -moz-transform: rotate(180deg);
374
- -o-transform: rotate(180deg);
375
- white-space: nowrap;
376
- display: block;
377
- bottom: 0; }
378
- @media print {
379
- .document-type-band {
380
- display: none; } }
381
- .document-type-band .document-type {
382
- top: 20px; }
383
-
384
- #governance-band p.document-type {
385
- height: 230px !important; }
386
-
387
- #standard-band p {
388
- height: 270px !important; }
389
-
390
- #proposal-band p {
391
- height: 150px !important; }
392
-
393
- #standard, #final {
394
- color: #9ABD48; }
395
-
396
183
  .coverpage-maturity, .coverpage-stage {
397
184
  font-family: 'Source Sans Pro', sans-serif;
398
185
  font-weight: 400;
@@ -637,6 +424,223 @@ table.coverpage-table {
637
424
  .coverpage {
638
425
  height: 23cm; } }
639
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
+
640
644
  .recommend {
641
645
  background-color: #ccffcc;
642
646
  padding: 1.2em;
@@ -735,7 +739,7 @@ p.Biblio, p.NormRef {
735
739
  overflow: auto;
736
740
  font-family: {{monospacefont}};
737
741
  font-variant-ligatures: none;
738
- font-size: 0.8em;
742
+ font-size: {{monospacefontsize}};
739
743
  background-color: #f6f6f6; }
740
744
  .figure .FigureTitle, .figure .figure-title {
741
745
  font-weight: 700;
@@ -757,7 +761,7 @@ pre {
757
761
  font-family: {{monospacefont}};
758
762
  font-variant-ligatures: none;
759
763
  background-color: #f6f6f6;
760
- font-size: 0.8em;
764
+ font-size: {{monospacefontsize}};
761
765
  line-height: 1.6em;
762
766
  padding: 1.5em;
763
767
  margin: 2em 0 1em 0;
@@ -766,7 +770,7 @@ pre {
766
770
 
767
771
  .pseudocode {
768
772
  background-color: #f6f6f6;
769
- font-size: 0.8em;
773
+ font-size: {{monospacefontsize}};
770
774
  line-height: 1.6em;
771
775
  padding: 1.5em;
772
776
  margin: 2em 0 1em 0;
@@ -875,7 +879,7 @@ a.footnote-number {
875
879
  font-size: 0.8em; }
876
880
 
877
881
  .footnote {
878
- font-size: 0.9em; }
882
+ font-size: {{footnotefontsize}}; }
879
883
 
880
884
  /* Keywords */
881
885
  span.keyword {