@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,1006 @@
1
+ /** Last Updated Date : 2018-12-03 2:00 pM */
2
+ /*----------------------- NEW CSS UPDATE -----------------------*/
3
+ @import url("https://fonts.googleapis.com/css?family=Open+Sans");
4
+
5
+ html {
6
+ height: 100%;
7
+ width: 100%;
8
+ overflow-x: hidden;
9
+ }
10
+ body {
11
+ line-height: 1.25 !important;
12
+ overflow-x: hidden;
13
+ overflow-y: auto;
14
+ min-height: 100vh;
15
+ width: 100vw;
16
+ position: relative;
17
+ min-width: 320px;
18
+ }
19
+ body.modal-open {
20
+ overflow: none;
21
+ overflow: unset;
22
+ overflow-x: hidden !important
23
+ }
24
+ .homepagebody-wrapper {
25
+ min-height: 725px;
26
+ height: 100vh;
27
+ width: 100vw;
28
+ position: relative;
29
+ }
30
+ .mainbody-wrapper {
31
+ min-height: inherit;
32
+ height: initial;
33
+ position: relative;
34
+ }
35
+ .inner-body-wrapper {
36
+ min-height: 600px;
37
+ padding-bottom: 55px;
38
+ position: relative;
39
+ }
40
+
41
+ /*------ ASK JAIME ------*/
42
+ .ask_cheryl_minimized_tab {
43
+ top: 75% !important;
44
+ transform: translateY(-50%);
45
+ }
46
+ /*------ ASK JAIME ------*/
47
+
48
+
49
+ /*------ MAIN FOOTER ------*/
50
+ .container-wrapper-footer {
51
+ background-color: #e2dedf;
52
+ text-align: center;
53
+ padding: 20px 0 20px;
54
+ margin: auto;
55
+ bottom: 0;
56
+ position: absolute;
57
+ width: 100%;
58
+ }
59
+ .footer-terms-condition {
60
+ text-align: left;
61
+ font-size: 0.75em;
62
+ color: #000;
63
+ font-weight: normal;
64
+ }
65
+ .footer-terms-condition a {
66
+ color: #000;
67
+ }
68
+ .footer-copyright {
69
+ text-align: right;
70
+ font-size: 0.75em;
71
+ color: #000;
72
+ font-weight: normal;
73
+ }
74
+
75
+ /*------ MAIN FOOTER End ------*/
76
+
77
+ .body-wrapper {
78
+ min-height: 675px;
79
+ width: 1170px;
80
+ margin: 0 auto;
81
+ }
82
+
83
+
84
+
85
+ li.active {
86
+ color: #222 !important;
87
+ }
88
+
89
+ .modal-backdrop.in {
90
+ filter: alpha(opacity=50);
91
+ opacity: .5;
92
+ }
93
+
94
+ .nav > li > a:focus,
95
+ .nav > li > a:hover {
96
+ text-decoration: none !important;
97
+ background-color: #db3b2b;
98
+ color: #fff !important;
99
+ }
100
+
101
+ .innate-form input[type=text],
102
+ .innate-form input[type=password] {
103
+ font-size: 1.0em;
104
+ padding: 10px;
105
+ border: 2px solid #ccc;
106
+ outline: none;
107
+ width: 100%;
108
+ margin: 9px 0;
109
+ }
110
+
111
+ .innate-form input[type=submit] {
112
+ border: 1px solid #e64b3b;
113
+ background: #e64b3b;
114
+ color: #fff;
115
+ padding: 10px 25px;
116
+ font-size: 0.875em;
117
+ margin-top: 5px;
118
+ }
119
+
120
+ .innate-form input[type=submit]:hover {
121
+ border: 1px solid #db3b2b;
122
+ background: #db3b2b;
123
+ color: #fff;
124
+ }
125
+
126
+ .innate-form button {
127
+ border: 1px solid #E11F26;
128
+ background: #E11F26;
129
+ color: #fff;
130
+ padding: 8px 25px;
131
+ font-size: 0.875em;
132
+ margin-top: 5px;
133
+ }
134
+
135
+ .innate-form button:hover {
136
+ border: 1px solid #db3b2b;
137
+ background: #db3b2b;
138
+ color: #fff;
139
+ }
140
+
141
+ .innate-form p {
142
+ font-size: 0.813em;
143
+ padding-top: 10px;
144
+ }
145
+
146
+ input.input-password,
147
+ input.input-username {
148
+ border-radius: 5px;
149
+ }
150
+
151
+ input.input-password:focus,
152
+ input.input-username:focus {
153
+ border-color: #2a6496;
154
+ }
155
+
156
+ button.login-Btn {
157
+ height: auto;
158
+ color: #fff;
159
+ background-color: #E11F26;
160
+ font-weight: bold;
161
+ margin: 21px 0 74px;
162
+ border-radius: 5px;
163
+ font-size: 1.3em;
164
+ }
165
+ button.login-Btn[disabled] {
166
+ background-color: #eb5e5e;
167
+ }
168
+
169
+ button#loginModelbtn {
170
+ background-color: #E11F26;
171
+ border-color: #E11F26;
172
+ width: 219px;
173
+ height: 46px;
174
+ font-size: 1.375em;
175
+ font-weight: bold;
176
+ border-radius: 4px;
177
+ float: right;
178
+ line-height: 0;
179
+ }
180
+
181
+ button.eservicelogin-Btn, button.continuelogin-Btn {
182
+ position: relative;
183
+ float: right;
184
+ width: 48%;
185
+ color: #fff;
186
+ background-color: #E11F26;
187
+ font-weight: bold;
188
+ border-radius: 5px;
189
+ font-size: 1.3em;
190
+ margin: 21px 0 73px;
191
+ line-height: 1.42857143;
192
+ }
193
+
194
+ button.cancel-Btn {
195
+ position: relative;
196
+ float: left;
197
+ width: 48%;
198
+ color: #fff;
199
+ border-radius: 5px;
200
+ background-color: #E11F26;
201
+ font-weight: bold;
202
+ font-size: 1.3em;
203
+ margin: 21px 3px 73px;
204
+ line-height: 1.42857143;
205
+ }
206
+
207
+ button.mobileSubmit {
208
+ width: 100%;
209
+ font-size: 1.2em;
210
+ background-color: #E11F26;
211
+ margin: 50px 0;
212
+ }
213
+
214
+ .sp-reglink {
215
+ position: relative;
216
+ font-size: 0.9375em;
217
+ color: #696671;
218
+ padding-bottom: 20px;
219
+ letter-spacing: -0.4px;
220
+ }
221
+
222
+ #sectionA {
223
+ background-color: #fff;
224
+ border-bottom-right-radius: 4px;
225
+ border-bottom-left-radius: 4px;
226
+ }
227
+
228
+ img#logincap , img#pllogincap{
229
+ height: 100%;
230
+ width: 82%;
231
+ color: #fff;
232
+ background-color: #E11F26;
233
+ font-weight: bold;
234
+ font-size: 1.3em;
235
+ margin: 15px 0px;
236
+ }
237
+
238
+ img#refresh {
239
+ position: relative;
240
+ top: 0px;
241
+ }
242
+
243
+ .login-errormessage {
244
+ color: #E11F26;
245
+ padding: 10px 0px 5px 0px;
246
+ display: none;
247
+ }
248
+ /* Form End */
249
+ /*------ LOGIN STYLE ------*/
250
+
251
+ /*------ MAIN HEADER ------*/
252
+ .mainHeaderContainer.container.hidden-xs {
253
+ padding-left: 0px;
254
+ padding-right: 0px;
255
+ }
256
+ .placeholder-logo-container {
257
+ height: 40px;
258
+ width: 240px;
259
+ top: 0;
260
+ color: #343434;
261
+ font-size: 1.5em;
262
+ font-weight: bold;
263
+ margin: auto auto 30px;
264
+ padding: 20px 0 0;
265
+ }
266
+ a.placeholder-logo:focus {
267
+ outline: none;
268
+ }
269
+ .placeholder-logo {
270
+ width: 250px;
271
+ height: 200px;
272
+ float: right;
273
+ background:
274
+ url("../../resources/img/logo/mockpass-placeholder-logo.png");
275
+ background-size: contain;
276
+ background-repeat: no-repeat;
277
+ background-position: 26px 0;
278
+ text-indent: -9999px;
279
+ }
280
+ a.placeholder-logo {
281
+ height: 40px;
282
+ }
283
+ .placeholder-logo-white-container {
284
+ height: 40px;
285
+ width: 240px;
286
+ top: 0;
287
+ color: #343434;
288
+ font-size: 1.5em;
289
+ font-weight: bold;
290
+ margin: auto auto 30px;
291
+ padding: 20px 0 0;
292
+ }
293
+ a.placeholder-logo-white:focus {
294
+ outline: none;
295
+ }
296
+ .placeholder-logo-white {
297
+ width: 250px;
298
+ height: 200px;
299
+ float: right;
300
+ background:
301
+ url("../../resources/img/logo/singapore-government-logo-white.png");
302
+ background-repeat: no-repeat;
303
+ background-position: 26px 0;
304
+ text-indent: -9999px;
305
+ }
306
+ a.placeholder-logo-white {
307
+ height: 40px;
308
+ }
309
+ a.li-links {
310
+ color: #000000;
311
+ font-size: 1em;
312
+ }
313
+ a.li-links:hover, a.li-links:focus {
314
+ color: #2a6496;
315
+ text-decoration: underline !important;
316
+ }
317
+ .header-links {
318
+ float: right;
319
+ clear: right;
320
+ margin: 0px;
321
+ position: relative;
322
+ top: -16px;
323
+ right: 15px;
324
+ }
325
+ .header-links ul {
326
+ white-space: nowrap;
327
+ display: inline-block;
328
+ list-style: none;
329
+ padding: 5px 0 0;
330
+ margin: 0 0 0 10px;
331
+ color: #000000;
332
+ }
333
+ .header-links li {
334
+ display: inline;
335
+ list-style-type: none;
336
+ padding-right: 5px;
337
+ }
338
+ .header-utility {
339
+ position: relative;
340
+ width: 76px;
341
+ margin-top: -1%;
342
+ }
343
+ /* Search bar */
344
+ .authenticated-search-form.search-form-wrapper {
345
+ margin-top: 103px;
346
+ }
347
+ .search-form-wrapper {
348
+ width: 1170px;
349
+ display: none;
350
+ position: absolute;
351
+ margin-top: 99px;
352
+ border-radius: 3px;
353
+ z-index: 1000;
354
+ }
355
+ .search-form-wrapper.open {
356
+ display: block;
357
+ }
358
+ .search-form-div {
359
+ position: relative;
360
+ float: right;
361
+ width: 500px;
362
+ background-color: #434343;
363
+ padding: 7px 15px;
364
+ }
365
+ .search-icon, .search-icon:hover {
366
+ position: absolute;
367
+ top: 7px;
368
+ float: right;
369
+ width: 20px;
370
+ height: 17px;
371
+ }
372
+ .search-icon {
373
+ background-image: url("../../resources/img/utility-icon.png");
374
+ background-position: -65px 0;
375
+ background-repeat: no-repeat;
376
+ }
377
+ .search-icon:hover, .search-icon-hovered {
378
+ background-image: url("../../resources/img/utility-icon.png");
379
+ background-position: -84px 0;
380
+ background-repeat: no-repeat;
381
+ }
382
+ .search-icon-black, .search-icon-black:hover {
383
+ position: absolute;
384
+ top: 7px;
385
+ float: right;
386
+ width: 20px;
387
+ height: 17px;
388
+ }
389
+ .search-icon-black {
390
+ background-image: url("../../resources/img/utility-icon-black.png");
391
+ background-position: -65px 0;
392
+ background-repeat: no-repeat;
393
+ }
394
+ .search-icon-black:hover, .search-icon-hovered-black {
395
+ background-image: url("../../resources/img/utility-icon-black.png");
396
+ background-position: -84px 0;
397
+ background-repeat: no-repeat;
398
+ }
399
+ /* Search bar End */
400
+ .mockpass-logo-container {
401
+ margin: 12px 0 0;
402
+ }
403
+ a.mockpass-logo:focus {
404
+ outline: none;
405
+ }
406
+ .mockpass-logo {
407
+ width: 180px;
408
+ height: 84px;
409
+ float: left;
410
+ background: url("../../resources/img/logo/mockpass-logo.png");
411
+ background-size: contain;
412
+ background-repeat: no-repeat;
413
+ background-position: 0;
414
+ text-indent: -9999px;
415
+ margin: 0;
416
+ }
417
+ .mockpass-logo-white-container {
418
+ margin: 12px 0 0;
419
+ }
420
+ a.mockpass-logo-white:focus {
421
+ outline: none;
422
+ }
423
+ .mockpass-logo-white {
424
+ width: 180px;
425
+ height: 84px;
426
+ float: left;
427
+ background: url("../../resources/img/logo/mockpass-logo-white.png");
428
+ background-size: contain;
429
+ background-repeat: no-repeat;
430
+ background-position: 0;
431
+ text-indent: -9999px;
432
+ margin: 0;
433
+ }
434
+ .font-small {
435
+ position: absolute;
436
+ float: left;
437
+ width: 12px;
438
+ height: 20px;
439
+ background: url("../../resources/img/utility-icon.png");
440
+ background-repeat: no-repeat;
441
+ background-position: 0px 7px;
442
+ margin: 0px 0px 0px -13px;
443
+ bottom: 0;
444
+ }
445
+ .font-default {
446
+ position: absolute;
447
+ float: left;
448
+ width: 12px;
449
+ height: 20px;
450
+ background: url("../../resources/img/utility-icon.png");
451
+ background-repeat: no-repeat;
452
+ background-position: -10px 9px;
453
+ background-size: 143px 37px;
454
+ margin: 0px 0px 0px -3px;
455
+ bottom: 0;
456
+ }
457
+ .font-large {
458
+ position: absolute;
459
+ float: right;
460
+ width: 15px;
461
+ height: 16px;
462
+ background: url("../../resources/img/utility-icon.png");
463
+ background-repeat: no-repeat;
464
+ background-position: -11px 3px;
465
+ margin: 0px 0px 0px 10px;
466
+ bottom: 0;
467
+ }
468
+ .printer-icon {
469
+ position: absolute;
470
+ width: 20px;
471
+ height: 17px;
472
+ background-image: url("../../resources/img/utility-icon.png");
473
+ background-position: -28px 3px;
474
+ background-repeat: no-repeat;
475
+ float: right;
476
+ margin: 0px 0px 0px 28px;
477
+ bottom: 0;
478
+ }
479
+ .font-small-black {
480
+ position: absolute;
481
+ float: left;
482
+ width: 12px;
483
+ height: 20px;
484
+ background: url("../../resources/img/utility-icon-black.png");
485
+ background-repeat: no-repeat;
486
+ background-position: 0px 7px;
487
+ margin: 0px 0px 0px -13px;
488
+ bottom: 0;
489
+ }
490
+ .font-default-black {
491
+ position: absolute;
492
+ float: left;
493
+ width: 12px;
494
+ height: 20px;
495
+ background: url("../../resources/img/utility-icon-black.png");
496
+ background-repeat: no-repeat;
497
+ background-position: -10px 9px;
498
+ background-size: 143px 37px;
499
+ margin: 0px 0px 0px -3px;
500
+ bottom: 0;
501
+ }
502
+ .font-large-black {
503
+ position: absolute;
504
+ float: right;
505
+ width: 15px;
506
+ height: 16px;
507
+ background: url("../../resources/img/utility-icon-black.png");
508
+ background-repeat: no-repeat;
509
+ background-position: -11px 3px;
510
+ margin: 0px 0px 0px 10px;
511
+ bottom: 0;
512
+ }
513
+ .printer-icon-black {
514
+ position: absolute;
515
+ width: 20px;
516
+ height: 17px;
517
+ background-image: url("../../resources/img/utility-icon-black.png");
518
+ background-position: -28px 3px;
519
+ background-repeat: no-repeat;
520
+ float: right;
521
+ margin: 0px 0px 0px 28px;
522
+ bottom: 0;
523
+ }
524
+ /*------ MAIN HEADER END------*/
525
+
526
+ /* LANDING PAGE MAIN HEADER */
527
+ button.btn.btn-primary.btn-lg.logoutBtn {
528
+ position: relative;
529
+ top: 99px;
530
+ width: 229px;
531
+ font-weight: bold;
532
+ font-size: 1.2em;
533
+ left: 416px;
534
+ border-top-left-radius: 0px !important;
535
+ border-top-right-radius: 0px !important;
536
+ }
537
+ button.btn.btn-primary.btn-lg.eailogout-btn.logoutBtn {
538
+ position: absolute;
539
+ left: 22%;
540
+ top: 1px;
541
+ }
542
+ .login-button {
543
+ position: relative;
544
+ height: 47px;
545
+ }
546
+ .header {
547
+ top: 0px;
548
+ z-index: 9999;
549
+ left: 0;
550
+ right: 0;
551
+ background-color: #fff;
552
+ border-bottom: 3px solid #E11F26;
553
+ }
554
+ /* Dropdown Style Start*/
555
+ ul.ul-mainNav {
556
+ margin: 43px 0px 0px 20px;
557
+ height: 34px;
558
+ width: 325px;
559
+ position: relative;
560
+ padding: 0px;
561
+ float: left;
562
+ }
563
+ li.list-mainNav {
564
+ float: left;
565
+ list-style-type: none;
566
+ }
567
+ li.list-mainNav>a {
568
+ display: block;
569
+ color: #2a2d33;
570
+ text-align: center;
571
+ padding: 14px 16px;
572
+ font-size: 1.125em;
573
+ }
574
+ li .list-mainNav>a:hover {
575
+ background-color: #111;
576
+ }
577
+ .serviceDropdown.dropdown-content {
578
+ width: 250px;
579
+ z-index: 1000;
580
+ }
581
+ .dropbtn {
582
+ color: #2a2d33;
583
+ padding: 16px;
584
+ font-size: 1em;
585
+ border: none;
586
+ cursor: pointer;
587
+ background-color: transparent;
588
+ }
589
+ .dropdown {
590
+ position: relative;
591
+ display: inline-block;
592
+ }
593
+ .dropdown-content {
594
+ display: none;
595
+ position: absolute;
596
+ background-color: #f9f9f9;
597
+ min-width: 160px;
598
+ box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
599
+ z-index: 1;
600
+ }
601
+ .dropdown-content a {
602
+ color: black;
603
+ padding: 12px 16px;
604
+ text-decoration: none;
605
+ display: block;
606
+ }
607
+ .dropdown-content a:hover {
608
+ background-color: #f1f1f1;
609
+ text-decoration: none;
610
+ color: #E11F26;
611
+ }
612
+ .dropdown:hover .dropdown-content {
613
+ display: block;
614
+ }
615
+ .dropdown:hover .dropbtn {
616
+ background-color: #f9f9f9;
617
+ }
618
+ /* Dropdown Style End*/
619
+ /* LANDING PAGE MAIN HEADER END */
620
+
621
+ /*------ SERVICES START------*/
622
+ .carousel-indicators li {
623
+ background: #cecece;
624
+ }
625
+ .carousel-indicators .active {
626
+ background: #428bca;
627
+ }
628
+ /* Custom */
629
+ .thumbnail {
630
+ display: inline-block;
631
+ display: block;
632
+ height: auto;
633
+ max-width: 100%;
634
+ padding: 4px;
635
+ line-height: 1.428571429;
636
+ background-color: transparent;
637
+ border: none;
638
+ border-radius: 4px;
639
+ -webkit-transition: all .2s ease-in-out;
640
+ transition: all .2s ease-in-out;
641
+ }
642
+ /* Custom End*/
643
+ .thumbnail:hover {
644
+ -webkit-transform: translate(0px, -6px);
645
+ -moz-transform: translate(0px, -6px);
646
+ -ms-transform: translate(0px, -6px);
647
+ -o-transform: translate(0px, -6px);
648
+ transform: translate(0px, -6px);
649
+ -webkit-filter: drop-shadow(0px 0px 8px #fff);
650
+ filter: drop-shadow(0px 0px 8px #fff);
651
+ }
652
+ a:focus, a:hover {
653
+ color: #0088ff;
654
+ text-decoration: underline !important;
655
+ }
656
+ /*------ SERVICES END------*/
657
+
658
+ /*----------------------- NEW CSS UPDATE END-----------------------*/
659
+ .btn-primary {
660
+ color: #ffffff;
661
+ background-color: #E11F26;
662
+ border-color: #E11F26;
663
+ min-width: 100px;
664
+ }
665
+
666
+ .btn-primary:active,
667
+ .btn-primary:active,
668
+ .btn-primary:focus,
669
+ .btn-primary:hover,
670
+ .open .dropdown-toggle.btn-primary {
671
+ color: #ffffff !important;
672
+ background-color: #CD0000 !important;
673
+ border-color: #CD0000 !important;
674
+ }
675
+
676
+ .btn-primary.active,
677
+ .btn-primary:active,
678
+ .open .dropdown-toggle.btn-primary {
679
+ background-image: none;
680
+ background-color: #FF0000 !important;
681
+ }
682
+
683
+ .btn-primary.disabled,
684
+ .btn-primary.disabled.active,
685
+ .btn-primary.disabled:active,
686
+ .btn-primary.disabled:focus,
687
+ .btn-primary.disabled:hover,
688
+ .btn-primary[disabled],
689
+ .btn-primary[disabled].active,
690
+ .btn-primary[disabled]:active,
691
+ .btn-primary[disabled]:focus,
692
+ .btn-primary[disabled]:hover,
693
+ fieldset[disabled] .btn-primary,
694
+ fieldset[disabled] .btn-primary.active,
695
+ fieldset[disabled] .btn-primary:active,
696
+ fieldset[disabled] .btn-primary:focus,
697
+ fieldset[disabled] .btn-primary:hover {
698
+ background-color: #C0C0C0;
699
+ border-color: #C0C0C0;
700
+ color: #000000;
701
+ }
702
+
703
+ .btn-primary .badge {
704
+ color: #E11F26;
705
+ background-color: #ffffff;
706
+ }
707
+
708
+ /* Custom Button Primary */
709
+ .normal-link {
710
+ color: #f26522;
711
+ font-weight: bold;
712
+ }
713
+
714
+ * {
715
+ font-family: "Open Sans", sans-serif;
716
+ font-size: 1em;
717
+ }
718
+
719
+ a {
720
+ margin: 0;
721
+ padding: 0;
722
+ font-size: 100%;
723
+ vertical-align: baseline;
724
+ background: transparent;
725
+ color: #0088ff;
726
+ }
727
+
728
+ .btn.active.focus,
729
+ .btn.active:focus,
730
+ .btn.focus,
731
+ .btn:active.focus,
732
+ .btn:active:focus,
733
+ .btn:focus {
734
+ outline: none;
735
+ }
736
+
737
+ .btn-group-lg > .btn,
738
+ .btn-lg {
739
+ border-radius: 0;
740
+ }
741
+
742
+ button.btn-singpass.btn.btn-lg.btn-primary.btn-block {
743
+ color: #fff;
744
+ background-color: #E11F26;
745
+ border-color: #dc0000;
746
+ font-weight: bold;
747
+ font-weight: bold;
748
+ margin: 10px 0 0;
749
+ max-width: 95%;
750
+ }
751
+
752
+ .login-info-icon {
753
+ position: relative;
754
+ width: 16px;
755
+ height: 16px;
756
+ right: 0;
757
+ float: right;
758
+ top: -32px;
759
+ background-image: url("../../resources/img/utility-icon.png");
760
+ background-position: -50px 0;
761
+ background-repeat: no-repeat;
762
+ cursor: pointer;
763
+ }
764
+
765
+ /*------ SIDEBAR NAVIGATION ------*/
766
+ /* remove outer padding */
767
+ .main .row {
768
+ padding: 0px;
769
+ margin: 0px;
770
+ }
771
+
772
+ /* Add gap to nav and right windows.*/
773
+ .main {
774
+ padding: 10px 10px 0 10px;
775
+ }
776
+
777
+ /* .....NavBar: Icon only with coloring/layout.....*/
778
+ /*small/medium side display*/
779
+
780
+ @media (min-width: 768px) {
781
+ .main {
782
+ position: absolute;
783
+ width: calc(100% - 40px);
784
+ /*keeps 100% minus nav size*/
785
+ margin-left: 40px;
786
+ float: right;
787
+ }
788
+ /*lets nav bar to be showed on mouseover*/
789
+ nav.sidebar:hover + .main {
790
+ margin-left: 200px;
791
+ }
792
+ /*Center Brand*/
793
+ nav.sidebar.navbar.sidebar > .container .navbar-brand,
794
+ .navbar > .container-fluid .navbar-brand {
795
+ margin-left: 0px;
796
+ }
797
+ /*Center Brand*/
798
+ nav.sidebar .navbar-brand,
799
+ nav.sidebar .navbar-header {
800
+ text-align: center;
801
+ width: 100%;
802
+ margin-left: 0px;
803
+ }
804
+ /*Center Icons*/
805
+ /* Colors/style dropdown box*/
806
+ nav.sidebar .navbar-nav .open .dropdown-menu {
807
+ position: static;
808
+ float: none;
809
+ width: auto;
810
+ margin-top: 0;
811
+ background-color: transparent;
812
+ border: 0;
813
+ -webkit-box-shadow: none;
814
+ box-shadow: none;
815
+ }
816
+ /*allows nav box to use 100% width*/
817
+ /*colors dropdown box text */
818
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
819
+ color: #777;
820
+ }
821
+ /*gives sidebar width/height*/
822
+ .forAnimate {
823
+ opacity: 0;
824
+ }
825
+ }
826
+
827
+ /* --- Nav Bar START --- */
828
+ .container-wrapper-navigator {
829
+ position: absolute;
830
+ height: calc(100vh - 237px);
831
+ z-index: 1;
832
+ }
833
+ .container-navigator {
834
+ min-height: 363px;
835
+ height: inherit;
836
+ width: 0px;
837
+ display: flex;
838
+ align-items: center;
839
+ position: relative;
840
+ }
841
+ .navbar {
842
+ min-height: 0px !important;
843
+ margin-bottom: 0px !important;
844
+ border: 1px solid transparent;
845
+ width: 0;
846
+ }
847
+ nav.sidebar .navbar-collapse,
848
+ nav.sidebar .container-fluid {
849
+ padding: 0 0 0 0;
850
+ }
851
+ .navbar-collapse,
852
+ .navbar-form {
853
+ border-color: #c0c0c0;
854
+ }
855
+ .navbar-nav {
856
+ left: -205px;
857
+ float: left;
858
+ margin: 0;
859
+ text-indent: 14px;
860
+ position: relative;
861
+ width: 250px;
862
+ height: 300px;
863
+ border-radius: 4px;
864
+ transition: all .4s ease-in-out;
865
+ background-color: #fff;
866
+ box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
867
+ z-index: 1000;
868
+ }
869
+ .navbar-nav:hover {
870
+ left: -1px;
871
+ }
872
+ .navbar-nav > li > a {
873
+ color: #000;
874
+ }
875
+ .navbar-nav > li > a.listtitle {
876
+ padding: 15px 0 15px;
877
+ }
878
+ nav.sidebar li {
879
+ width: 100%;
880
+ height: 50px;
881
+ }
882
+ li.sidebarlist {
883
+ text-indent: 10px;
884
+ }
885
+ li.sidebarlist:hover,
886
+ li.sidebarlist > a:hover {
887
+ background-color: #E11F26;
888
+ color: #fff !important;
889
+ }
890
+ .sidebar-aboutusIcon, .sidebar-faqIcon, .sidebar-videoIcon,
891
+ .sidebar-counterlocationIcon, .sidebar-newsIcon, .sidebar-contactusIcon {
892
+ width: 50px;
893
+ height: 50px;
894
+ float: right;
895
+ text-align: left;
896
+ position: relative;
897
+ top: -17px;
898
+ }
899
+ .sidebar-aboutusIcon {
900
+ background: url(../../resources/img/sidebar-icons.png);
901
+ background-repeat: no-repeat;
902
+ background-position: 4px 8px;
903
+ }
904
+ .sidebar-faqIcon {
905
+ background: url(../../resources/img/sidebar-icons.png);
906
+ background-repeat: no-repeat;
907
+ background-position: 3px -46px;
908
+ }
909
+ .sidebar-videoIcon {
910
+ background: url(../../resources/img/sidebar-icons.png);
911
+ background-repeat: no-repeat;
912
+ background-position: 3px -104px;
913
+ }
914
+ .sidebar-counterlocationIcon {
915
+ background: url(../../resources/img/sidebar-icons.png);
916
+ background-repeat: no-repeat;
917
+ background-position: 3px -158px;
918
+ }
919
+ .sidebar-newsIcon {
920
+ background: url(../../resources/img/sidebar-icons.png);
921
+ background-repeat: no-repeat;
922
+ background-position: 4px -213px;
923
+ }
924
+ .sidebar-contactusIcon {
925
+ background: url(../../resources/img/sidebar-icons.png);
926
+ background-repeat: no-repeat;
927
+ background-position: 4px -266px;
928
+ }
929
+ li.sidebarlist:hover>a.listtitle>span.sidebar-aboutusIcon {
930
+ background: url(../../resources/img/sidebar-icons.png);
931
+ background-repeat: no-repeat;
932
+ background-position: -48px 8px;
933
+ }
934
+ li.sidebarlist:hover>a.listtitle>span.sidebar-faqIcon {
935
+ background: url(../../resources/img/sidebar-icons.png);
936
+ background-repeat: no-repeat;
937
+ background-position: -49px -46px;
938
+ }
939
+ li.sidebarlist:hover>a.listtitle>span.sidebar-videoIcon {
940
+ background: url(../../resources/img/sidebar-icons.png);
941
+ background-repeat: no-repeat;
942
+ background-position: -48px -103px;
943
+ }
944
+
945
+ li.sidebarlist:hover>a.listtitle>span.sidebar-counterlocationIcon {
946
+ background: url(../../resources/img/sidebar-icons.png);
947
+ background-repeat: no-repeat;
948
+ background-position: -47px -158px;
949
+ }
950
+ li.sidebarlist:hover>a.listtitle>span.sidebar-newsIcon {
951
+ background: url(../../resources/img/sidebar-icons.png);
952
+ background-repeat: no-repeat;
953
+ background-position: -49px -213px;
954
+ }
955
+ li.sidebarlist:hover>a.listtitle>span.sidebar-contactusIcon {
956
+ background: url(../../resources/img/sidebar-icons.png);
957
+ background-repeat: no-repeat;
958
+ background-position: -50px -266px;
959
+ }
960
+ /* --- Nav Bar END --- */
961
+
962
+ /* Navigation Tab START */
963
+ .nav-pills, .nav-tabs {
964
+ text-align: center;
965
+ }
966
+ .nav-tabs {
967
+ border-bottom: none !important;
968
+ }
969
+ .nav-tabs>li {
970
+ color: #222 !important;
971
+ }
972
+ .nav-pills>li, .nav-tabs>li {
973
+ float: none;
974
+ display: inline-block;
975
+ *display: inline;
976
+ /* ie7 fix */
977
+ zoom: 1;
978
+ /* hasLayout ie7 trigger */
979
+ }
980
+ .nav-tabs>li.active>a,
981
+ .nav-tabs>li.active>a:focus,
982
+ .nav-tabs>li.active>a:hover {
983
+ color: #000 !important;
984
+ cursor: default;
985
+ background-color: #fff;
986
+ border: none !important;
987
+ border-top: 3px solid #E11F26;
988
+ border-bottom-color: transparent;
989
+ font-weight: normal;
990
+ font-size: 1em;
991
+ border-bottom-right-radius: 0;
992
+ border-bottom-left-radius: 0;
993
+ }
994
+ .nav-tabs>li>a {
995
+ margin-right: 0px;
996
+ line-height: 1.42857143;
997
+ border: 0px solid #ddd;
998
+ border-radius: 3px;
999
+ font-size: 1em;
1000
+ background-color: #E11F26;
1001
+ font-weight: normal;
1002
+ text-align: center;
1003
+ color: #ffffff;
1004
+ padding: 10px 5px;
1005
+ }
1006
+ /* Navigation Tab END */