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