An error occurred while processing the template.
Java method "jdk.proxy66.$Proxy598.getArticleContent(long, String, String, com.liferay.portal.kernel.portlet.PortletRequestModel, com.liferay.portal.kernel.theme.ThemeDisplay)" threw an exception when invoked on jdk.proxy66.$Proxy598 object "com.liferay.journal.service.impl.JournalArticleServiceImpl@3ce24e39"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: bannerConsultorContent = journalArtic...  [in template "176139#176179#1006591" at line 412, column 5]
----
1<#assign  
2    journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleService") 
3    assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService") 
4    currentArticle = journalArticleService.getArticle(groupId, .vars['reserved-article-id'].data) 
5    categories = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", currentArticle.getResourcePrimKey()) 
6    categoriesString = "" 
7/> 
8 
9<#list categories as category> 
10    <#if category.getVocabularyId() != 178885><#continue></#if> 
11    <#if categoriesString != ""><#assign categoriesString += " · "></#if> 
12    <#assign categoriesString += category.getTitle(locale)> 
13</#list> 
14 
15<#assign currentURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()> 
16 
17<@liferay_util["html-top"]> 
18    <meta name="twitter:card" content="summary_large_image" /> 
19    <meta name="twitter:description" content="${summaryNew.getData()?replace('<[^>]+>','','r')}" /> 
20    <meta name="twitter:image" content="https://catalonia.com${imageFirstNew.getData()}" /> 
21    <meta name="twitter:title" content="${titleNew.getData()?replace('<[^>]+>','','r')}" /> 
22</@> 
23 
24<section id="cabecera" class="cabecera_2"> 
25    <#if (imageFirstNew.getData())?? && imageFirstNew.getData() != ""> 
26        <img class="background_image" alt="${imageFirstNew.getAttribute("alt")}" data-fileentryid="${imageFirstNew.getAttribute("fileEntryId")}" src="${imageFirstNew.getData()}" /> 
27    <#else> 
28        <img class="background_image" src="/documents/176177/179111/news-generic.jpg" alt=""> 
29    </#if> 
30    <div class="background_degra"></div> 
31    <div class="content_head"> 
32    <div class="titular"> 
33        <#if (titleNew.getData())?? && titleNew.getData() != ""> 
34            <h1 class="medium_title">${titleNew.getData()}</h1> 
35        </#if> 
36        <div class="add_info"> 
37            <#if categories?has_content> 
38                <p class="category"> 
39                    <span>${categoriesString}</span> 
40                </p> 
41            </#if> 
42            <#if traslatedUrl?? && traslatedUrl.getData() != "" && traslatedUrl.getSiblings()?has_content> 
43                <div class="languages"> 
44                    <img src="/documents/176177/179195/idioma.png/f401554d-c635-40ae-c73a-c6cbb47d8d89?t=1737644561098" alt=""> 
45                    <p>Content available in:  
46                    <#assign isFirstLanguage = true> 
47                    <#list traslatedUrl.getSiblings() as cur_traslatedUrl> 
48                		<#if (cur_traslatedUrl.getData())??> 
49                            <#if !isFirstLanguage> / </#if> 
50                            <a href="${cur_traslatedUrl.getData()}?id=${currentArticle.getArticleId()}">${cur_traslatedUrl.traslatedLanguage.getData()}</a> 
51                            <#assign isFirstLanguage = false> 
52                        </#if> 
53                    </#list> 
54                </div> 
55            </#if> 
56        </div> 
57    </div> 
58    <#assign dateNew_Data = getterUtil.getString(dateNew.getData())> 
59        <#if validator.isNotNull(dateNew_Data)> 
60            <#assign dateNew_DateObj = dateUtil.parseDate("yyyy-MM-dd", dateNew_Data, locale)> 
61            <p class="date">${dateUtil.getDate(dateNew_DateObj, "dd MMM yyyy", locale)}</p> 
62        </#if> 
63        <#if (summaryNew.getData())?? && summaryNew.getData() != ""> 
64            <div class="summary"> 
65                ${summaryNew.getData()} 
66            </div> 
67        </#if> 
68        <#if (textLinkNew.urlLinkNew.getData())?? && textLinkNew.urlLinkNew.getData() != "" && (textLinkNew.getData())?? && textLinkNew.getData() != ""> 
69            <a href="${textLinkNew.urlLinkNew.getData()}" class="btn_red" <#if !textLinkNew.urlLinkNew.getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${textLinkNew.getData()}</a> 
70        </#if> 
71        <div class="separator"></div> 
72    </div> 
73</section> 
74 
75<#if (videoNew.getData())?? && videoNew.getData() != ""> 
76    <section class="part_video container-fluid"> 
77        <div class="video"> 
78            ${htmlUtil.unescape(videoNew.getData())} 
79        </div> 
80        <div class="background"></div> 
81    </section> 
82</#if> 
83 
84<#if (contentNewOne.getData())?? && contentNewOne.getData() != "" || (titleCita.getData())?? && titleCita.getData() != "" || (contentNewTwo.getData())?? && contentNewTwo.getData() != ""> 
85    <section class="content_new container"> 
86        <#if (videoNew.getData())?? && videoNew.getData() != ""> 
87            <div class="separator"></div> 
88        </#if> 
89        <div class="content_text"> 
90            <#if (contentNewOne.getData())?? && contentNewOne.getData() != ""> 
91                ${contentNewOne.getData()} 
92            </#if> 
93            <#if (titleCita.getData())?? && titleCita.getData() != "" || (titleCita.descriptionCita.getData())?? && titleCita.descriptionCita.getData() != ""> 
94                <div class="quote_ca"> 
95                    <div class="text"> 
96                        <#if (titleCita.getData())?? && titleCita.getData() != ""> 
97                            <p class="title">“${titleCita.getData()}” </p> 
98                        </#if> 
99                        <#if (titleCita.descriptionCita.getData())?? && titleCita.descriptionCita.getData() != ""> 
100                            <p class="description">${titleCita.descriptionCita.getData()}</p> 
101                        </#if> 
102                    </div> 
103                    <#if (titleCita.imageCita.getData())?? && titleCita.imageCita.getData() != ""> 
104                        <div class="image"> 
105                            <img alt="${titleCita.imageCita.getAttribute("alt")}" data-fileentryid="${titleCita.imageCita.getAttribute("fileEntryId")}" src="${titleCita.imageCita.getData()}" /> 
106                        </div> 
107                    </#if> 
108                    <div class="share_rrss"> 
109                        <p class="subtitle">Share quote:</p> 
110                        <ul class="list_rrss"> 
111                            <li> 
112                                <a title="Open new window" target="_blank" href='http://twitter.com/share?text="${titleCita.getData()}"%0a${titleCita.descriptionCita.getData()?replace('<[^>]+>','','r')}&url=%0a${currentURL}'> 
113                                    <span class="sr-only">X</span> 
114                                    <i class="fab fa-x-twitter"></i> 
115                                </a> 
116                            </li> 
117                            <li> 
118                                <a title="Open new window" target="_blank" href='https://www.linkedin.com/sharing/share-offsite/?url=${currentURL}&title="${titleCita.getData()}"%0a${titleCita.descriptionCita.getData()?replace('<[^>]+>','','r')}'> 
119                                    <span class="sr-only">LinkedIn</span> 
120                                    <i class="fab fa-linkedin-in"></i> 
121                                </a> 
122                            </li> 
123                            <li> 
124                                <a title="Open new window" target="_blank" href='https://www.facebook.com/sharer/sharer.php?u=${currentURL}&quote="${titleCita.getData()}"%0a${titleCita.descriptionCita.getData()?replace('<[^>]+>','','r')}'> 
125                                    <span class="sr-only">Facebook</span> 
126                                    <i class="fab fa-facebook"></i> 
127                                </a> 
128                            </li> 
129                            <li> 
130                                <a title="Open new window" target="_blank" href='https://api.whatsapp.com/send?text="${titleCita.getData()}"%0a${titleCita.descriptionCita.getData()?replace('<[^>]+>','','r')}%0a${currentURL}'> 
131                                    <span class="sr-only">Whatsapp</span> 
132                                    <i class="fab fa-whatsapp-square"></i> 
133                                </a> 
134                            </li> 
135                        </ul> 
136                    </div> 
137                </div> 
138            </#if> 
139            <#if (contentNewTwo.getData())?? && contentNewTwo.getData() != ""> 
140                ${contentNewTwo.getData()} 
141            </#if> 
142        </div> 
143    </section> 
144</#if> 
145 
146<div class="clearfix"></div> 
147 
148<#if titleSectionCards?exists> 
149    <#if (titleSectionCards.titleSliderCard.getData())?? && titleSectionCards.titleSliderCard.getData() != ""> 
150        <section class="type_card_21 container-fluid plans-container--slider"> 
151            <!-- Titular sección --> 
152            <div class="content_type_4"> 
153                <div class="line_red"></div> 
154                <#if (titleSectionCards.getData())?? && titleSectionCards.getData() != ""> 
155                    <div class="titular"> 
156                        <h2 class="big_title">${htmlUtil.unescape(titleSectionCards.getData())}</h2> 
157                    </div> 
158                </#if> 
159            </div> 
160 
161            <!--Carousel--> 
162            <div class="carrusel_card_big"> 
163                <#if (titleSectionCards.titleSliderCard.getSiblings()?size > 1)> 
164                    <button type="button" class="left-arrow"> 
165                        <span class="fas fa-arrow-circle-left" aria-hidden="true"></span> 
166                        <span class="sr-only">Previous</span> 
167                    </button> 
168                    <button type="button" class="right-arrow"> 
169                        <span class="fas fa-arrow-circle-right" aria-hidden="true"></span> 
170                        <span class="sr-only">Next</span> 
171                    </button> 
172                </#if> 
173 
174                <#if titleSectionCards.titleSliderCard.getSiblings()?has_content> 
175                    <ul class="list_cards"> 
176                        <#list titleSectionCards.titleSliderCard.getSiblings() as cur_titleSectionCards_titleSliderCard> 
177                            <li class="item"> 
178                                <div class="content_card"> 
179                                    <#if (cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getData())?? && cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getData() != ""> 
180                                        <div class="image"> 
181                                            <img alt="${cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getAttribute("alt")}" src="${cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getData()}" data-fileentryid="${cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getAttribute("fileEntryId")}" /> 
182                                        </div> 
183                                    </#if> 
184 
185                                    <div class="content"> 
186                                        <#if (cur_titleSectionCards_titleSliderCard.getData())?? && cur_titleSectionCards_titleSliderCard.getData() != ""> 
187                                            <h3 class="title">${cur_titleSectionCards_titleSliderCard.getData()}</h3>  
188                                        </#if> 
189                                        <#if (cur_titleSectionCards_titleSliderCard.getChild('contentSliderCard').getData())?? && cur_titleSectionCards_titleSliderCard.getChild('contentSliderCard').getData() != ""> 
190                                             <div class="content_text"> 
191                                                ${cur_titleSectionCards_titleSliderCard.getChild('contentSliderCard').getData()}  
192                                            </div> 
193                                        </#if> 
194                                        <#if (cur_titleSectionCards_titleSliderCard.getChild('urlLinkSliderCard').getData())?? && cur_titleSectionCards_titleSliderCard.getChild('urlLinkSliderCard').getData() != "" && (cur_titleSectionCards_titleSliderCard.getChild('textLinkSliderCard').getData())?? && cur_titleSectionCards_titleSliderCard.getChild('textLinkSliderCard').getData() != ""> 
195                                            <a href="${cur_titleSectionCards_titleSliderCard.getChild('urlLinkSliderCard').getData()}" class="btn_all_blue" <#if !cur_titleSectionCards_titleSliderCard.getChild('urlLinkSliderCard').getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${cur_titleSectionCards_titleSliderCard.getChild('textLinkSliderCard').getData()}</a> 
196                                        </#if> 
197                                    </div> 
198                                </div> 
199                            </li> 
200                        </#list> 
201                    </ul> 
202                </#if> 
203            </div> 
204        </section> 
205    </#if> 
206</#if> 
207 
208<#if (titleMoreInfo.LinkMoreInfo.getData())?? && titleMoreInfo.LinkMoreInfo.getData() != ""> 
209    <#if titleMoreInfo.LinkMoreInfo.getSiblings()?has_content> 
210        <section class="second_menu_2 container-fluid"> 
211            <div class="bloque"> 
212                <div class="image"> 
213                    <img src="/documents/176177/263024/003-informacin.png/da79a9cc-dab5-d58c-c0b2-8b7a423fe13a?t=1668690371158" alt=""> 
214                </div> 
215                <div class="text"> 
216                    <#if (titleMoreInfo.getData())??> 
217                        <h2 class="title">${titleMoreInfo.getData()}</h2> 
218                    </#if> 
219                    <ul class="list_links"> 
220                        <#list titleMoreInfo.LinkMoreInfo.getSiblings() as cur_titleMoreInfo_LinkMoreInfo> 
221                            <#if (cur_titleMoreInfo_LinkMoreInfo.getData())??> 
222                                <li class="item"> 
223                                    <a href="${cur_titleMoreInfo_LinkMoreInfo.getChild('UrlMoreInfo').getData()}" <#if !cur_titleMoreInfo_LinkMoreInfo.getChild('UrlMoreInfo').getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> > 
224                                        <#if (cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getData())?? && cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getData() != ""> 
225                                            <img alt="${cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getAttribute("alt")}" data-fileentryid="${cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getAttribute("fileEntryId")}" src="${cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getData()}" /> 
226                                        <#else> 
227                                            <i class="fas fa-globe"></i> 
228                                        </#if> 
229                                        ${cur_titleMoreInfo_LinkMoreInfo.getData()} 
230                                        <#if (cur_titleMoreInfo_LinkMoreInfo.getChild('TextAddMoreInfo').getData())?? && cur_titleMoreInfo_LinkMoreInfo.getChild('TextAddMoreInfo').getData() != "">  
231                                            <span>| ${cur_titleMoreInfo_LinkMoreInfo.getChild('TextAddMoreInfo').getData()}</span> 
232                                        </#if> 
233                                    </a> 
234                                </li> 
235                            </#if> 
236                        </#list> 
237                    </ul> 
238                </div> 
239            </div> 
240        </section> 
241    </#if> 
242</#if> 
243 
244<#if (titleGallery.imageGallery.getData())?? && titleGallery.imageGallery.getData() != ""> 
245    <#if titleGallery.imageGallery.getSiblings()?has_content> 
246        <section class="galery_multimedia container"> 
247            <div class="content_type_4"> 
248                <div class="line_red"></div> 
249                    <div class="titular"> 
250                        <h2 class="big_title"><span class="hand">Multimedia</span> <span class="dest_blue">gallery.</span></h2> 
251                    </div> 
252 
253                <#if (titleGallery.descriptionGallery.getData())?? && titleGallery.descriptionGallery.getData() != ""> 
254                    <div class="content_text"> 
255                        ${titleGallery.descriptionGallery.getData()} 
256                    </div> 
257                </#if> 
258            </div> 
259            <div class="bloque_galery"> 
260 
261                <div class="detail"> 
262                    <div class="tab-content" id="myGaleryTabContent"> 
263                        <#list titleGallery.imageGallery.getSiblings() as cur_galleryNews> 
264                            <div class="tab-pane fade <#if cur_galleryNews?index == 0>show active</#if>" id="item${cur_galleryNews?index}" role="tabpanel" aria-labelledby="item${cur_galleryNews?index}-tab"> 
265                                <#if !cur_galleryNews.getChild('videoGallery').getData()?? || cur_galleryNews.getChild('videoGallery').getData() == ""> 
266                                    <#if (cur_galleryNews.getData())?? && cur_galleryNews.getData() != ""> 
267                                        <img alt="${cur_galleryNews.getAttribute("alt")}" data-fileentryid="${cur_galleryNews.getAttribute("fileEntryId")}" src="${cur_galleryNews.getData()}" /> 
268                                        <a class="btn btn-monospaced btn-secondary" id="downloadIcon" href="${cur_galleryNews.getData()}" download aria-label="download"> 
269                                                <@clay["icon"] symbol="download" /> 
270                                        </a> 
271                                    </#if> 
272                                </#if> 
273                                ${cur_galleryNews.getChild('videoGallery').getData()} 
274                            </div> 
275                        </#list> 
276                    </div> 
277                </div> 
278 
279                <div class="links"> 
280                    <ul class="nav nav-tabs <#if titleGallery.imageGallery.getSiblings()?size gte 5>more</#if>" id="myGaleryTab"> 
281                        <#list titleGallery.imageGallery.getSiblings() as cur_galleryNews> 
282                            <li class="nav-item"> 
283                                <a class="nav-link <#if cur_galleryNews.getChild('videoGallery').getData()?has_content>video</#if> <#if cur_galleryNews?index == 0>active</#if>" id="item${cur_galleryNews?index}-tab" data-toggle="tab" href="#item${cur_galleryNews?index}" aria-controls="item${cur_galleryNews?index}" aria-selected="true" title="${cur_galleryNews.getAttribute("alt")}"> 
284                                    <#if (cur_galleryNews.getData())?? && cur_galleryNews.getData() != ""> 
285                                        <img alt="${cur_galleryNews.getAttribute("alt")}" data-fileentryid="${cur_galleryNews.getAttribute("fileEntryId")}" src="${cur_galleryNews.getData()}" /> 
286                                        <span class="sr-only">${cur_galleryNews.getAttribute("alt")}</span> 
287                                    </#if> 
288                                </a> 
289                            </li> 
290                        </#list> 
291                    </ul> 
292                </div> 
293 
294            </div> 
295        </section> 
296    </#if> 
297</#if> 
298 
299<#if (infoRelated.subtitleRelated.getData())?? && infoRelated.subtitleRelated.getData() != ""> 
300    <#if infoRelated.subtitleRelated.getSiblings()?has_content> 
301        <section class="type_card_5 <#if infoRelated.subtitleRelated.getSiblings()?size == 1>one</#if> container"> 
302            <div class="content_type_4"> 
303                <div class="line_red"></div> 
304                    <div class="titular"> 
305                    		<h2 class="big_title"><span class="hand">Discover</span> our <span class="dest_blue">services.</span></h2> 
306                    </div> 
307                <#if (infoRelated.descriptionRelated.getData())?? && infoRelated.descriptionRelated.getData() != ""> 
308                    <div class="content_text"> 
309                        ${infoRelated.descriptionRelated.getData()} 
310                    </div> 
311                </#if> 
312            </div> 
313            <#if infoRelated.subtitleRelated.getSiblings()?has_content> 
314 
315                <#if infoRelated.subtitleRelated.getSiblings()?size == 1> 
316                    <div class="list_item row"> 
317                        <div class="item col-12 col-md-4"> 
318                            <div class="bloque"> 
319                                <#if (infoRelated.subtitleRelated.iconRelated.getData())?? && infoRelated.subtitleRelated.iconRelated.getData() != ""> 
320                                    <img class="icon" alt="${infoRelated.subtitleRelated.iconRelated.getAttribute("alt")}" src="${infoRelated.subtitleRelated.iconRelated.getData()}" data-fileentryid="${infoRelated.subtitleRelated.iconRelated.getAttribute("fileEntryId")}" /> 
321                                </#if> 
322                                <div> 
323                                    <#if (infoRelated.subtitleRelated.getData())?? && infoRelated.subtitleRelated.getData() != ""> 
324                                        <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
325                                            <h3 class="small_title">${infoRelated.subtitleRelated.getData()}</h3> 
326                                        <#else> 
327                                            <h2 class="small_title">${infoRelated.subtitleRelated.getData()}</h2> 
328                                        </#if> 
329                                    </#if> 
330                                    <#if (infoRelated.subtitleRelated.subdescriptionRelated.getData())?? && infoRelated.subtitleRelated.subdescriptionRelated.getData() != ""> 
331                                        <div class="content_text"> 
332                                            ${infoRelated.subtitleRelated.subdescriptionRelated.getData()} 
333                                        </div> 
334                                    </#if> 
335                                    <#if (infoRelated.subtitleRelated.textLinkRelated.getData())?? && infoRelated.subtitleRelated.textLinkRelated.getData() != "" && (infoRelated.subtitleRelated.urlLinkRelated.getData())?? && infoRelated.subtitleRelated.urlLinkRelated.getData() != ""> 
336                                        <a href="${infoRelated.subtitleRelated.urlLinkRelated.getData()}" class="btn_blue" <#if !infoRelated.subtitleRelated.urlLinkRelated.getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${infoRelated.subtitleRelated.textLinkRelated.getData()}</a> 
337                                    </#if> 
338                                </div> 
339                            </div> 
340                        </div> 
341                    </div> 
342 
343                <#elseif infoRelated.subtitleRelated.getSiblings()?size gte 6> 
344                    <ul class="list_item row"> 
345                        <#list infoRelated.subtitleRelated.getSiblings() as cur_infoRelated_subtitleRelated> 
346                            <li class="item col-12 col-md-6 col-lg-3"> 
347                                <div class="bloque"> 
348                                    <#if (cur_infoRelated_subtitleRelated.getChild('iconRelated').getData())?? && cur_infoRelated_subtitleRelated.getChild('iconRelated').getData() != ""> 
349                                        <img class="icon" alt="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getAttribute("alt")}" src="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getData()}" data-fileentryid="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getAttribute("fileEntryId")}" /> 
350                                    </#if> 
351                                    <div> 
352                                        <#if (cur_infoRelated_subtitleRelated.getData())?? && cur_infoRelated_subtitleRelated.getData() != ""> 
353                                            <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
354                                                <h3 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h3> 
355                                            <#else> 
356                                                <h2 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h2> 
357                                            </#if> 
358                                        </#if> 
359                                        <#if (cur_infoRelated_subtitleRelated.subdescriptionRelated.getData())?? && cur_infoRelated_subtitleRelated.subdescriptionRelated.getData() != ""> 
360                                            <div class="content_text"> 
361                                                ${cur_infoRelated_subtitleRelated.subdescriptionRelated.getData()} 
362                                            </div> 
363                                        </#if> 
364                                        <#if (cur_infoRelated_subtitleRelated.textLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.textLinkRelated.getData() != "" && (cur_infoRelated_subtitleRelated.urlLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.urlLinkRelated.getData() != ""> 
365                                            <a href="${cur_infoRelated_subtitleRelated.urlLinkRelated.getData()}" class="btn_blue" <#if !cur_infoRelated_subtitleRelated.urlLinkRelated.getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${cur_infoRelated_subtitleRelated.textLinkRelated.getData()}</a> 
366                                        </#if> 
367                                    </div> 
368                                </div> 
369                            </li> 
370                        </#list> 
371                    </ul> 
372 
373                <#else> 
374                    <ul class="list_item row"> 
375                        <#list infoRelated.subtitleRelated.getSiblings() as cur_infoRelated_subtitleRelated> 
376                            <li class="item col-12 col-md-4"> 
377                                <div class="bloque"> 
378                                    <#if (cur_infoRelated_subtitleRelated.getChild('iconRelated').getData())?? && cur_infoRelated_subtitleRelated.getChild('iconRelated').getData() != ""> 
379                                        <img class="icon" alt="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getAttribute("alt")}" src="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getData()}" data-fileentryid="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getAttribute("fileEntryId")}" /> 
380                                    </#if> 
381                                    <div> 
382                                        <#if (cur_infoRelated_subtitleRelated.getData())?? && cur_infoRelated_subtitleRelated.getData() != ""> 
383                                            <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
384                                                <h3 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h3> 
385                                            <#else> 
386                                                <h2 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h2> 
387                                            </#if> 
388                                        </#if> 
389                                        <#if (cur_infoRelated_subtitleRelated.subdescriptionRelated.getData())?? && cur_infoRelated_subtitleRelated.subdescriptionRelated.getData() != ""> 
390                                            <div class="content_text"> 
391                                                ${cur_infoRelated_subtitleRelated.subdescriptionRelated.getData()} 
392                                            </div> 
393                                        </#if> 
394                                        <#if (cur_infoRelated_subtitleRelated.textLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.textLinkRelated.getData() != "" && (cur_infoRelated_subtitleRelated.urlLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.urlLinkRelated.getData() != ""> 
395                                            <a href="${cur_infoRelated_subtitleRelated.urlLinkRelated.getData()}" class="btn_blue" <#if !cur_infoRelated_subtitleRelated.urlLinkRelated.getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${cur_infoRelated_subtitleRelated.textLinkRelated.getData()}</a> 
396                                        </#if> 
397                                    </div> 
398                                </div> 
399                            </li> 
400                        </#list> 
401                    </ul> 
402                </#if> 
403            </#if> 
404        </section> 
405    </#if> 
406</#if> 
407 
408 
409<#if (bannerConsultor.getData())?? && bannerConsultor.getData() != ""> 
410    <#assign bannerConsultorJSON = jsonFactoryUtil.createJSONObject(bannerConsultor.getData()) 
411     
412    bannerConsultorContent = journalArticleService.getArticleContent(groupId, (bannerConsultorJSON.classPK?number - 2)?c, themeDisplay.getLanguageId(), null, themeDisplay) 
413     
414    /> 
415    ${bannerConsultorContent} 
416</#if> 
417 
418 
419 
420<#if (bannerSector.getData())?? && bannerSector.getData() != "">                                
421    <#assign bannerSectorJSON = jsonFactoryUtil.createJSONObject(bannerSector.getData()) 
422     
423    bannerSectorContent = journalArticleService.getArticleContent(groupId, (bannerSectorJSON.classPK?number - 2)?c, themeDisplay.getLanguageId(), null, themeDisplay) 
424     
425    /> 
426    ${bannerSectorContent} 
427</#if> 
428 
429<script type="text/javascript"> 
430    document.addEventListener('DOMContentLoaded', function () { 
431        const listCards = document.querySelector('.type_card_21 .list_cards'); 
432        const items = document.querySelectorAll('.type_card_21 .list_cards .item'); 
433        const leftArrow = document.querySelector('.left-arrow'); 
434        const rightArrow = document.querySelector('.right-arrow'); 
435 
436        let currentIndex = 0; // Índice del elemento activo 
437 
438        function updateCarousel() { 
439            // Resetear todas las tarjetas 
440            items.forEach((item, index) => { 
441                item.classList.remove('active', 'side'); 
442                item.style.transform = ''; // Reiniciar la transformación 
443            }); 
444 
445            // Asignar clase 'active' al elemento central 
446            const currentItem = items[currentIndex]; 
447            currentItem.classList.add('active'); 
448 
449            // Asignar clase 'side' al elemento anterior (si existe) 
450            if (currentIndex > 0) { 
451                const prevItem = items[currentIndex - 1]; 
452                prevItem.classList.add('side'); 
453
454 
455            // Asignar clase 'side' al siguiente elemento (si existe) 
456            if (currentIndex < items.length - 1) { 
457                const nextItem = items[currentIndex + 1]; 
458                nextItem.classList.add('side'); 
459
460 
461            // Usar requestAnimationFrame para asegurar que los elementos están disponibles y visibles 
462            requestAnimationFrame(() => { 
463                const offset = -currentItem.offsetLeft + (listCards.clientWidth - currentItem.clientWidth) / 2; 
464                listCards.style.transform = 'translateX(' + offset + 'px)'; 
465            }); 
466
467 
468        // Evento para el botón izquierdo 
469        leftArrow.addEventListener('click', function () { 
470            if (currentIndex > 0) { 
471                currentIndex--; 
472                updateCarousel(); 
473
474        }); 
475 
476        // Evento para el botón derecho 
477        rightArrow.addEventListener('click', function () { 
478            if (currentIndex < items.length - 1) { 
479                currentIndex++; 
480                updateCarousel(); 
481
482        }); 
483 
484        // Configuración inicial 
485        updateCarousel(); 
486    }); 
487</script> 

More News and Success Stories.