Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> Sedi[0]  [in template "20095#20121#34623" at line 103, column 30]

----
Tip: It's the final [] step 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: Sede = Sedi[0]  [in template "20095#20121#34623" at line 103, column 25]
----
1<#assign 
2    FriendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") 
3    ClassNameService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameService") 
4    JournalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
5    LayoutLocalService=serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
6    journalArticleId=.vars['reserved-article-id'].data 
7    journalArticleResourceLocalServiceUtil=staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"] 
8    assetCategoryLocalServiceUtil=staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"] 
9    articleResourcePK=journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
10    categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) 
11    AssetVocabularyLocalServiceUtil=staticUtil["com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil"] 
12/> 
13<#setting locale=localeUtil.getDefault() /> 
14<#-- gestione dei breadcrumbs --> 
15<#assign 
16    paginaPadre=LayoutLocalService.getLayout(groupId, PaginaPadre.getData()?eval.privateLayout, PaginaPadre.getData()?eval.layoutId?number) 
17    ancestors=paginaPadre.getAncestors() 
18    sorted_ancestors = [] 
19/> 
20<#list ancestors as parente> 
21    <#assign 
22        sorted_ancestors += 
23        [{ 
24            "name": parente.name, 
25            "ancestors": parente.getAncestors()?size, 
26            "data": parente 
27        }] 
28    /> 
29</#list> 
30 
31<div class="container finmatica-breadcrumb-container mb-4"> 
32    <div class="row justify-content-center"> 
33        <div class="col-12 col-lg-10"> 
34            <div class="cmp-breadcrumbs" role="navigation"> 
35                <nav class="breadcrumb-container" aria-label="breadcrumb"> 
36                    <ol class="breadcrumb p-0" data-element="breadcrumb"> 
37                        <li class="breadcrumb-item"><a 
38                                href="${themeDisplay.getThemeSetting('Home URL')}"> 
39                                <span class="breadcrumb-text-truncate">Home</span> 
40                            </a> 
41                            <span class="separator">/</span> 
42                        </li> 
43                        <#list sorted_ancestors?sort_by("ancestors") as ancestor> 
44                            <li class="breadcrumb-item"><a 
45                                    href="/portal${ancestor.data.getFriendlyURL()}"> 
46                                    <span class="breadcrumb-text-truncate"> 
47                                        ${ancestor.data.getName()} 
48                                    </span> 
49                                </a> 
50                                <span class="separator">/</span> 
51                            </li> 
52                        </#list> 
53                        <li class="breadcrumb-item"><a 
54                                href="/portal${paginaPadre.getFriendlyURL()}"> 
55                                <span class="breadcrumb-text-truncate"> 
56                                    ${paginaPadre.getName()} 
57                                </span> 
58                            </a> 
59                            <span class="separator">/</span> 
60                        </li> 
61                        <li class="breadcrumb-item">${Nome.getData()} ${Cognome.getData()}</li> 
62                    </ol> 
63                </nav> 
64            </div> 
65        </div> 
66    </div> 
67</div> 
68 
69<#-- GET ORGANIZZAZIONI --> 
70<#assign organizzazioni=[] /> 
71<#if Organizzazioni.getData()?has_content> 
72    <#if Organizzazioni.getSiblings()?has_content> 
73        <#list Organizzazioni.getSiblings() as cur_organizzazione> 
74            <#assign 
75                cur_org_data=jsonFactoryUtil.createJSONObject(cur_organizzazione.getData()) 
76                relatedOrgs=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_org_data.classPK?number) 
77                relatedOrg=relatedOrgs[0] 
78                document=saxReaderUtil.read(relatedOrg.getContent()) 
79                rootElement=document.getRootElement() 
80                nome_org="" 
81                indirizzo_org="" 
82                immagine_org="" 
83                urlImmagine_org="" 
84            /> 
85            <#list rootElement.elements() as dynamicElement> 
86                <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
87                    <#assign nome_org=dynamicElement.element("dynamic-content").getText() /> 
88                <#elseif dynamicElement.attributeValue("field-reference")=="Organizzazioni"> 
89                    <#assign immagine_org=dynamicElement.element("dynamic-content").getText() /> 
90                    <#if immagine_org?has_content> 
91                        <#assign immagine_org=jsonFactoryUtil.createJSONObject(immagine_org) /> 
92                        <#if immagine_org?has_content> 
93                            <#assign 
94                                immagine_org=immagine_org?eval 
95                                has_immagine_org = true 
96                            /> 
97                        </#if> 
98                    </#if> 
99                <#elseif dynamicElement.attributeValue("field-reference")=="SedePrincipale"> 
100                    <#assign 
101                        sede_data=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
102                        Sedi=JournalArticleLocalService.getArticlesByResourcePrimKey(sede_data.classPK?number) 
103                        Sede=Sedi[0] 
104                        document=saxReaderUtil.read(Sede.getContent()) 
105                        rootElement=document.getRootElement() 
106                    /> 
107                    <#list rootElement.elements() as dynamicElement> 
108                        <#if dynamicElement.attributeValue("field-reference")=="Indirizzo"> 
109                            <#assign indirizzo_org=dynamicElement.element("dynamic-content").getText() /> 
110                        </#if> 
111                    </#list> 
112                </#if> 
113            </#list> 
114            <#assign 
115                organizzazioni += 
116                [{ 
117                    "nome" : nome_org, 
118                    "indirizzo" : indirizzo_org, 
119                    "immagine" : immagine_org, 
120                    "urlPagina" : relatedOrg.getUrlTitle() 
121                }] 
122            /> 
123        </#list> 
124    </#if> 
125</#if> 
126 
127<#-- GET CV --> 
128<#assign has_CV=false /> 
129<#if CurriculumVitae.getData() !=""> 
130    <#assign 
131        CV_data=jsonFactoryUtil.createJSONObject(CurriculumVitae.data) 
132        titolo = EtichettaCV.getData()?has_content?string("${EtichettaCV.getData()}", "${CV_data.title}") 
133        has_CV=true 
134        CV={"titolo": titolo, "url": CurriculumVitae.getData()} 
135    /> 
136</#if> 
137 
138<#-- GET DICHIARAZIONI REDDITI --> 
139<#assign dichiarazioni_redditi=[] /> 
140<#if DichiarazioneDeiRedditi.getData()?has_content> 
141    <#assign 
142        dichiarazione_data=jsonFactoryUtil.createJSONObject(DichiarazioneDeiRedditi.data) 
143        titolo = EtichettaDichiarazione.getData()?has_content?string("${EtichettaDichiarazione.getData()}", "${dichiarazione_data.title}") 
144        dichiarazione={"titolo": titolo, "url": DichiarazioneDeiRedditi.getData()} 
145    /> 
146</#if> 
147<#-- GET INCARICHI --> 
148<#assign incarichi=[] /> 
149<#if Incarichi.getData()?has_content> 
150    <#list Incarichi.getSiblings() as cur_incarico> 
151        <#assign 
152            cur_incarico_data=jsonFactoryUtil.createJSONObject(cur_incarico.getData()) 
153        /> 
154        <#if cur_incarico_data?eval?has_content> 
155            <#assign 
156                categorie_cur_incarico=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", cur_incarico_data.classPK?number) 
157                relatedIncarichi=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_incarico_data.classPK?number) 
158                relatedIncarico=relatedIncarichi[0] 
159                document=saxReaderUtil.read(relatedIncarico.getContent()) 
160                rootElement=document.getRootElement() 
161                nome_incarico="" 
162                data_insediamento_incarico="" 
163                compensi_incarico="" 
164            /> 
165            <#list categorie_cur_incarico as cur_categoria_cur_incarico> 
166                <#assign 
167                    vocabulary = AssetVocabularyLocalServiceUtil.getVocabulary(cur_categoria_cur_incarico.getVocabularyId()) 
168                    className = ClassNameService.fetchClassName("com.liferay.asset.kernel.model.AssetCategory") 
169                    friendlyUrlEntry = FriendlyURLEntryLocalService.getMainFriendlyURLEntry(className.getClassNameId(), cur_categoria_cur_incarico.categoryId) 
170                    friendlyUrlList = FriendlyURLEntryLocalService.getFriendlyURLEntryLocalizations(friendlyUrlEntry.friendlyURLEntryId) 
171                    cat_name = cur_categoria_cur_incarico.name 
172                    cat_localized_name = cur_categoria_cur_incarico.getTitle(themeDisplay.getLocale(), true), 
173                    cat_url = friendlyUrlList[0].urlTitle 
174                /> 
175                <#assign cur_vocabulary=AssetVocabularyLocalServiceUtil.getVocabulary(cur_categoria_cur_incarico.getVocabularyId()) /> 
176                <#if 
177                    cur_vocabulary.name == "tassonomia incarichi" 
178                    || cur_vocabulary.description == "tipo di incarico" 
179                    || cur_vocabulary.name == "tassonomia tipi di incarico" 
180
181                    <#assign tipo_incarico = cat_localized_name /> 
182                </#if> 
183            </#list> 
184        </#if> 
185        <#list rootElement.elements() as dynamicElement> 
186            <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
187                <#assign nome_incarico=dynamicElement.element("dynamic-content").getText() /> 
188            <#elseif dynamicElement.attributeValue("field-reference")=="Compensi"> 
189                <#assign compensi_incarico=dynamicElement.element("dynamic-content").getText() /> 
190            <#elseif dynamicElement.attributeValue("field-reference")=="DataInsediamento"> 
191                <#if dynamicElement.element("dynamic-content")?? && dynamicElement.element("dynamic-content")?has_content> 
192                    <#assign data_insediamento_Data=getterUtil.getString(dynamicElement.element("dynamic-content").getData()) /> 
193                    <#if validator.isNotNull(data_insediamento_Data)> 
194                        <#assign 
195                            DataInizio_DateObj=dateUtil.parseDate("yyyy-MM-dd", data_insediamento_Data, locale) 
196                            data_insediamento_incarico=dateUtil.getDate(DataInizio_DateObj, "dd MMMM yyyy" , locale) /> 
197                    </#if> 
198                </#if> 
199 
200            </#if> 
201        </#list> 
202        <#assign 
203            incarichi += 
204            [{ 
205                "nome": nome_incarico, 
206                "tipo": tipo_incarico, 
207                "compensi": compensi_incarico, 
208                "data": data_insediamento_incarico 
209            }] 
210        /> 
211    </#list> 
212</#if> 
213<#-- GET SPESE ELETTORALI --> 
214<#assign has_spese_elettorali=false /> 
215<#if SpeseElettorali.getData() !=""> 
216    <#assign 
217        SPESE_data=jsonFactoryUtil.createJSONObject(SpeseElettorali.data) 
218        titolo = EtichettaSpese.getData()?has_content?string("${EtichettaSpese.getData()}", "${SPESE_data.title}") 
219        has_spese_elettorali=true 
220        SPESE={"titolo": titolo, "url": SpeseElettorali.getData()} 
221    /> 
222</#if> 
223<#-- GET VARIAZIONI PATRIMONIALI --> 
224<#assign has_variazioni_patrimoniali=false /> 
225<#if VariazioniSituazionePatrimoniale.getData() !=""> 
226    <#assign 
227        VARIAZIONI_data=jsonFactoryUtil.createJSONObject(VariazioniSituazionePatrimoniale.data) 
228        titolo = EtichettaPatrimoniale.getData()?has_content?string("${EtichettaPatrimoniale.getData()}", "${VARIAZIONI_data.title}") 
229        has_variazioni_patrimoniali=true 
230        VARIAZIONI={"titolo": titolo, "url": VariazioniSituazionePatrimoniale.getData()} 
231    /> 
232</#if> 
233<#-- GET CONTATTI --> 
234<#assign 
235    has_contatti=PuntiDiContatto.getData()?has_content 
236    contatti=[] /> 
237<#if has_contatti> 
238    <#list PuntiDiContatto.getSiblings() as cur_PuntiDiContatto> 
239        <#assign 
240            contatti_data=jsonFactoryUtil.createJSONObject(cur_PuntiDiContatto.getData()) 
241            nome_wallet="" 
242            contatti_wallet=[] 
243            relatedArticles=JournalArticleLocalService.getArticlesByResourcePrimKey(contatti_data.classPK?number) 
244            relatedArticle=relatedArticles[0] 
245            document=saxReaderUtil.read(relatedArticle.getContent()) 
246            rootElement=document.getRootElement() /> 
247        <#list rootElement.elements() as dynamicElement> 
248            <#-- AGGIUNGO IL CONTATTO SOLO SE VALORIZZATO E DEFINISCO IL NOME DEL WALLET --> 
249                <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
250                    <#assign nome_wallet=dynamicElement.element("dynamic-content").getText() /> 
251                <#elseif dynamicElement.element("dynamic-content").getText()?has_content> 
252                    <#assign 
253                        tipo_contatto=(dynamicElement.attributeValue("field-reference")=="URL" )?string("Sito Web", dynamicElement.attributeValue("field-reference")) 
254                        contatti_wallet +=[ {"tipo": tipo_contatto, "valore": dynamicElement.element("dynamic-content").getText()} ] 
255                    /> 
256                </#if> 
257        </#list> 
258        <#assign contatti += 
259            [{ 
260                "titolo": nome_wallet, 
261                "contatti": contatti_wallet 
262            }] 
263        /> 
264    </#list> 
265</#if> 
266<#-- GET PHOTOGALLERY --> 
267<#assign photogallery=[] /> 
268<#if GalleriaDiImmagini.getSiblings()?has_content> 
269<#list GalleriaDiImmagini.getSiblings() as cur_GalleriaDiImmagini> 
270    <#if cur_GalleriaDiImmagini.getData()?? && cur_GalleriaDiImmagini.getData() !=""> 
271        <#assign 
272            photogallery += 
273            [{ 
274                "alt" : cur_GalleriaDiImmagini.getAttribute("alt"), 
275                "fileentryid" : cur_GalleriaDiImmagini.getAttribute("fileEntryId"), 
276                "src" : cur_GalleriaDiImmagini.getData() 
277            }] 
278        /> 
279    </#if> 
280</#list> 
281</#if> 
282<div class="container"> 
283    <div class="row justify-content-center"> 
284        <div class="col-12 col-lg-10"> 
285            <div class="cmp-heading pb-3 pb-lg-4"> 
286                <div class="row"> 
287                    <div class="col-lg-8"> 
288                        <h1 class="title-xxxlarge" data-element="service-title"> 
289                            ${Nome.getData()} ${Cognome.getData()} 
290                        </h1> 
291                    </div> 
292                    <div class="col-lg-3 offset-lg-1 mt-5 mt-lg-0"> 
293                        <div class="dropdown" id="fallback-share"> 
294                            <button 
295                                aria-label="condividi sui social" 
296                                class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-6 text-primary" 
297                                type="button" 
298                                id="shareActions" 
299                                data-bs-toggle="dropdown" 
300                                aria-haspopup="true" 
301                                aria-expanded="false" 
302
303                                <svg class="icon icon-primary" aria-hidden="true"> 
304                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-share"></use> 
305                                </svg> 
306                                <small><@liferay.language key="share" /></small> 
307                            </button> 
308                            <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions"> 
309                                <div class="link-list-wrapper"> 
310                                    <ul class="link-list" role="menu"> 
311                                        <li role="none"> 
312                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('facebook')"> 
313                                                <svg class="icon icon-primary" aria-hidden="true"> 
314                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-facebook"></use> 
315                                                </svg> 
316                                                <span>Facebook</span> 
317                                            </button> 
318                                        </li> 
319                                        <li role="none"> 
320                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('twitter')"> 
321                                                <svg class="icon icon-primary" aria-hidden="true"> 
322                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-twitter"></use> 
323                                                </svg> 
324                                                <span><@liferay.language key="Twitter" /></span> 
325                                            </button> 
326                                        </li> 
327                                        <li role="none"> 
328                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('whatsapp')"> 
329                                                <svg class="icon icon-primary" aria-hidden="true"> 
330                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-whatsapp"></use> 
331                                                </svg> 
332                                                <span>Whatsapp</span> 
333                                            </button> 
334                                        </li> 
335                                    </ul> 
336                                </div> 
337                            </div> 
338                        </div> 
339 
340                        <div class="dropdown"> 
341                            <button 
342                                aria-label="vedi azioni da compiere sulla pagina" 
343                                class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" 
344                                type="button" 
345                                id="viewActions" 
346                                data-bs-toggle="dropdown" 
347                                aria-haspopup="true" 
348                                aria-expanded="false" 
349
350                                <svg class="icon icon-primary" aria-hidden="true"> 
351                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-more-items"></use> 
352                                </svg> 
353                                <small><@liferay.language key="actions" /></small> 
354                            </button> 
355                            <div class="dropdown-menu shadow-lg" aria-labelledby="viewActions"> 
356                                <div class="link-list-wrapper"> 
357                                    <ul class="link-list" role="menu"> 
358                                        <li role="none"> 
359                                            <button class="list-item px-3 fs-6 text-primary" onclick="window.print()" role="menuitem"> 
360                                                <svg class="icon icon-primary" aria-hidden="true"> 
361                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-print"></use> 
362                                                </svg> 
363                                                <span><@liferay.language key="print" /></span> 
364                                            </button> 
365                                        </li> 
366                                        <li role="none"> 
367                                            <a class="list-item mail-anchor px-3 fs-6" href="mailto:" role="menuitem"> 
368                                                <svg class="icon icon-primary" aria-hidden="true"> 
369                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-mail"></use> 
370                                                </svg> 
371                                                <span><@liferay.language key="send" /></span> 
372                                            </a> 
373                                        </li> 
374                                    </ul> 
375                                </div> 
376                            </div> 
377                        </div> 
378                    </div> 
379                </div> 
380            </div> 
381        </div> 
382    </div> 
383</div> 
384 
385<#if Immagine.getData()?? && Immagine.getData() !=""> 
386<#assign immagine_alt=Immagine.getAttribute("alt")!"" /> 
387<div class="container-fluid my-3"> 
388    <div class="row"> 
389        <figure class="figure px-0 img-full"> 
390            <img alt="${Immagine.getAttribute('alt')}" data-fileentryid="${Immagine.getAttribute('fileEntryId')}" src="${Immagine.getData()}" /> 
391            <#if immagine_alt !=""> 
392                <figcaption class="figure-caption text-center pt-3"> 
393                    ${immagine_alt} 
394                </figcaption> 
395            </#if> 
396        </figure> 
397    </div> 
398</div> 
399</#if> 
400 
401<div class="container"> 
402    <div class="row border-top border-light row-column-menu-left pb-4 pb-lg-80"> 
403        <div class="col-12 col-lg-3 mb-4 border-col"> 
404            <div class="cmp-navscroll sticky-top" aria-labelledby="accordion-title-one"> 
405                <nav class="navbar it-navscroll-wrapper navbar-expand-lg" aria-label="${languageUtil.get(locale, 'page-index')}" data-bs-navscroll=""> 
406                    <div class="navbar-custom" id="navbarNavProgress"> 
407                        <div class="menu-wrapper"> 
408                            <div class="link-list-wrapper"> 
409                                <div class="accordion"> 
410                                    <div class="accordion-item"> 
411                                        <span class="accordion-header" id="accordion-title-one"> 
412                                            <button class="accordion-button pb-10 px-3" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-one" aria-expanded="true" aria-controls="collapse-one"> 
413                                                <@liferay.language key="page-index" /> 
414                                                <svg class="icon icon-xs right" viewBox="0 0 24 24"> 
415                                                    <path d="M11.6 15.4L6 9.8l.7-.8 4.9 4.9L16.5 9l.7.8z"></path> 
416                                                </svg> 
417                                            </button> 
418                                        </span> 
419                                        <div class="progress"> 
420                                            <div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;" aria-label="Progress bar"></div> 
421                                        </div> 
422                                        <div id="collapse-one" class="accordion-collapse collapse show" role="region" aria-labelledby="accordion-title-one"> 
423                                            <div class="accordion-body"> 
424                                                <ul class="link-list" data-element="page-index"> 
425 
426                                                    <#if incarichi?size gt 0> 
427                                                    <li class="nav-item"> 
428                                                        <a class="nav-link" href="#assignment"> 
429                                                            <span class="title-medium"><@liferay.language key="assignments" /></span> 
430                                                        </a> 
431                                                    </li> 
432                                                    </#if> 
433 
434                                                    <#if organizzazioni?size gt 0> 
435                                                    <li class="nav-item"> 
436                                                        <a class="nav-link" href="#organization"> 
437                                                            <span class="title-medium"><@liferay.language key="organization" /></span> 
438                                                        </a> 
439                                                    </li> 
440                                                    </#if> 
441 
442                                                    <#if Competenze.getData()?has_content> 
443                                                    <li class="nav-item"> 
444                                                        <a class="nav-link" href="#competenze"> 
445                                                            <span class="title-medium"><@liferay.language key="responsibilities" /></span> 
446                                                        </a> 
447                                                    </li> 
448                                                    </#if> 
449 
450                                                    <#if Deleghe.getData()?has_content> 
451                                                    <li class="nav-item"> 
452                                                        <a class="nav-link" href="#delegations"> 
453                                                            <span class="title-medium"><@liferay.language key="delegations" /></span> 
454                                                        </a> 
455                                                    </li> 
456                                                    </#if> 
457 
458                                                    <#if Biografia.getData()?has_content> 
459                                                    <li class="nav-item"> 
460                                                        <a class="nav-link" href="#bio"> 
461                                                            <span class="title-medium"><@liferay.language key="biography" /></span> 
462                                                        </a> 
463                                                    </li> 
464                                                    </#if> 
465 
466                                                    <#if GalleriaDiImmagini.getData()?has_content> 
467                                                    <li class="nav-item"> 
468                                                        <a class="nav-link" href="#gallery"> 
469                                                            <span class="title-medium"><@liferay.language key="image-gallery" /></span> 
470                                                        </a> 
471                                                    </li> 
472                                                    </#if> 
473 
474                                                    <#if contatti?size gt 0> 
475                                                    <li class="nav-item"> 
476                                                        <a class="nav-link" href="#contacts"> 
477                                                            <span class="title-medium"><@liferay.language key="contact" /></span> 
478                                                        </a> 
479                                                    </li> 
480                                                    </#if> 
481 
482                                                    <#if has_CV> 
483                                                    <li class="nav-item"> 
484                                                        <a class="nav-link" href="#curricula"> 
485                                                            <span class="title-medium"><@liferay.language key="cv" /></span> 
486                                                        </a> 
487                                                    </li> 
488                                                    </#if> 
489 
490                                                    <#if SituazionePatrimoniale.getData()?has_content> 
491                                                    <li class="nav-item"> 
492                                                        <a class="nav-link" href="#patrimonial-situation"> 
493                                                            <span class="title-medium"><@liferay.language key="patrimonial-situation" /></span> 
494                                                        </a> 
495                                                    </li> 
496                                                    </#if> 
497 
498                                                    <#if DichiarazioneDeiRedditi.getData()?has_content> 
499                                                    <li class="nav-item"> 
500                                                        <a class="nav-link" href="#redditi"> 
501                                                            <span class="title-medium"><@liferay.language key="tax-declaration" /></span> 
502                                                        </a> 
503                                                    </li> 
504                                                    </#if> 
505 
506                                                    <#if has_spese_elettorali> 
507                                                    <li class="nav-item"> 
508                                                        <a class="nav-link" href="#spese"> 
509                                                            <span class="title-medium"><@liferay.language key="electoral-expenses" /></span> 
510                                                        </a> 
511                                                    </li> 
512                                                    </#if> 
513 
514                                                    <#if has_variazioni_patrimoniali> 
515                                                    <li class="nav-item"> 
516                                                        <a class="nav-link" href="#variations"> 
517                                                            <span class="title-medium"><@liferay.language key="patrimonial-situation-variation" /></span> 
518                                                        </a> 
519                                                    </li> 
520                                                    </#if> 
521 
522                                                    <#if AltreCariche.getData()?has_content> 
523                                                    <li class="nav-item"> 
524                                                        <a class="nav-link" href="#other-charges"> 
525                                                            <span class="title-medium"><@liferay.language key="other-assignments" /></span> 
526                                                        </a> 
527                                                    </li> 
528                                                    </#if> 
529 
530                                                    <#if UlterioriInformazioni.getData()?has_content> 
531                                                    <li class="nav-item"> 
532                                                        <a class="nav-link" href="#more-info"> 
533                                                            <span class="title-medium"> 
534                                                                <@liferay.language key="additional-information" /> 
535                                                            </span> 
536                                                        </a> 
537                                                    </li> 
538                                                    </#if> 
539 
540                                                </ul> 
541                                            </div> 
542                                        </div> 
543                                    </div> 
544                                </div> 
545                            </div> 
546                        </div> 
547                    </div> 
548                </nav> 
549            </div> 
550        </div> 
551        <div class="col-12 col-lg-8 offset-lg-1"> 
552            <div class="it-page-sections-container"> 
553 
554                <#list incarichi> 
555                <section class="it-page-section mb-30 pt-4" id="assignment"> 
556                    <h2 class="title-xxlarge mb-3"><@liferay.language key="assignments" /></h2> 
557                    <div class="row"> 
558                        <#items as incarico> 
559                        <div class="col-12 col-lg-6 p-0 pe-3 mb-3"> 
560                            <div class="p-3 shadow-sm rounded h-100"> 
561                                <div class="category-top fw-semibold t-primary text-uppercase" style="font-size: .8rem;"> 
562                                    <div> 
563                                        <div class="category"> 
564                                            ${incarico.tipo} 
565                                        </div> 
566                                    </div> 
567                                </div> 
568                                <div class="col-12 col-lg-9 p-0 pt-3"> 
569                                    <p class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
570                                        ${incarico.nome} 
571                                    </p> 
572                                    <div class="card-text incarichi"> 
573                                        <#if incarico.compensi !=""> 
574                                            <div> 
575                                                <div class="fw-semibold">Compensi: </div> 
576                                                <div> 
577                                                    ${incarico.compensi} 
578                                                </div> 
579                                            </div> 
580                                        </#if> 
581                                        <#if incarico.data !=""> 
582                                            <div> 
583                                                <div class="fw-semibold">Data di insediamento: </div> 
584                                                <div> 
585                                                    ${incarico.data} 
586                                                </div> 
587                                            </div> 
588                                        </#if> 
589                                    </div> 
590                                </div> 
591                            </div> 
592                        </div> 
593                        </#items> 
594                    </div> 
595                </section> 
596                </#list> 
597 
598                <#list organizzazioni> 
599                <section class="it-page-section mb-30 pt-4" id="organization"> 
600                    <h2 class="title-xxlarge mb-3"><@liferay.language key="organization" /></h2> 
601                    <div class="row"> 
602                        <#items as org> 
603                        <div class="col-12 col-lg-6"> 
604                            <div class="card card-teaser card-teaser-info shadow-sm rounded d-flex align-items-center p-3 p-lg-4"> 
605                                <div class="card-body"> 
606                                    <h4 class="mb-1 title-small-semi-bold-medium"> 
607                                        <a href="/portal/-/${org.urlPagina}" class="text-decoration-none primary-color-b3"> 
608                                            ${org.nome} 
609                                        </a> 
610                                    </h4> 
611                                    <div class="card-text"> 
612                                        <p class="u-main-black"> 
613                                            ${org.indirizzo} 
614                                        </p> 
615                                    </div> 
616                                </div> 
617                                <#if has_immagine_org?has_content> 
618                                <div class="avatar size-xl" aria-hidden="true"> 
619                                    <img 
620                                        class="classi_css" 
621                                        attributo_style 
622                                        alt="${org.immagine.alt!''}" 
623                                        src="${org.immagine.url}" 
624                                    /> 
625                                </div> 
626                                </#if> 
627                            </div> 
628                        </div> 
629                        </#items> 
630                    </div> 
631                </section> 
632                </#list> 
633 
634                <#if Competenze.getData()?has_content> 
635                <section class="it-page-section mb-30 pt-4" id="competenze"> 
636                    <h2 class="title-xxlarge mb-3"><@liferay.language key="responsibilities" /></h2> 
637                    <div class="richtext-wrapper lora"> 
638                        ${Competenze.getData()} 
639                    </div> 
640                </section> 
641                </#if> 
642 
643                <#if Deleghe.getData()?has_content> 
644                <section class="it-page-section mb-30 pt-4" id="delegations"> 
645                    <h2 class="title-xxlarge mb-3"><@liferay.language key="delegations" /></h2> 
646                    <div class="richtext-wrapper lora"> 
647                        ${Deleghe.getData()} 
648                    </div> 
649                </section> 
650                </#if> 
651 
652                <#if Biografia.getData()?has_content> 
653                <section class="it-page-section mb-30 pt-4" id="bio"> 
654                    <h2 class="title-xxlarge mb-3"><@liferay.language key="biography" /></h2> 
655                    <div class="richtext-wrapper lora"> 
656                        ${Biografia.getData()} 
657                    </div> 
658                </section> 
659                </#if> 
660 
661                <#list photogallery> 
662                <section class="it-page-section mb-30 pt-4" id="gallery"> 
663                    <h2 class="title-xxlarge mb-3"><@liferay.language key="image-gallery" /></h2> 
664                    <div class="it-carousel-wrapper it-carousel-landscape-abstract-three-cols splide splide--slide splide--ltr splide--draggable is-active is-initialized mb-4" data-bs-carousel-splide="" id="splide01"> 
665                        <div class="splide__track" id="splide01-track" style="padding-left: 0px; padding-right: 0px;"> 
666                            <ul class="splide__list it-carousel-all" id="splide01-list" style="transform: translateX(0px);"> 
667                                <#items as img> 
668                                <li class="splide__slide is-active is-visible h-100" id="splide01-slide0${img?counter}" style="margin-right: 24px; width: calc(calc(100% / 3) - 16px);" tabindex="0" data-focus-mouse="false"> 
669                                    <div class="it-single-slide-wrapper"> 
670                                        <figure> 
671                                            <a href="${img.src}" target="_blank" rel="noopener noreferrer"> 
672                                                <img src="${img.src}" alt="${img.alt}" class="img-fluid" style="width: 100%; object-fit: cover; object-position: center; aspect-ratio: 1/1;" loading="lazy"> 
673                                            </a> 
674                                            <figcaption class="figure-caption mt-2 text-center small text-muted"> 
675                                                ${img.alt} 
676                                            </figcaption> 
677                                        </figure> 
678                                    </div> 
679                                </li> 
680                                </#items> 
681                            </ul> 
682                        </div> 
683                    </div> 
684                </section> 
685                </#list> 
686 
687                <#list contatti> 
688                <section class="it-page-section mb-30" id="contacts"> 
689                    <h2 class="title-xxlarge mb-3"><@liferay.language key="contact" /></h2> 
690                    <div class="row"> 
691                        <#items as wallet_contatti> 
692                        <div class="col-12 col-md-6 pe-3"> 
693                            <div class="col-11 p-3 shadow-sm rounded"> 
694                                <div class="h6 mb-2"> 
695                                    ${wallet_contatti.titolo} 
696                                </div> 
697                                <#list wallet_contatti.contatti as contatto> 
698                                    <div> 
699                                        <span class="fw-semibold"> 
700                                            <@liferay.language key="${contatto.tipo?replace(' ', '-')}" />: 
701                                        </span> 
702                                        <#assign url_type="" /> 
703                                        <#if 
704                                            contatto.tipo=="Email" 
705                                            || contatto.tipo=="PEC"> 
706                                            <#assign url_type="mailto:" /> 
707                                        <#elseif 
708                                            contatto.tipo=="Telefono" 
709                                            || contatto.tipo=="Whatsapp" 
710                                            || contatto.tipo=="Telegram" 
711
712                                            <#assign url_type="tel:" /> 
713                                        </#if> 
714                                        <span class="ms-1"> 
715                                            <a 
716                                                href="${url_type}${contatto.valore}" 
717                                                target="_blank" 
718                                                class="text-primary"> 
719                                                ${contatto.valore} 
720                                            </a> 
721                                        </span> 
722                                    </div> 
723                                </#list> 
724                            </div> 
725                        </div> 
726                        </#items> 
727                    </div> 
728                </section> 
729                </#list> 
730 
731                <#if has_CV> 
732                <section class="it-page-section mb-30 pt-4" id="curricula"> 
733                    <h2 class="title-xxlarge mb-3"><@liferay.language key="cv" /></h2> 
734                    <div class="col-12 shadow p-3 mb-4 rounded"> 
735                        <div class="d-flex align-items-center"> 
736                            <svg class="icon icon-primary icon-lh me-2" aria-hidden="true" viewBox="0 0 24 24"> 
737                                <path d="M12,14.2L7.7,9.9l0.7-0.7l3.1,3.1V3h1v9.2l3.1-3l0.7,0.7L12,14.2z M19,12v7.5c0,0.3-0.2,0.5-0.5,0.5h-13C5.2,20,5,19.8,5,19.5V12H4v7.5C4,20.3,4.7,21,5.5,21h13c0.8,0,1.5-0.7,1.5-1.5V12H19z" /> 
738                            </svg> 
739                            <a class="text-decoration_none fw-semibold t-primary" href="${CV.url}"> 
740                                ${(CV.titolo)!"CV ${Nome.getData()} ${Cognome.getData()}"} 
741                            </a> 
742                        </div> 
743                    </div> 
744                </section> 
745                </#if> 
746 
747                <#if SituazionePatrimoniale.getData()?has_content> 
748                <section class="it-page-section mb-30 pt-4" id="patrimonial-situation"> 
749                    <h2 class="title-xxlarge mb-3"><@liferay.language key="patrimonial-situation" /></h2> 
750                    <div class="col-12 p-3 rounded"> 
751                        ${SituazionePatrimoniale.getData()} 
752                    </div> 
753                </section> 
754                </#if> 
755 
756                <#if DichiarazioneDeiRedditi.getData()?has_content> 
757                <section class="it-page-section mb-30 pt-4" id="redditi"> 
758                    <h2 class=" title-xxlarge mb-3"><@liferay.language key="tax-declaration" /></h2> 
759                    <div class="col-12 shadow p-3 mb-4 rounded"> 
760                        <div class="d-flex align-items-center"> 
761                            <svg class="icon icon-primary icon-lh me-2" aria-hidden="true" viewBox="0 0 24 24"> 
762                                <path d="M12,14.2L7.7,9.9l0.7-0.7l3.1,3.1V3h1v9.2l3.1-3l0.7,0.7L12,14.2z M19,12v7.5c0,0.3-0.2,0.5-0.5,0.5h-13C5.2,20,5,19.8,5,19.5V12H4v7.5C4,20.3,4.7,21,5.5,21h13c0.8,0,1.5-0.7,1.5-1.5V12H19z" /> 
763                            </svg> 
764                            <a class="text-decoration_none fw-semibold t-primary" href="${dichiarazione.url}"> 
765                                ${(dichiarazione.titolo)!"Dichiarazione dei redditi - ${Nome.getData()} ${Cognome.getData()}"} 
766                            </a> 
767                        </div> 
768                    </div> 
769                </section> 
770                </#if> 
771 
772                <#if has_spese_elettorali> 
773                <section class="it-page-section mb-30 pt-4" id="spese"> 
774                    <h2 class="title-xxlarge mb-3"><@liferay.language key="electoral-expenses" /></h2> 
775                    <p class="lora">Le spese sostenute e le obbligazioni assunte per la propaganda elettorale.</p> 
776                    <div class="col-12 shadow p-3 mb-4 rounded"> 
777                        <div class="d-flex align-items-center"> 
778                            <svg class="icon icon-primary icon-lh me-2" aria-hidden="true" viewBox="0 0 24 24"> 
779                                <path d="M12,14.2L7.7,9.9l0.7-0.7l3.1,3.1V3h1v9.2l3.1-3l0.7,0.7L12,14.2z M19,12v7.5c0,0.3-0.2,0.5-0.5,0.5h-13C5.2,20,5,19.8,5,19.5V12H4v7.5C4,20.3,4.7,21,5.5,21h13c0.8,0,1.5-0.7,1.5-1.5V12H19z" /> 
780                            </svg> 
781                            <a class="text-decoration_none fw-semibold t-primary" href="${SPESE.url}"> 
782                                ${SPESE.titolo} 
783                            </a> 
784                        </div> 
785                    </div> 
786                </section> 
787                </#if> 
788 
789                <#if has_variazioni_patrimoniali> 
790                <section class="it-page-section mb-30 pt-4" id="variations"> 
791                    <h2 class="title-xxlarge mb-3"><@liferay.language key="patrimonial-situation-variation" /></h2> 
792                    <div class="col-12 p-3 shadow rounded mb-4"> 
793                        <div class="d-flex align-items-center"> 
794                            <svg class="icon icon-primary icon-lh me-2" aria-hidden="true" viewBox="0 0 24 24"> 
795                                <path d="M12,14.2L7.7,9.9l0.7-0.7l3.1,3.1V3h1v9.2l3.1-3l0.7,0.7L12,14.2z M19,12v7.5c0,0.3-0.2,0.5-0.5,0.5h-13C5.2,20,5,19.8,5,19.5V12H4v7.5C4,20.3,4.7,21,5.5,21h13c0.8,0,1.5-0.7,1.5-1.5V12H19z" /> 
796                            </svg> 
797                            <a class="text-decoration_none fw-semibold t-primary" href="${VARIAZIONI.url}"> 
798                                ${VARIAZIONI.titolo} 
799                            </a> 
800                        </div> 
801                    </div> 
802                </section> 
803                </#if> 
804 
805                <#if AltreCariche.getData()?has_content> 
806                <section class="it-page-section mb-30 pt-4" id="other-charges"> 
807                    <h2 class="title-xxlarge mb-3"><@liferay.language key="other-assignments" /></h2> 
808                    <div class="richtext-wrapper lora"> 
809                        ${AltreCariche.getData()} 
810                    </div> 
811                </section> 
812                </#if> 
813 
814                <#if UlterioriInformazioni.getData()?has_content> 
815                <section class="it-page-section mb-30 pt-4" id="more-info"> 
816                    <h2 class="title-xxlarge mb-3"><@liferay.language key="additional-information" /></h2> 
817                    <div class="richtext-wrapper lora"> 
818                        ${UlterioriInformazioni.getData()} 
819                    </div> 
820                </section> 
821                </#if> 
822 
823            </div> 
824            <div class="mt-3"> 
825                <#assign 
826                    modifiedDate=.vars['reserved-article-modified-date'].getData()?split(", ")[1]?split(" +")[0] 
827                    displayModifiedDate=modifiedDate?datetime("dd MMM yyyy hh:mm:ss") /> 
828                <p class="text-paragraph-small mb-0 lora"> 
829                    <span class="fw-semibold"><@liferay.language key="last-update-date" />: </span> 
830                    <span> 
831                        ${displayModifiedDate?string["dd/MM/yyyy, HH:mm"]} 
832                    </span> 
833                </p> 
834            </div> 
835        </div> 
836    </div> 
837</div> 
838 
839<script defer> 
840document.querySelectorAll(".mail-anchor").forEach(anchor => anchor.href = "mailto:&subject=${Nome.getData()} ${Cognome.getData()}&body=" + window.location.href) 
841 
842function shareOn(type) { 
843    let articleUrl = window.location.href; 
844    const mapping = { 
845        "facebook": "https://facebook.com/sharer/sharer.php?u=" + articleUrl, 
846        "twitter": "https://twitter.com/intent/tweet/?text=" + articleUrl, 
847        "linkedin": "http://www.linkedin.com/sharing/share-offsite/?url=" + articleUrl, 
848        "whatsapp": "whatsapp://send?text=" + articleUrl 
849
850 
851    window.open(mapping[type], "_blank"); 
852    return 
853
854</script> 
855 
856<style> 
857.card-text.incarichi { 
858    margin-top: 1.25rem; 
859
860 
861.card-text.incarichi * { 
862    margin-bottom: 0px; 
863
864</style>