An error occurred while processing the template.
The following has evaluated to null or missing:
==> synExclusionMessageService.getClientProfileAndSyndicatedExclusionMsg  [in template "10154#10192#153417688" at line 76, column 36]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign synExclusionMessageData = syn...  [in template "10154#10192#153417688" at line 76, column 1]
----
1<#assign url = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()/> 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = (serviceLocator.findService("com.elan.crc.utilites.service.CRCRemoteServiceService"))! /> 
5<#assign url404 = '/error/404.html'> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7<#assign currentEnvironment = 'prod' > 
8<#assign prcaURL = propsUtil.get('elan.prca.url')> 
9 
10<#assign lc= qstringmap["ecdma-lc"]?first>   
11<#assign lc = htmlUtil.escape(lc)> 
12<#assign lc = htmlUtil.escapeJS(lc)> 
13 
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 = qstringmap["ecid"]?first> 
23    <#assign ecidExt = htmlUtil.escape(ecidExt)> 
24    <#assign ecidExt = htmlUtil.escapeJS(ecidExt)> 
25    <#assign ecidExt = "&ecid=" + ecidExt> 
26<#else> 
27    <#assign ecidExt=""> 
28</#if> 
29<#if oadURL?contains("uat-")> 
30    <#assign oadURL_TC = 'https://uat-online1.elancard.com/oad/terms.controller' > 
31    <#assign currentEnvironment = 'uat' > 
32<#else> 
33    <#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
34</#if> 
35    <script> 
36        //console.log('%ccurrentEnvironment: ', 'font-weight: bold; color: green;', '${currentEnvironment}'); 
37    </script> 
38<#assign campaignId = "" > 
39<#assign useprcaValue = "" > 
40<#assign ecidExt=""> 
41<#if qstringmap["ecid"]?has_content> 
42    <#assign campaignId = qstringmap["ecid"]?first > 
43    <#assign campaignId = htmlUtil.escape(campaignId)> 
44    <#assign campaignId = htmlUtil.escapeJS(campaignId)> 
45     
46    <#assign ecidExt = qstringmap["ecid"]?first> 
47    <#assign ecidExt = htmlUtil.escape(ecidExt)> 
48    <#assign ecidExt = htmlUtil.escapeJS(ecidExt)> 
49    <#assign ecidExt = "&ecid=" + ecidExt> 
50</#if> 
51 
52<#assign dcoSourceCode = ""> 
53<#assign dcoSourceCodeQueryParameter = ""> 
54 
55<#if qstringmap["sourcecode"]?has_content> 
56    <#assign dcoSourceCode = qstringmap["sourcecode"]?first> 
57    <#assign dcoSourceCode = htmlUtil.escape(dcoSourceCode)> 
58    <#assign dcoSourceCode = htmlUtil.escapeJS(dcoSourceCode)> 
59    <#assign dcoSourceCodeQueryParameter = "&sourcecode=${dcoSourceCode}"> 
60<#elseif qstringmap["sourceCode"]?has_content> 
61    <#assign dcoSourceCode = qstringmap["sourceCode"]?first> 
62    <#assign dcoSourceCode = htmlUtil.escape(dcoSourceCode)> 
63    <#assign dcoSourceCode = htmlUtil.escapeJS(dcoSourceCode)> 
64    <#assign dcoSourceCodeQueryParameter = "&sourcecode=${dcoSourceCode}"> 
65</#if> 
66 
67<#assign clientProfileService = (serviceLocator.findService("com.elan.crc.user.service.CrcClientProfileLocalService"))! > 
68<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
69<#assign clientProfile = clientProfileList?first> 
70<#assign partnerName = clientProfile.getMarketingNameLong()> 
71<#assign pbu = clientProfile.getPbu()> 
72<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
73<#assign cdnCardArtUrl = (propsUtil.get('rackspace.cdn.cardart.url'))!> 
74 
75<#assign synExclusionMessageService = (serviceLocator.findService("com.elan.crc.quicklink.service.SYNExclusionMessageLocalService"))! /> 
76<#assign synExclusionMessageData = synExclusionMessageService.getClientProfileAndSyndicatedExclusionMsg(lc) /> 
77<#assign synExclusionMsg = "" /> 
78<#assign synExclusionMsgURL = "" /> 
79<#assign synExclusionMsgAriaLabel = "" /> 
80 
81<#if synExclusionMessageData?exists && synExclusionMessageData?has_content> 
82    <#assign synExclusionMsgObj = synExclusionMessageData[0]> 
83    <#assign synExclusionMsg = synExclusionMsgObj[4]!"" /> 
84    <#assign synExclusionMsgURL = synExclusionMsgObj[5]!"" /> 
85    <#assign synExclusionMsgAriaLabel = synExclusionMsgObj[6]!"" /> 
86</#if> 
87 
88 
89 
90<#assign fiCardsData=utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu + '&'+subbu + '&' + lc)> 
91<#assign temp = []> 
92<#assign consumerCards = []> 
93<#assign businessCards = []>  
94<#assign offerTypeList = []>       
95<#assign index = 0> 
96<#assign consumerOfferTypes = ["101", "103", "108", "109", "115", "104", "141", "147", "138", "154"]> 
97<#assign businessOfferTypes = ["128", "121", "143", "144"]> 
98<#list fiCardsData as fib>  
99   <#assign useprcaValue = fib.useprca!""> 
100    <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))> 
101        <#assign offerTypeList = offerTypeList + [fib.offerType]>  
102        <#if (consumerOfferTypes?seq_contains(fib.offerType))> 
103            <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
104        <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
105            <#assign businessCards = businessCards + fiCardsData[index..index]> 
106        </#if>                            
107        <#assign temp = temp + fiCardsData[index..index]>  
108    </#if>   
109    <#assign index = index + 1>               
110</#list>  
111 
112<#assign fiCardsData = temp> 
113 <script> 
114    //console.log("fi card data count", ${fiCardsData?size}) 
115</script> 
116 
117<#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
118<#if (clientdata?size > 0)> 
119    <#assign backgroundColor = clientdata[0].backgroundHexColor>               
120</#if> 
121 
122<#if (fiCardsData?size > 0)>    
123    <style> 
124        .excludeModal__overlay { 
125            position: fixed; 
126            top: 0; 
127            left: 0; 
128            right: 0; 
129            bottom: 0; 
130            background: rgba(0,0,0,0.6); 
131            display: flex; 
132            justify-content: center; 
133            align-items: center; 
134
135 
136        .excludeModal__container { 
137            background-color: #fff; 
138            padding: 30px; 
139            min-width: 500px; 
140            max-width: 500px; 
141            max-height: 100vh; 
142            border-radius: 4px; 
143            overflow-y: auto; 
144            box-sizing: border-box; 
145
146 
147        .excludeModal__header { 
148            display: block; 
149            justify-content: space-between; 
150            align-items: center; 
151
152 
153        .modal .excludeModal__container .excludeModal__title { 
154            margin-top: 0; 
155            margin-bottom: 0; 
156            font-weight: 600; 
157            font-size: 20px; 
158            line-height: 1.25; 
159            color: #00449e; 
160            box-sizing: border-box; 
161
162         
163        .excludeModal__close { 
164            background: transparent; 
165            border: 1px solid white; 
166            padding: 4px 8px; 
167            float: right; 
168
169 
170        .excludeModal__close:hover { 
171            border: 1px solid black; 
172
173 
174        .excludeModal__close:before { content: "\2715"; } 
175 
176        @keyframes mmfadeIn { 
177            from { opacity: 0; } 
178            to { opacity: 1; } 
179
180 
181        @keyframes mmfadeOut { 
182            from { opacity: 1; } 
183            to { opacity: 0; } 
184
185 
186        @keyframes mmslideIn { 
187            from { transform: translateY(15%); } 
188            to { transform: translateY(0); } 
189
190 
191        @keyframes mmslideOut { 
192            from { transform: translateY(0); } 
193            to { transform: translateY(-10%); } 
194
195 
196        .micromodal-slide { 
197            display: none; 
198
199 
200        .micromodal-slide.is-open { 
201            display: block; 
202
203 
204        .micromodal-slide[aria-hidden="false"] .excludeModal__overlay { 
205            animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1); 
206
207 
208        .micromodal-slide[aria-hidden="false"] .excludeModal__container { 
209            animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1); 
210
211 
212        .micromodal-slide[aria-hidden="true"] .excludeModal__overlay { 
213            animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1); 
214
215 
216        .micromodal-slide[aria-hidden="true"] .excludeModal__container { 
217            animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1); 
218
219 
220        .micromodal-slide .excludeModal__container, 
221        .micromodal-slide .excludeModal__overlay { 
222            will-change: transform; 
223
224		 
225		.excludeModal__link { 
226			font-size: 18px !important; 
227			font-weight: bold; 
228			color: #00449e !important; 
229			text-decoration: underline !important; 
230
231		 
232		.excludeModal__link a:hover { 
233			text-decoration: underline !important; 
234
235		 
236		#excludeModalDivLink { 
237			margin-top: 20px 
238
239    </style> 
240    <#if url?contains("index")>   
241        <#assign isExcluded = 0>                
242        <#assign offerId = ""> 
243        <#assign sourceCode = ""> 
244        <#assign cardArtImage = ""> 
245        <#assign productUrlHero = ""> 
246        <#assign product = ""> 
247        <#assign cardIndex = 0> 
248        <#if (class.getData() == "landing-consumer" && consumerCards?size > 0)> 
249            <#if (offerTypeList?seq_contains("108")) ||  (offerTypeList?seq_contains("109"))> 
250                <#list consumerCards as card> 
251                    <#if (card.offerType=="108") || (card.offerType=="109")> 
252                        <#assign isExcluded = 0> 
253                        <#if card.dmaexclude??> 
254                            <#assign isExcluded = card.dmaexclude?number!0> 
255                        </#if>  
256                        <#assign offerId = card.offerId> 
257                        <#assign sourceCode = card.sourceCode> 
258                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
259                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
260 
261                        <#assign productUrlHero="consumer-platinum2103"> 
262                        <#assign product="Platinum"> 
263                        <#assign cardIndex = 1> 
264                        <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&' + sourceCode)> 
265                        <#if (scrapedData?size > 0)> 
266                            <#list scrapedData as sItem> 
267                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
268                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
269                                    <#break> 
270                                </#if> 
271                            </#list> 
272                            <script> 
273                                $(document).ready(function () { 
274                                    var aprText = "${apr}"; 
275                                    //console.log('aprText: ${aprText!''}'); 
276                                    if (aprText) { 
277                                        $(".apr-full-text").html(aprText); 
278                                        try { 
279                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
280                                            var billing_cycle = matches[1]; 
281                                            var apr_min = apr_min = matches[2]; 
282                                            var apr_max = apr_max = matches[3]; 
283                                            //console.log('billing_cycle', billing_cycle); 
284                                            //console.log('apr_min', apr_min); 
285                                            //console.log('apr_max', apr_max); 
286                                            if (billing_cycle) { 
287                                                //console.log($(".scraped-billing-cycle")); 
288                                                $(".scraped-billing-cycle").html(billing_cycle); 
289
290                                            if (apr_min) { 
291                                                $(".scraped-apr-min").html(apr_min); 
292
293                                            if (apr_max) { 
294                                                $('.scraped-apr-max').html(apr_max); 
295
296 
297                                        } catch (e) { 
298                                            console.log(e); 
299
300
301                                }); 
302                            </script> 
303                        </#if> 
304                        <script> 
305                            $(document).ready(function () { 
306                                $(".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>'); 
307                            }); 
308                        </script> 
309                    </#if>                   
310                </#list> 
311            <#else> 
312                <#assign isExcluded = 0> 
313                <#if consumerCards[0].dmaexclude??> 
314                    <#assign isExcluded = consumerCards[0].dmaexclude?number!0> 
315                </#if>    
316                <#assign displayedCard = consumerCards[0]> 
317                <#assign offerId = displayedCard.offerId> 
318                <#assign sourceCode = displayedCard.sourceCode> 
319                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
320                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
321                <#if (displayedCard.offerType=="108" || displayedCard.offerType=="109")> 
322                    <#assign productUrlHero="consumer-platinum"> 
323                    <#assign product="Platinum"> 
324                    <#assign cardIndex = 1> 
325                <#elseif (displayedCard.offerType=="104")> 
326                    <#assign productUrlHero = "max-cash"> 
327                    <#assign product="Max Cash Preferred"> 
328                    <#assign cardIndex = 0> 
329                <#elseif (displayedCard.offerType=="115")> 
330                    <#assign productUrlHero = "secured"> 
331                    <#assign product="Secured"> 
332                    <#assign cardIndex = 2> 
333                </#if> 
334            </#if> 
335            <#if product?has_content && product != ""> 
336                <#assign card_text = product + " Card"> 
337            </#if>  
338        </#if> 
339        <#if (class.getData() == "landing-business" && businessCards?size > 0)> 
340            <#if (offerTypeList?seq_contains("128")) > 
341                <#list businessCards as card> 
342                    <#if (card.offerType=="128")> 
343                        <#assign isExcluded = 0> 
344                        <#if card.dmaexclude??> 
345                            <#assign isExcluded = card.dmaexclude?number!0>  
346                        </#if> 
347                        <#assign offerId = card.offerId> 
348                        <#assign sourceCode = card.sourceCode> 
349                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
350                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
351 
352                        <#assign productUrlHero="business-cash-preferred"> 
353                        <#assign product="Business Cash Preferred"> 
354                        <#assign cardIndex = 1> 
355                    </#if> 
356                </#list> 
357            <#else> 
358                <#assign isExcluded = 0> 
359                <#if businessCards[0].dmaexclude??> 
360                    <#assign isExcluded = businessCards[0].dmaexclude?number!0> 
361                </#if>  
362                <#assign displayedCard = businessCards[0]> 
363                <#assign offerId = displayedCard.offerId> 
364                <#assign sourceCode = displayedCard.sourceCode> 
365                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
366                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
367                <#if (displayedCard.offerType=="143")> 
368                    <#assign productUrlHero="business-real-rewards"> 
369                    <#assign product="Business Real Rewards"> 
370                    <#assign cardIndex = 2> 
371                <#elseif (displayedCard.offerType=="144")> 
372                    <#assign productUrlHero="smart-business-rewards"> 
373                    <#assign product="Smart Business Rewards"> 
374                    <#assign cardIndex = 0> 
375                <#elseif (displayedCard.offerType=="121")> 
376                    <#assign productUrlHero = "business-platinum"> 
377                    <#assign product="Business"> 
378                    <#assign cardIndex = 3>                     
379                </#if> 
380            </#if> 
381            <#if product?has_content && product != ""> 
382                <#assign card_text = product + " Card"> 
383            </#if>  
384        </#if>		 
385            <div class="hero-container product-${productUrlHero} tier3-hero-${class.getData()}"> 
386                <div class="hero-main"> 
387                    <div class="hero-main-container"> 
388                        <div class="hero-main-offer"> 
389                            <div class="offer-detail"> 
390                                <div class="offer-detail-cardArt cardArtImg"> 
391                                    <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
392                                    class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'">  
393                                    <#-- <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!'' }" 
394                                     class="jn-img-responsive">--> 
395                                    <p>${card_text!''}</p> 
396                                </div> 
397                                <div class="offer-detail-text text-color-default hide-desktop"> 
398                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                 
399                                </div>                                                                        
400                                <#if isExcluded == 0>    
401								<#if useprcaValue == "1"> 
402								<form id="applyForm" action="${prcaURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer" method="post"> 
403									<input id='locationCode' type="hidden" name="locationCode" value="${lc}"> 
404									<input id='offerId' type="hidden" name="offerId" value="${offerId}"> 
405									<input type="hidden" name="preparerType" value="customer">  
406                                    </form> 
407								<a  
408									class="jn-button hide-desktop btn"  
409									data-button-name="cta-button-top"  
410									data-product-name="${productUrlHero!''}"  
411									href="#" 
412									offerId="${offerId!''}" 
413									onclick="submitForm(event)"									 
414
415									${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
416								</a> 
417								 
418								 
419								 
420							<#else> 
421								<a  
422									class="jn-button hide-desktop btn"  
423									data-button-name="cta-button-top"  
424									data-product-name="${productUrlHero!''}"  
425									href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer${dcoSourceCodeQueryParameter}"                                    
426
427									${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
428								</a> 
429							</#if> 
430 
431                                <#else> 
432                                    <a  
433                                        class="jn-button hide-desktop btn"  
434                                        data-button-name="cta-button-top"  
435                                        data-product-name="${productUrlHero!''}"  
436                                        data-micromodal-trigger="modal-index-hero" 
437                                        href="javascript:void(0);" 
438
439                                        ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
440                                    </a> 
441                                </#if> 
442                            </div> 
443                            <div class="offer-header"> 
444                                <div class="offer-text-top"> 
445                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
446                                </div> 
447                                <div class="offer-text-bottom hide-mobile"> 
448                                    <div class="offer-detail-text text-color-default "> 
449                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                        
450                                    </div> 
451                                     
452                                    <#if isExcluded == 0>  
453									<#if useprcaValue == "1"> 
454									 <form id="applyForm" action="${prcaURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer" method="post"> 
455												<input id='locationCode' type="hidden" name="locationCode" value="${lc}"> 
456												<input id='offerId' type="hidden" name="offerId" value="${offerId!''}"> 
457												<input type="hidden" name="preparerType" value="customer">	 
458												</form> 
459									<a  
460                                            class="jn-button"  
461                                            data-button-name="cta-button-top"  
462                                            data-product-name="${productUrlHero!''}" 
463                                            href="#" 
464											offerId="${offerId!''}" 
465											onclick="submitForm(event)" 
466
467                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
468                                        </a> 
469									     
470									     <#else> 
471                                        <a  
472                                            class="jn-button"  
473                                            data-button-name="cta-button-top"  
474                                            data-product-name="${productUrlHero!''}" 
475                                            href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer${dcoSourceCodeQueryParameter}"  
476
477                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
478                                        </a> 
479										</#if> 
480                                    <#else> 
481                                        <a  
482                                            class="jn-button"  
483                                            data-button-name="cta-button-top"  
484                                            data-product-name="${productUrlHero!''}" 
485                                            data-micromodal-trigger="modal-index-hero" 
486                                            href="javascript:void(0);" 
487
488                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
489                                        </a> 
490                                    </#if> 
491                                </div> 
492                            </div>                           
493                        </div> 
494                    </div> 
495                </div> 
496            </div> 
497 
498            <div aria-hidden="true" class="modal micromodal-slide" id="modal-index-hero" > 
499                <div class="excludeModal__overlay" data-micromodal-close tabindex="-1"> 
500                    <div  
501                        aria-modal="true"  
502                        aria-labelledby="modal-index-hero-title"  
503                        class="excludeModal__container"  
504                        role="dialog" 
505
506                        <button aria-label="Close modal" class="excludeModal__close" data-micromodal-close></button> 
507                        <header class="excludeModal__header"> 
508						<div> 
509                            <h2 class="excludeModal__title" id="modal-index-hero-title"> 
510								<#if synExclusionMsg?has_content> 
511									${synExclusionMsg} 
512                                <#elseif productTitle.getSiblings()[cardIndex].excludedMessage?? > 
513                                    ${productTitle.getSiblings()[cardIndex].excludedMessage.getData()!""} 
514                                </#if> 
515                            </h2> 
516						</div> 
517						<div id="excludeModalDivLink"> 
518							<#if synExclusionMsgURL?has_content> 
519								<p> 
520									<a href="${synExclusionMsgURL}" target="_blank" aria-label="${synExclusionMsgAriaLabel!''}" class="excludeModal__link"> 
521										Learn more 
522									</a> 
523								</p> 
524							</#if> 
525						</div> 
526                        </header> 
527                    </div> 
528                </div> 
529            </div> 
530    <#else>      
531        <#assign hasBalanceTransferCalculator = false> 
532        <#list fiCardsData as fib>     
533            <#switch fib.offerType>     
534                <#case "101"> 
535                    <#assign cardIndex = 3 > 
536                    <#assign productUrlHero = "consumer-edr"> 
537                    <#assign product="Everyday Rewards+">                     
538                    <#assign hasBalanceTransferCalculator = false>                   
539                    <#break>  
540                <#case "103">              
541                    <#assign cardIndex = 3 > 
542                    <#assign productUrlHero = "consumer-edr"> 
543                    <#assign product="Everyday Rewards+">                     
544                     <#assign hasBalanceTransferCalculator = false>                   
545                   <#break>          
546                <#case "104"> 
547                    <#assign cardIndex = 0 > 
548                    <#assign productUrlHero="max-cash"> 
549                    <#assign product="Max Cash Preferred">                       
550                    <#assign hasBalanceTransferCalculator = false>                   
551                    <#break> 
552                <#case "108"> 
553                    <#assign cardIndex = 1 > 
554                    <#assign productUrlHero = "consumer-platinum"> 
555                    <#assign product="Platinum">     
556                    <#assign hasBalanceTransferCalculator = true>                   
557                    <#break> 
558                <#case "109"> 
559                    <#assign cardIndex = 1 > 
560                    <#assign productUrlHero = "consumer-platinum"> 
561                    <#assign product="Platinum">    
562                    <#assign hasBalanceTransferCalculator = true>                                                          
563                    <#break>                                         
564                 <#case "141">                  
565                    <#assign cardIndex = 4 > 
566                    <#assign productUrlHero = "college-real-rewards"> 
567                    <#assign product = "College Real Rewards" >  
568                     <#assign hasBalanceTransferCalculator = false>                   
569                   <#break>  
570                <#case "147"> 
571                    <#assign cardIndex = 5 > 
572                    <#assign productUrlHero = "max-cash-secured"> 
573                    <#assign product = "Max Cash Secured" >  
574                    <#assign hasBalanceTransferCalculator = false>                   
575                    <#break>   
576                <#case "115"> 
577                    <#assign cardIndex = 2 > 
578                    <#assign productUrlHero = "secured"> 
579                    <#assign product="Secured">                     
580                    <#assign hasBalanceTransferCalculator = false>                   
581                    <#break>  
582                <#case "138"> 
583                    <#assign cardIndex = 6 > 
584                    <#assign productUrlHero = "travel-rewards-plus"> 
585                    <#assign product="Travel Rewards+">                     
586                    <#assign hasBalanceTransferCalculator = false>                   
587                    <#break>  
588                <#case "154"> 
589                    <#assign cardIndex = 7 > 
590                    <#assign productUrlHero = "reserve-rewards-plus"> 
591                    <#assign product="Reserve Rewards+">                     
592                    <#assign hasBalanceTransferCalculator = false>                   
593                    <#break>  
594                <#case "128"> 
595                    <#assign cardIndex = 1 > 
596                    <#assign productUrlHero = "business-cash-preferred"> 
597                    <#assign product="Business Cash Preferred">                     
598                    <#assign hasBalanceTransferCalculator = false>                   
599                    <#break>     
600                <#case "143"> 
601                    <#assign cardIndex = 2 > 
602                    <#assign productUrlHero = "business-real-rewards"> 
603                    <#assign product="Business Real Rewards">                     
604                    <#assign hasBalanceTransferCalculator = false>                   
605                    <#break>     
606                <#case "144"> 
607                    <#assign cardIndex = 0 > 
608                    <#assign productUrlHero = "smart-business-rewards"> 
609                    <#assign product="Smart Business Rewards">                                          
610                    <#assign hasBalanceTransferCalculator = false>                   
611                    <#break>                                   
612                <#case "121"> 
613                    <#assign cardIndex = 3 > 
614                    <#assign productUrlHero = "business-platinum"> 
615                    <#assign product="Business">                      
616                    <#assign hasBalanceTransferCalculator = false>                   
617                    <#break>                                      
618                <#default> 
619            </#switch>                          
620            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png">  
621            <#assign cardArtImageAlt = cdnCardArtUrl + "/" + fib.filename + ".jpg">   
622             
623            <script> 
624               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero} show calculator ${hasBalanceTransferCalculator?c}")                         
625            </script> 
626                                                                         
627            <#if url?matches(".*/${productUrlHero}\\?.*")>  
628                <#assign isExcluded = 0> 
629				 <script> 
630               console.log("fib.dmaexclude------>"+'${fib.dmaexclude}');                        
631            </script> 
632                <#if fib.dmaexclude??> 
633                    <#assign isExcluded = fib.dmaexclude?number!0> 
634                </#if>    
635                <#if (fib.offerType=="108" || fib.offerType=="109" || fib.offerType == "121")> 
636 
637                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', '${fib.offerId}' + '&'+ '${fib.sourceCode}')> 
638                    <#if (scrapedData?size > 0)> 
639                            <#list scrapedData as sItem> 
640                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
641                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
642                                    <#break> 
643                                </#if> 
644 
645                            </#list> 
646                            <script> 
647                                $(document).ready(function () { 
648                                    var aprText = "${apr}"; 
649                                    //console.log('aprText',aprText); 
650                                    if (aprText) { 
651                                      $(".apr-full-text").html(aprText); 
652                                        try { 
653                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
654                                            var billing_cycle = matches[1]; 
655                                            var apr_min = apr_min = matches[2]; 
656                                            var apr_max = apr_max = matches[3]; 
657                                            //console.log('billing_cycle', billing_cycle); 
658                                            //console.log('apr_min', apr_min); 
659                                            //console.log('apr_max', apr_max); 
660                                            if (billing_cycle) { 
661                                                //console.log($(".scraped-billing-cycle")); 
662                                                $(".scraped-billing-cycle").html(billing_cycle); 
663
664                                            if (apr_min) { 
665                                                $(".scraped-apr-min").html(apr_min); 
666
667                                            if (apr_max) { 
668                                                $('.scraped-apr-max').html(apr_max); 
669
670 
671                                        } catch (e) { 
672                                            console.log(e); 
673
674
675                                }); 
676                            </script> 
677                    </#if>   
678                </#if>      
679                <#if product?has_content && product != ""> 
680                    <#assign card_text = product + " Card"> 
681                </#if>    
682                <#assign tc_offerTypes = ['108', '109', '121', '144']> 
683                <#assign calculator_offerTypes = ['101', '104', '138', '154', '128', '143', '144']> 
684                <div class="hero-container ${class.getData()}"> 
685                    <div class="hero-main"> 
686                        <div class="hero-main-container"> 
687                            <div class="hero-main-offer"> 
688                                <div class="offer-detail"> 
689                                    <div class="offer-detail-cardArt cardArtImg"> 
690                                        <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
691                                        onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'" class="jn-img-responsive"> 
692                                        <p>${card_text!''}</p> 
693                                        <#if (hasBalanceTransferCalculator)> 
694                                            <a href="javascript:void(0);" data-micromodal-trigger="modal-2"aria-hidden="true" >See how much you could save with a balance transfer</a> 
695                                        </#if> 
696                                    </div> 
697                                    <div class="offer-detail-text text-color-default hide-desktop"> 
698                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
699 
700                                        <#if (tc_offerTypes?seq_contains(fib.offerType))> 
701                                            <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank"> 
702                                                <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions 
703                                            </a> 
704                                        </#if> 
705                                        <#if (calculator_offerTypes?seq_contains(fib.offerType))> 
706                                            <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> 
707                                        </#if> 
708                                    </div> 
709                                     
710                                    <#if isExcluded == 0> 
711									 <#if useprcaValue == "1"> 
712									  <form id="applyForm" action="${prcaURL}?locationCode=${lc}&offerId=${fib.offerId!''}&preparerType=customer" method="post"> 
713								<input id='locationCode' type="hidden" name="locationCode" value="${lc}"> 
714								<input id='offerId' type="hidden" name="offerId" value="${fib.offerId!''}"> 
715								<input type="hidden" name="preparerType" value="customer"> 
716								</form> 
717 
718									  <a  
719                                            class="jn-button hide-desktop btn"  
720                                            data-button-name="cta-button-top"  
721                                            data-product-name="${productUrlHero!''}"   
722                                            href="#"  
723											offerId="${fib.offerId!''}" 
724											onclick="submitForm(event)" > 
725                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
726                                        </a> 
727									     
728									     <#else> 
729                                        <a  
730                                            class="jn-button hide-desktop btn"  
731                                            data-button-name="cta-button-top"  
732                                            data-product-name="${productUrlHero!''}"   
733                                            href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer${dcoSourceCodeQueryParameter}"                               
734
735                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
736											 
737                                        </a> 
738										</#if> 
739                                    <#else> 
740                                        <a                                              
741                                            class="jn-button hide-desktop btn"  
742                                            data-button-name="cta-button-top"  
743                                            data-product-name="${productUrlHero!''}"    
744                                            data-micromodal-trigger="modal-product-hero" 
745                                            href="javascript:void(0);"                             
746
747                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
748                                        </a> 
749                                    </#if> 
750                                </div> 
751                                <div class="offer-header"> 
752                                    <div class="offer-text-top"> 
753                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
754                                    </div> 
755                                    <div class="offer-text-bottom hide-mobile"> 
756                                        <div class="offer-detail-text text-color-default "> 
757                                            ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
758                                            <#if (tc_offerTypes?seq_contains(fib.offerType))> 
759                                                <a class="whiteLink" href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank"> 
760                                                    <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms & conditions 
761                                                </a> 
762                                            </#if> 
763                                        </div> 
764                                         
765                                         <#if isExcluded == 0>  
766										    <#if useprcaValue == "1"> 
767											<form id="applyForm" action="${prcaURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  method="post" >	 
768													<input id='locationCode' type="hidden" name="locationCode" value="${lc}"> 
769													<input id='offerId' type="hidden" name="offerId" value="${fib.offerId!''}"> 
770													<input type="hidden" name="preparerType" value="customer"> 
771													</form> 
772                                            <a  
773                                                class="jn-button"  
774                                                data-button-name="cta-button-top"  
775                                                data-product-name="${productUrlHero!''}"  
776                                                href="#"  
777												offerId="${fib.offerId!''}" 
778												onclick="submitForm(event)" > 
779                                                ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
780                                            </a> 
781												 
782											 <#else> 
783											   <a  
784                                                class="jn-button"  
785                                                data-button-name="cta-button-top"  
786                                                data-product-name="${productUrlHero!''}"  
787                                                href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer${dcoSourceCodeQueryParameter}"  
788
789                                                ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
790												 
791                                            </a> 
792											 </#if> 
793                                         <#else> 
794                                            <a  
795                                                class="jn-button"  
796                                                data-button-name="cta-button-top"  
797                                                data-product-name="${productUrlHero!''}"  
798                                                data-micromodal-trigger="modal-product-hero" 
799                                                href="javascript:void(0);"  
800
801                                                ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${product!''} Credit Card </span> 
802                                            </a> 
803                                         </#if> 
804                                         <#if (calculator_offerTypes?seq_contains(fib.offerType))> 
805                                            <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> 
806                                        </#if> 
807                                    </div> 
808                                </div> 
809                                 
810                            </div> 
811                        </div> 
812                    </div> 
813                </div> 
814 
815                <div aria-hidden="true" class="modal micromodal-slide" id="modal-product-hero" > 
816                    <div class="excludeModal__overlay" data-micromodal-close tabindex="-1"> 
817                        <div  
818                            aria-modal="true"  
819                            aria-labelledby="modal-prodcut-hero-title"  
820                            class="excludeModal__container"  
821                            role="dialog" 
822
823                            <button aria-label="Close modal" class="excludeModal__close" data-micromodal-close></button> 
824                            <header class="excludeModal__header"> 
825							<div> 
826                                <h2 class="excludeModal__title" id="modal-prodcut-hero-title"> 
827                                    <#if synExclusionMsg?has_content> 
828										${synExclusionMsg} 
829									<#elseif productTitle.getSiblings()[cardIndex].excludedMessage?? > 
830										${productTitle.getSiblings()[cardIndex].excludedMessage.getData()!""} 
831									</#if> 
832                                </h2> 
833							</div> 
834							<div id="excludeModalDivLink"> 
835								<#if synExclusionMsgURL?has_content> 
836									<p> 
837										<a href="${synExclusionMsgURL}" target="_blank" aria-label="${synExclusionMsgAriaLabel!''}" class="excludeModal__link"> 
838											Learn more 
839										</a> 
840									</p> 
841								</#if> 
842							</div> 
843                            </header> 
844                        </div> 
845                    </div> 
846                </div> 
847                <#break /> 
848            </#if> 
849        </#list>    
850 
851    </#if> 
852</#if> 
853<!-- https://micromodal.vercel.app/ --> 
854<script src="https://unpkg.com/micromodal/dist/micromodal.min.js"></script> 
855 
856<script> 
857   
858    AUI().ready(function(){ 
859        //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  
860        var locationCodeParam = '${lc}'; 
861        var currentEnvironmentParam = '${currentEnvironment}'; 
862        if(locationCodeParam == '20419' && currentEnvironmentParam == 'uat'){ 
863            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"}) 
864        }    
865 
866        MicroModal.init();      
867    }); 
868</script> 
869<script> 
870    if(typeof setHeaderBackground === 'undefined') { let setHeaderBackground = () => {};} 
871    setHeaderBackground = () => { 
872        // Makes the Header subtitle work if there is two lines of text  
873        //product page header 
874        var consumerHeader = document.getElementsByClassName("landing-consumer")[0]; 
875        if(!consumerHeader) { 
876            //index page header 
877            consumerHeader = document.getElementsByClassName("tier3-hero-landing-consumer")[0]; 
878
879         
880        if(consumerHeader) { 
881            var consumerHeroContainer = consumerHeader.getElementsByClassName("hero-main-container")[0]; 
882            var consumerOfferHeader = consumerHeader.getElementsByClassName("offer-subtitle")[0]; 
883            const offerTextTop = consumerHeader.querySelector(".offer-text-top"); 
884             
885            if (consumerOfferHeader.innerText.length >= 76){ 
886                const gradientHeight = Math.max(offerTextTop.offsetHeight + 40, 200) + "px"; 
887                //two lines 
888                //offerTextTop.style.marginTop = '0px'; 
889                //document.querySelector('.offer-text-bottom').style.marginTop = '25px'; 
890                //prevent button and text going into blue section 
891                //consumerHeader.querySelector('.offer-text-top h1').style.minHeight = "120px"; 
892                consumerHeroContainer.style.background = "linear-gradient(180deg, ${backgroundColor!'#173989'} " + gradientHeight + ", #f8f8f8 " + gradientHeight + ")"; 
893
894
895        //product page header 
896        var buisnessHeader = document.getElementsByClassName("landing-business")[0]; 
897        if(!buisnessHeader) { 
898            //index page header 
899            buisnessHeader = document.getElementsByClassName("tier3-hero-landing-business")[0]; 
900
901 
902        if(buisnessHeader) { 
903            var buisnessHeroContainer = buisnessHeader.getElementsByClassName("hero-main-container")[0]; 
904            var buisnessOfferHeader = buisnessHeader.getElementsByClassName("offer-subtitle")[0]; 
905 
906            if (buisnessOfferHeader.innerText.length >= 48){ 
907                //two lines 
908                buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 45%, ${backgroundColor!'#173989'} 45%)"; 
909
910
911    }; 
912    /* 
913        sometimes this runs before the text height it is refercning is loaded. Resulting in incorect background styles. If only in aui.ready then it flashes incorect styles then goes to correct styles everytime. 
914        With the aui.ready and imediate call it normal loads correctly but if it loads before header text it will still flash incorect styles and then be fixed. 
915    */ 
916    setHeaderBackground(); 
917    AUI().ready(function(){setHeaderBackground();});	 
918	  
919 
920</script> 
921<script> 
922    var excluded = '${isExcluded}';  
923	var useprcaValue = '${useprcaValue}'; 
924	var url23 ='${url}'; 
925    function submitForm(event) { 
926        event.preventDefault(); 
927		var offerId = event.target.getAttribute("offerId");		 
928		console.log("offerId::::::::::::::"+offerId); 
929 
930        var lc = document.getElementById('locationCode').value; 
931        //var offerId = document.getElementById('offerId').value; 
932		//var sourceCode = document.getElementById('sourceCode').value; 
933         
934        // Construct the URL         
935		var url = "${prcaURL}?locationCode=" + lc + "&offerId=" + offerId + "&preparerType=customer"; 
936 
937 
938        // Set the form action to the constructed URL 
939        document.getElementById('applyForm').action = url; 
940 
941        // Submit the form 
942		postCreditcardLearnMore(url); 
943        //document.getElementById('applyForm').submit(); 
944
945	function postCreditcardLearnMore(path, method='post') { 
946    // Create a form element 
947    const form = document.createElement('form'); 
948    form.method = method; 
949	//form.target = '_blank'; // Open in a new tab 
950    form.action = path; 
951 
952    // Add each parameter as a hidden input field     
953 
954    document.body.appendChild(form); 
955    form.submit(); 
956
957	 
958</script> 

5% cash back

on the first $2,000 combined eligible purchases each quarter on two chosen categories1

Unlimited 2% cash back

on eligible net purchases on one everyday category chosen

Unlimited 1% cash back

on all other eligible net purchases

So many rewards

5% cash back

from two categories like these:

  • Cell Phone Providers

  • TV, Internet & Streaming

  • Home Utilities

Redeem for deposits

into eligible checking or savings accounts, statement credits or rewards cards2

APR for Purchases:

18.99% to 29.24% based on your creditworthiness when you open your account. This APR will vary with the market and is based on the Prime Rate. Peapack-Gladstone Bank Max Cash Preferred Card Terms & Conditions

2% Unlimited cash back

from one category:

  • Gas Stations & Ground Transportation

  • Restaurants & Food Delivery

  • Grocery Stores & Grocery Delivery

Now pay over time with a Card ExtendPay plan

Split purchases into affordable payments with no interest – just a low, fixed monthly fee*.

 

New cardmembers receive a $0 fee offer on ExtendPay plans opened in the first 60 days after account opening.

Intro APR* for Balance Transfers:

0% introductory APR for the first 12 billing cycles for balances transferred within 366 days from account opening. After that, 18.99% to 29.24% based on your creditworthiness when you open your account. This APR will vary with the market and is based on the Prime Rate. Peapack-Gladstone Bank Max Cash Preferred Card Terms & Conditions

1% Unlimited cash back

on all other eligible net purchases

Plus,

No required quarterly enrollment

$150 bonus (15,000 points)

after $500 in eligible net purchases are made within the first 90 days of account opening2

Annual Fee*

None Peapack-Gladstone Bank Max Cash Preferred Card Terms & Conditions

An error occurred while processing the template.
The following has evaluated to null or missing:
==> synExclusionMessageService.getClientProfileAndSyndicatedExclusionMsg  [in template "10154#10192#157461212" at line 44, column 36]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign synExclusionMessageData = syn...  [in template "10154#10192#157461212" at line 44, column 1]
----
1<#assign oadURL = propsUtil.get('elan.oad.url') > 
2<#assign url = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()/> 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = (serviceLocator.findService("com.elan.crc.utilites.service.CRCRemoteServiceService"))! /> 
5<#assign url404 = '/error/404.html' > 
6 
7<#assign lc = qstringmap["ecdma-lc"]?first> 
8<#assign lc = htmlUtil.escape(lc)> 
9<#assign lc = htmlUtil.escapeJS(lc)> 
10 
11<#assign dcoSourceCode = ""> 
12<#assign dcoSourceCodeQueryParameter = ""> 
13 
14<#if qstringmap["sourcecode"]?has_content> 
15    <#assign dcoSourceCode = qstringmap["sourcecode"]?first> 
16    <#assign dcoSourceCode = htmlUtil.escape(dcoSourceCode)> 
17    <#assign dcoSourceCode = htmlUtil.escapeJS(dcoSourceCode)> 
18    <#assign dcoSourceCodeQueryParameter = "&sourcecode=${dcoSourceCode}"> 
19<#elseif qstringmap["sourceCode"]?has_content> 
20    <#assign dcoSourceCode = qstringmap["sourceCode"]?first> 
21    <#assign dcoSourceCode = htmlUtil.escape(dcoSourceCode)> 
22    <#assign dcoSourceCode = htmlUtil.escapeJS(dcoSourceCode)> 
23    <#assign dcoSourceCodeQueryParameter = "&sourcecode=${dcoSourceCode}"> 
24</#if> 
25  
26<#assign prefix = "00000" > 
27<#assign lcWithPrefix = prefix + lc > 
28<#assign withPrefixLength = lcWithPrefix?length > 
29<#assign startHere = withPrefixLength - 5> 
30<#assign lc = lcWithPrefix?substring(startHere)> 
31<#assign prcaURL = propsUtil.get('elan.prca.url')> 
32<#assign useprcaValue = "" > 
33<#assign clientProfileService = (serviceLocator.findService("com.elan.crc.user.service.CrcClientProfileLocalService"))! > 
34<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
35 
36<#if clientProfileList?first?has_content> 
37    <#assign clientProfile = clientProfileList?first> 
38    <#assign partnerName = clientProfile.getMarketingNameLong()> 
39    <#assign pbu = clientProfile.getPbu()> 
40    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
41    <#assign cdnCardArtUrl = (propsUtil.get('rackspace.cdn.cardart.url'))!> 
42	 
43<#assign synExclusionMessageService = (serviceLocator.findService("com.elan.crc.quicklink.service.SYNExclusionMessageLocalService"))! /> 
44<#assign synExclusionMessageData = synExclusionMessageService.getClientProfileAndSyndicatedExclusionMsg(lc) /> 
45<#assign synExclusionMsg = "" /> 
46<#assign synExclusionMsgURL = "" /> 
47<#assign synExclusionMsgAriaLabel = "" /> 
48 
49<#if synExclusionMessageData?exists && synExclusionMessageData?has_content> 
50    <#assign synExclusionMsgObj = synExclusionMessageData[0]> 
51    <#assign synExclusionMsg = synExclusionMsgObj[4]!"" /> 
52    <#assign synExclusionMsgURL = synExclusionMsgObj[5]!"" /> 
53    <#assign synExclusionMsgAriaLabel = synExclusionMsgObj[6]!"" /> 
54</#if> 
55 
56    <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu + '&' + lc)> 
57    <#assign temp = []> 
58    <#assign offerTypeList = []>      
59    <#assign index = 0> 
60    <#list fiCardsData as fib> 
61	<#assign useprcaValue = fib.useprca!""> 
62        <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>  
63            <#assign offerTypeList = offerTypeList + [fib.offerType]>                   
64            <#assign temp = temp + fiCardsData[index..index]>  
65        </#if>  
66        <#assign index = index + 1>                
67    </#list>  
68    <#assign fiCardsData = temp>  
69 
70    <#if (fiCardsData?size > 0)>  
71        <#list fiCardsData as fib> 
72            <#switch fib.offerType> 
73                <#case "101"> 
74                    <#assign productURL = "consumer-edr"> 
75                    <#assign productName = "Everyday Rewards+"> 
76                    <#break> 
77                <#case "103"> 
78                    <#assign productURL = "consumer-edr"> 
79                    <#assign productName = "Everyday Rewards+"> 
80                    <#break> 
81                <#case "104"> 
82                    <#assign productURL = "max-cash"> 
83                    <#assign productName = "Max Cash Preferred Card">       
84                    <#break> 
85                <#case "108"> 
86                    <#assign productURL="consumer-platinum"> 
87                    <#assign productName="Platinum Card"> 
88                    <#break> 
89                <#case "109"> 
90                    <#assign productURL="consumer-platinum"> 
91                    <#assign productName="Platinum Card"> 
92                    <#break> 
93                <#case "115"> 
94                    <#assign productURL = "secured"> 
95                    <#assign productName = "Secured Card" > 
96                    <#break> 
97                <#case "138"> 
98                    <#assign productURL = "travel-rewards-plus"> 
99                    <#assign productName = "Travel Rewards+" > 
100                    <#break> 
101                <#case "141"> 
102                    <#assign productURL = "college-real-rewards"> 
103                    <#assign productName = "College Real Rewards" >     
104                    <#break> 
105                <#case "147"> 
106                    <#assign productURL = "max-cash-secured"> 
107                    <#assign productName = "Max Cash Secured Card" >     
108                    <#break> 
109                <#case "154"> 
110                    <#assign productURL = "reserve-rewards-plus"> 
111                    <#assign productName = "Reserve Rewards+" > 
112                    <#break> 
113                <#case "121"> 
114                    <#assign productURL = "business-platinum"> 
115                    <#assign productName = "Business Card" > 
116                    <#break> 
117                <#case "128"> 
118                    <#assign productURL = "business-cash-preferred"> 
119                    <#assign productName = "Business Cash Preferred" > 
120                    <#break> 
121                <#case "143"> 
122                    <#assign productURL = "business-real-rewards"> 
123                    <#assign productName = "Business Real Rewards Card" > 
124                    <#break> 
125                <#case "144"> 
126                    <#assign productURL = "smart-business-rewards"> 
127                    <#assign productName = "Smart Business Rewards Card" >     
128                    <#break> 
129                <#default>                                                         
130            </#switch> 
131 
132            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png"> 
133            <#assign cardArtImageAlt = cdnCardArtUrl + "/" + fib.filename + ".jpg">  
134            <#if productURL?has_content && url?matches(".*/${productURL}\\?.*")> 
135                <script> 
136                 console.log('offerType', '${fib.offerType}', '${productURL}') 
137                </script> 
138                <#list product.getSiblings() as card> 
139                    <#if card?has_content && card.offerType.getData() == fib.offerType> 
140                        <#assign isExcluded = 0> 
141                        <#if fib.dmaexclude??>  
142                            <#assign isExcluded = fib.dmaexclude?number!0> 
143                        </#if>    
144 
145                        <div class="content-container jn-container-banner" title="${partnerName!''} ${productName!''}"> 
146                            <div class="banner-wrapper"> 
147                                <div class="banner"> 
148                                    <div class="banner-cardArt cardArtImg">   
149                                        <img  
150                                            src="${cardArtImage!''}"  
151                                            alt="${partnerName!''} ${productName!''}"  
152                                            title="${partnerName!''} ${productName!''}" 
153                                            class="jn-img-responsive"  
154                                            onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'" 
155                                        >  
156                                    </div> 
157                                    <div class="banner-cta"> 
158                                        <div class="banner-cta-text"> 
159                                            ${card.optionalCtaFeatureText.getData()} 
160                                        </div> 
161                                        <#if isExcluded == 0>   
162										                                           
163											<#if useprcaValue == "1"> 
164												<a  
165                                                    class="jn-button"  
166                                                    data-button-name="cta-button-bottom"  
167                                                    data-product-name="${productURL}!''" 
168                                                    href="#" 
169													offerId="${fib.offerId}" 
170													onclick="submitForm(event)"	 
171
172                                                   ${card.optionalCtaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${productName!''} Card </span>  
173                                                </a>											  
174											  <form id="applyFormLB" action="${prcaURL}?locationCode=${lc}&amp;offerId=${fib.offerId}&amp;preparerType=customer" method="post"> 
175													<input type="hidden" name="locationCode" value="${lc}" id="locationCodeLB"> 
176													<input type="hidden" name="offerId" value="${fib.offerId}" id="offerId"> 
177													<input type="hidden" name="preparerType" value="customer"> 
178													</form> 
179											<#else> 
180											<a  
181                                                class="jn-button"  
182                                                data-button-name="cta-button-bottom"  
183                                                data-product-name="${productURL}!''" 
184                                                href="${oadURL}?locationCode=${lc}&amp;offerId=${fib.offerId}&amp;preparerType=customer${dcoSourceCodeQueryParameter}"  
185                                                id="oadSecButton"  
186
187                                                ${card.optionalCtaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${productName!''} Card </span> 
188                                            </a>  
189											</#if> 
190                                        <#else> 
191                                            <a  
192                                                class="jn-button"  
193                                                data-button-name="cta-button-bottom"  
194                                                data-product-name="${productURL}!''" 
195                                                data-micromodal-trigger="modal-lower-banner" 
196                                                id="oadSecButton"  
197                                                href="javascript:void(0);" 
198
199                                                ${card.optionalCtaText.getData()}<span class="screen-reader-only">&nbsp;for ${partnerName!''} ${productName!''} Card </span> 
200                                            </a>  
201                                        </#if>  
202                                    </div> 
203                                </div> 
204                            </div> 
205                        </div> 
206                        <style> 
207                            .excludeModal__overlay { 
208                                position: fixed; 
209                                top: 0; 
210                                left: 0; 
211                                right: 0; 
212                                bottom: 0; 
213                                background: rgba(0,0,0,0.6); 
214                                display: flex; 
215                                justify-content: center; 
216                                align-items: center; 
217
218 
219                            .excludeModal__container { 
220                                background-color: #fff; 
221                                padding: 30px; 
222                                min-width: 500px; 
223                                max-width: 500px; 
224                                max-height: 100vh; 
225                                border-radius: 4px; 
226                                overflow-y: auto; 
227                                box-sizing: border-box; 
228
229 
230                            .excludeModal__header { 
231                                display: block; 
232                                justify-content: space-between; 
233                                align-items: center; 
234
235 
236                            .modal .excludeModal__container .excludeModal__title { 
237                                margin-top: 0; 
238                                margin-bottom: 0; 
239                                font-weight: 600; 
240                                font-size: 20px; 
241                                line-height: 1.25; 
242                                color: #00449e; 
243                                box-sizing: border-box; 
244
245                             
246                            .excludeModal__close { 
247                                background: transparent; 
248                                border: 1px solid white; 
249                                padding: 4px 8px; 
250                                float: right; 
251
252 
253                            .excludeModal__close:hover { 
254                                border: 1px solid black; 
255
256 
257                            .excludeModal__close:before { content: "\2715"; } 
258 
259                            @keyframes mmfadeIn { 
260                                from { opacity: 0; } 
261                                to { opacity: 1; } 
262
263 
264                            @keyframes mmfadeOut { 
265                                from { opacity: 1; } 
266                                to { opacity: 0; } 
267
268 
269                            @keyframes mmslideIn { 
270                                from { transform: translateY(15%); } 
271                                to { transform: translateY(0); } 
272
273 
274                            @keyframes mmslideOut { 
275                                from { transform: translateY(0); } 
276                                to { transform: translateY(-10%); } 
277
278 
279                            .micromodal-slide { 
280                                display: none; 
281
282 
283                            .micromodal-slide.is-open { 
284                                display: block; 
285
286 
287                            .micromodal-slide[aria-hidden="false"] .excludeModal__overlay { 
288                                animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1); 
289
290 
291                            .micromodal-slide[aria-hidden="false"] .excludeModal__container { 
292                                animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1); 
293
294 
295                            .micromodal-slide[aria-hidden="true"] .excludeModal__overlay { 
296                                animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1); 
297
298 
299                            .micromodal-slide[aria-hidden="true"] .excludeModal__container { 
300                                animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1); 
301
302 
303                            .micromodal-slide .excludeModal__container, 
304                            .micromodal-slide .excludeModal__overlay { 
305                                will-change: transform; 
306
307							 
308							.excludeModal__link { 
309								font-size: 18px !important; 
310								font-weight: bold; 
311								color: #00449e !important; 
312								text-decoration: underline !important; 
313
314							 
315							.excludeModal__link a:hover { 
316								text-decoration: underline !important; 
317
318							 
319							#excludeModalDivLink { 
320								margin-top: 20px; 
321
322                        </style> 
323                        <div aria-hidden="true" class="modal micromodal-slide" id="modal-lower-banner" > 
324                            <div class="excludeModal__overlay" data-micromodal-close tabindex="-1"> 
325                                <div  
326                                    aria-modal="true"  
327                                    aria-labelledby="modal-lower-banner-title"  
328                                    class="excludeModal__container"  
329                                    role="dialog" 
330
331                                    <button aria-label="Close modal" class="excludeModal__close" data-micromodal-close></button> 
332                                    <header class="excludeModal__header"> 
333									<div> 
334                                        <h2 class="excludeModal__title" id="modal-lower-banner-title"> 
335										<#if synExclusionMsg?has_content> 
336											${synExclusionMsg} 
337                                        <#elseif card.excludedMessage?? > 
338                                                ${card.excludedMessage.getData()!""} 
339                                        </#if> 
340                                        </h2> 
341									</div> 
342									<div id="excludeModalDivLink"> 
343									<#if synExclusionMsgURL?has_content> 
344									<p> 
345										<a href="${synExclusionMsgURL}" target="_blank" aria-label="${synExclusionMsgAriaLabel!''}" class="excludeModal__link"> 
346											Learn more 
347										</a> 
348									</p> 
349									</#if> 
350								</div> 
351                                    </header> 
352                                </div> 
353                            </div> 
354                        </div> 
355                        <!-- https://micromodal.vercel.app/ --> 
356                        <script src="https://unpkg.com/micromodal/dist/micromodal.min.js"></script> 
357                        <script> 
358                            AUI().ready(function(){  
359                                MicroModal.init();      
360                            }); 
361                        </script> 
362                        <#break> 
363                    </#if> 
364                </#list> 
365                <#break> 
366            </#if> 
367        </#list> 
368    </#if> 
369<#else> 
370    <script> 
371        console.log("discalimer: client profile empty"); 
372    </script> 
373</#if> 
374<script> 
375    function submitForm(event) { 
376        event.preventDefault(); // Prevent the default behavior of the anchor tag 
377		 var offerId = event.target.getAttribute("offerId"); 
378		 
379         var lc = document.getElementById('locationCodeLB').value; 
380        //var offerId = document.getElementById('offerIdLB').value; 
381         
382        // Construct the URL 
383        var url = "${prcaURL}?locationCode=" + lc + "&offerId=" + offerId + "&preparerType=customer"; 
384 
385        // Set the form action to the constructed URL 
386        document.getElementById('applyFormLB').action = url; 
387 
388        // Submit the form 
389		postCreditcardLearnMore(url); 
390        //document.getElementById('applyFormLB').submit(); 
391
392	 
393	function postCreditcardLearnMore(path, method='post') { 
394    // Create a form element 
395    const form = document.createElement('form'); 
396    form.method = method; 
397	//form.target = '_blank'; // Open in a new tab 
398    form.action = path; 
399 
400    // Add each parameter as a hidden input field     
401 
402    document.body.appendChild(form); 
403    form.submit(); 
404
405</script> 

Elan Financial Services may change APRs, fees and other Account terms in the future based on your experience with it and its affiliates as provided under the Cardmember Agreement and applicable law.

 

Subject to credit approval.

 

The Elan Reward Program is subject to change. Rewards are earned on eligible net purchases. Net purchases are purchases minus credits and returns. Not all transactions are considered to be Purchases and eligible to earn rewards, such as transactions posting as Convenience Checks; Balance Transfers; Advances (including ATM withdrawals, wire transfers, traveler's checks, money orders, foreign cash transactions, betting transactions, and lottery tickets); interest charges and fees; credit insurance premiums; and transactions to (i) fund certain prepaid card products, (ii) buy currency from the U.S. Mint, or (iii) buy cash convertible items. Upon approval, see your Cardmember Agreement for details. Subject to applicable law, you may not redeem rewards, and you will immediately lose all of your rewards, if your Account is closed to future transactions (including, but not limited to, due to Program misuse, failure to pay, bankruptcy, or death).

 
  • *The 0% introductory APR applies to balance transfers and is valid for the first 12 billing cycles. The introductory rate does not apply to purchases and cash advances. Balance Transfer Information: Balance transfer transactions from other Elan Financial Services accounts are not permitted. You may cancel a balance transfer request within 10 days of account opening by calling 800-285-8585. After 10 days from account opening, requests to stop payment on Balance Transfer Check(s) issued by Elan shall not be honored unless the check(s) has been stolen, lost or destroyed. Balance Transfer fee of 3% of each transfer amount, $5 minimum payment will apply. We apply your minimum payment to balances with lower APRs first, including promotional APRs. Amounts paid over the minimum payment will be applied in the order of highest to lowest APR balances. If you take advantage of this offer, you may not be able to avoid interest on future purchases, even if your offer has a 0% APR. You can avoid interest on purchases if you pay your entire account balance, including any balances you create with this offer, in full by your due date each month. We may change APRs, fees, and other Account terms in the figure based on your experience with Elan Financial Services and its affiliates as provided under the Cardmember Agreement and applicable law. Elan Card ExtendPay fees: A monthly fee not to exceed 1.6% of the original principal amount in an Elan Card ExtendPay plan. This fixed fee is disclosed upon enrollment and charged each month that you owe the applicable ExtendPay balance. ExtendPay fees are calculated based upon the original principal amount, Purchase APR, and other factors. When you make a payment, the amount up to your Minimum Payment is applied first to the monthly payment obligation for ExtendPay plans if any, and then to non-Fixed Payment Program balances in the order of the lowest to highest APR. Any amount over your Minimum Payment is applied to balances in the order of highest to lowest APR.
  • 1. Cardmember must initially enroll into categories of their choice, or all net purchases will earn no more than 1% cash back. Categories are subject to change. You will earn 5% cash back on your first $2,000 in combined net purchases each calendar quarter in your two chosen 5% categories and unlimited cash back in your 2% category. All other net purchases earn 1% cash back. Spend over the $2,000 quarterly cap/limits for the 5% categories will earn 1% cash back. Transactions qualify for 5% or 2% cash back based on how merchants classify the transaction. Upon approval, full details will be provided in your Cardmember Agreement. Rewards are earned on eligible net purchases. Cash rewards can be redeemed as a deposit to a checking or savings account with this Financial Institution only, within seven business days, as a statement credit to your credit card account within one to two billing cycles or as a Rewards Card ($25 minimum redemption). Cash rewards do not expire as long as the account remains active. If there is no reward, purchase, or balance activity on your account for 12 statement cycles, your cash rewards balance will expire.
  • 2. Rewards can be redeemed as cash deposit to a checking or savings account with this Financial Institution only, which will be deposited within seven business days, or as a statement credit to your credit card account, which will be deposited within one to two billing cycles as a Rewards Card ($25 minimum redemption). A one-time $150 bonus will be awarded for redemption after eligible net purchases totaling $500 or more are made to your account within 90 days from account opening. Please allow 6-8 weeks after you have met the spend requirement for your bonus to be credits to your rewards balance.
 

The creditor and issuer of these Cards is Elan Financial Services, pursuant to separate licenses from Visa U.S.A. Inc., Mastercard International Incorporated. Mastercard is a registered trademark, and the circles design is a trademark of Mastercard International Incorporate.



 

Cardmember Agreements

Privacy and Security