An error occurred while processing the template.
Java method "jdk.proxy68.$Proxy604.getArticleContent(long, String, String, com.liferay.portal.kernel.portlet.PortletRequestModel, com.liferay.portal.kernel.theme.ThemeDisplay)" threw an exception when invoked on jdk.proxy68.$Proxy604 object "com.liferay.journal.service.impl.JournalArticleServiceImpl@104c4802"; 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 416, 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                <#if (titleGallery.getData())?? && titleGallery.getData() != ""> 
250                    <div class="titular"> 
251                        <h2 class="big_title">${htmlUtil.unescape(titleGallery.getData())}<span class="dest_blue">.</span></h2> 
252                    </div> 
253                </#if> 
254 
255                <#if (titleGallery.descriptionGallery.getData())?? && titleGallery.descriptionGallery.getData() != ""> 
256                    <div class="content_text"> 
257                        ${titleGallery.descriptionGallery.getData()} 
258                    </div> 
259                </#if> 
260            </div> 
261            <div class="bloque_galery"> 
262 
263                <div class="detail"> 
264                    <div class="tab-content" id="myGaleryTabContent"> 
265                        <#list titleGallery.imageGallery.getSiblings() as cur_galleryNews> 
266                            <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"> 
267                                <#if !cur_galleryNews.getChild('videoGallery').getData()?? || cur_galleryNews.getChild('videoGallery').getData() == ""> 
268                                    <#if (cur_galleryNews.getData())?? && cur_galleryNews.getData() != ""> 
269                                        <img alt="${cur_galleryNews.getAttribute("alt")}" data-fileentryid="${cur_galleryNews.getAttribute("fileEntryId")}" src="${cur_galleryNews.getData()}" /> 
270                                        <a class="btn btn-monospaced btn-secondary" id="downloadIcon" href="${cur_galleryNews.getData()}" download aria-label="download"> 
271                                                <@clay["icon"] symbol="download" /> 
272                                        </a> 
273                                    </#if> 
274                                </#if> 
275                                ${cur_galleryNews.getChild('videoGallery').getData()} 
276                            </div> 
277                        </#list> 
278                    </div> 
279                </div> 
280 
281                <div class="links"> 
282                    <ul class="nav nav-tabs <#if titleGallery.imageGallery.getSiblings()?size gte 5>more</#if>" id="myGaleryTab" role="tablist"> 
283                        <#list titleGallery.imageGallery.getSiblings() as cur_galleryNews> 
284                            <li class="nav-item"> 
285                                <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}" role="tab" aria-controls="item${cur_galleryNews?index}" aria-selected="true" title="${cur_galleryNews.getAttribute("alt")}"> 
286                                    <#if (cur_galleryNews.getData())?? && cur_galleryNews.getData() != ""> 
287                                        <img alt="${cur_galleryNews.getAttribute("alt")}" data-fileentryid="${cur_galleryNews.getAttribute("fileEntryId")}" src="${cur_galleryNews.getData()}" /> 
288                                        <span class="sr-only">${cur_galleryNews.getAttribute("alt")}</span> 
289                                    </#if> 
290                                </a> 
291                            </li> 
292                        </#list> 
293                    </ul> 
294                </div> 
295 
296            </div> 
297        </section> 
298    </#if> 
299</#if> 
300 
301<#if (infoRelated.subtitleRelated.getData())?? && infoRelated.subtitleRelated.getData() != ""> 
302    <#if infoRelated.subtitleRelated.getSiblings()?has_content> 
303        <section class="type_card_5 <#if infoRelated.subtitleRelated.getSiblings()?size == 1>one</#if> container"> 
304            <div class="content_type_4"> 
305                <div class="line_red"></div> 
306                <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
307                    <div class="titular"> 
308                        <h2 class="big_title">${htmlUtil.unescape(infoRelated.getData())}<span class="dest_blue">.</span></h2> 
309                    </div> 
310                </#if> 
311                <#if (infoRelated.descriptionRelated.getData())?? && infoRelated.descriptionRelated.getData() != ""> 
312                    <div class="content_text"> 
313                        ${infoRelated.descriptionRelated.getData()} 
314                    </div> 
315                </#if> 
316            </div> 
317            <#if infoRelated.subtitleRelated.getSiblings()?has_content> 
318 
319                <#if infoRelated.subtitleRelated.getSiblings()?size == 1> 
320                    <div class="list_item row"> 
321                        <div class="item col-12 col-md-4"> 
322                            <div class="bloque"> 
323                                <#if (infoRelated.subtitleRelated.iconRelated.getData())?? && infoRelated.subtitleRelated.iconRelated.getData() != ""> 
324                                    <img class="icon" alt="${infoRelated.subtitleRelated.iconRelated.getAttribute("alt")}" src="${infoRelated.subtitleRelated.iconRelated.getData()}" data-fileentryid="${infoRelated.subtitleRelated.iconRelated.getAttribute("fileEntryId")}" /> 
325                                </#if> 
326                                <div> 
327                                    <#if (infoRelated.subtitleRelated.getData())?? && infoRelated.subtitleRelated.getData() != ""> 
328                                        <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
329                                            <h3 class="small_title">${infoRelated.subtitleRelated.getData()}</h3> 
330                                        <#else> 
331                                            <h2 class="small_title">${infoRelated.subtitleRelated.getData()}</h2> 
332                                        </#if> 
333                                    </#if> 
334                                    <#if (infoRelated.subtitleRelated.subdescriptionRelated.getData())?? && infoRelated.subtitleRelated.subdescriptionRelated.getData() != ""> 
335                                        <div class="content_text"> 
336                                            ${infoRelated.subtitleRelated.subdescriptionRelated.getData()} 
337                                        </div> 
338                                    </#if> 
339                                    <#if (infoRelated.subtitleRelated.textLinkRelated.getData())?? && infoRelated.subtitleRelated.textLinkRelated.getData() != "" && (infoRelated.subtitleRelated.urlLinkRelated.getData())?? && infoRelated.subtitleRelated.urlLinkRelated.getData() != ""> 
340                                        <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> 
341                                    </#if> 
342                                </div> 
343                            </div> 
344                        </div> 
345                    </div> 
346 
347                <#elseif infoRelated.subtitleRelated.getSiblings()?size gte 6> 
348                    <ul class="list_item row"> 
349                        <#list infoRelated.subtitleRelated.getSiblings() as cur_infoRelated_subtitleRelated> 
350                            <li class="item col-12 col-md-6 col-lg-3"> 
351                                <div class="bloque"> 
352                                    <#if (cur_infoRelated_subtitleRelated.getChild('iconRelated').getData())?? && cur_infoRelated_subtitleRelated.getChild('iconRelated').getData() != ""> 
353                                        <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")}" /> 
354                                    </#if> 
355                                    <div> 
356                                        <#if (cur_infoRelated_subtitleRelated.getData())?? && cur_infoRelated_subtitleRelated.getData() != ""> 
357                                            <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
358                                                <h3 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h3> 
359                                            <#else> 
360                                                <h2 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h2> 
361                                            </#if> 
362                                        </#if> 
363                                        <#if (cur_infoRelated_subtitleRelated.subdescriptionRelated.getData())?? && cur_infoRelated_subtitleRelated.subdescriptionRelated.getData() != ""> 
364                                            <div class="content_text"> 
365                                                ${cur_infoRelated_subtitleRelated.subdescriptionRelated.getData()} 
366                                            </div> 
367                                        </#if> 
368                                        <#if (cur_infoRelated_subtitleRelated.textLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.textLinkRelated.getData() != "" && (cur_infoRelated_subtitleRelated.urlLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.urlLinkRelated.getData() != ""> 
369                                            <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> 
370                                        </#if> 
371                                    </div> 
372                                </div> 
373                            </li> 
374                        </#list> 
375                    </ul> 
376 
377                <#else> 
378                    <ul class="list_item row"> 
379                        <#list infoRelated.subtitleRelated.getSiblings() as cur_infoRelated_subtitleRelated> 
380                            <li class="item col-12 col-md-4"> 
381                                <div class="bloque"> 
382                                    <#if (cur_infoRelated_subtitleRelated.getChild('iconRelated').getData())?? && cur_infoRelated_subtitleRelated.getChild('iconRelated').getData() != ""> 
383                                        <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")}" /> 
384                                    </#if> 
385                                    <div> 
386                                        <#if (cur_infoRelated_subtitleRelated.getData())?? && cur_infoRelated_subtitleRelated.getData() != ""> 
387                                            <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
388                                                <h3 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h3> 
389                                            <#else> 
390                                                <h2 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h2> 
391                                            </#if> 
392                                        </#if> 
393                                        <#if (cur_infoRelated_subtitleRelated.subdescriptionRelated.getData())?? && cur_infoRelated_subtitleRelated.subdescriptionRelated.getData() != ""> 
394                                            <div class="content_text"> 
395                                                ${cur_infoRelated_subtitleRelated.subdescriptionRelated.getData()} 
396                                            </div> 
397                                        </#if> 
398                                        <#if (cur_infoRelated_subtitleRelated.textLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.textLinkRelated.getData() != "" && (cur_infoRelated_subtitleRelated.urlLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.urlLinkRelated.getData() != ""> 
399                                            <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> 
400                                        </#if> 
401                                    </div> 
402                                </div> 
403                            </li> 
404                        </#list> 
405                    </ul> 
406                </#if> 
407            </#if> 
408        </section> 
409    </#if> 
410</#if> 
411 
412 
413<#if (bannerConsultor.getData())?? && bannerConsultor.getData() != ""> 
414    <#assign bannerConsultorJSON = jsonFactoryUtil.createJSONObject(bannerConsultor.getData()) 
415     
416    bannerConsultorContent = journalArticleService.getArticleContent(groupId, (bannerConsultorJSON.classPK?number - 2)?c, themeDisplay.getLanguageId(), null, themeDisplay) 
417     
418    /> 
419    ${bannerConsultorContent} 
420</#if> 
421 
422 
423 
424<#if (bannerSector.getData())?? && bannerSector.getData() != "">                                
425    <#assign bannerSectorJSON = jsonFactoryUtil.createJSONObject(bannerSector.getData()) 
426     
427    bannerSectorContent = journalArticleService.getArticleContent(groupId, (bannerSectorJSON.classPK?number - 2)?c, themeDisplay.getLanguageId(), null, themeDisplay) 
428     
429    /> 
430    ${bannerSectorContent} 
431</#if> 
432 
433<script type="text/javascript"> 
434    document.addEventListener('DOMContentLoaded', function () { 
435        const listCards = document.querySelector('.type_card_21 .list_cards'); 
436        const items = document.querySelectorAll('.type_card_21 .list_cards .item'); 
437        const leftArrow = document.querySelector('.left-arrow'); 
438        const rightArrow = document.querySelector('.right-arrow'); 
439 
440        let currentIndex = 0; // Índice del elemento activo 
441 
442        function updateCarousel() { 
443            // Resetear todas las tarjetas 
444            items.forEach((item, index) => { 
445                item.classList.remove('active', 'side'); 
446                item.style.transform = ''; // Reiniciar la transformación 
447            }); 
448 
449            // Asignar clase 'active' al elemento central 
450            const currentItem = items[currentIndex]; 
451            currentItem.classList.add('active'); 
452 
453            // Asignar clase 'side' al elemento anterior (si existe) 
454            if (currentIndex > 0) { 
455                const prevItem = items[currentIndex - 1]; 
456                prevItem.classList.add('side'); 
457
458 
459            // Asignar clase 'side' al siguiente elemento (si existe) 
460            if (currentIndex < items.length - 1) { 
461                const nextItem = items[currentIndex + 1]; 
462                nextItem.classList.add('side'); 
463
464 
465            // Usar requestAnimationFrame para asegurar que los elementos están disponibles y visibles 
466            requestAnimationFrame(() => { 
467                const offset = -currentItem.offsetLeft + (listCards.clientWidth - currentItem.clientWidth) / 2; 
468                listCards.style.transform = 'translateX(' + offset + 'px)'; 
469            }); 
470
471 
472        // Evento para el botón izquierdo 
473        leftArrow.addEventListener('click', function () { 
474            if (currentIndex > 0) { 
475                currentIndex--; 
476                updateCarousel(); 
477
478        }); 
479 
480        // Evento para el botón derecho 
481        rightArrow.addEventListener('click', function () { 
482            if (currentIndex < items.length - 1) { 
483                currentIndex++; 
484                updateCarousel(); 
485
486        }); 
487 
488        // Configuración inicial 
489        updateCarousel(); 
490    }); 
491</script> 

Related News and Success stories.