Link do botão
Ícone do botão Button Label
Ícone de carregamento
Tipo
Ordenar
Categoria
Categoria
Um erro ocorreu enquanto processava o modelo.
Java method "com.sun.proxy.$Proxy194.getGroupVocabularies(long)" threw an exception when invoked on com.sun.proxy.$Proxy194 object "com.liferay.portlet.asset.service.impl.AssetVocabularyServiceImpl@66982168"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign vocabularies = assetVocabular...  [in template "20099#20135#11049244" at line 34, column 1]
----
1<#-- 
2Widget templates can be used to modify the look of a 
3specific application. 
4 
5Please use the right panel to quickly add commonly used variables. 
6Autocomplete is also available and can be invoked by typing "${". 
7--> 
8 
9<#assign codGlobalSite = 20135 /> 
10	 
11<#if codGlobalSite != themeDisplay.getScopeGroupId() > 
12 
13<#-- Conteúdo Web -> Templates: Funções gerais --> 
14<#include "${templatesPath}/1975398" /> 
15	 
16<#-- Conteúdo Web -> Templates: Busca pelas imagens do tipo de noticia --> 
17<#include "${templatesPath}/18598756" /> 
18	 
19<#assign POST_TYPES_CATEGORIES = getPostTypeImages()!default([]) /> 
20 
21<#-- Nome das midias adaptativas de imagem para desktop e mobile --> 
22<#assign adaptativeMediaDesktopResolutionName = "Preview-1000x0" /> 
23<#assign adaptativeMediaMobileResolutionName = "Thumbnail-300x300" /> 
24 
25 
26<#-- Liferay Services --> 
27<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
28<#assign fileEntryService = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"] /> 
29<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
30<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
31<#assign assetVocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyService") /> 
32<#assign assetCategoryPropService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") /> 
33<#assign layout = layoutLocalService.getLayout(themeDisplay.getPlid())> 
34<#assign vocabularies = assetVocabularyService.getGroupVocabularies(groupId) /> 
35 
36<#assign ourEnergyVocabulary = findVocabulary("Nossa Energia", vocabularies)/> 
37<#assign typeOfNewsVocabulary = findVocabulary("Tipo de Notícia", vocabularies )/> 
38<#assign typeOfNewsVocabularyId = 10720340 /> 
39	 
40	 
41<#assign contentNumber =  randomNumber(4586) /> 
42 
43<#assign folderId = "18598813"/> 
44 
45<#assign category = "" /> 
46<#assign categoryName = "" > 
47<#if locale?lower_case == 'pt_br'> 
48	<#assign categoryName = "Todos" > 
49<#else> 
50	<#assign categoryName = "All" > 
51</#if> 
52 
53<#if request.getParameter("category")?? && request.getParameter("category")?has_content> 
54    <#assign categoryId = request.getParameter("category")?number> 
55    <#if categoryId?? && categoryId?has_content> 
56        <#assign category = assetCategoryLocalService.getCategory(categoryId) /> 
57        <#assign categoryName = category.getTitle(locale) /> 
58    </#if> 
59</#if> 
60 
61<#if categoryId?? && categoryId?has_content> 
62    <#attempt> 
63            <#assign categoryDates = restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-categories/${categoryId}")> 
64            <#recover> 
65                <#assign categoryDates = {  "name": "", "description": "<p></p>", "parentTaxonomyVocabulary" : {"name": ""}}> 
66    </#attempt> 
67<#else> 
68    <#assign categoryDates = {  "name": "", "description": "<p></p>", "parentTaxonomyVocabulary" : {"name": ""}}> 
69</#if> 
70 
71 
72<#assign categoryPage = getFirstCategoryOfVocabularyInPage(layout, ourEnergyVocabulary) /> 
73<#if categoryPage?? && categoryPage?has_content> 
74    <#assign categoryName = categoryPage.getTitle(locale) /> 
75    <#assign categoryId = categoryPage.getCategoryId() /> 
76    <#assign category = categoryPage /> 
77    <script> 
78        if (!window.location.search.includes('category') && !document.body.classList.contains("has-edit-mode-menu")) { 
79            // Redirecionar para uma nova URL 
80            const urlPage = new URL(window.location.href);           
81            urlPage.searchParams.set('sort', "createDate-"); 
82            urlPage.searchParams.set('category', "${categoryId}"); 
83            window.location.href = urlPage.toString(); 
84
85    </script> 
86</#if> 
87 
88<#if categoryDates?? && categoryDates.parentTaxonomyVocabulary?? && (categoryDates.parentTaxonomyVocabulary.name!"")="Nossa Energia"> 
89    <#attempt> 
90        <#assign ourEnergyStyles = [] /> 
91        <#assign shadowColorCategory = "" /> 
92        <#if (assetCategoryPropService.fetchCategoryProperty(category.getCategoryId(),"Cor da Sombra")??)> 
93            <#assign categoryShadowColorByService = assetCategoryPropService.fetchCategoryProperty(category.getCategoryId(),"Cor da Sombra") /> 
94            <#assign shadowColorCategory = categoryShadowColorByService.value /> 
95        </#if> 
96 
97        <#assign backgroundColorCategory = "" /> 
98        <#if (assetCategoryPropService.fetchCategoryProperty(category.getCategoryId(),"Cor de Fundo")??)> 
99            <#assign categoryBackgroundColorByService = assetCategoryPropService.fetchCategoryProperty(category.getCategoryId(),"Cor de Fundo") /> 
100            <#assign backgroundColorCategory = categoryBackgroundColorByService.value /> 
101        </#if> 
102 
103        <#assign textColorCategory = "" /> 
104        <#if (assetCategoryPropService.fetchCategoryProperty(category.getCategoryId(),"Cor do Texto")??)> 
105            <#assign categoryTextColorByService = assetCategoryPropService.fetchCategoryProperty(category.getCategoryId(),"Cor do Texto") /> 
106            <#assign textColorCategory = categoryTextColorByService.value /> 
107        </#if> 
108 
109        <#assign textColorHighContrastCategory = "" /> 
110        <#if (assetCategoryPropService.fetchCategoryProperty(category.getCategoryId(),"Cor do Texto em Alto Contraste")??)> 
111            <#assign categoryTextColorHighContrastByService = assetCategoryPropService.fetchCategoryProperty(category.getCategoryId(),"Cor do Texto em Alto Contraste") /> 
112            <#assign textColorHighContrastCategory = categoryTextColorHighContrastByService.value /> 
113        </#if> 
114 
115        <#assign ourEnergyStyles = [{"titleLocale": category.getTitle(locale),"shadowColor": shadowColorCategory, "backgroundColor": backgroundColorCategory, "textColor": textColorCategory, "textColorHighContrast": textColorHighContrastCategory}] /> 
116 
117        <#recover> 
118            <#assign ourEnergyStyles = [{"titleLocale": "Nenhum", "shadowColor": "000", "backgroundColor": "000", "textColor": "FFF", "textColorHighContrast": "FFF"}] /> 
119 
120    </#attempt> 
121</#if> 
122 
123 
124<#-- Root Css -> Para poder instanciar dois elementos e não dar confusão no JS --> 
125<#assign rootCss = "results-list-category-container_" + randomNumber(4586) /> 
126 
127<#-- Função para obter a primeira categoria associonada a um Vocabulário o qual está associado a um Jornal Article --> 
128<#function getFirstCategoryOfVocabulary journalArticle vocabulary > 
129    <#attempt> 
130        <#assign categories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getClassPK()) /> 
131         
132        <#list categories as category> 
133            <#if vocabulary.getVocabularyId() == category.getVocabularyId()> 
134                <#return category.getTitle(locale)> 
135            </#if> 
136        </#list> 
137 
138        <#return ""> 
139 
140        <#recover> 
141            <#return "" /> 
142    </#attempt> 
143 
144</#function> 
145 
146<#function getFirstCategoryOfVocabularyInPage layout vocabulary > 
147    <#attempt> 
148        <#assign categories = assetCategoryLocalService.getCategories("com.liferay.portal.kernel.model.Layout", layout.getPlid()) /> 
149         
150        <#list categories as category> 
151            <#if vocabulary.getVocabularyId() == category.getVocabularyId()> 
152                <#return category> 
153            </#if> 
154        </#list> 
155 
156        <#return ""> 
157 
158        <#recover> 
159            <#return "" /> 
160    </#attempt> 
161 
162</#function> 
163 
164 
165<#assign countCategoriesDates = 0 /> 
166<#assign categoriesRestInfo = [] /> 
167 
168<#function getCategoriesDates > 
169 
170    <#attempt> 
171        <#assign countCategoriesDates = countCategoriesDates + 1 /> 
172 
173        <#assign journalArticle = journalArticleLocalService.getLatestArticle(entries[0].getClassPK()) /> 
174        <#assign ddmStructure = journalArticle.getDDMStructure() /> 
175        <#assign highlightsRestDates = restClient.get("/headless-delivery/v1.0/content-structures/10700214/structured-contents?fields=contentFields%2CfriendlyUrlPath%2Cid%2Ckey%2CtaxonomyCategoryBriefs%2Ctitle&page=${countCategoriesDates}&pageSize=10&search=%3CtaxonomyCategoryName%3E${categoryName}%3C%2FtaxonomyCategoryName%3E&sort=dateCreated%3Adesc") /> 
176 
177        <#list highlightsRestDates.items as item> 
178            <#list item.taxonomyCategoryBriefs as category> 
179                <#if category.taxonomyCategoryId == categoryId> 
180                    <#assign categoriesRestInfo += [item] > 
181                </#if> 
182            </#list> 
183            <#if categoriesRestInfo?size gte 3> 
184                <#return categoriesRestInfo /> 
185            </#if> 
186 
187        </#list> 
188 
189        <#if categoriesRestInfo?size lt 3>  
190            <#call getCategoriesDates() /> 
191        <#else> 
192            <#return categoriesRestInfo /> 
193        </#if> 
194 
195        <#recover> 
196            <#return categoriesRestInfo /> 
197    </#attempt> 
198 
199</#function> 
200 
201					 
202<#if categoryId?? && categoryId?has_content> 
203	<#attempt> 
204        <#assign categoryDates = restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-categories/${categoryId}")> 
205        <#recover> 
206            <#assign categoryDates = {  "name": "", "description": "<p></p>", "parentTaxonomyVocabulary" : {"name": ""}}> 
207	</#attempt> 
208</#if> 
209 
210<#function getCategoriesImages > 
211 <#attempt> 
212        <#--  Image Banner  --> 
213        <#assign categoryImageDates = restClient.get("/headless-delivery/v1.0/document-folders/${folderId}/documents?search=${categoryName}&sort=dateCreated%3Adesc")> 
214				<#if categoryImageDates?? && categoryImageDates?has_content && categoryImageDates.items?? && (categoryImageDates.items!?size > 0)> 
215						<#assign categoriesImagesInfo = categoryImageDates.items[0] /> 
216				<#else> 
217						<#assign categoriesImagesInfo = { "contentUrl": "", "id": "0" } /> 
218				</#if> 
219    
220        <#return categoriesImagesInfo /> 
221 
222        <#recover> 
223            <#assign categoriesImagesInfo =  { "contentUrl": "", "id": "0" }  > 
224            <#return categoriesImagesInfo /> 
225    </#attempt> 
226 
227</#function> 
228 
229 
230 
231<#if categoryDates.parentTaxonomyVocabulary.name="Nossa Energia"> 
232    
233    <#assign highlightsDates = getCategoriesDates() /> 
234    <#assign categoryImage = getCategoriesImages() /> 
235 
236</#if> 
237 
238<#-- Função para obter os dados de um card no Web Content (Journal Article) --> 
239<#function getDataForCard entry > 
240    <#attempt> 
241        <#assign journalArticle = journalArticleLocalService.getLatestArticle(entry.getClassPK()) /> 
242        <#assign ddmStructure = journalArticle.getDDMStructure() /> 
243        <#assign fieldList = getFieldListByStructure(ddmStructure) /> 
244        <#assign xmlArticle = journalArticle.getDocument().getRootElement() /> 
245 
246        <#-- Tentando pegar Imagem --> 
247        <#assign mediasGroup = getNodes(getIdFromFieldName(fieldList, "Mídia de destaque da notícia"), xmlArticle) /> 
248        <#assign media = "" /> 
249        <#list mediasGroup as mediaGroup > 
250            <#assign media = getMediaInfo(fieldList, mediaGroup, "Imagem Destaque", fileEntryService) /> 
251 
252            <#assign fileDataRequest = restClient.get("/headless-delivery/v1.0/documents/${media.fileEntryId}") /> 
253 
254            <#assign urlAdaptativeMediaDesktop = ""/> 
255            <#assign urlAdaptativeMediaMobile = ""/> 
256            <#if media.url?? && media.url?has_content > 
257                <#assign dataAdaptativeMedia = fileDataRequest.adaptedImages /> 
258                <#list dataAdaptativeMedia as data> 
259                    <#if data.resolutionName == adaptativeMediaDesktopResolutionName> 
260                        <#assign urlAdaptativeMediaDesktop = data.contentUrl/> 
261                    </#if>    
262                    <#if data.resolutionName == adaptativeMediaMobileResolutionName> 
263                        <#assign urlAdaptativeMediaMobile = data.contentUrl/> 
264                    </#if>      
265                </#list> 
266            </#if> 
267 
268            <#assign media = {"imageSrc": media.url, "imageAlt": media.alt, "imageFileEntryId": media.fileEntryId, "urlAdaptativeMedia": {"desktop": urlAdaptativeMediaDesktop, "mobile": urlAdaptativeMediaMobile}} />  
269             
270            <#-- Se não tiver imagem, tentar pegar vídeo --> 
271            <#if !media.imageSrc?? || !media.imageSrc?has_content>               
272                <#assign youtubeID = getFieldValue(fieldList, mediaGroup, "ID do vídeo do YouTube do vídeo de destaque") /> 
273                <#if youtubeID?? && youtubeID?has_content>  
274                    <#assign media = {"videoYotubeID": youtubeID} /> 
275                <#else> 
276                    <#-- Tentar pegar vídeo Interno --> 
277                    <#assign internalVideo = getMediaInfo(fieldList, mediaGroup, "Fazer upload de um vídeo de destaque", fileEntryService) /> 
278                    <#if internalVideo?? && internalVideo?has_content> 
279                        <#assign media = {"internalVideo": internalVideo} /> 
280                    </#if> 
281                </#if>          
282            </#if> 
283        </#list> 
284 
285        <#assign title = getFieldValue(fieldList, xmlArticle, "Título de destaque da notícia") /> 
286 
287        <#assign timeRead = getFieldValue(fieldList, xmlArticle, "Tempo de Leitura") /> 
288         
289        <#assign typeOfNews = getFirstCategoryOfVocabulary(entry, typeOfNewsVocabulary) /> 
290 
291        <#assign ourEnergy = getFirstCategoryOfVocabulary(entry, ourEnergyVocabulary) /> 
292         
293				<#if themeDisplay.getPortalURL()?contains("webserver")> 
294					<#assign urlNews = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + journalArticle.getUrlTitle()> 
295				<#else> 
296						<#assign urlNews = themeDisplay.getPortalURL() + "/w/" + journalArticle.getUrlTitle()> 
297				</#if> 
298 
299        <#if !urlNews?has_content > 
300            <#assign urlNews = "" > 
301        </#if> 
302         
303        <#assign cardData = {"media": media, "title": title, "timeRead": timeRead, "typeOfNews": typeOfNews, "ourEnergy": ourEnergy, "urlNews": urlNews} /> 
304         
305        <#return cardData> 
306 
307        <#recover> 
308            <#return {"media": "", "title": "", "timeRead": "", "typeOfNews": "", "ourEnergy": "", "urlNews": ""} /> 
309    </#attempt> 
310 
311    <#-- cardData ->    image: url, alt 
312                        title 
313                        timeRead 
314                        ourEnergyCategory 
315                        typeOfNews 
316                        urlNews 
317    --> 
318</#function> 
319 
320<#macro renderCard cardData> 
321    <#-- cardData ->    image: url, alt 
322                        title 
323                        timeRead 
324                        ourEnergyCategory 
325                        typeOfNews 
326                        urlNews 
327    --> 
328    <div class="card-news-container"> 
329        <div class="overlay-card-highlight"> </div> 
330			 
331        <a class="card-category-link card-link" href="${cardData.urlNews}" style="display: none;"> ${cardData.title} </a> 
332         
333        <div class="card-news-thumb"> 
334            <#assign noImage = "" /> 
335            <#if cardData.media?? && cardData.media?has_content> 
336                <#if cardData.media.imageSrc?? && cardData.media.imageSrc?has_content> 
337                    <#assign imageSrcDesktop = cardData.media.imageSrc /> 
338                    <#assign imageSrcmobile = cardData.media.imageSrc /> 
339                    <#if cardData.media.urlAdaptativeMedia?? && cardData.media.urlAdaptativeMedia?has_content> 
340                        <#assign imageSrcDesktop = cardData.media.urlAdaptativeMedia.desktop /> 
341                        <#assign imageSrcMobile = cardData.media.urlAdaptativeMedia.mobile /> 
342                    </#if> 
343                     
344                    <picture > 
345                        <source media="(max-width:767px)" srcset="${imageSrcMobile}"> 
346                        <img class="card-news-image" loading="lazy" src="${imageSrcDesktop}" alt="${cardData.media.imageAlt}"/> 
347                    </picture> 
348                     
349                <#else> 
350                    <#if cardData.media.videoYotubeID?? && cardData.media.videoYotubeID?has_content>  
351                        <picture > 
352                            <source media="(max-width:767px)" srcset="https://img.youtube.com/vi/${cardData.media.videoYotubeID}/mqdefault.jpg"> 
353                            <img class="card-news-image" loading="lazy" src="https://img.youtube.com/vi/${cardData.media.videoYotubeID}/maxresdefault.jpg" alt="YouTube Thumbnail"/> 
354                        </picture> 
355                    <#else> 
356                        <#if (cardData.media.internalVideo?? && cardData.media.internalVideo.url?has_content) > 
357                            <video class="card-news-image"> 
358                                <source src="${cardData.media.internalVideo.url}"> 
359                                Your browser does not support the video tag. 
360                            </video> 
361                        <#else> 
362                            <#assign noImage = "no-image" /> 
363                        </#if> 
364                    </#if>       
365                </#if>  
366            </#if>        
367        </div> 
368									 
369        <div class="card-news-category-container ${noImage}">  
370            <div data-category="${categoryName}" class="card-news-category paragraph-micro-regular"> ${cardData.ourEnergy} </div> 
371        </div>  
372 
373        <div class="card-news-text-content ${noImage}"> 
374            <div class="card-news-title h4"> ${cardData.title} </div> 
375 
376            <div class="card-news-info"> 
377                <div class="card-news-type">  
378										<#if getPostTypeImageUrl(POST_TYPES_CATEGORIES, (cardData.typeOfNews)!default(""))?? > 
379												<#assign postTypeIconUrl = getPostTypeImageUrl(POST_TYPES_CATEGORIES, (cardData.typeOfNews)!default("")) /> 
380												<img src="${postTypeIconUrl}" alt="post type icon" loading="lazy" /> 
381												<div class="card-news-type-text paragraph-micro-regular">${cardData.typeOfNews}</div> 
382												<#else/> 
383												<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 
384														<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"/> 
385												</svg>		 
386												<div class="card-news-type-text paragraph-micro-regular">${cardData.typeOfNews}</div> 
387										</#if> 
388                </div> 
389 
390                <#if cardData.timeRead?? && cardData.timeRead?has_content> 
391                    <div class="card-news-time-read">  
392                        <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"> 
393                            <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"/> 
394                        </svg> 
395                        <div class="card-news-time-read-text paragraph-micro-regular">${cardData.timeRead} min</div> 
396                    </div> 
397                </#if> 
398            </div> 
399        </div> 
400    </div> 
401 
402</#macro> 
403 
404<#macro renderFilters  >  
405    <div class="order-filter-container"> 
406                                               
407        <div class="order-container" > 
408            <span class="paragraph-sm-regular"> 
409                <#if locale?lower_case == 'pt_br'> 
410                    Ordenar por:  
411                <#else> 
412                    Order by:  
413                </#if> 
414            </span> 
415            <select name="order" id="select-order"> 
416                 
417                <option class="paragraph-sm-regular" value=""> 
418                    <#if locale?lower_case == 'pt_br'> 
419                        Padrão  
420                    <#else> 
421                        Default  
422                    </#if> 
423                </option> 
424                <option class="paragraph-sm-regular" value="createDate-">  
425                    <#if locale?lower_case == 'pt_br'> 
426                        Mais recentes 
427                    <#else> 
428                        Recents 
429                    </#if> 
430                </option> 
431                <option class="paragraph-sm-regular" value="createDate%2B">  
432                    <#if locale?lower_case == 'pt_br'> 
433                        Mais antigos 
434                    <#else> 
435                        Olders 
436                    </#if> 
437                </option> 
438            </select> 
439        </div> 
440         
441        <div class="filter-container"> 
442            <span class="paragraph-sm-regular"> 
443                <#if locale?lower_case == 'pt_br'> 
444                    Filtrar por:  
445                <#else> 
446                    Filter by:  
447                </#if> 
448            </span> 
449 
450            <select name="filter" id="select-filter"> 
451                <option class="paragraph-sm-regular" value="0"> 
452                    <#if locale?lower_case == 'pt_br'> 
453                        Todos  
454                    <#else> 
455                        All 
456                    </#if> 
457                </option> 
458            </select> 
459        </div> 
460 
461    </div> 
462 
463</#macro> 
464 
465<#if entries?has_content && (categoryDates.name != "" || categoryId?? && categoryId?has_content)> 
466	 
467    <div class="${rootCss}"> 
468     
469        <#if categoryDates.parentTaxonomyVocabulary.name == "Nossa Energia"> 
470 
471            <#--  Names Fields  --> 
472            <#assign newsTitle = "Título de destaque da notícia" /> 
473            <#assign readTime = "Tempo de Leitura" /> 
474            <#assign highlightMedia = "Mídia de destaque da notícia" /> 
475            <#assign highlightImage = "Imagem Destaque" /> 
476 
477            <#--  Type of News Dates  --> 
478            <#attempt> 
479                <#assign typeOfNewsRestDates = restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-vocabularies/${typeOfNewsVocabulary.getVocabularyId()}/taxonomy-categories?sort=dateCreated")> 
480                <#assign typeOfNewsDates = typeOfNewsRestDates.items > 
481                    <#recover> 
482                        <#assign typeOfNewsDates = []> 
483            </#attempt> 
484				 
485            <div class="category-top-border"></div> 
486            <div class="dates-category-container"> 
487                <div class="breakpoint"> 
488                    <#assign categoryWithImage = "" > 
489                    <#if categoryImage.contentUrl != ""> 
490                        <#assign categoryWithImage = "with-image" > 
491                    </#if> 
492                    <div class="category-top-session col-1-12 md-col-1-8 sm-col-1-4 ${categoryWithImage}"> 
493                        <div class="text-container"> 
494 
495                            <div class="results-category-title fragment_85017"> 
496                                <div class="petro-title"> 
497                                    <h2 id="title" class="h2" > 
498                                            ${categoryDates.name} 
499                                    </h2> 
500                                    <div class="yellow-bar bar-h2"></div> 
501                                </div> 
502                            </div> 
503 
504                            <div class="category-description paragraph-md-regular"> 
505                                ${categoryDates.description} 
506                            </div> 
507 
508                        </div> 
509                        <#if categoryImage.contentUrl != "" >  
510                            <div class="category-banner" > 
511                                 <picture > 
512                                    <source media="(max-width:767px)" srcset="/o/adaptive-media/image/${categoryImage.id}/${adaptativeMediaMobileResolutionName}/image"> 
513                                    <img 
514                                        src="/o/adaptive-media/image/${categoryImage.id}/${adaptativeMediaDesktopResolutionName}/image" 
515                                        alt="Image ${categoryDates.name}" loading="lazy"> 
516                                </picture> 
517                            </div> 
518                        </#if> 
519                    </div> 
520                </div> 
521 
522                 
523                <div class="cards-highlights-container col-1-12 md-col-1-8 sm-col-1-4"> 
524                    <#list highlightsDates as cardHighlight> 
525                         
526                        <#assign newsTitleDate = "" /> 
527                        <#assign readTimeDate = "" /> 
528                        <#assign highlightImageUrl = "" /> 
529                        <#assign highlightImageFileEntryId = "" /> 
530                        <#assign highlightImageDescription = "" /> 
531                        <#assign highlightTypeNews = "" /> 
532 
533                        <#list cardHighlight.contentFields as contentField> 
534 
535                            <#if contentField.label == newsTitle> 
536                                <#assign newsTitleDate = contentField.contentFieldValue.data /> 
537                            </#if> 
538                            <#if contentField.label == readTime> 
539                                <#assign readTimeDate = contentField.contentFieldValue.data /> 
540                            </#if> 
541                            <#if contentField.label == highlightMedia> 
542                                <#list contentField.nestedContentFields as nestedContent> 
543                                    <#if nestedContent.label == highlightImage && nestedContent.contentFieldValue.image?? > 
544                                        <#assign highlightImageUrl = nestedContent.contentFieldValue.image.contentUrl /> 
545                                        <#assign highlightImageFileEntryId = nestedContent.contentFieldValue.image.id /> 
546                                        <#assign highlightImageDescription = nestedContent.contentFieldValue.image.description /> 
547                                     </#if> 
548                                </#list> 
549                            </#if> 
550 
551                        </#list> 
552 
553                        <#list cardHighlight.taxonomyCategoryBriefs as categories > 
554                         
555                            <#list typeOfNewsDates as types > 
556                                <#if categories.taxonomyCategoryId?number == types.id?number > 
557                                    <#assign highlightTypeNews = categories.taxonomyCategoryName /> 
558                                    <#break> 
559                                </#if> 
560                            </#list> 
561                        </#list> 
562 
563                        <div class="card-category-highlight-container"> 
564                            <#assign newsJournalArticleFriendlyUrl = "/"> 
565                            <#if themeDisplay.getPortalURL()?contains("webserver")> 
566                                <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + cardHighlight.friendlyUrlPath> 
567                            <#else> 
568                                <#assign newsJournalArticleFriendlyUrl = themeDisplay.getPortalURL() + "/w/" + cardHighlight.friendlyUrlPath> 
569                            </#if> 
570                            <a class="card-category-link cards-category-highlights-link" href="${newsJournalArticleFriendlyUrl}">  
571                                <span style="display: none;"> ${newsTitleDate} </span>  
572                            </a>  
573													 
574                            <#if highlightImageUrl?has_content && highlightImageUrl != "" > 
575                                <picture > 
576                                    <source media="(max-width:767px)" srcset="/o/adaptive-media/image/${highlightImageFileEntryId}/${adaptativeMediaMobileResolutionName}/image"> 
577                                    <img 
578                                        class="card-news-image" src="/o/adaptive-media/image/${highlightImageFileEntryId}/${adaptativeMediaDesktopResolutionName}/image"  
579                                        alt="${highlightImageDescription}" loading="lazy" 
580
581                                </picture> 
582                            <#else> 
583                                <div class="no-image"></div> 
584                            </#if> 
585                                 
586                            <div class="card-news-category-container "> 
587                                <div data-category="${categoryDates.name}" class="card-news-category paragraph-micro-regular"> 
588                                    ${categoryDates.name} 
589                                </div> 
590                            </div> 
591                            <div class="card-news-text-content "> 
592                                <div class="card-news-title h4"> 
593                                    ${newsTitleDate} 
594                                </div> 
595                                <div class="card-news-info"> 
596                                    <div class="card-news-type">  
597																				<#if getPostTypeImageUrl(POST_TYPES_CATEGORIES, highlightTypeNews)?? > 
598																						<#assign postTypeIconUrl = getPostTypeImageUrl(POST_TYPES_CATEGORIES, highlightTypeNews) /> 
599																						<img src="${postTypeIconUrl}" alt="post type icon" loading="lazy" /> 
600																						<div class="card-news-type-text paragraph-micro-regular">${highlightTypeNews}</div> 
601																						<#else/> 
602																						<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 
603																								<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"/> 
604																						</svg>				 
605																						<div class="card-news-type-text paragraph-micro-regular">${highlightTypeNews}</div> 
606																				</#if> 
607																		</div> 
608                                    <div class="card-news-time-read"> 
609                                        <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"> 
610                                            <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"  
611                                                fill="#959595"> 
612                                            </path> 
613                                        </svg> 
614                                        <div class="card-news-time-read-text paragraph-micro-regular"> 
615                                            ${readTimeDate} min 
616                                        </div> 
617                                    </div> 
618                                </div> 
619                            </div> 
620                        </div> 
621                    </#list> 
622 
623                 
624                </div> 
625 
626                 
627            </div> 
628        </#if> 
629			 
630			 
631        <#if categoryDates.parentTaxonomyVocabulary.name != "Nossa Energia"> 
632					 
633            <div class="results-category-title tags-title "> 
634                <div class="breakpoint"> 
635                    <div class="tags-title-container col-1-12 md-col-1-8 sm-col-1-4"> 
636                        <div class="title-section fragment_85017"> 
637                            <div class="petro-title"> 
638                                <h2 id="title" class="h2" > 
639                                        ${categoryDates.name} 
640                                </h2> 
641                                <div class="yellow-bar bar-h2"></div> 
642                            </div> 
643                        </div> 
644                             
645                        <div class="filters-section"> 
646                            <span class="quantify-results-text paragraph-sm-regular"> 
647                                <#if searchContainer.getTotal() != 0> 
648                                     
649                                    <#--  <#if locale?lower_case == "pt_br">  --> 
650                                        Foram encontrados<span class="quantify-results-text-number paragraph-sm-bold"> ${searchContainer.getTotal()}</span> conteúdos 
651                                     
652                                    <#--  <#else> 
653                                        Found<span class="quantify-results-text-number  paragraph-sm-bold"> ${searchContainer.getTotal()}</span> contents 
654                                    </#if>  --> 
655                                </#if> 
656                            </span> 
657                             
658                            <@renderFilters  /> 
659                        </div> 
660                    </div>   
661                </div> 
662            </div> 
663		 
664        </#if> 
665 
666        <div class="card-news-list-breakpoint breakpoint"> 
667 
668            <#if categoryDates.parentTaxonomyVocabulary.name="Nossa Energia"> 
669                <div class="title-filter-container col-1-12 md-col-1-8 sm-col-1-4"> 
670                 
671                    <div class="results-category-title fragment_85017"> 
672                        <div class="petro-title"> 
673                            <h3 id="title" class="h3" > 
674                                <#if locale?lower_case == 'pt_br'> 
675                                    Saiba mais  
676                                <#else> 
677                                    Know more:  
678                                </#if> 
679                            </h3> 
680                            <div class="yellow-bar bar-h3"></div> 
681                                                 
682                        </div> 
683                    </div> 
684                     
685                    <@renderFilters  /> 
686 
687                </div> 
688					                  
689            </#if> 
690 
691            <div class="card-news-list col-1-12 md-col-1-8 sm-col-1-4"> 
692             
693                <#if searchContainer.getTotal() == 0> 
694                    <span class="quantify-results-text paragraph-sm-regular"> 
695                        <#if locale?lower_case == "pt_br"> 
696                                Poxa! Sua busca não encontrou nenhum resultado 
697                        <#else> 
698                                Wow! Your search did not return any results 
699                        </#if> 
700                    </span> 
701                </#if> 
702									 
703                <#if entries?has_content  > 
704                    <#list entries as entry> 
705                            <#assign cardData = getDataForCard(entry) />                   
706                            <@renderCard cardData/> 
707                    </#list> 
708                </#if> 
709            </div> 
710        </div>   
711    </div> 
712</#if> 
713 
714<#if ourEnergyStyles?? > 
715    <#list ourEnergyStyles as ourEnergyStyle> 
716        <style> 
717            .${rootCss} [data-category="${ourEnergyStyle.titleLocale}"] { 
718                <#if ourEnergyStyle.backgroundColor?? && ourEnergyStyle.backgroundColor?has_content> 
719                    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; 
720                </#if> 
721                box-shadow: 0px 2px 6px 0px #${ourEnergyStyle.shadowColor} !important; 
722                color: #${ourEnergyStyle.textColor} !important; 
723
724 
725            body.high-contrast-active .${rootCss} [data-category="${ourEnergyStyle.titleLocale}"] { 
726                <#if ourEnergyStyle.backgroundColor?? && ourEnergyStyle.backgroundColor?has_content> 
727                    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; 
728                </#if> 
729                color: #${ourEnergyStyle.textColorHighContrast} !important; 
730
731 
732        </style> 
733    </#list> 
734</#if> 
735 
736 
737 
738<style> 
739 
740		/*  BANNER CATEGORIES  AND HIGHLIGHTS SESSION */ 
741        .category-top-border { 
742            width: 100%; 
743            height: 16px; 
744 
745            /* Gradient Verde Claro */ 
746            background: linear-gradient(270deg, #C4D600 0%, #F1C115 68%); 
747 
748
749 
750        body.high-contrast-active .category-top-border { 
751            background: linear-gradient(270deg, var(--color-neutral-600) 0%, var(--color-neutral-800) 68%); 
752
753 
754		.${rootCss} .dates-category-container .category-top-session { 
755				display: flex; 
756				width: 100%; 
757				justify-content: space-between; 
758                padding: var(--space-xl) 0; 
759
760 
761		.${rootCss} .dates-category-container .category-top-session .text-container { 
762            width: 100%; 
763
764	 
765 
766		.${rootCss} .dates-category-container .category-top-session .text-container .petro-title { 
767            flex-shrink: 0; 
768
769	 
770	   .${rootCss} .petro-title { 
771        font-family: var(--font-family-base); 
772        font-style: normal; 
773        font-weight: 700; 
774        color: #373737; 
775        font-size: 22px; 
776
777	 
778	   .${rootCss} .petro-title h3 { 
779        font-size: var(--font-size-lg); 
780
781 
782		.${rootCss} .text-container { 
783				display: flex; 
784				justify-content: space-between; 
785                align-items: center; 
786                gap: var(--space-lg); 
787
788 
789		.${rootCss} .dates-category-container .category-top-session.with-image .text-container { 
790				flex-direction: column; 
791			  align-items: flex-start; 
792				max-width: 100%; 
793
794 
795		body.high-contrast-active .${rootCss} .text-container { 
796            color: var(--text-primary-default, #FFF) !important; 
797
798 
799		.${rootCss} .text-container .category-title { 
800				width: 480px; 
801				flex-shrink: 0; 
802
803 
804		.${rootCss} .text-container .category-description { 
805            padding-top: var(--space-xs); 
806            max-width: 70%; 
807
808 
809		.${rootCss} .category-banner { 
810				width: 455px; 
811				height: 256px; 
812                flex-shrink: 0; 
813
814 
815		.${rootCss} .category-banner img { 
816				width: 100%; 
817				height: 100%; 
818				object-fit: cover; 
819
820 
821         
822		.${rootCss} .cards-highlights-container { 
823            display: flex; 
824				justify-content: space-between; 
825                height: 420px; 
826                width: 100%; 
827                max-width: 1440px; 
828                margin: var(--space-lg) auto var(--space-xl); 
829                gap: var(--space-md); 
830                overflow-x: auto; 
831 
832                scrollbar-color: #008542 #E7E9EF; 
833                scrollbar-width: auto; 
834
835         
836		body.high-contrast-active .${rootCss} .cards-highlights-container { 
837                scrollbar-color: var(--color-neutral-600)  var(--color-neutral-800); 
838
839 
840		.${rootCss} .cards-highlights-container::-webkit-scrollbar { 
841                background: #fff; 
842                width: 15px; 
843                height: 15px; 
844
845 
846		.${rootCss} .card-category-highlight-container { 
847				width: 410px; 
848				height: 370px; 
849				display: flex; 
850				flex-direction: column; 
851				flex-shrink: 0; 
852				border-radius: var(--border-radius-lg); 
853				border: var(--border-width-hairline) solid var(--border-card-default, #EEE); 
854				background: var(--background-surface-level-01, #FFF); 
855				box-shadow: 0px 12px 60px -10px rgba(145, 147, 149, 0.12); 
856				overflow: hidden; 
857				scroll-snap-align: start; 
858				cursor: pointer; 
859				transition: border 300ms ease-in-out; 
860				text-decoration: none; 
861				position: relative; 
862
863 
864         
865        .${rootCss} .card-category-highlight-container:hover { 
866            border: var(--border-width-hairline) solid rgb(0, 133, 66); 
867
868 
869         
870		body.high-contrast-active .${rootCss} .card-category-highlight-container { 
871                border: var(--border-width-hairline) solid var(--border-card-default, #525252); 
872                background: var(--background-surface-level-01, #010101); 
873
874 
875         
876		body.high-contrast-active .${rootCss} .card-category-highlight-container:hover { 
877                border: var(--border-width-hairline) solid var(--border-card-default, #E4F7E8); 
878
879 
880 
881		body.high-contrast-active .${rootCss} .card-category-highlight-container * { 
882                color: var(--text-primary-default, #FFF) !important; 
883
884 
885		.${rootCss} .cards-highlights-container .card-category-highlight-container .card-category-link { 
886				position: absolute; 
887				top: 0; 
888				width: 100%; 
889				height: 100%; 
890				z-index: 1; 
891
892 
893		.${rootCss} .card-category-highlight-container .card-news-image { 
894				position: relative; 
895				width: 100%; 
896
897         
898		.${rootCss} .card-category-highlight-container .no-image { 
899            height: 50px; 
900
901 
902		.${rootCss} .card-category-highlight-container .card-news-image { 
903				width: 100%; 
904				height: 168px; 
905				object-fit: cover; 
906
907 
908		.${rootCss} .card-category-highlight-container .card-news-category-container { 
909				position: relative; 
910
911 
912		.${rootCss} .card-category-highlight-container .card-news-category-container .card-news-category { 
913				display: flex; 
914				justify-content: center; 
915				align-items: center; 
916				padding: var(--space-micro) var(--space-xs); 
917				position: absolute; 
918				z-index: 2; 
919				left: var(--space-md); 
920				top: -13px; 
921				border-radius: var(--border-radius-pill); 
922				 
923        box-shadow: 0px 2px 6px 0px rgba(0, 178, 169, 0.10); 
924				line-height: var(--line-height-lg, 144%); 
925				color: var(--default-sup-green-water, #006B65); 
926				white-space: nowrap; 
927
928 
929		.${rootCss} .card-category-highlight-container .card-news-text-content { 
930				display: flex; 
931				padding: var(--space-lg, 32px) var(--space-md, 24px) var(--space-md, 24px) var(--space-md, 24px); 
932				flex-direction: column; 
933				justify-content: space-between; 
934				align-items: flex-start; 
935				flex: 1 0 0; 
936				align-self: stretch; 
937
938 
939		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-title { 
940				display: -webkit-box; 
941				-webkit-box-orient: vertical; 
942				-webkit-line-clamp: 4; 
943				align-self: stretch; 
944				overflow: hidden; 
945				color: var(--text-primary-default, #373737); 
946				text-overflow: ellipsis; 
947				margin: 0; 
948
949 
950		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info { 
951				display: flex; 
952				align-items: center; 
953				align-content: center; 
954				gap: var(--space-sm, 16px); 
955				align-self: stretch; 
956				flex-wrap: wrap; 
957
958 
959		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info .card-news-type,  
960		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info .card-news-time-read { 
961				display: flex; 
962				align-items: center; 
963				gap: var(--space-xxs, 8px); 
964
965 
966		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info .card-news-type .card-news-type-text,  
967		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info .card-news-time-read .card-news-time-read-text { 
968				color: var(--text-tertiary-default, #959595); 
969				line-height: var(--line-height-lg, 144%); 
970
971 
972		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info .card-news-type,  
973		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info .card-news-time-read { 
974				display: flex; 
975				align-items: center; 
976				gap: var(--space-xxs, 8px); 
977
978 
979		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info .card-news-type .card-news-type-text,  
980		.${rootCss} .card-category-highlight-container .card-news-text-content .card-news-info .card-news-time-read .card-news-time-read-text { 
981				color: var(--text-tertiary-default, #959595); 
982				line-height: var(--line-height-lg, 144%); 
983
984 
985		/* END BANNER CATEGORIES AND HIGHLIGHTS SESSION */ 
986 
987 
988     
989    .${rootCss} .results-category-title.tags-title { 
990        background: var(--color-neutral-300); 
991        padding: var(--space-xl) 0; 
992         
993
994	 
995     
996    .${rootCss} .results-category-title.tags-title .filters-section { 
997        display: flex; 
998        justify-content: space-between; 
999        width: 100%; 
1000
1001     
1002    .${rootCss} .results-category-title.tags-title .filters-section  .quantify-results-text { 
1003        padding-top: var(--space-xs); 
1004        padding-right: var(--space-xs); 
1005
1006 
1007     
1008			 
1009    .${rootCss} .fragment_85017 .petro-title .yellow-bar.bar-h2, 
1010    .${rootCss} .fragment_85017 .petro-title .yellow-bar.bar-h3 { 
1011        background-color: var(--text-secondary-accent, #FDC82F); 
1012
1013 
1014    .${rootCss} .title-filter-container { 
1015        display: flex; 
1016        justify-content: space-between; 
1017        height: 68px; 
1018
1019 
1020    /* Order and Filter */ 
1021    .${rootCss} .order-filter-container { 
1022        display: flex; 
1023
1024 
1025    .${rootCss} .filter-container, 
1026    .${rootCss} .order-container { 
1027        display: none; 
1028        flex-shrink: 0; 
1029        align-items: center; 
1030        height: 45px; 
1031        gap: var(--spacing-space-xxs, 8px); 
1032        margin-right: var(--space-lg); 
1033
1034 
1035    .${rootCss} .filter-container.active, 
1036    .${rootCss} .order-container.active { 
1037        display: flex; 
1038
1039 
1040    body.high-contrast-active .${rootCss} .filter-container, 
1041    body.high-contrast-active .${rootCss} .order-container { 
1042        color: var(--color-neutral-200); 
1043
1044 
1045    .${rootCss} .filter-container  #select-filter, 
1046    .${rootCss} .order-container #select-order { 
1047        display: flex; 
1048        padding: var(--spacing-space-xxs, 8px) var(--spacing-space-xl, 40px) var(--spacing-space-xxs, 8px) var(--spacing-space-sm, 16px); 
1049        align-items: center; 
1050        gap: var(--spacing-space-md, 24px); 
1051        align-self: stretch; 
1052        border-radius: var(--border-radius-lg, 16px); 
1053        border: 1px solid var(--border-color-light); 
1054        appearance: none; 
1055        -webkit-appearance: none; 
1056        -moz-appearance: none; 
1057        background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8cGF0aCBkPSJNMTMgNkw4IDExTDMgNiIgc3Ryb2tlPSIjNTI1MjUyIiBzdHJva2Utd2lkdGg9IjAuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPg0KPC9zdmc+); 
1058        background-repeat: no-repeat; 
1059        background-position: 95%; 
1060			  transition: transform 0.3s ease-in-out; 
1061			  color: #373737; 
1062			  font-weight: 400; 
1063			  font-size: 14px; 
1064    }  
1065	 
1066	   .${rootCss} .paragraph-sm-regular { 
1067        font-size: var(--font-size-xxxs); 
1068        line-height: var(--line-height-sm); 
1069        font-weight: var(--font-weight-regular); 
1070			  color: #525252; 
1071
1072	 
1073	  /* Quando o select está aberto */ 
1074    .order-container.open #select-order { 
1075        background-image: url("data:image/svg+xml;base64,PHN2ZyB3d2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMTMgMTBMOCA1TDMgMTAiIHN0cm9rZT0iIzUyNTI1MiIgc3Ryb2tlLXdpZHRoPSIwLjc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4NCjwvc3ZnPg=="); 
1076
1077	 
1078    .order-container.open #select-filter { 
1079         background-image: url("data:image/svg+xml;base64,PHN2ZyB3d2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMTMgMTBMOCA1TDMgMTAiIHN0cm9rZT0iIzUyNTI1MiIgc3Ryb2tlLXdpZHRoPSIwLjc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4NCjwvc3ZnPg=="); 
1080     }	 
1081 
1082	 
1083    body.high-contrast-active .${rootCss} .filter-container #select-filter option,     
1084    body.high-contrast-active .${rootCss} .order-container #select-order option { 
1085        background-color: var(--color-neutral-200); 
1086
1087     
1088    /* renderCard */ 
1089        .${rootCss} .card-news-list { 
1090        display: none; 
1091        flex-wrap: wrap; 
1092        gap: var(--space-lg); 
1093        width: 100%; 
1094        justify-content: flex-start; 
1095        padding-top: var(--space-lg) 
1096
1097     
1098    .${rootCss} .card-news-list.active { 
1099        display: flex; 
1100
1101 
1102    .${rootCss} .card-news-container { 
1103        width: 300px; 
1104        height: 370px; 
1105        display: flex; 
1106        flex-direction: column; 
1107        flex-shrink: 0; 
1108        align-items: flex-start; 
1109        border-radius: var(--border-radius-lg); 
1110        border: var(--border-width-hairline) solid var(--border-card-default, #EEE); 
1111        background: var(--background-surface-level-01, #FFF); 
1112        box-shadow: 0px 12px 60px -10px rgba(145, 147, 149, 0.12); 
1113        overflow: hidden; 
1114        scroll-snap-align: start; 
1115        cursor: pointer; 
1116        transition: border 300ms ease-in-out; 
1117        text-decoration: none; 
1118        position: relative; 
1119
1120 
1121    body.high-contrast-active .${rootCss} .card-news-container {      
1122        border: var(--border-width-hairline) solid var(--border-card-default, #525252); 
1123        background: var(--background-surface-level-01, #010101); 
1124
1125 
1126    .${rootCss} .card-news-container:hover { 
1127        border: var(--border-width-hairline) solid rgb(0, 133, 66); 
1128
1129 
1130    body.high-contrast-active .${rootCss} .card-news-container:hover { 
1131        border: var(--border-width-hairline) solid var(--border-card-default, #E4F7E8); 
1132
1133 
1134    .${rootCss} .card-news-container .card-category-link { 
1135        position: absolute; 
1136        top: 0; 
1137        width: 100%; 
1138        height: 100%; 
1139		z-index: 3; 
1140
1141 
1142    .${rootCss} .card-news-container .card-news-thumb { 
1143        position: relative; 
1144        width: 100%; 
1145			  pointer-events: none; 
1146
1147 
1148    .${rootCss} .card-news-container .card-news-image { 
1149        width: 100%; 
1150        height: 168px; 
1151        object-fit: cover; 
1152			 
1153			  pointer-events: none; 
1154
1155 
1156    .${rootCss} .card-news-container .card-news-category-container { 
1157        position: relative; 
1158
1159 
1160    .${rootCss} .card-category-highlight-container .card-news-category-container .card-news-category, 
1161    .${rootCss} .card-news-container .card-news-category-container .card-news-category { 
1162        display: flex; 
1163        justify-content: center; 
1164        align-items: center;  
1165        padding: var(--space-micro) var(--space-xs); 
1166        position: absolute; 
1167        z-index: 2; 
1168        left: var(--space-md); 
1169        top: -13px; 
1170        border-radius: var(--border-radius-pill); 
1171        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); 
1172        box-shadow: 0px 2px 6px 0px rgba(0, 178, 169, 0.10); 
1173        line-height: var(--line-height-lg, 144%); 
1174        color: var(--default-sup-green-water, #006B65); 
1175			  white-space: nowrap; 
1176			 
1177			  pointer-events: none; 
1178
1179 
1180    body.high-contrast-active .${rootCss} .card-news-container .card-news-category-container .card-news-category { 
1181        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); 
1182        color: var(--default-sup-green-water, #99E0DD);  
1183
1184 
1185    .${rootCss} .card-news-container .card-news-category-container.no-image .card-news-category { 
1186        position: relative; 
1187        top: 0; 
1188        left: 0; 
1189        margin-left: var(--space-md); 
1190        margin-top: var(--space-md); 
1191
1192 
1193    .${rootCss} .card-news-container .card-news-text-content { 
1194        display: flex; 
1195        padding: var(--space-lg, 32px) var(--space-md, 24px) var(--space-md, 24px) var(--space-md, 24px); 
1196        flex-direction: column; 
1197        justify-content: space-between; 
1198        align-items: flex-start; 
1199        flex: 1 0 0; 
1200        align-self: stretch; 
1201        z-index: 1; 
1202			 
1203			  pointer-events: none; 
1204
1205 
1206    .${rootCss} .card-news-container .card-news-text-content.no-image { 
1207        padding-top: var(--space-sm); 
1208
1209 
1210    .${rootCss} .card-news-container .card-news-text-content .card-news-title { 
1211        display: -webkit-box; 
1212        -webkit-box-orient: vertical; 
1213        -webkit-line-clamp: 4; 
1214        align-self: stretch; 
1215        overflow: hidden; 
1216        color: var(--text-primary-default, #373737); 
1217        text-overflow: ellipsis; 
1218        margin: 0; 
1219
1220 
1221    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-title { 
1222        color: var(--text-primary-default, #FFF); 
1223
1224 
1225    .${rootCss} .card-news-container .card-news-text-content .card-news-info { 
1226        display: flex; 
1227        align-items: center; 
1228        align-content: center; 
1229        gap: var(--space-sm, 16px); 
1230        align-self: stretch; 
1231        flex-wrap: wrap; 
1232
1233 
1234    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-type, 
1235    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read { 
1236        display: flex; 
1237        align-items: center; 
1238        gap: var(--space-xxs, 8px); 
1239
1240 
1241 
1242    body.high-contrast-active .${rootCss} .results-category-title .petro-title { 
1243        color: var(--text-primary-default, #FFF) !important; 
1244
1245 
1246    body.high-contrast-active .${rootCss} .fragment_85017 .petro-title .yellow-bar.bar-h2, 
1247    body.high-contrast-active .${rootCss} .fragment_85017 .petro-title .yellow-bar.bar-h3 { 
1248        background-color: var(--text-secondary-accent, #FFEEB3); 
1249
1250 
1251    .${rootCss} .card-news-list .card-news-container .overlay-card-highlight { 
1252        display: none; 
1253
1254 
1255    .${rootCss} .card-news-list .card-news-container .graphism-card-highlight { 
1256        display: none; 
1257
1258     
1259 
1260    /* Card Highlights */ 
1261    .${rootCss} .card-news-list .card-news-container.card-highlights { 
1262        width: 632px; 
1263        height: 360px; 
1264        justify-content: flex-end; 
1265
1266 
1267    .${rootCss} .card-news-list .card-news-container.card-highlights .overlay-card-highlight { 
1268        display: block; 
1269        position: absolute; 
1270        top: 0; 
1271        left: 0; 
1272        width: 100%; 
1273        height: 100%; 
1274        background: linear-gradient(190deg, rgba(13, 19, 16, 0.00) 27.69%, rgba(13, 19, 16, 0.94) 63.29%); 
1275        z-index: 1; 
1276        opacity: 0.8; 
1277			 
1278			  pointer-events: none; 
1279
1280 
1281    .${rootCss} .card-news-list .card-news-container.card-highlights .graphism-card-highlight { 
1282        display: block; 
1283        position: absolute; 
1284        bottom: 0; 
1285        left: 0; 
1286        z-index: 1; 
1287			 
1288			  pointer-events: none; 
1289
1290 
1291    .${rootCss} .card-news-list .card-news-container.card-highlights  .card-news-title { 
1292        color: var(--text-primary-default, #FFF); 
1293
1294 
1295    .${rootCss} .card-news-list .card-news-container.card-highlights  .card-news-image { 
1296        width: 632px; 
1297        height: 360px; 
1298        position: absolute; 
1299        top: 0; 
1300        left: 0; 
1301			 
1302			  pointer-events: none; 
1303
1304	 
1305    .${rootCss} .card-news-list .card-news-container.card-highlights .card-news-thumb { 
1306        height: 100%; 
1307
1308 
1309 
1310    .${rootCss} .card-news-list .card-news-container.card-highlights  .card-news-category { 
1311        display: none; 
1312
1313 
1314    .${rootCss} .card-news-list .card-news-container.card-highlights  .card-news-text-content { 
1315        width: 632px; 
1316        position: relative; 
1317        height: 200px; 
1318        flex-grow: revert; 
1319        bottom: 30px; 
1320
1321 
1322    .${rootCss} .card-news-list .card-news-container.card-highlights  .card-news-text-content .card-news-info { 
1323        position: absolute; 
1324        top: -1px; 
1325
1326    /* *** End Card Highlights *** */ 
1327 
1328    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-type path { 
1329        stroke: #D7D7D7; 
1330
1331 
1332    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-type .card-news-type-text, 
1333    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read .card-news-time-read-text { 
1334        color: var(--text-tertiary-default, #959595); 
1335        line-height: var(--line-height-lg, 144%); 
1336
1337 
1338    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-type .card-news-type-text, 
1339    body.high-contrast-active .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read .card-news-time-read-text { 
1340        color: var(--text-tertiary-default, #EEE); 
1341
1342 
1343    .${rootCss} .card-news-container .card-news-text-content .card-news-info .card-news-time-read .card-news-icon-time-read { 
1344        transform: translateY(-0.5px); 
1345
1346 
1347    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 { 
1348        fill: #D7D7D7; 
1349
1350	 
1351 
1352 
1353	.${rootCss} .quantify-results-text-number { 
1354        color: var(--border-color-accent); 
1355
1356     
1357     
1358    /* Liferay Pagination */ 
1359		.pagination-bar { 
1360				justify-content: center; 
1361
1362	 
1363    .pagination-bar .pagination-items-per-page { 
1364        display: none !important; 
1365
1366 
1367    .pagination-bar .pagination-results { 
1368        display: none !important; 
1369
1370 
1371    .pagination-bar .pagination { 
1372        width: 100%; 
1373        display: flex; 
1374        justify-content: center; 
1375        margin-top: var(--space-xl); 
1376
1377 
1378    .pagination-bar .page-item { 
1379        display: none !important; 
1380        outline: none; 
1381        display: flex; 
1382        flex-direction: column; 
1383        align-items: center; 
1384        justify-content: center; 
1385        width: var(--size-lg); 
1386        height: var(--size-lg); 
1387        border-radius: var(--border-radius-pill, 100px); 
1388        color: var(--text-tertiary-default, #959595); 
1389        background: transparent; 
1390        border: var(--border-width-hairline) solid transparent; 
1391        transition: background 300ms ease-in-out, border-color 300ms ease-in-out; 
1392
1393	 
1394    .pagination-bar .page-item.active .page-link { 
1395        background: transparent; 
1396
1397	 
1398    .pagination-bar .page-item .page-link:hover{ 
1399        background: transparent; 
1400
1401 
1402    .pagination-bar .page-item:hover{ 
1403        border-color: var(--border-color-accent); 
1404        background: transparent; 
1405
1406     
1407    .pagination-bar .page-item.round-border { 
1408        border-radius: var(--radius-pill, 100px); 
1409        border: 1px solid var(--border-color-accent); 
1410
1411     
1412    .pagination-bar .page-item.disabled.round-border { 
1413        border: 1px solid var(--text-tertiary-default, #959595); 
1414 
1415
1416 
1417    .pagination-bar .page-item.show-item { 
1418        display: flex !important; 
1419
1420 
1421    .pagination-bar .page-item.disabled span span svg { 
1422        stroke: #525252; 
1423
1424 
1425    .pagination-bar .page-item span span svg { 
1426        stroke: var(--border-color-accent); 
1427
1428	 
1429    .pagination-bar .page-item.disabled { 
1430        pointer-events: none; 
1431
1432		 
1433    .pagination-bar .page-item.disabled:hover{ 
1434        background: transparent; 
1435
1436 
1437    .pagination-bar .page-item.active { 
1438        background: var(--background-surface-level-02, #F8F8F8); 
1439        box-shadow: 0px 12px 60px -10px rgba(145, 147, 149, 0.12); 
1440        border: var(--border-width-hairline) solid #F8F8F8; 
1441        pointer-events: none; 
1442
1443	 
1444	 
1445    .pagination-bar .page-item.active * { 
1446        color: var(--border-color-accent); 
1447        font-weight: 700; 
1448
1449	 
1450    body.high-contrast-active .pagination-bar .page-item span span svg { 
1451        stroke: var(--tertiary-default, #EEE) !important; 
1452
1453 
1454    body.high-contrast-active .pagination-bar * { 
1455        color: var(--tertiary-default, #EEE) !important; 
1456 
1457
1458 
1459    body.high-contrast-active .pagination-bar .page-item.round-border { 
1460        border-color: var(--tertiary-default, #EEE) !important; 
1461
1462 
1463    body.high-contrast-active .pagination-bar .page-item.active { 
1464        color: var(--tertiary-default, #EEE) !important; 
1465        border: none; 
1466
1467 
1468    body.high-contrast-active .pagination-bar .page-item.active { 
1469        background: var(--surface-level-02, #373737) !important;    
1470
1471 
1472    body.high-contrast-active .pagination-bar .page-item:hover{ 
1473        border-color: var(--tertiary-default, #EEE); 
1474
1475 
1476 
1477        @media screen and (max-width: 1440px) { 
1478 
1479            .${rootCss} .cards-highlights-container { 
1480                padding: 0 var(--space-big); 
1481
1482
1483         
1484        @media screen and (max-width: 1024px) { 
1485            .${rootCss} .dates-category-container .category-top-session { 
1486                display: grid; 
1487                grid-template-areas:  
1488                "banner" 
1489                "text"; 
1490							    grid-template-columns: 100%; 
1491
1492 
1493            .${rootCss} .text-container { 
1494                grid-area: text; 
1495                width: 100%; 
1496                max-width: 100%; 
1497
1498 
1499            .${rootCss} .category-banner { 
1500                grid-area: banner; 
1501                margin: 0 auto var(--space-lg); 
1502
1503 
1504
1505	 
1506 
1507  
1508		@media screen and (max-width: 766px) { 
1509                .${rootCss} .dates-category-container .category-top-session { 
1510                    padding: 0; 
1511
1512 
1513                 
1514            .${rootCss} .category-banner { 
1515                    height: 205px; 
1516                    width: 100%; 
1517 
1518
1519 
1520            .${rootCss} .category-banner img { 
1521                    position: absolute; 
1522                    width: 100vw; 
1523                    left: 0; 
1524                    height: 205px; 
1525
1526 
1527			.${rootCss} .category-top-session .text-container { 
1528				margin: var(--space-md) 0; 
1529				flex-direction: column; 
1530                align-items: flex-start; 
1531
1532 
1533            .${rootCss} .text-container .category-description { 
1534                max-width: 100%; 
1535
1536 
1537			.${rootCss} .dates-category-container .category-top-session.with-image .text-container { 
1538                    max-width: 100%; 
1539
1540			 
1541            .${rootCss} .cards-highlights-container { 
1542                    padding: 0 var(--space-lg); 
1543
1544 
1545            .${rootCss} .cards-highlights-container .card-category-highlight-container { 
1546                width: 312px; 
1547
1548			 
1549			 
1550            .${rootCss} .results-category-title.tags-title .filters-section { 
1551                flex-direction: column; 
1552                gap: var(--space-lg); 
1553
1554			 
1555				.${rootCss} .title-filter-container { 
1556					flex-direction: column; 
1557					gap: var(--space-lg); 
1558					height: fit-content;	 
1559					margin-bottom: 22px; 
1560
1561                 
1562 
1563				.${rootCss} .filter-container.active, 
1564				.${rootCss} .order-container.active { 
1565					flex-direction: column; 
1566					    align-items: flex-start; 
1567
1568			 
1569				.${rootCss} .filter-container.active #select-filter,			 
1570				.${rootCss} .order-container.active #select-order { 
1571					    align-self: flex-start; 
1572
1573			 
1574         
1575			.${rootCss} .card-news-list .card-news-container.card-highlights { 
1576				width: 100%; 
1577
1578			 
1579			 
1580    .${rootCss} .card-news-list .card-news-container.card-highlights  .card-news-text-content { 
1581        width: 100%; 
1582
1583 
1584			 
1585			.${rootCss} .card-news-list .card-news-container.card-highlights .card-news-image { 
1586				width: 100%; 
1587
1588			 
1589			.${rootCss} .results-category-title { 
1590			   height: 62px; 
1591
1592			 
1593			.${rootCss} .filter-container, 
1594      .${rootCss} .order-container { 
1595        margin-right: var(--space-sm); 
1596
1597
1598	 
1599</style> 
1600 
1601<script> 
1602    AUI().ready(function () { 
1603         
1604        const editMode = document.body.classList.contains('has-edit-mode-menu'); 
1605        const cardsList = document.querySelector('.${rootCss} .card-news-list'); 
1606 
1607 
1608        if (!editMode) { 
1609            const cardsHighlightsListLinks = document.querySelectorAll('.${rootCss} .cards-highlights-container .card-category-highlight-container .cards-category-highlights-link'); 
1610            const cards =  cardsList.querySelectorAll('.card-news-container'); 
1611 
1612            /*cards.forEach((card, index) => { 
1613                let cardLink = card.querySelector('a'); 
1614                cardsHighlightsListLinks.forEach((cardHighligh) => { 
1615                    //let cardLinkHref = cardLink.href.toString(); 
1616                    if (cardLink.href.includes(cardHighligh.href)) { 
1617                        card.remove(); 
1618
1619                }) 
1620            })*/ 
1621					 
1622					  const cardsToRemove = []; 
1623 
1624            cards.forEach((card) => { 
1625              let cardLink = card.querySelector('a'); 
1626              if (!cardLink) return;  
1627 
1628              cardsHighlightsListLinks.forEach((cardHighlight) => { 
1629                 if (cardHighlight.href && cardLink.href.includes(cardHighlight.href)) { 
1630                     cardsToRemove.push(card);  
1631
1632              }); 
1633            }); 
1634 
1635           cardsToRemove.forEach((card) => card.remove()); 
1636 
1637 
1638 
1639            const firstImage = cardsList.querySelector('.card-news-container img'); 
1640            const firstContent = cardsList.querySelector('.card-news-container'); 
1641            const firstContentWithImage = null; 
1642             
1643 
1644            if (firstImage) { 
1645                // Card Highlight - List 
1646                const firstContentWithImage =  firstImage.parentElement.parentElement.parentElement; 
1647 
1648                if (firstContentWithImage) { 
1649                    let cloneElementWithImage = firstContentWithImage.cloneNode(true); 
1650                    const divSvg = document.createElement("div"); 
1651                    divSvg.innerHTML = `<svg  
1652                        class="graphism-card-highlight" width="632" height="226" viewBox="0 0 632 226" fill="none" xmlns="http://www.w3.org/2000/svg"> 
1653                            <g style="mix-blend-mode:multiply" opacity="0.5"> 
1654                            <path d="M632 226L16 226C7.16345 226 0 218.837 0 210V0L516.247 42.7231C527.012 43.6139 536.601 49.8754 541.745 59.3732L632 226Z" fill="#00552A"/> 
1655                            </g> 
1656                        </svg>`; 
1657                    cloneElementWithImage.insertBefore(divSvg, cloneElementWithImage.firstChild); 
1658                    cloneElementWithImage.classList.add('card-highlights'); 
1659                    cardsList.insertBefore(cloneElementWithImage, firstContent); 
1660                    firstContentWithImage.remove(); 
1661
1662
1663
1664         
1665        cardsList.classList.add('active'); 
1666 
1667        const url = new URL(window.location.href); 
1668        const searchParams = url.searchParams; 
1669         
1670        // Order and Filters - Combos 
1671        const orderContainer = document.querySelector('.${rootCss} .order-container'); 
1672        const filterContainer = document.querySelector('.${rootCss} .filter-container'); 
1673        const orderCombo = orderContainer.querySelector('#select-order'); 
1674        const filterCombo = filterContainer.querySelector('#select-filter'); 
1675 
1676        // Order Functions 
1677        const setOrder = (orderBy) => { 
1678 
1679            //const url = new URL(window.location.href); 
1680            //const searchParams = url.searchParams; 
1681 
1682            searchParams.set('sort', orderBy); 
1683            url.search = searchParams.toString(); 
1684            let newUrl = url.toString();  
1685             
1686            newUrl.includes("sort=createDate%25") && (newUrl = url.toString().replace("sort=createDate%25", "sort=createDate%")); 
1687            window.location.href = newUrl; 
1688
1689 
1690        // Filter Functions 
1691        const setFilter = (filterBy) => { 
1692            if (+filterBy === 0 ) { 
1693                searchParams.delete('categoryTypeNews') 
1694            } else { 
1695                searchParams.set('categoryTypeNews', filterBy); 
1696
1697 
1698            url.search = searchParams.toString(); 
1699            let newUrl = url.toString();  
1700             
1701            window.location.href = newUrl; 
1702
1703 
1704        const renderTypeOptions = (options) => { 
1705            let actualFilter = searchParams.get('categoryTypeNews'); 
1706            options.forEach(typeItem => { 
1707                let optionItem = document.createElement('option'); 
1708                optionItem.classList.add('paragraph-sm-regular'); 
1709                optionItem.setAttribute("value", typeItem.id); 
1710 
1711                if (+typeItem.id == +actualFilter) { 
1712                    optionItem.setAttribute('selected', ''); 
1713
1714 
1715                let optionItemName = document.createTextNode(typeItem.name); 
1716                optionItem.appendChild(optionItemName); 
1717 
1718                filterCombo.appendChild(optionItem); 
1719            }) 
1720
1721 
1722         
1723        async function getTypeNews(vocabularyId) { 
1724            try { 
1725                const restResponse = await fetch(`/o/headless-admin-taxonomy/v1.0/taxonomy-vocabularies/${typeOfNewsVocabularyId}/taxonomy-categories?fields=id%2Cname`, { 
1726                    headers: { 
1727                        "x-csrf-token": Liferay.authToken, 
1728                        'accept': 'application/json' 
1729                    }, 
1730                    method: "GET", 
1731                }); 
1732 
1733 
1734                const eventData = await restResponse.json(); 
1735 
1736                renderTypeOptions(eventData.items); 
1737 
1738            } catch (error) { 
1739                console.error("Error connecting to vocabularies API:", error); 
1740
1741        }    
1742 
1743        async function getRenderData() { 
1744            await getTypeNews(); 
1745
1746 
1747        getRenderData(); 
1748 
1749        const orderComboOptions = orderCombo.querySelectorAll('option'); 
1750        const filterComboOptions = filterCombo.querySelectorAll('option'); 
1751 
1752 
1753        orderComboOptions.forEach((item) => { 
1754             
1755            let actualSort = searchParams.get('sort') ? searchParams.get('sort').replace(/\+/g, '%2B') : ''; 
1756            if (item.value === actualSort) { 
1757                item.setAttribute('selected', ''); 
1758
1759 
1760        }) 
1761 
1762        orderCombo.addEventListener('change', (item) => { 
1763            setOrder(item.target.value); 
1764        }) 
1765 
1766        filterCombo.addEventListener('change', (item) => { 
1767            setFilter(item.target.value); 
1768        }) 
1769 
1770 
1771 
1772        orderContainer.classList.add('active'); 
1773        filterContainer.classList.add('active'); 
1774 
1775        // ******************************************* 
1776        const cards =  cardsList.querySelectorAll('.card-news-container'); 
1777         
1778        if (cards.length == 0) { 
1779            let noItemMsg = document.createElement('p'); 
1780            let msg = document.createTextNode('Nenhum resultado encontrado para o filtro selecionado além do(s) card(s) em destaque!'); 
1781            noItemMsg.classList.add('paragraph-sm-regular'); 
1782 
1783            noItemMsg.appendChild(msg); 
1784 
1785            cardsList.appendChild(noItemMsg); 
1786
1787 
1788        // Liferay Pagination Edits: 
1789        const paginationItens = document.querySelectorAll('.pagination-bar .pagination .page-item'); 
1790 
1791        if (paginationItens.length > 0) { 
1792            paginationItens[0].querySelector('span span').innerHTML=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 
1793            <path d="M13.5 8H2.5M2.5 8L7 3.5M2.5 8L7 12.5"  stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 
1794            </svg>`; 
1795 
1796            paginationItens[0].classList.add('round-border'); 
1797 
1798            paginationItens[(paginationItens.length - 1)].querySelector('span span').innerHTML=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 
1799            <path d="M2.5 8H13.5M13.5 8L9 3.5M13.5 8L9 12.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 
1800            </svg>`; 
1801 
1802            paginationItens[(paginationItens.length - 1)].classList.add('round-border'); 
1803 
1804             
1805            paginationItens.forEach(item => { 
1806                item.classList.add('show-item'); 
1807            }); 
1808 
1809
1810    }); 
1811     
1812 
1813AUI().ready(() => { 
1814    function setLinks${contentNumber}() { 
1815	 
1816        const allCards = document.querySelectorAll(".${rootCss} .card-news-container"); 
1817        allCards.forEach((card) => { 
1818            card.addEventListener('click', (event) => { 
1819                card.querySelector('a').click(); 
1820            }); 
1821        }) 
1822         
1823        document.querySelector('.${rootCss} .card-news-list').classList.add('active'); 
1824             
1825
1826 
1827    setLinks${contentNumber}() 
1828}); 
1829 
1830//Dropdown Select-order e Select-filter	 
1831   AUI().ready(function() { 
1832    function setupDropdown(selectId, containerClass) { 
1833        const select = document.getElementById(selectId); 
1834        const container = document.querySelector("." + containerClass); 
1835 
1836        if (!select || !container) return; 
1837 
1838        let isDropdownOpen = false; 
1839 
1840        select.addEventListener("click", function () { 
1841            isDropdownOpen = !isDropdownOpen; 
1842            container.classList.toggle("open", isDropdownOpen); 
1843 
1844            select.style.backgroundImage = isDropdownOpen 
1845                ? "url('data:image/svg+xml;base64,PHN2ZyB3d2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMTMgMTBMOCA1TDMgMTAiIHN0cm9rZT0iIzUyNTI1MiIgc3Ryb2tlLXdpZHRoPSIwLjc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4NCjwvc3ZnPg==')" // Para cima quando abre 
1846                : "url('data:image/svg+xml;base64,PHN2ZyB3d2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMTMgNkw4IDExTDMgNiIgc3Ryb2tlPSIjNTI1MjUyIiBzdHJva2Utd2lkdGg9IjAuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPg0KPC9zdmc+')"; // Para baixo quando fecha 
1847        }); 
1848 
1849        document.addEventListener("click", function (event) { 
1850            if (!select.contains(event.target) && !container.contains(event.target)) { 
1851                isDropdownOpen = false; 
1852                container.classList.remove("open"); 
1853 
1854                select.style.backgroundImage = "url('data:image/svg+xml;base64,PHN2ZyB3d2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMTMgNkw4IDExTDMgNiIgc3Ryb2tlPSIjNTI1MjUyIiBzdHJva2Utd2lkdGg9IjAuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPg0KPC9zdmc+')"; 
1855
1856        }); 
1857
1858 
1859    setupDropdown("select-order", "order-container"); 
1860    setupDropdown("select-filter", "filter-container"); 
1861}); 
1862 
1863</script> 
1864													 
1865 
1866</#if> 




Canais

Acessibilidade

Faça uma busca:

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:

Portal da Transparência
Transparência
Portal da Transparência
Investidor Petrobras
Investidor Petrobras
Investidor Petrobras
Site Petrobras
Site Petrobras
Site Petrobras

Acessibilidade

Alto-Contraste

Desligado

Ligado

Texto Grande

Desligado

Ligado

Idioma:

Selecione um idioma: