Web Content Display

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

Web Content Display

An error occurred while processing the template.
Error on line 36, column 1 in 10154#10192#153417670
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
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="202208/consumer-platinum"> 
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 = "202208/consumer-edr"> 
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 = "202208/business-platinum"> 
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="202208/consumer-platinum"> 
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 = "202302/consumer-edr"> 
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 = "202208/business-platinum"> 
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-platinum": 
277                            product="Platinum Card" 
278                            break; 
279                        case "consumer-edr": 
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.
Error on line 40, column 1 in 10154#10192#153417688
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
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("101")) ||  (offerTypeList?seq_contains("103"))> 
87							<#list consumerCards as card> 
88								<#if (card.offerType=="101") || (card.offerType=="103")> 
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-edr"> 
95									<#assign product="Everyday Rewards+"> 
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-edr"> 
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 = 2> 
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-platinum"> 
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-platinum"> 
273                    <#assign product="Platinum">                       
274                    <#break> 
275                <#case "109"> 
276                    <#assign cardIndex = 1 > 
277                    <#assign productUrlHero = "consumer-platinum"> 
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-edr"> 
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 = 3 > 
302                    <#assign productUrlHero = "consumer-edr"> 
303                    <#assign product="Everyday Rewards+">                     
304                    <#break>                                          
305                <#case "121"> 
306                    <#assign cardIndex = 3 > 
307                    <#assign productUrlHero = "business-platinum"> 
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-edr"))> 
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-edr") || 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");' target="_blank" 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-edr") && !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-edr") || 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");' target="_blank" 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            //prevent button and text going into blue section 
475            document.querySelector('.landing-consumer .offer-text-top h1').style.minHeight = "120px"; 
476            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 55%, ${backgroundColor!'#173989'} 55%)"; 
477
478
479 
480    var buisnessHeader = document.getElementsByClassName("tier3-hero-landing-business")[0]; 
481    if(buisnessHeader) { 
482        var buisnessHeroContainer = buisnessHeader.getElementsByClassName("hero-main-container")[0]; 
483        var buisnessOfferHeader = buisnessHeader.getElementsByClassName("offer-subtitle")[0]; 
484 
485        if(buisnessOfferHeader.innerText.length >= 31 && buisnessOfferHeader.innerText.length < 48){ 
486            //not two lines but the header on tablet gose outside of allocated space. 
487            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 40%, ${backgroundColor!'#173989'} 40%)"; 
488        } else if (buisnessOfferHeader.innerText.length >= 48){ 
489            //two lines 
490            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 45%, ${backgroundColor!'#173989'} 45%)"; 
491
492
493</script> 

Web Content Display

An error occurred while processing the template.
Error on line 40, column 1 in 10154#10192#153417688
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
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("101")) ||  (offerTypeList?seq_contains("103"))> 
87							<#list consumerCards as card> 
88								<#if (card.offerType=="101") || (card.offerType=="103")> 
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-edr"> 
95									<#assign product="Everyday Rewards+"> 
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-edr"> 
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 = 2> 
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-platinum"> 
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-platinum"> 
273                    <#assign product="Platinum">                       
274                    <#break> 
275                <#case "109"> 
276                    <#assign cardIndex = 1 > 
277                    <#assign productUrlHero = "consumer-platinum"> 
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-edr"> 
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 = 3 > 
302                    <#assign productUrlHero = "consumer-edr"> 
303                    <#assign product="Everyday Rewards+">                     
304                    <#break>                                          
305                <#case "121"> 
306                    <#assign cardIndex = 3 > 
307                    <#assign productUrlHero = "business-platinum"> 
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-edr"))> 
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-edr") || 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");' target="_blank" 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-edr") && !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-edr") || 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");' target="_blank" 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            //prevent button and text going into blue section 
475            document.querySelector('.landing-consumer .offer-text-top h1').style.minHeight = "120px"; 
476            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 55%, ${backgroundColor!'#173989'} 55%)"; 
477
478
479 
480    var buisnessHeader = document.getElementsByClassName("tier3-hero-landing-business")[0]; 
481    if(buisnessHeader) { 
482        var buisnessHeroContainer = buisnessHeader.getElementsByClassName("hero-main-container")[0]; 
483        var buisnessOfferHeader = buisnessHeader.getElementsByClassName("offer-subtitle")[0]; 
484 
485        if(buisnessOfferHeader.innerText.length >= 31 && buisnessOfferHeader.innerText.length < 48){ 
486            //not two lines but the header on tablet gose outside of allocated space. 
487            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 40%, ${backgroundColor!'#173989'} 40%)"; 
488        } else if (buisnessOfferHeader.innerText.length >= 48){ 
489            //two lines 
490            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 45%, ${backgroundColor!'#173989'} 45%)"; 
491
492
493</script> 

Web Content Display

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

Web Content Display

An error occurred while processing the template.
Error on line 14, column 1 in 10154#10192#153417682
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
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<#assign pbu = clientProfile.getPbu()> 
18<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
19 
20<#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu +'&'+subbu)>  
21<#assign cardProvider = utilServ.makeCall('crcDDCGetMcOrVisa', fiCardsData[0].offerType + '&' + lc)> 
22 
23<#if (cardProvider?size > 0)> 
24    <#-- This will be V for visa or M for mastercard. --> 
25    <#assign cardProviderAbbreviated = cardProvider[0].cardType> 
26<#else> 
27    <script> 
28        console.log("No card provider(Visa/Master Card) found for disclaimer"); 
29    </script> 
30</#if> 
31 
32<div class="jn-disclaimer tier3-disclaimer-${class.getData()}" title="${partnerName!''} - Disclaimer"> 
33    <div class="disclaimer"> 
34        <#if (disclaimersVisa?has_content && cardProviderAbbreviated?contains("V"))> 
35            ${disclaimersVisa.getData()} 
36        </#if> 
37        <#if (disclaimersMasterCard?has_content && cardProviderAbbreviated?contains("M")) > 
38            ${disclaimersMasterCard.getData()} 
39        </#if> 
40    </div> 
41</div> 

Web Content Display

An error occurred while processing the template.
Error on line 14, column 1 in 10154#10192#153417682
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
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<#assign pbu = clientProfile.getPbu()> 
18<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
19 
20<#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu +'&'+subbu)>  
21<#assign cardProvider = utilServ.makeCall('crcDDCGetMcOrVisa', fiCardsData[0].offerType + '&' + lc)> 
22 
23<#if (cardProvider?size > 0)> 
24    <#-- This will be V for visa or M for mastercard. --> 
25    <#assign cardProviderAbbreviated = cardProvider[0].cardType> 
26<#else> 
27    <script> 
28        console.log("No card provider(Visa/Master Card) found for disclaimer"); 
29    </script> 
30</#if> 
31 
32<div class="jn-disclaimer tier3-disclaimer-${class.getData()}" title="${partnerName!''} - Disclaimer"> 
33    <div class="disclaimer"> 
34        <#if (disclaimersVisa?has_content && cardProviderAbbreviated?contains("V"))> 
35            ${disclaimersVisa.getData()} 
36        </#if> 
37        <#if (disclaimersMasterCard?has_content && cardProviderAbbreviated?contains("M")) > 
38            ${disclaimersMasterCard.getData()} 
39        </#if> 
40    </div> 
41</div> 

Web Content Display

Cardmember Agreements

Privacy and Security