1
+ <!-- This page is not testable when restyling because it has to use the absolute path to files, and when testing locally the /en/mainnet/ part of the path is not included.-->
2
+ <!DOCTYPE html>
3
+ < html class ="no-js " lang ="">
4
+
5
+ < head >
6
+ < meta charset ="utf-8 " />
7
+ < title > Concordium Documentation</ title >
8
+ < link rel ="stylesheet " href ="https://use.fontawesome.com/releases/v5.8.1/css/all.css " integrity ="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf " crossorigin ="anonymous ">
9
+ < link rel ="stylesheet " href ="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400;1,700&family=IBM+Plex+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap " />
10
+ < meta name ="description " content ="" />
11
+ < meta name ="viewport " content ="width=device-width, initial-scale=1 " />
12
+ < link rel ="stylesheet " href ="https://www.w3schools.com/w3css/4/w3.css ">
13
+ < link rel ="shortcut icon " href ="/_static/concordium-logo-no-text.svg " />
14
+ < meta name ="theme-color " content ="#000000 " />
15
+ </ head >
16
+
17
+ < body >
18
+ < div class ="fit-content center margin-tb ">
19
+ < a href ="https://concordium.com/ " target ="_blank ">
20
+ < img class ="logo " src ="/_static/concordium-logo.svg " /> < h3 class ="lp "> Documentation</ h3 >
21
+ </ a >
22
+ </ div >
23
+
24
+ <!-- This can used to add a notification at the top of the landing page-->
25
+ < div class ="info-container ">
26
+ < div class ="info-text ">
27
+ < h4 class ="lp "> Whoops!</ h4 >
28
+ < p class ="
lp "
> You found a broken link. Thanks for letting us know.
</ p > < p class ="
lp "
> If you need help to find something,
< a href ="
mailto:[email protected] "
> contact us.
</ a > </ p >
29
+ </ div >
30
+ </ div >
31
+
32
+
33
+ < style >
34
+ body {
35
+ background : url ('/_static/background-img.png' ) no-repeat fixed center;
36
+ -webkit-background-size : cover;
37
+ -moz-background-size : cover;
38
+ -o-background-size : cover;
39
+ background-size : cover;
40
+ margin : 0 ;
41
+ padding : 0 ;
42
+ font-family : 'IBM Plex Sans' , 'Helvetica Neue' , Arial, sans-serif;
43
+ }
44
+
45
+ p {
46
+ color : white;
47
+ font-family : 'IBM Plex Sans' , 'Helvetica Neue' , Arial, sans-serif;
48
+ font-weight : 400 ;
49
+ }
50
+
51
+ h3 {
52
+ font-weight : 700 ;
53
+ }
54
+
55
+ h4 {
56
+ padding : 10px 0px 0px 0px ;
57
+ font-weight : 700 ;
58
+ }
59
+
60
+ .lp {
61
+ font-family : 'IBM Plex Sans' , 'Helvetica Neue' , Arial, sans-serif;
62
+ color : white;
63
+ text-align : center;
64
+ padding-bottom : 20px ;
65
+ }
66
+
67
+ a {
68
+ color : white;
69
+ font-family : 'IBM Plex Sans' , 'Helvetica Neue' , Arial, sans-serif;
70
+ font-weight : 400 ;
71
+ font-size : 16px ;
72
+ text-decoration : none;
73
+ text-align : center;
74
+ }
75
+
76
+ a : visited {
77
+ color : white;
78
+ font-family : 'IBM Plex Sans' , 'Helvetica Neue' , Arial, sans-serif;
79
+ text-decoration : none;
80
+ }
81
+
82
+ .center {
83
+ margin-right : auto;
84
+ margin-left : auto;
85
+ }
86
+
87
+ .fit-content {
88
+ width : fit-content;
89
+ }
90
+
91
+ .max-width {
92
+ max-width : 1280px ;
93
+ }
94
+
95
+ .text-center {
96
+ text-align : center;
97
+ }
98
+
99
+ .margin-tb {
100
+ margin-bottom : 3em ;
101
+ margin-top : 3em ;
102
+ }
103
+
104
+ .consent {
105
+ position : fixed;
106
+ right : 0 ;
107
+ top : auto;
108
+ bottom : 0 ;
109
+ max-width : 530px ;
110
+ padding : 30px 45px 25px ;
111
+ background : linear-gradient (157deg , # 005A78 -18.68% , # 2E8894 95.63% );
112
+ color : # fff ;
113
+ }
114
+
115
+ .info-container {
116
+ width : 350px ;
117
+ margin-top : 60px ;
118
+ margin-bottom : -20px ;
119
+ margin-right : auto;
120
+ margin-left : auto;
121
+ padding : auto;
122
+ display : flex;
123
+ position : relative;
124
+ flex-direction : column;
125
+ font-family : 'IBM Plex Sans' , 'Helvetica Neue' , Arial, sans-serif;
126
+ }
127
+
128
+ @media only screen and (min-width : 863px ) {
129
+ .info-container {
130
+ width : 730px ;
131
+ margin-top : 60px ;
132
+ margin-bottom : -20px ;
133
+ margin-right : auto;
134
+ margin-left : auto;
135
+ padding : auto;
136
+ display : flex;
137
+ position : relative;
138
+ flex-direction : column;
139
+ font-family : 'IBM Plex Sans' , 'Helvetica Neue' , Arial, sans-serif;
140
+ }
141
+ }
142
+
143
+ .info-text {
144
+ width : 90% ;
145
+ margin : auto;
146
+ text-align : center;
147
+ position : relative;
148
+ font-family : 'IBM Plex Sans' , 'Helvetica Neue' , Arial, sans-serif;
149
+ }
150
+
151
+ .logo {
152
+ position : relative;
153
+ display : inline-block;
154
+ max-width : 300px ;
155
+ min-height : 100px ;
156
+ max-height : 200px ;
157
+ }
158
+
159
+ * {
160
+ box-sizing : border-box;
161
+ }
162
+
163
+ /* Responsive columns - one column layout (vertical) on Extra small devices (phones, 600px and down) */
164
+ @media screen and (max-width : 600px ) {
165
+ .consent {
166
+ left : 0 ;
167
+ }
168
+ }
169
+
170
+ /* Small devices (portrait tablets and large phones, 600px and up) */
171
+ @media only screen and (min-width : 600px ) {
172
+ .consent {
173
+ left : 0 ;
174
+ }
175
+
176
+ }
177
+ </ style >
178
+
179
+ < div id ="cookie-consent " class ="consent ">
180
+ < p > This website only aggregates and analyzes the actions you take here if you allow cookies. If you do not allow cookies, it protects your privacy, but also prevents the owner from learning from your actions and creating a better experience for you and other users.</ p > < p > Note that if you opt in and you clear your cookies, delete the opt-in cookie, or if you change computers or Web browsers, you will need to perform the opt-in procedure again.</ p >
181
+ < button onclick ="consentGranted() "> Allow</ button >
182
+ < button onclick ="consentDenied() "> Decline</ button >
183
+ < a href ="https://concordium.com/privacy-policy/ "> Privacy policy</ a >
184
+ </ div >
185
+
186
+ <!-- Matomo -->
187
+ < script >
188
+ var _paq = window . _paq = window . _paq || [ ] ;
189
+
190
+ // Save the choice in a cookie
191
+ function storeChoice ( granted ) {
192
+ document . cookie = "cookie-consent=" + granted
193
+ }
194
+
195
+ // Look for a cookie storing the previous choice of the user.
196
+ // Returns undefined if no choice was stored, otherwise a boolean for whether the
197
+ // user gave consent.
198
+ function loadChoice ( ) {
199
+ if ( ! document . cookie . includes ( "cookie-consent=" ) ) {
200
+ return undefined ;
201
+ }
202
+ return document . cookie . includes ( "cookie-consent=true" )
203
+ }
204
+
205
+ // Removes the cookie consent banner
206
+ function removeCookieConsentBanner ( ) {
207
+ document . getElementById ( "cookie-consent" ) . remove ( )
208
+ }
209
+
210
+ // Called by the cookie consent banner if granted permission
211
+ function consentGranted ( ) {
212
+ storeChoice ( true )
213
+ _paq . push ( [ 'setCookieConsentGiven' ] ) ;
214
+ removeCookieConsentBanner ( )
215
+ }
216
+
217
+ // Called by the cookie consent banner if denied permission
218
+ function consentDenied ( ) {
219
+ storeChoice ( true )
220
+ removeCookieConsentBanner ( )
221
+ }
222
+
223
+ const stored = loadChoice ( ) ;
224
+ if ( stored ) {
225
+ consentGranted ( )
226
+ }
227
+
228
+ _paq . push ( [ 'requireCookieConsent' ] ) ;
229
+ /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
230
+ _paq . push ( [ 'trackPageView' ] ) ;
231
+ _paq . push ( [ 'enableLinkTracking' ] ) ;
232
+
233
+ ( function ( ) {
234
+ var u = "https://concordium.matomo.cloud/" ;
235
+ _paq . push ( [ 'setTrackerUrl' , u + 'matomo.php' ] ) ;
236
+ _paq . push ( [ 'setSiteId' , '2' ] ) ;
237
+ var d = document , g = d . createElement ( 'script' ) , s = d . getElementsByTagName ( 'script' ) [ 0 ] ;
238
+ g . async = true ; g . src = '//cdn.matomo.cloud/concordium.matomo.cloud/matomo.js' ; s . parentNode . insertBefore ( g , s ) ;
239
+ } ) ( ) ;
240
+
241
+ // remember tracking consent was given for all subsequent page views and visits
242
+ _paq . push ( [ 'rememberCookieConsentGiven' ] ) ;
243
+
244
+ </ script >
245
+ </ body >
246
+ </ html >
0 commit comments