Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> assetVocabularyService.fetchGroupVocabulary(groupId, vocabularyName)  [in template "20099#20135#14588694" at line 1401, column 31]

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

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign tagsVocabulary = assetVocabul...  [in template "20099#20135#14588694" in function "getCategoriesNamesAndIds" at line 1401, column 5]
----
1<#-- Conteúdo Web -> Templates: Site de Crise - Funções gerais--> 
2<#include "${templatesPath}/1975398" /> 
3 
4<#function getNodesByLabel fieldList parentNode label> 
5    <#assign result = []/> 
6    <#attempt> 
7        <#assign groupId =  getIdFromFieldName(fieldList, label) /> 
8        <#assign xSeletorCaminho = saxReaderUtil.createXPath("dynamic-element[@name='${groupId}' ]") /> 
9        <#assign result = xSeletorCaminho.selectNodes(parentNode) /> 
10        <#return result /> 
11        <#recover> 
12            <#return result /> 
13    </#attempt> 
14</#function> 
15 
16<#function findVocabulary vocabularyName vocabularies> 
17    <#assign vocabularyNameLowerCase = vocabularyName?lower_case> 
18    <#list vocabularies as vocabulary> 
19        <#if vocabulary.name?lower_case == vocabularyNameLowerCase> 
20            <#return vocabulary> 
21        </#if> 
22    </#list> 
23    <#return {}> 
24</#function> 
25 
26<#-- ############# Conteúdo Web -> Templates: Site de Crise - Include de templates #################################### --> 
27<#function getSiteUrl> 
28    <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]> 
29    <#if layout?? && layout?has_content> 
30        <#return portalUtil.getLayoutFriendlyURL(layout, themeDisplay)?replace(layout.getFriendlyURL(), "")> 
31    </#if> 
32    <#return portalUtil.getLayoutFriendlyURL(layout, themeDisplay)> 
33</#function> 
34 
35<#function getSiteName> 
36    <#return layout.getGroup().getDescriptiveName(locale)> 
37</#function> 
38 
39<#function mountUrlToPage targetPage> 
40    <#return getSiteUrl()+ "/" + targetPage> 
41</#function> 
42<#-- ################################################################################################################## --> 
43 
44 
45<#assign 
46journalArticleService  = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
47assetVocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
48categoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
49vocabularies = assetVocabularyService.getGroupVocabularies(groupId) 
50tagsLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService") 
51tagVocabulary = findVocabulary("Tag", vocabularies) 
52flagVocabulary = findVocabulary("Flag", vocabularies) 
53tagCategoryTitles = extractVocabularyTitles(tagVocabulary) 
54flagCategoryTitles = extractVocabularyTitles(flagVocabulary) 
55assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
56fileEntryService = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"] 
57layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
58assetCategoryPropService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") 
59/> 
60 
61	 
62	<#function getAssetEntryFromRequest assetEntryLocalService> 
63    <#assign assetEntry = ""> 
64    <#attempt > 
65        <#assign infoItemReference = Request.INFO_ITEM_DETAILS.getInfoItemReference() /> 
66        <#assign className = infoItemReference.getClassName() /> 
67        <#assign infoItem = Request.INFO_ITEM /> 
68        <#assign resourcePrimKey = infoItem.resourcePrimKey /> 
69        <#assign assetEntry = assetEntryLocalService.getEntry(className, resourcePrimKey) /> 
70        <#return assetEntry> 
71        <#recover > 
72            <#return ""> 
73    </#attempt> 
74    <#return ""> 
75</#function> 
76	 
77<#assign newsJournalArticle = ""> 
78<#assign assetEntry = getAssetEntryFromRequest(assetEntryLocalService)> 
79<#if assetEntry?? && assetEntry?has_content> 
80    <#assign newsJournalArticle = journalArticleService.fetchLatestArticle(assetEntry.classPK)/> 
81</#if> 
82 
83<#function getSingleNode name root> 
84    <#attempt> 
85        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='${name}']/dynamic-content[@language-id='${locale}']") /> 
86        <#return xPathSelector.selectSingleNode( root ) /> 
87        <#recover> 
88            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='${name}']") /> 
89            <#return xPathSelector.selectSingleNode( root ) /> 
90    </#attempt> 
91</#function> 
92 
93 
94<#function getFileFromXML fieldId parentNode fileEntryService> 
95 
96    <#assign info = {"url": "", "alt": "", "mimeType" :"", "name": "", "fileEntryId": "", "title": ""}> 
97 
98    <#assign jsonString = getSingleNodeString(fieldId, parentNode)/> 
99    <#if !jsonString?? || !jsonString?has_content> 
100        <#return info/> 
101    </#if> 
102 
103    <#assign json = jsonFactoryUtil.createJSONObject(jsonString) /> 
104    <#if !json?? || !json?has_content> 
105        <#return info/> 
106    </#if> 
107 
108    <#attempt > 
109        <#assign fileId = ""> 
110        <#if json.fileEntryId??> 
111            <#assign fileId = json.fileEntryId> 
112        <#else > 
113            <#if json.classPK??> 
114                <#assign fileId = json.classPK> 
115            </#if> 
116        </#if> 
117        <#if !fileId?has_content> 
118            <#return info> 
119        </#if> 
120        <#assign fileEntry = fileEntryService.fetchDLFileEntry(fileId?number) /> 
121        <#if !fileEntry?? > 
122            <#return info/> 
123        </#if> 
124        <#recover > 
125            <#return info/> 
126    </#attempt> 
127 
128    <#assign alt = ""> 
129    <#if json.description??> 
130        <#assign alt = json.description?trim> 
131    </#if> 
132 
133    <#assign info = {"url": "/documents/" + json.groupId + "/0/" + fileEntry.getTitle() + "/" + json.uuid, 
134          "alt": alt, 
135					"mimeType" : fileEntry.getMimeType(), 
136          "fileEntryId": fileId, 
137					"name" : json.name, 
138					"title" : json.title 
139    }> 
140    <#return info/> 
141</#function> 
142	 
143<#assign editorialVocabulary = findVocabulary("Editorial", vocabularies)/> 
144 
145 
146<#assign EMPTY_FILE_INFO = {"url": "", 
147"alt": "", 
148"fileEntryId": "", 
149"mimetype": "", 
150"fileExtension": "", 
151"restResponse": {}, 
152"dateCreated": "", 
153"dateModified": "", 
154"adaptedImages" : ""} /> 
155 
156<#function extractFileInfoFromJsonResponse jsonResponse> 
157    <#assign info = EMPTY_FILE_INFO /> 
158    <#if !jsonResponse?? || !jsonResponse?has_content || !jsonResponse.fileName??> 
159        <#return info/> 
160    </#if> 
161 
162    <#assign fileUrl = themeDisplay.getPortalURL() + jsonResponse.contentUrl/> 
163    <#assign adaptedImages = [] /> 
164    <#if jsonResponse["adaptedImages"]??> 
165        <#assign adaptedImages = jsonResponse.adaptedImages /> 
166    </#if> 
167 
168    <#assign info = {"url": fileUrl, 
169    "alt": jsonResponse.description, 
170    "fileEntryId": jsonResponse.id, 
171    "mimetype": jsonResponse.encodingFormat, 
172    "fileExtension": jsonResponse.fileExtension, 
173    "restResponse": jsonResponse, 
174    "dateCreated": jsonResponse.dateCreated, 
175    "dateModified": jsonResponse.dateModified, 
176    "adaptedImages": adaptedImages 
177    }> 
178    <#return info/> 
179</#function> 
180 
181<#function getFileFromRest fileEntryId> 
182    <#return restClient.get("/headless-delivery/v1.0/documents/${fileEntryId}") /> 
183</#function> 
184 
185<#function getSmallestAdaptedMedia imageJson> 
186    <#if !imageJson?? || !imageJson["adaptedImageList"]?? || !imageJson.adaptedImageList?is_sequence> 
187        <#return ""/> 
188    </#if> 
189 
190    <#assign mediaWidth = 300 /> 
191    <#list adaptedImageList.adaptedImageList?filter(f -> f.width == mediaWidth)  as adaptedImage> 
192        <#return themeDisplay.getPortalURL() + "/documents/" + groupId + "/" + adaptedImage.externalReferenceCode + "?t=" + .now?string["HHmmssSSS"] /> 
193    </#list> 
194 
195    <#return "" /> 
196</#function> 
197 
198<#function getBiggestAdaptedMedia adaptedImageList> 
199    <#if !adaptedImageList?? || !adaptedImageList?is_sequence> 
200        <#return ""/> 
201    </#if> 
202 
203    <#assign mediaWidth = -1 /> 
204    <#assign url = "" /> 
205    <#list adaptedImageList as adaptedImage> 
206        <#if adaptedImage.width?? && adaptedImage.width?number gt mediaWidth && adaptedImage.contentUrl??> 
207            <#assign mediaWidth = adaptedImage.width?number /> 
208            <#assign url = adaptedImage.contentUrl /> 
209        </#if> 
210    </#list> 
211    <#return url /> 
212</#function> 
213 
214<#function getFileFromJsonItem fileJson> 
215    <#assign info = EMPTY_FILE_INFO /> 
216    <#if !fileJson?has_content> 
217        <#return info/> 
218    </#if> 
219 
220    <#assign fileData = ""/> 
221    <#if fileJson.document??> 
222        <#assign fileData = fileJson.document /> 
223    <#elseif fileJson.image??> 
224        <#assign fileData = fileJson.image /> 
225    </#if> 
226 
227    <#if !fileData?has_content > 
228        <#return info/> 
229    </#if> 
230 
231    <#assign fileEntryId = fileData.id /> 
232    <#return getFileFromRest(fileEntryId)/> 
233</#function> 
234 
235<#function formatDate date> 
236    <#if !date ?? || !date?has_content> 
237        <#return ""> 
238    </#if> 
239    <#if locale == "pt_BR"> 
240        <#return date?datetime?string("dd/MM/yyyy")> 
241    <#else> 
242        <#return date?datetime?string("yyyy.MM.dd")> 
243    </#if> 
244</#function> 
245 
246<#if newsJournalArticle?? && newsJournalArticle?has_content> 
247 
248    <div class="breadcrumb-breakpoint breakpoint"> 
249        <div class="breadcrumb-col col-3-11 md-col-1-8 sm-col-1-4"> 
250            <#assign homeURL = "/" /> 
251 
252            <#if currentURL?contains('webserver')> 
253                <#assign homeURL = "/web/agencia/" /> 
254            </#if> 
255 
256            <a href="${homeURL}" class="breadcrumb-page text previous-page paragraph-micro-regular" tabindex="0"> 
257                <span class="breadcrumb-text-truncate" original-text="Home">Home</span> 
258                <div class="icon"></div> 
259            </a> 
260 
261            <#assign breadcrumbEditorialCategory = getFirstCategoryObjectOfVocabulary(assetEntry, editorialVocabulary) /> 
262            <#if breadcrumbEditorialCategory?? && breadcrumbEditorialCategory?has_content> 
263                 
264							 
265							<#if assetCategoryPropService.fetchCategoryProperty(breadcrumbEditorialCategory.getCategoryId(),"url_amigavel_pagina_publica")??> 
266                    <#assign property = assetCategoryPropService.fetchCategoryProperty(breadcrumbEditorialCategory.getCategoryId(),"url_amigavel_pagina_publica") /> 
267                    <#assign propertyValue = property.getValue() /> 
268                    <#assign categoryURL = homeURL + propertyValue /> 
269                <#else> 
270                    <#assign categoryURL = homeURL + "listar-editoria?category=" + breadcrumbEditorialCategory.getCategoryId()/> 
271                </#if> 
272							 
273                <a href="${categoryURL}" class="breadcrumb-page text previous-page paragraph-micro-regular" 
274                   tabindex="0"> 
275                    <span class="breadcrumb-text-truncate" 
276                          original-text="${breadcrumbEditorialCategory.getTitle(locale)}">${breadcrumbEditorialCategory.getTitle(locale)}</span> 
277                    <div class="icon"></div> 
278                </a> 
279            </#if> 
280 
281            <span original-text="${newsJournalArticle.getTitle(locale)}" 
282                  class="breadcrumb-page text active-page active paragraph-micro-bold">${newsJournalArticle.getTitle(locale)}</span> 
283        </div> 
284    </div> 
285 
286    <div class="ptb-news__read-news"> 
287        <div class="ptb-news__read-news-post "> 
288            <div class="ptb-news__read-content"> 
289                <#assign 
290                ddmStructure = newsJournalArticle.getDDMStructure() 
291                fieldList = getFieldListByStructure(ddmStructure) 
292                xmlArticle = newsJournalArticle.getDocument().getRootElement() 
293
294 
295                <#assign 
296                <#-- Título principal da notícia --> 
297                mainHeadlineOfTheNews = newsJournalArticle.getTitle(locale, true) 
298                <#-- Título de destaque da notícia --> 
299                featuredNewsHeadline = extractFeaturedNewsHeadline(fieldList, xmlArticle) 
300                <#-- Sumário da notícia --> 
301                newsSummary = extractNewsSummary(fieldList, xmlArticle) 
302                <#-- Data de publicação da notícia --> 
303                lastPublishDate = extractPublishDate(newsJournalArticle) 
304                <#-- Data de criação da notícia --> 
305                createDate = newsJournalArticle.getCreateDate() 
306
307 
308 
309                <#-- Flag da notícia ----------------------------------------------------------------------------------> 
310                <#assign flag = getFirstCategoryTitle(newsJournalArticle, flagCategoryTitles, categoryLocalService)> 
311                <#assign flagColor = getFlagColor(flag)> 
312 
313                <#-- Url amigável da notícia para visualização em DisplayPage -----------------------------------------> 
314                <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + newsJournalArticle.getUrlTitle()> 
315                <#assign newsJournalArticleFriendlyUrl = "/"> 
316                <#if themeDisplay.getPortalURL()?contains("webserver")> 
317                    <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + newsJournalArticle.getUrlTitle()> 
318                <#else> 
319                    <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + "/w/" + newsJournalArticle.getUrlTitle()> 
320                </#if> 
321 
322                <#-- Conteúdo da notícia ------------------------------------------------------------------------------> 
323                <#assign newsContent = getFieldValue(fieldList, xmlArticle, "Corpo da notícia")> 
324 
325                <#-- Seção do áudio para o conteúdo da notícia --------------------------------------------------------> 
326                <#assign audios = [] 
327                audioIdentifierFieldSetList = getNodes("Fieldset65862311", xmlArticle) 
328
329                <#list audioIdentifierFieldSetList as audioIdentifierFieldSet> 
330                    <#assign 
331                    <#-- Grupo com as informações de url e legenda do áudio --> 
332                    audioInfoFieldSet = getGroupNode("Fieldset24035689",audioIdentifierFieldSet)> 
333                    <#assign 
334                    externalAudioUrl = getFieldValue(fieldList, audioInfoFieldSet, "URL externa do áudio") 
335                    internalAudioUrl = getFileFromXML("DocumentLibrary24170668", audioInfoFieldSet, fileEntryService) 
336                    audioLegend = getFieldValue(fieldList, audioInfoFieldSet, "Legenda do áudio")> 
337 
338                    <#if externalAudioUrl?has_content || internalAudioUrl.url?has_content > 
339                        <#assign audios += [{ 
340                        "id": getFieldValue(fieldList, audioIdentifierFieldSet, "Identificador de Áudio"), 
341                        "externalUrl" : externalAudioUrl, 
342                        "internalUrl" : internalAudioUrl, 
343                        "legend" : audioLegend 
344                        }]> 
345                    </#if> 
346                </#list> 
347 
348 
349                <#-- Seção de vídeo para o conteúdo da notícia --------------------------------------------------------> 
350                <#assign videos = [] 
351                videoIdentifierFieldSetList = getNodes("Fieldset24460782", xmlArticle) 
352
353                <#list videoIdentifierFieldSetList as videoIdentifierFieldSet> 
354                    <#assign 
355                    <#-- Grupo com as informações de url e legenda do áudio --> 
356                    videoInfoFieldSet = getGroupNode("Fieldset51040010",videoIdentifierFieldSet) 
357 
358                    videos += [{ 
359                    "id": getFieldValue(fieldList,videoIdentifierFieldSet, "Identificador de Vídeo"), 
360                    "youtubeID" : getFieldValue(fieldList, videoInfoFieldSet, "ID do vídeo do YouTube"), 
361                    "internalUrl" : getFileFromXML("DocumentLibrary15265409", videoInfoFieldSet, fileEntryService), 
362                    "legend" : getFieldValue(fieldList, videoInfoFieldSet, "Legenda do vídeo") 
363                    }] 
364
365                </#list> 
366 
367 
368                <#-- Seção de links para o conteúdo da notícia --------------------------------------------------------> 
369                <#assign 
370                links = [] 
371                linksFieldSetList = getNodes("Fieldset37770113", xmlArticle) 
372
373                <#list linksFieldSetList as linksFieldSet> 
374                    <#assign linkFieldSetList = getNodes("Fieldset10524367", linksFieldSet)> 
375 
376                    <#list linkFieldSetList as linkFieldSet> 
377                        <#assign 
378                        linkId = getFieldValue(fieldList, linkFieldSet, "Identificador do link") 
379 
380                        <#-- Grupo com as informações de url e legenda do áudio --> 
381                        linkInfoFieldSeet = getGroupNode("Fieldset86037074", linkFieldSet) 
382 
383                        iconType = getFieldValue(fieldList, linkInfoFieldSeet, "Ícone do link") 
384                        links += [{ 
385                        "id": linkId, 
386                        "externalLink" : getFieldValue(fieldList, linkInfoFieldSeet, "Link externo"), 
387                        "pageLink" : getPageLayoutLinkFromXML("LinkToLayout77941175", linkInfoFieldSeet, layoutLocalService), 
388                        "file" : getFileFromXML("DocumentLibrary34820760", linkInfoFieldSeet, fileEntryService), 
389                        "title" : getFieldValue(fieldList, linkInfoFieldSeet, "Título do link"), 
390                        "iconType" : iconType 
391                        }] 
392
393                    </#list> 
394                </#list> 
395 
396 
397                <#assign mediaGroupList = getNodes(getIdFromFieldName(fieldList, "Galeria de multimídia"), xmlArticle) /> 
398                <#assign galleryItems = []/> 
399 
400 
401                <#list mediaGroupList as mediaGroup > 
402                    <#assign nodes = getNodes(getIdFromFieldName(fieldList, "Selecione uma imagem") , mediaGroup) /> 
403                    <#list nodes as node> 
404                        <#assign medJson = jsonFactoryUtil.createJSONObject(node.getStringValue()) /> 
405                        <#if medJson?has_content && medJson["fileEntryId"]??> 
406                            <#assign cardTitle = ""/> 
407                            <#assign subtitle = ""/> 
408                            <#assign author = ""/> 
409                            <#assign thumbnailImage = {}/> 
410                            <#assign originalFile = {} /> 
411 
412                            <#assign restResponse = restClient.get("/headless-delivery/v1.0/documents/${medJson.fileEntryId}") /> 
413                            <#if restResponse?has_content> 
414                                <#assign originalFile = restResponse /> 
415 
416                                <#if  restResponse.documentType?? && restResponse.documentType.contentFields?size gt 0> 
417                                    <#list restResponse.documentType.contentFields as item > 
418                                        <#if item.label == "Legenda" && item.dataType == "string" && item.contentFieldValue?? && item.contentFieldValue.data??> 
419                                            <#assign subtitle = item.contentFieldValue.data /> 
420                                            <#assign cardTitle = item.contentFieldValue.data /> 
421                                        </#if> 
422                                        <#if item.label == "Autor" && item.dataType == "string" && item.contentFieldValue?? && item.contentFieldValue.data??> 
423                                            <#assign author = item.contentFieldValue.data /> 
424                                        </#if> 
425                                        <#if item.label == "Imagem de thumbnail" && item.dataType == "image" && item.contentFieldValue?? && item.contentFieldValue.image??> 
426                                            <#assign thumbnailImage = restClient.get("/headless-delivery/v1.0/documents/${item.contentFieldValue.image.id}") /> 
427                                        </#if> 
428                                    </#list> 
429                                </#if> 
430                            </#if> 
431 
432                            <#if originalFile["contentUrl"]??> 
433                                <#setting datetime_format="iso"> 
434                                <#assign galleryItems += [{"cardTitle": cardTitle, 
435                                "displayDate" : formatDate(originalFile.dateCreated?datetime), 
436                                "createDate": originalFile.dateCreated?datetime, 
437                                "subtitle" : subtitle, 
438                                "author": author, 
439                                "thumbnailImage": thumbnailImage, 
440                                "originalFile": originalFile 
441                                }]  > 
442                            </#if> 
443                        </#if> 
444                    </#list> 
445 
446 
447                    <#assign nodes = getNodes(getIdFromFieldName(fieldList, "Selecione o Conteúdo Web da mídia") , mediaGroup) /> 
448                    <#list nodes as node> 
449                        <#attempt> 
450                            <#assign medJson = jsonFactoryUtil.createJSONObject(node.getStringValue()) /> 
451                            <#if medJson.classPK??> 
452                                <#assign medianewsJournalArticle = journalArticleService.fetchLatestArticle(medJson.classPK?number)/> 
453                                <#assign mediaDdmStructure = medianewsJournalArticle.getDDMStructure()/> 
454                                <#assign fieldListMedia = getFieldListByStructure(mediaDdmStructure)/> 
455                                <#assign xmlArticleMedia = medianewsJournalArticle.getDocument().getRootElement() /> 
456 
457                                <#assign cardTitle = getFieldValue(fieldListMedia, xmlArticleMedia, "Título Home")/> 
458                                <#assign subtitle = getFieldValue(fieldListMedia, xmlArticleMedia, "Legenda")/> 
459                                <#assign author = getFieldValue(fieldListMedia, xmlArticleMedia, "Autor")/> 
460 
461                                <#if getGroupNode(getIdFromFieldName(fieldListMedia, "Arquivo original"), xmlArticleMedia) ?? > 
462                                    <#assign originalFileGroup = getGroupNode(getIdFromFieldName(fieldListMedia, "Arquivo original"), xmlArticleMedia) /> 
463                                    <#assign originalFileExternalUrl = getFieldValue(fieldListMedia, originalFileGroup, "URL externa") /> 
464 
465                                <#-- Original file --> 
466                                    <#assign originalFile = {} /> 
467                                    <#assign originalFileJsonString = getSingleNodeString(getIdFromFieldName(fieldListMedia, "Arquivo selecionado"), originalFileGroup)/> 
468 
469                                    <#if originalFileJsonString?? && originalFileJsonString?has_content> 
470                                        <#assign originalFileJson = jsonFactoryUtil.createJSONObject(originalFileJsonString) /> 
471                                        <#if originalFileJson?? && originalFileJson["fileEntryId"]??> 
472                                            <#assign restResponse = restClient.get("/headless-delivery/v1.0/documents/${originalFileJson.fileEntryId}") /> 
473                                            <#if restResponse?has_content && restResponse["encodingFormat"]?? && restResponse.encodingFormat?index_of("image") gt -1> 
474                                                <#assign originalFile = restResponse /> 
475                                            </#if> 
476                                        </#if> 
477                                    </#if> 
478 
479 
480                                <#-- Thumbnail file --> 
481                                    <#assign thumbnailImage = {}/> 
482                                    <#assign thumbnailImageJsonString = getSingleNodeString(getIdFromFieldName(fieldListMedia, "Imagem de thumbnail"), xmlArticleMedia)/> 
483                                    <#if !thumbnailImageJsonString?? || !thumbnailImageJsonString?has_content> 
484                                        <#assign thumbnailImageJson = jsonFactoryUtil.createJSONObject(thumbnailImageJsonString) /> 
485                                        <#if thumbnailImageJson?? && thumbnailImageJson?has_content && thumbnailImageJson.fileEntryId??> 
486                                            <#assign restResponse = restClient.get("/headless-delivery/v1.0/documents/${thumbnailImageJson.fileEntryId?number}") /> 
487                                            <#if restResponse?has_content && restResponse["encodingFormat"]?? && restResponse.encodingFormat?index_of("image") gt -1> 
488                                                <#assign thumbnailImage = restResponse /> 
489                                            </#if> 
490                                        </#if> 
491                                    </#if> 
492 
493                                    <#assign mediaCreateDate = medianewsJournalArticle.getCreateDate() /> 
494                                    <#assign mediaLastPublishDate = extractPublishDate(medianewsJournalArticle) /> 
495 
496                                    <#if originalFile["contentUrl"]??> 
497                                        <#assign galleryItems += [{"cardTitle": cardTitle, 
498                                        "displayDate" : formatDate(mediaLastPublishDate), 
499                                        "createDate": newsJournalArticle.getDisplayDate(), 
500                                        "subtitle" : subtitle, 
501                                        "author": author, 
502                                        "thumbnailImage": thumbnailImage, 
503                                        "originalFile": originalFile, 
504                                        "originalFileExternalUrl": originalFileExternalUrl 
505                                        }] /> 
506                                    </#if> 
507                                </#if> 
508 
509                            </#if> 
510                            <#recover> 
511                        </#attempt> 
512                    </#list> 
513                </#list> 
514 
515 
516                <#assign newsInfo = { 
517                "mainHeadlineOfTheNews": mainHeadlineOfTheNews, 
518                "featuredNewsHeadline" : featuredNewsHeadline, 
519                "displayDate" : formatDate(createDate), 
520                "createDate": createDate, 
521                "newsSummary" : newsSummary, 
522                "newsImageFieldSet":  extractNewsImage(fieldList, xmlArticle, fileEntryService), 
523                "featureNewsVideo" : featureNewsVideo(xmlArticle, fileEntryService), 
524                "lastPublishDate": lastPublishDate, 
525                "flag": flag, 
526                "flagColor": flagColor, 
527                "url": newsJournalArticleFriendlyUrl, 
528                "newsContent": newsContent, 
529                "audios": audios, 
530                "videos": videos, 
531                "galleryItems": galleryItems, 
532                "links": links 
533                }> 
534 
535 
536 
537 
538                <#-- Renderizar o título principal da notícia --> 
539                <#-- Conteúdo-> Conteúdo Web -> Templates: Site de Crise - Notícia - Título --> 
540                <@renderHeadLine newsInfo = newsInfo/> 
541 
542                <#-- Renderizar o subtítulo da notícia --> 
543                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Subtítulo --> 
544                <@renderReview newsInfo = newsInfo/> 
545 
546                <#-- Renderizar a data de publicação/edição da notícia e redes sociais --> 
547                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Redes sociais e data de publicação --> 
548                <@renderPublishAndSocialMediasInfos newsJournalArticle newsInfo/> 
549 
550                <#-- Renderizar as tags da notícia --> 
551                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Render Tags --> 
552                <#--assign tagCategoryList = getCategoriesNamesAndIds("Tags") /> 
553                <#assign tagCategoryList = getCategoryIdsFromEntry(assetEntry,tagCategoryList, categoryLocalService)> 
554                <#assign removeStartParameterWhenTagIsClicked = true> 
555                <#assign includeRequestParams = false> 
556                <#assign NEWS_PAGE_NAME= "busca"/> 
557                <@renderNewsTags tagCategoryList NEWS_PAGE_NAME removeStartParameterWhenTagIsClicked includeRequestParams --> 
558 
559                <#assign categoriesAsssetEntryResponse = restClient.get("/headless-delivery/v1.0/structured-contents/${assetEntry.getClassPK()}?nestedFields=embeddedTaxonomyCategory&fields=taxonomyCategoryBriefs") /> 
560               
561                <#if categoriesAsssetEntryResponse?? && categoriesAsssetEntryResponse?has_content && categoriesAsssetEntryResponse.taxonomyCategoryBriefs??> 
562                    <#assign tagCategoryList = getCategoriesNamesAndIds("Tags", categoriesAsssetEntryResponse.taxonomyCategoryBriefs) /> 
563                    <#assign removeStartParameterWhenTagIsClicked = true /> 
564                    <#assign includeRequestParams = false /> 
565                    <#assign NEWS_PAGE_NAME= "busca"/> 
566                    <@renderNewsTags tagCategoryList NEWS_PAGE_NAME removeStartParameterWhenTagIsClicked includeRequestParams /> 
567                </#if> 
568 
569                <#-- Renderizar a imagem de destaque da notícia --> 
570                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Imagem de destaque --> 
571                <@renderNewsFeaturedImage newsInfo = newsInfo/> 
572 
573                <#-- Renderizar o conteúdo da notícia --> 
574                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Conteúdo da notícia --> 
575                <@renderNewsContent newsInfo = newsInfo/> 
576 
577                <#-- Renderizar links da notícia --> 
578                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Links do conteúdo da notícia --> 
579                <@renderLinks newsInfo /> 
580 
581                <@renderCite /> 
582                <#-- Renderizar áudios da notícia --> 
583                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Áudios do conteúdo da notícia --> 
584 
585                <#-- Renderizar galeria de imagens notícia --> 
586                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Render galeria --> 
587                <@renderGallery newsInfo /> 
588 
589                <#-- Renderizar seção de download e mídias e texto --> 
590                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Render seção download --> 
591                <@renderDownloadSection newsInfo /> 
592 
593            </div> 
594        </div> 
595    </div> 
596 
597    <script> 
598        AUI().ready(function () { 
599            const newsContent = document.querySelector(".ptb-news__read-content"); 
600            newsContent.querySelectorAll("p").forEach((item) => { 
601                if (item.innerHTML.trim() == "") { 
602                    item.parentNode.removeChild(item); 
603
604            }); 
605        }); 
606    </script> 
607 
608    <style> 
609 
610        .breadcrumb-breakpoint { 
611            padding-top: var(--space-xxl); 
612            padding-bottom: var(--space-xl); 
613
614 
615        body.high-contrast-active .breadcrumb-breakpoint { 
616            background: var(--background-surface-level-01, #010101); 
617
618 
619        .breadcrumb-breakpoint .breadcrumb-col { 
620            display: flex; 
621            width: max-content; 
622            gap: var(--space-xxs); 
623            height: fit-content; 
624            overflow-x: hidden; 
625
626 
627        .breadcrumb-breakpoint #liferay-breadcrumb { 
628            display: none; 
629
630 
631        .breadcrumb-breakpoint .breadcrumb-page { 
632            display: flex; 
633            gap: var(--space-micro); 
634            height: var(--size-md); 
635            size: var(--size-md); 
636            border: 1px solid rgba(0, 0, 0, 0); 
637            box-sizing: border-box; 
638            border-radius: var(--border-radius-sm); 
639
640 
641        .breadcrumb-breakpoint a.breadcrumb-page.text span, 
642        .breadcrumb-breakpoint span.breadcrumb-page.text { 
643            white-space: nowrap; 
644
645 
646        .breadcrumb-breakpoint .breadcrumb-page a:focus { 
647            outline: none; 
648
649 
650        .breadcrumb-breakpoint .breadcrumb-page.active-page { 
651            color: var(--color-text-primary-default); 
652            background-color: var(--color-background-default-level-02); 
653            border-radius: var(--border-radius-sm); 
654
655 
656        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.active-page { 
657            background: var(--background-surface-level-02, #373737); 
658            color: var(--text-primary-default, #FFF); 
659
660 
661        .breadcrumb-breakpoint .breadcrumb-page.previous-page { 
662            transition: 300ms ease-in-out; 
663
664 
665        .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
666            text-decoration: var(--text-decoration-none); 
667            color: var(--color-text-primary-default); 
668            text-transform: capitalize; 
669            padding-left: var(--space-xxs); 
670            padding-right: var(--space-xxs); 
671
672 
673        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
674            color: var(--text-primary-default, #FFF); 
675
676 
677        .breadcrumb-breakpoint .breadcrumb-page.active-page.text { 
678            color: var(--color-text-primary-default); 
679            text-decoration: var(--text-decoration-none); 
680            background-color: var(--color-background-default-level-02); 
681            text-transform: capitalize; 
682            padding-left: var(--space-xxs); 
683            padding-right: var(--space-xxs); 
684
685 
686        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
687            color: var(--text-primary-default, #FFF); 
688
689 
690        .breadcrumb-breakpoint .breadcrumb-page.previous-page:not(.three-dots):hover { 
691            background-color: var(--color-background-default-level-01); 
692            border-color: var(--border-color-dark); 
693            border-radius: var(--border-radius-sm); 
694            border: 1px solid; 
695            transition: all 300ms ease-in-out; 
696
697 
698        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page:not(.three-dots):hover { 
699            background-color: transparent; 
700
701 
702        .breadcrumb-breakpoint .breadcrumb-page:focus-visible { 
703            margin: var(--space-micro); 
704            border-radius: var(--space-micro); 
705            outline: none; 
706            border: 1px solid var(--color-primary-medium); 
707            box-sizing: border-box; 
708            transition: 300ms ease-in-out; 
709
710 
711        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page:focus-visible { 
712            border: 1px solid rgba(228, 247, 232, 1); 
713
714 
715        .breadcrumb-breakpoint .breadcrumb-page .icon { 
716            width: var(--size-xxs); 
717            height: var(--size-xxs); 
718            border-color: var(--border-color-darkest); 
719            background-image: url('data:image/svg+xml,%3Csvg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M4.5 2.25L8.25 6L4.5 9.75" stroke="%23525252" stroke-linecap="round" stroke-linejoin="round"%3E%3C/path%3E%3C/svg%3E'); 
720            background-size: cover; 
721            margin-top: auto; 
722            margin-bottom: auto; 
723
724 
725        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page .icon { 
726            background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M4.5 2.25L8.25 6L4.5 9.75" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg>'); 
727
728 
729        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
730            header.cadmin.portlet-topper { 
731                display: none !important; 
732
733
734 
735        @media screen and (min-width: ${MIN_TABLET_WIDTH}px) and (max-width: ${MAX_TABLET_WIDTH}px) { 
736
737    </style> 
738<#else > 
739    <@printNewsNotFound /> 
740</#if> 
741 
742 
743 
744 
745<#macro printNewsNotFound> 
746    <div class="ptb-news__read-news"> 
747        <#if locale == "pt_BR"> 
748            <p>Nenhuma notícia</p> 
749        <#else > 
750            <p>There are no news</p> 
751        </#if> 
752    </div> 
753 
754    <style> 
755        .ptb-news__read-news p { 
756            font-family: var(--font-family-base); 
757            font-style: var(--font-style-normal, normal); 
758            font-weight: var(--font-weight-regular, 400); 
759            font-size: var(--font-size-xxs, 16px); 
760            line-height: var(--line-height-xl, 160%); 
761            color: var(--color-neutral-700, #515867); 
762
763    </style> 
764</#macro> 
765 
766<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
767<#-- 
768Add elements from the sidebar to define your template. Type "${" to use the 
769autocomplete feature. 
770--> 
771 
772<#macro renderHeadLine newsInfo> 
773    <div class="breakpoint"> 
774        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
775            <div class="main-headline-container"> 
776                <h1 class="main-headline">${newsInfo.mainHeadlineOfTheNews}</h1> 
777                <div class="bar"></div> 
778            </div> 
779        </div> 
780    </div> 
781    <style> 
782        .ptb-news__read-news .main-headline-container { 
783            display: flex; 
784            flex-direction: column; 
785            gap: var(--space-sm); 
786            padding-bottom: var(--space-lg); 
787
788 
789        .ptb-news__read-news .main-headline-container * { 
790            margin: 0; 
791            padding: 0; 
792
793 
794        .ptb-news__read-news .main-headline-container .main-headline { 
795            font-family: var(--font-family-base); 
796            font-style: var(--font-style-normal, normal); 
797            font-weight: var(--font-weight-bold); 
798            font-size: var(--font-size-xl); 
799            line-height: var(--line-height-sm); 
800            color: var(--color-neutral-800); 
801
802 
803        .ptb-news__read-news .main-headline-container .bar { 
804            width: var(--size-lg, 32px); 
805            height: var(--size-micro); 
806            background: var(--color-secondary-medium); 
807
808 
809        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
810            .ptb-news__read-news .main-headline-container { 
811                gap: var(--size-xxs); 
812
813
814    </style> 
815</#macro> 
816<#-- ################################################################################################################## --> 
817 
818<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
819<#macro renderReview newsInfo> 
820    <#assign summaryCssRoot = "summary-container" /> 
821 
822    <div class="breakpoint"> 
823        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
824            <div class="${summaryCssRoot}"> 
825                <h2 class="summary"> 
826                    ${newsInfo.newsSummary} 
827                </h2> 
828            </div> 
829        </div> 
830    </div> 
831 
832    <style> 
833        .${summaryCssRoot} .summary { 
834            padding-bottom: var(--space-lg); 
835
836 
837        .${summaryCssRoot} .summary, 
838        .${summaryCssRoot} .summary * { 
839            color: var(--color-neutral-800, #373737); 
840            font-family: var(--font-family-base); 
841            font-size: var(--font-size-sm); 
842            font-style: var(--font-style-italic); 
843            font-weight: var(--font-weight-regular); 
844            line-height: var(--line-height-xl); 
845            margin: var(--space-none); 
846
847 
848        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
849            .${summaryCssRoot} .summary, 
850            .${summaryCssRoot} .summary * { 
851                font-size: var(--font-size-xs); 
852
853
854    </style> 
855 
856</#macro> 
857<#-- ################################################################################################################## --> 
858 
859<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
860<#macro renderPublishAndSocialMediasInfos journalArticle newsInfo> 
861 
862    <div class="breakpoint"> 
863        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
864            <div class="publish_and_social_medias_infos_desk"> 
865                <div class="publish_and_update_date"> 
866                    <#assign lastPublishDate = journalArticle.getModifiedDate()> 
867                    <#assign createDate = journalArticle.getCreateDate()> 
868                    <#assign displayDate = journalArticle.getDisplayDate() /> 
869                    <#if journalArticle.getLastPublishDate()??> 
870                        <#assign lastPublishDate = journalArticle.getLastPublishDate()> 
871                    </#if> 
872 
873                    <#if locale == "pt_BR"> 
874                    <#-- <p class="updated">Atualizado em ${formatDate(lastPublishDate)}</p> --> 
875                        <p class="published">Postado em ${formatDate(displayDate)}</p> 
876                    <#else > 
877                    <#-- <p class="updated">Updated on ${formatDate(lastPublishDate)}</p> --> 
878                        <p class="published">Posted on ${formatDate(displayDate)}</p> 
879                    </#if> 
880                </div> 
881 
882                <#--        <div class="share_news_container">--> 
883                <div class="social-media-container"> 
884 
885                    <#assign emailMsg = "Veja o conteúdo do post no link "> 
886                    <#if locale == "en_US"> 
887                        <#assign emailMsg = "See the content of the post in the link "> 
888                    </#if> 
889                    <a class="share-news-social-media news-gallery-share-news-email" href="mailto:?subject=${newsInfo.mainHeadlineOfTheNews}&amp;body=${emailMsg}${newsInfo.url}" 
890                       target="_blank"> 
891                        <svg class="email" width="37" height="36" viewBox="0 0 37 36" fill="none" 
892                             xmlns="http://www.w3.org/2000/svg"> 
893                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
894                            <path d="M24.9231 12H11.0769C10.9239 12 10.7772 12.0579 10.669 12.1611C10.5608 12.2642 10.5 12.4041 10.5 12.55V21.9C10.5 22.1917 10.6216 22.4715 10.838 22.6778C11.0543 22.8841 11.3478 23 11.6538 23H24.3462C24.6522 23 24.9457 22.8841 25.162 22.6778C25.3784 22.4715 25.5 22.1917 25.5 21.9V12.55C25.5 12.4041 25.4392 12.2642 25.331 12.1611C25.2228 12.0579 25.0761 12 24.9231 12ZM24.3462 21.9H11.6538V13.8012L17.6106 19.0056C17.7169 19.0984 17.8559 19.1498 18 19.1498C18.1441 19.1498 18.2831 19.0984 18.3894 19.0056L24.3462 13.8012V21.9Z" 
895                                  fill="#008542"/> 
896                        </svg> 
897                        <span>send e-mail</span> 
898                    </a> 
899 
900                    <a class="share-news-social-media news-gallery-share-news-facebook" href="https://www.facebook.com/sharer/sharer.php?u=${newsInfo.url}" target="_blank"> 
901                        <svg class="facebook" width="37" height="36" viewBox="0 0 37 36" fill="none" 
902                             xmlns="http://www.w3.org/2000/svg"> 
903                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
904                            <path d="M17.5417 24H20.0341V18.1855H21.9697L22.2879 15.875H20.0341V14.2754C20.0341 13.9199 20.0871 13.6406 20.2462 13.4629C20.4053 13.2598 20.75 13.1582 21.2273 13.1582H22.5V11.1016C22.0227 11.0508 21.3864 11 20.6439 11C19.6894 11 18.947 11.2793 18.3902 11.8125C17.8068 12.3457 17.5417 13.082 17.5417 14.0469V15.875H15.5V18.1855H17.5417V24Z" 
905                                  fill="#008542"/> 
906                        </svg> 
907                        <span>Share Facebook </span> 
908                    </a> 
909 
910                    <#assign mobileShareButtonId = "mobile-share-" + randomNumber(5)> 
911                    <div class="mobile-share" id="${mobileShareButtonId}"> 
912                        <svg width="37" height="36" viewBox="0 0 37 36" fill="none" xmlns="http://www.w3.org/2000/svg"> 
913                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
914                            <path d="M13.8923 20.5914C15.2136 20.5914 16.2847 19.5151 16.2847 18.1875C16.2847 16.8599 15.2136 15.7837 13.8923 15.7837C12.5711 15.7837 11.5 16.8599 11.5 18.1875C11.5 19.5151 12.5711 20.5914 13.8923 20.5914Z" 
915                                  fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
916                            <path d="M22.2654 26.0001C23.5866 26.0001 24.6577 24.9238 24.6577 23.5962C24.6577 22.2686 23.5866 21.1924 22.2654 21.1924C20.9441 21.1924 19.873 22.2686 19.873 23.5962C19.873 24.9238 20.9441 26.0001 22.2654 26.0001Z" 
917                                  fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
918                            <path d="M22.2654 15.1827C23.5866 15.1827 24.6577 14.1064 24.6577 12.7788C24.6577 11.4512 23.5866 10.375 22.2654 10.375C20.9441 10.375 19.873 11.4512 19.873 12.7788C19.873 14.1064 20.9441 15.1827 22.2654 15.1827Z" 
919                                  fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
920                            <path d="M20.2546 14.0784L15.9036 16.8879" stroke="#008542" stroke-linecap="round" 
921                                  stroke-linejoin="round"/> 
922                            <path d="M15.9036 19.4871L20.2546 22.2966" stroke="#008542" stroke-linecap="round" 
923                                  stroke-linejoin="round"/> 
924                        </svg> 
925                    </div> 
926 
927                    <a class="share-news-social-media news-gallery-share-news-twitter" href="https://twitter.com/intent/tweet?url=${newsInfo.url}" target="_blank"> 
928                        <svg class="twitter" width="37" height="36" viewBox="0 0 37 36" fill="none" 
929                             xmlns="http://www.w3.org/2000/svg"> 
930                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
931                            <path d="M23.1771 14.7301C23.6859 14.3325 24.1438 13.8554 24.5 13.2988C24.0421 13.5108 23.5078 13.6699 22.9736 13.7229C23.5333 13.3783 23.9403 12.8482 24.1438 12.1855C23.635 12.5036 23.0499 12.7422 22.4648 12.8747C21.956 12.3181 21.2691 12 20.5059 12C19.0303 12 17.8346 13.2458 17.8346 14.7831C17.8346 14.9952 17.8601 15.2072 17.911 15.4193C15.6977 15.2867 13.7133 14.1735 12.3904 12.5036C12.1614 12.9012 12.0342 13.3783 12.0342 13.9084C12.0342 14.8627 12.4922 15.7108 13.2299 16.2145C12.7975 16.188 12.365 16.0819 12.0088 15.8699V15.8964C12.0088 17.2482 12.9247 18.3614 14.1458 18.6265C13.9423 18.6795 13.6879 18.7325 13.4589 18.7325C13.2808 18.7325 13.1282 18.706 12.9501 18.6795C13.2808 19.7928 14.273 20.588 15.4432 20.6145C14.5274 21.3566 13.3826 21.8072 12.136 21.8072C11.907 21.8072 11.7035 21.7807 11.5 21.7542C12.6703 22.5494 14.0695 23 15.5959 23C20.5059 23 23.1771 18.7855 23.1771 15.1012C23.1771 14.9687 23.1771 14.8627 23.1771 14.7301Z" 
932                                  fill="#008542"/> 
933                        </svg> 
934                        <span>Share Twitter </span> 
935                    </a> 
936 
937                    <a class="share-news-social-media news-gallery-share-news-whatsapp" href="https://api.whatsapp.com/send?text=${newsInfo.url}" data-action="share/whatsapp/share" 
938                       target="_blank"> 
939                        <svg class="whatsapp" width="37" height="36" viewBox="0 0 37 36" fill="none" 
940                             xmlns="http://www.w3.org/2000/svg"> 
941                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
942                            <path d="M12.5482 21.3241C11.6166 19.7525 11.2908 17.8949 11.6318 16.1C11.9729 14.3052 12.9573 12.6965 14.4003 11.5761C15.8434 10.4556 17.6457 9.90042 19.4691 10.0147C21.2925 10.129 23.0114 10.9049 24.3033 12.1967C25.5951 13.4886 26.371 15.2075 26.4853 17.0309C26.5996 18.8543 26.0444 20.6566 24.9239 22.0997C23.8035 23.5427 22.1948 24.5271 20.4 24.8682C18.6051 25.2092 16.7475 24.8834 15.1759 23.9518L12.5795 24.687C12.4731 24.7181 12.3603 24.72 12.2529 24.6925C12.1455 24.6651 12.0475 24.6092 11.9692 24.5308C11.8908 24.4525 11.8349 24.3545 11.8075 24.2471C11.78 24.1397 11.7819 24.0269 11.813 23.9205L12.5482 21.3241Z" 
943                                  fill="#008542"/> 
944                            <path d="M20.6917 21C20.0094 21.0017 19.3335 20.8686 18.7029 20.6083C18.0722 20.348 17.4992 19.9656 17.0168 19.4832C16.5344 19.0008 16.152 18.4278 15.8917 17.7971C15.6314 17.1665 15.4983 16.4906 15.5 15.8083C15.5017 15.3281 15.6937 14.8682 16.0338 14.5293C16.374 14.1903 16.8346 14 17.3148 14C17.394 13.9994 17.472 14.0201 17.5404 14.06C17.6089 14.1 17.6653 14.1576 17.7037 14.2269L18.462 15.5491C18.5071 15.6295 18.5303 15.7203 18.5291 15.8124C18.528 15.9046 18.5026 15.9948 18.4556 16.0741L17.8463 17.0917C18.1584 17.7859 18.7141 18.3416 19.4083 18.6537L20.4259 18.0444C20.5052 17.9974 20.5954 17.972 20.6876 17.9709C20.7797 17.9697 20.8705 17.9929 20.9509 18.038L22.2731 18.7963C22.3424 18.8347 22.4 18.8911 22.44 18.9596C22.4799 19.028 22.5006 19.106 22.5 19.1852C22.4983 19.6649 22.3074 20.1245 21.9689 20.4643C21.6303 20.8041 21.1713 20.9966 20.6917 21Z" 
945                                  fill="white"/> 
946                        </svg> 
947                        <span>Share to WhatsApp </span> 
948                    </a> 
949 
950                    <div class="copy-text-container news-copy-text"> 
951                        <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 
952                            <path d="M10.5 10.5H13.5V2.5H5.5V5.5" stroke="#008542" stroke-linecap="round" 
953                                  stroke-linejoin="round"/> 
954                            <path d="M10.5 5.5H2.5V13.5H10.5V5.5Z" stroke="#008542" stroke-linecap="round" 
955                                  stroke-linejoin="round"/> 
956                        </svg> 
957 
958                        <#if locale == "pt_BR"> 
959                            <p class="text">Copiar texto 
960                                <span class="copy-text-title-news"> ${newsInfo.mainHeadlineOfTheNews} </span> 
961                            </p> 
962                        <#else > 
963                            <p class="text">Copy text 
964                                <span class="copy-text-title-news"> ${newsInfo.mainHeadlineOfTheNews} </span> 
965                            </p> 
966                        </#if> 
967                    </div> 
968 
969                </div> 
970 
971                <#if locale == "pt_BR"> 
972                    <span class="copy-message">Texto copiado!</span> 
973                <#else > 
974                    <span class="copy-message">Text copied!</span> 
975                </#if> 
976                <#--        </div>--> 
977            </div> 
978        </div> 
979    </div> 
980 
981    <style> 
982        /*Data de publicação e redes sociais */ 
983 
984        /* Desktop */ 
985        .ptb-news__read-news .publish_and_social_medias_infos_desk { 
986            position: relative; 
987            display: grid; 
988            grid-template-columns: auto 1fr auto; 
989
990 
991        .ptb-news__read-news .publish_and_social_medias_infos_desk * { 
992            padding: var(--space-none, 0); 
993            margin: var(--space-none, 0); 
994            font-family: var(--font-family-base); 
995            font-style: var(--font-style-normal, normal); 
996            font-weight: var(--font-weight-regular, 400); 
997            font-size: var(--font-size-xxs, 16px); 
998            line-height: var(--line-height-xl, 160%); 
999            color: var(--color-neutral-800, #373737); 
1000
1001 
1002        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk * { 
1003            color: var(--text-secondary-default, #F8F8F8); 
1004
1005 
1006        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk a svg path, 
1007        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .mobile-share svg path { 
1008            stroke: var(--color-neutral-500, #D7D7D7); 
1009            fill: rgba(255, 255, 255, 0.32); 
1010
1011 
1012        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk a svg circle, 
1013        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .mobile-share svg circle { 
1014            fill: rgba(255, 255, 255, 0.32); 
1015 
1016
1017 
1018        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date { 
1019            display: flex; 
1020            flex-direction: column; 
1021            gap: var(--space-none, 0);; 
1022
1023 
1024        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .updated { 
1025            font-weight: var(--font-weight-bold, 700); 
1026
1027 
1028        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .published { 
1029            font-weight: var(--font-weight-normal, 400); 
1030
1031 
1032        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
1033            display: flex; 
1034            width: 100%; 
1035            justify-content: flex-end; 
1036            align-items: center; 
1037            gap: var(--space-sm, 16px); 
1038
1039 
1040        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .mobile-share { 
1041            display: none; 
1042
1043 
1044        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .share-news-social-media * { 
1045            pointer-events: none; 
1046
1047 
1048        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .share-news-social-media { 
1049            position: relative; 
1050
1051 
1052        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .share-news-social-media span { 
1053            position: absolute; 
1054            top: 0; 
1055            left: 0; 
1056            width: 100%; 
1057            height: 100%; 
1058            opacity: 0; 
1059            overflow: hidden; 
1060            pointer-events: none; 
1061        }         
1062 
1063        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1064            background: #FFFFFF; 
1065            border: var(--border-width-hairline, 1px) solid var(--color-opacity-dark-level-01, #CCCCCC); 
1066            border-radius: var(--border-radius-xl, 32px); 
1067            display: flex; 
1068            align-items: center; 
1069            gap: var(--space-sm, 16px); 
1070            padding: 6px var(--space-xxs, 8px); 
1071            height: 36px; 
1072            margin: 0; 
1073            cursor: pointer; 
1074
1075 
1076        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container * { 
1077          pointer-events: none; 
1078
1079 
1080        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1081            background: rgba(255, 255, 255, 0.32); 
1082            border: var(--border-width-hairline, 1px) solid rgba(255, 255, 255, 0.32); 
1083
1084 
1085        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container svg { 
1086            width: 18px; 
1087
1088 
1089        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk svg path { 
1090            stroke: var(--color-neutral-500, #D7D7D7); 
1091
1092 
1093        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1094            background: #FFFFFF; 
1095            border: var(--border-width-hairline, 1px) solid var(--color-opacity-dark-level-01, #CCCCCC); 
1096            border-radius: var(--border-radius-xl, 32px); 
1097            display: flex; 
1098            align-items: center; 
1099            gap: var(--space-sm, 16px); 
1100            padding: 6px var(--space-sm, 16px); 
1101            height: 36px; 
1102            margin: 0; 
1103            cursor: pointer; 
1104            position: relative; 
1105
1106 
1107 
1108        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
1109            font-family: var(--font-family-base); 
1110            font-style: var(--font-weight-regular, normal); 
1111            margin: 0; 
1112            height: 100%; 
1113            display: flex; 
1114            align-items: center; 
1115            color: var(--color-primary-brand, #008542); 
1116            font-size: var(--font-size-micro, 12px); 
1117            font-weight: var(--font-weight-bold, 700); 
1118            line-height: var(--line-height-lg, 144%); 
1119
1120 
1121        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text .copy-text-title-news { 
1122            position: absolute; 
1123            top: 0; 
1124            left: 0; 
1125            width: 100%; 
1126            height: 100%; 
1127            opacity: 0; 
1128            overflow: hidden; 
1129
1130 
1131        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
1132            color: var(--text-primary-accent, #E4F7E8); 
1133
1134 
1135        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
1136            display: none; 
1137            position: absolute; 
1138            bottom: -43px; 
1139            right: -15px; 
1140            padding: var(--space-xxxs, 4px) var(--space-sm, 15px); 
1141            margin: var(--space-micro, 2px) 10px; 
1142            width: 110px; 
1143            font-family: var(--font-family-base); 
1144            font-size: var(--font-size-micro, 12px); 
1145            color: var(--color-primary-brand, #008542); 
1146            background: #FFFFFF; 
1147            border-radius: var(--border-radius-md, 8px); 
1148 
1149            filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.16)); 
1150 
1151            cursor: pointer; 
1152
1153 
1154        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
1155            background: rgba(255, 255, 255, 0.32); 
1156            color: var(--text-primary-accent, #E4F7E8); 
1157
1158 
1159        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message-active { 
1160            display: block; 
1161
1162 
1163        /* Mobile */ 
1164 
1165        .ptb-news__read-news .publish_and_social_medias_infos_mobile { 
1166            display: flex; 
1167            flex-direction: column; 
1168            gap: 19px; 
1169
1170 
1171        .ptb-news__read-news .publish_and_social_medias_infos_mobile { 
1172            display: none; 
1173
1174 
1175        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text { 
1176            display: flex; 
1177            justify-content: space-between; 
1178            align-items: center; 
1179            margin-bottom: var(--space-lg, 32px); 
1180
1181 
1182        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date * { 
1183            padding: 0; 
1184            margin: 0; 
1185            font-family: var(--font-family-base); 
1186            font-style: var(--font-style-normal, normal); 
1187            font-size: var(--font-size-micro, 12px); 
1188            line-height: var(--line-height-md, 136%); 
1189            color: var(--color-neutral-800, #373737); 
1190
1191 
1192        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date { 
1193            display: flex; 
1194            flex-direction: column; 
1195            gap: 0; 
1196
1197 
1198        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date * { 
1199            color: var(--text-primary-accent, #E4F7E8); 
1200
1201 
1202        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date .updated { 
1203            font-weight: var(--font-weight-bold, 700); 
1204
1205 
1206        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date .published { 
1207            font-weight: var(--font-weight-regular, 400); 
1208
1209 
1210        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container { 
1211            background: #FFFFFF; 
1212            border: var(--border-width-hairline, 1px) solid var(--color-opacity-dark-level-01, #CCCCCC); 
1213            border-radius: var(--border-radius-xl, 32px); 
1214            display: flex; 
1215            align-items: center; 
1216            gap: var(--space-sm, 16px); 
1217            padding: 6px var(--space-xxxs, 8px); 
1218            width: 112px; 
1219            height: 36px; 
1220
1221 
1222        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container { 
1223            background: rgba(255, 255, 255, 0.32); 
1224            color: var(--text-primary-accent, #E4F7E8); 
1225
1226 
1227        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container p.text { 
1228            margin: 0; 
1229
1230 
1231        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container .text { 
1232            font-family: var(--font-family-base); 
1233            font-style: var(--font-style-normal, normal); 
1234            font-weight: var(--font-weight-regular, 400); 
1235            font-size: var(--font-size-micro, 13px); 
1236            line-height: 14px; 
1237            color: var(--color-primary-medium, #008542); 
1238
1239 
1240        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container .text { 
1241            background: rgba(255, 255, 255, 0.32); 
1242            color: var(--text-primary-accent, #E4F7E8); 
1243
1244 
1245        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1246            .ptb-news__read-news .publish_and_social_medias_infos_desk { 
1247                display: grid; 
1248                grid-template-columns: 100%; 
1249                grid-template-rows: 1fr 100%; 
1250                gap: var(--space-md); 
1251
1252 
1253            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date { 
1254                grid-column-start: 1; 
1255                grid-column-end: 1; 
1256                grid-row-start: 1; 
1257                grid-row-end: 1; 
1258                gap: var(--space-xxs, 8px); 
1259
1260 
1261            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date * { 
1262                padding: 0; 
1263                margin: 0; 
1264                font-family: var(--font-family-base); 
1265                font-style: var(--font-style-normal); 
1266                color: var(--color-neutral-800, #373737); 
1267                font-weight: var(--font-weight-bold); 
1268                font-size: var(--font-size-xxxs, 14px); 
1269                line-height: var(--line-height-md, 132%); 
1270
1271 
1272            body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date * { 
1273                color: var(--text-primary-accent, #E4F7E8); 
1274
1275 
1276            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .published { 
1277                font-weight: 400; 
1278
1279 
1280            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
1281                grid-column-start: 1; 
1282                grid-column-end: 2; 
1283                grid-row-start: 2; 
1284                grid-row-end: 2; 
1285                justify-content: flex-end; 
1286                height: 36px; 
1287
1288 
1289            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1290                grid-column-start: 1; 
1291                grid-column-end: 2; 
1292                grid-row-start: 2; 
1293                grid-row-end: 2; 
1294                max-width: 112px; 
1295                place-self: end; 
1296
1297 
1298            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
1299                display: none; 
1300
1301 
1302            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
1303                bottom: 0; 
1304                right: -9px; 
1305
1306 
1307            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .mobile-share { 
1308                display: initial; 
1309
1310
1311 
1312        @media screen and (min-width: ${MIN_TABLET_WIDTH}px) and (max-width: ${MAX_TABLET_WIDTH}px) { 
1313            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
1314                padding-right: 0; 
1315
1316
1317 
1318 
1319    </style> 
1320 
1321    <script> 
1322        AUI().ready(function () { 
1323 
1324            function copyOnClick(text) { 
1325 
1326                const strWithoutHtmlTags = text.replace(/(<([^>]+)>)/gi, ""); 
1327                const strWithoutMarcationBrackets = strWithoutHtmlTags.replace(/ *#\[[^\]]*]/g, ""); 
1328                const strWithoutNextPrevious = strWithoutMarcationBrackets.replace(/Previous    Next/g, ""); 
1329                const strWithoutBlankEnters = strWithoutNextPrevious.replace(/^\s*$(?:\r\n?|\n)/gm, ""); 
1330                const tempInput = document.createElement("textarea"); 
1331                tempInput.value = strWithoutBlankEnters; 
1332 
1333                document.body.appendChild(tempInput); 
1334                tempInput.select(); 
1335                document.execCommand("copy"); 
1336 
1337                if (tempInput.value.length > 0) { 
1338                    copyMessage.classList.add('copy-message-active'); 
1339 
1340                    timerToMessage() 
1341
1342 
1343                document.body.removeChild(tempInput); 
1344
1345 
1346            const root = document.querySelector(".publish_and_social_medias_infos_desk"); 
1347            const copyTextContainer = root.querySelector(".copy-text-container"); 
1348            copyTextContainer.addEventListener("click", (event) => { 
1349                event.preventDefault(); 
1350                const titleText = document.querySelector(".main-headline-container .main-headline").innerHTML; 
1351                const publishSocialMediaText = document.querySelector(".publish_and_social_medias_infos_desk .publish_and_update_date").innerHTML; 
1352                const tagsText = document.querySelector(".tags").innerHTML; 
1353                const newsContentText = document.querySelector(".news-content").innerHTML; 
1354                const text = titleText + publishSocialMediaText + tagsText + newsContentText; 
1355                copyOnClick(text) 
1356            }); 
1357 
1358            const mobileShare = async () => { 
1359                try { 
1360                    const shareData = { 
1361                        title: '${newsInfo.mainHeadlineOfTheNews}', 
1362                        text: '', 
1363                        url: '${newsInfo.url}' 
1364                    }; 
1365                    await navigator.share(shareData); 
1366                } catch (err) { 
1367 
1368
1369            }; 
1370 
1371            const mobileShareButton = document.querySelector("#${mobileShareButtonId}"); 
1372            mobileShareButton.addEventListener("click", (event) => { 
1373                event.preventDefault(); 
1374                mobileShare(); 
1375            }); 
1376 
1377            const copyMessage = document.querySelector('.copy-message'); 
1378            const timerToMessage = () => { 
1379                setTimeout(() => { 
1380                    removeMessage(); 
1381                }, 2500); 
1382 
1383
1384 
1385            const removeMessage = () => { 
1386                copyMessage.classList.remove('copy-message-active'); 
1387
1388 
1389        }); 
1390    </script> 
1391 
1392</#macro> 
1393 
1394<#-- ################################################################################################################## --> 
1395 
1396<#-- ############# Site de Crise - Notícia - Render Tags ############################################################## --> 
1397 
1398<#function getCategoriesNamesAndIds vocabularyName categoriesList> 
1399    <#assign tagCategoryList = [] /> 
1400 
1401    <#assign tagsVocabulary = assetVocabularyService.fetchGroupVocabulary(groupId, vocabularyName) /> 
1402    <#list categoriesList as cat> 
1403        <#if tagsVocabulary.getVocabularyId() == cat.embeddedTaxonomyCategory.taxonomyVocabularyId > 
1404            <#assign tagCategoryList += [[cat.taxonomyCategoryName, cat.taxonomyCategoryId]] /> 
1405        </#if> 
1406    </#list> 
1407    <#return tagCategoryList> 
1408</#function> 
1409 
1410<#function filterCategories allCategoryInfoList> 
1411    <#assign filteredCategoryInfo = []> 
1412    <#assign assetEntryQueryService = objectUtil("com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil").getService()> 
1413    <#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')> 
1414 
1415    <#list allCategoryInfoList as catInfo> 
1416        <#assign catId = catInfo[1]> 
1417        <#assign search = assetEntryQuery.setAllCategoryIds([catId])> 
1418        <#assign foundEntries = assetEntryQueryService.getEntries(assetEntryQuery)> 
1419        <#if foundEntries?size gt 0> 
1420            <#assign filteredCategoryInfo += [catInfo]> 
1421        </#if> 
1422    </#list> 
1423 
1424    <#return filteredCategoryInfo> 
1425</#function> 
1426 
1427<#assign 
1428vocabularies = assetVocabularyService.getGroupVocabularies(groupId) 
1429flagVocabulary = findVocabulary("Flag", vocabularies) 
1430assetCategoryPropService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") 
1431/> 
1432 
1433<#function getFlagsCategoriesAndProperties> 
1434    <#assign categoryNameAndColor = [] /> 
1435    <#attempt> 
1436        <#if flagVocabulary?? && flagVocabulary.getCategories()?? > 
1437            <#list flagVocabulary.getCategories() as cat> 
1438                <#if assetCategoryPropService.getCategoryProperty(cat.getCategoryId(),"cor")??> 
1439                    <#assign 
1440                    property = assetCategoryPropService.getCategoryProperty(cat.getCategoryId(),"cor") 
1441                    propertyValue = property.getValue() 
1442                    /> 
1443                    <#assign categoryNameAndColor = categoryNameAndColor + [{"name": cat.getName(), "color": propertyValue}] /> 
1444                </#if> 
1445            </#list> 
1446        </#if> 
1447        <#return categoryNameAndColor> 
1448        <#recover > 
1449            <#return []> 
1450    </#attempt> 
1451</#function > 
1452 
1453<#function getCategoryIdsFromEntry entry categoriesToFilter assetCategoryLocalService> 
1454    <#if !entry??> 
1455        <#return []> 
1456    </#if> 
1457 
1458    <#assign categoriesFromEntry = []> 
1459 
1460    <#assign ids = assetCategoryLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", entry.getClassPK()) /> 
1461    <#list categoriesToFilter as catToFilter> 
1462        <#assign catIdFromEntry =  catToFilter[1] /> 
1463        <#assign index = ids?seq_index_of(catIdFromEntry)/> 
1464        <#if index != -1> 
1465            <#assign categoriesFromEntry += [catToFilter]/> 
1466        </#if> 
1467    </#list> 
1468 
1469    <#return categoriesFromEntry> 
1470</#function> 
1471 
1472<#macro renderNewsTags categoryList targetPageWhenClickTag removeStartParameterWhenTagIsClicked updateTagParamsWhenClicked> 
1473    <#assign tagPrefix = "tags-" + randomNumber(groupId?number)> 
1474    <div class="breakpoint"> 
1475        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
1476            <div class="${tagPrefix} "> 
1477 
1478                <#assign siteUrl = "" /> 
1479                <#if themeDisplay.getPortalURL()?contains("webserver")> 
1480                    <#assign siteUrl = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL /> 
1481                </#if> 
1482 
1483                <div class="tags"> 
1484                    <#list categoryList as cat> 
1485                        <a href="${siteUrl}/busca?q=&category=${cat[1]}" 
1486                           class="category news-tag-item" cetegoryid="${cat[1]}"># ${cat[0]}</a> 
1487                    </#list> 
1488                </div> 
1489            </div> 
1490        </div> 
1491    </div> 
1492 
1493    <style> 
1494        .${tagPrefix} { 
1495            display: flex; 
1496            flex-direction: column; 
1497            padding: 0; 
1498            gap: var(--space-sm); 
1499
1500 
1501        .${tagPrefix} * { 
1502            margin: 0; 
1503            padding: 0; 
1504
1505 
1506        .${tagPrefix} .tags { 
1507            display: flex; 
1508            flex-wrap: wrap; 
1509            gap: var(--space-xxs, 8px); 
1510            padding: var(--space-lg) 0 var(--space-xl); 
1511
1512 
1513        .${tagPrefix} .tags .category { 
1514            padding: var(--space-xxxs) var(--space-xxs); 
1515            background: var(--color-neutral-100); 
1516            border: 1px solid var(--color-neutral-500); 
1517            border-radius: var(--border-radius-xl, 32px); 
1518 
1519            font-family: var(--font-family-base); 
1520            font-style: var(--font-style-normal); 
1521            font-weight: var(--font-weight-regular); 
1522            font-size: var(--font-size-xxxs); 
1523            line-height: var(--line-height-xl); 
1524            color: var(--color-neutral-800, #373737); 
1525            cursor: pointer; 
1526
1527 
1528        body.high-contrast-active .${tagPrefix} .tags .category { 
1529            background: rgba(255, 255, 255, 0.32); 
1530            border: 1px solid rgba(255, 255, 255, 0.32); 
1531            color: var(--text-secondary-default, #F8F8F8); 
1532
1533 
1534        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1535            .${tagPrefix} .tags { 
1536                display: flex; 
1537                flex-wrap: wrap; 
1538                gap: var(--space-xxs, 8px); 
1539                padding: var(--space-sm) 0 var(--space-lg); 
1540
1541 
1542            .${tagPrefix} { 
1543                margin-top: var(--space-sm); 
1544
1545
1546    </style> 
1547 
1548    <script> 
1549        AUI().ready(function () { 
1550 
1551            const urlParams = new URLSearchParams(window.location.search); 
1552            const categories = urlParams.getAll("category").sort(); 
1553 
1554            const root = document.querySelector(".${tagPrefix}"); 
1555            const tags = root.querySelectorAll(".category"); 
1556            tags.forEach((tag, index) => { 
1557 
1558                const categoryId = tag.getAttribute("cetegoryid"); 
1559                if (categories.indexOf(categoryId) != -1) { 
1560                    tag.classList.add("active"); 
1561
1562 
1563                <#if updateTagParamsWhenClicked> 
1564                tag.addEventListener("click", (e) => { 
1565                    e.preventDefault(); 
1566                    const clickedTag = e.target; 
1567                    const urlParams = new URLSearchParams(window.location.search); 
1568                    urlParams.delete("tag"); 
1569                    urlParams.delete("category"); 
1570 
1571                    const categoryId = clickedTag.getAttribute("cetegoryid"); 
1572                    urlParams.append("category", categoryId); 
1573 
1574                    <#if removeStartParameterWhenTagIsClicked> 
1575                    urlParams.delete("start"); 
1576                    </#if> 
1577 
1578                    const href = "${themeDisplay.getPortalURL() + mountUrlToPage(targetPageWhenClickTag)}?" + urlParams.toString(); 
1579                    window.location.href = href; 
1580                }); 
1581                </#if> 
1582            }); 
1583        }); 
1584    </script> 
1585 
1586</#macro> 
1587 
1588<#-- ################################################################################################################## --> 
1589 
1590<#-- ############# Site de Crise - Notícia - Imagem de destaque ####################################################### --> 
1591<#macro renderNewsFeaturedImage newsInfo> 
1592<#--if newsInfo.newsImageFieldSet.newsImage.url != ""--> 
1593 
1594    <#if !newsInfo.newsImageFieldSet.newsImage.url?has_content> 
1595        <#return /> 
1596    </#if> 
1597	 
1598    <div class="news-featured-image"> 
1599        <div class="breakpoint"> 
1600            <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
1601                <#if newsInfo.newsImageFieldSet.credits != ""> 
1602                    <p class="credits"> 
1603                        ${newsInfo.newsImageFieldSet.credits} 
1604                    </p> 
1605                </#if> 
1606            </div> 
1607        </div> 
1608        <div class="breakpoint"> 
1609            <div class="col-2-11 md-col-1-12 sm-col-1-4"> 
1610                <img alt="${newsInfo.newsImageFieldSet.newsImage.alt}" 
1611                     src="${newsInfo.newsImageFieldSet.newsImage.url}" 
1612                     alt="${newsInfo.newsImageFieldSet.newsImage.alt}"/> 
1613            </div> 
1614        </div> 
1615        <#if newsInfo.newsImageFieldSet.legend != ""> 
1616					 
1617					 
1618					<@liferay_util["html-top"]> 
1619    <meta content="${currentURL}" property="og:url"> 
1620    <meta content="article" property="og:type"> 
1621    <meta content="${newsInfo.mainHeadlineOfTheNews}" property="og:title"> 
1622    <meta content="/o/adaptive-media/image/${newsInfo.newsImageFieldSet.newsImage.fileEntryId}/Thumbnail-300x300/image" property="og:image"> 
1623 </@> 
1624	 
1625    
1626					 
1627            <div class="breakpoint"> 
1628                <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
1629                    <div class="legend"> 
1630                        <p>${newsInfo.newsImageFieldSet.legend}</p> 
1631                        <a class="download download-news-image" href="${newsInfo.newsImageFieldSet.newsImage.url}?download=true" 
1632                           alt="${newsInfo.newsImageFieldSet.newsImage.alt}"> 
1633                            Download 
1634                            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" 
1635                                 xmlns="http://www.w3.org/2000/svg"> 
1636                                <path d="M5.375 6.875L8 9.5M8 9.5L10.625 6.875M8 9.5V2.5M13.5 9.5V13C13.5 13.1326 13.4473 13.2598 13.3536 13.3536C13.2598 13.4473 13.1326 13.5 13 13.5H3C2.86739 13.5 2.74021 13.4473 2.64645 13.3536C2.55268 13.2598 2.5 13.1326 2.5 13V9.5" 
1637                                      stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
1638                                      stroke-linejoin="round"/> 
1639                            </svg> 
1640                            <span>${newsInfo.newsImageFieldSet.legend}</span> 
1641                        </a> 
1642                    </div> 
1643                </div> 
1644            </div> 
1645        </#if> 
1646    </div> 
1647    <style> 
1648        .ptb-news__read-news .news-featured-image { 
1649            padding: 0 0 var(--space-xl) 0; 
1650
1651 
1652        .ptb-news__read-news .news-featured-image img { 
1653            width: 100%; 
1654            height: 470px; 
1655            object-fit: cover; 
1656            border-radius: var(--border-radius-lg, 16px); 
1657
1658 
1659        .ptb-news__read-news .news-featured-image * { 
1660            font-family: var(--font-family-base); 
1661            line-height: var(--line-height-xl); 
1662
1663 
1664        .ptb-news__read-news .news-featured-image .credits { 
1665            font-style: var(--font-style-normal); 
1666            font-weight: var(--font-weight-bold, 700); 
1667            font-size: var(--font-size-micro, 12px); 
1668            text-align: right; 
1669            color: var(--color-neutral-600, #959595); 
1670            margin-bottom: var(--space-xxxs, 4px); 
1671
1672 
1673        body.high-contrast-active .ptb-news__read-news .news-featured-image .credits { 
1674            color: var(--text-secondary-default, #F8F8F8); 
1675
1676 
1677        .ptb-news__read-news .news-featured-image .legend { 
1678            margin-top: var(--space-xxxs, 4px); 
1679            display: flex; 
1680            justify-content: space-between; 
1681
1682 
1683        .ptb-news__read-news .news-featured-image .legend .download-news-image { 
1684            position: relative; 
1685
1686 
1687        .ptb-news__read-news .news-featured-image .legend .download-news-image span { 
1688           position: absolute; 
1689           top: 0; 
1690           left: 0; 
1691           opacity: 0; 
1692           width: 100%; 
1693           height: 100%; 
1694
1695 
1696        .ptb-news__read-news .news-featured-image .legend, 
1697        .ptb-news__read-news .news-featured-image .legend * { 
1698            font-style: var(--font-style-italic, italic); 
1699            font-weight: var(--font-weight-regular, 400); 
1700            font-size: var(--font-size-xxs, 16px); 
1701            color: var(--color-neutral-700, #515867); 
1702
1703 
1704        .ptb-news__read-news .news-featured-image .legend a { 
1705            display: flex; 
1706            align-items: center; 
1707            gap: var(--space-sm, 16px); 
1708            color: var(--color-primary-brand, #008542); 
1709            font-family: var(--font-family-base); 
1710            font-size: var(--font-size-xxxs, 14px); 
1711            font-style: var(--font-style-normal, normal); 
1712            font-weight: var(--font-weight-bold, 700); 
1713            line-height: var(--line-height-lg, 144%); 
1714            text-decoration-line: var(--text-decoration-underline, underline); 
1715
1716 
1717        body.high-contrast-active .ptb-news__read-news .news-featured-image .legend, 
1718        body.high-contrast-active .ptb-news__read-news .news-featured-image .legend * { 
1719            color: var(--text-secondary-default, #F8F8F8); 
1720
1721 
1722        body.high-contrast-active .ptb-news__read-news .news-featured-image .legend .download svg path { 
1723            stroke: var(--color-primary-solid-to-bright-200, var(--color-primary-medium)); 
1724
1725 
1726        .ptb-news__read-news .news-featured-image .legend .download * { 
1727          pointer-events: none; 
1728
1729 
1730        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1731            .ptb-news__read-news .news-featured-image .legend, 
1732            .ptb-news__read-news .news-featured-image .legend * { 
1733                font-size: var(--font-size-xxs, 14px); 
1734                line-height: var(--line-height-xl, 160%); 
1735
1736 
1737            .ptb-news__read-news .news-featured-image img { 
1738                height: 163px; 
1739
1740
1741    </style> 
1742 
1743<#--/#if --> 
1744</#macro> 
1745<#-- ################################################################################################################## --> 
1746 
1747<#-- ############# Site de Crise - Notícia - Conteúdo da notícia ###################################################### --> 
1748 
1749<#macro renderNewsContent newsInfo> 
1750 
1751    <#assign targetStr = "<div class='paragraph_separator'><span class='dot'></span><span class='dot'></span><span class='dot'></span><span class='dot'></span></div>"> 
1752    <#assign content = newsInfo.newsContent?replace("<p></p>", targetStr, 'r')> 
1753    <#assign content = content?replace("<p> </p>", targetStr, 'r')> 
1754    <#assign content = content?replace("<p></p>", targetStr, 'r')> 
1755    <#assign content = content?replace("<p>&nbsp;</p>", targetStr, 'r')> 
1756 
1757    <div class="news-content breakpoint"> 
1758        ${content} 
1759 
1760        <div class="audio-template audio-pause audio-unmuted" style="display:none"> 
1761            <div class="audio-button-play"> 
1762                <svg class="audio-play-icon" width="100%" height="100%" viewBox="0 0 91 90" fill="#008542" 
1763                     xmlns="http://www.w3.org/2000/svg"> 
1764                    <circle cx="45.2903" cy="45" r="44.5" stroke="#008542"></circle> 
1765                    <path d="M58.9759 43.2545C60.3409 44.0179 60.3409 45.9821 58.9759 46.7455L38.7505 58.0578C37.4173 58.8034 35.7742 57.8397 35.7742 56.3122L35.7742 33.6878C35.7742 32.1603 37.4173 31.1966 38.7505 31.9422L58.9759 43.2545Z" 
1766                          fill="white"></path> 
1767                </svg> 
1768 
1769                <svg class="audio-pause-icon" width="100%" height="100%" viewBox="0 0 91 90" fill="#008542" 
1770                     xmlns="http://www.w3.org/2000/svg"> 
1771                    <circle cx="45.2903" cy="45" r="44.5" stroke="#008542"></circle> 
1772                    <path d="M42.3736 30.4167H33.6236V59.5834H42.3736V30.4167Z" fill="white"></path> 
1773                    <path d="M48.2069 59.5834H56.9569V30.4167H48.2069V59.5834Z" fill="white"></path> 
1774                </svg> 
1775            </div> 
1776            <div class="audio-sondwave"> 
1777                <svg class="audio-sondwave-desktop" width="100%" height="100%" viewBox="0 0 590 30" fill="none" 
1778                     xmlns="http://www.w3.org/2000/svg"> 
1779                    <g clip-path="url(#clip0_2625_8152)"> 
1780                        <line x1="0.75" y1="0.75" x2="0.749999" y2="29.25" stroke="#008542" stroke-width="1.5" 
1781                              stroke-linecap="round"/> 
1782                        <line x1="5.91016" y1="7.75" x2="5.91016" y2="21.25" stroke="#008542" stroke-width="1.5" 
1783                              stroke-linecap="round"/> 
1784                        <line x1="11.0723" y1="5.75" x2="11.0723" y2="24.25" stroke="#008542" stroke-width="1.5" 
1785                              stroke-linecap="round"/> 
1786                        <line x1="16.2344" y1="11.75" x2="16.2344" y2="18.25" stroke="#008542" stroke-width="1.5" 
1787                              stroke-linecap="round"/> 
1788                        <line x1="21.3945" y1="9.75" x2="21.3945" y2="20.25" stroke="#008542" stroke-width="1.5" 
1789                              stroke-linecap="round"/> 
1790                        <line x1="26.5566" y1="9.75" x2="26.5566" y2="19.25" stroke="#008542" stroke-width="1.5" 
1791                              stroke-linecap="round"/> 
1792                        <line x1="30.6855" y1="1.75" x2="30.6855" y2="28.25" stroke="#008542" stroke-width="1.5" 
1793                              stroke-linecap="round"/> 
1794                        <line x1="35.8477" y1="12.75" x2="35.8477" y2="17.25" stroke="#008542" stroke-width="1.5" 
1795                              stroke-linecap="round"/> 
1796                        <line x1="41.0078" y1="13.75" x2="41.0078" y2="16.25" stroke="#008542" stroke-width="1.5" 
1797                              stroke-linecap="round"/> 
1798                        <line x1="46.1699" y1="10.75" x2="46.1699" y2="19.25" stroke="#008542" stroke-width="1.5" 
1799                              stroke-linecap="round"/> 
1800                        <line x1="51.3301" y1="8.75" x2="51.3301" y2="20.25" stroke="#008542" stroke-width="1.5" 
1801                              stroke-linecap="round"/> 
1802                        <line x1="56.4922" y1="0.75" x2="56.4922" y2="29.25" stroke="#008542" stroke-width="1.5" 
1803                              stroke-linecap="round"/> 
1804                        <line x1="61.6523" y1="7.75" x2="61.6523" y2="21.25" stroke="#008542" stroke-width="1.5" 
1805                              stroke-linecap="round"/> 
1806                        <line x1="66.8145" y1="5.75" x2="66.8145" y2="24.25" stroke="#008542" stroke-width="1.5" 
1807                              stroke-linecap="round"/> 
1808                        <line x1="71.9766" y1="11.75" x2="71.9766" y2="18.25" stroke="#008542" stroke-width="1.5" 
1809                              stroke-linecap="round"/> 
1810                        <line x1="77.1367" y1="9.75" x2="77.1367" y2="20.25" stroke="#008542" stroke-width="1.5" 
1811                              stroke-linecap="round"/> 
1812                        <line x1="82.2988" y1="9.75" x2="82.2988" y2="19.25" stroke="#008542" stroke-width="1.5" 
1813                              stroke-linecap="round"/> 
1814                        <line x1="86.4277" y1="1.75" x2="86.4277" y2="28.25" stroke="#008542" stroke-width="1.5" 
1815                              stroke-linecap="round"/> 
1816                        <line x1="91.5879" y1="12.75" x2="91.5879" y2="17.25" stroke="#008542" stroke-width="1.5" 
1817                              stroke-linecap="round"/> 
1818                        <line x1="96.75" y1="13.75" x2="96.75" y2="16.25" stroke="#008542" stroke-width="1.5" 
1819                              stroke-linecap="round"/> 
1820                        <line x1="101.91" y1="10.75" x2="101.91" y2="19.25" stroke="#008542" stroke-width="1.5" 
1821                              stroke-linecap="round"/> 
1822                        <line x1="107.072" y1="8.75" x2="107.072" y2="20.25" stroke="#008542" stroke-width="1.5" 
1823                              stroke-linecap="round"/> 
1824                        <line x1="112.234" y1="0.75" x2="112.234" y2="29.25" stroke="#008542" stroke-width="1.5" 
1825                              stroke-linecap="round"/> 
1826                        <line x1="117.395" y1="7.75" x2="117.395" y2="21.25" stroke="#008542" stroke-width="1.5" 
1827                              stroke-linecap="round"/> 
1828                        <line x1="122.557" y1="5.75" x2="122.557" y2="24.25" stroke="#008542" stroke-width="1.5" 
1829                              stroke-linecap="round"/> 
1830                        <line x1="127.717" y1="11.75" x2="127.717" y2="18.25" stroke="#008542" stroke-width="1.5" 
1831                              stroke-linecap="round"/> 
1832                        <line x1="132.879" y1="9.75" x2="132.879" y2="20.25" stroke="#008542" stroke-width="1.5" 
1833                              stroke-linecap="round"/> 
1834                        <line x1="138.041" y1="9.75" x2="138.041" y2="19.25" stroke="#008542" stroke-width="1.5" 
1835                              stroke-linecap="round"/> 
1836                        <line x1="142.17" y1="1.75" x2="142.17" y2="28.25" stroke="#008542" stroke-width="1.5" 
1837                              stroke-linecap="round"/> 
1838                        <line x1="147.33" y1="12.75" x2="147.33" y2="17.25" stroke="#008542" stroke-width="1.5" 
1839                              stroke-linecap="round"/> 
1840                        <line x1="151.75" y1="0.75" x2="151.75" y2="29.25" stroke="#008542" stroke-width="1.5" 
1841                              stroke-linecap="round"/> 
1842                        <line x1="156.91" y1="7.75" x2="156.91" y2="21.25" stroke="#008542" stroke-width="1.5" 
1843                              stroke-linecap="round"/> 
1844                        <line x1="162.072" y1="5.75" x2="162.072" y2="24.25" stroke="#008542" stroke-width="1.5" 
1845                              stroke-linecap="round"/> 
1846                        <line x1="167.234" y1="11.75" x2="167.234" y2="18.25" stroke="#008542" stroke-width="1.5" 
1847                              stroke-linecap="round"/> 
1848                        <line x1="172.395" y1="9.75" x2="172.395" y2="20.25" stroke="#008542" stroke-width="1.5" 
1849                              stroke-linecap="round"/> 
1850                        <line x1="177.557" y1="9.75" x2="177.557" y2="19.25" stroke="#008542" stroke-width="1.5" 
1851                              stroke-linecap="round"/> 
1852                        <line x1="181.686" y1="1.75" x2="181.686" y2="28.25" stroke="#008542" stroke-width="1.5" 
1853                              stroke-linecap="round"/> 
1854                        <line x1="186.848" y1="12.75" x2="186.848" y2="17.25" stroke="#008542" stroke-width="1.5" 
1855                              stroke-linecap="round"/> 
1856                        <line x1="192.008" y1="13.75" x2="192.008" y2="16.25" stroke="#008542" stroke-width="1.5" 
1857                              stroke-linecap="round"/> 
1858                        <line x1="197.17" y1="10.75" x2="197.17" y2="19.25" stroke="#008542" stroke-width="1.5" 
1859                              stroke-linecap="round"/> 
1860                        <line x1="202.33" y1="8.75" x2="202.33" y2="20.25" stroke="#008542" stroke-width="1.5" 
1861                              stroke-linecap="round"/> 
1862                        <line x1="207.492" y1="0.75" x2="207.492" y2="29.25" stroke="#008542" stroke-width="1.5" 
1863                              stroke-linecap="round"/> 
1864                        <line x1="212.652" y1="7.75" x2="212.652" y2="21.25" stroke="#008542" stroke-width="1.5" 
1865                              stroke-linecap="round"/> 
1866                        <line x1="217.814" y1="5.75" x2="217.814" y2="24.25" stroke="#008542" stroke-width="1.5" 
1867                              stroke-linecap="round"/> 
1868                        <line x1="222.977" y1="11.75" x2="222.977" y2="18.25" stroke="#008542" stroke-width="1.5" 
1869                              stroke-linecap="round"/> 
1870                        <line x1="228.137" y1="9.75" x2="228.137" y2="20.25" stroke="#008542" stroke-width="1.5" 
1871                              stroke-linecap="round"/> 
1872                        <line x1="233.299" y1="9.75" x2="233.299" y2="19.25" stroke="#008542" stroke-width="1.5" 
1873                              stroke-linecap="round"/> 
1874                        <line x1="237.428" y1="1.75" x2="237.428" y2="28.25" stroke="#008542" stroke-width="1.5" 
1875                              stroke-linecap="round"/> 
1876                        <line x1="242.588" y1="12.75" x2="242.588" y2="17.25" stroke="#008542" stroke-width="1.5" 
1877                              stroke-linecap="round"/> 
1878                        <line x1="247.75" y1="13.75" x2="247.75" y2="16.25" stroke="#008542" stroke-width="1.5" 
1879                              stroke-linecap="round"/> 
1880                        <line x1="252.91" y1="10.75" x2="252.91" y2="19.25" stroke="#008542" stroke-width="1.5" 
1881                              stroke-linecap="round"/> 
1882                        <line x1="258.072" y1="8.75" x2="258.072" y2="20.25" stroke="#008542" stroke-width="1.5" 
1883                              stroke-linecap="round"/> 
1884                        <line x1="263.234" y1="0.75" x2="263.234" y2="29.25" stroke="#008542" stroke-width="1.5" 
1885                              stroke-linecap="round"/> 
1886                        <line x1="268.395" y1="7.75" x2="268.395" y2="21.25" stroke="#008542" stroke-width="1.5" 
1887                              stroke-linecap="round"/> 
1888                        <line x1="273.557" y1="5.75" x2="273.557" y2="24.25" stroke="#008542" stroke-width="1.5" 
1889                              stroke-linecap="round"/> 
1890                        <line x1="278.717" y1="11.75" x2="278.717" y2="18.25" stroke="#008542" stroke-width="1.5" 
1891                              stroke-linecap="round"/> 
1892                        <line x1="283.879" y1="9.75" x2="283.879" y2="20.25" stroke="#008542" stroke-width="1.5" 
1893                              stroke-linecap="round"/> 
1894                        <line x1="289.041" y1="9.75" x2="289.041" y2="19.25" stroke="#008542" stroke-width="1.5" 
1895                              stroke-linecap="round"/> 
1896                        <line x1="293.17" y1="1.75" x2="293.17" y2="28.25" stroke="#008542" stroke-width="1.5" 
1897                              stroke-linecap="round"/> 
1898                        <line x1="298.33" y1="12.75" x2="298.33" y2="17.25" stroke="#008542" stroke-width="1.5" 
1899                              stroke-linecap="round"/> 
1900                        <line x1="302.75" y1="10.75" x2="302.75" y2="19.25" stroke="#008542" stroke-width="1.5" 
1901                              stroke-linecap="round"/> 
1902                        <line x1="307.912" y1="8.75" x2="307.912" y2="20.25" stroke="#008542" stroke-width="1.5" 
1903                              stroke-linecap="round"/> 
1904                        <line x1="313.072" y1="0.75" x2="313.072" y2="29.25" stroke="#008542" stroke-width="1.5" 
1905                              stroke-linecap="round"/> 
1906                        <line x1="318.234" y1="7.75" x2="318.234" y2="21.25" stroke="#008542" stroke-width="1.5" 
1907                              stroke-linecap="round"/> 
1908                        <line x1="323.395" y1="5.75" x2="323.395" y2="24.25" stroke="#008542" stroke-width="1.5" 
1909                              stroke-linecap="round"/> 
1910                        <line x1="328.557" y1="11.75" x2="328.557" y2="18.25" stroke="#008542" stroke-width="1.5" 
1911                              stroke-linecap="round"/> 
1912                        <line x1="333.719" y1="9.75" x2="333.719" y2="20.25" stroke="#008542" stroke-width="1.5" 
1913                              stroke-linecap="round"/> 
1914                        <line x1="338.879" y1="9.75" x2="338.879" y2="19.25" stroke="#008542" stroke-width="1.5" 
1915                              stroke-linecap="round"/> 
1916                        <line x1="343.008" y1="1.75" x2="343.008" y2="28.25" stroke="#008542" stroke-width="1.5" 
1917                              stroke-linecap="round"/> 
1918                        <line x1="348.17" y1="12.75" x2="348.17" y2="17.25" stroke="#008542" stroke-width="1.5" 
1919                              stroke-linecap="round"/> 
1920                        <line x1="353.33" y1="13.75" x2="353.33" y2="16.25" stroke="#008542" stroke-width="1.5" 
1921                              stroke-linecap="round"/> 
1922                        <line x1="358.492" y1="10.75" x2="358.492" y2="19.25" stroke="#008542" stroke-width="1.5" 
1923                              stroke-linecap="round"/> 
1924                        <line x1="363.652" y1="8.75" x2="363.652" y2="20.25" stroke="#008542" stroke-width="1.5" 
1925                              stroke-linecap="round"/> 
1926                        <line x1="368.814" y1="0.75" x2="368.814" y2="29.25" stroke="#008542" stroke-width="1.5" 
1927                              stroke-linecap="round"/> 
1928                        <line x1="373.977" y1="7.75" x2="373.977" y2="21.25" stroke="#008542" stroke-width="1.5" 
1929                              stroke-linecap="round"/> 
1930                        <line x1="379.137" y1="5.75" x2="379.137" y2="24.25" stroke="#008542" stroke-width="1.5" 
1931                              stroke-linecap="round"/> 
1932                        <line x1="384.299" y1="11.75" x2="384.299" y2="18.25" stroke="#008542" stroke-width="1.5" 
1933                              stroke-linecap="round"/> 
1934                        <line x1="389.459" y1="9.75" x2="389.459" y2="20.25" stroke="#008542" stroke-width="1.5" 
1935                              stroke-linecap="round"/> 
1936                        <line x1="394.621" y1="9.75" x2="394.621" y2="19.25" stroke="#008542" stroke-width="1.5" 
1937                              stroke-linecap="round"/> 
1938                        <line x1="398.75" y1="1.75" x2="398.75" y2="28.25" stroke="#008542" stroke-width="1.5" 
1939                              stroke-linecap="round"/> 
1940                        <line x1="403.912" y1="12.75" x2="403.912" y2="17.25" stroke="#008542" stroke-width="1.5" 
1941                              stroke-linecap="round"/> 
1942                        <line x1="408.33" y1="10.75" x2="408.33" y2="19.25" stroke="#008542" stroke-width="1.5" 
1943                              stroke-linecap="round"/> 
1944                        <line x1="413.492" y1="8.75" x2="413.492" y2="20.25" stroke="#008542" stroke-width="1.5" 
1945                              stroke-linecap="round"/> 
1946                        <line x1="418.654" y1="0.75" x2="418.654" y2="29.25" stroke="#008542" stroke-width="1.5" 
1947                              stroke-linecap="round"/> 
1948                        <line x1="423.814" y1="7.75" x2="423.814" y2="21.25" stroke="#008542" stroke-width="1.5" 
1949                              stroke-linecap="round"/> 
1950                        <line x1="428.977" y1="5.75" x2="428.977" y2="24.25" stroke="#008542" stroke-width="1.5" 
1951                              stroke-linecap="round"/> 
1952                        <line x1="434.137" y1="11.75" x2="434.137" y2="18.25" stroke="#008542" stroke-width="1.5" 
1953                              stroke-linecap="round"/> 
1954                        <line x1="439.299" y1="9.75" x2="439.299" y2="20.25" stroke="#008542" stroke-width="1.5" 
1955                              stroke-linecap="round"/> 
1956                        <line x1="444.461" y1="9.75" x2="444.461" y2="19.25" stroke="#008542" stroke-width="1.5" 
1957                              stroke-linecap="round"/> 
1958                        <line x1="448.59" y1="1.75" x2="448.59" y2="28.25" stroke="#008542" stroke-width="1.5" 
1959                              stroke-linecap="round"/> 
1960                        <line x1="453.75" y1="12.75" x2="453.75" y2="17.25" stroke="#008542" stroke-width="1.5" 
1961                              stroke-linecap="round"/> 
1962                        <line x1="458.912" y1="13.75" x2="458.912" y2="16.25" stroke="#008542" stroke-width="1.5" 
1963                              stroke-linecap="round"/> 
1964                        <line x1="464.072" y1="10.75" x2="464.072" y2="19.25" stroke="#008542" stroke-width="1.5" 
1965                              stroke-linecap="round"/> 
1966                        <line x1="469.234" y1="8.75" x2="469.234" y2="20.25" stroke="#008542" stroke-width="1.5" 
1967                              stroke-linecap="round"/> 
1968                        <line x1="474.395" y1="0.75" x2="474.395" y2="29.25" stroke="#008542" stroke-width="1.5" 
1969                              stroke-linecap="round"/> 
1970                        <line x1="479.557" y1="7.75" x2="479.557" y2="21.25" stroke="#008542" stroke-width="1.5" 
1971                              stroke-linecap="round"/> 
1972                        <line x1="484.719" y1="5.75" x2="484.719" y2="24.25" stroke="#008542" stroke-width="1.5" 
1973                              stroke-linecap="round"/> 
1974                        <line x1="489.879" y1="11.75" x2="489.879" y2="18.25" stroke="#008542" stroke-width="1.5" 
1975                              stroke-linecap="round"/> 
1976                        <line x1="495.041" y1="9.75" x2="495.041" y2="20.25" stroke="#008542" stroke-width="1.5" 
1977                              stroke-linecap="round"/> 
1978                        <line x1="500.201" y1="9.75" x2="500.201" y2="19.25" stroke="#008542" stroke-width="1.5" 
1979                              stroke-linecap="round"/> 
1980                        <line x1="504.33" y1="1.75" x2="504.33" y2="28.25" stroke="#008542" stroke-width="1.5" 
1981                              stroke-linecap="round"/> 
1982                        <line x1="509.492" y1="12.75" x2="509.492" y2="17.25" stroke="#008542" stroke-width="1.5" 
1983                              stroke-linecap="round"/> 
1984                        <line x1="513.912" y1="10.75" x2="513.912" y2="19.25" stroke="#008542" stroke-width="1.5" 
1985                              stroke-linecap="round"/> 
1986                        <line x1="519.072" y1="8.75" x2="519.072" y2="20.25" stroke="#008542" stroke-width="1.5" 
1987                              stroke-linecap="round"/> 
1988                        <line x1="524.234" y1="0.75" x2="524.234" y2="29.25" stroke="#008542" stroke-width="1.5" 
1989                              stroke-linecap="round"/> 
1990                        <line x1="529.395" y1="7.75" x2="529.395" y2="21.25" stroke="#008542" stroke-width="1.5" 
1991                              stroke-linecap="round"/> 
1992                        <line x1="534.557" y1="5.75" x2="534.557" y2="24.25" stroke="#008542" stroke-width="1.5" 
1993                              stroke-linecap="round"/> 
1994                        <line x1="539.719" y1="11.75" x2="539.719" y2="18.25" stroke="#008542" stroke-width="1.5" 
1995                              stroke-linecap="round"/> 
1996                        <line x1="544.879" y1="9.75" x2="544.879" y2="20.25" stroke="#008542" stroke-width="1.5" 
1997                              stroke-linecap="round"/> 
1998                        <line x1="550.041" y1="9.75" x2="550.041" y2="19.25" stroke="#008542" stroke-width="1.5" 
1999                              stroke-linecap="round"/> 
2000                        <line x1="554.17" y1="1.75" x2="554.17" y2="28.25" stroke="#008542" stroke-width="1.5" 
2001                              stroke-linecap="round"/> 
2002                        <line x1="559.332" y1="12.75" x2="559.332" y2="17.25" stroke="#008542" stroke-width="1.5" 
2003                              stroke-linecap="round"/> 
2004                        <line x1="564.492" y1="13.75" x2="564.492" y2="16.25" stroke="#008542" stroke-width="1.5" 
2005                              stroke-linecap="round"/> 
2006                        <line x1="569.654" y1="10.75" x2="569.654" y2="19.25" stroke="#008542" stroke-width="1.5" 
2007                              stroke-linecap="round"/> 
2008                        <line x1="574.814" y1="8.75" x2="574.814" y2="20.25" stroke="#008542" stroke-width="1.5" 
2009                              stroke-linecap="round"/> 
2010                        <line x1="579.977" y1="0.75" x2="579.977" y2="29.25" stroke="#008542" stroke-width="1.5" 
2011                              stroke-linecap="round"/> 
2012                        <line x1="585.137" y1="7.75" x2="585.137" y2="21.25" stroke="#008542" stroke-width="1.5" 
2013                              stroke-linecap="round"/> 
2014                        <line x1="590.299" y1="5.75" x2="590.299" y2="24.25" stroke="#008542" stroke-width="1.5" 
2015                              stroke-linecap="round"/> 
2016                    </g> 
2017                    <defs> 
2018                        <clipPath id="clip0_2625_8152"> 
2019                            <rect width="590" height="30" fill="white"/> 
2020                        </clipPath> 
2021                    </defs> 
2022                </svg> 
2023                <svg class="audio-sondwave-mobile" width="100%" height="100%" viewBox="0 0 102 30" fill="none" 
2024                     xmlns="http://www.w3.org/2000/svg"> 
2025                    <g clip-path="url(#clip0_2625_8922)"> 
2026                        <line x1="0.75" y1="0.75" x2="0.749999" y2="29.25" stroke="#008542" stroke-width="1.5" 
2027                              stroke-linecap="round"/> 
2028                        <line x1="5.91016" y1="7.75" x2="5.91016" y2="21.25" stroke="#008542" stroke-width="1.5" 
2029                              stroke-linecap="round"/> 
2030                        <line x1="11.0723" y1="5.75" x2="11.0723" y2="24.25" stroke="#008542" stroke-width="1.5" 
2031                              stroke-linecap="round"/> 
2032                        <line x1="16.2344" y1="11.75" x2="16.2344" y2="18.25" stroke="#008542" stroke-width="1.5" 
2033                              stroke-linecap="round"/> 
2034                        <line x1="21.3945" y1="9.75" x2="21.3945" y2="20.25" stroke="#008542" stroke-width="1.5" 
2035                              stroke-linecap="round"/> 
2036                        <line x1="26.5566" y1="9.75" x2="26.5566" y2="19.25" stroke="#008542" stroke-width="1.5" 
2037                              stroke-linecap="round"/> 
2038                        <line x1="30.6855" y1="1.75" x2="30.6855" y2="28.25" stroke="#008542" stroke-width="1.5" 
2039                              stroke-linecap="round"/> 
2040                        <line x1="35.8477" y1="12.75" x2="35.8477" y2="17.25" stroke="#008542" stroke-width="1.5" 
2041                              stroke-linecap="round"/> 
2042                        <line x1="41.0078" y1="13.75" x2="41.0078" y2="16.25" stroke="#008542" stroke-width="1.5" 
2043                              stroke-linecap="round"/> 
2044                        <line x1="46.1699" y1="10.75" x2="46.1699" y2="19.25" stroke="#008542" stroke-width="1.5" 
2045                              stroke-linecap="round"/> 
2046                        <line x1="51.3301" y1="8.75" x2="51.3301" y2="20.25" stroke="#008542" stroke-width="1.5" 
2047                              stroke-linecap="round"/> 
2048                        <line x1="56.4922" y1="0.75" x2="56.4922" y2="29.25" stroke="#008542" stroke-width="1.5" 
2049                              stroke-linecap="round"/> 
2050                        <line x1="61.6523" y1="7.75" x2="61.6523" y2="21.25" stroke="#008542" stroke-width="1.5" 
2051                              stroke-linecap="round"/> 
2052                        <line x1="66.8145" y1="5.75" x2="66.8145" y2="24.25" stroke="#008542" stroke-width="1.5" 
2053                              stroke-linecap="round"/> 
2054                        <line x1="71.9766" y1="11.75" x2="71.9766" y2="18.25" stroke="#008542" stroke-width="1.5" 
2055                              stroke-linecap="round"/> 
2056                        <line x1="77.1367" y1="9.75" x2="77.1367" y2="20.25" stroke="#008542" stroke-width="1.5" 
2057                              stroke-linecap="round"/> 
2058                        <line x1="82.2988" y1="9.75" x2="82.2988" y2="19.25" stroke="#008542" stroke-width="1.5" 
2059                              stroke-linecap="round"/> 
2060                        <line x1="86.4277" y1="1.75" x2="86.4277" y2="28.25" stroke="#008542" stroke-width="1.5" 
2061                              stroke-linecap="round"/> 
2062                        <line x1="91.5879" y1="12.75" x2="91.5879" y2="17.25" stroke="#008542" stroke-width="1.5" 
2063                              stroke-linecap="round"/> 
2064                        <line x1="96.75" y1="13.75" x2="96.75" y2="16.25" stroke="#008542" stroke-width="1.5" 
2065                              stroke-linecap="round"/> 
2066                        <line x1="101.91" y1="10.75" x2="101.91" y2="19.25" stroke="#008542" stroke-width="1.5" 
2067                              stroke-linecap="round"/> 
2068                    </g> 
2069                    <defs> 
2070                        <clipPath id="clip0_2625_8922"> 
2071                            <rect width="102" height="30" fill="white"/> 
2072                        </clipPath> 
2073                    </defs> 
2074                </svg> 
2075            </div> 
2076            <div class="audio-time paragraph-micro-bold"> 00:00</div> 
2077            <div class="audio-button-mute"> 
2078                <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"> 
2079                    <path d="M27.3625 9.6375C28.1993 10.4723 28.8632 11.464 29.3161 12.5558C29.7691 13.6476 30.0023 14.818 30.0023 16C30.0023 17.182 29.7691 18.3524 29.3161 19.4442C28.8632 20.536 28.1993 21.5277 27.3625 22.3625M10 21H4C3.73478 21 3.48043 20.8946 3.29289 20.7071C3.10536 20.5196 3 20.2652 3 20V12C3 11.7348 3.10536 11.4804 3.29289 11.2929C3.48043 11.1054 3.73478 11 4 11H10M10 21L19 28V4L10 11M10 21V11M23.825 13.175C24.1969 13.5455 24.492 13.9857 24.6933 14.4705C24.8947 14.9553 24.9983 15.4751 24.9983 16C24.9983 16.5249 24.8947 17.0447 24.6933 17.5295C24.492 18.0143 24.1969 18.4545 23.825 18.825" 
2080                          stroke="#525252" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 
2081                </svg> 
2082            </div> 
2083        </div> 
2084    </div> 
2085 
2086    <style> 
2087        .ptb-news__read-news .news-content { 
2088            gap: var(--space-xl, 44px); 
2089            padding-bottom: var(--space-giant, 80px); 
2090
2091 
2092        .ptb-news__read-news .news-content strong { 
2093            font-weight: var(--font-weight-bold); 
2094
2095 
2096        .ptb-news__read-news .news-content em { 
2097            font-style: var(--font-style-italic); 
2098
2099 
2100        .ptb-news__read-news .news-content a { 
2101            font-family: var(--font-family-base); 
2102            font-style: var(--font-style-normal, normal); 
2103            font-weight: var(--font-weight-bold, 700); 
2104            font-size: var(--font-size-xs, 18px); 
2105            line-height: var(--line-height-xl, 160%); 
2106 
2107            text-decoration-line: var(--text-decoration-underline, underline); 
2108            color: #008542; 
2109
2110 
2111        body.high-contrast-active .ptb-news__read-news .news-content a { 
2112            color: #E4F7E8; 
2113
2114 
2115        .ptb-news__read-news cite a { 
2116            font-family: var(--font-family-base); 
2117            font-style: var(--font-style-normal, normal); 
2118            font-weight: var(--font-weight-bold, 700); 
2119            font-size: var(--font-size-xs, 18px); 
2120            line-height: var(--line-height-xl, 160%); 
2121 
2122            text-decoration-line: var(--text-decoration-underline, underline); 
2123            color: #008542; 
2124
2125 
2126        body.high-contrast-active .cite a { 
2127            color: #E4F7E8; 
2128
2129 
2130        .ptb-news__read-news .news-content ul { 
2131            padding-left: 27px; 
2132            margin-top: -16px; 
2133
2134 
2135        .ptb-news__read-news .news-content ul li::marker { 
2136            content: "■" !important; 
2137            color: var(--color-secondary-medium) !important; 
2138            font-size: var(--size-xxs); 
2139
2140 
2141        .ptb-news__read-news .news-content ul li { 
2142            color: var(--color-text-primary-default); 
2143            padding: 8px 0; 
2144 
2145            /*paragraph-sm-regular*/ 
2146            font-size: var(--font-size-xxs); 
2147            line-height: var(--line-height-xl); 
2148            font-weight: var(--font-weight-regular); 
2149            font-style: var(--font-style-normal); 
2150            text-decoration: var(--text-decoration-none); 
2151 
2152            margin-left: calc(-1 * var(--space-sm)); 
2153            padding-left: var(--space-sm); 
2154
2155 
2156        .ptb-news__read-news .news-content ul li * { 
2157            color: var(--color-text-primary-default); 
2158            padding: 8px 0; 
2159 
2160            /*paragraph-sm-regular*/ 
2161            font-size: var(--font-size-xxs); 
2162            line-height: var(--line-height-xl); 
2163            font-weight: var(--font-weight-regular); 
2164            font-style: var(--font-style-normal); 
2165            text-decoration: var(--text-decoration-none); 
2166
2167 
2168        .ptb-news__read-news .news-content > * { 
2169            grid-column-start: 3; 
2170            grid-column-end: 11; 
2171
2172 
2173        .ptb-news__read-news .news-content figure figcaption { 
2174            display: flex; 
2175            justify-content: space-between; 
2176            align-items: flex-start; 
2177            align-self: stretch; 
2178            margin-top: var(--space-xxs, 8px); 
2179            text-align: justify; 
2180
2181 
2182        .ptb-news__read-news .news-content figure figcaption, 
2183        .ptb-news__read-news .news-content figure figcaption * { 
2184            color: var(--color-neutral-700, #525252); 
2185            font-family: var(--font-family-base); 
2186            font-size: var(--font-size-xxxs, 14px); 
2187            font-style: var(--font-style-italic, italic); 
2188            font-weight: var(--font-weight-regular, 400); 
2189            line-height: var(--line-height-xl, 160%); 
2190
2191 
2192        body.high-contrast-active .ptb-news__read-news .news-content figure figcaption, 
2193        body.high-contrast-active .ptb-news__read-news .news-content figure figcaption * { 
2194            color: var(--text-secondary-default, #F8F8F8); 
2195
2196 
2197        .ptb-news__read-news .news-content figure figcaption br { 
2198            display: none; 
2199
2200 
2201        .ptb-news__read-news .news-content .embed-responsive { 
2202            width: 100% !important; 
2203            border-radius: var(--border-radius-md, 16px); 
2204
2205 
2206        .ptb-news__read-news .news-content img, 
2207        .ptb-news__read-news .news-content figure { 
2208            width: 100%; 
2209            object-fit: cover; 
2210            border-radius: var(--border-radius-md, 16px); 
2211
2212 
2213 
2214        .ptb-news__read-news .news-content p img { 
2215            width: 100%; 
2216            object-fit: cover; 
2217            border-radius: var(--border-radius-md, 16px); 
2218
2219 
2220        .ptb-news__read-news .news-content p, 
2221        .ptb-news__read-news .news-content span { 
2222            margin: 0; 
2223            padding: 0; 
2224
2225 
2226        .ptb-news__read-news .news-content p { 
2227            margin: -var(--space-xxs, 8px) 0; 
2228
2229 
2230        .ptb-news__read-news .news-content .carousel p { 
2231            margin: 0; 
2232
2233 
2234        .ptb-news__read-news .news-content .paragraph_separator { 
2235            display: flex; 
2236            width: 100%; 
2237            height: fit-content; 
2238            justify-content: center; 
2239            gap: 6px; 
2240
2241 
2242        .ptb-news__read-news .news-content .paragraph_separator .dot { 
2243            height: 4px; 
2244            width: 4px; 
2245            background-color: var(--color-neutral-600, #959595); 
2246            border-radius: 100%; 
2247            display: inline-block; 
2248
2249 
2250        .ptb-news__read-news .news-content * { 
2251            font-family: var(--font-family-base); 
2252            font-style: var(--font-style-normal, normal); 
2253            font-weight: var(--font-weight-regular, 400); 
2254            font-size: var(--font-size-xs, 18px); 
2255            line-height: var(--line-height-xl, 160%); 
2256            color: var(--color-neutral-800, #373737); 
2257
2258 
2259        body.high-contrast-active .ptb-news__read-news .news-content * { 
2260            color: var(--text-primary-default, var(--color-neutral-100)); 
2261
2262 
2263        .ptb-news__read-news .news-content p { 
2264            font-style: var(--font-style-normal, normal); 
2265            font-weight: var(--font-weight-regular, 400); 
2266            font-size: var(--font-size-xs, 16px); 
2267            line-height: var(--line-height-xl, 160%); 
2268            color: var(--color-neutral-700, #515867); 
2269
2270 
2271 
2272        .ptb-news__read-news .news-content h1, 
2273        .ptb-news__read-news .news-content h1 *, 
2274        .ptb-news__read-news .news-content h2, 
2275        .ptb-news__read-news .news-content h2 *, 
2276        .ptb-news__read-news .news-content h3, 
2277        .ptb-news__read-news .news-content h3 *, 
2278        .ptb-news__read-news .news-content h4, 
2279        .ptb-news__read-news .news-content h4 *, 
2280        .ptb-news__read-news .news-content h5, 
2281        .ptb-news__read-news .news-content h5 *, 
2282        .ptb-news__read-news .news-content h6, 
2283        .ptb-news__read-news .news-content h6 * { 
2284            color: var(--color-neutral-800, #373737) !important; 
2285
2286 
2287        body.high-contrast-active .ptb-news__read-news .news-content h1, 
2288        body.high-contrast-active .ptb-news__read-news .news-content h1 *, 
2289        body.high-contrast-active .ptb-news__read-news .news-content h2, 
2290        body.high-contrast-active .ptb-news__read-news .news-content h2 *, 
2291        body.high-contrast-active .ptb-news__read-news .news-content h3, 
2292        body.high-contrast-active .ptb-news__read-news .news-content h3 *, 
2293        body.high-contrast-active .ptb-news__read-news .news-content h4, 
2294        body.high-contrast-active .ptb-news__read-news .news-content h4 *, 
2295        body.high-contrast-active .ptb-news__read-news .news-content h5, 
2296        body.high-contrast-active .ptb-news__read-news .news-content h5 *, 
2297        body.high-contrast-active .ptb-news__read-news .news-content h6, 
2298        body.high-contrast-active .ptb-news__read-news .news-content h6 * { 
2299            color: var(--text-primary-default, var(--color-neutral-100)) !important; 
2300
2301 
2302        .ptb-news__read-news .news-content h1:last-child, 
2303        .ptb-news__read-news .news-content h2:last-child, 
2304        .ptb-news__read-news .news-content h3:last-child, 
2305        .ptb-news__read-news .news-content h4:last-child, 
2306        .ptb-news__read-news .news-content h5:last-child, 
2307        .ptb-news__read-news .news-content h5:last-child, 
2308        .ptb-news__read-news .news-content h6:last-child, 
2309        .ptb-news__read-news .news-content p:last-child { 
2310            padding-bottom: 0 !important; 
2311
2312 
2313        .ptb-news__read-news .news-content h1, 
2314        .ptb-news__read-news .news-content h1 * { 
2315            font-size: var(--font-size-xxl) !important; 
2316            line-height: var(--line-height-sm) !important; 
2317            font-weight: var(--font-weight-bold) !important; 
2318            font-style: var(--font-style-normal) !important; 
2319            text-decoration: var(--text-decoration-none) !important; 
2320
2321 
2322        .ptb-news__read-news .news-content h2, 
2323        .ptb-news__read-news .news-content h2 * { 
2324            font-size: var(--font-size-xl) !important; 
2325            line-height: var(--line-height-sm) !important; 
2326            font-weight: var(--font-weight-bold) !important; 
2327            font-style: var(--font-style-normal) !important; 
2328            text-decoration: var(--text-decoration-none) !important; 
2329 
2330
2331 
2332        .ptb-news__read-news .news-content h3, 
2333        .ptb-news__read-news .news-content h3 * { 
2334            font-size: var(--font-size-lg) !important; 
2335            line-height: var(--line-height-sm) !important; 
2336            font-weight: var(--font-weight-bold) !important; 
2337            font-style: var(--font-style-normal) !important; 
2338            text-decoration: var(--text-decoration-none) !important; 
2339
2340 
2341        .ptb-news__read-news .news-content h4, 
2342        .ptb-news__read-news .news-content h4 * { 
2343            font-size: var(--font-size-md) !important; 
2344            line-height: var(--line-height-md) !important; 
2345            font-weight: var(--font-weight-bold) !important; 
2346            font-style: var(--font-style-normal) !important; 
2347            text-decoration: var(--text-decoration-none) !important; 
2348
2349 
2350        .ptb-news__read-news .news-content h5, 
2351        .ptb-news__read-news .news-content h5 * { 
2352            font-size: var(--font-size-sm) !important; 
2353            line-height: var(--line-height-md) !important; 
2354            font-weight: var(--font-weight-bold) !important; 
2355            font-style: var(--font-style-normal) !important; 
2356            text-decoration: var(--text-decoration-none) !important; 
2357
2358 
2359        .ptb-news__read-news .news-content table { 
2360            border-collapse: collapse; 
2361            border: none; 
2362            width: 100% !important; 
2363            margin: var(--space-sm, 16px) 0; 
2364
2365 
2366        .ptb-news__read-news .news-content table * { 
2367            font-size: var(--font-size-xxs, 16px); 
2368            font-style: var(--font-style-normal, normal); 
2369            font-weight: var(--font-weight-regular, 400); 
2370            line-height: var(--line-height-xl, 160%); 
2371            color: var(--color-neutral-800, #373737); 
2372            border: 0; 
2373
2374 
2375        body.high-contrast-active .ptb-news__read-news .news-content table * { 
2376            color: var(--text-primary-default, var(--color-neutral-100)); 
2377
2378 
2379        .ptb-news__read-news .news-content table tbody > :first-child, 
2380        .ptb-news__read-news .news-content table tbody > :first-child * { 
2381            font-weight: var(--font-weight-bold, 700); 
2382            flex: 1 0 0; 
2383            background: var(--background-Surface-level-02, #F8F8F8); 
2384
2385 
2386        body.high-contrast-active .ptb-news__read-news .news-content table tbody > :first-child, 
2387        body.high-contrast-active .ptb-news__read-news .news-content table tbody > :first-child * { 
2388            background: #373737; 
2389
2390 
2391        .ptb-news__read-news .news-content table tbody { 
2392            display: flex; 
2393            flex-direction: column; 
2394
2395 
2396        .ptb-news__read-news .news-content table tbody * { 
2397            display: flex; 
2398					  height: 100%; 
2399            align-items: center; 
2400            flex: 1 0 0; 
2401
2402 
2403        .ptb-news__read-news .news-content table tbody tr * {          
2404           padding: 23px var(--space-lg, 32px); 
2405
2406 
2407        .ptb-news__read-news .news-content table tbody tr { 
2408            border-radius: var(--border-radius-md); 
2409            border: var(--border-width-hairline, 1px) solid #EEEEEE; 
2410
2411 
2412        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr { 
2413            border: var(--border-width-hairline, 1px) solid #525252; 
2414
2415 
2416        .ptb-news__read-news .news-content table tbody tr:not(:last-child) { 
2417            border-bottom-left-radius: 0; 
2418            border-bottom-right-radius: 0; 
2419
2420 
2421        .ptb-news__read-news .news-content table tbody tr:not(:first-child) { 
2422            border-top-left-radius: 0; 
2423            border-top-right-radius: 0; 
2424            border-top: none; 
2425
2426 
2427        .ptb-news__read-news .news-content table tbody tr td:not(:last-child) { 
2428            border-right: var(--border-width-hairline, 1px) solid #EEEEEE; 
2429
2430 
2431        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr td:not(:last-child) { 
2432            border-right: var(--border-width-hairline, 1px) solid #525252; 
2433
2434 
2435        .ptb-news__read-news .news-content table tbody tr:first-child td { 
2436            border-top: var(--border-width-hairline, 1px) solid #EEEEEE; 
2437            border-bottom: var(--border-width-hairline, 1px) solid #EEEEEE; 
2438
2439 
2440        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr:first-child td { 
2441            border-top: var(--border-width-hairline, 1px) solid #525252; 
2442            border-bottom: var(--border-width-hairline, 1px) solid #525252; 
2443
2444 
2445        .ptb-news__read-news .news-content audio { 
2446            display: none; 
2447
2448 
2449        .ptb-news__read-news .news-content .audio-template { 
2450            display: flex; 
2451            padding: var(--space-sm, 16px); 
2452            align-items: center; 
2453            gap: var(--space-md, 24px); 
2454            align-self: stretch; 
2455            border-radius: var(--border-radius-lg, 16px); 
2456            border: var(--border-width-hairline, 1px) solid var(--border-color-mid); 
2457            background: var(--background-card-default, #FFF); 
2458            max-height: var(--size-giant, 72px); 
2459
2460 
2461        body.high-contrast-active .ptb-news__read-news .news-content .audio-template { 
2462            background: var(--background-card-default, #010101); 
2463            border: var(--border-width-hairline, 1px) solid #525252; 
2464
2465 
2466        .ptb-news__read-news .news-content .audio-template .audio-button-play { 
2467            display: flex; 
2468            width: var(--size-xl, 40px); 
2469            height: var(--size-xl, 40px); 
2470            justify-content: center; 
2471            align-items: center; 
2472            flex-grow: 0; 
2473            flex-shrink: 0; 
2474            cursor: pointer; 
2475
2476 
2477        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-play-icon, 
2478        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-pause-icon { 
2479            fill: #FFFFFF; 
2480
2481 
2482        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-play-icon path, 
2483        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-pause-icon path { 
2484            fill: #010101; 
2485
2486 
2487        .ptb-news__read-news .news-content .audio-template.audio-pause .audio-button-play .audio-play-icon { 
2488            display: block; 
2489
2490 
2491        .ptb-news__read-news .news-content .audio-template.audio-pause .audio-button-play .audio-pause-icon { 
2492            display: none; 
2493
2494 
2495        .ptb-news__read-news .news-content .audio-template.audio-play .audio-button-play .audio-play-icon { 
2496            display: none; 
2497
2498 
2499        .ptb-news__read-news .news-content .audio-template.audio-play .audio-button-play .audio-pause-icon { 
2500            display: block; 
2501
2502 
2503        .ptb-news__read-news .news-content .audio-template .audio-sondwave { 
2504            display: flex; 
2505            flex-direction: column; 
2506            align-items: flex-start; 
2507            gap: var(--space-xxs, 8px); 
2508            flex: 1 0 0; 
2509            height: 100%; 
2510            flex-grow: 1; 
2511            flex-shrink: 1; 
2512
2513 
2514        .ptb-news__read-news .news-content .audio-template .audio-sondwave line { 
2515            stroke: #008542; 
2516
2517 
2518        .ptb-news__read-news .news-content .audio-template .audio-sondwave line.line-active { 
2519            stroke: #90EE90; 
2520
2521 
2522        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-sondwave line { 
2523            stroke: #E4F7E8; 
2524
2525 
2526        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-sondwave line.line-active { 
2527            stroke: #666666; 
2528
2529 
2530        .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-mobile { 
2531            display: none; 
2532
2533 
2534        .ptb-news__read-news .news-content .audio-template .audio-time { 
2535            display: flex; 
2536            flex-direction: column; 
2537            align-items: flex-start; 
2538            gap: var(--space-xxs, 8px); 
2539            flex: 1 0 0; 
2540            color: var(--text-primary-accent, #008542); 
2541            text-align: center; 
2542            font-family: var(--font-family-base); 
2543            line-height: 124% !important; 
2544            flex-grow: 0; 
2545            flex-shrink: 0; 
2546
2547 
2548        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-time { 
2549            color: var(--text-primary-accent, #E4F7E8); 
2550
2551 
2552        .ptb-news__read-news .news-content .audio-template .audio-button-mute { 
2553            width: var(--size-lg, 32px); 
2554            height: var(--size-lg, 32px); 
2555            flex-grow: 0; 
2556            flex-shrink: 0; 
2557            cursor: pointer; 
2558
2559 
2560        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-mute svg path { 
2561            stroke: white; 
2562            fill: none; 
2563
2564 
2565        .ptb-news__read-news .news-content .audio-template.audio-muted .audio-button-mute { 
2566            opacity: 0.6; 
2567
2568 
2569        @media screen and (max-width: 1024px) { 
2570            .ptb-news__read-news .news-content > * { 
2571                grid-column-start: 1; 
2572                grid-column-end: 9; 
2573
2574
2575 
2576        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
2577 
2578            .ptb-news__read-news .news-content * { 
2579                font-size: var(--font-size-xxs, 16px); 
2580
2581 
2582            .ptb-news__read-news .news-content > * { 
2583                grid-column-start: 1; 
2584                grid-column-end: 5; 
2585
2586 
2587            .ptb-news__read-news .news-content h1, 
2588            .ptb-news__read-news .news-content h1 * { 
2589                font-size: var(--font-size-xl) !important; 
2590                line-height: var(--line-height-sm) !important; 
2591                font-weight: var(--font-weight-bold) !important; 
2592                font-style: var(--font-style-normal) !important; 
2593                text-decoration: var(--text-decoration-none) !important; 
2594 
2595
2596 
2597            .ptb-news__read-news .news-content h2, 
2598            .ptb-news__read-news .news-content h2 * { 
2599                font-size: var(--font-size-lg) !important; 
2600                line-height: var(--line-height-sm) !important; 
2601                font-weight: var(--font-weight-bold) !important; 
2602                font-style: var(--font-style-normal) !important; 
2603                text-decoration: var(--text-decoration-none) !important; 
2604
2605 
2606            .ptb-news__read-news .news-content h3, 
2607            .ptb-news__read-news .news-content h3 * { 
2608                font-size: var(--font-size-md) !important; 
2609                line-height: var(--line-height-sm) !important; 
2610                font-weight: var(--font-weight-bold) !important; 
2611                font-style: var(--font-style-normal) !important; 
2612                text-decoration: var(--text-decoration-none) !important; 
2613
2614 
2615            .ptb-news__read-news .news-content h4, 
2616            .ptb-news__read-news .news-content h4 * { 
2617                font-size: var(--font-size-sm) !important; 
2618                line-height: var(--line-height-md) !important; 
2619                font-weight: var(--font-weight-bold) !important; 
2620                font-style: var(--font-style-normal) !important; 
2621                text-decoration: var(--text-decoration-none) !important; 
2622
2623 
2624            .ptb-news__read-news .news-content h5, 
2625            .ptb-news__read-news .news-content h5 * { 
2626                font-size: var(--font-size-xs) !important; 
2627                line-height: var(--line-height-md) !important; 
2628                font-weight: var(--font-weight-bold) !important; 
2629                font-style: var(--font-style-normal) !important; 
2630                text-decoration: var(--text-decoration-none) !important; 
2631
2632 
2633            .ptb-news__read-news .news-content figure figcaption { 
2634                flex-direction: column; 
2635                gap: var(--space-xxs, 8px); 
2636
2637 
2638            .ptb-news__read-news .news-content figure figcaption, 
2639            .ptb-news__read-news .news-content figure figcaption * { 
2640                font-size: var(--font-size-micro, 12px); 
2641
2642 
2643            .ptb-news__read-news .news-content table { 
2644                margin-top: var(--space-xxs, 8px); 
2645                margin-bottom: var(--space-lg, 32px); 
2646
2647 
2648            .ptb-news__read-news .news-content table * { 
2649                font-size: var(--font-size-micro, 12px); 
2650                line-height: 19.2px; 
2651
2652					 
2653            .ptb-news__read-news .news-content table tbody tr * { 
2654                padding: var(--space-xs, 12px); 
2655
2656
2657 
2658        @media screen and (max-width: 500px) { 
2659            .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-desktop { 
2660                display: none; 
2661
2662 
2663            .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-mobile { 
2664                display: block; 
2665
2666
2667    </style> 
2668 
2669    <script> 
2670        <#assign configureLinkTab = "configureLinkTab_" + randomNumber(5)> 
2671 
2672        function ${configureLinkTab}() { 
2673            const root = document.querySelector(".ptb-news__read-news"); 
2674            const newsContentElement = root.querySelector(".news-content"); 
2675            const pList = newsContentElement.querySelectorAll("p"); 
2676            pList.forEach((pElement) => { 
2677                const cont = pElement.innerHTML.trim(); 
2678                if (cont == "" || cont == "&nbsp;") { 
2679                    newsContentElement.removeChild(pElement); 
2680
2681            }); 
2682
2683 
2684        ${configureLinkTab}(); 
2685 
2686        document.addEventListener("DOMContentLoaded", () => { 
2687            const headers = document.querySelectorAll(".ptb-news__read-news .news-content h1, .ptb-news__read-news .news-content h2, .ptb-news__read-news .news-content h3, .ptb-news__read-news .news-content h4"); 
2688 
2689            headers.forEach((header) => { 
2690 
2691                const currentLevel = parseInt(header.tagName.charAt(1)); 
2692 
2693                if (currentLevel >= 1 && currentLevel <= 5) { 
2694 
2695                    const newLevel = currentLevel + 1; 
2696                    const newTagName = "h" + newLevel; 
2697 
2698                    // Criar a nova tag e transferir o conteúdo 
2699                    const newHeader = document.createElement(newTagName); 
2700                    newHeader.innerHTML = header.innerHTML; 
2701 
2702                    // Substituir a tag antiga pela nova 
2703                    header.parentNode.replaceChild(newHeader, header); 
2704
2705            }); 
2706        }); 
2707 
2708        AUI().ready(() => { 
2709            const audiosContainer = document.querySelectorAll(".ptb-news__read-news .news-content .audio-content"); 
2710            const audioTemplate = document.querySelector(".ptb-news__read-news .news-content .audio-template"); 
2711 
2712            audiosContainer.forEach((audioContainer) => { 
2713 
2714                const audio = audioContainer.querySelector("audio"); 
2715                const audioInterface = audioTemplate.cloneNode(true); 
2716 
2717                const sondwave = audioInterface.querySelector(".audio-sondwave"); 
2718                const linesDesktop = audioInterface.querySelectorAll(".audio-sondwave .audio-sondwave-desktop line"); 
2719                const linesMobile = audioInterface.querySelectorAll(".audio-sondwave .audio-sondwave-mobile line"); 
2720 
2721                const playPauseButtonAudioInterface = audioInterface.querySelector(".audio-button-play"); 
2722 
2723                playPauseButtonAudioInterface.addEventListener("click", () => { 
2724                    if (audioInterface.classList.contains("audio-play")) { 
2725                        audioInterface.classList.replace("audio-play", "audio-pause"); 
2726                        audio.pause(); 
2727                    } else { 
2728 
2729                        audiosContainer.forEach((audioContainer) => { 
2730                            const otherAudio = audioContainer.querySelector("audio"); 
2731                            const otherAudioInterface = audioContainer.querySelector(".audio-button-play"); 
2732                            !otherAudio.paused && otherAudioInterface.click(); 
2733                        }); 
2734 
2735                        audioInterface.classList.replace("audio-pause", "audio-play"); 
2736                        audio.play(); 
2737
2738                }); 
2739 
2740                const audioMuteButton = audioInterface.querySelector(".audio-button-mute"); 
2741 
2742                audioMuteButton.addEventListener("click", () => { 
2743                    if (audioInterface.classList.contains("audio-unmuted")) { 
2744                        audioInterface.classList.replace("audio-unmuted", "audio-muted"); 
2745                        audio.muted = true; 
2746                    } else { 
2747                        audioInterface.classList.replace("audio-muted", "audio-unmuted"); 
2748                        audio.muted = false; 
2749
2750                }); 
2751 
2752                const audioTime = audioInterface.querySelector(".audio-time"); 
2753                audioTime.textContent = Math.floor(audio.duration / 60) + ":" + Math.floor(audio.duration % 60); 
2754 
2755 
2756                audio.addEventListener("timeupdate", () => { 
2757                    let minutes = Math.floor((audio.duration - audio.currentTime) / 60); 
2758                    let seconds = Math.floor((audio.duration - audio.currentTime) % 60); 
2759 
2760                    minutes = minutes < 10 ? "0" + minutes : minutes; 
2761                    seconds = seconds < 10 ? "0" + seconds : seconds; 
2762 
2763                    audioTime.textContent = minutes + ":" + seconds; 
2764 
2765                    const progress = (audio.currentTime / audio.duration) * 100; 
2766 
2767                    linesDesktop.forEach(function (line, index) { 
2768                        const lineProgress = (index / linesDesktop.length) * 100; 
2769                        if (progress >= lineProgress) { 
2770                            !line.classList.contains("line-active") && line.classList.add("line-active"); 
2771                        } else { 
2772                            line.classList.contains("line-active") && line.classList.remove("line-active"); 
2773
2774                    }); 
2775 
2776                    linesMobile.forEach(function (line, index) { 
2777                        const lineProgress = (index / linesMobile.length) * 100; 
2778                        if (progress >= lineProgress) { 
2779                            !line.classList.contains("line-active") && line.classList.add("line-active"); 
2780                        } else { 
2781                            line.classList.contains("line-active") && line.classList.remove("line-active"); 
2782
2783                    }); 
2784                }); 
2785 
2786 
2787                sondwave.addEventListener("click", (event) => { 
2788                    const distanceLeft = (event.clientX - sondwave.getBoundingClientRect().left) / sondwave.offsetWidth; 
2789                    audio.currentTime = audio.duration * distanceLeft; 
2790                }); 
2791 
2792                audioInterface.style.display = ""; 
2793                audioContainer.appendChild(audioInterface); 
2794            }); 
2795 
2796        }); 
2797    </script> 
2798</#macro> 
2799 
2800 
2801<#-- ################################################################################################################## --> 
2802 
2803<#-- ############# Site de Crise - Notícia - Links do conteúdo da notícia ############################################# --> 
2804<#macro renderLinks newsInfo> 
2805    <#if newsInfo.links?size != 0> 
2806    <#--videos "escondidos" que serão unidos a .ptb-news__read-content --> 
2807 
2808        <div class="ptb-news__links-container d-none "> 
2809            <div id="ptb-news__links-identifiers"> 
2810                <#assign separator = ""> 
2811                <#list newsInfo.links as link> 
2812                    ${link.id}; 
2813                    <#assign separator = ";"> 
2814                </#list> 
2815            </div> 
2816            <#list newsInfo.links as link> 
2817                <#assign link_index = link?index> 
2818                <#assign linkUrl = "#"> 
2819                <#assign target = "_blank"> 
2820                <#assign linkClass = ""> 
2821 
2822                <div id="ptb-news__link-container-${link_index}"> 
2823                    <#if link.externalLink?has_content> 
2824                        <#assign linkUrl = link.externalLink> 
2825                        <#assign target = "_blank"> 
2826                        <#assign linkClass = "external-link"> 
2827                    <#elseif link.pageLink?has_content> 
2828                        <#assign linkUrl = link.pageLink> 
2829                        <#assign target = "_self"> 
2830                        <#assign linkClass = "internal-page-link"> 
2831                    <#elseif link.file.mimeType?has_content> 
2832                        <#assign linkUrl = link.file.url> 
2833                        <#assign target = "_blank"> 
2834                        <#assign linkClass = "file-link"> 
2835                    </#if> 
2836 
2837                    <#-- PDF icon --> 
2838                    <#if link.iconType == "Opção78730408" > 
2839                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2840                             xmlns="http://www.w3.org/2000/svg"> 
2841                            <path d="M3.752 15.974H4.664C4.912 15.974 5.124 15.954 5.3 15.914C5.476 15.874 5.62 15.806 5.732 15.71C5.852 15.606 5.94 15.466 5.996 15.29C6.052 15.114 6.08 14.894 6.08 14.63C6.08 14.11 5.968 13.758 5.744 13.574C5.528 13.39 5.168 13.298 4.664 13.298H3.752V15.974ZM2 20.654V11.894H4.784C5.856 11.894 6.632 12.122 7.112 12.578C7.6 13.026 7.844 13.698 7.844 14.594C7.844 15.474 7.604 16.158 7.124 16.646C6.652 17.134 5.872 17.378 4.784 17.378H3.752V20.654H2Z" 
2842                                  fill="#008542"/> 
2843                            <path d="M10.8402 19.142H11.9442C12.2962 19.142 12.6042 19.102 12.8682 19.022C13.1322 18.942 13.3482 18.798 13.5162 18.59C13.6922 18.374 13.8242 18.082 13.9122 17.714C14.0002 17.338 14.0442 16.854 14.0442 16.262C14.0442 15.678 14.0002 15.202 13.9122 14.834C13.8322 14.458 13.7042 14.166 13.5282 13.958C13.3602 13.75 13.1442 13.606 12.8802 13.526C12.6242 13.446 12.3202 13.406 11.9682 13.406H10.8402V19.142ZM9.16016 20.654V11.894H12.1002C12.7642 11.894 13.3322 11.982 13.8042 12.158C14.2762 12.326 14.6602 12.59 14.9562 12.95C15.2602 13.302 15.4802 13.75 15.6162 14.294C15.7602 14.83 15.8322 15.47 15.8322 16.214C15.8322 17.726 15.5362 18.846 14.9442 19.574C14.3522 20.294 13.3882 20.654 12.0522 20.654H9.16016Z" 
2844                                  fill="#008542"/> 
2845                            <path d="M17.2695 20.654V11.894H22.2735V13.358H18.9735V15.59H21.9015V17.054H18.9735V20.654H17.2695Z" 
2846                                  fill="#008542"/> 
2847                            <path d="M6.08984 8.24516V1.60376C6.08984 1.44364 6.15211 1.29007 6.26294 1.17684C6.37377 1.06361 6.52408 1 6.68082 1H13.7725M13.7725 1L17.9094 5.22634M13.7725 1L13.7725 5.22634H17.9094M17.9094 5.22634V8.24516" 
2848                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2849                                  stroke-linejoin="round"/> 
2850                        </svg> 
2851 
2852                    <#-- JPG icon --> 
2853                    <#elseif link.iconType == "Opção89889679" > 
2854                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2855                             xmlns="http://www.w3.org/2000/svg"> 
2856                            <path d="M2 19.1657C2.248 19.1977 2.504 19.2257 2.768 19.2497C3.032 19.2657 3.284 19.2737 3.524 19.2737C3.844 19.2737 4.112 19.2497 4.328 19.2017C4.544 19.1537 4.72 19.0657 4.856 18.9377C4.992 18.8017 5.088 18.6257 5.144 18.4097C5.208 18.1857 5.24 17.8977 5.24 17.5457V11.8937H6.992V17.5457C6.992 18.6817 6.756 19.5057 6.284 20.0177C5.82 20.5297 5.128 20.7857 4.208 20.7857C3.984 20.7857 3.764 20.7737 3.548 20.7497C3.34 20.7257 3.14 20.6937 2.948 20.6537C2.756 20.6137 2.58 20.5697 2.42 20.5217C2.26 20.4737 2.12 20.4257 2 20.3777V19.1657Z" 
2857                                  fill="#008542"/> 
2858                            <path d="M10.4203 15.9737H11.3323C11.5803 15.9737 11.7923 15.9537 11.9683 15.9137C12.1443 15.8737 12.2883 15.8057 12.4003 15.7097C12.5203 15.6057 12.6083 15.4657 12.6643 15.2897C12.7203 15.1137 12.7483 14.8937 12.7483 14.6297C12.7483 14.1097 12.6363 13.7577 12.4123 13.5737C12.1963 13.3897 11.8363 13.2977 11.3323 13.2977H10.4203V15.9737ZM8.66834 20.6537V11.8937H11.4523C12.5243 11.8937 13.3003 12.1217 13.7803 12.5777C14.2683 13.0257 14.5123 13.6977 14.5123 14.5937C14.5123 15.4737 14.2723 16.1577 13.7923 16.6457C13.3203 17.1337 12.5403 17.3777 11.4523 17.3777H10.4203V20.6537H8.66834Z" 
2859                                  fill="#008542"/> 
2860                            <path d="M22.0085 20.2697C21.6405 20.4057 21.2085 20.5257 20.7125 20.6297C20.2245 20.7337 19.7165 20.7857 19.1885 20.7857C18.5005 20.7857 17.9245 20.6897 17.4605 20.4977C17.0045 20.2977 16.6365 20.0097 16.3565 19.6337C16.0845 19.2577 15.8885 18.7977 15.7685 18.2537C15.6485 17.7017 15.5885 17.0777 15.5885 16.3817C15.5885 15.6217 15.6565 14.9537 15.7925 14.3777C15.9285 13.8017 16.1445 13.3217 16.4405 12.9377C16.7365 12.5457 17.1205 12.2537 17.5925 12.0617C18.0645 11.8617 18.6405 11.7617 19.3205 11.7617C19.7845 11.7617 20.2125 11.8017 20.6045 11.8817C21.0045 11.9617 21.3605 12.0577 21.6725 12.1697V13.3937C21.5525 13.3857 21.4125 13.3737 21.2525 13.3577C21.0925 13.3337 20.9205 13.3137 20.7365 13.2977C20.5605 13.2817 20.3765 13.2697 20.1845 13.2617C20.0005 13.2457 19.8205 13.2377 19.6445 13.2377C19.2205 13.2377 18.8605 13.2857 18.5645 13.3817C18.2765 13.4697 18.0405 13.6297 17.8565 13.8617C17.6805 14.0857 17.5485 14.3937 17.4605 14.7857C17.3805 15.1777 17.3405 15.6737 17.3405 16.2737C17.3405 16.8417 17.3765 17.3217 17.4485 17.7137C17.5285 18.0977 17.6485 18.4097 17.8085 18.6497C17.9685 18.8897 18.1765 19.0617 18.4325 19.1657C18.6965 19.2697 19.0125 19.3217 19.3805 19.3217C19.6765 19.3217 20.0245 19.2857 20.4245 19.2137V17.1977H19.1045V15.8897H22.0085V20.2697Z" 
2861                                  fill="#008542"/> 
2862                            <path d="M6.08984 8.24516V1.60376C6.08984 1.44364 6.15211 1.29007 6.26294 1.17684C6.37377 1.06361 6.52408 1 6.68082 1H13.7725M13.7725 1L17.9094 5.22634M13.7725 1L13.7725 5.22634H17.9094M17.9094 5.22634V8.24516" 
2863                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2864                                  stroke-linejoin="round"/> 
2865                        </svg> 
2866                    <#-- DOC icon --> 
2867                    <#elseif link.iconType == "Opção15480314" > 
2868                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2869                             xmlns="http://www.w3.org/2000/svg"> 
2870                            <path d="M2.68 19.1417H3.784C4.136 19.1417 4.444 19.1017 4.708 19.0217C4.972 18.9417 5.188 18.7977 5.356 18.5897C5.532 18.3737 5.664 18.0817 5.752 17.7137C5.84 17.3377 5.884 16.8537 5.884 16.2617C5.884 15.6777 5.84 15.2017 5.752 14.8337C5.672 14.4577 5.544 14.1657 5.368 13.9577C5.2 13.7497 4.984 13.6057 4.72 13.5257C4.464 13.4457 4.16 13.4057 3.808 13.4057H2.68V19.1417ZM1 20.6537V11.8937H3.94C4.604 11.8937 5.172 11.9817 5.644 12.1577C6.116 12.3257 6.5 12.5897 6.796 12.9497C7.1 13.3017 7.32 13.7497 7.456 14.2937C7.6 14.8297 7.672 15.4697 7.672 16.2137C7.672 17.7257 7.376 18.8457 6.784 19.5737C6.192 20.2937 5.228 20.6537 3.892 20.6537H1Z" 
2871                                  fill="#008542"/> 
2872                            <path d="M10.7894 20.4977C10.3334 20.3057 9.96138 20.0217 9.67338 19.6457C9.39338 19.2697 9.18937 18.8057 9.06137 18.2537C8.93337 17.6937 8.86938 17.0457 8.86938 16.3097C8.86938 15.5657 8.93337 14.9097 9.06137 14.3417C9.19737 13.7737 9.40938 13.2977 9.69738 12.9137C9.99338 12.5297 10.3694 12.2417 10.8254 12.0497C11.2894 11.8577 11.8494 11.7617 12.5054 11.7617C13.1694 11.7617 13.7294 11.8577 14.1854 12.0497C14.6414 12.2417 15.0094 12.5257 15.2894 12.9017C15.5774 13.2777 15.7854 13.7457 15.9134 14.3057C16.0414 14.8577 16.1054 15.5017 16.1054 16.2377C16.1054 16.9817 16.0374 17.6377 15.9014 18.2057C15.7734 18.7737 15.5614 19.2497 15.2654 19.6337C14.9774 20.0177 14.6014 20.3057 14.1374 20.4977C13.6814 20.6897 13.1254 20.7857 12.4694 20.7857C11.8054 20.7857 11.2454 20.6897 10.7894 20.4977ZM11.0894 18.6737C11.2414 18.9057 11.4334 19.0737 11.6654 19.1777C11.8974 19.2737 12.1694 19.3217 12.4814 19.3217C12.7934 19.3217 13.0654 19.2737 13.2974 19.1777C13.5294 19.0737 13.7214 18.9057 13.8734 18.6737C14.0254 18.4337 14.1374 18.1217 14.2094 17.7377C14.2814 17.3457 14.3174 16.8577 14.3174 16.2737C14.3174 15.6897 14.2814 15.2057 14.2094 14.8217C14.1374 14.4297 14.0254 14.1177 13.8734 13.8857C13.7294 13.6457 13.5414 13.4777 13.3094 13.3817C13.0774 13.2777 12.8054 13.2257 12.4934 13.2257C12.1814 13.2257 11.9094 13.2777 11.6774 13.3817C11.4454 13.4777 11.2534 13.6457 11.1014 13.8857C10.9494 14.1177 10.8374 14.4297 10.7654 14.8217C10.6934 15.2057 10.6574 15.6897 10.6574 16.2737C10.6574 16.8577 10.6934 17.3457 10.7654 17.7377C10.8374 18.1217 10.9454 18.4337 11.0894 18.6737Z" 
2873                                  fill="#008542"/> 
2874                            <path d="M23.1389 20.3897C22.8349 20.5017 22.4989 20.5937 22.1309 20.6657C21.7709 20.7457 21.3629 20.7857 20.9069 20.7857C20.2189 20.7857 19.6429 20.6897 19.1789 20.4977C18.7229 20.3057 18.3549 20.0257 18.0749 19.6577C17.7949 19.2817 17.5949 18.8177 17.4749 18.2657C17.3629 17.7137 17.3069 17.0777 17.3069 16.3577C17.3069 15.5977 17.3709 14.9297 17.4989 14.3537C17.6269 13.7777 17.8309 13.2977 18.1109 12.9137C18.3909 12.5297 18.7589 12.2417 19.2149 12.0497C19.6709 11.8577 20.2229 11.7617 20.8709 11.7617C21.3029 11.7617 21.6989 11.8017 22.0589 11.8817C22.4269 11.9537 22.7629 12.0457 23.0669 12.1577V13.3817C22.8029 13.3497 22.4949 13.3177 22.1429 13.2857C21.7989 13.2537 21.4829 13.2377 21.1949 13.2377C20.8029 13.2377 20.4709 13.2857 20.1989 13.3817C19.9349 13.4697 19.7189 13.6297 19.5509 13.8617C19.3829 14.0857 19.2629 14.3937 19.1909 14.7857C19.1189 15.1697 19.0829 15.6617 19.0829 16.2617C19.0829 16.8617 19.1189 17.3617 19.1909 17.7617C19.2709 18.1537 19.3949 18.4657 19.5629 18.6977C19.7389 18.9217 19.9669 19.0817 20.2469 19.1777C20.5269 19.2657 20.8709 19.3097 21.2789 19.3097C21.5989 19.3097 21.9309 19.2937 22.2749 19.2617C22.6189 19.2217 22.9069 19.1897 23.1389 19.1657V20.3897Z" 
2875                                  fill="#008542"/> 
2876                            <path d="M6.08984 8.24516V1.60376C6.08984 1.44364 6.15211 1.29007 6.26294 1.17684C6.37377 1.06361 6.52408 1 6.68082 1H13.7725M13.7725 1L17.9094 5.22634M13.7725 1L13.7725 5.22634H17.9094M17.9094 5.22634V8.24516" 
2877                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2878                                  stroke-linejoin="round"/> 
2879                        </svg> 
2880                    <#-- External link icon --> 
2881                    <#elseif link.iconType == "Opção64447681" > 
2882                        <svg width="24" height="24" viewBox="0 0 32 32" fill="none" 
2883                             xmlns="http://www.w3.org/2000/svg"> 
2884                            <path opacity="0.98" 
2885                                  d="M25.5 15.5001V26.5001C25.5 26.7653 25.3946 27.0197 25.2071 27.2072C25.0196 27.3947 24.7652 27.5001 24.5 27.5001L5.5 27.5001C5.23479 27.5001 4.98043 27.3947 4.79289 27.2072C4.60536 27.0197 4.5 26.7653 4.5 26.5001L4.5 7.50009C4.5 7.23488 4.60536 6.98052 4.79289 6.79299C4.98043 6.60545 5.23478 6.50009 5.5 6.50009L17 6.50009M20.4742 4.7124H27.8988M27.8988 4.7124V12.137M27.8988 4.7124L14.5 18.0001" 
2886                                  stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2887                        </svg> 
2888                    <#-- Internal page link icon --> 
2889                    <#elseif link.iconType == "Opção94185057" > 
2890                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#008542" 
2891                             viewBox="0 0 256 256"> 
2892                            <path d="M137.54,186.36a8,8,0,0,1,0,11.31l-9.94,10A56,56,0,0,1,48.38,128.4L72.5,104.28A56,56,0,0,1,149.31,102a8,8,0,1,1-10.64,12,40,40,0,0,0-54.85,1.63L59.7,139.72a40,40,0,0,0,56.58,56.58l9.94-9.94A8,8,0,0,1,137.54,186.36Zm70.08-138a56.08,56.08,0,0,0-79.22,0l-9.94,9.95a8,8,0,0,0,11.32,11.31l9.94-9.94a40,40,0,0,1,56.58,56.58L172.18,140.4A40,40,0,0,1,117.33,142,8,8,0,1,0,106.69,154a56,56,0,0,0,76.81-2.26l24.12-24.12A56.08,56.08,0,0,0,207.62,48.38Z"> 
2893                            </path> 
2894                        </svg> 
2895                    <#-- Download link icon --> 
2896                    <#elseif link.iconType == "Opção49847593" > 
2897                        <svg width="24" height="24" viewBox="0 0 32 32" fill="none" 
2898                             xmlns="http://www.w3.org/2000/svg"> 
2899                            <path d="M10.75 13.75L16 19M16 19L21.25 13.75M16 19V5M27 19V26C27 26.2652 26.8946 26.5196 26.7071 26.7071C26.5196 26.8946 26.2652 27 26 27H6C5.73478 27 5.48043 26.8946 5.29289 26.7071C5.10536 26.5196 5 26.2652 5 26V19" 
2900                                  stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2901                        </svg> 
2902                    </#if> 
2903 
2904                    <a href="${linkUrl}" class="link ${linkClass}" target="${target}">${link.title}</a> 
2905                </div> 
2906            </#list> 
2907        </div> 
2908 
2909        <script> 
2910            var newsContent_code = document.querySelector(".news-content").innerHTML; 
2911 
2912            var linksIdentifiers = document.querySelector("#ptb-news__links-identifiers").innerHTML.trim().split(";"); 
2913            linksIdentifiers.forEach((linkIdentifier, index) => { 
2914                const linkIdentifierContent = document.querySelector("#ptb-news__link-container-" + index); 
2915                if (linkIdentifierContent) { 
2916                    const tag = "#[" + linkIdentifier.trim() + "]"; 
2917                    const splitContent = newsContent_code.split(tag); 
2918                    newsContent_code = splitContent.join(linkIdentifierContent.innerHTML); 
2919                    //linkIdentifierContent.parentNode.removeChild(linkIdentifierContent); 
2920
2921            }); 
2922 
2923 
2924            var ptb_news__read_content = document.querySelector(".news-content"); 
2925            ptb_news__read_content.innerHTML = newsContent_code; 
2926 
2927        </script> 
2928 
2929        <style> 
2930            .ptb-news__read-news .ptb-news__link a { 
2931                font-family: var(--font-family-base); 
2932                font-style: var(--font-style-normal, normal); 
2933                font-weight: var(--font-weight-bold, 700); 
2934                font-size: var(--font-size-xxs, 16px); 
2935                line-height: var(--line-height-xl, 160%); 
2936 
2937                text-decoration-line: underline; 
2938 
2939                color: var(--color-primary-brand, #008542); 
2940
2941 
2942            body.high-contrast-active .ptb-news__read-news .ptb-news__link a { 
2943                color: #E4F7E8; 
2944
2945 
2946            .ptb-news__read-news .news-content .link { 
2947                font-family: var(--font-family-base); 
2948                font-style: var(--font-style-normal, normal); 
2949                font-weight: var(--font-weight-bold, 700); 
2950                font-size: var(--font-size-xxs, 16px); 
2951                line-height: var(--line-height-xl, 160%); 
2952 
2953                text-decoration-line: underline; 
2954 
2955                color: var(--color-primary-brand, #008542); 
2956
2957 
2958            body.high-contrast-active .ptb-news__read-news .news-content .link { 
2959                color: #E4F7E8; 
2960
2961 
2962            body.high-contrast-active .ptb-news__read-news .news-content svg path { 
2963                stroke: var(--color-neutral-500, #D7D7D7); 
2964                fill: rgba(255, 255, 255, 0.32); 
2965
2966 
2967            .ptb-news__read-news .news-content .ptb-link__wrapper { 
2968                display: flex; 
2969                flex-direction: column; 
2970                gap: 0; 
2971                margin-top: -24px; 
2972
2973 
2974            .ptb-news__read-news .news-content .ptb-link__wrapper svg { 
2975                margin-right: var(--space-sm, 16px); 
2976
2977 
2978            .ptb-news__read-news .news-content .ptb-link__wrapper .first { 
2979                gap: 0 !important; 
2980
2981 
2982            @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
2983                .ptb-news__read-news .news-content .link { 
2984                    font-size: var(--font-size-xxs, 16px); 
2985
2986
2987        </style> 
2988    </#if> 
2989</#macro> 
2990 
2991<#-- ################################################################################################################## --> 
2992<#macro renderCite> 
2993    <div class="ptb-news__cite-container"> 
2994        <div class="ptb-news__cite-container-breakpoint breakpoint"> 
2995            <div class="ptb-news__cite-container-col col-1-12 md-col-1-8 sm-col-1-4"> 
2996                <div class="ptb-news__cite-title"> 
2997                    <#if locale?lower_case == "pt_br"> 
2998                        Notas 
2999                    <#else> 
3000                        Notes 
3001                    </#if> 
3002                </div> 
3003 
3004                <div class="ptb-news__cites-elements"> 
3005                </div> 
3006            </div> 
3007        </div> 
3008    </div> 
3009 
3010    <script> 
3011        function positionCitesText(parentNodeCitesText) { 
3012 
3013            parentNodeCitesText.forEach((parentNodeCiteText) => { 
3014                if (window.innerWidth > 1024) { 
3015                    parentNodeCiteText.style.display = ""; 
3016                    parentNodeCiteText.style.gridColumnStart = "11"; 
3017                    parentNodeCiteText.style.gridColumnEnd = "13"; 
3018                } else { 
3019                    parentNodeCiteText.style.display = "none"; 
3020                    parentNodeCiteText.style.gridColumnStart = ""; 
3021                    parentNodeCiteText.style.gridColumnEnd = ""; 
3022
3023            }); 
3024
3025 
3026        function addCitesTextMobile(citesText) { 
3027            const citesContainer = document.querySelector(".ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cites-elements"); 
3028 
3029            if (citesContainer.children.length === 0) { 
3030                citesContainer && citesText.forEach((citeText) => { 
3031                    citesContainer.appendChild(citeText.cloneNode(true)); 
3032                }); 
3033
3034
3035 
3036        const citesText = document.querySelectorAll(".news-content cite"); 
3037 
3038        if (citesText.length > 0) { 
3039            const parentNodeCitesText = [...citesText].map((citeText) => citeText.parentNode); 
3040            positionCitesText(parentNodeCitesText); 
3041            addCitesTextMobile(citesText); 
3042        } else { 
3043            const citesContainer = document.querySelector(".ptb-news__cite-container"); 
3044            citesContainer && (citesContainer.style.display = "none"); 
3045
3046 
3047        document.addEventListener('DOMContentLoaded', () => { 
3048 
3049            const citesText = document.querySelectorAll(".news-content cite"); 
3050 
3051            if (citesText.length > 0) { 
3052                const parentNodeCitesText = [...citesText].map((citeText) => citeText.parentNode); 
3053 
3054                positionCitesText(parentNodeCitesText); 
3055                addCitesTextMobile(citesText); 
3056 
3057                window.addEventListener('resize', () => { 
3058                    positionCitesText(parentNodeCitesText) 
3059                }); 
3060            } else { 
3061                const citesContainer = document.querySelector(".ptb-news__cite-container"); 
3062                citesContainer && (citesContainer.style.display = "none"); 
3063
3064        }); 
3065 
3066    </script> 
3067 
3068    <style> 
3069 
3070        .ptb-news__read-news-post cite { 
3071            color: var(--color-neutral-800, #373737); 
3072            font-family: var(--font-family-base); 
3073            font-size: var(--font-size-xxxs, 14px) !important; 
3074            font-style: var(--font-style-normal, normal); 
3075            font-weight: var(--font-weight-regular, 400); 
3076            line-height: var(--line-height-xl, 160%); 
3077
3078 
3079        .ptb-news__read-news-post cite a { 
3080            font-size: var(--font-size-xxxs, 14px) !important; 
3081
3082 
3083        body.high-contrast-active .ptb-news__read-news-post cite { 
3084            color: var(--text-primary-default, var(--color-neutral-100)); 
3085
3086 
3087        .ptb-news__read-news-post .news-content cite, 
3088        .ptb-news__read-news-post .ptb-news__cite-container cite { 
3089            display: block; 
3090            padding-left: var(--space-md); 
3091            border-left: var(--border-width-hairline, 1px) solid var(--color-neutral-500, #D7D7D7); 
3092
3093 
3094        @media screen and (min-width: 1025px) { 
3095            .ptb-news__read-news-post .ptb-news__cite-container { 
3096                display: none; 
3097
3098
3099 
3100        @media screen and (max-width: 1025px) { 
3101            .ptb-news__read-news .ptb-news__cite-container .link { 
3102                text-decoration-line: var(--text-decoration-underline, underline); 
3103                color: #008542; 
3104
3105 
3106            body.high-contrast-active .ptb-news__read-news .ptb-news__cite-container .link { 
3107                color: #E4F7E8; 
3108
3109 
3110            body.high-contrast-active .ptb-news__read-news .ptb-news__cite-container svg path { 
3111                stroke: var(--color-neutral-500, #D7D7D7); 
3112                fill: rgba(255, 255, 255, 0.32); 
3113
3114 
3115            .ptb-news__read-news-post .ptb-news__cite-container { 
3116                display: grid; 
3117                background: var(--background-surface-level-03, #EEE); 
3118
3119 
3120            body.high-contrast-active .ptb-news__read-news-post .ptb-news__cite-container { 
3121                background: var(--background-surface-level-03, #525252); 
3122
3123 
3124            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col { 
3125                padding: var(--space-xxl) 0; 
3126                display: flex; 
3127                flex-direction: column; 
3128                gap: var(--space-lg, 32px); 
3129
3130 
3131            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cites-elements { 
3132                display: flex; 
3133                flex-direction: column; 
3134                gap: var(--space-lg, 32px); 
3135
3136 
3137            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cite-title { 
3138                color: var(--color-neutral-800, #373737); 
3139                font-size: var(--font-size-sm, 20px); 
3140                font-style: var(--font-style-normal, normal); 
3141                font-weight: var(--font-weight-bold, 700); 
3142                line-height: var(--line-height-xl, 160%); 
3143
3144 
3145            body.high-contrast-active .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cite-title { 
3146                color: var(--text-primary-default, var(--color-neutral-100)); 
3147
3148
3149    </style> 
3150 
3151</#macro> 
3152 
3153<#-- ############# Site de Crise - Notícia - Galeria de imagens ####################################################### --> 
3154<#macro renderGallery newsInfo> 
3155    <#if newsInfo.galleryItems?size == 0> 
3156        <#return /> 
3157    </#if> 
3158 
3159    <div class="breakpoint"> 
3160        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
3161            <div class="gallery"> 
3162 
3163                <div class="title-container"> 
3164                    <svg class="icon" viewBox="0 0 26 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3165                        <path d="M23 22H3C2.46957 22 1.96086 21.7893 1.58579 21.4142C1.21071 21.0391 1 20.5304 1 20V6C1 5.46957 1.21071 4.96086 1.58579 4.58579C1.96086 4.21071 2.46957 4 3 4H7L9 1H17L19 4H23C23.5304 4 24.0391 4.21071 24.4142 4.58579C24.7893 4.96086 25 5.46957 25 6V20C25 20.5304 24.7893 21.0391 24.4142 21.4142C24.0391 21.7893 23.5304 22 23 22Z" 
3166                              stroke="#525252" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
3167                        <path d="M13 17C15.4853 17 17.5 14.9853 17.5 12.5C17.5 10.0147 15.4853 8 13 8C10.5147 8 8.5 10.0147 8.5 12.5C8.5 14.9853 10.5147 17 13 17Z" 
3168                              stroke="#525252" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
3169                    </svg> 
3170                    <p class="title"> 
3171                        <#if locale == "pt_BR"> Fotos <#else > Photos </#if> 
3172                    </p> 
3173                </div> 
3174 
3175 
3176                <div class="image-container"> 
3177                    <#assign itensNum = 1 /> 
3178                    <#list newsInfo.galleryItems as gItem> 
3179                        <#assign rancomCssClass = "fragment_88494_" + gItem?index /> 
3180                        <div class="fragment_88494 ${rancomCssClass}"> 
3181                            <div class="modal-image-container"> 
3182                                <span class="click-image news-gallery-image-thumb"></span> 
3183 
3184                                <div class="image-player-container"> 
3185                                    <span class="close-image news-gallery-close-modal">X</span> 
3186                                    <div class="image-player-session"> 
3187                                        <#assign largeImgUrl = ""/> 
3188                                        <#assign largeImgAlt = ""/> 
3189                                        <#if gItem.originalFile["contentUrl"]?? > 
3190                                            <#assign largeImgUrl = themeDisplay.getPortalURL() + "/documents/" + groupId + "/" +  gItem.originalFile.externalReferenceCode + "?t=" + .now?string["HHmmssSSS"] /> 
3191                                            <#assign largeImgAlt = gItem.originalFile["description"]/> 
3192                                        </#if> 
3193 
3194                                        <#assign thumbnailImageUrl = ""/> 
3195                                        <#assign thumbnailImageAlt = ""/> 
3196                                        <#if gItem.thumbnailImage?? && gItem.thumbnailImage?has_content && gItem.thumbnailImage["contentUrl"]?? && gItem.thumbnailImage["contentUrl"]??> 
3197                                            <#assign mediaWidth = 300 /> 
3198                                            <#list gItem.thumbnailImage.adaptedImages?filter(f -> f.width == mediaWidth)  as adaptedImage> 
3199                                                <#assign thumbnailImageUrl = themeDisplay.getPortalURL() + adaptedImage.contentUrl /> 
3200                                            </#list> 
3201                                            <#assign thumbnailImageAlt = gItem.thumbnailImage.description /> 
3202                                        </#if> 
3203 
3204 
3205                                        <#assign carrouselImgUrl = ""/> 
3206                                        <#assign carrouselImgAlt = ""/> 
3207                                        <#if gItem.originalFile["contentUrl"]??> 
3208                                            <#assign carrouselImgUrl = gItem.originalFile["contentUrl"] /> 
3209                                            <#assign carrouselImgAlt = gItem.originalFile.description /> 
3210                                        </#if> 
3211 
3212                                        <#if !thumbnailImageUrl?? || !thumbnailImageUrl?has_content> 
3213                                            <#assign mediaWidth = 300 /> 
3214                                            <#if gItem.originalFile["adaptedImages"]??> 
3215                                                <#list gItem.originalFile.adaptedImages?filter(f -> f.width == mediaWidth)  as adaptedImage> 
3216                                                    <#assign thumbnailImageUrl = themeDisplay.getPortalURL() + adaptedImage.contentUrl /> 
3217                                                </#list> 
3218                                            </#if> 
3219                                            <#if !thumbnailImageUrl?has_content> 
3220                                                <#assign thumbnailImageUrl = largeImgUrl/> 
3221                                            </#if> 
3222                                            <#assign thumbnailImageAlt = largeImgAlt/> 
3223                                        </#if> 
3224 
3225 
3226                                        <img class="thumbnail" src="${thumbnailImageUrl}" alt="${thumbnailImageAlt}"/> 
3227 
3228 
3229                                        <#assign urlFirst = "" > 
3230 
3231                                        <#if carrouselImgUrl?? || carrouselImgUrl?has_content> 
3232 
3233                                            <#assign urlFirst = "background-image: url('${carrouselImgUrl}');" > 
3234                                        </#if> 
3235 
3236 
3237                                        <span class="background-image" style="${urlFirst}"> 
3238 
3239                                            </span> 
3240 
3241                                        <div class="large" style="display:none;"> 
3242                                            <img class="carousel" src="${carrouselImgUrl}" alt="${carrouselImgAlt}"/> 
3243                                        </div> 
3244 
3245                                        <div class="gallery-modal-footer"> 
3246                                            <div class="carousel-info"> 
3247                                                <p class="title-image paragraph-sm-regular"> 
3248                                                    <#if locale == "pt_BR"> Foto: <#else > Picture: </#if>${itensNum} 
3249                                                    /${newsInfo.galleryItems?size} 
3250                                                </p> 
3251                                                <div class="left-arrow news-gallery-previus-img-btn"> 
3252                                                    <svg width="32" height="32" viewBox="0 0 32 32" fill="none" 
3253                                                         xmlns="http://www.w3.org/2000/svg"> 
3254                                                        <path d="M0 16C0 7.16344 7.16344 0 16 0C24.8366 0 32 7.16344 32 16C32 24.8366 24.8366 32 16 32C7.16344 32 0 24.8366 0 16Z" 
3255                                                              fill="#008542"/> 
3256                                                        <path d="M21.5 16H10.5M10.5 16L15 11.5M10.5 16L15 20.5" 
3257                                                              stroke="white" stroke-linecap="round" 
3258                                                              stroke-linejoin="round"/> 
3259                                                    </svg> 
3260                                                </div> 
3261                                                <div class="right-arrow news-gallery-next-img-btn"> 
3262                                                    <svg width="32" height="32" viewBox="0 0 32 32" fill="none" 
3263                                                         xmlns="http://www.w3.org/2000/svg"> 
3264                                                        <path d="M0 16C0 7.16344 7.16344 0 16 0C24.8366 0 32 7.16344 32 16C32 24.8366 24.8366 32 16 32C7.16344 32 0 24.8366 0 16Z" 
3265                                                              fill="#008542"/> 
3266                                                        <path d="M10.5 16H21.5M21.5 16L17 11.5M21.5 16L17 20.5" 
3267                                                              stroke="white" stroke-linecap="round" 
3268                                                              stroke-linejoin="round"/> 
3269                                                    </svg> 
3270                                                </div> 
3271                                            </div> 
3272                                            <div class="text-container"> 
3273                                                <p class="title-image h5">${gItem.cardTitle}</p> 
3274                                                <div class="image-info"> 
3275                                                    <p class="date-info paragraph-sm-regular">${formatDate(gItem.createDate)}</p> 
3276                                                    <p class="autor-info paragraph-sm-regular"><#if locale == "pt_BR"> Por: <#else > By: </#if> ${gItem.author}</p> 
3277                                                </div> 
3278                                                <div class="download-info"> 
3279                                                    <div class="download-large-image"> 
3280                                                        <div class="download-share-container"> 
3281                                                            <a class="download button donwload-button news-gallery-image-item-download" 
3282                                                               href="${largeImgUrl}?download=true"> 
3283 
3284                                                                <svg width="20" height="20" viewBox="0 0 20 20" 
3285                                                                     fill="none" xmlns="http://www.w3.org/2000/svg"> 
3286                                                                    <path d="M6.71875 8.59375L10 11.875M10 11.875L13.2812 8.59375M10 11.875V3.125M16.875 11.875V16.25C16.875 16.4158 16.8092 16.5747 16.6919 16.6919C16.5747 16.8092 16.4158 16.875 16.25 16.875H3.75C3.58424 16.875 3.42527 16.8092 3.30806 16.6919C3.19085 16.5747 3.125 16.4158 3.125 16.25V11.875" 
3287                                                                          stroke="white" stroke-linecap="round" 
3288                                                                          stroke-linejoin="round"/> 
3289                                                                </svg> 
3290                                                                <#if locale == "pt_BR"> Baixar <#else > Download </#if> 
3291 
3292                                                            </a> 
3293                                                            <div class="download-info-message"> 
3294                                                                <svg width="16" height="16" viewBox="0 0 16 16" 
3295                                                                     fill="none" xmlns="http://www.w3.org/2000/svg"> 
3296                                                                    <path d="M8 6.5V9" stroke="#FFEEB3" 
3297                                                                          stroke-linecap="round" 
3298                                                                          stroke-linejoin="round"/> 
3299                                                                    <path d="M7.1374 2.49998L1.6374 12C1.54978 12.1517 1.50357 12.3239 1.50342 12.4991C1.50326 12.6743 1.54916 12.8465 1.63651 12.9985C1.72386 13.1504 1.8496 13.2767 2.00113 13.3647C2.15266 13.4527 2.32466 13.4994 2.4999 13.5H13.4999C13.6751 13.4994 13.8471 13.4527 13.9987 13.3647C14.1502 13.2767 14.2759 13.1504 14.3633 12.9985C14.4506 12.8465 14.4965 12.6743 14.4964 12.4991C14.4962 12.3239 14.45 12.1517 14.3624 12L8.8624 2.49998C8.77543 2.34802 8.64987 2.22173 8.49841 2.1339C8.34695 2.04607 8.17498 1.99982 7.9999 1.99982C7.82481 1.99982 7.65284 2.04607 7.50138 2.1339C7.34992 2.22173 7.22436 2.34802 7.1374 2.49998V2.49998Z" 
3300                                                                          stroke="#FFEEB3" stroke-linecap="round" 
3301                                                                          stroke-linejoin="round"/> 
3302                                                                    <path d="M8 12C8.41421 12 8.75 11.6642 8.75 11.25C8.75 10.8358 8.41421 10.5 8 10.5C7.58579 10.5 7.25 10.8358 7.25 11.25C7.25 11.6642 7.58579 12 8 12Z" 
3303                                                                          fill="#FFEEB3"/> 
3304                                                                </svg> 
3305                                                                <p class="paragraph-micro-regular">O uso deste material 
3306                                                                    é autorizado apenas para fins editoriais.</p> 
3307                                                            </div> 
3308                                                        </div> 
3309                                                    </div> 
3310 
3311                                                    <div class="social-media-container"> 
3312 
3313                                                        <#assign emailMsg = "Veja o conteúdo do post no link "> 
3314                                                        <#if locale == "en_US"> 
3315                                                            <#assign emailMsg = "See the content of the post in the link "> 
3316                                                        </#if> 
3317 
3318                                                        <a class="news-gallery-share-news-email" href="mailto:?subject=${newsInfo.mainHeadlineOfTheNews}&amp;body=${emailMsg}${themeDisplay.getPortalURL() + largeImgUrl}" 
3319                                                           target="_blank"> 
3320                                                            <svg class="email" width="37" height="36" 
3321                                                                 viewBox="0 0 37 36" fill="none" 
3322                                                                 xmlns="http://www.w3.org/2000/svg"> 
3323                                                                <circle cx="18.5" cy="18" r="17.5" fill="white" 
3324                                                                        stroke="#E1E1E1"/> 
3325                                                                <path d="M24.9231 12H11.0769C10.9239 12 10.7772 12.0579 10.669 12.1611C10.5608 12.2642 10.5 12.4041 10.5 12.55V21.9C10.5 22.1917 10.6216 22.4715 10.838 22.6778C11.0543 22.8841 11.3478 23 11.6538 23H24.3462C24.6522 23 24.9457 22.8841 25.162 22.6778C25.3784 22.4715 25.5 22.1917 25.5 21.9V12.55C25.5 12.4041 25.4392 12.2642 25.331 12.1611C25.2228 12.0579 25.0761 12 24.9231 12ZM24.3462 21.9H11.6538V13.8012L17.6106 19.0056C17.7169 19.0984 17.8559 19.1498 18 19.1498C18.1441 19.1498 18.2831 19.0984 18.3894 19.0056L24.3462 13.8012V21.9Z" 
3326                                                                      fill="#008542"/> 
3327                                                            </svg> 
3328                                                            <span style="display: none">send e-mail</span> 
3329                                                        </a> 
3330 
3331                                                        <a class="news-gallery-share-news-facebook" href="https://www.facebook.com/sharer/sharer.php?u=${themeDisplay.getPortalURL() + largeImgUrl}" 
3332                                                           target="_blank"> 
3333                                                            <svg class="facebook" width="37" height="36" 
3334                                                                 viewBox="0 0 37 36" fill="none" 
3335                                                                 xmlns="http://www.w3.org/2000/svg"> 
3336                                                                <circle cx="18.5" cy="18" r="17.5" fill="white" 
3337                                                                        stroke="#E1E1E1"/> 
3338                                                                <path d="M17.5417 24H20.0341V18.1855H21.9697L22.2879 15.875H20.0341V14.2754C20.0341 13.9199 20.0871 13.6406 20.2462 13.4629C20.4053 13.2598 20.75 13.1582 21.2273 13.1582H22.5V11.1016C22.0227 11.0508 21.3864 11 20.6439 11C19.6894 11 18.947 11.2793 18.3902 11.8125C17.8068 12.3457 17.5417 13.082 17.5417 14.0469V15.875H15.5V18.1855H17.5417V24Z" 
3339                                                                      fill="#008542"/> 
3340                                                            </svg> 
3341                                                        </a> 
3342 
3343 
3344                                                        <a class="news-gallery-share-news-twitter" href="https://twitter.com/intent/tweet?url=${themeDisplay.getPortalURL() + largeImgUrl}" 
3345                                                           target="_blank"> 
3346                                                            <svg class="twitter" width="37" height="36" 
3347                                                                 viewBox="0 0 37 36" fill="none" 
3348                                                                 xmlns="http://www.w3.org/2000/svg"> 
3349                                                                <circle cx="18.5" cy="18" r="17.5" fill="white" 
3350                                                                        stroke="#E1E1E1"/> 
3351                                                                <path d="M23.1771 14.7301C23.6859 14.3325 24.1438 13.8554 24.5 13.2988C24.0421 13.5108 23.5078 13.6699 22.9736 13.7229C23.5333 13.3783 23.9403 12.8482 24.1438 12.1855C23.635 12.5036 23.0499 12.7422 22.4648 12.8747C21.956 12.3181 21.2691 12 20.5059 12C19.0303 12 17.8346 13.2458 17.8346 14.7831C17.8346 14.9952 17.8601 15.2072 17.911 15.4193C15.6977 15.2867 13.7133 14.1735 12.3904 12.5036C12.1614 12.9012 12.0342 13.3783 12.0342 13.9084C12.0342 14.8627 12.4922 15.7108 13.2299 16.2145C12.7975 16.188 12.365 16.0819 12.0088 15.8699V15.8964C12.0088 17.2482 12.9247 18.3614 14.1458 18.6265C13.9423 18.6795 13.6879 18.7325 13.4589 18.7325C13.2808 18.7325 13.1282 18.706 12.9501 18.6795C13.2808 19.7928 14.273 20.588 15.4432 20.6145C14.5274 21.3566 13.3826 21.8072 12.136 21.8072C11.907 21.8072 11.7035 21.7807 11.5 21.7542C12.6703 22.5494 14.0695 23 15.5959 23C20.5059 23 23.1771 18.7855 23.1771 15.1012C23.1771 14.9687 23.1771 14.8627 23.1771 14.7301Z" 
3352                                                                      fill="#008542"/> 
3353                                                            </svg> 
3354                                                        </a> 
3355 
3356                                                        <a class="news-gallery-share-news-whatsapp" href="https://api.whatsapp.com/send?text=${themeDisplay.getPortalURL() + largeImgUrl}" 
3357                                                           data-action="share/whatsapp/share" 
3358                                                           target="_blank"> 
3359                                                            <svg class="whatsapp" width="37" height="36" 
3360                                                                 viewBox="0 0 37 36" fill="none" 
3361                                                                 xmlns="http://www.w3.org/2000/svg"> 
3362                                                                <circle cx="18.5" cy="18" r="17.5" fill="white" 
3363                                                                        stroke="#E1E1E1"/> 
3364                                                                <path d="M12.5482 21.3241C11.6166 19.7525 11.2908 17.8949 11.6318 16.1C11.9729 14.3052 12.9573 12.6965 14.4003 11.5761C15.8434 10.4556 17.6457 9.90042 19.4691 10.0147C21.2925 10.129 23.0114 10.9049 24.3033 12.1967C25.5951 13.4886 26.371 15.2075 26.4853 17.0309C26.5996 18.8543 26.0444 20.6566 24.9239 22.0997C23.8035 23.5427 22.1948 24.5271 20.4 24.8682C18.6051 25.2092 16.7475 24.8834 15.1759 23.9518L12.5795 24.687C12.4731 24.7181 12.3603 24.72 12.2529 24.6925C12.1455 24.6651 12.0475 24.6092 11.9692 24.5308C11.8908 24.4525 11.8349 24.3545 11.8075 24.2471C11.78 24.1397 11.7819 24.0269 11.813 23.9205L12.5482 21.3241Z" 
3365                                                                      fill="#008542"/> 
3366                                                                <path d="M20.6917 21C20.0094 21.0017 19.3335 20.8686 18.7029 20.6083C18.0722 20.348 17.4992 19.9656 17.0168 19.4832C16.5344 19.0008 16.152 18.4278 15.8917 17.7971C15.6314 17.1665 15.4983 16.4906 15.5 15.8083C15.5017 15.3281 15.6937 14.8682 16.0338 14.5293C16.374 14.1903 16.8346 14 17.3148 14C17.394 13.9994 17.472 14.0201 17.5404 14.06C17.6089 14.1 17.6653 14.1576 17.7037 14.2269L18.462 15.5491C18.5071 15.6295 18.5303 15.7203 18.5291 15.8124C18.528 15.9046 18.5026 15.9948 18.4556 16.0741L17.8463 17.0917C18.1584 17.7859 18.7141 18.3416 19.4083 18.6537L20.4259 18.0444C20.5052 17.9974 20.5954 17.972 20.6876 17.9709C20.7797 17.9697 20.8705 17.9929 20.9509 18.038L22.2731 18.7963C22.3424 18.8347 22.4 18.8911 22.44 18.9596C22.4799 19.028 22.5006 19.106 22.5 19.1852C22.4983 19.6649 22.3074 20.1245 21.9689 20.4643C21.6303 20.8041 21.1713 20.9966 20.6917 21Z" 
3367                                                                      fill="white"/> 
3368                                                            </svg> 
3369                                                            <span style="display: none">Share to WhatsApp </span> 
3370                                                        </a> 
3371 
3372                                                    </div> 
3373                                                </div> 
3374 
3375                                            </div> 
3376                                        </div> 
3377                                    </div> 
3378                                </div> 
3379                            </div> 
3380                        </div> 
3381 
3382                        <script> 
3383                            AUI().ready(function () { 
3384                                const fragmentElement = document.querySelector(".${rancomCssClass}"); 
3385                                const getImageClick = fragmentElement.querySelector('.click-image'); 
3386                                const imageContainer = fragmentElement.querySelector('.modal-image-container'); 
3387                                const imagePlayerContainer = fragmentElement.querySelector('.image-player-container'); 
3388 
3389                                const image = imagePlayerContainer.querySelector('img'); 
3390                                const closeImage = imagePlayerContainer.querySelector('.close-image'); 
3391                                const body = document.querySelector('body'); 
3392                                const thumbnailImage = imagePlayerContainer.querySelector(".thumbnail"); 
3393                                const largeImage = imagePlayerContainer.querySelector(".large"); 
3394 
3395                                const stopImage = () => { 
3396                                    fragmentElement.classList.toggle('active'); 
3397                                    getImageClick.classList.toggle('image-playing'); 
3398                                    imagePlayerContainer.classList.toggle('image-playing'); 
3399                                    imageContainer.classList.toggle('image-playing'); 
3400                                    thumbnailImage.classList.toggle('hide'); 
3401                                    largeImage.style = "display: none"; 
3402                                    closeImage.classList.toggle('image-active'); 
3403                                    body.style.overflow = 'initial'; 
3404
3405 
3406                                const playImage = () => { 
3407                                    fragmentElement.classList.toggle('active'); 
3408                                    getImageClick.classList.toggle('image-playing'); 
3409                                    imagePlayerContainer.classList.toggle('image-playing'); 
3410                                    imageContainer.classList.toggle('image-playing'); 
3411                                    closeImage.classList.toggle('image-active') 
3412                                    thumbnailImage.classList.toggle('hide'); 
3413                                    largeImage.style = "display: flex"; 
3414                                    body.style.overflow = 'hidden'; 
3415
3416 
3417                                getImageClick.addEventListener('click', () => { 
3418                                    if (document.body.classList.contains('has-edit-mode-menu')) { 
3419                                        return; 
3420
3421 
3422                                    if (imagePlayerContainer.classList.contains('image-playing')) { 
3423                                        stopImage(); 
3424                                    } else { 
3425                                        playImage(); 
3426
3427                                }) 
3428 
3429                                closeImage.addEventListener('click', () => { 
3430                                    if (imagePlayerContainer.classList.contains('image-playing')) { 
3431                                        stopImage(); 
3432
3433                                }) 
3434                            }); 
3435                        </script> 
3436 
3437                        <#assign itensNum = itensNum + 1 /> 
3438 
3439                    </#list> 
3440 
3441                </div> 
3442 
3443                <script> 
3444                    AUI().ready(function () { 
3445                        const imageContainer = document.querySelectorAll('.image-container .modal-image-container'); 
3446                        const closeImage = document.querySelectorAll('.image-container .modal-image-container .close-image'); 
3447                        const clickContainer = document.querySelectorAll('.image-container .modal-image-container .click-image'); 
3448                        let curItem = 0; 
3449 
3450 
3451                        if (imageContainer.length > 0) { 
3452                            const allArrowsLeft = document.querySelectorAll('.fragment_88494 .modal-image-container .image-player-container .carousel-info .left-arrow'); 
3453                            const allArrowsRight = document.querySelectorAll('.fragment_88494 .modal-image-container .image-player-container .carousel-info .right-arrow'); 
3454 
3455 
3456                            allArrowsLeft.forEach((item, index) => { 
3457                                item.addEventListener('click', () => { 
3458                                    if (index - 1 >= 0) { 
3459                                        curItem = index - 1 
3460                                        closeImage[index].click(); 
3461                                        clickContainer[curItem].click(); 
3462
3463 
3464                                }) 
3465                            }); 
3466 
3467                            allArrowsRight.forEach((item, index) => { 
3468                                item.addEventListener('click', () => { 
3469                                    if (index + 1 <= (imageContainer.length - 1)) { 
3470                                        curItem = index + 1 
3471                                        closeImage[index].click(); 
3472                                        clickContainer[curItem].click(); 
3473
3474 
3475                                }) 
3476 
3477 
3478                            }); 
3479 
3480 
3481
3482                    }); 
3483                </script> 
3484 
3485            </div> 
3486        </div> 
3487    </div> 
3488 
3489    <style> 
3490        .ptb-news__read-news .gallery * { 
3491            margin: 0; 
3492            padding: 0; 
3493
3494 
3495        .ptb-news__read-news .gallery { 
3496            display: flex; 
3497            gap: var(--space-xl, 40px); 
3498            flex-direction: column; 
3499
3500 
3501        .ptb-news__read-news .gallery .title-container { 
3502            display: flex; 
3503            align-items: center; 
3504            gap: var(--space-sm, 16px); 
3505
3506 
3507        .ptb-news__read-news .gallery .title-container svg { 
3508            width: 24px; 
3509            height: 21px; 
3510
3511 
3512        .ptb-news__read-news .gallery .title-container .title { 
3513            color: var(--color-neutral-800, #373737); 
3514            font-family: var(--font-family-base); 
3515            font-size: var(--font-size-lg); 
3516            font-style: var(--font-style-normal); 
3517            font-weight: var(--font-weight-bold); 
3518            line-height: var(--line-height-md); /* 31.68px */ 
3519
3520 
3521        .ptb-news__read-news .gallery .image-container { 
3522            display: flex; 
3523            gap: var(--space-sm, 16px); 
3524            flex-wrap: wrap; 
3525
3526 
3527        .ptb-news__read-news .gallery .image-container .fragment_88494 { 
3528            width: 274px; 
3529            height: 152px; 
3530            border-radius: var(--border-radius-md, 8px); 
3531
3532 
3533        .ptb-news__read-news .gallery .large-image-download { 
3534            display: none; 
3535
3536 
3537        .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container { 
3538            display: flex; 
3539            justify-content: space-between; 
3540            gap: 12px; 
3541
3542 
3543 
3544        .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container .social-media-container { 
3545            display: flex; 
3546            gap: 8px; 
3547
3548 
3549        /* Gallery */ 
3550 
3551        .fragment_88494 { 
3552            width: inherit; 
3553            height: inherit; 
3554            max-height: calc(100vw / 2); 
3555            padding: 0; 
3556            margin: 0; 
3557            overflow: hidden; 
3558
3559 
3560        .fragment_88494 * { 
3561            box-sizing: border-box; 
3562            margin: 0; 
3563            padding: 0; 
3564
3565 
3566        .fragment_88494 .modal-image-container { 
3567            width: 100%; 
3568            height: inherit; 
3569            display: flex; 
3570            justify-content: center; 
3571            position: relative; 
3572            cursor: initial; 
3573
3574 
3575        .fragment_88494 .modal-image-container .click-image { 
3576            cursor: pointer; 
3577
3578 
3579        .fragment_88494 .modal-image-container.image-playing { 
3580            position: fixed; 
3581            top: 0; 
3582            left: 0; 
3583            width: 100vw !important; 
3584            height: 100vh !important; 
3585            z-index: 9999 !important; 
3586            background-color: rgba(0, 0, 0, 0.75); 
3587            max-height: 100vh; 
3588
3589 
3590        .page-editor .fragment_88494 .modal-image-container { 
3591            z-index: 0; 
3592
3593 
3594        .fragment_88494 .modal-image-container .click-image { 
3595            height: 100%; 
3596            width: 100%; 
3597            position: absolute; 
3598            z-index: 3; 
3599
3600 
3601        .fragment_88494 .modal-image-container .image-player-container { 
3602            width: 100%; 
3603            height: 100%; 
3604
3605 
3606 
3607        .fragment_88494 .modal-image-container .image-player-container.image-playing { 
3608            position: relative; 
3609            width: 90vw !important; 
3610            height: 90vh !important; 
3611            z-index: 9999 !important; 
3612            border-radius: var(--border-radius-card); 
3613            margin: auto; 
3614            max-width: 1440px; 
3615
3616 
3617        .fragment_88494 .modal-image-container .image-player-container .close-image { 
3618            display: none; 
3619            position: absolute; 
3620            font-size: var(--font-size-micro); 
3621            color: var(--color-primary-medium); 
3622            width: 20px; 
3623            height: 20px; 
3624            top: -6px; 
3625            right: -10px; 
3626            z-index: 99999; 
3627            background: var(--color-neutral-100); 
3628            text-align: center; 
3629            border-radius: 50%; 
3630            border: 1px solid var(--color-neutral-400); 
3631
3632 
3633        .fragment_88494 .modal-image-container .image-player-container .close-image.image-active { 
3634            display: block; 
3635
3636 
3637        .fragment_88494 .modal-image-container .image-player-container .image-player-session { 
3638            width: 100%; 
3639            height: 100%; 
3640
3641 
3642        .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session { 
3643            width: 90vw !important; 
3644            height: 65vh !important; 
3645            z-index: 9999 !important; 
3646            border-radius: var(--border-radius-card) var(--border-radius-card) 0 0; 
3647            overflow: hidden; 
3648            max-width: 1440px; 
3649
3650 
3651        .fragment_88494 .modal-image-container .image-player-container.image-playing .background-image { 
3652            display: flex; 
3653            width: 100% !important; 
3654            height: 100% !important; 
3655            margin-left: 0 !important; 
3656            max-height: 100vh; 
3657            filter: blur(8px); 
3658            overflow: hidden; 
3659            background-repeat: repeat; 
3660            background-size: 50% 700px; 
3661
3662 
3663        .fragment_88494 .modal-image-container .image-player-container .image-player-session img { 
3664            width: 120%; 
3665            height: 120%; 
3666            margin-left: -12%; 
3667            max-height: calc(100vw / 2); 
3668            object-fit: cover; 
3669
3670 
3671        .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session img { 
3672            width: 100% !important; 
3673            height: 65vh !important; 
3674            margin-left: 0 !important; 
3675            max-height: 100vh; 
3676            object-fit: contain; 
3677            position: absolute; 
3678            top: 0; 
3679            left: 0; 
3680            background: transparent; 
3681
3682 
3683        .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer { 
3684            display: flex; 
3685            flex-direction: row-reverse; 
3686            justify-content: space-between; 
3687            align-items: flex-start; 
3688            background-color: #1E1E1E; 
3689            /*max-height: 35%;*/ 
3690            padding: 8px; 
3691            border-radius: 0 0 var(--border-radius-card) var(--border-radius-card); 
3692            color: var(--color-neutral-100); 
3693            gap: 32px; 
3694            min-height: 128px; 
3695            z-index: 9999 !important; 
3696            position: absolute; 
3697            width: 90vw !important; 
3698            max-width: 1440px; 
3699
3700 
3701        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container { 
3702            display: flex; 
3703            flex-direction: column; 
3704            gap: 8px; 
3705
3706 
3707        .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer .social-media-container { 
3708            position: absolute; 
3709            right: 5px; 
3710            bottom: 20px; 
3711            display: flex; 
3712            gap: 3px; 
3713
3714 
3715        .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer .social-media-container a { 
3716            display: block; 
3717            height: fit-content; 
3718
3719 
3720        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .image-info { 
3721            display: flex; 
3722            gap: 24px; 
3723            color: var(--color-neutral-500); 
3724
3725 
3726 
3727        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info { 
3728            display: flex; 
3729            gap: 16px; 
3730            margin-top: 15px; 
3731
3732 
3733        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info .donwload-button { 
3734            display: flex; 
3735            justify-content: space-around; 
3736            align-items: center; 
3737            background-color: var(--color-primary-medium); 
3738            width: 100px; 
3739            height: 40px; 
3740            padding: 0px 16px 0px 16px; 
3741            border-radius: 100px; 
3742            gap: 8px; 
3743            color: var(--color-neutral-100); 
3744            text-decoration: none; 
3745
3746 
3747        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info .donwload-button svg { 
3748            pointer-events: none; 
3749
3750 
3751        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info svg { 
3752            flex-shrink: 0; 
3753            pointer-events: none; 
3754
3755 
3756        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info-message { 
3757            display: flex; 
3758            align-items: center; 
3759            color: #FFEEB3; 
3760            gap: 8px; 
3761
3762 
3763        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info { 
3764            display: flex; 
3765            justify-content: center; 
3766            gap: 8px; 
3767            padding: 8px; 
3768
3769 
3770        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .left-arrow, 
3771        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .right-arrow { 
3772            cursor: pointer; 
3773
3774 
3775        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .left-arrow svg, 
3776        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .right-arrow svg { 
3777            pointer-events: none; 
3778
3779 
3780        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .title-image { 
3781            display: flex; 
3782            justify-content: center; 
3783            align-items: center; 
3784            height: 32px; 
3785            color: var(--color-neutral-500); 
3786
3787 
3788 
3789        @media (max-width: 1040px) { 
3790 
3791            .fragment_88494 .modal-image-container .image-player-container.image-playing .background-image { 
3792                background-size: 100% 100%; 
3793
3794 
3795
3796 
3797 
3798        @media (max-width: 767px) { 
3799 
3800            .fragment_88494 .modal-image-container .image-player-container.image-playing { 
3801                margin-top: 5%; 
3802
3803 
3804            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session { 
3805                height: 50vh !important; 
3806                min-height: 234px; 
3807
3808 
3809            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session img { 
3810                height: 50vh !important; 
3811                min-height: 234px; 
3812
3813 
3814            .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info { 
3815                align-items: center; 
3816                justify-content: flex-start; 
3817                margin-top: 12px; 
3818                width: 100%; 
3819
3820 
3821            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer { 
3822                /*height: 40%;*/ 
3823                min-height: 280px; 
3824                flex-direction: column; 
3825                justify-content: flex-start; 
3826                align-items: center; 
3827                width: 100%; 
3828                flex-wrap: nowrap; 
3829
3830 
3831 
3832            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .image-info { 
3833                flex-direction: column; 
3834                gap: 8px; 
3835
3836 
3837            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info { 
3838                flex-direction: column; 
3839                justify-content: center; 
3840                align-items: center; 
3841                margin-top: 5px; 
3842
3843 
3844            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info .donwload-button { 
3845                justify-content: center; 
3846                width: 100%; 
3847
3848 
3849            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container { 
3850                flex-direction: column; 
3851
3852 
3853            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer .social-media-container { 
3854                top: 25px; 
3855
3856 
3857
3858 
3859 
3860        @media (max-width: 540px) { 
3861 
3862            .fragment_88494 .modal-image-container .image-player-container.image-playing { 
3863                height: 40vh !important; 
3864                margin-top: 15%; 
3865
3866 
3867            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session { 
3868                height: 40vh !important; 
3869                min-height: 234px; 
3870
3871 
3872            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session img { 
3873                height: 40vh !important; 
3874                min-height: 234px; 
3875
3876 
3877            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container { 
3878                gap: 6px; 
3879
3880 
3881            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer { 
3882                gap: 18px; 
3883
3884 
3885            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info { 
3886                margin-top: 2px; 
3887
3888 
3889
3890 
3891        @media (max-height: 500px) { 
3892            .fragment_88494 .modal-image-container .image-player-container.image-playing { 
3893                display: flex; 
3894
3895 
3896            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session { 
3897                height: 60vh !important; 
3898                width: 50vw !important; 
3899                border-radius: var(--border-radius-card) 0 0 0; 
3900
3901 
3902            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session img { 
3903                height: 60vh !important; 
3904                width: 40vw !important; 
3905
3906 
3907            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer { 
3908                height: 75vh !important; 
3909                width: 50vw !important; 
3910                top: 0; 
3911                right: 0; 
3912                min-height: 85vh; 
3913                border-radius: 0 var(--border-radius-card) var(--border-radius-card) 0; 
3914                align-items: center; 
3915
3916 
3917            .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info { 
3918                position: absolute; 
3919                display: flex; 
3920                align-items: center; 
3921                bottom: 0; 
3922                left: -40vw; 
3923                width: 40vw !important; 
3924                background-color: #1E1E1E; 
3925                height: 120px !important; 
3926                border-radius: 0 0 0 var(--border-radius-card); 
3927
3928 
3929 
3930            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container { 
3931                flex-direction: column; 
3932
3933 
3934 
3935            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info .donwload-button { 
3936                width: 100%; 
3937                justify-content: center; 
3938
3939 
3940            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container { 
3941                gap: 16px; 
3942                height: 60vh; 
3943
3944 
3945            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer .social-media-container { 
3946                top: initial; 
3947
3948 
3949        /* *** */ 
3950 
3951 
3952    </style> 
3953 
3954</#macro> 
3955 
3956 
3957<#-- ################################################################################################################## --> 
3958 
3959 
3960<#-- ############# Site de Crise - Notícia - Render seção download #################################################### --> 
3961 
3962<#macro renderDownloadSection newsInfo> 
3963    <div class="breakpoint"> 
3964        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
3965            <div class="download-section"> 
3966                <div class="title-container"> 
3967                    <svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3968                        <path d="M10.75 13.75L16 19M16 19L21.25 13.75M16 19V5M27 19V26C27 26.2652 26.8946 26.5196 26.7071 26.7071C26.5196 26.8946 26.2652 27 26 27H6C5.73478 27 5.48043 26.8946 5.29289 26.7071C5.10536 26.5196 5 26.2652 5 26V19" 
3969                              stroke="#373737" stroke-width="2.28571" stroke-linecap="round" stroke-linejoin="round"/> 
3970                    </svg> 
3971                    <p class="title">Downloads </p> 
3972                </div> 
3973 
3974                <div class="sections"> 
3975                    <div class="section text-section"> 
3976                        <p class="title"> <#if locale == "pt_BR"> Texto desta matéria <#else > Text of this article </#if> </p> 
3977                        <a class="button download-news-text" href=""> 
3978                            <#if locale == "pt_BR"> Download do texto <#else > Text download </#if> 
3979                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
3980                                 xmlns="http://www.w3.org/2000/svg"> 
3981                                <path d="M8.0625 10.3125L12 14.25M12 14.25L15.9375 10.3125M12 14.25V3.75M20.25 14.25V19.5C20.25 19.6989 20.171 19.8897 20.0303 20.0303C19.8897 20.171 19.6989 20.25 19.5 20.25H4.5C4.30109 20.25 4.11032 20.171 3.96967 20.0303C3.82902 19.8897 3.75 19.6989 3.75 19.5V14.25" 
3982                                      stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
3983                            </svg> 
3984                        </a> 
3985                    </div> 
3986 
3987                    <div class="separator"></div> 
3988 
3989                    <div class="section photo-section"> 
3990                        <p class="title"> <#if locale == "pt_BR"> Fotos desta matéria <#else > Photos from this article </#if> </p> 
3991 
3992 
3993                        <div class="links"> 
3994                            <#list newsInfo.galleryItems as gItem> 
3995                                <#assign url = ""/> 
3996                                <#assign alt = ""/> 
3997                                <#if gItem.originalFile["contentUrl"]?? > 
3998                                    <#assign url = gItem.originalFile.contentUrl/> 
3999                                    <#assign alt = gItem.originalFile.description/> 
4000                                </#if> 
4001 
4002                            <#-- <a class="button" href="${url}"> 
4003                                ${gItem.cardTitle} 
4004                                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
4005                                     xmlns="http://www.w3.org/2000/svg"> 
4006                                    <path d="M8.0625 10.3125L12 14.25M12 14.25L15.9375 10.3125M12 14.25V3.75M20.25 14.25V19.5C20.25 19.6989 20.171 19.8897 20.0303 20.0303C19.8897 20.171 19.6989 20.25 19.5 20.25H4.5C4.30109 20.25 4.11032 20.171 3.96967 20.0303C3.82902 19.8897 3.75 19.6989 3.75 19.5V14.25" 
4007                                          stroke="#008542" stroke-width="2" stroke-linecap="round" 
4008                                          stroke-linejoin="round"/> 
4009                                </svg> 
4010                            </a> --> 
4011                            </#list> 
4012 
4013                        </div> 
4014 
4015                        <a class="button download-news-photos" href=""> 
4016                            <#if locale == "pt_BR"> Download das fotos <#else > Download photos </#if> 
4017                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
4018                                 xmlns="http://www.w3.org/2000/svg"> 
4019                                <path d="M8.0625 10.3125L12 14.25M12 14.25L15.9375 10.3125M12 14.25V3.75M20.25 14.25V19.5C20.25 19.6989 20.171 19.8897 20.0303 20.0303C19.8897 20.171 19.6989 20.25 19.5 20.25H4.5C4.30109 20.25 4.11032 20.171 3.96967 20.0303C3.82902 19.8897 3.75 19.6989 3.75 19.5V14.25" 
4020                                      stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
4021                            </svg> 
4022                        </a> 
4023                    </div> 
4024 
4025                    <div class="separator"></div> 
4026 
4027                    <div class="section video-section"> 
4028                        <p class="title"> <#if locale == "pt_BR"> Vídeos desta matéria <#else > Videos from this article </#if> </p> 
4029                        <div class="videos-container"></div> 
4030                        <#-- <a class="button" href=""> 
4031                            <#if locale == "pt_BR"> Download dos vídeos <#else > Download videos </#if> 
4032                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
4033                                 xmlns="http://www.w3.org/2000/svg"> 
4034                                <path d="M8.0625 10.3125L12 14.25M12 14.25L15.9375 10.3125M12 14.25V3.75M20.25 14.25V19.5C20.25 19.6989 20.171 19.8897 20.0303 20.0303C19.8897 20.171 19.6989 20.25 19.5 20.25H4.5C4.30109 20.25 4.11032 20.171 3.96967 20.0303C3.82902 19.8897 3.75 19.6989 3.75 19.5V14.25" 
4035                                      stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
4036                            </svg> 
4037                        </a> --> 
4038                    </div> 
4039                </div> 
4040            </div> 
4041        </div> 
4042    </div> 
4043 
4044    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></> 
4045 
4046        <script> 
4047            AUI().ready(function () { 
4048 
4049            const externalArrow = '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M27 12.5V5H19.5"  stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 14L27 5"  stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M23 18V26C23 26.2652 22.8946 26.5196 22.7071 26.7071C22.5196 26.8946 22.2652 27 22 27H6C5.73478 27 5.48043 26.8946 5.29289 26.7071C5.10536 26.5196 5 26.2652 5 26V10C5 9.73478 5.10536 9.48043 5.29289 9.29289C5.48043 9.10536 5.73478 9 6 9H14"  stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'; 
4050            const downloadArrow = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none"  xmlns="http://www.w3.org/2000/svg"> <path d="M8.0625 10.3125L12 14.25M12 14.25L15.9375 10.3125M12 14.25V3.75M20.25 14.25V19.5C20.25 19.6989 20.171 19.8897 20.0303 20.0303C19.8897 20.171 19.6989 20.25 19.5 20.25H4.5C4.30109 20.25 4.11032 20.171 3.96967 20.0303C3.82902 19.8897 3.75 19.6989 3.75 19.5V14.25" stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg>'; 
4051 
4052            const newsContent = document.querySelector(".ptb-news__read-news"); 
4053            const downloadSection = newsContent.querySelector(".download-section"); 
4054            const videosContainer = downloadSection.querySelector(".videos-container"); 
4055 
4056            const youtubeVideoDivList = newsContent.querySelectorAll('div[data-embed-id]'); 
4057 
4058            youtubeVideoDivList.forEach((videoDiv, index) => { 
4059            const aElement = document.createElement("a"); 
4060 
4061            if (!videoDiv.getAttribute("data-embed-id").includes("youtube")) { 
4062            return; 
4063
4064 
4065            const id = videoDiv.getAttribute("data-embed-id").split("/").pop().split("?")[0]; 
4066 
4067            const linkStr = "https://www.youtube.com/watch?v=" + id; 
4068            aElement.href = linkStr; 
4069 
4070            <#assign text = ""/> 
4071            <#if locale == "pt_BR"> 
4072            <#assign text = "'Ver vídeo ' + (index +1) + ' no Youtube'"/> 
4073            <#else > 
4074            <#assign text = "'Watch video ' + (index +1) + ' on Youtube'"/> 
4075            </#if> 
4076            aElement.innerHTML = ${text} + externalArrow; 
4077            aElement.setAttribute("target", "_blank"); 
4078            aElement.classList.add("button"); 
4079            videosContainer.appendChild(aElement); 
4080        }); 
4081 
4082            const videoDivList = newsContent.querySelectorAll('iframe[data-video-liferay]'); 
4083 
4084            videoDivList.forEach((videoDiv, index) => { 
4085            const aElement = document.createElement("a"); 
4086            aElement.href = videoDiv.src; 
4087            aElement.innerHTML = "Download " + (index + 1) + downloadArrow; 
4088            aElement.setAttribute("target", "_blank"); 
4089            aElement.classList.add("button"); 
4090            videosContainer.appendChild(aElement); 
4091        }); 
4092 
4093            if (videosContainer.children.length === 0) { 
4094            videosContainer.parentNode.style.display = "none"; 
4095            videosContainer.parentNode.previousElementSibling.style.display = "none"; 
4096
4097 
4098            const photoSection = downloadSection.querySelector(".photo-section"); 
4099            const photoDownloadButton = photoSection.querySelector(".button"); 
4100            photoDownloadButton.addEventListener("click", (event) => { 
4101            event.preventDefault(); 
4102            let imageUrls = [] 
4103            let imageTitles = [] 
4104            <#list newsInfo.galleryItems as galleryItem> 
4105            <#assign url = ""/> 
4106            <#if galleryItem.originalFile["contentUrl"]?? > 
4107            <#assign url = galleryItem.originalFile["contentUrl"]/> 
4108            </#if> 
4109            imageUrls.push("${url}"); 
4110            imageTitles.push('${galleryItem.cardTitle}'.replace(/([^\w ]|_)/g, '').replaceAll(' ', '_')); 
4111            </#list> 
4112 
4113 
4114            // Instale a biblioteca jszip usando npm: 
4115            <#-- npm install jszip --> 
4116 
4117            <#-- Importe a biblioteca jszip --> 
4118            //import JSZip from 'jszip'; 
4119 
4120 
4121// Função para baixar uma imagem e adicionar ao arquivo ZIP 
4122            const downloadImage = async (zip, imageUrl, imageName) => { 
4123            const response = await fetch(imageUrl); 
4124            const arrayBuffer = await response.arrayBuffer(); 
4125            zip.file(imageName, arrayBuffer); 
4126        }; 
4127 
4128// Função principal assíncrona 
4129            const main = async () => { 
4130            // Crie uma instância do JSZip 
4131            const zip = new JSZip(); 
4132 
4133            // Baixe cada imagem e adicione ao arquivo ZIP 
4134            await Promise.all(imageUrls.map((url, index) => downloadImage(zip, url, imageTitles[index] + "_" + (index + 1) + '.jpg'))); 
4135 
4136            // Gere o conteúdo do arquivo ZIP 
4137            const zipContent = await zip.generateAsync({type: 'blob'}); 
4138 
4139            // Crie um link para o arquivo ZIP e inicie o download 
4140            const link = document.createElement('a'); 
4141            link.href = URL.createObjectURL(zipContent); 
4142            link.download = 'imagens.zip'; 
4143            document.body.appendChild(link); 
4144            link.click(); 
4145            document.body.removeChild(link); 
4146        }; 
4147 
4148// Chame a função principal 
4149            main(); 
4150 
4151        }); 
4152 
4153            <#if newsInfo.galleryItems?size == 0> 
4154            photoSection.style.display = "none"; 
4155            photoSection.previousElementSibling.style.display = "none"; 
4156            </#if> 
4157 
4158            const textSection = downloadSection.querySelector(".text-section"); 
4159            const textDownloadButton = textSection.querySelector(".button"); 
4160            textDownloadButton.addEventListener("click", () => { 
4161 
4162            const link = document.createElement("a"); 
4163 
4164            const titleText = document.querySelector(".main-headline-container .main-headline").innerHTML; 
4165            const publishSocialMediaText = document.querySelector(".publish_and_social_medias_infos_desk .publish_and_update_date").innerHTML; 
4166            const tagsText = document.querySelector(".tags").innerHTML; 
4167            const newsContentText = document.querySelector(".news-content").innerHTML; 
4168            const text = titleText + publishSocialMediaText + tagsText + newsContentText; 
4169 
4170            const strWithoutHtmlTags = text.replace(/(<([^>]+)>)/gi, ""); 
4171            const strWithoutMarcationBrackets = strWithoutHtmlTags.replace(/ *#\[[^\]]*]/g, ""); 
4172            const strWithoutNextPrevious = strWithoutMarcationBrackets.replace(/Previous    Next/g, ""); 
4173            const strWithoutBlankEnters = strWithoutNextPrevious.replace(/^\s*$(?:\r\n?|\n)/gm, ""); 
4174            const tempInput = document.createElement("textarea"); 
4175            tempInput.value = strWithoutBlankEnters; 
4176 
4177            document.body.appendChild(tempInput); 
4178            tempInput.select(); 
4179            document.execCommand("copy"); 
4180 
4181            if (tempInput.value.length > 0) { 
4182 
4183            const file = new Blob([tempInput.value], {type: 'text/plain'}); 
4184            link.href = URL.createObjectURL(file); 
4185            link.download = titleText.replace(/([^\w ]|_)/g, '').replaceAll(' ', '_'); 
4186            link.click(); 
4187            URL.revokeObjectURL(link.href); 
4188
4189 
4190            document.body.removeChild(tempInput); 
4191        }); 
4192 
4193 
4194        }); 
4195 
4196    </script> 
4197 
4198    <style> 
4199        .ptb-news__read-news .download-section * { 
4200            margin: 0; 
4201            padding: 0; 
4202
4203 
4204        .ptb-news__read-news .download-news-text *, 
4205        .ptb-news__read-news .download-news-photos * { 
4206          pointer-events: none; 
4207
4208         
4209 
4210        .ptb-news__read-news .download-section { 
4211            margin: 0; 
4212            padding: var(--space-giant, 80px) 0; 
4213            display: flex; 
4214            flex-direction: column; 
4215            gap: var(--space-xl, 40px); 
4216
4217 
4218        .ptb-news__read-news .download-section svg { 
4219            width: var(--size-sm, 20px); 
4220            height: var(--size-sm, 20px); 
4221
4222 
4223        .ptb-news__read-news .download-section svg path { 
4224            stroke: var(--color-primary-solid-to-bright-200, var(--color-primary-medium)); 
4225
4226 
4227        .ptb-news__read-news .download-section .title-container { 
4228            display: flex; 
4229            gap: var(--space-sm, 16px); 
4230            flex-direction: row; 
4231
4232 
4233        .ptb-news__read-news .download-section .title-container svg { 
4234            width: var(--size-lg, 32px); 
4235            height: var(--size-lg, 32px); 
4236
4237 
4238        .ptb-news__read-news .download-section .title-container svg path { 
4239            stroke: var(--color-neutral-800); 
4240
4241 
4242        .ptb-news__read-news .download-section .title-container .title { 
4243            color: var(--color-neutral-800, #373737); 
4244            font-family: var(--font-family-base); 
4245            font-size: var(--font-size-lg); 
4246            font-style: var(--font-style-normal); 
4247            font-weight: var(--font-weight-bold); 
4248            line-height: var(--line-height-md); /* 31.68px */ 
4249
4250 
4251        .ptb-news__read-news .download-section .sections { 
4252            display: flex; 
4253            flex-direction: column; 
4254            padding: var(--space-lg, 32px); 
4255            gap: var(--space-md, 24px); 
4256            border-radius: var(--border-radius-lg, 16px); 
4257            background: var(--color-neutral-300, #F8F8F8); 
4258
4259 
4260        .ptb-news__read-news .download-section .sections .separator { 
4261            background: #D7D7D7; 
4262            height: var(--size-nano, 2px); 
4263            width: 100%; 
4264
4265 
4266        .ptb-news__read-news .download-section .sections .section { 
4267            display: flex; 
4268            justify-content: space-between; 
4269            gap: var(--space-sm, 16px); 
4270            align-items: center; 
4271            height: var(--size-xxl, 48px); 
4272
4273 
4274        .ptb-news__read-news .download-section .sections .section .title { 
4275            color: var(--color-neutral-dark-to-bright-1000, #010101); 
4276 
4277            font-family: var(--font-family-base); 
4278            font-size: var(--font-size-xs); 
4279            font-style: var(--font-style-normal); 
4280            font-weight: var(--font-weight-bold); 
4281            line-height: var(--line-height-md); 
4282
4283 
4284        .ptb-news__read-news .download-section .section.video-section { 
4285            display: flex; 
4286            flex-direction: column; 
4287            height: fit-content; 
4288            align-items: flex-start; 
4289
4290 
4291        .ptb-news__read-news .download-section .section.video-section svg path { 
4292            stroke: var(--color-primary-medium, #008542); 
4293
4294 
4295        .ptb-news__read-news .download-section .section.video-section .videos-container { 
4296            display: flex; 
4297            flex-direction: column; 
4298            gap: var(--space-sm, 16px); 
4299
4300 
4301        .ptb-news__read-news .download-section .sections .section .button { 
4302            display: flex; 
4303            gap: var(--space-xxs, 8px); 
4304            color: var(--color-primary-solid-to-bright-200, var(--color-primary-medium)); 
4305            font-family: var(--font-family-base); 
4306            font-size: var(--font-size-xxs, 16px); 
4307            font-style: var(--font-style-normal, normal); 
4308            font-weight: var(--font-weight-bold, 700); 
4309            line-height: var(--line-height-lg, 144%); /* 23.04px */ 
4310            text-decoration-line: var(--text-decoration-underline, underline); 
4311
4312 
4313        .ptb-news__read-news .download-section .sections .photo-section .links { 
4314            display: flex; 
4315            flex-direction: column; 
4316            gap: var(--space-sm, 16px); 
4317
4318 
4319 
4320        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
4321
4322 
4323    </style> 
4324</#macro> 
4325<#-- ################################################################################################################## --> 
4326 
4327 
4328<#function getFirstCategoryObjectOfVocabulary journalArticle vocabulary > 
4329    <#attempt> 
4330        <#assign categories = categoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getClassPK()) /> 
4331        <#list categories as category> 
4332            <#if vocabulary.getVocabularyId() == category.getVocabularyId()> 
4333                <#return category> 
4334            </#if> 
4335        </#list> 
4336        <#return ""> 
4337 
4338        <#recover> 
4339            <#return "" /> 
4340    </#attempt> 
4341</#function> 
4342 
4343 
4344<#-- ############# Site de Crise - Notícia - Extrair dados de Notícias ################################################ --> 
4345<#-- 
4346Add elements from the sidebar to define your template. Type "${" to use the 
4347autocomplete feature. 
4348--> 
4349<#function extractFeaturedNewsHeadline fieldList xmlArticle> 
4350    <#return getFieldValue(fieldList, xmlArticle, "Título de destaque da notícia")> 
4351</#function> 
4352 
4353<#function extractNewsSummary fieldList xmlArticle> 
4354    <#return getFieldValue(fieldList, xmlArticle, "Subtítulo")> 
4355</#function> 
4356 
4357<#function extractPublishDate journalArticle> 
4358<#--assign lastPublishDate = journalArticle.getModifiedDate()> 
4359<#if journalArticle.getLastPublishDate()??> 
4360    <#assign lastPublishDate = journalArticle.getLastPublishDate()> 
4361<#else> 
4362    <#assign lastPublishDate = journalArticle.getModifiedDate()> 
4363</#if> 
4364<#return lastPublishDate --> 
4365    <#return journalArticle.getDisplayDate() /> 
4366</#function> 
4367 
4368 
4369<#function getFlagColor flag> 
4370    <#attempt > 
4371        <#list getFlagsCategoriesAndProperties() as catProps> 
4372            <#if catProps.name == flag> 
4373                <#return catProps.color> 
4374            </#if> 
4375        </#list> 
4376        <#recover > 
4377    </#attempt> 
4378    <#return ""> 
4379</#function> 
4380 
4381<#-- Seção da imagem de destaque ----------------------------------------------------------------------> 
4382<#function extractNewsImage fieldList xmlArticle  fileEntryService> 
4383    <#assign 
4384    <#-- Grupo da imagem de destaque --> 
4385    newsImageGroupList = getNodes("Fieldset71035101", newsJournalArticle.getDocument().getRootElement()) 
4386    <#-- Url e descrição da imagem de destaque --> 
4387    newsImage = {"url": "--", "alt": "--", "mimeType" :"image/jpg", "title": "", "name": "", "fileEntryId": ""} 
4388    <#-- Créditos da imagem de destaque --> 
4389    newsImageCredits = "" 
4390    <#-- Legenda da imagem de destaque --> 
4391    newsImageLegend = "" 
4392    <#-- Texto do link para download --> 
4393    downloadLinkTitle = "" 
4394
4395 
4396    <#list newsImageGroupList as newsImageGroup> 
4397        <#assign newsImage = getFileFromXML("Image05319221", newsImageGroup, fileEntryService) /> 
4398 
4399    <#-- Grupo com as informações de crédito e legenda da imagem de destaque --> 
4400        <#assign labelGroupList = getNodes("Fieldset43702900", newsImageGroup) /> 
4401        <#list labelGroupList as labelGroup> 
4402        <#-- Investigar do porquê não está funcionando o getFieldValue 
4403        <#assign 
4404                    newsImageCredits = getFieldValue(fieldList, labelGroup, "Crédito da imagem de destaque da notícia") 
4405                    newsImageLegend = getFieldValue(fieldList, labelGroup, "Legenda da imagem de destaque da notícia") 
4406                    downloadLinkTitle = getFieldValue(fieldList, labelGroup, "Texto do link para download") 
4407                    /> 
4408        --> 
4409            <#assign 
4410            newsImageCredits = getSingleNodeString("Text47590088", labelGroup) 
4411            newsImageLegend = getSingleNodeString("Text03239077", labelGroup) 
4412            downloadLinkTitle = getSingleNodeString("Text48804898", labelGroup) /> 
4413        </#list> 
4414    </#list> 
4415 
4416    <#return {"newsImage": newsImage, 
4417    "credits": newsImageCredits, 
4418    "legend": newsImageLegend, 
4419    "linkTitle" : downloadLinkTitle 
4420    }/> 
4421</#function> 
4422 
4423<#function featureNewsVideo xmlArticle fileEntryService> 
4424<#-- Seção do video de destaque -----------------------------------------------------------------------> 
4425    <#assign 
4426    youtubeId = "" 
4427    internalVideoUrl = "" 
4428    featureNewsVideoGroup = getNodes("Fieldset09746751", xmlArticle) 
4429
4430    <#list featureNewsVideoGroup as newsImageFieldSet> 
4431        <#assign 
4432        youtubeId = getFieldValue(fieldList,featureNewsVideoGroup, "ID do vídeo do YouTube do vídeo de destaque") 
4433        internalVideoUrl = getFileFromXML("DocumentLibrary80545771", featureNewsVideoGroup, fileEntryService) 
4434
4435    </#list> 
4436 
4437    <#return {"youtube": youtubeId, "internalVideoUrl" : internalVideoUrl}> 
4438</#function> 
4439 
4440<#-- ################################################################################################################## --> 




Canais

Idioma

Acessibilidade

Escolha um canal:

Faça uma busca:

Buscar

Sugestões de busca

Link do botão
Ícone do botão Exibir mais resultados
Ícone de carregamento

Mais pesquisados

Preço dos combustíveis

Pré-Sal

Time Petrobras

Acessibilidade

Alto-Contraste

Desligado

Ligado

Texto Grande

Desligado

Ligado

Idioma:

Selecione um idioma: