Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> viePres.values.viePresentationDate  [in template "com.liferay.portal.template.freemarker_7.0.59_CLASS_LOADER_CONTEXT_FTL_film.ftl" at line 40, column 54]

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

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #local viePresFull = viePresFull + [v...  [in template "com.liferay.portal.template.freemarker_7.0.59_CLASS_LOADER_CONTEXT_FTL_film.ftl" in function "getFilmData" at line 40, column 17]
----
1<#assign 
2dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
3dlURLHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") 
4 
5objectEntryLocalService = serviceLocator.findService("com.liferay.object.service.ObjectEntryLocalService") 
6objectRelationshipLocalService = serviceLocator.findService("com.liferay.object.service.ObjectRelationshipLocalService") 
7objectDefinitionLocalService = serviceLocator.findService("com.liferay.object.service.ObjectDefinitionLocalService") 
8 
9listTypeDefinitionService = serviceLocator.findService("com.liferay.list.type.service.ListTypeDefinitionLocalService") 
10listTypeEntryService = serviceLocator.findService("com.liferay.list.type.service.ListTypeEntryLocalService") 
11/> 
12 
13<#assign searchUrl = (request.getParameter("searchUrl")?hasContent)?then("?searchUrl=" + request.getParameter("searchUrl")?url('UTF-8'), "")/> 
14<#assign summary = garance.getSummaryContent("Film")> 
15 
16<#assign workID = ObjectEntry_objectEntryId.getData() 
17workEntry = objectEntryLocalService.fetchObjectEntry(workID?number) 
18filmID = workEntry.values.r_filmWork_c_filmId 
19filmEntry = objectEntryLocalService.fetchObjectEntry(filmID?number) 
20filmGroupID = filmEntry.getGroupId() /> 
21 
22 
23<#--------------------------------- Données communes films et variants (macro-library : FTL_film.ftl) --------------------------> 
24<#assign filmData = film.getFilmData(filmEntry, workEntry, themeDisplay.getCompanyId()) /> 
25<#assign othTltsFull = filmData.othTltsFull /> 
26<#assign unitDocFull = filmData.unitDocFull /> 
27<#assign viePresFull = filmData.viePresFull /> 
28<#assign viesPresFullOut = filmData.viesPresFullOut /> 
29<#assign creditsProdFull = filmData.creditsProdFull /> 
30<#assign viesClassFull = filmData.viesClassFull /> 
31<#assign languesParlFull = filmData.languesParlFull /> 
32<#assign catalogues = filmData.catalogues /> 
33<#assign showIdentity = filmData.showIdentity /> 
34<#assign keywords = filmData.keywords /> 
35<#assign contentGenres = filmData.contentGenres /> 
36<#assign formesOeuvreAdaptee = filmData.formesOeuvreAdaptee /> 
37<#assign vocabulairesCinematographiques = filmData.vocabulairesCinematographiques /> 
38<#assign viesProduction = filmData.viesProduction /> 
39<#assign datesViesTournage = filmData.datesViesTournage /> 
40<#assign studiosTournage = filmData.studiosTournage /> 
41<#assign studiosEnreg = filmData.studiosEnreg /> 
42<#assign labs = filmData.labs /> 
43<#assign showDescription = filmData.showDescription /> 
44<#assign credRealsFull = filmData.credRealsFull /> 
45<#assign credEcritsFull = filmData.credEcritsFull /> 
46<#assign credMusicsFull = filmData.credMusicsFull /> 
47<#assign credTechsFull = filmData.credTechsFull /> 
48<#assign credProdsFull = filmData.credProdsFull /> 
49<#assign credIntersFull = filmData.credIntersFull /> 
50<#assign showGenerique = filmData.showGenerique /> 
51<#assign techColors = filmData.techColors /> 
52<#assign workSoundsFull = filmData.workSoundsFull /> 
53<#assign techniquesImageFull = filmData.techniquesImageFull /> 
54<#assign showTechnique = filmData.showTechnique /> 
55<#assign florileges = filmData.florileges /> 
56<#assign syntheses = filmData.syntheses /> 
57<#assign showPress = filmData.showPress /> 
58<#assign awardsFull = filmData.awardsFull /> 
59<#assign showAwards = filmData.showAwards /> 
60<#assign exploitationParis = filmData.exploitationParis /> 
61<#assign exploitationProvince = filmData.exploitationProvince /> 
62<#assign exploitationFrance = filmData.exploitationFrance /> 
63<#assign showExploitation = filmData.showExploitation /> 
64<#assign digitalRefs = filmData.digitalRefs /> 
65<#assign showBibliographie = filmData.showBibliographie /> 
66<#assign seriesFull = filmData.seriesFull /> 
67<#assign corpusFull = filmData.corpusFull /> 
68<#assign ensembleFull = filmData.ensembleFull /> 
69<#assign composingFull = filmData.composingFull /> 
70<#assign relatedFilmsFull = filmData.relatedFilmsFull /> 
71<#assign showRelatedFilms = filmData.showRelatedFilms /> 
72<#assign showCorpus = filmData.showCorpus /> 
73<#assign showSerie = filmData.showSerie /> 
74<#assign showEnsemble = filmData.showEnsemble /> 
75<#assign showComposingCorpus = filmData.showComposingCorpus /> 
76<#assign showComposingSerie = filmData.showComposingSerie /> 
77<#assign showComposingEnsemble = filmData.showComposingEnsemble /> 
78<#assign filmConsultationsFull = filmData.filmConsultationsFull /> 
79<#assign filmConsultationsNumériques = filmData.filmConsultationsNumériques /> 
80<#assign showConsultation = filmData.showConsultation /> 
81<#assign reproductionsImages = filmData.reproductionsImages /> 
82<#assign reproductionsVideos = filmData.reproductionsVideos /> 
83<#assign showMedia = filmData.showMedia /> 
84 
85<#--------------------------------- Versions --------------------------> 
86<#assign filmChildrenRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "filmChildren")> 
87<#assign filmChildren = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, filmChildrenRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
88<#assign variantChildren = []> 
89<#if filmChildren?hasContent> 
90    <#assign variantChildren = filmChildren?filter(v -> v.values.descriptionLevel?hasContent && v.values.descriptionLevel == "VARIANT")> 
91</#if> 
92 
93<#assign showVariant = variantChildren?hasContent> 
94 
95<#--------------------------------- Collections --------------------------> 
96 
97<#assign relatedObjectsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "filmRelatedObjects")> 
98<#assign relatedObjects = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, relatedObjectsRel.objectRelationshipId, filmID, true, relatedObjectsRel.isReverse(), null, -1, -1 ) /> 
99<#assign relatedObjectsFull = garance.getRelatedObjects(relatedObjects, filmEntry, false)> 
100 
101<#assign showCollection = relatedObjectsFull?hasContent> 
102 
103 
104<div class="notice notice--film js-notice"> 
105    <div class="notice-header tw:text-white tw:pt-[3.375rem] tw:pb-[2.5rem] tw:relative tw:overflow-hidden 
106    tw:before:content-[''] tw:before:absolute tw:before:inset-0 tw:before:size-full tw:before:block tw:before:bg-text tw:before:opacity-90 
107    tw:xl:pt-[9.5rem]"> 
108        <div class="page-wrapper tw:z-0 tw:relative"> 
109            <#if request.getParameter("searchContext")?hasContent> 
110                <@garance.noticePagination request.getParameter("searchContext") filmID /> 
111            </#if> 
112 
113            <div class="tw:flex tw:gap-5 tw:items-start tw:flex-wrap tw:flex-col tw:z-0 
114            tw:md:flex-row tw:lg:flex-nowrap 
115            tw:xl:gap-[2.125rem]"> 
116                <div class="tw:order-2 tw:lg:order-1 tw:flex tw:flex-col tw:w-full tw:text-center 
117                    tw:md:w-fit tw:md:text-left"> 
118                    <#if filmEntry.values.titleComplete?hasContent> 
119                        <h1 class="tw:order-1 tw:text-prim tw:mb-[0.625rem]"> 
120                            ${filmEntry.values.titleComplete} 
121                        </h1> 
122                    </#if> 
123                    <#if !reproductionsImages?hasContent> 
124                        <p class="tw:order-0 tw:mb-5 tw:text-[0.75rem]/[1rem] tw:block tw:mx-auto tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1 
125                                        tw:md:mx-0"> 
126                            Film 
127                        </p> 
128                    </#if> 
129                    <#if filmEntry.values.frenchTitle?hasContent> 
130                        <p class="tw:order-1 tw:font-title tw:text-[1.25rem]/[1.875rem] tw:font-medium"> 
131                            <#if (filmEntry.values.frenchTitleArticle)?hasContent> 
132                                ${filmEntry.values.frenchTitleArticle} 
133                            </#if> 
134                            ${filmEntry.values.frenchTitle} 
135                        </p> 
136                    </#if> 
137                    <div class="tw:order-1 tw:relative tw:pt-5 tw:mt-5 tw:text-left 
138                    tw:before:block tw:before:content-[''] tw:before:absolute tw:before:top-0 tw:before:h-[0.0625rem] tw:before:w-full tw:before:bg-white tw:before:opacity-20 
139                    tw:md:before:w-[12.8125rem] "> 
140                        <#assign realisateursRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsRealisateur")> 
141                        <#assign realisateurs = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, realisateursRel.objectRelationshipId, filmID, true, realisateursRel.isReverse(), null, -1, -1 ) /> 
142                        <#if realisateurs?hasContent> 
143                            <p class="tw:mb-[0.625rem]"> 
144                                <#list realisateurs as realisateur> 
145                                    <#assign realisateurData = garance.getPersonneDisplayData(realisateur.objectEntryId)> 
146                                    <#if realisateurData.id?hasContent> 
147                                        <a href="/l/${realisateurData.id}${searchUrl}" 
148                                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
149                                            ${realisateurData.name} 
150                                        </a> 
151                                    <#else> 
152                                        ${realisateurData.name} 
153                                    </#if><#if !realisateur?isLast>, </#if> 
154                                </#list> 
155                            </p> 
156                        </#if> 
157 
158                        <#if filmEntry.values.productionDateStart?hasContent> 
159                            <p class="tw:mb-[0.625rem]"> 
160                                <span class="tw:font-bold">Année de production :</span>&nbsp; 
161                                <#if filmEntry.values.productionDateEnd?hasContent && filmEntry.values.productionDateStart != filmEntry.values.productionDateEnd> 
162                                    ${[filmEntry.values.productionDateStart?string("yyyy"), filmEntry.values.productionDateEnd?string("yyyy")]?join(" - ")} 
163                                <#else> 
164                                    ${filmEntry.values.productionDateStart?string("yyyy")} 
165                                </#if> 
166                                <#if getterUtil.getBoolean(filmEntry.values.anneeDeProdPresume)>&nbsp;(Présumé)</#if> 
167                            </p> 
168                        </#if> 
169 
170                        <#assign countryID = filmEntry.values.r_productionCountry_c_thesaurusId> 
171                        <#if countryID != 0> 
172                            <#assign country = garance.getThesaurusByID(countryID)> 
173                            <#if country?hasContent> 
174                                <p class="tw:mb-[0.625rem]"> 
175                                    <span class="tw:font-bold">Pays de production :</span>&nbsp;${country} 
176                                </p> 
177                            </#if> 
178                        </#if> 
179                    </div> 
180                </div> 
181                <#if reproductionsImages?hasContent> 
182                    <div class="tw:order-1 tw:lg:order-0 tw:w-full 
183                                    tw:md:w-fit"> 
184                        <div class="tw:m-auto tw:mx-auto tw:max-w-full tw:w-[15.625rem] tw:relative 
185                                        tw:md:mx-0"> 
186                            <p class="tw:absolute tw:top-[0.625rem] tw:left-[0.625rem] tw:text-[0.75rem]/[1rem] tw:block tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1"> 
187                                Film 
188                            </p> 
189                            <#assign thumbnail = reproductionsImages?first> 
190                            <#assign fileEntryDesktop = dlAppLocalService.getFileEntry(thumbnail.values.media?number) /> 
191                            <#assign thumbnailURL = dlURLHelper.getPreviewURL(fileEntryDesktop, fileEntryDesktop.getFileVersion(), 
192                            null, "", 
193                            !fileEntryDesktop.getFileVersion().equals(fileEntryDesktop.getLatestFileVersion()), true) /> 
194 
195                            <figure class="tw:w-full"> 
196                                <source media="(min-width: 480px)" 
197                                        srcset="${thumbnailURL}"/> 
198                                <img class="tw:rounded-xs tw:object-cover tw:size-full" alt="" 
199                                     src="${thumbnailURL}"/> 
200                                <#if thumbnail.values.reproductionNotes?hasContent || thumbnail.values.reproductionCopyright?hasContent> 
201                                    <figcaption class="tw:ml-[0.625rem] tw:opacity-70 tw:text-[0.75rem]/[1rem] tw:font-medium tw:mt-[0.3125rem] 
202                                                    tw:md:ml-0"> 
203                                        ${[thumbnail.values.reproductionNotes, thumbnail.values.reproductionCopyright]?filter(v->v?hasContent)?join(" - ")} 
204                                    </figcaption> 
205                                </#if> 
206                            </figure> 
207                        </div> 
208                    </div> 
209                </#if> 
210                <@garance.noticeTools /> 
211            </div> 
212        </div> 
213    </div> 
214    <div class="notice-content"> 
215 
216 
217        <div class="tw:overflow-y-clip tw:py-10"> 
218            <div class="page-wrapper summary-ancres js-summary-ancres tw:group tw:fixed tw:w-full tw:overflow-hidden tw:h-fit tw:z-50 tw:top-[4.375rem] tw:bg-beige tw:max-lg:max-w-full! 
219                tw:lg:top-[6.875rem] tw:lg:h-0 tw:lg:overflow-visible tw:lg:sticky 
220                tw:xl:top-[8.85rem]"> 
221                <nav class="tw:bg-beige tw:lg:w-[14.25rem]" role="navigation" aria-labelledby="summary-title"> 
222                    <button id="summary-title" class="js-summary-btn tw:text-h3 tw:font-title tw:flex tw:justify-between tw:items-center tw:py-[0.625rem] tw:w-full tw:max-sm:px-[calc(2.5rem/2)] tw:focus:outline-offset-[-0.125rem] 
223                        tw:max-lg:px-[calc(5rem/2)] 
224                        tw:lg:hidden" aria-label="Ouvrir/Fermer le sommaire" aria-expanded="false" 
225                            aria-controls="summary-list"> 
226                        <span>Sommaire</span> 
227                        <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:outline-offset-[-0.125rem] 
228                        tw:group-[&.open]:rotate-180" aria-hidden="true"></span> 
229                    </button> 
230                    <div id="summary-list" class="tw:overflow-y-auto tw:bg-white tw:transition-all tw:max-sm:px-[calc(2.5rem/2)] 
231                    tw:max-lg:max-h-0 tw:max-lg:px-[calc(5rem/2)] tw:max-lg:max-w-full 
232                    tw:group-[&.open]:max-h-[calc(100vh-(4.375rem+3.125rem))] 
233                    tw:lg:max-h-[calc(100vh-12.5rem)] tw:lg:bg-transparent" tabindex="-1"> 
234                        <ul class="tw:border-sommaire-border tw:border-l-[0.125rem] tw:my-2"> 
235                            <#if showIdentity> 
236                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
237                                    <a href="#identite" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
238                                tw:[&.is-active]:border-prim" tabindex="-1"> 
239                                        <span>${summary["IdentiteFilm"]?hasContent?then(summary["IdentiteFilm"], "Identité")}</span> 
240                                    </a> 
241                                </li> 
242                            </#if> 
243                            <#if showDescription> 
244                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
245                                    <a href="#description" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
246                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
247                                        <span>${summary["DescriptionFilm"]?hasContent?then(summary["DescriptionFilm"], "Description")}</span> 
248                                    </a> 
249                                </li> 
250                            </#if> 
251                            <#if showGenerique> 
252                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
253                                    <a href="#generique" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
254                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
255                                        <span>${summary["GeneriqueFilm"]?hasContent?then(summary["GeneriqueFilm"], "Générique")}</span> 
256                                    </a> 
257                                </li> 
258                            </#if> 
259                            <#if showTechnique> 
260                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
261                                    <a href="#infos-techniques" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
262                                                                tw:[&.is-active]:border-prim" tabindex="-1"> 
263                                        <span>${summary["InformationsTechniquesFilm"]?hasContent?then(summary["InformationsTechniquesFilm"], "Informations techniques")}</span> 
264                                    </a> 
265                                </li> 
266                            </#if> 
267                            <#if showPress> 
268                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
269                                    <a href="#presse" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
270                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
271                                        <span>${summary["DansLaPresseFilm"]?hasContent?then(summary["DansLaPresseFilm"], "Dans la presse")}</span> 
272                                    </a> 
273                                </li> 
274                            </#if> 
275                            <#if showAwards> 
276                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
277                                    <a href="#recompenses" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
278                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
279                                        <span>${summary["RecompensesEtNominationsFilm"]?hasContent?then(summary["RecompensesEtNominationsFilm"], "Récompenses et nominations")}</span> 
280                                    </a> 
281                                </li> 
282                            </#if> 
283                            <#if showExploitation> 
284                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
285                                    <a href="#exploitation" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
286                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
287                                        <span>${summary["ExploitationFilm"]?hasContent?then(summary["ExploitationFilm"], "Exploitation")}</span> 
288                                    </a> 
289                                </li> 
290                            </#if> 
291                            <#if showBibliographie> 
292                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
293                                    <a href="#bibliographie" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
294                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
295                                        <span>${summary["BibliographieEditorialeFilm"]?hasContent?then(summary["BibliographieEditorialeFilm"], "Bibliographie éditoriale")}</span> 
296                                    </a> 
297                                </li> 
298                            </#if> 
299                            <#if showVariant> 
300                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
301                                    <a href="#versions" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
302                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
303                                        <span>${summary["VersionsDuFilmFilm"]?hasContent?then(summary["VersionsDuFilmFilm"], "Versions du film")}</span> 
304                                    </a> 
305                                </li> 
306                            </#if> 
307                            <#if showSerie> 
308                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
309                                    <a href="#series" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
310                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
311                                        <span>Séries liées</span> 
312                                    </a> 
313                                </li> 
314                            </#if> 
315                            <#if showComposingSerie> 
316                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
317                                    <a href="#series-composing" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
318                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
319                                        <span>Films composant la série</span> 
320                                    </a> 
321                                </li> 
322                            </#if> 
323                            <#if showEnsemble> 
324                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
325                                    <a href="#ensembles" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
326                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
327                                        <span>Ensembles liés</span> 
328                                    </a> 
329                                </li> 
330                            </#if> 
331                            <#if showComposingEnsemble> 
332                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
333                                    <a href="#ensembles-composing" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
334                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
335                                        <span>Films composant l'ensemble</span> 
336                                    </a> 
337                                </li> 
338                            </#if> 
339                            <#if showRelatedFilms> 
340                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
341                                    <a href="#relations" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
342                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
343                                        <span>${summary["RelationAutreFilmFilm"]?hasContent?then(summary["RelationAutreFilmFilm"], "Relation autre film")}</span> 
344                                    </a> 
345                                </li> 
346                            </#if> 
347                            <#if showCorpus> 
348                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
349                                    <a href="#corpus" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
350                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
351                                        <span>Corpus liés</span> 
352                                    </a> 
353                                </li> 
354                            </#if> 
355                            <#if showComposingCorpus> 
356                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
357                                    <a href="#corpuss-composing" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
358                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
359                                        <span>Films composant le corpus</span> 
360                                    </a> 
361                                </li> 
362                            </#if> 
363                            <#if showConsultation> 
364                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
365                                    <a href="#consultation" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
366                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
367                                        <span>${summary["ConsultationFilm"]?hasContent?then(summary["ConsultationFilm"], "Consultation")}</span> 
368                                    </a> 
369                                </li> 
370                            </#if> 
371                            <#if showMedia> 
372                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
373                                    <a href="#ressources" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
374                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
375                                        <span>${summary["RessourcesMediaFilm"]?hasContent?then(summary["RessourcesMediaFilm"], "Ressources média")}</span> 
376                                    </a> 
377                                </li> 
378                            </#if> 
379                            <#if showCollection> 
380                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
381                                    <a href="#collections" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
382                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
383                                        <span>${summary["CollectionsLieesFilm"]?hasContent?then(summary["CollectionsLieesFilm"], "Collections liées")}</span> 
384                                    </a> 
385                                </li> 
386                            </#if> 
387                        </ul> 
388                    </div> 
389                </nav> 
390            </div> 
391 
392            <#if showIdentity> 
393                <div id="identite" class="js-summary-content" tabindex="-1"></div> 
394                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
395                    <h2 class="tw:text-prim tw:mb-5">${summary["IdentiteFilm"]?hasContent?then(summary["IdentiteFilm"], "Identité")}</h2> 
396                    <@film.displayOtherTitles othTltsFull=othTltsFull  /> 
397                    <@film.displayTypeOeuvre filmEntry=filmEntry  /> 
398                    <@film.displayTypeNotice filmEntry=filmEntry  /> 
399                    <@film.displayUnitDocumentaire unitDocFull=unitDocFull filmEntry=filmEntry  /> 
400                    <@film.displayCardinalite filmEntry=filmEntry  /> 
401                    <@film.displayReleaseDate filmEntry=filmEntry  /> 
402                    <#setting locale="fr_FR"> 
403                    <@film.displayFranceReleaseDate viePresFull=viePresFull  /> 
404                    <@film.displayCreditsProd creditsProdFull=creditsProdFull  /> 
405                    <@film.displayRcaLinkNumber filmEntry=filmEntry  /> 
406                    <@film.displayViesClass viesClassFull=viesClassFull  /> 
407                    <@film.displayLanguesParl viesClassFull=viesClassFull  /> 
408                    <@film.displayCatalogues catalogues=catalogues  /> 
409                    <@film.displayViesPres viesPresFullOut=viesPresFullOut  /> 
410                </div> 
411            </#if> 
412 
413            <#if showDescription> 
414                <div id="description" class="js-summary-content" tabindex="-1"></div> 
415                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
416                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
417                    <h2 class="tw:text-prim tw:mb-5">${summary["DescriptionFilm"]?hasContent?then(summary["DescriptionFilm"], "Description")}</h2> 
418 
419                    <@film.displayDescription filmEntry=filmEntry  /> 
420                    <@film.displayKeywords keywords=keywords  /> 
421                    <@film.displayGenre filmEntry=filmEntry  /> 
422                    <@film.displayGenrePrecis contentGenres=contentGenres  /> 
423                    <@film.displayFormesOeuvreAdaptee formesOeuvreAdaptee=formesOeuvreAdaptee  /> 
424                    <@film.displayVocabulairesCinematographiques vocabulairesCinematographiques=vocabulairesCinematographiques  /> 
425                    <@film.displayViesProduction viesProduction=viesProduction  /> 
426                    <@film.displayDatesViesTournage datesViesTournage=datesViesTournage  /> 
427                    <@film.displayStudiosTournage studiosTournage=studiosTournage  /> 
428                    <@film.displayStudiosEnreg studiosEnreg=studiosEnreg  /> 
429                    <@film.displayLabs labs=labs  /> 
430                    <@film.displayNotes filmEntry=filmEntry  /> 
431 
432                </div> 
433            </#if> 
434 
435            <#if showGenerique> 
436                <div id="generique" class="js-summary-content" tabindex="-1"></div> 
437                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
438                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
439                    <h2 class="tw:text-prim tw:mb-5">${summary["GeneriqueFilm"]?hasContent?then(summary["GeneriqueFilm"], "Générique")}</h2> 
440                    <@film.displayCredReals credRealsFull=credRealsFull  /> 
441                    <@film.displayCredEcrits credEcritsFull=credEcritsFull  /> 
442                    <@film.displayCredMusics credMusicsFull=credMusicsFull  /> 
443                    <@film.displayCredTechs credTechsFull=credTechsFull  /> 
444                    <@film.displayCredProds credProdsFull=credProdsFull  /> 
445                    <@film.displayCredInters credIntersFull=credIntersFull  /> 
446                </div> 
447            </#if> 
448 
449            <#if showTechnique> 
450                <div id="infos-techniques" class="js-summary-content" tabindex="-1"></div> 
451                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
452                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
453                    <h2 class="tw:text-prim tw:mb-5">${summary["InformationsTechniquesFilm"]?hasContent?then(summary["InformationsTechniquesFilm"], "Informations techniques")}</h2> 
454 
455                    <@film.displayTypeDeMetrage filmEntry=filmEntry  /> 
456                    <@film.displayWorkVariantQuantity filmEntry=filmEntry  /> 
457                    <@film.displayWorkVariantMetrage filmEntry=filmEntry  /> 
458                    <@film.displayTechColors techColors=techColors  /> 
459                    <@film.displaySonore filmEntry=filmEntry  /> 
460                    <@film.displayWorkSounds workSoundsFull=workSoundsFull  /> 
461                    <@film.displayTechniquesImage techniquesImageFull=techniquesImageFull  /> 
462                </div> 
463            </#if> 
464 
465            <#if showPress> 
466                <div id="presse" class="js-summary-content" tabindex="-1"></div> 
467                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
468                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
469                    <h2 class="tw:text-prim tw:mb-5">${summary["DansLaPresseFilm"]?hasContent?then(summary["DansLaPresseFilm"], "Dans la presse")}</h2> 
470                    <@film.displayFlorileges florileges=florileges  /> 
471                    <@film.displaySyntheses syntheses=syntheses  /> 
472                </div> 
473            </#if> 
474 
475            <#if showAwards> 
476                <div id="recompenses" class="js-summary-content" tabindex="-1"></div> 
477                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
478                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
479                    <h2 id="awards" 
480                        class="tw:text-prim tw:mb-5">${summary["RecompensesEtNominationsFilm"]?hasContent?then(summary["RecompensesEtNominationsFilm"], "Récompenses et nominations")}</h2> 
481                    <@film.displayAwards awardsFull=awardsFull  /> 
482                </div> 
483            </#if> 
484 
485            <#if showExploitation> 
486                <div id="exploitation" class="js-summary-content" tabindex="-1"></div> 
487                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
488                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
489                    <h2 class="tw:text-prim tw:mb-5">${summary["ExploitationFilm"]?hasContent?then(summary["ExploitationFilm"], "Exploitation")}</h2> 
490                    <#assign exploitRefs = {"salle": "salles", 
491                    "semaine": "semaines", 
492                    "entree": "entrées la première semaine", 
493                    "total": "entrées totales" 
494                    }> 
495                    <@film.displayExploitationParis exploitationParis=exploitationParis exploitRefs=exploitRefs /> 
496                    <@film.displayExploitationProvince exploitationProvince=exploitationProvince exploitRefs=exploitRefs  /> 
497                    <@film.displayExploitationFrance exploitationFrance=exploitationFrance exploitRefs=exploitRefs /> 
498                </div> 
499            </#if> 
500 
501            <#if showBibliographie> 
502                <div id="bibliographie" class="js-summary-content" tabindex="-1"></div> 
503                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
504                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
505                    <h2 id="biblio" 
506                        class="tw:text-prim tw:mb-5">${summary["BibliographieEditorialeFilm"]?hasContent?then(summary["BibliographieEditorialeFilm"], "Bibliographie éditoriale")}</h2> 
507                    <@film.displayDigitalRefs digitalRefs=digitalRefs /> 
508                </div> 
509            </#if> 
510 
511            <#if showVariant> 
512                <div id="versions" class="js-summary-content" tabindex="-1"></div> 
513                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
514                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
515                    <h2 class="tw:text-prim tw:mb-5">${summary["VersionsDuFilmFilm"]?hasContent?then(summary["VersionsDuFilmFilm"], "Versions du film")}</h2> 
516                    <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
517                        <p id="variant-tl" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Type de version 
518                            :</p> 
519                        <div class="js-list-expand"> 
520                            <ul aria-labelledby="variant-tl"> 
521                                <#list variantChildren as variant> 
522                                    <li <#if (variant?index > 4)>class="tw:hidden"</#if>><#if variant.values.typeOfVariant?hasContent>${garance.getPicklistItemName(variant.values.typeOfVariant, "picklistTypeOfVariant")}</#if> 
523                                        - ${variant.values.titleComplete}<#if variant.values.varianteIdentificationNote?hasContent> - ${variant.values.varianteIdentificationNote}</#if></li> 
524                                </#list> 
525                            </ul> 
526                            <#if (variantChildren?size > 5)> 
527                                <button type="button" 
528                                        class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
529                                    <span>Voir plus</span> 
530                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
531                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
532                                </button> 
533                            </#if> 
534                            <button id="popup-variant-toggle" role="button" class="btn btn-outline-primary tw:mt-5"> 
535                                Afficher les 
536                                informations des versions 
537                            </button> 
538                        </div> 
539                    </div> 
540                </div> 
541            </#if> 
542 
543            <#if showSerie> 
544                <div id="series" class="js-summary-content" tabindex="-1"></div> 
545                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
546                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
547                    <h2 id="serie" class="tw:text-prim tw:mb-5">Séries liées</h2> 
548                    <@film.displaySeries seriesFull=seriesFull /> 
549                </div> 
550            </#if> 
551 
552            <#if showComposingSerie> 
553                <div id="series-composing" class="js-summary-content" tabindex="-1"></div> 
554                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
555                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
556                    <h2 id="serie-composing" 
557                        class="tw:text-prim tw:mb-5">Films composant la série</h2> 
558                    <div class="wysiwyg js-list-expand"> 
559                        <ul aria-labelledby="serie-composing"> 
560                            <#list composingFull as composing> 
561                                <li <#if (composing?index > 4)>class="tw:hidden"</#if>> 
562                                    <#if composing.id??> 
563                                        <a href="/l/${composing.id}${searchUrl}" 
564                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
565                                            ${composing.title}</a> 
566                                    <#else>${composing.title}</#if> 
567                                </li> 
568                            </#list> 
569                        </ul> 
570                        <#if (composingFull?size > 5)> 
571                            <button type="button" 
572                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
573                                <span>Voir plus</span> 
574                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
575                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
576                            </button> 
577                        </#if> 
578                    </div> 
579                </div> 
580            </#if> 
581 
582            <#if showEnsemble> 
583                <div id="ensemble" class="js-summary-content" tabindex="-1"></div> 
584                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
585                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
586                    <h2 id="ensemble" 
587                        class="tw:text-prim tw:mb-5">Ensembles liés</h2> 
588                    <div class="wysiwyg js-list-expand"> 
589                        <ul aria-labelledby="ensemble"> 
590                            <#list ensembleFull as ensemble> 
591                                <li <#if (ensemble?index > 4)>class="tw:hidden"</#if>> 
592                                    <#if ensemble.id??> 
593                                        <a href="/l/${ensemble.id}${searchUrl}" 
594                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
595                                            ${ensemble.title}</a> 
596                                    <#else>${ensemble.title}</#if> 
597                                </li> 
598                            </#list> 
599                        </ul> 
600                        <#if (ensembleFull?size > 5)> 
601                            <button type="button" 
602                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
603                                <span>Voir plus</span> 
604                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
605                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
606                            </button> 
607                        </#if> 
608                    </div> 
609                </div> 
610            </#if> 
611 
612            <#if showComposingEnsemble> 
613                <div id="ensembles-composing" class="js-summary-content" tabindex="-1"></div> 
614                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
615                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
616                    <h2 id="ensemble-composing" 
617                        class="tw:text-prim tw:mb-5">Films composant l'ensemble</h2> 
618                    <div class="wysiwyg js-list-expand"> 
619                        <ul aria-labelledby="ensemble-composing"> 
620                            <#list composingFull as composing> 
621                                <li <#if (composing?index > 4)>class="tw:hidden"</#if>> 
622                                    <#if composing.id??> 
623                                        <a href="/l/${composing.id}${searchUrl}" 
624                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
625                                            ${composing.title}</a> 
626                                    <#else>${composing.title}</#if> 
627                                </li> 
628                            </#list> 
629                        </ul> 
630                        <#if (composingFull?size > 5)> 
631                            <button type="button" 
632                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
633                                <span>Voir plus</span> 
634                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
635                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
636                            </button> 
637                        </#if> 
638                    </div> 
639                </div> 
640            </#if> 
641 
642            <#if showRelatedFilms> 
643                <div id="relations" class="js-summary-content" tabindex="-1"></div> 
644                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
645                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
646                    <h2 id="relatedF" 
647                        class="tw:text-prim tw:mb-5">${summary["RelationAutreFilmFilm"]?hasContent?then(summary["RelationAutreFilmFilm"], "Relation autre film")}</h2> 
648                    <@film.displayRelatedFilms relatedFilmsFull=relatedFilmsFull /> 
649                </div> 
650            </#if> 
651 
652            <#if showCorpus> 
653                <div id="corpus" class="js-summary-content" tabindex="-1"></div> 
654                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
655                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
656                    <h2 id="corpus-tl" 
657                        class="tw:text-prim tw:mb-5">Corpus liés</h2> 
658                    <@film.displayCorpus corpusFull=corpusFull /> 
659                </div> 
660            </#if> 
661 
662            <#if showComposingCorpus> 
663                <div id="corpuss-composing" class="js-summary-content" tabindex="-1"></div> 
664                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
665                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
666                    <h2 id="corpus-composing" 
667                        class="tw:text-prim tw:mb-5">Films composant le corpus</h2> 
668                    <div class="wysiwyg js-list-expand"> 
669                        <ul aria-labelledby="corpus-composing"> 
670                            <#list composingFull as composing> 
671                                <li <#if (composing?index > 4)>class="tw:hidden"</#if>> 
672                                    <#if composing.id??> 
673                                        <a href="/l/${composing.id}${searchUrl}" 
674                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
675                                            ${composing.title}</a> 
676                                    <#else>${composing.title}</#if> 
677                                </li> 
678                            </#list> 
679                        </ul> 
680                        <#if (composingFull?size > 5)> 
681                            <button type="button" 
682                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
683                                <span>Voir plus</span> 
684                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
685                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
686                            </button> 
687                        </#if> 
688                    </div> 
689                </div> 
690            </#if> 
691 
692            <#if showConsultation> 
693                <div id="consultation" class="js-summary-content" tabindex="-1"></div> 
694                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
695                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
696                    <h2 class="tw:text-prim tw:mb-5">${summary["ConsultationFilm"]?hasContent?then(summary["ConsultationFilm"], "Consultation")}</h2> 
697                    <@film.displayVieConservationEtat filmEntry=filmEntry /> 
698                    <@film.displayFilmConsultation filmConsultationsFull=filmConsultationsFull /> 
699                    <@film.displayFilmConsultationsNumeriques filmConsultationsNumériques=filmConsultationsNumériques /> 
700                </div> 
701            </#if> 
702        </div> 
703        <#if showMedia> 
704            <#assign medias = []> 
705            <#if reproductionsVideos?hasContent> 
706                <#assign medias = medias + [{ 
707                "type": "video", 
708                "title": "Vidéos", 
709                "reproductions": reproductionsVideos 
710                }]> 
711            </#if> 
712            <#if reproductionsImages?hasContent> 
713                <#assign medias = medias + [{ 
714                "type": "image", 
715                "title": "Images", 
716                "reproductions": reproductionsImages 
717                }]> 
718            </#if> 
719            <div id="ressources" class="js-summary-content" tabindex="-1"></div> 
720            <div class="page-wrapper tw:py-10"> 
721                <h2 id="ressources-tl" 
722                    class="tw:text-prim tw:mb-5">${summary["RessourcesMediaFilm"]?hasContent?then(summary["RessourcesMediaFilm"], "Ressources média")}</h2> 
723                <@garance.displayMedia data=medias /> 
724            </div> 
725        </#if> 
726        <#if showCollection> 
727            <div id="collections" class="js-summary-content" tabindex="-1"></div> 
728            <div class="page-wrapper tw:py-10"> 
729                <h2 id="collections-tl" 
730                    class="tw:text-prim tw:mb-5">${summary["CollectionsLieesFilm"]?hasContent?then(summary["CollectionsLieesFilm"], "Collections liées")}</h2> 
731                <@garance.displayCollection relatedObjectsFull /> 
732            </div> 
733            <script type="module" async> 
734                import('photoswipe') 
735                import('photoswipe-lightbox') 
736            </script> 
737        </#if> 
738    </div> 
739</div> 
740 
741<#if showVariant> 
742    <div id="popup-variant" 
743         class="tw:hidden tw:[&.open]:flex tw:bg-beige tw:fixed tw:[&.open]:z-[989] tw:max-w-[64.25rem] tw:w-[calc(100vw-2.5rem)] tw:translate-x-[-50%] tw:[.open]:translate-y-[-50%] tw:inset-[50%] tw:h-fit tw:max-h-[calc(100vh-1.25rem)] tw:flex tw:flex-col"> 
744        <div class="tw:bg-prim tw:text-white tw:items-center tw:justify-between tw:px-10 tw:px-10 tw:py-[0.375rem] tw:flex"> 
745            <h3 class="tw:text-h2/[2.8125rem]">Versions pour ${filmEntry.values.titleComplete}</h3> 
746            <button class="js-close-variant tw:group" type="button"> 
747                <span class="sr-only">Fermer</span> 
748                <span class="icon-cross tw:block tw:transition-all tw:text-base tw:text-white tw:group-hover:-rotate-90" 
749                      aria-controls="popup-variant"></span> 
750            </button> 
751        </div> 
752 
753        <div class="tw:px-10 tw:py-5 tw:lg:px-20 tw:lg:py-10 tw:overflow-y-auto"> 
754            <#list variantChildren as variant> 
755                <div class="accordion-variant tw:w-full tw:pt-10 tw:mb-10 
756                <#if !variant?isFirst>tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40</#if>" 
757                     data-variant-id="${variant.objectEntryId}" data-loaded="false"> 
758                    <button class="accordion-variant-expand tw:group tw:flex tw:justify-between tw:w-full tw:items-center tw:text-left" 
759                            aria-expanded="false" aria-controls="variant-content-${variant.objectEntryId}"> 
760                        <h3> 
761                            <#if variant.values.typeOfVariant?hasContent>${garance.getPicklistItemName(variant.values.typeOfVariant, "picklistTypeOfVariant")}</#if> 
762                            - ${variant.values.titleComplete}<#if variant.values.varianteIdentificationNote?hasContent> - ${variant.values.varianteIdentificationNote}</#if></h3> 
763                        <span class="icon-chevron-down tw:transition-all tw:shrink-0 tw:text-prim tw:group-hover:rotate-180 tw:group-[&[aria-expanded=true]]:rotate-180" 
764                              aria-hidden="true"></span> 
765                    </button> 
766                    <div id="variant-content-${variant.objectEntryId}" 
767                         class="accordion-variant-content tw:hidden tw:[&.open]:block tw:pt-5"> 
768                        <span class="custom-loader tw:mx-auto"></span> 
769                        <p class="sr-only">Chargement en cours</p> 
770                    </div> 
771                </div> 
772            </#list> 
773        </div> 
774    </div> 
775</#if>