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

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 introductory rate does not apply to cash advances. For the Max Cash Preferred card, the introductory rate also does not apply to purchases. 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 will apply. For the Platinum card, a Balance Transfer fee of 5% of each transfer amount, $5 minimum 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.
  • 1. If you're approved for a new Everyday Rewards+ Card, a one-time 15,000 bonus points ($150 value) will be awarded 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 credited to your rewards balance. Everyday Rewards+ Card: You will earn 1 Point for every dollar in eligible net purchases charged to your Account during each billing cycle. In addition, you will earn additional Points for the following: You will earn 3 additional Points for every dollar in eligible net purchases during each billing cycle at merchants classified as a restaurant, fast-food restaurant or bar. You will earn 1 additional Point for every dollar in eligible net purchases during each billing cycle at merchants classified as gas station, grocery store, supermarket or qualifying streaming subscription service. Refer to program rules for official list of qualifying streaming services merchants. Purchases at or delivery from discount/retail stores that sell groceries may not qualify for the grocery store or grocery delivery category. Purchases qualify for Points based on how merchants choose to classify their business and we reserve the right to determine which purchases qualify. 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) Points expire five years from the end of the quarter in which they are earned.
  • 2. If you're approved for a new Max Cash Preferred Card, 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 credited to your rewards balance. Max Cash Preferred Card: 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.
  • 3. The Elan Rewards 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).
  • 4. Late payments or going over the credit limit may damage your credit history. For the Secured and Max Cash Secured products, your credit limit will be equal to the amount of your security deposit.
  • 5. If you're approved for a new Max Cash Secured Card, 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
  • 6. If you are approved for a new College Real Rewards Card, you will earn 1.5 Reward Points ("Points") for each dollar of eligible Net Purchases made with your Account within a billing cycle (equal to 1.5% cash back). Monthly net purchase points will be applied each billing cycle. Points expire five years from the end of the quarter in which they are earned. Reward points can be redeemed as a cash deposit to a checking or saving account with this Financial Institution only, within seven business days, or as a statement credit to your credit card account within one to two billing cycles. First purchase bonus points (2,500) will be applied 6 to 8 weeks after first purchases and are not awarded for balance transfers or cash advances. Please allow 6-8 weeks after you have met the spend requirement for your bonus points to be credited to your account
  • 7. If you're approved for a new Travel Rewards+ Card, a one-time 25,000 bonus points will be awarded after eligible net purchases totaling $2,000 or more are made to your account within 120 days from account opening. Please allow 1-2 statement billing cycles for your bonus Points to appear on your credit card statement. Travel Rewards+ Card: You will earn one and one-half (1.5) Points for every $1 dollar in eligible net purchases charged to your Account during each billing cycle. In addition, you will earn additional Points for the following: You will earn 2.5 additional Points for every $1 in Net Purchases during each billing cycle from merchants classified in qualifying travel (such as purchases made directly from airlines, hotels, car rental companies, taxicabs, limousines, passenger trains and cruise line companies), gas station, electric vehicle charging station, entertainment, and recreation category codes. Additional Points for Entertainment and Recreation purchases are dependent on how merchants choose to classify their business. Merchants classified as Entertainment include: most cinemas, theme parks, concert venues, professional sports venues, and qualifying ticket sellers such as Ticketmaster® and StubHub®. Entertainment purchases that may not be eligible include tickets purchased from colleges and universities, associations, schools, and charitable organizations. Merchants classified as Recreation include: sports and recreation facilities that charge membership fees, sporting goods stores, public golf courses, fitness centers, ongoing fitness subscriptions, recreational vehicle parks and campsites, dance studios and schools, and bowling centers. Purchases from third parties and consultants at these locations may not qualify. A purchase will not earn additional Points if the merchant's selected code is in a category that is not eligible for additional Points earning. We do not determine the category codes that merchants choose and reserve the right to determine which purchases qualify for additional Points. Reward points can be redeemed as a 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 or as a Rewards Card ($25 minimum redemption). Points expire five years from the end of the quarter in which they are earned.
  • 8. If you're approved for a new Reserve Rewards+ Card, a one-time 50,000 bonus points will be awarded after eligible net purchases totaling $4,500 or more are made to your account within 90 days from account opening. Please allow 1-2 statement billing cycles for your bonus Points to appear on your credit card statement. Reserve Rewards+ Card: You will earn two (2) Points for every $1 dollar in eligible net purchases charged to your Account during each billing cycle. In addition, you will earn four (4) additional Points (6 Points total) for every $1 in eligible Net Purchases spent on airline tickets, car rental, and hotel reservations booked directly in the Rewards Center using your rewards credit card instead of Points. Purchases qualify for Points based on how merchants choose to classify their business and we reserve the right to determine which purchases qualify. Reward points can be redeemed as a 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 or as a Rewards Card ($25 minimum redemption). Points expire five years from the end of the quarter in which they are earned.
 

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

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 introductory rate does not apply to cash advances. Balance Transfer Information: Balance transfer transactions from other Elan Financial Services accounts are not permitted. Balance transfers submitted at time of application will be held for 10 days before processing. Balance Transfer fee of 3% of each transfer amount, $5 minimum will apply. The rate will end early and increase to the APR for Purchases and Balance Transfers or to a Penalty Rate APR if you make a late payment, make a payment that is returned, or your account exceeds its credit limit. We apply payments to balances with lower APRs, including promotional APRs, before balances with higher APRs.
  • 1. Smart Business Rewards Card: You will earn 1 Point for every dollar in eligible net purchases charged to your Account during each billing cycle. In addition, you will earn 1 additional bonus Point (for a total of 2 Points) for every dollar in eligible net purchases in your top two highest merchant spend categories ("Highest Categories") each billing cycle. Highest Categories can change with each billing cycle, depending on your purchase behavior during a particular billing cycle. Highest Categories automatically adjust to reward you on where you spend the most. Some exclusions apply. Please visit https://card.myaccountaccess.com/smartbusinessVisa to see the full list of eligible merchant categories. Merchants are assigned codes based on what they primarily sell. Elan Financial Services cannot control how merchants choose to classify their business and reserves the right to determine which purchases qualify. A purchase will not earn additional points if the merchant's code is not eligible. Points expire five years from the end of the quarter in which they are earned.
  • 2. A one time bonus of 20,000 points will be awarded if you are approved and eligible. Net Purchases totaling $500 or more are made on the Authorized Officer's card within the first 90 days of account opening. These bonus points will be awarded on your monthly billing statement. This offer may not be combined with any other bonus offer. Additional bonus points are earned only on Authorized Officer purchases. Net purchases are purchases minus credits and returns. Rewards are earned based on eligible net purchases. Not all transactions are eligible to earn rewards, such as Cash Advances, Balance Transfers, and Convenience Checks. Upon approval, see your Cardmember Agreement for details. Please allow 6-8 weeks for your bonus points to be credited to your account.
  • 3. The Elan Rewards 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).
  • 4. Business Cash Preferred Card: You will earn 3% cash back for every dollar in eligible net purchases at merchants classified as gas stations, office supply stores, dining, restaurants, fast-food restaurants, bars, food delivery services and cell phone service providers. All other net purchases will earn 1% cash back. Purchases at gas stations greater than $200 are not considered an automotive gasoline purchase and will therefore earn 1% cash back. Cash rewards can be redeemed as a deposit to a checking or savings account with this Financial Institution only, which will be deposited within one to two billing cycles, or as a statement credit to your credit card account within one to two billing cycles, or a Rewards Card ($25 minimum redemption).
  • 5. Reward points can be redeemed as a cash deposit to a checking or savings account with this Financial Institution only, within seven business days, or as a statement credit to your credit card account within one to two billing cycles. First purchase bonus points will be applied 6 to 8 weeks after first purchase and are not awarded for balance transfers or cash advances. First use bonus points are awarded only on the Authorized Officer purchases. Please allow 6-8 weeks after you have met the spend requirement for your bonus points to be credited to your account.
  • 6. Real Rewards: You will earn 1.5 Reward Points ("Points") for each dollar of eligible Net Purchases made with your Account within a billing cycle (equal to 1.5% cash back). Monthly net purchase points will be applied each billing cycle. Points expire five years from the end of the quarter in which they are earned.
  • 7. Business Cash Preferred Card: An automatic statement credit of $100 per 12-month period will be applied to your Business Cash Preferred Account within 2 statement billing cycles following 11 consecutive months of eligible software service purchases made directly with a software service provider. We reserve the right to adjust or reverse any portion or all of any software services credit for unauthorized purchases or transaction credits.
 

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

Cardmember Agreements

Privacy and Security