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