metanorma-un 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: c9484f6d68525030139b643bb84a2500ecd613de975622d70d3dbb831e1ed4e1
4
- data.tar.gz: e1d7ad057c81b672d7b4ff7b3e7aaef4d866905759ae194fc40d6e6fc879790d
3
+ metadata.gz: dc1295968cc10b0b89283f1d97d5b5aff3183139823968533503b5fa28c48912
4
+ data.tar.gz: 32d22c30798205724b124e46a9ff083ae2f328234892bd56948d1743a228dbad
5
5
  SHA512:
6
- metadata.gz: 845fc76b8e55bc19790d426ed6be50b53f991eaee51e37732bb89f38854cf6757a2eed070d54e70da39c810a7bf9131f68809c4adf9001371010fd9dbcae6d57
7
- data.tar.gz: 8b81359b67896c8101871b9284285fe819394a9665389f2776af10ae1919788a1e852943c8f145ca33992cd2538ec4f4f80da028a9549df39b09684572a1cf58
6
+ metadata.gz: b75a917230a117efcf574e5d07279c59663823e0c34d296a66eda151ea888a0a7f7f0a678eb574879e36db454eac5f28e40da7735b8678f170265a4a2016d408
7
+ data.tar.gz: c051b967d74be693e30f70414b3e419f5591e7a91805dee26a5235b450dae6d2f5b18a46defb3cb77b62e076a25bbbbb604265e10df8ec9d32c6a6275b2c9f9b
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
@@ -5,34 +5,14 @@ require_relative "validate"
5
5
 
6
6
  module Asciidoctor
7
7
  module UN
8
-
9
- # A {Converter} implementation that generates RSD output, and a document
10
- # schema encapsulation of the document for validation
11
- #
12
8
  class Converter < Standoc::Converter
13
9
  XML_ROOT_TAG = "un-standard".freeze
14
10
  XML_NAMESPACE = "https://www.metanorma.org/ns/un".freeze
15
11
 
16
12
  register_for "un"
17
13
 
18
- def metadata_author(node, xml)
19
- xml.contributor do |c|
20
- c.role **{ type: "author" }
21
- c.organization do |a|
22
- a.name Metanorma::UN::ORGANIZATION_NAME_LONG
23
- a.abbreviation Metanorma::UN::ORGANIZATION_NAME_SHORT
24
- end
25
- end
26
- end
27
-
28
- def metadata_publisher(node, xml)
29
- xml.contributor do |c|
30
- c.role **{ type: "publisher" }
31
- c.organization do |a|
32
- a.name Metanorma::UN::ORGANIZATION_NAME_LONG
33
- a.abbreviation Metanorma::UN::ORGANIZATION_NAME_SHORT
34
- end
35
- end
14
+ def default_publisher
15
+ "United Nations"
36
16
  end
37
17
 
38
18
  def metadata_committee(node, xml)
@@ -49,41 +29,35 @@ module Asciidoctor
49
29
  end
50
30
  end
51
31
 
32
+ def asciidoc_sub(text)
33
+ Asciidoctor::Standoc::Utils::asciidoc_sub(text)
34
+ end
35
+
52
36
  def title(node, xml)
53
37
  ["en"].each do |lang|
54
- xml.title **{ type: "main", language: lang, format: "text/plain" } do |t|
55
- t << (Asciidoctor::Standoc::Utils::asciidoc_sub(node.attr("title")) || node.title)
38
+ xml.title **{ type: "main", language: lang,
39
+ format: "text/plain" } do |t|
40
+ t << (asciidoc_sub(node.attr("title")) || node.title)
56
41
  end
57
42
  node.attr("subtitle") and
58
- xml.title **{ type: "subtitle", language: lang, format: "text/plain" } do |t|
59
- t << Asciidoctor::Standoc::Utils::asciidoc_sub(node.attr("subtitle"))
60
- end
43
+ xml.title **{ type: "subtitle", language: lang,
44
+ format: "text/plain" } do |t|
45
+ t << asciidoc_sub(node.attr("subtitle"))
46
+ end
61
47
  end
62
48
  end
63
49
 
64
50
  def metadata_id(node, xml)
65
51
  dn = node.attr("docnumber")
66
52
  if docstatus = node.attr("status")
67
- abbr = IsoDoc::UN::Metadata.new("en", "Latn", {}).stage_abbr(docstatus)
53
+ abbr = IsoDoc::UN::Metadata.new("en", "Latn", @i18n)
54
+ .stage_abbr(docstatus)
68
55
  dn = "#{dn}(#{abbr})" unless abbr.empty?
69
56
  end
70
57
  xml.docidentifier { |i| i << dn }
71
58
  xml.docnumber { |i| i << node.attr("docnumber") }
72
59
  end
73
60
 
74
- def metadata_copyright(node, xml)
75
- from = node.attr("copyright-year") || Date.today.year
76
- xml.copyright do |c|
77
- c.from from
78
- c.owner do |owner|
79
- owner.organization do |o|
80
- o.name Metanorma::UN::ORGANIZATION_NAME_LONG
81
- o.abbreviation Metanorma::UN::ORGANIZATION_NAME_SHORT
82
- end
83
- end
84
- end
85
- end
86
-
87
61
  def metadata_distribution(node, xml)
88
62
  xml.distribution node.attr("distribution") if node.attr("distribution")
89
63
  end
@@ -92,17 +66,26 @@ module Asciidoctor
92
66
  xml.session do |session|
93
67
  session.number node.attr("session") if node.attr("session")
94
68
  session.date node.attr("session-date") if node.attr("session-date")
95
- node&.attr("item-number")&.split(/,[ ]*/)&.each { |i| session.item_number i }
96
- node&.attr("item-name")&.split(/,[ ]*/)&.each { |i| session.item_name i }
97
- node&.attr("subitem-name")&.split(/,[ ]*/)&.each { |i| session.subitem_name i }
98
- session.collaborator node.attr("collaborator") if node.attr("collaborator")
69
+ node&.attr("item-number")&.split(/,[ ]*/)&.each do |i|
70
+ session.item_number i
71
+ end
72
+ node&.attr("item-name")&.split(/,[ ]*/)&.each do |i|
73
+ session.item_name i
74
+ end
75
+ node&.attr("subitem-name")&.split(/,[ ]*/)&.each do |i|
76
+ session.subitem_name i
77
+ end
78
+ node.attr("collaborator") and
79
+ session.collaborator node.attr("collaborator")
99
80
  session.id node.attr("agenda-id") if node.attr("agenda-id")
100
- session.item_footnote node.attr("item-footnote") if node.attr("item-footnote")
81
+ node.attr("item-footnote") and
82
+ session.item_footnote node.attr("item-footnote")
101
83
  end
102
84
  end
103
85
 
104
86
  def metadata_language(node, xml)
105
- languages = node&.attr("language")&.split(/,[ ]*/) || %w(ar ru en fr zh es)
87
+ languages = node&.attr("language")&.split(/,[ ]*/) ||
88
+ %w(ar ru en fr zh es)
106
89
  languages.each { |l| xml.language l }
107
90
  end
108
91
 
@@ -124,15 +107,19 @@ module Asciidoctor
124
107
 
125
108
  def makexml(node)
126
109
  @draft = node.attributes.has_key?("draft")
127
- @no_number_subheadings = node.attributes.has_key?("do-not-number-subheadings")
110
+ @no_number_subheadings =
111
+ node.attributes.has_key?("do-not-number-subheadings")
128
112
  super
129
113
  end
130
114
 
131
115
  def doctype(node)
132
- d = node.attr("doctype")
133
- unless %w{plenary recommendation addendum communication corrigendum reissue
134
- agenda budgetary sec-gen-notes expert-report resolution plenary-attachment}.include? d
135
- @log.add("Document Attributes", nil, "#{d} is not a legal document type: reverting to 'recommendation'")
116
+ d = super
117
+ unless %w{plenary recommendation addendum communication corrigendum
118
+ reissue agenda budgetary sec-gen-notes expert-report resolution
119
+ plenary-attachment}.include? d
120
+ @log.add(
121
+ "Document Attributes", nil,
122
+ "#{d} is not a legal document type: reverting to 'recommendation'")
136
123
  d = "recommendation"
137
124
  end
138
125
  d
@@ -141,9 +128,12 @@ module Asciidoctor
141
128
  def outputs(node, ret)
142
129
  File.open(@filename + ".xml", "w:UTF-8") { |f| f.write(ret) }
143
130
  presentation_xml_converter(node).convert(@filename + ".xml")
144
- html_converter(node).convert(@filename + ".presentation.xml", nil, false, "#{@filename}.html")
145
- doc_converter(node).convert(@filename + ".presentation.xml", nil, false, "#{@filename}.doc")
146
- pdf_converter(node)&.convert(@filename + ".presentation.xml", nil, false, "#{@filename}.pdf")
131
+ html_converter(node).convert(@filename + ".presentation.xml",
132
+ nil, false, "#{@filename}.html")
133
+ doc_converter(node).convert(@filename + ".presentation.xml",
134
+ nil, false, "#{@filename}.doc")
135
+ pdf_converter(node)&.convert(@filename + ".presentation.xml",
136
+ nil, false, "#{@filename}.pdf")
147
137
  end
148
138
 
149
139
  def validate(doc)
@@ -217,10 +207,8 @@ module Asciidoctor
217
207
  end
218
208
 
219
209
  def admonition_attrs(node)
220
- attr_code(super.merge(
221
- "unnumbered": node.option?("unnumbered"),
222
- "subsequence": node.attr("subsequence"),
223
- ))
210
+ attr_code(super.merge("unnumbered": node.option?("unnumbered"),
211
+ "subsequence": node.attr("subsequence")))
224
212
  end
225
213
 
226
214
  def sectiontype_streamline(ret)
@@ -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>
@@ -14,7 +14,8 @@ module Asciidoctor
14
14
  stage = xmldoc&.at("//bibdata/status/stage")&.text
15
15
  %w(proposal working-draft committee-draft draft-standard final-draft
16
16
  published withdrawn).include? stage or
17
- @log.add("Document Attributes", nil, "#{stage} is not a recognised status")
17
+ @log.add("Document Attributes", nil,
18
+ "#{stage} is not a recognised status")
18
19
  end
19
20
  end
20
21
  end
@@ -1,52 +1,12 @@
1
- require_relative "metadata"
2
- require_relative "xref"
3
1
  require "fileutils"
4
2
 
5
3
  module IsoDoc
6
4
  module UN
7
5
  module BaseConvert
8
- def metadata_init(lang, script, labels)
9
- @meta = Metadata.new(lang, script, labels)
10
- @meta.set(:toc, @toc)
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.br
21
- t.b do |b|
22
- name&.children&.each { |c2| parse(c2, b) }
23
- end
24
- end
25
- end
26
-
27
- def i18n_init(lang, script)
28
- super
29
- @admonition_lbl = "Box"
30
- @abstract_lbl = "Summary"
31
- end
32
-
33
- def fileloc(loc)
34
- File.join(File.dirname(__FILE__), loc)
35
- end
36
-
37
6
  def middle_clause
38
7
  "//clause[parent::sections]"
39
8
  end
40
9
 
41
- def admonition_name_parse(node, div, name)
42
- div.p **{ class: "AdmonitionTitle", style: "text-align:center;" } do |p|
43
- lbl = @xrefs.anchor(node['id'], :label)
44
- lbl.nil? or p << l10n("#{@admonition_lbl} #{lbl}")
45
- name and !lbl.nil? and p << "&nbsp;&mdash; "
46
- name and name.children.each { |n| parse(n, div) }
47
- end
48
- end
49
-
50
10
  def admonition_parse(node, out)
51
11
  name = node.at(ns("./name"))
52
12
  out.div **admonition_attrs(node) do |t|
@@ -57,13 +17,10 @@ def xref_init(lang, script, klass, labels, options)
57
17
  end
58
18
  end
59
19
 
60
- def inline_header_title(out, node, c1)
20
+ def inline_header_title(out, node, title)
61
21
  out.span **{ class: "zzMoveToFollowing" } do |s|
62
- if lbl = @xrefs.anchor(node['id'], :label)
63
- s << "#{lbl}. " unless @suppressheadingnumbers
64
- insert_tab(s, 1)
65
- end
66
- c1&.children&.each { |c2| parse(c2, s) }
22
+ title&.children&.each { |c2| parse(c2, s) }
23
+ clausedelimspace(out) if /\S/.match(title&.text)
67
24
  end
68
25
  end
69
26
 
@@ -73,18 +30,6 @@ def xref_init(lang, script, klass, labels, options)
73
30
  return true if docxml&.at(ns("//bibdata/ext/session/*"))
74
31
  false
75
32
  end
76
-
77
- def note_label(node)
78
- n = @xrefs.get[node["id"]]
79
- lbl = case node["type"]
80
- when "source" then "Source"
81
- when "abbreviation" then "Abbreviations"
82
- else
83
- @note_lbl
84
- end
85
- return "#{lbl}:" # if n.nil? || n[:label].nil? || n[:label].empty?
86
- #l10n("#{lbl} #{n[:label]}:")
87
- end
88
33
  end
89
34
  end
90
35
  end
@@ -0,0 +1,1096 @@
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
+ /* http://www.un.org/styleguide/ color */
220
+ /* http://www.99colors.net/name/united-nations-blue */
221
+ /* http://www.un.org/styleguide/ label text */
222
+ /* http://www.un.org/styleguide/ brand-bar */
223
+ /* http://www.un.org/styleguide/ p */
224
+ /* RT: I made this up */
225
+ body {
226
+ margin-left: auto;
227
+ margin-right: auto;
228
+ max-width: 100%;
229
+ font-size: 15px;
230
+ font-weight: 300;
231
+ line-height: 1.4em;
232
+ color: #333;
233
+ background-color: #ffffff;
234
+ font-weight: 400; }
235
+ body main {
236
+ margin: 0 3em 0 6em; }
237
+
238
+ main {
239
+ margin: 0 3em 0 6em; }
240
+
241
+ p {
242
+ line-height: 1.6; }
243
+
244
+ /*
245
+ 2. Responsive navigation layout
246
+ */
247
+ #toc {
248
+ font-family: {{bodyfont}};
249
+ font-weight: 400; }
250
+ #toc ul {
251
+ margin: 0;
252
+ padding: 0;
253
+ list-style: none; }
254
+ #toc ul li a {
255
+ padding: 5px 10px; }
256
+ #toc ul a {
257
+ color: #333;
258
+ text-decoration: none;
259
+ display: block; }
260
+ #toc ul a:hover {
261
+ box-shadow: none;
262
+ color: #333; }
263
+ #toc .h2 {
264
+ padding-left: 30px; }
265
+ #toc .h3 {
266
+ padding-left: 50px; }
267
+ #toc .toc-active, #toc li:hover {
268
+ background: #1661ad;
269
+ box-shadow: inset -5px 0px 10px -5px #1661ad !important; }
270
+ #toc .toc-active a, #toc li:hover a {
271
+ color: #333; }
272
+ @media print {
273
+ #toc .toc-active, #toc li:hover {
274
+ background: white;
275
+ box-shadow: none !important; }
276
+ #toc .toc-active a {
277
+ color: #333; }
278
+ #toc li:hover a {
279
+ color: black; } }
280
+ @media screen and (max-width: 768px) {
281
+ #toc {
282
+ padding: 0 1.5em;
283
+ overflow: visible; } }
284
+ #toc .toc-active a {
285
+ color: white; }
286
+ #toc .toc-active,
287
+ #toc li:hover {
288
+ background: linear-gradient(280deg, #00ADEF, #5b92e5);
289
+ box-shadow: inset -5px 0px 10px -5px #00ADEF !important; }
290
+ #toc .toc-active a,
291
+ #toc li:hover a {
292
+ color: white;
293
+ background: none;
294
+ box-shadow: none; }
295
+ #toc ul a:hover {
296
+ box-shadow: none;
297
+ color: white; }
298
+
299
+ @media screen and (min-width: 768px) {
300
+ nav {
301
+ position: fixed;
302
+ top: 0;
303
+ bottom: 0;
304
+ left: 0;
305
+ width: 323px;
306
+ font-size: 0.9em;
307
+ overflow: auto;
308
+ padding: 0 0 0 45px;
309
+ background-color: #f2f2f2; } }
310
+
311
+ @media print {
312
+ nav {
313
+ position: relative;
314
+ width: auto;
315
+ font-size: 0.9em;
316
+ overflow: auto;
317
+ padding: 0;
318
+ margin-right: 0;
319
+ background-color: white; } }
320
+
321
+ @media screen and (min-width: 768px) {
322
+ #toggle {
323
+ position: fixed;
324
+ height: 100%;
325
+ width: 30px;
326
+ background-color: #00ADEF;
327
+ color: white !important;
328
+ cursor: pointer;
329
+ z-index: 100; }
330
+ #toggle span {
331
+ text-align: center;
332
+ width: 100%;
333
+ position: absolute;
334
+ top: 50%;
335
+ transform: translate(0, -50%); } }
336
+
337
+ @media screen and (max-width: 768px) {
338
+ #toggle {
339
+ display: none; } }
340
+
341
+ @media print {
342
+ #toggle {
343
+ display: none; } }
344
+
345
+ @media screen and (min-width: 768px) {
346
+ .container {
347
+ padding-left: 360px; }
348
+ .rule.toc {
349
+ display: none; }
350
+ h1.toc-contents {
351
+ margin-top: 1em; }
352
+ ul#toc-list {
353
+ margin: 0;
354
+ padding: 0; } }
355
+
356
+ .figure {
357
+ line-height: 1.6em;
358
+ padding: 1.5em;
359
+ margin: 2em 0 1em 0;
360
+ overflow: auto; }
361
+ .figure .FigureTitle, .figure .figure-title {
362
+ font-weight: 700;
363
+ font-size: 1em;
364
+ text-align: center; }
365
+ .figure > img {
366
+ margin-left: auto;
367
+ margin-right: auto;
368
+ display: block;
369
+ max-width: 100%;
370
+ height: auto; }
371
+
372
+ /*
373
+ Document types + stages
374
+ */
375
+ .document-type-band {
376
+ left: 0;
377
+ top: 180px;
378
+ height: 100%;
379
+ position: fixed;
380
+ display: block;
381
+ z-index: 102; }
382
+ .document-type-band > :first-child {
383
+ position: relative;
384
+ width: 25px;
385
+ font-weight: 400;
386
+ color: white;
387
+ text-transform: uppercase;
388
+ font-size: 0.9em;
389
+ font-weight: 400;
390
+ letter-spacing: 0.05em;
391
+ margin: 0;
392
+ margin-left: 6px;
393
+ writing-mode: tb-rl;
394
+ -webkit-transform: rotate(180deg);
395
+ -moz-transform: rotate(180deg);
396
+ -o-transform: rotate(180deg);
397
+ white-space: nowrap;
398
+ display: block;
399
+ bottom: 0; }
400
+ @media print {
401
+ .document-type-band {
402
+ display: none; } }
403
+ .document-type-band .document-type {
404
+ top: 20px; }
405
+
406
+ .document-stage-band {
407
+ left: 0;
408
+ top: 0;
409
+ height: 100%;
410
+ position: fixed;
411
+ display: block;
412
+ z-index: 101;
413
+ box-shadow: -5px 0px 10px #1d1d1d; }
414
+ .document-stage-band > :first-child {
415
+ position: relative;
416
+ width: 25px;
417
+ font-weight: 400;
418
+ height: 150;
419
+ color: white;
420
+ text-transform: uppercase;
421
+ font-size: 0.9em;
422
+ font-weight: 400;
423
+ letter-spacing: 0.05em;
424
+ margin: 0;
425
+ margin-left: 6px;
426
+ writing-mode: tb-rl;
427
+ -webkit-transform: rotate(180deg);
428
+ -moz-transform: rotate(180deg);
429
+ -o-transform: rotate(180deg);
430
+ white-space: nowrap;
431
+ display: block;
432
+ bottom: 0; }
433
+ @media print {
434
+ .document-stage-band {
435
+ display: none; } }
436
+ .document-stage-band > :first-child {
437
+ font-weight: 300; }
438
+
439
+ div.document-stage-band,
440
+ div.document-type-band {
441
+ background-color: #9abd48; }
442
+
443
+ p.document-type,
444
+ p.document-stage {
445
+ position: relative;
446
+ width: 25px;
447
+ font-weight: 400;
448
+ height: 150;
449
+ color: white;
450
+ text-transform: uppercase;
451
+ font-size: 0.9em;
452
+ font-weight: 400;
453
+ letter-spacing: 0.05em;
454
+ margin: 0;
455
+ margin-left: 6px;
456
+ writing-mode: tb-rl;
457
+ -webkit-transform: rotate(180deg);
458
+ -moz-transform: rotate(180deg);
459
+ -o-transform: rotate(180deg);
460
+ white-space: nowrap;
461
+ display: block;
462
+ bottom: 0; }
463
+
464
+ #governance-band p.document-type {
465
+ height: 230px !important; }
466
+
467
+ p.document-stage {
468
+ font-weight: 300;
469
+ height: 160px; }
470
+
471
+ #standard-band p {
472
+ height: 270px; }
473
+
474
+ #proposal-band p {
475
+ height: 150px; }
476
+
477
+ #standard-band,
478
+ #published-band {
479
+ background-color: #9abd48; }
480
+
481
+ #standard,
482
+ #published {
483
+ border-bottom: solid 3px #9abd48; }
484
+
485
+ #governance,
486
+ #policy-and-procedures {
487
+ border-bottom: solid 3px #750697; }
488
+
489
+ #governance-band,
490
+ #policy-and-procedures-band {
491
+ background-color: #750697; }
492
+
493
+ #guide {
494
+ border-bottom: solid 3px #48a0e7; }
495
+
496
+ #guide-band {
497
+ background-color: #48a0e7; }
498
+
499
+ .coverpage-maturity {
500
+ font-family: {{bodyfont}};
501
+ font-weight: 400;
502
+ font-size: 1em;
503
+ margin: 0 0 2em 0;
504
+ text-transform: uppercase; }
505
+
506
+ #working-draft,
507
+ #proposal {
508
+ border-bottom: solid 3px #f7803c; }
509
+
510
+ #working-draft-band,
511
+ #proposal-band {
512
+ background-color: #f7803c; }
513
+
514
+ #committee-draft {
515
+ border-bottom: solid 3px #fd06fd; }
516
+
517
+ #committee-draft-band {
518
+ background-color: #fd06fd; }
519
+
520
+ #draft-standard {
521
+ border-bottom: solid 3px #fdf906; }
522
+
523
+ #draft-standard-band {
524
+ background-color: #fdf906; }
525
+
526
+ #standard {
527
+ border-bottom: solid 3px #9abd48; }
528
+
529
+ #standard-band {
530
+ background-color: #9abd48; }
531
+
532
+ #obsolete {
533
+ border-bottom: solid 3px #7e0d13; }
534
+
535
+ #obsolete-band {
536
+ background-color: #7e0d13; }
537
+
538
+ /*
539
+ 3. TYPOGRAPHY
540
+ */
541
+ /*
542
+ 3.1 Titles
543
+ */
544
+ h1,
545
+ h2,
546
+ h3,
547
+ h4,
548
+ h5,
549
+ h6,
550
+ .h2Annex {
551
+ font-family: {{headerfont}};
552
+ color: #00ADEF;
553
+ font-weight: 700;
554
+ line-height: 1.1;
555
+ margin-top: 1.6em;
556
+ margin-bottom: 0.3em; }
557
+
558
+ h1,
559
+ h2,
560
+ h3 {
561
+ margin-top: 18px;
562
+ margin-bottom: 9px; }
563
+
564
+ h1 {
565
+ font-size: 33px;
566
+ font-weight: 500;
567
+ margin: 0.67em 0;
568
+ letter-spacing: -0.02em;
569
+ color: #4D4D4D; }
570
+
571
+ h2 {
572
+ font-size: 27px;
573
+ color: #4D4D4D; }
574
+
575
+ h3 {
576
+ font-size: 24px;
577
+ margin-top: 26px;
578
+ color: #000; }
579
+
580
+ h4 {
581
+ font-size: 18.2px;
582
+ margin-bottom: 2px;
583
+ color: #4D4D4D;
584
+ letter-spacing: 0.03em; }
585
+
586
+ h5 {
587
+ font-size: 16.25px;
588
+ color: #000;
589
+ margin-bottom: 2px; }
590
+
591
+ h6 {
592
+ font-size: 13px;
593
+ color: #4D4D4D;
594
+ letter-spacing: 0.05em; }
595
+
596
+ /* h1 {
597
+ font-size: 1.6em;
598
+ text-transform: uppercase;
599
+ margin-top: 2em;
600
+ }
601
+
602
+ h1#content {
603
+ margin-top: 2em;
604
+ }
605
+
606
+ h2 {
607
+ margin-top: 1.3em;
608
+ font-size: 1.3em;
609
+ font-weight: 400;
610
+ }
611
+
612
+ h3 {
613
+ margin-top: 1.1em;
614
+ font-size: 1.1em;
615
+ font-weight: 100;
616
+ }*/
617
+ .TermNum,
618
+ .Terms,
619
+ .AltTerms {
620
+ color: #00ADEF;
621
+ font-weight: 100; }
622
+
623
+ h2.TermNum {
624
+ margin-bottom: 0; }
625
+
626
+ p.Terms {
627
+ font-size: 1.1em;
628
+ line-height: 1.5em;
629
+ margin: 0; }
630
+
631
+ p.AltTerms {
632
+ /*
633
+ font-style: italic;
634
+ */
635
+ font-size: 1.1em;
636
+ margin: 0; }
637
+
638
+ /*
639
+ 3.2 Links
640
+ */
641
+ a, a:visited {
642
+ text-decoration: none;
643
+ color: #00ADEF; }
644
+
645
+ a:hover {
646
+ color: white;
647
+ background: #00ADEF;
648
+ box-shadow: 3px 0 0 #00ADEF, -3px 0 0 #00ADEF; }
649
+
650
+ ::selection,
651
+ ::-moz-selection {
652
+ background: #00ADEF;
653
+ color: white; }
654
+
655
+ /*
656
+ 3.3 Lists
657
+ */
658
+ ul,
659
+ ol {
660
+ margin-left: 1.2em; }
661
+
662
+ ul > li p:first-child {
663
+ display: inline; }
664
+
665
+ ul > li:first-child {
666
+ margin-top: 1em; }
667
+
668
+ #toc-list ul {
669
+ margin-bottom: 0.25em; }
670
+
671
+ #toc-list li {
672
+ list-style-type: none; }
673
+
674
+ #toc li:before {
675
+ content: " ";
676
+ display: none; }
677
+
678
+ main ul > li {
679
+ list-style-type: disc;
680
+ list-style-position: outside;
681
+ margin-bottom: 0.5em;
682
+ margin-left: 1em; }
683
+
684
+ /*
685
+ 3.4 Rules
686
+ */
687
+ .rule {
688
+ width: 100%;
689
+ height: 1px;
690
+ background-color: #eee;
691
+ margin: 2em 0; }
692
+
693
+ /*
694
+ 3.5 Bibliograhy
695
+ */
696
+ p.Biblio,
697
+ p.NormRef {
698
+ margin-left: 2em;
699
+ margin-top: 1em; }
700
+
701
+ /*
702
+ 3.6 Source Code + figures
703
+ */
704
+ .figure,
705
+ pre,
706
+ .pseudocode {
707
+ background-color: #f2f2f2;
708
+ font-size: 0.8em;
709
+ line-height: 1.6em;
710
+ padding: 1.5em;
711
+ margin: 2em 0 1em 0;
712
+ overflow: auto; }
713
+ .figure .SourceTitle,
714
+ pre .SourceTitle,
715
+ .pseudocode .SourceTitle {
716
+ font-weight: 700;
717
+ font-size: 1em;
718
+ text-align: center; }
719
+
720
+ pre {
721
+ font-family: {{monospacefont}};
722
+ font-variant-ligatures: none; }
723
+
724
+ .AdmonitionTitle {
725
+ font-weight: 700;
726
+ font-size: 1em;
727
+ text-align: center; }
728
+
729
+ .RecommendationTitle {
730
+ font-weight: 700;
731
+ font-size: 1em;
732
+ text-align: center; }
733
+
734
+ .FigureTitle,
735
+ .SourceTitle {
736
+ font-weight: 700;
737
+ font-size: 1em;
738
+ text-align: center; }
739
+
740
+ /*
741
+ 3.7 Notes
742
+ */
743
+ .Note {
744
+ background-color: #fff495;
745
+ color: #47430c;
746
+ margin: 1em 0;
747
+ padding: 1.2em; }
748
+ .Note p {
749
+ margin: 0; }
750
+
751
+ .Admonition {
752
+ background-color: #ffcccc;
753
+ color: #47430c;
754
+ margin: 1em 0;
755
+ padding: 1.2em; }
756
+ .Admonition p {
757
+ margin: 0; }
758
+
759
+ /*
760
+ 3.8 Examples
761
+ */
762
+ .example {
763
+ background-color: #e1eef1;
764
+ padding: 1.2em;
765
+ margin: 2em 0 1em 0;
766
+ text-align: left;
767
+ color: #424242;
768
+ padding-left: 2.7em; }
769
+ .example p {
770
+ margin: 0; }
771
+ .example .example-title {
772
+ font-weight: 700;
773
+ text-transform: uppercase;
774
+ margin-left: -1.5em; }
775
+ .example .example-title {
776
+ margin-top: 0; }
777
+ .example pre,
778
+ .example .pseudocode {
779
+ background: none; }
780
+
781
+ /*
782
+ 3.9 Tables
783
+ */
784
+ table {
785
+ width: 100%;
786
+ font-weight: 300;
787
+ margin: 1em 0 2em 0;
788
+ margin-left: auto;
789
+ margin-right: auto;
790
+ padding-right: 2em; }
791
+ table, table th, table td {
792
+ border: 1px solid #000;
793
+ font-size: 0.95em; }
794
+ table th, table td {
795
+ padding: 1em; }
796
+ table td.header {
797
+ font-weigth: 400; }
798
+
799
+ p.TableTitle {
800
+ text-align: center;
801
+ margin-top: 2.5em;
802
+ font-weight: 400; }
803
+
804
+ /*
805
+ 3.10 Footnotes
806
+ */
807
+ a.footnote-number {
808
+ font-size: 0.8em;
809
+ vertical-align: super; }
810
+
811
+ .footnote {
812
+ font-size: 0.9em; }
813
+
814
+ /*
815
+ 3.11 Blockquotes
816
+ */
817
+ .Quote {
818
+ background-color: #f2f2f2;
819
+ font-style: italic;
820
+ width: 80%;
821
+ padding: 1.5em;
822
+ margin-top: 2em;
823
+ margin-left: auto;
824
+ margin-right: auto; }
825
+
826
+ /*
827
+ 3.12 Formulas
828
+ */
829
+ .formula {
830
+ background-color: #f2f2f2;
831
+ padding: 1.5em;
832
+ margin-top: 2em;
833
+ text-align: center; }
834
+
835
+ /*
836
+ 3.13 Contact Info
837
+ */
838
+ .contact-info {
839
+ margin-top: 5em;
840
+ text-align: left; }
841
+
842
+ .contact-info a,
843
+ .contact-info a:hover {
844
+ color: #00ADEF; }
845
+
846
+ .contact-info p,
847
+ .contact-info a {
848
+ font-weight: 400; }
849
+
850
+ .contact-info #boilerplate-feedback-name {
851
+ padding-left: 1px;
852
+ color: #4D4D4D;
853
+ font-size: 18.2px;
854
+ text-transform: uppercase;
855
+ margin-top: 0;
856
+ letter-spacing: 0.03em;
857
+ border-bottom: #00ADEF solid 3px;
858
+ padding-bottom: 7px;
859
+ margin-bottom: 9px; }
860
+
861
+ .contact-info #boilerplate-feedback-address {
862
+ font-size: 1em;
863
+ line-height: 1.3em;
864
+ margin-top: 0; }
865
+
866
+ /*
867
+ Keywords
868
+ */
869
+ span.keyword {
870
+ font-weight: 600; }
871
+
872
+ /*
873
+ Paragraphs
874
+ */
875
+ p {
876
+ margin-bottom: 1em;
877
+ margin-top: 1em; }
878
+
879
+ h2 p {
880
+ display: inline; }
881
+
882
+ /*
883
+ 4.0 Page header
884
+ */
885
+ /*
886
+ 4.1 Top Logo
887
+ */
888
+ .icon-svg {
889
+ width: 100%;
890
+ color: #5ecf86; }
891
+
892
+ .wrapper-top {
893
+ background: linear-gradient(85deg, #00ADEF, #5b92e5);
894
+ color: #ffffff;
895
+ padding: 2em 0;
896
+ width: 100%; }
897
+
898
+ .wrapper-top-bottom {
899
+ width: 0;
900
+ height: 0;
901
+ border-top: 100px solid #00ADEF;
902
+ border-right: 100px solid transparent;
903
+ position: absolute; }
904
+
905
+ .doc-number {
906
+ font-size: 0.5em;
907
+ font-family: {{bodyfont}}; }
908
+
909
+ .coverpage-title {
910
+ padding-bottom: 0.5em;
911
+ font-family: {{headerfont}};
912
+ font-size: 1.2em;
913
+ line-height: 1.5em;
914
+ font-weight: 100;
915
+ padding-left: 1em;
916
+ padding-right: 1em;
917
+ text-transform: uppercase; }
918
+
919
+ .WordSection11 {
920
+ padding: 0 2em 0 3em;
921
+ text-align: center; }
922
+
923
+ .info-section {
924
+ padding: 0 2em; }
925
+
926
+ .prefatory-section {
927
+ padding: 0 3em 0 6em; }
928
+
929
+ .zzSTDTitle1,
930
+ .MsoCommentText {
931
+ display: none; }
932
+
933
+ .coverpage {
934
+ text-align: center;
935
+ padding-left: 1.5em; }
936
+
937
+ .coverpage-logo span,
938
+ .coverpage-tc-name span {
939
+ font-family: {{bodyfont}};
940
+ text-transform: none;
941
+ font-weight: 300; }
942
+
943
+ .coverpage-tc-name {
944
+ font-size: 1.2em;
945
+ line-height: 1.2em;
946
+ margin: 0.25em 0; }
947
+
948
+ /*
949
+ 4.2 Document Identity
950
+ */
951
+ .coverpage-doc-identity {
952
+ font-size: 2em;
953
+ line-height: 2em; }
954
+
955
+ .coverpage-title .title-second {
956
+ display: none; }
957
+
958
+ .coverpage-stage-block {
959
+ font-family: {{bodyfont}};
960
+ font-weight: 600;
961
+ font-size: 1.25em;
962
+ margin: 2em 0em 2em 0em;
963
+ text-transform: uppercase; }
964
+
965
+ /*
966
+ 4.3 Draft Warning
967
+ */
968
+ .coverpage-warning {
969
+ border: #f36f36 solid 2px;
970
+ color: #f36f36 !important;
971
+ margin: 1em 2em;
972
+ padding: 2em 1em 1em 1em;
973
+ border-radius: 25px; }
974
+
975
+ .coverpage-warning .title {
976
+ font-family: {{headerfont}};
977
+ font-weight: 300;
978
+ text-transform: uppercase;
979
+ font-size: 1.2em; }
980
+
981
+ /*
982
+ 4.4 Copyright
983
+ */
984
+ .boilerplate-copyright {
985
+ padding: 1em;
986
+ font-size: 0.9em;
987
+ text-align: left; }
988
+
989
+ .boilerplate-copyright p {
990
+ text-align: center; }
991
+
992
+ #boilerplate-ECEhdr {
993
+ border: solid; }
994
+
995
+ /*
996
+ 5.0 Other styles
997
+ */
998
+ /*
999
+ To top button
1000
+ */
1001
+ #myBtn {
1002
+ font-family: {{monospacefont}};
1003
+ font-variant-ligatures: none;
1004
+ display: none;
1005
+ position: fixed;
1006
+ bottom: 20px;
1007
+ right: 30px;
1008
+ z-index: 99;
1009
+ font-size: 12px;
1010
+ border: none;
1011
+ outline: none;
1012
+ background-color: #1f8ca0;
1013
+ opacity: 0.15;
1014
+ color: white;
1015
+ cursor: pointer;
1016
+ padding: 10px 15px 10px 15px;
1017
+ border-radius: 4px;
1018
+ text-transform: uppercase; }
1019
+ #myBtn:hover {
1020
+ opacity: 1; }
1021
+ @media print {
1022
+ #myBtn {
1023
+ display: none; } }
1024
+ #myBtn a.anchorjs-link:hover {
1025
+ background: none;
1026
+ color: #00ADEF;
1027
+ box-shadow: none; }
1028
+
1029
+ @page {
1030
+ margin: 2cm 1cm; }
1031
+
1032
+ @media print {
1033
+ .document-info,
1034
+ nav,
1035
+ .copyright {
1036
+ page-break-before: always; }
1037
+ h1,
1038
+ h2,
1039
+ h3,
1040
+ h4 {
1041
+ page-break-after: avoid;
1042
+ margin-top: 1.2em; }
1043
+ .note,
1044
+ .figure,
1045
+ pre,
1046
+ .pseudocode,
1047
+ table {
1048
+ page-break-inside: avoid; }
1049
+ .info-section {
1050
+ display: none; }
1051
+ .coverpage {
1052
+ height: 23cm; }
1053
+ .wrapper-top {
1054
+ top: 0;
1055
+ padding-top: 4cm;
1056
+ padding-bottom: 4cm; }
1057
+ .wrapper-top-bottom {
1058
+ margin-top: -5px; }
1059
+ .container {
1060
+ padding-left: 0; }
1061
+ #toc .toc-active a {
1062
+ color: #4d7ea5; }
1063
+ #toc .toc-active,
1064
+ #toc li:hover {
1065
+ background: white;
1066
+ box-shadow: none !important; }
1067
+ #toc li:hover a {
1068
+ color: #000; }
1069
+ h1.content {
1070
+ line-height: 2.5em;
1071
+ margin-top: 2em; }
1072
+ h1 {
1073
+ font-size: 1.5em;
1074
+ line-height: 1.5; }
1075
+ h2 {
1076
+ font-size: 1.2em; }
1077
+ h3 {
1078
+ font-size: 1em; }
1079
+ .Note {
1080
+ background-color: #fff495;
1081
+ color: #47430c;
1082
+ margin: 2em 0 1em;
1083
+ padding: 5px; }
1084
+ .Note p {
1085
+ padding: 0 5px; }
1086
+ .Admonition {
1087
+ background-color: #ffcccc;
1088
+ color: #47430c;
1089
+ margin: 2em 0 1em;
1090
+ padding: 5px; }
1091
+ .Admonition p {
1092
+ padding: 0 5px; }
1093
+ nav {
1094
+ line-height: 1; }
1095
+ .wrapper-top-bottom {
1096
+ display: none; } }