metanorma-un 0.4.0 → 0.5.1

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: bfa63200d4491d6dffa8238d037348a7de274a2c65a403da624aa2a2f4e5e55f
4
- data.tar.gz: 21ac008a828a2c5859153ace9c09904811c3a78a048bec427aca1d285aec9f02
3
+ metadata.gz: b28c1aef3c3e25135a7c96ddde3a01a0eaee668dd7e8f056b34466de59fe2241
4
+ data.tar.gz: 0a9b7d475632ed485456f45b70d3ea1a238f35002f7f115b7abf5fc634645731
5
5
  SHA512:
6
- metadata.gz: cfc1c4532015b76d8cb346cedb033775487cf5fd33a13b93707782babdf3669831f0e54fc7e744938a7172604e883dc070e7e79b4ab399dd4e439a0a8a1ab348
7
- data.tar.gz: a150a444e4c66b727147e82c66fd2abc82e442f7c5327a3fdd8cb33f4d46730074da2a11055d86b2e17b9da4b8561cf18a173e435bf287b642122e8e49e583be
6
+ metadata.gz: e00312eecc133e605ff3ba9a25cbb0179442844b79ccae409f5e4836f72b470da37b9f3f4698051854424fe371a0cb856a1d1081f3b70c9c5aeed204faeb1048
7
+ data.tar.gz: 9146431e823c7bc83525ba3e4f925455289265ca8582ff8e0261c55e551c5c06feeae7fca34e48e1c176a4aa248c9e00b29414b95d4a2f85c01f020fee6b3fcd
@@ -29,7 +29,6 @@ jobs:
29
29
  uses: actions/setup-ruby@v1
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
- architecture: 'x64'
33
32
  - name: Update gems
34
33
  run: |
35
34
  sudo gem install bundler --force
@@ -31,7 +31,6 @@ jobs:
31
31
  uses: actions/setup-ruby@v1
32
32
  with:
33
33
  ruby-version: ${{ matrix.ruby }}
34
- architecture: 'x64'
35
34
  - name: Update gems
36
35
  run: |
37
36
  gem install bundler
@@ -39,15 +38,19 @@ jobs:
39
38
  - name: Run specs
40
39
  run: |
41
40
  bundle exec rake
42
- - name: Trigger dependent repositories
43
- if: github.ref == 'refs/heads/master' && matrix.ruby == '2.6'
41
+ - name: Trigger repositories
42
+ if: matrix.ruby == '2.6'
44
43
  env:
45
- GH_USERNAME: ${{ secrets.PAT_USERNAME }}
46
- GH_ACCESS_TOKEN: ${{ secrets.PAT_TOKEN }}
44
+ GH_USERNAME: metanorma-ci
45
+ GH_ACCESS_TOKEN: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
47
46
  run: |
48
47
  curl -LO --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/trigger-gh-actions.sh
49
48
  [[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
50
- for repo in $DEPENDENT_REPOS
49
+ CLIENT_PAYLOAD=$(cat <<EOF
50
+ "{ "ref": "${GITHUB_REF}", "repo": "${GITHUB_REPOSITORY}" }"
51
+ EOF
52
+ )
53
+ for repo in $REPOS
51
54
  do
52
- sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "{ \"ref\": \"${GITHUB_REF}\" }"
55
+ sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "$CLIENT_PAYLOAD"
53
56
  done
@@ -29,7 +29,6 @@ jobs:
29
29
  uses: actions/setup-ruby@v1
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
- architecture: 'x64'
33
32
  - name: Update gems
34
33
  shell: pwsh
35
34
  run: |
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
116
  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'")
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)
@@ -922,6 +922,9 @@
922
922
  <optional>
923
923
  <attribute name="script"/>
924
924
  </optional>
925
+ <optional>
926
+ <attribute name="type"/>
927
+ </optional>
925
928
  <optional>
926
929
  <attribute name="obligation">
927
930
  <choice>
@@ -961,9 +964,6 @@
961
964
  </define>
962
965
  <define name="content-subsection">
963
966
  <element name="clause">
964
- <optional>
965
- <attribute name="type"/>
966
- </optional>
967
967
  <ref name="Content-Section"/>
968
968
  </element>
969
969
  </define>
@@ -992,6 +992,9 @@
992
992
  </choice>
993
993
  </attribute>
994
994
  </optional>
995
+ <optional>
996
+ <attribute name="type"/>
997
+ </optional>
995
998
  <optional>
996
999
  <ref name="section-title"/>
997
1000
  </optional>
@@ -1011,9 +1014,6 @@
1011
1014
  </define>
1012
1015
  <define name="clause">
1013
1016
  <element name="clause">
1014
- <optional>
1015
- <attribute name="type"/>
1016
- </optional>
1017
1017
  <ref name="Clause-Section"/>
1018
1018
  </element>
1019
1019
  </define>
@@ -1042,6 +1042,9 @@
1042
1042
  </choice>
1043
1043
  </attribute>
1044
1044
  </optional>
1045
+ <optional>
1046
+ <attribute name="type"/>
1047
+ </optional>
1045
1048
  <optional>
1046
1049
  <ref name="section-title"/>
1047
1050
  </optional>
@@ -1180,6 +1183,9 @@
1180
1183
  <optional>
1181
1184
  <attribute name="script"/>
1182
1185
  </optional>
1186
+ <optional>
1187
+ <attribute name="type"/>
1188
+ </optional>
1183
1189
  <optional>
1184
1190
  <attribute name="obligation">
1185
1191
  <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; } }