metanorma-mpfa 0.4.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
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; } }