@opengovsg/mockpass 2.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/.eslintrc.json +13 -0
  2. package/.gitattributes +2 -0
  3. package/.github/dependabot.yml +14 -0
  4. package/.github/mergify.yml +12 -0
  5. package/.github/workflows/ci.yml +27 -0
  6. package/.github/workflows/npmpublish.yml +22 -0
  7. package/.gitpod.yml +5 -0
  8. package/.husky/pre-commit +4 -0
  9. package/.husky/pre-push +4 -0
  10. package/.prettierrc.js +5 -0
  11. package/Dockerfile +11 -0
  12. package/LICENSE +21 -0
  13. package/README.md +99 -0
  14. package/commitlint.config.js +7 -0
  15. package/index.js +87 -0
  16. package/lib/assertions.js +319 -0
  17. package/lib/crypto/index.js +61 -0
  18. package/lib/crypto/myinfo-signature.js +153 -0
  19. package/lib/express/index.js +6 -0
  20. package/lib/express/myinfo/consent.js +160 -0
  21. package/lib/express/myinfo/controllers.js +179 -0
  22. package/lib/express/myinfo/index.js +10 -0
  23. package/lib/express/oidc.js +131 -0
  24. package/lib/express/saml.js +171 -0
  25. package/lib/express/sgid.js +168 -0
  26. package/lib/saml-artifact.js +32 -0
  27. package/package.json +81 -0
  28. package/public/mockpass/resources/css/animate.css +43 -0
  29. package/public/mockpass/resources/css/common.css +121 -0
  30. package/public/mockpass/resources/css/reset.css +95 -0
  31. package/public/mockpass/resources/css/style-baseline-small-media.css +567 -0
  32. package/public/mockpass/resources/css/style-baseline.css +1006 -0
  33. package/public/mockpass/resources/css/style-common-small-media.css +156 -0
  34. package/public/mockpass/resources/css/style-common.css +510 -0
  35. package/public/mockpass/resources/css/style-homepage-small-media.css +588 -0
  36. package/public/mockpass/resources/css/style-homepage.css +674 -0
  37. package/public/mockpass/resources/css/style-main.css +9 -0
  38. package/public/mockpass/resources/img/ajax-loader.gif +0 -0
  39. package/public/mockpass/resources/img/ask_cheryl_tab.png +0 -0
  40. package/public/mockpass/resources/img/background/large-device/sp_bg.jpg +0 -0
  41. package/public/mockpass/resources/img/background/medium-device/ipad-bg.jpg +0 -0
  42. package/public/mockpass/resources/img/background/medium-device/ipad-landscape-sp-bg.jpg +0 -0
  43. package/public/mockpass/resources/img/background/small-device/mobile-sp-bg.jpg +0 -0
  44. package/public/mockpass/resources/img/carousel/large-device/how-to-setup-2fa-icon.png +0 -0
  45. package/public/mockpass/resources/img/carousel/large-device/register-icon.png +0 -0
  46. package/public/mockpass/resources/img/carousel/large-device/reset-password-icon.png +0 -0
  47. package/public/mockpass/resources/img/carousel/large-device/setup-2fa-icon.png +0 -0
  48. package/public/mockpass/resources/img/carousel/large-device/update-acct-icon.png +0 -0
  49. package/public/mockpass/resources/img/carousel/medium-device/ipad-register-icon.png +0 -0
  50. package/public/mockpass/resources/img/carousel/medium-device/ipad-reset-password-icon.png +0 -0
  51. package/public/mockpass/resources/img/carousel/medium-device/ipad-setup-2fa-icon.png +0 -0
  52. package/public/mockpass/resources/img/carousel/medium-device/ipad-update-acct-icon.png +0 -0
  53. package/public/mockpass/resources/img/carousel/small-device/mobile-register.png +0 -0
  54. package/public/mockpass/resources/img/carousel/small-device/mobile-reset-password-icon.png +0 -0
  55. package/public/mockpass/resources/img/carousel/small-device/mobile-update-acct-icon.png +0 -0
  56. package/public/mockpass/resources/img/close.png +0 -0
  57. package/public/mockpass/resources/img/id-pw-icon.png +0 -0
  58. package/public/mockpass/resources/img/logo/mockpass-logo.png +0 -0
  59. package/public/mockpass/resources/img/logo/mockpass-placeholder-logo.png +0 -0
  60. package/public/mockpass/resources/img/logo/mockpass_watermark.png +0 -0
  61. package/public/mockpass/resources/img/qr-icon.png +0 -0
  62. package/public/mockpass/resources/img/qr-shadow.png +0 -0
  63. package/public/mockpass/resources/img/refresh.jpg +0 -0
  64. package/public/mockpass/resources/img/sidebar-icons.png +0 -0
  65. package/public/mockpass/resources/img/sp-qr-unavailable.png +0 -0
  66. package/public/mockpass/resources/img/utility-icon-black.png +0 -0
  67. package/public/mockpass/resources/js/bootstrap.min.js +7 -0
  68. package/public/mockpass/resources/js/jquery-3.5.1.js +10872 -0
  69. package/public/mockpass/resources/js/login-common.js +849 -0
  70. package/public/mockpass/resources/plugins/bootstrap-3.3.6/css/bootstrap.min.css +6 -0
  71. package/public/mockpass/resources/plugins/bootstrap-3.3.6/fonts/glyphicons-halflings-regular.woff2 +0 -0
  72. package/static/certs/csr.pem +17 -0
  73. package/static/certs/key.pem +28 -0
  74. package/static/certs/key.pub +9 -0
  75. package/static/certs/server.crt +21 -0
  76. package/static/certs/spcp-csr.pem +17 -0
  77. package/static/certs/spcp-key.pem +28 -0
  78. package/static/certs/spcp.crt +20 -0
  79. package/static/html/consent.html +40 -0
  80. package/static/html/login-page.html +271 -0
  81. package/static/myinfo/v2.json +6154 -0
  82. package/static/myinfo/v3.json +29386 -0
  83. package/static/saml/corppass.xml +21 -0
  84. package/static/saml/unsigned-assertion.xml +24 -0
  85. package/static/saml/unsigned-response.xml +19 -0
@@ -0,0 +1,156 @@
1
+ /*------------------------------------------------
2
+ Base Build Small Devices Common START
3
+ ------------------------------------------------ */
4
+ @media only screen and (min-width: 320px) and (max-width: 767px) {
5
+ .trilinebreak {
6
+ margin: 3em 0;
7
+ line-height: 5em;
8
+ }
9
+ .noPageTitleContainer {
10
+ position: relative;
11
+ margin: 25px auto 25px auto;
12
+ }
13
+ .breadcrumb {
14
+ color: #2a2d33;
15
+ font-weight: normal;
16
+ background-color: #fff;
17
+ text-align: left;
18
+ vertical-align: middle;
19
+ list-style: none;
20
+ padding: 5px 0 0 10px;
21
+ height: 36px;
22
+ margin-bottom: 0;
23
+ font-size: .75em !important;
24
+ }
25
+ .form-horizontal .control-label {
26
+ padding-top: 7px;
27
+ padding-bottom: 7px;
28
+ margin-bottom: 0;
29
+ text-align: right;
30
+ font-weight: normal;
31
+ top: 0px;
32
+ }
33
+ .btn-wrapper {
34
+ margin-top: 25px;
35
+ margin-bottom: 25px;
36
+ }
37
+ .error-page-title {
38
+ color: #E11F26;
39
+ font-weight: bold;
40
+ font-size: 1.2em;
41
+ padding: 55px 0px 60px 0px;
42
+ line-height: 22px;
43
+ }
44
+ .pageerror-img-icon {
45
+ height: 95px;
46
+ width: 95px;
47
+ float: left;
48
+ margin: 30px 10px 0px 0px;
49
+ background-image: url(../../resources/img/message-icons-73f308d85125c45f0eb1579ae865de94.png);
50
+ background-position: 0px -5px;
51
+ background-size: 310px;
52
+ }
53
+
54
+ .announcement-container {
55
+ text-align: left;
56
+ padding: 0 20px;
57
+ }
58
+
59
+ /* Page Notification START */
60
+ .error-page-notification-wrapper {
61
+ margin: 25px -9999rem 0px -9999rem;
62
+ padding: 20px 9999rem;
63
+ background: #fef7f7;
64
+ color: #2a2d33;
65
+ }
66
+ .info-page-notification-wrapper {
67
+ margin: 25px -9999rem 0px -9999rem;
68
+ padding: 20px 9999rem;
69
+ background: #ccf2f6;
70
+ color: #2a2d33;
71
+ }
72
+ /* Page Notification END */
73
+
74
+ .primary-heading {
75
+ font-size: 1.5em;
76
+ color: #2a2d33;
77
+ font-weight: bold;
78
+ padding: 30px 0 30px 0px;
79
+ }
80
+ .confirmation-body-wrapper {
81
+ height: auto;
82
+ width: 100%;
83
+ margin: 40px 0px 0px 0px;
84
+ }
85
+ .letter-content {
86
+ line-height: 1.25 !important;
87
+ margin: 0px 0px 50px 0px;
88
+ }
89
+ .error-mobile-token-notification-wrapper, .info-mobile-token-notification-wrapper {
90
+ margin-top: 15px;
91
+ }
92
+ .error-content {
93
+ padding-left: 0px;
94
+ }
95
+ .icon-img-success {
96
+ height: 44px;
97
+ width: 44px;
98
+ background: url(../../resources/img/message-icons-73f308d85125c45f0eb1579ae865de94.png) no-repeat -95px;
99
+ background-size: cover;
100
+ }
101
+ .success-page-notification-wrapper {
102
+ margin: 20px -9999rem 0px -9999rem;
103
+ }
104
+ .success-page-notification-msg {
105
+ padding: 0 0 0 10px;
106
+ }
107
+ }
108
+ /*------------------------------------------------
109
+ Base Build Small Devices Common END
110
+ ------------------------------------------------ */
111
+
112
+
113
+
114
+ /*------------------------------------------------
115
+ Common Large Tablet START
116
+ ------------------------------------------------ */
117
+ @media only screen and (min-width: 768px) and (max-width: 1199px) {
118
+ .noPageTitleContainer {
119
+ position: relative;
120
+ margin: 25px auto 50px auto;
121
+ }
122
+ .error-content {
123
+ padding-left: 113px;
124
+ }
125
+ }
126
+ /*------------------------------------------------
127
+ Common Large Tablet END
128
+ ------------------------------------------------ */
129
+
130
+
131
+ /*------------------------------------------------
132
+ IPad Portrait
133
+ ------------------------------------------------ */
134
+ @media only screen and (device-width: 768px) and (device-width: 1024px) and (orientation: portrait) {
135
+ .alert-labelled-cell {
136
+ padding: 10px 5px;
137
+ display: table-cell;
138
+ vertical-align: middle;
139
+ line-height: 20px;
140
+ }
141
+ .error-content {
142
+ padding-left: 113px;
143
+ }
144
+ }
145
+ /*------------------------------------------------
146
+ IPad Portrait END
147
+ ------------------------------------------------ */
148
+
149
+ /*------------------------------------------------
150
+ IPad Landscape
151
+ ------------------------------------------------ */
152
+ @media only screen and (device-width: 768px) and (device-width: 1024px) and (orientation: landscape) {
153
+ .error-content {
154
+ padding-left: 113px;
155
+ }
156
+ }
@@ -0,0 +1,510 @@
1
+ /* Page Notification START */
2
+ .error-page-notification-wrapper {
3
+ margin: 50px -9999rem 0px -9999rem;
4
+ padding: 20px 9999rem;
5
+ background: #fef7f7;
6
+ color: #2a2d33;
7
+ }
8
+ .success-page-notification-wrapper {
9
+ margin: 70px -9999rem 0px -9999rem;
10
+ padding: 5px 9999rem;
11
+ background: #eaf6f2;
12
+ color: #2a2d33;
13
+ }
14
+ .info-page-notification-wrapper {
15
+ margin: 50px -9999rem 0px -9999rem;
16
+ padding: 20px 9999rem;
17
+ background: #ccf2f6;
18
+ color: #2a2d33;
19
+ }
20
+
21
+ .info-mobile-token-notification-wrapper {
22
+ height: 100%;
23
+ width: 100%;
24
+ background-color: #ccf2f6;
25
+ display: inline-block;
26
+ }
27
+
28
+ .error-mobile-token-notification-wrapper {
29
+ height: 100%;
30
+ width: 100%;
31
+ background-color: #fef7f7;
32
+ display: inline-block;
33
+ }
34
+
35
+ .iconImg-wrapper {
36
+ margin: 1em 0;
37
+ height: auto;
38
+ width: 100%;
39
+ position: relative;
40
+ word-wrap: break-word;
41
+ }
42
+ .icon-img-info {
43
+ height: 77px !important;
44
+ width: 77px !important;
45
+ position: absolute;
46
+ float: left;
47
+ top: 0;
48
+ bottom: 0;
49
+ left: 0;
50
+ right: 0;
51
+ margin: auto 0px auto 0px !important;
52
+ background: url(../../resources/img/message-icons-73f308d85125c45f0eb1579ae865de94.png) no-repeat -90px;
53
+ }
54
+
55
+ .d-table-cell {
56
+ display: table-cell;
57
+ }
58
+ .icon-img-success {
59
+ height: 90px;
60
+ width: 80px;
61
+ background: url(../../resources/img/message-icons-73f308d85125c45f0eb1579ae865de94.png) no-repeat -174px;
62
+ }
63
+ .icon-img-info-mobile-token {
64
+ height: 77px !important;
65
+ width: 77px !important;
66
+ margin: 10px 5px 10px 10px !important;
67
+ display: inline-block !important;
68
+ vertical-align: middle !important;
69
+ line-height: auto !important;
70
+ background: url(../../resources/img/message-icons-73f308d85125c45f0eb1579ae865de94.png) no-repeat -90px;
71
+ }
72
+
73
+ .icon-img-error {
74
+ height: 77px !important;
75
+ width: 77px !important;
76
+ position: absolute;
77
+ float: left;
78
+ top: 0;
79
+ bottom: 0;
80
+ left: 0;
81
+ right: 0;
82
+ margin: auto 0px auto 0px !important;
83
+ background: url(../../resources/img/message-icons-73f308d85125c45f0eb1579ae865de94.png) no-repeat -2px;
84
+ }
85
+
86
+ .icon-img-error-mobile-token {
87
+ height: 77px !important;
88
+ width: 77px !important;
89
+ margin: 10px !important;
90
+ display: inline-block !important;
91
+ vertical-align: middle !important;
92
+ line-height: auto !important;
93
+ background: url(../../resources/img/message-icons-73f308d85125c45f0eb1579ae865de94.png) no-repeat -2px;
94
+ }
95
+ .error-page-notification-msg, .info-page-notification-msg {
96
+ padding: 0px 0px 0px 100px;
97
+ }
98
+ .success-page-notification-msg {
99
+ padding: 0 0 0 20px;
100
+ vertical-align: middle;
101
+ font-size: 1.3em;
102
+ }
103
+ .info-mobile-token-msg, .error-mobile-token-msg {
104
+ display: inline-block;
105
+ font-size: 0.875em;
106
+ vertical-align: middle;
107
+ width: calc(100% - 110px);
108
+ padding: 10px 0px;
109
+ }
110
+ /* Page Notification END */
111
+ .apple, .google {
112
+ display: inline-block;
113
+ height: auto;
114
+ width: 46.67%;
115
+ max-height: 40px;
116
+ max-width: 140px;
117
+ }
118
+ /* Progress Tracker */
119
+ .progress-tracker-container {
120
+ display: inline-block;
121
+ padding-right: 0;
122
+ padding-left: 0;
123
+ }
124
+ ul.progress-tracker.progress-tracker--word.progress-tracker--word-center
125
+ {
126
+ padding-top: 10px;
127
+ padding-bottom: 0px;
128
+ height: 105px;
129
+ }
130
+ .progress-step {
131
+ display: block;
132
+ position: relative;
133
+ -webkit-box-flex: 1;
134
+ -ms-flex: 1 1 0;
135
+ flex: 1 0 1%;
136
+ margin-top: 10px;
137
+ min-width: 10px !important;
138
+ height: 103px !important;
139
+ }
140
+ .progress-tracker {
141
+ display: -webkit-box;
142
+ display: -ms-flexbox;
143
+ display: flex;
144
+ margin: 0px auto 50px auto !important;
145
+ padding: 0;
146
+ list-style: none;
147
+ width: 324px !important;
148
+ }
149
+ .progress-tracker--word-center {
150
+ padding-right: 50px !important;
151
+ padding-left: 15px !important;
152
+ float: left;
153
+ }
154
+ .progress-step.is-complete .progress-marker {
155
+ background-color: #00a651 !important;
156
+ border: 4px solid #868686 !important
157
+ }
158
+ .progress-step .progress-marker {
159
+ color: #fff;
160
+ background-color: #a1a1a1 !important;
161
+ border: 4px solid #c0c0c0 !important;
162
+ }
163
+ .progress-step.is-active .progress-marker {
164
+ background-color: #2ECC71 !important;
165
+ font-weight: bold;
166
+ }
167
+ .progress-title.title-active {
168
+ font-weight: bold !important;
169
+ }
170
+ .progress-marker {
171
+ display: -webkit-box;
172
+ display: -ms-flexbox;
173
+ display: flex;
174
+ -webkit-box-pack: center;
175
+ -ms-flex-pack: center;
176
+ justify-content: center;
177
+ -webkit-box-align: center;
178
+ -ms-flex-align: center;
179
+ align-items: center;
180
+ position: relative;
181
+ z-index: unset !important;
182
+ width: 48px !important;
183
+ height: 48px !important;
184
+ padding-bottom: 2px;
185
+ color: #fff;
186
+ font-weight: 400;
187
+ border: 2px solid transparent;
188
+ border-radius: 50%;
189
+ -webkit-transition: background-color, border-color;
190
+ transition: background-color, border-color;
191
+ -webkit-transition-duration: .3s;
192
+ transition-duration: .3s;
193
+ top: -10px;
194
+ left: -10px;
195
+ }
196
+ .progress-tracker--word {
197
+ padding-right: 38.6666666667px;
198
+ overflow: visible !important;
199
+ }
200
+ .progress-step::after {
201
+ background-color: #b6b6b6 !important;
202
+ }
203
+ .progress-step.is-complete::after {
204
+ background-color: #868686 !important;
205
+ }
206
+ .progress-text {
207
+ text-align: center !important;
208
+ padding: 0px !important;
209
+ font-size: 0.85em;
210
+ }
211
+ /* Progress Tracker End */
212
+
213
+ /* Announcement Start */
214
+ .announcement-container {
215
+ background: #f3f3f3;
216
+ }
217
+ .announcement-title {
218
+ font-weight: bold;
219
+ color: #E11F26;
220
+ }
221
+ .alert-labeled {
222
+ padding: 0px;
223
+ }
224
+ .alert-labeled-row {
225
+ display: table-row;
226
+ padding: 0px;
227
+ }
228
+ .alert-labelled-cell {
229
+ padding: 10px 0px;
230
+ display: table-cell;
231
+ vertical-align: middle;
232
+ line-height: 20px;
233
+ word-break: break-word;
234
+ }
235
+ .alert-labeled .close>* {
236
+ padding: 10px;
237
+ display: table-cell;
238
+ vertical-align: middle;
239
+ }
240
+ .alert-label {
241
+ width: 0px;
242
+ height: 0px;
243
+ font-size: 1.1em;
244
+ padding: 0px;
245
+ }
246
+ .alert-info {
247
+ position: relative;
248
+ padding: 0px 0px;
249
+ background: #f3f3f3;
250
+ color: #000;
251
+ border-color: #f3f3f3;
252
+ margin-bottom: 0px
253
+ }
254
+ .alert-message {
255
+ margin: 20px 0;
256
+ padding: 20px 0px 20px 0px;
257
+ border-bottom: 3px solid #eee;
258
+ line-height: 30px;
259
+ }
260
+ .alert-message p:last-child {
261
+ margin-bottom: 0;
262
+ }
263
+ .alert-message-default {
264
+ /*background-color: #EEE;
265
+ border-color: #B4B4B4;*/
266
+
267
+ }
268
+ .alert-message-default .announcementdefault-title {
269
+ color: #000;
270
+ font-weight: bold;
271
+ }
272
+ /* Announcement Start End*/
273
+
274
+ .container {
275
+ padding-right: 0;
276
+ padding-left: 0;
277
+ margin-right: auto;
278
+ margin-left: auto;
279
+ }
280
+ .commonbody-container {
281
+ width: 1170px;
282
+ margin: 0px auto 110px auto;
283
+ }
284
+ .homepagebody-container {
285
+ min-height: 0px;
286
+ }
287
+ .noPageTitleContainer {
288
+ position: relative;
289
+ margin: 50px auto 50px auto;
290
+ }
291
+ .bodyContentOnly {
292
+ margin: 100px 0px 0px 0px;
293
+ }
294
+ .user-container {
295
+ background-color: #e00b16;
296
+ color: #fff;
297
+ font-size: 1em;
298
+ text-align: left;
299
+ max-width: 700px;
300
+ height: 50px;
301
+ padding: 0 0 0 15px;
302
+ }
303
+ .confirmation-body-wrapper {
304
+ height: 100%;
305
+ width: 96%;
306
+ margin: 70px auto 0px;
307
+ }
308
+ .breadcrumb {
309
+ color: #2a2d33;
310
+ font-weight: normal;
311
+ background-color: #fff;
312
+ text-align: left;
313
+ vertical-align: middle;
314
+ list-style: none;
315
+ padding: 20px 0px 0px 0px;
316
+ height: 18px;
317
+ font-size: 0.85em !important;
318
+ margin: 0px;
319
+ }
320
+ .breadcrumb>li a {
321
+ color: #2a2d33;
322
+ }
323
+ .primary-heading {
324
+ font-size: 1.5em;
325
+ color: #2a2d33;
326
+ font-weight: bold;
327
+ padding: 50px 0;
328
+ }
329
+ .form-horizontal .control-label {
330
+ padding-top: 0;
331
+ margin-bottom: 0;
332
+ text-align: right;
333
+ font-weight: normal;
334
+ top: 7px;
335
+ }
336
+ .linebreak:after {
337
+ content: "\a0\a";
338
+ white-space: pre;
339
+ }
340
+ .doublelinebreak {
341
+ margin: 1.25em 0;
342
+ line-height: 5em;
343
+ }
344
+ .speciallinebreak {
345
+ margin: 3.5em 0;
346
+ line-height: 5em;
347
+ }
348
+ .trilinebreak {
349
+ margin: 6em 0;
350
+ line-height: 5em;
351
+ }
352
+ .mandatory-label {
353
+ font-size: 1.1em;
354
+ color: #E11F26;
355
+ font-weight: bold;
356
+ position: relative;
357
+ }
358
+ button.btn.btn-default.SearchButton {
359
+ position: relative;
360
+ top: -3px !important;
361
+ }
362
+
363
+ /* Info/Error Common START */
364
+ .row-error-wrapper {
365
+ position: relative;
366
+ margin: 0 -9999rem;
367
+ padding: .25rem 9999rem;
368
+ background: #fef7f7;
369
+ color: #2a2d33;
370
+ }
371
+ .common-error-page-title {
372
+ color: #000;
373
+ font-weight: bold;
374
+ font-size: 1em;
375
+ padding: 27px 0 6px;
376
+ line-height: 22px;
377
+ }
378
+ .common-error-page-title-description {
379
+ color: #000;
380
+ padding: 5px 0 0;
381
+ font-weight: bold;
382
+ font-size: 1em;
383
+ }
384
+ .error-field, input.form-control.error-field {
385
+ border: 2px solid #E11F26;
386
+ }
387
+ .field-error-message {
388
+ color: #E11F26;
389
+ padding: 10px 0;
390
+ font-size: 84%;
391
+ }
392
+ .mobile-error-field.field-error-message {
393
+ color: #E11F26;
394
+ padding: 10px 0;
395
+ margin: 0 0 10px;
396
+ position: relative;
397
+ top: -10px;
398
+ }
399
+ .errorContainerNobreadcrumb, .infoContainerNobreadcrumb {
400
+ position: relative;
401
+ margin: 146px 0px 0px 0px;
402
+ }
403
+ .infoContainerNobreadcrumb {
404
+ margin: 13px 0 0;
405
+ }
406
+ .row-info-wrapper {
407
+ margin: 0 -9999rem;
408
+ padding: 1rem 9999rem;
409
+ background: #ccf2f6;
410
+ color: #2a2d33;
411
+ }
412
+ .common-info-page-title {
413
+ font-weight: bold;
414
+ font-size: 1em;
415
+ padding: 34px 0 6px;
416
+ }
417
+ /* Info/Error Common END */
418
+
419
+ /* Tooltip START */
420
+ .tooltip-icon {
421
+ display: inline-block;
422
+ position: relative;
423
+ width: 16px;
424
+ height: 16px;
425
+ top: 2px;
426
+ background-image: url("../../resources/img/utility-icon-abac0927fb10e94ee131988bcf12ed74.png");
427
+ background-position: -49px 0;
428
+ background-repeat: no-repeat;
429
+ cursor: pointer;
430
+ }
431
+ .icon-tooltip-token {
432
+ position: relative;
433
+ width: 81px;
434
+ height: 80px;
435
+ float: right;
436
+ background: url("../../resources/img/smartphone-token-bace7209263063c84a9d1de4e355ce7c.png");
437
+ background-position: -510px 0;
438
+ background-repeat: no-repeat;
439
+ background-size: 600px;
440
+ top: -50px;
441
+ margin-bottom: 0;
442
+ }
443
+ .tooltipster-box>.tooltipster-content {
444
+ padding: 20px 20px !important;
445
+ }
446
+ .tooltip-content {
447
+ line-height: 1.25;
448
+ font-size: 0.875em;
449
+ text-align: left !important;
450
+ }
451
+ /* Tooltip END */
452
+
453
+ .letter-content {
454
+ line-height: 1.25;
455
+ }
456
+ ul.token-links {
457
+ line-height: 30px;
458
+ padding: 0px 0px 0px 18px;
459
+ }
460
+ .updatedeviceotp.field-error-message {
461
+ position: relative;
462
+ left: -15px;
463
+ }
464
+ .errorpagecontainer {
465
+ position: relative;
466
+ margin: 50px 0px 0px 0px;
467
+ }
468
+ .error-page-wrapper {
469
+ position: relative;
470
+ margin: 0;
471
+ padding: 0;
472
+ color: #2a2d33;
473
+ }
474
+ .pageerror-img-icon {
475
+ height: 250px;
476
+ width: 102px;
477
+ float: left;
478
+ margin: 30px 10px 0px 0px;
479
+ background-image: url(../../resources/img/message-icons-73f308d85125c45f0eb1579ae865de94.png);
480
+ background-position: 0px -5px;
481
+ background-size: 339px;
482
+ background-repeat: no-repeat;
483
+ }
484
+ .error-page-title {
485
+ color: #E11F26;
486
+ font-weight: bold;
487
+ font-size: 1.2em;
488
+ padding: 35px 0 6px;
489
+ line-height: 22px;
490
+ }
491
+ .error-page-desc {
492
+ padding: 3px 0px 0px 0px;
493
+ }
494
+ .error-content {
495
+ padding-left: 113px;
496
+ }
497
+ .btn-wrapper {
498
+ margin-top: 50px;
499
+ margin-bottom: 50px;
500
+ }
501
+ .blue-highlight-text {
502
+ font-weight: bold;
503
+ background-color: #D6EAF8;
504
+ padding: 5px;
505
+ color: #000;
506
+ display: inline-block;
507
+ }
508
+ .page-note {
509
+ color: #E11F26;
510
+ }