metanorma-itu 1.1.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +2 -0
- data/lib/asciidoctor/itu/cleanup.rb +69 -39
- data/lib/asciidoctor/itu/converter.rb +36 -46
- data/lib/asciidoctor/itu/front.rb +2 -31
- data/lib/asciidoctor/itu/isodoc.rng +16 -7
- data/lib/asciidoctor/itu/validate.rb +22 -11
- data/lib/isodoc/itu/base_convert.rb +33 -83
- data/lib/isodoc/itu/html/_coverpage.css +349 -0
- data/lib/isodoc/itu/html/_coverpage.scss +2 -0
- data/lib/isodoc/itu/html/htmlstyle.css +1159 -0
- data/lib/isodoc/itu/html/itu.css +1138 -0
- data/lib/isodoc/itu/html/itu.scss +0 -1
- data/lib/isodoc/itu/html/wordstyle.css +1808 -0
- data/lib/isodoc/itu/html/wordstyle.scss +0 -1
- data/lib/isodoc/itu/html_convert.rb +9 -4
- data/lib/isodoc/itu/i18n-en.yaml +25 -0
- data/lib/isodoc/itu/i18n.rb +14 -0
- data/lib/isodoc/itu/init.rb +29 -0
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +1603 -1914
- data/lib/isodoc/itu/itu.recommendation.xsl +1603 -1914
- data/lib/isodoc/itu/itu.resolution.xsl +1603 -1914
- data/lib/isodoc/itu/metadata.rb +8 -5
- data/lib/isodoc/itu/pdf_convert.rb +0 -1
- data/lib/isodoc/itu/presentation_xml_convert.rb +46 -1
- data/lib/isodoc/itu/ref.rb +10 -9
- data/lib/isodoc/itu/terms.rb +10 -19
- data/lib/isodoc/itu/word_convert.rb +26 -14
- data/lib/isodoc/itu/xref.rb +43 -30
- data/lib/metanorma/itu/processor.rb +8 -4
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +3 -2
- metadata +26 -7
- data/lib/asciidoctor/itu/i18n-en.yaml +0 -16
@@ -1,5 +1,4 @@
|
|
1
1
|
require "isodoc"
|
2
|
-
require_relative "metadata"
|
3
2
|
require "fileutils"
|
4
3
|
require_relative "./ref.rb"
|
5
4
|
require_relative "./xref.rb"
|
@@ -8,32 +7,14 @@ require_relative "./terms.rb"
|
|
8
7
|
module IsoDoc
|
9
8
|
module ITU
|
10
9
|
module BaseConvert
|
11
|
-
def load_yaml(lang, script)
|
12
|
-
y = if @i18nyaml then YAML.load_file(@i18nyaml)
|
13
|
-
elsif lang == "en"
|
14
|
-
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
15
|
-
else
|
16
|
-
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
17
|
-
end
|
18
|
-
super.merge(y)
|
19
|
-
end
|
20
|
-
|
21
|
-
def metadata_init(lang, script, labels)
|
22
|
-
@meta = Metadata.new(lang, script, labels)
|
23
|
-
end
|
24
|
-
|
25
|
-
def xref_init(lang, script, klass, labels, options)
|
26
|
-
@xrefs = Xref.new(lang, script, klass, labels,
|
27
|
-
options.merge(hierarchical_assets: @hierarchical_assets))
|
28
|
-
end
|
29
|
-
|
30
10
|
FRONT_CLAUSE = "//*[parent::preface]"\
|
31
11
|
"[not(local-name() = 'abstract')]".freeze
|
32
12
|
|
33
13
|
def preface(isoxml, out)
|
34
14
|
isoxml.xpath(ns(FRONT_CLAUSE)).each do |c|
|
15
|
+
next unless is_clause?(c.name)
|
35
16
|
title = c&.at(ns("./title"))
|
36
|
-
out.div **attr_code(
|
17
|
+
out.div **attr_code(clause_attrs(c)) do |s|
|
37
18
|
clause_name(nil, title, s, class: "IntroTitle")
|
38
19
|
c.elements.reject { |c1| c1.name == "title" }.each do |c1|
|
39
20
|
parse(c1, s)
|
@@ -52,15 +33,8 @@ module IsoDoc
|
|
52
33
|
""
|
53
34
|
end
|
54
35
|
|
55
|
-
def
|
56
|
-
|
57
|
-
(n.nil? || n[:label].nil? || n[:label].empty?) and
|
58
|
-
return "#{@note_lbl} – "
|
59
|
-
l10n("#{@note_lbl} #{n[:label]} – ")
|
60
|
-
end
|
61
|
-
|
62
|
-
def prefix_container(container, linkend, _target)
|
63
|
-
l10n("#{linkend} #{@labels["in"]} #{@xrefs.anchor(container, :xref)}")
|
36
|
+
def note_delim
|
37
|
+
" – "
|
64
38
|
end
|
65
39
|
|
66
40
|
def ol_depth(node)
|
@@ -78,12 +52,7 @@ module IsoDoc
|
|
78
52
|
def annex_name(annex, name, div)
|
79
53
|
r_a = @meta.get[:doctype_original] == "recommendation-annex"
|
80
54
|
div.h1 **{ class: r_a ? "RecommendationAnnex" : "Annex" } do |t|
|
81
|
-
|
82
|
-
t.br
|
83
|
-
t.br
|
84
|
-
t.b do |b|
|
85
|
-
name&.children&.each { |c2| parse(c2, b) }
|
86
|
-
end
|
55
|
+
name&.children&.each { |c2| parse(c2, t) }
|
87
56
|
end
|
88
57
|
annex_obligation_subtitle(annex, div)
|
89
58
|
end
|
@@ -91,34 +60,26 @@ module IsoDoc
|
|
91
60
|
def annex_obligation_subtitle(annex, div)
|
92
61
|
info = annex["obligation"] == "informative"
|
93
62
|
div.p **{class: "annex_obligation" } do |p|
|
94
|
-
p << (info ? @
|
63
|
+
p << (info ? @i18n.inform_annex : @i18n.norm_annex).
|
95
64
|
sub(/%/, @meta.get[:doctype] || "")
|
96
65
|
end
|
97
66
|
end
|
98
67
|
|
99
68
|
def annex(isoxml, out)
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
69
|
+
isoxml.xpath(ns("//annex")).each do |c|
|
70
|
+
@meta.get[:doctype_original] == "recommendation-annex" or
|
71
|
+
page_break(out)
|
72
|
+
out.div **attr_code(id: c["id"], class: "Section3") do |s|
|
73
|
+
annex_name(c, nil, s) unless c.at(ns("./title"))
|
74
|
+
c.elements.each do |c1|
|
75
|
+
if c1.name == "title" then annex_name(c, c1, s)
|
76
|
+
else
|
77
|
+
parse(c1, s)
|
78
|
+
end
|
109
79
|
end
|
110
80
|
end
|
111
81
|
end
|
112
82
|
end
|
113
|
-
end
|
114
|
-
|
115
|
-
def i18n_init(lang, script)
|
116
|
-
super
|
117
|
-
end
|
118
|
-
|
119
|
-
def fileloc(loc)
|
120
|
-
File.join(File.dirname(__FILE__), loc)
|
121
|
-
end
|
122
83
|
|
123
84
|
def cleanup(docxml)
|
124
85
|
super
|
@@ -136,18 +97,26 @@ module IsoDoc
|
|
136
97
|
end
|
137
98
|
|
138
99
|
def term_cleanup(docxml)
|
100
|
+
term_cleanup1(docxml)
|
101
|
+
term_cleanup2(docxml)
|
102
|
+
docxml
|
103
|
+
end
|
104
|
+
|
105
|
+
def term_cleanup1(docxml)
|
139
106
|
docxml.xpath("//p[@class = 'Terms']").each do |d|
|
140
107
|
h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
|
141
108
|
d.children.first.previous = "<b>#{h2.children.to_xml}</b> "
|
142
109
|
d["id"] = h2["id"]
|
143
110
|
h2.remove
|
144
111
|
end
|
112
|
+
end
|
113
|
+
|
114
|
+
def term_cleanup2(docxml)
|
145
115
|
docxml.xpath("//p[@class = 'TermNum']").each do |d|
|
146
116
|
d1 = d.next_element and d1.name == "p" or next
|
147
117
|
d1.children.each { |e| e.parent = d }
|
148
118
|
d1.remove
|
149
119
|
end
|
150
|
-
docxml
|
151
120
|
end
|
152
121
|
|
153
122
|
def refs_cleanup(docxml)
|
@@ -167,29 +136,6 @@ module IsoDoc
|
|
167
136
|
super
|
168
137
|
end
|
169
138
|
|
170
|
-
def get_eref_linkend(node)
|
171
|
-
l = anchor_linkend(node, docid_l10n(node["target"] || node["citeas"]))
|
172
|
-
l && !/^\[.*\]$/.match(l) and l = "[#{l}]"
|
173
|
-
l += eref_localities(node.xpath(ns("./locality | ./localityStack")), l)
|
174
|
-
contents = node.children.select do |c|
|
175
|
-
!%w{locality localityStack}.include? c.name
|
176
|
-
end
|
177
|
-
return l if contents.nil? || contents.empty?
|
178
|
-
Nokogiri::XML::NodeSet.new(node.document, contents).to_xml
|
179
|
-
end
|
180
|
-
|
181
|
-
def eref_parse(node, out)
|
182
|
-
linkend = get_eref_linkend(node)
|
183
|
-
href = eref_target(node)
|
184
|
-
if node["type"] == "footnote"
|
185
|
-
out.sup do |s|
|
186
|
-
s.a(**{ "href": href }) { |l| l << linkend }
|
187
|
-
end
|
188
|
-
else
|
189
|
-
out.a(**{ "href": href }) { |l| l << linkend }
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
139
|
def middle_title(out)
|
194
140
|
out.p(**{ class: "zzSTDTitle1" }) do |p|
|
195
141
|
id = @meta.get[:docnumber] and p << "#{@meta.get[:doctype]} #{id}"
|
@@ -221,9 +167,11 @@ module IsoDoc
|
|
221
167
|
end
|
222
168
|
|
223
169
|
def note_p_parse(node, div)
|
170
|
+
name = node&.at(ns("./name"))&.remove
|
224
171
|
div.p do |p|
|
225
|
-
p.span **{ class: "note_label" } do |s|
|
226
|
-
|
172
|
+
name and p.span **{ class: "note_label" } do |s|
|
173
|
+
name.children.each { |n| parse(n, s) }
|
174
|
+
s << note_delim
|
227
175
|
end
|
228
176
|
node.first_element_child.children.each { |n| parse(n, p) }
|
229
177
|
end
|
@@ -231,9 +179,11 @@ module IsoDoc
|
|
231
179
|
end
|
232
180
|
|
233
181
|
def note_parse1(node, div)
|
182
|
+
name = node&.at(ns("./name"))&.remove
|
234
183
|
div.p do |p|
|
235
|
-
p.span **{ class: "note_label" } do |s|
|
236
|
-
|
184
|
+
name and p.span **{ class: "note_label" } do |s|
|
185
|
+
name.children.each { |n| parse(n, s) }
|
186
|
+
#s << note_delim
|
237
187
|
end
|
238
188
|
end
|
239
189
|
node.children.each { |n| parse(n, div) }
|
@@ -0,0 +1,349 @@
|
|
1
|
+
html, body, div, span, applet, object, iframe,
|
2
|
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
3
|
+
a, abbr, acronym, address, big, cite, code,
|
4
|
+
del, dfn, em, img, ins, kbd, q, s, samp,
|
5
|
+
small, strike, strong, sub, sup, tt, var,
|
6
|
+
b, u, i, center,
|
7
|
+
ol, ul, li,
|
8
|
+
fieldset, form, label, legend,
|
9
|
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
10
|
+
article, aside, canvas, details, embed,
|
11
|
+
figure, figcaption, footer, header, hgroup,
|
12
|
+
menu, nav, output, ruby, section, summary,
|
13
|
+
time, mark, audio, video {
|
14
|
+
margin: 0;
|
15
|
+
padding: 0; }
|
16
|
+
|
17
|
+
html, body, div, span, applet, object, iframe,
|
18
|
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
19
|
+
a, abbr, acronym, address, big, cite, code,
|
20
|
+
del, dfn, em, img, ins, kbd, q, s, samp,
|
21
|
+
small, strike, strong, sub, sup, tt, var,
|
22
|
+
b, u, i, center,
|
23
|
+
dl, dt, dd, ol, ul, li,
|
24
|
+
fieldset, form, label, legend,
|
25
|
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
26
|
+
article, aside, canvas, details, embed,
|
27
|
+
figure, figcaption, footer, header, hgroup,
|
28
|
+
menu, nav, output, ruby, section, summary,
|
29
|
+
time, mark, audio, video {
|
30
|
+
border: 0;
|
31
|
+
font-size: 100%; }
|
32
|
+
|
33
|
+
html, body, div, span, applet, object, iframe,
|
34
|
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
35
|
+
a, abbr, acronym, address, big, cite, code,
|
36
|
+
del, dfn, em, img, ins, kbd, q, s, samp,
|
37
|
+
small, strike, strong, tt, var,
|
38
|
+
b, u, i, center,
|
39
|
+
dl, dd, ol, ul, li,
|
40
|
+
fieldset, form, label, legend,
|
41
|
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
42
|
+
article, aside, canvas, details, embed,
|
43
|
+
figure, figcaption, footer, header, hgroup,
|
44
|
+
menu, nav, output, ruby, section, summary,
|
45
|
+
time, mark, audio, video {
|
46
|
+
vertical-align: baseline; }
|
47
|
+
|
48
|
+
html, body, div, span, applet, object, iframe,
|
49
|
+
p, blockquote,
|
50
|
+
a, abbr, acronym, address, big, cite,
|
51
|
+
del, dfn, em, img, ins, q, s,
|
52
|
+
small, strike, strong, sub, sup, var,
|
53
|
+
b, u, i, center,
|
54
|
+
dl, dt, dd, ol, ul, li,
|
55
|
+
fieldset, form, label, legend,
|
56
|
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
57
|
+
article, aside, canvas, details, embed,
|
58
|
+
figure, figcaption, footer, header, hgroup,
|
59
|
+
menu, nav, output, ruby, section, summary,
|
60
|
+
time, mark, audio, video {
|
61
|
+
font-family: {{bodyfont}}; }
|
62
|
+
|
63
|
+
code, pre, tt, kbd, samp {
|
64
|
+
font-family: {{monospacefont}};
|
65
|
+
font-variant-ligatures: none; }
|
66
|
+
|
67
|
+
code *, pre *, tt *, kbd *, samp * {
|
68
|
+
font-family: {{monospacefont}} !important;
|
69
|
+
font-variant-ligatures: none; }
|
70
|
+
|
71
|
+
article, aside, details, figcaption, figure,
|
72
|
+
footer, header, hgroup, menu, nav, section {
|
73
|
+
display: block; }
|
74
|
+
|
75
|
+
table {
|
76
|
+
border-collapse: collapse;
|
77
|
+
border-spacing: 0; }
|
78
|
+
|
79
|
+
h1, h2, h3, h4, h5, h6 {
|
80
|
+
font-family: {{headerfont}}; }
|
81
|
+
|
82
|
+
blockquote, q {
|
83
|
+
quotes: none; }
|
84
|
+
blockquote:before, blockquote:after, q:before, q:after {
|
85
|
+
content: '';
|
86
|
+
content: none; }
|
87
|
+
|
88
|
+
.h2Annex {
|
89
|
+
font-family: {{headerfont}}; }
|
90
|
+
|
91
|
+
dl {
|
92
|
+
display: grid;
|
93
|
+
grid-template-columns: max-content auto; }
|
94
|
+
dl dt p, dl dd p {
|
95
|
+
margin-top: 0; }
|
96
|
+
dl dt {
|
97
|
+
grid-column-start: 1; }
|
98
|
+
dl dd {
|
99
|
+
grid-column-start: 2; }
|
100
|
+
|
101
|
+
b, strong {
|
102
|
+
font-weight: bold; }
|
103
|
+
|
104
|
+
div.document-stage-band, div.document-type-band {
|
105
|
+
background-color: #333333; }
|
106
|
+
|
107
|
+
#standard-band {
|
108
|
+
background-color: #0AC442; }
|
109
|
+
|
110
|
+
#standard {
|
111
|
+
border-bottom: solid 3px #0AC442; }
|
112
|
+
|
113
|
+
#directive-band {
|
114
|
+
background-color: #540D6E; }
|
115
|
+
|
116
|
+
#directive {
|
117
|
+
border-bottom: solid 3px #540D6E; }
|
118
|
+
|
119
|
+
#guide-band {
|
120
|
+
background-color: #D183C9; }
|
121
|
+
|
122
|
+
#guide {
|
123
|
+
border-bottom: solid 3px #D183C9; }
|
124
|
+
|
125
|
+
#specification-band {
|
126
|
+
background-color: #65AFFF; }
|
127
|
+
|
128
|
+
#specification {
|
129
|
+
border-bottom: solid 3px #65AFFF; }
|
130
|
+
|
131
|
+
#report-band {
|
132
|
+
background-color: #3A405A; }
|
133
|
+
|
134
|
+
#report {
|
135
|
+
border-bottom: solid 3px #3A405A; }
|
136
|
+
|
137
|
+
#amendment-band {
|
138
|
+
background-color: #F26430; }
|
139
|
+
|
140
|
+
#amendment {
|
141
|
+
border-bottom: solid 3px #F26430; }
|
142
|
+
|
143
|
+
#corrigendum-band {
|
144
|
+
background-color: #C84630; }
|
145
|
+
|
146
|
+
#corrigendum {
|
147
|
+
border-bottom: solid 3px #C84630; }
|
148
|
+
|
149
|
+
#administrative-band {
|
150
|
+
background-color: #BFAE48; }
|
151
|
+
|
152
|
+
#administrative {
|
153
|
+
border-bottom: solid 3px #BFAE48; }
|
154
|
+
|
155
|
+
#advisory-band {
|
156
|
+
background-color: #BD9391; }
|
157
|
+
|
158
|
+
#advisory {
|
159
|
+
border-bottom: solid 3px #BD9391; }
|
160
|
+
|
161
|
+
#proposal-band {
|
162
|
+
background-color: #39A0ED; }
|
163
|
+
|
164
|
+
#proposal {
|
165
|
+
border-bottom: solid 3px #39A0ED; }
|
166
|
+
|
167
|
+
#working-draft-band {
|
168
|
+
background-color: #2D7393; }
|
169
|
+
|
170
|
+
#working-draft {
|
171
|
+
border-bottom: solid 3px #2D7393; }
|
172
|
+
|
173
|
+
#committee-draft-band {
|
174
|
+
background-color: #2A6B7C; }
|
175
|
+
|
176
|
+
#committee-draft {
|
177
|
+
border-bottom: solid 3px #2A6B7C; }
|
178
|
+
|
179
|
+
#draft-standard-band {
|
180
|
+
background-color: #1C7F7A; }
|
181
|
+
|
182
|
+
#draft-standard {
|
183
|
+
border-bottom: solid 3px #1C7F7A; }
|
184
|
+
|
185
|
+
#final-draft-band {
|
186
|
+
background-color: #53C170; }
|
187
|
+
|
188
|
+
#final-draft {
|
189
|
+
border-bottom: solid 3px #53C170; }
|
190
|
+
|
191
|
+
#published-band {
|
192
|
+
background-color: #069E2D; }
|
193
|
+
|
194
|
+
#published {
|
195
|
+
border-bottom: solid 3px #069E2D; }
|
196
|
+
|
197
|
+
#withdrawn-band {
|
198
|
+
background-color: #004E64; }
|
199
|
+
|
200
|
+
#withdrawn {
|
201
|
+
border-bottom: solid 3px #004E64; }
|
202
|
+
|
203
|
+
#cancelled-band {
|
204
|
+
background-color: #2E382E; }
|
205
|
+
|
206
|
+
#cancelled {
|
207
|
+
border-bottom: solid 3px #2E382E; }
|
208
|
+
|
209
|
+
.icon-svg {
|
210
|
+
width: 100%;
|
211
|
+
color: #5ecf86; }
|
212
|
+
|
213
|
+
.wrapper-top {
|
214
|
+
background: #fff;
|
215
|
+
color: #141115;
|
216
|
+
padding: 3em 0 6em 10em;
|
217
|
+
margin-left: 0em;
|
218
|
+
background: url(data:image/png;base64,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);
|
219
|
+
background-repeat: repeat-y;
|
220
|
+
background-size: 100px; }
|
221
|
+
|
222
|
+
.doc-type {
|
223
|
+
font-size: 18px;
|
224
|
+
letter-spacing: 4px;
|
225
|
+
color: #797979;
|
226
|
+
margin-bottom: 42px; }
|
227
|
+
|
228
|
+
.ITU-sector, .doc-identifier {
|
229
|
+
font-size: 42px;
|
230
|
+
font-weight: 800;
|
231
|
+
display: inline; }
|
232
|
+
|
233
|
+
.doc-info-left {
|
234
|
+
float: right;
|
235
|
+
padding-right: 42px; }
|
236
|
+
|
237
|
+
.doc-identifier, .publication-month {
|
238
|
+
display: block;
|
239
|
+
text-align: right; }
|
240
|
+
|
241
|
+
.publication-month {
|
242
|
+
font-size: 18px;
|
243
|
+
padding-top: 10px;
|
244
|
+
line-height: 1; }
|
245
|
+
|
246
|
+
.doc-category {
|
247
|
+
text-transform: uppercase;
|
248
|
+
font-size: 16px;
|
249
|
+
line-height: 1.2; }
|
250
|
+
|
251
|
+
.coverpage-title {
|
252
|
+
margin-top: 42px; }
|
253
|
+
.coverpage-title span {
|
254
|
+
display: block;
|
255
|
+
font-size: 20px;
|
256
|
+
line-height: 1.5; }
|
257
|
+
|
258
|
+
.coverpage-maturity,
|
259
|
+
.coverpage-stage {
|
260
|
+
font-family: {{bodyfont}};
|
261
|
+
font-weight: 400;
|
262
|
+
font-size: 1em;
|
263
|
+
margin: 0 0 2em 0;
|
264
|
+
text-transform: uppercase; }
|
265
|
+
|
266
|
+
span.doc-title, span.doc-annextitle {
|
267
|
+
font-size: 26px;
|
268
|
+
font-weight: 800;
|
269
|
+
margin-top: 20px;
|
270
|
+
margin-right: 42px; }
|
271
|
+
|
272
|
+
span.doc-title {
|
273
|
+
border-top: 2px solid #DA1D52; }
|
274
|
+
|
275
|
+
.doc-footer {
|
276
|
+
margin-top: 100px; }
|
277
|
+
.doc-footer .keywords {
|
278
|
+
display: block; }
|
279
|
+
.doc-footer div {
|
280
|
+
clear: both; }
|
281
|
+
.doc-footer span, .doc-footer .keywords {
|
282
|
+
font-size: 18px;
|
283
|
+
font-weight: 400;
|
284
|
+
letter-spacing: 0;
|
285
|
+
color: black;
|
286
|
+
float: left;
|
287
|
+
padding-right: 10px; }
|
288
|
+
|
289
|
+
.WordSection11 {
|
290
|
+
padding: 0 2em 0 3em; }
|
291
|
+
|
292
|
+
.info-section {
|
293
|
+
padding: 0; }
|
294
|
+
@media print {
|
295
|
+
.info-section {
|
296
|
+
display: none; } }
|
297
|
+
.prefatory-section {
|
298
|
+
padding: 0 3em 0 6em; }
|
299
|
+
|
300
|
+
.zzSTDTitle1, .zzSTDTitle2, .zzSTDTitle3, .MsoCommentText {
|
301
|
+
display: none; }
|
302
|
+
|
303
|
+
.coverpage {
|
304
|
+
text-align: left;
|
305
|
+
padding-left: 1.5em; }
|
306
|
+
@media print {
|
307
|
+
.coverpage {
|
308
|
+
height: 23cm; } }
|
309
|
+
/* Document Identity */
|
310
|
+
.coverpage-doc-identity {
|
311
|
+
font-size: 2em;
|
312
|
+
line-height: 2em; }
|
313
|
+
|
314
|
+
.coverpage-title .title-second {
|
315
|
+
display: none; }
|
316
|
+
|
317
|
+
.coverpage-stage-block {
|
318
|
+
font-family: {{bodyfont}};
|
319
|
+
font-weight: 600;
|
320
|
+
font-size: 1.25em;
|
321
|
+
margin: 2em 0em 2em 0em;
|
322
|
+
text-transform: uppercase; }
|
323
|
+
|
324
|
+
/* Draft Warning */
|
325
|
+
.coverpage-warning {
|
326
|
+
border: #f36f36 solid 2px;
|
327
|
+
color: #f36f36 !important;
|
328
|
+
margin: 1em 2em;
|
329
|
+
color: #2e81c2;
|
330
|
+
padding: 2em 1em 1em 1em;
|
331
|
+
border-radius: 25px; }
|
332
|
+
|
333
|
+
.coverpage-warning h1 {
|
334
|
+
margin-top: 0em; }
|
335
|
+
|
336
|
+
.coverpage-warning .title {
|
337
|
+
font-family: {{bodyfont}};
|
338
|
+
font-weight: 300;
|
339
|
+
text-transform: uppercase;
|
340
|
+
font-size: 1.2em; }
|
341
|
+
|
342
|
+
/* Copyright */
|
343
|
+
.copyright {
|
344
|
+
padding: 1em;
|
345
|
+
font-size: 0.9em;
|
346
|
+
text-align: left; }
|
347
|
+
@media print {
|
348
|
+
.copyright {
|
349
|
+
page-break-before: always; } }
|