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 1399, 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 1399, 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 
312                <#-- Url amigável da notícia para visualização em DisplayPage -----------------------------------------> 
313                <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + newsJournalArticle.getUrlTitle()> 
314                <#assign newsJournalArticleFriendlyUrl = "/"> 
315                <#if themeDisplay.getPortalURL()?contains("webserver")> 
316                    <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + newsJournalArticle.getUrlTitle()> 
317                <#else> 
318                    <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + "/w/" + newsJournalArticle.getUrlTitle()> 
319                </#if> 
320 
321                <#-- Conteúdo da notícia ------------------------------------------------------------------------------> 
322                <#assign newsContent = getFieldValue(fieldList, xmlArticle, "Corpo da notícia")> 
323 
324                <#-- Seção do áudio para o conteúdo da notícia --------------------------------------------------------> 
325                <#assign audios = [] 
326                audioIdentifierFieldSetList = getNodes("Fieldset65862311", xmlArticle) 
327
328                <#list audioIdentifierFieldSetList as audioIdentifierFieldSet> 
329                    <#assign 
330                    <#-- Grupo com as informações de url e legenda do áudio --> 
331                    audioInfoFieldSet = getGroupNode("Fieldset24035689",audioIdentifierFieldSet)> 
332                    <#assign 
333                    externalAudioUrl = getFieldValue(fieldList, audioInfoFieldSet, "URL externa do áudio") 
334                    internalAudioUrl = getFileFromXML("DocumentLibrary24170668", audioInfoFieldSet, fileEntryService) 
335                    audioLegend = getFieldValue(fieldList, audioInfoFieldSet, "Legenda do áudio")> 
336 
337                    <#if externalAudioUrl?has_content || internalAudioUrl.url?has_content > 
338                        <#assign audios += [{ 
339                        "id": getFieldValue(fieldList, audioIdentifierFieldSet, "Identificador de Áudio"), 
340                        "externalUrl" : externalAudioUrl, 
341                        "internalUrl" : internalAudioUrl, 
342                        "legend" : audioLegend 
343                        }]> 
344                    </#if> 
345                </#list> 
346 
347 
348                <#-- Seção de vídeo para o conteúdo da notícia --------------------------------------------------------> 
349                <#assign videos = [] 
350                videoIdentifierFieldSetList = getNodes("Fieldset24460782", xmlArticle) 
351
352                <#list videoIdentifierFieldSetList as videoIdentifierFieldSet> 
353                    <#assign 
354                    <#-- Grupo com as informações de url e legenda do áudio --> 
355                    videoInfoFieldSet = getGroupNode("Fieldset51040010",videoIdentifierFieldSet) 
356 
357                    videos += [{ 
358                    "id": getFieldValue(fieldList,videoIdentifierFieldSet, "Identificador de Vídeo"), 
359                    "youtubeID" : getFieldValue(fieldList, videoInfoFieldSet, "ID do vídeo do YouTube"), 
360                    "internalUrl" : getFileFromXML("DocumentLibrary15265409", videoInfoFieldSet, fileEntryService), 
361                    "legend" : getFieldValue(fieldList, videoInfoFieldSet, "Legenda do vídeo") 
362                    }] 
363
364                </#list> 
365 
366 
367                <#-- Seção de links para o conteúdo da notícia --------------------------------------------------------> 
368                <#assign 
369                links = [] 
370                linksFieldSetList = getNodes("Fieldset37770113", xmlArticle) 
371
372                <#list linksFieldSetList as linksFieldSet> 
373                    <#assign linkFieldSetList = getNodes("Fieldset10524367", linksFieldSet)> 
374 
375                    <#list linkFieldSetList as linkFieldSet> 
376                        <#assign 
377                        linkId = getFieldValue(fieldList, linkFieldSet, "Identificador do link") 
378 
379                        <#-- Grupo com as informações de url e legenda do áudio --> 
380                        linkInfoFieldSeet = getGroupNode("Fieldset86037074", linkFieldSet) 
381 
382                        iconType = getFieldValue(fieldList, linkInfoFieldSeet, "Ícone do link") 
383                        links += [{ 
384                        "id": linkId, 
385                        "externalLink" : getFieldValue(fieldList, linkInfoFieldSeet, "Link externo"), 
386                        "pageLink" : getPageLayoutLinkFromXML("LinkToLayout77941175", linkInfoFieldSeet, layoutLocalService), 
387                        "file" : getFileFromXML("DocumentLibrary34820760", linkInfoFieldSeet, fileEntryService), 
388                        "title" : getFieldValue(fieldList, linkInfoFieldSeet, "Título do link"), 
389                        "iconType" : iconType 
390                        }] 
391
392                    </#list> 
393                </#list> 
394 
395 
396                <#assign mediaGroupList = getNodes(getIdFromFieldName(fieldList, "Galeria de multimídia"), xmlArticle) /> 
397                <#assign galleryItems = []/> 
398 
399 
400                <#list mediaGroupList as mediaGroup > 
401                    <#assign nodes = getNodes(getIdFromFieldName(fieldList, "Selecione uma imagem") , mediaGroup) /> 
402                    <#list nodes as node> 
403                        <#assign medJson = jsonFactoryUtil.createJSONObject(node.getStringValue()) /> 
404                        <#if medJson?has_content && medJson["fileEntryId"]??> 
405                            <#assign cardTitle = ""/> 
406                            <#assign subtitle = ""/> 
407                            <#assign author = ""/> 
408                            <#assign thumbnailImage = {}/> 
409                            <#assign originalFile = {} /> 
410 
411                            <#assign restResponse = restClient.get("/headless-delivery/v1.0/documents/${medJson.fileEntryId}") /> 
412                            <#if restResponse?has_content> 
413                                <#assign originalFile = restResponse /> 
414 
415                                <#if  restResponse.documentType?? && restResponse.documentType.contentFields?size gt 0> 
416                                    <#list restResponse.documentType.contentFields as item > 
417                                        <#if item.label == "Legenda" && item.dataType == "string" && item.contentFieldValue?? && item.contentFieldValue.data??> 
418                                            <#assign subtitle = item.contentFieldValue.data /> 
419                                            <#assign cardTitle = item.contentFieldValue.data /> 
420                                        </#if> 
421                                        <#if item.label == "Autor" && item.dataType == "string" && item.contentFieldValue?? && item.contentFieldValue.data??> 
422                                            <#assign author = item.contentFieldValue.data /> 
423                                        </#if> 
424                                        <#if item.label == "Imagem de thumbnail" && item.dataType == "image" && item.contentFieldValue?? && item.contentFieldValue.image??> 
425                                            <#assign thumbnailImage = restClient.get("/headless-delivery/v1.0/documents/${item.contentFieldValue.image.id}") /> 
426                                        </#if> 
427                                    </#list> 
428                                </#if> 
429                            </#if> 
430 
431                            <#if originalFile["contentUrl"]??> 
432                                <#setting datetime_format="iso"> 
433                                <#assign galleryItems += [{"cardTitle": cardTitle, 
434                                "displayDate" : formatDate(originalFile.dateCreated?datetime), 
435                                "createDate": originalFile.dateCreated?datetime, 
436                                "subtitle" : subtitle, 
437                                "author": author, 
438                                "thumbnailImage": thumbnailImage, 
439                                "originalFile": originalFile 
440                                }]  > 
441                            </#if> 
442                        </#if> 
443                    </#list> 
444 
445 
446                    <#assign nodes = getNodes(getIdFromFieldName(fieldList, "Selecione o Conteúdo Web da mídia") , mediaGroup) /> 
447                    <#list nodes as node> 
448                        <#attempt> 
449                            <#assign medJson = jsonFactoryUtil.createJSONObject(node.getStringValue()) /> 
450                            <#if medJson.classPK??> 
451                                <#assign medianewsJournalArticle = journalArticleService.fetchLatestArticle(medJson.classPK?number)/> 
452                                <#assign mediaDdmStructure = medianewsJournalArticle.getDDMStructure()/> 
453                                <#assign fieldListMedia = getFieldListByStructure(mediaDdmStructure)/> 
454                                <#assign xmlArticleMedia = medianewsJournalArticle.getDocument().getRootElement() /> 
455 
456                                <#assign cardTitle = getFieldValue(fieldListMedia, xmlArticleMedia, "Título Home")/> 
457                                <#assign subtitle = getFieldValue(fieldListMedia, xmlArticleMedia, "Legenda")/> 
458                                <#assign author = getFieldValue(fieldListMedia, xmlArticleMedia, "Autor")/> 
459 
460                                <#if getGroupNode(getIdFromFieldName(fieldListMedia, "Arquivo original"), xmlArticleMedia) ?? > 
461                                    <#assign originalFileGroup = getGroupNode(getIdFromFieldName(fieldListMedia, "Arquivo original"), xmlArticleMedia) /> 
462                                    <#assign originalFileExternalUrl = getFieldValue(fieldListMedia, originalFileGroup, "URL externa") /> 
463 
464                                <#-- Original file --> 
465                                    <#assign originalFile = {} /> 
466                                    <#assign originalFileJsonString = getSingleNodeString(getIdFromFieldName(fieldListMedia, "Arquivo selecionado"), originalFileGroup)/> 
467 
468                                    <#if originalFileJsonString?? && originalFileJsonString?has_content> 
469                                        <#assign originalFileJson = jsonFactoryUtil.createJSONObject(originalFileJsonString) /> 
470                                        <#if originalFileJson?? && originalFileJson["fileEntryId"]??> 
471                                            <#assign restResponse = restClient.get("/headless-delivery/v1.0/documents/${originalFileJson.fileEntryId}") /> 
472                                            <#if restResponse?has_content && restResponse["encodingFormat"]?? && restResponse.encodingFormat?index_of("image") gt -1> 
473                                                <#assign originalFile = restResponse /> 
474                                            </#if> 
475                                        </#if> 
476                                    </#if> 
477 
478 
479                                <#-- Thumbnail file --> 
480                                    <#assign thumbnailImage = {}/> 
481                                    <#assign thumbnailImageJsonString = getSingleNodeString(getIdFromFieldName(fieldListMedia, "Imagem de thumbnail"), xmlArticleMedia)/> 
482                                    <#if !thumbnailImageJsonString?? || !thumbnailImageJsonString?has_content> 
483                                        <#assign thumbnailImageJson = jsonFactoryUtil.createJSONObject(thumbnailImageJsonString) /> 
484                                        <#if thumbnailImageJson?? && thumbnailImageJson?has_content && thumbnailImageJson.fileEntryId??> 
485                                            <#assign restResponse = restClient.get("/headless-delivery/v1.0/documents/${thumbnailImageJson.fileEntryId?number}") /> 
486                                            <#if restResponse?has_content && restResponse["encodingFormat"]?? && restResponse.encodingFormat?index_of("image") gt -1> 
487                                                <#assign thumbnailImage = restResponse /> 
488                                            </#if> 
489                                        </#if> 
490                                    </#if> 
491 
492                                    <#assign mediaCreateDate = medianewsJournalArticle.getCreateDate() /> 
493                                    <#assign mediaLastPublishDate = extractPublishDate(medianewsJournalArticle) /> 
494 
495                                    <#if originalFile["contentUrl"]??> 
496                                        <#assign galleryItems += [{"cardTitle": cardTitle, 
497                                        "displayDate" : formatDate(mediaLastPublishDate), 
498                                        "createDate": newsJournalArticle.getDisplayDate(), 
499                                        "subtitle" : subtitle, 
500                                        "author": author, 
501                                        "thumbnailImage": thumbnailImage, 
502                                        "originalFile": originalFile, 
503                                        "originalFileExternalUrl": originalFileExternalUrl 
504                                        }] /> 
505                                    </#if> 
506                                </#if> 
507 
508                            </#if> 
509                            <#recover> 
510                        </#attempt> 
511                    </#list> 
512                </#list> 
513 
514 
515                <#assign newsInfo = { 
516                "mainHeadlineOfTheNews": mainHeadlineOfTheNews, 
517                "featuredNewsHeadline" : featuredNewsHeadline, 
518                "displayDate" : formatDate(createDate), 
519                "createDate": createDate, 
520                "newsSummary" : newsSummary, 
521                "newsImageFieldSet":  extractNewsImage(fieldList, xmlArticle, fileEntryService), 
522                "featureNewsVideo" : featureNewsVideo(xmlArticle, fileEntryService), 
523                "lastPublishDate": lastPublishDate, 
524                "flag": flag, 
525                "url": newsJournalArticleFriendlyUrl, 
526                "newsContent": newsContent, 
527                "audios": audios, 
528                "videos": videos, 
529                "galleryItems": galleryItems, 
530                "links": links 
531                }> 
532 
533 
534 
535 
536                <#-- Renderizar o título principal da notícia --> 
537                <#-- Conteúdo-> Conteúdo Web -> Templates: Site de Crise - Notícia - Título --> 
538                <@renderHeadLine newsInfo = newsInfo/> 
539 
540                <#-- Renderizar o subtítulo da notícia --> 
541                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Subtítulo --> 
542                <@renderReview newsInfo = newsInfo/> 
543 
544                <#-- Renderizar a data de publicação/edição da notícia e redes sociais --> 
545                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Redes sociais e data de publicação --> 
546                <@renderPublishAndSocialMediasInfos newsJournalArticle newsInfo/> 
547 
548                <#-- Renderizar as tags da notícia --> 
549                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Render Tags --> 
550                <#--assign tagCategoryList = getCategoriesNamesAndIds("Tags") /> 
551                <#assign tagCategoryList = getCategoryIdsFromEntry(assetEntry,tagCategoryList, categoryLocalService)> 
552                <#assign removeStartParameterWhenTagIsClicked = true> 
553                <#assign includeRequestParams = false> 
554                <#assign NEWS_PAGE_NAME= "busca"/> 
555                <@renderNewsTags tagCategoryList NEWS_PAGE_NAME removeStartParameterWhenTagIsClicked includeRequestParams --> 
556 
557                <#assign categoriesAsssetEntryResponse = restClient.get("/headless-delivery/v1.0/structured-contents/${assetEntry.getClassPK()}?nestedFields=embeddedTaxonomyCategory&fields=taxonomyCategoryBriefs") /> 
558               
559                <#if categoriesAsssetEntryResponse?? && categoriesAsssetEntryResponse?has_content && categoriesAsssetEntryResponse.taxonomyCategoryBriefs??> 
560                    <#assign tagCategoryList = getCategoriesNamesAndIds("Tags", categoriesAsssetEntryResponse.taxonomyCategoryBriefs) /> 
561                    <#assign removeStartParameterWhenTagIsClicked = true /> 
562                    <#assign includeRequestParams = false /> 
563                    <#assign NEWS_PAGE_NAME= "busca"/> 
564                    <@renderNewsTags tagCategoryList NEWS_PAGE_NAME removeStartParameterWhenTagIsClicked includeRequestParams /> 
565                </#if> 
566 
567                <#-- Renderizar a imagem de destaque da notícia --> 
568                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Imagem de destaque --> 
569                <@renderNewsFeaturedImage newsInfo = newsInfo/> 
570 
571                <#-- Renderizar o conteúdo da notícia --> 
572                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Conteúdo da notícia --> 
573                <@renderNewsContent newsInfo = newsInfo/> 
574 
575                <#-- Renderizar links da notícia --> 
576                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Links do conteúdo da notícia --> 
577                <@renderLinks newsInfo /> 
578 
579                <@renderCite /> 
580                <#-- Renderizar áudios da notícia --> 
581                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Áudios do conteúdo da notícia --> 
582 
583                <#-- Renderizar galeria de imagens notícia --> 
584                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Render galeria --> 
585                <@renderGallery newsInfo /> 
586 
587                <#-- Renderizar seção de download e mídias e texto --> 
588                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Render seção download --> 
589                <@renderDownloadSection newsInfo /> 
590 
591            </div> 
592        </div> 
593    </div> 
594 
595    <script> 
596        AUI().ready(function () { 
597            const newsContent = document.querySelector(".ptb-news__read-content"); 
598            newsContent.querySelectorAll("p").forEach((item) => { 
599                if (item.innerHTML.trim() == "") { 
600                    item.parentNode.removeChild(item); 
601
602            }); 
603        }); 
604    </script> 
605 
606    <style> 
607 
608        .breadcrumb-breakpoint { 
609            padding-top: var(--space-xxl); 
610            padding-bottom: var(--space-xl); 
611
612 
613        body.high-contrast-active .breadcrumb-breakpoint { 
614            background: var(--background-surface-level-01, #010101); 
615
616 
617        .breadcrumb-breakpoint .breadcrumb-col { 
618            display: flex; 
619            width: max-content; 
620            gap: var(--space-xxs); 
621            height: fit-content; 
622            overflow-x: hidden; 
623
624 
625        .breadcrumb-breakpoint #liferay-breadcrumb { 
626            display: none; 
627
628 
629        .breadcrumb-breakpoint .breadcrumb-page { 
630            display: flex; 
631            gap: var(--space-micro); 
632            height: var(--size-md); 
633            size: var(--size-md); 
634            border: 1px solid rgba(0, 0, 0, 0); 
635            box-sizing: border-box; 
636            border-radius: var(--border-radius-sm); 
637
638 
639        .breadcrumb-breakpoint a.breadcrumb-page.text span, 
640        .breadcrumb-breakpoint span.breadcrumb-page.text { 
641            white-space: nowrap; 
642
643 
644        .breadcrumb-breakpoint .breadcrumb-page a:focus { 
645            outline: none; 
646
647 
648        .breadcrumb-breakpoint .breadcrumb-page.active-page { 
649            color: var(--color-text-primary-default); 
650            background-color: var(--color-background-default-level-02); 
651            border-radius: var(--border-radius-sm); 
652
653 
654        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.active-page { 
655            background: var(--background-surface-level-02, #373737); 
656            color: var(--text-primary-default, #FFF); 
657
658 
659        .breadcrumb-breakpoint .breadcrumb-page.previous-page { 
660            transition: 300ms ease-in-out; 
661
662 
663        .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
664            text-decoration: var(--text-decoration-none); 
665            color: var(--color-text-primary-default); 
666            text-transform: capitalize; 
667            padding-left: var(--space-xxs); 
668            padding-right: var(--space-xxs); 
669
670 
671        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
672            color: var(--text-primary-default, #FFF); 
673
674 
675        .breadcrumb-breakpoint .breadcrumb-page.active-page.text { 
676            color: var(--color-text-primary-default); 
677            text-decoration: var(--text-decoration-none); 
678            background-color: var(--color-background-default-level-02); 
679            text-transform: capitalize; 
680            padding-left: var(--space-xxs); 
681            padding-right: var(--space-xxs); 
682
683 
684        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
685            color: var(--text-primary-default, #FFF); 
686
687 
688        .breadcrumb-breakpoint .breadcrumb-page.previous-page:not(.three-dots):hover { 
689            background-color: var(--color-background-default-level-01); 
690            border-color: var(--border-color-dark); 
691            border-radius: var(--border-radius-sm); 
692            border: 1px solid; 
693            transition: all 300ms ease-in-out; 
694
695 
696        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page:not(.three-dots):hover { 
697            background-color: transparent; 
698
699 
700        .breadcrumb-breakpoint .breadcrumb-page:focus-visible { 
701            margin: var(--space-micro); 
702            border-radius: var(--space-micro); 
703            outline: none; 
704            border: 1px solid var(--color-primary-medium); 
705            box-sizing: border-box; 
706            transition: 300ms ease-in-out; 
707
708 
709        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page:focus-visible { 
710            border: 1px solid rgba(228, 247, 232, 1); 
711
712 
713        .breadcrumb-breakpoint .breadcrumb-page .icon { 
714            width: var(--size-xxs); 
715            height: var(--size-xxs); 
716            border-color: var(--border-color-darkest); 
717            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'); 
718            background-size: cover; 
719            margin-top: auto; 
720            margin-bottom: auto; 
721
722 
723        body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page .icon { 
724            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>'); 
725
726 
727        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
728            header.cadmin.portlet-topper { 
729                display: none !important; 
730
731
732 
733        @media screen and (min-width: ${MIN_TABLET_WIDTH}px) and (max-width: ${MAX_TABLET_WIDTH}px) { 
734
735    </style> 
736<#else > 
737    <@printNewsNotFound /> 
738</#if> 
739 
740 
741 
742 
743<#macro printNewsNotFound> 
744    <div class="ptb-news__read-news"> 
745        <#if locale == "pt_BR"> 
746            <p>Nenhuma notícia</p> 
747        <#else > 
748            <p>There are no news</p> 
749        </#if> 
750    </div> 
751 
752    <style> 
753        .ptb-news__read-news p { 
754            font-family: var(--font-family-base); 
755            font-style: var(--font-style-normal, normal); 
756            font-weight: var(--font-weight-regular, 400); 
757            font-size: var(--font-size-xxs, 16px); 
758            line-height: var(--line-height-xl, 160%); 
759            color: var(--color-neutral-700, #515867); 
760
761    </style> 
762</#macro> 
763 
764<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
765<#-- 
766Add elements from the sidebar to define your template. Type "${" to use the 
767autocomplete feature. 
768--> 
769 
770<#macro renderHeadLine newsInfo> 
771    <div class="breakpoint"> 
772        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
773            <div class="main-headline-container"> 
774                <h1 class="main-headline">${newsInfo.mainHeadlineOfTheNews}</h1> 
775                <div class="bar"></div> 
776            </div> 
777        </div> 
778    </div> 
779    <style> 
780        .ptb-news__read-news .main-headline-container { 
781            display: flex; 
782            flex-direction: column; 
783            gap: var(--space-sm); 
784            padding-bottom: var(--space-lg); 
785
786 
787        .ptb-news__read-news .main-headline-container * { 
788            margin: 0; 
789            padding: 0; 
790
791 
792        .ptb-news__read-news .main-headline-container .main-headline { 
793            font-family: var(--font-family-base); 
794            font-style: var(--font-style-normal, normal); 
795            font-weight: var(--font-weight-bold); 
796            font-size: var(--font-size-xl); 
797            line-height: var(--line-height-sm); 
798            color: var(--color-neutral-800); 
799
800 
801        .ptb-news__read-news .main-headline-container .bar { 
802            width: var(--size-lg, 32px); 
803            height: var(--size-micro); 
804            background: var(--color-secondary-medium); 
805
806 
807        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
808            .ptb-news__read-news .main-headline-container { 
809                gap: var(--size-xxs); 
810
811
812    </style> 
813</#macro> 
814<#-- ################################################################################################################## --> 
815 
816<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
817<#macro renderReview newsInfo> 
818    <#assign summaryCssRoot = "summary-container" /> 
819 
820    <div class="breakpoint"> 
821        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
822            <div class="${summaryCssRoot}"> 
823                <h2 class="summary"> 
824                    ${newsInfo.newsSummary} 
825                </h2> 
826            </div> 
827        </div> 
828    </div> 
829 
830    <style> 
831        .${summaryCssRoot} .summary { 
832            padding-bottom: var(--space-lg); 
833
834 
835        .${summaryCssRoot} .summary, 
836        .${summaryCssRoot} .summary * { 
837            color: var(--color-neutral-800, #373737); 
838            font-family: var(--font-family-base); 
839            font-size: var(--font-size-sm); 
840            font-style: var(--font-style-italic); 
841            font-weight: var(--font-weight-regular); 
842            line-height: var(--line-height-xl); 
843            margin: var(--space-none); 
844
845 
846        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
847            .${summaryCssRoot} .summary, 
848            .${summaryCssRoot} .summary * { 
849                font-size: var(--font-size-xs); 
850
851
852    </style> 
853 
854</#macro> 
855<#-- ################################################################################################################## --> 
856 
857<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
858<#macro renderPublishAndSocialMediasInfos journalArticle newsInfo> 
859 
860    <div class="breakpoint"> 
861        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
862            <div class="publish_and_social_medias_infos_desk"> 
863                <div class="publish_and_update_date"> 
864                    <#assign lastPublishDate = journalArticle.getModifiedDate()> 
865                    <#assign createDate = journalArticle.getCreateDate()> 
866                    <#assign displayDate = journalArticle.getDisplayDate() /> 
867                    <#if journalArticle.getLastPublishDate()??> 
868                        <#assign lastPublishDate = journalArticle.getLastPublishDate()> 
869                    </#if> 
870 
871                    <#if locale == "pt_BR"> 
872                    <#-- <p class="updated">Atualizado em ${formatDate(lastPublishDate)}</p> --> 
873                        <p class="published">Postado em ${formatDate(displayDate)}</p> 
874                    <#else > 
875                    <#-- <p class="updated">Updated on ${formatDate(lastPublishDate)}</p> --> 
876                        <p class="published">Posted on ${formatDate(displayDate)}</p> 
877                    </#if> 
878                </div> 
879 
880                <#--        <div class="share_news_container">--> 
881                <div class="social-media-container"> 
882 
883                    <#assign emailMsg = "Veja o conteúdo do post no link "> 
884                    <#if locale == "en_US"> 
885                        <#assign emailMsg = "See the content of the post in the link "> 
886                    </#if> 
887                    <a class="share-news-social-media news-gallery-share-news-email" href="mailto:?subject=${newsInfo.mainHeadlineOfTheNews}&amp;body=${emailMsg}${newsInfo.url}" 
888                       target="_blank"> 
889                        <svg class="email" width="37" height="36" viewBox="0 0 37 36" fill="none" 
890                             xmlns="http://www.w3.org/2000/svg"> 
891                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
892                            <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" 
893                                  fill="#008542"/> 
894                        </svg> 
895                        <span>send e-mail</span> 
896                    </a> 
897 
898                    <a class="share-news-social-media news-gallery-share-news-facebook" href="https://www.facebook.com/sharer/sharer.php?u=${newsInfo.url}" target="_blank"> 
899                        <svg class="facebook" width="37" height="36" viewBox="0 0 37 36" fill="none" 
900                             xmlns="http://www.w3.org/2000/svg"> 
901                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
902                            <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" 
903                                  fill="#008542"/> 
904                        </svg> 
905                        <span>Share Facebook </span> 
906                    </a> 
907 
908                    <#assign mobileShareButtonId = "mobile-share-" + randomNumber(5)> 
909                    <div class="mobile-share" id="${mobileShareButtonId}"> 
910                        <svg width="37" height="36" viewBox="0 0 37 36" fill="none" xmlns="http://www.w3.org/2000/svg"> 
911                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
912                            <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" 
913                                  fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
914                            <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" 
915                                  fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
916                            <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" 
917                                  fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
918                            <path d="M20.2546 14.0784L15.9036 16.8879" stroke="#008542" stroke-linecap="round" 
919                                  stroke-linejoin="round"/> 
920                            <path d="M15.9036 19.4871L20.2546 22.2966" stroke="#008542" stroke-linecap="round" 
921                                  stroke-linejoin="round"/> 
922                        </svg> 
923                    </div> 
924 
925                    <a class="share-news-social-media news-gallery-share-news-twitter" href="https://twitter.com/intent/tweet?url=${newsInfo.url}" target="_blank" data-size="large"> 
926                        <svg class="twitter" width="37" height="36" viewBox="0 0 37 36" fill="none" 
927                             xmlns="http://www.w3.org/2000/svg"> 
928                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
929                            <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" 
930                                  fill="#008542"/> 
931                        </svg> 
932                        <span>Share Twitter </span> 
933                    </a> 
934 
935                    <a class="share-news-social-media news-gallery-share-news-whatsapp" href="https://api.whatsapp.com/send?text=${newsInfo.url}" data-action="share/whatsapp" 
936                       target="_blank"> 
937                        <svg class="whatsapp" width="37" height="36" viewBox="0 0 37 36" fill="none" 
938                             xmlns="http://www.w3.org/2000/svg"> 
939                            <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
940                            <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" 
941                                  fill="#008542"/> 
942                            <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" 
943                                  fill="white"/> 
944                        </svg> 
945                        <span>Share to WhatsApp </span> 
946                    </a> 
947 
948                    <div class="copy-text-container news-copy-text"> 
949                        <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 
950                            <path d="M10.5 10.5H13.5V2.5H5.5V5.5" stroke="#008542" stroke-linecap="round" 
951                                  stroke-linejoin="round"/> 
952                            <path d="M10.5 5.5H2.5V13.5H10.5V5.5Z" stroke="#008542" stroke-linecap="round" 
953                                  stroke-linejoin="round"/> 
954                        </svg> 
955 
956                        <#if locale == "pt_BR"> 
957                            <p class="text">Copiar texto 
958                                <span class="copy-text-title-news"> ${newsInfo.mainHeadlineOfTheNews} </span> 
959                            </p> 
960                        <#else > 
961                            <p class="text">Copy text 
962                                <span class="copy-text-title-news"> ${newsInfo.mainHeadlineOfTheNews} </span> 
963                            </p> 
964                        </#if> 
965                    </div> 
966 
967                </div> 
968 
969                <#if locale == "pt_BR"> 
970                    <span class="copy-message">Texto copiado!</span> 
971                <#else > 
972                    <span class="copy-message">Text copied!</span> 
973                </#if> 
974                <#--        </div>--> 
975            </div> 
976        </div> 
977    </div> 
978 
979    <style> 
980        /*Data de publicação e redes sociais */ 
981 
982        /* Desktop */ 
983        .ptb-news__read-news .publish_and_social_medias_infos_desk { 
984            position: relative; 
985            display: grid; 
986            grid-template-columns: auto 1fr auto; 
987
988 
989        .ptb-news__read-news .publish_and_social_medias_infos_desk * { 
990            padding: var(--space-none, 0); 
991            margin: var(--space-none, 0); 
992            font-family: var(--font-family-base); 
993            font-style: var(--font-style-normal, normal); 
994            font-weight: var(--font-weight-regular, 400); 
995            font-size: var(--font-size-xxs, 16px); 
996            line-height: var(--line-height-xl, 160%); 
997            color: var(--color-neutral-800, #373737); 
998
999 
1000        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk * { 
1001            color: var(--text-secondary-default, #F8F8F8); 
1002
1003 
1004        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk a svg path, 
1005        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .mobile-share svg path { 
1006            stroke: var(--color-neutral-500, #D7D7D7); 
1007            fill: rgba(255, 255, 255, 0.32); 
1008
1009 
1010        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk a svg circle, 
1011        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .mobile-share svg circle { 
1012            fill: rgba(255, 255, 255, 0.32); 
1013 
1014
1015 
1016        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date { 
1017            display: flex; 
1018            flex-direction: column; 
1019            gap: var(--space-none, 0);; 
1020
1021 
1022        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .updated { 
1023            font-weight: var(--font-weight-bold, 700); 
1024
1025 
1026        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .published { 
1027            font-weight: var(--font-weight-normal, 400); 
1028
1029 
1030        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
1031            display: flex; 
1032            width: 100%; 
1033            justify-content: flex-end; 
1034            align-items: center; 
1035            gap: var(--space-sm, 16px); 
1036
1037 
1038        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .mobile-share { 
1039            display: none; 
1040
1041 
1042        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .share-news-social-media * { 
1043            pointer-events: none; 
1044
1045 
1046        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .share-news-social-media { 
1047            position: relative; 
1048
1049 
1050        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .share-news-social-media span { 
1051            position: absolute; 
1052            top: 0; 
1053            left: 0; 
1054            width: 100%; 
1055            height: 100%; 
1056            opacity: 0; 
1057            overflow: hidden; 
1058            pointer-events: none; 
1059        }         
1060 
1061        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1062            background: #FFFFFF; 
1063            border: var(--border-width-hairline, 1px) solid var(--color-opacity-dark-level-01, #CCCCCC); 
1064            border-radius: var(--border-radius-xl, 32px); 
1065            display: flex; 
1066            align-items: center; 
1067            gap: var(--space-sm, 16px); 
1068            padding: 6px var(--space-xxs, 8px); 
1069            height: 36px; 
1070            margin: 0; 
1071            cursor: pointer; 
1072
1073 
1074        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container * { 
1075          pointer-events: none; 
1076
1077 
1078        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1079            background: rgba(255, 255, 255, 0.32); 
1080            border: var(--border-width-hairline, 1px) solid rgba(255, 255, 255, 0.32); 
1081
1082 
1083        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container svg { 
1084            width: 18px; 
1085
1086 
1087        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk svg path { 
1088            stroke: var(--color-neutral-500, #D7D7D7); 
1089
1090 
1091        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1092            background: #FFFFFF; 
1093            border: var(--border-width-hairline, 1px) solid var(--color-opacity-dark-level-01, #CCCCCC); 
1094            border-radius: var(--border-radius-xl, 32px); 
1095            display: flex; 
1096            align-items: center; 
1097            gap: var(--space-sm, 16px); 
1098            padding: 6px var(--space-sm, 16px); 
1099            height: 36px; 
1100            margin: 0; 
1101            cursor: pointer; 
1102            position: relative; 
1103
1104 
1105 
1106        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
1107            font-family: var(--font-family-base); 
1108            font-style: var(--font-weight-regular, normal); 
1109            margin: 0; 
1110            height: 100%; 
1111            display: flex; 
1112            align-items: center; 
1113            color: var(--color-primary-brand, #008542); 
1114            font-size: var(--font-size-micro, 12px); 
1115            font-weight: var(--font-weight-bold, 700); 
1116            line-height: var(--line-height-lg, 144%); 
1117
1118 
1119        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text .copy-text-title-news { 
1120            position: absolute; 
1121            top: 0; 
1122            left: 0; 
1123            width: 100%; 
1124            height: 100%; 
1125            opacity: 0; 
1126            overflow: hidden; 
1127
1128 
1129        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
1130            color: var(--text-primary-accent, #E4F7E8); 
1131
1132 
1133        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
1134            display: none; 
1135            position: absolute; 
1136            bottom: -43px; 
1137            right: -15px; 
1138            padding: var(--space-xxxs, 4px) var(--space-sm, 15px); 
1139            margin: var(--space-micro, 2px) 10px; 
1140            width: 110px; 
1141            font-family: var(--font-family-base); 
1142            font-size: var(--font-size-micro, 12px); 
1143            color: var(--color-primary-brand, #008542); 
1144            background: #FFFFFF; 
1145            border-radius: var(--border-radius-md, 8px); 
1146 
1147            filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.16)); 
1148 
1149            cursor: pointer; 
1150
1151 
1152        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
1153            background: rgba(255, 255, 255, 0.32); 
1154            color: var(--text-primary-accent, #E4F7E8); 
1155
1156 
1157        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message-active { 
1158            display: block; 
1159
1160 
1161        /* Mobile */ 
1162 
1163        .ptb-news__read-news .publish_and_social_medias_infos_mobile { 
1164            display: flex; 
1165            flex-direction: column; 
1166            gap: 19px; 
1167
1168 
1169        .ptb-news__read-news .publish_and_social_medias_infos_mobile { 
1170            display: none; 
1171
1172 
1173        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text { 
1174            display: flex; 
1175            justify-content: space-between; 
1176            align-items: center; 
1177            margin-bottom: var(--space-lg, 32px); 
1178
1179 
1180        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date * { 
1181            padding: 0; 
1182            margin: 0; 
1183            font-family: var(--font-family-base); 
1184            font-style: var(--font-style-normal, normal); 
1185            font-size: var(--font-size-micro, 12px); 
1186            line-height: var(--line-height-md, 136%); 
1187            color: var(--color-neutral-800, #373737); 
1188
1189 
1190        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date { 
1191            display: flex; 
1192            flex-direction: column; 
1193            gap: 0; 
1194
1195 
1196        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 * { 
1197            color: var(--text-primary-accent, #E4F7E8); 
1198
1199 
1200        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date .updated { 
1201            font-weight: var(--font-weight-bold, 700); 
1202
1203 
1204        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date .published { 
1205            font-weight: var(--font-weight-regular, 400); 
1206
1207 
1208        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container { 
1209            background: #FFFFFF; 
1210            border: var(--border-width-hairline, 1px) solid var(--color-opacity-dark-level-01, #CCCCCC); 
1211            border-radius: var(--border-radius-xl, 32px); 
1212            display: flex; 
1213            align-items: center; 
1214            gap: var(--space-sm, 16px); 
1215            padding: 6px var(--space-xxxs, 8px); 
1216            width: 112px; 
1217            height: 36px; 
1218
1219 
1220        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container { 
1221            background: rgba(255, 255, 255, 0.32); 
1222            color: var(--text-primary-accent, #E4F7E8); 
1223
1224 
1225        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container p.text { 
1226            margin: 0; 
1227
1228 
1229        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container .text { 
1230            font-family: var(--font-family-base); 
1231            font-style: var(--font-style-normal, normal); 
1232            font-weight: var(--font-weight-regular, 400); 
1233            font-size: var(--font-size-micro, 13px); 
1234            line-height: 14px; 
1235            color: var(--color-primary-medium, #008542); 
1236
1237 
1238        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 { 
1239            background: rgba(255, 255, 255, 0.32); 
1240            color: var(--text-primary-accent, #E4F7E8); 
1241
1242 
1243        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1244            .ptb-news__read-news .publish_and_social_medias_infos_desk { 
1245                display: grid; 
1246                grid-template-columns: 100%; 
1247                grid-template-rows: 1fr 100%; 
1248                gap: var(--space-md); 
1249
1250 
1251            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date { 
1252                grid-column-start: 1; 
1253                grid-column-end: 1; 
1254                grid-row-start: 1; 
1255                grid-row-end: 1; 
1256                gap: var(--space-xxs, 8px); 
1257
1258 
1259            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date * { 
1260                padding: 0; 
1261                margin: 0; 
1262                font-family: var(--font-family-base); 
1263                font-style: var(--font-style-normal); 
1264                color: var(--color-neutral-800, #373737); 
1265                font-weight: var(--font-weight-bold); 
1266                font-size: var(--font-size-xxxs, 14px); 
1267                line-height: var(--line-height-md, 132%); 
1268
1269 
1270            body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date * { 
1271                color: var(--text-primary-accent, #E4F7E8); 
1272
1273 
1274            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .published { 
1275                font-weight: 400; 
1276
1277 
1278            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
1279                grid-column-start: 1; 
1280                grid-column-end: 2; 
1281                grid-row-start: 2; 
1282                grid-row-end: 2; 
1283                justify-content: flex-end; 
1284                height: 36px; 
1285
1286 
1287            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1288                grid-column-start: 1; 
1289                grid-column-end: 2; 
1290                grid-row-start: 2; 
1291                grid-row-end: 2; 
1292                max-width: 112px; 
1293                place-self: end; 
1294
1295 
1296            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
1297                display: none; 
1298
1299 
1300            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
1301                bottom: 0; 
1302                right: -9px; 
1303
1304 
1305            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .mobile-share { 
1306                display: initial; 
1307
1308
1309 
1310        @media screen and (min-width: ${MIN_TABLET_WIDTH}px) and (max-width: ${MAX_TABLET_WIDTH}px) { 
1311            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
1312                padding-right: 0; 
1313
1314
1315 
1316 
1317    </style> 
1318 
1319    <script> 
1320        AUI().ready(function () { 
1321 
1322            function copyOnClick(text) { 
1323 
1324                const strWithoutHtmlTags = text.replace(/(<([^>]+)>)/gi, ""); 
1325                const strWithoutMarcationBrackets = strWithoutHtmlTags.replace(/ *#\[[^\]]*]/g, ""); 
1326                const strWithoutNextPrevious = strWithoutMarcationBrackets.replace(/Previous    Next/g, ""); 
1327                const strWithoutBlankEnters = strWithoutNextPrevious.replace(/^\s*$(?:\r\n?|\n)/gm, ""); 
1328                const tempInput = document.createElement("textarea"); 
1329                tempInput.value = strWithoutBlankEnters; 
1330 
1331                document.body.appendChild(tempInput); 
1332                tempInput.select(); 
1333                document.execCommand("copy"); 
1334 
1335                if (tempInput.value.length > 0) { 
1336                    copyMessage.classList.add('copy-message-active'); 
1337 
1338                    timerToMessage() 
1339
1340 
1341                document.body.removeChild(tempInput); 
1342
1343 
1344            const root = document.querySelector(".publish_and_social_medias_infos_desk"); 
1345            const copyTextContainer = root.querySelector(".copy-text-container"); 
1346            copyTextContainer.addEventListener("click", (event) => { 
1347                event.preventDefault(); 
1348                const titleText = document.querySelector(".main-headline-container .main-headline").innerHTML; 
1349                const publishSocialMediaText = document.querySelector(".publish_and_social_medias_infos_desk .publish_and_update_date").innerHTML; 
1350                const tagsText = document.querySelector(".tags").innerHTML; 
1351                const newsContentText = document.querySelector(".news-content").innerHTML; 
1352                const text = titleText + publishSocialMediaText + tagsText + newsContentText; 
1353                copyOnClick(text) 
1354            }); 
1355 
1356            const mobileShare = async () => { 
1357                try { 
1358                    const shareData = { 
1359                        title: '${newsInfo.mainHeadlineOfTheNews}', 
1360                        text: '', 
1361                        url: '${newsInfo.url}' 
1362                    }; 
1363                    await navigator.share(shareData); 
1364                } catch (err) { 
1365 
1366
1367            }; 
1368 
1369            const mobileShareButton = document.querySelector("#${mobileShareButtonId}"); 
1370            mobileShareButton.addEventListener("click", (event) => { 
1371                event.preventDefault(); 
1372                mobileShare(); 
1373            }); 
1374 
1375            const copyMessage = document.querySelector('.copy-message'); 
1376            const timerToMessage = () => { 
1377                setTimeout(() => { 
1378                    removeMessage(); 
1379                }, 2500); 
1380 
1381
1382 
1383            const removeMessage = () => { 
1384                copyMessage.classList.remove('copy-message-active'); 
1385
1386 
1387        }); 
1388    </script> 
1389 
1390</#macro> 
1391 
1392<#-- ################################################################################################################## --> 
1393 
1394<#-- ############# Site de Crise - Notícia - Render Tags ############################################################## --> 
1395 
1396<#function getCategoriesNamesAndIds vocabularyName categoriesList> 
1397    <#assign tagCategoryList = [] /> 
1398 
1399    <#assign tagsVocabulary = assetVocabularyService.fetchGroupVocabulary(groupId, vocabularyName) /> 
1400    <#list categoriesList as cat> 
1401        <#if tagsVocabulary.getVocabularyId() == cat.embeddedTaxonomyCategory.taxonomyVocabularyId > 
1402            <#assign tagCategoryList += [[cat.taxonomyCategoryName, cat.taxonomyCategoryId]] /> 
1403        </#if> 
1404    </#list> 
1405    <#return tagCategoryList> 
1406</#function> 
1407 
1408<#function filterCategories allCategoryInfoList> 
1409    <#assign filteredCategoryInfo = []> 
1410    <#assign assetEntryQueryService = objectUtil("com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil").getService()> 
1411    <#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')> 
1412 
1413    <#list allCategoryInfoList as catInfo> 
1414        <#assign catId = catInfo[1]> 
1415        <#assign search = assetEntryQuery.setAllCategoryIds([catId])> 
1416        <#assign foundEntries = assetEntryQueryService.getEntries(assetEntryQuery)> 
1417        <#if foundEntries?size gt 0> 
1418            <#assign filteredCategoryInfo += [catInfo]> 
1419        </#if> 
1420    </#list> 
1421 
1422    <#return filteredCategoryInfo> 
1423</#function> 
1424 
1425<#assign 
1426vocabularies = assetVocabularyService.getGroupVocabularies(groupId) 
1427flagVocabulary = findVocabulary("Flag", vocabularies) 
1428assetCategoryPropService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") 
1429/> 
1430 
1431<#function getCategoryIdsFromEntry entry categoriesToFilter assetCategoryLocalService> 
1432    <#if !entry??> 
1433        <#return []> 
1434    </#if> 
1435 
1436    <#assign categoriesFromEntry = []> 
1437 
1438    <#assign ids = assetCategoryLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", entry.getClassPK()) /> 
1439    <#list categoriesToFilter as catToFilter> 
1440        <#assign catIdFromEntry =  catToFilter[1] /> 
1441        <#assign index = ids?seq_index_of(catIdFromEntry)/> 
1442        <#if index != -1> 
1443            <#assign categoriesFromEntry += [catToFilter]/> 
1444        </#if> 
1445    </#list> 
1446 
1447    <#return categoriesFromEntry> 
1448</#function> 
1449 
1450<#macro renderNewsTags categoryList targetPageWhenClickTag removeStartParameterWhenTagIsClicked updateTagParamsWhenClicked> 
1451    <#assign tagPrefix = "tags-" + randomNumber(groupId?number)> 
1452    <div class="breakpoint"> 
1453        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
1454            <div class="${tagPrefix} "> 
1455 
1456                <#assign siteUrl = "" /> 
1457                <#if themeDisplay.getPortalURL()?contains("webserver")> 
1458                    <#assign siteUrl = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL /> 
1459                </#if> 
1460 
1461                <div class="tags"> 
1462                    <#list categoryList as cat> 
1463                        <a href="${siteUrl}/busca?q=&category=${cat[1]}" 
1464                           class="category news-tag-item" cetegoryid="${cat[1]}"># ${cat[0]}</a> 
1465                    </#list> 
1466                </div> 
1467            </div> 
1468        </div> 
1469    </div> 
1470 
1471    <style> 
1472        .${tagPrefix} { 
1473            display: flex; 
1474            flex-direction: column; 
1475            padding: 0; 
1476            gap: var(--space-sm); 
1477
1478 
1479        .${tagPrefix} * { 
1480            margin: 0; 
1481            padding: 0; 
1482
1483 
1484        .${tagPrefix} .tags { 
1485            display: flex; 
1486            flex-wrap: wrap; 
1487            gap: var(--space-xxs, 8px); 
1488            padding: var(--space-lg) 0 var(--space-xl); 
1489
1490 
1491        .${tagPrefix} .tags .category { 
1492            padding: var(--space-xxxs) var(--space-xxs); 
1493            background: var(--color-neutral-100); 
1494            border: 1px solid var(--color-neutral-500); 
1495            border-radius: var(--border-radius-xl, 32px); 
1496 
1497            font-family: var(--font-family-base); 
1498            font-style: var(--font-style-normal); 
1499            font-weight: var(--font-weight-regular); 
1500            font-size: var(--font-size-xxxs); 
1501            line-height: var(--line-height-xl); 
1502            color: var(--color-neutral-800, #373737); 
1503            cursor: pointer; 
1504
1505 
1506        body.high-contrast-active .${tagPrefix} .tags .category { 
1507            background: rgba(255, 255, 255, 0.32); 
1508            border: 1px solid rgba(255, 255, 255, 0.32); 
1509            color: var(--text-secondary-default, #F8F8F8); 
1510
1511 
1512        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1513            .${tagPrefix} .tags { 
1514                display: flex; 
1515                flex-wrap: wrap; 
1516                gap: var(--space-xxs, 8px); 
1517                padding: var(--space-sm) 0 var(--space-lg); 
1518
1519 
1520            .${tagPrefix} { 
1521                margin-top: var(--space-sm); 
1522
1523
1524    </style> 
1525 
1526    <script> 
1527        AUI().ready(function () { 
1528 
1529            const urlParams = new URLSearchParams(window.location.search); 
1530            const categories = urlParams.getAll("category").sort(); 
1531 
1532            const root = document.querySelector(".${tagPrefix}"); 
1533            const tags = root.querySelectorAll(".category"); 
1534            tags.forEach((tag, index) => { 
1535 
1536                const categoryId = tag.getAttribute("cetegoryid"); 
1537                if (categories.indexOf(categoryId) != -1) { 
1538                    tag.classList.add("active"); 
1539
1540 
1541                <#if updateTagParamsWhenClicked> 
1542                tag.addEventListener("click", (e) => { 
1543                    e.preventDefault(); 
1544                    const clickedTag = e.target; 
1545                    const urlParams = new URLSearchParams(window.location.search); 
1546                    urlParams.delete("tag"); 
1547                    urlParams.delete("category"); 
1548 
1549                    const categoryId = clickedTag.getAttribute("cetegoryid"); 
1550                    urlParams.append("category", categoryId); 
1551 
1552                    <#if removeStartParameterWhenTagIsClicked> 
1553                    urlParams.delete("start"); 
1554                    </#if> 
1555 
1556                    const href = "${themeDisplay.getPortalURL() + mountUrlToPage(targetPageWhenClickTag)}?" + urlParams.toString(); 
1557                    window.location.href = href; 
1558                }); 
1559                </#if> 
1560            }); 
1561        }); 
1562    </script> 
1563 
1564</#macro> 
1565 
1566<#-- ################################################################################################################## --> 
1567 
1568<#-- ############# Site de Crise - Notícia - Imagem de destaque ####################################################### --> 
1569<#macro renderNewsFeaturedImage newsInfo> 
1570<#--if newsInfo.newsImageFieldSet.newsImage.url != ""--> 
1571 
1572    <#if !newsInfo.newsImageFieldSet.newsImage.url?has_content> 
1573        <#return /> 
1574    </#if> 
1575	 
1576    <div class="news-featured-image"> 
1577        <div class="breakpoint"> 
1578            <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
1579                <#if newsInfo.newsImageFieldSet.credits != ""> 
1580                    <p class="credits"> 
1581                        ${newsInfo.newsImageFieldSet.credits} 
1582                    </p> 
1583                </#if> 
1584            </div> 
1585        </div> 
1586        <div class="breakpoint"> 
1587            <div class="col-2-11 md-col-1-12 sm-col-1-4"> 
1588                <img alt="${newsInfo.newsImageFieldSet.newsImage.alt}" 
1589                     src="${newsInfo.newsImageFieldSet.newsImage.url}" 
1590                     alt="${newsInfo.newsImageFieldSet.newsImage.alt}"/> 
1591            </div> 
1592        </div> 
1593        <#if newsInfo.newsImageFieldSet.legend != ""> 
1594					 
1595					 
1596			 <@liferay_util["html-top"]> 
1597				 <meta name="title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1598				 <meta name="description" content="${newsInfo.newsSummary}"> 
1599							 
1600					<meta property="og:type" content="website" > 
1601					<meta property="og:url" content="${currentURL}" > 
1602					<meta property="og:title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1603				  <meta property="og:description" content="${newsInfo.newsSummary}" /> 
1604					<meta property="og:image" content= "${themeDisplay.getPortalURL()}/o/adaptive-media/image/${newsInfo.newsImageFieldSet.newsImage.fileEntryId}/Thumbnail-300x300/image" > 
1605				 <meta property="og:image:alt" content="${newsInfo.newsImageFieldSet.newsImage.alt}"> 
1606                             
1607				 <meta name="twitter:card" content="summary_large_image"> 
1608				 <meta name="twitter:url" content="${currentURL}" /> 
1609				 <meta name="twitter:title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1610				 <meta name="twitter:description" content="${newsInfo.newsSummary}" /> 
1611				 <meta name="twitter:image" content= "${themeDisplay.getPortalURL()}/o/adaptive-media/image/${newsInfo.newsImageFieldSet.newsImage.fileEntryId}/Thumbnail-300x300/image" > 
1612				 <meta name="twitter:image:alt" content="${newsInfo.newsImageFieldSet.newsImage.alt}"> 
1613				  
1614			 </@> 
1615    
1616					 
1617            <div class="breakpoint"> 
1618                <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
1619                    <div class="legend"> 
1620                        <p>${newsInfo.newsImageFieldSet.legend}</p> 
1621                        <a class="download download-news-image" href="${newsInfo.newsImageFieldSet.newsImage.url}?download=true" 
1622                           alt="${newsInfo.newsImageFieldSet.newsImage.alt}"> 
1623                            Download 
1624                            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" 
1625                                 xmlns="http://www.w3.org/2000/svg"> 
1626                                <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" 
1627                                      stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
1628                                      stroke-linejoin="round"/> 
1629                            </svg> 
1630                            <span>${newsInfo.newsImageFieldSet.legend}</span> 
1631                        </a> 
1632                    </div> 
1633                </div> 
1634            </div> 
1635        </#if> 
1636    </div> 
1637    <style> 
1638        .ptb-news__read-news .news-featured-image { 
1639            padding: 0 0 var(--space-xl) 0; 
1640
1641 
1642        .ptb-news__read-news .news-featured-image img { 
1643            width: 100%; 
1644            height: 470px; 
1645            object-fit: cover; 
1646            border-radius: var(--border-radius-lg, 16px); 
1647
1648 
1649        .ptb-news__read-news .news-featured-image * { 
1650            font-family: var(--font-family-base); 
1651            line-height: var(--line-height-xl); 
1652
1653 
1654        .ptb-news__read-news .news-featured-image .credits { 
1655            font-style: var(--font-style-normal); 
1656            font-weight: var(--font-weight-bold, 700); 
1657            font-size: var(--font-size-micro, 12px); 
1658            text-align: right; 
1659            color: var(--color-neutral-600, #959595); 
1660            margin-bottom: var(--space-xxxs, 4px); 
1661
1662 
1663        body.high-contrast-active .ptb-news__read-news .news-featured-image .credits { 
1664            color: var(--text-secondary-default, #F8F8F8); 
1665
1666 
1667        .ptb-news__read-news .news-featured-image .legend { 
1668            margin-top: var(--space-xxxs, 4px); 
1669            display: flex; 
1670            justify-content: space-between; 
1671
1672 
1673        .ptb-news__read-news .news-featured-image .legend .download-news-image { 
1674            position: relative; 
1675
1676 
1677        .ptb-news__read-news .news-featured-image .legend .download-news-image span { 
1678           position: absolute; 
1679           top: 0; 
1680           left: 0; 
1681           opacity: 0; 
1682           width: 100%; 
1683           height: 100%; 
1684
1685 
1686        .ptb-news__read-news .news-featured-image .legend, 
1687        .ptb-news__read-news .news-featured-image .legend * { 
1688            font-style: var(--font-style-italic, italic); 
1689            font-weight: var(--font-weight-regular, 400); 
1690            font-size: var(--font-size-xxs, 16px); 
1691            color: var(--color-neutral-700, #515867); 
1692
1693 
1694        .ptb-news__read-news .news-featured-image .legend a { 
1695            display: flex; 
1696            align-items: center; 
1697            gap: var(--space-sm, 16px); 
1698            color: var(--color-primary-brand, #008542); 
1699            font-family: var(--font-family-base); 
1700            font-size: var(--font-size-xxxs, 14px); 
1701            font-style: var(--font-style-normal, normal); 
1702            font-weight: var(--font-weight-bold, 700); 
1703            line-height: var(--line-height-lg, 144%); 
1704            text-decoration-line: var(--text-decoration-underline, underline); 
1705
1706 
1707        body.high-contrast-active .ptb-news__read-news .news-featured-image .legend, 
1708        body.high-contrast-active .ptb-news__read-news .news-featured-image .legend * { 
1709            color: var(--text-secondary-default, #F8F8F8); 
1710
1711 
1712        body.high-contrast-active .ptb-news__read-news .news-featured-image .legend .download svg path { 
1713            stroke: var(--color-primary-solid-to-bright-200, var(--color-primary-medium)); 
1714
1715 
1716        .ptb-news__read-news .news-featured-image .legend .download * { 
1717          pointer-events: none; 
1718
1719 
1720        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1721            .ptb-news__read-news .news-featured-image .legend, 
1722            .ptb-news__read-news .news-featured-image .legend * { 
1723                font-size: var(--font-size-xxs, 14px); 
1724                line-height: var(--line-height-xl, 160%); 
1725
1726 
1727            .ptb-news__read-news .news-featured-image img { 
1728                height: 163px; 
1729
1730
1731    </style> 
1732 
1733<#--/#if --> 
1734</#macro> 
1735<#-- ################################################################################################################## --> 
1736 
1737<#-- ############# Site de Crise - Notícia - Conteúdo da notícia ###################################################### --> 
1738 
1739<#macro renderNewsContent newsInfo> 
1740 
1741    <#assign targetStr = "<div class='paragraph_separator'><span class='dot'></span><span class='dot'></span><span class='dot'></span><span class='dot'></span></div>"> 
1742    <#assign content = newsInfo.newsContent?replace("<p></p>", targetStr, 'r')> 
1743    <#assign content = content?replace("<p> </p>", targetStr, 'r')> 
1744    <#assign content = content?replace("<p></p>", targetStr, 'r')> 
1745    <#assign content = content?replace("<p>&nbsp;</p>", targetStr, 'r')> 
1746 
1747    <div class="news-content breakpoint"> 
1748        ${content} 
1749 
1750        <div class="audio-template audio-pause audio-unmuted" style="display:none"> 
1751            <div class="audio-button-play"> 
1752                <svg class="audio-play-icon" width="100%" height="100%" viewBox="0 0 91 90" fill="#008542" 
1753                     xmlns="http://www.w3.org/2000/svg"> 
1754                    <circle cx="45.2903" cy="45" r="44.5" stroke="#008542"></circle> 
1755                    <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" 
1756                          fill="white"></path> 
1757                </svg> 
1758 
1759                <svg class="audio-pause-icon" width="100%" height="100%" viewBox="0 0 91 90" fill="#008542" 
1760                     xmlns="http://www.w3.org/2000/svg"> 
1761                    <circle cx="45.2903" cy="45" r="44.5" stroke="#008542"></circle> 
1762                    <path d="M42.3736 30.4167H33.6236V59.5834H42.3736V30.4167Z" fill="white"></path> 
1763                    <path d="M48.2069 59.5834H56.9569V30.4167H48.2069V59.5834Z" fill="white"></path> 
1764                </svg> 
1765            </div> 
1766            <div class="audio-sondwave"> 
1767                <svg class="audio-sondwave-desktop" width="100%" height="100%" viewBox="0 0 590 30" fill="none" 
1768                     xmlns="http://www.w3.org/2000/svg"> 
1769                    <g clip-path="url(#clip0_2625_8152)"> 
1770                        <line x1="0.75" y1="0.75" x2="0.749999" y2="29.25" stroke="#008542" stroke-width="1.5" 
1771                              stroke-linecap="round"/> 
1772                        <line x1="5.91016" y1="7.75" x2="5.91016" y2="21.25" stroke="#008542" stroke-width="1.5" 
1773                              stroke-linecap="round"/> 
1774                        <line x1="11.0723" y1="5.75" x2="11.0723" y2="24.25" stroke="#008542" stroke-width="1.5" 
1775                              stroke-linecap="round"/> 
1776                        <line x1="16.2344" y1="11.75" x2="16.2344" y2="18.25" stroke="#008542" stroke-width="1.5" 
1777                              stroke-linecap="round"/> 
1778                        <line x1="21.3945" y1="9.75" x2="21.3945" y2="20.25" stroke="#008542" stroke-width="1.5" 
1779                              stroke-linecap="round"/> 
1780                        <line x1="26.5566" y1="9.75" x2="26.5566" y2="19.25" stroke="#008542" stroke-width="1.5" 
1781                              stroke-linecap="round"/> 
1782                        <line x1="30.6855" y1="1.75" x2="30.6855" y2="28.25" stroke="#008542" stroke-width="1.5" 
1783                              stroke-linecap="round"/> 
1784                        <line x1="35.8477" y1="12.75" x2="35.8477" y2="17.25" stroke="#008542" stroke-width="1.5" 
1785                              stroke-linecap="round"/> 
1786                        <line x1="41.0078" y1="13.75" x2="41.0078" y2="16.25" stroke="#008542" stroke-width="1.5" 
1787                              stroke-linecap="round"/> 
1788                        <line x1="46.1699" y1="10.75" x2="46.1699" y2="19.25" stroke="#008542" stroke-width="1.5" 
1789                              stroke-linecap="round"/> 
1790                        <line x1="51.3301" y1="8.75" x2="51.3301" y2="20.25" stroke="#008542" stroke-width="1.5" 
1791                              stroke-linecap="round"/> 
1792                        <line x1="56.4922" y1="0.75" x2="56.4922" y2="29.25" stroke="#008542" stroke-width="1.5" 
1793                              stroke-linecap="round"/> 
1794                        <line x1="61.6523" y1="7.75" x2="61.6523" y2="21.25" stroke="#008542" stroke-width="1.5" 
1795                              stroke-linecap="round"/> 
1796                        <line x1="66.8145" y1="5.75" x2="66.8145" y2="24.25" stroke="#008542" stroke-width="1.5" 
1797                              stroke-linecap="round"/> 
1798                        <line x1="71.9766" y1="11.75" x2="71.9766" y2="18.25" stroke="#008542" stroke-width="1.5" 
1799                              stroke-linecap="round"/> 
1800                        <line x1="77.1367" y1="9.75" x2="77.1367" y2="20.25" stroke="#008542" stroke-width="1.5" 
1801                              stroke-linecap="round"/> 
1802                        <line x1="82.2988" y1="9.75" x2="82.2988" y2="19.25" stroke="#008542" stroke-width="1.5" 
1803                              stroke-linecap="round"/> 
1804                        <line x1="86.4277" y1="1.75" x2="86.4277" y2="28.25" stroke="#008542" stroke-width="1.5" 
1805                              stroke-linecap="round"/> 
1806                        <line x1="91.5879" y1="12.75" x2="91.5879" y2="17.25" stroke="#008542" stroke-width="1.5" 
1807                              stroke-linecap="round"/> 
1808                        <line x1="96.75" y1="13.75" x2="96.75" y2="16.25" stroke="#008542" stroke-width="1.5" 
1809                              stroke-linecap="round"/> 
1810                        <line x1="101.91" y1="10.75" x2="101.91" y2="19.25" stroke="#008542" stroke-width="1.5" 
1811                              stroke-linecap="round"/> 
1812                        <line x1="107.072" y1="8.75" x2="107.072" y2="20.25" stroke="#008542" stroke-width="1.5" 
1813                              stroke-linecap="round"/> 
1814                        <line x1="112.234" y1="0.75" x2="112.234" y2="29.25" stroke="#008542" stroke-width="1.5" 
1815                              stroke-linecap="round"/> 
1816                        <line x1="117.395" y1="7.75" x2="117.395" y2="21.25" stroke="#008542" stroke-width="1.5" 
1817                              stroke-linecap="round"/> 
1818                        <line x1="122.557" y1="5.75" x2="122.557" y2="24.25" stroke="#008542" stroke-width="1.5" 
1819                              stroke-linecap="round"/> 
1820                        <line x1="127.717" y1="11.75" x2="127.717" y2="18.25" stroke="#008542" stroke-width="1.5" 
1821                              stroke-linecap="round"/> 
1822                        <line x1="132.879" y1="9.75" x2="132.879" y2="20.25" stroke="#008542" stroke-width="1.5" 
1823                              stroke-linecap="round"/> 
1824                        <line x1="138.041" y1="9.75" x2="138.041" y2="19.25" stroke="#008542" stroke-width="1.5" 
1825                              stroke-linecap="round"/> 
1826                        <line x1="142.17" y1="1.75" x2="142.17" y2="28.25" stroke="#008542" stroke-width="1.5" 
1827                              stroke-linecap="round"/> 
1828                        <line x1="147.33" y1="12.75" x2="147.33" y2="17.25" stroke="#008542" stroke-width="1.5" 
1829                              stroke-linecap="round"/> 
1830                        <line x1="151.75" y1="0.75" x2="151.75" y2="29.25" stroke="#008542" stroke-width="1.5" 
1831                              stroke-linecap="round"/> 
1832                        <line x1="156.91" y1="7.75" x2="156.91" y2="21.25" stroke="#008542" stroke-width="1.5" 
1833                              stroke-linecap="round"/> 
1834                        <line x1="162.072" y1="5.75" x2="162.072" y2="24.25" stroke="#008542" stroke-width="1.5" 
1835                              stroke-linecap="round"/> 
1836                        <line x1="167.234" y1="11.75" x2="167.234" y2="18.25" stroke="#008542" stroke-width="1.5" 
1837                              stroke-linecap="round"/> 
1838                        <line x1="172.395" y1="9.75" x2="172.395" y2="20.25" stroke="#008542" stroke-width="1.5" 
1839                              stroke-linecap="round"/> 
1840                        <line x1="177.557" y1="9.75" x2="177.557" y2="19.25" stroke="#008542" stroke-width="1.5" 
1841                              stroke-linecap="round"/> 
1842                        <line x1="181.686" y1="1.75" x2="181.686" y2="28.25" stroke="#008542" stroke-width="1.5" 
1843                              stroke-linecap="round"/> 
1844                        <line x1="186.848" y1="12.75" x2="186.848" y2="17.25" stroke="#008542" stroke-width="1.5" 
1845                              stroke-linecap="round"/> 
1846                        <line x1="192.008" y1="13.75" x2="192.008" y2="16.25" stroke="#008542" stroke-width="1.5" 
1847                              stroke-linecap="round"/> 
1848                        <line x1="197.17" y1="10.75" x2="197.17" y2="19.25" stroke="#008542" stroke-width="1.5" 
1849                              stroke-linecap="round"/> 
1850                        <line x1="202.33" y1="8.75" x2="202.33" y2="20.25" stroke="#008542" stroke-width="1.5" 
1851                              stroke-linecap="round"/> 
1852                        <line x1="207.492" y1="0.75" x2="207.492" y2="29.25" stroke="#008542" stroke-width="1.5" 
1853                              stroke-linecap="round"/> 
1854                        <line x1="212.652" y1="7.75" x2="212.652" y2="21.25" stroke="#008542" stroke-width="1.5" 
1855                              stroke-linecap="round"/> 
1856                        <line x1="217.814" y1="5.75" x2="217.814" y2="24.25" stroke="#008542" stroke-width="1.5" 
1857                              stroke-linecap="round"/> 
1858                        <line x1="222.977" y1="11.75" x2="222.977" y2="18.25" stroke="#008542" stroke-width="1.5" 
1859                              stroke-linecap="round"/> 
1860                        <line x1="228.137" y1="9.75" x2="228.137" y2="20.25" stroke="#008542" stroke-width="1.5" 
1861                              stroke-linecap="round"/> 
1862                        <line x1="233.299" y1="9.75" x2="233.299" y2="19.25" stroke="#008542" stroke-width="1.5" 
1863                              stroke-linecap="round"/> 
1864                        <line x1="237.428" y1="1.75" x2="237.428" y2="28.25" stroke="#008542" stroke-width="1.5" 
1865                              stroke-linecap="round"/> 
1866                        <line x1="242.588" y1="12.75" x2="242.588" y2="17.25" stroke="#008542" stroke-width="1.5" 
1867                              stroke-linecap="round"/> 
1868                        <line x1="247.75" y1="13.75" x2="247.75" y2="16.25" stroke="#008542" stroke-width="1.5" 
1869                              stroke-linecap="round"/> 
1870                        <line x1="252.91" y1="10.75" x2="252.91" y2="19.25" stroke="#008542" stroke-width="1.5" 
1871                              stroke-linecap="round"/> 
1872                        <line x1="258.072" y1="8.75" x2="258.072" y2="20.25" stroke="#008542" stroke-width="1.5" 
1873                              stroke-linecap="round"/> 
1874                        <line x1="263.234" y1="0.75" x2="263.234" y2="29.25" stroke="#008542" stroke-width="1.5" 
1875                              stroke-linecap="round"/> 
1876                        <line x1="268.395" y1="7.75" x2="268.395" y2="21.25" stroke="#008542" stroke-width="1.5" 
1877                              stroke-linecap="round"/> 
1878                        <line x1="273.557" y1="5.75" x2="273.557" y2="24.25" stroke="#008542" stroke-width="1.5" 
1879                              stroke-linecap="round"/> 
1880                        <line x1="278.717" y1="11.75" x2="278.717" y2="18.25" stroke="#008542" stroke-width="1.5" 
1881                              stroke-linecap="round"/> 
1882                        <line x1="283.879" y1="9.75" x2="283.879" y2="20.25" stroke="#008542" stroke-width="1.5" 
1883                              stroke-linecap="round"/> 
1884                        <line x1="289.041" y1="9.75" x2="289.041" y2="19.25" stroke="#008542" stroke-width="1.5" 
1885                              stroke-linecap="round"/> 
1886                        <line x1="293.17" y1="1.75" x2="293.17" y2="28.25" stroke="#008542" stroke-width="1.5" 
1887                              stroke-linecap="round"/> 
1888                        <line x1="298.33" y1="12.75" x2="298.33" y2="17.25" stroke="#008542" stroke-width="1.5" 
1889                              stroke-linecap="round"/> 
1890                        <line x1="302.75" y1="10.75" x2="302.75" y2="19.25" stroke="#008542" stroke-width="1.5" 
1891                              stroke-linecap="round"/> 
1892                        <line x1="307.912" y1="8.75" x2="307.912" y2="20.25" stroke="#008542" stroke-width="1.5" 
1893                              stroke-linecap="round"/> 
1894                        <line x1="313.072" y1="0.75" x2="313.072" y2="29.25" stroke="#008542" stroke-width="1.5" 
1895                              stroke-linecap="round"/> 
1896                        <line x1="318.234" y1="7.75" x2="318.234" y2="21.25" stroke="#008542" stroke-width="1.5" 
1897                              stroke-linecap="round"/> 
1898                        <line x1="323.395" y1="5.75" x2="323.395" y2="24.25" stroke="#008542" stroke-width="1.5" 
1899                              stroke-linecap="round"/> 
1900                        <line x1="328.557" y1="11.75" x2="328.557" y2="18.25" stroke="#008542" stroke-width="1.5" 
1901                              stroke-linecap="round"/> 
1902                        <line x1="333.719" y1="9.75" x2="333.719" y2="20.25" stroke="#008542" stroke-width="1.5" 
1903                              stroke-linecap="round"/> 
1904                        <line x1="338.879" y1="9.75" x2="338.879" y2="19.25" stroke="#008542" stroke-width="1.5" 
1905                              stroke-linecap="round"/> 
1906                        <line x1="343.008" y1="1.75" x2="343.008" y2="28.25" stroke="#008542" stroke-width="1.5" 
1907                              stroke-linecap="round"/> 
1908                        <line x1="348.17" y1="12.75" x2="348.17" y2="17.25" stroke="#008542" stroke-width="1.5" 
1909                              stroke-linecap="round"/> 
1910                        <line x1="353.33" y1="13.75" x2="353.33" y2="16.25" stroke="#008542" stroke-width="1.5" 
1911                              stroke-linecap="round"/> 
1912                        <line x1="358.492" y1="10.75" x2="358.492" y2="19.25" stroke="#008542" stroke-width="1.5" 
1913                              stroke-linecap="round"/> 
1914                        <line x1="363.652" y1="8.75" x2="363.652" y2="20.25" stroke="#008542" stroke-width="1.5" 
1915                              stroke-linecap="round"/> 
1916                        <line x1="368.814" y1="0.75" x2="368.814" y2="29.25" stroke="#008542" stroke-width="1.5" 
1917                              stroke-linecap="round"/> 
1918                        <line x1="373.977" y1="7.75" x2="373.977" y2="21.25" stroke="#008542" stroke-width="1.5" 
1919                              stroke-linecap="round"/> 
1920                        <line x1="379.137" y1="5.75" x2="379.137" y2="24.25" stroke="#008542" stroke-width="1.5" 
1921                              stroke-linecap="round"/> 
1922                        <line x1="384.299" y1="11.75" x2="384.299" y2="18.25" stroke="#008542" stroke-width="1.5" 
1923                              stroke-linecap="round"/> 
1924                        <line x1="389.459" y1="9.75" x2="389.459" y2="20.25" stroke="#008542" stroke-width="1.5" 
1925                              stroke-linecap="round"/> 
1926                        <line x1="394.621" y1="9.75" x2="394.621" y2="19.25" stroke="#008542" stroke-width="1.5" 
1927                              stroke-linecap="round"/> 
1928                        <line x1="398.75" y1="1.75" x2="398.75" y2="28.25" stroke="#008542" stroke-width="1.5" 
1929                              stroke-linecap="round"/> 
1930                        <line x1="403.912" y1="12.75" x2="403.912" y2="17.25" stroke="#008542" stroke-width="1.5" 
1931                              stroke-linecap="round"/> 
1932                        <line x1="408.33" y1="10.75" x2="408.33" y2="19.25" stroke="#008542" stroke-width="1.5" 
1933                              stroke-linecap="round"/> 
1934                        <line x1="413.492" y1="8.75" x2="413.492" y2="20.25" stroke="#008542" stroke-width="1.5" 
1935                              stroke-linecap="round"/> 
1936                        <line x1="418.654" y1="0.75" x2="418.654" y2="29.25" stroke="#008542" stroke-width="1.5" 
1937                              stroke-linecap="round"/> 
1938                        <line x1="423.814" y1="7.75" x2="423.814" y2="21.25" stroke="#008542" stroke-width="1.5" 
1939                              stroke-linecap="round"/> 
1940                        <line x1="428.977" y1="5.75" x2="428.977" y2="24.25" stroke="#008542" stroke-width="1.5" 
1941                              stroke-linecap="round"/> 
1942                        <line x1="434.137" y1="11.75" x2="434.137" y2="18.25" stroke="#008542" stroke-width="1.5" 
1943                              stroke-linecap="round"/> 
1944                        <line x1="439.299" y1="9.75" x2="439.299" y2="20.25" stroke="#008542" stroke-width="1.5" 
1945                              stroke-linecap="round"/> 
1946                        <line x1="444.461" y1="9.75" x2="444.461" y2="19.25" stroke="#008542" stroke-width="1.5" 
1947                              stroke-linecap="round"/> 
1948                        <line x1="448.59" y1="1.75" x2="448.59" y2="28.25" stroke="#008542" stroke-width="1.5" 
1949                              stroke-linecap="round"/> 
1950                        <line x1="453.75" y1="12.75" x2="453.75" y2="17.25" stroke="#008542" stroke-width="1.5" 
1951                              stroke-linecap="round"/> 
1952                        <line x1="458.912" y1="13.75" x2="458.912" y2="16.25" stroke="#008542" stroke-width="1.5" 
1953                              stroke-linecap="round"/> 
1954                        <line x1="464.072" y1="10.75" x2="464.072" y2="19.25" stroke="#008542" stroke-width="1.5" 
1955                              stroke-linecap="round"/> 
1956                        <line x1="469.234" y1="8.75" x2="469.234" y2="20.25" stroke="#008542" stroke-width="1.5" 
1957                              stroke-linecap="round"/> 
1958                        <line x1="474.395" y1="0.75" x2="474.395" y2="29.25" stroke="#008542" stroke-width="1.5" 
1959                              stroke-linecap="round"/> 
1960                        <line x1="479.557" y1="7.75" x2="479.557" y2="21.25" stroke="#008542" stroke-width="1.5" 
1961                              stroke-linecap="round"/> 
1962                        <line x1="484.719" y1="5.75" x2="484.719" y2="24.25" stroke="#008542" stroke-width="1.5" 
1963                              stroke-linecap="round"/> 
1964                        <line x1="489.879" y1="11.75" x2="489.879" y2="18.25" stroke="#008542" stroke-width="1.5" 
1965                              stroke-linecap="round"/> 
1966                        <line x1="495.041" y1="9.75" x2="495.041" y2="20.25" stroke="#008542" stroke-width="1.5" 
1967                              stroke-linecap="round"/> 
1968                        <line x1="500.201" y1="9.75" x2="500.201" y2="19.25" stroke="#008542" stroke-width="1.5" 
1969                              stroke-linecap="round"/> 
1970                        <line x1="504.33" y1="1.75" x2="504.33" y2="28.25" stroke="#008542" stroke-width="1.5" 
1971                              stroke-linecap="round"/> 
1972                        <line x1="509.492" y1="12.75" x2="509.492" y2="17.25" stroke="#008542" stroke-width="1.5" 
1973                              stroke-linecap="round"/> 
1974                        <line x1="513.912" y1="10.75" x2="513.912" y2="19.25" stroke="#008542" stroke-width="1.5" 
1975                              stroke-linecap="round"/> 
1976                        <line x1="519.072" y1="8.75" x2="519.072" y2="20.25" stroke="#008542" stroke-width="1.5" 
1977                              stroke-linecap="round"/> 
1978                        <line x1="524.234" y1="0.75" x2="524.234" y2="29.25" stroke="#008542" stroke-width="1.5" 
1979                              stroke-linecap="round"/> 
1980                        <line x1="529.395" y1="7.75" x2="529.395" y2="21.25" stroke="#008542" stroke-width="1.5" 
1981                              stroke-linecap="round"/> 
1982                        <line x1="534.557" y1="5.75" x2="534.557" y2="24.25" stroke="#008542" stroke-width="1.5" 
1983                              stroke-linecap="round"/> 
1984                        <line x1="539.719" y1="11.75" x2="539.719" y2="18.25" stroke="#008542" stroke-width="1.5" 
1985                              stroke-linecap="round"/> 
1986                        <line x1="544.879" y1="9.75" x2="544.879" y2="20.25" stroke="#008542" stroke-width="1.5" 
1987                              stroke-linecap="round"/> 
1988                        <line x1="550.041" y1="9.75" x2="550.041" y2="19.25" stroke="#008542" stroke-width="1.5" 
1989                              stroke-linecap="round"/> 
1990                        <line x1="554.17" y1="1.75" x2="554.17" y2="28.25" stroke="#008542" stroke-width="1.5" 
1991                              stroke-linecap="round"/> 
1992                        <line x1="559.332" y1="12.75" x2="559.332" y2="17.25" stroke="#008542" stroke-width="1.5" 
1993                              stroke-linecap="round"/> 
1994                        <line x1="564.492" y1="13.75" x2="564.492" y2="16.25" stroke="#008542" stroke-width="1.5" 
1995                              stroke-linecap="round"/> 
1996                        <line x1="569.654" y1="10.75" x2="569.654" y2="19.25" stroke="#008542" stroke-width="1.5" 
1997                              stroke-linecap="round"/> 
1998                        <line x1="574.814" y1="8.75" x2="574.814" y2="20.25" stroke="#008542" stroke-width="1.5" 
1999                              stroke-linecap="round"/> 
2000                        <line x1="579.977" y1="0.75" x2="579.977" y2="29.25" stroke="#008542" stroke-width="1.5" 
2001                              stroke-linecap="round"/> 
2002                        <line x1="585.137" y1="7.75" x2="585.137" y2="21.25" stroke="#008542" stroke-width="1.5" 
2003                              stroke-linecap="round"/> 
2004                        <line x1="590.299" y1="5.75" x2="590.299" y2="24.25" stroke="#008542" stroke-width="1.5" 
2005                              stroke-linecap="round"/> 
2006                    </g> 
2007                    <defs> 
2008                        <clipPath id="clip0_2625_8152"> 
2009                            <rect width="590" height="30" fill="white"/> 
2010                        </clipPath> 
2011                    </defs> 
2012                </svg> 
2013                <svg class="audio-sondwave-mobile" width="100%" height="100%" viewBox="0 0 102 30" fill="none" 
2014                     xmlns="http://www.w3.org/2000/svg"> 
2015                    <g clip-path="url(#clip0_2625_8922)"> 
2016                        <line x1="0.75" y1="0.75" x2="0.749999" y2="29.25" stroke="#008542" stroke-width="1.5" 
2017                              stroke-linecap="round"/> 
2018                        <line x1="5.91016" y1="7.75" x2="5.91016" y2="21.25" stroke="#008542" stroke-width="1.5" 
2019                              stroke-linecap="round"/> 
2020                        <line x1="11.0723" y1="5.75" x2="11.0723" y2="24.25" stroke="#008542" stroke-width="1.5" 
2021                              stroke-linecap="round"/> 
2022                        <line x1="16.2344" y1="11.75" x2="16.2344" y2="18.25" stroke="#008542" stroke-width="1.5" 
2023                              stroke-linecap="round"/> 
2024                        <line x1="21.3945" y1="9.75" x2="21.3945" y2="20.25" stroke="#008542" stroke-width="1.5" 
2025                              stroke-linecap="round"/> 
2026                        <line x1="26.5566" y1="9.75" x2="26.5566" y2="19.25" stroke="#008542" stroke-width="1.5" 
2027                              stroke-linecap="round"/> 
2028                        <line x1="30.6855" y1="1.75" x2="30.6855" y2="28.25" stroke="#008542" stroke-width="1.5" 
2029                              stroke-linecap="round"/> 
2030                        <line x1="35.8477" y1="12.75" x2="35.8477" y2="17.25" stroke="#008542" stroke-width="1.5" 
2031                              stroke-linecap="round"/> 
2032                        <line x1="41.0078" y1="13.75" x2="41.0078" y2="16.25" stroke="#008542" stroke-width="1.5" 
2033                              stroke-linecap="round"/> 
2034                        <line x1="46.1699" y1="10.75" x2="46.1699" y2="19.25" stroke="#008542" stroke-width="1.5" 
2035                              stroke-linecap="round"/> 
2036                        <line x1="51.3301" y1="8.75" x2="51.3301" y2="20.25" stroke="#008542" stroke-width="1.5" 
2037                              stroke-linecap="round"/> 
2038                        <line x1="56.4922" y1="0.75" x2="56.4922" y2="29.25" stroke="#008542" stroke-width="1.5" 
2039                              stroke-linecap="round"/> 
2040                        <line x1="61.6523" y1="7.75" x2="61.6523" y2="21.25" stroke="#008542" stroke-width="1.5" 
2041                              stroke-linecap="round"/> 
2042                        <line x1="66.8145" y1="5.75" x2="66.8145" y2="24.25" stroke="#008542" stroke-width="1.5" 
2043                              stroke-linecap="round"/> 
2044                        <line x1="71.9766" y1="11.75" x2="71.9766" y2="18.25" stroke="#008542" stroke-width="1.5" 
2045                              stroke-linecap="round"/> 
2046                        <line x1="77.1367" y1="9.75" x2="77.1367" y2="20.25" stroke="#008542" stroke-width="1.5" 
2047                              stroke-linecap="round"/> 
2048                        <line x1="82.2988" y1="9.75" x2="82.2988" y2="19.25" stroke="#008542" stroke-width="1.5" 
2049                              stroke-linecap="round"/> 
2050                        <line x1="86.4277" y1="1.75" x2="86.4277" y2="28.25" stroke="#008542" stroke-width="1.5" 
2051                              stroke-linecap="round"/> 
2052                        <line x1="91.5879" y1="12.75" x2="91.5879" y2="17.25" stroke="#008542" stroke-width="1.5" 
2053                              stroke-linecap="round"/> 
2054                        <line x1="96.75" y1="13.75" x2="96.75" y2="16.25" stroke="#008542" stroke-width="1.5" 
2055                              stroke-linecap="round"/> 
2056                        <line x1="101.91" y1="10.75" x2="101.91" y2="19.25" stroke="#008542" stroke-width="1.5" 
2057                              stroke-linecap="round"/> 
2058                    </g> 
2059                    <defs> 
2060                        <clipPath id="clip0_2625_8922"> 
2061                            <rect width="102" height="30" fill="white"/> 
2062                        </clipPath> 
2063                    </defs> 
2064                </svg> 
2065            </div> 
2066            <div class="audio-time paragraph-micro-bold"> 00:00</div> 
2067            <div class="audio-button-mute"> 
2068                <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"> 
2069                    <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" 
2070                          stroke="#525252" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 
2071                </svg> 
2072            </div> 
2073        </div> 
2074    </div> 
2075 
2076    <style> 
2077        .ptb-news__read-news .news-content { 
2078            gap: var(--space-xl, 44px); 
2079            padding-bottom: var(--space-giant, 80px); 
2080
2081 
2082        .ptb-news__read-news .news-content strong { 
2083            font-weight: var(--font-weight-bold); 
2084
2085 
2086        .ptb-news__read-news .news-content em { 
2087            font-style: var(--font-style-italic); 
2088
2089 
2090        .ptb-news__read-news .news-content a { 
2091            font-family: var(--font-family-base); 
2092            font-style: var(--font-style-normal, normal); 
2093            font-weight: var(--font-weight-bold, 700); 
2094            font-size: var(--font-size-xs, 18px); 
2095            line-height: var(--line-height-xl, 160%); 
2096 
2097            text-decoration-line: var(--text-decoration-underline, underline); 
2098            color: #008542; 
2099
2100 
2101        body.high-contrast-active .ptb-news__read-news .news-content a { 
2102            color: #E4F7E8; 
2103
2104 
2105        .ptb-news__read-news cite a { 
2106            font-family: var(--font-family-base); 
2107            font-style: var(--font-style-normal, normal); 
2108            font-weight: var(--font-weight-bold, 700); 
2109            font-size: var(--font-size-xs, 18px); 
2110            line-height: var(--line-height-xl, 160%); 
2111 
2112            text-decoration-line: var(--text-decoration-underline, underline); 
2113            color: #008542; 
2114
2115 
2116        body.high-contrast-active .cite a { 
2117            color: #E4F7E8; 
2118
2119 
2120        .ptb-news__read-news .news-content ul { 
2121            padding-left: 27px; 
2122            margin-top: -16px; 
2123
2124 
2125        .ptb-news__read-news .news-content ul li::marker { 
2126            content: "■" !important; 
2127            color: var(--color-secondary-medium) !important; 
2128            font-size: var(--size-xxs); 
2129
2130 
2131        .ptb-news__read-news .news-content ul li { 
2132            color: var(--color-text-primary-default); 
2133            padding: 8px 0; 
2134 
2135            /*paragraph-sm-regular*/ 
2136            font-size: var(--font-size-xxs); 
2137            line-height: var(--line-height-xl); 
2138            font-weight: var(--font-weight-regular); 
2139            font-style: var(--font-style-normal); 
2140            text-decoration: var(--text-decoration-none); 
2141 
2142            margin-left: calc(-1 * var(--space-sm)); 
2143            padding-left: var(--space-sm); 
2144
2145 
2146        .ptb-news__read-news .news-content ul li * { 
2147            color: var(--color-text-primary-default); 
2148            padding: 8px 0; 
2149 
2150            /*paragraph-sm-regular*/ 
2151            font-size: var(--font-size-xxs); 
2152            line-height: var(--line-height-xl); 
2153            font-weight: var(--font-weight-regular); 
2154            font-style: var(--font-style-normal); 
2155            text-decoration: var(--text-decoration-none); 
2156
2157 
2158        .ptb-news__read-news .news-content > * { 
2159            grid-column-start: 3; 
2160            grid-column-end: 11; 
2161
2162 
2163        .ptb-news__read-news .news-content figure figcaption { 
2164            display: flex; 
2165            justify-content: space-between; 
2166            align-items: flex-start; 
2167            align-self: stretch; 
2168            margin-top: var(--space-xxs, 8px); 
2169            text-align: justify; 
2170
2171 
2172        .ptb-news__read-news .news-content figure figcaption, 
2173        .ptb-news__read-news .news-content figure figcaption * { 
2174            color: var(--color-neutral-700, #525252); 
2175            font-family: var(--font-family-base); 
2176            font-size: var(--font-size-xxxs, 14px); 
2177            font-style: var(--font-style-italic, italic); 
2178            font-weight: var(--font-weight-regular, 400); 
2179            line-height: var(--line-height-xl, 160%); 
2180
2181 
2182        body.high-contrast-active .ptb-news__read-news .news-content figure figcaption, 
2183        body.high-contrast-active .ptb-news__read-news .news-content figure figcaption * { 
2184            color: var(--text-secondary-default, #F8F8F8); 
2185
2186 
2187        .ptb-news__read-news .news-content figure figcaption br { 
2188            display: none; 
2189
2190 
2191        .ptb-news__read-news .news-content .embed-responsive { 
2192            width: 100% !important; 
2193            border-radius: var(--border-radius-md, 16px); 
2194
2195 
2196        .ptb-news__read-news .news-content img, 
2197        .ptb-news__read-news .news-content figure { 
2198            width: 100%; 
2199            object-fit: cover; 
2200            border-radius: var(--border-radius-md, 16px); 
2201
2202 
2203 
2204        .ptb-news__read-news .news-content p img { 
2205            width: 100%; 
2206            object-fit: cover; 
2207            border-radius: var(--border-radius-md, 16px); 
2208
2209 
2210        .ptb-news__read-news .news-content p, 
2211        .ptb-news__read-news .news-content span { 
2212            margin: 0; 
2213            padding: 0; 
2214
2215 
2216        .ptb-news__read-news .news-content p { 
2217            margin: -var(--space-xxs, 8px) 0; 
2218
2219 
2220        .ptb-news__read-news .news-content .carousel p { 
2221            margin: 0; 
2222
2223 
2224        .ptb-news__read-news .news-content .paragraph_separator { 
2225            display: flex; 
2226            width: 100%; 
2227            height: fit-content; 
2228            justify-content: center; 
2229            gap: 6px; 
2230
2231 
2232        .ptb-news__read-news .news-content .paragraph_separator .dot { 
2233            height: 4px; 
2234            width: 4px; 
2235            background-color: var(--color-neutral-600, #959595); 
2236            border-radius: 100%; 
2237            display: inline-block; 
2238
2239 
2240        .ptb-news__read-news .news-content * { 
2241            font-family: var(--font-family-base); 
2242            font-style: var(--font-style-normal, normal); 
2243            font-weight: var(--font-weight-regular, 400); 
2244            font-size: var(--font-size-xs, 18px); 
2245            line-height: var(--line-height-xl, 160%); 
2246            color: var(--color-neutral-800, #373737); 
2247
2248 
2249        body.high-contrast-active .ptb-news__read-news .news-content * { 
2250            color: var(--text-primary-default, var(--color-neutral-100)); 
2251
2252 
2253        .ptb-news__read-news .news-content p { 
2254            font-style: var(--font-style-normal, normal); 
2255            font-weight: var(--font-weight-regular, 400); 
2256            font-size: var(--font-size-xs, 16px); 
2257            line-height: var(--line-height-xl, 160%); 
2258            color: var(--color-neutral-700, #515867); 
2259
2260 
2261 
2262        .ptb-news__read-news .news-content h1, 
2263        .ptb-news__read-news .news-content h1 *, 
2264        .ptb-news__read-news .news-content h2, 
2265        .ptb-news__read-news .news-content h2 *, 
2266        .ptb-news__read-news .news-content h3, 
2267        .ptb-news__read-news .news-content h3 *, 
2268        .ptb-news__read-news .news-content h4, 
2269        .ptb-news__read-news .news-content h4 *, 
2270        .ptb-news__read-news .news-content h5, 
2271        .ptb-news__read-news .news-content h5 *, 
2272        .ptb-news__read-news .news-content h6, 
2273        .ptb-news__read-news .news-content h6 * { 
2274            color: var(--color-neutral-800, #373737) !important; 
2275
2276 
2277        body.high-contrast-active .ptb-news__read-news .news-content h1, 
2278        body.high-contrast-active .ptb-news__read-news .news-content h1 *, 
2279        body.high-contrast-active .ptb-news__read-news .news-content h2, 
2280        body.high-contrast-active .ptb-news__read-news .news-content h2 *, 
2281        body.high-contrast-active .ptb-news__read-news .news-content h3, 
2282        body.high-contrast-active .ptb-news__read-news .news-content h3 *, 
2283        body.high-contrast-active .ptb-news__read-news .news-content h4, 
2284        body.high-contrast-active .ptb-news__read-news .news-content h4 *, 
2285        body.high-contrast-active .ptb-news__read-news .news-content h5, 
2286        body.high-contrast-active .ptb-news__read-news .news-content h5 *, 
2287        body.high-contrast-active .ptb-news__read-news .news-content h6, 
2288        body.high-contrast-active .ptb-news__read-news .news-content h6 * { 
2289            color: var(--text-primary-default, var(--color-neutral-100)) !important; 
2290
2291 
2292        .ptb-news__read-news .news-content h1:last-child, 
2293        .ptb-news__read-news .news-content h2:last-child, 
2294        .ptb-news__read-news .news-content h3:last-child, 
2295        .ptb-news__read-news .news-content h4:last-child, 
2296        .ptb-news__read-news .news-content h5:last-child, 
2297        .ptb-news__read-news .news-content h5:last-child, 
2298        .ptb-news__read-news .news-content h6:last-child, 
2299        .ptb-news__read-news .news-content p:last-child { 
2300            padding-bottom: 0 !important; 
2301
2302 
2303        .ptb-news__read-news .news-content h1, 
2304        .ptb-news__read-news .news-content h1 * { 
2305            font-size: var(--font-size-xxl) !important; 
2306            line-height: var(--line-height-sm) !important; 
2307            font-weight: var(--font-weight-bold) !important; 
2308            font-style: var(--font-style-normal) !important; 
2309            text-decoration: var(--text-decoration-none) !important; 
2310
2311 
2312        .ptb-news__read-news .news-content h2, 
2313        .ptb-news__read-news .news-content h2 * { 
2314            font-size: var(--font-size-xl) !important; 
2315            line-height: var(--line-height-sm) !important; 
2316            font-weight: var(--font-weight-bold) !important; 
2317            font-style: var(--font-style-normal) !important; 
2318            text-decoration: var(--text-decoration-none) !important; 
2319 
2320
2321 
2322        .ptb-news__read-news .news-content h3, 
2323        .ptb-news__read-news .news-content h3 * { 
2324            font-size: var(--font-size-lg) !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        .ptb-news__read-news .news-content h4, 
2332        .ptb-news__read-news .news-content h4 * { 
2333            font-size: var(--font-size-md) !important; 
2334            line-height: var(--line-height-md) !important; 
2335            font-weight: var(--font-weight-bold) !important; 
2336            font-style: var(--font-style-normal) !important; 
2337            text-decoration: var(--text-decoration-none) !important; 
2338
2339 
2340        .ptb-news__read-news .news-content h5, 
2341        .ptb-news__read-news .news-content h5 * { 
2342            font-size: var(--font-size-sm) !important; 
2343            line-height: var(--line-height-md) !important; 
2344            font-weight: var(--font-weight-bold) !important; 
2345            font-style: var(--font-style-normal) !important; 
2346            text-decoration: var(--text-decoration-none) !important; 
2347
2348 
2349        .ptb-news__read-news .news-content table { 
2350            border-collapse: collapse; 
2351            border: none; 
2352            width: 100% !important; 
2353            margin: var(--space-sm, 16px) 0; 
2354
2355 
2356        .ptb-news__read-news .news-content table * { 
2357            font-size: var(--font-size-xxs, 16px); 
2358            font-style: var(--font-style-normal, normal); 
2359            font-weight: var(--font-weight-regular, 400); 
2360            line-height: var(--line-height-xl, 160%); 
2361            color: var(--color-neutral-800, #373737); 
2362            border: 0; 
2363
2364 
2365        body.high-contrast-active .ptb-news__read-news .news-content table * { 
2366            color: var(--text-primary-default, var(--color-neutral-100)); 
2367
2368 
2369        .ptb-news__read-news .news-content table tbody > :first-child, 
2370        .ptb-news__read-news .news-content table tbody > :first-child * { 
2371            font-weight: var(--font-weight-bold, 700); 
2372            flex: 1 0 0; 
2373            background: var(--background-Surface-level-02, #F8F8F8); 
2374
2375 
2376        body.high-contrast-active .ptb-news__read-news .news-content table tbody > :first-child, 
2377        body.high-contrast-active .ptb-news__read-news .news-content table tbody > :first-child * { 
2378            background: #373737; 
2379
2380 
2381        .ptb-news__read-news .news-content table tbody { 
2382            display: flex; 
2383            flex-direction: column; 
2384
2385 
2386        .ptb-news__read-news .news-content table tbody * { 
2387            display: flex; 
2388					  height: 100%; 
2389            align-items: center; 
2390            flex: 1 0 0; 
2391
2392 
2393        .ptb-news__read-news .news-content table tbody tr * {          
2394           padding: 23px var(--space-lg, 32px); 
2395
2396 
2397        .ptb-news__read-news .news-content table tbody tr { 
2398            border-radius: var(--border-radius-md); 
2399            border: var(--border-width-hairline, 1px) solid #EEEEEE; 
2400
2401 
2402        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr { 
2403            border: var(--border-width-hairline, 1px) solid #525252; 
2404
2405 
2406        .ptb-news__read-news .news-content table tbody tr:not(:last-child) { 
2407            border-bottom-left-radius: 0; 
2408            border-bottom-right-radius: 0; 
2409
2410 
2411        .ptb-news__read-news .news-content table tbody tr:not(:first-child) { 
2412            border-top-left-radius: 0; 
2413            border-top-right-radius: 0; 
2414            border-top: none; 
2415
2416 
2417        .ptb-news__read-news .news-content table tbody tr td:not(:last-child) { 
2418            border-right: var(--border-width-hairline, 1px) solid #EEEEEE; 
2419
2420 
2421        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr td:not(:last-child) { 
2422            border-right: var(--border-width-hairline, 1px) solid #525252; 
2423
2424 
2425        .ptb-news__read-news .news-content table tbody tr:first-child td { 
2426            border-top: var(--border-width-hairline, 1px) solid #EEEEEE; 
2427            border-bottom: var(--border-width-hairline, 1px) solid #EEEEEE; 
2428
2429 
2430        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr:first-child td { 
2431            border-top: var(--border-width-hairline, 1px) solid #525252; 
2432            border-bottom: var(--border-width-hairline, 1px) solid #525252; 
2433
2434 
2435        .ptb-news__read-news .news-content audio { 
2436            display: none; 
2437
2438 
2439        .ptb-news__read-news .news-content .audio-template { 
2440            display: flex; 
2441            padding: var(--space-sm, 16px); 
2442            align-items: center; 
2443            gap: var(--space-md, 24px); 
2444            align-self: stretch; 
2445            border-radius: var(--border-radius-lg, 16px); 
2446            border: var(--border-width-hairline, 1px) solid var(--border-color-mid); 
2447            background: var(--background-card-default, #FFF); 
2448            max-height: var(--size-giant, 72px); 
2449
2450 
2451        body.high-contrast-active .ptb-news__read-news .news-content .audio-template { 
2452            background: var(--background-card-default, #010101); 
2453            border: var(--border-width-hairline, 1px) solid #525252; 
2454
2455 
2456        .ptb-news__read-news .news-content .audio-template .audio-button-play { 
2457            display: flex; 
2458            width: var(--size-xl, 40px); 
2459            height: var(--size-xl, 40px); 
2460            justify-content: center; 
2461            align-items: center; 
2462            flex-grow: 0; 
2463            flex-shrink: 0; 
2464            cursor: pointer; 
2465
2466 
2467        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-play-icon, 
2468        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-pause-icon { 
2469            fill: #FFFFFF; 
2470
2471 
2472        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-play-icon path, 
2473        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-pause-icon path { 
2474            fill: #010101; 
2475
2476 
2477        .ptb-news__read-news .news-content .audio-template.audio-pause .audio-button-play .audio-play-icon { 
2478            display: block; 
2479
2480 
2481        .ptb-news__read-news .news-content .audio-template.audio-pause .audio-button-play .audio-pause-icon { 
2482            display: none; 
2483
2484 
2485        .ptb-news__read-news .news-content .audio-template.audio-play .audio-button-play .audio-play-icon { 
2486            display: none; 
2487
2488 
2489        .ptb-news__read-news .news-content .audio-template.audio-play .audio-button-play .audio-pause-icon { 
2490            display: block; 
2491
2492 
2493        .ptb-news__read-news .news-content .audio-template .audio-sondwave { 
2494            display: flex; 
2495            flex-direction: column; 
2496            align-items: flex-start; 
2497            gap: var(--space-xxs, 8px); 
2498            flex: 1 0 0; 
2499            height: 100%; 
2500            flex-grow: 1; 
2501            flex-shrink: 1; 
2502
2503 
2504        .ptb-news__read-news .news-content .audio-template .audio-sondwave line { 
2505            stroke: #008542; 
2506
2507 
2508        .ptb-news__read-news .news-content .audio-template .audio-sondwave line.line-active { 
2509            stroke: #90EE90; 
2510
2511 
2512        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-sondwave line { 
2513            stroke: #E4F7E8; 
2514
2515 
2516        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-sondwave line.line-active { 
2517            stroke: #666666; 
2518
2519 
2520        .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-mobile { 
2521            display: none; 
2522
2523 
2524        .ptb-news__read-news .news-content .audio-template .audio-time { 
2525            display: flex; 
2526            flex-direction: column; 
2527            align-items: flex-start; 
2528            gap: var(--space-xxs, 8px); 
2529            flex: 1 0 0; 
2530            color: var(--text-primary-accent, #008542); 
2531            text-align: center; 
2532            font-family: var(--font-family-base); 
2533            line-height: 124% !important; 
2534            flex-grow: 0; 
2535            flex-shrink: 0; 
2536
2537 
2538        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-time { 
2539            color: var(--text-primary-accent, #E4F7E8); 
2540
2541 
2542        .ptb-news__read-news .news-content .audio-template .audio-button-mute { 
2543            width: var(--size-lg, 32px); 
2544            height: var(--size-lg, 32px); 
2545            flex-grow: 0; 
2546            flex-shrink: 0; 
2547            cursor: pointer; 
2548
2549 
2550        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-mute svg path { 
2551            stroke: white; 
2552            fill: none; 
2553
2554 
2555        .ptb-news__read-news .news-content .audio-template.audio-muted .audio-button-mute { 
2556            opacity: 0.6; 
2557
2558 
2559        @media screen and (max-width: 1024px) { 
2560            .ptb-news__read-news .news-content > * { 
2561                grid-column-start: 1; 
2562                grid-column-end: 9; 
2563
2564
2565 
2566        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
2567 
2568            .ptb-news__read-news .news-content * { 
2569                font-size: var(--font-size-xxs, 16px); 
2570
2571 
2572            .ptb-news__read-news .news-content > * { 
2573                grid-column-start: 1; 
2574                grid-column-end: 5; 
2575
2576 
2577            .ptb-news__read-news .news-content h1, 
2578            .ptb-news__read-news .news-content h1 * { 
2579                font-size: var(--font-size-xl) !important; 
2580                line-height: var(--line-height-sm) !important; 
2581                font-weight: var(--font-weight-bold) !important; 
2582                font-style: var(--font-style-normal) !important; 
2583                text-decoration: var(--text-decoration-none) !important; 
2584 
2585
2586 
2587            .ptb-news__read-news .news-content h2, 
2588            .ptb-news__read-news .news-content h2 * { 
2589                font-size: var(--font-size-lg) !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            .ptb-news__read-news .news-content h3, 
2597            .ptb-news__read-news .news-content h3 * { 
2598                font-size: var(--font-size-md) !important; 
2599                line-height: var(--line-height-sm) !important; 
2600                font-weight: var(--font-weight-bold) !important; 
2601                font-style: var(--font-style-normal) !important; 
2602                text-decoration: var(--text-decoration-none) !important; 
2603
2604 
2605            .ptb-news__read-news .news-content h4, 
2606            .ptb-news__read-news .news-content h4 * { 
2607                font-size: var(--font-size-sm) !important; 
2608                line-height: var(--line-height-md) !important; 
2609                font-weight: var(--font-weight-bold) !important; 
2610                font-style: var(--font-style-normal) !important; 
2611                text-decoration: var(--text-decoration-none) !important; 
2612
2613 
2614            .ptb-news__read-news .news-content h5, 
2615            .ptb-news__read-news .news-content h5 * { 
2616                font-size: var(--font-size-xs) !important; 
2617                line-height: var(--line-height-md) !important; 
2618                font-weight: var(--font-weight-bold) !important; 
2619                font-style: var(--font-style-normal) !important; 
2620                text-decoration: var(--text-decoration-none) !important; 
2621
2622 
2623            .ptb-news__read-news .news-content figure figcaption { 
2624                flex-direction: column; 
2625                gap: var(--space-xxs, 8px); 
2626
2627 
2628            .ptb-news__read-news .news-content figure figcaption, 
2629            .ptb-news__read-news .news-content figure figcaption * { 
2630                font-size: var(--font-size-micro, 12px); 
2631
2632 
2633            .ptb-news__read-news .news-content table { 
2634                margin-top: var(--space-xxs, 8px); 
2635                margin-bottom: var(--space-lg, 32px); 
2636
2637 
2638            .ptb-news__read-news .news-content table * { 
2639                font-size: var(--font-size-micro, 12px); 
2640                line-height: 19.2px; 
2641
2642					 
2643            .ptb-news__read-news .news-content table tbody tr * { 
2644                padding: var(--space-xs, 12px); 
2645
2646
2647 
2648        @media screen and (max-width: 500px) { 
2649            .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-desktop { 
2650                display: none; 
2651
2652 
2653            .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-mobile { 
2654                display: block; 
2655
2656
2657    </style> 
2658 
2659    <script> 
2660        <#assign configureLinkTab = "configureLinkTab_" + randomNumber(5)> 
2661 
2662        function ${configureLinkTab}() { 
2663            const root = document.querySelector(".ptb-news__read-news"); 
2664            const newsContentElement = root.querySelector(".news-content"); 
2665            const pList = newsContentElement.querySelectorAll("p"); 
2666            pList.forEach((pElement) => { 
2667                const cont = pElement.innerHTML.trim(); 
2668                if (cont == "" || cont == "&nbsp;") { 
2669                    newsContentElement.removeChild(pElement); 
2670
2671            }); 
2672
2673 
2674        ${configureLinkTab}(); 
2675 
2676        document.addEventListener("DOMContentLoaded", () => { 
2677            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"); 
2678 
2679            headers.forEach((header) => { 
2680 
2681                const currentLevel = parseInt(header.tagName.charAt(1)); 
2682 
2683                if (currentLevel >= 1 && currentLevel <= 5) { 
2684 
2685                    const newLevel = currentLevel + 1; 
2686                    const newTagName = "h" + newLevel; 
2687 
2688                    // Criar a nova tag e transferir o conteúdo 
2689                    const newHeader = document.createElement(newTagName); 
2690                    newHeader.innerHTML = header.innerHTML; 
2691 
2692                    // Substituir a tag antiga pela nova 
2693                    header.parentNode.replaceChild(newHeader, header); 
2694
2695            }); 
2696        }); 
2697 
2698        AUI().ready(() => { 
2699            const audiosContainer = document.querySelectorAll(".ptb-news__read-news .news-content .audio-content"); 
2700            const audioTemplate = document.querySelector(".ptb-news__read-news .news-content .audio-template"); 
2701 
2702            audiosContainer.forEach((audioContainer) => { 
2703 
2704                const audio = audioContainer.querySelector("audio"); 
2705                const audioInterface = audioTemplate.cloneNode(true); 
2706 
2707                const sondwave = audioInterface.querySelector(".audio-sondwave"); 
2708                const linesDesktop = audioInterface.querySelectorAll(".audio-sondwave .audio-sondwave-desktop line"); 
2709                const linesMobile = audioInterface.querySelectorAll(".audio-sondwave .audio-sondwave-mobile line"); 
2710 
2711                const playPauseButtonAudioInterface = audioInterface.querySelector(".audio-button-play"); 
2712 
2713                playPauseButtonAudioInterface.addEventListener("click", () => { 
2714                    if (audioInterface.classList.contains("audio-play")) { 
2715                        audioInterface.classList.replace("audio-play", "audio-pause"); 
2716                        audio.pause(); 
2717                    } else { 
2718 
2719                        audiosContainer.forEach((audioContainer) => { 
2720                            const otherAudio = audioContainer.querySelector("audio"); 
2721                            const otherAudioInterface = audioContainer.querySelector(".audio-button-play"); 
2722                            !otherAudio.paused && otherAudioInterface.click(); 
2723                        }); 
2724 
2725                        audioInterface.classList.replace("audio-pause", "audio-play"); 
2726                        audio.play(); 
2727
2728                }); 
2729 
2730                const audioMuteButton = audioInterface.querySelector(".audio-button-mute"); 
2731 
2732                audioMuteButton.addEventListener("click", () => { 
2733                    if (audioInterface.classList.contains("audio-unmuted")) { 
2734                        audioInterface.classList.replace("audio-unmuted", "audio-muted"); 
2735                        audio.muted = true; 
2736                    } else { 
2737                        audioInterface.classList.replace("audio-muted", "audio-unmuted"); 
2738                        audio.muted = false; 
2739
2740                }); 
2741 
2742                const audioTime = audioInterface.querySelector(".audio-time"); 
2743                audioTime.textContent = Math.floor(audio.duration / 60) + ":" + Math.floor(audio.duration % 60); 
2744 
2745 
2746                audio.addEventListener("timeupdate", () => { 
2747                    let minutes = Math.floor((audio.duration - audio.currentTime) / 60); 
2748                    let seconds = Math.floor((audio.duration - audio.currentTime) % 60); 
2749 
2750                    minutes = minutes < 10 ? "0" + minutes : minutes; 
2751                    seconds = seconds < 10 ? "0" + seconds : seconds; 
2752 
2753                    audioTime.textContent = minutes + ":" + seconds; 
2754 
2755                    const progress = (audio.currentTime / audio.duration) * 100; 
2756 
2757                    linesDesktop.forEach(function (line, index) { 
2758                        const lineProgress = (index / linesDesktop.length) * 100; 
2759                        if (progress >= lineProgress) { 
2760                            !line.classList.contains("line-active") && line.classList.add("line-active"); 
2761                        } else { 
2762                            line.classList.contains("line-active") && line.classList.remove("line-active"); 
2763
2764                    }); 
2765 
2766                    linesMobile.forEach(function (line, index) { 
2767                        const lineProgress = (index / linesMobile.length) * 100; 
2768                        if (progress >= lineProgress) { 
2769                            !line.classList.contains("line-active") && line.classList.add("line-active"); 
2770                        } else { 
2771                            line.classList.contains("line-active") && line.classList.remove("line-active"); 
2772
2773                    }); 
2774                }); 
2775 
2776 
2777                sondwave.addEventListener("click", (event) => { 
2778                    const distanceLeft = (event.clientX - sondwave.getBoundingClientRect().left) / sondwave.offsetWidth; 
2779                    audio.currentTime = audio.duration * distanceLeft; 
2780                }); 
2781 
2782                audioInterface.style.display = ""; 
2783                audioContainer.appendChild(audioInterface); 
2784            }); 
2785 
2786        }); 
2787    </script> 
2788</#macro> 
2789 
2790 
2791<#-- ################################################################################################################## --> 
2792 
2793<#-- ############# Site de Crise - Notícia - Links do conteúdo da notícia ############################################# --> 
2794<#macro renderLinks newsInfo> 
2795    <#if newsInfo.links?size != 0> 
2796    <#--videos "escondidos" que serão unidos a .ptb-news__read-content --> 
2797 
2798        <div class="ptb-news__links-container d-none "> 
2799            <div id="ptb-news__links-identifiers"> 
2800                <#assign separator = ""> 
2801                <#list newsInfo.links as link> 
2802                    ${link.id}; 
2803                    <#assign separator = ";"> 
2804                </#list> 
2805            </div> 
2806            <#list newsInfo.links as link> 
2807                <#assign link_index = link?index> 
2808                <#assign linkUrl = "#"> 
2809                <#assign target = "_blank"> 
2810                <#assign linkClass = ""> 
2811 
2812                <div id="ptb-news__link-container-${link_index}"> 
2813                    <#if link.externalLink?has_content> 
2814                        <#assign linkUrl = link.externalLink> 
2815                        <#assign target = "_blank"> 
2816                        <#assign linkClass = "external-link"> 
2817                    <#elseif link.pageLink?has_content> 
2818                        <#assign linkUrl = link.pageLink> 
2819                        <#assign target = "_self"> 
2820                        <#assign linkClass = "internal-page-link"> 
2821                    <#elseif link.file.mimeType?has_content> 
2822                        <#assign linkUrl = link.file.url> 
2823                        <#assign target = "_blank"> 
2824                        <#assign linkClass = "file-link"> 
2825                    </#if> 
2826 
2827                    <#-- PDF icon --> 
2828                    <#if link.iconType == "Opção78730408" > 
2829                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2830                             xmlns="http://www.w3.org/2000/svg"> 
2831                            <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" 
2832                                  fill="#008542"/> 
2833                            <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" 
2834                                  fill="#008542"/> 
2835                            <path d="M17.2695 20.654V11.894H22.2735V13.358H18.9735V15.59H21.9015V17.054H18.9735V20.654H17.2695Z" 
2836                                  fill="#008542"/> 
2837                            <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" 
2838                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2839                                  stroke-linejoin="round"/> 
2840                        </svg> 
2841 
2842                    <#-- JPG icon --> 
2843                    <#elseif link.iconType == "Opção89889679" > 
2844                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2845                             xmlns="http://www.w3.org/2000/svg"> 
2846                            <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" 
2847                                  fill="#008542"/> 
2848                            <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" 
2849                                  fill="#008542"/> 
2850                            <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" 
2851                                  fill="#008542"/> 
2852                            <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" 
2853                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2854                                  stroke-linejoin="round"/> 
2855                        </svg> 
2856                    <#-- DOC icon --> 
2857                    <#elseif link.iconType == "Opção15480314" > 
2858                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2859                             xmlns="http://www.w3.org/2000/svg"> 
2860                            <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" 
2861                                  fill="#008542"/> 
2862                            <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" 
2863                                  fill="#008542"/> 
2864                            <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" 
2865                                  fill="#008542"/> 
2866                            <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" 
2867                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2868                                  stroke-linejoin="round"/> 
2869                        </svg> 
2870                    <#-- External link icon --> 
2871                    <#elseif link.iconType == "Opção64447681" > 
2872                        <svg width="24" height="24" viewBox="0 0 32 32" fill="none" 
2873                             xmlns="http://www.w3.org/2000/svg"> 
2874                            <path opacity="0.98" 
2875                                  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" 
2876                                  stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2877                        </svg> 
2878                    <#-- Internal page link icon --> 
2879                    <#elseif link.iconType == "Opção94185057" > 
2880                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#008542" 
2881                             viewBox="0 0 256 256"> 
2882                            <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"> 
2883                            </path> 
2884                        </svg> 
2885                    <#-- Download link icon --> 
2886                    <#elseif link.iconType == "Opção49847593" > 
2887                        <svg width="24" height="24" viewBox="0 0 32 32" fill="none" 
2888                             xmlns="http://www.w3.org/2000/svg"> 
2889                            <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" 
2890                                  stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2891                        </svg> 
2892                    </#if> 
2893 
2894                    <a href="${linkUrl}" class="link ${linkClass}" target="${target}">${link.title}</a> 
2895                </div> 
2896            </#list> 
2897        </div> 
2898 
2899        <script> 
2900            var newsContent_code = document.querySelector(".news-content").innerHTML; 
2901 
2902            var linksIdentifiers = document.querySelector("#ptb-news__links-identifiers").innerHTML.trim().split(";"); 
2903            linksIdentifiers.forEach((linkIdentifier, index) => { 
2904                const linkIdentifierContent = document.querySelector("#ptb-news__link-container-" + index); 
2905                if (linkIdentifierContent) { 
2906                    const tag = "#[" + linkIdentifier.trim() + "]"; 
2907                    const splitContent = newsContent_code.split(tag); 
2908                    newsContent_code = splitContent.join(linkIdentifierContent.innerHTML); 
2909                    //linkIdentifierContent.parentNode.removeChild(linkIdentifierContent); 
2910
2911            }); 
2912 
2913 
2914            var ptb_news__read_content = document.querySelector(".news-content"); 
2915            ptb_news__read_content.innerHTML = newsContent_code; 
2916 
2917        </script> 
2918 
2919        <style> 
2920            .ptb-news__read-news .ptb-news__link a { 
2921                font-family: var(--font-family-base); 
2922                font-style: var(--font-style-normal, normal); 
2923                font-weight: var(--font-weight-bold, 700); 
2924                font-size: var(--font-size-xxs, 16px); 
2925                line-height: var(--line-height-xl, 160%); 
2926 
2927                text-decoration-line: underline; 
2928 
2929                color: var(--color-primary-brand, #008542); 
2930
2931 
2932            body.high-contrast-active .ptb-news__read-news .ptb-news__link a { 
2933                color: #E4F7E8; 
2934
2935 
2936            .ptb-news__read-news .news-content .link { 
2937                font-family: var(--font-family-base); 
2938                font-style: var(--font-style-normal, normal); 
2939                font-weight: var(--font-weight-bold, 700); 
2940                font-size: var(--font-size-xxs, 16px); 
2941                line-height: var(--line-height-xl, 160%); 
2942 
2943                text-decoration-line: underline; 
2944 
2945                color: var(--color-primary-brand, #008542); 
2946
2947 
2948            body.high-contrast-active .ptb-news__read-news .news-content .link { 
2949                color: #E4F7E8; 
2950
2951 
2952            body.high-contrast-active .ptb-news__read-news .news-content svg path { 
2953                stroke: var(--color-neutral-500, #D7D7D7); 
2954                fill: rgba(255, 255, 255, 0.32); 
2955
2956 
2957            .ptb-news__read-news .news-content .ptb-link__wrapper { 
2958                display: flex; 
2959                flex-direction: column; 
2960                gap: 0; 
2961                margin-top: -24px; 
2962
2963 
2964            .ptb-news__read-news .news-content .ptb-link__wrapper svg { 
2965                margin-right: var(--space-sm, 16px); 
2966
2967 
2968            .ptb-news__read-news .news-content .ptb-link__wrapper .first { 
2969                gap: 0 !important; 
2970
2971 
2972            @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
2973                .ptb-news__read-news .news-content .link { 
2974                    font-size: var(--font-size-xxs, 16px); 
2975
2976
2977        </style> 
2978    </#if> 
2979</#macro> 
2980 
2981<#-- ################################################################################################################## --> 
2982<#macro renderCite> 
2983    <div class="ptb-news__cite-container"> 
2984        <div class="ptb-news__cite-container-breakpoint breakpoint"> 
2985            <div class="ptb-news__cite-container-col col-1-12 md-col-1-8 sm-col-1-4"> 
2986                <div class="ptb-news__cite-title"> 
2987                    <#if locale?lower_case == "pt_br"> 
2988                        Notas 
2989                    <#else> 
2990                        Notes 
2991                    </#if> 
2992                </div> 
2993 
2994                <div class="ptb-news__cites-elements"> 
2995                </div> 
2996            </div> 
2997        </div> 
2998    </div> 
2999 
3000    <script> 
3001        function positionCitesText(parentNodeCitesText) { 
3002 
3003            parentNodeCitesText.forEach((parentNodeCiteText) => { 
3004                if (window.innerWidth > 1024) { 
3005                    parentNodeCiteText.style.display = ""; 
3006                    parentNodeCiteText.style.gridColumnStart = "11"; 
3007                    parentNodeCiteText.style.gridColumnEnd = "13"; 
3008                } else { 
3009                    parentNodeCiteText.style.display = "none"; 
3010                    parentNodeCiteText.style.gridColumnStart = ""; 
3011                    parentNodeCiteText.style.gridColumnEnd = ""; 
3012
3013            }); 
3014
3015 
3016        function addCitesTextMobile(citesText) { 
3017            const citesContainer = document.querySelector(".ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cites-elements"); 
3018 
3019            if (citesContainer.children.length === 0) { 
3020                citesContainer && citesText.forEach((citeText) => { 
3021                    citesContainer.appendChild(citeText.cloneNode(true)); 
3022                }); 
3023
3024
3025 
3026        const citesText = document.querySelectorAll(".news-content cite"); 
3027 
3028        if (citesText.length > 0) { 
3029            const parentNodeCitesText = [...citesText].map((citeText) => citeText.parentNode); 
3030            positionCitesText(parentNodeCitesText); 
3031            addCitesTextMobile(citesText); 
3032        } else { 
3033            const citesContainer = document.querySelector(".ptb-news__cite-container"); 
3034            citesContainer && (citesContainer.style.display = "none"); 
3035
3036 
3037        document.addEventListener('DOMContentLoaded', () => { 
3038 
3039            const citesText = document.querySelectorAll(".news-content cite"); 
3040 
3041            if (citesText.length > 0) { 
3042                const parentNodeCitesText = [...citesText].map((citeText) => citeText.parentNode); 
3043 
3044                positionCitesText(parentNodeCitesText); 
3045                addCitesTextMobile(citesText); 
3046 
3047                window.addEventListener('resize', () => { 
3048                    positionCitesText(parentNodeCitesText) 
3049                }); 
3050            } else { 
3051                const citesContainer = document.querySelector(".ptb-news__cite-container"); 
3052                citesContainer && (citesContainer.style.display = "none"); 
3053
3054        }); 
3055 
3056    </script> 
3057 
3058    <style> 
3059 
3060        .ptb-news__read-news-post cite { 
3061            color: var(--color-neutral-800, #373737); 
3062            font-family: var(--font-family-base); 
3063            font-size: var(--font-size-xxxs, 14px) !important; 
3064            font-style: var(--font-style-normal, normal); 
3065            font-weight: var(--font-weight-regular, 400); 
3066            line-height: var(--line-height-xl, 160%); 
3067
3068 
3069        .ptb-news__read-news-post cite a { 
3070            font-size: var(--font-size-xxxs, 14px) !important; 
3071
3072 
3073        body.high-contrast-active .ptb-news__read-news-post cite { 
3074            color: var(--text-primary-default, var(--color-neutral-100)); 
3075
3076 
3077        .ptb-news__read-news-post .news-content cite, 
3078        .ptb-news__read-news-post .ptb-news__cite-container cite { 
3079            display: block; 
3080            padding-left: var(--space-md); 
3081            border-left: var(--border-width-hairline, 1px) solid var(--color-neutral-500, #D7D7D7); 
3082
3083 
3084        @media screen and (min-width: 1025px) { 
3085            .ptb-news__read-news-post .ptb-news__cite-container { 
3086                display: none; 
3087
3088
3089 
3090        @media screen and (max-width: 1025px) { 
3091            .ptb-news__read-news .ptb-news__cite-container .link { 
3092                text-decoration-line: var(--text-decoration-underline, underline); 
3093                color: #008542; 
3094
3095 
3096            body.high-contrast-active .ptb-news__read-news .ptb-news__cite-container .link { 
3097                color: #E4F7E8; 
3098
3099 
3100            body.high-contrast-active .ptb-news__read-news .ptb-news__cite-container svg path { 
3101                stroke: var(--color-neutral-500, #D7D7D7); 
3102                fill: rgba(255, 255, 255, 0.32); 
3103
3104 
3105            .ptb-news__read-news-post .ptb-news__cite-container { 
3106                display: grid; 
3107                background: var(--background-surface-level-03, #EEE); 
3108
3109 
3110            body.high-contrast-active .ptb-news__read-news-post .ptb-news__cite-container { 
3111                background: var(--background-surface-level-03, #525252); 
3112
3113 
3114            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col { 
3115                padding: var(--space-xxl) 0; 
3116                display: flex; 
3117                flex-direction: column; 
3118                gap: var(--space-lg, 32px); 
3119
3120 
3121            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cites-elements { 
3122                display: flex; 
3123                flex-direction: column; 
3124                gap: var(--space-lg, 32px); 
3125
3126 
3127            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cite-title { 
3128                color: var(--color-neutral-800, #373737); 
3129                font-size: var(--font-size-sm, 20px); 
3130                font-style: var(--font-style-normal, normal); 
3131                font-weight: var(--font-weight-bold, 700); 
3132                line-height: var(--line-height-xl, 160%); 
3133
3134 
3135            body.high-contrast-active .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cite-title { 
3136                color: var(--text-primary-default, var(--color-neutral-100)); 
3137
3138
3139    </style> 
3140 
3141</#macro> 
3142 
3143<#-- ############# Site de Crise - Notícia - Galeria de imagens ####################################################### --> 
3144<#macro renderGallery newsInfo> 
3145    <#if newsInfo.galleryItems?size == 0> 
3146        <#return /> 
3147    </#if> 
3148 
3149    <div class="breakpoint"> 
3150        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
3151            <div class="gallery"> 
3152 
3153                <div class="title-container"> 
3154                    <svg class="icon" viewBox="0 0 26 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3155                        <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" 
3156                              stroke="#525252" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
3157                        <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" 
3158                              stroke="#525252" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
3159                    </svg> 
3160                    <p class="title"> 
3161                        <#if locale == "pt_BR"> Fotos <#else > Photos </#if> 
3162                    </p> 
3163                </div> 
3164 
3165 
3166                <div class="image-container"> 
3167                    <#assign itensNum = 1 /> 
3168                    <#list newsInfo.galleryItems as gItem> 
3169                        <#assign rancomCssClass = "fragment_88494_" + gItem?index /> 
3170                        <div class="fragment_88494 ${rancomCssClass}"> 
3171                            <div class="modal-image-container"> 
3172                                <span class="click-image news-gallery-image-thumb"></span> 
3173 
3174                                <div class="image-player-container"> 
3175                                    <span class="close-image news-gallery-close-modal">X</span> 
3176                                    <div class="image-player-session"> 
3177                                        <#assign largeImgUrl = ""/> 
3178                                        <#assign largeImgAlt = ""/> 
3179                                        <#if gItem.originalFile["contentUrl"]?? > 
3180                                            <#assign largeImgUrl = themeDisplay.getPortalURL() + "/documents/" + groupId + "/" +  gItem.originalFile.externalReferenceCode + "?t=" + .now?string["HHmmssSSS"] /> 
3181                                            <#assign largeImgAlt = gItem.originalFile["description"]/> 
3182                                        </#if> 
3183 
3184                                        <#assign thumbnailImageUrl = ""/> 
3185                                        <#assign thumbnailImageAlt = ""/> 
3186                                        <#if gItem.thumbnailImage?? && gItem.thumbnailImage?has_content && gItem.thumbnailImage["contentUrl"]?? && gItem.thumbnailImage["contentUrl"]??> 
3187                                            <#assign mediaWidth = 300 /> 
3188                                            <#list gItem.thumbnailImage.adaptedImages?filter(f -> f.width == mediaWidth)  as adaptedImage> 
3189                                                <#assign thumbnailImageUrl = themeDisplay.getPortalURL() + adaptedImage.contentUrl /> 
3190                                            </#list> 
3191                                            <#assign thumbnailImageAlt = gItem.thumbnailImage.description /> 
3192                                        </#if> 
3193 
3194 
3195                                        <#assign carrouselImgUrl = ""/> 
3196                                        <#assign carrouselImgAlt = ""/> 
3197                                        <#if gItem.originalFile["contentUrl"]??> 
3198                                            <#assign carrouselImgUrl = gItem.originalFile["contentUrl"] /> 
3199                                            <#assign carrouselImgAlt = gItem.originalFile.description /> 
3200                                        </#if> 
3201 
3202                                        <#if !thumbnailImageUrl?? || !thumbnailImageUrl?has_content> 
3203                                            <#assign mediaWidth = 300 /> 
3204                                            <#if gItem.originalFile["adaptedImages"]??> 
3205                                                <#list gItem.originalFile.adaptedImages?filter(f -> f.width == mediaWidth)  as adaptedImage> 
3206                                                    <#assign thumbnailImageUrl = themeDisplay.getPortalURL() + adaptedImage.contentUrl /> 
3207                                                </#list> 
3208                                            </#if> 
3209                                            <#if !thumbnailImageUrl?has_content> 
3210                                                <#assign thumbnailImageUrl = largeImgUrl/> 
3211                                            </#if> 
3212                                            <#assign thumbnailImageAlt = largeImgAlt/> 
3213                                        </#if> 
3214 
3215 
3216                                        <img class="thumbnail" src="${thumbnailImageUrl}" alt="${thumbnailImageAlt}"/> 
3217 
3218 
3219                                        <#assign urlFirst = "" > 
3220 
3221                                        <#if carrouselImgUrl?? || carrouselImgUrl?has_content> 
3222 
3223                                            <#assign urlFirst = "background-image: url('${carrouselImgUrl}');" > 
3224                                        </#if> 
3225 
3226 
3227                                        <span class="background-image" style="${urlFirst}"> 
3228 
3229                                            </span> 
3230 
3231                                        <div class="large" style="display:none;"> 
3232                                            <img class="carousel" src="${carrouselImgUrl}" alt="${carrouselImgAlt}"/> 
3233                                        </div> 
3234 
3235                                        <div class="gallery-modal-footer"> 
3236                                            <div class="carousel-info"> 
3237                                                <p class="title-image paragraph-sm-regular"> 
3238                                                    <#if locale == "pt_BR"> Foto: <#else > Picture: </#if>${itensNum} 
3239                                                    /${newsInfo.galleryItems?size} 
3240                                                </p> 
3241                                                <div class="left-arrow news-gallery-previus-img-btn"> 
3242                                                    <svg width="32" height="32" viewBox="0 0 32 32" fill="none" 
3243                                                         xmlns="http://www.w3.org/2000/svg"> 
3244                                                        <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" 
3245                                                              fill="#008542"/> 
3246                                                        <path d="M21.5 16H10.5M10.5 16L15 11.5M10.5 16L15 20.5" 
3247                                                              stroke="white" stroke-linecap="round" 
3248                                                              stroke-linejoin="round"/> 
3249                                                    </svg> 
3250                                                </div> 
3251                                                <div class="right-arrow news-gallery-next-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="M10.5 16H21.5M21.5 16L17 11.5M21.5 16L17 20.5" 
3257                                                              stroke="white" stroke-linecap="round" 
3258                                                              stroke-linejoin="round"/> 
3259                                                    </svg> 
3260                                                </div> 
3261                                            </div> 
3262                                            <div class="text-container"> 
3263                                                <p class="title-image h5">${gItem.cardTitle}</p> 
3264                                                <div class="image-info"> 
3265                                                    <p class="date-info paragraph-sm-regular">${formatDate(gItem.createDate)}</p> 
3266                                                    <p class="autor-info paragraph-sm-regular"><#if locale == "pt_BR"> Por: <#else > By: </#if> ${gItem.author}</p> 
3267                                                </div> 
3268                                                <div class="download-info"> 
3269                                                    <div class="download-large-image"> 
3270                                                        <div class="download-share-container"> 
3271                                                            <a class="download button donwload-button news-gallery-image-item-download" 
3272                                                               href="${largeImgUrl}?download=true"> 
3273 
3274                                                                <svg width="20" height="20" viewBox="0 0 20 20" 
3275                                                                     fill="none" xmlns="http://www.w3.org/2000/svg"> 
3276                                                                    <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" 
3277                                                                          stroke="white" stroke-linecap="round" 
3278                                                                          stroke-linejoin="round"/> 
3279                                                                </svg> 
3280                                                                <#if locale == "pt_BR"> Baixar <#else > Download </#if> 
3281 
3282                                                            </a> 
3283                                                            <div class="download-info-message"> 
3284                                                                <svg width="16" height="16" viewBox="0 0 16 16" 
3285                                                                     fill="none" xmlns="http://www.w3.org/2000/svg"> 
3286                                                                    <path d="M8 6.5V9" stroke="#FFEEB3" 
3287                                                                          stroke-linecap="round" 
3288                                                                          stroke-linejoin="round"/> 
3289                                                                    <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" 
3290                                                                          stroke="#FFEEB3" stroke-linecap="round" 
3291                                                                          stroke-linejoin="round"/> 
3292                                                                    <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" 
3293                                                                          fill="#FFEEB3"/> 
3294                                                                </svg> 
3295                                                                <p class="paragraph-micro-regular">O uso deste material 
3296                                                                    é autorizado apenas para fins editoriais.</p> 
3297                                                            </div> 
3298                                                        </div> 
3299                                                    </div> 
3300 
3301                                                    <div class="social-media-container"> 
3302 
3303                                                        <#assign emailMsg = "Veja o conteúdo do post no link "> 
3304                                                        <#if locale == "en_US"> 
3305                                                            <#assign emailMsg = "See the content of the post in the link "> 
3306                                                        </#if> 
3307 
3308                                                        <a class="news-gallery-share-news-email" href="mailto:?subject=${newsInfo.mainHeadlineOfTheNews}&amp;body=${emailMsg}${themeDisplay.getPortalURL() + largeImgUrl}" 
3309                                                           target="_blank"> 
3310                                                            <svg class="email" width="37" height="36" 
3311                                                                 viewBox="0 0 37 36" fill="none" 
3312                                                                 xmlns="http://www.w3.org/2000/svg"> 
3313                                                                <circle cx="18.5" cy="18" r="17.5" fill="white" 
3314                                                                        stroke="#E1E1E1"/> 
3315                                                                <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" 
3316                                                                      fill="#008542"/> 
3317                                                            </svg> 
3318                                                            <span style="display: none">send e-mail</span> 
3319                                                        </a> 
3320 
3321                                                        <a class="news-gallery-share-news-facebook" href="https://www.facebook.com/sharer/sharer.php?u=${themeDisplay.getPortalURL() + largeImgUrl}" 
3322                                                           target="_blank"> 
3323                                                            <svg class="facebook" width="37" height="36" 
3324                                                                 viewBox="0 0 37 36" fill="none" 
3325                                                                 xmlns="http://www.w3.org/2000/svg"> 
3326                                                                <circle cx="18.5" cy="18" r="17.5" fill="white" 
3327                                                                        stroke="#E1E1E1"/> 
3328                                                                <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" 
3329                                                                      fill="#008542"/> 
3330                                                            </svg> 
3331                                                        </a> 
3332 
3333 
3334                                                        <a class="news-gallery-share-news-twitter" href="https://twitter.com/intent/tweet?url=${themeDisplay.getPortalURL() + largeImgUrl}" 
3335                                                           target="_blank"> 
3336                                                            <svg class="twitter" width="37" height="36" 
3337                                                                 viewBox="0 0 37 36" fill="none" 
3338                                                                 xmlns="http://www.w3.org/2000/svg"> 
3339                                                                <circle cx="18.5" cy="18" r="17.5" fill="white" 
3340                                                                        stroke="#E1E1E1"/> 
3341                                                                <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" 
3342                                                                      fill="#008542"/> 
3343                                                            </svg> 
3344                                                        </a> 
3345 
3346                                                        <a class="news-gallery-share-news-whatsapp" href="https://api.whatsapp.com/send?text=${themeDisplay.getPortalURL() + largeImgUrl}" 
3347                                                           data-action="share/whatsapp/share" 
3348                                                           target="_blank"> 
3349                                                            <svg class="whatsapp" width="37" height="36" 
3350                                                                 viewBox="0 0 37 36" fill="none" 
3351                                                                 xmlns="http://www.w3.org/2000/svg"> 
3352                                                                <circle cx="18.5" cy="18" r="17.5" fill="white" 
3353                                                                        stroke="#E1E1E1"/> 
3354                                                                <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" 
3355                                                                      fill="#008542"/> 
3356                                                                <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" 
3357                                                                      fill="white"/> 
3358                                                            </svg> 
3359                                                            <span style="display: none">Share to WhatsApp </span> 
3360                                                        </a> 
3361 
3362                                                    </div> 
3363                                                </div> 
3364 
3365                                            </div> 
3366                                        </div> 
3367                                    </div> 
3368                                </div> 
3369                            </div> 
3370                        </div> 
3371 
3372                        <script> 
3373                            AUI().ready(function () { 
3374                                const fragmentElement = document.querySelector(".${rancomCssClass}"); 
3375                                const getImageClick = fragmentElement.querySelector('.click-image'); 
3376                                const imageContainer = fragmentElement.querySelector('.modal-image-container'); 
3377                                const imagePlayerContainer = fragmentElement.querySelector('.image-player-container'); 
3378 
3379                                const image = imagePlayerContainer.querySelector('img'); 
3380                                const closeImage = imagePlayerContainer.querySelector('.close-image'); 
3381                                const body = document.querySelector('body'); 
3382                                const thumbnailImage = imagePlayerContainer.querySelector(".thumbnail"); 
3383                                const largeImage = imagePlayerContainer.querySelector(".large"); 
3384 
3385                                const stopImage = () => { 
3386                                    fragmentElement.classList.toggle('active'); 
3387                                    getImageClick.classList.toggle('image-playing'); 
3388                                    imagePlayerContainer.classList.toggle('image-playing'); 
3389                                    imageContainer.classList.toggle('image-playing'); 
3390                                    thumbnailImage.classList.toggle('hide'); 
3391                                    largeImage.style = "display: none"; 
3392                                    closeImage.classList.toggle('image-active'); 
3393                                    body.style.overflow = 'initial'; 
3394
3395 
3396                                const playImage = () => { 
3397                                    fragmentElement.classList.toggle('active'); 
3398                                    getImageClick.classList.toggle('image-playing'); 
3399                                    imagePlayerContainer.classList.toggle('image-playing'); 
3400                                    imageContainer.classList.toggle('image-playing'); 
3401                                    closeImage.classList.toggle('image-active') 
3402                                    thumbnailImage.classList.toggle('hide'); 
3403                                    largeImage.style = "display: flex"; 
3404                                    body.style.overflow = 'hidden'; 
3405
3406 
3407                                getImageClick.addEventListener('click', () => { 
3408                                    if (document.body.classList.contains('has-edit-mode-menu')) { 
3409                                        return; 
3410
3411 
3412                                    if (imagePlayerContainer.classList.contains('image-playing')) { 
3413                                        stopImage(); 
3414                                    } else { 
3415                                        playImage(); 
3416
3417                                }) 
3418 
3419                                closeImage.addEventListener('click', () => { 
3420                                    if (imagePlayerContainer.classList.contains('image-playing')) { 
3421                                        stopImage(); 
3422
3423                                }) 
3424                            }); 
3425                        </script> 
3426 
3427                        <#assign itensNum = itensNum + 1 /> 
3428 
3429                    </#list> 
3430 
3431                </div> 
3432 
3433                <script> 
3434                    AUI().ready(function () { 
3435                        const imageContainer = document.querySelectorAll('.image-container .modal-image-container'); 
3436                        const closeImage = document.querySelectorAll('.image-container .modal-image-container .close-image'); 
3437                        const clickContainer = document.querySelectorAll('.image-container .modal-image-container .click-image'); 
3438                        let curItem = 0; 
3439 
3440 
3441                        if (imageContainer.length > 0) { 
3442                            const allArrowsLeft = document.querySelectorAll('.fragment_88494 .modal-image-container .image-player-container .carousel-info .left-arrow'); 
3443                            const allArrowsRight = document.querySelectorAll('.fragment_88494 .modal-image-container .image-player-container .carousel-info .right-arrow'); 
3444 
3445 
3446                            allArrowsLeft.forEach((item, index) => { 
3447                                item.addEventListener('click', () => { 
3448                                    if (index - 1 >= 0) { 
3449                                        curItem = index - 1 
3450                                        closeImage[index].click(); 
3451                                        clickContainer[curItem].click(); 
3452
3453 
3454                                }) 
3455                            }); 
3456 
3457                            allArrowsRight.forEach((item, index) => { 
3458                                item.addEventListener('click', () => { 
3459                                    if (index + 1 <= (imageContainer.length - 1)) { 
3460                                        curItem = index + 1 
3461                                        closeImage[index].click(); 
3462                                        clickContainer[curItem].click(); 
3463
3464 
3465                                }) 
3466 
3467 
3468                            }); 
3469 
3470 
3471
3472                    }); 
3473                </script> 
3474 
3475            </div> 
3476        </div> 
3477    </div> 
3478 
3479    <style> 
3480        .ptb-news__read-news .gallery * { 
3481            margin: 0; 
3482            padding: 0; 
3483
3484 
3485        .ptb-news__read-news .gallery { 
3486            display: flex; 
3487            gap: var(--space-xl, 40px); 
3488            flex-direction: column; 
3489
3490 
3491        .ptb-news__read-news .gallery .title-container { 
3492            display: flex; 
3493            align-items: center; 
3494            gap: var(--space-sm, 16px); 
3495
3496 
3497        .ptb-news__read-news .gallery .title-container svg { 
3498            width: 24px; 
3499            height: 21px; 
3500
3501 
3502        .ptb-news__read-news .gallery .title-container .title { 
3503            color: var(--color-neutral-800, #373737); 
3504            font-family: var(--font-family-base); 
3505            font-size: var(--font-size-lg); 
3506            font-style: var(--font-style-normal); 
3507            font-weight: var(--font-weight-bold); 
3508            line-height: var(--line-height-md); /* 31.68px */ 
3509
3510 
3511        .ptb-news__read-news .gallery .image-container { 
3512            display: flex; 
3513            gap: var(--space-sm, 16px); 
3514            flex-wrap: wrap; 
3515
3516 
3517        .ptb-news__read-news .gallery .image-container .fragment_88494 { 
3518            width: 274px; 
3519            height: 152px; 
3520            border-radius: var(--border-radius-md, 8px); 
3521
3522 
3523        .ptb-news__read-news .gallery .large-image-download { 
3524            display: none; 
3525
3526 
3527        .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container { 
3528            display: flex; 
3529            justify-content: space-between; 
3530            gap: 12px; 
3531
3532 
3533 
3534        .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container .social-media-container { 
3535            display: flex; 
3536            gap: 8px; 
3537
3538 
3539        /* Gallery */ 
3540 
3541        .fragment_88494 { 
3542            width: inherit; 
3543            height: inherit; 
3544            max-height: calc(100vw / 2); 
3545            padding: 0; 
3546            margin: 0; 
3547            overflow: hidden; 
3548
3549 
3550        .fragment_88494 * { 
3551            box-sizing: border-box; 
3552            margin: 0; 
3553            padding: 0; 
3554
3555 
3556        .fragment_88494 .modal-image-container { 
3557            width: 100%; 
3558            height: inherit; 
3559            display: flex; 
3560            justify-content: center; 
3561            position: relative; 
3562            cursor: initial; 
3563
3564 
3565        .fragment_88494 .modal-image-container .click-image { 
3566            cursor: pointer; 
3567
3568 
3569        .fragment_88494 .modal-image-container.image-playing { 
3570            position: fixed; 
3571            top: 0; 
3572            left: 0; 
3573            width: 100vw !important; 
3574            height: 100vh !important; 
3575            z-index: 9999 !important; 
3576            background-color: rgba(0, 0, 0, 0.75); 
3577            max-height: 100vh; 
3578
3579 
3580        .page-editor .fragment_88494 .modal-image-container { 
3581            z-index: 0; 
3582
3583 
3584        .fragment_88494 .modal-image-container .click-image { 
3585            height: 100%; 
3586            width: 100%; 
3587            position: absolute; 
3588            z-index: 3; 
3589
3590 
3591        .fragment_88494 .modal-image-container .image-player-container { 
3592            width: 100%; 
3593            height: 100%; 
3594
3595 
3596 
3597        .fragment_88494 .modal-image-container .image-player-container.image-playing { 
3598            position: relative; 
3599            width: 90vw !important; 
3600            height: 90vh !important; 
3601            z-index: 9999 !important; 
3602            border-radius: var(--border-radius-card); 
3603            margin: auto; 
3604            max-width: 1440px; 
3605
3606 
3607        .fragment_88494 .modal-image-container .image-player-container .close-image { 
3608            display: none; 
3609            position: absolute; 
3610            font-size: var(--font-size-micro); 
3611            color: var(--color-primary-medium); 
3612            width: 20px; 
3613            height: 20px; 
3614            top: -6px; 
3615            right: -10px; 
3616            z-index: 99999; 
3617            background: var(--color-neutral-100); 
3618            text-align: center; 
3619            border-radius: 50%; 
3620            border: 1px solid var(--color-neutral-400); 
3621
3622 
3623        .fragment_88494 .modal-image-container .image-player-container .close-image.image-active { 
3624            display: block; 
3625
3626 
3627        .fragment_88494 .modal-image-container .image-player-container .image-player-session { 
3628            width: 100%; 
3629            height: 100%; 
3630
3631 
3632        .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session { 
3633            width: 90vw !important; 
3634            height: 65vh !important; 
3635            z-index: 9999 !important; 
3636            border-radius: var(--border-radius-card) var(--border-radius-card) 0 0; 
3637            overflow: hidden; 
3638            max-width: 1440px; 
3639
3640 
3641        .fragment_88494 .modal-image-container .image-player-container.image-playing .background-image { 
3642            display: flex; 
3643            width: 100% !important; 
3644            height: 100% !important; 
3645            margin-left: 0 !important; 
3646            max-height: 100vh; 
3647            filter: blur(8px); 
3648            overflow: hidden; 
3649            background-repeat: repeat; 
3650            background-size: 50% 700px; 
3651
3652 
3653        .fragment_88494 .modal-image-container .image-player-container .image-player-session img { 
3654            width: 120%; 
3655            height: 120%; 
3656            margin-left: -12%; 
3657            max-height: calc(100vw / 2); 
3658            object-fit: cover; 
3659
3660 
3661        .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session img { 
3662            width: 100% !important; 
3663            height: 65vh !important; 
3664            margin-left: 0 !important; 
3665            max-height: 100vh; 
3666            object-fit: contain; 
3667            position: absolute; 
3668            top: 0; 
3669            left: 0; 
3670            background: transparent; 
3671
3672 
3673        .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer { 
3674            display: flex; 
3675            flex-direction: row-reverse; 
3676            justify-content: space-between; 
3677            align-items: flex-start; 
3678            background-color: #1E1E1E; 
3679            /*max-height: 35%;*/ 
3680            padding: 8px; 
3681            border-radius: 0 0 var(--border-radius-card) var(--border-radius-card); 
3682            color: var(--color-neutral-100); 
3683            gap: 32px; 
3684            min-height: 128px; 
3685            z-index: 9999 !important; 
3686            position: absolute; 
3687            width: 90vw !important; 
3688            max-width: 1440px; 
3689
3690 
3691        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container { 
3692            display: flex; 
3693            flex-direction: column; 
3694            gap: 8px; 
3695
3696 
3697        .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer .social-media-container { 
3698            position: absolute; 
3699            right: 5px; 
3700            bottom: 20px; 
3701            display: flex; 
3702            gap: 3px; 
3703
3704 
3705        .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer .social-media-container a { 
3706            display: block; 
3707            height: fit-content; 
3708
3709 
3710        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .image-info { 
3711            display: flex; 
3712            gap: 24px; 
3713            color: var(--color-neutral-500); 
3714
3715 
3716 
3717        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info { 
3718            display: flex; 
3719            gap: 16px; 
3720            margin-top: 15px; 
3721
3722 
3723        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info .donwload-button { 
3724            display: flex; 
3725            justify-content: space-around; 
3726            align-items: center; 
3727            background-color: var(--color-primary-medium); 
3728            width: 100px; 
3729            height: 40px; 
3730            padding: 0px 16px 0px 16px; 
3731            border-radius: 100px; 
3732            gap: 8px; 
3733            color: var(--color-neutral-100); 
3734            text-decoration: none; 
3735
3736 
3737        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info .donwload-button svg { 
3738            pointer-events: none; 
3739
3740 
3741        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info svg { 
3742            flex-shrink: 0; 
3743            pointer-events: none; 
3744
3745 
3746        .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info-message { 
3747            display: flex; 
3748            align-items: center; 
3749            color: #FFEEB3; 
3750            gap: 8px; 
3751
3752 
3753        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info { 
3754            display: flex; 
3755            justify-content: center; 
3756            gap: 8px; 
3757            padding: 8px; 
3758
3759 
3760        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .left-arrow, 
3761        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .right-arrow { 
3762            cursor: pointer; 
3763
3764 
3765        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .left-arrow svg, 
3766        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .right-arrow svg { 
3767            pointer-events: none; 
3768
3769 
3770        .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info .title-image { 
3771            display: flex; 
3772            justify-content: center; 
3773            align-items: center; 
3774            height: 32px; 
3775            color: var(--color-neutral-500); 
3776
3777 
3778 
3779        @media (max-width: 1040px) { 
3780 
3781            .fragment_88494 .modal-image-container .image-player-container.image-playing .background-image { 
3782                background-size: 100% 100%; 
3783
3784 
3785
3786 
3787 
3788        @media (max-width: 767px) { 
3789 
3790            .fragment_88494 .modal-image-container .image-player-container.image-playing { 
3791                margin-top: 5%; 
3792
3793 
3794            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session { 
3795                height: 50vh !important; 
3796                min-height: 234px; 
3797
3798 
3799            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session img { 
3800                height: 50vh !important; 
3801                min-height: 234px; 
3802
3803 
3804            .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info { 
3805                align-items: center; 
3806                justify-content: flex-start; 
3807                margin-top: 12px; 
3808                width: 100%; 
3809
3810 
3811            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer { 
3812                /*height: 40%;*/ 
3813                min-height: 280px; 
3814                flex-direction: column; 
3815                justify-content: flex-start; 
3816                align-items: center; 
3817                width: 100%; 
3818                flex-wrap: nowrap; 
3819
3820 
3821 
3822            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .image-info { 
3823                flex-direction: column; 
3824                gap: 8px; 
3825
3826 
3827            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info { 
3828                flex-direction: column; 
3829                justify-content: center; 
3830                align-items: center; 
3831                margin-top: 5px; 
3832
3833 
3834            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info .donwload-button { 
3835                justify-content: center; 
3836                width: 100%; 
3837
3838 
3839            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container { 
3840                flex-direction: column; 
3841
3842 
3843            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer .social-media-container { 
3844                top: 25px; 
3845
3846 
3847
3848 
3849 
3850        @media (max-width: 540px) { 
3851 
3852            .fragment_88494 .modal-image-container .image-player-container.image-playing { 
3853                height: 40vh !important; 
3854                margin-top: 15%; 
3855
3856 
3857            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session { 
3858                height: 40vh !important; 
3859                min-height: 234px; 
3860
3861 
3862            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session img { 
3863                height: 40vh !important; 
3864                min-height: 234px; 
3865
3866 
3867            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container { 
3868                gap: 6px; 
3869
3870 
3871            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer { 
3872                gap: 18px; 
3873
3874 
3875            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info { 
3876                margin-top: 2px; 
3877
3878 
3879
3880 
3881        @media (max-height: 500px) { 
3882            .fragment_88494 .modal-image-container .image-player-container.image-playing { 
3883                display: flex; 
3884
3885 
3886            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session { 
3887                height: 60vh !important; 
3888                width: 50vw !important; 
3889                border-radius: var(--border-radius-card) 0 0 0; 
3890
3891 
3892            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session img { 
3893                height: 60vh !important; 
3894                width: 40vw !important; 
3895
3896 
3897            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer { 
3898                height: 75vh !important; 
3899                width: 50vw !important; 
3900                top: 0; 
3901                right: 0; 
3902                min-height: 85vh; 
3903                border-radius: 0 var(--border-radius-card) var(--border-radius-card) 0; 
3904                align-items: center; 
3905
3906 
3907            .fragment_88494 .modal-image-container .image-player-container.image-playing .carousel-info { 
3908                position: absolute; 
3909                display: flex; 
3910                align-items: center; 
3911                bottom: 0; 
3912                left: -40vw; 
3913                width: 40vw !important; 
3914                background-color: #1E1E1E; 
3915                height: 120px !important; 
3916                border-radius: 0 0 0 var(--border-radius-card); 
3917
3918 
3919 
3920            .fragment_88494 .modal-image-container .image-player-container.image-playing .image-player-session .download-share-container { 
3921                flex-direction: column; 
3922
3923 
3924 
3925            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container .download-info .donwload-button { 
3926                width: 100%; 
3927                justify-content: center; 
3928
3929 
3930            .fragment_88494 .modal-image-container .image-player-container.image-playing .text-container { 
3931                gap: 16px; 
3932                height: 60vh; 
3933
3934 
3935            .fragment_88494 .modal-image-container .image-player-container.image-playing .gallery-modal-footer .social-media-container { 
3936                top: initial; 
3937
3938 
3939        /* *** */ 
3940 
3941 
3942    </style> 
3943 
3944</#macro> 
3945 
3946 
3947<#-- ################################################################################################################## --> 
3948 
3949 
3950<#-- ############# Site de Crise - Notícia - Render seção download #################################################### --> 
3951 
3952<#macro renderDownloadSection newsInfo> 
3953    <div class="breakpoint"> 
3954        <div class="col-3-10 md-col-1-12 sm-col-1-4"> 
3955            <div class="download-section"> 
3956                <div class="title-container"> 
3957                    <svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3958                        <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" 
3959                              stroke="#373737" stroke-width="2.28571" stroke-linecap="round" stroke-linejoin="round"/> 
3960                    </svg> 
3961                    <p class="title">Downloads </p> 
3962                </div> 
3963 
3964                <div class="sections"> 
3965                    <div class="section text-section"> 
3966                        <p class="title"> <#if locale == "pt_BR"> Texto desta matéria <#else > Text of this article </#if> </p> 
3967                        <a class="button download-news-text" href=""> 
3968                            <#if locale == "pt_BR"> Download do texto <#else > Text download </#if> 
3969                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
3970                                 xmlns="http://www.w3.org/2000/svg"> 
3971                                <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" 
3972                                      stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
3973                            </svg> 
3974                        </a> 
3975                    </div> 
3976 
3977                    <div class="separator"></div> 
3978 
3979                    <div class="section photo-section"> 
3980                        <p class="title"> <#if locale == "pt_BR"> Fotos desta matéria <#else > Photos from this article </#if> </p> 
3981 
3982 
3983                        <div class="links"> 
3984                            <#list newsInfo.galleryItems as gItem> 
3985                                <#assign url = ""/> 
3986                                <#assign alt = ""/> 
3987                                <#if gItem.originalFile["contentUrl"]?? > 
3988                                    <#assign url = gItem.originalFile.contentUrl/> 
3989                                    <#assign alt = gItem.originalFile.description/> 
3990                                </#if> 
3991 
3992                            <#-- <a class="button" href="${url}"> 
3993                                ${gItem.cardTitle} 
3994                                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
3995                                     xmlns="http://www.w3.org/2000/svg"> 
3996                                    <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" 
3997                                          stroke="#008542" stroke-width="2" stroke-linecap="round" 
3998                                          stroke-linejoin="round"/> 
3999                                </svg> 
4000                            </a> --> 
4001                            </#list> 
4002 
4003                        </div> 
4004 
4005                        <a class="button download-news-photos" href=""> 
4006                            <#if locale == "pt_BR"> Download das fotos <#else > Download photos </#if> 
4007                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
4008                                 xmlns="http://www.w3.org/2000/svg"> 
4009                                <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" 
4010                                      stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
4011                            </svg> 
4012                        </a> 
4013                    </div> 
4014 
4015                    <div class="separator"></div> 
4016 
4017                    <div class="section video-section"> 
4018                        <p class="title"> <#if locale == "pt_BR"> Vídeos desta matéria <#else > Videos from this article </#if> </p> 
4019                        <div class="videos-container"></div> 
4020                        <#-- <a class="button" href=""> 
4021                            <#if locale == "pt_BR"> Download dos vídeos <#else > Download videos </#if> 
4022                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
4023                                 xmlns="http://www.w3.org/2000/svg"> 
4024                                <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" 
4025                                      stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
4026                            </svg> 
4027                        </a> --> 
4028                    </div> 
4029                </div> 
4030            </div> 
4031        </div> 
4032    </div> 
4033 
4034    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></> 
4035 
4036        <script> 
4037            AUI().ready(function () { 
4038 
4039            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>'; 
4040            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>'; 
4041 
4042            const newsContent = document.querySelector(".ptb-news__read-news"); 
4043            const downloadSection = newsContent.querySelector(".download-section"); 
4044            const videosContainer = downloadSection.querySelector(".videos-container"); 
4045 
4046            const youtubeVideoDivList = newsContent.querySelectorAll('div[data-embed-id]'); 
4047 
4048            youtubeVideoDivList.forEach((videoDiv, index) => { 
4049            const aElement = document.createElement("a"); 
4050 
4051            if (!videoDiv.getAttribute("data-embed-id").includes("youtube")) { 
4052            return; 
4053
4054 
4055            const id = videoDiv.getAttribute("data-embed-id").split("/").pop().split("?")[0]; 
4056 
4057            const linkStr = "https://www.youtube.com/watch?v=" + id; 
4058            aElement.href = linkStr; 
4059 
4060            <#assign text = ""/> 
4061            <#if locale == "pt_BR"> 
4062            <#assign text = "'Ver vídeo ' + (index +1) + ' no Youtube'"/> 
4063            <#else > 
4064            <#assign text = "'Watch video ' + (index +1) + ' on Youtube'"/> 
4065            </#if> 
4066            aElement.innerHTML = ${text} + externalArrow; 
4067            aElement.setAttribute("target", "_blank"); 
4068            aElement.classList.add("button"); 
4069            videosContainer.appendChild(aElement); 
4070        }); 
4071 
4072            const videoDivList = newsContent.querySelectorAll('iframe[data-video-liferay]'); 
4073 
4074            videoDivList.forEach((videoDiv, index) => { 
4075            const aElement = document.createElement("a"); 
4076            aElement.href = videoDiv.src; 
4077            aElement.innerHTML = "Download " + (index + 1) + downloadArrow; 
4078            aElement.setAttribute("target", "_blank"); 
4079            aElement.classList.add("button"); 
4080            videosContainer.appendChild(aElement); 
4081        }); 
4082 
4083            if (videosContainer.children.length === 0) { 
4084            videosContainer.parentNode.style.display = "none"; 
4085            videosContainer.parentNode.previousElementSibling.style.display = "none"; 
4086
4087 
4088            const photoSection = downloadSection.querySelector(".photo-section"); 
4089            const photoDownloadButton = photoSection.querySelector(".button"); 
4090            photoDownloadButton.addEventListener("click", (event) => { 
4091            event.preventDefault(); 
4092            let imageUrls = [] 
4093            let imageTitles = [] 
4094            <#list newsInfo.galleryItems as galleryItem> 
4095            <#assign url = ""/> 
4096            <#if galleryItem.originalFile["contentUrl"]?? > 
4097            <#assign url = galleryItem.originalFile["contentUrl"]/> 
4098            </#if> 
4099            imageUrls.push("${url}"); 
4100            imageTitles.push('${galleryItem.cardTitle}'.replace(/([^\w ]|_)/g, '').replaceAll(' ', '_')); 
4101            </#list> 
4102 
4103 
4104            // Instale a biblioteca jszip usando npm: 
4105            <#-- npm install jszip --> 
4106 
4107            <#-- Importe a biblioteca jszip --> 
4108            //import JSZip from 'jszip'; 
4109 
4110 
4111// Função para baixar uma imagem e adicionar ao arquivo ZIP 
4112            const downloadImage = async (zip, imageUrl, imageName) => { 
4113            const response = await fetch(imageUrl); 
4114            const arrayBuffer = await response.arrayBuffer(); 
4115            zip.file(imageName, arrayBuffer); 
4116        }; 
4117 
4118// Função principal assíncrona 
4119            const main = async () => { 
4120            // Crie uma instância do JSZip 
4121            const zip = new JSZip(); 
4122 
4123            // Baixe cada imagem e adicione ao arquivo ZIP 
4124            await Promise.all(imageUrls.map((url, index) => downloadImage(zip, url, imageTitles[index] + "_" + (index + 1) + '.jpg'))); 
4125 
4126            // Gere o conteúdo do arquivo ZIP 
4127            const zipContent = await zip.generateAsync({type: 'blob'}); 
4128 
4129            // Crie um link para o arquivo ZIP e inicie o download 
4130            const link = document.createElement('a'); 
4131            link.href = URL.createObjectURL(zipContent); 
4132            link.download = 'imagens.zip'; 
4133            document.body.appendChild(link); 
4134            link.click(); 
4135            document.body.removeChild(link); 
4136        }; 
4137 
4138// Chame a função principal 
4139            main(); 
4140 
4141        }); 
4142 
4143            <#if newsInfo.galleryItems?size == 0> 
4144            photoSection.style.display = "none"; 
4145            photoSection.previousElementSibling.style.display = "none"; 
4146            </#if> 
4147 
4148            const textSection = downloadSection.querySelector(".text-section"); 
4149            const textDownloadButton = textSection.querySelector(".button"); 
4150            textDownloadButton.addEventListener("click", () => { 
4151 
4152            const link = document.createElement("a"); 
4153 
4154            const titleText = document.querySelector(".main-headline-container .main-headline").innerHTML; 
4155            const publishSocialMediaText = document.querySelector(".publish_and_social_medias_infos_desk .publish_and_update_date").innerHTML; 
4156            const tagsText = document.querySelector(".tags").innerHTML; 
4157            const newsContentText = document.querySelector(".news-content").innerHTML; 
4158            const text = titleText + publishSocialMediaText + tagsText + newsContentText; 
4159 
4160            const strWithoutHtmlTags = text.replace(/(<([^>]+)>)/gi, ""); 
4161            const strWithoutMarcationBrackets = strWithoutHtmlTags.replace(/ *#\[[^\]]*]/g, ""); 
4162            const strWithoutNextPrevious = strWithoutMarcationBrackets.replace(/Previous    Next/g, ""); 
4163            const strWithoutBlankEnters = strWithoutNextPrevious.replace(/^\s*$(?:\r\n?|\n)/gm, ""); 
4164            const tempInput = document.createElement("textarea"); 
4165            tempInput.value = strWithoutBlankEnters; 
4166 
4167            document.body.appendChild(tempInput); 
4168            tempInput.select(); 
4169            document.execCommand("copy"); 
4170 
4171            if (tempInput.value.length > 0) { 
4172 
4173            const file = new Blob([tempInput.value], {type: 'text/plain'}); 
4174            link.href = URL.createObjectURL(file); 
4175            link.download = titleText.replace(/([^\w ]|_)/g, '').replaceAll(' ', '_'); 
4176            link.click(); 
4177            URL.revokeObjectURL(link.href); 
4178
4179 
4180            document.body.removeChild(tempInput); 
4181        }); 
4182 
4183 
4184        }); 
4185 
4186    </script> 
4187 
4188    <style> 
4189        .ptb-news__read-news .download-section * { 
4190            margin: 0; 
4191            padding: 0; 
4192
4193 
4194        .ptb-news__read-news .download-news-text *, 
4195        .ptb-news__read-news .download-news-photos * { 
4196          pointer-events: none; 
4197
4198         
4199 
4200        .ptb-news__read-news .download-section { 
4201            margin: 0; 
4202            padding: var(--space-giant, 80px) 0; 
4203            display: flex; 
4204            flex-direction: column; 
4205            gap: var(--space-xl, 40px); 
4206
4207 
4208        .ptb-news__read-news .download-section svg { 
4209            width: var(--size-sm, 20px); 
4210            height: var(--size-sm, 20px); 
4211
4212 
4213        .ptb-news__read-news .download-section svg path { 
4214            stroke: var(--color-primary-solid-to-bright-200, var(--color-primary-medium)); 
4215
4216 
4217        .ptb-news__read-news .download-section .title-container { 
4218            display: flex; 
4219            gap: var(--space-sm, 16px); 
4220            flex-direction: row; 
4221
4222 
4223        .ptb-news__read-news .download-section .title-container svg { 
4224            width: var(--size-lg, 32px); 
4225            height: var(--size-lg, 32px); 
4226
4227 
4228        .ptb-news__read-news .download-section .title-container svg path { 
4229            stroke: var(--color-neutral-800); 
4230
4231 
4232        .ptb-news__read-news .download-section .title-container .title { 
4233            color: var(--color-neutral-800, #373737); 
4234            font-family: var(--font-family-base); 
4235            font-size: var(--font-size-lg); 
4236            font-style: var(--font-style-normal); 
4237            font-weight: var(--font-weight-bold); 
4238            line-height: var(--line-height-md); /* 31.68px */ 
4239
4240 
4241        .ptb-news__read-news .download-section .sections { 
4242            display: flex; 
4243            flex-direction: column; 
4244            padding: var(--space-lg, 32px); 
4245            gap: var(--space-md, 24px); 
4246            border-radius: var(--border-radius-lg, 16px); 
4247            background: var(--color-neutral-300, #F8F8F8); 
4248
4249 
4250        .ptb-news__read-news .download-section .sections .separator { 
4251            background: #D7D7D7; 
4252            height: var(--size-nano, 2px); 
4253            width: 100%; 
4254
4255 
4256        .ptb-news__read-news .download-section .sections .section { 
4257            display: flex; 
4258            justify-content: space-between; 
4259            gap: var(--space-sm, 16px); 
4260            align-items: center; 
4261            height: var(--size-xxl, 48px); 
4262
4263 
4264        .ptb-news__read-news .download-section .sections .section .title { 
4265            color: var(--color-neutral-dark-to-bright-1000, #010101); 
4266 
4267            font-family: var(--font-family-base); 
4268            font-size: var(--font-size-xs); 
4269            font-style: var(--font-style-normal); 
4270            font-weight: var(--font-weight-bold); 
4271            line-height: var(--line-height-md); 
4272
4273 
4274        .ptb-news__read-news .download-section .section.video-section { 
4275            display: flex; 
4276            flex-direction: column; 
4277            height: fit-content; 
4278            align-items: flex-start; 
4279
4280 
4281        .ptb-news__read-news .download-section .section.video-section svg path { 
4282            stroke: var(--color-primary-medium, #008542); 
4283
4284 
4285        .ptb-news__read-news .download-section .section.video-section .videos-container { 
4286            display: flex; 
4287            flex-direction: column; 
4288            gap: var(--space-sm, 16px); 
4289
4290 
4291        .ptb-news__read-news .download-section .sections .section .button { 
4292            display: flex; 
4293            gap: var(--space-xxs, 8px); 
4294            color: var(--color-primary-solid-to-bright-200, var(--color-primary-medium)); 
4295            font-family: var(--font-family-base); 
4296            font-size: var(--font-size-xxs, 16px); 
4297            font-style: var(--font-style-normal, normal); 
4298            font-weight: var(--font-weight-bold, 700); 
4299            line-height: var(--line-height-lg, 144%); /* 23.04px */ 
4300            text-decoration-line: var(--text-decoration-underline, underline); 
4301
4302 
4303        .ptb-news__read-news .download-section .sections .photo-section .links { 
4304            display: flex; 
4305            flex-direction: column; 
4306            gap: var(--space-sm, 16px); 
4307
4308 
4309 
4310        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
4311
4312 
4313    </style> 
4314</#macro> 
4315<#-- ################################################################################################################## --> 
4316 
4317 
4318<#function getFirstCategoryObjectOfVocabulary journalArticle vocabulary > 
4319    <#attempt> 
4320        <#assign categories = categoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getClassPK()) /> 
4321        <#list categories as category> 
4322            <#if vocabulary.getVocabularyId() == category.getVocabularyId()> 
4323                <#return category> 
4324            </#if> 
4325        </#list> 
4326        <#return ""> 
4327 
4328        <#recover> 
4329            <#return "" /> 
4330    </#attempt> 
4331</#function> 
4332 
4333 
4334<#-- ############# Site de Crise - Notícia - Extrair dados de Notícias ################################################ --> 
4335<#-- 
4336Add elements from the sidebar to define your template. Type "${" to use the 
4337autocomplete feature. 
4338--> 
4339<#function extractFeaturedNewsHeadline fieldList xmlArticle> 
4340    <#return getFieldValue(fieldList, xmlArticle, "Título de destaque da notícia")> 
4341</#function> 
4342 
4343<#function extractNewsSummary fieldList xmlArticle> 
4344    <#return getFieldValue(fieldList, xmlArticle, "Subtítulo")> 
4345</#function> 
4346 
4347<#function extractPublishDate journalArticle> 
4348<#--assign lastPublishDate = journalArticle.getModifiedDate()> 
4349<#if journalArticle.getLastPublishDate()??> 
4350    <#assign lastPublishDate = journalArticle.getLastPublishDate()> 
4351<#else> 
4352    <#assign lastPublishDate = journalArticle.getModifiedDate()> 
4353</#if> 
4354<#return lastPublishDate --> 
4355    <#return journalArticle.getDisplayDate() /> 
4356</#function> 
4357 
4358<#-- Seção da imagem de destaque ----------------------------------------------------------------------> 
4359<#function extractNewsImage fieldList xmlArticle  fileEntryService> 
4360    <#assign 
4361    <#-- Grupo da imagem de destaque --> 
4362    newsImageGroupList = getNodes("Fieldset71035101", newsJournalArticle.getDocument().getRootElement()) 
4363    <#-- Url e descrição da imagem de destaque --> 
4364    newsImage = {"url": "--", "alt": "--", "mimeType" :"image/jpg", "title": "", "name": "", "fileEntryId": ""} 
4365    <#-- Créditos da imagem de destaque --> 
4366    newsImageCredits = "" 
4367    <#-- Legenda da imagem de destaque --> 
4368    newsImageLegend = "" 
4369    <#-- Texto do link para download --> 
4370    downloadLinkTitle = "" 
4371
4372 
4373    <#list newsImageGroupList as newsImageGroup> 
4374        <#assign newsImage = getFileFromXML("Image05319221", newsImageGroup, fileEntryService) /> 
4375 
4376    <#-- Grupo com as informações de crédito e legenda da imagem de destaque --> 
4377        <#assign labelGroupList = getNodes("Fieldset43702900", newsImageGroup) /> 
4378        <#list labelGroupList as labelGroup> 
4379        <#-- Investigar do porquê não está funcionando o getFieldValue 
4380        <#assign 
4381                    newsImageCredits = getFieldValue(fieldList, labelGroup, "Crédito da imagem de destaque da notícia") 
4382                    newsImageLegend = getFieldValue(fieldList, labelGroup, "Legenda da imagem de destaque da notícia") 
4383                    downloadLinkTitle = getFieldValue(fieldList, labelGroup, "Texto do link para download") 
4384                    /> 
4385        --> 
4386            <#assign 
4387            newsImageCredits = getSingleNodeString("Text47590088", labelGroup) 
4388            newsImageLegend = getSingleNodeString("Text03239077", labelGroup) 
4389            downloadLinkTitle = getSingleNodeString("Text48804898", labelGroup) /> 
4390        </#list> 
4391    </#list> 
4392 
4393    <#return {"newsImage": newsImage, 
4394    "credits": newsImageCredits, 
4395    "legend": newsImageLegend, 
4396    "linkTitle" : downloadLinkTitle 
4397    }/> 
4398</#function> 
4399 
4400<#function featureNewsVideo xmlArticle fileEntryService> 
4401<#-- Seção do video de destaque -----------------------------------------------------------------------> 
4402    <#assign 
4403    youtubeId = "" 
4404    internalVideoUrl = "" 
4405    featureNewsVideoGroup = getNodes("Fieldset09746751", xmlArticle) 
4406
4407    <#list featureNewsVideoGroup as newsImageFieldSet> 
4408        <#assign 
4409        youtubeId = getFieldValue(fieldList,featureNewsVideoGroup, "ID do vídeo do YouTube do vídeo de destaque") 
4410        internalVideoUrl = getFileFromXML("DocumentLibrary80545771", featureNewsVideoGroup, fileEntryService) 
4411
4412    </#list> 
4413 
4414    <#return {"youtube": youtubeId, "internalVideoUrl" : internalVideoUrl}> 
4415</#function> 
4416 
4417<#-- ################################################################################################################## --> 




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: