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