Nav Bar do usuário deslogado.

Meu Perfil

Título da Página

Nome Completo

E-mail

default@portaldebioeconomia.hml.opikode.com

Telefone

Cidade

Estado

País

  • Sobre
  • Organizações
  • Demandas
  • Ofertas
  • Publicações
Sobre drop zone
Nenhuma descrição foi adicionada neste perfil ainda
Nenhuma tema ou setor foi adicionado neste perfil ainda
Organizações drop zone
Nenhuma organização foi cadastrada neste perfil ainda
Demandas drop zone
teste pro analytics demanda org

teste pro analytics demanda org

29/06/2023 | 0 cometários | Publicado por Luiz Miguel Dias Magdanello
adfgdfgf

hgsfghfsgh

sem imagem

Contato

dfghsdfg

54324354236

ghnsfgh

10/04/2023 | 0 cometários | Publicado por armando pereira
Genômica aplicada a controle biológico de espécies e caracterização de linhagens

Combinando tecnologia de sequenciamento de DNA de nova geração e ferramentas de bioinformática, possibilitamos a obtenção de genomas completos e caracterizados de microrganismos com potencial de controle biológico, identificando vias metabólicas de interesse e genes associados à produção de antibióticos, fungicidas e outros compostos relevantes. Dúvidas sobre esse serviço por favor entre em contato através do e-mail: Isibiotec@cetiqt.senai.br

Conteúdo Em Análise Pelo Cetiqt:

Conteúdo recusado pelo CETIQT por violar as políticas de privacidade.

24/11/2022 | 0 cometários | Publicado por Anônimo
Biogás e Biomassa

Conteúdo Em Análise Pelo Cetiqt:

Conteúdo recusado pelo CETIQT por violar as políticas de privacidade.

21/02/2022 | 0 cometários | Publicado por Marcel Osako
Teste de demanda mobile

Testando demanda no mobile

24/03/2023 | 0 cometários | Publicado por Laís Silva teste edição
Teste de demanda Org sem img neg

Teste de demanda Org sem img neg

Conteúdo Em Análise Pelo Cetiqt:

Conteúdo recusado pelo CETIQT por violar as políticas de privacidade.

14/03/2023 | 0 cometários | Publicado por Laís Silva teste edição
Teste de demanda Org com img

Teste de demanda Org com img

Conteúdo Em Análise Pelo Cetiqt:

Conteúdo recusado pelo CETIQT por violar as políticas de privacidade.

14/03/2023 | 0 cometários | Publicado por Laís Silva teste edição
Teste de demanda Org sem img

Teste de demanda Org sem img

14/03/2023 | 0 cometários | Publicado por Laís Silva teste edição
Teste de demanda virada sem img neg

Teste de demanda virada sem img neg

Conteúdo Em Análise Pelo Cetiqt:

Conteúdo recusado pelo CETIQT por violar as políticas de privacidade.

14/03/2023 | 0 cometários | Publicado por Laís Silva teste edição
Teste de demanda virada com img

Teste de demanda virada com img

Conteúdo Em Análise Pelo Cetiqt:

Conteúdo recusado pelo CETIQT por violar as políticas de privacidade.

14/03/2023 | 0 cometários | Publicado por Laís Silva teste edição
Teste de demanda virada sem img

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

14/03/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café #41 – Prospectando alternativas proteicas sustentáveis para o futuro

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

27/10/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café #40 – Bioeconomia circular: Estratégias circulares para um mundo sustentável

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

24/10/2023 | 0 cometários | Publicado por Laís Silva teste edição
Biodiversidade e fontes renováveis precisam estar no foco das discussões sobre mudanças climáticas

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Foodtech Natural One promete transformar seus resíduos líquidos em fertilizantes minerais mistos

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café #39 – A evolução dos materiais têxteis

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café #38 – Bioinsumos: perspectivas para o setor agropecuário brasileiro

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

25/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Evento gratuito híbrido no dia 19 de setembro abordará a cadeia produtiva do licuri

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

13/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Foco no desmatamento da Amazônia pode estar prejudicando o Cerrado

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

11/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café com Bioeconomia #37 - Mapeamento de Oportunidades a partir da Biodiversidade Brasileira

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

11/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café com Bioeconomia #36: Bioeconomia brasileira e colombiana: Lições e desafios

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

11/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Inscrições abertas para evento híbrido sobre identificação de oportunidades a partir da biodiversidade

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

11/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
PPBio e Idesam detalham bioplástico produzido a partir da casca da castanha do Brasil

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

05/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Instituto SENAI de Inovação em Biossintéticos e Fibras desenvolve biocorante azul

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

05/09/2023 | 0 cometários | Publicado por Laís Silva teste edição
Webinar sobre Economia Circular no dia 23 de agosto de 2023

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

18/08/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café com Bioeconomia #35: Infraestrutura de pesquisa para a bioeconomia

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

18/08/2023 | 0 cometários | Publicado por Laís Silva teste edição
Inscrições abertas para projeto "Amazônia em Casa, Floresta em Pé" até 31 de julho

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

21/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café com Bioeconomia #34: Rumo à transição verde: A integração de cadeias produtivas como agente transformador

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

21/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Relatório da Comissão Europeia reporta oportunidades em bioeconomia para recuperação verde e maior resiliência do sistema

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

19/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Evento de matchmaking híbrido relacionado a bioinsumos acontecerá nos dias 25 a 27 de julho de 2023

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

19/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Pesquisadores criam concreto sustentável feito de bagaço de cana

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

19/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café com Bioeconomia #28: Bioeconomia e catálise: o poder das enzimas

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

28/04/2023 | 0 cometários | Publicado por Laís Silva teste edição
teste

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

18/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Produção de biocombustível a partir de tamarindo é tema de pesquisa do Cetep

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

17/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Pará institui plano estadual de bioeconomia

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

17/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Oito editais ligados a Ciência, Tecnologia e Inovação são lançados no Amazonas

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

14/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café com Bioeconomia #33: Oportunidades e desafios da bioeconomia na indústria de embalagens

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

14/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café com Bioeconomia #32: O cooperativismo na construção da bioeconomia dos biomas

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

12/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
Fitoterápicos ganham destaque como tesouro amazônico

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

06/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
SENAI CETIQT promoverá minicurso de Introdução à Economia Circular e Produção Sustentável nos dias 12 e 13 de julho

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

06/07/2023 | 0 cometários | Publicado por Laís Silva teste edição
teste pro analytics nota tecnica org

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
teste pro analytics noticia org

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
teste pro analytics artigo org

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
teste pro analytics nota tecnica

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
teste pro analytics noticia

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
teste pro analytics artigo

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

29/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Beneficiamento do latex toma novos rumos nas mãos de mulheres no Pará

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

26/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Evento discute propostas para superar desafios acerca do desenvolvimento sustentável da Amazõnia

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

26/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Prêmio Mulheres Inovadoras tem inscrições abertas até 4 de agosto

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

26/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Roadmap de créditos de biodiversidade é lançado para mobilizar financiamento global da natureza

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

26/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Place-based solutions for global social-ecological dilemmas: An analysis of locally grounded, diversified, and cross-scalar initiatives in the Amazon

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

26/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Hidrogênio verde pode ser segredo para zerar emissões na siderugia

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

21/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Café com Bioeconomia #31: Oportunidades e desafios da bioeconomia na indústria farmacêutica

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

21/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Teste 2

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

07/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Teste

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

07/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Inscrições abertas para evento híbrido sobre biorrefinarias

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

07/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
nota0701

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

07/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
nota0701

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

07/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
teste0701

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

07/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
The Amazon bioeconomy: Beyond the use of forest products

Teste de demanda virada sem img

sem imagem

Contato

lais.silva.060223@teste.com

02/06/2023 | 0 cometários | Publicado por Laís Silva teste edição
Ofertas drop zone
An error occurred while processing the template.
The following has evaluated to null or missing:
==> autorId  [in template "34764#34807#41133" at line 81, column 54]

----
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: #if autorId != "" && autorId??  [in template "34764#34807#41133" at line 81, column 49]
----
1<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
2<#assign UserLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
3<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
4<#assign mbMessageLocalService = serviceLocator.findService("com.liferay.message.boards.service.MBMessageLocalService")> 
5<#assign OrganizationLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.OrganizationLocalService") 
6	tagsLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService") 
7
8 
9 
10 
11 
12	 
13 
14 
15 
16<div class="bioec-profile-oferta-main"> 
17	<div id="oferta-lista-container" class="d-flex flex-column"> 
18		<#if entries?has_content> 
19			<#list entries as entry> 
20				<#assign journalArticle = JournalArticleLocalService.getLatestArticle(entry.getClassPK()) > 
21				<#assign JournalArticleID = journalArticle.getId()> 
22				<#assign JournalArticleFrontId = journalArticle.getArticleId()> 
23				<#assign articleXml = journalArticle.getDocument().getRootElement()  
24				userIsAdmin = false 
25				orgId = "" 
26
27						 
28				<#if articleXml.selectSingleNode("dynamic-element[@field-reference='CampoDeTexto50355704']")??> 
29					 
30				<#assign nomeParaContato = articleXml.selectSingleNode("dynamic-element[@field-reference='CampoDeTexto50355704']").getStringValue()!"" 
31								 nomeParaContato = nomeParaContato?replace("\n\t\t", "") 
32								 nomeParaContato = nomeParaContato?replace("\n\t", "")			 
33
34				</#if> 
35	 
36			<#if articleXml.selectSingleNode("dynamic-element[@field-reference='Text90715721']")??> 
37				<#assign telefone = articleXml.selectSingleNode("dynamic-element[@field-reference='Text90715721']")!"" 
38				telefone = telefone.getStringValue()!"" 
39								 telefone = telefone?replace("\n\t\t", "") 
40								 telefone = telefone?replace("\n\t", "")	 
41
42 
43				</#if> 
44		 
45				<#if articleXml.selectSingleNode("dynamic-element[@field-reference='Text68569631']")??> 
46				<#assign email = articleXml.selectSingleNode("dynamic-element[@field-reference='Text68569631']").getStringValue()!"" 
47								 email = email?replace("\n\t\t", "") 
48								 email = email?replace("\n\t", "")					 
49
50        </#if> 
51				 
52 
53				<#if articleXml.selectSingleNode("dynamic-element[@field-reference='CopyOfText18267936']")??> 
54				<#assign desc = articleXml.selectSingleNode("dynamic-element[@field-reference='CopyOfText18267936']").getStringValue()!"" 
55								 desc = desc?replace("\n\t\t", "") 
56								 desc = desc?replace("\n\t", "")		 
57
58       </#if> 
59					 
60					<#if articleXml.selectSingleNode("dynamic-element[@field-reference='Text80669990']")??> 
61				<#assign imagem = articleXml.selectSingleNode("dynamic-element[@field-reference='Text80669990']").getStringValue()!"" 
62								imagem = imagem?replace("\n\t\t", "") 
63								 imagem = imagem?replace("\n\t", "")		 
64
65					</#if> 
66 
67						<#if articleXml.selectSingleNode("dynamic-element[@field-reference='CampoDeTexto97452704']")??> 
68				<#assign autorId = articleXml.selectSingleNode("dynamic-element[@field-reference='CampoDeTexto97452704']").getStringValue()!"" 
69						autorId = autorId?replace("\n\t\t", "") 
70						autorId = autorId?replace("\n\t", "")			 
71							autorArticleId = "" 
72
73					</#if> 
74					 
75					<#assign 
76						commentsCount = mbMessageLocalService.getDiscussionMessagesCount(entry.getClassName(), entry.getClassPK(), 0)!"0" 
77				>	 
78				 
79				 
80			 
81						<#if autorId != "" && autorId??> 
82					<#assign 
83						autor = UserLocalService.fetchUser(autorId?number)!"" 
84						autorArticleId = autor.getExpandoBridge().getAttribute("journal-article")!"0" 
85				/> 
86				<#if autor != ""> 
87				<#assign autor = autor.getFullName()!""> 
88				<#else> 
89				<#assign autor = "Anônimo" > 
90				</#if> 
91				<#else>  
92				<#assign autor = "Anônimo" > 
93		</#if>		 
94		<#assign 	categorias = AssetCategoryLocalService.getCategoryNames(entry.getClassName(), entry.getClassPK())!"" > 
95		<#assign urlWC = ""> 
96		 
97		<#if autorArticleId != "0" && autorArticleId != "" && autor != "Anônimo"> 
98		<#assign autorArticle = JournalArticleLocalService.getLatestArticle(themeDisplay.getLayout().getGroupId(), autorArticleId?string) > 
99		<#assign urlWC = autorArticle.getUrlTitle()!""> 
100		</#if> 
101		 
102		 
103				<#assign tags = tagsLocalService.getTagNames("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey()?number )  
104				 tagName = tags[0]!"" 
105				 orgOrUser = "" 
106
107				  
108				 <#if tagName?contains("organization") && tagName != "" > 
109					 <#assign orgOrUser = "org"> 
110					<#else> 
111					 <#assign orgOrUser = "user"> 
112				 </#if> 
113			 
114				<#if orgOrUser == "org" > 
115 
116					<#assign 
117					orgId = tagName?keep_after("organization-")				 
118					organization =  OrganizationLocalService.fetchOrganization(orgId?number)!"" 
119
120			 
121					 
122					<#if organization != "" && autor != "Anônimo"> 
123						<#assign	orgArticleId = organization.getExpandoBridge().getAttribute("journal-article") 
124							orgJournalArticle = JournalArticleLocalService.getArticle(themeDisplay.getLayout().getGroupId(),orgArticleId?c)  
125							urlWC = orgJournalArticle.getUrlTitle()!"" 
126							autor = organization.getName()!"" 
127
128 
129					</#if> 
130				</#if> 
131				 
132					<#if themeDisplay.isSignedIn() > 
133							<#if tagName?contains("organization-")> 
134								<#assign userIsAdmin = OrganizationLocalService.hasUserOrganization(themeDisplay.getUserId(), orgId?number)> 
135								<#else> 
136								<#if autorId?number == themeDisplay.getUserId()> 
137								<script>console.log("oi");</script> 
138									<#assign userIsAdmin = true> 
139								</#if> 
140							</#if> 
141							 
142						 
143					</#if> 
144				 
145 
146				<div class="oferta-lista-item"> 
147				<div class="lista-checkmark"> 
148								<#if categorias?seq_contains("aprovado") > <i title="Aprovado" style="color: #4ECD66" class="fa-solid fa-circle-check"></i> </#if> 
149								<#if categorias?seq_contains("pendente") >	<i title="Em análise" style="color: #D90000"class="fa-solid fa-spinner"></i> </#if> 
150								<#if categorias?seq_contains("recusado") >	<i title="Recusado" style="color: #D90000"class="fa-solid fa-exclamation-circle"></i> </#if> 
151				</div> 
152	 
153 
154					<div class="lista-titulo"> 
155						<h5>${entry.getHighlightedTitle()}</h5> 
156					</div> 
157 
158					<div class="lista-arrow"> 
159						<button style="padding: 0;" class="btn" type="button" data-toggle="collapse" data-target="#collapseID${entry.getClassPK()}" aria-expanded="false" aria-controls="collapseID${entry.getClassPK()}"> 
160							<i class="fa-solid fa-chevron-down"></i> 
161						</button> 
162					</div> 
163 
164					<div class="lista-desc"> 
165						<p>${desc}</p> 
166					</div> 
167 
168					<div class="lista-collapse collapse" id="collapseID${entry.getClassPK()}"> 
169					<#if nomeParaContato != "" || telefone != "" || email != "" || imagem?trim !=""> 
170					<div class="lista-details"> 
171								<div class="lista-pic"> 
172									<i class="fa-solid fa-image-slash"></i> 
173									<#if imagem?trim !="" > 
174											<img class="bioec_oferta_img" src="${imagem}"> 
175										<#else> 
176											<div class="bioec_oferta_img_placeholder"> 
177												<i class="fa-solid fa-image"></i> 
178													sem imagem 
179											</div> 
180									</#if> 
181								</div> 
182							<#if nomeParaContato != "" || telefone != "" || email != "" > 
183							<div class="lista-contato"> 
184								<p>Contato</p> 
185								<p class="lista-author">${nomeParaContato}</p> 
186								<p class="lista-phone">${telefone}</p> 
187								<p class="lista-email">${email}</p> 
188							</div> 
189							</#if> 
190						</div> 
191						</#if> 
192						 
193							<#if categorias?seq_contains("recusado") > 
194							<div style="border-top: 1px solid #E8ECEF; font-weight: bold; padding-top: 24px;"> 
195							<p>Conteúdo Em Análise Pelo Cetiqt:</p> 
196							<p>Conteúdo recusado pelo CETIQT por violar as políticas de privacidade.</p> 
197							</div> 
198							</#if> 
199						<div class="lista-footnote"> 
200								<div> 
201									<span class="lista-date">${journalArticle.getDisplayDate()?string('dd/MM/yyyy')}</span> | <span class="lista-commentNumber">${commentsCount} cometários</span> <span class="barra-pipe"> | </span> <span class="lista-author">Publicado por <a <#if urlWC != ''>href="/w/${urlWC}</#if>">${autor}</a></span> 
202								</div> 
203								<#if userIsAdmin> 
204									<div class="buttonsActions"> 
205									<div style="cursor: pointer;font-size: 16px;" data-toggle="modal" data-target="#modalOferta${JournalArticleID}"> 
206											<i class="fa-solid fa-edit"></i> 
207										</div> 
208										<div style="cursor: pointer;font-size: 16px;" data-toggle="modal" data-target="#modal-oferta-${entry.getClassPK()}"> 
209												<i class="fa-solid fa-trash-can"></i> 
210										</div> 
211										 
212									</div> 
213								</#if>		 
214						</div> 
215					</div> 
216				</div> 
217				 
218					<#if userIsAdmin> 
219						<div style="display: none;" id="modal-oferta-${entry.getClassPK()}" class="modal fade" role="dialog"> 
220							<div class="modal-dialog modal-lg" role="document"> 
221								<div class="modal-content"> 
222									<div class="modal-header" > 
223										<h4 class="m-0">Remover Oferta</h4> 
224										<button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
225											<span aria-hidden="true"> 
226												<i class="fa-solid fa-close"></i> 
227											</span> 
228										</button>    
229									</div> 
230									<div class="modal-body"> 
231										<h5>Você tem certeza que deseja remover essa oferta?</h5> 
232										<div> 
233											Ao clicar em continuar, a oferta será removida do seu perfil. 
234										</div> 
235									</div> 
236									<div class="modal-footer justify-content-end"> 
237											<button class="bioec_secondary_button" data-dismiss="modal">CANCELAR</button> 
238											<button class="bioec_primary_button" type="button" onclick="excluirOferta(${JournalArticleFrontId}, ${orgId})">CONTINUAR</button>  
239									</div> 
240								</div> 
241							</div>			 
242						</div> 
243						 
244						<#-- modal edição --> 
245						 
246						 
247						<div style="display: none;" id="modalOferta${JournalArticleID}" class="modal fade bioec-profile-oferta-modal modalOferta" role="dialog"> 
248									<div class="modal-dialog modal-lg" role="document"> 
249										<form id="formularioOferta${JournalArticleID}" class="form-group modal-content formularioOferta"> 
250												<div id="ofertaModal-l1${JournalArticleID}" class="modal-header ofertaModal-l1"> 
251													<h5>Adicionar oferta</h5> 
252														<button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
253															 <span aria-hidden="true">&times;</span> 
254														</button> 
255												</div> 
256												<div id="ofertaModal-l2${JournalArticleID}" class="modal-body ofertaModal-l2"> 
257														<div id="ofertaTitle${JournalArticleID}" class="ofertaTitle"> 
258																<label class="ReqLabel" for="ofertaInputTitle${JournalArticleID}">Título da oferta</label> 
259																<input id="ofertaInputTitle${JournalArticleID}" value="${entry.getHighlightedTitle()}" type="text" placeholder="Inserir um título" required> 
260														</div> 
261														<div id="ofertaName${JournalArticleID}" class="ofertaName"> 
262																<label class="" for="ofertaInputName${JournalArticleID}">Nome para contato</label> 
263																<input value="${nomeParaContato}" id="ofertaInputName${JournalArticleID}" placeholder="Inserir nome" type="text"> 
264														</div> 
265														<div id="ofertaTelephone${JournalArticleID}" class="ofertaTelephone"> 
266																<label class="" for="ofertaInputPhone${JournalArticleID}">Telefone para contato</label> 
267																<input value="${telefone}" id="ofertaInputPhone${JournalArticleID}" name="ofertaInputPhone" type="text" placeholder ='(__)_____-_____' minlength="14"  /> 
268														</div> 
269														<div id="ofertaEmail${JournalArticleID}" class="ofertaEmail"> 
270																<label class="" for="ofertaInputEmail${JournalArticleID}">E-mail para contato</label> 
271																<input value="${email}" id="ofertaInputEmail${JournalArticleID}" placeholder="Inserir e-mail" type="text"> 
272														</div> 
273														<div id="ofertaDesc${JournalArticleID}" class="ofertaDesc"> 
274																<label class="ReqLabel" for="ofertaInputDesc${JournalArticleID}">Descrição</label> 
275																<textarea id="ofertaInputDesc${JournalArticleID}" style="max-width: 100%;font-size: 16px;height: 80px;border: 1px solid #BEBEBE;" required>${desc}</textarea> 
276														</div> 
277														<div id="ofertaImg${JournalArticleID}" class="ofertaImg"> 
278																<div style="display: flex; flex-direction: column; gap: 8px"> 
279																		<label>Imagem da oferta (Máx. 10 MB)</label> 
280																		<label class="btn carregarImagem" id="carregarImagem${JournalArticleID}" for="inputCarregarImagemOferta${JournalArticleID}" style="font-size: 16px; cursor: pointer;">CARREGAR IMAGEM</label> 
281																		<input class="inputCarregarImagemOferta" id="inputCarregarImagemOferta${JournalArticleID}" type="file" accept="image/*" onchange="encodeOfertaImageAsURL${JournalArticleID}(this)"> 
282																		<input class="d-none" id="inputOfertaBase64${JournalArticleID}" value="${imagem}"/> 
283																		<div class="imagemCarregadaOferta imagemCarregadaOferta${JournalArticleID} d-md-none d-block" style="background-image: url(${imagem})"></div> 
284																		<button type="button" id="removerImagemOferta${JournalArticleID}" class="<#if imagem == "" || imagem?? == false> d-none </#if>  removerImagemOferta" > 
285																			<i class="fa fa-trash"></i> Remover imagem	 
286																		</button> 
287																	</div> 
288																	<div class="imagemCarregadaOferta imagemCarregadaOferta${JournalArticleID} d-md-block d-none" style="background-image: url(${imagem})"></div> 
289														</div> 
290												</div> 
291													<div class="TextImportant"> 
292														<p> 
293															Importante: O conteúdo enviado passará por um processo interno de aprovação. Só então o conteúdo adicionado aparecerá no portal. 
294														</p> 
295													</div> 
296 
297												<div id="ofertaModal-l3${JournalArticleID}" class="modal-footer ofertaModal-l3"> 
298														<button  class="btn button-empty" onclick="" id="ofertas-saveAndClose${JournalArticleID}">SALVAR E FECHAR</button> 
299												</div> 
300										</form> 
301									</div> 
302								</div> 
303						 
304						</#if> 
305						<#--  
306						 
307						 
308						 
309						 
310						<div style="display: none;" id="modalInfra${JournalArticleID}" class="modal fade bioec-profile-infra-modal" role="dialog"> 
311							<div  class="modal-dialog modal-lg" role="document"> 
312 
313								<form class="form-group modal-content" id="formularioInfraestrutura${JournalArticleID}"> 
314									<div id="infraModal-l1-${JournalArticleID}" class="modal-header infraModal-l1" > 
315										<h5>Adicionar Infraestrutura</h5> 
316										<button id="fecharModal${JournalArticleID}" type="button" class="close" data-dismiss="modal" aria-label="Close"> 
317											<span aria-hidden="true">&times;</span> 
318										</button>    
319									</div> 
320									<div id="infraModal-l2-${JournalArticleID}" class="modal-body infraModal-l2"> 
321										<div id="infraName${JournalArticleID}" class="infraName"> 
322											<label class="ReqLabel" for="inputInfraName${JournalArticleID}">Nome da infraestrutura</label> 
323											<input type="text" id="inputInfraName${JournalArticleID}" value="${entry.getHighlightedTitle()}" placeholder="Nome da infraestrutura" required> 
324										</div> 
325									<div id="infraModel${JournalArticleID}" class="infraModel"> 
326										<label class="ReqLabel" for="inputInfraModel${JournalArticleID}">Modelo</label> 
327										<input type="text" id="inputInfraModel${JournalArticleID}" value="${modelo}" placeholder="Modelo" required> 
328									</div> 
329									<div id="infraBrand${JournalArticleID}" class="infraBrand"> 
330										<label class="ReqLabel" for="inputInfraBrand${JournalArticleID}">Marca</label> 
331										<input type="text" id="inputInfraBrand${JournalArticleID}" value="${marca}" placeholder="Marca" required> 
332									</div> 
333 
334									<div id="infraImg${JournalArticleID}" class="infraImg"> 
335										<div style="display: flex; flex-direction: column; gap: 8px"> 
336											<label>Imagem da infraestrutura (Máx. 10 MB)</label> 
337											<label class="bioec_secondary_button" id="carregarImagem${JournalArticleID}" for="inputCarregarImagemInfra${JournalArticleID}" style="font-size: 16px;color: #333244;align-self:start;"> 
338												CARREGAR IMAGEM 
339											</label> 
340											<input id="inputCarregarImagemInfra${JournalArticleID}" class="inputCarregarImagemInfra" type="file" accept="image/*" onchange="encodeInfraImageAsURL${JournalArticleID}(this)"> 
341											<input class="d-none" id="inputInfraBase64${JournalArticleID}" /> 
342											<div class="imagemCarregadaInfra${JournalArticleID} d-md-none d-block"></div> 
343											<button type="button" id="removerImagemInfra${JournalArticleID}" class="d-none removerImagemInfra" > 
344												<i class="fa fa-trash"></i> Remover imagem	 
345											</button> 
346										</div> 
347										<div class="imagemCarregadaInfra${JournalArticleID} d-md-block d-none"></div> 
348									</div> 
349 
350									<div id="infraFunction${JournalArticleID}" class="infraFunction"> 
351										<label class="ReqLabel" for="inputInfraFunction${JournalArticleID}">Função</label> 
352										<input type="text" id="inputInfraFunction${JournalArticleID}" class="inputInfraFunction" value="${funcao}" placeholder="Função" required> 
353									</div> 
354								</div> 
355								<div class="TextImportant"> 
356									<p> 
357									Importante: O conteúdo enviado passará por um processo interno de aprovação. Só então o conteúdo adicionado aparecerá no portal. 
358									</p> 
359								</div> 
360								<div id="infraModal-l3-${JournalArticleID}" class="modal-footer infraModal-l3"> 
361											<button class="bioec_secondary_button" id="ofertas-saveAndClose${JournalArticleID}" onclick="">SALVAR E FECHAR</button> 
362								</div> 
363							</form> 
364 
365							</div>			 
366						 
367						 
368						--> 
369						 
370				 
371 
372						<script> 
373						<#if userIsAdmin> 
374						function excluirOferta(wcId, orgId) { 
375								Liferay.Util.openToast({message: "Enviando requisição",type: "info",title: ""}); 
376								fetch(Liferay.ThemeDisplay.getPortalURL() + "/o/oferta/" + wcId, { 
377									method: 'DELETE', 
378									"headers": { 
379										"x-csrf-token": Liferay.authToken, 
380										"Content-Type": "application/json" 
381
382								}) 
383								.then(res => { 
384									if(res.status == 200) { 
385										Liferay.Util.openToast({ 
386												message: "Infraestrutura excluida com sucesso", 
387												type: "success", 
388												title: "", 
389												toastProps: { 
390														autoClose: 5000 
391
392										}) 
393										setTimeout(function(){ location.reload(); }, 2000) 
394									} else { 
395										Liferay.Util.openToast({ 
396												message: "Erro ao excluir infraestrutura", 
397												type: "danger", 
398												title: "", 
399												toastProps: { 
400														autoClose: 5000 
401
402										}) 
403
404								}); 
405
406							 
407						 
408							 
409							 
410	function validImageSize(base64="") { 
411		const decoded = atob(base64.substring(base64.indexOf(',') + 1)); 
412		const sizeMB = decoded.length / 1e+6; 
413		console.log("MB: " + decoded.length / 1e+6); 
414		if(sizeMB > 10) { 
415			Liferay.Util.openToast({ 
416				message: "O tamanho da imagem não deve ultrapassar 10 MB.", 
417				type: "danger", 
418				title: "", 
419				toastProps: { 
420					autoClose: 5000 
421
422			}) 
423			return false 
424
425		return true 
426
427 
428	function encodeOfertaImageAsURL${JournalArticleID}(element) { 
429  	let file = element.files[0]; 
430    let reader = new FileReader(); 
431    reader.onloadend = () => { 
432			if(reader.result) { 
433				if(!validImageSize(reader.result)) return; 
434				try { 
435					const base64_input = document.getElementById("inputOfertaBase64${JournalArticleID}") 
436					base64_input.value = reader.result 
437					Array.from(document.getElementsByClassName("imagemCarregadaOferta${JournalArticleID}")).forEach( el => el.style.backgroundImage = 'url(' + reader.result + ')' ) 
438					 
439					const removeImageButton = document.getElementById("removerImagemOferta${JournalArticleID}") 
440					removeImageButton.classList.remove("d-none") 
441				} catch (error) { 
442					console.error(error) 
443
444
445
446		reader.readAsDataURL(file); 
447
448	 
449	function removeImageOferta${JournalArticleID}() { 
450	try { 
451		const file_input = document.getElementById("inputCarregarImagemOferta${JournalArticleID}") 
452		Array.from(document.getElementsByClassName("imagemCarregadaOferta${JournalArticleID}")).forEach( el => el.style.backgroundImage = "" ) 
453		const base64_input = document.getElementById("inputOfertaBase64${JournalArticleID}") 
454		file_input.value = null 
455		base64_input.value = "" 
456		 
457		const removeImageButton = document.getElementById("removerImagemOferta${JournalArticleID}") 
458		removeImageButton.classList.add("d-none") 
459	} catch (error) { 
460		console.error(error) 
461
462
463 
464 
465 
466document.getElementById("removerImagemOferta${JournalArticleID}").addEventListener("click", removeImageOferta${JournalArticleID}); 
467 
468<#-- Rest da edição de organização --> 
469 
470<#if orgOrUser == "org"> 
471document.querySelector('#formularioOferta${JournalArticleID}').addEventListener('submit', event => { 
472	event.preventDefault(); 
473	adicionarOferta${JournalArticleID}();  
474}); 
475 
476function adicionarOferta${JournalArticleID}() {		 
477		Liferay.Util.openToast({message: "Enviando requisição",type: "info",title: ""}); 
478		$("#ofertas-saveAndClose${JournalArticleID}").prop("disabled",true); 
479	 
480		 
481		 
482		const ofertaData = { 
483			titulo: document.getElementById("ofertaInputTitle${JournalArticleID}").value, 
484			nomeContato: document.getElementById("ofertaInputName${JournalArticleID}").value, 
485			telefoneContato: document.getElementById("ofertaInputPhone${JournalArticleID}").value, 
486			emailContato: document.getElementById("ofertaInputEmail${JournalArticleID}").value, 
487			descricao: document.getElementById("ofertaInputDesc${JournalArticleID}").value, 
488			imagem: document.getElementById("inputOfertaBase64${JournalArticleID}").value, 
489
490		 
491		console.log(ofertaData); 
492		 
493			fetch(Liferay.ThemeDisplay.getPortalURL() + "/o/oferta/${JournalArticleFrontId}", { 
494				method: 'PUT', 
495				"headers": { 
496					"x-csrf-token": Liferay.authToken, 
497					"Content-Type": "application/json" 
498				}, 
499				body: JSON.stringify(ofertaData) 
500			}) 
501			.then(res => { 
502				if(res.status == 200) { 
503					Liferay.Util.openToast({ 
504							message: "Oferta editada com sucesso. Após a submissão, será iniciado o processo interno de aprovação do conteúdo enviado. Só então o conteúdo submetido aparecerá no portal.", 
505							type: "success", 
506							title: "", 
507							toastProps: { 
508									autoClose: 5000 
509
510					}) 
511					 setTimeout(function(){ location.reload(); }, 2000); 
512				} else { 
513				 $("#ofertas-saveAndClose${JournalArticleID}").prop("disabled",false); 
514					Liferay.Util.openToast({ 
515							message: "Erro ao editar oferta", 
516							type: "danger", 
517							title: "", 
518							toastProps: { 
519									autoClose: 5000 
520
521					}) 
522
523			}) 
524
525</#if> 
526 
527<#-- Rest da edição de pessoa fisica --> 
528 
529							 
530							 
531				<#if orgOrUser == "user"> 
532				 
533								document.querySelector('#formularioOferta${JournalArticleID}').addEventListener('submit', event => { 
534					event.preventDefault(); 
535					adicionarOferta${JournalArticleID}();  
536				});			 
537						 
538						function adicionarOferta${JournalArticleID}() { 
539							Liferay.Util.openToast({message: "Enviando requisição",type: "info",title: ""}); 
540							$("#ofertas-saveAndClose${JournalArticleID}").prop("disabled",true); 
541	 
542							const ofertaData = { 
543								titulo: document.getElementById("ofertaInputTitle${JournalArticleID}").value, 
544								nomeContato: document.getElementById("ofertaInputName${JournalArticleID}").value, 
545								telefoneContato: document.getElementById("ofertaInputPhone${JournalArticleID}").value, 
546								emailContato: document.getElementById("ofertaInputEmail${JournalArticleID}").value, 
547								descricao: document.getElementById("ofertaInputDesc${JournalArticleID}").value, 
548								imagem: document.getElementById("inputOfertaBase64${JournalArticleID}").value, 
549
550							 
551							console.log(ofertaData); 
552 
553							fetch(Liferay.ThemeDisplay.getPortalURL() + "/o/oferta/${JournalArticleFrontId}", { 
554											method: 'PUT', 
555											"headers": { 
556													"x-csrf-token": Liferay.authToken, 
557													"Content-Type": "application/json" 
558											}, 
559											body: JSON.stringify(ofertaData) 
560									}) 
561									.then( res => { 
562								if(res.status == 200) { 
563									Liferay.Util.openToast({ 
564										message: "Oferta editada com sucesso. Após a submissão, será iniciado o processo interno de aprovação do conteúdo enviado. Só então o conteúdo submetido aparecerá no portal.", 
565										type: "success", 
566										title: "", 
567										toastProps: { 
568											autoClose: 5000 
569
570									}) 
571									 setTimeout(function(){ location.reload(); }, 2000); 
572								} else { 
573								 $("#ofertas-saveAndClose${JournalArticleID}").prop("disabled",false); 
574									Liferay.Util.openToast({ 
575										message: "Erro ao editar Oferta", 
576										type: "danger", 
577										title: "", 
578										toastProps: { 
579											autoClose: 5000 
580
581									}) 
582
583							}); 
584							 
585					}; 
586						 
587						 
588				</#if> 
589							 
590							 
591								</#if> 
592						</script> 
593					 
594				 
595				 
596				 
597			</#list> 
598		</#if> 
599	</div> 
600</div> 
601 
602<style> 
603.bioec_oferta_img { 
604    overflow: hidden; 
605		background-size: contain; 
606    background-position: center; 
607    background-repeat: no-repeat; 
608
609 
610.bioec_oferta_img_placeholder { 
611    width: 140px; 
612    height: 140px; 
613    background-color: #E8ECEF; 
614    display: flex; 
615    flex-direction: column; 
616    align-items: center; 
617    justify-content: center; 
618    font-size: 14px; 
619    color: #5B5C61; 
620
621 
622.bioec_oferta_img_placeholder i { 
623    font-size: 44px; 
624
625 
626 
627.pagination-items-per-page.active > a,  
628.pagination-items-per-page.active > button,  
629.pagination-items-per-page.show > a,  
630.pagination-items-per-page.show > button, 
631.page-item.active .page-link,  
632.page-item.show .page-link{ 
633    border-color: #4ECD66; 
634    background-color: #4ECD66; 
635
636 
637.pagination-results, 
638.pagination-items-per-page > a,  
639.pagination-items-per-page > button, 
640.pagination-items-per-page > a:hover,  
641.pagination-items-per-page > button:hover, 
642.page-link{ 
643	color: #4ebe66; 
644
645 
646.bioec-profile-oferta-main{ 
647	display: flex; 
648	gap: 40px; 
649	flex-direction: column; 
650	padding-bottom: 20px; 
651
652.bioec-profile-oferta-main h5{ 
653	font-weight: 700; 
654
655.bioec-profile-oferta-main h5, .bioec-profile-oferta-main p{ 
656	color: #5B5C61; 
657	margin-bottom: 0px; 
658	font-size: 16px; 
659 
660
661 
662.bioec-profile-oferta-main #oferta-lista-container>div{ 
663	border: 1px #BEBEBE solid;  
664	padding: 24px 24px 0 24px; 
665	margin-bottom: 40px; 
666	display: grid; 
667	grid-row-gap: 24px; 
668	grid-template-columns: 24px 12px 1fr 15px; 
669	grid-template-areas:  
670		"ck . tit arrw" 
671		"desc desc desc desc" 
672		"clps clps clps clps"; 
673
674 
675.bioec-profile-oferta-main .lista-checkmark { grid-area: ck; display: flex; } 
676.bioec-profile-oferta-main .lista-checkmark i { font-size: 24px; } 
677.bioec-profile-oferta-main .lista-pic { grid-area: pic; display: flex; justify-content: center;} 
678.bioec-profile-oferta-main .lista-arrow { grid-area: arrw; } 
679 
680.bioec-profile-oferta-main .lista-titulo {  
681	grid-area: tit;  
682	display: flex;  
683	flex-direction: column; 
684	justify-content: center; 
685	 
686
687 
688.bioec-profile-oferta-main .lista-titulo h5{ 
689	margin-bottom: 0px; 
690}  
691 
692.bioec-profile-oferta-main .lista-desc { 
693grid-area: desc;  
694}  
695 
696.bioec-profile-oferta-main .lista-desc p{  
697	margin: 0; 
698
699 
700.bioec-profile-oferta-main a{ 
701	color: #5B5C61; 
702
703 
704.oferta-port{ 
705	border: 1px #BEBEBE solid;  
706	padding: 24px; 
707	display: flex; 
708	flex-direction: column; 
709	align-items: center; 
710	gap: 24px; 
711
712 
713.oferta-port p{ 
714text-align: center;	 
715	 
716
717 
718.oferta-port div{ 
719display: flex; 
720	justify-content: space-between; 
721	width: min(558px, 100%); 
722
723 
724.button-empty { 
725border: solid 1px #4ECD66; 
726padding: 8px 24px; 
727color: #333244; 
728	transition: 250ms; 
729
730 
731.button-empty:hover{ 
732	background-color: #4ECD66; 
733
734 
735.button-filled { 
736background-color: #4ECD66; 
737border: solid 1px #4ECD66; 
738padding: 8px 24px; 
739color: #333244; 
740transition: 250ms; 
741	 
742
743 
744.button-filled:hover{ 
745	background-color: transparent; 
746
747 
748.bioec-profile-oferta-main .lista-footnote {  
749 
750	display: flex; 
751	justify-content: space-between; 
752	border-top: 1px solid #E8ECEF; 
753	padding-top: 12px; 
754	font-size: 14px; 
755	font-weight: 300; 
756	gap: 15px; 
757	color: #5B5C61; 
758 
759
760.lista-collapse{ 
761display: flex; 
762flex-direction: column; 
763gap: 24px; 
764grid-area: clps; 
765padding-bottom: 24px; 
766
767 
768 .lista-details{ 
769	display: flex; 
770	justify-content: flex-start; 
771	gap: 24px; 
772
773.lista-pic img { 
774	max-height: 138px; 
775	max-width: 138px; 
776
777 
778.bioec-profile-oferta-main p{ 
779 
780
781 
782.imagemCarregadaOferta { 
783	height: 100px; 
784	width: 100px; 
785	background-size: contain; 
786	background-position: center; 
787	background-repeat: no-repeat; 
788
789 
790 
791.ButtonAddOferta { 
792    background: #4ECD66; 
793    border-radius: 8px; 
794    padding: 8px 24px; 
795    border: none; 
796    font-weight: 700; 
797    color: #333244; 
798    font-family: 'Roboto'; 
799    float: right; 
800    text-transform: uppercase; 
801
802.ButtonAddOferta:hover{ 
803	color: #333244; 
804	text-decoration: none; 
805
806 
807.bioec-profile-oferta-modal label { 
808    margin: 0; 
809    cursor: default; 
810    font-size: 20px; 
811    font-weight: 700; 
812    color: #5B5C61; 
813
814 
815.bioec-profile-oferta-modal div { 
816    width: 100%; 
817
818 
819#ofertaModal-l1, .ofertaModal-l1 { 
820    padding: 18px 24px; 
821    display: flex; 
822    justify-content: space-between; 
823
824 
825#ofertaModal-l1 img, .ofertaModal-l1 img { 
826    cursor: pointer; 
827
828 
829#ofertaModal-l1 h5, .ofertaModal-l1 h5 { 
830   	margin: 0; 
831    font-size: 20px; 
832    font-weight: 700; 
833    color: #5B5C61; 
834
835 
836#ofertaModal-l2, .ofertaModal-l2 { 
837		border-top: 1px solid #E8ECEF; 
838    display: grid; 
839    grid-template-columns: 1fr 1fr; 
840    grid-template-areas: 
841        "titu nome" 
842        "fone mail" 
843        "desc desc" 
844        "imagem ." 
845
846    column-gap: 24px; 
847    row-gap: 40px; 
848    padding: 24px; 
849
850 
851#ofertaModal-l2>div, .ofertaModal-l2>div { 
852    display: flex; 
853    flex-direction: column; 
854    gap: 8px; 
855
856 
857#ofertaTitle, .ofertaTitle { 
858    grid-area: titu; 
859
860 
861#ofertaName, .ofertaName { 
862    grid-area: nome; 
863
864 
865#ofertaTelephone, .ofertaTelephone { 
866    grid-area: fone; 
867
868 
869#ofertaEmail, .ofertaEmail { 
870    grid-area: mail; 
871
872 
873#ofertaBrand, .ofertaBrand { 
874    grid-area: marca; 
875
876 
877#ofertaModal-l2>#ofertaImg, .ofertaModal-l2>.ofertaImg { 
878    grid-area: imagem; 
879    display: flex; 
880    flex-direction: column; 
881
882 
883#ofertaDesc, .ofertaDesc { 
884    grid-area: desc; 
885 
886
887 
888#ofertaDesc input, .ofertaDesc input { 
889    height: 80px; 
890
891 
892.TextImportant{ 
893    border-bottom: 1px solid #E8ECEF; 
894 		padding: 24px; 
895		color: #5B5C61;		 
896
897 
898.bioec-profile-oferta-modal input[type="text"] { 
899    border-top: none; 
900    border-left: none; 
901    border-right: none; 
902    border-bottom: 1px solid #BEBEBE; 
903    width: 100%; 
904    font-size: 16px; 
905 
906
907 
908 
909.bioec-profile-oferta-modal input[type="text"]:focus-visible { 
910    outline: none; 
911    border-bottom: 1px solid black; 
912 
913
914 
915.bioec-profile-oferta-modal .ReqLabel:before { 
916    content: "* "; 
917    color: #D90000; 
918 
919
920 
921#inputCarregarImagemOferta, .inputCarregarImagemOferta { 
922    display: none; 
923
924 
925#carregarImagem, .carregarImagem  { 
926    padding: 8px 24px; 
927    border: 1px solid #4ECD66; 
928    width: fit-content; 
929    transition: 250ms; 
930 
931
932 
933#carregarImagem:hover, .carregarImagem:hover { 
934    background-color: #4ECD66; 
935
936 
937.button-empty { 
938    border: solid 1px #4ECD66; 
939    padding: 8px 24px; 
940    color: #333244; 
941    transition: 250ms; 
942    font-weight: bold; 
943
944 
945.button-empty:hover { 
946    background-color: #4ECD66; 
947
948 
949.button-filled { 
950    background-color: #4ECD66; 
951    border: solid 1px #4ECD66; 
952    padding: 8px 24px; 
953    color: #333244; 
954    transition: 250ms; 
955    font-weight: bold; 
956
957 
958.button-filled:hover { 
959    background-color: transparent; 
960
961 
962#ofertaModal-l3, .ofertaModal-l3 { 
963    gap: 24px; 
964    display: flex; 
965    justify-content: flex-end; 
966    padding: 24px; 
967
968 
969.modal { 
970    padding: initial !important; 
971    border-radius: 4px !important; 
972    
973
974 
975.modal a.close-modal { 
976    display: none; 
977
978 
979#removerImagemOferta, .removerImagemOferta { 
980	background: none; 
981	border: none; 
982	outline: none; 
983	color: #5B5C61; 
984	font-size: 16px; 
985	font-weight: 900; 
986	line-height: 24px; 
987	letter-spacing: 0em; 
988	width: fit-content; 
989	margin-left: 16px; 
990
991 
992 
993@media(max-width: 964px){ 
994    .lista-pic img { 
995        width: 100%; 
996        max-height: unset; 
997        max-width: unset; 
998 
999
1000
1001 
1002@media (max-width: 550px) { 
1003    #ofertaModal-l2, .ofertaModal-l2 { 
1004        display: flex; 
1005        flex-direction: column; 
1006
1007 
1008    #ofertaModal-l3, .ofertaModal-l3 { 
1009        display: flex; 
1010        flex-direction: column; 
1011
1012
1013 
1014@media(max-width: 450px){ 
1015	.bioec-profile-oferta-main .lista-details{ 
1016		flex-direction: column; 
1017
1018 
1019	.lista-contato{ 
1020		text-align: center; 
1021
1022 
1023	.bioec-profile-oferta-main .lista-footnote{ 
1024	flex-direction: column; 
1025		gap: 10px; 
1026		align-items: flex-end; 
1027		text-align: right; 
1028
1029
1030 
1031@media(max-width: 992px){ 
1032	#oferta-lista-container { 
1033		padding-inline: 15px; 
1034
1035
1036 
1037.bioec-profile-oferta-main .lista-footnote .buttonsActions { 
1038  display: flex; 
1039  gap: 17px; 
1040
1041 
1042@media (max-width: 768px) { 
1043  .bioec-profile-oferta-main .lista-desc { 
1044    gap: 24px; 
1045    flex-direction: column-reverse; 
1046
1047  .bioec-profile-oferta-main .lista-footnote { 
1048    flex-direction: column; 
1049    align-items: center; 
1050
1051  .bioec-profile-oferta-main .lista-footnote > div { 
1052    text-align: center; 
1053
1054   
1055  .bioec-profile-oferta-main .lista-footnote .barra-pipe { 
1056    display: none; 
1057
1058  .bioec-profile-oferta-main .lista-footnote .lista-author { 
1059    display: flex; 
1060    gap: 4px; 
1061    justify-content: center; 
1062
1063  .bioec-profile-oferta-main .lista-footnote .buttonsActions { 
1064    width: 100%; 
1065    justify-content: space-between; 
1066
1067
1068 
1069 
1070</style> 
1071 
1072 
1073<script> 
1074 
1075 
1076 
1077</script> 
Publicações drop zone
Sort
An error occurred while processing the template.
The following has evaluated to null or missing:
==> autor  [in template "34764#34807#41154" at line 219, column 637]

----
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: ${autor}  [in template "34764#34807#41154" at line 219, column 635]
----
1<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
2	<#assign UserLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
3		<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
4			<#assign PortletFileRepositoryUtil = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"] 
5							 JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] 
6							 mbMessageLocalService = serviceLocator.findService("com.liferay.message.boards.service.MBMessageLocalService") 
7							 tagsLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService") 
8							 OrganizationLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.OrganizationLocalService") 
9
10				<#assign journalArticles = JournalArticleLocalService.getArticlesByStructureId(themeDisplay.getLayout().getGroupId(), 47601, 0, -1, -1, ORDER_BY_ASC) /> 
11 
12				<script src="https://unpkg.com/imask"></script> 
13 
14				<div class="bioec-profile-post-main"> 
15					<div id="post-lista-container" class="d-flex flex-column"> 
16						<#if entries?has_content> 
17							<#list entries as entry> 
18								<#assign journalArticle = JournalArticleLocalService.getLatestArticle(entry.getClassPK()) > 
19									<#assign JournalArticleID = journalArticle.getId()>										 
20										<#assign JournalArticleFrontId = journalArticle.getArticleId()> 
21											<#assign tipoDePost = "" > 
22												<#assign urlWC = ""> 
23													<#assign articleXml = journalArticle.getDocument().getRootElement()  
24																	 userIsAdmin = false 
25																	 orgId = "" 
26																	 imagem = "" 
27																	 autorId = "" 
28																	 desc = "" 
29
30														<#assign tags = tagsLocalService.getTagNames("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey()?number )  
31																		 tagName = tags[0]!"" 
32																		 orgOrUser = "" 
33																		 link = "" 
34
35 
36															<#if tagName?contains("organization") && tagName != "" > 
37																<#assign orgOrUser = "org"> 
38																	<#else> 
39																		<#assign orgOrUser = "user" /> 
40																		</#if> 
41 
42																	<#assign tituloDoPost = ""> 
43 
44																		<#if articleXml.selectSingleNode("dynamic-element[@field-reference='Text33341198']")??> 
45 
46																			<#assign tituloDoPost = articleXml.selectSingleNode("dynamic-element[@field-reference='Text33341198']").getStringValue()!"" 
47																							 tituloDoPost = tituloDoPost?replace("\n\t\t", "") 
48																							 tituloDoPost = tituloDoPost?replace("\n\t", "")					 
49																							 /> 
50 
51																			</#if> 
52 
53																		<#if articleXml.selectSingleNode("dynamic-element[@field-reference='RichText67646278']")??> 
54																			<#assign desc = articleXml.selectSingleNode("dynamic-element[@field-reference='RichText67646278']").getStringValue()!"" 
55																							 desc = desc?replace("\n\t\t", "") 
56																							 desc = desc?replace("\n\t", "")						 
57																							 /> 
58																			</#if> 
59 
60																		<#if articleXml.selectSingleNode("dynamic-element[@field-reference='CampoDeTexto05403380']")??> 
61																			<#assign link = articleXml.selectSingleNode("dynamic-element[@field-reference='CampoDeTexto05403380']").getStringValue()!"" 
62																							 link = link?replace("\n\t\t", "") 
63																							 link = link?replace("\n\t", "")						 
64																							 /> 
65																			</#if> 
66 
67																		<#if articleXml.selectNodes("dynamic-element[@name='CampoDeTexto47994077']")??> 
68																			<#assign contRelacionado = articleXml.selectNodes("dynamic-element[@name='CampoDeTexto47994077']")!"" 	 
69																							 /> 
70																			</#if>																																														  
71 
72																		<#if articleXml.selectSingleNode("dynamic-element[@field-reference='CampoDeTexto12713402']")??> 
73																			<#assign imagem = articleXml.selectSingleNode("dynamic-element[@field-reference='CampoDeTexto12713402']").getStringValue()!"" 
74																							 imagem = imagem?replace("\n\t\t", "") 
75																							 imagem = imagem?replace("\n\t", "")			 
76
77																				<#--if imagem?? && imagem?trim != ""> 
78																					<#assign  
79																									 jsonObject = JSONFactoryUtil.createJSONObject(imagem)  
80																									 fileEntryId = jsonObject.getLong("fileEntryId")	 
81
82																						<#if fileEntryId != 0> 
83																							<#assign 
84																											 fileEntry = PortletFileRepositoryUtil.getPortletFileEntry(fileEntryId) 
85																											 fileEntryURL = PortletFileRepositoryUtil.getDownloadPortletFileEntryURL(themeDisplay, fileEntry,"") 
86
87																								</#if> 
88																							</#if-->		 
89																						</#if> 
90 
91																					<#assign 	categorias = AssetCategoryLocalService.getCategoryNames(entry.getClassName(), entry.getClassPK())!""> 
92																						<#if  categorias?is_sequence> 
93																							<#if  categorias?seq_contains("Notícias")> 
94																								<#assign tipoDePost = "Notícia" > 
95																									</#if> 
96																								<#if  categorias?seq_contains("Notas Técnicas e Relatórios")> 
97																									<#assign tipoDePost = "Nota Técnica e Relatório" > 
98																										</#if> 
99																									<#if  categorias?seq_contains("Artigos")> 
100																										<#assign tipoDePost = "Artigo" > 
101																											</#if> 
102																										</#if> 
103 
104 
105																									<#if articleXml.selectSingleNode("dynamic-element[@field-reference='Text26813532']")??> 
106																										<#assign  
107																														 autorId = articleXml.selectSingleNode("dynamic-element[@field-reference='Text26813532']").getStringValue()!"" 
108																														 autorId = autorId?replace("\n\t\t", "") 
109																														 autorId = autorId?replace("\n\t", "")		 
110
111																											</#if> 
112																										<#assign  
113																														 autorArticleId = "" 
114																														 commentsCount = mbMessageLocalService.getDiscussionMessagesCount(entry.getClassName(), entry.getClassPK(), 0)!"0" 
115
116																											<#if orgOrUser == "user" > 
117																												<#if autorId != "" && autorId??> 
118																													<#assign 
119																																	 autor = UserLocalService.fetchUser(autorId?number)!"" 
120																																	 autorArticleId = autor.getExpandoBridge().getAttribute("journal-article")!"0"  
121																																	 /> 
122																													<#if autor != ""> 
123																														<#assign autor = autor.getFullName()!""> 
124																															<#else> 
125																																<#assign autor = "Anônimo" > 
126																																	</#if> 
127																																<#else>  
128																																	<#assign autor = "Anônimo" > 
129																																		</#if>	 
130 
131 
132 
133																																	<#if autorArticleId != "0" && autorArticleId != "" && autor != "Anônimo"> 
134																																		<#assign autorArticle = JournalArticleLocalService.getLatestArticle(themeDisplay.getLayout().getGroupId(), autorArticleId?string) > 
135																																			<#assign urlWC = autorArticle.getUrlTitle()!""> 
136																																				</#if> 
137 
138																																			</#if> 
139 
140																																		<#if orgOrUser == "org" > 
141																																			<#assign orgId = tagName?keep_after("organization-")				 
142																																							 organization =  OrganizationLocalService.fetchOrganization(orgId?number)!""> 
143																																				<#if organization != ""> 
144																																					<#assign	orgArticleId = organization.getExpandoBridge().getAttribute("journal-article") 
145																																									 orgJournalArticle = JournalArticleLocalService.getArticle(themeDisplay.getLayout().getGroupId(),orgArticleId?c)  
146																																									 urlWC = orgJournalArticle.getUrlTitle()!"" 
147																																									 autor = organization.getName()!""> 
148																																						</#if> 
149																																					</#if> 
150 
151																																				<#if themeDisplay.isSignedIn() > 
152																																					<#if tagName?contains("organization-")> 
153																																						<#assign userIsAdmin = OrganizationLocalService.hasUserOrganization(themeDisplay.getUserId(), orgId?number)> 
154																																							<#else> 
155																																								<#if autorId != ""> 
156																																									<#if autorId?number == themeDisplay.getUserId()> 
157 
158																																										<#assign userIsAdmin = true> 
159																																											</#if> 
160																																										</#if> 
161																																									</#if> 
162 
163 
164																																								</#if> 
165 
166 
167 
168																																							<div class="post-lista-item"> 
169																																								<div class="lista-checkmark"> 
170																																									<#if categorias?seq_contains("aprovado") > <i title="Aprovado" style="color: #4ECD66" class="fa-solid fa-circle-check"></i> </#if> 
171																																									<#if categorias?seq_contains("pendente") >	<i title="Em análise" style="color: #D90000"class="fa-solid fa-spinner"></i> </#if> 
172																																									<#if categorias?seq_contains("recusado") >	<i title="Recusado" style="color: #D90000"class="fa-solid fa-exclamation-circle"></i> </#if> 
173 
174																																								</div> 
175 
176																																								<div class="lista-titulo"> 
177																																									<h5>${tipoDePost}</h5> 
178																																								</div> 
179 
180																																								<div class="lista-arrow"> 
181																																									<button style="padding: 0;" class="btn" type="button" data-toggle="collapse" data-target="#collapseID${JournalArticleID}" aria-expanded="false" aria-controls="collapseID${JournalArticleID}"> 
182																																										<i class="fa-solid fa-chevron-down"></i> 
183																																									</button> 
184																																								</div> 
185 
186																																								<div class="lista-desc"> 
187																																									<#if imagem?trim != "" > 
188																																										<div> 
189																																											<img src="${imagem}" /> 
190																																										</div> 
191																																										<#else> 
192																																											<div class="bioec_post_img_placeholder"> 
193																																												<i class="fa-solid fa-image"></i> 
194																																												sem imagem 
195																																											</div> 
196																																											</#if> 
197																																										<p>${tituloDoPost}</p> 
198																																										</div> 
199 
200																																									<div class="lista-collapse collapse" id="collapseID${JournalArticleID}"> 
201																																										<#if desc !=""> 
202																																											<div class="lista-details"> 
203																																												<div class="lista-contato"> 
204																																													${desc} 
205																																												</div> 
206																																											</div> 
207																																											</#if> 
208 
209																																										<#if categorias?seq_contains("recusado") > 
210																																											<div style="border-top: 1px solid #E8ECEF; font-weight: bold; padding-top: 24px;"> 
211																																												<p>Conteúdo Em Análise Pelo Cetiqt:</p> 
212																																												<p>Conteúdo recusado pelo CETIQT por violar as políticas de privacidade.</p> 
213																																											</div> 
214																																											</#if> 
215 
216																																										<div class="lista-footnote"> 
217																																											<div> 
218																																												<span class="post-type" style="text-transform: uppercase;" id="postInputTipodePost${JournalArticleID}" vlaue="${tipoDePost}">${tipoDePost}</span> <span class="barra-pipe"> | </span>  
219																																												<span class="lista-date">${journalArticle.getDisplayDate()?string('dd/MM/yyyy')}</span> | <span class="lista-commentNumber">${commentsCount} comentários</span> <span class="barra-pipe"> | </span> <span class="lista-author">Publicado por <a <#if urlWC != ''>href="/w/${urlWC}</#if>">${autor}</a></span> 
220																																									</div> 
221																																									<#if userIsAdmin> 
222																																										<div class="buttonsActions"> 
223																																											<div style="cursor: pointer;font-size: 16px;" data-toggle="modal" data-target="#modalEditPost${JournalArticleID}"> 
224																																												<i class="fa-solid fa-edit"></i> 
225																																											</div> 
226																																											<div style="cursor: pointer;font-size: 16px;" data-toggle="modal" data-target="#modal-post-${entry.getClassPK()}"> 
227																																												<i class="fa-solid fa-trash-can"></i> 
228																																											</div> 
229																																										</div> 
230																																										</#if>		 
231																																								</div> 
232																																							</div> 
233																																							</div> 
234 
235 
236																																						<#if userIsAdmin> 
237																																							<div style="display: none;" id="modal-post-${entry.getClassPK()}" class="modal fade" role="dialog"> 
238																																								<div class="modal-dialog modal-lg" role="document"> 
239																																									<div class="modal-content"> 
240																																										<div class="modal-header" > 
241																																											<h4 class="m-0">Remover Publicação</h4> 
242																																											<button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
243																																												<span aria-hidden="true"> 
244																																													<i class="fa-solid fa-close"></i> 
245																																												</span> 
246																																											</button>    
247																																										</div> 
248																																										<div class="modal-body"> 
249																																											<h5>Você tem certeza que deseja remover essa publicação?</h5> 
250																																											<div> 
251																																												Ao clicar em continuar, a publicação será removida do seu perfil. 
252																																											</div> 
253																																										</div> 
254																																										<div class="modal-footer justify-content-end"> 
255																																											<button class="bioec_secondary_button" data-dismiss="modal">CANCELAR</button> 
256																																											<button class="bioec_primary_button" type="button" onclick="excluirPost${JournalArticleID}()">CONTINUAR</button>  
257																																										</div> 
258																																									</div> 
259																																								</div>			 
260																																							</div> 
261 
262																																							<#-- modal edição --> 
263 
264 
265																																								<div style="display: none" id="modalEditPost${JournalArticleID}" class="modal fade bioec-profile-edit-post-modal" role="dialog"> 
266																																									<div class="modal-dialog modal-dialog-scrollable modal-lg" role="document"> 
267																																										<form class="form-group modal-content" id="formularioEditPost${JournalArticleID}"> 
268																																											<div id="editPostModal-l1${JournalArticleID}" class="editPostModal-l1 modal-header"> 
269																																												<h5>Editar ${tipoDePost}</h5> 
270																																												<button 
271																																																type="button" 
272																																																class="close" 
273																																																data-dismiss="modal" 
274																																																aria-label="Close" 
275
276																																													<span aria-hidden="true">&times;</span> 
277																																												</button> 
278																																											</div> 
279 
280																																											<div id="editPostModal-l2${JournalArticleID}" class="editPostModal-l2 modal-body"> 
281																																												<div id="editPostTitle${JournalArticleID}" class="postTitle"> 
282																																													<label class="reqLabel" for="editPostInputTitle${JournalArticleID}" 
283																																																 >Título</label 
284
285																																													<input 
286																																																 id="editPostInputTitle${JournalArticleID}" 
287																																																 class="postInputTitle" 
288																																																 type="text" 
289																																																 value="${tituloDoPost}" 
290																																																 placeholder="Inserir um título" 
291																																																 required 
292																																																 /> 
293																																												</div> 
294																																												<div id="editPostDesc${JournalArticleID}" class="postDesc"> 
295																																													<label class="reqLabel" for="editPostInputDesc${JournalArticleID}" 
296																																																 >Texto principal</label 
297
298																																													<textarea 
299																																																		id="editPostInputDesc${JournalArticleID}" 
300																																																		class="postInputDesc" 
301																																																		rows="7" 
302																																																		style="border: 1px solid #bebebe" 
303																																																		required 
304																																																		>${desc}</textarea> 
305																																												</div> 
306 
307																																												<div id="editPostImg${JournalArticleID}" class="postImg"> 
308																																													<div style="display: flex; flex-direction: column; gap: 8px"> 
309																																														<label>Imagem de ${tipoDePost}</label> 
310																																														<label 
311																																																	 class="btn carregarImagemPost" 
312																																																	 id="carregarImagemPost${JournalArticleID}" 
313																																																	 for="inputCarregarImagemPost${JournalArticleID}" 
314																																																	 style="font-size: 16px; cursor: pointer" 
315																																																	 >CARREGAR IMAGEM</label 
316
317																																														<input 
318																																																	 id="inputCarregarImagemPost${JournalArticleID}" 
319																																																	 class="inputCarregarImagemPost" 
320																																																	 type="file" 
321																																																	 accept="image/*" 
322																																																	 /> 
323																																														<input class="d-none inputPostBase64" id="inputPostBase64${JournalArticleID}" value="${imagem}" /> 
324																																														<button type="button" id="removerImagemPost${JournalArticleID}" class="removerImagemPost <#if imagem == "" || imagem?? == false> d-none </#if>"> 
325																																															<i class="fa fa-trash"></i> Remover imagem 
326																																														</button> 
327 
328																																													</div> 
329																																													<div id="imagemCarregadaPost${JournalArticleID}"  class="imagemCarregadaPost" style="background-image: url(${imagem})"></div> 
330																																												</div> 
331 
332																																												<div id="postLink${JournalArticleID}" class="postLink"> 
333																																													<label for="postInputLinkMoreInfo${JournalArticleID}">Link para saber mais</label> 
334																																													<small id="postLinkMoreInfo${JournalArticleID}" class="postLinkMoreInfo"> 
335																																														Espaço opcional para adicionar um link externo com mais 
336																																														informações sobre o assunto. 
337																																													</small> 
338																																													<input 
339																																																 id="postInputLinkMoreInfo${JournalArticleID}" 
340																																																 type="text" 
341																																																 placeholder="Inserir link" 
342																																																 aria-describedby="postLinkMoreInfo${JournalArticleID}" 
343																																																 value="${link}" 
344																																																 /> 
345																																												</div> 
346 
347																																												<div id="editContentRel${JournalArticleID}"> 
348																																													<div style="display: flex; flex-direction: column; gap: 8px"> 
349																																														<label for="conteudoRelacionadoInput${JournalArticleID}">Conteúdos relacionados</label> 
350																																														<small id="conteudoRelacionado${JournalArticleID}"> 
351																																															Espaço opcional para adicionar conteúdos relacionados de notícias ou artigos do Portal de Bioeconomia. 
352																																														</small> 
353 
354																																														<#assign containerLink = [] 
355																																																		 containerId = [] /> 
356 
357																																															<#assign i = 0 /> 
358 
359																																															<#list contRelacionado as links> 
360																																																<#assign valLink = links.getStringValue() 
361																																																				 valLink = valLink?replace("\n\t\t", "") 
362																																																				 valLink = valLink?replace("\n\t", "")		/>		 
363 
364																																																<#list journalArticles as entrada> 
365																																																	<#assign 
366																																																					 checkId = entrada.getId()?string 
367																																																					 articleXml = entrada.getDocument().getRootElement() 
368																																																					 titleInput = articleXml.selectSingleNode("dynamic-element[@field-reference='Text33341198']").getStringValue() 
369																																																					 titleInput = titleInput?replace("\n\t\t", "") 
370																																																					 titleInput = titleInput?replace("\n\t", "")		/> 
371 
372																																																	<#if valLink = checkId>																																																				 
373																																																		<#assign containerLink += [titleInput] />				 
374																																																		<#assign containerId += [checkId] />				 
375																																																		</#if> 
376																																																	</#list> 
377 
378																																																</#list>	 
379 
380																																															<#list 1..4 as j> 
381 
382																																																<input class="form-control search-select-post postName-${JournalArticleID}-${j}" list="postList-${j}" id="${containerId[i]!''}" placeholder="Selecione nova publicação" value="${containerLink[i]!''}"> 
383 
384																																																<datalist id="postList-${j}" class="contRel${JournalArticleID}"> 
385																																																	<#list journalArticles as entry> 
386																																																		<#assign 
387																																																						 postId = entry.getId()?string 
388																																																						 articleXml = entry.getDocument().getRootElement() 
389																																																						 titulo = articleXml.selectSingleNode("dynamic-element[@field-reference='Text33341198']").getStringValue() 
390																																																						 titulo = titulo?replace("\n\t\t", "") 
391																																																						 titulo = titulo?replace("\n\t", "")		 
392																																																						 categorias = AssetCategoryLocalService.getCategoryNames("com.liferay.journal.model.JournalArticle", entry.resourcePrimKey)!"" 
393																																																						 />				 
394																																																		<option value="${titulo}" id="${postId}"> 
395																																																			Categorias: ${categorias?join(", ")}		 
396																																																		</#list>  
397																																																</datalist>	 
398																																																<#assign i = i + 1 /> 
399																																																</#list> 
400 
401																																															</div> 
402																																													</div> 
403 
404 
405 
406 
407																																												</div> 
408																																												<div class="importantText"> 
409																																													<p> 
410																																														Importante: O conteúdo enviado passará por um processo interno de 
411																																														aprovação. Só então o conteúdo adicionado aparecerá no portal. 
412																																													</p> 
413																																												</div> 
414																																												<div id="editPostModal-l3${JournalArticleID}" class="editPostModal-l3 modal-footer"> 
415																																													<button class="btn button-empty" id="editPost-saveAndClose${JournalArticleID}"> 
416																																														SALVAR E FECHAR 
417																																													</button> 
418																																												</div> 
419																																												</form> 
420																																											</div> 
421																																									</div> 
422 
423																																									</#if> 
424 
425																																								<script> 
426 
427																																									<#if userIsAdmin> 
428																																										function validImageSize(base64 = "") { 
429																																										const decoded = atob(base64.substring(base64.indexOf(",") + 1)); 
430																																										const sizeMB = decoded.length / 1e6; 
431																																										console.log("MB: " + decoded.length / 1e6); 
432																																										if (sizeMB > 10) { 
433																																											Liferay.Util.openToast({ 
434																																												message: "O tamanho da imagem não deve ultrapassar 10 MB.", 
435																																												type: "danger", 
436																																												title: "", 
437																																												toastProps: { 
438																																													autoClose: 5000 
439
440																																											}); 
441																																											return false; 
442
443																																										return true; 
444
445																																									 
446																																																 
447																																									 
448																																									 
449 
450																																									function editPost${JournalArticleID}() { 
451																																										Liferay.Util.openToast({ 
452																																											message: "Enviando requisição", 
453																																											type: "info", 
454																																											title: "", 
455																																										}); 
456																																										$("#editPost-saveAndClose").prop("disabled", true); 
457																																										 
458																																										var conteudoRelNew = []; 
459																																										var totalLists = document.getElementsByClassName("contRel${JournalArticleID}"); 
460 
461																																										for (var i = 1; i < totalLists.length + 1; i++){ 
462																																											var postSel = document.getElementsByClassName("postName-${JournalArticleID}-" + i)[0]; 
463																																											var valueId = postSel.value; 
464																																											var idPost = document.querySelector("option[value='"+valueId+"']").id; 
465																																											conteudoRelNew.push(idPost);																																										 
466																																										}		 
467																																										 
468																																										 
469																																										const postData = { 
470																																											"titulo": document.getElementById("editPostInputTitle${JournalArticleID}").value, 
471																																											"conteudo": document.getElementById("editPostInputDesc${JournalArticleID}").value, 
472																																											"imagem": document.getElementById("inputPostBase64${JournalArticleID}").value, 
473																																											"link": document.getElementById("postInputLinkMoreInfo${JournalArticleID}").value, 
474																																											"conteudoRelacionado": conteudoRelNew 
475
476																																										 
477																																										fetch(Liferay.ThemeDisplay.getPortalURL() + "/o/postagem/${JournalArticleFrontId}", { 
478																																											method: 'PUT', 
479																																											"headers": { 
480																																												"x-csrf-token": Liferay.authToken, 
481																																												"Content-Type": "application/json" 
482																																											},																																									 
483																																											body: JSON.stringify(postData), 
484 
485																																										}).then((res) => { 
486																																											console.log(res); 
487																																											if (res.status == 200) { 
488																																												Liferay.Util.openToast({ 
489																																													message: 
490																																													"Publicação editada com sucesso. Após a submissão, será iniciado o processo interno de aprovação do conteúdo enviado. Só então o conteúdo submetido aparecerá no portal.", 
491																																													type: "success", 
492																																													title: "", 
493																																													toastProps: { 
494																																														autoClose: 5000, 
495
496																																												 
497																																												}); 
498																																												 
499																																												document.getElementById("formularioEditPost${JournalArticleID}").reset(); 
500																																												document.getElementById("imagemCarregadaPost${JournalArticleID}").style.backgroundImage = 
501																																													""; 
502																																												 
503																																											} else { 
504																																												Liferay.Util.openToast({ 
505																																													message: "Erro ao adicionar Artigo", 
506																																													type: "danger", 
507																																													title: "", 
508																																													toastProps: { 
509																																														autoClose: 5000, 
510
511																																												}); 
512
513 
514																																										}); 
515 
516																																										setTimeout(function () { 
517																																											location.reload(); 
518																																										}, 2000); 
519 
520
521 
522																																									 
523																																									function encodeEditImageAsURL${JournalArticleID}() { 
524																																										let file = document.getElementById("inputCarregarImagemPost${JournalArticleID}").files[0]; 
525																																										let reader = new FileReader(); 
526																																										reader.onloadend = () => { 
527																																											if (reader.result) { 
528																																												if (!validImageSize(reader.result)) return; 
529																																												try { 
530																																													const pic_container = document.getElementById("imagemCarregadaPost${JournalArticleID}"); 
531																																													const base64_input = document.getElementById("inputPostBase64${JournalArticleID}"); 
532																																													base64_input.value = reader.result; 
533																																													pic_container.style.backgroundImage = "url(" + reader.result + ")"; 
534 
535																																													const removeImageButton = document.getElementById( 
536																																														"removerImagemPost${JournalArticleID}" 
537																																													); 
538																																													removeImageButton.classList.remove("d-none"); 
539																																												} catch (error) { 
540																																													console.error(error); 
541
542
543																																										}; 
544																																										reader.readAsDataURL(file); 
545
546 
547																																									document 
548																																										.querySelector("#formularioEditPost${JournalArticleID}") 
549																																										.addEventListener("submit", (event) => { 
550																																										event.preventDefault(); 
551																																										editPost${JournalArticleID}(); 
552																																									}); 
553 
554																																									function removeImagemPost${JournalArticleID}() { 
555																																										try { 
556																																											const file_input = document.getElementById("inputCarregarImagemPost${JournalArticleID}"); 
557																																											const pic_container = document.getElementById("imagemCarregadaPost${JournalArticleID}"); 
558																																											const base64_input = document.getElementById("inputPostBase64${JournalArticleID}"); 
559																																											file_input.value = null; 
560																																											base64_input.value = ""; 
561																																											pic_container.style.backgroundImage = null; 
562 
563																																											const removeImageButton = document.getElementById("removerImagemPost${JournalArticleID}"); 
564																																											removeImageButton.classList.add("d-none"); 
565																																										} catch (error) { 
566																																											console.error(error); 
567
568
569 
570																																									document 
571																																										.getElementById("removerImagemPost${JournalArticleID}") 
572																																										.addEventListener("click", removeImagemPost${JournalArticleID}); 
573 
574 
575																																									document 
576																																										.getElementById("inputCarregarImagemPost${JournalArticleID}") 
577																																										.addEventListener("change", encodeEditImageAsURL${JournalArticleID}); 
578 
579 
580																																									function excluirPost${JournalArticleID}() { 
581																																										Liferay.Util.openToast({ 
582																																											message: "Enviando requisição", 
583																																											type: "info", 
584																																											title: "" 
585																																										}); 
586 
587																																										fetch(Liferay.ThemeDisplay.getPortalURL() + "/o/postagem/${JournalArticleFrontId}", { 
588																																											method: 'DELETE', 
589																																											"headers": { 
590																																												"x-csrf-token": Liferay.authToken, 
591																																												"Content-Type": "application/json" 
592
593																																										}) 
594																																											.then(res => { 
595																																											if(res.status == 200) { 
596																																												Liferay.Util.openToast({ 
597																																													message: "Publicação excluida com sucesso", 
598																																													type: "success", 
599																																													title: "", 
600																																													toastProps: { 
601																																														autoClose: 5000 
602
603																																												}) 
604																																												setTimeout(function(){ location.reload(); }, 2000) 
605																																											} else { 
606																																												Liferay.Util.openToast({ 
607																																													message: "Erro ao excluir publicação", 
608																																													type: "danger", 
609																																													title: "", 
610																																													toastProps: { 
611																																														autoClose: 5000 
612
613																																												}) 
614
615																																										}); 
616
617 
618 
619																																									</#if> 
620 
621 
622 
623																																									var button = document.querySelector('[data-target="#collapseID${JournalArticleID}"]'); 
624 
625																																									var chevron = button.querySelector("i.fa-solid"); 
626 
627																																									button.addEventListener("click", function () { 
628																																										if (chevron.classList.contains("fa-chevron-up")) { 
629																																											chevron.classList.remove("fa-chevron-up"); 
630																																											chevron.classList.add("fa-chevron-down"); 
631																																										} else { 
632																																											chevron.classList.remove("fa-chevron-down"); 
633																																											chevron.classList.add("fa-chevron-up"); 
634
635																																									}); 
636 
637 
638 
639 
640																																								</script> 
641 
642 
643 
644 
645																																								</#list> 
646																																							</#if> 
647																																						</div> 
648																																					</div> 
649 
650																																				<style> 
651																																					.bioec_post_img { 
652																																						overflow: hidden; 
653																																						background-size: contain; 
654																																						background-position: center; 
655																																						background-repeat: no-repeat; 
656
657 
658																																					.bioec_post_img_placeholder { 
659																																						width: 140px; 
660																																						height: 140px; 
661																																						background-color: #E8ECEF; 
662																																						display: flex; 
663																																						flex-direction: column; 
664																																						align-items: center; 
665																																						justify-content: center; 
666																																						font-size: 14px; 
667																																						color: #5B5C61; 
668
669 
670																																					.bioec_post_img_placeholder i { 
671																																						font-size: 44px; 
672
673 
674 
675																																					.pagination-items-per-page.active > a,  
676																																					.pagination-items-per-page.active > button,  
677																																					.pagination-items-per-page.show > a,  
678																																					.pagination-items-per-page.show > button, 
679																																					.page-item.active .page-link,  
680																																					.page-item.show .page-link{ 
681																																						border-color: #4ECD66; 
682																																						background-color: #4ECD66; 
683
684 
685																																					.pagination-results, 
686																																					.pagination-items-per-page > a,  
687																																					.pagination-items-per-page > button, 
688																																					.pagination-items-per-page > a:hover,  
689																																					.pagination-items-per-page > button:hover, 
690																																					.page-link{ 
691																																						color: #4ebe66; 
692
693 
694																																					.bioec-profile-post-main{ 
695																																						display: flex; 
696																																						gap: 40px; 
697																																						flex-direction: column; 
698																																						padding-bottom: 20px; 
699
700																																					.bioec-profile-post-main h5{ 
701																																						font-weight: 700; 
702
703																																					.bioec-profile-post-main h5, .bioec-profile-post-main p{ 
704																																						color: #5B5C61; 
705																																						margin-bottom: 0px; 
706																																						font-size: 16px; 
707 
708
709 
710																																					.bioec-profile-post-main #post-lista-container>div{ 
711																																						border: 1px #BEBEBE solid;  
712																																						padding: 24px 24px 0 24px; 
713																																						margin-bottom: 40px; 
714																																						display: grid; 
715																																						grid-row-gap: 24px; 
716																																						grid-template-columns: 24px 12px 1fr 15px; 
717																																						grid-template-areas:  
718																																							"ck . tit arrw" 
719																																							"desc desc desc desc" 
720																																							"clps clps clps clps"; 
721
722 
723																																					.bioec-profile-post-main .lista-checkmark { grid-area: ck; } 
724																																					.bioec-profile-post-main .lista-checkmark i { 
725																																						font-size: 24px; 
726
727 
728																																					.bioec-profile-post-main .lista-pic { grid-area: pic; display: flex; justify-content: center;} 
729																																					.bioec-profile-post-main .lista-arrow { grid-area: arrw; } 
730 
731																																					.bioec-profile-post-main .lista-titulo {  
732																																						grid-area: tit;  
733																																						display: flex;  
734																																						flex-direction: column; 
735																																						justify-content: center; 
736 
737
738 
739																																					.bioec-profile-post-main .lista-titulo h5{ 
740																																						margin-bottom: 0px; 
741																																						font-weight: 400; 
742																																						font-size: 16px; 
743																																						line-height: 150%; 
744																																						text-transform: uppercase; 
745																																					}  
746 
747																																					.bioec-profile-post-main .lista-desc { 
748																																						grid-area: desc;  
749																																						display: flex; 
750																																						align-items: center; 
751																																						gap: 46px; 
752																																					}  
753 
754																																					.bioec-profile-post-main .lista-desc > div { 
755																																						height: 138px; 
756
757 
758																																					.bioec-profile-post-main .lista-desc img { 
759																																						height: 100%; 
760
761 
762																																					.bioec-profile-post-main .lista-desc p { 
763																																						margin: 0; 
764																																						font-weight: 700; 
765																																						font-size: 16px; 
766																																						line-height: 150%; 
767
768 
769																																					.bioec-profile-post-main a{ 
770																																						color: #5B5C61; 
771
772 
773																																					.post-port{ 
774																																						border: 1px #BEBEBE solid;  
775																																						padding: 24px; 
776																																						display: flex; 
777																																						flex-direction: column; 
778																																						align-items: center; 
779																																						gap: 24px; 
780
781 
782																																					.post-port p{ 
783																																						text-align: center;	 
784 
785
786 
787																																					.post-port div{ 
788																																						display: flex; 
789																																						justify-content: space-between; 
790																																						width: min(558px, 100%); 
791
792 
793																																					.button-empty { 
794																																						border: solid 1px #4ECD66; 
795																																						padding: 8px 24px; 
796																																						color: #333244; 
797																																						transition: 250ms; 
798
799 
800																																					.button-empty:hover{ 
801																																						background-color: #4ECD66; 
802
803 
804																																					.button-filled { 
805																																						background-color: #4ECD66; 
806																																						border: solid 1px #4ECD66; 
807																																						padding: 8px 24px; 
808																																						color: #333244; 
809																																						transition: 250ms; 
810 
811
812 
813																																					.button-filled:hover{ 
814																																						background-color: transparent; 
815
816 
817																																					.bioec-profile-post-main .lista-footnote {  
818 
819																																						display: flex; 
820																																						justify-content: space-between; 
821																																						border-top: 1px solid #E8ECEF; 
822																																						padding-top: 12px; 
823																																						font-size: 14px; 
824																																						font-weight: 300; 
825																																						gap: 15px; 
826																																						color: #5B5C61; 
827 
828
829																																					.lista-collapse{ 
830																																						display: flex; 
831																																						flex-direction: column; 
832																																						gap: 24px; 
833																																						grid-area: clps; 
834																																						padding-bottom: 24px; 
835
836 
837																																					.lista-details{ 
838																																						display: flex; 
839																																						justify-content: flex-start; 
840																																						gap: 24px; 
841																																						color: #5B5C61; 
842
843																																					.lista-pic img { 
844																																						max-height: 138px; 
845																																						max-width: 138px; 
846
847 
848																																					.bioec-profile-post-main p{ 
849 
850
851 
852																																					.imagemCarregadaPost { 
853																																						height: 100px; 
854																																						width: 100px; 
855																																						background-size: contain; 
856																																						background-position: center; 
857																																						background-repeat: no-repeat; 
858
859 
860 
861																																					.ButtonAddPost { 
862																																						background: #4ECD66; 
863																																						border-radius: 8px; 
864																																						padding: 8px 24px; 
865																																						border: none; 
866																																						font-weight: 700; 
867																																						color: #333244; 
868																																						font-family: 'Roboto'; 
869																																						float: right; 
870																																						text-transform: uppercase; 
871
872																																					.ButtonAddPost:hover{ 
873																																						color: #333244; 
874																																						text-decoration: none; 
875
876 
877																																					.bioec-profile-post-modal label { 
878																																						margin: 0; 
879																																						cursor: default; 
880																																						font-size: 20px; 
881																																						font-weight: 700; 
882																																						color: #5B5C61; 
883
884 
885																																					.bioec-profile-post-modal div { 
886																																						width: 100%; 
887
888 
889																																					#postModal-l1, .postModal-l1 { 
890																																						padding: 18px 24px; 
891																																						display: flex; 
892																																						justify-content: space-between; 
893
894 
895																																					#postModal-l1 img, .postModal-l1 img { 
896																																						cursor: pointer; 
897
898 
899																																					#postModal-l1 h5, .postModal-l1 h5 { 
900																																						margin: 0; 
901																																						font-size: 20px; 
902																																						font-weight: 700; 
903																																						color: #5B5C61; 
904
905 
906																																					#postModal-l2, .postModal-l2 { 
907																																						border-top: 1px solid #E8ECEF; 
908																																						display: grid; 
909																																						grid-template-columns: 1fr 1fr; 
910																																						grid-template-areas: 
911																																							"titu nome" 
912																																							"fone mail" 
913																																							"desc desc" 
914																																							"imagem ." 
915
916																																						column-gap: 24px; 
917																																						row-gap: 40px; 
918																																						padding: 24px; 
919
920 
921																																					#postModal-l2>div, .postModal-l2>div { 
922																																						display: flex; 
923																																						flex-direction: column; 
924																																						gap: 8px; 
925
926 
927																																					#postTitle, .postTitle { 
928																																						grid-area: titu; 
929
930 
931																																					#postName, .postName { 
932																																						grid-area: nome; 
933
934 
935																																					#postTelephone, .postTelephone { 
936																																						grid-area: fone; 
937
938 
939																																					#postEmail, .postEmail { 
940																																						grid-area: mail; 
941
942 
943																																					#postBrand, .postBrand { 
944																																						grid-area: marca; 
945
946 
947																																					#postModal-l2>#postImg, .editPostModal-l2>.postImg { 
948																																						grid-area: imagem; 
949																																						display: flex; 
950																																						flex-direction: row; 
951
952 
953																																					#postDesc, .postDesc { 
954																																						grid-area: desc; 
955 
956
957 
958																																					#postDesc input, .postDesc input { 
959																																						height: 80px; 
960
961 
962																																					.TextImportant{ 
963																																						border-bottom: 1px solid #E8ECEF; 
964																																						padding: 24px; 
965																																						color: #5B5C61;		 
966
967 
968																																					.bioec-profile-post-modal input[type="text"] { 
969																																						border-top: none; 
970																																						border-left: none; 
971																																						border-right: none; 
972																																						border-bottom: 1px solid #BEBEBE; 
973																																						width: 100%; 
974																																						font-size: 16px; 
975 
976
977 
978 
979																																					.bioec-profile-post-modal input[type="text"]:focus-visible { 
980																																						outline: none; 
981																																						border-bottom: 1px solid black; 
982 
983
984 
985																																					.bioec-profile-post-modal .ReqLabel:before { 
986																																						content: "* "; 
987																																						color: #D90000; 
988 
989
990 
991																																					#inputCarregarImagemPost, .inputCarregarImagemPost { 
992																																						display: none; 
993
994 
995																																					#carregarImagem, .carregarImagem  { 
996																																						padding: 8px 24px; 
997																																						border: 1px solid #4ECD66; 
998																																						width: fit-content; 
999																																						transition: 250ms; 
1000 
1001
1002 
1003																																					#carregarImagem:hover, .carregarImagem:hover { 
1004																																						background-color: #4ECD66; 
1005
1006 
1007																																					.button-empty { 
1008																																						border: solid 1px #4ECD66; 
1009																																						padding: 8px 24px; 
1010																																						color: #333244; 
1011																																						transition: 250ms; 
1012																																						font-weight: bold; 
1013
1014 
1015																																					.button-empty:hover { 
1016																																						background-color: #4ECD66; 
1017
1018 
1019																																					.button-filled { 
1020																																						background-color: #4ECD66; 
1021																																						border: solid 1px #4ECD66; 
1022																																						padding: 8px 24px; 
1023																																						color: #333244; 
1024																																						transition: 250ms; 
1025																																						font-weight: bold; 
1026
1027 
1028																																					.button-filled:hover { 
1029																																						background-color: transparent; 
1030
1031 
1032																																					#postModal-l3, .postModal-l3 { 
1033																																						gap: 24px; 
1034																																						display: flex; 
1035																																						justify-content: flex-end; 
1036																																						padding: 24px; 
1037
1038 
1039																																					.modal { 
1040																																						padding: initial !important; 
1041																																						border-radius: 4px !important; 
1042 
1043
1044 
1045																																					.modal a.close-modal { 
1046																																						display: none; 
1047
1048 
1049																																					#removerImagemPost, .removerImagemPost { 
1050																																						background: none; 
1051																																						border: none; 
1052																																						outline: none; 
1053																																						color: #5B5C61; 
1054																																						font-size: 16px; 
1055																																						font-weight: 900; 
1056																																						line-height: 24px; 
1057																																						letter-spacing: 0em; 
1058																																						width: fit-content; 
1059																																						margin-left: 16px; 
1060
1061 
1062 
1063																																					@media(max-width: 964px){ 
1064																																						.lista-pic img { 
1065																																							width: 100%; 
1066																																							max-height: unset; 
1067																																							max-width: unset; 
1068 
1069
1070
1071 
1072																																					@media (max-width: 550px) { 
1073																																						#postModal-l2, .postModal-l2 { 
1074																																							display: flex; 
1075																																							flex-direction: column; 
1076
1077 
1078																																						#postModal-l3, .postModal-l3 { 
1079																																							display: flex; 
1080																																							flex-direction: column; 
1081
1082
1083 
1084																																					@media(max-width: 450px){ 
1085																																						.bioec-profile-post-main .lista-details{ 
1086																																							flex-direction: column; 
1087
1088 
1089																																						.lista-contato{ 
1090																																							text-align: center; 
1091
1092 
1093																																						.bioec-profile-post-main .lista-footnote{ 
1094																																							flex-direction: column; 
1095																																							gap: 10px; 
1096																																							align-items: flex-end; 
1097																																							text-align: right; 
1098
1099
1100 
1101 
1102 
1103 
1104 
1105																																					.bioec-profile-edit-post-modal label { 
1106																																						margin: 0; 
1107																																						cursor: default; 
1108																																						font-size: 20px; 
1109																																						font-weight: 700; 
1110																																						color: #5b5c61; 
1111
1112 
1113																																					.bioec-profile-edit-post-modal small { 
1114																																						font-weight: 300; 
1115																																						font-size: 14px; 
1116																																						line-height: 150%; 
1117																																						color: #5b5c61; 
1118																																						margin-top: -4px; 
1119
1120 
1121																																					.bioec-profile-edit-post-modal div { 
1122																																						/* width: 100%; */ 
1123
1124 
1125																																					#editPostModal-l1, .editPostModal-l1 { 
1126																																						padding: 18px 24px; 
1127																																						display: flex; 
1128																																						justify-content: space-between; 
1129
1130 
1131																																					#editPostModal-l1 h5, .editPostModal-l1 h5 { 
1132																																						line-height: 150%; 
1133																																						margin: 0; 
1134																																						font-size: 20px; 
1135																																						font-weight: 700; 
1136																																						color: #5b5c61; 
1137
1138 
1139																																					#editPostModal-l2, .editPostModal-l2 { 
1140																																						padding: 24px; 
1141
1142 
1143																																					#editPostModal-l2 > div, .editPostModal-l2 > div { 
1144																																						display: flex; 
1145																																						flex-direction: column; 
1146																																						gap: 8px; 
1147																																						margin-bottom: 40px; 
1148
1149 
1150																																					#editPostModal-l2 > div:last-child, .editPostModal-l2 > div:last-child { 
1151																																						margin-bottom: -4px; 
1152
1153 
1154																																					#editPostModal-l2 > #editPostImg, .editPostModal-l2 > .editPostImg { 
1155																																						/* grid-area: imagem; */ 
1156																																						display: flex; 
1157																																						flex-direction: row; 
1158
1159 
1160																																					.importantText { 
1161																																						padding: 24px; 
1162																																						color: #5b5c61; 
1163
1164 
1165																																					.importantText p { 
1166																																						margin-bottom: 0; 
1167
1168 
1169																																					.bioec-profile-edit-post-modal input[type="text"] { 
1170																																						border-top: none; 
1171																																						border-left: none; 
1172																																						border-right: none; 
1173																																						border-bottom: 1px solid #bebebe; 
1174																																						width: 100%; 
1175																																						font-size: 16px; 
1176
1177 
1178 
1179																																					.bioec-profile-edit-post-modal 
1180																																					input[type="text"]:focus-visible { 
1181																																						outline: none; 
1182																																						border-bottom: 1px solid black; 
1183
1184 
1185																																					.bioec-profile-edit-post-modal .reqLabel:before { 
1186																																						content: "* "; 
1187																																						color: #d90000; 
1188
1189 
1190																																					#imagemCarregadaPost, .imagemCarregadaPost { 
1191																																						height: 110px; 
1192																																						width: 110px; 
1193																																						margin-left: 3rem; 
1194																																						background-size: contain; 
1195																																						background-position: center; 
1196																																						background-repeat: no-repeat; 
1197
1198 
1199																																					#removerImagemPost, .removerImagemPost { 
1200																																						background: none; 
1201																																						cursor: pointer; 
1202																																						border: none; 
1203																																						outline: none; 
1204																																						color: #5b5c61; 
1205																																						font-size: 16px; 
1206																																						font-weight: 900; 
1207																																						line-height: 24px; 
1208																																						letter-spacing: 0em; 
1209																																						width: fit-content; 
1210																																						margin-left: 16px; 
1211
1212 
1213																																					#inputCarregarImagemPost, .inputCarregarImagemPost { 
1214																																						display: none; 
1215
1216 
1217																																					#carregarImagemPost, .carregarImagemPost { 
1218																																						padding: 8px 24px; 
1219																																						border: 1px solid #4ecd66; 
1220																																						width: fit-content; 
1221																																						transition: 250ms; 
1222																																						border-radius: 8px; 
1223
1224 
1225																																					#carregarImagemPost:hover, .carregarImagemPost:hover { 
1226																																						background-color: #4ecd66; 
1227
1228 
1229																																					.button-empty { 
1230																																						border: solid 1px #4ecd66; 
1231																																						padding: 8px 24px; 
1232																																						color: #333244; 
1233																																						transition: 250ms; 
1234																																						font-weight: bold; 
1235
1236 
1237																																					.button-empty:hover { 
1238																																						background-color: #4ecd66; 
1239
1240 
1241																																					.button-filled { 
1242																																						background-color: #4ecd66; 
1243																																						border: solid 1px #4ecd66; 
1244																																						padding: 8px 24px; 
1245																																						color: #333244; 
1246																																						transition: 250ms; 
1247																																						font-weight: bold; 
1248
1249 
1250																																					.button-filled:hover { 
1251																																						background-color: transparent; 
1252
1253 
1254																																					#editPostModal-l3, .editPostModal-l3 { 
1255																																						gap: 24px; 
1256																																						display: flex; 
1257																																						justify-content: flex-end; 
1258																																						padding: 15px; 
1259
1260 
1261																																					#editPostModal-l3 button, .editPostModal-l3 button { 
1262																																						text-transform: uppercase; 
1263																																						border-radius: 8px; 
1264
1265 
1266																																					@media (max-width: 550px) { 
1267																																						#editPostModal-l2, .editPostModal-l2  { 
1268																																							display: flex; 
1269																																							flex-direction: column; 
1270
1271 
1272																																						#editPostModal-l3, .editPostModal-l3 { 
1273																																							display: flex; 
1274																																							flex-direction: column; 
1275
1276
1277 
1278																																					/* .modal { 
1279																																					padding: initial !important; 
1280																																					border-radius: 4px !important; 
1281																																					height: initial !important; 
1282
1283 
1284																																					.modal a.close-modal { 
1285																																					display: none; 
1286																																					} */ 
1287 
1288																																					/* final */ 
1289																																					.bioec-profile-post-main .lista-footnote .buttonsActions { 
1290																																						display: flex; 
1291																																						gap: 17px; 
1292
1293 
1294																																					@media (max-width: 992px) { 
1295																																						#post-lista-container { 
1296																																							padding-inline: 15px; 
1297
1298
1299 
1300																																					@media (max-width: 768px) { 
1301																																						.bioec-profile-post-main .lista-desc { 
1302																																							gap: 24px; 
1303																																							flex-direction: column-reverse; 
1304
1305																																						.bioec-profile-post-main .lista-footnote { 
1306																																							flex-direction: column; 
1307																																							align-items: center; 
1308
1309																																						.bioec-profile-post-main .lista-footnote > div { 
1310																																							text-align: center; 
1311
1312																																						.bioec-profile-post-main .lista-footnote .post-type, 
1313																																						.bioec-profile-post-main .lista-footnote .barra-pipe { 
1314																																							display: none; 
1315
1316																																						.bioec-profile-post-main .lista-footnote .lista-author { 
1317																																							display: flex; 
1318																																							gap: 4px; 
1319																																							justify-content: center; 
1320
1321																																						.bioec-profile-post-main .lista-footnote .buttonsActions { 
1322																																							width: 100%; 
1323																																							justify-content: space-between; 
1324
1325
1326 
1327 
1328																																				</style> 
  • Sobre
  • Organizações
  • Demandas
  • Ofertas
  • <#if themeDisplay.getURLCurrent()?contains("en")> Publication <#else> Publicações
Tag
Category