metanorma-mpfa 0.4.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c933db2087e74075d67d69696e55d6c6429188e64a1efcb3eb0e54a1f0003fc
4
- data.tar.gz: 56e67d95a6f6553a947fceabbe9040d0e080d23c2fea46ac3dfe4ed640b0eef7
3
+ metadata.gz: ad686c232b1c0158a0fb559309fdac2ff804b4a57255ba45bca033af223842fc
4
+ data.tar.gz: fc2adc793704b240de50a28d4f171e942b4703351619855d998df2c74fc00624
5
5
  SHA512:
6
- metadata.gz: cce7e625ca697f02d77cda4292ff17ebcf15d2a110c6dbea4a4b05699d5a26929bbd852e8b91c1dd54e5837d6984561d9b7b777348a320160abf124ea159cac2
7
- data.tar.gz: ca7ecfdc4cb6f325ab175b64e4183ba6eaf89ab2bcaad3dfe12b4ea28299365262ef7170216f8f650e55ae40eef86ab69804f6ca62d1a0c41bca94db4378556a
6
+ metadata.gz: def1e67cb5c70be12f20444cb9ced7e39648bd9e2d03394da28239787e1a7a35b53071199fe34e206ea04294a7d11582b2ef55eebef0a1755a5ebe89e67edb13
7
+ data.tar.gz: e6cc94d6dd666bd999fd36f0e22f0f1d88078896d12e405be64c666ef535b6204a0ab6e90728a20a4ae6080668a54bc583d0b4215768b72364066dc58d0e6ede
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
+ require 'isodoc/gem_tasks'
3
4
 
5
+ IsoDoc::GemTasks.install
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
6
8
  task :default => :spec
@@ -19,24 +19,8 @@ module Asciidoctor
19
19
 
20
20
  register_for "mpfa"
21
21
 
22
- def metadata_author(node, xml)
23
- xml.contributor do |c|
24
- c.role **{ type: "author" }
25
- c.organization do |a|
26
- a.name "Mandatory Provident Fund Schemes Authority"
27
- a.abbreviation "MPFA"
28
- end
29
- end
30
- end
31
-
32
- def metadata_publisher(node, xml)
33
- xml.contributor do |c|
34
- c.role **{ type: "publisher" }
35
- c.organization do |a|
36
- a.name "Mandatory Provident Fund Schemes Authority"
37
- a.abbreviation "MPFA"
38
- end
39
- end
22
+ def default_publisher
23
+ "Mandatory Provident Fund Schemes Authority"
40
24
  end
41
25
 
42
26
  def metadata_committee(node, xml)
@@ -58,19 +42,6 @@ module Asciidoctor
58
42
  xml.docnumber { |i| i << node.attr("docnumber") }
59
43
  end
60
44
 
61
- def metadata_copyright(node, xml)
62
- from = node.attr("copyright-year") || Date.today.year
63
- xml.copyright do |c|
64
- c.from from
65
- c.owner do |owner|
66
- owner.organization do |o|
67
- o.name "Mandatory Provident Fund Schemes Authority"
68
- o.abbreviation "MPFA"
69
- end
70
- end
71
- end
72
- end
73
-
74
45
  def title_validate(root)
75
46
  nil
76
47
  end
@@ -42,8 +42,11 @@
42
42
  </define>
43
43
  <define name="xref">
44
44
  <element name="xref">
45
+ <!-- attribute target { xsd:IDREF }, -->
45
46
  <attribute name="target">
46
- <data type="IDREF"/>
47
+ <data type="string">
48
+ <param name="pattern">\i\c*|\c+#\c+</param>
49
+ </data>
47
50
  </attribute>
48
51
  <optional>
49
52
  <attribute name="type">
@@ -922,6 +925,9 @@
922
925
  <optional>
923
926
  <attribute name="script"/>
924
927
  </optional>
928
+ <optional>
929
+ <attribute name="type"/>
930
+ </optional>
925
931
  <optional>
926
932
  <attribute name="obligation">
927
933
  <choice>
@@ -961,9 +967,6 @@
961
967
  </define>
962
968
  <define name="content-subsection">
963
969
  <element name="clause">
964
- <optional>
965
- <attribute name="type"/>
966
- </optional>
967
970
  <ref name="Content-Section"/>
968
971
  </element>
969
972
  </define>
@@ -992,6 +995,9 @@
992
995
  </choice>
993
996
  </attribute>
994
997
  </optional>
998
+ <optional>
999
+ <attribute name="type"/>
1000
+ </optional>
995
1001
  <optional>
996
1002
  <ref name="section-title"/>
997
1003
  </optional>
@@ -1011,9 +1017,6 @@
1011
1017
  </define>
1012
1018
  <define name="clause">
1013
1019
  <element name="clause">
1014
- <optional>
1015
- <attribute name="type"/>
1016
- </optional>
1017
1020
  <ref name="Clause-Section"/>
1018
1021
  </element>
1019
1022
  </define>
@@ -1042,6 +1045,9 @@
1042
1045
  </choice>
1043
1046
  </attribute>
1044
1047
  </optional>
1048
+ <optional>
1049
+ <attribute name="type"/>
1050
+ </optional>
1045
1051
  <optional>
1046
1052
  <ref name="section-title"/>
1047
1053
  </optional>
@@ -1180,6 +1186,9 @@
1180
1186
  <optional>
1181
1187
  <attribute name="script"/>
1182
1188
  </optional>
1189
+ <optional>
1190
+ <attribute name="type"/>
1191
+ </optional>
1183
1192
  <optional>
1184
1193
  <attribute name="obligation">
1185
1194
  <choice>
@@ -58,7 +58,6 @@ module Asciidoctor
58
58
  attrs[:container] = true if node.role == "container"
59
59
  super
60
60
  end
61
-
62
61
  end
63
62
  end
64
63
  end
@@ -1,51 +1,9 @@
1
1
  require "isodoc"
2
- require_relative "metadata"
3
- require_relative "xref"
4
2
  require "fileutils"
5
3
 
6
4
  module IsoDoc
7
5
  module MPFA
8
6
  module BaseConvert
9
- def metadata_init(lang, script, labels)
10
- @meta = Metadata.new(lang, script, labels)
11
- end
12
-
13
- def xref_init(lang, script, klass, labels, options)
14
- @xrefs = Xref.new(lang, script, klass, labels, options)
15
- end
16
-
17
- def annex_name(annex, name, div)
18
- div.h1 **{ class: "Annex" } do |t|
19
- t << "#{@xrefs.anchor(annex['id'], :label)} "
20
- t.b do |b|
21
- name&.children&.each { |c2| parse(c2, b) }
22
- end
23
- end
24
- end
25
-
26
- def fileloc(loc)
27
- File.join(File.dirname(__FILE__), loc)
28
- end
29
-
30
- def i18n_init(lang, script)
31
- super
32
- y = if lang == "en"
33
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
34
- elsif lang == "zh" && script == "Hans"
35
- YAML.load_file(File.join(File.dirname(__FILE__),
36
- "i18n-zh-Hans.yaml"))
37
- else
38
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
39
- end
40
- @labels = @labels.merge(y)
41
- @annex_lbl = y["annex"]
42
- @clause_lbl = y["clause"]
43
- end
44
-
45
- def terms_defs_title(f)
46
- return f&.at(ns("./title"))&.content
47
- end
48
-
49
7
  TERM_CLAUSE = "//preface/terms | "\
50
8
  "//preface/clause[descendant::terms]".freeze
51
9
 
@@ -57,7 +15,7 @@ module IsoDoc
57
15
  def terms_defs(isoxml, out, num)
58
16
  f = isoxml.at(ns(self.class::TERM_CLAUSE)) or return num
59
17
  out.div **attr_code(id: f["id"]) do |div|
60
- clause_name(nil, terms_defs_title(f), div, nil)
18
+ clause_name(nil, f&.at(ns("./title")), div, nil)
61
19
  f.elements.each do |e|
62
20
  parse(e, div) unless %w{title source}.include? e.name
63
21
  end
@@ -70,10 +28,10 @@ module IsoDoc
70
28
  def preface(isoxml, out)
71
29
  isoxml.xpath(ns(self.class::FRONT_CLAUSE)).each do |c|
72
30
  if c.name == "terms" || c.at(ns(".//terms")) then terms_defs isoxml, out, 0
31
+ elsif !is_clause?(c.name) then parse(c, out)
73
32
  else
74
33
  out.div **attr_code(id: c["id"]) do |s|
75
- clause_name(@xrefs.anchor(c['id'], :label),
76
- c&.at(ns("./title"))&.content, s, nil)
34
+ clause_name(nil, c&.at(ns("./title")), s, nil)
77
35
  c.elements.reject { |c1| c1.name == "title" }.each do |c1|
78
36
  parse(c1, s)
79
37
  end
@@ -82,6 +40,10 @@ module IsoDoc
82
40
  end
83
41
  end
84
42
 
43
+ def middle_clause
44
+ "//clause[parent::sections][not(descendant::terms)]"
45
+ end
46
+
85
47
  def middle(isoxml, out)
86
48
  middle_title(out)
87
49
  middle_admonitions(isoxml, out)
@@ -91,6 +53,7 @@ module IsoDoc
91
53
  end
92
54
 
93
55
  def termdef_parse(node, out)
56
+ name = node&.at(ns("./name"))&.remove
94
57
  set_termdomain("")
95
58
  node.children.each { |n| parse(n, out) }
96
59
  end
@@ -98,8 +61,8 @@ module IsoDoc
98
61
  def clause(isoxml, out)
99
62
  isoxml.xpath(ns(middle_clause)).each do |c|
100
63
  out.div **attr_code(id: c["id"]) do |s|
101
- clause_name(@xrefs.anchor(c['id'], :label),
102
- c&.at(ns("./title"))&.content, s, class: c["container"] ? "containerhdr" : nil )
64
+ clause_name(nil, c&.at(ns("./title")), s,
65
+ class: c["container"] ? "containerhdr" : nil )
103
66
  c.elements.reject { |c1| c1.name == "title" }.each do |c1|
104
67
  parse(c1, s)
105
68
  end
@@ -107,17 +70,11 @@ module IsoDoc
107
70
  end
108
71
  end
109
72
 
110
- def clause_parse_title(node, div, c1, out)
111
- if node["inline-header"] == "true"
112
- inline_header_title(out, node, c1)
113
- else
114
- attrs = { class: node["container"] ? "containerhdr" : nil }
115
- div.send "h#{@xrefs.anchor(node['id'], :level, :false) || '1'}", **attr_code(attrs) do |h|
116
- lbl = @xrefs.anchor(node['id'], :label, false)
117
- h << "#{lbl}. " if lbl && !@suppressheadingnumbers
118
- c1&.children&.each { |c2| parse(c2, h) }
119
- end
120
- end
73
+ def clause_parse_title(node, div, c1, out, header_class = {})
74
+ attrs = {}
75
+ attrs = { class: "containerhdr" } if node["container"]
76
+ header_class = header_class.merge(attrs)
77
+ super
121
78
  end
122
79
 
123
80
  def ol_depth(node)
@@ -0,0 +1,1145 @@
1
+ /*
2
+ 0 CSS RESET
3
+ */
4
+ /* http://meyerweb.com/eric/tools/css/reset/
5
+ v2.0 | 20110126
6
+ License: none (public domain)
7
+ */
8
+ html, body, div, span, applet, object, iframe,
9
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
10
+ a, abbr, acronym, address, big, cite, code,
11
+ del, dfn, em, img, ins, kbd, q, s, samp,
12
+ small, strike, strong, sub, sup, tt, var,
13
+ b, u, i, center,
14
+ ol, ul, li,
15
+ fieldset, form, label, legend,
16
+ table, caption, tbody, tfoot, thead, tr, th, td,
17
+ article, aside, canvas, details, embed,
18
+ figure, figcaption, footer, header, hgroup,
19
+ menu, nav, output, ruby, section, summary,
20
+ time, mark, audio, video {
21
+ margin: 0;
22
+ padding: 0; }
23
+
24
+ html, body, div, span, applet, object, iframe,
25
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
26
+ a, abbr, acronym, address, big, cite, code,
27
+ del, dfn, em, img, ins, kbd, q, s, samp,
28
+ small, strike, strong, sub, sup, tt, var,
29
+ b, u, i, center,
30
+ dl, dt, dd, ol, ul, li,
31
+ fieldset, form, label, legend,
32
+ table, caption, tbody, tfoot, thead, tr, th, td,
33
+ article, aside, canvas, details, embed,
34
+ figure, figcaption, footer, header, hgroup,
35
+ menu, nav, output, ruby, section, summary,
36
+ time, mark, audio, video {
37
+ border: 0;
38
+ font-size: 100%; }
39
+
40
+ html, body, div, span, applet, object, iframe,
41
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
42
+ a, abbr, acronym, address, big, cite, code,
43
+ del, dfn, em, img, ins, kbd, q, s, samp,
44
+ small, strike, strong, tt, var,
45
+ b, u, i, center,
46
+ dl, dd, ol, ul, li,
47
+ fieldset, form, label, legend,
48
+ table, caption, tbody, tfoot, thead, tr, th, td,
49
+ article, aside, canvas, details, embed,
50
+ figure, figcaption, footer, header, hgroup,
51
+ menu, nav, output, ruby, section, summary,
52
+ time, mark, audio, video {
53
+ vertical-align: baseline; }
54
+
55
+ html, body, div, span, applet, object, iframe,
56
+ p, blockquote,
57
+ a, abbr, acronym, address, big, cite,
58
+ del, dfn, em, img, ins, q, s,
59
+ small, strike, strong, sub, sup, var,
60
+ b, u, i, center,
61
+ dl, dt, dd, ol, ul, li,
62
+ fieldset, form, label, legend,
63
+ table, caption, tbody, tfoot, thead, tr, th, td,
64
+ article, aside, canvas, details, embed,
65
+ figure, figcaption, footer, header, hgroup,
66
+ menu, nav, output, ruby, section, summary,
67
+ time, mark, audio, video {
68
+ font-family: {{bodyfont}}; }
69
+
70
+ code, pre, tt, kbd, samp {
71
+ font-family: {{monospacefont}};
72
+ font-variant-ligatures: none; }
73
+
74
+ code *, pre *, tt *, kbd *, samp * {
75
+ font-family: {{monospacefont}} !important;
76
+ font-variant-ligatures: none; }
77
+
78
+ article, aside, details, figcaption, figure,
79
+ footer, header, hgroup, menu, nav, section {
80
+ display: block; }
81
+
82
+ table {
83
+ border-collapse: collapse;
84
+ border-spacing: 0; }
85
+
86
+ h1, h2, h3, h4, h5, h6 {
87
+ font-family: {{headerfont}}; }
88
+
89
+ blockquote, q {
90
+ quotes: none; }
91
+ blockquote:before, blockquote:after, q:before, q:after {
92
+ content: '';
93
+ content: none; }
94
+
95
+ .h2Annex {
96
+ font-family: {{headerfont}}; }
97
+
98
+ dl {
99
+ display: grid;
100
+ grid-template-columns: max-content auto; }
101
+ dl dt p, dl dd p {
102
+ margin-top: 0; }
103
+ dl dt {
104
+ grid-column-start: 1; }
105
+ dl dd {
106
+ grid-column-start: 2; }
107
+
108
+ b, strong {
109
+ font-weight: bold; }
110
+
111
+ div.document-stage-band, div.document-type-band {
112
+ background-color: #333333; }
113
+
114
+ #standard-band {
115
+ background-color: #0AC442; }
116
+
117
+ #standard {
118
+ border-bottom: solid 3px #0AC442; }
119
+
120
+ #directive-band {
121
+ background-color: #540D6E; }
122
+
123
+ #directive {
124
+ border-bottom: solid 3px #540D6E; }
125
+
126
+ #guide-band {
127
+ background-color: #D183C9; }
128
+
129
+ #guide {
130
+ border-bottom: solid 3px #D183C9; }
131
+
132
+ #specification-band {
133
+ background-color: #65AFFF; }
134
+
135
+ #specification {
136
+ border-bottom: solid 3px #65AFFF; }
137
+
138
+ #report-band {
139
+ background-color: #3A405A; }
140
+
141
+ #report {
142
+ border-bottom: solid 3px #3A405A; }
143
+
144
+ #amendment-band {
145
+ background-color: #F26430; }
146
+
147
+ #amendment {
148
+ border-bottom: solid 3px #F26430; }
149
+
150
+ #corrigendum-band {
151
+ background-color: #C84630; }
152
+
153
+ #corrigendum {
154
+ border-bottom: solid 3px #C84630; }
155
+
156
+ #administrative-band {
157
+ background-color: #BFAE48; }
158
+
159
+ #administrative {
160
+ border-bottom: solid 3px #BFAE48; }
161
+
162
+ #advisory-band {
163
+ background-color: #BD9391; }
164
+
165
+ #advisory {
166
+ border-bottom: solid 3px #BD9391; }
167
+
168
+ #proposal-band {
169
+ background-color: #39A0ED; }
170
+
171
+ #proposal {
172
+ border-bottom: solid 3px #39A0ED; }
173
+
174
+ #working-draft-band {
175
+ background-color: #2D7393; }
176
+
177
+ #working-draft {
178
+ border-bottom: solid 3px #2D7393; }
179
+
180
+ #committee-draft-band {
181
+ background-color: #2A6B7C; }
182
+
183
+ #committee-draft {
184
+ border-bottom: solid 3px #2A6B7C; }
185
+
186
+ #draft-standard-band {
187
+ background-color: #1C7F7A; }
188
+
189
+ #draft-standard {
190
+ border-bottom: solid 3px #1C7F7A; }
191
+
192
+ #final-draft-band {
193
+ background-color: #53C170; }
194
+
195
+ #final-draft {
196
+ border-bottom: solid 3px #53C170; }
197
+
198
+ #published-band {
199
+ background-color: #069E2D; }
200
+
201
+ #published {
202
+ border-bottom: solid 3px #069E2D; }
203
+
204
+ #withdrawn-band {
205
+ background-color: #004E64; }
206
+
207
+ #withdrawn {
208
+ border-bottom: solid 3px #004E64; }
209
+
210
+ #cancelled-band {
211
+ background-color: #2E382E; }
212
+
213
+ #cancelled {
214
+ border-bottom: solid 3px #2E382E; }
215
+
216
+ /*
217
+ 1. HTML & Body
218
+ */
219
+ body {
220
+ margin-left: auto;
221
+ margin-right: auto;
222
+ max-width: 100%;
223
+ font-size: 15px;
224
+ font-weight: 300;
225
+ line-height: 1.4em;
226
+ color: #301907;
227
+ background-color: #f7f7f7; }
228
+ body main {
229
+ margin: 0 3em 0 6em; }
230
+ body main {
231
+ margin: 0 0 0 6em; }
232
+
233
+ #toc {
234
+ font-family: {{bodyfont}};
235
+ font-weight: 400; }
236
+ #toc ul {
237
+ margin: 0;
238
+ padding: 0;
239
+ list-style: none; }
240
+ #toc ul li a {
241
+ padding: 5px 10px; }
242
+ #toc ul a {
243
+ color: #301907;
244
+ text-decoration: none;
245
+ display: block; }
246
+ #toc ul a:hover {
247
+ box-shadow: none;
248
+ color: #301907; }
249
+ #toc .h2 {
250
+ padding-left: 30px; }
251
+ #toc .h3 {
252
+ padding-left: 50px; }
253
+ #toc .toc-active, #toc li:hover {
254
+ background: #301907;
255
+ box-shadow: inset -5px 0px 10px -5px #301907 !important; }
256
+ #toc .toc-active a, #toc li:hover a {
257
+ color: #301907; }
258
+ @media print {
259
+ #toc .toc-active, #toc li:hover {
260
+ background: white;
261
+ box-shadow: none !important; }
262
+ #toc .toc-active a {
263
+ color: #301907; }
264
+ #toc li:hover a {
265
+ color: black; } }
266
+ @media screen and (max-width: 768px) {
267
+ #toc {
268
+ padding: 0 1.5em;
269
+ overflow: visible; } }
270
+ #toc .toc-active,
271
+ #toc li:hover {
272
+ background: none;
273
+ box-shadow: none !important;
274
+ border-bottom: solid 1px #301907 !important; }
275
+ #toc li:hover a {
276
+ color: black; }
277
+ #toc li a {
278
+ text-transform: uppercase; }
279
+ #toc ul a:hover {
280
+ box-shadow: none;
281
+ color: white; }
282
+
283
+ @media screen and (min-width: 768px) {
284
+ nav {
285
+ position: fixed;
286
+ top: 0;
287
+ bottom: 0;
288
+ left: 0;
289
+ width: 328px;
290
+ font-size: 0.9em;
291
+ overflow: auto;
292
+ padding: 0 0 0 15px;
293
+ background-color: #f7f7f7; } }
294
+
295
+ @media print {
296
+ nav {
297
+ position: relative;
298
+ width: auto;
299
+ font-size: 0.9em;
300
+ overflow: auto;
301
+ padding: 0;
302
+ margin-right: 0;
303
+ background-color: white; } }
304
+
305
+ @media screen and (min-width: 768px) {
306
+ #toggle {
307
+ position: fixed;
308
+ height: 100%;
309
+ width: 30px;
310
+ background-color: #301907;
311
+ color: white !important;
312
+ cursor: pointer;
313
+ z-index: 100; }
314
+ #toggle span {
315
+ text-align: center;
316
+ width: 100%;
317
+ position: absolute;
318
+ top: 50%;
319
+ transform: translate(0, -50%); } }
320
+
321
+ @media screen and (max-width: 768px) {
322
+ #toggle {
323
+ display: none; } }
324
+
325
+ @media print {
326
+ #toggle {
327
+ display: none; } }
328
+
329
+ #myBtn {
330
+ font-family: {{monospacefont}};
331
+ font-variant-ligatures: none;
332
+ display: none;
333
+ position: fixed;
334
+ bottom: 20px;
335
+ right: 30px;
336
+ z-index: 99;
337
+ font-size: 12px;
338
+ border: none;
339
+ outline: none;
340
+ background-color: #f36f36;
341
+ opacity: 0.15;
342
+ color: white;
343
+ cursor: pointer;
344
+ padding: 10px 15px 10px 15px;
345
+ border-radius: 4px;
346
+ text-transform: uppercase; }
347
+ #myBtn:hover {
348
+ opacity: 1; }
349
+ @media print {
350
+ #myBtn {
351
+ display: none; } }
352
+ #myBtn a.anchorjs-link:hover {
353
+ background: none;
354
+ color: #485094;
355
+ box-shadow: none; }
356
+
357
+ strong {
358
+ font-weight: 800; }
359
+
360
+ /*
361
+ 2. Responsive navigation layout
362
+ */
363
+ @media screen and (min-width: 768px) {
364
+ .container {
365
+ padding-left: 343px; }
366
+ .rule.toc {
367
+ display: none; }
368
+ h1.toc-contents {
369
+ margin-top: 1em; }
370
+ ul#toc-list {
371
+ padding: 0;
372
+ margin: 0; }
373
+ #toggle {
374
+ width: 15px; } }
375
+
376
+ div.figure {
377
+ line-height: 1.6em;
378
+ padding: 1.5em;
379
+ margin: 2em 0 1em 0;
380
+ overflow: auto; }
381
+ div.figure .FigureTitle, div.figure .figure-title {
382
+ font-weight: 700;
383
+ font-size: 1em;
384
+ text-align: center; }
385
+ div.figure > img {
386
+ margin-left: auto;
387
+ margin-right: auto;
388
+ display: block;
389
+ max-width: 100%;
390
+ height: auto; }
391
+
392
+ /*
393
+ Document types + stages
394
+ */
395
+ .document-type-band {
396
+ left: 0;
397
+ top: 180px;
398
+ height: 100%;
399
+ position: fixed;
400
+ display: block;
401
+ z-index: 102; }
402
+ .document-type-band > :first-child {
403
+ position: relative;
404
+ width: 25px;
405
+ font-weight: 400;
406
+ color: white;
407
+ text-transform: uppercase;
408
+ font-size: 0.9em;
409
+ font-weight: 400;
410
+ letter-spacing: 0.05em;
411
+ margin: 0;
412
+ margin-left: 6px;
413
+ writing-mode: tb-rl;
414
+ -webkit-transform: rotate(180deg);
415
+ -moz-transform: rotate(180deg);
416
+ -o-transform: rotate(180deg);
417
+ white-space: nowrap;
418
+ display: block;
419
+ bottom: 0; }
420
+ @media print {
421
+ .document-type-band {
422
+ display: none; } }
423
+ .document-type-band .document-type {
424
+ top: 20px; }
425
+
426
+ .document-stage-band {
427
+ left: 0;
428
+ top: 0;
429
+ height: 100%;
430
+ position: fixed;
431
+ display: block;
432
+ z-index: 101;
433
+ box-shadow: -5px 0px 10px #1d1d1d; }
434
+ .document-stage-band > :first-child {
435
+ position: relative;
436
+ width: 25px;
437
+ font-weight: 400;
438
+ height: 150;
439
+ color: white;
440
+ text-transform: uppercase;
441
+ font-size: 0.9em;
442
+ font-weight: 400;
443
+ letter-spacing: 0.05em;
444
+ margin: 0;
445
+ margin-left: 6px;
446
+ writing-mode: tb-rl;
447
+ -webkit-transform: rotate(180deg);
448
+ -moz-transform: rotate(180deg);
449
+ -o-transform: rotate(180deg);
450
+ white-space: nowrap;
451
+ display: block;
452
+ bottom: 0; }
453
+ @media print {
454
+ .document-stage-band {
455
+ display: none; } }
456
+ p.document-stage {
457
+ position: relative;
458
+ width: 25px;
459
+ font-weight: 400;
460
+ height: 150;
461
+ color: white;
462
+ text-transform: uppercase;
463
+ font-size: 0.9em;
464
+ font-weight: 400;
465
+ letter-spacing: 0.05em;
466
+ margin: 0;
467
+ margin-left: 6px;
468
+ writing-mode: tb-rl;
469
+ -webkit-transform: rotate(180deg);
470
+ -moz-transform: rotate(180deg);
471
+ -o-transform: rotate(180deg);
472
+ white-space: nowrap;
473
+ display: block;
474
+ bottom: 0; }
475
+
476
+ #governance-band p.document-type {
477
+ height: 230px !important; }
478
+
479
+ p.document-stage {
480
+ font-weight: 300;
481
+ height: 160px; }
482
+
483
+ #governance-band p.document-type {
484
+ font-weight: 400;
485
+ height: 230px !important; }
486
+
487
+ p.document-stage {
488
+ font-weight: 300;
489
+ height: 160px; }
490
+
491
+ #standard-band p {
492
+ height: 270px; }
493
+
494
+ #proposal-band p {
495
+ height: 150px; }
496
+
497
+ #standard-band, #published-band {
498
+ background-color: #9ABD48; }
499
+
500
+ #standard, #published {
501
+ border-bottom: solid 3px #9ABD48; }
502
+
503
+ #governance, #policy-and-procedures, #circular {
504
+ border-bottom: solid 3px #750697; }
505
+
506
+ #governance-band, #policy-and-procedures-band, #circular-band {
507
+ background-color: #750697; }
508
+
509
+ #guide {
510
+ border-bottom: solid 3px #48a0e7; }
511
+
512
+ #guide-band {
513
+ background-color: #48a0e7; }
514
+
515
+ .coverpage-maturity {
516
+ font-family: {{bodyfont}};
517
+ font-weight: 400;
518
+ font-size: 1em;
519
+ margin: 0 0 2em 0;
520
+ text-transform: uppercase; }
521
+
522
+ #working-draft, #proposal {
523
+ border-bottom: solid 3px #F7803C; }
524
+
525
+ #working-draft-band, #proposal-band {
526
+ background-color: #F7803C; }
527
+
528
+ #committee-draft {
529
+ border-bottom: solid 3px #fd06fd; }
530
+
531
+ #committee-draft-band {
532
+ background-color: #fd06fd; }
533
+
534
+ #draft-standard {
535
+ border-bottom: solid 3px #fdf906; }
536
+
537
+ #draft-standard-band {
538
+ background-color: #fdf906; }
539
+
540
+ #standard {
541
+ border-bottom: solid 3px #9ABD48; }
542
+
543
+ #standard-band {
544
+ background-color: #9ABD48; }
545
+
546
+ #obsolete {
547
+ border-bottom: solid 3px #7e0d13; }
548
+
549
+ #obsolete-band {
550
+ background-color: #7e0d13; }
551
+
552
+ /*
553
+ 3. TYPOGRAPHY
554
+ */
555
+ /*
556
+ 3.1 Titles
557
+ */
558
+ h1, h2, h3, h4, h5, h6 {
559
+ font-family: {{headerfont}};
560
+ color: #301907;
561
+ font-weight: 300;
562
+ margin-top: 2em; }
563
+
564
+ h1 {
565
+ color: #301907;
566
+ font-size: 1.6em;
567
+ /* margin-top: 5em; */
568
+ margin-bottom: 30px;
569
+ margin-left: -75px;
570
+ padding: 45px 15px 15px 50px;
571
+ border-bottom: solid 5px #FD8924;
572
+ font-weight: 800; }
573
+
574
+ h1#content {
575
+ margin-top: 0em;
576
+ margin-left: -2em; }
577
+
578
+ h1.containerhdr {
579
+ font-size: 2em;
580
+ font-weight: 400;
581
+ margin-top: 2em;
582
+ margin-bottom: 30px;
583
+ border-bottom: none; }
584
+
585
+ h2.containerhdr {
586
+ font-size: 1.8em;
587
+ font-weight: 400;
588
+ margin-left: -75px;
589
+ font-style: italic;
590
+ padding: 45px 15px 15px 50px; }
591
+
592
+ h2 {
593
+ font-size: 1.5em;
594
+ font-weight: 400; }
595
+
596
+ h3 {
597
+ font-size: 1.1em;
598
+ font-weight: 100; }
599
+
600
+ .TermNum, .Terms, .AltTerms {
601
+ color: #301907;
602
+ font-weight: 100; }
603
+
604
+ h2.TermNum {
605
+ font-size: 0.9em;
606
+ line-height: 1em;
607
+ margin: 0;
608
+ margin-top: 2em; }
609
+
610
+ p.Terms {
611
+ font-size: 1.1em;
612
+ line-height: 1.7em;
613
+ margin: 0; }
614
+
615
+ /*
616
+ 3.2 Links
617
+ */
618
+ a, a:visited {
619
+ text-decoration: none;
620
+ color: #485094; }
621
+
622
+ a:hover {
623
+ color: white;
624
+ background: #301907;
625
+ box-shadow: 3px 0 0 #301907, -3px 0 0 #301907; }
626
+
627
+ ::selection,
628
+ ::-moz-selection {
629
+ background: #301907;
630
+ color: white; }
631
+
632
+ /*
633
+ 3.3 Lists
634
+ */
635
+ ul, ol {
636
+ margin-left: 1.2em; }
637
+
638
+ ul > li {
639
+ list-style: none; }
640
+
641
+ ul > li:before {
642
+ content: "\2014";
643
+ display: inline-block;
644
+ width: 1em;
645
+ margin-left: -1.2em; }
646
+
647
+ ul > li p:first-child {
648
+ display: inline; }
649
+
650
+ ul > li:first-child {
651
+ margin-top: 1em; }
652
+
653
+ #toc-list ul {
654
+ margin-bottom: 0.25em; }
655
+
656
+ #toc-list li {
657
+ list-style-type: none; }
658
+
659
+ #toc li:before {
660
+ content: " ";
661
+ display: none; }
662
+
663
+ /*
664
+ 3.4 Rules
665
+ */
666
+ .rule {
667
+ width: 100%;
668
+ height: 1px;
669
+ background-color: #0e1a85;
670
+ margin: 2em 0; }
671
+
672
+ /*
673
+ 3.5 Bibliograhy
674
+ */
675
+ p.Biblio, p.NormRef {
676
+ margin-top: 1em;
677
+ margin-left: 2em; }
678
+
679
+ /*
680
+ 3.6 Source Code + figures
681
+ */
682
+ .figure,
683
+ pre,
684
+ .pseudocode {
685
+ background-color: #f7f7f7;
686
+ font-size: 0.8em;
687
+ line-height: 1.6em;
688
+ padding: 1.5em;
689
+ margin: 2em 0 1em 0;
690
+ overflow: auto; }
691
+ .figure .SourceTitle,
692
+ pre .SourceTitle,
693
+ .pseudocode .SourceTitle {
694
+ font-weight: 700;
695
+ font-size: 1em;
696
+ text-align: center; }
697
+
698
+ pre {
699
+ font-family: {{monospacefont}};
700
+ font-variant-ligatures: none; }
701
+
702
+ .AdmonitionTitle {
703
+ font-weight: 700;
704
+ font-size: 1em;
705
+ text-align: center; }
706
+
707
+ .RecommendationTitle {
708
+ font-weight: 700;
709
+ font-size: 1em;
710
+ text-align: center; }
711
+
712
+ .FigureTitle,
713
+ .SourceTitle {
714
+ font-weight: 700;
715
+ font-size: 1em;
716
+ text-align: center; }
717
+
718
+ /*
719
+ 3.7 Notes
720
+ */
721
+ .Note {
722
+ background-color: #fff495;
723
+ color: #47430c;
724
+ padding: 1.2em;
725
+ margin: 2em 0 1em 0; }
726
+
727
+ .Admonition {
728
+ background-color: #ffcccc;
729
+ color: #47430c;
730
+ padding: 1.2em;
731
+ margin: 2em 0 1em 0; }
732
+
733
+ /*
734
+ 3.8 Examples
735
+ */
736
+ .example {
737
+ background-color: #e1eef1;
738
+ padding: 1.2em;
739
+ margin: 2em 0 1em 0;
740
+ text-align: left;
741
+ color: #424242;
742
+ padding-left: 2.7em; }
743
+ .example p {
744
+ margin: 0; }
745
+ .example .example-title {
746
+ font-weight: 700;
747
+ text-transform: uppercase;
748
+ margin-left: -1.5em; }
749
+ .example .example-title {
750
+ margin-top: 0; }
751
+ .example pre,
752
+ .example .pseudocode {
753
+ background: none; }
754
+
755
+ /*
756
+ 3.9 Tables
757
+ */
758
+ table {
759
+ width: 100%;
760
+ font-weight: 300;
761
+ margin: 1em 0 2em 0;
762
+ margin-left: auto;
763
+ margin-right: auto;
764
+ padding-right: 2em; }
765
+ table, table th, table td {
766
+ border: 1px solid black;
767
+ font-size: 0.95em; }
768
+ table th, table td {
769
+ padding: 1em; }
770
+ table td.header {
771
+ font-weigth: 400; }
772
+ table.glossary, table.glossary tr, table.glossary td {
773
+ border: none; }
774
+ table.glossary td {
775
+ border-bottom: 1px solid black;
776
+ padding-bottom: 5px;
777
+ padding-top: 20px; }
778
+
779
+ p.TableTitle {
780
+ text-align: center;
781
+ margin-top: 2.5em;
782
+ font-weight: 400; }
783
+
784
+ /*
785
+ 3.10 Footnotes
786
+ */
787
+ a.footnote-number {
788
+ vertical-align: super;
789
+ font-size: 0.8em; }
790
+
791
+ .footnote {
792
+ font-size: 0.9em; }
793
+
794
+ /*
795
+ 3.11 Blockquotes
796
+ */
797
+ .Quote {
798
+ background-color: #f7f7f7;
799
+ font-style: italic;
800
+ width: 80%;
801
+ padding: 1.5em;
802
+ margin-top: 2em;
803
+ margin-left: auto;
804
+ margin-right: auto; }
805
+
806
+ /*
807
+ 3.12 Formulas
808
+ */
809
+ .formula {
810
+ background-color: #f7f7f7;
811
+ padding: 1.5em;
812
+ margin-top: 2em;
813
+ text-align: center; }
814
+
815
+ /*
816
+ 3.13 Contact Info
817
+ */
818
+ .contact-info {
819
+ padding: 2em;
820
+ margin-top: 5em;
821
+ width: 250px;
822
+ text-align: left;
823
+ border: #1661AD solid 2px;
824
+ color: #1661AD !important;
825
+ border-radius: 25px; }
826
+
827
+ .contact-info a,
828
+ .contact-info a:hover {
829
+ color: #1661AD; }
830
+
831
+ .contact-info p, .contact-info a {
832
+ font-family: {{monospacefont}};
833
+ font-variant-ligatures: none;
834
+ font-weight: 400; }
835
+
836
+ .contact-info .name {
837
+ font-weight: 700;
838
+ font-size: 1.2em;
839
+ margin-bottom: 0; }
840
+
841
+ .contact-info .address {
842
+ font-size: 1em;
843
+ line-height: 1.3em;
844
+ margin-top: 0; }
845
+
846
+ /*
847
+ Keywords
848
+ */
849
+ span.keyword {
850
+ font-weight: 600; }
851
+
852
+ /*
853
+ Paragraphs
854
+ */
855
+ p {
856
+ margin-top: 1em;
857
+ margin-bottom: 1em; }
858
+
859
+ h2 p {
860
+ display: inline; }
861
+
862
+ /*
863
+ 4.0 Page header
864
+ */
865
+ /*
866
+ 4.1 Top Logo
867
+ */
868
+ .icon-svg {
869
+ width: 100%;
870
+ color: #5ecf86; }
871
+
872
+ .wrapper-top {
873
+ color: #ffffff;
874
+ padding: 3em 0 6em 0;
875
+ width: 100%; }
876
+
877
+ .wrapper-top-bottom {
878
+ width: 0;
879
+ height: 0;
880
+ border-top: 100px solid #1661AD;
881
+ border-right: 100px solid transparent;
882
+ position: absolute; }
883
+
884
+ .doc-number {
885
+ font-size: 1.0em;
886
+ font-family: {{bodyfont}};
887
+ margin-left: 5em; }
888
+
889
+ .coverpage-title {
890
+ font-family: {{headerfont}};
891
+ line-height: 1.5em;
892
+ font-weight: 100;
893
+ padding: 1em;
894
+ /*text-transform: uppercase;*/
895
+ margin-left: 3.5em;
896
+ margin-bottom: 3em;
897
+ border-left: 0.5em solid white; }
898
+
899
+ .WordSection11 {
900
+ padding: 0 2em 0 3em; }
901
+
902
+ .info-section {
903
+ padding: 0 2em 0 5em; }
904
+
905
+ .prefatory-section {
906
+ padding: 0 3em 0 6em; }
907
+
908
+ .zzSTDTitle1, .MsoCommentText {
909
+ display: none; }
910
+
911
+ .coverpage {
912
+ background: linear-gradient(200deg, #fa6742, #FD8924);
913
+ padding-left: 1.5em; }
914
+
915
+ .coverpage-logo span, .coverpage-tc-name span {
916
+ font-family: {{bodyfont}};
917
+ text-transform: none;
918
+ font-weight: 300; }
919
+
920
+ .coverpage-footer {
921
+ text-align: left;
922
+ margin-left: 5em; }
923
+
924
+ .coverpage-logo span {
925
+ display: block; }
926
+
927
+ .coverpage-logo span.doc-edition {
928
+ font-weight: 800;
929
+ display: block;
930
+ font-size: 1.2em; }
931
+
932
+ .coverpage-location {
933
+ font-size: 1em;
934
+ line-height: 1.2em;
935
+ padding-top: 1em;
936
+ margin: 0.25em 0; }
937
+
938
+ .section-content {
939
+ padding-right: 50px; }
940
+
941
+ /*
942
+ 4.2 Document Identity
943
+ */
944
+ .coverpage-doc-identity {
945
+ margin-bottom: 3em;
946
+ padding-left: 5em; }
947
+
948
+ .coverpage-doc-identity::after {
949
+ clear: both;
950
+ content: "";
951
+ display: table; }
952
+
953
+ .coverpage-doc-identity .logo {
954
+ width: 50px;
955
+ height: auto; }
956
+
957
+ .coverpage-doc-identity .logo, .coverpage-doc-identity .publisher {
958
+ float: left;
959
+ display: block; }
960
+
961
+ .coverpage-doc-identity .publisher {
962
+ line-height: 50px;
963
+ margin-left: 1em;
964
+ font-size: 1.2em; }
965
+
966
+ .coverpage-title .title-second {
967
+ display: none; }
968
+
969
+ .coverpage-title span {
970
+ display: block;
971
+ text-align: left; }
972
+
973
+ .coverpage-title span.title-1 {
974
+ font-weight: 900;
975
+ font-size: 1.8em;
976
+ line-height: 2em; }
977
+
978
+ .coverpage-title span.title-2 {
979
+ font-size: 0.8em;
980
+ font-style: italic; }
981
+
982
+ .coverpage-title span.title-3 {
983
+ padding-top: 1em;
984
+ font-size: 2.2em;
985
+ line-height: 1.2em; }
986
+
987
+ .coverpage-stage-block {
988
+ font-family: {{bodyfont}};
989
+ font-weight: 600;
990
+ font-size: 1.25em;
991
+ margin: 2em 0em 2em 0em;
992
+ text-transform: uppercase; }
993
+
994
+ /*
995
+ 4.3 Draft Warning
996
+ */
997
+ .coverpage-warning {
998
+ border: #f36f36 solid 2px;
999
+ color: #f36f36 !important;
1000
+ margin: 1em 2em;
1001
+ color: #485094;
1002
+ padding: 2em 1em 1em 1em;
1003
+ border-radius: 25px; }
1004
+
1005
+ .coverpage-warning .title {
1006
+ font-family: {{headerfont}};
1007
+ font-weight: 300;
1008
+ text-transform: uppercase;
1009
+ font-size: 1.2em; }
1010
+
1011
+ /*
1012
+ 4.4 Copyright
1013
+ */
1014
+ .copyright {
1015
+ padding: 1em;
1016
+ font-size: 0.8em;
1017
+ text-align: left; }
1018
+
1019
+ /*
1020
+ 5.0 Other styles
1021
+ */
1022
+ @page {
1023
+ margin: 2cm 1cm; }
1024
+
1025
+ @media print {
1026
+ .document-info, nav, .copyright {
1027
+ page-break-before: always; }
1028
+ .coverpage-doc-identity .logo {
1029
+ -webkit-filter: invert(100%);
1030
+ /* Safari 6.0 - 9.0 */
1031
+ filter: invert(100%); }
1032
+ .coverpage-title {
1033
+ border-left: 0.5em solid #888; }
1034
+ h1, h2, h3, h4 {
1035
+ page-break-after: avoid;
1036
+ margin-top: 1.2em; }
1037
+ .note, .figure, pre, .pseudocode, table {
1038
+ page-break-inside: avoid; }
1039
+ .info-section {
1040
+ display: none; }
1041
+ .coverpage {
1042
+ height: 27cm; }
1043
+ .wrapper-top {
1044
+ color: #000;
1045
+ top: 0;
1046
+ padding-top: 4cm;
1047
+ padding-bottom: 4cm; }
1048
+ .wrapper-top-bottom {
1049
+ margin-top: -5px; }
1050
+ .container {
1051
+ padding-left: 0; }
1052
+ h1.content {
1053
+ margin-top: 2em;
1054
+ line-height: 2.5em; }
1055
+ h1 {
1056
+ font-size: 1.5em;
1057
+ line-height: 1.5; }
1058
+ h2 {
1059
+ font-size: 1.2em; }
1060
+ h3 {
1061
+ font-size: 1em; }
1062
+ .Note {
1063
+ background-color: #fff495;
1064
+ color: #47430c;
1065
+ padding: 5px;
1066
+ margin: 2em 0 1em 0; }
1067
+ .Note p {
1068
+ padding: 0 5px 0 5px; }
1069
+ .Admonition {
1070
+ background-color: #ffcccc;
1071
+ color: #47430c;
1072
+ padding: 5px;
1073
+ margin: 2em 0 1em 0; }
1074
+ .Admonition p {
1075
+ padding: 0 5px 0 5px; }
1076
+ nav {
1077
+ line-height: 1; }
1078
+ .wrapper-top-bottom {
1079
+ display: none; } }
1080
+
1081
+ /* Mobile Styles */
1082
+ @media only screen and (max-width: 400px) {
1083
+ .coverpage-doc-identity {
1084
+ margin-bottom: 2em;
1085
+ padding-left: 0em; }
1086
+ .coverpage-doc-identity .publisher {
1087
+ line-height: 1.2em;
1088
+ width: 70%; }
1089
+ .doc-number {
1090
+ margin-left: 0; }
1091
+ .coverpage-title {
1092
+ margin-left: 0;
1093
+ font-size: 0.8em; }
1094
+ .coverpage-footer {
1095
+ margin-left: 0; }
1096
+ .prefatory-section {
1097
+ padding-left: 0; }
1098
+ main {
1099
+ margin-left: 1em; }
1100
+ h1 {
1101
+ margin-left: 0;
1102
+ padding-left: 0; }
1103
+ h1#content {
1104
+ margin-left: 1em; } }
1105
+
1106
+ /* Tablet Styles */
1107
+ @media only screen and (min-width: 401px) and (max-width: 960px) {
1108
+ .coverpage-doc-identity {
1109
+ margin-bottom: 2em;
1110
+ padding-left: 0em; }
1111
+ .coverpage-doc-identity .publisher {
1112
+ line-height: 1.2em;
1113
+ width: 70%; }
1114
+ .doc-number {
1115
+ margin-left: 0; }
1116
+ .coverpage-title {
1117
+ margin-left: 0;
1118
+ font-size: 0.8em; }
1119
+ .coverpage-footer {
1120
+ margin-left: 0; }
1121
+ .prefatory-section {
1122
+ padding-left: 0; }
1123
+ main {
1124
+ margin-left: 2em; }
1125
+ h1 {
1126
+ margin-left: 0em;
1127
+ padding-left: 0; }
1128
+ h1#content {
1129
+ margin-left: 1em; } }
1130
+
1131
+ @media screen and (max-width: 768px) {
1132
+ #toggle {
1133
+ display: none; }
1134
+ .rule.toc {
1135
+ display: none; } }
1136
+
1137
+ @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
1138
+ .main-section h1 {
1139
+ margin-left: 14px; }
1140
+ .main-section h2, h3, h4, ol, ul, p, .ms-table-wrap {
1141
+ margin-left: 75px; }
1142
+ .main-section li p {
1143
+ margin-left: 5px; }
1144
+ .main-section li {
1145
+ margin-left: 25px; } }