Filtros Limpar Filtros

Todos os projetos

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> item[0].getDDMFormField().getDDMFormFieldOptions().getOptionLabels(item[0].getValue().getString(locale))  [in template "20096#20121#46430" at line 91, column 49]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign impactInitiative = item[0].ge...  [in template "20096#20121#46430" at line 91, column 21]
----
1<#if entries?has_content> 
2    <#assign roleLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.RoleLocalService")/> 
3    <#assign _journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
4    <#assign _assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
5    <#assign _assetVocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") /> 
6    <#assign projectResultList = [] /> 
7    <#assign vocabularies = [] /> 
8    <#assign vocabulariesMap = [] /> 
9 
10 
11    <#assign starBorderURL = "/documents/d/guest/star_border" /> 
12    <#assign starURL = "/documents/d/guest/star" /> 
13 
14    <#list entries as doc> 
15        <#assign curEntry=_assetEntryLocalService.fetchEntry("com.liferay.journal.model.JournalArticle", doc.getClassPK())> 
16        <#assign createDate = curEntry.getCreateDate()?string("yyyy-MM-dd") /> 
17        <#assign modifiedDate = curEntry.getModifiedDate()?string("yyyy-MM-dd") /> 
18        <#assign assetRenderer = curEntry.getAssetRenderer() /> 
19        <#assign linkToWebContentDisplayPage ="/w/" + assetRenderer.getUrlTitle() /> 
20        <#assign DDMFormFieldValuesMap = assetRenderer.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap() /> 
21        <#assign DDMFormFieldsReferencesMap = assetRenderer.article.DDMStructure.DDMForm.getDDMFormFieldsReferencesMap(true) /> 
22        <#assign categories = curEntry.getCategories() /> 
23 
24        <!-- pegando as categorias e filtrando pela vocabularyName Segmentos e status--> 
25 
26        <#assign segmentsCategories = [] /> 
27        <#assign projetcStatus = "" /> 
28        <#list categories as cat> 
29            <#assign vocabularyId = cat.vocabularyId /> 
30            <#assign assetVocabulary = _assetVocabularyService.getVocabulary(vocabularyId) /> 
31            <#if vocabularies?size == 0> 
32                <#assign vocabularies += [assetVocabulary.name] /> 
33                <#assign vocabulariesMap += [assetVocabulary] /> 
34            <#else> 
35                <#if !(vocabularies?seq_contains(assetVocabulary.name))> 
36                    <#assign vocabularies += [assetVocabulary.name] /> 
37                    <#assign vocabulariesMap += [assetVocabulary] /> 
38                </#if> 
39            </#if> 
40            <#if assetVocabulary.name?contains("segment")> 
41                <#assign segmentsCategories = segmentsCategories + [cat]> 
42            </#if> 
43            <#if assetVocabulary.name == "status"> 
44                <#assign projetcStatus = cat.getTitle(locale)> 
45            </#if> 
46        </#list> 
47 
48        <!-- Pegando ano de Entrega --> 
49        <#assign yearDeliveryField=DDMFormFieldsReferencesMap['yearDelivery'].name /> 
50        <#assign yearDelivery=DDMFormFieldValuesMap[yearDeliveryField] [0] /> 
51        <#assign yearDeliveryOptionSelected=yearDelivery.getValue().getString(locale)?replace("[", "")?replace("]", "" )?replace('"', '' ) /> 
52        <#assign yearDeliveryOptionValue = yearDelivery.getDDMFormField().getDDMFormFieldOptions().getOptionLabels(yearDeliveryOptionSelected)!"    " /> 
53        <#if yearDeliveryOptionValue != "    "> 
54            <#assign yearDeliveryOptionValue = yearDeliveryOptionValue.getString(locale) /> 
55        </#if> 
56 
57        <#assign isExclusiveContent = true /> 
58        <#assign exclusiveArticle =DDMFormFieldsReferencesMap['exclusiveContent'].name /> 
59        <#assign exclusiveArticleValue=DDMFormFieldValuesMap[exclusiveArticle][0].getValue().getString(locale)!"" /> 
60        <#if exclusiveArticleValue == "Opção90522000"> 
61          <#assign isExclusiveContent = false /> 
62        </#if>									 
63														 
64        <#assign article = _journalArticleLocalService.getLatestArticle(curEntry.getClassPK()) /> 
65 
66        <!-- Pegando trimestre de Entrega --> 
67        <#assign quarterDeliveryField=DDMFormFieldsReferencesMap['quarterDelivery'].name /> 
68        <#assign quarterDelivery=DDMFormFieldValuesMap[quarterDeliveryField] [0] /> 
69        <#assign quarterDeliveryOptionSelected=quarterDelivery.getValue().getString(locale)?replace("[", "")?replace("]", "" )?replace('"', '' ) /> 
70        <#assign quarterDeliveryOptionValue = quarterDelivery.getDDMFormField().getDDMFormFieldOptions().getOptionLabels(quarterDeliveryOptionSelected)!"" /> 
71        <#if quarterDeliveryOptionValue != ""> 
72            <#assign quarterDeliveryOptionValue = quarterDeliveryOptionValue.getString(locale) /> 
73        </#if> 
74 
75        <!-- Pegando Resumo do card --> 
76        <#assign cardSummaryField = DDMFormFieldsReferencesMap['cardSummary'].name /> 
77        <#assign cardSummary = DDMFormFieldValuesMap[cardSummaryField][0].getValue().getString(locale) /> 
78        <!-- pegando imagem do card --> 
79        <#assign urlImageValue = "" /> 
80        <#assign altImageValue = "" /> 
81        <#assign featuredImageField = DDMFormFieldsReferencesMap['featuredImage'].name /> 
82        <#assign featuredImage = DDMFormFieldValuesMap[featuredImageField][0].getValue().getString(locale)!"{}" /> 
83        <!-- pegando o grupo de campos --> 
84        <#assign brazilLocale = localeUtil.fromLanguageId("pt_BR")> 
85        <#assign impactFieldGroup = DDMFormFieldsReferencesMap['impactFieldGroup'].name /> 
86        <#assign impactFieldGroupSelect = DDMFormFieldValuesMap[impactFieldGroup][0] /> 
87        <#list impactFieldGroupSelect.getNestedDDMFormFieldValuesMap() as key,item> 
88            <#if item[0].getDDMFormField().getFieldReference()=="impactInitiative"> 
89                <#assign impactInitiative = item[0].getValue().getString(locale)!"" /> 
90                <#if impactInitiative?has_content> 
91                    <#assign impactInitiative = item[0].getDDMFormField().getDDMFormFieldOptions().getOptionLabels(item[0].getValue().getString(locale)).getString(locale) /> 
92                    <!-- Verifica se impactInitiative vem vazio com locale en_US --> 
93                <#else> 
94                    <#assign impactInitiative = item[0].getValue().getString(brazilLocale)!"" /> 
95                    <#if impactInitiative?has_content> 
96                        <#assign impactInitiative = item[0].getDDMFormField().getDDMFormFieldOptions().getOptionLabels(item[0].getValue().getString(brazilLocale)).getString(brazilLocale) /> 
97                    </#if> 
98                </#if> 
99            </#if> 
100 
101        </#list> 
102        <!-- Peganddo path da imagem --> 
103        <#if featuredImage !="{}"> 
104            <#assign cleanedJson = featuredImage?replace("\\u","\\\\u")> 
105            <#assign featuredImageEvaluated = cleanedJson?eval> 
106            <#assign altImageValue = featuredImageEvaluated.alt!""> 
107            <#assign urlImageValue = featuredImageEvaluated.url!""> 
108        </#if> 
109        <#assign segmentsProductCategories = "" /> 
110        <#list segmentsCategories as segCat> 
111            <#if (segmentsCategories?size) == 1> 
112                <#assign segmentsProductCategories=segmentsCategories[0].getTitle(locale) /> 
113            <#elseif (segmentsCategories?size) == 2> 
114                <#list segmentsCategories as segCat> 
115                    <#if segCat?is_last> 
116                        <#assign segmentsProductCategories = "${segmentsProductCategories} e ${segCat.getTitle(locale)}" /> 
117                    <#else> 
118                        <#assign segmentsProductCategories = "${segCat.getTitle(locale)}" /> 
119                    </#if> 
120                </#list> 
121            <#elseif ((segmentsCategories?size)>= 3) > 
122                <#list segmentsCategories as segCat> 
123                    <#if segCat?is_first> 
124                        <#assign segmentsProductCategories = "${segCat.getTitle(locale)}" /> 
125                    <#elseif segCat_index == 1> 
126                        <#assign segmentsProductCategories = "${segmentsProductCategories}, ${segCat.getTitle(locale)}" /> 
127                    <#elseif segCat_index == 2> 
128                        <#assign segmentsProductCategories = "${segmentsProductCategories} e ${segCat.getTitle(locale)}" /> 
129                        <#break> 
130                    </#if> 
131                </#list> 
132            </#if> 
133        </#list> 
134 
135        <#assign projectResult={ "id" :"${curEntry.getClassPK()}","title" :"${curEntry.getTitle(locale)}", "cardSummary" 
136        :"${cardSummary}", "impactInitiative" :"${impactInitiative}", "date" 
137        :"${quarterDeliveryOptionValue}${yearDeliveryOptionValue?substring(2,4)}", "status" 
138        :"${projetcStatus}", "segmentsProductCategories" 
139        :"${segmentsProductCategories}", "modifiedDate" :"${modifiedDate}", "createDate" :"${createDate}", 
140        "url": "${linkToWebContentDisplayPage}", "isExclusiveContent": isExclusiveContent } /> 
141 
142        <#assign projectResultList +=[projectResult] /> 
143    </#list> 
144 
145		<section class="b3-all-projects-list"> 
146        <#list projectResultList as curEntry> 
147 
148            <#assign currentDate = .now > 
149            <#assign daysLimit = 90 > 
150            <#assign createDateDiffDays = currentDate?string("yyyy-MM-dd")?replace("-","")?number - curEntry.createDate?replace("-","")?number> 
151            <#assign modifiedDateDiffDays = currentDate?string("yyyy-MM-dd")?replace("-","")?number - curEntry.modifiedDate?replace("-","")?number> 
152																										 
153            <div class="swiper-slide b3-more-projects__wrapper__card b3-ga-card"> 
154                <a class="d-flex flex-column h-100 b3-ga-button" href="${curEntry.url}"> 
155                    <div class="card__header"> 
156                        <div class="card__header__wrapper"> 
157                            <div class="card__header__header"> 
158                                <#if (curEntry.impactInitiative?contains("Informativo") || curEntry.impactInitiative?contains("Informative")) > 
159                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
160                                         xmlns="http://www.w3.org/2000/svg"> 
161                                        <mask id="mask0_13865_92987${curEntry_index}a" style="mask-type: alpha" maskUnits="userSpaceOnUse" 
162                                              x="2" y="2" width="20" height="20"> 
163                                            <path fill-rule="evenodd" clip-rule="evenodd" 
164                                                  d="M12 3.6C16.6 3.6 20.4 7.4 20.4 12C20.4 16.6 16.6 20.4 12 20.4C7.4 20.4 3.6 16.6 3.6 12C3.6 7.4 7.4 3.6 12 3.6ZM12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2ZM12.8002 7.2002H11.2002V12.8002H12.8002V7.2002ZM11.2002 15.2002H12.8002V16.8002H11.2002V15.2002Z" 
165                                                  fill="black" /> 
166                                        </mask> 
167                                        <g mask="url(#mask0_13865_92987${curEntry_index}a)"> 
168                                            <rect width="24" height="24" fill="#666E7A" /> 
169                                        </g> 
170                                    </svg> 
171 
172                                    <p>${locale?contains("en")?then("Informative", "Informativo" )}</p> 
173 
174                                <#elseif (curEntry.impactInitiative?contains("Opcional") || curEntry.impactInitiative?contains("Optional"))> 
175                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
176                                         xmlns="http://www.w3.org/2000/svg"> 
177                                        <mask id="mask0_13865_93093${curEntry_index}b" style="mask-type:alpha" 
178                                              maskUnits="userSpaceOnUse" x="2" y="2" width="20" height="20"> 
179                                            <path fill-rule="evenodd" clip-rule="evenodd" 
180                                                  d="M20.4 12C20.4 7.4 16.6 3.6 12 3.6C7.4 3.6 3.6 7.4 3.6 12C3.6 16.6 7.4 20.4 12 20.4C16.6 20.4 20.4 16.6 20.4 12ZM2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12ZM17 12C17 12.5523 16.5523 13 16 13C15.4477 13 15 12.5523 15 12C15 11.4477 15.4477 11 16 11C16.5523 11 17 11.4477 17 12ZM12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13ZM9 12C9 12.5523 8.55228 13 8 13C7.44772 13 7 12.5523 7 12C7 11.4477 7.44772 11 8 11C8.55228 11 9 11.4477 9 12Z" 
181                                                  fill="black" /> 
182                                        </mask> 
183                                        <g mask="url(#mask0_13865_93093${curEntry_index}b)"> 
184                                            <rect width="24" height="24" fill="#666E7A" /> 
185                                        </g> 
186                                    </svg> 
187 
188                                    <p>${locale?contains("en")?then("Optional", "Opcional" )}</p> 
189 
190                                <#elseif (curEntry.impactInitiative?contains("Mandatório") || curEntry.impactInitiative?contains("Mandatory"))> 
191                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
192                                         xmlns="http://www.w3.org/2000/svg"> 
193                                        <mask id="mask0_13865_92987${curEntry_index}c" style="mask-type: alpha" 
194                                              maskUnits="userSpaceOnUse" x="2" y="2" width="20" height="20"> 
195                                            <path fill-rule="evenodd" clip-rule="evenodd" 
196                                                  d="M12 3.6C16.6 3.6 20.4 7.4 20.4 12C20.4 16.6 16.6 20.4 12 20.4C7.4 20.4 3.6 16.6 3.6 12C3.6 7.4 7.4 3.6 12 3.6ZM12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2ZM12.8002 7.2002H11.2002V12.8002H12.8002V7.2002ZM11.2002 15.2002H12.8002V16.8002H11.2002V15.2002Z" 
197                                                  fill="black" /> 
198                                        </mask> 
199                                        <g mask="url(#mask0_13865_92987${curEntry_index}c)"> 
200                                            <rect width="24" height="24" fill="#666E7A" /> 
201                                        </g> 
202                                    </svg> 
203                                    <p> 
204                                        ${locale?contains("en")?then("Mandatory", "Mandatório")} 
205                                    </p> 
206                                </#if> 
207                            </div> 
208                            <#if curEntry.isExclusiveContent> 
209                                <div class="card__header__header exclusive__tag"> 
210                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 
211                                        <mask id="mask0_17642_41070" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="4" y="1" width="16" 
212                                              height="21"> 
213                                            <path fill-rule="evenodd" clip-rule="evenodd" 
214                                                  d="M17.9992 8.2002C18.9992 8.2002 19.7992 9.0002 19.7992 10.0002V20.0002C19.7992 21.0002 18.9992 21.8002 17.9992 21.8002H5.99922C4.99922 21.8002 4.19922 21.0002 4.19922 20.0002V10.0002C4.19922 9.0002 4.99922 8.2002 5.99922 8.2002H14.9992H15.1992V8.0002V6.0002C15.1992 4.2002 13.7992 2.8002 11.9992 2.8002C10.2992 2.8002 8.89922 4.1002 8.79922 5.8002H7.19922C7.29922 3.2002 9.39922 1.2002 11.9992 1.2002C14.5992 1.2002 16.7992 3.4002 16.7992 6.0002V8.0002V8.2002H16.9992H17.9992ZM18.1992 20.0002V10.0002V9.8002H17.9992H5.99922H5.79922V10.0002V20.0002V20.2002H5.99922H17.9992H18.1992V20.0002ZM13.7992 15.0002C13.7992 15.9943 12.9933 16.8002 11.9992 16.8002C11.0051 16.8002 10.1992 15.9943 10.1992 15.0002C10.1992 14.0061 11.0051 13.2002 11.9992 13.2002C12.9933 13.2002 13.7992 14.0061 13.7992 15.0002Z" 
215                                                  fill="black" /> 
216                                        </mask> 
217                                        <g mask="url(#mask0_17642_41070)"> 
218                                            <rect width="24" height="24" fill="#666E7A" /> 
219                                        </g> 
220                                    </svg> 
221                                    <p>${locale?contains("en")?then("Exclusive", "Exclusivo" )}</p> 
222                                </div> 
223                            </#if> 
224                        </div> 
225                        <#if themeDisplay.isSignedIn()> 
226                                <div class="star star-filled b3-ga-button" data-project-id="${curEntry.id}" favorite="true"> 
227                                    <img src="${starURL}" 
228                                         alt="icone de circulo com uma estrela no centro" /> 
229                                </div> 
230                        </#if> 
231                    </div> 
232                    <div class="card__body"> 
233                        <p> 
234                            ${curEntry.segmentsProductCategories} 
235                        </p> 
236                        <p class="body-lg b3-ga-card-title"> 
237                            ${curEntry.title} 
238                        </p> 
239                        <p class="body-xs"> 
240			<#if (isExclusiveContent?? && isExclusiveContent && themeDisplay.isSignedIn()) || !isExclusiveContent> 
241                            ${curEntry.cardSummary} 
242			</#if> 
243                        </p> 
244                    </div> 
245	    <#if curEntry.isExclusiveContent?? && curEntry.isExclusiveContent && !themeDisplay.isSignedIn()> 
246			<div class="card__bottom"> 
247    		          <img src="/documents/d/guest/card-busca-conteudo-exclusivo" alt="Conteúdo não acessível por ser exclusivo para clientes." style="margin-right: 24px;"/> 
248			</div> 
249            <#else> 
250                    <div class="card__bottom"> 
251                        <div class="date body-text"> 
252                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
253                                 xmlns="http://www.w3.org/2000/svg"> 
254                                <mask id="mask0_13865_93015" style="mask-type: alpha" maskUnits="userSpaceOnUse" 
255                                      x="3" y="1" width="18" height="20"> 
256                                    <path fill-rule="evenodd" clip-rule="evenodd" 
257                                          d="M20.8002 4.8C20.8002 3.8 20.0002 3 19.0002 3H18.0002H17.8002V2.8V1H16.2002V2.8V3H16.0002H8.0002H7.8002V2.8V1H6.2002V2.8V3H6.0002H5.0002C4.0002 3 3.2002 3.8 3.2002 4.8V18.8C3.2002 19.8 4.0002 20.6 5.0002 20.6H19.0002C20.0002 20.6 20.8002 19.8 20.8002 18.8V4.8ZM19.2002 8.8V18.8V19H19.0002H5.0002H4.8002V18.8V8.8V8.6H5.0002H19.0002H19.2002V8.8ZM19.2002 4.8V6.8V7H19.0002H5.0002H4.8002V6.8V4.8V4.6H5.0002H19.0002H19.2002V4.8ZM12.8002 10.6997H11.2002V12.2997H12.8002V10.6997ZM7.2002 14.7998V16.3998H8.8002V14.7998H7.2002ZM15.2002 10.6997H16.8002V12.2997H15.2002V10.6997ZM7.2002 10.6997V12.2997H8.8002V10.6997H7.2002ZM11.2002 14.7998H12.8002V16.3998H11.2002V14.7998ZM15.2002 14.7998H16.8002V16.3998H15.2002V14.7998Z" 
258                                          fill="black" /> 
259                                </mask> 
260                                <g mask="url(#mask0_13865_93015)"> 
261                                    <rect width="24" height="24" fill="#0063DE" /> 
262                                </g> 
263                            </svg> 
264                            <span> 
265                            ${locale?contains("en")?then("Date: ${curEntry.date?replace('T', 'Q')}", 
266                            "Data: ${curEntry.date}")} 
267                        </span> 
268                        </div> 
269                        <div class="update"> 
270                            <#if createDateDiffDays <= daysLimit> 
271                                <div class="circleNewProject"></div> 
272                                <p class="text__body--small"> 
273                                    ${locale?contains("en")?then("New Project", "Novo Projeto")} 
274                                </p> 
275                            <#elseif (createDateDiffDays > daysLimit && modifiedDateDiffDays > daysLimit) > 
276                                <#if curEntry.status==locale?contains("en")?then("In Progress", "Em execução" )> 
277                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
278                                         xmlns="http://www.w3.org/2000/svg"> 
279                                        <mask id="mask0_13865_93018" style="mask-type:alpha" 
280                                              maskUnits="userSpaceOnUse" x="2" y="2" width="20" height="20"> 
281                                            <path fill-rule="evenodd" clip-rule="evenodd" 
282                                                  d="M6.54134 3.56373V2.06427H2V21.9998H6.54134V20.4954H3.47207V3.56373H6.54134Z" 
283                                                  fill="white" /> 
284                                            <path fill-rule="evenodd" clip-rule="evenodd" 
285                                                  d="M17.4546 20.4905V21.9997H22V2H17.4546V3.50428H20.5264V20.4905H17.4546Z" 
286                                                  fill="white" /> 
287                                        </mask> 
288                                        <g mask="url(#mask0_13865_93018)"> 
289                                            <rect width="24" height="24" fill="#0063DE" /> 
290                                        </g> 
291                                    </svg> 
292                                <#elseif curEntry.status==locale?contains("en")?then("Deprioritezed", "Despriorizado" )> 
293                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
294                                         xmlns="http://www.w3.org/2000/svg"> 
295                                        <mask id="mask0_16128_15636" style="mask-type:alpha" 
296                                              maskUnits="userSpaceOnUse" x="2" y="6" width="20" height="12"> 
297                                            <path 
298                                                    d="M21.8008 12.5L19.9008 14.4L19.7008 14.6L19.6008 14.4L13.4008 8.30005L9.60078 12.1L9.40078 12.3L9.30078 12.1L3.40078 6.30005L2.30078 7.40005L9.40078 14.5L13.3008 10.7L13.4008 10.5L13.6008 10.7L18.4008 15.6L18.6008 15.7L18.4008 15.9L16.5008 17.8H21.8008V12.5Z" 
299                                                    fill="black" /> 
300                                        </mask> 
301                                        <g mask="url(#mask0_16128_15636)"> 
302                                            <rect width="24" height="24" fill="#0063DE" /> 
303                                        </g> 
304                                    </svg> 
305                                <#elseif curEntry.status==locale?contains("en")?then("Finished", "Concluído" )> 
306                                    <svg width="25" height="24" viewBox="0 0 25 24" fill="none" 
307                                         xmlns="http://www.w3.org/2000/svg"> 
308                                        <mask id="mask0_17645_44046" style="mask-type:alpha" 
309                                              maskUnits="userSpaceOnUse" x="4" y="5" width="18" 
310                                              height="14"> 
311                                            <path 
312                                                    d="M4.03369 13.4L9.33369 18.7L21.0337 7.00002L19.9337 5.90002L9.43369 16.3L9.33369 16.5L9.23369 16.3L5.13369 12.3L4.03369 13.4Z" 
313                                                    fill="black" /> 
314                                        </mask> 
315                                        <g mask="url(#mask0_17645_44046)"> 
316                                            <rect x="0.333496" width="24" height="24" fill="#008750" /> 
317                                        </g> 
318                                    </svg> 
319                                </#if> 
320                                <#if curEntry.status==locale?contains("en")?then("Finished", "Concluído" )> 
321                                    <p class="text__body--small check-color"> 
322                                        ${curEntry.status} 
323                                    </p> 
324                                <#else> 
325                                    <p class="text__body--small"> 
326                                        ${curEntry.status} 
327                                    </p> 
328                                </#if> 
329                            <#elseif modifiedDateDiffDays <= daysLimit > 
330                                <div class="circleNewUpdate"></div> 
331                                <p class="text__body--small "> 
332                                    ${locale?contains("en")?then("New update", "Nova Atualização")} 
333                                </p> 
334                            </#if> 
335                        </div> 
336                    </div> 
337</#if> 
338                </a> 
339            </div> 
340             
341        </#list> 
342    </section> 
343		 
344    <#assign url = themeDisplay.getURLCurrent() /> 
345    <#if !url?contains("all") && !url?contains("todos") && !url?contains("estudos") && !url?contains("studies")> 
346        <a href='${locale?contains("en")?then("/all-projects", "/todos-os-projetos")}' class="b3-more-projects__wrapper__btn button-md mb-4 b3-ga-button mt-1"> 
347            ${locale?contains("en")?then("VIEW ALL PROJECTS", "VER TODOS OS PROJETOS")} 
348        </a> 
349    </#if> 
350 
351</#if> 
352 
353 
354<style> 
355    .card__header__wrapper { 
356        display: flex; 
357        gap: 0.375rem; 
358
359 
360    .b3-all-projects-list.container-fluid.container-fluid-max-xl { 
361        max-width: 79.125rem; 
362        margin: auto; 
363        padding: 0; 
364        margin-bottom: 2.25rem; 
365
366 
367    .b3-more-projects__wrapper__card { 
368        border-radius: 0.375rem; 
369        border: 1px solid var(--bg-gray-2, #E3E5E7); 
370        background: var(--white, #FFF); 
371        padding: 1.5rem; 
372        flex: 1; 
373        flex: 1 0 calc(33.333% - (var(--spacer-4) + var(--spacer-6))); 
374        width: 25.5rem; 
375        height: 19.25rem; 
376
377 
378    .b3-more-projects__wrapper__card .card__header { 
379        display: flex; 
380        align-items: center; 
381        justify-content: space-between; 
382        position: relative; 
383
384 
385    .b3-more-projects__wrapper__card .card__header .star-border { 
386        border-radius: 24px; 
387        border: solid 1px #0063de; 
388        padding: 0.375rem; 
389
390 
391    .b3-more-projects__wrapper__card .card__header .star-filled { 
392        background-color: #00B0E626; 
393        border-radius: 24px; 
394        padding: 0.4375rem; 
395
396 
397    .b3-more-projects__wrapper__card .card__header .card__header__header { 
398        display: flex; 
399        align-items: center; 
400        position: relative; 
401        z-index: 1; 
402        padding: 0 0.75rem; 
403        width: max-content; 
404
405 
406    .card__header .card__header__icon-mobile { 
407        display: none; 
408
409 
410    .b3-more-projects__wrapper__card .card__header p { 
411        color: var(--text-text-light, #666E7A); 
412        font-weight: 700; 
413        font-size: 12px; 
414        text-transform: uppercase; 
415        margin: 0; 
416        margin-left: 0.375rem; 
417
418 
419    .b3-more-projects__wrapper__card a { 
420        text-decoration: none; 
421
422 
423    .card__header__header::before { 
424        content: ''; 
425        border-radius: 36px; 
426        background: var(--bg-gray-1, #F6F6F7); 
427        display: flex; 
428        height: 1.875rem; 
429        position: absolute; 
430        z-index: -1; 
431        padding: var(--spacer-1) var(--spacer-2); 
432        width: 100%; 
433        left: 0; 
434
435 
436    .b3-more-projects__wrapper__card .card__body { 
437        margin-top: 1.5rem; 
438        display: flex; 
439        flex-direction: column; 
440        gap: 0.75rem; 
441        margin-bottom: 0.75rem; 
442
443 
444    .b3-more-projects__wrapper__card .card__body>p { 
445        margin: 0; 
446
447 
448    .b3-more-projects__wrapper__card .card__body p:nth-child(1) { 
449        color: var(--text-emphasis-light, #40444D); 
450        line-height: 120%; 
451        letter-spacing: 0.031rem; 
452        text-transform: uppercase; 
453
454 
455    .b3-more-projects__wrapper__card .card__body p:nth-child(2) { 
456        color: var(--text-emphasis-light, #40444D); 
457        line-height: 150%; 
458        overflow: hidden; 
459        text-overflow: ellipsis; 
460        display: -webkit-box; 
461        -webkit-line-clamp: 2; 
462        -webkit-box-orient: vertical; 
463
464 
465    .b3-more-projects__wrapper__card .card__body p:nth-child(3) { 
466        color: var(--text-light, #666E7A); 
467        line-height: 183.333%; 
468        overflow: hidden; 
469        text-overflow: ellipsis; 
470        display: -webkit-box; 
471        -webkit-line-clamp: 3; 
472        -webkit-box-orient: vertical; 
473
474 
475    .b3-more-projects__wrapper__card .card__bottom { 
476        margin-top: auto; 
477        display: flex; 
478        justify-content: space-between; 
479        align-items: center; 
480
481 
482    .card__bottom .date { 
483        display: flex; 
484        gap: 0.3rem; 
485        color: var(--text-light, #666E7A); 
486
487 
488    .card__bottom .update { 
489        display: flex; 
490        align-items: center; 
491        gap: 0.625rem; 
492
493 
494    .card__bottom .update p { 
495        color: var(--text-light, #666E7A); 
496        margin: 0; 
497        white-space: nowrap; 
498
499 
500    .card__bottom .update .check-color { 
501        color: var(--verde-sucesso, #008750); 
502
503 
504    .card__bottom .update .circleNewUpdate { 
505        width: var(--spacer-2); 
506        height: var(--spacer-2); 
507        border-radius: 100%; 
508        background-color: #0085BD; 
509
510 
511    .card__bottom .update .circleNewProject { 
512        width: var(--spacer-2); 
513        height: var(--spacer-2); 
514        border-radius: 100%; 
515        background-color: var(--positive-light, #008750); 
516
517 
518    .b3-more-projects__wrapper__btn { 
519        display: none; 
520
521 
522    .b3-more-projects__wrapper__btn { 
523        display: flex; 
524        width: 17rem; 
525        padding: 0.4375rem 1rem; 
526        justify-content: center; 
527        align-items: center; 
528        gap: var(--spacer-2, 12px); 
529        border-radius: 100px; 
530        margin: 0 auto; 
531        text-transform: uppercase; 
532        line-height: 1.375rem; 
533        grid-area: 4 / 2; 
534        background: var(--amarelo-warning, #FFD862); 
535        color: var(--brand-color-1, #002C63); 
536
537 
538    .b3-more-projects__wrapper__btn:hover, 
539    .b3-more-projects__wrapper__btn:active { 
540        background: var(--interaction-dark-hover, #FFE8A1); 
541        text-decoration: none; 
542        color: var(--brand-color-1, #002C63); 
543
544 
545    @media screen and (max-width: 768px) { 
546        .b3-more-projects { 
547            padding: 0; 
548            gap: 0; 
549
550 
551        .b3-more-projects .b3-more-projects__title { 
552            padding: var(--spacer-6) var(--spacer-6) 0; 
553            text-align: left; 
554            font-size: 1.875rem; 
555
556 
557        .card__header .card__header__icon-mobile { 
558            display: block; 
559
560 
561        .b3-more-projects .b3-more-projects__wrapper .b3-more-projects__wrapper__card { 
562            flex: none; 
563            flex: 1 0 calc(80% - (var(--spacer-2) + var(--spacer-4))); 
564
565 
566        .b3-more-projects__wrapper__card .card__bottom { 
567            flex-direction: column; 
568            gap: 0.875rem; 
569            align-items: flex-start; 
570
571 
572        .b3-more-projects__wrapper__btn { 
573            border: 1px solid var(--brand-color-2, #0063DE); 
574            color: var(--brand-color-2, #0063DE); 
575            background-color: var(--white, #FFF); 
576            grid-area: unset; 
577
578 
579        .b3-more-projects__wrapper__btn:hover, 
580        .b3-more-projects__wrapper__btn:active { 
581            border-radius: 100px; 
582            border: 1px solid var(--brand-color-2, #0063DE); 
583            background: var(--hover-background-color, #00b0e633); 
584            text-decoration: none; 
585            color: var(--brand-color-2, #0063DE); 
586
587
588 
589    .b3-all-projects-list { 
590        display: grid; 
591        grid-template-columns: 1fr 1fr 1fr; 
592        margin: var(--spacer-4) 0; 
593        gap: var(--spacer-4); 
594        max-width: 100%; 
595
596 
597    .b3-all-projects-list .card__header-grid-mobile { 
598        display: none; 
599
600 
601    @media screen and (max-width: 468px) { 
602        .b3-all-projects-list { 
603            grid-template-columns: repeat(auto-fit, minmax(100%, 1fr)); 
604            margin: var(--spacer-4); 
605
606 
607        .b3-all-projects-list .card__header-grid-mobile { 
608            display: block; 
609
610 
611        .b3-more-projects__wrapper__card { 
612            width: 17rem; 
613            margin: auto; 
614            height: auto; 
615
616 
617        .b3-more-projects__wrapper__card .card__header { 
618            align-items: flex-start; 
619            gap: 0.5625rem; 
620
621 
622        .card__header__wrapper { 
623            gap: 0.75rem; 
624            flex-direction: column; 
625
626 
627
628</style>