metanorma-csand 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ module Asciidoctor
2
+ module Csand
3
+ VERSION = "1.0.0"
4
+ end
5
+ end
@@ -0,0 +1,126 @@
1
+ require "isodoc"
2
+ require_relative "metadata"
3
+
4
+ module IsoDoc
5
+ module Csand
6
+ # A {Converter} implementation that generates CSAND output, and a document
7
+ # schema encapsulation of the document for validation
8
+ class HtmlConvert < IsoDoc::HtmlConvert
9
+ def initialize(options)
10
+ @libdir = File.dirname(__FILE__)
11
+ super
12
+ end
13
+
14
+ def default_fonts(options)
15
+ {
16
+ bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Source Sans Pro",sans-serif'),
17
+ headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Source Sans Pro",sans-serif'),
18
+ monospacefont: '"Space Mono",monospace'
19
+ }
20
+ end
21
+
22
+ def default_file_locations(options)
23
+ {
24
+ htmlstylesheet: html_doc_path("htmlstyle.scss"),
25
+ htmlcoverpage: html_doc_path("html_csand_titlepage.html"),
26
+ htmlintropage: html_doc_path("html_csand_intro.html"),
27
+ scripts: html_doc_path("scripts.html"),
28
+ }
29
+ end
30
+
31
+ def metadata_init(lang, script, labels)
32
+ @meta = Metadata.new(lang, script, labels)
33
+ end
34
+
35
+ def annex_name(annex, name, div)
36
+ div.h1 **{ class: "Annex" } do |t|
37
+ t << "#{get_anchors[annex['id']][:label]} "
38
+ t << "<b>#{name.text}</b>"
39
+ end
40
+ end
41
+
42
+ def annex_name_lbl(clause, num)
43
+ obl = l10n("(#{@inform_annex_lbl})")
44
+ obl = l10n("(#{@norm_annex_lbl})") if clause["obligation"] == "normative"
45
+ l10n("<b>#{@annex_lbl} #{num}</b> #{obl}")
46
+ end
47
+
48
+ def pre_parse(node, out)
49
+ out.pre node.text # content.gsub(/</, "&lt;").gsub(/>/, "&gt;")
50
+ end
51
+
52
+ def term_defs_boilerplate(div, source, term, preface)
53
+ if source.empty? && term.nil?
54
+ div << @no_terms_boilerplate
55
+ else
56
+ div << term_defs_boilerplate_cont(source, term)
57
+ end
58
+ end
59
+
60
+ def i18n_init(lang, script)
61
+ super
62
+ @annex_lbl = "Appendix"
63
+ end
64
+
65
+ def error_parse(node, out)
66
+ # catch elements not defined in ISO
67
+ case node.name
68
+ when "pre"
69
+ pre_parse(node, out)
70
+ when "keyword"
71
+ out.span node.text, **{ class: "keyword" }
72
+ else
73
+ super
74
+ end
75
+ end
76
+
77
+ def html_head()
78
+ <<~HEAD.freeze
79
+ <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
80
+
81
+ <!--TOC script import-->
82
+ <script type="text/javascript" src="https://cdn.rawgit.com/jgallen23/toc/0.3.2/dist/toc.min.js"></script>
83
+
84
+ <!--Google fonts-->
85
+ <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i|Space+Mono:400,700" rel="stylesheet">
86
+ <link href="https://fonts.googleapis.com/css?family=Rubik:300,300i,500" rel="stylesheet">
87
+ <link href="https://fonts.googleapis.com/css?family=Overpass:100,300,300i,600,900" rel="stylesheet">
88
+
89
+ <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300i,400,700,900" rel="stylesheet">
90
+ <!--Font awesome import for the link icon-->
91
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/solid.css" integrity="sha384-v2Tw72dyUXeU3y4aM2Y0tBJQkGfplr39mxZqlTBDUZAb9BGoC40+rdFCG0m10lXk" crossorigin="anonymous">
92
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/fontawesome.css" integrity="sha384-q3jl8XQu1OpdLgGFvNRnPdj5VIlCvgsDQTQB6owSOHWlAurxul7f+JpUOVdAiJ5P" crossorigin="anonymous">
93
+ <style class="anchorjs"></style>
94
+ HEAD
95
+ end
96
+
97
+ def make_body(xml, docxml)
98
+ body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72", "xml:lang": "EN-US", class: "container" }
99
+ xml.body **body_attr do |body|
100
+ make_body1(body, docxml)
101
+ make_body2(body, docxml)
102
+ make_body3(body, docxml)
103
+ end
104
+ end
105
+
106
+ def html_toc(docxml)
107
+ docxml
108
+ end
109
+
110
+ def cleanup(docxml)
111
+ super
112
+ term_cleanup(docxml)
113
+ end
114
+
115
+ def term_cleanup(docxml)
116
+ docxml.xpath("//p[@class = 'Terms']").each do |d|
117
+ h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
118
+ h2.add_child("&nbsp;")
119
+ h2.add_child(d.remove)
120
+ end
121
+ docxml
122
+ end
123
+ end
124
+ end
125
+ end
126
+
Binary file
Binary file
Binary file
@@ -0,0 +1,8 @@
1
+ <nav>
2
+ <h1 id="content">Contents</h1>
3
+ <div id="toc"></div>
4
+
5
+ </nav>
6
+
7
+
8
+ <div class="rule toc"></div>
@@ -0,0 +1,97 @@
1
+ <div class="document-stage-band" id="working-draft-band">
2
+ <p class="document-stage">{{ status }}</p>
3
+ </div>
4
+
5
+ <div class="document-type-band" id="standard-band">
6
+ <p class="document-type">CSA {{ doctype }}</p>
7
+ </div>
8
+
9
+
10
+
11
+ <div id='toggle'> <span>•</span> </div>
12
+
13
+ <header>
14
+
15
+ <!--<div class="WordSection1">-->
16
+ <div class="coverpage">
17
+
18
+ <div class="doc-number">
19
+ <span class="docnumber">{{ docnumber }}</span>
20
+ <span class="docnumber-separator">:</span>
21
+ <span class="docyear">{{ docyear }}</span>
22
+ </div>
23
+
24
+
25
+ <div class="title-first">{{ doctitle }}</div>
26
+ <div class="title-second">{{ docsubtitle }}</div>
27
+
28
+ <div class="coverpage-logo">
29
+ <span>Cloud Security Alliance</span>
30
+ </div>
31
+
32
+ <div class="coverpage-tc-name">
33
+ <span>{{ tc }}</span>
34
+ </div>
35
+
36
+ <div class="coverpage-doc-identity">
37
+ <img class="csa-logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAACPCAYAAADUSI02AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTgtMDUtMTZUMDk6MTk6MjUtMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE4LTA1LTIyVDEwOjQ0OjAxLTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE4LTA1LTIyVDEwOjQ0OjAxLTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNlMzJkMGI1LTljMjMtNDM2NS05NzcxLTJhMzVmYTMzMmU1MCIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjRlY2I5MDg2LTFkNjYtMTQ0Yy1hNzQwLTlmOWE3YjAwYzNmYiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjhiY2NiNjMwLTcyODUtNGNmNC04ZmExLWYyMTYzMmZhMTk1ZCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OGJjY2I2MzAtNzI4NS00Y2Y0LThmYTEtZjIxNjMyZmExOTVkIiBzdEV2dDp3aGVuPSIyMDE4LTA1LTE2VDA5OjE5OjI1LTA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6M2UzMmQwYjUtOWMyMy00MzY1LTk3NzEtMmEzNWZhMzMyZTUwIiBzdEV2dDp3aGVuPSIyMDE4LTA1LTIyVDEwOjQ0OjAxLTA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4E7fdxAAA0UUlEQVR4nO2deZgdVZn/P013Q9KSjQaaDiEdAoFAxAxBFMImiEIYQWYANbigoriwiIriLILoIMPiiIgzKDLgDCKOQUAYVgf0RxCECIKGRAKxE7KxNNkgAdPh/P74Vnmrzq313qrbfW/O53nqSaq76pxTdW+f95x3bTPG4HC0OO3AscAA8MAQj6UV6AHeC/wMWD3EY3EMIVsN9QAcjhLpAmYDv0KT3WtDOprmpw84D3gEOA1YN7TDcQw1HUM9AIejJEYB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" alt="csa-logo">
38
+ </div>
39
+ </div>
40
+
41
+ <div class="title-section1">
42
+ <div class="document-info">
43
+ <div class="coverpage-stage-block" >
44
+ <span class="coverpage-stage" id="{{ doctype | replace: ' ', '-' | downcase }}">CSA {{ doctype }}</span>
45
+ </div>
46
+
47
+ <div class="coverpage-stage-block" >
48
+ <span class="coverpage-maturity" id="{{ status | replace: ' ', '-' | downcase }}">{{ status }}</span>
49
+ </div>
50
+
51
+ {% if status != "Published" and status != "Withdrawn" %}
52
+ <div class="coverpage-warning">
53
+ <span class="title">Warning for Drafts</span>
54
+
55
+ <p class="content">
56
+ This document is not a CSA Standard. It is distributed for review and
57
+ comment, and is subject to change without notice and may not be referred to as
58
+ a Standard. Recipients of this draft are invited to submit, with their
59
+ comments, notification of any relevant patent rights of which they are aware
60
+ and to provide supporting documentation.
61
+ </p>
62
+ </div>
63
+ {% endif %}
64
+
65
+ <div class="copyright">
66
+ <p class="year">
67
+ &copy; {{ docyear }} Cloud Security Alliance, LLC.
68
+ </p>
69
+
70
+ <p class="message">
71
+ All rights reserved. Unless otherwise specified, no part of this
72
+ publication may be reproduced or utilized otherwise in any form or by any
73
+ means, electronic or mechanical, including photocopying, or posting on the
74
+ internet or an intranet, without prior written permission. Permission can
75
+ be requested from the address below.
76
+ </p>
77
+
78
+ <div class="contact-info">
79
+ <p class="name">Cloud Security Alliance</p>
80
+ <p class="address">
81
+ 2212 Queen Anne Ave N<br />
82
+ Seattle<br />
83
+ WA 98109<br />
84
+ United States of America<br />
85
+ <br />
86
+ <a href="mailto:copyright@cloudsecurityalliance.com">copyright@cloudsecurityalliance.com</a><br />
87
+ <a href="www.cloudsecurityalliance.com">www.cloudsecurityalliance.com</a>
88
+ </p>
89
+ </div>
90
+ </div>
91
+ </div>
92
+
93
+ <div class="rule"></div>
94
+ </div>
95
+
96
+
97
+ </header>
@@ -0,0 +1,1040 @@
1
+ /*
2
+ 0 CSS RESET
3
+ */
4
+
5
+ /* http://meyerweb.com/eric/tools/css/reset/
6
+ v2.0 | 20110126
7
+ License: none (public domain)
8
+ */
9
+
10
+ html, body, div, span, applet, object, iframe,
11
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
12
+ a, abbr, acronym, address, big, cite, code,
13
+ del, dfn, em, img, ins, kbd, q, s, samp,
14
+ small, strike, strong, sub, sup, tt, var,
15
+ b, u, i, center,
16
+ ol, ul, li,
17
+ fieldset, form, label, legend,
18
+ table, caption, tbody, tfoot, thead, tr, th, td,
19
+ article, aside, canvas, details, embed,
20
+ figure, figcaption, footer, header, hgroup,
21
+ menu, nav, output, ruby, section, summary,
22
+ time, mark, audio, video {
23
+ margin: 0;
24
+ padding: 0;
25
+ }
26
+
27
+ html, body, div, span, applet, object, iframe,
28
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
29
+ a, abbr, acronym, address, big, cite, code,
30
+ del, dfn, em, img, ins, kbd, q, s, samp,
31
+ small, strike, strong, sub, sup, tt, var,
32
+ b, u, i, center,
33
+ dl, dt, dd, ol, ul, li,
34
+ fieldset, form, label, legend,
35
+ table, caption, tbody, tfoot, thead, tr, th, td,
36
+ article, aside, canvas, details, embed,
37
+ figure, figcaption, footer, header, hgroup,
38
+ menu, nav, output, ruby, section, summary,
39
+ time, mark, audio, video {
40
+ border: 0;
41
+ font-size: 100%;
42
+ }
43
+
44
+ html, body, div, span, applet, object, iframe,
45
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
46
+ a, abbr, acronym, address, big, cite, code,
47
+ del, dfn, em, img, ins, kbd, q, s, samp,
48
+ small, strike, strong, tt, var,
49
+ b, u, i, center,
50
+ dl, dd, ol, ul, li,
51
+ fieldset, form, label, legend,
52
+ table, caption, tbody, tfoot, thead, tr, th, td,
53
+ article, aside, canvas, details, embed,
54
+ figure, figcaption, footer, header, hgroup,
55
+ menu, nav, output, ruby, section, summary,
56
+ time, mark, audio, video {
57
+ vertical-align: baseline;
58
+ }
59
+
60
+
61
+ html, body, div, span, applet, object, iframe,
62
+ p, blockquote, pre,
63
+ a, abbr, acronym, address, big, cite, code,
64
+ del, dfn, em, img, ins, kbd, q, s, samp,
65
+ small, strike, strong, sub, sup, tt, var,
66
+ b, u, i, center,
67
+ dl, dt, dd, ol, ul, li,
68
+ fieldset, form, label, legend,
69
+ table, caption, tbody, tfoot, thead, tr, th, td,
70
+ article, aside, canvas, details, embed,
71
+ figure, figcaption, footer, header, hgroup,
72
+ menu, nav, output, ruby, section, summary,
73
+ time, mark, audio, video {
74
+ font-family: $bodyfont;
75
+ }
76
+
77
+ h1, h2, h3, h4, h5, h6, .h2Annex {
78
+ font-family: $headerfont;
79
+ }
80
+
81
+ dl {
82
+ display: grid;
83
+ grid-template-columns: max-content auto;
84
+ }
85
+
86
+ dt {
87
+ grid-column-start: 1;
88
+ }
89
+
90
+ dd {
91
+ grid-column-start: 2;
92
+ }
93
+
94
+ dd p, dt p {
95
+ margin-top: 0px;
96
+ }
97
+
98
+
99
+ /* HTML5 display-role reset for older browsers */
100
+ article, aside, details, figcaption, figure,
101
+ footer, header, hgroup, menu, nav, section {
102
+ display: block;
103
+ }
104
+ body {
105
+ line-height: 1;
106
+ }
107
+ blockquote, q {
108
+ quotes: none;
109
+ }
110
+ blockquote:before, blockquote:after,
111
+ q:before, q:after {
112
+ content: '';
113
+ content: none;
114
+ }
115
+ table {
116
+ border-collapse: collapse;
117
+ border-spacing: 0;
118
+ }
119
+
120
+
121
+ /*
122
+ 1. HTML & Body
123
+ */
124
+
125
+ body {
126
+ margin: 0;
127
+ margin-left: auto;
128
+ margin-right: auto;
129
+ max-width: 100%;
130
+ color: #1d1d1d;
131
+ font-weight: 300;
132
+ font-size: 15px;
133
+ line-height: 1.4em;
134
+ background-color: #ffffff;
135
+ }
136
+
137
+ main {margin: 0 3em 0 6em;}
138
+
139
+ #toc{
140
+ font-family: $bodyfont;
141
+ font-weight: 400;
142
+ }
143
+
144
+ /*
145
+ 2. Responsive navigation layout
146
+ */
147
+
148
+
149
+ @media (min-width: 768px) {
150
+ nav {
151
+ position: fixed;
152
+ top: 0;
153
+ bottom: 0;
154
+ left: 0;
155
+ width: 323px;
156
+ font-size: 0.9em;
157
+ overflow: auto;
158
+ padding: 0 0 0 45px;
159
+ margin-right: 30px;
160
+ background-color:#f7f7f7;
161
+ }
162
+
163
+ #toggle {
164
+ position: fixed;
165
+ height: 100%;
166
+ width: 30px;
167
+ background-color:#4D7EA5;
168
+ color: white!important;
169
+ cursor: pointer;
170
+ z-index: 100;
171
+ }
172
+
173
+ #toggle span {
174
+ text-align: center;
175
+ width: 100%;
176
+ position: absolute;
177
+ top: 50%;
178
+ transform: translate(0, -50%);
179
+
180
+ }
181
+
182
+
183
+ .container {
184
+ padding-left: 360px;
185
+ }
186
+
187
+ .rule.toc {
188
+ display: none;
189
+ }
190
+
191
+ h1.toc-contents {
192
+ margin-top: 1em;
193
+ }
194
+
195
+ ul#toc-list {
196
+ padding:0;
197
+ margin:0;
198
+ }
199
+ }
200
+
201
+ @media (max-width: 768px) {
202
+ #toc {
203
+ padding: 0 1.5em 0 1.5em;
204
+ overflow: visible;
205
+ }
206
+ }
207
+
208
+
209
+
210
+ #toc ul {
211
+ margin: 0;
212
+ padding: 0;
213
+ list-style: none;
214
+ }
215
+
216
+ #toc li {
217
+ padding: 5px 10px;
218
+ }
219
+
220
+ #toc a {
221
+ color: #4D7EA5;
222
+ text-decoration: none;
223
+ display: block;
224
+ }
225
+
226
+ #toc a:hover {
227
+ color: white;
228
+ }
229
+
230
+ #toc .h2 {
231
+ padding-left: 30px;
232
+ }
233
+
234
+ #toc .h3 {
235
+ padding-left: 50px;
236
+ }
237
+
238
+ #toc .toc-active a {
239
+ color: white;
240
+ }
241
+
242
+ #toc .toc-active, #toc li:hover {
243
+ background: #4D7EA5;
244
+ box-shadow: inset -5px 0px 10px -5px #4D7EA5!important;
245
+
246
+ }
247
+
248
+ #toc li:hover a {
249
+ color: white;
250
+ }
251
+
252
+ /*
253
+ Document types + stages
254
+ */
255
+
256
+ .document-type-band {
257
+ left:0;
258
+ top:180px;
259
+ height: 100%;
260
+ position: fixed;
261
+ display: block;
262
+ z-index: 99;
263
+ /*box-shadow: -5px 0px 10px #1d1d1d*/
264
+
265
+ }
266
+
267
+ .document-stage-band {
268
+ left:0;
269
+ top:0;
270
+ height: 100%;
271
+ position: fixed;
272
+ display: block;
273
+ z-index: 98;
274
+ /*box-shadow: -5px 0px 10px #1d1d1d*/
275
+ }
276
+
277
+ .document-type {
278
+ position: relative;
279
+ width: 25px;
280
+ }
281
+
282
+ .document-stage {
283
+ position: relative;
284
+ width: 25px;
285
+ }
286
+
287
+ p.document-type, p.document-stage {
288
+ color: white;
289
+ text-transform: uppercase;
290
+ font-size: 0.9em;
291
+ font-weight: 400;
292
+ letter-spacing: 0.05em;
293
+ margin:0;
294
+ margin-left: 6px;
295
+ writing-mode:tb-rl;
296
+ -webkit-transform:rotate(180deg);
297
+ -moz-transform:rotate(180deg);
298
+ -o-transform: rotate(180deg);
299
+ white-space:nowrap;
300
+ display:block;
301
+ bottom:0;
302
+ }
303
+
304
+ p.document-type {
305
+ font-weight: 400;
306
+ height: 120px;
307
+ }
308
+
309
+ #governance-band p.document-type {
310
+ font-weight: 400;
311
+ height: 230px!important;
312
+ }
313
+
314
+ p.document-stage {
315
+ font-weight: 300;
316
+ height:160px;
317
+ }
318
+
319
+ #standard-band {
320
+ color: #0ac442;
321
+ }
322
+
323
+ #standard {
324
+ border-bottom: solid 3px #0ac442;
325
+ }
326
+
327
+ #governance {
328
+ border-bottom: solid 3px #750697;
329
+ }
330
+
331
+ #governance-band {
332
+ background-color: #750697;
333
+ }
334
+
335
+ #guide {
336
+ border-bottom: solid 3px #48a0e7;
337
+ }
338
+
339
+ #guide-band {
340
+ background-color: #48a0e7;
341
+ }
342
+
343
+ .coverpage-maturity {
344
+ font-family: $bodyfont;
345
+ font-weight: 400;
346
+ font-size: 1em;
347
+ margin: 0 0 2em 0;
348
+ text-transform: uppercase;
349
+ }
350
+
351
+ #working-draft {
352
+ border-bottom: solid 3px #fda706;
353
+ }
354
+
355
+ #working-draft-band p {
356
+ color: #fda706;
357
+ }
358
+
359
+ #committee-draft {
360
+ border-bottom: solid 3px #fd06fd;
361
+ }
362
+
363
+ #committee-draft-band {
364
+ background-color: #fd06fd;
365
+ }
366
+
367
+ #draft-standard {
368
+ border-bottom: solid 3px #fdf906;
369
+ }
370
+
371
+ #draft-standard-band {
372
+ background-color: #fdf906;
373
+ }
374
+
375
+ #standard {
376
+ border-bottom: solid 3px #0ac442;
377
+ }
378
+
379
+ #obsolete {
380
+ border-bottom: solid 3px #7e0d13;
381
+ }
382
+
383
+ #obsolete-band {
384
+ background-color: #7e0d13;
385
+ }
386
+
387
+ /*
388
+ 3. TYPOGRAPHY
389
+ */
390
+
391
+ /*
392
+ 3.1 Titles
393
+ */
394
+
395
+ h1,h2,h3,h4,h5,h6 {
396
+ font-family: $headerfont;
397
+ color: black;
398
+ font-weight: 600;
399
+ margin-top: 2em;
400
+ margin-bottom: 0.3em;
401
+ }
402
+
403
+ h1 {
404
+ font-size: 1.8em;
405
+ text-transform: uppercase;
406
+ margin-top: 2em;
407
+ }
408
+
409
+ h1#content {
410
+ margin-top: 2em;
411
+ }
412
+
413
+ h2 {
414
+ font-size: 1.6em;
415
+ }
416
+
417
+ h3 {
418
+ font-size: 1.5em;
419
+ }
420
+ /*
421
+ span[id^="toc"]:after {
422
+ float: left;
423
+ padding-right: 4px;
424
+ margin-left: -20px;
425
+ font-family: "Font Awesome 5 Free";
426
+ font-weight: 900;
427
+ font-size: 0.8em;
428
+ color: #cfcfcf;
429
+ content: "\f0c1";
430
+ }
431
+ */
432
+ .TermNum, .Terms, .AltTerms {
433
+ color: #00549f;
434
+ font-weight: 400;
435
+ }
436
+
437
+ p.TermNum {
438
+ font-size: 0.9em;
439
+ line-height: 1em;
440
+ margin: 0;
441
+ margin-top: 2em;
442
+ }
443
+
444
+ p.Terms {
445
+ font-size: 1.1em;
446
+ line-height: 1.7em;
447
+ margin: 0;
448
+ }
449
+
450
+ /*
451
+ p.AltTerms {
452
+ font-style: italic;
453
+ margin: 0;
454
+ }
455
+ */
456
+
457
+ span.obligation {
458
+ font-weight: 400;
459
+ }
460
+
461
+
462
+ /*
463
+ 3.2 Links
464
+ */
465
+
466
+ a, a:visited{
467
+ text-decoration: none;
468
+ color: #4D7EA5;
469
+ }
470
+
471
+ a:hover {
472
+ color: white;
473
+ background: #4D7EA5;
474
+ box-shadow: 3px 0 0 #4D7EA5, -3px 0 0 #4D7EA5;
475
+ /* padding: 2px 0 2px 0; */
476
+ }
477
+
478
+ ::selection {
479
+ background: #4D7EA5; /* WebKit/Blink Browsers */
480
+ color: white;
481
+ }
482
+ ::-moz-selection {
483
+ background: #4D7EA5; /* Gecko Browsers */
484
+ color: white;
485
+ }
486
+
487
+ .contact-info a:hover {
488
+ color: #4D7EA5;
489
+ text-decoration: underline;
490
+ background: none;
491
+ box-shadow: 0 0 0 0;
492
+ }
493
+
494
+
495
+
496
+ /*
497
+ 3.3 Lists
498
+ */
499
+
500
+ ul {
501
+ margin-left: 0.5em; }
502
+
503
+ #toc ul {
504
+ margin-bottom: 0.25em; }
505
+
506
+ #toc li {
507
+ list-style-type: none; }
508
+
509
+
510
+ /*
511
+ 3.4 Rules
512
+ */
513
+
514
+ .rule {
515
+ width: 100%;
516
+ height: 1px;
517
+ background-color: #00427e;
518
+ margin: 2em 0;
519
+ }
520
+ /*
521
+ h2 p {
522
+ display: inline;
523
+ }
524
+ */
525
+
526
+ /*
527
+ 3.5 Bibliograhy
528
+ */
529
+
530
+ p.Biblio, p.NormRef {
531
+ margin-top: 1em;
532
+ margin-left: 2em;
533
+ text-indent:-2em;
534
+ }
535
+
536
+ /*
537
+ 3.6 Source Code + figures
538
+ */
539
+
540
+ .figure, .Sourcecode {
541
+ font-family: $monospacefont;
542
+ background-color: #F5F6F6;
543
+ font-size: 1em;
544
+ line-height: 1.6em;
545
+ overflow: auto;
546
+ border-left: solid 5px #B1B6B8;
547
+ color: rgb(91, 94, 95);
548
+ padding: 1.2em 1.2em 1.2em 2.2em;
549
+ margin: 2em 0 2em -1em;;
550
+ }
551
+
552
+ .FigureTitle {
553
+ font-weight: 700;
554
+ font-size: 1em;
555
+ text-align: center;
556
+ }
557
+
558
+ /*
559
+ 3.7 Notes
560
+ */
561
+
562
+ .Note {
563
+ background-color: #F5F6F6;
564
+ border-left: solid 5px #B1B6B8;
565
+ color: rgb(91, 94, 95);
566
+ padding: 1.2em 1.2em 1.2em 2.2em;
567
+ margin: 2em 0 2em -1em;
568
+ }
569
+
570
+ /*
571
+ 3.8 Examples
572
+ */
573
+
574
+ .example {
575
+ background-color: #F5F6F6;
576
+ border-left: solid 5px #B1B6B8;
577
+ color: rgb(91, 94, 95);
578
+ padding: 1.2em 1.2em 1.2em 2.2em;
579
+ margin: 2em 0 2em -1em;;
580
+ }
581
+
582
+ .example .example-title {
583
+ font-weight: 700;
584
+ text-transform: uppercase;
585
+ text-align: center;
586
+ margin-top:0;
587
+ }
588
+
589
+ /*
590
+ 3.9 Tables
591
+ */
592
+
593
+ table {
594
+ border-collapse: collapse;
595
+ width: 100%;
596
+ font-weight: 300;
597
+ margin: 1em 0 2em 0;
598
+ margin-left: auto;
599
+ margin-right: auto;
600
+ padding-right: 2em;
601
+ border: solid 1px #F5F6F6!important;
602
+ }
603
+
604
+ table, th, td {
605
+ border: none!important;
606
+ font-size: 1em;
607
+ }
608
+
609
+ td, th {
610
+ padding: 1em;
611
+ }
612
+
613
+ td.header {
614
+ font-weight: 400;
615
+ }
616
+
617
+ tr:nth-child(even) {
618
+ background-color: #FBF9F8;
619
+ }
620
+
621
+ thead {
622
+ background-color: #4D7EA5;
623
+ color: white;
624
+ border: none;
625
+ }
626
+
627
+ p.TableTitle {
628
+ text-align: center;
629
+ margin-top: 2.5em;
630
+ font-weight: 400;
631
+ }
632
+
633
+ /*
634
+ 3.10 Footnotes
635
+ */
636
+
637
+ a.footnote-number {
638
+ vertical-align: super;
639
+ font-size: 0.8em;
640
+ }
641
+
642
+ .footnote {
643
+ font-size: 0.9em;
644
+ }
645
+
646
+
647
+ /*
648
+ 3.11 Blockquotes
649
+ */
650
+
651
+ .Quote {
652
+ background-color: #F5F6F6;
653
+ border-left: solid 5px #B1B6B8;
654
+ color: rgb(91, 94, 95);
655
+ padding: 1.2em 1.2em 1.2em 2.2em;
656
+ margin: 2em 0 2em -1em;;
657
+ font-style: italic;
658
+ }
659
+
660
+ .QuoteAttribution
661
+ {text-align:right;}
662
+
663
+
664
+ /*
665
+ 3.12 Formulas
666
+ */
667
+
668
+ .formula, .Formula {
669
+ background-color: #F5F6F6;
670
+ border-left: solid 5px #B1B6B8;
671
+ color: rgb(91, 94, 95);
672
+ padding: 1.2em 1.2em 1.2em 2.2em;
673
+ margin: 2em 0 2em -1em;;
674
+ text-align: center;
675
+ }
676
+
677
+ /*
678
+ 3.13 Contact Info
679
+ */
680
+
681
+ .contact-info {
682
+ background-color: #f7f7f7;
683
+ padding: 2em;
684
+ margin-top: 5em;
685
+ width: auto;
686
+ margin-left: auto;
687
+ margin-right: auto;
688
+ text-align: left;
689
+ }
690
+
691
+ .contact-info p, .contact-info a {
692
+ font-family: $monospacefont;
693
+ font-weight: 400;
694
+ }
695
+
696
+ .contact-info .name {
697
+ font-weight: 700;
698
+ font-size: 1.2em;
699
+ margin-bottom:0;
700
+ }
701
+
702
+ .contact-info .address {
703
+ font-size: 1em;
704
+ line-height: 1.3em;
705
+ margin-top:0;
706
+ }
707
+
708
+ /*
709
+ Keywords
710
+ */
711
+
712
+ span.keyword {
713
+ font-weight: 400;
714
+ }
715
+
716
+ /*
717
+ Paragraphs
718
+ */
719
+
720
+ p {
721
+ font-size: 1.2em;
722
+ line-height: 1.5;
723
+ margin-top: 1em;
724
+ margin-bottom: 1em;
725
+ }
726
+
727
+ /* Admonitions */
728
+
729
+ .Admonition, .admonition {
730
+ background-color: #ffb3b3;
731
+ /* color: #47430c;*/
732
+ padding: 0.5em;
733
+ margin: 1.5em 0 1.5em 0;
734
+ text-align: left;
735
+ }
736
+
737
+ .Admonition p, .admonition p {
738
+ margin: 0;
739
+ }
740
+
741
+
742
+ /*
743
+ 4.0 Page header
744
+ */
745
+
746
+ /*
747
+ 4.1 Top Logo
748
+ */
749
+
750
+ /*
751
+ .wrapper-top {
752
+ background-color:#0e1a85;
753
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAABYlAAAWJQFJUiTwAAADwUlEQVR4nO3YgQ2AMAwDwcAiWZ1NizrH30lIeIEq9nPOGSDqPgC7+93v/suy3Mmvhx+6VAAIcwFAmc4nyzYAIMgGAGEuACirdyBZtgEASTYACHMBQFm9A8myDQBIsgFAmAsAyuodSJZtAECSDQDCXABQVu9AsmwDAJJsABDmAoCyegeSZRsAkGQDgDAXAJTVO5As2wCAJBsAhLkAoKzegWTZBgAk2QAgzAUAZfUOJMs2ACDJBgBhLgAoq3cgWbYBAEk2AAhzAUBZvQPJsg0ASLIBQJgLAMrqHUiWbQBAkg0AwlwAUFbvQLJsAwCSbAAQ5gKAsnoHkmUbAJBkA4AwFwCU1TuQLNsAgCQbAIS5AKCs3oFk2QYAJNkAIMwFAGX1DiTLNgAgyQYAYS4AKKt3IFm2AQBJNgAIcwFAWb0DybINAEiyAUCYCwDK6h1Ilm0AQJINAMJcAFBW70CybAMAkmwAEOYCgLJ6B5JlGwCQZAOAMBcAlNU7kCzbAIAkGwCEuQCgrN6BZNkGACTZACDMBQBl9Q4kyzYAIMkGAGEuACirdyBZtgEASTYACHMBQFm9A8myDQBIsgFAmAsAyuodSJZtAECSDQDCXABQVu9AsmwDAJJsABDmAoCyegeSZRsAkGQDgDAXAJTVO5As2wCAJBsAhLkAoKzegWTZBgAk2QAgzAUAZfUOJMs2ACDJBgBhLgAoq3cgWbYBAEk2AAhzAUBZvQPJsg0ASLIBQJgLAMrqHUiWbQBAkg0AwlwAUFbvQLJsAwCSbAAQ5gKAsnoHkmUbAJBkA4AwFwCU1TuQLNsAgCQbAIS5AKCs3oFk2QYAJNkAIMwFAGX1DiTLNgAgyQYAYS4AKKt3IFm2AQBJNgAIcwFAWb0DybINAEiyAUCYCwDK6h1Ilm0AQJINAMJcAFBW70CybAMAkmwAEOYCgLJ6B5JlGwCQZAOAMBcAlNU7kCzbAIAkGwCEuQCgrN6BZNkGACTZACDMBQBl9Q4kyzYAIMkGAGEuACirdyBZtgEASTYACHMBQFm9A8myDQBIsgFAmAsAyuodSJZtAECSDQDCXABQVu9AsmwDAJJsABDmAoCyegeSZRsAkGQDgDAXAJTVO5As2wCAJBsAhLkAoKzegWTZBgAk2QAgzAUAZfUOJMs2ACDJBgBhLgAoq3cgWbYBAEk2AAhzAUBZvQPJsg0ASLIBQJgLAMrqHUiWbQBAkg0AwlwAUFbvQLJsAwCSbAAQ5gKAsnoHkmUbAJBkA4AwFwCU1TuQLNsAgCQbAFTNzA9ggAr9aahO8QAAAABJRU5ErkJggg==');
754
+ color: #ffffff;
755
+ padding: 2em 0;
756
+ }
757
+ */
758
+ .coverpage {
759
+ background: radial-gradient(#2D5D8E, #0D1E2B);
760
+ /*background-image: url("img/dots@2x.png");*/
761
+ color: #ffffff;
762
+ padding: 2em 0;
763
+ }
764
+
765
+ .doc-number {
766
+ font-size: 1em;
767
+ font-family: $bodyfont;
768
+ }
769
+
770
+ .coverpage-title {
771
+ padding-bottom: 0.5em;
772
+ font-family: $headerfont;
773
+ font-size: 1.5em;
774
+ font-weight: 900;
775
+ }
776
+
777
+ .title-section1 {
778
+ padding: 0 2em 0 3em;
779
+ }
780
+
781
+ .prefatory-section {
782
+ padding: 0 3em 0 3em;
783
+ }
784
+
785
+
786
+ .zzSTDTitle1, .MsoCommentText {
787
+ display: none;
788
+ }
789
+
790
+
791
+ .coverpage {
792
+ text-align: center;
793
+ }
794
+
795
+ .coverpage-logo {
796
+ margin-top: 2em;
797
+ margin-bottom: 6em;
798
+ }
799
+
800
+ .coverpage-logo span, .coverpage-tc-name span {
801
+ font-family: $bodyfont;
802
+ text-transform: uppercase;
803
+ font-weight: 300;
804
+ display: block;
805
+ }
806
+
807
+ .coverpage-tc-name {
808
+ font-size: 1.2em;
809
+ line-height: 1.2em;
810
+ margin: 0.25em 0;
811
+ }
812
+
813
+ .document-info {
814
+ margin: 3em 3em 2em 5em;
815
+ }
816
+
817
+
818
+ /*
819
+ 4.2 Document Identity
820
+ */
821
+
822
+ .coverpage-doc-identity {
823
+ width: 100%;
824
+ height: 50px;
825
+ margin: 2em 0;
826
+ }
827
+
828
+
829
+ .title-first {
830
+ font-size: 3em;
831
+ line-height: 2em;
832
+ font-weight: 900;
833
+ text-transform: uppercase;
834
+ text-decoration: underline solid #EE9C4F;
835
+ margin-top: 2em;
836
+ }
837
+
838
+ .title-second {
839
+ font-size: 2em;
840
+ line-height: 2em;
841
+ font-weight: 300;
842
+ letter-spacing: 1px;
843
+ }
844
+
845
+ img.csa-logo {
846
+ height: 50px;
847
+ float: right;
848
+ margin-right: 2em;
849
+ }
850
+
851
+ .coverpage-title .title-second {
852
+ display: none;
853
+ }
854
+
855
+ .coverpage-stage-block {
856
+ font-family: $bodyfont;
857
+ font-weight: 700;
858
+ font-size: 1em;
859
+ margin: 1em 0em 1em 0em;
860
+ text-transform: uppercase;
861
+ }
862
+
863
+ .section-title {
864
+ background: linear-gradient(#A5A8AB, #B1B6B8);
865
+ padding: 4em 2em 3em 5.5em;
866
+ margin: 4em -3em 3em -5em;
867
+ border-bottom: 8px solid #EE9C4F;
868
+ }
869
+
870
+ .section-title .super-title {
871
+ font-size: 2em;
872
+ font-weight: 100;
873
+ line-height: 1em;
874
+ margin: 0;
875
+ color: white;
876
+ text-transform: uppercase;
877
+ }
878
+
879
+ .section-title h1 {
880
+ font-size: 2em;
881
+ font-weight: 800;
882
+ line-height: 1em;
883
+ margin-top: 0.5em;
884
+ margin-bottom: 0;
885
+ color: white;
886
+ text-transform: none;
887
+ }
888
+
889
+ h2 {
890
+ border-bottom: solid 1px #4D7EA5;
891
+ color: #4D7EA5;
892
+ }
893
+
894
+ h3, h4, h5, h6 {
895
+ color: #EE9C4F;
896
+ }
897
+
898
+ /*
899
+ 4.3 Draft Warning
900
+ */
901
+
902
+
903
+ .coverpage-warning {
904
+ border-top: solid 1px #f36f36;
905
+ border-bottom: solid 1px #f36f36;
906
+ margin: 1em 2em;
907
+ color: #00549f;
908
+ padding: 1em;
909
+ }
910
+
911
+ .coverpage-warning .title {
912
+ color: #f36f36;
913
+ font-family: $headerfont;
914
+ font-weight: 700;
915
+ text-transform: uppercase;
916
+ font-size: 1.2em;
917
+ }
918
+
919
+
920
+
921
+ /*
922
+ 4.4 Copyright
923
+ */
924
+
925
+ .copyright {
926
+ padding: 1em;
927
+ font-size: 0.8em;
928
+ text-align: left;
929
+ }
930
+
931
+
932
+ .copyright .name, .copyright .address {color: #00549f;}
933
+
934
+
935
+
936
+ /*
937
+ 5.0 Other styles
938
+ */
939
+
940
+
941
+
942
+ /*
943
+ To top button
944
+ */
945
+
946
+ #myBtn {
947
+ font-family: $monospacefont;
948
+ display: none;
949
+ position: fixed;
950
+ bottom: 20px;
951
+ right: 30px;
952
+ z-index: 99;
953
+ font-size: 12px;
954
+ border: none;
955
+ outline: none;
956
+ background-color: #4D7EA5;
957
+ opacity: 0.15;
958
+ color: white;
959
+ cursor: pointer;
960
+ padding: 10px 15px 10px 15px;
961
+ border-radius: 4px;
962
+ }
963
+
964
+ #myBtn:hover {
965
+ opacity: 1;
966
+ }
967
+
968
+ a.anchorjs-link:hover {
969
+ background: none;
970
+ color: #485094;
971
+ box-shadow: none;
972
+ }
973
+
974
+ nav h1:hover a:after {
975
+ display: none;
976
+ }
977
+
978
+ .document-stage-band p {
979
+ color: #EE9C4F!important;
980
+ }
981
+
982
+ .document-type-band p {
983
+ color: #4D7EA5!important;
984
+ }
985
+
986
+ @page {
987
+ margin: 1cm;
988
+ }
989
+
990
+ @media print {
991
+
992
+ .section-title, .document-info, nav {
993
+ page-break-before: always;
994
+ }
995
+
996
+ .coverpage {
997
+ height: 23cm;
998
+ }
999
+
1000
+ .coverpage-doc-identity {
1001
+ position: absolute;
1002
+ bottom: 1cm;
1003
+ }
1004
+
1005
+ #toggle, .document-stage-band,
1006
+ .document-type-band {
1007
+ display: none;
1008
+ }
1009
+
1010
+ .container {
1011
+ padding-left: 0;
1012
+ }
1013
+
1014
+ nav {
1015
+ position: relative;
1016
+ width: auto;
1017
+ font-size: 0.9em;
1018
+ overflow: auto;
1019
+ padding: 0;
1020
+ margin-right: 0;
1021
+ background-color: white;
1022
+ }
1023
+
1024
+ #toc .toc-active a {
1025
+ color: #4D7EA5;
1026
+ }
1027
+
1028
+ #toc .toc-active, #toc li:hover {
1029
+ background: white;
1030
+ box-shadow: none !important; }
1031
+
1032
+ #toc li:hover a {
1033
+ color: black; }
1034
+
1035
+
1036
+ h1.toc-contents {
1037
+ margin-top: 2em; }
1038
+
1039
+ }
1040
+