Título

Link do botão
Ícone do botão Button Label
Ícone de carregamento
Um inesperado erro ocorreu.
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> cardData.urlNews  [in template "20099#20135#10700480" at line 3601, column 67]

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

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${cardData.urlNews}  [in template "20099#20135#10700480" in macro "renderCard" at line 3601, column 65]
	- Reached through: @renderCard cardData  [in template "20099#20135#10700480" at line 3873, column 25]
----
1<#-- Conteúdo Web -> Templates: Site de Crise - Include de templates--> 
2<#-- include "${templatesPath}/1975602" --> 
3 
4<#-- Conteúdo Web -> Templates: Site de Crise - Funções gerais--> 
5<#include "${templatesPath}/1975398" /> 
6 
7<#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Extrair dados de Notícias --> 
8<#--include "${templatesPath}/7762031" --> 
9 
10<#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Título --> 
11<#-- include "${templatesPath}/7761976" --> 
12 
13<#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Redes sociais e data de publicação --> 
14<#--include "${templatesPath}/7762069" --> 
15 
16<#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Áudios do conteúdo da notícia --> 
17<#-- include "${templatesPath}/7761972" --> 
18<#function getNodesByLabel fieldList parentNode label> 
19    <#assign result = []/> 
20    <#attempt> 
21        <#assign groupId =  getIdFromFieldName(fieldList, label) /> 
22        <#assign xSeletorCaminho = saxReaderUtil.createXPath("dynamic-element[@name='${groupId}' ]") /> 
23        <#assign result = xSeletorCaminho.selectNodes(parentNode) /> 
24        <#return result /> 
25        <#recover> 
26            <#return result /> 
27    </#attempt> 
28</#function> 
29 
30<#function findVocabulary vocabularyName vocabularies> 
31    <#assign vocabularyNameLowerCase = vocabularyName?lower_case> 
32    <#list vocabularies as vocabulary> 
33        <#if vocabulary.name?lower_case == vocabularyNameLowerCase> 
34            <#return vocabulary> 
35        </#if> 
36    </#list> 
37    <#return {}> 
38</#function> 
39 
40<#-- ############# Conteúdo Web -> Templates: Site de Crise - Include de templates #################################### --> 
41<#function getSiteUrl> 
42    <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]> 
43    <#if layout?? && layout?has_content> 
44        <#return portalUtil.getLayoutFriendlyURL(layout, themeDisplay)?replace(layout.getFriendlyURL(), "")> 
45    </#if> 
46    <#return portalUtil.getLayoutFriendlyURL(layout, themeDisplay)> 
47</#function> 
48 
49<#function getSiteName> 
50    <#return layout.getGroup().getDescriptiveName(locale)> 
51</#function> 
52 
53<#function mountUrlToPage targetPage> 
54    <#assign baseUrl = getSiteUrl()> 
55    <#assign trimmedUrl = baseUrl?replace("/w/", "/")> 
56    <#assign trimmedUrl = trimmedUrl?substring(0, trimmedUrl?last_index_of("/"))> 
57    <#return trimmedUrl + "/" + targetPage> 
58</#function> 
59<#-- ################################################################################################################## --> 
60 
61 
62<#assign 
63    journalArticleLocalService  = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
64    assetVocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
65    assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
66    vocabularies = assetVocabularyService.getGroupVocabularies(groupId) 
67    tagsLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService") 
68    tagVocabulary = findVocabulary("Tag", vocabularies) 
69    flagVocabulary = findVocabulary("Flag", vocabularies) 
70    tagCategoryTitles = extractVocabularyTitles(tagVocabulary) 
71    flagCategoryTitles = extractVocabularyTitles(flagVocabulary) 
72    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
73    fileEntryService = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"] 
74    layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
75    PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] 
76    AssetEntryQueryService = objectUtil("com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil").getService() 
77    AssetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery') 
78/> 
79 
80<#assign typeOfNewsVocabulary = findVocabulary("Tipo de Notícia", vocabularies)/> 
81<#assign ourEnergyVocabulary = findVocabulary("Nossa Energia", vocabularies)/> 
82 
83<#assign newsJournalArticle = ""> 
84<#assign assetEntry = getAssetEntryFromRequest(assetEntryLocalService)> 
85<#if assetEntry?? && assetEntry?has_content> 
86    <#assign newsJournalArticle = journalArticleLocalService.fetchLatestArticle(assetEntry.classPK)/> 
87</#if> 
88 
89<#function getSingleNode name root> 
90    <#attempt> 
91        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='${name}']/dynamic-content[@language-id='${locale}']") /> 
92        <#return xPathSelector.selectSingleNode( root ) /> 
93        <#recover> 
94            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='${name}']") /> 
95            <#return xPathSelector.selectSingleNode( root ) /> 
96    </#attempt> 
97</#function> 
98 
99<#-- Função para obter a primeira categoria associonada a um Vocabulário o qual está associado a um Jornal Article --> 
100<#function getFirstCategoryOfVocabulary journalArticle vocabulary > 
101    <#attempt> 
102        <#assign categories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getClassPK()) /> 
103        <#list categories as category> 
104            <#if vocabulary.getVocabularyId() == category.getVocabularyId()> 
105                <#return category.getName()> 
106            </#if> 
107        </#list> 
108        <#return ""> 
109 
110        <#recover> 
111            <#return "" /> 
112    </#attempt> 
113</#function> 
114 
115<#function getFirstCategoryObjectOfVocabulary journalArticle vocabulary > 
116    <#attempt> 
117        <#assign categories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getClassPK()) /> 
118        <#list categories as category> 
119            <#if vocabulary.getVocabularyId() == category.getVocabularyId()> 
120                <#return category> 
121            </#if> 
122        </#list> 
123        <#return ""> 
124 
125        <#recover> 
126            <#return "" /> 
127    </#attempt> 
128</#function> 
129 
130<#-- Função para obter todas os ids das categorias associonadas a um Vocabulário o qual está associado a um Jornal Article --> 
131<#function getAllCategoryIdOfVocabulary journalArticle vocabulary > 
132    <#attempt> 
133        <#assign categoriesIds = [] /> 
134        <#assign categories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getClassPK()) /> 
135        <#list categories as category> 
136            <#if vocabulary.getVocabularyId() == category.getVocabularyId()> 
137               <#assign categoriesIds = categoriesIds + [category.getCategoryId()] /> 
138            </#if> 
139        </#list> 
140        <#return categoriesIds> 
141 
142        <#recover> 
143            <#return [] /> 
144    </#attempt> 
145</#function> 
146 
147<#if newsJournalArticle?? && newsJournalArticle?has_content> 
148 
149    <div class="breadcrumb-breakpoint breakpoint"> 
150        <div class="breadcrumb-col col-2-11 md-col-1-8 sm-col-1-4">  
151            <#assign homeURL = "/" /> 
152 
153            <#if currentURL?contains('webserver')> 
154               <#assign homeURL = "/web/nossa-energia" />  
155            </#if> 
156 
157            <a href="${homeURL}" class="breadcrumb-page text previous-page paragraph-micro-regular" tabindex="0">  
158                <span class="breadcrumb-text-truncate" original-text="Home">Home</span>  
159                <div class="icon"></div> 
160            </a> 
161             
162            <#assign currentUrl = getSiteUrl()> 
163 
164            <#assign lastIndex = currentUrl?last_index_of("/")> 
165            <#assign urlWithoutLastSegment = currentUrl?substring(0, lastIndex+1)> 
166            <#assign urlWithoutW = urlWithoutLastSegment?replace("/w/", "/")> 
167 
168            <#assign breadcrumbOurEnergyCategory = getFirstCategoryObjectOfVocabulary(assetEntry, ourEnergyVocabulary) /> 
169            <#assign categoryURL = urlWithoutW/> 
170            <a href="${categoryURL}" class="breadcrumb-page text previous-page paragraph-micro-regular" tabindex="0">  
171                <span class="breadcrumb-text-truncate" original-text="${breadcrumbOurEnergyCategory.getTitle(locale)}">${breadcrumbOurEnergyCategory.getTitle(locale)}</span>  
172                <div class="icon"></div> 
173            </a> 
174 
175            <span original-text="${newsJournalArticle.getTitle(locale)}" class="breadcrumb-page text active-page active paragraph-micro-bold">${newsJournalArticle.getTitle(locale)}</span> 
176        </div> 
177    </div> 
178 
179    <div class="ptb-news__read-news"> 
180        <div class="ptb-news__read-news-post "> 
181            <div class="ptb-news__read-content"> 
182 
183                <#assign 
184                ddmStructure = newsJournalArticle.getDDMStructure() 
185                fieldList = getFieldListByStructure(ddmStructure) 
186                xmlArticle = newsJournalArticle.getDocument().getRootElement() 
187
188 
189                <#assign 
190                <#-- Título principal da notícia --> 
191                mainHeadlineOfTheNews = newsJournalArticle.getTitle(locale, true) 
192                <#-- Título de destaque da notícia --> 
193                featuredNewsHeadline = extractFeaturedNewsHeadline(fieldList, xmlArticle) 
194                <#-- Sumário da notícia --> 
195                newsSummary = extractNewsSummary(fieldList, xmlArticle) 
196                <#-- Data de publicação da notícia --> 
197                lastPublishDate = extractPublishDate(newsJournalArticle) 
198                <#-- Data de criação da notícia --> 
199                createDate = newsJournalArticle.getCreateDate() 
200
201 
202                <#-- Flag da notícia ----------------------------------------------------------------------------------> 
203                <#assign flag = getFirstCategoryTitle(newsJournalArticle, flagCategoryTitles, assetCategoryLocalService)> 
204 
205                <#-- Url amigável da notícia para visualização em DisplayPage -----------------------------------------> 
206                <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + newsJournalArticle.getUrlTitle()> 
207 
208                <#-- Conteúdo da notícia ------------------------------------------------------------------------------> 
209                <#assign newsContent = getFieldValue(fieldList, xmlArticle, "Corpo da notícia")> 
210 
211                <#-- Seção do áudio para o conteúdo da notícia --------------------------------------------------------> 
212                <#assign audios = [] 
213                audioIdentifierFieldSetList = getNodes("Fieldset65862311", xmlArticle) 
214
215                <#list audioIdentifierFieldSetList as audioIdentifierFieldSet> 
216                    <#assign 
217                    <#-- Grupo com as informações de url e legenda do áudio --> 
218                    audioInfoFieldSet = getGroupNode("Fieldset24035689",audioIdentifierFieldSet)> 
219                    <#assign 
220                    externalAudioUrl = getFieldValue(fieldList, audioInfoFieldSet, "URL externa do áudio") 
221                    internalAudioUrl = getFileFromXML("DocumentLibrary24170668", audioInfoFieldSet, fileEntryService) 
222                    audioLegend = getFieldValue(fieldList, audioInfoFieldSet, "Legenda do áudio")> 
223 
224                    <#if externalAudioUrl?has_content || internalAudioUrl.url?has_content > 
225                        <#assign audios += [{ 
226                        "id": getFieldValue(fieldList, audioIdentifierFieldSet, "Identificador de Áudio"), 
227                        "externalUrl" : externalAudioUrl, 
228                        "internalUrl" : internalAudioUrl, 
229                        "legend" : audioLegend 
230                        }]> 
231                    </#if> 
232                </#list> 
233 
234 
235                <#-- Seção de vídeo para o conteúdo da notícia --------------------------------------------------------> 
236                <#assign videos = [] 
237                videoIdentifierFieldSetList = getNodes("Fieldset24460782", xmlArticle) 
238
239                <#list videoIdentifierFieldSetList as videoIdentifierFieldSet> 
240                    <#assign 
241                    <#-- Grupo com as informações de url e legenda do áudio --> 
242                    videoInfoFieldSet = getGroupNode("Fieldset51040010",videoIdentifierFieldSet) 
243 
244                    videos += [{ 
245                    "id": getFieldValue(fieldList,videoIdentifierFieldSet, "Identificador de Vídeo"), 
246                    "youtubeID" : getFieldValue(fieldList, videoInfoFieldSet, "ID do vídeo do YouTube"), 
247                    "internalUrl" : getFileFromXML("DocumentLibrary15265409", videoInfoFieldSet, fileEntryService), 
248                    "legend" : getFieldValue(fieldList, videoInfoFieldSet, "Legenda do vídeo") 
249                    }] 
250
251                </#list> 
252 
253 
254                <#-- Seção de links para o conteúdo da notícia --------------------------------------------------------> 
255                <#assign 
256                links = [] 
257                linksFieldSetList = getNodes("Fieldset37770113", xmlArticle) 
258
259                <#list linksFieldSetList as linksFieldSet> 
260                    <#assign linkFieldSetList = getNodes("Fieldset10524367", linksFieldSet)> 
261 
262                    <#list linkFieldSetList as linkFieldSet> 
263                        <#assign 
264                        linkId = getFieldValue(fieldList, linkFieldSet, "Identificador do link") 
265 
266                        <#-- Grupo com as informações de url e legenda do áudio --> 
267                        linkInfoFieldSeet = getGroupNode("Fieldset86037074", linkFieldSet) 
268 
269                        iconType = getFieldValue(fieldList, linkInfoFieldSeet, "Ícone do link") 
270                        links += [{ 
271                        "id": linkId, 
272                        "externalLink" : getFieldValue(fieldList, linkInfoFieldSeet, "Link externo"), 
273                        "pageLink" : getPageLayoutLinkFromXML("LinkToLayout77941175", linkInfoFieldSeet, layoutLocalService), 
274                        "file" : getFileFromXML("DocumentLibrary34820760", linkInfoFieldSeet, fileEntryService), 
275                        "title" : getFieldValue(fieldList, linkInfoFieldSeet, "Título do link"), 
276                        "iconType" : iconType 
277                        }] 
278
279                    </#list> 
280                </#list> 
281 
282 
283                 
284                <#assign galleryItems = []/> 
285                
286                <#assign mediaGroupList = getNodes(getIdFromFieldName(fieldList, "Galeria de multimídia"), xmlArticle) /> 
287                 
288                <#list mediaGroupList as mediaGroup >       
289                    <#assign nodes = getNodes(getIdFromFieldName(fieldList, "Imagem da Galeria") , mediaGroup) /> 
290                    <#list nodes as node>                   
291                        <#assign image = getMediaInfo(fieldList, node, "Imagem", fileEntryService) /> 
292                        <#if image?? && image?has_content && image.url?has_content> 
293                            <#assign galleryItems += [{"image": image}] /> 
294                        </#if>   
295                    </#list> 
296                </#list> 
297 
298                 
299				        <#-- Seção de Quotes para o conteúdo da notícia --------------------------------------------------------> 
300                <#assign quotes = [] /> 
301                <#assign quotesRootFieldSetList = getNodes(getIdFromFieldName(fieldList, "Quotes da notícia"), xmlArticle) /> 
302                <#list quotesRootFieldSetList as quotesFieldSetList> 
303                     <#assign quoteFieldSetList = getNodes(getIdFromFieldName(fieldList, "Quote"), quotesFieldSetList) /> 
304						         <#list quoteFieldSetList as quoteFieldSet> 
305                                        <#assign imageJsonString  = getSingleNodeString("Image94530628", quoteFieldSet)   />                                                                       
306                                        <#assign imageJson = {"url": "", "alt": "", "fileEntryId" : "", "title" : ""} /> 
307                                        <#attempt> 
308                                            <#if imageJsonString ?? && imageJsonString?has_content>  
309                                                <#assign imageJson = jsonFactoryUtil.createJSONObject(imageJsonString) /> 
310                                            </#if> 
311 
312                                            <#if !imageJson.url?? || !imageJson.url?has_content> 
313                                                <#assign imageJson = {"url": "", "alt": "", "fileEntryId" : "", "title" : ""} /> 
314                                            </#if> 
315                                        <#recover>                                             
316                                        </#attempt> 
317 
318                                         <#if !imageJson.url?? || !imageJson.url?has_content> 
319                                                <#assign imageJson = {"url": "", "alt": "", "fileEntryId" : "", "title" : ""} /> 
320                                            </#if> 
321                                 					       
322                                    <#assign quotes += [{ 
323                                    "id": getFieldValue(fieldList, quoteFieldSet, "Identificador do Quote"), 
324                                    "content" : getFieldValue(fieldList, quoteFieldSet, "Texto do Quote"), 
325                                    "author" : getFieldValue(fieldList, quoteFieldSet, "Nome do autor"), 
326                                    "image" : {"url": imageJson.url, "alt": imageJson.alt, "fileEntryId" : imageJson.fileEntryId, "title" : imageJson.title}  
327                                    }] /> 
328						          </#list>                    
329                </#list> 
330 
331                <#assign newsInfo = { 
332                "mainHeadlineOfTheNews": mainHeadlineOfTheNews, 
333                "featuredNewsHeadline" : featuredNewsHeadline, 
334                "displayDate" : formatDate(createDate), 
335                "createDate": createDate, 
336                "newsSummary" : newsSummary, 
337                "newsMedia":  extractNewsMedia(fieldList, xmlArticle, fileEntryService), 
338                "lastPublishDate": lastPublishDate, 
339                "flag": flag, 
340                "url": newsJournalArticleFriendlyUrl, 
341                "newsContent": newsContent, 
342                "audios": audios, 
343                "videos": videos, 
344                "galleryItems": galleryItems, 
345                "links": links, 
346								"quotes": quotes 
347                }/> 
348 
349                <#-- Renderizar o título principal da notícia --> 
350                <#-- Conteúdo-> Conteúdo Web -> Templates: Site de Crise - Notícia - Título --> 
351                <@renderHeadLine newsInfo = newsInfo/> 
352 
353                <#-- Renderizar o resumo da notícia --> 
354                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Resumo --> 
355                <@renderReview newsInfo = newsInfo/> 
356 
357                <#-- Renderizar a data de publicação/edição da notícia e redes sociais --> 
358                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Redes sociais e data de publicação --> 
359                <@renderPublishAndSocialMediasInfos newsJournalArticle newsInfo/> 
360 
361                <#-- Renderizar as tags da notícia --> 
362                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Render Tags --> 
363                <#assign categoriesAsssetEntryResponse = restClient.get("/headless-delivery/v1.0/structured-contents/${assetEntry.getClassPK()}?nestedFields=embeddedTaxonomyCategory&fields=taxonomyCategoryBriefs") /> 
364               
365                <#if categoriesAsssetEntryResponse?? && categoriesAsssetEntryResponse?has_content && categoriesAsssetEntryResponse.taxonomyCategoryBriefs??> 
366                    <#assign tagCategoryList = getCategoriesNamesAndIds("Tags", categoriesAsssetEntryResponse.taxonomyCategoryBriefs) /> 
367                    <#assign removeStartParameterWhenTagIsClicked = true /> 
368                    <#assign includeRequestParams = false /> 
369                    <#assign NEWS_PAGE_NAME= "categorias"/> 
370                    <@renderNewsTags tagCategoryList NEWS_PAGE_NAME removeStartParameterWhenTagIsClicked includeRequestParams /> 
371                </#if> 
372                 
373 
374                <#-- Renderizar a imagem de destaque da notícia --> 
375                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Imagem de destaque --> 
376                <#assign typeOfNews = getFirstCategoryOfVocabulary(assetEntry, typeOfNewsVocabulary) /> 
377                 
378                <#if !typeOfNews?? || !typeOfNews?has_content || typeOfNews != "Infográfico" >                
379                    <@renderNewsFeaturedMedia newsInfo = newsInfo/> 
380                </#if> 
381 
382                <#-- Renderizar o conteúdo da notícia --> 
383                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Conteúdo da notícia --> 
384                <@renderNewsContent newsInfo = newsInfo/> 
385 
386                <#-- Renderizar links da notícia --> 
387                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Links do conteúdo da notícia --> 
388                <@renderLinks newsInfo /> 
389 
390                <@renderCite /> 
391 
392                <#-- Renderizar áudios da notícia --> 
393                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Áudios do conteúdo da notícia --> 
394 
395                <#-- Renderizar galeria de imagens notícia --> 
396                <#-- Conteúdo Web -> Templates: Site de Crise - Notícia - Render galeria --> 
397                <@renderGallery newsInfo /> 
398									 
399									 
400                <#-- Renderizar quotes da notícia --> 
401                <@renderQuotes newsInfo /> 
402 
403            </div> 
404        </div> 
405    </div> 
406<#else > 
407    <div class="ptb-news__read-news paragraph-sm-regular">      
408        <p> <#if locale == "pt_BR"> Nenhuma notícia <#else> There are no news </#if></p> 
409    </div> 
410 
411    <style> 
412        .ptb-news__read-news p { 
413            color: #515867; 
414
415 
416        body.high-contrast-active .ptb-news__read-news p { 
417            color: var(--color-neutral-100); 
418
419    </style> 
420</#if> 
421 
422<style> 
423    .breadcrumb-breakpoint { 
424        padding-top: var(--space-xxl); 
425        padding-bottom: var(--space-xl); 
426
427 
428    body.high-contrast-active .breadcrumb-breakpoint { 
429        background: var(--background-surface-level-01, #010101); 
430
431 
432    .breadcrumb-breakpoint .breadcrumb-col { 
433        display: flex; 
434        width: max-content; 
435        gap: var(--space-xxs); 
436        height: fit-content; 
437        overflow-x: hidden; 
438
439 
440    .breadcrumb-breakpoint #liferay-breadcrumb { 
441        display: none; 
442
443 
444    .breadcrumb-breakpoint .breadcrumb-page { 
445        display: flex; 
446        gap: var(--space-micro); 
447        height: var(--size-md); 
448        size: var(--size-md); 
449        border: 1px solid rgba(0, 0, 0, 0); 
450        box-sizing: border-box; 
451        border-radius: var(--border-radius-sm); 
452
453 
454    .breadcrumb-breakpoint a.breadcrumb-page.text span, 
455    .breadcrumb-breakpoint span.breadcrumb-page.text { 
456        white-space: nowrap; 
457
458 
459    .breadcrumb-breakpoint .breadcrumb-page a:focus { 
460        outline: none; 
461
462 
463    .breadcrumb-breakpoint .breadcrumb-page.active-page { 
464        color: var(--color-text-primary-default); 
465        background-color: var(--color-background-default-level-02); 
466        border-radius: var(--border-radius-sm); 
467
468 
469    body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.active-page { 
470        background: var(--background-surface-level-02, #373737); 
471        color: var(--text-primary-default, #FFF); 
472
473 
474    .breadcrumb-breakpoint .breadcrumb-page.previous-page { 
475        transition: 300ms ease-in-out; 
476
477 
478    .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
479        text-decoration: var(--text-decoration-none); 
480        color: var(--color-text-primary-default); 
481        text-transform: capitalize; 
482        padding-left: var(--space-xxs); 
483        padding-right: var(--space-xxs); 
484
485 
486    body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
487        color: var(--text-primary-default, #FFF); 
488
489 
490    .breadcrumb-breakpoint .breadcrumb-page.active-page.text { 
491        color: var(--color-text-primary-default); 
492        text-decoration: var(--text-decoration-none); 
493        background-color: var(--color-background-default-level-02); 
494        text-transform: capitalize; 
495        padding-left: var(--space-xxs); 
496        padding-right: var(--space-xxs); 
497
498 
499    body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page.text { 
500        color: var(--text-primary-default, #FFF); 
501
502 
503    .breadcrumb-breakpoint .breadcrumb-page.previous-page:not(.three-dots):hover { 
504        background-color: var(--color-background-default-level-01); 
505        border-color: var(--border-color-dark); 
506        border-radius: var(--border-radius-sm); 
507        border: 1px solid; 
508        transition: all 300ms ease-in-out; 
509
510 
511    body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page.previous-page:not(.three-dots):hover { 
512        background-color: transparent; 
513
514 
515    .breadcrumb-breakpoint .breadcrumb-page:focus-visible { 
516        margin: var(--space-micro); 
517        border-radius: var(--space-micro); 
518        outline: none; 
519        border: 1px solid var(--color-primary-medium); 
520        box-sizing: border-box; 
521        transition: 300ms ease-in-out; 
522
523 
524    body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page:focus-visible { 
525        border: 1px solid rgba(228, 247, 232, 1); 
526
527 
528    .breadcrumb-breakpoint .breadcrumb-page .icon { 
529        width: var(--size-xxs); 
530        height: var(--size-xxs); 
531        border-color: var(--border-color-darkest); 
532        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'); 
533        background-size: cover; 
534        margin-top: auto; 
535        margin-bottom: auto; 
536
537 
538    body.high-contrast-active .breadcrumb-breakpoint .breadcrumb-page .icon { 
539        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>'); 
540
541 
542    .ptb-news__read-news { 
543        padding-bottom: var(--space-xl, 40px); 
544
545 
546    body.high-contrast-active .ptb-news__read-news { 
547        background: var(--background-surface-level-01, #010101); 
548
549</style> 
550 
551 
552<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
553<#-- 
554Add elements from the sidebar to define your template. Type "${" to use the 
555autocomplete feature. 
556--> 
557 
558<#macro renderHeadLine newsInfo> 
559     
560    <div class="main-headline-container breakpoint"> 
561        <div class="main-headline-container-col col-2-11 md-col-1-8 sm-col-1-4"> 
562            <h2 class="main-headline display-sm">${newsInfo.featuredNewsHeadline}</h2> 
563            <div class="bar"></div> 
564        </div> 
565    </div> 
566 
567    <style> 
568        .ptb-news__read-news .main-headline-container .main-headline-container-col { 
569            display: flex; 
570            flex-direction: column; 
571            gap: var(--space-sm); 
572            padding-bottom: var(--space-lg); 
573
574 
575        .ptb-news__read-news .main-headline-container .main-headline-container-col * { 
576            margin: 0; 
577            padding: 0; 
578
579 
580        .ptb-news__read-news .main-headline-container .main-headline { 
581            font-family: var(--font-family-base); 
582            color: var(--color-neutral-800); 
583
584 
585        body.high-contrast-active .ptb-news__read-news .main-headline-container .main-headline { 
586            color: var(--text-primary-default, var(--color-neutral-100)); 
587
588 
589        .ptb-news__read-news .main-headline-container .bar { 
590            width: 32px; 
591            height: var(--size-micro); 
592            background: var(--color-secondary-medium); 
593
594 
595        body.high-contrast-active .ptb-news__read-news .main-headline-container .bar{ 
596            background: var(--text-secondary-accent, #FFEEB3); 
597
598 
599        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
600            .ptb-news__read-news .main-headline-container .main-headline-container-col { 
601                gap: var(--space-xs, 12px); 
602
603
604    </style> 
605</#macro> 
606<#-- ################################################################################################################## --> 
607 
608<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
609<#macro renderReview newsInfo> 
610    <#assign summaryCssRoot = "summary-container" /> 
611 
612    <div class="${summaryCssRoot}-breakpoint breakpoint"> 
613        <div class="${summaryCssRoot} col-2-11 md-col-1-8 sm-col-1-4"> 
614            <p class="summary paragraph-lg-regular"> 
615                ${newsInfo.newsSummary} 
616            </p> 
617        </div> 
618        
619    </div> 
620 
621    <style> 
622        .${summaryCssRoot} .summary { 
623            padding-bottom: var(--space-lg); 
624
625 
626        .${summaryCssRoot} .summary, 
627        .${summaryCssRoot} .summary * { 
628            color: var(--color-neutral-800, #373737); 
629            font-family: var(--font-family-base); 
630            font-style: var(--font-style-italic); 
631            margin: var(--space-none); 
632
633 
634        body.high-contrast-active .summary, 
635        body.high-contrast-active .summary * { 
636            color: var(--text-secondary-default, #F8F8F8); 
637
638    </style> 
639</#macro> 
640<#-- ################################################################################################################## --> 
641 
642<#-- ############# Site de Crise - Notícia - Redes sociais e data de publicação ####################################### --> 
643<#macro renderPublishAndSocialMediasInfos journalArticle newsInfo> 
644 
645    <div class="publish_and_social_medias_infos_desk-breakpoint breakpoint"> 
646        <div class="publish_and_social_medias_infos_desk col-2-11 md-col-1-8 sm-col-1-4"> 
647            <div class="publish_and_update_date"> 
648                <#assign lastPublishDate = journalArticle.getModifiedDate()> 
649                <#assign createDate = journalArticle.getCreateDate()> 
650                <#if journalArticle.getLastPublishDate()??> 
651                    <#assign lastPublishDate = journalArticle.getLastPublishDate()> 
652                </#if> 
653 
654                <#if locale == "pt_BR"> 
655                    <p class="updated">Atualizado em ${formatDate(lastPublishDate)}</p> 
656                    <p class="published">Postado em ${formatDate(createDate)}</p> 
657                <#else > 
658                    <p class="updated">Updated on ${formatDate(lastPublishDate)}</p> 
659                    <p class="published">Posted on ${formatDate(createDate)}</p> 
660                </#if> 
661            </div> 
662 
663            <#--        <div class="share_news_container">--> 
664            <div class="social-media-container"> 
665 
666                <#assign emailMsg = "Veja o conteúdo do post no link "> 
667                <#if locale == "en_US"> 
668                    <#assign emailMsg = "See the content of the post in the link "> 
669                </#if> 
670                <a class="social-media-share" href="mailto:?subject=${newsInfo.mainHeadlineOfTheNews}&amp;body=${emailMsg}${newsInfo.url}" 
671                    target="_blank"> 
672                    <svg class="email" width="37" height="36" viewBox="0 0 37 36" fill="none" 
673                            xmlns="http://www.w3.org/2000/svg"> 
674                        <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
675                        <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" 
676                                fill="#008542"/> 
677                    </svg> 
678                    <span >send e-mail</span> 
679                </a> 
680 
681                <a class="social-media-share"  href="https://www.facebook.com/sharer/sharer.php?u=${newsInfo.url}" target="_blank"> 
682                    <svg class="facebook" width="37" height="36" viewBox="0 0 37 36" fill="none" 
683                            xmlns="http://www.w3.org/2000/svg"> 
684                        <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
685                        <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" 
686                                fill="#008542"/> 
687                    </svg> 
688                        <span >Facebook</span> 
689                </a> 
690 
691                <#assign mobileShareButtonId = "mobile-share-" + randomNumber(5)> 
692                <div class="mobile-share" id="${mobileShareButtonId}"> 
693                    <svg width="37" height="36" viewBox="0 0 37 36" fill="none" xmlns="http://www.w3.org/2000/svg"> 
694                        <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
695                        <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" 
696                                fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
697                        <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" 
698                                fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
699                        <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" 
700                                fill="#008542" stroke="#008542" stroke-linecap="round" stroke-linejoin="round"/> 
701                        <path d="M20.2546 14.0784L15.9036 16.8879" stroke="#008542" stroke-linecap="round" 
702                                stroke-linejoin="round"/> 
703                        <path d="M15.9036 19.4871L20.2546 22.2966" stroke="#008542" stroke-linecap="round" 
704                                stroke-linejoin="round"/> 
705                    </svg> 
706                </div> 
707 
708                <a class="social-media-share"  href="https://twitter.com/intent/tweet?url=${newsInfo.url}" target="_blank" data-size="large"> 
709                    <svg class="twitter" width="37" height="36" viewBox="0 0 37 36" fill="none" 
710                            xmlns="http://www.w3.org/2000/svg"> 
711                        <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
712                        <path d="M22.7542 12H24.7809L20.3542 17.0933 25.5809 24H21.4742L18.2741 19.8133 14.5941 24H12.5674L17.3141 18.56 12.3008 12H16.5141L19.4208 15.84 22.7542 12ZM22.0342 22.7733H23.1542L15.9008 13.1467H14.6741L22.0342 22.7733Z" fill="#008542"/> 
713                    </svg> 
714                            <span >twitter</span> 
715                </a> 
716 
717                <a class="social-media-share"  href="https://api.whatsapp.com/send?text=${newsInfo.url}" data-action="share/whatsapp/share" 
718                    target="_blank"> 
719                    <svg class="whatsapp" width="37" height="36" viewBox="0 0 37 36" fill="none" 
720                            xmlns="http://www.w3.org/2000/svg"> 
721                        <circle cx="18.5" cy="18" r="17.5" fill="white" stroke="#E1E1E1"/> 
722                        <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" 
723                                fill="#008542"/> 
724                        <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" 
725                                fill="white"/> 
726                    </svg> 
727                    <span >Share to WhatsApp </span> 
728                </a> 
729 
730                <div class="copy-text-container"> 
731                    <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 
732                        <path d="M10.5 10.5H13.5V2.5H5.5V5.5" stroke="#008542" stroke-linecap="round" 
733                                stroke-linejoin="round"/> 
734                        <path d="M10.5 5.5H2.5V13.5H10.5V5.5Z" stroke="#008542" stroke-linecap="round" 
735                                stroke-linejoin="round"/> 
736                    </svg> 
737 
738                    <#if locale == "pt_BR"> 
739                        <p class="text">Copiar texto <span class="copy-text-title-news"> ${newsInfo.mainHeadlineOfTheNews} </span> </p> 
740                    <#else > 
741                        <p class="text">Copy text <span class="copy-text-title-news"> ${newsInfo.mainHeadlineOfTheNews} </span> </p> 
742                    </#if> 
743                </div> 
744 
745            </div> 
746 
747            <#if locale == "pt_BR"> 
748                <span class="copy-message">Texto copiado!</span> 
749            <#else > 
750                <span class="copy-message">Text copied!</span> 
751            </#if> 
752            <#--        </div>--> 
753        </div> 
754    </div> 
755 
756    <style> 
757			.ptb-news__read-news .hidden { 
758			     display: none; 
759
760        /*Data de publicação e redes sociais */ 
761 
762        /* Desktop */ 
763        .ptb-news__read-news .publish_and_social_medias_infos_desk { 
764            position: relative; 
765            display: grid; 
766            grid-template-columns: auto 1fr auto; 
767
768 
769        .ptb-news__read-news .publish_and_social_medias_infos_desk * { 
770            padding: var(--space-none, 0); 
771            margin: var(--space-none, 0); 
772            font-family: var(--font-family-base); 
773            font-style: var(--font-style-normal, normal); 
774            font-weight: var(--font-weight-regular, 400); 
775            font-size: var(--font-size-xxs, 16px); 
776            line-height: var(--line-height-xl, 160%); 
777            color: var(--color-neutral-800, #373737); 
778
779 
780        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk * { 
781            color: var(--text-secondary-default, #F8F8F8); 
782
783 
784        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk a svg path, 
785        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .mobile-share svg path { 
786            stroke: var(--color-neutral-500, #D7D7D7); 
787            fill: rgba(255, 255, 255, 0.32); 
788
789 
790        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk a svg circle, 
791        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .mobile-share svg circle { 
792            fill: rgba(255, 255, 255, 0.32); 
793
794 
795        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date { 
796            display: flex; 
797            align-items: center; 
798            gap: var(--space-sm, 16px); 
799
800 
801        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .updated { 
802            font-weight: var(--font-weight-bold, 700); 
803
804 
805        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .updated { 
806            color: var(--text-primary-default, var(--color-neutral-100)); 
807
808 
809        .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .published { 
810            font-weight: var(--font-weight-normal, 400); 
811
812 
813        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
814            display: flex; 
815            width: 100%; 
816            justify-content: flex-end; 
817            align-items: center; 
818            gap: var(--space-sm, 16px); 
819
820   
821        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .social-media-share { 
822            position: relative; 
823
824	 
825        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .social-media-share span { 
826            position: absolute; 
827            width: 100%; 
828            height: 100%; 
829            opacity: 0; 
830            overflow: hidden; 
831            pointer-events: none; 
832
833 
834        .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .mobile-share { 
835            display: none; 
836
837 
838        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
839            background: var(--color-neutral-100); 
840            border: var(--border-width-hairline, 1px) solid #CCCCCC; 
841            border-radius: 32px; 
842            display: flex; 
843            align-items: center; 
844            gap: var(--space-sm, 16px); 
845            padding: 6px var(--space-xxs, 8px); 
846            height: 36px; 
847            margin: 0; 
848            cursor: pointer; 
849
850 
851        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
852            background: rgba(255, 255, 255, 0.32); 
853            border: var(--border-width-hairline, 1px) solid rgba(255, 255, 255, 0.32); 
854
855 
856        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container svg { 
857            width: 18px; 
858
859 
860        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk  svg path { 
861            stroke: var(--color-neutral-500, #D7D7D7); 
862
863 
864        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
865            font-family: var(--font-family-base); 
866            font-style: normal; 
867            margin: 0; 
868            height: 100%; 
869            display: flex; 
870            align-items: center; 
871            color: var(--color-primary-medium, #008542); 
872            font-size: var(--font-size-micro, 12px); 
873            font-weight: var(--font-weight-bold, 700); 
874            line-height: var(--line-height-lg, 144%); 
875            pointer-events: none; 
876
877	             
878        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text .copy-text-title-news { 
879            position: absolute; 
880            width: 100%; 
881            height: 100%; 
882            opacity: 0; 
883            overflow: hidden; 
884
885 
886        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
887            color: var(--text-primary-accent, #E4F7E8); 
888
889 
890        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
891            display: none; 
892            position: absolute; 
893            bottom: -43px; 
894            right: -15px; 
895            padding: var(--space-xxxs, 4px) 15px; 
896            margin: var(--space-micro, 2px) 10px; 
897            width: 110px; 
898            font-family: var(--font-family-base); 
899            font-size: var(--font-size-micro, 12px); 
900 
901            color: #008542; 
902            background: var(--color-neutral-100); 
903            border-radius: var(--border-radius-md, 8px); 
904 
905            filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.16)); 
906 
907            cursor: pointer; 
908
909 
910        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
911            background: rgba(255, 255, 255, 0.32); 
912            color: var(--text-primary-accent, #E4F7E8); 
913
914 
915        .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message-active { 
916            display: block; 
917
918 
919        /* Mobile */ 
920 
921        .ptb-news__read-news .publish_and_social_medias_infos_mobile { 
922            display: flex; 
923            flex-direction: column; 
924            gap: 19px; 
925
926 
927        .ptb-news__read-news .publish_and_social_medias_infos_mobile { 
928            display: none; 
929
930 
931        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text { 
932            display: flex; 
933            justify-content: space-between; 
934            align-items: center; 
935            margin-bottom: var(--space-lg, 32px); 
936
937 
938        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date * { 
939            padding: 0; 
940            margin: 0; 
941            font-family: var(--font-family-base); 
942            font-style: var(--font-style-normal, normal); 
943            font-size: var(--font-size-micro, 12px); 
944            line-height: 136%; 
945            color: var(--color-neutral-800, #373737); 
946
947 
948        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 * { 
949            color: var(--text-primary-accent, #E4F7E8); 
950
951 
952        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date { 
953            display: flex; 
954            flex-direction: column; 
955            gap: 0; 
956
957 
958        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date .updated { 
959            font-weight: var(--font-weight-bold, 700); 
960
961 
962        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .publish_and_update_date .published { 
963            font-weight: var(--font-weight-regular, 400); 
964
965 
966        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container { 
967            background: var(--color-neutral-100); 
968            border: var(--border-width-hairline, 1px) solid #CCCCCC; 
969            border-radius: 32px; 
970            display: flex; 
971            align-items: center; 
972            gap: var(--space-sm, 16px); 
973            padding: 6px var(--space-xxs, 8px); 
974            width: 112px; 
975            height: 36px; 
976
977 
978        body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container { 
979            background: rgba(255, 255, 255, 0.32); 
980            color: var(--text-primary-accent, #E4F7E8); 
981
982 
983        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container p.text { 
984            margin: 0; 
985
986 
987        .ptb-news__read-news .publish_and_social_medias_infos_mobile .publish_and_update_date_and_copy_text .copy-text-container .text { 
988            font-family: var(--font-family-base); 
989            font-style: var(--font-style-normal, normal); 
990            font-weight: var(--font-weight-regular, 400); 
991            font-size: 13px; 
992            line-height: 14px; 
993            color: #008542; 
994
995 
996        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 { 
997            background: rgba(255, 255, 255, 0.32); 
998            color: var(--text-primary-accent, #E4F7E8); 
999
1000 
1001        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1002 
1003            .ptb-news__read-news .publish_and_social_medias_infos_desk * { 
1004                font-size: var(--font-size-micro, 12px); 
1005
1006             
1007            .ptb-news__read-news .publish_and_social_medias_infos_desk { 
1008                display: grid; 
1009                grid-template-columns: 100%; 
1010                grid-template-rows: 1fr 100%; 
1011                gap: var(--space-md); 
1012
1013 
1014            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date { 
1015                grid-column-start: 1; 
1016                grid-column-end: 1; 
1017                grid-row-start: 1; 
1018                grid-row-end: 1; 
1019                gap: var(--space-xxs, 8px); 
1020
1021 
1022            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date * { 
1023                padding: 0; 
1024                margin: 0; 
1025                font-family: var(--font-family-base); 
1026                font-style: var(--font-style-normal); 
1027                color: var(--color-neutral-800, #373737); 
1028                font-weight: var(--font-weight-bold); 
1029                font-size: var(--font-size-xxxs, 14px); 
1030                line-height: var(--line-height-md, 132%); 
1031
1032 
1033            body.high-contrast-active .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date * { 
1034                color: var(--text-primary-accent, #E4F7E8); 
1035
1036 
1037            .ptb-news__read-news .publish_and_social_medias_infos_desk .publish_and_update_date .published { 
1038                font-weight: var(--font-weight-regular, 400); 
1039
1040 
1041            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
1042                grid-column-start: 1; 
1043                grid-column-end: 2; 
1044                grid-row-start: 2; 
1045                grid-row-end: 2; 
1046                justify-content: flex-end; 
1047                height: 36px; 
1048
1049 
1050            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container { 
1051                grid-column-start: 1; 
1052                grid-column-end: 2; 
1053                grid-row-start: 2; 
1054                grid-row-end: 2; 
1055                max-width: 112px; 
1056                place-self: end; 
1057
1058 
1059            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-text-container .text { 
1060                display: none; 
1061
1062 
1063            .ptb-news__read-news .publish_and_social_medias_infos_desk .copy-message { 
1064                bottom: 0; 
1065                right: -9px; 
1066
1067 
1068            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container .mobile-share { 
1069                display: initial; 
1070
1071
1072 
1073        @media screen and (min-width: ${MIN_TABLET_WIDTH}px) and (max-width: ${MAX_TABLET_WIDTH}px) { 
1074            .ptb-news__read-news .publish_and_social_medias_infos_desk .social-media-container { 
1075                padding-right: 0; 
1076
1077
1078 
1079 
1080    </style> 
1081 
1082    <script> 
1083        AUI().ready(function () { 
1084 
1085            function copyOnClick(text) { 
1086 
1087                const strWithoutHtmlTags = text.replace(/(<([^>]+)>)/gi, ""); 
1088                const strWithoutMarcationBrackets = strWithoutHtmlTags.replace(/ *#\[[^\]]*]/g, ""); 
1089                const strWithoutNextPrevious = strWithoutMarcationBrackets.replace(/Previous    Next/g, ""); 
1090                const strWithoutBlankEnters = strWithoutNextPrevious.replace(/^\s*$(?:\r\n?|\n)/gm, ""); 
1091                const tempInput = document.createElement("textarea"); 
1092                tempInput.value = strWithoutBlankEnters; 
1093 
1094                document.body.appendChild(tempInput); 
1095                tempInput.select(); 
1096                document.execCommand("copy"); 
1097 
1098                if (tempInput.value.length > 0) { 
1099                    copyMessage.classList.add('copy-message-active'); 
1100 
1101                    timerToMessage() 
1102
1103 
1104                document.body.removeChild(tempInput); 
1105
1106 
1107            const root = document.querySelector(".publish_and_social_medias_infos_desk"); 
1108            const copyTextContainer = root.querySelector(".copy-text-container"); 
1109            copyTextContainer.addEventListener("click", (event) => { 
1110                event.preventDefault(); 
1111                const titleText = document.querySelector(".main-headline-container .main-headline").innerHTML; 
1112                const publishSocialMediaText = document.querySelector(".publish_and_social_medias_infos_desk .publish_and_update_date").innerHTML; 
1113                const tagsText = document.querySelector(".tags").innerHTML; 
1114                const newsContentText = document.querySelector(".news-content").innerHTML; 
1115                const text = titleText + publishSocialMediaText + tagsText + newsContentText; 
1116                copyOnClick(text) 
1117            }); 
1118 
1119            const mobileShare = async () => { 
1120                try { 
1121                    const shareData = { 
1122                        title: '${newsInfo.mainHeadlineOfTheNews}', 
1123                        text: '', 
1124                        url: '${newsInfo.url}' 
1125                    }; 
1126                    await navigator.share(shareData); 
1127                } catch (err) { 
1128 
1129
1130            }; 
1131 
1132            const mobileShareButton = document.querySelector("#${mobileShareButtonId}"); 
1133            mobileShareButton.addEventListener("click", (event) => { 
1134                event.preventDefault(); 
1135                mobileShare(); 
1136            }); 
1137 
1138            const copyMessage = document.querySelector('.copy-message'); 
1139            const timerToMessage = () => { 
1140                setTimeout(() => { 
1141                    removeMessage(); 
1142                }, 2500); 
1143 
1144
1145 
1146            const removeMessage = () => { 
1147                copyMessage.classList.remove('copy-message-active'); 
1148
1149 
1150        }); 
1151    </script> 
1152 
1153</#macro> 
1154 
1155<#-- ################################################################################################################## --> 
1156 
1157<#-- ############# Site de Crise - Notícia - Render Tags ############################################################## --> 
1158 
1159<#function getCategoriesNamesAndIds vocabularyName categoriesList> 
1160    <#assign tagCategoryList = [] /> 
1161 
1162    <#assign tagsVocabulary = assetVocabularyService.fetchGroupVocabulary(groupId, vocabularyName) /> 
1163    <#list categoriesList as cat> 
1164        <#if tagsVocabulary.getVocabularyId() == cat.embeddedTaxonomyCategory.taxonomyVocabularyId > 
1165            <#assign tagCategoryList += [[cat.taxonomyCategoryName, cat.taxonomyCategoryId]] /> 
1166        </#if> 
1167    </#list> 
1168    <#return tagCategoryList> 
1169</#function> 
1170 
1171<#assign 
1172flagVocabulary = findVocabulary("Flag", vocabularies) 
1173assetCategoryPropService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") 
1174/> 
1175 
1176<#macro renderNewsTags categoryList targetPageWhenClickTag removeStartParameterWhenTagIsClicked updateTagParamsWhenClicked> 
1177    <#assign tagPrefix = "tags-" + randomNumber(groupId?number)> 
1178    <div class="${tagPrefix}-breakpoint breakpoint"> 
1179        <div class="${tagPrefix} col-2-11 md-col-1-8 sm-col-1-4"> 
1180 
1181            <div class="tags"> 
1182                <#list categoryList as cat> 
1183                    <#assign tagLink = mountUrlToPage("") /> 
1184                    <#assign urlWithoutTrailingSlash = tagLink?substring(0, tagLink?length - 1)> 
1185                    <#assign lastSlashIndex = urlWithoutTrailingSlash?last_index_of("/")> 
1186                    <#assign newUrl = urlWithoutTrailingSlash?substring(0, lastSlashIndex + 1)> 
1187                    <#assign tagLink = newUrl + "categorias?category=" + cat[1] /> 
1188                    <a href="${tagLink}" 
1189                        class="category" cetegoryid="${cat[1]}"># ${cat[0]}</a> 
1190                </#list> 
1191            </div> 
1192        </div>    
1193    </div> 
1194 
1195    <style> 
1196        .${tagPrefix} { 
1197            display: flex; 
1198            flex-direction: column; 
1199            padding: 0; 
1200            gap: var(--space-sm); 
1201
1202 
1203        .${tagPrefix} * { 
1204            margin: 0; 
1205            padding: 0; 
1206
1207 
1208        .${tagPrefix} .tags { 
1209            display: flex; 
1210            flex-wrap: wrap; 
1211            gap: var(--space-xxs, 8px); 
1212            padding: var(--space-lg) 0 var(--space-xl); 
1213
1214 
1215        .${tagPrefix} .tags .category { 
1216            padding: var(--space-xxxs) var(--space-xxs); 
1217            background: var(--color-neutral-100); 
1218            border: var(--border-width-hairline, 1px) solid var(--color-neutral-500); 
1219            border-radius: var(--border-radius-xl); 
1220 
1221            font-family: var(--font-family-base); 
1222            font-style: var(--font-style-normal); 
1223            font-weight: var(--font-weight-regular); 
1224            font-size: var(--font-size-xxxs); 
1225            line-height: var(--line-height-xl); 
1226            color: var(--color-neutral-800, #373737); 
1227            cursor: pointer; 
1228
1229 
1230        body.high-contrast-active .${tagPrefix} .tags .category { 
1231            background: rgba(255, 255, 255, 0.32); 
1232            border: 1px solid rgba(255, 255, 255, 0.32); 
1233            color: var(--text-secondary-default, #F8F8F8); 
1234
1235 
1236        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1237            .${tagPrefix} .tags { 
1238                display: flex; 
1239                flex-wrap: wrap; 
1240                gap: 8px; 
1241                padding: var(--space-sm) 0 var(--space-lg); 
1242
1243 
1244            .${tagPrefix} { 
1245                margin-top: var(--space-sm); 
1246
1247
1248    </style> 
1249 
1250    <script> 
1251        AUI().ready(function () { 
1252 
1253            const urlParams = new URLSearchParams(window.location.search); 
1254            const categories = urlParams.getAll("category").sort(); 
1255 
1256            const root = document.querySelector(".${tagPrefix}"); 
1257            const tags = root.querySelectorAll(".category"); 
1258            tags.forEach((tag, index) => { 
1259 
1260                const categoryId = tag.getAttribute("cetegoryid"); 
1261                if (categories.indexOf(categoryId) != -1) { 
1262                    tag.classList.add("active"); 
1263
1264 
1265                <#if updateTagParamsWhenClicked> 
1266                tag.addEventListener("click", (e) => { 
1267                    e.preventDefault(); 
1268                    const clickedTag = e.target; 
1269                    const urlParams = new URLSearchParams(window.location.search); 
1270                    urlParams.delete("tag"); 
1271                    urlParams.delete("category"); 
1272 
1273                    const categoryId = clickedTag.getAttribute("cetegoryid"); 
1274                    urlParams.append("category", categoryId); 
1275 
1276                    <#if removeStartParameterWhenTagIsClicked> 
1277                    urlParams.delete("start"); 
1278                    </#if> 
1279 
1280                    const href = "${themeDisplay.getPortalURL() + mountUrlToPage(targetPageWhenClickTag)}?" + urlParams.toString(); 
1281                    window.location.href = href; 
1282                }); 
1283                </#if> 
1284            }); 
1285        }); 
1286    </script> 
1287 
1288</#macro> 
1289 
1290<#-- ################################################################################################################## --> 
1291 
1292<#-- ############# Site de Crise - Notícia - Imagem de destaque ####################################################### --> 
1293<#macro renderNewsFeaturedMedia newsInfo> 
1294    <#if (newsInfo.newsMedia.imageSrc?? && newsInfo.newsMedia.imageSrc?has_content) || (newsInfo.newsMedia.videoYotubeID?? && newsInfo.newsMedia.videoYotubeID?has_content) || (newsInfo.newsMedia.internalVideo?? && newsInfo.newsMedia.internalVideo.url?has_content)> 
1295        <div class="news-featured-media"> 
1296             
1297            <div class="media-breakpoint breakpoint"> 
1298                <div class="media-col col-2-11 md-col-1-8 sm-col-1-4"> 
1299                    <#if newsInfo.newsMedia.imageSrc?? && newsInfo.newsMedia.imageSrc?has_content> 
1300                        <img src="${newsInfo.newsMedia.imageSrc}" alt="${newsInfo.newsMedia.imageAlt}"/> 
1301												<@liferay_util["html-top"]> 
1302                            <meta name="title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1303                            <meta name="description" content="${newsInfo.newsSummary}"> 
1304 
1305                            <meta property="og:url" content="${currentURL}"> 
1306                            <meta property="og:type" content="website"> 
1307                            <meta property="og:title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1308				            				<meta property="og:description" content="${newsInfo.newsSummary}" /> 
1309                            <meta property="og:image" content="${themeDisplay.getPortalURL()}/o/adaptive-media/image/${newsInfo.newsMedia.fileEntryId}/Thumbnail-300x300/image"> 
1310                            <meta property="og:image:alt" content="${newsInfo.newsMedia.imageAlt}"> 
1311 
1312                            <meta name="twitter:card" content="summary_large_image"> 
1313                            <meta name="twitter:url" content="${currentURL}" /> 
1314                            <meta name="twitter:title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1315                            <meta name="twitter:description" content="${newsInfo.newsSummary}" /> 
1316                            <meta name="twitter:image" content= "${themeDisplay.getPortalURL()}/o/adaptive-media/image/${newsInfo.newsMedia.fileEntryId}/Thumbnail-300x300/image" > 
1317							 							<meta name="twitter:image:alt" content="${newsInfo.newsMedia.imageAlt}"> 
1318                        </@> 
1319                    <#else> 
1320                        <#if newsInfo.newsMedia.videoYotubeID?? && newsInfo.newsMedia.videoYotubeID?has_content> 
1321                            <iframe src="https://www.youtube-nocookie.com/embed/${newsInfo.newsMedia.videoYotubeID}?si=PDNu4EIwtCuSHC1S&amp;controls=0&enablejsapi=1&rel=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> 
1322                            <@liferay_util["html-top"]>       
1323                            		<meta name="title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1324                            		<meta name="description" content="${newsInfo.newsSummary}"> 
1325							 
1326							    							<meta property="og:url" content="${currentURL}"> 
1327                                <meta property="og:type" content="website"> 
1328                                <meta property="og:title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1329				                				<meta property="og:description" content="${newsInfo.newsSummary}" /> 
1330                                <meta property="og:image" content="https://img.youtube.com/vi/${newsInfo.newsMedia.videoYotubeID}/hqdefault.jpg"> 
1331															  <meta property="og:image:alt" content="Youtube Video Thumbnail"> 
1332 
1333                                <meta name="twitter:card" content="summary_large_image"> 
1334                                <meta name="twitter:url" content="${currentURL}" /> 
1335                                <meta name="twitter:title" content="${newsInfo.mainHeadlineOfTheNews}"> 
1336                                <meta name="twitter:description" content="${newsInfo.newsSummary}" /> 
1337                                <meta name="twitter:image" content= "https://img.youtube.com/vi/${newsInfo.newsMedia.videoYotubeID}/hqdefault.jpg" > 
1338															  <meta name="twitter:image:alt" content="Youtube Video Thumbnail"> 
1339                            </@> 
1340														<#else> 
1341                            <video> 
1342                                <source src="${newsInfo.newsMedia.internalVideo.url}"> 
1343                                Your browser does not support the video tag. 
1344                            </video> 
1345                        </#if> 
1346 
1347                         <div class="banner-video-icons"> 
1348                            <#if newsInfo.newsMedia.videoYotubeID?? && newsInfo.newsMedia.videoYotubeID?has_content> 
1349                                <img class="banner-video-thumb-iframe" src="https://img.youtube.com/vi/${newsInfo.newsMedia.videoYotubeID}/hqdefault.jpg" alt="YouTube Thumbnail"/> 
1350                            </#if> 
1351                            <svg class="banner-video-icon-play" width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> 
1352                                <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" fill="white" fill-opacity="0.8"/> 
1353                                <path d="M22.2563 15.5744L13.2625 10.0744C13.1868 10.0277 13.1 10.0021 13.0111 10.0001C12.9221 9.99816 12.8343 10.02 12.7566 10.0633C12.6789 10.1066 12.6141 10.1698 12.569 10.2465C12.5239 10.3232 12.5001 10.4105 12.5 10.4994V21.4994C12.5001 21.5884 12.5239 21.6757 12.569 21.7524C12.6141 21.8291 12.6789 21.8923 12.7566 21.9356C12.8343 21.9789 12.9221 22.0007 13.0111 21.9988C13.1 21.9968 13.1868 21.9712 13.2625 21.9244L22.2563 16.4244C22.3301 16.3808 22.3913 16.3186 22.4338 16.2441C22.4763 16.1696 22.4987 16.0852 22.4987 15.9994C22.4987 15.9137 22.4763 15.8293 22.4338 15.7548C22.3913 15.6803 22.3301 15.6181 22.2563 15.5744Z" fill="#008542"/> 
1354                            </svg> 
1355                        </div> 
1356                    </#if> 
1357                </div> 
1358            </div> 
1359             
1360            <div class="credit-legend breakpoint"> 
1361							 
1362                    <div class="credit-legend-container col-2-11 md-col-1-8 sm-col-1-4"> 
1363											<#if newsInfo.newsMedia.legend != ""> 
1364															<div class="legend paragraph-micro-regular"> 
1365																	<p>${newsInfo.newsMedia.legend}</p> 
1366															</div> 
1367											</#if> 
1368											<#if newsInfo.newsMedia.credits != ""> 
1369															<p class="credits paragraph-micro-regular"> 
1370																	${newsInfo.newsMedia.credits} 
1371															</p>     
1372											</#if> 
1373 
1374                    </div> 
1375            </div> 
1376        </div> 
1377    </#if> 
1378    <style> 
1379        .ptb-news__read-news .news-featured-media { 
1380            padding: 0 0 var(--space-xl) 0; 
1381
1382 
1383        .ptb-news__read-news .news-featured-media .media-col { 
1384            position: relative; 
1385
1386 
1387        .ptb-news__read-news .news-featured-media img, 
1388        .ptb-news__read-news .news-featured-media video, 
1389        .ptb-news__read-news .news-featured-media iframe { 
1390            width: 100%; 
1391            max-height: 567px; 
1392            aspect-ratio: 16/9; 
1393            object-fit: cover; 
1394            border-radius: var(--border-radius-lg, 16px); 
1395
1396 
1397        .ptb-news__read-news .news-featured-media .banner-video-icons { 
1398            width: 100%; 
1399            height: 100%; 
1400            position: absolute; 
1401            top: 50%; 
1402            left: 50%; 
1403            transform: translate(-50%,-50%); 
1404            cursor: pointer; 
1405
1406 
1407        .ptb-news__read-news .news-featured-media .banner-video-icons .banner-video-thumb-iframe { 
1408            position: absolute; 
1409            width: 100%; 
1410            height: 100%; 
1411            object-fit: cover; 
1412
1413 
1414        .ptb-news__read-news .news-featured-media .banner-video-icons .banner-video-icon-play { 
1415            position: absolute; 
1416            top: 50%; 
1417            left: 50%; 
1418            transform: translate(-50%,-50%); 
1419
1420 
1421        body.high-contrast-active .ptb-news__read-news .news-featured-media .banner-video-icons .banner-video-icon-play path:nth-child(1) { 
1422            fill: black;   
1423
1424 
1425        body.high-contrast-active .ptb-news__read-news .news-featured-media .banner-video-icons .banner-video-icon-play path:nth-child(2) { 
1426            fill: white;   
1427
1428 
1429        .ptb-news__read-news .news-featured-media *:not(.breakpoint) { 
1430          margin: 0; 
1431
1432        .ptb-news__read-news .news-featured-media * { 
1433            padding: 0; 
1434            font-family: var(--font-family-base); 
1435            line-height: var(--line-height-xl); 
1436
1437 
1438        .ptb-news__read-news .news-featured-media .credits { 
1439            text-align: right; 
1440            color: var(--collor-neutral-dark-to-bright-200, #525252); 
1441            margin-bottom: var(--space-xxxs, 4px); 
1442            font-style: var(--font-style-italic, italic); 
1443            margin-top: var(--space-xxs, 8px); 
1444            margin-bottom: 0; 
1445
1446 
1447        body.high-contrast-active .ptb-news__read-news .news-featured-media .credits { 
1448            color: var(--text-secondary-default, #F8F8F8); 
1449
1450 
1451        .ptb-news__read-news .news-featured-media .legend { 
1452            margin-top: var(--space-xxs, 8px); 
1453            display: flex; 
1454            justify-content: space-between; 
1455
1456 
1457        .ptb-news__read-news .news-featured-media .legend, 
1458        .ptb-news__read-news .news-featured-media .legend * { 
1459            font-style: var(--font-style-italic, italic); 
1460            color: var(--collor-neutral-dark-to-bright-200, #525252); 
1461
1462			 
1463				.ptb-news__read-news .credit-legend .credit-legend-container { 
1464						display: flex; 
1465						justify-content: space-between; 
1466						flex-wrap: wrap; 
1467						gap: 8px; 
1468				}	 
1469 
1470        body.high-contrast-active .ptb-news__read-news .news-featured-media .legend, 
1471        body.high-contrast-active .ptb-news__read-news .news-featured-media .legend * { 
1472            color: var(--text-secondary-default, #F8F8F8); 
1473
1474 
1475        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
1476            .ptb-news__read-news .news-featured-media .credits { 
1477                text-align: left; 
1478
1479
1480    </style> 
1481 
1482    <script> 
1483        /* Manipulation video*/ 
1484        let videoIsPlaying = false; 
1485 
1486        const modalForClick = document.querySelector(".ptb-news__read-news .news-featured-media .banner-video-icons"); 
1487        const video = document.querySelector(".ptb-news__read-news .news-featured-media .media-col > :first-child"); 
1488        
1489        const playIcon = modalForClick && modalForClick.querySelector(".banner-video-icon-play"); 
1490        modalForClick && modalForClick.addEventListener("click", ()=>{ 
1491            if(video.tagName === "VIDEO") { 
1492                if(videoIsPlaying) { 
1493                    video.pause(); 
1494                    playIcon.style.display = ""; 
1495                    videoIsPlaying = false; 
1496                }  
1497                else { 
1498                    video.play(); 
1499                    playIcon.style.display = "none"; 
1500                    videoIsPlaying = true; 
1501
1502            }   
1503            else if(video.tagName === "IFRAME") { 
1504                const thumbYoutube = modalForClick.querySelector(".banner-video-thumb-iframe"); 
1505                if(videoIsPlaying) { 
1506                    video.contentWindow.postMessage('{"event":"command","func":"pauseVideo"}', '*'); 
1507                    playIcon.style.display = ""; 
1508                    videoIsPlaying = false; 
1509                }  
1510                else { 
1511                    thumbYoutube && (thumbYoutube.style.display = "none"); 
1512                    video.contentWindow.postMessage('{"event":"command","func":"playVideo"}', '*'); 
1513                    playIcon.style.display = "none"; 
1514                    videoIsPlaying = true; 
1515
1516            }       
1517        }); 
1518    </script> 
1519<#--/#if --> 
1520</#macro> 
1521<#-- ################################################################################################################## --> 
1522 
1523<#-- ############# Site de Crise - Notícia - Conteúdo da notícia ###################################################### --> 
1524 
1525<#macro renderNewsContent newsInfo> 
1526 
1527    <#assign targetStr = "<div class='paragraph_separator'><span class='dot'></span><span class='dot'></span><span class='dot'></span><span class='dot'></span></div>"> 
1528    <#assign content = newsInfo.newsContent?replace("<p></p>", targetStr, 'r')> 
1529    <#assign content = content?replace("<p> </p>", targetStr, 'r')> 
1530    <#assign content = content?replace("<p></p>", targetStr, 'r')> 
1531    <#assign content = content?replace("<p>&nbsp;</p>", targetStr, 'r')> 
1532  
1533      
1534    <div class="news-content breakpoint"> 
1535        ${content} 
1536 
1537        <div class="audio-template audio-pause audio-unmuted" style="display:none"> 
1538            <div class="audio-button-play">  
1539                <svg class="audio-play-icon" width="100%" height="100%" viewBox="0 0 91 90" fill="#008542" xmlns="http://www.w3.org/2000/svg"><circle cx="45.2903" cy="45" r="44.5" stroke="#008542"></circle> <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" fill="white"></path> 
1540                </svg> 
1541 
1542                <svg class="audio-pause-icon" width="100%" height="100%" viewBox="0 0 91 90" fill="#008542" xmlns="http://www.w3.org/2000/svg"><circle cx="45.2903" cy="45" r="44.5" stroke="#008542"></circle> <path d="M42.3736 30.4167H33.6236V59.5834H42.3736V30.4167Z" fill="white"></path> <path d="M48.2069 59.5834H56.9569V30.4167H48.2069V59.5834Z" fill="white"></path> 
1543                </svg> 
1544            </div> 
1545            <div class="audio-sondwave">  
1546                <svg class="audio-sondwave-desktop" width="100%" height="100%" viewBox="0 0 590 30" fill="none" xmlns="http://www.w3.org/2000/svg"> 
1547                    <g clip-path="url(#clip0_2625_8152)"> 
1548                    <line x1="0.75" y1="0.75" x2="0.749999" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1549                    <line x1="5.91016" y1="7.75" x2="5.91016" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1550                    <line x1="11.0723" y1="5.75" x2="11.0723" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1551                    <line x1="16.2344" y1="11.75" x2="16.2344" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1552                    <line x1="21.3945" y1="9.75" x2="21.3945" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1553                    <line x1="26.5566" y1="9.75" x2="26.5566" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1554                    <line x1="30.6855" y1="1.75" x2="30.6855" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1555                    <line x1="35.8477" y1="12.75" x2="35.8477" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1556                    <line x1="41.0078" y1="13.75" x2="41.0078" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1557                    <line x1="46.1699" y1="10.75" x2="46.1699" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1558                    <line x1="51.3301" y1="8.75" x2="51.3301" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1559                    <line x1="56.4922" y1="0.75" x2="56.4922" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1560                    <line x1="61.6523" y1="7.75" x2="61.6523" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1561                    <line x1="66.8145" y1="5.75" x2="66.8145" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1562                    <line x1="71.9766" y1="11.75" x2="71.9766" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1563                    <line x1="77.1367" y1="9.75" x2="77.1367" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1564                    <line x1="82.2988" y1="9.75" x2="82.2988" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1565                    <line x1="86.4277" y1="1.75" x2="86.4277" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1566                    <line x1="91.5879" y1="12.75" x2="91.5879" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1567                    <line x1="96.75" y1="13.75" x2="96.75" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1568                    <line x1="101.91" y1="10.75" x2="101.91" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1569                    <line x1="107.072" y1="8.75" x2="107.072" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1570                    <line x1="112.234" y1="0.75" x2="112.234" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1571                    <line x1="117.395" y1="7.75" x2="117.395" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1572                    <line x1="122.557" y1="5.75" x2="122.557" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1573                    <line x1="127.717" y1="11.75" x2="127.717" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1574                    <line x1="132.879" y1="9.75" x2="132.879" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1575                    <line x1="138.041" y1="9.75" x2="138.041" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1576                    <line x1="142.17" y1="1.75" x2="142.17" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1577                    <line x1="147.33" y1="12.75" x2="147.33" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1578                    <line x1="151.75" y1="0.75" x2="151.75" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1579                    <line x1="156.91" y1="7.75" x2="156.91" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1580                    <line x1="162.072" y1="5.75" x2="162.072" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1581                    <line x1="167.234" y1="11.75" x2="167.234" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1582                    <line x1="172.395" y1="9.75" x2="172.395" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1583                    <line x1="177.557" y1="9.75" x2="177.557" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1584                    <line x1="181.686" y1="1.75" x2="181.686" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1585                    <line x1="186.848" y1="12.75" x2="186.848" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1586                    <line x1="192.008" y1="13.75" x2="192.008" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1587                    <line x1="197.17" y1="10.75" x2="197.17" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1588                    <line x1="202.33" y1="8.75" x2="202.33" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1589                    <line x1="207.492" y1="0.75" x2="207.492" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1590                    <line x1="212.652" y1="7.75" x2="212.652" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1591                    <line x1="217.814" y1="5.75" x2="217.814" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1592                    <line x1="222.977" y1="11.75" x2="222.977" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1593                    <line x1="228.137" y1="9.75" x2="228.137" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1594                    <line x1="233.299" y1="9.75" x2="233.299" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1595                    <line x1="237.428" y1="1.75" x2="237.428" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1596                    <line x1="242.588" y1="12.75" x2="242.588" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1597                    <line x1="247.75" y1="13.75" x2="247.75" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1598                    <line x1="252.91" y1="10.75" x2="252.91" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1599                    <line x1="258.072" y1="8.75" x2="258.072" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1600                    <line x1="263.234" y1="0.75" x2="263.234" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1601                    <line x1="268.395" y1="7.75" x2="268.395" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1602                    <line x1="273.557" y1="5.75" x2="273.557" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1603                    <line x1="278.717" y1="11.75" x2="278.717" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1604                    <line x1="283.879" y1="9.75" x2="283.879" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1605                    <line x1="289.041" y1="9.75" x2="289.041" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1606                    <line x1="293.17" y1="1.75" x2="293.17" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1607                    <line x1="298.33" y1="12.75" x2="298.33" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1608                    <line x1="302.75" y1="10.75" x2="302.75" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1609                    <line x1="307.912" y1="8.75" x2="307.912" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1610                    <line x1="313.072" y1="0.75" x2="313.072" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1611                    <line x1="318.234" y1="7.75" x2="318.234" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1612                    <line x1="323.395" y1="5.75" x2="323.395" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1613                    <line x1="328.557" y1="11.75" x2="328.557" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1614                    <line x1="333.719" y1="9.75" x2="333.719" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1615                    <line x1="338.879" y1="9.75" x2="338.879" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1616                    <line x1="343.008" y1="1.75" x2="343.008" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1617                    <line x1="348.17" y1="12.75" x2="348.17" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1618                    <line x1="353.33" y1="13.75" x2="353.33" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1619                    <line x1="358.492" y1="10.75" x2="358.492" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1620                    <line x1="363.652" y1="8.75" x2="363.652" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1621                    <line x1="368.814" y1="0.75" x2="368.814" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1622                    <line x1="373.977" y1="7.75" x2="373.977" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1623                    <line x1="379.137" y1="5.75" x2="379.137" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1624                    <line x1="384.299" y1="11.75" x2="384.299" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1625                    <line x1="389.459" y1="9.75" x2="389.459" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1626                    <line x1="394.621" y1="9.75" x2="394.621" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1627                    <line x1="398.75" y1="1.75" x2="398.75" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1628                    <line x1="403.912" y1="12.75" x2="403.912" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1629                    <line x1="408.33" y1="10.75" x2="408.33" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1630                    <line x1="413.492" y1="8.75" x2="413.492" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1631                    <line x1="418.654" y1="0.75" x2="418.654" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1632                    <line x1="423.814" y1="7.75" x2="423.814" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1633                    <line x1="428.977" y1="5.75" x2="428.977" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1634                    <line x1="434.137" y1="11.75" x2="434.137" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1635                    <line x1="439.299" y1="9.75" x2="439.299" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1636                    <line x1="444.461" y1="9.75" x2="444.461" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1637                    <line x1="448.59" y1="1.75" x2="448.59" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1638                    <line x1="453.75" y1="12.75" x2="453.75" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1639                    <line x1="458.912" y1="13.75" x2="458.912" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1640                    <line x1="464.072" y1="10.75" x2="464.072" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1641                    <line x1="469.234" y1="8.75" x2="469.234" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1642                    <line x1="474.395" y1="0.75" x2="474.395" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1643                    <line x1="479.557" y1="7.75" x2="479.557" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1644                    <line x1="484.719" y1="5.75" x2="484.719" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1645                    <line x1="489.879" y1="11.75" x2="489.879" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1646                    <line x1="495.041" y1="9.75" x2="495.041" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1647                    <line x1="500.201" y1="9.75" x2="500.201" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1648                    <line x1="504.33" y1="1.75" x2="504.33" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1649                    <line x1="509.492" y1="12.75" x2="509.492" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1650                    <line x1="513.912" y1="10.75" x2="513.912" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1651                    <line x1="519.072" y1="8.75" x2="519.072" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1652                    <line x1="524.234" y1="0.75" x2="524.234" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1653                    <line x1="529.395" y1="7.75" x2="529.395" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1654                    <line x1="534.557" y1="5.75" x2="534.557" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1655                    <line x1="539.719" y1="11.75" x2="539.719" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1656                    <line x1="544.879" y1="9.75" x2="544.879" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1657                    <line x1="550.041" y1="9.75" x2="550.041" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1658                    <line x1="554.17" y1="1.75" x2="554.17" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1659                    <line x1="559.332" y1="12.75" x2="559.332" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1660                    <line x1="564.492" y1="13.75" x2="564.492" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1661                    <line x1="569.654" y1="10.75" x2="569.654" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1662                    <line x1="574.814" y1="8.75" x2="574.814" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1663                    <line x1="579.977" y1="0.75" x2="579.977" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1664                    <line x1="585.137" y1="7.75" x2="585.137" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1665                    <line x1="590.299" y1="5.75" x2="590.299" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1666                    </g> 
1667                    <defs> 
1668                    <clipPath id="clip0_2625_8152"> 
1669                    <rect width="590" height="30" fill="white"/> 
1670                    </clipPath> 
1671                    </defs> 
1672                </svg> 
1673                <svg class="audio-sondwave-mobile" width="100%" height="100%" viewBox="0 0 102 30" fill="none" xmlns="http://www.w3.org/2000/svg"> 
1674                    <g clip-path="url(#clip0_2625_8922)"> 
1675                    <line x1="0.75" y1="0.75" x2="0.749999" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1676                    <line x1="5.91016" y1="7.75" x2="5.91016" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1677                    <line x1="11.0723" y1="5.75" x2="11.0723" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1678                    <line x1="16.2344" y1="11.75" x2="16.2344" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1679                    <line x1="21.3945" y1="9.75" x2="21.3945" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1680                    <line x1="26.5566" y1="9.75" x2="26.5566" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1681                    <line x1="30.6855" y1="1.75" x2="30.6855" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1682                    <line x1="35.8477" y1="12.75" x2="35.8477" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1683                    <line x1="41.0078" y1="13.75" x2="41.0078" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1684                    <line x1="46.1699" y1="10.75" x2="46.1699" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1685                    <line x1="51.3301" y1="8.75" x2="51.3301" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1686                    <line x1="56.4922" y1="0.75" x2="56.4922" y2="29.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1687                    <line x1="61.6523" y1="7.75" x2="61.6523" y2="21.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1688                    <line x1="66.8145" y1="5.75" x2="66.8145" y2="24.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1689                    <line x1="71.9766" y1="11.75" x2="71.9766" y2="18.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1690                    <line x1="77.1367" y1="9.75" x2="77.1367" y2="20.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1691                    <line x1="82.2988" y1="9.75" x2="82.2988" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1692                    <line x1="86.4277" y1="1.75" x2="86.4277" y2="28.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1693                    <line x1="91.5879" y1="12.75" x2="91.5879" y2="17.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1694                    <line x1="96.75" y1="13.75" x2="96.75" y2="16.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1695                    <line x1="101.91" y1="10.75" x2="101.91" y2="19.25" stroke="#008542" stroke-width="1.5" stroke-linecap="round"/> 
1696                    </g> 
1697                    <defs> 
1698                    <clipPath id="clip0_2625_8922"> 
1699                    <rect width="102" height="30" fill="white"/> 
1700                    </clipPath> 
1701                    </defs> 
1702                </svg> 
1703            </div> 
1704            <div class="audio-time paragraph-micro-bold"> 00:00 </div> 
1705            <div class="audio-button-mute"> 
1706                <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"> 
1707                    <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" stroke="#525252" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 
1708                </svg> 
1709            </div> 
1710        </div> 
1711    </div> 
1712      
1713     
1714    <style> 
1715 
1716        .ptb-news__read-news .news-content p { 
1717            margin-bottom: var(--space-md, 24px); 
1718
1719 
1720        .ptb-news__read-news .news-content strong { 
1721            font-weight: var(--font-weight-bold); 
1722
1723 
1724        .ptb-news__read-news .news-content em { 
1725            font-style: var(--font-style-italic); 
1726
1727 
1728        .ptb-news__read-news .news-content a { 
1729            font-family: var(--font-family-base); 
1730            font-style: var(--font-style-normal, normal); 
1731            font-weight: var(--font-weight-bold, 700); 
1732            font-size: var(--font-size-xs, 18px); 
1733            line-height: var(--line-height-xl, 160%); 
1734 
1735            text-decoration-line: var(--text-decoration-underline, underline); 
1736            color: #008542; 
1737
1738 
1739        body.high-contrast-active .ptb-news__read-news .news-content a { 
1740            color: #E4F7E8; 
1741
1742 
1743        .ptb-news__read-news .news-content ul { 
1744            padding-left: 27px; 
1745            margin-top: -16px; 
1746
1747 
1748        .ptb-news__read-news .news-content ul li::marker { 
1749            content: "■" !important; 
1750            color: var(--color-secondary-medium) !important; 
1751            font-size: var(--size-xxs); 
1752
1753 
1754        .ptb-news__read-news .news-content ul li { 
1755            color: var(--color-text-primary-default); 
1756            padding: 8px 0; 
1757 
1758            /*paragraph-sm-regular*/ 
1759            font-size: var(--font-size-xxs); 
1760            line-height: var(--line-height-xl); 
1761            font-weight: var(--font-weight-regular); 
1762            font-style: var(--font-style-normal); 
1763            text-decoration: var(--text-decoration-none); 
1764 
1765            margin-left: calc(-1* var(--space-sm)); 
1766            padding-left: var(--space-sm); 
1767
1768 
1769        .ptb-news__read-news .news-content ul li * { 
1770            color: var(--color-text-primary-default); 
1771            padding: 8px 0; 
1772 
1773            /*paragraph-sm-regular*/ 
1774            font-size: var(--font-size-xxs); 
1775            line-height: var(--line-height-xl); 
1776            font-weight: var(--font-weight-regular); 
1777            font-style: var(--font-style-normal); 
1778            text-decoration: var(--text-decoration-none); 
1779        }      
1780 
1781        .ptb-news__read-news .news-content > * { 
1782            grid-column-start: 3; 
1783            grid-column-end: 11; 
1784
1785 
1786        <#if typeOfNews?? && typeOfNews?has_content && typeOfNews == "Infográfico" > 
1787            .ptb-news__read-news .news-content > *:has(img) { 
1788                grid-column-start: 2; 
1789                grid-column-end: 12; 
1790
1791             
1792        </#if> 
1793 
1794        .ptb-news__read-news .news-content figure { 
1795            margin-bottom: var(--space-sm, 16px); 
1796
1797 
1798        .ptb-news__read-news .news-content figure figcaption { 
1799            display: flex; 
1800            justify-content: space-between; 
1801            align-items: flex-start; 
1802            align-self: stretch; 
1803            margin-top: var(--space-xxs, 8px); 
1804            text-align: justify; 
1805
1806 
1807        .ptb-news__read-news .news-content figure figcaption, 
1808        .ptb-news__read-news .news-content figure figcaption * { 
1809            color: var(--color-neutral-700, #525252); 
1810            font-family: var(--font-family-base); 
1811            font-size: var(--font-size-xxxs, 14px); 
1812            font-style: var(--font-style-italic, italic); 
1813            font-weight: var(--font-weight-regular, 400); 
1814            line-height: var(--line-height-xl, 160%); 
1815
1816 
1817        body.high-contrast-active .ptb-news__read-news .news-content figure figcaption, 
1818        body.high-contrast-active .ptb-news__read-news .news-content figure figcaption * { 
1819            color: var(--text-secondary-default, #F8F8F8); 
1820
1821         
1822        .ptb-news__read-news .news-content figure figcaption br { 
1823            display: none; 
1824
1825 
1826        .ptb-news__read-news .news-content .embed-responsive { 
1827            width: 100% !important; 
1828            border-radius: var(--border-radius-md, 16px); 
1829            margin-bottom: var(--space-md, 16px); 
1830
1831 
1832        .ptb-news__read-news .news-content img { 
1833            width: 100%; 
1834					  height: auto; 
1835            object-fit: cover; 
1836            border-radius: var(--border-radius-md, 16px); 
1837
1838 
1839        <#if typeOfNews?? && typeOfNews?has_content && typeOfNews == "Artigo" > 
1840            .ptb-news__read-news .news-content img  { 
1841                aspect-ratio: 16/9; 
1842
1843        </#if> 
1844 
1845        .ptb-news__read-news .news-content .paragraph_separator { 
1846            display: flex; 
1847            width: 100%; 
1848            height: fit-content; 
1849            justify-content: center; 
1850            gap: 6px; 
1851
1852 
1853        .ptb-news__read-news .news-content .paragraph_separator .dot { 
1854            height: var(--size-micro, 4px); 
1855            width: var(--size-micro, 4px); 
1856            background-color: #959595; 
1857            border-radius: 100%; 
1858            display: inline-block; 
1859
1860 
1861        .ptb-news__read-news .news-content * { 
1862            font-family: var(--font-family-base); 
1863            font-style: var(--font-style-normal, normal); 
1864            font-weight: var(--font-weight-regular, 400); 
1865            font-size: var(--font-size-xs, 18px); 
1866            line-height: var(--line-height-xl, 160%); 
1867            color: var(--color-neutral-800, #373737); 
1868
1869 
1870        body.high-contrast-active .ptb-news__read-news .news-content * { 
1871            color: var(--text-primary-default, var(--color-neutral-100)); 
1872
1873 
1874        .ptb-news__read-news .news-content h1, 
1875        .ptb-news__read-news .news-content h1 *, 
1876        .ptb-news__read-news .news-content h2, 
1877        .ptb-news__read-news .news-content h2 *, 
1878        .ptb-news__read-news .news-content h3, 
1879        .ptb-news__read-news .news-content h3 *, 
1880        .ptb-news__read-news .news-content h4, 
1881        .ptb-news__read-news .news-content h4 *, 
1882        .ptb-news__read-news .news-content h5, 
1883        .ptb-news__read-news .news-content h5 *, 
1884        .ptb-news__read-news .news-content h6, 
1885        .ptb-news__read-news .news-content h6 * { 
1886            color: var(--color-neutral-800, #373737) !important; 
1887
1888 
1889        body.high-contrast-active .ptb-news__read-news .news-content h1, 
1890        body.high-contrast-active .ptb-news__read-news .news-content h1 *, 
1891        body.high-contrast-active .ptb-news__read-news .news-content h2, 
1892        body.high-contrast-active .ptb-news__read-news .news-content h2 *, 
1893        body.high-contrast-active .ptb-news__read-news .news-content h3, 
1894        body.high-contrast-active .ptb-news__read-news .news-content h3 *, 
1895        body.high-contrast-active .ptb-news__read-news .news-content h4, 
1896        body.high-contrast-active .ptb-news__read-news .news-content h4 *, 
1897        body.high-contrast-active .ptb-news__read-news .news-content h5, 
1898        body.high-contrast-active .ptb-news__read-news .news-content h5 *, 
1899        body.high-contrast-active .ptb-news__read-news .news-content h6, 
1900        body.high-contrast-active .ptb-news__read-news .news-content h6 * { 
1901            color: var(--text-primary-default, var(--color-neutral-100)) !important; 
1902
1903 
1904        .ptb-news__read-news .news-content h1:last-child, 
1905        .ptb-news__read-news .news-content h2:last-child, 
1906        .ptb-news__read-news .news-content h3:last-child, 
1907        .ptb-news__read-news .news-content h4:last-child, 
1908        .ptb-news__read-news .news-content h5:last-child, 
1909        .ptb-news__read-news .news-content h5:last-child, 
1910        .ptb-news__read-news .news-content h6:last-child, 
1911        .ptb-news__read-news .news-content p:last-child { 
1912            padding-bottom: 0 !important; 
1913
1914 
1915        .ptb-news__read-news .news-content h1, 
1916        .ptb-news__read-news .news-content h1 * { 
1917            font-size: var(--font-size-xxl) !important; 
1918            line-height: var(--line-height-sm) !important; 
1919            font-weight: var(--font-weight-bold) !important; 
1920            font-style: var(--font-style-normal) !important; 
1921            text-decoration: var(--text-decoration-none) !important; 
1922
1923 
1924        .ptb-news__read-news .news-content h2, 
1925        .ptb-news__read-news .news-content h2 * { 
1926             
1927            font-size: var(--font-size-xl) !important; 
1928            line-height: var(--line-height-sm) !important; 
1929            font-weight: var(--font-weight-bold) !important; 
1930            font-style: var(--font-style-normal) !important; 
1931            text-decoration: var(--text-decoration-none) !important; 
1932 
1933
1934 
1935        .ptb-news__read-news .news-content h2 { 
1936            margin-top: 48px !important; 
1937           margin-bottom: var(--space-xl, 40px) !important; 
1938 
1939
1940 
1941        .ptb-news__read-news .news-content h3, 
1942        .ptb-news__read-news .news-content h3 * { 
1943            font-size: var(--font-size-lg) !important; 
1944            line-height: var(--line-height-sm) !important; 
1945            font-weight: var(--font-weight-bold) !important; 
1946            font-style: var(--font-style-normal) !important; 
1947            text-decoration: var(--text-decoration-none) !important; 
1948
1949 
1950        .ptb-news__read-news .news-content h3 { 
1951            margin-bottom: var(--space-sm, 16px) !important; 
1952            margin-top: 48px !important; 
1953
1954 
1955        .ptb-news__read-news .news-content h4, 
1956        .ptb-news__read-news .news-content h4 * { 
1957            font-size: var(--font-size-md) !important; 
1958            line-height: var(--line-height-md) !important; 
1959            font-weight: var(--font-weight-bold) !important; 
1960            font-style: var(--font-style-normal) !important; 
1961            text-decoration: var(--text-decoration-none) !important; 
1962
1963 
1964        .ptb-news__read-news .news-content h4 { 
1965            margin-top: 48px !important; 
1966            margin-bottom: var(--space-sm, 16px) !important; 
1967
1968 
1969        .ptb-news__read-news .news-content h5, 
1970        .ptb-news__read-news .news-content h5 * { 
1971            font-size: var(--font-size-sm) !important; 
1972            line-height: var(--line-height-md) !important; 
1973            font-weight: var(--font-weight-bold) !important; 
1974            font-style: var(--font-style-normal) !important; 
1975            text-decoration: var(--text-decoration-none) !important; 
1976
1977 
1978        .ptb-news__read-news .news-content h5 { 
1979            margin-top: 48px !important; 
1980            margin-bottom: var(--space-sm, 16px) !important; 
1981
1982 
1983        .ptb-news__read-news .news-content table { 
1984            border-collapse: collapse; 
1985            border: none; 
1986            width: 100% !important; 
1987            margin: 24px 0; 
1988
1989 
1990        .ptb-news__read-news .news-content table * { 
1991            font-size: var(--font-size-xxs, 16px); 
1992            font-style: var(--font-style-normal, normal); 
1993            font-weight: var(--font-weight-regular, 400); 
1994            line-height: var(--line-height-xl, 160%); 
1995            color: var(--color-neutral-800, #373737); 
1996            border: 0; 
1997
1998 
1999        body.high-contrast-active .ptb-news__read-news .news-content table * { 
2000            color: var(--text-primary-default, var(--color-neutral-100)); 
2001
2002 
2003        .ptb-news__read-news .news-content table tbody > :first-child, 
2004        .ptb-news__read-news .news-content table tbody > :first-child * { 
2005            font-weight: var(--font-weight-bold, 700); 
2006            flex: 1 0 0; 
2007            background: var(--background-Surface-level-02, #F8F8F8); 
2008
2009 
2010        body.high-contrast-active .ptb-news__read-news .news-content table tbody > :first-child, 
2011        body.high-contrast-active .ptb-news__read-news .news-content table tbody > :first-child * { 
2012            background: #373737; 
2013
2014         
2015        .ptb-news__read-news .news-content table tbody { 
2016            display: flex; 
2017            flex-direction: column; 
2018
2019 
2020        .ptb-news__read-news .news-content table tbody * { 
2021            display: flex; 
2022            height: 100%; 
2023            align-items: center; 
2024            flex: 1 0 0; 
2025
2026	             
2027        .ptb-news__read-news .news-content table tbody tr * {          
2028            padding: 23px var(--space-lg, 32px); 
2029        }	 
2030             
2031 
2032        .ptb-news__read-news .news-content table tbody tr { 
2033            border-radius: var(--border-radius-md); 
2034            border: var(--border-width-hairline, 1px) solid #EEEEEE; 
2035
2036 
2037        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr { 
2038            border: var(--border-width-hairline, 1px) solid #525252; 
2039
2040 
2041        .ptb-news__read-news .news-content table tbody tr:not(:last-child) { 
2042            border-bottom-left-radius: 0; 
2043            border-bottom-right-radius: 0; 
2044
2045 
2046        .ptb-news__read-news .news-content table tbody tr:not(:first-child) { 
2047            border-top-left-radius: 0; 
2048            border-top-right-radius: 0; 
2049            border-top: none; 
2050
2051 
2052        .ptb-news__read-news .news-content table tbody tr td:not(:last-child) { 
2053            border-right: var(--border-width-hairline, 1px) solid #EEEEEE; 
2054
2055 
2056        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr td:not(:last-child) { 
2057            border-right: var(--border-width-hairline, 1px) solid #525252; 
2058
2059 
2060        .ptb-news__read-news .news-content table tbody tr:first-child td { 
2061            border-top: var(--border-width-hairline, 1px) solid #EEEEEE; 
2062            border-bottom: var(--border-width-hairline, 1px) solid #EEEEEE; 
2063
2064 
2065        body.high-contrast-active .ptb-news__read-news .news-content table tbody tr:first-child td { 
2066            border-top: var(--border-width-hairline, 1px) solid #525252; 
2067            border-bottom: var(--border-width-hairline, 1px) solid #525252; 
2068
2069 
2070        .ptb-news__read-news .news-content table tbody tr td:first-child { 
2071            padding-left: 0; 
2072
2073 
2074        .ptb-news__read-news .news-content table tbody tr td:last-child{ 
2075            padding-right: 0; 
2076
2077 
2078        .ptb-news__read-news .news-content audio { 
2079            display: none; 
2080
2081 
2082        .ptb-news__read-news .news-content .audio-template { 
2083            display: flex; 
2084            padding: var(--space-sm, 16px); 
2085            align-items: center; 
2086            gap: var(--space-md, 24px); 
2087            align-self: stretch; 
2088            border-radius: var(--border-radius-lg, 16px); 
2089            border: var(--border-width-hairline, 1px) solid var(--border-color-mid); 
2090            background: var(--background-card-default, #FFF); 
2091            max-height: var(--size-giant, 72px); 
2092            margin: 48px 0; 
2093
2094 
2095        body.high-contrast-active .ptb-news__read-news .news-content .audio-template { 
2096            background: var(--background-card-default, #010101); 
2097            border: var(--border-width-hairline, 1px) solid #525252; 
2098
2099 
2100        .ptb-news__read-news .news-content .audio-template .audio-button-play { 
2101            display: flex; 
2102            width: var(--size-xl, 40px); 
2103            height: var(--size-xl, 40px); 
2104            justify-content: center; 
2105            align-items: center; 
2106            flex-grow: 0; 
2107            flex-shrink: 0; 
2108            cursor: pointer; 
2109
2110 
2111        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-play-icon, 
2112        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-pause-icon { 
2113            fill: #FFFFFF; 
2114
2115 
2116        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-play-icon path, 
2117        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-play .audio-pause-icon path { 
2118            fill: #010101; 
2119
2120 
2121        .ptb-news__read-news .news-content .audio-template.audio-pause .audio-button-play .audio-play-icon { 
2122            display: block; 
2123
2124 
2125        .ptb-news__read-news .news-content .audio-template.audio-pause .audio-button-play .audio-pause-icon { 
2126            display: none; 
2127
2128 
2129        .ptb-news__read-news .news-content .audio-template.audio-play .audio-button-play .audio-play-icon { 
2130            display: none; 
2131
2132 
2133        .ptb-news__read-news .news-content .audio-template.audio-play .audio-button-play .audio-pause-icon { 
2134            display: block; 
2135
2136 
2137        .ptb-news__read-news .news-content .audio-template .audio-sondwave { 
2138            display: flex; 
2139            flex-direction: column; 
2140            align-items: flex-start; 
2141            gap: var(--space-xxs, 8px); 
2142            flex: 1 0 0; 
2143            height: 100%; 
2144            flex-grow: 1; 
2145            flex-shrink: 1; 
2146
2147 
2148        .ptb-news__read-news .news-content .audio-template .audio-sondwave line { 
2149            stroke: #008542; 
2150
2151 
2152        .ptb-news__read-news .news-content .audio-template .audio-sondwave line.line-active { 
2153            stroke: #90EE90; 
2154
2155 
2156        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-sondwave line { 
2157            stroke: #E4F7E8; 
2158
2159 
2160        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-sondwave line.line-active { 
2161            stroke: #666666; 
2162
2163 
2164        .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-mobile { 
2165            display: none; 
2166
2167 
2168        .ptb-news__read-news .news-content .audio-template .audio-time { 
2169            display: flex; 
2170            flex-direction: column; 
2171            align-items: flex-start; 
2172            gap: var(--space-xxs, 8px); 
2173            flex: 1 0 0; 
2174            color: var(--text-primary-accent, #008542); 
2175            text-align: center; 
2176            font-family: var(--font-family-base); 
2177            line-height: 124% !important;  
2178            flex-grow: 0; 
2179            flex-shrink: 0; 
2180
2181 
2182        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-time {     
2183            color: var(--text-primary-accent, #E4F7E8); 
2184
2185 
2186        .ptb-news__read-news .news-content .audio-template .audio-button-mute { 
2187            width: var(--size-lg, 32px); 
2188            height: var(--size-lg, 32px); 
2189            flex-grow: 0; 
2190            flex-shrink: 0; 
2191            cursor: pointer; 
2192
2193 
2194        body.high-contrast-active .ptb-news__read-news .news-content .audio-template .audio-button-mute svg path { 
2195            stroke: white; 
2196            fill: none; 
2197
2198 
2199        .ptb-news__read-news .news-content .audio-template.audio-muted .audio-button-mute { 
2200            opacity: 0.6; 
2201
2202 
2203        @media screen and (max-width: 1023px) { 
2204            .ptb-news__read-news .news-content > * { 
2205                grid-column-start: 1; 
2206                grid-column-end: 9; 
2207            }        
2208
2209 
2210        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
2211 
2212            .ptb-news__read-news .news-content * { 
2213                font-size: var(--font-size-xxs, 16px); 
2214
2215 
2216            .ptb-news__read-news .news-content > * { 
2217                grid-column-start: 1; 
2218                grid-column-end: 5; 
2219
2220 
2221            .ptb-news__read-news .news-content h1, 
2222            .ptb-news__read-news .news-content h1 * { 
2223                font-size: var(--font-size-xl) !important; 
2224                line-height: var(--line-height-sm) !important; 
2225                font-weight: var(--font-weight-bold) !important; 
2226                font-style: var(--font-style-normal) !important; 
2227                text-decoration: var(--text-decoration-none) !important; 
2228 
2229
2230 
2231            .ptb-news__read-news .news-content h2, 
2232            .ptb-news__read-news .news-content h2 * { 
2233                font-size: var(--font-size-lg) !important; 
2234                line-height: var(--line-height-sm) !important; 
2235                font-weight: var(--font-weight-bold) !important; 
2236                font-style: var(--font-style-normal) !important; 
2237                text-decoration: var(--text-decoration-none) !important; 
2238
2239 
2240            .ptb-news__read-news .news-content h2 { 
2241                margin-bottom: var(--space-md, 24px) !important; 
2242
2243 
2244            .ptb-news__read-news .news-content h3, 
2245            .ptb-news__read-news .news-content h3 * { 
2246                font-size: var(--font-size-md) !important; 
2247                line-height: var(--line-height-sm) !important; 
2248                font-weight: var(--font-weight-bold) !important; 
2249                font-style: var(--font-style-normal) !important; 
2250                text-decoration: var(--text-decoration-none) !important; 
2251
2252 
2253            .ptb-news__read-news .news-content h3 { 
2254                margin-top: var(--space-xxs, 8px) !important; 
2255
2256 
2257            .ptb-news__read-news .news-content h4,  
2258            .ptb-news__read-news .news-content h4 * { 
2259                font-size: var(--font-size-sm) !important; 
2260                line-height: var(--line-height-md) !important; 
2261                font-weight: var(--font-weight-bold) !important; 
2262                font-style: var(--font-style-normal) !important; 
2263                text-decoration: var(--text-decoration-none) !important; 
2264
2265 
2266            .ptb-news__read-news .news-content h5, 
2267            .ptb-news__read-news .news-content h5 * { 
2268                font-size: var(--font-size-xs) !important; 
2269                line-height: var(--line-height-md) !important; 
2270                font-weight: var(--font-weight-bold) !important; 
2271                font-style: var(--font-style-normal) !important; 
2272                text-decoration: var(--text-decoration-none) !important; 
2273
2274 
2275            .ptb-news__read-news .news-content figure figcaption { 
2276                flex-direction: column; 
2277                gap: var(--space-xxs, 8px); 
2278
2279 
2280            .ptb-news__read-news .news-content figure figcaption, 
2281            .ptb-news__read-news .news-content figure figcaption * { 
2282                font-size: var(--font-size-micro, 12px); 
2283
2284 
2285            .ptb-news__read-news .news-content table { 
2286                margin-top: var(--space-xxs, 8px); 
2287                margin-bottom: var(--space-lg, 32px); 
2288
2289 
2290            .ptb-news__read-news .news-content table * { 
2291                font-size: var(--font-size-micro, 12px); 
2292                line-height: 19.2%; 
2293
2294 
2295            .ptb-news__read-news .news-content table tbody * { 
2296                height: 43px; 
2297                padding: var(--space-xs, 12px); 
2298
2299 
2300            .ptb-news__read-news .news-content .audio-template { 
2301                margin-top: var(--space-xxs, 8px); 
2302                margin-bottom: var(--space-lg, 32px); 
2303            }            
2304
2305 
2306        @media screen and (max-width: 500px) { 
2307             .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-desktop { 
2308                display: none; 
2309
2310 
2311            .ptb-news__read-news .news-content .audio-template .audio-sondwave .audio-sondwave-mobile { 
2312                display: block; 
2313
2314
2315    </style> 
2316 
2317    <script> 
2318        <#assign configureLinkTab = "configureLinkTab_" + randomNumber(5)> 
2319 
2320        function ${configureLinkTab}() { 
2321            const root = document.querySelector(".ptb-news__read-news"); 
2322            const newsContentElement = root.querySelector(".news-content"); 
2323            const pList = newsContentElement.querySelectorAll("p"); 
2324            pList.forEach((pElement) => { 
2325                const cont = pElement.innerHTML.trim(); 
2326                if (cont == "" || cont == "&nbsp;") { 
2327                    newsContentElement.removeChild(pElement); 
2328
2329            }); 
2330
2331 
2332        ${configureLinkTab}(); 
2333 
2334        <#if typeOfNews?? && typeOfNews?has_content && typeOfNews == "Infográfico" > 
2335 
2336            function resizeMediaInfographic() { 
2337                if (window.innerWidth > 1024) { 
2338                    const contents = document.querySelectorAll(".ptb-news__read-news .news-content p"); 
2339                    contents.forEach((content) => {        
2340                        content.querySelector("img") && (content.style.gridColumn = "2 / 12"); 
2341                    }); 
2342
2343                else { 
2344                    const contents = document.querySelectorAll(".ptb-news__read-news .news-content p"); 
2345                    contents.forEach((content) => {        
2346                        content.querySelector("img") && (content.style.gridColumn = ""); 
2347                    }); 
2348 
2349                }           
2350
2351            resizeMediaInfographic(); 
2352        </#if> 
2353 
2354         
2355 
2356        document.addEventListener("DOMContentLoaded", () => { 
2357            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"); 
2358 
2359            headers.forEach((header) => { 
2360                 
2361                const currentLevel = parseInt(header.tagName.charAt(1)); 
2362 
2363                if (currentLevel >= 1 && currentLevel <= 5) { 
2364                     
2365                    const newLevel = currentLevel + 1; 
2366                    const newTagName = "h" + newLevel; 
2367 
2368                    // Criar a nova tag e transferir o conteúdo 
2369                    const newHeader = document.createElement(newTagName); 
2370                    newHeader.innerHTML = header.innerHTML; 
2371 
2372                    // Substituir a tag antiga pela nova 
2373                    header.parentNode.replaceChild(newHeader, header); 
2374
2375            }); 
2376             
2377            <#assign typeOfNews = getFirstCategoryOfVocabulary(assetEntry, typeOfNewsVocabulary) /> 
2378                 
2379            <#if typeOfNews?? && typeOfNews?has_content && typeOfNews == "Infográfico" > 
2380                resizeMediaInfographic(); 
2381                window.addEventListener("resize", resizeMediaInfographic); 
2382            </#if>           
2383        }); 
2384 
2385        AUI().ready(()=>{ 
2386            const audiosContainer = document.querySelectorAll(".ptb-news__read-news .news-content .audio-content"); 
2387            const audioTemplate = document.querySelector(".ptb-news__read-news .news-content .audio-template"); 
2388 
2389            audiosContainer.forEach((audioContainer)=>{ 
2390                 
2391                const audio = audioContainer.querySelector("audio"); 
2392                const audioInterface = audioTemplate.cloneNode(true); 
2393 
2394                const sondwave = audioInterface.querySelector(".audio-sondwave"); 
2395                const linesDesktop = audioInterface.querySelectorAll(".audio-sondwave .audio-sondwave-desktop line"); 
2396                const linesMobile = audioInterface.querySelectorAll(".audio-sondwave .audio-sondwave-mobile line"); 
2397                 
2398                const playPauseButtonAudioInterface = audioInterface.querySelector(".audio-button-play"); 
2399 
2400                playPauseButtonAudioInterface.addEventListener("click", ()=>{ 
2401                    if(audioInterface.classList.contains("audio-play")) { 
2402                        audioInterface.classList.replace("audio-play", "audio-pause"); 
2403                        audio.pause(); 
2404
2405                    else { 
2406 
2407                        audiosContainer.forEach((audioContainer)=>{ 
2408                            const otherAudio = audioContainer.querySelector("audio"); 
2409                            const otherAudioInterface = audioContainer.querySelector(".audio-button-play"); 
2410                            !otherAudio.paused && otherAudioInterface.click(); 
2411                        }); 
2412 
2413                        audioInterface.classList.replace("audio-pause", "audio-play"); 
2414                        audio.play(); 
2415
2416                }); 
2417 
2418                const audioMuteButton = audioInterface.querySelector(".audio-button-mute"); 
2419 
2420                audioMuteButton.addEventListener("click", ()=>{ 
2421                    if(audioInterface.classList.contains("audio-unmuted")) { 
2422                        audioInterface.classList.replace("audio-unmuted", "audio-muted"); 
2423                        audio.muted = true; 
2424
2425                    else { 
2426                        audioInterface.classList.replace("audio-muted", "audio-unmuted"); 
2427                        audio.muted = false; 
2428
2429                }); 
2430 
2431                const audioTime = audioInterface.querySelector(".audio-time"); 
2432                audioTime.textContent = Math.floor(audio.duration / 60) + ":" + Math.floor(audio.duration % 60); 
2433 
2434 
2435                audio.addEventListener("timeupdate", ()=>{ 
2436                    let minutes = Math.floor((audio.duration - audio.currentTime) / 60);  
2437                    let seconds = Math.floor((audio.duration - audio.currentTime) % 60); 
2438 
2439                    minutes = minutes < 10? "0" + minutes : minutes; 
2440                    seconds = seconds < 10? "0" + seconds : seconds; 
2441                     
2442                    audioTime.textContent = minutes + ":" + seconds; 
2443 
2444                    const progress = (audio.currentTime / audio.duration) * 100; 
2445 
2446                    linesDesktop.forEach(function(line, index) { 
2447                        const lineProgress = (index / linesDesktop.length) * 100; 
2448                        if (progress >= lineProgress) { 
2449                            !line.classList.contains("line-active") && line.classList.add("line-active"); 
2450                        } else { 
2451                            line.classList.contains("line-active") && line.classList.remove("line-active"); 
2452
2453                    }); 
2454 
2455                    linesMobile.forEach(function(line, index) { 
2456                        const lineProgress = (index / linesMobile.length) * 100; 
2457                        if (progress >= lineProgress) { 
2458                            !line.classList.contains("line-active") && line.classList.add("line-active"); 
2459                        } else { 
2460                            line.classList.contains("line-active") && line.classList.remove("line-active"); 
2461
2462                    });                    
2463                }); 
2464 
2465                
2466                sondwave.addEventListener("click", (event)=>{                     
2467                    const distanceLeft = (event.clientX - sondwave.getBoundingClientRect().left)/sondwave.offsetWidth; 
2468                    audio.currentTime = audio.duration * distanceLeft; 
2469                }); 
2470                
2471                audioInterface.style.display = ""; 
2472                audioContainer.appendChild(audioInterface); 
2473            }); 
2474 
2475        }); 
2476    </script> 
2477</#macro> 
2478 
2479 
2480<#-- ################################################################################################################## --> 
2481 
2482<#-- ############# Site de Crise - Notícia - Links do conteúdo da notícia ############################################# --> 
2483<#macro renderLinks newsInfo> 
2484    <#if newsInfo.links?size != 0> 
2485    <#--videos "escondidos" que serão unidos a .ptb-news__read-content --> 
2486 
2487        <div class="ptb-news__links-container d-none "> 
2488            <div id="ptb-news__links-identifiers"> 
2489                <#assign separator = ""> 
2490                <#list newsInfo.links as link> 
2491                    ${link.id}; 
2492                    <#assign separator = ";"> 
2493                </#list> 
2494            </div> 
2495            <#list newsInfo.links as link> 
2496                <#assign link_index = link?index> 
2497                <#assign linkUrl = "#"> 
2498                <#assign target = "_blank"> 
2499                <#assign linkClass = ""> 
2500 
2501                <div id="ptb-news__link-container-${link_index}"> 
2502                    <#if link.externalLink?has_content> 
2503                        <#assign linkUrl = link.externalLink> 
2504                        <#assign target = "_blank"> 
2505                        <#assign linkClass = "external-link"> 
2506                    <#elseif link.pageLink?has_content> 
2507                        <#assign linkUrl = link.pageLink> 
2508                        <#assign target = "_self"> 
2509                        <#assign linkClass = "internal-page-link"> 
2510                    <#elseif link.file.mimeType?has_content> 
2511                        <#assign linkUrl = link.file.url> 
2512                        <#assign target = "_blank"> 
2513                        <#assign linkClass = "file-link"> 
2514                    </#if> 
2515 
2516                    <#-- PDF icon --> 
2517                    <#if link.iconType == "Opção78730408" > 
2518                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2519                             xmlns="http://www.w3.org/2000/svg"> 
2520                            <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" 
2521                                  fill="#008542"/> 
2522                            <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" 
2523                                  fill="#008542"/> 
2524                            <path d="M17.2695 20.654V11.894H22.2735V13.358H18.9735V15.59H21.9015V17.054H18.9735V20.654H17.2695Z" 
2525                                  fill="#008542"/> 
2526                            <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" 
2527                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2528                                  stroke-linejoin="round"/> 
2529                        </svg> 
2530 
2531                    <#-- JPG icon --> 
2532                    <#elseif link.iconType == "Opção89889679" > 
2533                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2534                             xmlns="http://www.w3.org/2000/svg"> 
2535                            <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" 
2536                                  fill="#008542"/> 
2537                            <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" 
2538                                  fill="#008542"/> 
2539                            <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" 
2540                                  fill="#008542"/> 
2541                            <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" 
2542                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2543                                  stroke-linejoin="round"/> 
2544                        </svg> 
2545                    <#-- DOC icon --> 
2546                    <#elseif link.iconType == "Opção15480314" > 
2547                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
2548                             xmlns="http://www.w3.org/2000/svg"> 
2549                            <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" 
2550                                  fill="#008542"/> 
2551                            <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" 
2552                                  fill="#008542"/> 
2553                            <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" 
2554                                  fill="#008542"/> 
2555                            <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" 
2556                                  stroke="#008542" stroke-width="1.5" stroke-linecap="round" 
2557                                  stroke-linejoin="round"/> 
2558                        </svg> 
2559                    <#-- External link icon --> 
2560                    <#elseif link.iconType == "Opção43823553" > 
2561                        <svg width="24" height="24" viewBox="0 0 32 32" fill="none" 
2562                             xmlns="http://www.w3.org/2000/svg"> 
2563                            <path opacity="0.98" 
2564                                  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" 
2565                                  stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2566                        </svg> 
2567                    <#-- Internal page link icon --> 
2568                    <#elseif link.iconType == "Opção64212757" > 
2569                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#008542" viewBox="0 0 256 256"> 
2570                        <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"> 
2571                        </path> 
2572                    </svg> 
2573                    <#-- Download link icon --> 
2574                    <#elseif link.iconType == "Opção20766606" > 
2575                        <svg width="24" height="24" viewBox="0 0 32 32" fill="none" 
2576                             xmlns="http://www.w3.org/2000/svg"> 
2577                            <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" 
2578                                  stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2579                        </svg> 
2580                    </#if> 
2581<#if link.title?? && link.title?has_content> 
2582                    <a href="${linkUrl}" class="link ${linkClass}" target="${target}">${link.title}</a> 
2583	</#if> 
2584                </div> 
2585            </#list> 
2586        </div> 
2587 
2588        <script> 
2589            var newsContent_code = document.querySelector(".news-content").innerHTML; 
2590 
2591            var linksIdentifiers = document.querySelector("#ptb-news__links-identifiers").innerHTML.trim().split(";"); 
2592            linksIdentifiers.forEach((linkIdentifier, index) => { 
2593                const linkIdentifierContent = document.querySelector("#ptb-news__link-container-" + index); 
2594                if (linkIdentifierContent) { 
2595                    const tag = "#[" + linkIdentifier.trim() + "]"; 
2596                    const splitContent = newsContent_code.split(tag); 
2597                    newsContent_code = splitContent.join(linkIdentifierContent.innerHTML); 
2598                    //linkIdentifierContent.parentNode.removeChild(linkIdentifierContent); 
2599
2600            }); 
2601 
2602 
2603            var ptb_news__read_content = document.querySelector(".news-content"); 
2604            ptb_news__read_content.innerHTML = newsContent_code; 
2605             
2606            const links_ptb_news = document.querySelectorAll(".news-content a"); 
2607            links_ptb_news.forEach((link) => { 
2608                link.classList.add("link-ptb-news"); 
2609            }); 
2610 
2611        </script> 
2612 
2613        <style> 
2614            .ptb-news__read-news .ptb-news__link a { 
2615                font-family: var(--font-family-base); 
2616                font-style: var(--font-style-normal, normal); 
2617                font-weight: var(--font-weight-bold, 700); 
2618                font-size: var(--font-size-xxs, 16px); 
2619                line-height: var(--line-height-xl, 160%); 
2620                text-decoration-line: var(--text-decoration-underline, underline); 
2621                color: #008542; 
2622
2623 
2624            body.high-contrast-active .ptb-news__read-news .ptb-news__link a { 
2625                color: #E4F7E8; 
2626            }           
2627 
2628            .ptb-news__read-news .news-content .link { 
2629                font-family: var(--font-family-base); 
2630                font-style: var(--font-style-normal, normal); 
2631                font-weight: var(--font-weight-bold, 700); 
2632                font-size: var(--font-size-xs, 18px); 
2633                line-height: var(--line-height-xl, 160%); 
2634 
2635                text-decoration-line: var(--text-decoration-underline, underline); 
2636                color: #008542; 
2637
2638 
2639            body.high-contrast-active .ptb-news__read-news .news-content .link { 
2640                color: #E4F7E8; 
2641
2642 
2643            body.high-contrast-active .ptb-news__read-news .news-content svg path { 
2644                stroke: var(--color-neutral-500, #D7D7D7); 
2645                fill: rgba(255, 255, 255, 0.32); 
2646
2647 
2648            .ptb-news__read-news .news-content .ptb-link__wrapper { 
2649                display: flex; 
2650                flex-direction: column; 
2651                gap: 0; 
2652                margin-top: -24px; 
2653
2654 
2655            .ptb-news__read-news .news-content .ptb-link__wrapper svg { 
2656                margin-right: var(--space-sm, 16px); 
2657
2658 
2659            .ptb-news__read-news .news-content .ptb-link__wrapper .first { 
2660                gap: 0 !important; 
2661
2662 
2663            @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
2664                .ptb-news__read-news .news-content .link { 
2665                    font-size: var(--font-size-xxs, 16px); 
2666
2667
2668        </style> 
2669    </#if> 
2670</#macro> 
2671 
2672<#-- ################################################################################################################## --> 
2673 
2674<#-- ################################################################################################################## --> 
2675 
2676<#-- ############# Site de Crise - Notícia - Links do conteúdo da notícia ############################################# --> 
2677<#macro renderCite> 
2678    <div class="ptb-news__cite-container"> 
2679        <div class="ptb-news__cite-container-breakpoint breakpoint"> 
2680            <div class="ptb-news__cite-container-col col-1-12 md-col-1-8 sm-col-1-4"> 
2681                <div class="ptb-news__cite-title"> 
2682                    <#if locale?lower_case == "pt_br"> 
2683                        Notas 
2684                    <#else> 
2685                        Notes 
2686                    </#if> 
2687                </div> 
2688 
2689                <div class="ptb-news__cites-elements"> 
2690                </div> 
2691            </div> 
2692        </div> 
2693    </div> 
2694 
2695    <script> 
2696        function positionCitesText(parentNodeCitesText) { 
2697             
2698            parentNodeCitesText.forEach((parentNodeCiteText)=>{ 
2699                if(window.innerWidth > 1024) { 
2700                    parentNodeCiteText.style.display=""; 
2701                    parentNodeCiteText.style.gridColumnStart = "11"; 
2702                    parentNodeCiteText.style.gridColumnEnd = "13"; 
2703                }  
2704                else { 
2705                    parentNodeCiteText.style.display="none"; 
2706                    parentNodeCiteText.style.gridColumnStart = ""; 
2707                    parentNodeCiteText.style.gridColumnEnd = "";                  
2708
2709            }); 
2710
2711 
2712        function addCitesTextMobile(citesText) { 
2713            const citesContainer = document.querySelector(".ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cites-elements"); 
2714 
2715            if(citesContainer.children.length === 0) { 
2716                citesContainer && citesText.forEach((citeText)=>{                         
2717                    citesContainer.appendChild(citeText.cloneNode(true)); 
2718                }); 
2719            }         
2720
2721 
2722        const citesText = document.querySelectorAll(".news-content cite"); 
2723         
2724        if (citesText.length > 0) { 
2725            const parentNodeCitesText = [...citesText].map((citeText)=>citeText.parentNode); 
2726            positionCitesText(parentNodeCitesText); 
2727            addCitesTextMobile(citesText);     
2728
2729        else { 
2730            const citesContainer = document.querySelector(".ptb-news__cite-container"); 
2731            citesContainer && (citesContainer.style.display="none"); 
2732
2733         
2734        document.addEventListener('DOMContentLoaded', ()=>{ 
2735             
2736            const citesText = document.querySelectorAll(".news-content cite"); 
2737             
2738            if (citesText.length > 0) { 
2739                const parentNodeCitesText = [...citesText].map((citeText)=>citeText.parentNode);            
2740 
2741                positionCitesText(parentNodeCitesText); 
2742                addCitesTextMobile(citesText); 
2743 
2744                window.addEventListener('resize', ()=>{positionCitesText(parentNodeCitesText)}); 
2745
2746            else { 
2747                const citesContainer = document.querySelector(".ptb-news__cite-container"); 
2748                citesContainer && (citesContainer.style.display="none"); 
2749
2750        }); 
2751 
2752    </script> 
2753 
2754    <style> 
2755     
2756        .ptb-news__read-news-post cite { 
2757            color: var(--color-neutral-800, #373737); 
2758            font-family: var(--font-family-base); 
2759            font-size: var(--font-size-xxxs, 14px) !important; 
2760            font-style: var(--font-style-normal, normal); 
2761            font-weight: var(--font-weight-regular, 400); 
2762            line-height: var(--line-height-xl, 160%); 
2763
2764 
2765        .ptb-news__read-news-post cite  a{ 
2766            font-size: var(--font-size-xxxs, 14px) !important; 
2767
2768 
2769        body.high-contrast-active .ptb-news__read-news-post cite { 
2770        color: var(--text-primary-default, var(--color-neutral-100)); 
2771        }  
2772 
2773        .ptb-news__read-news-post .news-content cite, 
2774        .ptb-news__read-news-post .ptb-news__cite-container cite { 
2775            display: block; 
2776            padding-left: var(--space-md); 
2777            border-left: var(--border-width-hairline, 1px) solid var(--color-neutral-500, #D7D7D7); 
2778
2779 
2780        @media screen and (min-width: 1025px) { 
2781            .ptb-news__read-news-post .ptb-news__cite-container { 
2782                display: none;                
2783            }         
2784
2785 
2786        @media screen and (max-width: 1025px) { 
2787            .ptb-news__read-news .ptb-news__cite-container .link { 
2788                text-decoration-line: var(--text-decoration-underline, underline); 
2789                color: #008542; 
2790
2791 
2792            body.high-contrast-active .ptb-news__read-news .ptb-news__cite-container .link { 
2793                color: #E4F7E8; 
2794
2795 
2796            body.high-contrast-active .ptb-news__read-news .ptb-news__cite-container svg path { 
2797                stroke: var(--color-neutral-500, #D7D7D7); 
2798                fill: rgba(255, 255, 255, 0.32); 
2799
2800             
2801            .ptb-news__read-news-post .ptb-news__cite-container { 
2802                display: grid; 
2803                background: var(--background-surface-level-03, #EEE); 
2804
2805 
2806            body.high-contrast-active .ptb-news__read-news-post .ptb-news__cite-container { 
2807                background: var(--background-surface-level-03, #525252); 
2808
2809 
2810            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col { 
2811                padding: var(--space-xxl) 0; 
2812                display: flex; 
2813                flex-direction: column; 
2814                gap: var(--space-lg, 32px); 
2815
2816 
2817            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cites-elements { 
2818                display: flex; 
2819                flex-direction: column; 
2820                gap: var(--space-lg, 32px);  
2821            }       
2822 
2823            .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cite-title { 
2824                color: var(--color-neutral-800, #373737); 
2825                font-size: var(--font-size-sm, 20px); 
2826                font-style: var(--font-style-normal, normal); 
2827                font-weight: var(--font-weight-bold, 700); 
2828                line-height: var(--line-height-xl, 160%); 
2829
2830 
2831            body.high-contrast-active .ptb-news__read-news-post .ptb-news__cite-container .ptb-news__cite-container-col .ptb-news__cite-title { 
2832                color: var(--text-primary-default, var(--color-neutral-100)); 
2833
2834        }         
2835    </style> 
2836     
2837</#macro> 
2838 
2839<#-- ################################################################################################################## --> 
2840 
2841 
2842<#-- ############# Site de Crise - Notícia - Galeria de imagens ####################################################### --> 
2843<#macro renderGallery newsInfo> 
2844    <#if newsInfo.galleryItems?size == 0> 
2845        <#return /> 
2846    </#if> 
2847 
2848    <div class="gallery-breakpoint breakpoint"> 
2849        <div class="gallery col-3-11 md-col-1-8 sm-col-1-4"> 
2850 
2851            <div class="title-container"> 
2852                <svg class="icon" viewBox="0 0 26 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 
2853                    <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" 
2854                            stroke="#525252" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2855                    <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" 
2856                            stroke="#525252" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2857                </svg> 
2858                <p class="title"> 
2859                    <#if locale == "pt_BR"> Galeria de Imagens <#else > Image gallery </#if> 
2860                </p> 
2861            </div> 
2862 
2863            <div class="image-container"> 
2864                <#list newsInfo.galleryItems as gItem> 
2865                    <div class="modal-image-fragment"> 
2866                        <div class="modal-image-container"> 
2867                            <span class="click-image" ></span> 
2868 
2869                            <div class="image-player-container"> 
2870                                <span class="close-image"> 
2871                                    <svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"> 
2872                                        <path d="M22 -9.61651e-07C34.1503 -4.30546e-07 44 9.84974 44 22C44 34.1503 34.1503 44 22 44C9.84973 44 -1.49276e-06 34.1503 -9.61651e-07 22C-4.30546e-07 9.84973 9.84974 -1.49276e-06 22 -9.61651e-07Z" fill="white"/> 
2873                                        <path d="M26.5 26.5L17.5 17.5M17.5 26.5L26.5 17.5" stroke="#008542" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 
2874                                    </svg> 
2875                                </span> 
2876                                <div class="image-player-session"> 
2877                                    <img width="274px" height="152px" src="${gItem.image.url}" alt="${gItem.image.alt}"/>		 
2878                                </div> 
2879                            </div> 
2880                        </div> 
2881                    </div> 
2882                     
2883                </#list> 
2884            </div> 
2885        </div> 
2886    </div> 
2887 
2888    <style> 
2889 
2890        .ptb-news__read-news .gallery { 
2891            padding-top: 42px; 
2892
2893 
2894        .ptb-news__read-news .gallery * { 
2895            margin: 0; 
2896            padding: 0; 
2897
2898 
2899        .ptb-news__read-news .gallery { 
2900            display: flex; 
2901            gap: var(--space-xl, 40px); 
2902            flex-direction: column; 
2903
2904 
2905        .ptb-news__read-news .gallery .title-container { 
2906            display: flex; 
2907            align-items: center; 
2908            gap: var(--space-sm, 16px); 
2909
2910 
2911        .ptb-news__read-news .gallery .title-container svg { 
2912            width: var(--size-md, 24px); 
2913            height: 21px; 
2914
2915 
2916        .ptb-news__read-news .gallery .title-container .title { 
2917            color: var(--color-neutral-800, #373737); 
2918            font-family: var(--font-family-base); 
2919            font-size: var(--font-size-lg); 
2920            font-style: var(--font-style-normal); 
2921            font-weight: var(--font-weight-bold); 
2922            line-height: var(--line-height-md); 
2923
2924 
2925        body.high-contrast-active .ptb-news__read-news .gallery .title-container .title { 
2926            color: var(--color-neutral-100); 
2927
2928 
2929        .ptb-news__read-news .gallery .image-container { 
2930            display: flex; 
2931            gap: var(--space-sm, 16px); 
2932            flex-wrap: wrap; 
2933
2934 
2935         .ptb-news__read-news .gallery .image-container .modal-image-fragment { 
2936            width: inherit; 
2937            height: inherit; 
2938            max-height: calc(100vw/2); 
2939            padding: 0; 
2940            margin: 0; 
2941            overflow: hidden; 
2942
2943 
2944        .ptb-news__read-news .gallery .image-container .modal-image-fragment * { 
2945            box-sizing: border-box; 
2946            margin: 0; 
2947            padding: 0; 
2948
2949 
2950        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container { 
2951            width: 100%; 
2952            height: inherit; 
2953            display: flex; 
2954            justify-content: center; 
2955            align-items: center; 
2956            cursor: pointer; 
2957            position: relative; 
2958
2959 
2960        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container.image-playing {     
2961            position: fixed; 
2962            top: 0; 
2963            left: 0; 
2964            width: 100vw !important; 
2965            height: 100vh !important; 
2966            z-index: 9999 !important; 
2967            background-color: rgba(0, 0, 0, 0.75); 
2968            max-height: 100vh; 
2969
2970 
2971        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .click-image { 
2972            height: 100%; 
2973            width: 100%; 
2974            position: absolute; 
2975            z-index: 3; 
2976
2977 
2978        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container { 
2979            width: 100%; 
2980            height: 100%; 
2981
2982 
2983        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container.image-playing { 
2984            position: relative; 
2985            width: 90vw !important; 
2986            height: 80vh !important; 
2987            z-index: 9999 !important; 
2988            background-color: rgba(0, 0, 0, 0.75); 
2989            border-radius: var(--border-radius-card); 
2990
2991 
2992        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container .close-image { 
2993            display: none; 
2994            position: absolute; 
2995            top: 0; 
2996	        right: 0; 
2997            transform: translate(100%, -100%); 
2998            z-index: 99999; 
2999
3000 
3001        body.high-contrast-active .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container .close-image path:nth-child(1) { 
3002           fill: var(--background-Surface-level-01, #010101); 
3003
3004 
3005        body.high-contrast-active .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container .close-image path:nth-child(2) { 
3006           stroke: #E4F7E8; 
3007
3008 
3009        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container .close-image.image-active { 
3010            display: block; 
3011
3012 
3013        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container .image-player-session { 
3014            width: 100%; 
3015            height: 100%; 
3016
3017 
3018        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container.image-playing .image-player-session { 
3019            width: 90vw !important; 
3020            height: 80vh !important; 
3021            z-index: 9999 !important; 
3022            background-color: rgba(0, 0, 0, 0.75); 
3023            border-radius: var(--border-radius-card); 
3024            overflow: hidden; 
3025
3026 
3027        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container .image-player-session img { 
3028            object-fit: cover; 
3029
3030 
3031        .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container.image-playing .image-player-session img { 
3032            width: 100%; 
3033            height: 100%; 
3034            margin-left: 0 !important; 
3035            max-height: 100vh; 
3036
3037 
3038        .ptb-news__read-news .gallery .image-container img { 
3039            width: 274px; 
3040            height: 152px; 
3041            border-radius: var(--border-radius-md, 8px); 
3042            cursor: pointer; 
3043
3044 
3045        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
3046 
3047            .ptb-news__read-news .gallery { 
3048                padding-top: var(--space-xl, 40px); 
3049
3050 
3051            .ptb-news__read-news .gallery .image-container { 
3052                gap: var(--space-xxs, 8px); 
3053
3054 
3055            .ptb-news__read-news .gallery .image-container img { 
3056                width: 296px; 
3057                height: 180px; 
3058
3059 
3060            .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container.image-playing .image-player-container.image-playing { 
3061                transform: rotate(90deg); 
3062                transform-origin: center; 
3063                width: 80vh !important; 
3064                height: 90vw !important; 
3065
3066 
3067            .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container.image-playing .image-player-container.image-playing img{ 
3068                cursor: pointer; 
3069
3070 
3071            .ptb-news__read-news .gallery .image-container .modal-image-fragment .modal-image-container .image-player-container.image-playing .image-player-session { 
3072                width: 80vh !important; 
3073                height: 90vw !important; 
3074
3075
3076 
3077    </style> 
3078 
3079    <script> 
3080        const allModalImagesFragment = document.querySelectorAll(".ptb-news__read-news .gallery .modal-image-fragment"); 
3081        allModalImagesFragment.forEach((modalImageFragment)=>{ 
3082            const getImageClick = modalImageFragment.querySelector('.click-image'); 
3083            const imageContainer = modalImageFragment.querySelector('.modal-image-container'); 
3084            const imagePlayerContainer = modalImageFragment.querySelector('.image-player-container'); 
3085 
3086            const image = imagePlayerContainer.querySelector('img'); 
3087            const closeImage = imagePlayerContainer.querySelector('.close-image'); 
3088            const body = document.body; 
3089 
3090            const toTopButton = document.querySelector(".fragment_88038 .petro-button"); 
3091 
3092            const stopImage= () => { 
3093                getImageClick.classList.toggle('image-playing'); 
3094                imagePlayerContainer.classList.toggle('image-playing'); 
3095                imageContainer.classList.toggle('image-playing'); 
3096                closeImage.classList.toggle('image-active'); 
3097                body.style.overflow = 'initial'; 
3098
3099 
3100            const playImage = () => { 
3101                getImageClick.classList.toggle('image-playing'); 
3102                imagePlayerContainer.classList.toggle('image-playing'); 
3103                imageContainer.classList.toggle('image-playing'); 
3104                closeImage.classList.toggle('image-active') 
3105                 
3106                body.style.overflow = 'hidden'; 
3107
3108 
3109            getImageClick.addEventListener('click', () => { 
3110                if (document.body.classList.contains('has-edit-mode-menu')) { 
3111                    return; 
3112
3113                if (imagePlayerContainer.classList.contains('image-playing')) { 
3114                    toTopButton && (toTopButton.style.zIndex = ""); 
3115                    stopImage(); 
3116                } else { 
3117                    playImage(); 
3118                    toTopButton && (toTopButton.style.zIndex = "1"); 
3119
3120            }) 
3121 
3122            closeImage.addEventListener('click', () => { 
3123                if (imagePlayerContainer.classList.contains('image-playing')) { 
3124                    toTopButton && (toTopButton.style.zIndex = ""); 
3125                    stopImage(); 
3126                }  
3127            }) 
3128        });             
3129    </script> 
3130 
3131</#macro> 
3132 
3133 
3134<#-- ################################################################################################################## --> 
3135	 
3136	 
3137	 
3138	 
3139	 
3140	 
3141	 
3142	 
3143	 
3144	 
3145	 
3146	 
3147	 
3148	<#-- ############# Site de Crise - Notícia - Galeria de imagens ####################################################### --> 
3149<#macro renderQuotes newsInfo> 
3150    <#if newsInfo.quotes?size != 0> 
3151    <#--quotes "escondidas" que serão unidas a .ptb-news__read-content --> 
3152 
3153        <div class="ptb-news__quotes-container d-none "> 
3154            <div id="ptb-news__quotes-identifiers"> 
3155                <#assign separator = ""> 
3156                <#list newsInfo.quotes as quote> 
3157                    ${quote.id}; 
3158                    <#assign separator = ";"> 
3159                </#list> 
3160            </div> 
3161            <#list newsInfo.quotes as quote> 
3162                <#assign quotes_index = quote?index> 
3163                <div id="ptb-news__quotes-container-${quote_index}"> 
3164                    <#assign noAuthorWrapper = !((quote.image.url?? && quote.image.url?has_content) || (quote.author?has_content)) /> 
3165                    <div class="quote <#if noAuthorWrapper>no-author-wrapper</#if>"> 
3166                        <div class="text-wrapper"> 
3167                            <blockquote class="text">${quote.content}</blockquote > 
3168                        </div> 
3169                        <#if !noAuthorWrapper>   
3170                            <div class="author-wrapper"> 
3171                                <#if quote.image.url?? && quote.image.url?has_content> 
3172                                    <#assign imageUrl = "/o/adaptive-media/image/" + quote.image.fileEntryId +"/Thumbnail-300x300/image"/> 
3173                                    <img src="${imageUrl}" alt="${quote.image.alt}"> 
3174                                </#if> 
3175                                <#if quote.author?? && quote?has_content>                             
3176                                    <p class="author">${quote.author}</p> 
3177                                </#if> 
3178                            </div> 
3179                        </#if> 
3180                    </div> 
3181                </div> 
3182            </#list> 
3183        </div> 
3184 
3185        <script> 
3186            var newsContent_code = document.querySelector(".news-content").innerHTML; 
3187 
3188            var quotesIdentifiers = document.querySelector("#ptb-news__quotes-identifiers").innerHTML.trim().split(";"); 
3189            quotesIdentifiers.forEach((quoteIdentifier, index) => { 
3190                const quoteIdentifierContent = document.querySelector("#ptb-news__quotes-container-" + index); 
3191                if (quoteIdentifierContent) { 
3192                    const tag = "#[" + quoteIdentifier.trim() + "]"; 
3193                    const splitContent = newsContent_code.split(tag); 
3194                    newsContent_code = splitContent.join(quoteIdentifierContent.innerHTML); 
3195                    //linkIdentifierContent.parentNode.removeChild(linkIdentifierContent); 
3196
3197            }); 
3198 
3199 
3200            var ptb_news__read_content = document.querySelector(".news-content"); 
3201            ptb_news__read_content.innerHTML = newsContent_code; 
3202 
3203        </script> 
3204 
3205        <style> 
3206            
3207            .ptb-news__read-news .quote { 
3208                display: flex; 
3209                flex-direction: column; 
3210                gap: var(--space-md, 24px); 
3211
3212 
3213            .ptb-news__read-news .quote.no-author-wrapper{ 
3214                gap: 0; 
3215
3216 
3217            .ptb-news__read-news .quote .text-wrapper { 
3218                padding-left: var(--space-xl, 40px); 
3219
3220 
3221            .ptb-news__read-news .quote .text-wrapper .text { 
3222                font-style: var(--font-style-italic) !important; 
3223                padding-left: var(--space-md, 24px); 
3224                margin-bottom: 0; 
3225                border-left: 1px solid var(--border-color-mid, #d7d7d7); 
3226							  font-size: var(--font-size-xxs, 16px); 
3227
3228 
3229            .ptb-news__read-news .quote .author-wrapper {  
3230                display: flex; 
3231                flex-direction: row; 
3232                gap: var(--space-md, 24px); 
3233
3234 
3235            .ptb-news__read-news .news-content .quote .author-wrapper img { 
3236                height: var(--size-xxxl, 56px); 
3237                width: var(--size-xxxl, 56px); 
3238                border-radius: 100px; 
3239                border: var(--size-nano, 2px) solid var(--border-color-mid) !important; 
3240
3241 
3242            .ptb-news__read-news .news-content .quote .author-wrapper p { 
3243                margin: 0; 
3244                align-self: center; 
3245                font-size: var(--font-size-xs, 18px); 
3246                font-style: var(--font-style-normal, normal); 
3247                font-weight: var(--font-weight-bold, 700); 
3248                line-height: var(--line-height-xs, 100%); 
3249
3250 
3251            @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
3252                .ptb-news__read-news .quote .text-wrapper { 
3253                    padding-left: 0; 
3254
3255							 
3256							  .ptb-news__read-news .quote .text-wrapper .text { 
3257							      font-size: var(--font-size-xxxs, 14px); 
3258
3259 
3260                .ptb-news__read-news .news-content .quote .author-wrapper p { 
3261                    font-size: var(--font-size-xxs, 16px); 
3262
3263
3264        </style> 
3265    </#if> 
3266</#macro> 
3267 
3268 
3269					 
3270					 
3271<#-- ################################################################################################################## --> 
3272	 
3273	 
3274	 
3275	 
3276	 
3277	 
3278 
3279 
3280<#-- ############# Site de Crise - Notícia - Extrair dados de Notícias ################################################ --> 
3281<#-- 
3282Add elements from the sidebar to define your template. Type "${" to use the 
3283autocomplete feature. 
3284--> 
3285<#function extractFeaturedNewsHeadline fieldList xmlArticle> 
3286    <#return getFieldValue(fieldList, xmlArticle, "Título de destaque da notícia")> 
3287</#function> 
3288 
3289<#function extractNewsSummary fieldList xmlArticle> 
3290    <#return getFieldValue(fieldList, xmlArticle, "Resumo da notícia")> 
3291</#function> 
3292 
3293<#function extractPublishDate journalArticle> 
3294    <#assign lastPublishDate = journalArticle.getModifiedDate()> 
3295    <#if journalArticle.getLastPublishDate()??> 
3296        <#assign lastPublishDate = journalArticle.getLastPublishDate()> 
3297    <#else> 
3298        <#assign lastPublishDate = journalArticle.getModifiedDate()> 
3299    </#if> 
3300    <#return lastPublishDate /> 
3301</#function> 
3302 
3303 
3304 
3305<#-- Seção da imagem de destaque ----------------------------------------------------------------------> 
3306<#function extractNewsMedia fieldList xmlArticle  fileEntryService> 
3307    <#-- Tentando pegar Imagem --> 
3308    <#assign mediasGroup = getNodes(getIdFromFieldName(fieldList, "Mídia de destaque da notícia"), xmlArticle) /> 
3309    <#assign media = {} /> 
3310    <#list mediasGroup as mediaGroup > 
3311        <#assign media = getMediaInfo(fieldList, mediaGroup, "Imagem Destaque", fileEntryService) />  
3312        <#assign media = {"imageSrc": media.url, "imageAlt": media.alt, "fileEntryId" : media.fileEntryId} /> 
3313 
3314        <#-- Se não tiver imagem, tentar pegar vídeo --> 
3315        <#if !media.imageSrc?has_content>               
3316            <#assign youtubeID = getFieldValue(fieldList, mediaGroup, "ID do vídeo do YouTube do vídeo de destaque") /> 
3317            <#if youtubeID?? && youtubeID?has_content>  
3318                <#assign media = {"videoYotubeID": youtubeID} /> 
3319            <#else> 
3320                <#-- Tentar pegar vídeo Interno --> 
3321                <#assign internalVideo = getMediaInfo(fieldList, mediaGroup, "Fazer upload de um vídeo de destaque", fileEntryService) /> 
3322                <#if internalVideo?? && internalVideo?has_content> 
3323                    <#assign media = {"internalVideo": internalVideo} /> 
3324                </#if> 
3325            </#if>          
3326        </#if> 
3327 
3328        <#assign referenceMediasGroup = getNodes(getIdFromFieldName(fieldList, "Referências"), mediaGroup) /> 
3329        <#list referenceMediasGroup as referenciaMediaGroup > 
3330            <#assign credits = getFieldValue(fieldList, referenceMediasGroup, "Crédito da mídia de destaque da notícia") /> 
3331            <#assign legend = getFieldValue(fieldList, referenceMediasGroup, "Legenda da mídia de destaque da notícia") /> 
3332        </#list> 
3333 
3334        <#assign media = media + {"credits": credits, "legend": legend} /> 
3335         
3336    </#list> 
3337 
3338    <#return media> 
3339</#function> 
3340 
3341 
3342<#--------------------- Renderização de Lista de Cards -----------------------------------------------> 
3343 
3344<#-- Root Css -> Para poder instanciar dois elementos e não dar confusão no JS --> 
3345<#assign rootCss = "card-news-list-container_" + randomNumber(4586) /> 
3346 
3347<#attempt> 
3348    <#assign ourEnergyStyles = [] /> 
3349    <#list ourEnergyVocabulary.getCategories() as ourEnergyCategory > 
3350        <#assign shadowColorCategory = "" /> 
3351        <#if (assetCategoryPropService.fetchCategoryProperty(ourEnergyCategory.getCategoryId(),"Cor da Sombra")??)> 
3352            <#assign categoryShadowColorByService = assetCategoryPropService.fetchCategoryProperty(ourEnergyCategory.getCategoryId(),"Cor da Sombra") /> 
3353            <#assign shadowColorCategory = categoryShadowColorByService.value /> 
3354        </#if> 
3355 
3356        <#assign backgroundColorCategory = "" /> 
3357        <#if (assetCategoryPropService.fetchCategoryProperty(ourEnergyCategory.getCategoryId(),"Cor de Fundo")??)> 
3358            <#assign categoryBackgroundColorByService = assetCategoryPropService.fetchCategoryProperty(ourEnergyCategory.getCategoryId(),"Cor de Fundo") /> 
3359            <#assign backgroundColorCategory = categoryBackgroundColorByService.value /> 
3360        </#if> 
3361 
3362        <#assign textColorCategory = "" /> 
3363        <#if (assetCategoryPropService.fetchCategoryProperty(ourEnergyCategory.getCategoryId(),"Cor do Texto")??)> 
3364            <#assign categoryTextColorByService = assetCategoryPropService.fetchCategoryProperty(ourEnergyCategory.getCategoryId(),"Cor do Texto") /> 
3365            <#assign textColorCategory = categoryTextColorByService.value /> 
3366        </#if> 
3367 
3368        <#assign textColorHighContrastCategory = "" /> 
3369        <#if (assetCategoryPropService.fetchCategoryProperty(ourEnergyCategory.getCategoryId(),"Cor do Texto em Alto Contraste")??)> 
3370            <#assign categoryTextColorHighContrastByService = assetCategoryPropService.fetchCategoryProperty(ourEnergyCategory.getCategoryId(),"Cor do Texto em Alto Contraste") /> 
3371            <#assign textColorHighContrastCategory = categoryTextColorHighContrastByService.value /> 
3372        </#if> 
3373 
3374        <#assign ourEnergyStyles += [{"titleLocale": ourEnergyCategory.getTitle(locale),"shadowColor": shadowColorCategory, "backgroundColor": backgroundColorCategory, "textColor": textColorCategory, "textColorHighContrast": textColorHighContrastCategory}] /> 
3375    </#list> 
3376 
3377    <#recover> 
3378        <#assign ourEnergyStyles = [] /> 
3379     
3380</#attempt> 
3381 
3382<#-- Função para obter a primeira categoria associonada a um Vocabulário o qual está associado a um Jornal Article --> 
3383<#function getFirstCategoryTitleLocaleOfVocabulary journalArticle vocabulary > 
3384    <#attempt> 
3385        <#assign categories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getClassPK()) /> 
3386         
3387        <#list categories as category> 
3388            <#if vocabulary.getVocabularyId() == category.getVocabularyId()> 
3389                <#return category.getTitle(locale)> 
3390            </#if> 
3391        </#list> 
3392 
3393        <#return ""> 
3394 
3395        <#recover> 
3396            <#return "" /> 
3397 
3398    </#attempt> 
3399</#function> 
3400 
3401<#-- Função para obter os dados de um card no Web Content (Journal Article) --> 
3402<#function getDataForCard entry > 
3403    <#attempt> 
3404        <#assign journalArticle = journalArticleLocalService.getLatestArticle(entry.getClassPK()) /> 
3405        <#assign ddmStructure = journalArticle.getDDMStructure() /> 
3406        <#assign fieldList = getFieldListByStructure(ddmStructure) /> 
3407        <#assign xmlArticle = journalArticle.getDocument().getRootElement() /> 
3408 
3409        <#-- Tentando pegar Imagem --> 
3410        <#assign mediasGroup = getNodes(getIdFromFieldName(fieldList, "Mídia de destaque da notícia"), xmlArticle) /> 
3411        <#assign media = "" /> 
3412        <#list mediasGroup as mediaGroup > 
3413            <#assign media = getMediaInfo(fieldList, mediaGroup, "Imagem Destaque", fileEntryService) /> 
3414 
3415            <#assign fileDataRequest = restClient.get("/headless-delivery/v1.0/documents/${media.fileEntryId}") /> 
3416 
3417            <#assign urlAdaptativeMedia = ""/> 
3418            <#if media.url?? && media.url?has_content && fileDataRequest?? && fileDataRequest.adaptedImages?? > 
3419                <#assign dataAdaptativeMedia = fileDataRequest.adaptedImages /> 
3420                <#list dataAdaptativeMedia as data> 
3421                    <#if data.resolutionName == "Preview-1000x0"> 
3422                        <#assign urlAdaptativeMedia = data.contentUrl/> 
3423                    </#if>      
3424                </#list> 
3425            </#if> 
3426            <#assign media = {"imageSrc": media.url, "imageAlt": media.alt, "imageFileEntryId": media.fileEntryId, "urlAdaptativeMedia": urlAdaptativeMedia} />  
3427             
3428            <#-- Se não tiver imagem, tentar pegar vídeo --> 
3429            <#if !media.imageSrc?? || !media.imageSrc?has_content>               
3430                <#assign youtubeID = getFieldValue(fieldList, mediaGroup, "ID do vídeo do YouTube do vídeo de destaque") /> 
3431                <#if youtubeID?? && youtubeID?has_content>  
3432                    <#assign media = {"videoYotubeID": youtubeID} /> 
3433                <#else> 
3434                    <#-- Tentar pegar vídeo Interno --> 
3435                    <#assign internalVideo = getMediaInfo(fieldList, mediaGroup, "Fazer upload de um vídeo de destaque", fileEntryService) /> 
3436                    <#if internalVideo?? && internalVideo?has_content> 
3437                        <#assign media = {"internalVideo": internalVideo} /> 
3438                    </#if> 
3439                </#if>          
3440            </#if> 
3441        </#list> 
3442 
3443        <#assign title = getFieldValue(fieldList, xmlArticle, "Título de destaque da notícia") /> 
3444 
3445        <#assign timeRead = getFieldValue(fieldList, xmlArticle, "Tempo de Leitura") /> 
3446 
3447        <#assign ourEnergyCategory = getFirstCategoryTitleLocaleOfVocabulary(entry, ourEnergyVocabulary) /> 
3448 
3449        <#assign typeOfNews = getFirstCategoryTitleLocaleOfVocabulary(entry, typeOfNewsVocabulary) /> 
3450 
3451        <#if themeDisplay.getPortalURL()?contains("webserver")> 
3452					<#assign urlNews = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + journalArticle.getUrlTitle()> 
3453				<#else> 
3454						<#assign urlNews = themeDisplay.getPortalURL() + "/w/" + journalArticle.getUrlTitle()> 
3455				</#if> 
3456         
3457        <#assign cardData = {"media": media, "title": title, "timeRead": timeRead, "ourEnergyCategory": ourEnergyCategory, "typeOfNews": typeOfNews, "urlNews": urlNews} /> 
3458         
3459        <#return cardData> 
3460 
3461        <#recover> 
3462            <#return {} /> 
3463    </#attempt> 
3464 
3465    <#-- cardData ->    image: url, alt 
3466                        title 
3467                        timeRead 
3468                        ourEnergyCategory 
3469                        typeOfNews 
3470                        urlNews 
3471    --> 
3472</#function> 
3473 
3474 
3475<#-- Macro para renderizar os arrows--> 
3476<#macro renderArrows> 
3477    <div class="card-news-list-arrows-breakpoint breakpoint"> 
3478        <div class="card-news-list-arrows col-11-12 md-col-7-8 sm-col-1-4"> 
3479            <div class="card-news-arrow-left arrow-disable">  
3480                <svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3481                    <path d="M1 17C1 8.16344 8.16344 1 17 1C25.8366 1 33 8.16344 33 17C33 25.8366 25.8366 33 17 33C8.16344 33 1 25.8366 1 17Z" stroke="#959595"/> 
3482                    <path d="M22.5 17H11.5M11.5 17L16 12.5M11.5 17L16 21.5" stroke="#525252" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 
3483                </svg> 
3484            </div> 
3485            <div class="card-news-arrow-right">  
3486                <svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3487                    <path d="M1 17C1 8.16344 8.16344 1 17 1C25.8366 1 33 8.16344 33 17C33 25.8366 25.8366 33 17 33C8.16344 33 1 25.8366 1 17Z" stroke="#008542"/> 
3488                    <path d="M11.5 17H22.5M22.5 17L18 12.5M22.5 17L18 21.5" stroke="#008542" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 
3489                </svg> 
3490 
3491            </div> 
3492        </div> 
3493    </div> 
3494 
3495    <style> 
3496 
3497        .${rootCss} .card-news-list-arrows-breakpoint { 
3498            position: relative; 
3499            z-index: 1; 
3500
3501 
3502        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows { 
3503            display: flex; 
3504            align-items: flex-start; 
3505            justify-self: flex-end; 
3506            gap: var(--space-xxs, 8px); 
3507
3508         
3509        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left, 
3510        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right { 
3511            cursor: pointer; 
3512
3513 
3514        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left:not(.arrow-disable):hover path:nth-child(1), 
3515        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right:not(.arrow-disable):hover path:nth-child(1) { 
3516            fill: rgb(0, 133, 66); 
3517
3518 
3519        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left:not(.arrow-disable):hover path:nth-child(1), 
3520        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right:not(.arrow-disable):hover path:nth-child(1) { 
3521            fill: white; 
3522
3523 
3524        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left:not(.arrow-disable):hover path:nth-child(2), 
3525        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right:not(.arrow-disable):hover path:nth-child(2) { 
3526            stroke: #fff; 
3527
3528 
3529        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left:not(.arrow-disable):hover path:nth-child(2), 
3530        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right:not(.arrow-disable):hover path:nth-child(2) { 
3531            stroke: #010101; 
3532
3533 
3534        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left.arrow-disable, 
3535        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right.arrow-disable { 
3536            opacity: 0.4; 
3537            cursor: auto; 
3538
3539 
3540        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left path, 
3541        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right path { 
3542            stroke: rgb(0, 133, 66); 
3543            transition: all 300ms ease-in-out; 
3544
3545 
3546        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left path, 
3547        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right path { 
3548            stroke: rgba(228, 247, 232, 1); 
3549
3550 
3551        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left.arrow-disable path:nth-child(1), 
3552        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right.arrow-disable path:nth-child(1) { 
3553            stroke: rgb(149, 149, 149); 
3554
3555 
3556        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left.arrow-disable path:nth-child(1), 
3557        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right.arrow-disable path:nth-child(1) { 
3558            stroke: rgba(215, 215, 215, 1); 
3559
3560 
3561        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left.arrow-disable path:nth-child(2), 
3562        .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right.arrow-disable path:nth-child(2) { 
3563            stroke: rgb(82, 82, 82); 
3564
3565 
3566        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-left.arrow-disable path:nth-child(2), 
3567        body.high-contrast-active .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows .card-news-arrow-right.arrow-disable path:nth-child(2) { 
3568            stroke: rgba(149, 149, 149, 1); 
3569
3570 
3571        @media screen and (min-width: 1440px) { 
3572            .${rootCss} .card-news-list-arrows-breakpoint { 
3573                width: 100%; 
3574
3575
3576 
3577        @media screen and (max-width: ${MAX_MOBILE_WIDTH}px) { 
3578 
3579            .${rootCss} .card-news-list-arrows-breakpoint .card-news-list-arrows { 
3580                justify-self: flex-start; 
3581                margin-top: var(--space-lg); 
3582
3583
3584 
3585    </style> 
3586 
3587</#macro> 
3588 
3589 
3590<#-- Macro para renderizar um Card --> 
3591<#macro renderCard cardData> 
3592    <#-- cardData ->    image: url, alt 
3593                        title 
3594                        timeRead 
3595                        ourEnergyCategory 
3596                        typeOfNews 
3597                        urlNews 
3598    --> 
3599 
3600    <div class="card-news-container"> 
3601        <a class="news-page-see-more-link card-news-link" href="${cardData.urlNews}">  Link da Notícia ${cardData.title}  </a> 
3602        <div class="card-news-thumb"> 
3603            <#assign noImage = "" /> 
3604            <#if cardData.media.imageSrc?? && cardData.media.imageSrc?has_content> 
3605                <#assign imageSrc = cardData.media.imageSrc /> 
3606                <#if cardData.media.urlAdaptativeMedia?? && cardData.media.urlAdaptativeMedia?has_content> 
3607                    <#assign imageSrc = cardData.media.urlAdaptativeMedia /> 
3608                </#if> 
3609                <img class="card-news-image" src="${imageSrc}" alt="${cardData.media.imageAlt}"/> 
3610            <#else> 
3611                <#if cardData.media.videoYotubeID?? && cardData.media.videoYotubeID?has_content> 
3612                    <img class="card-news-image" src="https://img.youtube.com/vi/${cardData.media.videoYotubeID}/maxresdefault.jpg" alt="YouTube Thumbnail"/>  
3613                <#else> 
3614                    <#if (cardData.media.internalVideo?? && cardData.media.internalVideo.url?has_content) > 
3615                        <video class="card-news-image"> 
3616                            <source src="${cardData.media.internalVideo.url}"> 
3617                            Your browser does not support the video tag. 
3618                        </video> 
3619                    <#else> 
3620                        <#assign noImage = "no-image" /> 
3621                    </#if> 
3622                </#if> 
3623                <svg class="thumb-play-icon" width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3624                    <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" fill="white" fill-opacity="0.8"/> 
3625                    <path d="M22.2563 15.5744L13.2625 10.0744C13.1868 10.0277 13.1 10.0021 13.0111 10.0001C12.9221 9.99816 12.8343 10.02 12.7566 10.0633C12.6789 10.1066 12.6141 10.1698 12.569 10.2465C12.5239 10.3232 12.5001 10.4105 12.5 10.4994V21.4994C12.5001 21.5884 12.5239 21.6757 12.569 21.7524C12.6141 21.8291 12.6789 21.8923 12.7566 21.9356C12.8343 21.9789 12.9221 22.0007 13.0111 21.9988C13.1 21.9968 13.1868 21.9712 13.2625 21.9244L22.2563 16.4244C22.3301 16.3808 22.3913 16.3186 22.4338 16.2441C22.4763 16.1696 22.4987 16.0852 22.4987 15.9994C22.4987 15.9137 22.4763 15.8293 22.4338 15.7548C22.3913 15.6803 22.3301 15.6181 22.2563 15.5744Z" fill="#008542"/> 
3626                </svg>        
3627            </#if>         
3628        </div> 
3629         
3630        <div class="card-news-category-container ${noImage}">  
3631            <div data-category="${cardData.ourEnergyCategory}" class="card-news-category paragraph-micro-regular"> ${cardData.ourEnergyCategory} </div> 
3632        </div>  
3633 
3634        <div class="card-news-text-content ${noImage}">  
3635            <div class="card-news-title h5"> ${cardData.title} </div> 
3636 
3637             <div class="card-news-info">  
3638                <div class="card-news-type">  
3639                    <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3640                        <path d="M6.25 7.5H13.75M6.25 10H13.75M6.25 12.5H13.75M3.125 3.75H16.875C17.2202 3.75 17.5 4.02982 17.5 4.375V15.625C17.5 15.9702 17.2202 16.25 16.875 16.25H3.125C2.77982 16.25 2.5 15.9702 2.5 15.625V4.375C2.5 4.02982 2.77982 3.75 3.125 3.75Z" stroke="#959595" stroke-linecap="round" stroke-linejoin="round"/> 
3641                    </svg> 
3642 
3643                    <div class="card-news-type-text paragraph-micro-regular">${cardData.typeOfNews}</div> 
3644                </div> 
3645								<#if cardData.timeRead?? && cardData.timeRead?has_content> 
3646									<div class="card-news-time-read">  
3647											<svg class="card-news-icon-time-read" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 
3648													<path d="M10.5 5.625C10.5 5.34886 10.2761 5.125 10 5.125C9.72386 5.125 9.5 5.34886 9.5 5.625H10.5ZM10 10H9.5C9.5 10.2761 9.72386 10.5 10 10.5V10ZM14.375 10.5C14.6511 10.5 14.875 10.2761 14.875 10C14.875 9.72386 14.6511 9.5 14.375 9.5V10.5ZM17 10C17 13.866 13.866 17 10 17V18C14.4183 18 18 14.4183 18 10H17ZM10 17C6.13401 17 3 13.866 3 10H2C2 14.4183 5.58172 18 10 18V17ZM3 10C3 6.13401 6.13401 3 10 3V2C5.58172 2 2 5.58172 2 10H3ZM10 3C13.866 3 17 6.13401 17 10H18C18 5.58172 14.4183 2 10 2V3ZM9.5 5.625V10H10.5V5.625H9.5ZM10 10.5H14.375V9.5H10V10.5Z" fill="#959595"/> 
3649											</svg> 
3650 
3651											<div class="card-news-time-read-text paragraph-micro-regular">${cardData.timeRead} min</div> 
3652									</div> 
3653								</#if> 
3654            </div> 
3655        </div> 
3656    </div> 
3657</#macro> 
3658 
3659<style> 
3660    .${rootCss} .card-news-container { 
3661        width: 300px; 
3662        height: 370px; 
3663        display: flex; 
3664        flex-direction: column; 
3665        flex-shrink: 0; 
3666        align-items: flex-start; 
3667        border-radius: var(--border-radius-lg); 
3668        border: var(--border-width-hairline) solid var(--border-card-default, #EEE); 
3669        background: var(--background-surface-level-01, #FFF); 
3670        box-shadow: 0px 12px 60px -10px rgba(145, 147, 149, 0.12); 
3671        overflow: hidden; 
3672        scroll-snap-align: start; 
3673        cursor: pointer; 
3674        transition: border 300ms ease-in-out; 
3675        text-decoration: none; 
3676        position: relative; 
3677
3678 
3679    body.high-contrast-active .${rootCss} .card-news-container {      
3680        border: var(--border-width-hairline) solid var(--border-card-default, #525252); 
3681        background: var(--background-surface-level-01, #010101); 
3682
3683 
3684    .${rootCss} .card-news-container:hover { 
3685        border: var(--border-width-hairline) solid rgb(0, 133, 66); 
3686
3687 
3688    body.high-contrast-active .${rootCss} .card-news-container:hover { 
3689        border: var(--border-width-hairline) solid var(--border-card-default, #E4F7E8); 
3690
3691 
3692    .${rootCss} .card-news-container .card-news-link { 
3693        position: absolute; 
3694        top: 0; 
3695        width: 100%; 
3696        height: 100%; 
3697        z-index: 1; 
3698        opacity: 0; 
3699
3700 
3701    .${rootCss} .card-news-container .card-news-thumb { 
3702        position: relative; 
3703
3704 
3705    .${rootCss} .card-news-container .card-news-image { 
3706        width: 298px; 
3707        height: 168px; 
3708        object-fit: cover; 
3709
3710 
3711 
3712    .${rootCss} .card-news-container .card-news-thumb .thumb-play-icon { 
3713        position: absolute; 
3714        left: 50%; 
3715        top: 50%; 
3716        transform: translate(-50%, -50%); 
3717
3718 
3719    body.high-contrast-active .${rootCss} .card-news-container .card-news-thumb .thumb-play-icon path:nth-child(1) { 
3720        fill: black;   
3721
3722 
3723    body.high-contrast-active .${rootCss} .card-news-container .card-news-thumb .thumb-play-icon path:nth-child(2) { 
3724        fill: white;   
3725
3726 
3727    .${rootCss} .card-news-container .card-news-category-container { 
3728        position: relative; 
3729
3730 
3731    .${rootCss} .card-news-container .card-news-category-container .card-news-category { 
3732        display: flex; 
3733        justify-content: center; 
3734        align-items: center;  
3735        padding: var(--space-micro) var(--space-xs); 
3736        position: absolute; 
3737        z-index: 2; 
3738        left: var(--space-md); 
3739        top: -13px; 
3740        border-radius: var(--border-radius-pill); 
3741        background: linear-gradient(0deg, var(--background-surface-opacity-light-level-07, rgba(255, 255, 255, 0.96)) 0%, var(--background-surface-opacity-light-level-07, rgba(255, 255, 255, 0.96)) 100%), var(--default-sup-green-water, #006B65); 
3742        box-shadow: 0px 2px 6px 0px rgba(0, 178, 169, 0.10); 
3743        line-height: var(--line-height-lg, 144%); 
3744        color: var(--default-sup-green-water, #006B65); 
3745			  white-space: nowrap; 
3746
3747 
3748    body.high-contrast-active .${rootCss} .card-news-container .card-news-category-container .card-news-category { 
3749        background: linear-gradient(0deg, var(--background-surface-opacity-light-level-07, #373737) 0%, var(--background-surface-opacity-light-level-07, #373737) 100%), var(--default-sup-green-water, #99E0DD); 
3750        color: var(--default-sup-green-water, #99E0DD);  
3751
3752 
3753    .${rootCss} .card-news-container .card-news-category-container.no-image .card-news-category { 
3754        position: relative; 
3755        top: 0; 
3756        left: 0; 
3757        margin-left: var(--space-md); 
3758        margin-top: var(--space-md); 
3759
3760 
3761    .${rootCss} .card-news-container .card-news-text-content { 
3762        display: flex; 
3763        padding: var(--space-lg, 32px) var(--space-md, 24px) var(--space-md, 24px) var(--space-md, 24px); 
3764        flex-direction: column; 
3765        justify-content: space-between; 
3766        align-items: flex-start; 
3767        flex: 1 0 0; 
3768        align-self: stretch; 
3769
3770 
3771    .${rootCss} .card-news-container .card-news-text-content.no-image { 
3772        padding-top: var(--space-sm); 
3773
3774 
3775    .${rootCss} .card-news-container .card-news-text-content .card-news-title { 
3776        display: -webkit-box; 
3777        -webkit-box-orient: vertical; 
3778        -webkit-line-clamp: 4; 
3779        align-self: stretch; 
3780        overflow: hidden; 
3781        color: var(--text-primary-default, #373737); 
3782        text-overflow: ellipsis; 
3783        margin: 0; 
3784
3785 
3786    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-title { 
3787        color: var(--text-primary-default, #FFF); 
3788
3789 
3790    .${rootCss} .card-news-container .card-news-text-content .card-news-info { 
3791        display: flex; 
3792        align-items: center; 
3793        align-content: center; 
3794        gap: var(--space-sm, 16px); 
3795        align-self: stretch; 
3796        flex-wrap: wrap; 
3797
3798 
3799    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-type, 
3800    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read { 
3801        display: flex; 
3802        align-items: center; 
3803        gap: var(--space-xxs, 8px); 
3804
3805 
3806    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-type path { 
3807        stroke: #D7D7D7; 
3808
3809 
3810    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-type .card-news-type-text, 
3811    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read .card-news-time-read-text { 
3812        color: var(--text-tertiary-default, #959595); 
3813        line-height: var(--line-height-lg, 144%); 
3814
3815 
3816    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-type .card-news-type-text, 
3817    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read .card-news-time-read-text { 
3818        color: var(--text-tertiary-default, #EEE); 
3819
3820 
3821    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read .card-news-icon-time-read { 
3822        transform: translateY(-0.5px); 
3823
3824 
3825    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read .card-news-icon-time-read path { 
3826        fill: #D7D7D7; 
3827
3828</style> 
3829 
3830<#assign maxNumberOfCards = 9/> 
3831<#assign className = "com.liferay.journal.model.JournalArticle" /> 
3832<#assign classNameId = PortalUtil.getClassNameId(className) /> 
3833${AssetEntryQuery.setClassNameIds([classNameId]) } 
3834${AssetEntryQuery.setEnd(maxNumberOfCards)} 
3835 
3836<#assign entries = []/> 
3837<#assign ourEnergyCategoriesIds = getAllCategoryIdOfVocabulary(assetEntry, ourEnergyVocabulary) /> 
3838<#list ourEnergyCategoriesIds as ourEnergyCategoryId> 
3839    ${AssetEntryQuery.setAllCategoryIds([ourEnergyCategoryId])} 
3840    <#assign ents = AssetEntryQueryService.getEntries(AssetEntryQuery) /> 
3841    <#assign entries = entries + ents /> 
3842</#list> 
3843 
3844 
3845<#-- Renderizar Lista de cards --> 
3846<#if entries?has_content> 
3847    <div class="${rootCss}"> 
3848        <div class="list-of-news-title breakpoint"> 
3849            <div class="list-of-news-title-col col-1-12 md-col-1-8 sm-col-1-4"> 
3850                <div class="list-title fragment_85017"> 
3851                    <div class="petro-title"> 
3852                        <h2 id="title" class="display-sm" style="color: var(--color-neutral-800)"> 
3853                            <#if locale?lower_case == "pt_br"> Leia também <#else> Read also </#if> 
3854                        </h2> 
3855                             
3856                        <div class="yellow-bar bar-display-sm" style="background-color: var(--color-secondary-medium)"></div> 
3857                     
3858                    </div> 
3859                </div> 
3860            </div>  
3861        </div> 
3862 
3863        <@renderArrows /> 
3864         
3865        <div class="card-news-list-breakpoint breakpoint"> 
3866            <div class="card-news-list col-1-12 md-col-1-8 sm-col-1-4">  
3867                <#if entries?size gt maxNumberOfCards> 
3868                    <#assign entries = entries[0..maxNumberOfCards] /> 
3869                </#if> 
3870                <#list entries as entry> 
3871                    <#if assetEntry.getClassPK() != entry.getClassPK() > 
3872                        <#assign cardData = getDataForCard(entry) /> 
3873                        <@renderCard cardData/> 
3874                    </#if> 
3875                </#list> 
3876            </div> 
3877        </div>   
3878    </div> 
3879</#if> 
3880 
3881 
3882<style> 
3883 
3884    .portlet { 
3885        margin: 0; 
3886
3887     
3888    .${rootCss} { 
3889        padding: var(--space-giant, 80px) 0; 
3890        background: var(--background-surface-level-01, #FFF); 
3891        width: 100%; 
3892        position: relative; 
3893        font-family: var(--font-family-base, "Petrobras Sans"); 
3894        display: flex; 
3895        flex-direction: column; 
3896        gap: var(--space-lg); 
3897
3898 
3899    body.high-contrast-active .${rootCss} { 
3900        background: var(--background-surface-level-01, #010101); 
3901
3902 
3903    .${rootCss} .list-of-news-title { 
3904        position: relative; 
3905        z-index: 1; 
3906
3907 
3908    .${rootCss} body.high-contrast-active .fragment_614685 .petro-title .yellow-bar { 
3909        background-color: #FFEEB3 !important; 
3910
3911 
3912    .${rootCss} .card-news-list { 
3913        display: flex; 
3914        gap: var(--space-lg); 
3915        overflow: auto; 
3916        position: relative; 
3917        z-index: 1; 
3918        scroll-snap-type: x mandatory; 
3919        scrollbar-width: none; 
3920
3921 
3922    .${rootCss} .card-news-list::-webkit-scrollbar { 
3923        display: none; 
3924
3925 
3926    @media screen and (min-width: 1440px) { 
3927        .${rootCss} .card-news-list-breakpoint { 
3928            width: 100%;            
3929
3930 
3931        .${rootCss} .list-of-news-title { 
3932            width: 100%; 
3933
3934
3935 
3936    @media screen and (max-width: 1024px) { 
3937        .${rootCss} .fragment_614685 { 
3938            padding: var(--space-xxl, 56px) 0; 
3939
3940
3941    
3942</style> 
3943 
3944<#list ourEnergyStyles as ourEnergyStyle> 
3945    <style> 
3946        .${rootCss} [data-category="${ourEnergyStyle.titleLocale}"] { 
3947            background: linear-gradient(0deg, var(--background-surface-opacity-light-level-07, rgba(255, 255, 255, 0.96)) 0%, var(--background-surface-opacity-light-level-07, rgba(255, 255, 255, 0.96)) 100%), #${ourEnergyStyle.backgroundColor} !important; 
3948            box-shadow: 0px 2px 6px 0px #${ourEnergyStyle.shadowColor} !important; 
3949            color: #${ourEnergyStyle.textColor} !important; 
3950
3951 
3952        body.high-contrast-active .${rootCss} [data-category="${ourEnergyStyle.titleLocale}"] { 
3953             background: linear-gradient(0deg, var(--background-surface-opacity-light-level-07, rgba(55, 55, 55, 1)) 0%, var(--background-surface-opacity-light-level-07, rgba(55, 55, 55, 1)) 100%), #${ourEnergyStyle.backgroundColor} !important; 
3954            color: #${ourEnergyStyle.textColorHighContrast} !important; 
3955
3956 
3957    </style> 
3958</#list> 
3959 
3960<script> 
3961 
3962    function disableEnableArrow(arrow, scrollBar, maxDistance, direction) 
3963
3964        if(direction === "left") { 
3965            if (scrollBar.scrollLeft > 0) { 
3966                arrow.classList.contains("arrow-disable") && arrow.classList.remove("arrow-disable"); 
3967
3968            else { 
3969                !arrow.classList.contains("arrow-disable") && arrow.classList.add("arrow-disable"); 
3970
3971        }  
3972        else if(direction === "right") { 
3973            if (Math.ceil(scrollBar.scrollLeft + scrollBar.clientWidth) < maxDistance) { 
3974                arrow.classList.contains("arrow-disable") && arrow.classList.remove("arrow-disable"); 
3975
3976            else { 
3977                !arrow.classList.contains("arrow-disable") && arrow.classList.add("arrow-disable"); 
3978
3979
3980
3981 
3982    function scrollCarousel() 
3983
3984        const root = document.querySelector(".${rootCss}"); 
3985        if(root) { 
3986            const scrollBar = root.querySelector(".${rootCss} .card-news-list"); 
3987            const gap = 32;// var(--space-lg); 
3988            const stepLength = scrollBar.querySelector(".card-news-container").offsetWidth + gap; 
3989            const arrowLeftBtn = root.querySelector(".card-news-arrow-left") 
3990            const arrowRightBtn = root.querySelector(".card-news-arrow-right") 
3991 
3992            let maxDistance = scrollBar.scrollWidth; 
3993 
3994            arrowLeftBtn.addEventListener('click', () => { 
3995                if (scrollBar.scrollLeft > 0) { 
3996                    scrollBar.scroll({ 
3997                        left: scrollBar.scrollLeft - stepLength, 
3998                        behavior: "smooth", 
3999                    });	 
4000
4001            }); 
4002 
4003            arrowRightBtn.addEventListener('click', () => { 
4004                if (scrollBar.scrollLeft < maxDistance) { 
4005                    scrollBar.scroll({ 
4006                        left: scrollBar.scrollLeft + stepLength, 
4007                        behavior: "smooth", 
4008                    }); 
4009
4010            }); 
4011             
4012            scrollBar.addEventListener("scroll", ()=>{ 
4013                disableEnableArrow(arrowLeftBtn, scrollBar, maxDistance, "left"); 
4014                disableEnableArrow(arrowRightBtn, scrollBar, maxDistance, "right"); 
4015            }); 
4016 
4017            disableEnableArrow(arrowLeftBtn, scrollBar, maxDistance, "left"); 
4018            disableEnableArrow(arrowRightBtn, scrollBar, maxDistance, "right"); 
4019 
4020        }        
4021
4022 
4023    document.addEventListener('DOMContentLoaded', scrollCarousel); 
4024 
4025</script> 
4026	 
4027<style> 
4028 
4029 
4030.ptb-news__read-news .news-content .embed-responsive-youtube::before { 
4031    padding-top: 0; 
4032
4033	 
4034.ptb-news__read-news .news-content .embed-responsive-liferay::before { 
4035    padding-top: calc(9/16 *100% - 64px); 
4036
4037 
4038.ptb-news__read-news .news-content .thumnail-play-button { 
4039
4040 
4041.ptb-news__read-news .news-content .thumnail-play-button { 
4042    position: relative; 
4043    z-index: 100; 
4044    height: 64px; 
4045    width: 64px; 
4046    background-repeat: no-repeat; 
4047    top: calc(50%); 
4048    left: calc(50% - 32px); 
4049
4050	 
4051	 
4052.ptb-news__read-news .news-content .thumnail-play-button-youtube { 
4053    position: absolute; 
4054    z-index: 100; 
4055    height: 64px; 
4056    width: 64px; 
4057    background-repeat: no-repeat; 
4058    top: calc(50% - 64px); 
4059    left: calc(50% - 32px); 
4060
4061 
4062.ptb-news__read-news .news-content .thumnail-play-button-liferay { 
4063    position: relative; 
4064    z-index: 100; 
4065    height: 64px; 
4066    width: 64px; 
4067    top: calc(-50% + 32px); 
4068    left: calc(50% - 32px); 
4069    background-repeat: no-repeat; 
4070
4071 
4072	 
4073	.ptb-news__read-news .news-content .embed-responsive-youtube img { 
4074	width: 100%; 
4075		height: 100%; 
4076
4077	 
4078</style> 
4079 
4080	<script> 
4081	<#assign createYoutubeThumbnails = "createYoutubeThumbnails_"+ randomNumber(5952) />  
4082	 
4083	function ${createYoutubeThumbnails}(){ 
4084 
4085        const newsContent = document.querySelector(".news-content"); 
4086 
4087        const getYoutubeId = (youtubeUrl) => { 
4088 
4089            const url = new URL(youtubeUrl); 
4090            const splittedPathName = url.pathname.split("/"); 
4091 
4092            if (splittedPathName.length <= 0){ 
4093                return ""; 
4094
4095 
4096            return splittedPathName[splittedPathName.length-1]; 
4097        }; 
4098		 
4099		    window.addEventListener("resize", (event) => { 
4100				const iframeList = newsContent.querySelectorAll('iframe'); 
4101           iframeList.forEach((iframe) => { 
4102                const src = iframe.src; 
4103                if (!src){ 
4104                    return; 
4105
4106 
4107                const isYoutube = src.toLowerCase().includes("youtube"); 
4108                if (!isYoutube){ 
4109                    return; 
4110
4111						  
4112						    const iframeParent = iframe.parentNode; 
4113						  
4114						    const thumbnail = iframeParent.querySelector("img"); 
4115                if (thumbnail){ 
4116					         // thumbnail.style="width:" + iframe.width + "px; height: " + iframe.height + "px"; 
4117
4118				   }); 
4119				 
4120				}); 
4121         
4122        const iframeList = newsContent.querySelectorAll('iframe'); 
4123        iframeList.forEach((iframe) => { 
4124                const src = iframe.src; 
4125                if (!src){ 
4126                    return; 
4127
4128 
4129                const isYoutube = src.toLowerCase().includes("youtube"); 
4130                if (!isYoutube){ 
4131                    return; 
4132
4133 
4134                const iframeParent = iframe.parentNode; 
4135 
4136                const thumbnail = document.createElement("img"); 
4137                thumbnail.src = 'https://img.youtube.com/vi/' + getYoutubeId(src) +'/hqdefault.jpg'; 
4138                thumbnail.alt = "Youtube"; 
4139					      //thumbnail.style="width:" + iframe.width + "px; height: " + iframe.height + "px"; 
4140 
4141                const playButton = document.createElement("div"); 
4142                playButton.style = 'background-image: url("data:image/svg+xml,%3Csvg width=\'64\' height=\'64\' viewBox=\'0 0 64 64\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cg clip-path=\'url(%23clip0_4118_27800)\'%3E%3Crect width=\'64\' height=\'64\' rx=\'32\' fill=\'white\'/%3E%3Cpath d=\'M39.22 32.52C39.591 32.2726 39.591 31.7274 39.22 31.48L28.9717 24.6478C28.5563 24.3709 28 24.6686 28 25.1678V38.8322C28 39.3314 28.5563 39.6291 28.9717 39.3522L39.22 32.52Z\' fill=\'%23008542\' stroke=\'%23008542\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-linejoin=\'round\'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=\'clip0_4118_27800\'%3E%3Crect width=\'64\' height=\'64\' rx=\'32\' fill=\'white\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A")'; 
4143                playButton.classList.add("thumnail-play-button-youtube"); 
4144                const children = iframeParent.children; 
4145 
4146                if (children.length > 0) { 
4147                    iframeParent.insertBefore(thumbnail, children.firstChild); 
4148                    iframeParent.insertBefore(playButton, thumbnail); 
4149                    iframe.classList.add("hide"); 
4150                    iframeParent.classList.add("embed-responsive-youtube"); 
4151
4152 
4153                playButton.addEventListener("click", () => { 
4154                    thumbnail.click(); 
4155                }); 
4156 
4157                thumbnail.addEventListener("click", () => { 
4158                    thumbnail.classList.add("hide"); 
4159                    playButton.classList.add("hide"); 
4160                    iframe.classList.remove("hide"); 
4161                    iframeParent.classList.remove("embed-responsive-youtube"); 
4162                    const url = new URL(src); 
4163                    const searchParams = url.searchParams; 
4164                    searchParams.set("rel", "0"); 
4165                    //searchParams.set("modestbranding", "0"); 
4166                    //searchParams.set("mute", "0"); 
4167                    //searchParams.set("color", "white"); 
4168                    searchParams.set("controls", "1"); 
4169                    //searchParams.set("playsinline", "1"); 
4170                    //searchParams.set("enablejsapi", "1"); 
4171                    searchParams.set("autoplay", "1"); 
4172                    //searchParams.set("logo", "0"); 
4173                 
4174                    console.log(url.toString()); 
4175 
4176                    iframeParent.setAttribute("data-embed-id", url.toString()); 
4177                    iframe.setAttribute("src", url.toString()); 
4178                }); 
4179        }); 
4180  
4181
4182		 
4183	${createYoutubeThumbnails}(); 
4184		 
4185    <#assign createLRThumbnails = "createLRThumbnails"+ randomNumber(5952) />  
4186	 
4187	function ${createLRThumbnails}(){ 
4188 
4189        const newsContent = document.querySelector(".news-content"); 
4190        const iframeList = newsContent.querySelectorAll("iframe[data-video-liferay]"); 
4191 
4192        iframeList.forEach(iframe => {                       
4193 
4194            const playButton = document.createElement("div"); 
4195            playButton.style = 'background-image: url("data:image/svg+xml,%3Csvg width=\'64\' height=\'64\' viewBox=\'0 0 64 64\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cg clip-path=\'url(%23clip0_4118_27800)\'%3E%3Crect width=\'64\' height=\'64\' rx=\'32\' fill=\'white\'/%3E%3Cpath d=\'M39.22 32.52C39.591 32.2726 39.591 31.7274 39.22 31.48L28.9717 24.6478C28.5563 24.3709 28 24.6686 28 25.1678V38.8322C28 39.3314 28.5563 39.6291 28.9717 39.3522L39.22 32.52Z\' fill=\'%23008542\' stroke=\'%23008542\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-linejoin=\'round\'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=\'clip0_4118_27800\'%3E%3Crect width=\'64\' height=\'64\' rx=\'32\' fill=\'white\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A")'; 
4196            playButton.classList.add("thumnail-play-button-liferay"); 
4197            const children = iframe.parentNode.children; 
4198            if (children.length > 0) {                
4199                iframe.parentNode.insertBefore(playButton, children.firstChild);                 
4200
4201 
4202            iframe.addEventListener("load", () => { 
4203                if (iframe.contentDocument){ 
4204                    const video = iframe.contentDocument.body.querySelector("video"); 
4205                    video.removeAttribute("controls"); 
4206
4207            }); 
4208					 
4209					iframe.parentNode.classList.add("embed-responsive-liferay"); 
4210             
4211 
4212            playButton.addEventListener("click", () => { 
4213                playButton.classList.add("hide"); 
4214                playButton.classList.remove("thumnail-play-button-liferay");     
4215							iframe.parentNode.classList.remove("embed-responsive-liferay"); 
4216                if (iframe.contentDocument){ 
4217                    const video = iframe.contentDocument.body.querySelector("video"); 
4218                    video.setAttribute("controls", ""); 
4219                    video.play(); 
4220
4221            }); 
4222        }); 
4223
4224 
4225    ${createLRThumbnails}(); 
4226	</script> 




Canais

Acessibilidade

Faça uma busca:

Buscar

Sugestões de busca

Link de exemplo
Ícone do botão /documents/d/nossa-energia/chevronright-svg?download=true Exibir mais resultados
Ícone de carregamento

Mais pesquisados

Preço dos combustíveis

Pré-Sal

Time Petrobras

Escolha um Canal:

Navegue nas Seções:

Acessibilidade

Alto-Contraste

Desligado

Ligado

Texto Grande

Desligado

Ligado

Idioma:

Selecione um idioma: