Web Content Display

An error occurred while processing the template.
Error on line 22, column 1 in 10154#10192#152860842
clientProfileService.findByLocationCode(lc) is undefined.
It cannot be assigned to clientProfileList
1<#assign url=request.attributes.CURRENT_URL> 
2<#assign qstringmap=httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
3<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
4<#assign url404 = '/error/404.html' > 
5 
6<#--  check location id validity  --> 
7<#if qstringmap["ecdma-lc"]?has_content> 
8    <#assign lc= qstringmap["ecdma-lc"]?first>   
9    <#assign prefix = "00000" > 
10    <#assign lcWithPrefix = prefix + lc > 
11    <#assign withPrefixLength = lcWithPrefix?length > 
12    <#assign startHere = withPrefixLength - 5> 
13    <#assign lc = lcWithPrefix?substring(startHere)> 
14<#else> 
15    <script> 
16        console.log("location code missing"); 
17        location.href = '${url404}'; 
18    </script> 
19</#if> 
20 
21<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
22<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
23<#assign clientProfile = clientProfileList?first> 
24<#assign pbu = clientProfile.getPbu()> 
25<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
26 
27<#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
28 <#list clientdata as data> 
29    <#assign backgroundColor=data.backgroundHexColor> 
30    <#assign buttonColor=data.buttonHexColor> 
31    <#assign textColor=data.textHexColor> 
32    <#assign hoverColor=data.hoverColor> 
33</#list> 
34 
35 
36<#if lc?has_content>       
37        <#assign clientProfileService=serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService")> 
38        <#assign clientProfileList=clientProfileService.findByLocationCode(lc)> 
39 
40        <#if clientProfileList?first?has_content> 
41            <#assign clientProfile=clientProfileList?first> 
42            <#assign partnerName=clientProfile.getMarketingNameLong()> 
43            <script> 
44                /* tracking object for SiteCatalyst */ 
45                var reportingData = {}; 
46                var locationCodesOfferIds = { 
47                    // 1.Associated 
48                    '15302': 'QQ2VPB8968', 
49                    }; 
50 
51                /* redirect if locationCode is unknown */ 
52                if (!locationCodesOfferIds['${lc!0}']) { 
53                        //location.href = '/web/elan/404'; 
54
55                var partnerName = "${partnerName!0}";                                     
56                AUI().ready(function () { 
57                    var lc = '${lc!0}'; 
58                    console.log(partnerName); 
59                    var page = location.pathname.split('/')[location.pathname.split('/').length - 1]; 
60                    var product = lc === '24168' ? 'MC Platiunum Card' : 'Visa Platinum Card'; // hard coded for Pilot launch 
61                    var hostName = location.hostname; 
62                    var preparerType = 'customer'; 
63                    var domain = getDomainFromHostname(hostName); 
64                    var sourceCode = ''; 
65 
66                    function getDomainFromHostname(hostname) { 
67                        var parts = hostname.split('.'); 
68                        return parts.length === 3 ? parts[1] : parts[0]; 
69
70 
71                    switch (lc) { 
72                        // 1.Associated 
73                        case '15302': 
74                            sourceCode = '35360'; 
75                            $('body').addClass('bg-gray associated'); 
76                            $('.jn-button').addClass('btn-blue2'); 
77                            break; 
78
79 
80                    /* update SiteCatalyst data object */ 
81                        reportingData.current_page = "microsite:${partnerName}:" + domain + ':' + page.replace('-',' '); 
82                        reportingData.page_type = 'product';  
83                        reportingData.site_section = 'credit cards'; 
84                        reportingData.platform = 'microsite'; 
85                        reportingData.location_code = lc; 
86                        reportingData.partner_name = partnerName; 
87                        reportingData.product = product; 
88                        reportingData.text_to_apply_source = 'vanity url'; 
89                        reportingData.visitor_type = 'prospect';         
90 
91               /* CTA - button click handling */ 
92                    jQuery('.jn-button').click(function () { 
93                        var buttonName = jQuery(this).data('button-name'); 
94 
95                    /* SiteCatalyst  onClick tracking */ 
96                        reportingData.applyButton = buttonName; 
97                        if (window.publisherFW) { 
98                            console.log('reportingData', reportingData); 
99                            window.publisherFW.publishEvent("onClick", reportingData); 
100
101                    }); 
102                    /* SiteCatalyst pageView tracking */ 
103                    if (window.publisherFW) { 
104                        console.log('reportingData', reportingData); 
105                        window.publisherFW.publishEvent("pageView", reportingData); 
106
107                }); 
108 
109            </script> 
110        <#else> 
111            <script> 
112                //location.href = '${url404}'; 
113                console.log("client profile empty"); 
114            </script> 
115        </#if> 
116<#else> 
117    <script> 
118       console.log("location code empty"); 
119       //location.href = '${url404}'; 
120    </script> 
121</#if> 
122        <style> 
123            .screen-reader-only {               
124                clip: rect(0 0 0 0); 
125                clip-path: inset(50%); 
126                height: 1px; 
127                overflow: hidden; 
128                position: absolute; 
129                white-space: nowrap; 
130                width: 1px; 
131
132            @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {   
133                select::-ms-expand { 
134                    display: none; 
135
136
137            h1, h2, h3, h4, h5, h6 { 
138                font-weight: 400; 
139
140            li { 
141                list-style: none !important; 
142
143            .tier3-hero-landing-business.hide, 
144            .tier3-hero-landing-consumer.hide, 
145            .tier3-disclaimer-landing-business.hide, 
146            .tier3-disclaimer-landing-consumer.hide, 
147            .tier3-hero-landing-business, 
148            .tier3-disclaimer-landing-business { 
149                display: none !important; 
150
151 
152            .tier3-hero-landing-business.show, 
153            .tier3-hero-landing-consumer.show, 
154            .tier3-disclaimer-landing-business.show, 
155            .tier3-disclaimer-landing-consumer.show { 
156                display: block !important; 
157
158 
159            /*----------------------- Common Styles ------------------------------ */ 
160            body { 
161                background: no-repeat 0 0 fixed #FFFFFF; 
162                background-size: cover; 
163
164 
165            body.bg-gray { 
166                background: rgb(111, 111, 111); 
167                background: linear-gradient(0deg, rgba(111, 111, 111, 1) 0%, rgba(152, 149, 149, 1) 58%, rgba(238, 238, 238, 1) 100%); 
168
169 
170            body.bg-green { 
171                background: rgb(0, 51, 0); 
172                background: linear-gradient(0deg, rgba(0, 51, 0, 1) 0%, rgba(98, 155, 98, 1) 58%, rgba(153, 204, 153, 1) 100%); 
173
174 
175            body.bg-red { 
176                background: rgb(102, 0, 0); 
177                background: linear-gradient(0deg, rgba(102, 0, 0, 1) 0%, rgba(169, 76, 76, 1) 58%, rgba(204, 127, 127, 1) 100%); 
178
179 
180            body.bg-blue { 
181                background: rgb(12, 32, 116); 
182                background: linear-gradient(0deg, rgba(12, 32, 116, 1) 0%, rgba(101, 128, 195, 1) 58%, rgba(153, 178, 229, 1) 100%); 
183
184 
185            .businessMoreLink, .less-link, .more-link { 
186                display: none; 
187                text-align: center; 
188
189            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item sup{ 
190                font-size: 11px; 
191                top: -.7em; 
192
193 
194            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading__subheading sup{ 
195                top: -1em; 
196                font-size: 60%; 
197
198             
199            .more-link { 
200                position: absolute; 
201                right: -25px; 
202                top: 250px; 
203
204            .less-link { 
205                position: absolute; 
206                left: -25px; 
207                top: 250px; 
208
209            .more-link a, .less-link a { 
210                display: flex; 
211                align-items: center; 
212
213            .more-caret, .less-caret { 
214                position: relative; 
215                height: 40px; 
216                width: 20px; 
217
218            .more-text { 
219                margin-right: 10px; 
220
221            .less-text { 
222                margin-left: 15px; 
223
224 
225            .more-caret:before { 
226                content: ''; 
227                position: absolute; 
228                top: 0; 
229                left: 0; 
230                border-left: 20px solid #cccccc; 
231                border-top: 20px solid transparent; 
232                border-bottom: 20px solid transparent; 
233
234 
235            .more-caret:after { 
236                content: ''; 
237                position: absolute; 
238                left: 0; 
239                top: 7px; 
240                border-left: 13px solid #fff; 
241                border-top: 13px solid transparent; 
242                border-bottom: 13px solid transparent; 
243
244 
245            .less-caret:before { 
246                content: ''; 
247                position: absolute; 
248                top: 0; 
249                left: 0; 
250                border-right: 20px solid #cccccc; 
251                border-top: 20px solid transparent; 
252                border-bottom: 20px solid transparent; 
253
254 
255            .less-caret:after { 
256                content: ''; 
257                position: absolute; 
258                left: 7px; 
259                top: 7px; 
260                border-right: 13px solid #fff; 
261                border-top: 13px solid transparent; 
262                border-bottom: 13px solid transparent; 
263
264 
265            .secondary-color { 
266                color: #19398a; 
267
268 
269            .jn-subhero h2 { 
270                color: #19398a; 
271                font-size: 22px; 
272
273 
274            .jn-subhero h2 sup { 
275                font-size: 12px; 
276
277 
278            .jn-subhero p sup { 
279                top: -.4em; 
280                font-size: 10px; 
281
282 
283            .jn-banner article, 
284            .jn-find article, 
285            .jn-subhero ul, 
286            .jn-hero-card .jn-hero-container .jn-hero-container-data article { 
287                display: -webkit-box; 
288                display: -webkit-flex; 
289                display: -moz-flex; 
290                display: -ms-flexbox; 
291                display: flex; 
292                -webkit-align-items: flex-start; 
293                -moz-align-items: flex-start; 
294                -ms-align-items: flex-start; 
295                align-items: flex-start; 
296                -webkit-flex-flow: column wrap; 
297                -moz-flex-flow: column wrap; 
298                -ms-flex-flow: column wrap; 
299                flex-flow: column wrap; 
300
301 
302            .jn-banner article, 
303            .jn-subhero ul { 
304                -ms-flex-pack: space-around; 
305                -webkit-justify-content: space-around; 
306                -moz-justify-content: space-around; 
307                -ms-justify-content: space-around; 
308                justify-content: space-around; 
309
310 
311            .overpass { 
312                font-family: 'Overpass', sans-serif; 
313
314 
315            @media screen and (min-width: 769px) { 
316 
317                .jn-banner article, 
318                .jn-find article, 
319                .jn-subhero ul, 
320                .jn-hero-card .jn-hero-container .jn-hero-container-data article { 
321                    -webkit-flex-flow: row wrap; 
322                    -moz-flex-flow: row wrap; 
323                    -ms-flex-flow: row wrap; 
324                    flex-flow: row wrap; 
325 
326
327
328 
329            /*----------------------- Wrapper Styles ------------------------------ */ 
330            .wrapper { 
331                *zoom: 1; 
332                text-rendering: optimizeLegibility; 
333                -webkit-font-smoothing: antialiased; 
334                -moz-osx-font-smoothing: grayscale; 
335                image-rendering: -webkit-optimize-contrast; 
336                margin: 0 auto; 
337                position: relative; 
338                font-family: Helvetica Neue, Helvetica, Arial, sans-serif; 
339                -webkit-font-smoothing: subpixel-antialiased; 
340
341 
342            .wrapper:before, 
343            .wrapper:after { 
344                content: " "; 
345                display: table; 
346
347 
348            .wrapper:after { 
349                clear: both; 
350
351 
352            .wrapper h1 { 
353                font-size: 30px; 
354
355 
356            .wrapper h1, 
357            .wrapper h2, 
358            .wrapper h3, 
359            .wrapper h4, 
360            .wrapper h5, 
361            .wrapper h6 { 
362                margin: 0; 
363                line-height: normal; 
364
365 
366            .wrapper a { 
367                text-decoration: underline; 
368                cursor: pointer; 
369                color: #173989; 
370
371            .jn-primary-nav a, 
372            .actions a, 
373            a.jn-button { 
374                text-decoration: none; 
375
376 
377            .wrapper a:hover { 
378                text-decoration: none; 
379                cursor: pointer; 
380
381            .wrapper a.t_c_link { 
382                font-size: 17px; 
383                text-decoration: underline; 
384
385            .wrapper a.t_c_link:hover { 
386                text-decoration: underline; 
387
388 
389            .wrapper p { 
390                font-size: 16px; 
391                margin: 0; 
392                line-height: 1.2; 
393                color: #333333; 
394
395 
396            .wrapper ul { 
397                padding: 0; 
398                margin: 0; 
399
400 
401            .wrapper .jn-img-responsive { 
402                max-width: 100%; 
403                width: 100%; 
404                height: auto; 
405
406 
407            .wrapper .content-container { 
408                display: block; 
409                max-width: 825px; 
410                margin: 0 auto; 
411                width: 100%; 
412
413 
414             
415 
416             
417 
418            @media (min-width: 769px) { 
419                .wrapper .content-container { 
420                    max-width: 1336px; 
421
422
423 
424             
425 
426            /*----------------------- Header Styles ------------------------------ */ 
427            .jn-header { 
428                display: flex; 
429                padding: 20px 0; 
430                justify-content: center; 
431                min-height: 113px; 
432                background: #fff; 
433
434            @media (min-width:769px) { 
435                .jn-header { 
436                    padding: 20px 8%; 
437                    justify-content: left; 
438                    max-width: 1363px; 
439                    margin: 0 auto; 
440
441
442 
443            .jn-header .header-logo { 
444                max-width: 230px; 
445
446            .jn-header .header-logo img { 
447                width: 100%; 
448
449 
450            .jn-header .styled-select { 
451                display: none; 
452                background-color: #fff; 
453                border: 1px solid #ccc; 
454                min-width: 200px; 
455                height: 34px; 
456                overflow: hidden; 
457                outline: none; 
458                width: auto; 
459
460
461 
462            .jn-header .styled-select:after { 
463                border-bottom-style: solid; 
464                border-bottom-width: 3px; 
465                border-right-style: solid; 
466                border-right-width: 3px; 
467                content: ''; 
468                display: block; 
469                height: 15px; 
470                right: 12px; 
471                position: absolute; 
472                top: 5px; 
473                width: 15px; 
474                border-color: #99999F; 
475                -moz-transform: rotate(45deg); 
476                -ms-transform: rotate(45deg); 
477                -webkit-transform: rotate(45deg); 
478                transform: rotate(45deg); 
479
480 
481            .jn-header .styled-select select { 
482                background: transparent; 
483                font-family: Arial, Helvetica, sans-serif; 
484                font-weight: bold; 
485                font-size: 14px; 
486                height: 34px; 
487                width: 100%; 
488                padding: 5px 35px 5px 5px; 
489                text-transform: none; 
490                line-height: 1.15; 
491                margin: 0; 
492                border: none; 
493                color: #666666; 
494                -webkit-box-sizing: border-box; 
495                -moz-box-sizing: border-box; 
496                box-sizing: border-box; 
497                -webkit-appearance: none; 
498                -moz-appearance: none; 
499
500 
501            .jn-header a { 
502                font-size: 12px; 
503                color: #1c348b; 
504
505 
506            .jn-header a:hover, 
507            .jn-header a:focus, 
508            .jn-header a:active { 
509                color: #1c348b; 
510
511 
512            @media screen and (min-width: 769px) { 
513                .jn-header .styled-select { 
514                    display: block; 
515                    position: absolute; 
516                    right: 16px; 
517                    top: 50px; 
518
519
520 
521            @media screen and (max-width: 350px) { 
522                .jn-header img { 
523                    width: 200px; 
524
525
526 
527            /*----------------------- Hero Styles ------------------------------ */ 
528            .jn-hero-card { 
529                background: rgba(204, 204, 204, .2); 
530
531 
532            .jn-hero-card .jn-hero-container .jn-hero-container-data article>div .jn-button { 
533                margin: 20px auto; 
534                width: 90%; 
535                float: none; 
536                display: block; 
537
538 
539            .jn-hero-card .jn-hero-container .jn-hero-container-data .feature-text p:last-child { 
540                margin: 10px auto 0; 
541                width: 240px; 
542
543            .stripe-headline { 
544                text-align: center; 
545
546            .stripe-headline h1 { 
547                font-size: 36px; 
548                font-weight: 400; 
549
550            .stripe-headline h3 { 
551                font-size: 14px; 
552                font-weight: 400; 
553                margin-bottom: 15px; 
554                text-transform: uppercase; 
555
556            .stripe-headline__card { 
557                display: block; 
558                height: 100%; 
559                width: 350px; 
560                margin: -105px auto 0; 
561
562            .stripe-headline__card img { 
563                margin-bottom: 10px; 
564
565            .stripe-headline__card p { 
566                text-align: center; 
567                text-transform: uppercase; 
568
569            .stripe-headline__wrapper--lower { 
570                width: 100%; 
571
572            .stripe-headline__wrapper--lower .content-container > * { 
573                display: inline-block; 
574
575            .stripe-headline__wrapper--upper { 
576                padding: 20px 0 110px; 
577                width: 100%; 
578
579             
580 
581 
582            @media screen and (min-width: 769px) { 
583                .stripe-headline { 
584                    text-align: left; 
585
586                .stripe-headline__card { 
587                    margin: -110px 0 0; 
588                    padding-right: 45px; 
589
590                .stripe-headline__heading { 
591                    padding-left: 350px; 
592
593                .stripe-headline__wrapper--lower { 
594                    padding: 20px 0 40px; 
595
596                .stripe-headline__wrapper--lower > .content-container { 
597                     
598
599                .stripe-headline__wrapper--upper { 
600                    padding: 40px 0 20px; 
601
602 
603                .jn-hero-card .jn-hero-container .jn-hero-container-data article>div .jn-button { 
604                    margin: 30px auto 0; 
605                    display: inline-block; 
606                    width: auto; 
607
608
609 
610            @media screen and (min-width: 1200px) { 
611                .jn-hero-card .jn-hero-container .jn-hero-container-data article>div:last-child>div.intro { 
612                    padding: 0 52px; 
613
614
615 
616            /*----------------------- Show card for specific bank if there no a background image ------------------------------ */ 
617            body.associated .jn-hero-card .jn-hero-container .jn-hero-container-data article>div img { 
618                display: block; 
619
620 
621            /*----------------------- Subhero Styles ------------------------------ */ 
622            .jn-subhero { 
623                margin: 0; 
624                background: #ffffff; 
625
626 
627            .jn-subhero ul { 
628                text-align: center; 
629                padding: 30px 0; 
630                -webkit-align-items: center; 
631                -moz-align-items: center; 
632                -ms-align-items: center; 
633                align-items: center; 
634
635 
636            .jn-subhero ul li { 
637                width: 100%; 
638                margin-bottom: 20px; 
639
640 
641            .jn-subhero ul li p { 
642                font-size: 14px; 
643
644 
645            @media screen and (min-width: 769px) { 
646                .jn-subhero { 
647                    background: rgba(204, 204, 204, .2); 
648
649 
650                .jn-subhero ul li { 
651                    width: 31%; 
652                    margin: 0; 
653                    padding: 0; 
654
655 
656                .jn-subhero ul li:nth-child(2) { 
657                    width: 37%; 
658
659 
660                .jn-subhero.offer-type-115 ul li:first-child p { 
661                    width: 80%; 
662
663 
664                .jn-subhero ul li p { 
665                    margin: 0 auto; 
666
667 
668                .jn-subhero ul { 
669                    -webkit-align-items: flex-start; 
670                    -moz-align-items: flex-start; 
671                    -ms-align-items: flex-start; 
672                    align-items: flex-start; 
673
674 
675                .jn-subhero ul li:first-child p { 
676                    width: 70%; 
677
678 
679                .jn-subhero ul li:last-child p { 
680                    width: 75%; 
681
682
683 
684            /*----------------------- Find Styles ------------------------------ */ 
685            .jn-find { 
686                padding: 0 18px 30px; 
687                background-color: #ffffff; 
688
689 
690            .jn-find article { 
691                padding: 0 15px; 
692
693 
694            .jn-find article sup { 
695                top: -0.3em; 
696
697 
698            .jn-find .subtitle p { 
699                font-size: 30px; 
700                font-weight: bold; 
701                color: #333333; 
702                text-align: center; 
703                margin-bottom: 20px; 
704
705 
706            .jn-find article>div { 
707                width: 100%; 
708                padding-right: 0; 
709
710 
711            .jn-find article>div p { 
712                padding-bottom: 15px; 
713
714 
715            .jn-find article>div p:last-child { 
716                padding-bottom: 0; 
717
718 
719            .jn-find article>div h3 { 
720                font-size: 18px; 
721                color: #19398a; 
722                padding-bottom: 14px; 
723
724 
725            .jn-find article>div ul li { 
726                padding-bottom: 14px; 
727
728 
729            .jn-find article>div:last-child { 
730                padding-right: 0; 
731                padding-left: 0; 
732
733 
734            @media screen and (min-width: 769px) { 
735                .jn-find { 
736                    margin: 30px 0; 
737                    padding: 0 30px; 
738                    background-color: transparent; 
739
740 
741                .jn-find .subtitle p { 
742                    font-size: 24px; 
743
744 
745                .jn-find article>div { 
746                    width: 45%; 
747                    padding-right: 40px; 
748
749 
750                .jn-find article>div:last-child { 
751                    padding-right: 0; 
752                    padding-left: 68px; 
753
754
755 
756            @media screen and (min-width: 1200px) { 
757                .jn-find .subtitle p { 
758                    font-size: 29px; 
759
760
761 
762            /*----------------------- Banner Styles ------------------------------ */ 
763            .jn-container-banner .jn-banner-wrapper { 
764                padding: 20px 18px 30px; 
765                background: #f3f3f3; 
766                height: auto; 
767
768 
769            .jn-container-banner .jn-banner article { 
770                padding: 30px 0 0; 
771
772 
773            .jn-container-banner .jn-banner article>div { 
774                width: 100%; 
775
776 
777            .jn-container-banner .jn-banner article img.jn-img-responsive { 
778                width: 200px; 
779                margin: 0 auto; 
780                display: block; 
781
782 
783            .jn-container-banner .jn-banner article>div:last-child { 
784                width: 100%; 
785                padding: 0; 
786
787 
788            .jn-container-banner .jn-banner article>div p { 
789                margin-top: 0; 
790                font-size: 29px; 
791                text-align: center; 
792
793 
794            .jn-container-banner .jn-banner article>div p span { 
795                font-weight: bold; 
796
797 
798            .jn-container-banner .jn-banner article>div p:first-child { 
799                font-size: 26px; 
800                padding: 0 30px; 
801                line-height: normal; 
802                margin-bottom: 20px; 
803
804 
805            .jn-container-banner .jn-banner article>div>p:nth-child(2) { 
806                color: #666666; 
807                font-size: 20px; 
808
809 
810            .jn-container-banner .jn-banner article>div .jn-button { 
811                margin: 15px 0 0; 
812                float: none; 
813                width: 100%; 
814
815 
816            @media screen and (min-width: 769px) { 
817                .jn-container-banner .jn-banner-wrapper { 
818                    margin-bottom: 10px; 
819                    padding: 0 30px; 
820                    background: #ffffff; 
821                    height: 232px; 
822                    background: -moz-linear-gradient(left, #ffffff 0%, #f3f3f3 98%); 
823                    background: -webkit-linear-gradient(left, #ffffff 0%, #f3f3f3 98%); 
824                    background: linear-gradient(to right, #ffffff 0%, #f3f3f3 98%); 
825                    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f3f3f3', GradientType=1); 
826
827 
828                .jn-container-banner .jn-banner article>div { 
829                    width: 37%; 
830
831 
832                .jn-container-banner .jn-banner article>div:last-child { 
833                    width: 60%; 
834                    padding: 0 0 0 15px; 
835
836 
837                .jn-container-banner .jn-banner article img.jn-img-responsive { 
838                    width: 100%; 
839
840 
841                .jn-container-banner .jn-banner article>div p { 
842                    text-align: left; 
843
844 
845                .jn-container-banner .jn-banner article>div p:first-child { 
846                    font-size: 36px; 
847                    padding: 0; 
848                    line-height: 40px; 
849
850 
851                .jn-container-banner .jn-banner article>div .jn-button { 
852                    margin: 25px 0 0; 
853                    float: right; 
854                    width: auto; 
855
856
857 
858            @media screen and (min-width: 1200px) { 
859                .jn-container-banner .jn-banner article>div { 
860                    width: 25%; 
861
862 
863                .jn-container-banner .jn-banner article>div:last-child { 
864                    width: 75%; 
865                    padding: 0 0 0 40px; 
866
867 
868                .jn-container-banner .jn-banner-wrapper { 
869                    padding: 0 64px 0 18px; 
870
871 
872                .jn-container-banner .jn-banner article>div p:first-child { 
873                    font-size: 48px; 
874
875 
876                .jn-container-banner .jn-banner article>div>p:nth-child(2) { 
877                    font-size: 30px; 
878
879
880 
881            /*----------------------- Disclaimer Styles ------------------------------ */ 
882            .jn-disclaimer { 
883                margin-top: 50px; 
884                background-color: #f7f7f7; 
885
886 
887            .jn-disclaimer p { 
888                font-size: 16px; 
889
890 
891            .jn-disclaimer ul li { 
892                margin-bottom: 15px; 
893                font-size: 16px; 
894
895 
896             
897 
898            .jn-disclaimer ul li sup { 
899                margin: 0 2px 0 0; 
900                top: -.3em; 
901                font-size: 12px; 
902
903            .jn-disclaimer .disclaimer { 
904                    padding: 20px 8%; 
905                    margin: 0 auto; 
906                    white-space: pre-wrap; /* CSS3 */     
907                    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ 
908                    white-space: -pre-wrap; /* Opera 4-6 */     
909                    white-space: -o-pre-wrap; /* Opera 7 */     
910                    word-wrap: break-word; /* Internet Explorer 5.5+ */ 
911
912 
913            @media screen and (min-width: 769px) { 
914                .jn-disclaimer .disclaimer { 
915                    padding: 20px 8.335%; 
916
917                .jn-disclaimer ul { 
918                    margin: 0 0 0 35px; 
919
920
921            @media (min-width: 1025px) { 
922                .jn-disclaimer .disclaimer { 
923                    padding: 20px 8.825%; 
924                    max-width: 1363px; 
925
926
927 
928            /*----------------------- Footer Styles ------------------------------ */ 
929            .wrapper footer { 
930                background-color: #000000; 
931                min-height: 135px; 
932
933 
934            .wrapper footer article { 
935                color: #FFFFFF; 
936                font-weight: bold; 
937                max-width: 1200px; 
938                margin: 0 auto; 
939                padding: 40px 30px; 
940                text-align: right; 
941                font-size: 12px; 
942
943            .wrapper footer article .member-agreement { 
944                 display: inline-block; 
945 
946
947             .wrapper footer article .fdic { 
948                 display: inline-block; 
949                 margin-left: 100px; 
950
951 
952            .wrapper footer article a { 
953                color: #fff; 
954                text-transform: none; 
955
956 
957            .wrapper footer article a:hover, 
958            .wrapper footer article a:focus, 
959            .wrapper footer article a:active { 
960                color: #fff; 
961                text-transform: underline; 
962
963 
964 
965            /*----------------------- Consumer Styles ------------------------------ */ 
966             
967 
968            .jn-consumer-content h2 { 
969                font-size: 25px; 
970                color: #333333; 
971                font-weight: 400; 
972
973 
974            .jn-consumer-content .jn-consumer-content-wrapper { 
975                display: -webkit-box; 
976                display: -webkit-flex; 
977                display: -moz-flex; 
978                display: -ms-flexbox; 
979                display: flex; 
980                -webkit-align-items: flex-start; 
981                -moz-align-items: flex-start; 
982                -ms-align-items: flex-start; 
983                align-items: flex-start; 
984                -webkit-flex-flow: column wrap; 
985                -moz-flex-flow: column wrap; 
986                -ms-flex-flow: column wrap; 
987                flex-flow: column wrap; 
988                -ms-flex-pack: space-around; 
989                -webkit-justify-content: space-around; 
990                -moz-justify-content: space-around; 
991                -ms-justify-content: space-around; 
992                justify-content: space-around; 
993                font-family: Arial, Helvetica, sans-serif; 
994
995 
996            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item { 
997                    display: flex; 
998                    flex-direction: column; 
999                    background-color: #fff; 
1,000                    justify-content: center; 
1,001                    padding: 50px 8%; 
1,002                    position: relative; 
1,003                    border-bottom: 1px solid #ccc; 
1,004
1,005            @media (min-width: 769px) { 
1,006                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item { 
1,007                    flex-direction: row; 
1,008                    border-radius: 10px; 
1,009                    -webkit-box-shadow: 0px 0px 7px 2px rgba(0, 0, 0, 0.2); 
1,010                    -moz-box-shadow: 0px 0px 7px 2px rgba(0, 0, 0, 0.2); 
1,011                    box-shadow: 0px 0px 7px 2px rgba(0, 0, 0, 0.2); 
1,012                    border-bottom: none; 
1,013                    margin: 20px; 
1,014                    padding: 50px 3%; 
1,015
1,016
1,017 
1,018            .jn-consumer-card-info { 
1,019                width: 100%; 
1,020
1,021            @media (min-width: 769px) { 
1,022                .jn-consumer-card-info { 
1,023                    width: 60%; 
1,024                    margin-left: 5%; 
1,025
1,026
1,027            @media (min-width: 830px) { 
1,028                .jn-consumer-card-info { 
1,029                    margin-left: 5%; 
1,030
1,031
1,032             
1,033 
1,034            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item p { 
1,035                font-size: 12px; 
1,036
1,037 
1,038            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item img { 
1,039                max-width: 285px; 
1,040                max-height: 285px; 
1,041                margin: 0 auto 20px; 
1,042                display: block; 
1,043                width: auto; 
1,044                height: auto; 
1,045
1,046 
1,047            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading__subheading { 
1,048                font-size: 15px; 
1,049                font-weight: 300; 
1,050                margin: 0 0 10px; 
1,051                text-transform: uppercase; 
1,052
1,053            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading { 
1,054                text-align: center; 
1,055                margin-bottom: 20px; 
1,056
1,057             
1,058            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading p { 
1,059                font-size: 29px; 
1,060                font-weight: 300; 
1,061                margin: 10px 0; 
1,062
1,063 
1,064            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .jn-additional ul li { 
1,065                list-style-type: none; 
1,066                padding: 0 0 15px 0; 
1,067                color: #333333; 
1,068                font-size: 20px; 
1,069                line-height: 1.2; 
1,070
1,071 
1,072            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .jn-additional ul li p, .jn-consumer-item .jn-consumer-card-image p.tier3-tabs-card-art-description { 
1,073                font-size: 20px; 
1,074                line-height: 1.3; 
1,075
1,076            .jn-consumer-item .jn-consumer-card-image p.tier3-tabs-card-art-description { 
1,077                text-align: center; 
1,078
1,079            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions { 
1,080                display: -webkit-box; 
1,081                display: -webkit-flex; 
1,082                display: -moz-flex; 
1,083                display: -ms-flexbox; 
1,084                display: flex; 
1,085                margin: 10px 0; 
1,086                justify-content: center; 
1,087
1,088            @media (min-width: 769px) { 
1,089                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading { 
1,090                    min-height: 110px; 
1,091                    text-align: left; 
1,092
1,093                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions { 
1,094                    justify-content: flex-start; 
1,095
1,096
1,097            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .actions a { 
1,098                display: block; 
1,099                font-size: 14px; 
1,100                font-weight: 400; 
1,101                padding: 6px 45px; 
1,102                text-transform: uppercase; 
1,103                text-align: center; 
1,104
1,105 
1,106            @media (max-width: 768px) { 
1,107                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .actions a { 
1,108                    padding: 6px 0; 
1,109                    width: 100%; 
1,110
1,111                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .actions li { 
1,112                    width: 49%; 
1,113                    max-width: 180px; 
1,114
1,115                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .actions li:first-child { 
1,116                    margin-right: 2%; 
1,117
1,118
1,119 
1,120            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions li:first-child a { 
1,121                color: #fff; 
1,122                margin-right: 7px; 
1,123                position: relative; 
1,124
1,125 
1,126            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions li a:hover, 
1,127            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions li a:focus, 
1,128            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions li a:active { 
1,129                color: #fff; 
1,130
1,131 
1,132            @media screen and (min-width: 769px) { 
1,133                 
1,134 
1,135                .jn-consumer-content h2 { 
1,136                    font-size: 29px; 
1,137
1,138 
1,139                .jn-consumer-content .jn-consumer-content-wrapper { 
1,140                    -webkit-flex-flow: row wrap; 
1,141                    -moz-flex-flow: row wrap; 
1,142                    -ms-flex-flow: row wrap; 
1,143                    flex-flow: row wrap; 
1,144                    -ms-flex-pack: space-between; 
1,145                    -webkit-justify-content: space-between; 
1,146                    -moz-justify-content: space-between; 
1,147                    -ms-justify-content: space-between; 
1,148                    justify-content: space-between; 
1,149
1,150
1,151 
1,152            /*----------------------- Tab Styles ------------------------------ */ 
1,153            .jn-primary-nav { 
1,154                margin: 50px auto; 
1,155                display: block; 
1,156                width: 80%; 
1,157
1,158            @media screen and (min-width: 769px) { 
1,159                .jn-primary-nav { 
1,160                    width: 100%; 
1,161                    max-width: 525px; 
1,162
1,163
1,164 
1,165 
1,166            .jn-primary-nav ul { 
1,167                 
1,168                display: -webkit-box; 
1,169                display: -webkit-flex; 
1,170                display: -moz-flex; 
1,171                display: -ms-flexbox; 
1,172                display: flex; 
1,173                -webkit-align-items: center; 
1,174                -moz-align-items: center; 
1,175                -ms-align-items: center; 
1,176                align-items: center; 
1,177                -webkit-justify-content: center; 
1,178                -moz-justify-content: center; 
1,179                -ms-justify-content: center; 
1,180                justify-content: center; 
1,181                -ms-flex-pack: center; 
1,182                width: 100%; 
1,183
1,184 
1,185 
1,186            .jn-primary-nav ul li { 
1,187                width: 50%; 
1,188 
1,189
1,190            .jn-primary-nav ul li a { 
1,191                width: 100%; 
1,192                padding: 8px 0; 
1,193
1,194            .jn-primary-nav ul li a:hover, 
1,195            .jn-primary-nav ul li a:focus { 
1,196                color: #fff; 
1,197                background-color: ${hoverColor!'#333333'}; 
1,198
1,199 
1,200            .jn-primary-nav a, .jn-primary-nav p { 
1,201                font-size: 16px; 
1,202                font-weight: 400; 
1,203                text-align: center; 
1,204                display: block; 
1,205                position: relative; 
1,206                text-transform: uppercase; 
1,207
1,208 
1,209            .jn-primary-nav p:hover { 
1,210                cursor: pointer; 
1,211
1,212             
1,213 
1,214             
1,215 
1,216 
1,217            .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content { 
1,218                display: none; 
1,219
1,220 
1,221            .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active { 
1,222                display: -webkit-box; 
1,223                display: -webkit-flex; 
1,224                display: -moz-flex; 
1,225                display: -ms-flexbox; 
1,226                display: flex; 
1,227
1,228 
1,229 
1,230             
1,231            
1,232            @media screen and (min-width: 769px) { 
1,233               
1,234                .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active { 
1,235                    display: block !important; 
1,236                    position: relative; 
1,237
1,238                .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active.one-card, .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active.two-card { 
1,239                    display: flex !important; 
1,240                    width: auto; 
1,241                    position: relative; 
1,242
1,243
1,244            @media screen and (min-width: 769px) { 
1,245                .tab-more-wrapper { 
1,246                    overflow: hidden; 
1,247
1,248
1,249            @media (min-width: 1200px) { 
1,250                .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active { 
1,251                    display: block !important; 
1,252
1,253                .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active.one-card, .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active.two-card { 
1,254                    display: flex !important; 
1,255                    width: auto; 
1,256
1,257                 
1,258                .transition-start { 
1,259                    transform: translateX(0); 
1,260
1,261                .transition-left { 
1,262                    transform: translateX(-999px); 
1,263
1,264                 
1,265
1,266 
1,267            
1,268             
1,269           
1,270 
1,271     
1,272 
1,273 
1,274 
1,275 
1,276 
1,277    /*customizations*/ 
1,278     
1,279    .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading .consumer-card-heading__subheading { 
1,280         color: ${textColor!'#173989'}; 
1,281
1,282    .wrapper ul.actions li a.applyNowLink { 
1,283         background-color: ${buttonColor!'#173989'}; 
1,284         border: 1px solid ${buttonColor!'#173989'}; 
1,285
1,286    .wrapper ul.actions li a.applyNowLink:hover, 
1,287    .wrapper ul.actions li a.applyNowLink:focus { 
1,288         text-decoration: none; 
1,289         color: #fff; 
1,290         background-color: ${hoverColor!'#333333'}; 
1,291
1,292    .wrapper ul.actions li a:not(.applyNowLink) { 
1,293         border: 1px solid ${textColor!'#173989'}; 
1,294         color: ${textColor!'#173989'}; 
1,295    }  
1,296    .wrapper ul.actions li a:hover:not(.applyNowLink), 
1,297    .wrapper ul.actions li a:focus:not(.applyNowLink) { 
1,298        color: #fff; 
1,299        background-color: ${hoverColor!'#333333'}; 
1,300
1,301    .wrapper .jn-button { 
1,302        cursor: pointer; 
1,303        border: none; 
1,304        color: #fff; 
1,305        padding: 15px 60px; 
1,306        font-weight: normal; 
1,307        text-transform: uppercase; 
1,308        display: inline-block; 
1,309        border-radius: 0!important; 
1,310        font-size: 16px; 
1,311        background-color: ${buttonColor!'#173989'}; 
1,312
1,313    .wrapper .jn-button:hover, 
1,314    .wrapper .jn-button:active, 
1,315    .wrapper .jn-button:focus { 
1,316        background-color: ${hoverColor!'#333333'}; 
1,317
1,318    .tier3-hero-landing-business .jn-button { 
1,319        background-color: #fff; 
1,320        color: ${buttonColor!'#173989'}; 
1,321
1,322    .tier3-hero-landing-business .jn-button:hover, 
1,323    .tier3-hero-landing-business .jn-button:focus { 
1,324        color: #fff; 
1,325
1,326    .tier3-hero-landing-consumer .jn-button { 
1,327        color: #fff; 
1,328        background-color: ${buttonColor!'#173989'}; 
1,329
1,330    .tier3-hero-landing-business .t_c_link { 
1,331        color: #fff; 
1,332
1,333 
1,334    @media (max-width: 768px) { 
1,335        .wrapper .jn-button { 
1,336            margin: 0 auto; 
1,337            max-width: 213px; 
1,338
1,339        .offer-detail { 
1,340            padding: 50px 8%; 
1,341            padding-top: 10px; 
1,342            margin-top: -1px; 
1,343
1,344        .tier3-hero-landing-consumer .offer-detail { 
1,345            background: -moz-linear-gradient(0deg, #f8f8f8 80%, ${backgroundColor!'#173989'} 80%); 
1,346            background: -webkit-linear-gradient(0deg, #f8f8f8 80%, ${backgroundColor!'#173989'} 80%); 
1,347            background: linear-gradient(0deg, #f8f8f8 80%, ${backgroundColor!'#173989'} 80%); 
1,348
1,349        .tier3-hero-landing-consumer .offer-header { 
1,350            background-color: ${backgroundColor!'#173989'}; 
1,351
1,352        .tier3-hero-landing-consumer .hero-primary-benefits { 
1,353            background: -moz-linear-gradient(180deg, #f8f8f8 43%, #fff 43%); 
1,354            background: -webkit-linear-gradient(180deg, #f8f8f8 43%, #fff 43%); 
1,355            background: linear-gradient(180deg, #f8f8f8 43%, #fff 43%); 
1,356
1,357        .tier3-hero-landing-business .offer-detail { 
1,358            background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 25%, ${backgroundColor!'#173989'} 25%); 
1,359            background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 25%, ${backgroundColor!'#173989'} 25%); 
1,360            background: linear-gradient(180deg, rgba(255,255,255,1) 25%, ${backgroundColor!'#173989'} 25%); 
1,361
1,362        .tier3-hero-landing-business .offer-header { 
1,363            background-color: #fff; 
1,364
1,365        .tier3-hero-landing-business .hero-primary-benefits { 
1,366            background: -moz-linear-gradient(180deg, ${backgroundColor!'#173989'} 43%, #fff 43%); 
1,367            background: -webkit-linear-gradient(180deg, ${backgroundColor!'#173989'} 43%, #fff 43%); 
1,368            background: linear-gradient(180deg, ${backgroundColor!'#173989'} 43%, #fff 43%); 
1,369            margin-top: -1px; 
1,370
1,371
1,372    .tier3-hero-landing-business .offer-title p, .tier3-hero-landing-business .offer-title  { 
1,373         color: ${textColor!'#173989'} !important; 
1,374
1,375 
1,376     .tier3-hero-landing-consumer .offer-title, .tier3-hero-landing-consumer .offer-subtitle, .tier3-hero-landing-consumer .offer-title p, .tier3-hero-landing-consumer .offer-subtitle p { 
1,377         color: #fff; 
1,378
1,379    @media (min-width: 769px) { 
1,380        .tier3-hero-landing-consumer .hero-main-container { 
1,381            background: -moz-linear-gradient(0deg, #f8f8f8 63.5%, ${backgroundColor!'#173989'} 63.5%); 
1,382            background: -webkit-linear-gradient(0deg, #f8f8f8 63.5%, ${backgroundColor!'#173989'} 63.5%); 
1,383            background: linear-gradient(0deg, #f8f8f8 63.5%, ${backgroundColor!'#173989'} 63.5%); 
1,384             
1,385
1,386        .tier3-hero-landing-business .hero-main-container{ 
1,387            background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 35%, ${backgroundColor!'#173989'} 35%); 
1,388            background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 35%, ${backgroundColor!'#173989'} 35%); 
1,389            background: linear-gradient(180deg, rgba(255,255,255,1) 35%, ${backgroundColor!'#173989'} 35%); 
1,390
1,391
1,392 
1,393 
1,394    .jn-primary-nav a:hover, 
1,395    .jn-primary-nav a:focus, 
1,396    .jn-primary-nav a.active, 
1,397    .jn-primary-nav p:hover, 
1,398    .jn-primary-nav p:focus, 
1,399    .jn-primary-nav p.active { 
1,400        background-color: ${backgroundColor!'#173989'}; 
1,401        border: 1px solid ${textColor!'#173989'}; 
1,402        color: #fff; 
1,403
1,404    .jn-primary-nav a, .jn-primary-nav p { 
1,405        color: ${textColor!'#173989'}; 
1,406
1,407    .jn-primary-nav ul { 
1,408        border: 1px solid ${textColor!'#173989'}; 
1,409
1,410 
1,411    /*HERO COMBINED*/ 
1,412 
1,413     
1,414 
1,415    .hero-main-offer { 
1,416        height: 100%; 
1,417        width: 100%; 
1,418
1,419 
1,420    @media (min-width: 769px) { 
1,421    .hero-main-offer { 
1,422        padding: 50px 8% 120px 8%; 
1,423        display: flex; 
1,424        justify-content: center; 
1,425        margin: 0 auto; 
1,426
1,427
1,428 
1,429    @media (min-width: 1024px) { 
1,430        .hero-main-offer { 
1,431            max-width: 1363px; 
1,432
1,433
1,434 
1,435    .hero-main-offer .offer-header { 
1,436        padding: 50px 8%; 
1,437        padding-top: 20px; 
1,438        padding-bottom: 10px; 
1,439
1,440 
1,441    @media (min-width: 769px) { 
1,442        .hero-main-offer .offer-header { 
1,443            padding: 0 4%; 
1,444            text-align: left; 
1,445            justify-content: space-between; 
1,446            display: flex; 
1,447            flex-direction: column; 
1,448            max-width: 70%; 
1,449
1,450        .hero-main-offer .offer-header .offer-text-top, .hero-main-offer .offer-header .offer-text-bottom { 
1,451            padding: 20px 0; 
1,452
1,453
1,454 
1,455    .hero-main-offer .offer-title, .hero-main-offer .offer-title p, .hero-main-offer .offer-title h1, .hero-main-offer .offer-title h2, .hero-main-offer .offer-title h3 { 
1,456        margin: 0; 
1,457        margin-bottom: 10px; 
1,458        font-size: 14px; 
1,459        text-transform: uppercase; 
1,460        letter-spacing: 1.136px; 
1,461
1,462 
1,463    .hero-main-offer .offer-subtitle, .hero-main-offer .offer-subtitle p, .hero-main-offer .offer-subtitle h1, .hero-main-offer .offer-subtitle h2, .hero-main-offer .offer-subtitle h3 { 
1,464        margin: 0; 
1,465        font-size: 36px; 
1,466
1,467 
1,468    .hero-main-offer .offer-detail-cardArt { 
1,469        min-height: 220px; 
1,470        min-width: 285px; 
1,471
1,472 
1,473    .hero-main-offer .offer-detail-cardArt img { 
1,474        max-width: 285px; 
1,475        width: auto; 
1,476        height: auto; 
1,477        max-height: 285px; 
1,478
1,479 
1,480    .hero-main-offer .offer-detail-cardArt p { 
1,481        margin: 20px 0; 
1,482        color: #555555; 
1,483        text-transform: uppercase; 
1,484        letter-spacing: 1.136px; 
1,485
1,486 
1,487    .hero-main-offer .offer-detail-text { 
1,488        margin-bottom: 20px; 
1,489
1,490 
1,491    .hero-main-offer .offer-detail-text p { 
1,492        color: #555555; 
1,493
1,494 
1,495    .tier3-hero-landing-business .offer-detail-cardArt p, .tier3-hero-landing-business .offer-detail-text p { 
1,496        color: #fff; 
1,497
1,498 
1,499    .hero-main-logo a { 
1,500        text-align: center; 
1,501
1,502 
1,503    .hero-main-logo-homelink a { 
1,504        color: #ffffff; 
1,505        font-weight: bold; 
1,506
1,507    a.reward-calculator-link { 
1,508        text-decoration: underline; 
1,509        text-align: center; 
1,510        display: block; 
1,511
1,512 
1,513    .hero-main-logo-homelink a:hover, 
1,514    .hero-main-logo-homelink a:focus, 
1,515    .hero-main-logo-homelink a:active { 
1,516        text-decoration: none; 
1,517        background-color: transparent; 
1,518
1,519 
1,520    .hero-main-container { 
1,521        text-align: center; 
1,522
1,523 
1,524    .hero-main-container sup { 
1,525        font-size: 13px !important; 
1,526
1,527    .hide-mobile, .hide-desktop { 
1,528        display: none !important; 
1,529
1,530    @media (min-width: 769px) { 
1,531        .hide-mobile { 
1,532            display: block !important; 
1,533
1,534
1,535    @media (max-width: 768px) { 
1,536        .hide-desktop { 
1,537            display: block !important; 
1,538
1,539
1,540</style> 

Web Content Display

An error occurred while processing the template.
Expression qstringmap["ecdma-lc"] is undefined on line 17, column 14 in 10154#10192#153417670.
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign url = request.attributes.CURRENT_URL > 
4<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
5<#assign url404 = '/error/404.html' > 
6<#assign environment = url?replace('/11t3.*','','r')> 
7 
8<#assign text_to_apply_source = "vanity url" > 
9<#if qstringmap["sms"]?has_content> 
10    <#assign sms = 1 > 
11    <#assign text_to_apply_source = "sms" > 
12</#if> 
13<#if qstringmap["qrCode"]?has_content> 
14    <#assign text_to_apply_source = "qr code" > 
15</#if> 
16 
17<#assign lc= qstringmap["ecdma-lc"]?first>   
18<#assign prefix = "00000" > 
19<#assign lcWithPrefix = prefix + lc > 
20<#assign withPrefixLength = lcWithPrefix?length > 
21<#assign startHere = withPrefixLength - 5> 
22<#assign lc = lcWithPrefix?substring(startHere)> 
23 
24<#if qstringmap["ecid"]?has_content> 
25    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
26    <#assign campaignId = qstringmap["ecid"]?first > 
27<#else> 
28    <#assign ecidExt=""> 
29    <#assign campaignId = "" > 
30</#if> 
31 
32 
33 
34<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
35<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
36<#assign clientProfile = clientProfileList?first> 
37<#assign partnerName = clientProfile.getMarketingNameLong()> 
38<#assign pbu = clientProfile.getPbu()> 
39<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
40 
41<#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
42<#assign cdnLogoUrl = propsUtil.get('rackspace.cdn.web.url')> 
43<#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&'+pbu+'&'+subbu)> 
44 
45 <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
46<#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
47<#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
48<script> 
49//console.log('Partner URL', ${partnerUrl}); 
50</script> 
51<#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*")>     
52    <#assign partnerUrl = 'https://' + partnerUrl> 
53</#if> 
54<script> 
55//console.log('Partner URL', ${partnerUrl}); 
56 
57</script> 
58<#-- Begin: filter duplicated cards--> 
59<#assign temp = []> 
60<#assign offerTypeList = []>   
61<#if (fiCardsData?size > 0)>      
62    <#assign index = 0> 
63    <#list fiCardsData as fib> 
64        <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>  
65            <#assign offerTypeList = offerTypeList + [fib.offerType]>                   
66            <#assign temp = temp + fiCardsData[index..index]>  
67        </#if>   
68        <#assign index = index + 1>               
69    </#list>  
70    <#assign fiCardsData = temp> 
71    <#if (fiCardsData?size > 0)> 
72        <div class="content-container content-container-main" title="${partnerName!''}"> 
73            <#if url?contains("index")> 
74                <#assign product="All Cards"> 
75                <header class="jn-header"> 
76                    <div class="header-logo">  
77 
78                        <#if partnerUrl?has_content> 
79                            <a href="${partnerUrl!''}" title="${partnerName!''}"> 
80                                <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''} Logo" title="${partnerName!''} Logo"> 
81                            </a> 
82                        <#else> 
83                            <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''} Logo" title="${partnerName!''} Logo"> 
84                        </#if> 
85                    </div>  
86                </header>         
87            <#else> 
88                <header class="jn-header"> 
89                    <div class="back-overview hide-desktop">  
90                        <a href="${environment}/11t3/index?ecdma-lc=${lc}${ecidExt}">Home</a> 
91                    </div>  
92 
93                    <div class="header-main-logo" title="${partnerName!''}"> 
94                        <#if partnerUrl?has_content> 
95                            <a href="${partnerUrl!''}" title="${partnerName!''}"> 
96                                <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''} Logo" title="${partnerName!''} Logo"> 
97                            </a> 
98                        <#else>                            
99                            <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''} Logo" title="${partnerName!''} Logo">                             
100                        </#if> 
101                    </div> 
102                    <div class="styled-select slate"> 
103                        <select> 
104                            <#list fiCardsData as fib>                             
105                                <#if (fib.offerType=="108" || fib.offerType=="109")> 
106                                    <#assign productURL="consumer-platinum2103"> 
107                                    <#assign productName="Platinum Card"> 
108                                <#elseif fib.offerType=="147"> 
109                                    <#assign productURL = "max-cash-secured"> 
110                                    <#assign productName = "Max Cash Secured Card" >   
111                                <#elseif fib.offerType=="104"> 
112                                    <#assign productURL = "max-cash"> 
113                                    <#assign productName = "Max Cash Preferred Card">                                   
114                                <#elseif (fib.offerType=="101" || fib.offerType=="103")> 
115                                    <#assign productURL = "consumer-edr2112"> 
116                                    <#assign productName = "Everyday Rewards+">                                        
117                                <#elseif fib.offerType == "115"> 
118                                    <#assign productURL = "secured"> 
119                                    <#assign productName = "Secured Card" > 
120                                <#elseif fib.offerType == "141"> 
121                                    <#assign productURL = "college-real-rewards"> 
122                                    <#assign productName = "College Real Rewards" >   
123                                <#elseif fib.offerType == "144"> 
124                                    <#assign productURL = "smart-business-rewards"> 
125                                    <#assign productName = "Smart Business Rewards Card" >                                         
126                                <#elseif fib.offerType == "128"> 
127                                    <#assign productURL = "business-cash-preferred"> 
128                                    <#assign productName = "Business Cash Preferred" > 
129                                <#elseif fib.offerType == "143"> 
130                                    <#assign productURL = "business-real-rewards"> 
131                                    <#assign productName = "Business Real Rewards Card" > 
132                                <#elseif fib.offerType == "121"> 
133                                    <#assign productURL = "business-platinum2103"> 
134                                    <#assign productName = "Business Card" > 
135                                </#if> 
136                                <#if url?matches(".*/${productURL}.*")>                                                   
137                                    <#assign product = productURL> 
138                                    <option value="${environment}/11t3/${productURL}?ecdma-lc=${lc}${ecidExt}" selected="selected">${productName}</option>                                     
139                                <#else>  
140                                    <option value="${environment}/11t3/${productURL}?ecdma-lc=${lc}${ecidExt}">${productName}</option>                               
141                                </#if> 
142                            </#list> 
143                        </select> 
144                        <nav class="styled-select__dropdown"> 
145                            <div class="back-overview hide-mobile">  
146                                <a href="${environment}/11t3/index?ecdma-lc=${lc}${ecidExt}">Home</a> 
147                            </div>   
148                            <a href="javascript:void(0)" class="dropdown-select" aria-expanded="false"> 
149                                <span class="selected-option"></span>  
150                                <div class="jn-arrow arrow arrow-right"></div> 
151                            </a> 
152                            <a href="javascript:void(0)" class="jn-hamburger hamburger" aria-expanded="false"> 
153                                <div class="first-line transform transformed1"></div> 
154                                <div></div> 
155                                <div class="transform transformed2"></div> 
156                                <div></div> 
157                            </a> 
158                            <ul> 
159                                <#list fiCardsData as fib> 
160                                    <#if (fib.offerType=="108" || fib.offerType=="109")> 
161                                        <#assign productURL="consumer-platinum2103"> 
162                                        <#assign productName="Platinum Card"> 
163                                    <#elseif fib.offerType=="147"> 
164                                        <#assign productURL = "max-cash-secured"> 
165                                        <#assign productName = "Max Cash Secured Card" >   
166                                    <#elseif fib.offerType=="104"> 
167                                        <#assign productURL = "max-cash"> 
168                                        <#assign productName = "Max Cash Preferred Card">                                  
169                                    <#elseif (fib.offerType=="101" || fib.offerType=="103")> 
170                                        <#assign productURL = "consumer-edr2112"> 
171                                        <#assign productName = "Everyday Rewards+">                                        
172                                    <#elseif fib.offerType == "115"> 
173                                        <#assign productURL = "secured"> 
174                                        <#assign productName = "Secured Card" > 
175                                    <#elseif fib.offerType == "141"> 
176                                        <#assign productURL = "college-real-rewards"> 
177                                        <#assign productName = "College Real Rewards" >   
178                                    <#elseif fib.offerType == "144"> 
179                                        <#assign productURL = "smart-business-rewards"> 
180                                        <#assign productName = "Smart Business Rewards Card" >                                         
181                                    <#elseif fib.offerType == "128"> 
182                                        <#assign productURL = "business-cash-preferred"> 
183                                        <#assign productName = "Business Cash Preferred" > 
184                                    <#elseif fib.offerType == "143"> 
185                                        <#assign productURL = "business-real-rewards"> 
186                                        <#assign productName = "Business Real Rewards Card" > 
187                                    <#elseif fib.offerType == "121"> 
188                                        <#assign productURL = "business-platinum2103"> 
189                                        <#assign productName = "Business Card" > 
190                                    </#if> 
191                                    <#if url?matches(".*/${productURL}.*")> 
192                                        <#assign product = productURL> 
193                                        <#if (fib.offerType=="104" && url?contains("max-cash-secured"))>    
194                                            <#-- prevent from max cash overiding max cash secured. --> 
195                                            <li class="dropdown-item" data-value="${productName}"> 
196                                                <a href="${environment}/11t3/${productURL}?ecdma-lc=${lc}${ecidExt}"> 
197                                                ${productName}  
198                                                </a> 
199                                            </li>  
200                                        <#else>  
201                                            <li class="selected" data-value="${productName}" selected="selected"><a href="javascript:void(0)">${productName}</a></li> 
202                                        </#if> 
203                                    <#else>                                 
204                                        <li class="dropdown-item" data-value="${productName}"> 
205                                            <a href="${environment}/11t3/${productURL}?ecdma-lc=${lc}${ecidExt}"> 
206                                            ${productName}  
207                                            </a> 
208                                        </li>                                    
209                                    </#if> 
210                                </#list> 
211                            </ul> 
212                        </nav> 
213                         
214                    </div> 
215                </header> 
216                <script> 
217                    function toggleFlyOutMenu() { 
218                        $('.styled-select').toggleClass('show-select'); 
219                        var ariaExpanded = $('.styled-select__dropdown .dropdown-select').attr('aria-expanded'); 
220                        if(ariaExpanded !== null) { 
221                            var isAriaExpanded; 
222                            if(ariaExpanded === "true") { 
223                                isAriaExpanded = true; 
224                            } else {  
225                                isAriaExpanded = false  
226
227                            $('.styled-select__dropdown .dropdown-select').attr('aria-expanded', !isAriaExpanded); 
228                            $('.styled-select__dropdown .jn-hamburger').attr('aria-expanded', !isAriaExpanded); 
229
230
231                    document.addEventListener('DOMContentLoaded', function() { 
232                        var pageSelected = $('.selected').attr('data-value'); 
233                        $('.jn-hamburger, .dropdown-select').click(function () { 
234                            toggleFlyOutMenu(); 
235                        }); 
236                        $('.styled-select__dropdown').keydown(function(event) { 
237                            var firstNavigationLink = $('.styled-select__dropdown ul li:visible a').first(); 
238                            var lastNavigationLink = $('.styled-select__dropdown ul li:visible a').last(); 
239 
240                            if(event.keyCode === 9 ) { 
241                                // if they tab outside of the nav close the navigation 
242                                //shift + tab pressed 
243                                if(event.shiftKey && firstNavigationLink.is(document.activeElement)) { 
244                                    toggleFlyOutMenu(); 
245                                } else if(!event.shiftKey && lastNavigationLink.is(document.activeElement)) { 
246                                    toggleFlyOutMenu(); 
247                                }                             
248
249                        }); 
250                        $('.selected-option').text(pageSelected); 
251                    }); 
252                </script>            
253            </#if> 
254        </div> 
255        <script> 
256                     var reportingData = {}; 
257                                                             
258                 document.addEventListener('DOMContentLoaded', function() { 
259                    //console.log('inside ready'); 
260                    var page = location.pathname.split('/')[location.pathname.split('/').length-1]; 
261                    var hostName = location.hostname;                                 
262                    function getDomainFromHostname(hostname) { 
263                        var parts = hostname.split('.'); 
264                        return parts.length === 3 ? parts[1] : parts[0]; 
265
266                    var domain = getDomainFromHostname(hostName); 
267                    var partnerName = "${partnerName!''}"; 
268                    var product = "All Cards"; 
269                    switch(page) { 
270                        case "max-cash-secured": 
271                            product="Max Cash Secured Card" 
272                            break;  
273                        case "max-cash": 
274                            product="Max Cash Preferred Card" 
275                            break;                         
276                        case "consumer-platinum2103": 
277                            product="Platinum Card" 
278                            break; 
279                        case "consumer-edr2112": 
280                            product="Everyday Rewards+" 
281                            break; 
282                        case "secured": 
283                            product="Secured Card" 
284                            break; 
285                        case "college-real-rewards": 
286                            product="College Real Rewards" 
287                            break; 
288                        case "smart-business-rewards": 
289                            product="Smart Business Rewards Card" 
290                            break;                             
291                        case "business-cash-preferred": 
292                            product="Business Cash Preferred" 
293                            break; 
294                        case "business-real-rewards": 
295                            product="Business Real Rewards Card" 
296                            break; 
297                        case "visa-business": 
298                            product="Business Card" 
299                            break; 
300                        default:   
301                            product = "All Cards";                           
302
303                    var lc = "${lc!'0'}"; 
304                    var pageType = "product"; 
305                    if (page == "index") { 
306                        document.title = partnerName + " Credit Card Index Page"; 
307                    }  
308                    /* update SiteCatalyst data object */ 
309                        reportingData.current_page = "microsite:${partnerName}:" + domain + ':' + page.replace('-',' '); 
310                        reportingData.page_type = 'product';  
311                        reportingData.site_section = 'credit cards'; 
312                        reportingData.platform = 'microsite'; 
313                        reportingData.campaign_id = '${campaignId}'; 
314                        reportingData.location_code = lc; 
315                        reportingData.partner_name = partnerName; 
316                        reportingData.product = product; 
317                        reportingData.text_to_apply_source = '${text_to_apply_source}'; 
318                        reportingData.visitor_type = 'prospect';         
319                        reportingData.Banker_id = '0'; 
320                        reportingData.Banker_code = '0';        
321 
322 
323                    /* SiteCatalyst  pageView tracking */ 
324                        AUI().ready(function() { 
325                            if (window.publisherFW) { 
326                                //console.log("pageView"); 
327                                window.publisherFW.publishEvent("pageView", reportingData); 
328                            }  
329                        }); 
330 
331                    jQuery('.jn-button, .applyNowLink').on('click', function(e){ 
332                        var buttonName = $(this).data('button-name'); 
333                        var productName = $(this).data('product-name'); 
334                        /* SiteCatalyst  onClick tracking */ 
335                        reportingData.applyButton = buttonName; 
336                        reportingData.product = productName; 
337 
338                            if (window.publisherFW) { 
339                                //console.log('clicked', reportingData); 
340                                window.publisherFW.publishEvent("onClick", reportingData); 
341                            }   
342 
343                    }); 
344 
345                    jQuery('.applyNowLink').on('click', function(e){ 
346                        ga("send", { 
347                            hitType: "event", 
348                            eventAction: "ApplyNow", 
349                            eventCategory: "click", 
350                            eventLabel: "BottomButton" 
351                        }); 
352                    }); 
353             
354                }); 
355        </script>    
356    <#else> 
357        <script> 
358            console.log("Empty card list"); 
359            location.href = '${url404}'; 
360        </script> 
361    </#if>    
362<#else> 
363    <script> 
364        console.log("FI Cards Data empty", "pbu:", "${pbu}", ",subbu:","${subbu}"); 
365        location.href = '${url404}'; 
366    </script> 
367</#if> 

Web Content Display

An error occurred while processing the template.
Expression qstringmap["ecdma-lc"] is undefined on line 9, column 14 in 10154#10192#153417688.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
5<#assign url404 = '/error/404.html'> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7<#assign currentEnvironment = 'prod' > 
8 
9<#assign lc= qstringmap["ecdma-lc"]?first>   
10<#assign prefix = "00000" > 
11<#assign lcWithPrefix = prefix + lc > 
12<#assign withPrefixLength = lcWithPrefix?length > 
13<#assign startHere = withPrefixLength - 5> 
14<#assign lc = lcWithPrefix?substring(startHere)> 
15 
16 
17<#if qstringmap["ecid"]?has_content> 
18    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
19<#else> 
20    <#assign ecidExt=""> 
21</#if> 
22<#if oadURL?contains("uat-")> 
23    <#assign oadURL_TC = 'https://uat-online1.elancard.com/oad/terms.controller' > 
24    <#assign currentEnvironment = 'uat' > 
25<#else> 
26    <#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
27</#if> 
28    <script> 
29        //console.log('%ccurrentEnvironment: ', 'font-weight: bold; color: green;', '${currentEnvironment}'); 
30    </script> 
31<#assign campaignId = "" > 
32<#assign ecidExt=""> 
33<#if qstringmap["ecid"]?has_content> 
34    <#assign campaignId = qstringmap["ecid"]?first > 
35    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
36</#if> 
37 
38<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
39<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
40<#assign clientProfile = clientProfileList?first> 
41<#assign partnerName = clientProfile.getMarketingNameLong()> 
42<#assign pbu = clientProfile.getPbu()> 
43<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
44<#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
45 
46<#assign fiCardsData=utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu + '&'+subbu)> 
47<#assign temp = []> 
48<#assign consumerCards = []> 
49<#assign businessCards = []>  
50<#assign offerTypeList = []>       
51<#assign index = 0> 
52<#assign consumerOfferTypes = ["101", "103", "108", "109", "115", "104", "141", "147"]> 
53<#assign businessOfferTypes = ["128", "123", "121", "143", "144"]> 
54<#list fiCardsData as fib>  
55    <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))> 
56        <#assign offerTypeList = offerTypeList + [fib.offerType]>  
57        <#if (consumerOfferTypes?seq_contains(fib.offerType))> 
58            <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
59        <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
60            <#assign businessCards = businessCards + fiCardsData[index..index]> 
61        </#if>                            
62        <#assign temp = temp + fiCardsData[index..index]>  
63    </#if>   
64    <#assign index = index + 1>               
65</#list>  
66 
67<#assign fiCardsData = temp> 
68 <script> 
69    //console.log("fi card data count", ${fiCardsData?size}) 
70</script> 
71 
72<#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
73<#if (clientdata?size > 0)> 
74    <#assign backgroundColor = clientdata[0].backgroundHexColor>               
75</#if> 
76 
77<#if (fiCardsData?size > 0)>    
78    <#if url?contains("index")>                    
79        <#assign offerId = ""> 
80        <#assign sourceCode = ""> 
81        <#assign cardArtImage = ""> 
82        <#assign productUrlHero = ""> 
83        <#assign product = ""> 
84        <#assign cardIndex = 0> 
85        <#if (class.getData() == "landing-consumer" && consumerCards?size > 0)> 
86            <#if (offerTypeList?seq_contains("108")) ||  (offerTypeList?seq_contains("109"))> 
87							<#list consumerCards as card> 
88								<#if (card.offerType=="108") || (card.offerType=="109")> 
89									<#assign offerId = card.offerId> 
90									<#assign sourceCode = card.sourceCode> 
91									<#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
92									<#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
93 
94									<#assign productUrlHero="consumer-edr2112"> 
95									<#assign product="Platinum"> 
96									<#assign cardIndex = 3> 
97									<#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&' + sourceCode)> 
98									<#if (scrapedData?size > 0)> 
99										<#list scrapedData as sItem> 
100										<script> 
101											console.log('Label: ${sItem.scrapedLabel!''}, Content: ${sItem.scrapedValue!''}'); 
102										</script> 
103											<#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
104												<#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
105												<#break> 
106											</#if> 
107										</#list> 
108										<script> 
109											$(document).ready(function () { 
110												var aprText = "${apr}"; 
111												console.log('aprText: ${aprText!''}'); 
112												if (aprText) { 
113													$(".apr-full-text").html(aprText); 
114													try { 
115														var matches= aprText.match(/\d+(\.\d+)?%?/g); 
116														var billing_cycle = matches[1]; 
117														var apr_min = apr_min = matches[2]; 
118														var apr_max = apr_max = matches[3]; 
119														//console.log('billing_cycle', billing_cycle); 
120														//console.log('apr_min', apr_min); 
121														//console.log('apr_max', apr_max); 
122														if (billing_cycle) { 
123															//console.log($(".scraped-billing-cycle")); 
124															$(".scraped-billing-cycle").html(billing_cycle); 
125
126														if (apr_min) { 
127															$(".scraped-apr-min").html(apr_min); 
128
129														if (apr_max) { 
130															$('.scraped-apr-max').html(apr_max); 
131
132 
133													} catch (e) { 
134														console.log(e); 
135
136
137											}); 
138										</script> 
139									</#if> 
140									<script> 
141										$(document).ready(function () { 
142											$(".see-terms").replaceWith('<a href="${oadURL_TC}?step=display&offerId=${card.offerId}&locationCode=${lc}"  target="_blank"><span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions</a>'); 
143										}); 
144									</script> 
145								</#if> 
146							</#list> 
147            <#else> 
148                <#assign displayedCard = consumerCards[0]> 
149                <#assign offerId = displayedCard.offerId> 
150                <#assign sourceCode = displayedCard.sourceCode> 
151                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
152                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
153                <#if (displayedCard.offerType=="101" || displayedCard.offerType=="103")> 
154                    <#assign productUrlHero="consumer-edr2112"> 
155                    <#assign product="Everyday Rewards+"> 
156                    <#assign cardIndex = 3> 
157                <#elseif (displayedCard.offerType=="104")> 
158                    <#assign productUrlHero = "max-cash"> 
159                    <#assign product="Max Cash Preferred"> 
160                    <#assign cardIndex = 0> 
161                <#elseif (displayedCard.offerType=="115")> 
162                    <#assign productUrlHero = "secured"> 
163                    <#assign product="Secured"> 
164                    <#assign cardIndex = 3> 
165                </#if> 
166            </#if> 
167            <#if product?? && product != ""> 
168                <#assign card_text = product + " Card"> 
169            </#if>  
170        </#if> 
171        <#if (class.getData() == "landing-business" && businessCards?size > 0)> 
172            <#if (offerTypeList?seq_contains("144")) > 
173                <#list businessCards as card> 
174                    <#if (card.offerType=="128")> 
175                        <#assign offerId = card.offerId> 
176                        <#assign sourceCode = card.sourceCode> 
177                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
178                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
179 
180                        <#assign productUrlHero="business-cash-preferred"> 
181                        <#assign product="Business Cash Preferred"> 
182                        <#assign cardIndex = 1> 
183                    </#if> 
184                </#list> 
185            <#else> 
186                <#assign displayedCard = businessCards[0]> 
187                <#assign offerId = displayedCard.offerId> 
188                <#assign sourceCode = displayedCard.sourceCode> 
189                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
190                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
191                <#if (displayedCard.offerType=="143")> 
192                    <#assign productUrlHero="business-real-rewards"> 
193                    <#assign product="Business Real Rewards"> 
194                    <#assign cardIndex = 2> 
195                <#elseif (displayedCard.offerType=="128")> 
196                    <#assign productUrlHero="business-cash-preferred"> 
197                    <#assign product="Business Cash Preferred"> 
198                    <#assign cardIndex = 1> 
199                <#elseif (displayedCard.offerType=="121")> 
200                    <#assign productUrlHero = "business-platinum2103"> 
201                    <#assign product="Business"> 
202                    <#assign cardIndex = 3>                     
203                </#if> 
204            </#if> 
205            <#if product?? && product != ""> 
206                <#assign card_text = product + " Card"> 
207            </#if>  
208        </#if> 
209			   
210 
211            <div class="hero-container product-${productUrlHero} tier3-hero-${class.getData()}"> 
212                <div class="hero-main"> 
213                    <div class="hero-main-container"> 
214                        <div class="hero-main-offer"> 
215                            <div class="offer-detail"> 
216                                <div class="offer-detail-cardArt cardArtImg"> 
217                                    <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
218                                    class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'">  
219                                    <#-- <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!'' }" 
220                                     class="jn-img-responsive">--> 
221                                    <p>${card_text!''}</p> 
222                                </div> 
223                                <div class="offer-detail-text text-color-default hide-desktop"> 
224                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                 
225                                </div> 
226                                <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer"  
227                                    class="jn-button hide-desktop btn" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}"                                    
228
229                                    ${productTitle.getSiblings()  [cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
230                                </a> 
231                            </div> 
232                            <div class="offer-header"> 
233                                <div class="offer-text-top"> 
234                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
235                                </div> 
236                                <div class="offer-text-bottom hide-mobile"> 
237                                    <div class="offer-detail-text text-color-default "> 
238                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                        
239                                    </div> 
240                                    <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer"  
241                                    class="jn-button" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
242
243                                        ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
244                                    </a> 
245                                </div> 
246                            </div>                           
247                        </div> 
248                    </div> 
249                </div> 
250            </div> 
251    <#else>      
252        <#list fiCardsData as fib>     
253 
254            <#switch fib.offerType>               
255                <#case "144"> 
256                    <#assign cardIndex = 0 > 
257                    <#assign productUrlHero = "smart-business-rewards"> 
258                    <#assign product="Smart Business Rewards">                                          
259                    <#break> 
260                <#case "104"> 
261                    <#assign cardIndex = 0 > 
262                    <#assign productUrlHero="max-cash"> 
263                    <#assign product="Max Cash Preferred">                       
264                    <#break> 
265                <#case "128"> 
266                    <#assign cardIndex = 1 > 
267                    <#assign productUrlHero = "business-cash-preferred"> 
268                    <#assign product="Business Cash Preferred">                     
269                    <#break> 
270                <#case "108"> 
271                    <#assign cardIndex = 1 > 
272                    <#assign productUrlHero = "consumer-platinum2103"> 
273                    <#assign product="Platinum">                       
274                    <#break> 
275                <#case "109"> 
276                    <#assign cardIndex = 1 > 
277                    <#assign productUrlHero = "consumer-platinum2103"> 
278                    <#assign product="Platinum">                                           
279                    <#break>                                         
280                <#case "143"> 
281                    <#assign cardIndex = 2 > 
282                    <#assign productUrlHero = "business-real-rewards"> 
283                    <#assign product="Business Real Rewards">                     
284                    <#break> 
285                <#case "101"> 
286                    <#assign cardIndex = 3 > 
287                    <#assign productUrlHero = "consumer-edr2112"> 
288                    <#assign product="Everyday Rewards+">                     
289                    <#break>  
290                 <#case "141">                  
291                    <#assign cardIndex = 4 > 
292                    <#assign productUrlHero = "college-real-rewards"> 
293                    <#assign product = "College Real Rewards" >  
294                    <#break>  
295                <#case "147"> 
296                    <#assign cardIndex = 5 > 
297                    <#assign productUrlHero = "max-cash-secured"> 
298                    <#assign product = "Max Cash Secured" >  
299                    <#break>  
300                <#case "103">              
301                    <#assign cardIndex = 1 > 
302                    <#assign productUrlHero = "consumer-edr2112"> 
303                    <#assign product="Everyday Rewards+">                     
304                    <#break>                                          
305                <#case "121"> 
306                    <#assign cardIndex = 3 > 
307                    <#assign productUrlHero = "business-platinum2103"> 
308                    <#assign product="Business">                      
309                    <#break> 
310                <#case "115"> 
311                    <#assign cardIndex = 2 > 
312                    <#assign productUrlHero = "secured"> 
313                    <#assign product="Secured">                     
314                    <#break>                                          
315                <#default> 
316            </#switch>                          
317            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png">  
318            <#assign cardArtImageAlt = cdnCardArtUrl + "/" + fib.filename + ".jpg">   
319             
320            <script> 
321               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero}")                         
322            </script> 
323             
324                                    
325            <#if fib.offerType == "104" && url?contains("max-cash-secured")>  
326                 <#-- For max cash securded card. so that max cash secured dose not get set to max cash header -->                            
327            <#elseif url?matches(".*/${productUrlHero}.*")>  
328                 
329                <#if (fib.offerType=="108" || fib.offerType=="109" || fib.offerType == "121")> 
330 
331                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', '${fib.offerId}' + '&'+ '${fib.sourceCode}')> 
332                    <#if (scrapedData?size > 0)> 
333                            <#list scrapedData as sItem> 
334                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
335                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
336                                    <#break> 
337                                </#if> 
338 
339                            </#list> 
340                                            <script> 
341                </script> 
342                            <script> 
343                                $(document).ready(function () { 
344                                    var aprText = "${apr}"; 
345                                    console.log('aprText',aprText); 
346                                    if (aprText) { 
347                                      $(".apr-full-text").html(aprText); 
348                                        try { 
349                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
350                                            var billing_cycle = matches[1]; 
351                                            var apr_min = apr_min = matches[2]; 
352                                            var apr_max = apr_max = matches[3]; 
353                                            //console.log('billing_cycle', billing_cycle); 
354                                            //console.log('apr_min', apr_min); 
355                                            //console.log('apr_max', apr_max); 
356                                            if (billing_cycle) { 
357                                                //console.log($(".scraped-billing-cycle")); 
358                                                $(".scraped-billing-cycle").html(billing_cycle); 
359
360                                            if (apr_min) { 
361                                                $(".scraped-apr-min").html(apr_min); 
362
363                                            if (apr_max) { 
364                                                $('.scraped-apr-max').html(apr_max); 
365
366 
367                                        } catch (e) { 
368                                            console.log(e); 
369
370
371                                }); 
372                            </script> 
373                    </#if>   
374                </#if>      
375                <#if product?? && product != ""> 
376                    <#assign card_text = product + " Card"> 
377                </#if>    
378                <script> 
379               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero}")                         
380            </script>     
381                <div class="hero-container ${class.getData()}"> 
382                    <div class="hero-main"> 
383                        <div class="hero-main-container"> 
384                            <div class="hero-main-offer"> 
385                                <div class="offer-detail"> 
386                                    <div class="offer-detail-cardArt cardArtImg"> 
387                                        <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
388                                        onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'" class="jn-img-responsive"> 
389                                        <p>${card_text!''}</p> 
390                                    </div> 
391                                    <div class="offer-detail-text text-color-default hide-desktop"> 
392                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
393                                        <#-- allow for all except these url --> 
394                                            <#if (!url?contains("business-real-rewards") && !url?contains("max-cash") && !url?contains("consumer-edr2112"))> 
395                                            <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank"> 
396                                                <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions 
397                                            </a> 
398                                        </#if> 
399                                        <#-- Allow only for these url --> 
400                                        <#if (url?contains("smart-business-rewards") || url?contains("business-real-rewards") || url?contains("max-cash") || url?contains("consumer-edr2112") || url?contains("business-cash-preferred"))> 
401                                            <#if !url?contains("max-cash-secured")> 
402                                                <a class="whiteLink" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
403                                            </#if> 
404                                        </#if> 
405                                    </div> 
406                                    <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
407                                        class="jn-button hide-desktop btn" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}"                                
408
409                                        ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
410                                    </a> 
411                                </div> 
412                                <div class="offer-header"> 
413                                    <div class="offer-text-top"> 
414                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
415                                    </div> 
416                                    <div class="offer-text-bottom hide-mobile"> 
417                                        <div class="offer-detail-text text-color-default "> 
418                                            ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
419                                            <#-- allow for all except these url --> 
420                                            <#if (!url?contains("business-real-rewards") && !url?contains("max-cash") && !url?contains("secured") && !url?contains("consumer-edr2112") && !url?contains("college-real-rewards") && !url?contains("business-cash-preferred"))> 
421                                                <a class="whiteLink" href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank"> 
422                                                    <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions 
423                                                </a> 
424                                            </#if> 
425                                        </div> 
426                                        <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
427                                        class="jn-button" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" > 
428                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
429                                        </a> 
430                                        <#-- Allow for these URLs--> 
431                                        <#if (url?contains("smart-business-rewards") || url?contains("business-real-rewards") || url?contains("max-cash") || url?contains("consumer-edr2112") || url?contains("business-cash-preferred"))> 
432                                            <#if !url?contains("max-cash-secured")> 
433                                                <a class="whiteLink" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
434                                            </#if> 
435                                        </#if> 
436                                    </div> 
437                                </div> 
438                                 
439                            </div> 
440                        </div> 
441                    </div> 
442                </div> 
443                <#break /> 
444            </#if> 
445        </#list>    
446 
447    </#if> 
448</#if> 
449 
450<script> 
451    AUI().ready(function(){ 
452        //The below script is there to add vertical card art in UAT only so that QA has an easier time auditing. Note that the script only applies to FI SouthState (location code 20419) which is currently the only bank with vertical card art at the moment  
453        var locationCodeParam = '${lc}'; 
454        var currentEnvironmentParam = '${currentEnvironment}'; 
455        if(locationCodeParam == '20419' && currentEnvironmentParam == 'uat'){ 
456            Array.prototype.slice.call(document.querySelectorAll('.cardArtImg')).map(function(e){e.firstElementChild.src = "https://39f6f821fa03de239594-9f1c16ccc3b26ce57656bb4af99947b6.ssl.cf2.rackcdn.com/f20cf80a-6aea-46ec-84fc-c2a6583773d9.png"}) 
457        }         
458    }); 
459</script> 
460<script> 
461    // Makes the Header subtitle work if there is two lines of text  
462    var consumerHeader = document.getElementsByClassName("landing-consumer")[0]; 
463    if(consumerHeader){ 
464        var consumerHeroContainer = consumerHeader.getElementsByClassName("hero-main-container")[0]; 
465        var consumerOfferHeader = consumerHeader.getElementsByClassName("offer-subtitle")[0]; 
466         
467        if(consumerOfferHeader.innerText.length >= 31 && consumerOfferHeader.innerText.length < 48){ 
468            //not two lines but the header on tablet gose outside of allocated space. 
469            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 60%, ${backgroundColor!'#173989'} 60%)"; 
470        } else if (consumerOfferHeader.innerText.length >= 48){ 
471            //two lines 
472            document.querySelector('.offer-text-top').style.marginTop = '0px'; 
473            document.querySelector('.offer-text-bottom').style.marginTop = '8px'; 
474            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 55%, ${backgroundColor!'#173989'} 55%)"; 
475
476
477 
478    var buisnessHeader = document.getElementsByClassName("tier3-hero-landing-business")[0]; 
479    if(buisnessHeader) { 
480        var buisnessHeroContainer = buisnessHeader.getElementsByClassName("hero-main-container")[0]; 
481        var buisnessOfferHeader = buisnessHeader.getElementsByClassName("offer-subtitle")[0]; 
482 
483        if(buisnessOfferHeader.innerText.length >= 31 && buisnessOfferHeader.innerText.length < 48){ 
484            //not two lines but the header on tablet gose outside of allocated space. 
485            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 40%, ${backgroundColor!'#173989'} 40%)"; 
486        } else if (buisnessOfferHeader.innerText.length >= 48){ 
487            //two lines 
488            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 45%, ${backgroundColor!'#173989'} 45%)"; 
489
490
491</script> 

Web Content Display

An error occurred while processing the template.
Expression qstringmap["ecdma-lc"] is undefined on line 9, column 14 in 10154#10192#153417688.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
5<#assign url404 = '/error/404.html'> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7<#assign currentEnvironment = 'prod' > 
8 
9<#assign lc= qstringmap["ecdma-lc"]?first>   
10<#assign prefix = "00000" > 
11<#assign lcWithPrefix = prefix + lc > 
12<#assign withPrefixLength = lcWithPrefix?length > 
13<#assign startHere = withPrefixLength - 5> 
14<#assign lc = lcWithPrefix?substring(startHere)> 
15 
16 
17<#if qstringmap["ecid"]?has_content> 
18    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
19<#else> 
20    <#assign ecidExt=""> 
21</#if> 
22<#if oadURL?contains("uat-")> 
23    <#assign oadURL_TC = 'https://uat-online1.elancard.com/oad/terms.controller' > 
24    <#assign currentEnvironment = 'uat' > 
25<#else> 
26    <#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
27</#if> 
28    <script> 
29        //console.log('%ccurrentEnvironment: ', 'font-weight: bold; color: green;', '${currentEnvironment}'); 
30    </script> 
31<#assign campaignId = "" > 
32<#assign ecidExt=""> 
33<#if qstringmap["ecid"]?has_content> 
34    <#assign campaignId = qstringmap["ecid"]?first > 
35    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
36</#if> 
37 
38<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
39<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
40<#assign clientProfile = clientProfileList?first> 
41<#assign partnerName = clientProfile.getMarketingNameLong()> 
42<#assign pbu = clientProfile.getPbu()> 
43<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
44<#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
45 
46<#assign fiCardsData=utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu + '&'+subbu)> 
47<#assign temp = []> 
48<#assign consumerCards = []> 
49<#assign businessCards = []>  
50<#assign offerTypeList = []>       
51<#assign index = 0> 
52<#assign consumerOfferTypes = ["101", "103", "108", "109", "115", "104", "141", "147"]> 
53<#assign businessOfferTypes = ["128", "123", "121", "143", "144"]> 
54<#list fiCardsData as fib>  
55    <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))> 
56        <#assign offerTypeList = offerTypeList + [fib.offerType]>  
57        <#if (consumerOfferTypes?seq_contains(fib.offerType))> 
58            <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
59        <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
60            <#assign businessCards = businessCards + fiCardsData[index..index]> 
61        </#if>                            
62        <#assign temp = temp + fiCardsData[index..index]>  
63    </#if>   
64    <#assign index = index + 1>               
65</#list>  
66 
67<#assign fiCardsData = temp> 
68 <script> 
69    //console.log("fi card data count", ${fiCardsData?size}) 
70</script> 
71 
72<#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
73<#if (clientdata?size > 0)> 
74    <#assign backgroundColor = clientdata[0].backgroundHexColor>               
75</#if> 
76 
77<#if (fiCardsData?size > 0)>    
78    <#if url?contains("index")>                    
79        <#assign offerId = ""> 
80        <#assign sourceCode = ""> 
81        <#assign cardArtImage = ""> 
82        <#assign productUrlHero = ""> 
83        <#assign product = ""> 
84        <#assign cardIndex = 0> 
85        <#if (class.getData() == "landing-consumer" && consumerCards?size > 0)> 
86            <#if (offerTypeList?seq_contains("108")) ||  (offerTypeList?seq_contains("109"))> 
87							<#list consumerCards as card> 
88								<#if (card.offerType=="108") || (card.offerType=="109")> 
89									<#assign offerId = card.offerId> 
90									<#assign sourceCode = card.sourceCode> 
91									<#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
92									<#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
93 
94									<#assign productUrlHero="consumer-edr2112"> 
95									<#assign product="Platinum"> 
96									<#assign cardIndex = 3> 
97									<#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&' + sourceCode)> 
98									<#if (scrapedData?size > 0)> 
99										<#list scrapedData as sItem> 
100										<script> 
101											console.log('Label: ${sItem.scrapedLabel!''}, Content: ${sItem.scrapedValue!''}'); 
102										</script> 
103											<#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
104												<#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
105												<#break> 
106											</#if> 
107										</#list> 
108										<script> 
109											$(document).ready(function () { 
110												var aprText = "${apr}"; 
111												console.log('aprText: ${aprText!''}'); 
112												if (aprText) { 
113													$(".apr-full-text").html(aprText); 
114													try { 
115														var matches= aprText.match(/\d+(\.\d+)?%?/g); 
116														var billing_cycle = matches[1]; 
117														var apr_min = apr_min = matches[2]; 
118														var apr_max = apr_max = matches[3]; 
119														//console.log('billing_cycle', billing_cycle); 
120														//console.log('apr_min', apr_min); 
121														//console.log('apr_max', apr_max); 
122														if (billing_cycle) { 
123															//console.log($(".scraped-billing-cycle")); 
124															$(".scraped-billing-cycle").html(billing_cycle); 
125
126														if (apr_min) { 
127															$(".scraped-apr-min").html(apr_min); 
128
129														if (apr_max) { 
130															$('.scraped-apr-max').html(apr_max); 
131
132 
133													} catch (e) { 
134														console.log(e); 
135
136
137											}); 
138										</script> 
139									</#if> 
140									<script> 
141										$(document).ready(function () { 
142											$(".see-terms").replaceWith('<a href="${oadURL_TC}?step=display&offerId=${card.offerId}&locationCode=${lc}"  target="_blank"><span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions</a>'); 
143										}); 
144									</script> 
145								</#if> 
146							</#list> 
147            <#else> 
148                <#assign displayedCard = consumerCards[0]> 
149                <#assign offerId = displayedCard.offerId> 
150                <#assign sourceCode = displayedCard.sourceCode> 
151                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
152                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
153                <#if (displayedCard.offerType=="101" || displayedCard.offerType=="103")> 
154                    <#assign productUrlHero="consumer-edr2112"> 
155                    <#assign product="Everyday Rewards+"> 
156                    <#assign cardIndex = 3> 
157                <#elseif (displayedCard.offerType=="104")> 
158                    <#assign productUrlHero = "max-cash"> 
159                    <#assign product="Max Cash Preferred"> 
160                    <#assign cardIndex = 0> 
161                <#elseif (displayedCard.offerType=="115")> 
162                    <#assign productUrlHero = "secured"> 
163                    <#assign product="Secured"> 
164                    <#assign cardIndex = 3> 
165                </#if> 
166            </#if> 
167            <#if product?? && product != ""> 
168                <#assign card_text = product + " Card"> 
169            </#if>  
170        </#if> 
171        <#if (class.getData() == "landing-business" && businessCards?size > 0)> 
172            <#if (offerTypeList?seq_contains("144")) > 
173                <#list businessCards as card> 
174                    <#if (card.offerType=="128")> 
175                        <#assign offerId = card.offerId> 
176                        <#assign sourceCode = card.sourceCode> 
177                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
178                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
179 
180                        <#assign productUrlHero="business-cash-preferred"> 
181                        <#assign product="Business Cash Preferred"> 
182                        <#assign cardIndex = 1> 
183                    </#if> 
184                </#list> 
185            <#else> 
186                <#assign displayedCard = businessCards[0]> 
187                <#assign offerId = displayedCard.offerId> 
188                <#assign sourceCode = displayedCard.sourceCode> 
189                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
190                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
191                <#if (displayedCard.offerType=="143")> 
192                    <#assign productUrlHero="business-real-rewards"> 
193                    <#assign product="Business Real Rewards"> 
194                    <#assign cardIndex = 2> 
195                <#elseif (displayedCard.offerType=="128")> 
196                    <#assign productUrlHero="business-cash-preferred"> 
197                    <#assign product="Business Cash Preferred"> 
198                    <#assign cardIndex = 1> 
199                <#elseif (displayedCard.offerType=="121")> 
200                    <#assign productUrlHero = "business-platinum2103"> 
201                    <#assign product="Business"> 
202                    <#assign cardIndex = 3>                     
203                </#if> 
204            </#if> 
205            <#if product?? && product != ""> 
206                <#assign card_text = product + " Card"> 
207            </#if>  
208        </#if> 
209			   
210 
211            <div class="hero-container product-${productUrlHero} tier3-hero-${class.getData()}"> 
212                <div class="hero-main"> 
213                    <div class="hero-main-container"> 
214                        <div class="hero-main-offer"> 
215                            <div class="offer-detail"> 
216                                <div class="offer-detail-cardArt cardArtImg"> 
217                                    <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
218                                    class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'">  
219                                    <#-- <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!'' }" 
220                                     class="jn-img-responsive">--> 
221                                    <p>${card_text!''}</p> 
222                                </div> 
223                                <div class="offer-detail-text text-color-default hide-desktop"> 
224                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                 
225                                </div> 
226                                <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer"  
227                                    class="jn-button hide-desktop btn" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}"                                    
228
229                                    ${productTitle.getSiblings()  [cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
230                                </a> 
231                            </div> 
232                            <div class="offer-header"> 
233                                <div class="offer-text-top"> 
234                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
235                                </div> 
236                                <div class="offer-text-bottom hide-mobile"> 
237                                    <div class="offer-detail-text text-color-default "> 
238                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                        
239                                    </div> 
240                                    <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer"  
241                                    class="jn-button" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
242
243                                        ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
244                                    </a> 
245                                </div> 
246                            </div>                           
247                        </div> 
248                    </div> 
249                </div> 
250            </div> 
251    <#else>      
252        <#list fiCardsData as fib>     
253 
254            <#switch fib.offerType>               
255                <#case "144"> 
256                    <#assign cardIndex = 0 > 
257                    <#assign productUrlHero = "smart-business-rewards"> 
258                    <#assign product="Smart Business Rewards">                                          
259                    <#break> 
260                <#case "104"> 
261                    <#assign cardIndex = 0 > 
262                    <#assign productUrlHero="max-cash"> 
263                    <#assign product="Max Cash Preferred">                       
264                    <#break> 
265                <#case "128"> 
266                    <#assign cardIndex = 1 > 
267                    <#assign productUrlHero = "business-cash-preferred"> 
268                    <#assign product="Business Cash Preferred">                     
269                    <#break> 
270                <#case "108"> 
271                    <#assign cardIndex = 1 > 
272                    <#assign productUrlHero = "consumer-platinum2103"> 
273                    <#assign product="Platinum">                       
274                    <#break> 
275                <#case "109"> 
276                    <#assign cardIndex = 1 > 
277                    <#assign productUrlHero = "consumer-platinum2103"> 
278                    <#assign product="Platinum">                                           
279                    <#break>                                         
280                <#case "143"> 
281                    <#assign cardIndex = 2 > 
282                    <#assign productUrlHero = "business-real-rewards"> 
283                    <#assign product="Business Real Rewards">                     
284                    <#break> 
285                <#case "101"> 
286                    <#assign cardIndex = 3 > 
287                    <#assign productUrlHero = "consumer-edr2112"> 
288                    <#assign product="Everyday Rewards+">                     
289                    <#break>  
290                 <#case "141">                  
291                    <#assign cardIndex = 4 > 
292                    <#assign productUrlHero = "college-real-rewards"> 
293                    <#assign product = "College Real Rewards" >  
294                    <#break>  
295                <#case "147"> 
296                    <#assign cardIndex = 5 > 
297                    <#assign productUrlHero = "max-cash-secured"> 
298                    <#assign product = "Max Cash Secured" >  
299                    <#break>  
300                <#case "103">              
301                    <#assign cardIndex = 1 > 
302                    <#assign productUrlHero = "consumer-edr2112"> 
303                    <#assign product="Everyday Rewards+">                     
304                    <#break>                                          
305                <#case "121"> 
306                    <#assign cardIndex = 3 > 
307                    <#assign productUrlHero = "business-platinum2103"> 
308                    <#assign product="Business">                      
309                    <#break> 
310                <#case "115"> 
311                    <#assign cardIndex = 2 > 
312                    <#assign productUrlHero = "secured"> 
313                    <#assign product="Secured">                     
314                    <#break>                                          
315                <#default> 
316            </#switch>                          
317            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png">  
318            <#assign cardArtImageAlt = cdnCardArtUrl + "/" + fib.filename + ".jpg">   
319             
320            <script> 
321               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero}")                         
322            </script> 
323             
324                                    
325            <#if fib.offerType == "104" && url?contains("max-cash-secured")>  
326                 <#-- For max cash securded card. so that max cash secured dose not get set to max cash header -->                            
327            <#elseif url?matches(".*/${productUrlHero}.*")>  
328                 
329                <#if (fib.offerType=="108" || fib.offerType=="109" || fib.offerType == "121")> 
330 
331                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', '${fib.offerId}' + '&'+ '${fib.sourceCode}')> 
332                    <#if (scrapedData?size > 0)> 
333                            <#list scrapedData as sItem> 
334                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
335                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
336                                    <#break> 
337                                </#if> 
338 
339                            </#list> 
340                                            <script> 
341                </script> 
342                            <script> 
343                                $(document).ready(function () { 
344                                    var aprText = "${apr}"; 
345                                    console.log('aprText',aprText); 
346                                    if (aprText) { 
347                                      $(".apr-full-text").html(aprText); 
348                                        try { 
349                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
350                                            var billing_cycle = matches[1]; 
351                                            var apr_min = apr_min = matches[2]; 
352                                            var apr_max = apr_max = matches[3]; 
353                                            //console.log('billing_cycle', billing_cycle); 
354                                            //console.log('apr_min', apr_min); 
355                                            //console.log('apr_max', apr_max); 
356                                            if (billing_cycle) { 
357                                                //console.log($(".scraped-billing-cycle")); 
358                                                $(".scraped-billing-cycle").html(billing_cycle); 
359
360                                            if (apr_min) { 
361                                                $(".scraped-apr-min").html(apr_min); 
362
363                                            if (apr_max) { 
364                                                $('.scraped-apr-max').html(apr_max); 
365
366 
367                                        } catch (e) { 
368                                            console.log(e); 
369
370
371                                }); 
372                            </script> 
373                    </#if>   
374                </#if>      
375                <#if product?? && product != ""> 
376                    <#assign card_text = product + " Card"> 
377                </#if>    
378                <script> 
379               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero}")                         
380            </script>     
381                <div class="hero-container ${class.getData()}"> 
382                    <div class="hero-main"> 
383                        <div class="hero-main-container"> 
384                            <div class="hero-main-offer"> 
385                                <div class="offer-detail"> 
386                                    <div class="offer-detail-cardArt cardArtImg"> 
387                                        <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
388                                        onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'" class="jn-img-responsive"> 
389                                        <p>${card_text!''}</p> 
390                                    </div> 
391                                    <div class="offer-detail-text text-color-default hide-desktop"> 
392                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
393                                        <#-- allow for all except these url --> 
394                                            <#if (!url?contains("business-real-rewards") && !url?contains("max-cash") && !url?contains("consumer-edr2112"))> 
395                                            <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank"> 
396                                                <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions 
397                                            </a> 
398                                        </#if> 
399                                        <#-- Allow only for these url --> 
400                                        <#if (url?contains("smart-business-rewards") || url?contains("business-real-rewards") || url?contains("max-cash") || url?contains("consumer-edr2112") || url?contains("business-cash-preferred"))> 
401                                            <#if !url?contains("max-cash-secured")> 
402                                                <a class="whiteLink" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
403                                            </#if> 
404                                        </#if> 
405                                    </div> 
406                                    <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
407                                        class="jn-button hide-desktop btn" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}"                                
408
409                                        ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
410                                    </a> 
411                                </div> 
412                                <div class="offer-header"> 
413                                    <div class="offer-text-top"> 
414                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
415                                    </div> 
416                                    <div class="offer-text-bottom hide-mobile"> 
417                                        <div class="offer-detail-text text-color-default "> 
418                                            ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
419                                            <#-- allow for all except these url --> 
420                                            <#if (!url?contains("business-real-rewards") && !url?contains("max-cash") && !url?contains("secured") && !url?contains("consumer-edr2112") && !url?contains("college-real-rewards") && !url?contains("business-cash-preferred"))> 
421                                                <a class="whiteLink" href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank"> 
422                                                    <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions 
423                                                </a> 
424                                            </#if> 
425                                        </div> 
426                                        <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
427                                        class="jn-button" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" > 
428                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
429                                        </a> 
430                                        <#-- Allow for these URLs--> 
431                                        <#if (url?contains("smart-business-rewards") || url?contains("business-real-rewards") || url?contains("max-cash") || url?contains("consumer-edr2112") || url?contains("business-cash-preferred"))> 
432                                            <#if !url?contains("max-cash-secured")> 
433                                                <a class="whiteLink" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
434                                            </#if> 
435                                        </#if> 
436                                    </div> 
437                                </div> 
438                                 
439                            </div> 
440                        </div> 
441                    </div> 
442                </div> 
443                <#break /> 
444            </#if> 
445        </#list>    
446 
447    </#if> 
448</#if> 
449 
450<script> 
451    AUI().ready(function(){ 
452        //The below script is there to add vertical card art in UAT only so that QA has an easier time auditing. Note that the script only applies to FI SouthState (location code 20419) which is currently the only bank with vertical card art at the moment  
453        var locationCodeParam = '${lc}'; 
454        var currentEnvironmentParam = '${currentEnvironment}'; 
455        if(locationCodeParam == '20419' && currentEnvironmentParam == 'uat'){ 
456            Array.prototype.slice.call(document.querySelectorAll('.cardArtImg')).map(function(e){e.firstElementChild.src = "https://39f6f821fa03de239594-9f1c16ccc3b26ce57656bb4af99947b6.ssl.cf2.rackcdn.com/f20cf80a-6aea-46ec-84fc-c2a6583773d9.png"}) 
457        }         
458    }); 
459</script> 
460<script> 
461    // Makes the Header subtitle work if there is two lines of text  
462    var consumerHeader = document.getElementsByClassName("landing-consumer")[0]; 
463    if(consumerHeader){ 
464        var consumerHeroContainer = consumerHeader.getElementsByClassName("hero-main-container")[0]; 
465        var consumerOfferHeader = consumerHeader.getElementsByClassName("offer-subtitle")[0]; 
466         
467        if(consumerOfferHeader.innerText.length >= 31 && consumerOfferHeader.innerText.length < 48){ 
468            //not two lines but the header on tablet gose outside of allocated space. 
469            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 60%, ${backgroundColor!'#173989'} 60%)"; 
470        } else if (consumerOfferHeader.innerText.length >= 48){ 
471            //two lines 
472            document.querySelector('.offer-text-top').style.marginTop = '0px'; 
473            document.querySelector('.offer-text-bottom').style.marginTop = '8px'; 
474            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 55%, ${backgroundColor!'#173989'} 55%)"; 
475
476
477 
478    var buisnessHeader = document.getElementsByClassName("tier3-hero-landing-business")[0]; 
479    if(buisnessHeader) { 
480        var buisnessHeroContainer = buisnessHeader.getElementsByClassName("hero-main-container")[0]; 
481        var buisnessOfferHeader = buisnessHeader.getElementsByClassName("offer-subtitle")[0]; 
482 
483        if(buisnessOfferHeader.innerText.length >= 31 && buisnessOfferHeader.innerText.length < 48){ 
484            //not two lines but the header on tablet gose outside of allocated space. 
485            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 40%, ${backgroundColor!'#173989'} 40%)"; 
486        } else if (buisnessOfferHeader.innerText.length >= 48){ 
487            //two lines 
488            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 45%, ${backgroundColor!'#173989'} 45%)"; 
489
490
491</script> 

Web Content Display

An error occurred while processing the template.
Expression qstringmap["ecdma-lc"] is undefined on line 13, column 14 in 10154#10192#155407401.
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign url = request.attributes.CURRENT_URL > 
4<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
5<#assign environment = url?replace('/index.*','','r')> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7 
8<script> 
9var currentUrl = '${url}'; 
10 
11</script> 
12 
13<#assign lc= qstringmap["ecdma-lc"]?first>   
14<#assign prefix = "00000" > 
15<#assign lcWithPrefix = prefix + lc > 
16<#assign withPrefixLength = lcWithPrefix?length > 
17<#assign startHere = withPrefixLength - 5> 
18<#assign lc = lcWithPrefix?substring(startHere)> 
19 
20 
21<#if qstringmap["ecid"]?has_content> 
22    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
23<#else> 
24    <#assign ecidExt=""> 
25</#if> 
26 
27<#if oadURL?contains("uat-")> 
28    <#assign oadURL_TC = 'https://uat-online1.elancard.com/oad/terms.controller' > 
29<#else> 
30    <#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
31</#if> 
32 
33 
34<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
35<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
36<#assign clientProfile = clientProfileList?first> 
37<#assign partnerName = clientProfile.getMarketingNameLong()> 
38<#assign pbu = clientProfile.getPbu()> 
39<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
40<script> 
41 //console.log('pbu:', "${pbu}", 'subbu:', '${subbu}'); 
42</script> 
43<#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
44 
45<#if qstringmap["ecid"]?has_content> 
46    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
47    <#assign campaignId = qstringmap["ecid"]?first > 
48<#else> 
49    <#assign ecidExt=""> 
50    <#assign campaignId = "" > 
51</#if> 
52 
53<#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu +'&'+subbu)>  
54<#-- filter duplicated cards--> 
55<#assign consumerCards = []> 
56<#assign businessCards = []>  
57<#assign offerTypeList = []>  
58<#assign consumerOfferTypes =['104', '101', '108', '109', '115', '141','147']> 
59<#assign businessOfferTypes =['144', '128', '143', '121', '123']>      
60<#assign index = 0> 
61<#list fiCardsData as fib> 
62    <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>   
63        <#assign offerTypeList = offerTypeList + [fib.offerType]>     
64        <#if consumerOfferTypes?seq_contains(fib.offerType)> 
65            <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
66        <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
67            <#assign businessCards = businessCards + fiCardsData[index..index]> 
68        </#if>                  
69    </#if>  
70    <#assign index = index + 1>                
71</#list>  
72 
73<#if ((consumerCards?size > 0) || (businessCards?size > 0))> 
74    <div class="content-container content-container-main jn-consumer-content"> 
75        <#if ((consumerCards?size > 0) && (businessCards?size > 0))> 
76            <nav class="jn-primary-nav two-tabs"> 
77                <ul> 
78                    <li title="${partnerName!''} - Personal products"> 
79                        <a href="#" class="tab-nav active" id="consumerTab"><span>Personal</span></a> 
80                    </li> 
81                    <li title="${partnerName!''} - Business products"> 
82                        <a href="#" class="tab-nav" id="businessTab"><span>Business</span></a> 
83                    </li> 
84                </ul> 
85            </nav> 
86        <#else> 
87            <#if (consumerCards?size > 0)> 
88                <nav class="jn-primary-nav" title="${partnerName!''} - Personal products"> 
89                    <ul> 
90                        <li> 
91                            <p class="tab-nav" id="consumerTab"><span>Personal</span></p> 
92                        </li> 
93                    </ul> 
94                </nav> 
95            </#if> 
96            <#if (businessCards?size > 0)> 
97                <nav class="jn-primary-nav" title="${partnerName!''} - Business products"> 
98                    <ul> 
99                        <li> 
100                            <p class="tab-nav" id="businessTab"><span>Business</span></p> 
101                        </li> 
102                    </ul> 
103                </nav> 
104            </#if> 
105        </#if> 
106        <#if (consumerCards?size > 0)> 
107            <div class="tab-more-wrapper">   
108                <div class="jn-consumer-content-wrapper jn-tab-content active transition-start" data-id="consumerTab" title="${partnerName!''} - Personal products"> 
109                     
110                    <#list consumerCards as fib>    
111                            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png" > 
112                            <#assign cardArtImageAlt = cdnCardArtUrl + "/" + fib.filename + ".jpg" > 
113                            <#switch fib.offerType> 
114                                <#case "101"> 
115                                    <#assign productName = "consumer-edr2112"> 
116                                    <#assign product="Everyday Rewards+"> 
117                                    <#assign cardIndex = 0> 
118                                    <#break> 
119                                <#case "108"> 
120                                    <#assign productName = "consumer-platinum2103"> 
121                                    <#assign product="Platinum"> 
122                                    <#assign cardIndex = 2> 
123                                    <#break> 
124                                <#case "109"> 
125                                    <#assign productName = "consumer-platinum2103"> 
126                                    <#assign product="Platinum"> 
127                                    <#assign cardIndex = 2> 
128                                    <#break>                                            
129                                <#case "115"> 
130                                    <#assign productName = "secured"> 
131                                    <#assign product="Secured"> 
132                                    <#assign cardIndex = 5> 
133                                    <#break> 
134                                <#case "104"> 
135                                    <#assign productName = "max-cash"> 
136                                    <#assign product="Max Cash Preferred"> 
137                                    <#assign cardIndex = 1> 
138                                    <#break> 
139                                <#case "147"> 
140                                    <#assign productName = "max-cash-secured"> 
141                                    <#assign product="Max Cash Secured"> 
142                                    <#assign cardIndex = 4> 
143                                    <#break> 
144                                <#case "141"> 
145                                    <#assign productName = "college-real-rewards"> 
146                                    <#assign product="College Real Rewards"> 
147                                    <#assign cardIndex = 3> 
148                                    <#break> 
149                                <#default> 
150                            </#switch> 
151                            <#assign titleText = consumerTitle.getSiblings()[cardIndex].Title.getData()> 
152                            <#assign titleText = titleText?replace('<[^>]+>','','r')> 
153                            <#assign APR=""> 
154                            <#assign AMF=""> 
155                            <#assign BAL=""> 
156                            <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', fib.offerId + '&'+ fib.sourceCode)> 
157                            <#if (scrapedData?size > 0)> 
158                                <#list scrapedData as sItem> 
159                                    <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
160                                        <#assign APR = sItem.scrapedValue>                                    
161                                    <#elseif ((sItem.scrapedLabel?contains("Annual Membership Fee")) && (sItem.scrapedValue?has_content)) > 
162                                        <#assign AMF = sItem.scrapedValue> 
163                                    <#elseif ((sItem.scrapedLabel?contains("APR for Balance Transfers")) && (sItem.scrapedValue?has_content)) > 
164                                        <#assign BAL = sItem.scrapedValue> 
165                                    </#if> 
166                                    <#if (APR?has_content && AMF?has_content && BAL?has_content)> 
167                                        <#break> 
168                                    </#if> 
169                                </#list> 
170                            </#if>     
171                            <script> 
172                                // console.log("Product: ${product}, offerType: ${fib.offerType}, sourceCode ${fib.sourceCode}, offerId: ${fib.offerId}"); 
173                                // console.log(`srcraped data: ${APR} `); 
174                            </script>                                      
175                            <div class="jn-consumer-item item-${fib.offerType}" title="${partnerName!''} ${product!''} Credit Card"> 
176                                <div class="consumer-card-heading hide-desktop"> 
177                                    <div class="consumer-card-heading__subheading">${consumerTitle.getSiblings()[cardIndex].Title.getData()}</div> 
178                                    ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
179                                </div> 
180                                <div class="jn-consumer-card-image"> 
181                                    <img src="${cardArtImage!''}" alt="${partnerName!''} ${product!''} Card" class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
182                                    <#if (fib.offerType=="101" || fib.offerType=="104")> 
183                                        <a class="reward-calculator-link" target="_blank" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' class="whiteLink" href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
184                                    </#if> 
185                                    <#if consumerTitle.getSiblings()[cardIndex].cardArtDescription?has_content> 
186                                        <p class="tier3-tabs-card-art-description">${consumerTitle.getSiblings()[cardIndex].cardArtDescription.getData()}</p> 
187                                    </#if> 
188                                </div> 
189                                 
190                                <div class="jn-consumer-card-info"> 
191                                    <div class="consumer-card-heading hide-mobile"> 
192                                        <div class="consumer-card-heading__subheading">${consumerTitle.getSiblings()[cardIndex].Title.getData()}</div> 
193                                        ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
194                                    </div> 
195                                    <div class="jn-additional"> 
196                                            <ul class="${fib.offerType}">                                                 
197                                                <#if (fib.offerType == "104")> 
198                                                    <li class="${fib.offerType}"> 
199                                                            <p> 
200                                                                <strong>APR for Purchases: </strong> 
201                                                                ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link"> 
202                                                                    <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions. 
203                                                                </a> 
204                                                            </p> 
205                                                        </li> 
206                                                        <li class="${fib.offerType}"> 
207                                                                <p> 
208                                                                    <strong>Intro APR<sup>*</sup> for Balance Transfers: </strong> 
209                                                                    ${BAL!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link"> 
210                                                                        <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions. 
211                                                                    </a> 
212                                                                </p> 
213                                                            </li> 
214                                                <#elseif (fib.offerType == "115")> 
215                                                    <li class="${fib.offerType}"> 
216                                                        <p> 
217                                                            <strong>APR for Purchases and Balance Transfers: </strong> 
218                                                            ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link"> 
219                                                                <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions. 
220                                                            </a> 
221                                                        </p> 
222                                                    </li>                                       
223                                                <#elseif (fib.offerType == "101")> 
224                                                    <li class="${fib.offerType}"> 
225                                                        <p> 
226                                                            <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
227                                                            ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link"> 
228                                                            <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions. 
229                                                            </a> 
230                                                        </p> 
231                                                    </li> 
232                                                 <#elseif (fib.offerType == "147")> 
233                                                    <li class="${fib.offerType}"> 
234                                                        <p> 
235                                                            <strong>APR for Purchases and Balance Transfers: </strong> 
236                                                            ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank" class="t_c_link"> 
237                                                            <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions. 
238                                                            </a> 
239                                                        </p> 
240                                                    </li> 
241                                                <#else> 
242                                                    <li class="${fib.offerType}"> 
243                                                        <p> 
244                                                            <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
245                                                            ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"> 
246                                                            <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions. 
247                                                            </a> 
248                                                        </p> 
249                                                    </li> 
250                                                </#if>              
251         
252                                                <#if consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings()?has_content> 
253                                                    <#list consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings() as marketingInfo> 
254                                                        <li>${marketingInfo.getData()}</li> 
255                                                    </#list> 
256                                                </#if> 
257                                                <li> 
258                                                    <p>Annual Fee: ${AMF!''}  
259                                                        <a  href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank" class="t_c_link"> 
260                                                            <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions. 
261                                                        </a> 
262                                                    </p> 
263                                                </li> 
264                                            </ul> 
265                                    </div> 
266                                    <ul class="actions"> 
267                                        <li> 
268                                            <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
269                                                class="applyNowLink" data-button-name="apply-now-link" data-product-name="${productName!''}" 
270
271                                                ${consumerTitle.getSiblings()[cardIndex].applyNow.getData()}<span class="screen-reader-only">for ${partnerName!''} ${product!''} Card </span> 
272                                            </a> 
273                                        </li> 
274                                        <li><a href="${environment}/${productName}?ecdma-lc=${lc}${ecidExt}">${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}<span class="screen-reader-only"> about ${partnerName!''} ${product!''} Card </span></a> 
275                                        </li> 
276                                    </ul> 
277                                </div> 
278                            </div> 
279                    </#list> 
280                </div> 
281            </div> 
282        </#if> 
283        <#if (businessCards?size > 0)>   
284        <div class="tab-more-wrapper">      
285            <div class="jn-consumer-content-wrapper jn-tab-content transition-start" data-id="businessTab" title="${partnerName!''} - Business products"> 
286                 
287                <#list businessCards as fib> 
288                        <#assign cardArtImage = cdnCardArtUrl + "/"+fib.filename+".png"> 
289                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+fib.filename+".jpg"> 
290                        <#switch fib.offerType> 
291                            <#case "128"> 
292                                <#assign productName = "business-cash-preferred"> 
293                                <#assign product="Business Cash Preferred"> 
294                                <#assign cardIndex = 6> 
295                                <#break> 
296                            <#case "121"> 
297                                <#assign productName = "business-platinum2103"> 
298                                <#assign product="Business Card"> 
299                                <#assign cardIndex = 7> 
300                                <#break> 
301                            <#case "144"> 
302                                <#assign productName = "smart-business-rewards"> 
303                                <#assign product="Smart Business Rewards"> 
304                                <#assign cardIndex = 8> 
305                                <#break>                             
306                            <#case "143"> 
307                                <#assign productName = "business-real-rewards"> 
308                                <#assign product="Business Real Rewards"> 
309                                <#assign cardIndex = 9> 
310                                <#break> 
311                             
312                            <#default> 
313                        </#switch> 
314                         
315                        <#assign APR=""> 
316                        <#assign AMF="">                                           
317                            <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', fib.offerId + '&'+ fib.sourceCode)> 
318                            <#if (scrapedData?size > 0)> 
319                                <#list scrapedData as sItem> 
320                                    <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
321                                        <#assign APR = sItem.scrapedValue> 
322                                    <#elseif ((sItem.scrapedLabel?contains("Annual Membership Fee")) && (sItem.scrapedValue?has_content)) > 
323                                        <#assign AMF = sItem.scrapedValue> 
324                                    </#if> 
325                                    <#if (APR?has_content && AMF?has_content)> 
326                                        <#break> 
327                                    </#if> 
328                                </#list> 
329                            </#if> 
330                                            <script> 
331                                                // console.log("Product: ${product}, offerType: ${fib.offerType}, sourceCode ${fib.sourceCode}, offerId: ${fib.offerId}"); 
332                                                // console.log(`srcraped data: ${APR} `); 
333                                            </script> 
334                        <div class="jn-consumer-item" title="${partnerName!''} ${product!''} Credit Card"> 
335                            <div class="consumer-card-heading hide-desktop"> 
336                                <div class="consumer-card-heading__subheading">${consumerTitle.getSiblings()[cardIndex].Title.getData()}</div> 
337                                ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
338                            </div> 
339                            <div class="jn-consumer-card-image"> 
340 
341                                <img  
342                                    src="${cardArtImage!''}"  
343                                    alt="${partnerName!''} ${product!''} Card"  
344                                    class="jn-img-responsive"  
345                                    onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'" 
346
347                                <#if (fib.offerType=="144" ||fib.offerType=="143" || fib.offerType=="128")> 
348                                 <a class="reward-calculator-link" target="_blank" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' class="whiteLink" href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
349                                </#if> 
350                                <#if consumerTitle.getSiblings()[cardIndex].cardArtDescription?has_content> 
351                                    <p class="tier3-tabs-card-art-description">${consumerTitle.getSiblings()[cardIndex].cardArtDescription.getData()}</p> 
352                                </#if> 
353                            </div> 
354                            <div class="jn-consumer-card-info"> 
355                                <div class="consumer-card-heading hide-mobile"> 
356                                    <div class="consumer-card-heading__subheading">${consumerTitle.getSiblings()[cardIndex].Title.getData()}</div> 
357                                    ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
358                                </div> 
359                                <div class="jn-additional"> 
360                                    <ul> 
361                                            <#if (fib.offerType == "144")> 
362                                        <li> 
363                                            <p> 
364                                                <strong>APR for Purchases and Balance Transfers: </strong> 
365                                                ${APR!''} 
366                                                <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link"><span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions.</a> 
367                                            </p> 
368                                        </li> 
369                                        <#else> 
370                                        <li> 
371                                                <p> 
372                                                    <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
373                                                    ${APR!''} 
374                                                    <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link"><span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions.</a> 
375                                                </p> 
376                                            </li> 
377                                        </#if> 
378                                        <#if consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings()?has_content> 
379                                            <#list consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings() as marketingInfo> 
380                                                <li>${marketingInfo.getData()}</li> 
381                                            </#list> 
382                                        </#if> 
383                                        <li><p>Annual Fee: ${AMF!''} <a 
384                                            href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link"><span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions.</a></p> 
385                                        </li> 
386                                    </ul> 
387                                </div> 
388                                <ul class="actions"> 
389                                    <li> 
390                                        <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
391                                            class="applyNowLink" data-button-name="apply-now-link" data-product-name="${productName!''}" 
392
393                                            ${consumerTitle.getSiblings()[cardIndex].applyNow.getData()}<span class="screen-reader-only">for ${partnerName!''} ${product!''} Card </span> 
394                                        </a> 
395                                    </li> 
396                                    <li><a href="${environment}/${productName}?ecdma-lc=${lc}${ecidExt}">${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}<span class="screen-reader-only"> about ${partnerName!''} ${product!''} Card </span></a></li> 
397                                </ul> 
398                            </div> 
399                        </div> 
400                         
401                </#list> 
402            </div> 
403            </div> 
404        </#if>  
405    </div> 
406 
407    <script> 
408        document.addEventListener('DOMContentLoaded', function() {                         
409            var tabs=$('.tab-nav'); 
410            var consumerSelector = '.jn-consumer-content-wrapper.jn-tab-content[data-id="consumerTab"]'; 
411            var businessSelector = '.jn-consumer-content-wrapper.jn-tab-content[data-id="businessTab"]'; 
412            var screenWidthMobile = 768; 
413            var screenWidth = window.innerWidth; 
414            var heroCardImgs = document.querySelectorAll('.jn-consumer-card-image img, .cardArtImg img'); 
415            for (var index = 0; index < heroCardImgs.length; index++) { 
416                var heroCardImg = heroCardImgs[index]; 
417                var heroCardSrc = heroCardImg.getAttribute("src"); 
418                if(heroCardSrc != "") { 
419                    resizeImg(heroCardImg); 
420
421
422             
423            if (tabs.length == 1) { 
424                $(tabs).parent().css('margin', '0'); 
425                if ($(consumerSelector).length > 0) { 
426                    hideHeroAndDisclaimer('business'); 
427                    showHeroAndDisclaimer('consumer'); 
428                    changeCardLayout(consumerSelector); 
429                    renumberFootnote("consumer"); 
430                    createMetaTag("consumer"); 
431                }  
432                if ($(businessSelector).length > 0) { 
433                    $(businessSelector).addClass('active'); 
434                    hideHeroAndDisclaimer('consumer'); 
435                    showHeroAndDisclaimer('business'); 
436                    changeCardLayout(businessSelector); 
437                    renumberFootnote("business"); 
438                    createMetaTag("business"); 
439
440            }  
441            if (tabs.length == 2) { 
442                renumberFootnote("consumer"); 
443                renumberFootnote("business"); 
444                createMetaTag("consumer"); 
445                 
446                if ($(consumerSelector + ' .jn-consumer-item').length < 3) { 
447                    changeCardLayout(consumerSelector); 
448
449                if ($(businessSelector + ' .jn-consumer-item').length < 3) { 
450                    changeCardLayout(businessSelector); 
451
452                 
453                var tabsNav = document.querySelectorAll('.tab-nav'); 
454                togglePrimaryNav(tabsNav); 
455                 
456                if(window.location.href.indexOf('#business') > -1 ) { 
457                    //console.log('we are on a business url index page bro'); 
458                    $(consumerSelector).removeClass('active'); 
459                    $(businessSelector).addClass('active'); 
460                    $('#consumerTab').removeClass('active'); 
461                    $('#businessTab').addClass('active'); 
462                    hideHeroAndDisclaimer('consumer'); 
463                    showHeroAndDisclaimer('business'); 
464                    changeCardLayout(businessSelector); 
465                    renumberFootnote("business"); 
466                    createMetaTag("business"); 
467 
468                    $(tabs).click(function(){ 
469                        if ($(this).attr('id') === "consumerTab") { 
470                            var newUrl = window.location.toString(); 
471                            window.location = newUrl.replace(/#business/, '#consumer'); 
472
473                        if ($(this).attr('id') === "businessTab") { 
474                            var url = window.location.toString(); 
475                            window.location = url.replace(/#consumer/, '#business'); 
476
477                    }); 
478
479                 
480
481        }); 
482        // Primary Nav function 
483         
484        function togglePrimaryNav(elem) { 
485            for (var i = 0; i < elem.length; i++) { 
486                elem[i].addEventListener("click", function(e) { 
487 
488                    var current = this, 
489                        allSections = document.querySelectorAll('[data-id]'), 
490                        section = document.querySelector("[data-id='"+ current.id +"']"); 
491 
492                    for (var a = 0; a < allSections.length; a++) { 
493                        allSections[a].classList.remove('active'); 
494
495                    for (var c = 0; c < elem.length; c++) { 
496                        if (current != elem[c]) { 
497                            elem[c].classList.remove('active'); 
498                        } else { 
499                            current.classList.add('active'); 
500                            //console.log('current: ', current); 
501                            //console.log('section: ', section); 
502                            section.classList.add('active'); 
503                            hideHeroAndDisclaimer('consumer'); 
504                            hideHeroAndDisclaimer('business'); 
505                            if(current.getAttribute('id') === "consumerTab"){ 
506                                showHeroAndDisclaimer('consumer'); 
507                            } else if(current.getAttribute('id') === "businessTab"){ 
508                                showHeroAndDisclaimer('business'); 
509
510
511
512                    e.preventDefault(); 
513                }); 
514
515
516         
517        function renumberFootnote(type) { 
518            var discriptionSelector = '.jn-consumer-content-wrapper.jn-tab-content' + '[data-id="' + type + 'Tab"]'; 
519            var disclaimerSelector = '.tier3-disclaimer-landing-' + type; 
520            var heroSelector = '.tier3-hero-landing-' + type; 
521            var numOfFootnote = $(disclaimerSelector + ' sup').length; 
522            var showList = []; 
523            var hideList=[]; 
524            for (var i = 1; i <= numOfFootnote; i++) { 
525                var cssClass="tag-" + i; 
526                if ($(discriptionSelector + ' sup').hasClass(cssClass) || $(heroSelector + ' sup').hasClass(cssClass)) { 
527                    showList.push(i);      
528                } else { 
529                    hideList.push(i); 
530
531            }  
532            /* 
533            for (var i = 1; i < showList.length + 1; i++) { 
534                if(showList[i-1] != i) { 
535                    var className="tag-" + showList[i-1]; 
536                     
537                    //$(heroSelector).find("." +  className).html(i); 
538                    // $(discriptionSelector).find("." +  className).html(i); 
539                    //$(disclaimerSelector).find("." +  className).html(i); 
540
541
542            */ 
543            for (var i = 0; i <hideList.length; i++) { 
544                var cname="tag-" + hideList[i]; 
545                $(disclaimerSelector).find("." + cname).parent().hide(); 
546            }    
547
548         
549        function changeCardLayout(cssSelector) { 
550            var numOfCards = $(cssSelector + ' .jn-consumer-item').length; 
551            //console.log('numofcards', numOfCards); 
552            if(numOfCards == 1) { 
553                $(cssSelector).addClass('one-card'); 
554            } else if (numOfCards == 2) { 
555                $(cssSelector).addClass('two-card'); 
556            }   
557
558        function hideHeroAndDisclaimer(type) { 
559            try { 
560                document.querySelector('.tier3-hero-landing-'+ type).classList.remove('show'); 
561                document.querySelector('.tier3-hero-landing-'+ type).classList.add('hide'); 
562            } catch (e) { 
563                console.log(e); 
564
565 
566            try { 
567                document.querySelector('.tier3-disclaimer-landing-'+ type).classList.remove('show'); 
568                document.querySelector('.tier3-disclaimer-landing-'+ type).classList.add('hide');  
569            } catch (e) { 
570                console.log(e); 
571
572 
573
574        function showHeroAndDisclaimer(type) { 
575            try { 
576                document.querySelector('.tier3-hero-landing-'+ type).classList.add('show'); 
577                document.querySelector('.tier3-hero-landing-'+ type).classList.remove('hide'); 
578            } catch (e) { 
579                console.log(e); 
580
581             
582            try { 
583                document.querySelector('.tier3-disclaimer-landing-'+ type).classList.add('show'); 
584                document.querySelector('.tier3-disclaimer-landing-'+ type).classList.remove('hide');  
585            } catch (e) { 
586                console.log(e); 
587
588 
589
590        function createMetaTag(type) { 
591            var partnerName = "${partnerName!0}"; 
592            var product_name = $('.jn-hero-container .jn-button').data('product-name'); 
593            var metaDesc =""; 
594            if (type == "consumer") {             
595                if(product_name ==  "consumer-platinum2103") { 
596                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Limited Time Offer. 0% Intro APR on Purchases and Balance Transfers for 20 Billing Cycles Consolidate your Balances with the "+partnerName+" Intro APR Card."; 
597                } else if(product_name ==  "real-rewards") { 
598                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Take home 2,500 bonus points after your first purchase."; 
599                } else if(product_name ==  "secured") { 
600                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Use this card as a solid foundation to build your credit."; 
601                } else if(product_name ==  "max-cash") { 
602                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn a $150 Bonus."; 
603                 } else if(product_name ==  "max-cash-secured") { 
604                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn more on the categories you pick."; 
605
606 
607            } else if (type == "business") { 
608                if(product_name ==  "business-cashback") {               
609                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn Cash back on common business expenses."; 
610                } else if(product_name ==  "business-real-rewards") { 
611                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Get more rewards in the categories you spend the most on."; 
612                } else if(product_name ==  "business-platinum2103") { 
613                    metaDesc = "Apply Today for a "+partnerName+" Business Card. 0% Intro APR on Purchases and Balance Transfers for 15 Billing Cycles"; 
614                } else if(product_name ==  "smart-business-rewards") { 
615                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. More choices. More value for your business. Earn a $200 Bonus and 2x Rewards on your top 2 spend categories each month with the "+partnerName+" Credit Card."; 
616
617
618            var m = document.createElement('meta');  
619            m.name = 'description';  
620            m.content = metaDesc;  
621            document.head.appendChild(m); 
622
623         
624        function resizeImg(img) { 
625            img.addEventListener("load", function() { 
626                var cardImgWidth = img.width; 
627                var cardImgHeight = img.height; 
628                //console.log('width', cardImgWidth); 
629                //console.log('height', cardImgHeight); 
630                if(cardImgWidth > cardImgHeight) { 
631                    img.style.width = "285px"; 
632                } else { 
633                    img.style.width = "150px"; 
634
635            }); 
636
637    </script>                 
638</#if> 

Web Content Display

An error occurred while processing the template.
Expression qstringmap["ecdma-lc"] is undefined on line 5, column 14 in 10154#10192#153417682.
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign url = request.attributes.CURRENT_URL > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4 
5<#assign lc= qstringmap["ecdma-lc"]?first>   
6<#assign prefix = "00000" > 
7<#assign lcWithPrefix = prefix + lc > 
8<#assign withPrefixLength = lcWithPrefix?length > 
9<#assign startHere = withPrefixLength - 5> 
10<#assign lc = lcWithPrefix?substring(startHere)> 
11 
12<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
13<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
14<#assign clientProfile = clientProfileList?first> 
15<#assign partnerName = clientProfile.getMarketingNameLong()> 
16 
17 
18<div class="jn-disclaimer tier3-disclaimer-${class.getData()}" title="${partnerName!''} - Disclaimer"> 
19    <div class="disclaimer"> 
20        ${content.getData()} 
21    </div> 
22</div> 

Web Content Display

An error occurred while processing the template.
Expression qstringmap["ecdma-lc"] is undefined on line 5, column 14 in 10154#10192#153417682.
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign url = request.attributes.CURRENT_URL > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4 
5<#assign lc= qstringmap["ecdma-lc"]?first>   
6<#assign prefix = "00000" > 
7<#assign lcWithPrefix = prefix + lc > 
8<#assign withPrefixLength = lcWithPrefix?length > 
9<#assign startHere = withPrefixLength - 5> 
10<#assign lc = lcWithPrefix?substring(startHere)> 
11 
12<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
13<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
14<#assign clientProfile = clientProfileList?first> 
15<#assign partnerName = clientProfile.getMarketingNameLong()> 
16 
17 
18<div class="jn-disclaimer tier3-disclaimer-${class.getData()}" title="${partnerName!''} - Disclaimer"> 
19    <div class="disclaimer"> 
20        ${content.getData()} 
21    </div> 
22</div> 

Web Content Display

An error occurred while processing the template.
Expression qstringmap["ecdma-lc"] is undefined on line 3, column 1 in 10154#10192#153417685.
1<#assign url = request.attributes.CURRENT_URL > <#assign qstringmap = 
2httpUtil.getParameterMap(httpUtil.getQueryString(url))> <#assign lc= 
3qstringmap["ecdma-lc"]?first> 
4<script 
5  src="https://code.jquery.com/jquery-3.3.1.min.js" 
6  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" 
7  crossorigin="anonymous" 
8></script> 
9<div id="footerIdAdPlatinum"> 
10  ${footerContent.getData()} 
11</div> 
12 
13<script> 
14  jQuery('#footerIdAdPlatinum').find('.copyright').html('<sup>©</sup> Elan Financial Services 2022').addClass('ecdma-footer-client-name-copyright'); 
15  jQuery('#footerIdAdPlatinum').find('.fdic').html('<a class="text-color-white" href="https://www.myaccountaccess.com/onlineCard/publicPrivacyPolicy.do?loc=${lc!0}" target="_blank">Privacy and Security</a>'); 
16  jQuery('#footerIdAdPlatinum').find('.member-agreement').html('<a class="text-color-white" href="https://online1.elancard.com/oad/cmas.controller?locationCode=${lc!''}&preparerType=customer&isNewRequest=false" target="_blank">Cardmember Agreements</a>'); 
17</script>