Search Results

Your guide to HQM certification

An error occurred while processing the template.
The following has evaluated to null or missing:
==> assetCategories  [in template "20096#20121#197383" at line 435, column 24]

----
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: #list assetCategories as category  [in template "20096#20121#197383" at line 435, column 17]
----
1<#assign friendlyURLEntryLocalService=serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") /> 
2<#assign classNameLocalService=serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") /> 
3<#assign assetCategoryClassNameId=classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory") /> 
4<#assign assetCategoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
5 
6<#assign excludedCategories=["News","Events","BREEAM","z_infracasestudiesppc","z_Report_listing","Report_list","Reports","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] /> 
7 
8 
9<#attempt> 
10    <#assign 
11        journalArticleResourceLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
12        assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
13        journalArticleId=.vars['reserved-article-id'].data 
14        articleResourcePrimaryKey=journalArticleResourceLocalService.getArticleResourcePrimKey(themeDisplay.getScopeGroupId(), 
15        journalArticleId) assetEntry=assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", 
16        articleResourcePrimaryKey) assetCategories=assetEntry.getCategories()  
17    /> 
18 
19    <#assign rn=randomNamespace> 
20    <#list assetCategories as category> 
21		 
22        <#assign categoryName=category.getName() /> 
23				<#if categoryName?contains("Report_list")> 
24				     <#assign categoryName="Report" /> 
25						 
26				</#if> 
27    </#list> 
28    <#recover> 
29    <#assign rn=randomNamespace> 
30</#attempt> 
31 
32<!-- [Start] News Header --> 
33<#if (CardTitle.getData())?has_content || (CardImage.getData())?has_content> 
34<#if (CardImage.getData())?has_content> 
35    <section class="c-news-header" style="background-image: url('${CardImage.getData()}')"> 
36<#else> 
37    <section class="c-news-header" style="background-image: url('/documents/70417/155277/Image-Placeholder%20%2838%29.png')"> 
38</#if> 
39        <div class="c-news-header__body"> 
40            <ul class="c-news-header__byline"> 
41                <#if categoryName?has_content> 
42								 
43                    <li class="c-news-header__category">${categoryName}</li> 
44                </#if> 
45                <#if getterUtil.getBoolean(autoPopulateDate.getData())> 
46                    <li class="c-news-header__date">             
47                        <#assign CardDate=.vars["reserved-article-create-date"].data /> 
48                        <#if validator.isNotNull(CardDate)> 
49                            <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate, locale)> 
50                            ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)} 
51                        </#if> 
52                    </li> 
53                </#if> 
54                <#if (MigrationDate.getData())?has_content> 
55                    <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())> 
56                    <#assign migrationDate=	ArticleMigrationDate_Data?datetime("yyyy-MM-dd")?date /> 
57                    <li class="c-news-header__date"> 
58                        ${migrationDate} 
59                    </li> 
60                </#if> 
61                <#if getterUtil.getBoolean(autoPopulateAuthor.getData())> 
62                    <#if (AuthorName.getData())?has_content> 
63                        <li class="c-news-header__author">${AuthorName.getData()}</li> 
64                    <#else> 
65                        <li class="c-news-header__author">${.vars["reserved-article-author-name"].data}</li> 
66                    </#if> 
67                </#if>		 
68            </ul> 
69            <#if (CardTitle.getData())?has_content> 
70                <h1 class="c-section__title mb-0"> 
71                    ${CardTitle.getData()} 
72                </h1> 
73            </#if> 
74        </div> 
75    </section> 
76</#if> 
77<!-- [End] News Header --> 
78<#if categoryName?has_content && categoryName?contains("Press")> 
79<#if (MigrationDate.getData())??> 
80	<#assign currentMonth =  .now?string("yyyy-MM-dd") /> 
81 
82    <#assign ArticleCardDate_Data=getterUtil.getString(MigrationDate.getData())> 
83    <#if validator.isNotNull(ArticleCardDate_Data)> 
84        <#assign startDate=	ArticleCardDate_Data?datetime("yyyy-MM-dd")?date />									  
85        <#assign startMonth=startDate?string["MM"]?number 
86            endMonth=.now?string["MM"]?number 
87            startYear=startDate?string["yyyy"]?number 
88            startDate=startDate?string["dd"]?number 
89            endDate=.now?string["dd"]?number 
90            endYear=.now?string["yyyy"]?number  
91        /> 
92        <#assign diff=endMonth-startMonth+(12*(endYear-startYear)) /> 
93        <#if diff gte 6> 
94            <#if (endDate > startDate)> 
95                <div class="note-div pt-5"> 
96                    <span class="note"><b>Note:</b> This press release is over six months old and the details may have been superseded. Please contact the <u><a href="https://bregroup.com/media-centre/">Press Office</a></u> for the latest information</span> 
97                </div> 
98            </#if> 
99        </#if>									 
100    </#if> 
101</#if> 
102</#if> 
103<!-- [Start] Page Description --> 
104<#if (CardDescription.getData())?has_content> 
105    <section class="c-section"> 
106        <div class="container"> 
107            <div class="c-small-desc"> 
108                ${CardDescription.getData()} 
109            </div> 
110        </div> 
111    </section> 
112</#if> 
113<!-- [End] Page Description --> 
114 
115<!-- [Start] Page Rich Description --> 
116<#if (RichCardDescription.getData())?has_content> 
117    <section class="c-section"> 
118        <div class="container"> 
119            <div class="c-small-desc c-rich-text"> 
120                ${RichCardDescription.getData()} 
121            </div> 
122        </div> 
123    </section> 
124</#if> 
125<!-- [End] Page Rich Description --> 
126 
127 
128<!-- [Start] News Details --> 
129<section class="c-section c-section--gray-f5 c-section--ptb-32"> 
130    <div class="container"> 
131	    <div class="row justify-content-center"> 
132		    <div class="col-lg-12"> 
133                <div class="c-article-details"> 
134 
135                    <#if articleGroup.getSiblings()?has_content> 
136                        <#list articleGroup.getSiblings() as cur_articleGroup> 
137                            <!-- [Start] Logo --> 
138                            <#if (cur_articleGroup.logo.getData())?? && cur_articleGroup.logo.getData() != ""> 
139                                <div class="c-details-logo"> 
140                                    <img class="lazy" loading="lazy" alt="${cur_articleGroup.logo.getAttribute("alt")}" data-fileentryid="${cur_articleGroup.logo.getAttribute("fileEntryId")}" data-src="${articleGroup.logo.getData()}" /> 
141                                </div> 
142                            </#if> 
143                            <!-- [End] Logo --> 
144 
145 
146                            <!-- [Start] Summary --> 
147                            <#if (cur_articleGroup.summary.getData())?has_content> 
148                                <div class="c-summary"> 
149                                    ${cur_articleGroup.summary.getData()} 
150                                </div> 
151                            </#if> 
152                            <!-- [End] Summary --> 
153 
154 
155                            <!-- [Start] Slice --> 
156                            <#if (cur_articleGroup.slice.getData())?has_content> 
157																<div class="c-section-text"> 
158                                    ${cur_articleGroup.slice.getData()} 
159                                </div> 
160                            </#if> 
161                            <!-- [End] Slice --> 
162                     
163 
164                            <!-- [Start] Captioned Image --> 
165                            <#if cur_articleGroup.captionedImage.getSiblings()?has_content && (cur_articleGroup.captionedImage.getSiblings()?size) lte 1> 
166                                <#list cur_articleGroup.captionedImage.getSiblings() as cur_articleGroup_captionedImage> 
167                                    <#if (cur_articleGroup_captionedImage.getData())?? && cur_articleGroup_captionedImage.getData() != ""> 
168                                        <div class="c-captioned-image"> 
169                                            <div class="c-captioned-image__image"> 
170                                                <img class="img-fluid lazy" loading="lazy" alt="${cur_articleGroup_captionedImage.getAttribute("alt")}" data-fileentryid="${cur_articleGroup_captionedImage.getAttribute("fileEntryId")}" data-src="${cur_articleGroup_captionedImage.getData()}" /> 
171                                            </div> 
172                                            <#if cur_articleGroup_captionedImage.getAttribute("alt")?has_content> 
173                                                <div class="c-captioned-image__body"> 
174                                                    ${cur_articleGroup_captionedImage.getAttribute("alt")} 
175                                                </div> 
176                                            </#if> 
177                                        </div> 
178                                    </#if> 
179                                </#list> 
180                            </#if> 
181 
182                            <#-- <#if cur_articleGroup.captionedImage.getSiblings()?has_content && (cur_articleGroup.captionedImage.getSiblings()?size) gt 1 && (cur_articleGroup.captionedImage.getSiblings()?size) lt 3> --> 
183														<#if cur_articleGroup.captionedImage.getSiblings()?has_content && (cur_articleGroup.captionedImage.getSiblings()?size) gt 1> 
184                                <div class="row"> 
185                                    <#list cur_articleGroup.captionedImage.getSiblings() as cur_articleGroup_captionedImage> 
186                                        <#if (cur_articleGroup_captionedImage.getData())?? && cur_articleGroup_captionedImage.getData() != ""> 
187                                            <div class="col-lg-6"> 
188                                                <div class="c-captioned-image"> 
189                                                    <div class="c-captioned-image__image"> 
190                                                        <img class="img-fluid lazy" loading="lazy" alt="${cur_articleGroup_captionedImage.getAttribute("alt")}" data-fileentryid="${cur_articleGroup_captionedImage.getAttribute("fileEntryId")}" data-src="${cur_articleGroup_captionedImage.getData()}" /> 
191                                                    </div> 
192                                                    <#if cur_articleGroup_captionedImage.getAttribute("alt")?has_content> 
193                                                        <div class="c-captioned-image__body"> 
194                                                            ${cur_articleGroup_captionedImage.getAttribute("alt")} 
195                                                        </div> 
196                                                    </#if> 
197                                                </div> 
198                                            </div> 
199                                        </#if> 
200                                    </#list> 
201                                </div>			 
202                            </#if> 
203 
204                           <#-- <#if cur_articleGroup.captionedImage.getSiblings()?has_content && (cur_articleGroup.captionedImage.getSiblings()?size) gte 3> 
205                                <div class="row"> 
206                                    <#list cur_articleGroup.captionedImage.getSiblings() as cur_articleGroup_captionedImage> 
207                                        <#if (cur_articleGroup_captionedImage.getData())?? && cur_articleGroup_captionedImage.getData() != ""> 
208                                            <div class="col-lg-4"> 
209                                                <div class="c-captioned-image"> 
210                                                    <div class="c-captioned-image__image"> 
211                                                        <img class="img-fluid lazy" loading="lazy" alt="${cur_articleGroup_captionedImage.getAttribute("alt")}" data-fileentryid="${cur_articleGroup_captionedImage.getAttribute("fileEntryId")}" data-src="${cur_articleGroup_captionedImage.getData()}" /> 
212                                                    </div> 
213                                                    <#if cur_articleGroup_captionedImage.getAttribute("alt")?has_content> 
214                                                        <div class="c-captioned-image__body"> 
215                                                            ${cur_articleGroup_captionedImage.getAttribute("alt")} 
216                                                        </div> 
217                                                    </#if> 
218                                                </div> 
219                                            </div> 
220                                        </#if> 
221                                    </#list>	 
222                                </div>	 
223                            </#if> --> 
224                            <!-- [End] Captioned Image --> 
225 
226														<!-- [Start] Captioned Image Popup --> 
227<#if cur_articleGroup.captionedImage.getSiblings()?has_content> 
228<div class="c-captioned-image-popup"> 
229	<div class="container"> 
230		<div class="c-captioned-image-popup__header"> 
231			<i class="c-icon c-icon--close c-captioned-image-popup__close"></i> 
232		</div> 
233		<img src="" alt="" class="c-captioned-image-popup__image" /> 
234	</div> 
235</div> 
236<div class="c-captioned-popup__backdrop"></div> 
237</#if> 
238<!-- [End] Captioned Image Popup --> 
239 
240 
241                            <!-- [Start] Image Slider --> 
242                            <#if cur_articleGroup.carouselImage.getSiblings()?has_content && (cur_articleGroup.carouselImage.getSiblings()?size) gt 1> 
243                                <div class="c-article-image-slider c-section--carousel-half slick-carousel slick-carousel--one-half-card ${rn}_Carousel"> 
244                                    <#list cur_articleGroup.carouselImage.getSiblings() as cur_articleGroup_carouselImage> 
245                                        <#if (cur_articleGroup_carouselImage.getData())?? && cur_articleGroup_carouselImage.getData() != ""> 
246                                            <div> 
247                                                <div class="c-image-placeholder"> 
248                                                    <img class="img-fluid lazy" loading="lazy" alt="${cur_articleGroup_carouselImage.getAttribute("alt")}" data-fileentryid="${cur_articleGroup_carouselImage.getAttribute("fileEntryId")}" data-src="${cur_articleGroup_carouselImage.getData()}" /> 
249                                                </div> 
250                                            </div>   
251                                        </#if> 
252                                    </#list> 
253                                </div> 
254                            </#if> 
255                            <!-- [End] Image Slider --> 
256 
257										 
258                            <!-- [start] Highlight Card --> 
259                            <#if cur_articleGroup.HighlightCard.getSiblings()?? && (cur_articleGroup.HighlightCard.getSiblings()?size) lte 1> 
260                                <#list cur_articleGroup.HighlightCard.getSiblings() as cur_articleGroup_HighlightCard> 
261                                    <#if (cur_articleGroup_HighlightCard.HighlightCardTitle.getData())?has_content> 
262                                        <div class="my-3 c-highlight-stackable-card c-highlight-stackable-card--align-bottom c-redirect-cursor" onclick="this.querySelector('a').click(); return true;"> 
263                                            <#if (cur_articleGroup_HighlightCard.HighlightCardImage.getData())?? && cur_articleGroup_HighlightCard.HighlightCardImage.getData() != ""> 
264                                                <div class="c-highlight-stackable-card__image"> 
265                                                    <img class="img-fluid lazy" loading="lazy" alt="${cur_articleGroup_HighlightCard.HighlightCardImage.getAttribute("alt")}" data-fileentryid="${cur_articleGroup_HighlightCard.HighlightCardImage.getAttribute("fileEntryId")}" data-src="${cur_articleGroup_HighlightCard.HighlightCardImage.getData()}" /> 
266                                                </div> 
267                                            </#if> 
268 
269                                            <#if (cur_articleGroup_HighlightCard.HighlightCardTitle.getData())?has_content || (cur_articleGroup_HighlightCard.HighlightCardLinkText.getData())?has_content> 
270                                                <div class="c-highlight-stackable-card__body"> 
271                                                    <#if (cur_articleGroup_HighlightCard.HighlightCardTitle.getData())?has_content> 
272                                                        <div class="c-highlight-stackable-card__title"> 
273                                                            ${cur_articleGroup_HighlightCard.HighlightCardTitle.getData()} 
274                                                        </div> 
275                                                    </#if> 
276 
277                                                    <#if (cur_articleGroup_HighlightCard.HighlightCardLinkText.getData())?has_content> 
278                                                        <a class="c-text-link" href="${cur_articleGroup_HighlightCard.HighlightCardLinkToPage.getFriendlyUrl()}"> 
279                                                            ${cur_articleGroup_HighlightCard.HighlightCardLinkText.getData()} 
280                                                            <i class="c-icon c-icon--right-arrow-blue"></i> 
281                                                        </a> 
282                                                    </#if> 
283                                                </div> 
284                                            </#if> 
285                                        </div> 
286                                    </#if> 
287                                </#list> 
288                            </#if> 
289 
290                            <#if cur_articleGroup.HighlightCard.getSiblings()?has_content && (cur_articleGroup.HighlightCard.getSiblings()?size) gte 2> 
291                                <div class="row py-3"> 
292                                    <#list cur_articleGroup.HighlightCard.getSiblings() as cur_articleGroup_HighlightCard> 
293                                        <div class="col-lg-6 mb-3"> 
294                                            <div class="c-highlight-stackable-card c-highlight-stackable-card--align-bottom c-redirect-cursor" onclick="this.querySelector('a').click(); return true;"> 
295                                                <#if (cur_articleGroup_HighlightCard.HighlightCardImage.getData())?? && cur_articleGroup_HighlightCard.HighlightCardImage.getData() != ""> 
296                                                    <div class="c-highlight-stackable-card__image"> 
297                                                        <img class="img-fluid lazy" loading="lazy" alt="${cur_articleGroup_HighlightCard.HighlightCardImage.getAttribute("alt")}" data-fileentryid="${cur_articleGroup_HighlightCard.HighlightCardImage.getAttribute("fileEntryId")}" data-src="${cur_articleGroup_HighlightCard.HighlightCardImage.getData()}" /> 
298                                                    </div> 
299                                                </#if> 
300 
301                                                <#if (cur_articleGroup_HighlightCard.HighlightCardTitle.getData())?has_content || (cur_articleGroup_HighlightCard.HighlightCardLinkText.getData())?has_content> 
302                                                    <div class="c-highlight-stackable-card__body"> 
303                                                        <#if (cur_articleGroup_HighlightCard.HighlightCardTitle.getData())?has_content> 
304                                                            <div class="c-highlight-stackable-card__title"> 
305                                                                ${cur_articleGroup_HighlightCard.HighlightCardTitle.getData()} 
306                                                            </div> 
307                                                        </#if> 
308                                                         
309                                                        <#if (cur_articleGroup_HighlightCard.HighlightCardLinkText.getData())?has_content> 
310                                                            <a class="c-text-link" href="${cur_articleGroup_HighlightCard.HighlightCardLinkToPage.getFriendlyUrl()}"> 
311                                                                ${cur_articleGroup_HighlightCard.HighlightCardLinkText.getData()} 
312                                                                <i class="c-icon c-icon--right-arrow-blue"></i> 
313                                                            </a> 
314                                                        </#if>							  
315                                                    </div> 
316                                                </#if> 
317 
318                                            </div> 
319                                        </div> 
320                                    </#list> 
321                                </div> 
322                            </#if> 
323                            <!-- [End] Highlight Card --> 
324 
325										 
326                            <!-- [Start] Video --> 
327                            <#if (cur_articleGroup.video.getData())?has_content> 
328                                <div class="c-video">     
329                                    <#if !cur_articleGroup.video.getData()?contains("youtube") && !cur_articleGroup.video.getData()?contains("vimeo")> 
330                                        <div class="c-video__disabled"> 
331                                            ${cur_articleGroup.video.getData()} 
332                                        </div> 
333                                    <#else> 
334                                        ${cur_articleGroup.video.getData()} 
335                                    </#if> 
336                                </div> 
337                            </#if> 
338                            <!-- [End] Video --> 
339 
340 
341                            <!-- [Start] Slice --> 
342                            <#if (cur_articleGroup.slice00.getData())?has_content> 
343																<div class="c-section-text"> 
344                                    ${cur_articleGroup.slice00.getData()} 
345                                </div> 
346                            </#if> 
347                            <!-- [End] Slice --> 
348 
349										 
350                            <!-- [Start] Quotes --> 
351                             
352                                <#assign webContentData=jsonFactoryUtil.createJSONObject(cur_articleGroup.quotes.getData()) /> 
353 
354                                <#if webContentData?? && webContentData.title??> 
355                                    <div class="c-quotes"> 
356                                    <#assign journalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
357                                    <#assign assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
358                                    <#assign asset=assetEntryLocalService.getEntry(webContentData.className, getterUtil.getLong(webContentData.classPK)) /> 
359                                    <#assign assetRenderer=asset.getAssetRenderer() journalArticle=assetRenderer.getAssetObject() /> 
360                                     
361                                    <@liferay_journal["journal-article"]  
362                                        articleId=journalArticle.getArticleId() 
363                                        ddmTemplateKey=journalArticle.getDDMTemplateKey()  
364                                        groupId=journalArticle.getGroupId()  
365                                    /> 
366                                    </div> 
367                                </#if> 
368                             
369                            <!-- [End] Quotes --> 
370 
371										 
372                            <!-- [Start] Slice --> 
373                            <#if (cur_articleGroup.slice01.getData())?has_content> 
374																<div class="c-section-text"> 
375                                    ${cur_articleGroup.slice01.getData()} 
376                                </div> 
377                            </#if> 
378                            <!-- [End] Slice --> 
379 
380                        </#list> 
381                    </#if>		 
382						 
383                    <!-- [Start] Button --> 
384                    <#if (buttonText.getData())?has_content && buttonLink.getFriendlyUrl() == "" && ExternalLink.getData() == ""> 
385                        <a class="c-button c-button--secondary" data-senna-off="true" href="${buttonLink.getFriendlyUrl()}"> 
386                            ${buttonText.getData()} 
387                        </a> 
388                    </#if> 
389 
390                    <#if (buttonText.getData())?has_content && buttonLink.getFriendlyUrl()?has_content> 
391                        <a class="c-button c-button--secondary" data-senna-off="true" href="${buttonLink.getFriendlyUrl()}"> 
392                            ${buttonText.getData()} 
393                        </a> 
394                    </#if> 
395 
396                    <#if (buttonText.getData())?has_content && ExternalLink.getData()?has_content> 
397                        <a class="c-button c-button--secondary" data-senna-off="true" href="${ExternalLink.getData()}" target="_blank"> 
398                            ${buttonText.getData()} 
399                        </a> 
400                    </#if> 
401                    <!-- [End] Button -->						 
402 
403                </div> 
404            </div> 
405        </div> 
406    </div> 
407</section> 
408<!-- [End] News Details --> 
409 
410 
411<!--[Start] Tag option--> 
412<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
413<#assign plid=themeDisplay.getLayout().getParentPlid() /> 
414<#assign pageFriendlyURL=themeDisplay.getLayout().getFriendlyURL() /> 
415<#if plid?exists && plid!=0> 
416   <#assign pageFriendlyURL=LayoutLocalService.getLayout(plid).getFriendlyURL()/> 
417   <#if pageFriendlyURL == "/press-releases-not-in-use" > 
418       <#assign pageFriendlyURL="/media-centre" /> 
419   <#elseif pageFriendlyURL=="/reports" > 
420      <#assign pageFriendlyURL="/reports-categories" /> 
421	<#elseif pageFriendlyURL=="/webinars" > 
422      <#assign pageFriendlyURL="/past-events" /> 
423   </#if> 
424</#if> 
425 
426<#assign newsArticle=false /> 
427<#assign insightsArticle=false /> 
428<section class="c-section c-section--gray-f5 d-none c-article-related-tags" id="articleRelatedTags"> 
429    <div class="container"> 
430        <div class="row justify-content-center"> 
431            <div class="col-lg-12"> 
432                <div class="c-share"> 
433								<h3 class="c-share__title">Related Topics</h3> 
434								<#assign filterCategories = [] /> 
435                <#list assetCategories as category> 
436								   <#assign curCategoryName =category.getName() /> 
437									 <#if curCategoryName=="BREEAM_NEWS" > 
438									    <#assign newsArticle=true /> 
439									 <#elseif curCategoryName=="BREEAM_Insights" > 
440									     <#assign insightsArticle=true /> 
441									 </#if> 
442                   <#if ! excludedCategories?seq_contains(curCategoryName)> 
443                       <#assign filterCategories += [category] /> 
444                   </#if> 
445                </#list> 
446                <#list filterCategories as category> 
447                   <#assign categoryName=category.getName() /> 
448									 <#if ! excludedCategories?seq_contains(categoryName)> 
449									    <#assign urlTitle="" /> 
450                      <#assign curCategoryId = category.getCategoryId() /> 
451                      <#assign curTagFriendlyUrl = "" /> 
452 
453                          <#assign friendlyURLs = friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations 
454													(themeDisplay.getCompanyGroupId(), assetCategoryClassNameId, curCategoryId, localeUtil.toLanguageId(locale), 0, 1, null) /> 
455                            <#if friendlyURLs?size == 1> 
456                                <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() /> 
457                            </#if> 
458														 
459												<#if newsArticle> 
460														    <#assign curTagUrl = "https://breeam.com/news"+ "/tags/" + curTagFriendlyUrl /> 
461												 <#elseif insightsArticle> 
462														    <#assign curTagUrl = "https://breeam.com/insights"+ "/tags/" + curTagFriendlyUrl /> 
463												 <#else> 
464														    <#assign curTagUrl = themeDisplay.getPortalURL() + pageFriendlyURL  + "/tags/" + curTagFriendlyUrl /> 
465											</#if> 
466								        <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a> 
467								   </#if> 
468								</#list> 
469								</div> 
470            </div> 
471        </div> 
472    </div> 
473</section> 
474<!--[End] Tag option--> 
475 
476<style> 
477.c-section .c-section { padding: 0; } 
478 
479.c-article-details a { 
480    color: #1e1836; 
481
482.c-summary ul li,  
483.c-section-text ul li,  
484.c-rich-text ul li { 
485    display: block; 
486    position: relative; 
487    padding-left: 25px; 
488
489.c-summary ul li::before,  
490.c-section-text ul li::before,  
491.c-rich-text ul li::before{ 
492    position: absolute; 
493    left: 0; 
494
495 
496.c-section-text table tr td { 
497		font-size: 18px; 
498		line-height: 21px; 
499		letter-spacing: 1.5px; 
500		padding: 5px; 
501
502.c-captioned-image { cursor: pointer; } 
503.c-captioned-image-popup { 
504    display: none; 
505		overflow-y: auto; 
506    position: fixed; 
507    top: 0; 
508		left: 0; 
509    width: 100%; 
510		height: 100%; 
511    z-index: 1045; 
512		padding: 32px 0; 
513
514.c-captioned-image-popup.open { 
515    display: block; 
516
517.c-captioned-image-popup__header { 
518    display: flex; 
519    justify-content: flex-end; 
520
521.c-captioned-image-popup__header .c-icon--close { 
522    cursor: pointer; 
523
524.c-captioned-image-popup__image { 
525    width: 100%; 
526
527.c-captioned-popup__backdrop { 
528    display: none; 
529    position: fixed; 
530    top: 0; 
531    left: 0; 
532    z-index: 1040; 
533    width: 100vw; 
534    height: 100vh; 
535    background-color: rgba(0, 0, 0, 0.25); 
536
537.c-article-related-tags .c-new-small-tag { 
538		line-height: 1.5rem; 
539		border: solid 1px #1E183680; 
540		padding: 4px 8px; 
541		color: #1E1836; 
542		font-size: 14px; 
543		cursor: pointer; 
544		display: inline-flex; 
545		border-radius: 0; 
546		margin: 0 4px 8px 0;                                                 
547
548.c-article-related-tags .c-new-small-tag:hover { 
549		outline: solid 1px rgba(30, 24, 54, 0.2); 
550		text-decoration: none; 
551		color: #1E1836;         
552
553 
554@media all and (min-width: 1200px) { 
555		.c-news-header .c-news-header__byline, 
556		.c-news-header .c-section__title { padding-left: 4rem; } 
557		 
558		.c-news-header .c-section__title::before { 
559        width: 3.5rem; 
560        height: 3.5rem; 
561				background-image: url("/documents/d/bre-group/back-slash-blue-01"); 
562
563
564</style> 
565 
566<script> 
567$(document).ready(function () { 
568 
569    /*let pageRelatedTagsExists = $('#pageRelatedTags').length > 0; 
570    let articleRelatedTagsExistsSection = $('#articleRelatedTags').length > 0; 
571		let pageRelatedTagsExistsLength = $('#pageRelatedTags .c-share').children('a.c-new-small-tag').length > 0; 
572    let articleRelatedTagsExists = $('#articleRelatedTags .c-share').children('a.c-new-small-tag').length > 0; 
573		 
574    if(pageRelatedTagsExists) { 
575        if(!pageRelatedTagsExistsLength) { 
576            $('#pageRelatedTags').parents('section.c-section.c-section--gray-fb').hide(); 
577
578    } else { 
579       if(articleRelatedTagsExists) { 
580            $('#articleRelatedTags').insertBefore('#footer').removeClass('d-none'); 
581
582			 if(articleRelatedTagsExistsSection) { 
583           $(articleRelatedTagsExistsSection[0]).insertBefore('#footer').removeClass('d-none'); 
584
585		}*/ 
586 
587let pageRelatedTagsExists = $('#pageRelatedTags').length > 0; 
588let pageRelatedTagsExistsLength = $('#pageRelatedTags .c-share').children('a.c-new-small-tag').length > 0; 
589let articleRelatedTagsExists = $('#articleRelatedTags .c-share').children('a.c-new-small-tag').length > 0; 
590		 
591if(pageRelatedTagsExists) { 
592    if(!pageRelatedTagsExistsLength) { 
593        $('#pageRelatedTags').parents('section.c-section.c-section--gray-fb').hide(); 
594
595} else {             
596    let articleRelatedSection = document.querySelectorAll("#articleRelatedTags"); 
597    let relatedTagsBoolean = true; 
598 
599    articleRelatedSection.forEach(relatedArticles => { 
600 
601        let relatedTagsCount = relatedArticles.querySelectorAll('a.c-new-small-tag').length; 
602 
603        if (relatedTagsBoolean && relatedTagsCount != 0) { 
604            relatedTagsBoolean = false; 
605            $(relatedArticles).insertBefore('#footer').removeClass('d-none'); 
606        } else { 
607            $(relatedArticles).addClass('d-none'); 
608
609    }); 
610
611 
612    $('.${rn}_Carousel').slick({ 
613        slidesToShow: 1.5, 
614        slidesToScroll: 1, 
615        arrows: true, 
616        dots: true, 
617        infinite: false, 
618        accessibility: false, 
619        responsive: [ 
620
621                breakpoint: 600, 
622                settings: { 
623                    arrows: false, 
624                    slidesToShow: 1 
625
626
627
628    }); 
629         
630    // Remove unwanted html for white space 
631    let childElement = $('.${rn}_Carousel .slick-track').children(); 
632    if(childElement.length < 1) { 
633         $('.${rn}_Carousel').remove(); 
634
635		 
636		// Captioned Image Popup 
637		$('.c-captioned-image-popup').not(':first').remove(); 
638		$('.c-captioned-popup__backdrop').not(':first').remove(); 
639		 
640		const winWidth = $(window).width(); 
641		 
642		if(winWidth > 992) { 
643			$('body').on('click', '.c-captioned-image', function() { 
644				let imgSource = $(this).children('.c-captioned-image__image').find('img').attr('src'); 
645				//console.log($(this).children('.c-captioned-image__image').find('img').attr('src')); 
646				$('body').css('overflow', 'hidden'); 
647				$('.c-captioned-popup__backdrop').show(); 
648				$('.c-captioned-image-popup').addClass('open'); 
649				$('.c-captioned-image-popup__image').attr('src', imgSource); 
650			}); 
651			 
652			$('.c-captioned-image-popup__close').click(function(){ 
653			  $('body').attr('style', ''); 
654			  $('.c-captioned-popup__backdrop').hide(); 
655				$('.c-captioned-image-popup').removeClass('open');		 
656				$('.c-captioned-image-popup__image').attr('src', ''); 
657			}); 
658
659     
660}); 
661</script>