BREEAM Version 7 set to embrace new Biodiversity Net Gain legislation
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>