Título

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

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

Acessibilidade

Alto-Contraste

Desligado

Ligado

Texto Grande

Desligado

Ligado

Idioma:

Selecione um idioma: