Hera Group launches European Green Bond (“EuGB”) of 500 million euros
Hera Custom Facet Publish Date
Custom Facet
Hera Custom Facet Publish Date
Search Bar
Asset Publisher
The €100 million project, launched in 2019, has been completed to support local regeneration and the circular economy

The Ravenna environmental hub, a center dedicated to the circular economy and industrial waste management, is now a reality. The project by Eni and Hera, and in particular their subsidiaries Eni Rewind and Herambiente, represents a model based on industrial regeneration and ecological transition: thanks to the environmental remediation activities carried out by Eni Rewind, which owns the area, and to a total investment of €100 million, a 26-hectare decommissioned site located within the Ravenna district has been restored and repurposed for a new industrial development initiative
The Ravenna Environmental Hub’s facilities will help reduce the structural shortage of plants for managing special waste in Italy, maximizing material recovery and reducing reliance on landfills.
In particular, the HEA platform - a joint venture between HASI (Herambiente Servizi Industriali) and Eni Rewind - is one of the most significant integrated industrial waste management projects in Italy. The HEA platform is a multifunctional facility for the pretreatment of special waste, both solid and liquid, from industrial and remediation activities. It will replace the historic HASI storage platform in Ravenna, introducing more advanced technologies, greater capacity, and increased operational flexibility to meet the needs of Eni Group operations and the wider industrial market.
With a treatment capacity of up to 60,000 tons per year and a multi-line plant configuration, the platform enables a wide range of operations, from storage and repackaging to shredding and mixing. Its main objective is to maximise material recovery and reduce disposals, increasing the efficiency of operations and supporting economies of scale.
For further information
Press release
Visit the HEA web area
Asset Publisher
Hera Group launches European Green Bond (“EuGB”) of 500 million euros
The following has evaluated to null or missing:
==> uid [in template "20099#20135#2877416" at line 375, column 17]
----
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: ${uid} [in template "20099#20135#2877416" at line 375, column 15]
----
1<#assign nomepagina = themeDisplay.getLayout().getName(locale) />
2<#assign
3 originallocale=locale
4/>
5<#assign
6 title = .vars['reserved-article-title'].data
7 descrizione= .vars['reserved-article-description'].data
8 vocabularyId = 0
9 journalArticleServiceUtil = objectUtil("com.liferay.journal.service.JournalArticleServiceUtil")
10 assetVocabularyServiceUtil = objectUtil("com.liferay.asset.kernel.service.AssetVocabularyServiceUtil")
11 vocabulariesList = assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId())
12 journalArticle = journalArticleServiceUtil.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)
13 assetCategoryServiceUtil = objectUtil("com.liferay.asset.kernel.service.AssetCategoryServiceUtil")
14 journalArticleCategories = assetCategoryServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())
15 nomecomune= languageUtil.get(originallocale, "comune-generico")
16 classarticle=title?replace(" ", "_")
17 publishdate=.vars['reserved-article-display-date'].data
18 dateFormat = languageUtil.get(originallocale, "dd_MM_yyyy")
19 comuniVar = languageUtil.get(originallocale, "COMUNI")
20 leftVar = languageUtil.get(originallocale, "leftVar")
21 rightVar = languageUtil.get(originallocale, "rightVar")
22 centerVar = languageUtil.get(originallocale, "centerVar")
23 previousVar = languageUtil.get(originallocale, "previous")
24 nextVar = languageUtil.get(originallocale, "next")
25 titoloAllegati = ""
26 titoloAllegatidoc= ""
27 totGallery = 0
28 articleId = .vars['reserved-article-id'].data
29/>
30<#assign displaydate = .vars['reserved-article-display-date'].data>
31<#assign originalLocale = .locale>
32<#setting locale = localeUtil.getDefault()>
33<#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
34<#assign locale = originalLocale>
35
36<#list vocabulariesList as vocabulary>
37 <#assign vocabularyName = vocabulary.getName() />
38 <#if vocabularyName==comuniVar>
39 <#assign vocabularyId = vocabulary.getVocabularyId() />
40 </#if>
41</#list>
42<#assign listcomuni = [] />
43<#list journalArticleCategories as category>
44 <#if category.vocabularyId == vocabularyId>
45 <#assign listcomuni = listcomuni + [category.name] />
46 </#if>
47</#list>
48<#list listcomuni as comune>
49 <#if (listcomuni?size gt 0)>
50 <#assign nomecomune=nomecomune +"@" + comune />
51 <#else>
52 <#assign nomecomune=comune />
53 </#if>
54</#list>
55<input type="hidden" name="nomecomune" value="${nomecomune}" />
56<section id="hera-generico" class="text-img-section pt-1 pb-1 text-img-section">
57 <div class="container position-relative py-4">
58 <div class="row align-items-center py-2 ">
59
60 <div class="col-md-6">${displaydate?string["dd/MM/yyyy"]}</div>
61 <div class="col-md-6"></div>
62 <#if title!="">
63 <div class="col-md-12">
64 <div class="title-big black-three letter-spacing-sm bolder py-3">
65 ${title}
66 </div>
67 </div>
68 </#if>
69
70 <#if descrizione!="">
71 <div class="col-md-12">
72 <i class="normal greyish-brown letter-spacing-sm">${descrizione}</i>
73 </div>
74 </#if>
75
76 <#if sottotitolo.getData()!="">
77 <div class="col-md-12">
78 <i class="normal greyish-brown letter-spacing-sm">${sottotitolo.getData()}</i>
79 </div>
80 </#if>
81
82 <#if testo_multi.immagine_testo_multi.getData()?? && testo_multi.immagine_testo_multi.getData() != "">
83 <#if testo_multi.immagine_testo_multi.immagine_testo_multi_align.getData()==leftVar>
84 <div class="col-md-3">
85 <img title="${nomepagina}" class="w-100 img-fluid"
86 alt="${testo_multi.immagine_testo_multi.immagine_testo_multi_alt.getData()}"
87 data-fileentryid="${testo_multi.immagine_testo_multi.getAttribute('fileEntryId')}"
88 src="${testo_multi.immagine_testo_multi.getData()}" />
89 <p>${testo_multi.immagine_testo_multi.getAttribute("alt")}</p>
90 </div>
91 <div class="col-md-9">
92 <div class=" greyish-brown letter-spacing-sm"> ${testo_multi.getData()}</div>
93 </div>
94 </#if>
95 <#if testo_multi.immagine_testo_multi.immagine_testo_multi_align.getData()==rightVar>
96 <div class="col-md-9">
97 <div class=" greyish-brown letter-spacing-sm">
98 ${testo_multi.getData()}
99 </div>
100 </div>
101 <div class="col-md-3">
102 <img title="${nomepagina}" class="w-100 img-fluid"
103 alt="${testo_multi.immagine_testo_multi.immagine_testo_multi_alt.getData()}"
104 data-fileentryid="${testo_multi.immagine_testo_multi.getAttribute('fileEntryId')}"
105 src="${testo_multi.immagine_testo_multi.getData()}" />
106 <p>${testo_multi.immagine_testo_multi.getAttribute("alt")}</p>
107 </div>
108 </#if>
109 <#if testo_multi.immagine_testo_multi.immagine_testo_multi_align.getData()==centerVar || testo_multi.immagine_testo_multi.immagine_testo_multi_align.getData()=="">
110 <div class="col-md-12 text-center">
111 <img alt="" class="w-100 img-fluid py-4"
112 alt="${testo_multi.immagine_testo_multi.immagine_testo_multi_alt.getData()}"
113 data-fileentryid="${testo_multi.immagine_testo_multi.getAttribute('fileEntryId')}"
114 src="${testo_multi.immagine_testo_multi.getData()}" />
115 </div>
116 <div class="col-md-12">
117 <div class=" greyish-brown letter-spacing-sm">
118 ${testo_multi.getData()}
119 </div>
120 </div>
121 </#if>
122 <#else>
123 <div class="col-md-12">
124 <p class=" greyish-brown letter-spacing-sm"> ${testo_multi.getData()}</p>
125 </div>
126 </#if>
127
128 <#if galleria??>
129 <#if galleria.immagineGalleria.getData()?? && galleria.immagineGalleria.getData() != "">
130 <#list galleria.getSiblings() as cur_image>
131 <#assign totGallery = totGallery + 1>
132 </#list>
133 <#assign
134 galleryCss = ""
135 galleryBackground = "black-bg"
136 galleryWidth = "w-75"
137 />
138 <#if totGallery lt 2>
139 <#assign
140 galleryCss = "d-none"
141 galleryBackground = "white-two-bg"
142 galleryWidth = "w-100"
143 />
144 </#if>
145 <#assign margin = "" />
146 <#assign uid = randomNamespace!articleId />
147 <section id="gallery-carousel" class="container position-relative">
148 <div id="multimedia-carousel" data-interval="false" class="carousel slide prelative multimedia-carousel-${uid}" data-ride="carousel">
149 <div class="carousel-inner ${galleryBackground}">
150 <#list galleria.getSiblings() as cur_image>
151 <#assign
152 backgroundImage = ""
153 margin = ""
154 />
155 <#if cur_image.videoGalleria.getData()?has_content>
156 <#assign margin = "margin: auto!important;" />
157 <#elseif cur_image.immagineGalleria.getData()?has_content>
158 <#assign backgroundImage = "background-image: url('${cur_image.immagineGalleria.getData()}');background-size: contain!important;background-position: center;" />
159 </#if>
160 <div id="gallery-carousel-slide-${cur_image?index}" class="gallery-carousel-slide ${(cur_image?counter == 1)?then('active', '')} carousel-item" style="${backgroundImage}" data-toggle="modal" data-target=".galleryModal-${uid}">
161 <div class="h-100 position-relative">
162 <div style="${margin}" class="carousel-item-content w-lg-100 pr-0 px-lg-3 ${galleryWidth} h-100">
163 <#if cur_image.videoGalleria.getData()?has_content>
164 <#if cur_image.DidascaliaPreImmagine??>
165 <#if cur_image.DidascaliaPreImmagine.getData()!="">
166 <div id="progetto-didascalia" class="small black px-2 py-1">${cur_image.DidascaliaPreImmagine.getData()}</div>
167 </#if>
168 </#if>
169 <#assign videourl="https://www.youtube.com/embed/"+cur_image.videoGalleria.getData() />
170 <input type="hidden" id="coockieinput" class="coockieinput" value="${videourl}">
171 <iframe class="coockieinput-iframe" frameBorder="0" width="100%" height="100%" src=""></iframe>
172 </#if>
173 </div>
174 </div>
175 </div>
176 </#list>
177 </div>
178 <a class="carousel-control carousel-control-prev ${galleryCss}" href=".multimedia-carousel-${uid}" role="button" data-slide="prev">
179 <i class="icon-arrow-l darkish-color title-bigger"></i>
180 <span class="sr-only">${previousVar}</span>
181 </a>
182 <a class="carousel-control carousel-control-next ${galleryCss}" href=".multimedia-carousel-${uid}" role="button" data-slide="next">
183 <i class="icon-arrow-r darkish-color title-bigger"></i>
184 <span class="sr-only">${nextVar}</span>
185 </a>
186 </div>
187 <div class="modal fade galleryModal-${uid}" id="galleryModal" tabindex="-1" role="dialog" aria-hidden="true">
188 <div class="modal-dialog" role="document">
189 <div class="modal-content">
190 <div class="modal-body">
191 <button type="button" class="close" aria-label="Close" data-dismiss="modal">
192 <span aria-hidden="true">×</span>
193 </button>
194 <div id="multimedia-carousel-modal" data-interval="false" class="carousel slide prelative multimedia-carousel-modal-${uid}" data-ride="carousel">
195 <ol class="carousel-indicators pabsolute">
196 <#list galleria.getSiblings() as cur_image>
197 <li id="gallery-carousel-slide-modal-${cur_image?index}" class="gallery-modal-carousel-slide gallery-carousel-slide-${cur_image?index} ${(cur_image?counter == 1)?then('active', '')}" data-slide-to="${(cur_image?counter == 1)?then(0, (cur_image?counter - 1))}" data-target='.multimedia-carousel-modal-${uid}'></li>
198 </#list>
199 </ol>
200 <div class="carousel-inner black-bg">
201 <#list galleria.getSiblings() as cur_image>
202 <#assign
203 backgroundImage = ""
204 margin = ""
205 />
206 <#if cur_image.videoGalleria.getData()?has_content>
207 <#assign margin = "margin: auto!important;" />
208 <#elseif cur_image.immagineGalleria.getData()?has_content>
209 <#assign backgroundImage = "background-image: url('${cur_image.immagineGalleria.getData()}');background-size: contain!important;background-position: center;" />
210 </#if>
211 <div id="gallery-carousel-slide-modal-${cur_image?index}" class="gallery-carousel-slide ${(cur_image?counter == 1)?then('active', '')} carousel-item" style="${backgroundImage}" data-toggle="modal" data-target=".galleryModal-${uid}">
212 <div class="h-100 position-relative">
213 <div style="${margin}" class="carousel-item-content w-lg-100 pr-0 px-lg-3 ${galleryWidth} h-100">
214 <#if cur_image.videoGalleria.getData()?has_content>
215 <iframe frameBorder="0" width="100%" height="100%" src="https://www.youtube.com/embed/${cur_image.videoGalleria.getData()}"></iframe>
216 </#if>
217 </div>
218 </div>
219 </div>
220 </#list>
221 </div>
222 </div>
223 </div>
224 </div>
225 </div>
226 </div>
227
228 <div class="clearfix ${galleryCss}">
229 <div id="thumbcarousel" class="d-none d-lg-block black-bg py-3" data-interval="false">
230 <div class="carousel-inner owl-carousel owl-theme owl-loaded owl-drag">
231 <#list galleria.getSiblings() as cur_image>
232 <#if cur_image.immagineGalleria.getData()?has_content>
233 <#if cur_image.videoGalleria.getData()!= "">
234 <#assign margin = "margin: auto!important;" />
235 </#if>
236 <div id="progetto-video-container" data-target=".multimedia-carousel-${uid}" data-slide-to="${(cur_image?counter == 1)?then(0, (cur_image?counter - 1))}">
237 <#if cur_image.videoGalleria.getData() != "">
238 <div id="progetto-video-item" width="100" height="80" style="background-image: url('${cur_image.immagineGalleria.getData()}');">
239 <img title="${nomepagina}" class="text-center py-4" src="/o/gruppohera-theme/images/play-video.png" />
240 </div>
241 <#else>
242 <img title="${nomepagina}" class="w-100" width="100" height="80" src="${cur_image.immagineGalleria.getData()}" />
243 </#if>
244 </div>
245 </#if>
246 </#list>
247 </div>
248 </div>
249 </div>
250 </section>
251 </#if>
252 </#if>
253
254
255
256 <div class="col-md-12 py-2">
257 <#if link_multi.getSiblings()?has_content && link_multi.getData()!="">
258
259 <#if titolo_link??>
260
261 <#if titolo_link.getData() == "">
262 <#assign titoloAllegati = "" />
263
264 <#else>
265 <#assign titoloAllegati = titolo_link.getData() />
266 </#if>
267 </#if>
268
269 <h4>${titoloAllegati}</h4>
270
271 <#list link_multi.getSiblings() as cur_link_multi>
272 <#if cur_link_multi.link_multi_descr.getData()!="">
273
274 <a class="linktogo bigger py-2" href="${cur_link_multi.getData()}">
275 <i class="icon-arrow-r d-inline"></i>
276 <span class="d-inline">${cur_link_multi.link_multi_descr.getData()}</span>
277 </a>
278 <br/>
279 </#if>
280
281 </#list>
282 </#if>
283
284 <#if allegato_multi.getSiblings()?has_content && allegato_multi.getData()!="">
285
286 <#if titolo_allegati??>
287
288 <#if titolo_allegati.getData() == "">
289 <#assign titoloAllegatidoc = languageUtil.get(originallocale, "documenti-e-modulistica") />
290
291 <#else>
292 <#assign titoloAllegatidoc = titolo_allegati.getData() />
293 </#if>
294 </#if>
295
296 <h4>${titoloAllegatidoc}</h4>
297
298 <#list allegato_multi.getSiblings() as cur_documentoAllegato>
299 <#assign dlFileEntryService = objectUtil("com.liferay.document.library.kernel.service.DLFileEntryServiceUtil") />
300 <#if cur_documentoAllegato.getData() !="">
301 <#assign counterDocAll = 0 />
302 <#list "${cur_documentoAllegato.getData()}"?split("/") as xDocAll>
303 <#if counterDocAll == 2>
304 <#assign groupIdDocAll = xDocAll?number />
305 </#if>
306 <#if counterDocAll == 5>
307 <#assign
308 uuIdDocAll = xDocAll
309 counterUuIdDocAll = 0
310 />
311 <#list "${xDocAll}" ?split("?") as xUuIdDocAll>
312 <#if counterUuIdDocAll == 0>
313 <#assign uuIdDocAll = xUuIdDocAll />
314 </#if>
315 <#assign counterUuIdDocAll = counterUuIdDocAll + 1 />
316 </#list>
317 </#if>
318 <#assign counterDocAll = counterDocAll + 1 />
319 </#list>
320 <#assign fileDocAll = dlFileEntryService.getFileEntryByUuidAndGroupId(uuIdDocAll, groupIdDocAll) />
321 <div class="col-md-12 py-2">
322 <a href="${cur_documentoAllegato.getData()}" class="docdownload black-three big letter-spacing-sm" target="_blank">
323 <i class="d-inline icon-doc gradient-text x-bigger"></i>
324 <span class="d-inline">
325 ${fileDocAll.fileName?replace('.pdf|.PDF', '', 'r')}
326 </span>
327 </a>
328 </div>
329 </#if>
330 </#list>
331 </#if>
332 </div>
333 </div>
334 </div>
335</section>
336
337<div class="row">
338 <div class="col-md-6">
339 </div>
340 <div class="col-md-6">
341 <a class="black-three text-right letter-spacing-sm small bolder float-right" href="${languageUtil.get(originallocale, 'gruppo-media-news')}"> ${languageUtil.get(originallocale, "vai-alle-news")} <i class="icon-arrow-r align-sub ml-1"></i> </a>
342 </div>
343</div>
344
345<style>
346#hera-generico ul {
347 list-style: disc!Important;
348 padding-left: 20px;
349}
350
351.gallery-carousel-instance[data-gallery="false"]:before {
352 content: '';
353 position: absolute;
354 top: 0;
355 left: 0;
356 bottom: 0;
357 left: 0;
358 background-color: transparent!important;
359 z-index: 7;
360 width: 100%;
361 height: 100%;
362}
363
364p.nocookie-text {
365 background: black;
366}
367
368.gallery-carousel-instance .carousel-item {
369 background-size: cover !important;
370 background-position: top right;
371 background-repeat: no-repeat;
372 height: 640px;
373}
374
375.galleryModal-${uid} .carousel-item {
376 height: 100%;
377 background-size: contain !important;
378 background-position: center;
379}
380.modal.galleryModal-${uid} .modal-dialog {
381 max-width: none;
382 height: 99vh !important;
383}
384.modal.galleryModal-${uid} .modal-content,
385.modal.galleryModal-${uid} .modal-body {
386 height: 100%;
387 padding: 0;
388}
389
390.gallery-carousel-instance .carousel-indicators {
391 z-index: 5 !important;
392 bottom: 15px;
393}
394
395.modal.galleryModal-${uid} .modal-dialog #multimedia-carousel-modal.multimedia-carousel-modal-${uid} .carousel-indicators{
396 bottom:30px;
397}
398
399.thumbcarousel .owl-carousel .owl-item {
400 cursor:pointer
401}
402
403#gallery-carousel .carousel-control {
404 top: 45%!important;
405 }
406.carousel-control {
407 text-decoration: none !important;
408
409}
410
411.carousel-control i {
412 color: #262626 !important;
413 background: none !important;
414 -webkit-text-fill-color: initial !important;
415 border-radius: 50%;
416 background: radial-gradient(circle, rgba(255, 255, 255, 0.6) 66%, rgba(255, 255, 255, 0) 0%) !important;
417}
418
419.carousel-control-prev:hover i, .carousel-control-next:hover i {
420 background: radial-gradient(circle, rgba(255, 255, 255, 1) 66%, rgba(255, 255, 255, 0) 0%) !important;
421}
422
423</style>