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




Canais

Idioma

Acessibilidade

Escolha um Canal:

Faça uma busca:

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: