An error occurred while processing the template.
The following has evaluated to null or missing:
==> SeparatorBackground.CantoUrl.UrlEternalMobile  [in template "20115#20151#196879" at line 151, column 34]

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

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if SeparatorBackground.CantoUrl.UrlE...  [in template "20115#20151#196879" at line 151, column 29]
----
1<#assign siteExpandoBridge = themeDisplay.getScopeGroup().getExpandoBridge() /> 
2<#assign new_restyle = (siteExpandoBridge.hasAttribute("new-restyle")?then(getterUtil.getBoolean(siteExpandoBridge.getAttribute("new-restyle", false)),false)) /> 
3<#if new_restyle?? && new_restyle> 
4 
5    <@leonardo.articleInfo .vars "(A, A1) Hero banner"/> 
6    <section class="sticky-container"> 
7 
8        <#if 
9        (SeparatorBackground.YoutubeId.getData() == "") && 
10        (SeparatorBackground.Video.getData() == "") && 
11        !((SeparatorBackground.CantoUrl)?? && SeparatorBackground.CantoUrl.getData() != "") && 
12        (!(SeparatorBackground.Image.getData()??) || SeparatorBackground.Image.getData() == "") 
13
14 
15            <div class="container-full-width header-safe-area black"> 
16                <div class="container no-side-padding hero-image black"> 
17                    <div class="text-content text-center hero-02-text-container"> 
18                        <#if Title.getData() != ""> 
19                            <h1 class="title-hero-02 m-0"><@leonardo.escapeTitle title=Title.getData()/></h1> 
20                        </#if> 
21                        <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !='' || Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
22                            <div class="body-medium text-center mt-4"> 
23                                <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !=''> 
24                                    <@leonardo.escapeTitle title=Title.DescriptionLeft.getData()/><br /> 
25                                </#if> 
26                                <#if Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
27                                    <@leonardo.escapeTitle title=Title.DescriptionRight.getData()/> 
28                                </#if> 
29                            </div> 
30                        </#if> 
31                    </div> 
32                </div> 
33            </div> 
34 
35        <#else> 
36 
37            <#if SeparatorBackground.YoutubeId.getData() == "" && SeparatorBackground.Video.getData() == "" && 
38            !((SeparatorBackground.CantoUrl)?? && SeparatorBackground.CantoUrl.getData() != "") && 
39            SeparatorBackground.Image.getData()?? && SeparatorBackground.Image.getData() != ""> 
40                <#assign scalingDetails = { 
41                "desktop": {"alternateImage": {}, "key": "h_560"}, 
42                "tl": {"alternateImage": SeparatorBackground.Image.ImageTl!, "key": "h_560"}, 
43                "tp": {"alternateImage": SeparatorBackground.Image.ImageTp!, "key": "h_560"}, 
44                "mobile": {"alternateImage": SeparatorBackground.Image.ImageM!, "key": "w_596"} 
45                }> 
46                <#assign slideImg = leonardo.adaptImage(SeparatorBackground.Image!, scalingDetails )> 
47                <!-- Image Banner --> 
48                <div class="container-full-width black hero-image-small <#if !(SeparatorBackground.Image.ImageM?has_content) || SeparatorBackground.Image.ImageM.getData() ==''>product</#if>"> 
49                    <div class="hero-bottom-gradient"> 
50                       <picture class="bg-picture"> 
51                            <source 
52                                    srcset="${slideImg.mobile?replace(" ", "%20")!}" 
53                                    media="(max-width: 576px)" 
54
55                            <source 
56                                    srcset="${slideImg.tablet_portrait?replace(" ", "%20")!}" 
57                                    media="(max-width: 768px)" 
58
59                            <source 
60                                    srcset="${slideImg.tablet_landscape?replace(" ", "%20")!}" 
61                                    media="(max-width: 1024px)" 
62
63                            <img 
64                                    class="img-fluid bg" 
65                                    src="${slideImg.desktop?replace(" ", "%20")!}" 
66                                    alt="${slideImg.alt_desktop!}" fetchpriority="high" loading="eager" 
67
68                        </picture> 
69 
70                        <div class="text-content container"> 
71                            <#if Title.getData() != ""> 
72                                <h1 class="title-hero-02 mb-0"><@leonardo.escapeTitle title=Title.getData()/></h1> 
73                            </#if> 
74                            <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !='' || Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
75                                <div class="body-medium text-center mt-4"> 
76                                    <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !=''> 
77                                        <@leonardo.escapeTitle title=Title.DescriptionLeft.getData()/><br /> 
78                                    </#if> 
79                                    <#if Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
80                                        <@leonardo.escapeTitle title=Title.DescriptionRight.getData()/> 
81                                    </#if> 
82                                </div> 
83                            </#if> 
84                        </div> 
85                    </div> 
86                </div> 
87                <#if SeparatorBackground.Image.ImageM.getData()?? && SeparatorBackground.Image.ImageM.getData() != ""> 
88                    <script> 
89                        window.addEventListener("load", () => { 
90                            const EXPECTED_HEIGHT = 844; 
91 
92                            const heroBlocks = document.querySelectorAll( 
93                                ".hero-image-small" 
94                            ); 
95                     
96                            heroBlocks.forEach((heroBlock) => { 
97                                const picture = heroBlock.querySelector("picture.bg-picture"); 
98                     
99                                if (!picture) return; 
100                     
101                                const mobileSource = Array.from(picture.querySelectorAll("source")).find( 
102                                    (source) => source.media && source.media.includes("max-width: 576px") 
103                                ); 
104                     
105                                if (!mobileSource) return; 
106                     
107                                const mobileSrc = (mobileSource.getAttribute("srcset") || "").trim(); 
108                     
109                                const imageElement = new Image(); 
110                     
111                                imageElement.onload = () => { 
112                                    const height = imageElement.naturalHeight; 
113                                    const isValidHeight = height >= EXPECTED_HEIGHT; 
114 
115                                    if (!isValidHeight) { 
116                                        heroBlock.classList.add("product"); 
117
118                     
119                                }; 
120                     
121                                imageElement.onerror = () => { 
122                                    console.warn("Errore nel caricamento della mobile image:", mobileSrc); 
123                                }; 
124                     
125                                imageElement.src = mobileSrc; 
126                            }); 
127                        }); 
128                    </script> 
129                </#if> 
130                 
131            <#elseif (SeparatorBackground.CantoUrl.getData())?has_content> 
132                <#assign autoplay = "" /> 
133                <#assign loop = "" /> 
134                <#assign bar = "" /> 
135                <#if (SeparatorBackground.CantoUrl.CantoAutoPlay.data)?has_content && getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoAutoPlay.getData())> 
136                    <#assign autoplay = "autoplay muted playsinline webkit-playsinline" /> 
137                </#if> 
138                <#if (SeparatorBackground.CantoUrl.CantoLoop.data)?has_content && getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoLoop.getData())> 
139                    <#assign loop = "loop" /> 
140                </#if> 
141                <#if (SeparatorBackground.CantoUrl.CantoControlBar.data)?has_content && getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoControlBar.getData())> 
142                    <#assign bar = "controls='controls'" /> 
143                </#if> 
144 
145 
146                <!-- Canto Video Banner--> 
147                 
148                <div class="container-full-width header-safe-area black"> 
149                    <div class="hero-video hero-bottom-gradient <#if bar !=''>no-after</#if>"> 
150                        <video preload="auto" ${autoplay} ${loop} ${bar} <#if bar !=''>style="z-index:4"</#if>> 
151                            <#if SeparatorBackground.CantoUrl.UrlEternalMobile.getData() !=''> 
152                                <source 
153                                        src="${SeparatorBackground.CantoUrl.UrlEternalMobile.getData()}" 
154                                        media="(max-width: 575.98px)" 
155                                        type="video/mp4"> 
156                            </#if> 
157                            <source 
158                                    src="${SeparatorBackground.CantoUrl.getData()}" 
159                                    media="(min-width: 576px)" 
160                                    type="video/mp4"> 
161                        </video> 
162                        <div class="text-content container"> 
163                            <#if !(SeparatorBackground.CantoUrl.CantoControlBar.data?has_content 
164                            && getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoControlBar.getData()))> 
165                                <#if Title.getData() != ""> 
166                                    <h1 class="title-hero-01 mb-0">${Title.getData()}</h1> 
167                                </#if> 
168                                <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !='' || Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
169                                    <div class="body-medium text-center mt-4"> 
170                                        <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !=''> 
171                                            <@leonardo.escapeTitle title=Title.DescriptionLeft.getData()/><br /> 
172                                        </#if> 
173                                        <#if Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
174                                            <@leonardo.escapeTitle title=Title.DescriptionRight.getData()/> 
175                                        </#if> 
176                                    </div> 
177                                </#if> 
178                            </#if> 
179                        </div> 
180                    </div> 
181                </div> 
182                <script> 
183                  const heroVideo = document.querySelector(".hero-video video"); 
184                  heroVideo.muted = true; 
185                  heroVideo.playsInline = true; 
186                  heroVideo.play().catch(() => {}); 
187                </script> 
188                
189            <#elseif (SeparatorBackground.YoutubeId.getData())?has_content > 
190                <!-- YT Video Banner --> 
191                <div class="container-full-width black"> 
192                    <div class="hero-video hero-bottom-gradient hero-yt <#if !getterUtil.getBoolean(SeparatorBackground.YoutubeId.YoutubeAutoPlay.getData())>no-after</#if>"> 
193                        <div class="yt-content"> 
194                            <div class="embed-responsive embed-responsive-16by9"> 
195                                <#assign autoplay = "" /> 
196                                <#assign mute = "" /> 
197 
198                                <#if getterUtil.getBoolean(SeparatorBackground.YoutubeId.YoutubeAutoPlay.getData())> 
199                                    <#assign autoplay = "?autoplay=1&mute=1&controls=0&rel=0" /> 
200                                <#elseif getterUtil.getBoolean(SeparatorBackground.YoutubeId.YoutubeMute.getData())> 
201                                    <#assign autoplay = "?mute=1&controls=1&rel=0" /> 
202                                <#else> 
203                                    <#assign autoplay = "?controls=1&rel=0" /> 
204                                </#if> 
205                                <iframe class="embed-responsive-item" width="100%" 
206                                        height="100%" 
207                                        title="<#if Title.getData() != ''>${Title.getData()}<#else>video youtube</#if>" 
208                                        frameborder="0" 
209                                        allow="autoplay; fullscreen; encrypted-media" 
210                                        allowfullscreen 
211                                        playsinline src="https://www.youtube.com/embed/${SeparatorBackground.YoutubeId.getData()}${autoplay}" 
212
213                                </iframe> 
214                            </div> 
215 
216                        </div> 
217                        <#if Title.getData() != "" || Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !='' || Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
218                            <#if getterUtil.getBoolean(SeparatorBackground.YoutubeId.YoutubeAutoPlay.getData())> 
219                                <div class="text-content container"> 
220                                    <#if Title.getData() != ""> 
221                                        <h1 class="title-hero-01 mb-0"><@leonardo.escapeTitle title=Title.getData()/></h1> 
222                                    </#if> 
223                                    <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !='' || Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
224                                        <div class="body-medium text-center mt-4"> 
225                                            <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !=''> 
226                                                <@leonardo.escapeTitle title=Title.DescriptionLeft.getData()/><br /> 
227                                            </#if> 
228                                            <#if Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
229                                                <@leonardo.escapeTitle title=Title.DescriptionRight.getData()/> 
230                                            </#if> 
231                                        </div> 
232                                    </#if> 
233                                </div> 
234                            </#if> 
235                        </#if> 
236                    </div> 
237                </div> 
238 
239            <#elseif SeparatorBackground.Video.getData() != ""> 
240                <!-- Video DM --> 
241                <div class="container-full-width black header-safe-area"> 
242                    <div class="hero-video hero-bottom-gradient"> 
243                        <video preload="auto" src="${SeparatorBackground.Video.getData()}" <#if SeparatorBackground.Video.VideoType.getData() !=''> 
244                            type="${SeparatorBackground.Video.VideoType.getData()}"</#if> muted autoplay loop> 
245                        </video> 
246                        <div class="text-content container"> 
247                            <#if Title.getData() != ""> 
248                                <h1 class="title-hero-01 mb-0"><@leonardo.escapeTitle title=Title.getData()/></h1> 
249                            </#if> 
250                            <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !='' || Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
251                                <div class="body-medium text-center mt-4"> 
252                                    <#if Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !=''> 
253                                        <@leonardo.escapeTitle title=Title.DescriptionLeft.getData()/><br /> 
254                                    </#if> 
255                                    <#if Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
256                                        <@leonardo.escapeTitle title=Title.DescriptionRight.getData()/> 
257                                    </#if> 
258                                </div> 
259                            </#if> 
260                        </div> 
261                    </div> 
262                </div> 
263            </#if> 
264        </#if> 
265        <#if Title.TextUnderHero?? && Title.TextUnderHero.getData() !=''> 
266            <div class="static-text"> 
267                <div class="container-full-width"> 
268                    <div class="container"> 
269                        <div class="title-medium"> 
270                            <#if Title.TextUnderHero?? && Title.TextUnderHero.getData() !=''> 
271                                ${Title.TextUnderHero.getData()} 
272                            <#elseif Title.DescriptionLeft.getData()?? && Title.DescriptionLeft.getData() !=''> 
273                                <@leonardo.escapeTitle title=Title.DescriptionLeft.getData()/><br /> 
274                            <#elseif Title.DescriptionRight.getData()?? && Title.DescriptionRight.getData() !=''> 
275                                <@leonardo.escapeTitle title=Title.DescriptionRight.getData()/> 
276                            </#if> 
277                        </div> 
278                    </div> 
279                </div> 
280            </div> 
281        </#if> 
282    </section> 
283    <#if Title.TextUnderHero?? && Title.TextUnderHero.getData() !=''> 
284        <script> 
285            window.addEventListener('load', () => { 
286                const text = document.querySelector('.sticky-container .static-text'); 
287                const menu = document.querySelector('.menu-fixed-grey'); 
288 
289                if (text && menu) { 
290                    const heightText = text.offsetHeight; 
291                    const currentBottom = parseFloat(getComputedStyle(menu).bottom) || 0; 
292                    menu.style.bottom = (currentBottom + heightText) + 'px'; 
293
294            }); 
295        </script> 
296    </#if> 
297 
298<#else> 
299  <@leonardo.articleInfo .vars "(A, A1) Hero banner"/> 
300 
301  <style> 
302  html.leo18 .leonardocompany .hero-slide .hero-slide--content--title a.title-cta:hover, 
303  html.leo18 .leonardocompany .hero-slide .hero-slide--content--title a.title-cta:active, 
304  html.leo18 .leonardocompany .hero-slide .hero-slide--content--title a.title-cta:focus, 
305  body.leo18 .leonardocompany .hero-slide .hero-slide--content--title a.title-cta:hover, 
306  body.leo18 .leonardocompany .hero-slide .hero-slide--content--title a.title-cta:active, 
307  body.leo18 .leonardocompany .hero-slide .hero-slide--content--title a.title-cta:focus { 
308      text-decoration: inherit; 
309      color: inherit; 
310
311 
312 
313  </style> 
314 
315 
316  <#assign noOpacity = "${randomNamespace}opacity"> 
317 
318  <#if (SeparatorBackground.Image.disableOpacityFilter.data)?has_content && getterUtil.getBoolean(SeparatorBackground.Image.disableOpacityFilter.getData()) > 
319      <style> 
320      html.leo18.dark-theme body #wrapper.leonardocompany .hero .hero-slide.${noOpacity}::before { 
321          background-color: rgba(0, 0, 0, 0); 
322
323      </style> 
324  </#if> 
325 
326  <#assign rndNamespace = randomNamespace> 
327 
328  <#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
329  <#assign currentGroupExpandoBridge = themeDisplay.getScopeGroup().getExpandoBridge()> 
330  <#assign isDarkTheme = false> 
331 
332  <#if currentGroupExpandoBridge.hasAttribute("dark-theme")> 
333      <#assign isDarkTheme = currentGroupExpandoBridge.getAttribute("dark-theme", false)> 
334  </#if> 
335 
336  <div class="section-container section-container--fluid herobanner"> 
337 
338    <#if SeparatorBackground.Image.getData()?? && SeparatorBackground.Image.getData() != "" > 
339      <#if (SeparatorBackground.HalfSize.data)?has_content && getterUtil.getBoolean(SeparatorBackground.HalfSize.getData())> 
340        <#assign scalingDetails = { 
341           "desktop": {"alternateImage": {}, "key": "w_1440"}, 
342           "tl": {"alternateImage": SeparatorBackground.Image.ImageTl!, "key": "h_400"}, 
343           "tp": {"alternateImage": SeparatorBackground.Image.ImageTp!, "key": "h_1024"}, 
344           "mobile": {"alternateImage": SeparatorBackground.Image.ImageM!, "key": "h_560"} 
345        }> 
346      <#else> 
347        <#assign scalingDetails = { 
348           "desktop": {"alternateImage": {}, "key": "w_1440"}, 
349           "tl": {"alternateImage": SeparatorBackground.Image.ImageTl!, "key": "h_703"}, 
350           "tp": {"alternateImage": SeparatorBackground.Image.ImageTp!, "key": "h_959"}, 
351           "mobile": {"alternateImage": SeparatorBackground.Image.ImageM!, "key": "h_602"} 
352        }> 
353      </#if> 
354      <#assign slideImg = leonardo.adaptImage(SeparatorBackground.Image!, scalingDetails )> 
355    </#if> 
356 
357    <#if SearchBox?? && getterUtil.getBoolean(SearchBox.getData())> 
358      <#if SeparatorBackground.Image.getData()?? && SeparatorBackground.Image.getData() != "" > 
359        <div class="search-widget-local heroSearchWidget" 
360           data-img-url-d="${slideImg.desktop!}" 
361           data-img-url-tl="${slideImg.tablet_landscape!}" 
362           data-img-url-tp="${slideImg.tablet_portrait!}" 
363           data-img-url-m="${slideImg.mobile!}" 
364           style='' 
365
366        <noscript> 
367          <img src="${slideImg.desktop!}" alt='${slideImg.alt_desktop!}'> 
368          <img src="${slideImg.tablet_landscape!}" alt='${slideImg.alt_landscape! slideImg.alt_tablet_landscape!}'> 
369          <img src="${slideImg.tablet_portrait!}" alt='${slideImg.alt_tablet_portrait! slideImg.alt_tablet_portrait!}'> 
370          <img src="${slideImg.mobile!}" alt='${slideImg.alt_mobile! slideImg.alt_mobile!}'> 
371        </noscript> 
372      <#else> 
373      <div class="search-widget-local"> 
374      </#if> 
375      <#if isDarkTheme> 
376              <#if Title.preTitle ?? && Title.preTitle.getData() != ""> 
377                  <div class="hero-slide--content--pre-title">${Title.preTitle.getData()}</div> 
378              </#if> 
379          </#if> 
380      <#if Title.getData() != ""> 
381        <#if Title.isH1?? && getterUtil.getBoolean(Title.isH1.getData())> 
382          <h1 class="search-widget-local--title"><@leonardo.escapeTitle title=Title.getData()/></h1> 
383        <#else> 
384          <div class="search-widget-local--title"><@leonardo.escapeTitle title=Title.getData()/></div> 
385        </#if> 
386      </#if> 
387        <div class="search-widget-local--content"> 
388        <label class="search-widget-local--content--search-label" for="inp-search-local">Enter search text</label> 
389        <#if SearchBox.Placeholder?? && SearchBox.Placeholder.getData() != "" && SearchBox.ClusterID?? && SearchBox.ClusterID.getData() != "" > 
390          <input autofocus class="search-widget-local--content--search-text" id="inp-search-local" type="text" maxlength="50" 
391            placeholder="${SearchBox.Placeholder.getData()!}" data-cluster-id="${SearchBox.ClusterID.getData()!}"/> 
392          <!-- Cluster ID: ${SearchBox.ClusterID.getData()!} --> 
393          <a class="search-widget-local--content--search-icon" href="javascript: void(0)" title="Search" data-cluster-id="${SearchBox.ClusterID.getData()!}"> 
394             <svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"> 
395              <path fill="#FFF" fill-rule="evenodd" d="M6.88 1.729c2.784 0 5.047 2.103 5.047 4.69 0 2.585-2.263 4.689-5.046 4.689-2.783 0-5.047-2.104-5.047-4.69 0-2.586 2.264-4.69 5.047-4.69m9.953 12.79l-4.51-4.213.279-.352.007-.01c.05-.062.1-.124.148-.188l.004-.006c1.766-2.36 1.375-5.696-.961-7.867C10.495.668 8.759 0 6.913 0 5.066 0 3.33.668 2.025 1.881.719 3.095 0 4.708 0 6.424c0 1.716.719 3.329 2.025 4.542 1.302 1.21 3.034 1.877 4.876 1.877a7.396 7.396 0 0 0 3.189-.722c.11-.058.438-.235.702-.433l4.58 4.159a.6.6 0 0 0 .39.153.547.547 0 0 0 .371-.149l.23-.205c.174-.156.358-.32.49-.443.255-.238.131-.537-.019-.685"/> 
396            </svg> 
397          </a> 
398        </#if> 
399        </div> 
400      </div> 
401    <#elseif SeparatorBackground.YoutubeId.getData() == "" && SeparatorBackground.Video.getData() == "" && 
402     !((SeparatorBackground.CantoUrl)?? && SeparatorBackground.CantoUrl.getData() != "") && 
403     SeparatorBackground.Image.getData()?? && SeparatorBackground.Image.getData() != ""> 
404      <!-- Image Banner --> 
405      <div class="hero"> 
406        <div class="hero-slide ${noOpacity} ${((SeparatorBackground.HalfSize.data)?has_content && getterUtil.getBoolean(SeparatorBackground.HalfSize.getData()))?then('hero-slide--internal','')}" 
407           data-img-url-d="${slideImg.desktop!}" 
408           data-img-url-tl="${slideImg.tablet_landscape!}" 
409           data-img-url-tp="${slideImg.tablet_portrait!}" 
410           data-img-url-m="${slideImg.mobile!}" 
411           style='' 
412
413        <noscript> 
414          <img src="${slideImg.desktop!}" alt='${slideImg.alt_desktop!}'> 
415          <img src="${slideImg.tablet_landscape!}" alt='${slideImg.alt_landscape! slideImg.alt_tablet_landscape!}'> 
416          <img src="${slideImg.tablet_portrait!}" alt='${slideImg.alt_tablet_portrait! slideImg.alt_tablet_portrait!}'> 
417          <img src="${slideImg.mobile!}" alt='${slideImg.alt_mobile! slideImg.alt_mobile!}'> 
418        </noscript> 
419 
420          <#if Title.getData() != "" || LinkTitle.getData() != "" || (CountdownDate.data)?has_content> 
421          <div class="hero-slide--content"> 
422              <#if isDarkTheme> 
423                          <#if Title.preTitle ?? && Title.preTitle.getData() != ""> 
424                              <div class="hero-slide--content--pre-title">${Title.preTitle.getData()}</div> 
425                          </#if> 
426                      </#if> 
427            <#if Title.getData() != ""> 
428              <#if Title.isH1?? && getterUtil.getBoolean(Title.isH1.getData())> 
429                <h1 class="hero-slide--content--title"> 
430              <#else> 
431                <div class="hero-slide--content--title"> 
432              </#if> 
433              <#if LinkTitle.getData() != "" > 
434                <a class="title-cta" 
435                  href="${leonardo.getTargetUrl(LinkTitle.LinkToUrl!, LinkTitle.LinkToPage!)}" 
436                  title="${LinkTitle.getData()}" 
437                  target="${leonardo.getTarget(LinkTitle.OpenLink!)}" 
438
439              </#if> 
440 
441              <@leonardo.escapeTitle title=Title.getData()/> 
442 
443              <#if LinkTitle.getData() != "" > 
444                </a> 
445              </#if> 
446 
447              <#if Title.isH1?? && getterUtil.getBoolean(Title.isH1.getData())> 
448                </h1> 
449              <#else> 
450                </div> 
451              </#if> 
452              <#if Title.DescriptionLeft.getData() != "" || Title.DescriptionRight.getData() != ""> 
453                <div class="hero-slide--content--descriptions"> 
454                  <#if Title.DescriptionLeft.getData() != ""> 
455                    <div class="hero-slide--content--description"><@leonardo.escapeTitle title=Title.DescriptionLeft.getData()/></div> 
456                  </#if> 
457                  <#if Title.DescriptionRight.getData() != ""> 
458                    <div class="hero-slide--content--description"><@leonardo.escapeTitle title=Title.DescriptionRight.getData()/></div> 
459                  </#if> 
460                </div> 
461              </#if> 
462            </#if> 
463            <#if LinkTitle.getData() != "" > 
464              <div class="hero-slide--content--cta"> 
465                <a class="btn btn-leo btn-leo-transparent" 
466                  href="${leonardo.getTargetUrl(LinkTitle.LinkToUrl!, LinkTitle.LinkToPage!)}" 
467                  title="${LinkTitle.getData()}" 
468                  target="${leonardo.getTarget(LinkTitle.OpenLink!)}" 
469
470                  ${LinkTitle.getData()} 
471                </a> 
472              </div> 
473            </#if> 
474          </div> 
475          </#if> 
476        </div> 
477        <#if (CountdownDate.data)?has_content > 
478 
479          <style> 
480            @media (max-width: 767px){ 
481              .leo18 .hero .hero-share { bottom: 100px; } 
482
483          </style> 
484 
485          <#assign currentDate = .now?long> 
486          <#assign eventDate = CountdownDate.data?datetime("yyyy-MM-dd")?long> 
487          <#if (CountdownDate.Hours)?has_content && (CountdownDate.Minutes)?has_content > 
488            <#assign eventDate = (eventDate + (getterUtil.getLong(CountdownDate.Hours.getData())*60*60*1000))?long> 
489            <#assign eventDate = (eventDate + (getterUtil.getLong(CountdownDate.Minutes.getData())*60*1000))?long> 
490          </#if> 
491          <#assign countdown = ((eventDate - currentDate)/(1000))?int > 
492          <#if countdown gte 0 > 
493            <div class="countdown-widget hidden" data-time-left="${countdown}"> 
494              <div class="section-container section-container--fluid"> 
495                <div class="countdown-widget--wrap"> 
496                  <div class="countdown-widget--title"><@leonardo.escapeTitle title=CountdownDate.Text.data!/></div> 
497                  <div class="countdown-widget--counters"> 
498                    <div class="countdown-widget--counters--counter days"> 
499                      <div class="countdown-widget--counters--counter--val"> </div> 
500                      <div class="countdown-widget--counters--counter--label">${languageUtil.get(locale, "days")}</div> 
501                    </div> 
502                    <div class="countdown-widget--counters--counter hours"> 
503                      <div class="countdown-widget--counters--counter--val"> </div> 
504                      <div class="countdown-widget--counters--counter--label">${languageUtil.get(locale, "hours")}</div> 
505                    </div> 
506                    <div class="countdown-widget--counters--counter minutes"> 
507                      <div class="countdown-widget--counters--counter--val"> </div> 
508                      <div class="countdown-widget--counters--counter--label">${languageUtil.get(locale, "minutes")}</div> 
509                    </div> 
510                    <#if (CountdownDate.ShowSeconds)?has_content && getterUtil.getBoolean(CountdownDate.ShowSeconds.getData()) > 
511                      <div class="countdown-widget--counters--counter seconds"> 
512                        <div class="countdown-widget--counters--counter--val"> </div> 
513                        <div class="countdown-widget--counters--counter--label">${languageUtil.get(locale, "seconds")}</div> 
514                      </div> 
515                    </#if> 
516                  </div> 
517                </div> 
518              </div> 
519            </div> 
520          </#if> 
521        </#if> 
522        <#if (ShareLink.data)?has_content && getterUtil.getBoolean(ShareLink.getData()) > 
523          <@leonardo.shareLinkHero/> 
524        </#if> 
525      </div> 
526 
527    <#elseif (SeparatorBackground.CantoUrl.getData())?has_content> 
528      <!-- Canto Video Banner --> 
529      <#assign scalingDetails = { 
530         "desktop": {"alternateImage": {}, "key": "w_1440"}, 
531         "tl": {"alternateImage": SeparatorBackground.Image.ImageTl!, "key": "h_703"}, 
532         "tp": {"alternateImage": SeparatorBackground.Image.ImageTp!, "key": "h_959"}, 
533         "mobile": {"alternateImage": SeparatorBackground.Image.ImageM!, "key": "h_602"} 
534      }> 
535      <#assign slideImg = leonardo.adaptImage(SeparatorBackground.Image!, scalingDetails )> 
536 
537      <#if (CountdownDate.data)?has_content > 
538          <style> 
539            @media (max-width: 767px){ 
540              .leo18 .hero .hero-share { bottom: 100px; } 
541
542          </style> 
543      </#if> 
544 
545      <div class="hero"> 
546        <div class="leo-video canto-video ${((SeparatorBackground.HalfSize.data)?has_content && getterUtil.getBoolean(SeparatorBackground.HalfSize.getData()))?then('video-little-size','')} ${((!getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoControlBar.getData())) && (getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoAutoPlay.getData())))?then('no-pause','')}" 
547          data-video-data='{ 
548            &quot;type&quot;:&quot;video&quot;, 
549            &quot;showControls&quot;:${(getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoControlBar.getData()))?then("1","0")}, 
550            &quot;videoSources&quot;:[ 
551                "${SeparatorBackground.CantoUrl.getData()!}" 
552            ], 
553            &quot;posters&quot;:{ 
554              &quot;desktop&quot;:&quot;${slideImg.desktop!}&quot;, 
555              &quot;tabletLandscape&quot;:&quot;${slideImg.tablet_landscape!}&quot;, 
556              &quot;tabletPortrait&quot;:&quot;${slideImg.tablet_portrait!}&quot;, 
557              &quot;mobile&quot;:&quot;${slideImg.mobile!}&quot; 
558            }, 
559            &quot;content&quot;:{ 
560              &quot;heading&quot;:&quot;<@leonardo.escapeTitle title=(Title.getData()!"")?html/>&quot;, 
561              &quot;descriptions&quot;:[&quot;${((Title.DescriptionLeft.getData())!"")?html?html}&quot;, &quot;${((Title.DescriptionRight.getData())!"")?html?html}&quot;], 
562              &quot;cta&quot;:{ 
563                &quot;url&quot;:&quot;${leonardo.getTargetUrl(LinkTitle.LinkToUrl!, LinkTitle.LinkToPage!)}&quot;, 
564                &quot;title&quot;:&quot;${(LinkTitle.getData()!"")?html?html}&quot;, 
565                &quot;target&quot;:&quot;${leonardo.getTarget(LinkTitle.OpenLink!)}&quot; 
566
567              <#if (CountdownDate.data)?has_content > 
568                <#assign currentDate = .now?long> 
569                <#assign eventDate = CountdownDate.data?datetime("yyyy-MM-dd")?long> 
570                <#if (CountdownDate.Hours)?has_content && (CountdownDate.Minutes)?has_content > 
571                  <#assign eventDate = (eventDate + (getterUtil.getLong(CountdownDate.Hours.getData())*60*60*1000))?long> 
572                  <#assign eventDate = (eventDate + (getterUtil.getLong(CountdownDate.Minutes.getData())*60*1000))?long> 
573                </#if> 
574                <#assign countdown = ((eventDate - currentDate)/(1000))?int > 
575                <#if countdown gte 0 > 
576                ,&quot;countdown&quot;:{ 
577                  &quot;countdown&quot;:&quot;${countdown}&quot;, 
578                  &quot;title&quot;:&quot;<@leonardo.escapeTitle title=(CountdownDate.Text.data!)?html/>&quot;, 
579                  &quot;days&quot;:&quot;${languageUtil.get(locale, "days")}&quot;, 
580                  &quot;hours&quot;:&quot;${languageUtil.get(locale, "hours")}&quot;, 
581                  &quot;minutes&quot;:&quot;${languageUtil.get(locale, "minutes")}&quot;, 
582                  &quot;seconds&quot;:&quot;${languageUtil.get(locale, "seconds")}&quot;, 
583                  &quot;showSeconds&quot;:${((CountdownDate.ShowSeconds)?has_content && getterUtil.getBoolean(CountdownDate.ShowSeconds.getData()))?then("1","0")} 
584
585                </#if> 
586              </#if> 
587
588          }' 
589            <#if (SeparatorBackground.CantoUrl.CantoAutoPlay.getData())?has_content> 
590                data-autoplay="${(getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoAutoPlay.getData()))?then('1','0')}", 
591            </#if> 
592            <#if (SeparatorBackground.CantoUrl.CantoLoop.getData())?has_content> 
593                data-loop="${(getterUtil.getBoolean(SeparatorBackground.CantoUrl.CantoLoop.getData()))?then('1','0')}", 
594            </#if> 
595          data-playsinline="1", 
596          data-title-tag="div"> 
597 
598        </div> 
599        <#if (ShareLink.data)?has_content && getterUtil.getBoolean(ShareLink.getData()) > 
600          <@leonardo.shareLinkHero/> 
601        </#if> 
602      </div> 
603    <#elseif (SeparatorBackground.YoutubeId.getData())?has_content > 
604      <!-- YT Video Banner --> 
605      <div class="hero"> 
606        <div class="hero-slide"> 
607          <div class="youtube-player-container" 
608            data-img-url-d="${(slideImg.desktop)!}" 
609            data-img-url-tl="${(slideImg.tablet_landscape)!}" 
610            data-img-url-tp="${(slideImg.tablet_portrait)!}" 
611            data-img-url-m="${(slideImg.mobile)!}" 
612            data-div-id="${randomNamespace}${SeparatorBackground.YoutubeId.getData()!}" 
613            data-video-id="${SeparatorBackground.YoutubeId.getData()!}" 
614            <#if (SeparatorBackground.YoutubeId.YoutubeAutoPlay.getData())?has_content> 
615              data-video-autoplay="${(getterUtil.getBoolean(SeparatorBackground.YoutubeId.YoutubeAutoPlay.getData()))?then('1','0')}" 
616            </#if> 
617            <#if (SeparatorBackground.YoutubeId.YoutubeMute.getData())?has_content> 
618              data-video-mute="${(getterUtil.getBoolean(SeparatorBackground.YoutubeId.YoutubeMute.getData()))?then('1','0')}" 
619            </#if> 
620            data-use-no-cookie-domain="true"> 
621            <div class="youtube-player" id="${randomNamespace}${SeparatorBackground.YoutubeId.getData()!}" data-use-no-cookie-domain="true"></div> 
622          </div> 
623          <#if isDarkTheme> 
624                      <#if Title.preTitle ?? && Title.preTitle.getData() != ""> 
625                          <div class="hero-slide--content--pre-title">${Title.preTitle.getData()}</div> 
626                      </#if> 
627                  </#if> 
628          <#if Title.getData() != ""> 
629            <div class="hero-slide--content"> 
630              <#if Title.isH1?? && getterUtil.getBoolean(Title.isH1.getData())> 
631                <h1 class="hero-slide--content--title"><@leonardo.escapeTitle title=Title.getData()/></h1> 
632              <#else> 
633                <div class="hero-slide--content--title"><@leonardo.escapeTitle title=Title.getData()/></div> 
634              </#if> 
635            </div> 
636          </#if> 
637        </div> 
638        <#if (ShareLink.data)?has_content && getterUtil.getBoolean(ShareLink.getData()) > 
639          <@leonardo.shareLinkHero/> 
640        </#if> 
641      </div> 
642 
643    <#elseif SeparatorBackground.Video.getData() != ""> 
644      <!-- Internal Video Banner --> 
645      <#assign scalingDetails = { 
646         "desktop": {"alternateImage": {}, "key": "w_1440"}, 
647         "tl": {"alternateImage": SeparatorBackground.Image.ImageTl!, "key": "h_703"}, 
648         "tp": {"alternateImage": SeparatorBackground.Image.ImageTp!, "key": "h_959"}, 
649         "mobile": {"alternateImage": SeparatorBackground.Image.ImageM!, "key": "h_602"} 
650      }> 
651      <#assign slideImg = leonardo.adaptImage(SeparatorBackground.Image!, scalingDetails )> 
652 
653      <#if SeparatorBackground.Video.getSiblings()?has_content> 
654        <#assign videoStr = ""> 
655        <#list SeparatorBackground.Video.getSiblings() as cur_Video> 
656          <#assign videoFile = cur_Video.getData()> 
657          <#assign videoFileType = cur_Video.VideoType.getData()> 
658          <#if videoStr?? && videoStr != ""> 
659            <#assign videoStr = videoStr + ","> 
660          </#if> 
661          <#assign videoStr = videoStr + "{&quot;src&quot;:&quot;" + videoFile + "&quot;,&quot;type&quot;:&quot;" + videoFileType + "&quot;}"> 
662        </#list> 
663      </#if> 
664 
665      <div class="hero"> 
666        <div class="leo-video ${((SeparatorBackground.HalfSize.data)?has_content && getterUtil.getBoolean(SeparatorBackground.HalfSize.getData()))?then('video-little-size','')}" 
667          data-video-data="{ 
668            &quot;type&quot;:&quot;video&quot;, 
669            &quot;showControls&quot;:false, 
670            &quot;videoSources&quot;:[ 
671              ${videoStr} 
672            ], 
673            &quot;posters&quot;:{ 
674              &quot;desktop&quot;:&quot;${slideImg.desktop!}&quot;, 
675              &quot;tabletLandscape&quot;:&quot;${slideImg.tablet_landscape!}&quot;, 
676              &quot;tabletPortrait&quot;:&quot;${slideImg.tablet_portrait!}&quot;, 
677              &quot;mobile&quot;:&quot;${slideImg.mobile!}&quot; 
678            }, 
679            &quot;content&quot;:{ 
680              &quot;heading&quot;:&quot;<@leonardo.escapeTitle title=(Title.getData()!"")?html/>&quot; 
681            }}" 
682 
683          <#if (SeparatorBackground.YoutubeId.YoutubeAutoPlay.getData())?has_content> 
684            data-autoplay="true" 
685          </#if> 
686          data-title-tag="div"> 
687 
688        </div> 
689        <#if (ShareLink.data)?has_content && getterUtil.getBoolean(ShareLink.getData()) > 
690          <@leonardo.shareLinkHero/> 
691        </#if> 
692      </div> 
693    <#else> 
694      <!-- Black Banner --> 
695      <div class="hero"> 
696        <div class="hero-slide ${((SeparatorBackground.HalfSize.data)?has_content && getterUtil.getBoolean(SeparatorBackground.HalfSize.getData()))?then('hero-slide--internal','')}" 
697           style='background-color:#000000;'> 
698          <#if Title.getData() != "" || LinkTitle.getData() != "" || (CountdownDate.data)?has_content> 
699          <div class="hero-slide--content"> 
700              <#if isDarkTheme> 
701                  <#if Title.preTitle ?? && Title.preTitle.getData() != ""> 
702                      <div class="hero-slide--content--pre-title">${Title.preTitle.getData()}</div> 
703                  </#if> 
704              </#if> 
705            <#if Title.getData() != ""> 
706              <#if Title.isH1?? && getterUtil.getBoolean(Title.isH1.getData())> 
707                <h1 class="hero-slide--content--title"><@leonardo.escapeTitle title=Title.getData()/></h1> 
708              <#else> 
709                <div class="hero-slide--content--title"><@leonardo.escapeTitle title=Title.getData()/></div> 
710              </#if> 
711              <#if Title.DescriptionLeft.getData() != "" || Title.DescriptionRight.getData() != ""> 
712                <div class="hero-slide--content--descriptions"> 
713                  <#if Title.DescriptionLeft.getData() != ""> 
714                    <div class="hero-slide--content--description"><@leonardo.escapeTitle title=Title.DescriptionLeft.getData()/></div> 
715                  </#if> 
716                  <#if Title.DescriptionRight.getData() != ""> 
717                    <div class="hero-slide--content--description"><@leonardo.escapeTitle title=Title.DescriptionRight.getData()/></div> 
718                  </#if> 
719                </div> 
720              </#if> 
721            </#if> 
722            <#if LinkTitle.getData() != "" > 
723              <div class="hero-slide--content--cta"> 
724                <a class="btn btn-leo btn-leo-transparent" 
725                  href="${leonardo.getTargetUrl(LinkTitle.LinkToUrl!, LinkTitle.LinkToPage!)}" 
726                  title="${LinkTitle.getData()}" 
727                  target="${leonardo.getTarget(LinkTitle.OpenLink!)}" 
728
729                  ${LinkTitle.getData()} 
730                </a> 
731              </div> 
732            </#if> 
733          </div> 
734          </#if> 
735        </div> 
736        <#if (CountdownDate.data)?has_content > 
737          <#assign currentDate = .now?long> 
738          <#assign eventDate = CountdownDate.data?datetime("yyyy-MM-dd")?long> 
739          <#if (CountdownDate.Hours)?has_content && (CountdownDate.Minutes)?has_content > 
740            <#assign eventDate = (eventDate + (getterUtil.getLong(CountdownDate.Hours.getData())*60*60*1000))?long> 
741            <#assign eventDate = (eventDate + (getterUtil.getLong(CountdownDate.Minutes.getData())*60*1000))?long> 
742          </#if> 
743          <#assign countdown = ((eventDate - currentDate)/(1000))?int > 
744          <#if countdown gte 0 > 
745            <div class="countdown-widget hidden" data-time-left="${countdown}"> 
746              <div class="section-container section-container--fluid"> 
747                <div class="countdown-widget--wrap"> 
748                  <div class="countdown-widget--title"><@leonardo.escapeTitle title=CountdownDate.Text.data!/></div> 
749                  <div class="countdown-widget--counters"> 
750                    <div class="countdown-widget--counters--counter days"> 
751                      <div class="countdown-widget--counters--counter--val"> </div> 
752                      <div class="countdown-widget--counters--counter--label">${languageUtil.get(locale, "days")}</div> 
753                    </div> 
754                    <div class="countdown-widget--counters--counter hours"> 
755                      <div class="countdown-widget--counters--counter--val"> </div> 
756                      <div class="countdown-widget--counters--counter--label">${languageUtil.get(locale, "hours")}</div> 
757                    </div> 
758                    <div class="countdown-widget--counters--counter minutes"> 
759                      <div class="countdown-widget--counters--counter--val"> </div> 
760                      <div class="countdown-widget--counters--counter--label">${languageUtil.get(locale, "minutes")}</div> 
761                    </div> 
762                    <#if (CountdownDate.ShowSeconds)?has_content && getterUtil.getBoolean(CountdownDate.ShowSeconds.getData()) > 
763                      <div class="countdown-widget--counters--counter seconds"> 
764                        <div class="countdown-widget--counters--counter--val"> </div> 
765                        <div class="countdown-widget--counters--counter--label">${languageUtil.get(locale, "seconds")}</div> 
766                      </div> 
767                    </#if> 
768                  </div> 
769                </div> 
770              </div> 
771            </div> 
772          </#if> 
773        </#if> 
774        <#if (ShareLink.data)?has_content && getterUtil.getBoolean(ShareLink.getData()) > 
775          <@leonardo.shareLinkHero/> 
776        </#if> 
777      </div> 
778    </#if> 
779  </div> 
780 
781  <#if (ShareLink.data)?has_content && getterUtil.getBoolean(ShareLink.getData()) > 
782    <!-- Social Sharing --> 
783    <#assign imageFileName = (slideImg.desktop)!"" > 
784    <#assign shareTitle = (Title.getData())!""> 
785    <#assign shareDescription = ((Title.DescriptionLeft.getData())!"") + " " + ((Title.DescriptionRight.getData() )!"")> 
786    <#assign ogType='article'> 
787    <@leonardo.socialShareMetaAndLinks shareTitle=shareTitle shareDescription=shareDescription?trim imageFileName=imageFileName ogType=ogType /> 
788  </#if> 
789</#if> 

Our Corporate Culture: life at Leonardo - Company


Engagement, enhancing skills, looking after people’s wellbeing, health and safety are the cornerstones of our company culture.
We offer opportunities for growth and tools for innovation in a stimulating and inclusive environment – one where everyone can feel part of a team and express their ideas.
 

Look Up

Today, your ambition. Tomorrow, a better world. 

Set your sights on new horizons and challenges. Explore the pillars underpinning Leonardo’s offering for its people and the values that inspire our daily commitment.

Choose to look up, raise your gaze.

Work-Life Balance

We encourage the right work-life balance based on hybrid and flexible working patterns, structured according to different regions and the characteristics of each person. This makes it easier to reconcile personal and professional needs, improving the quality of life and having a positive environmental impact, by reducing the number of commuter trips. Our work environments are also evolving towards multifunctional hubs that maximise people’s working effectiveness in the spirit of exchanging and sharing know-how.

HYBRID WORK

HYBRID WORK

Alternation between on-site and remote work

FLEXIBILITY

FLEXIBILITY

Time management for a better work-life balance

PARENTING

PARENTING

Working patterns that allow parents to take care of their children, at different stages of their lives

Wellbeing

We put the economic, physical, social and psychological wellbeing of our people first, offering solutions tailored to their needs, supported by specific company figures, such as Welfare Coaches.

Economic and financial

COMPETITIVE PAY PACKAGE

COMPETITIVE PAY PACKAGE

Fixed remuneration and bonuses linked to business results and, depending on the levels, individual performance

SUPPLEMENTARY PENSION

SUPPLEMENTARY PENSION

Possibility of joining supplementary pension funds on a voluntary basis, which also benefit from a contribution paid for by the company

FLEXIBLE BENEFITS

FLEXIBLE BENEFITS

Annual financial contribution for the purchase of goods and services or the reimbursement of school, social, medical and transport expenses for employees and their family members

CONVERSION OF RESULT PREMIUM

CONVERSION OF RESULT PREMIUM

Possibility of converting part or all of the annual results bonus to a flexible benefit with tax advantages and an additional company contribution

ACCESS TO CREDIT

ACCESS TO CREDIT

Facilitated loans (e.g. mortgages, loans, corporate credit cards)

AGREEMENTS

AGREEMENTS

Purchase of goods and services at exclusive and reserved rates

PARENTING

PARENTING

Grants for crèches, scholarships and summer camps for employees’ children

SUSTAINABLE MOBILITY

SUSTAINABLE MOBILITY

Discounts for the purchase or rental of e-bikes and electric scooters or for car/bike sharing solutions

Physical, psychological and health promotion

SUPPLEMENTARY HEALTH CARE

SUPPLEMENTARY HEALTH CARE

Health plans with favourable conditions for our people and their families

WORKPLACE HEALTH PROMOTION

WORKPLACE HEALTH PROMOTION

Prevention initiatives carried out during working hours for health promotion and the adoption of a healthy lifestyle

SPORTS AND WELLNESS

SPORTS AND WELLNESS

Cost-effective and flexible subscriptions to sports and fitness facilities, as well as mindfulness and life coaching apps

HEALTHY EATING

HEALTHY EATING

Company canteens with balanced menus that take into consideration different dietary requirements

PSYCHOLOGICAL WELLBEING

PSYCHOLOGICAL WELLBEING

Psychological support and counselling services, “listening” centres and awareness programmes for managers

SOCIAL AND RECREATIONAL ACTIVITIES

SOCIAL AND RECREATIONAL ACTIVITIES

Organisation and access to recreational, sports and cultural activities within the company territories

Engagement

LOM_2022_03_04_223 (1) copia

Putting ideas into circulation

Innovation is a continuous challenge that we can only tackle with new ideas. This is why we engage our people in initiatives and contests that adopt an Open Innovation approach to allow the cross-pollination and exchange of knowledge and help us develop Leonardo’s professionalism.

Health and safety

Health and safety

Our Health, Safety and Environment Policy aims to ensure safe working environments and operating conditions, to prevent risks to the health and safety of our people and anyone with access to our sites.
We are committed to raising awareness and providing continuous health and safety training, in accordance with the laws in force within the countries we operate, in line with our stakeholders’ expectations, voluntary standards and with a view to continuously improve. 

79% of employees

79% of employees

work at sites with ISO 45001 certified Health and Safety Management System

1.9 injuries

1.9 injuries

per million of hours worked

1,957 health and safety audits

1,957 health and safety audits

carried out, of which 1,821 internal and 136 external

Employee performance assessment and integrity

The employee performance evaluation (Performance & Development Management – PDM) is an ongoing process and includes the evaluation of individual objectives and managerial competencies. With the Continuous Goal Management function, each employee can personally propose performance goals to their manager, and both the employee and manager can set and/or update them throughout the entire year. 

The PDM process also includes the Continuous Feedback feature which enables each person to request and provide feedback from/to colleagues they have worked with at any moment during the year, and permits managers to request feedback about their team members to gain a broader view of their contribution.

This approach to performance evaluation strengthens the relationship of trust between employees and managers, promoting a culture based on transparency and constant dialogue with a view to continuous personal improvement and development. The PDM and its incentive system (Management by Objectives – MBO, career advancement) are based on the Leadership Model, which expresses a series of sensitivities, attitudes and tools that each Group employee should have or add to their professional and personal skills, of which integrity in business is included among the key skills. Integrity in business means for all employees, at any organisational level, to act ethically and in line with the Company’s commitment to a zero-tolerance policy towards corruption.

All bonuses and incentive systems for Leonardo employees must always be reasonable and proportionate to their salary, so as to discourage people from adopting an inappropriate “success at all costs” attitude.

Leonardo and the Group Companies will not penalise any employee if an opportunity is missed or business objectives are not achieved where this is the result of behaviour that complies with Leonardo’s Anti-Corruption Management System and Code of Ethics.

In addition to sanctions in the event of non-compliance with the Anti-Corruption Code and the Code of Ethics, the employee violating these principles will lose any incentive or the incentive received in the year in which the non-compliant behaviour occurred will be returned (claw-back).


 

Search overlay background

Mobile navigation menu