{"id":3578,"date":"2023-07-28T09:58:10","date_gmt":"2023-07-28T07:58:10","guid":{"rendered":"https:\/\/e3holding.de\/e3-holding-sustainability-report-2022\/"},"modified":"2024-01-23T12:43:59","modified_gmt":"2024-01-23T11:43:59","slug":"e3-holding-sustainability-report-2022","status":"publish","type":"post","link":"https:\/\/e3holding.de\/en\/e3-holding-sustainability-report-2022\/","title":{"rendered":"E3 Holding Sustainability Report 2022"},"content":{"rendered":"<script type=\"text\/javascript\">let processScroll = () => {\n\tlet docElem = document.documentElement, \n\t\tdocBody = document.body,\n\t\tscrollTop = docElem['scrollTop'] || docBody['scrollTop'],\n    \tscrollBottom = (docElem['scrollHeight'] || docBody['scrollHeight']) - window.innerHeight - window.innerHeight,\n\t\tscrollPercent = scrollTop \/ scrollBottom * 100 + '%';\n\t\/\/ console.log(scrollTop + ' \/ ' + scrollBottom + ' \/ ' + scrollPercent);\n    document.getElementById(\"progress-bar\").style.setProperty(\"--scrollAmount\", scrollPercent);\t\n}\ndocument.addEventListener('scroll', processScroll);\n\njQuery(function ($) {\n    var project1 = $('.post-sidebar').offset();\n    var $window = $(window);\n    \n    $window.scroll(function() {\n        if ( $window.scrollTop() >= project1.top) {\n            $(\".post-sidebar-inner\").addClass(\"sticky\");\n        }\n        if ( $window.scrollTop() <= project1.top) {\n            $(\".post-sidebar-inner\").removeClass(\"sticky\");\n        }\n    });\t\t\t\n});\n\n\/*!\nName: Reading Time\nDependencies: jQuery\nAuthor: Michael Lynch\nAuthor URL: http:\/\/michaelynch.com\nDate Created: August 14, 2013\nDate Updated: April 30, 2018\nLicensed under the MIT license\n*\/\n\njQuery(function ($) {\n\n\t$.fn.readingTime = function(options) {\n\n\t\t\/\/ define default parameters\n\t\tconst defaults = {\n\t\t\treadingTimeTarget: '.eta',\n\t\t\treadingTimeAsNumber: false,\n\t\t\twordCountTarget: null,\n\t\t\twordsPerMinute: 270,\n\t\t\tround: true,\n\t\t\tlang: 'en',\n\t\t\tlessThanAMinuteString: 'test',\n\t\t\tprependTimeString: '',\n\t\t\tprependWordString: '',\n\t\t\tremotePath: null,\n\t\t\tremoteTarget: null,\n\t\t\tsuccess: function() {},\n\t\t\terror: function() {}\n\t\t};\n\n\t\tconst plugin = this;\n\t\tconst el = $(this);\n\n\t\tlet wordsPerSecond;\n\t\tlet lessThanAMinute;\n\t\tlet minShortForm;\n\n\t\tlet totalWords;\n\t\tlet totalReadingTimeSeconds;\n\n\t\tlet readingTimeMinutes;\n\t\tlet readingTimeSeconds;\n\t\tlet readingTime;\n\t\tlet readingTimeObj;\n\n\t\t\/\/ merge defaults and options\n\t\tplugin.settings = $.extend({}, defaults, options);\n\n\t\t\/\/ define vars\n\t\tconst s = plugin.settings;\n\n\t\tconst setTime = function(o) {\n\n\t\t\tif(o.text !== '') {\n\t\t\t\tif (s.lang == \"zh\") {\n\t\t\t\t\tlet text = o.text.trim();\n\t\t\t\t\t\/\/ step 1: count the number of Chinese characters\n\t\t\t\t\tconst charArray = text.match(\/[\\u4e00-\\u9fa5]\/g);\n\t\t\t\t\tlet charCount = 0;\n\t\t\t\t\tif (charArray != null) {\n\t\t\t\t\t\tcharCount = charArray.length;\n\t\t\t\t\t}\n\t\t\t\t\t\/\/ step 2: replace all the Chinese characters with blank\n\t\t\t\t\ttext = text.replace(\/[\\u4e00-\\u9fa5]\/g, \" \");\n\t\t\t\t\t\/\/ step 3:replace newlines with blank\n\t\t\t\t\ttext = text.replace(\/[\\r\\n]\/g, \" \");\n\t\t\t\t\t\/\/ step 4:replace special characters with blank\n\t\t\t\t\ttext = text.replace(\/\\W+\/g, \" \");\n\t\t\t\t\t\/\/ step 5: count the number of total English words\n\t\t\t\t\tconst totalEnWords = text.trim().split(\/\\s+\/g).length;\n\t\t\t\t\ttotalWords = totalEnWords + charCount;\n\t\t\t\t} else {\n\t\t\t\t\t\/\/split text by spaces to define total words\n\t\t\t\t\ttotalWords = o.text.trim().split(\/\\s+\/g).length;\n\t\t\t\t}\n\n\t\t\t\t\/\/define words per second based on words per minute (s.wordsPerMinute)\n\t\t\t\twordsPerSecond = s.wordsPerMinute \/ 60;\n\n\t\t\t\t\/\/define total reading time in seconds\n\t\t\t\ttotalReadingTimeSeconds = totalWords \/ wordsPerSecond;\n\n\t\t\t\t\/\/ define reading time\n\t\t\t\treadingTimeMinutes = Math.floor(totalReadingTimeSeconds \/ 60);\n\n\t\t\t\t\/\/ define remaining reading time seconds\n\t\t\t\treadingTimeSeconds = Math.round(totalReadingTimeSeconds - (readingTimeMinutes * 60));\n\n\t\t\t\t\/\/ format reading time\n\t\t\t\treadingTime = `${readingTimeMinutes}:${readingTimeSeconds}`;\n\t\t\t\t\/\/ if s.round\n\t\t\t\tif(s.round) {\n\n\t\t\t\t\t\/\/ if minutes are greater than 0\n\t\t\t\t\tif(readingTimeMinutes > 0) {\n\n\t\t\t\t\t\t\/\/ set reading time by the minute\n\t\t\t\t\t\t$(s.readingTimeTarget).text(s.prependTimeString + readingTimeMinutes + ((!s.readingTimeAsNumber) ? ' ' + minShortForm : ''));\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\/\/ set reading time as less than a minute\n\t\t\t\t\t\t$(s.readingTimeTarget).text((!s.readingTimeAsNumber) ? s.prependTimeString + lessThanAMinute : readingTimeMinutes);\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\t\/\/ set reading time in minutes and seconds\n\t\t\t\t\t$(s.readingTimeTarget).text(s.prependTimeString + readingTime);\n\t\t\t\t}\n\n\t\t\t\t\/\/ if word count container isn't blank or undefined\n\t\t\t\tif(s.wordCountTarget !== '' && s.wordCountTarget !== undefined) {\n\n\t\t\t\t\t\/\/ set word count\n\t\t\t\t\t$(s.wordCountTarget).text(s.prependWordString + totalWords);\n\t\t\t\t}\n\n\t\t\t\treadingTimeObj = {\n\t\t\t\t\twpm: s.wordsPerMinute,\n\t\t\t\t\twords: totalWords,\n\t\t\t\t\teta: {\n\t\t\t\t\t\ttime: readingTime,\n\t\t\t\t\t\tminutes: readingTimeMinutes,\n\t\t\t\t\t\tseconds: totalReadingTimeSeconds\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t\/\/ run success callback\n\t\t\t\ts.success.call(this, readingTimeObj);\n\n\t\t\t} else {\n\n\t\t\t\t\/\/ run error callback\n\t\t\t\ts.error.call(this, {\n\t\t\t\t\terror: 'The element does not contain any text'\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\t\/\/ if no element was bound\n\t\tif(!this.length) {\n\n\t\t\t\/\/ run error callback\n\t\t\ts.error.call(this, {\n\t\t\t\terror: 'The element could not be found'\n\t\t\t});\n\n\t\t\t\/\/ return so chained events can continue\n\t\t\treturn this;\n\t\t}\n\n\t\t\/\/ Use switch instead of ifs\n\t\tswitch (s.lang) {\n\t\t\t\/\/ if s.lang is Arabic\n\t\t\tcase 'ar':\n        lessThanAMinute = s.lessThanAMinuteString || \"\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629\";\n        minShortForm = '\u062f\u0642\u064a\u0642\u0629';\n        break;\n\t\t\t\/\/ if s.lang is Czech\n\t\t\tcase 'cz':\n        lessThanAMinute = s.lessThanAMinuteString || \"M\u00e9n\u011b ne\u017e minutu\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Danish\n\t\t\tcase 'da':\n        lessThanAMinute = s.lessThanAMinuteString || \"Mindre end et minut\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is German\n      case 'de':\n        lessThanAMinute = s.lessThanAMinuteString || \"Weniger als eine Minute\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Spanish\n      case 'es':\n        lessThanAMinute = s.lessThanAMinuteString || \"Menos de un minuto\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is French\n      case 'fr':\n        lessThanAMinute = s.lessThanAMinuteString || \"Moins d'une minute\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Hungarian\n      case 'hu':\n        lessThanAMinute = s.lessThanAMinuteString || \"Kevesebb mint egy perc\";\n        minShortForm = 'perc';\n        break;\n\t\t\t\/\/ if s.lang is Icelandic\n      case 'is':\n        lessThanAMinute = s.lessThanAMinuteString || \"Minna en eina m\u00edn\u00fatu\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Italian\n      case 'it':\n        lessThanAMinute = s.lessThanAMinuteString || \"Meno di un minuto\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Dutch\n      case 'nl':\n        lessThanAMinute = s.lessThanAMinuteString || \"Minder dan een minuut\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Norwegian\n      case 'no':\n        lessThanAMinute = s.lessThanAMinuteString || \"Mindre enn ett minutt\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Polish\n      case 'pl':\n        lessThanAMinute = s.lessThanAMinuteString || \"Mniej ni\u017c minut\u0119\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Russian\n      case 'ru':\n        lessThanAMinute = s.lessThanAMinuteString || \"\u041c\u0435\u043d\u044c\u0448\u0435 \u043c\u0438\u043d\u0443\u0442\u044b\";\n        minShortForm = '\u043c\u0438\u043d';\n        break;\n\t\t\t\/\/ if s.lang is Slovak\n      case 'sk':\n        lessThanAMinute = s.lessThanAMinuteString || \"Menej ne\u017e min\u00fatu\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Swedish\n      case 'sv':\n        lessThanAMinute = s.lessThanAMinuteString || \"Mindre \u00e4n en minut\";\n        minShortForm = 'min';\n        break;\n\t\t\t\/\/ if s.lang is Turkish\n      case 'tr':\n        lessThanAMinute = s.lessThanAMinuteString || \"Bir dakikadan az\";\n        minShortForm = 'dk';\n        break;\n\t\t\t\/\/ if s.lang is Ukrainian\n      case 'uk':\n        lessThanAMinute = s.lessThanAMinuteString || \"\u041c\u0435\u043d\u0448\u0435 \u0445\u0432\u0438\u043b\u0438\u043d\u0438\";\n        minShortForm = '\u0445\u0432';\n        break;\n\t\t\t\/\/ if s.lang is Greek\n\t\t\tcase 'el':\n        lessThanAMinute = s.lessThanAMinuteString || '\u039b\u03b9\u03b3\u03cc\u03c4\u03b5\u03c1\u03bf \u03b1\u03c0\u03cc \u03bb\u03b5\u03c0\u03c4\u03cc';\n        minShortForm = '\u03bb\u03b5\u03c0\u03c4\u03ac';\n        break;\n            \/\/ if s.lang is Portuguese\n            case 'pt-BR':\n        lessThanAMinute = s.lessThanAMinuteString || 'Menos de um minuto';\n        minShortForm = 'min';\n\t\tbreak;\n\t\t\t\/\/ if s.lang is Korean\n\t\t\tcase 'kr':\n\t\tlessThanAMinute = s.lessThanAMinuteString || '1\ubd84 \uc774\ud558';\n\t\tminShortForm = '\ubd84';\n        break;\n\t\t\t\/\/ default s.lang in english\n\t\t\tdefault:\n        lessThanAMinute = s.lessThanAMinuteString || 'Less than a minute';\n        minShortForm = 'min';\n    }\n\n\t\t\/\/ for each element\n\t\tel.each(function(index) {\n\n\t\t\t\/\/ if s.remotePath and s.remoteTarget aren't null\n\t\t\tif(s.remotePath != null && s.remoteTarget != null) {\n\n\t\t\t\t\/\/ get contents of remote file\n\t\t\t\t$.get(s.remotePath, function(data) {\n\t\t\t\t\tlet wrapper = document.createElement('div');\n\n\t\t\t\t\twrapper.innerHTML = data;\n\n\t\t\t\t\t\/\/ set time using the remote target found in the remote file\n\t\t\t\t\tsetTime({\n\t\t\t\t\t\ttext: $(wrapper).find(s.remoteTarget).text()\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t} else {\n\n\t\t\t\t\/\/ set time using the targeted element\n\t\t\t\tsetTime({\n\t\t\t\t\ttext: el.text()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn true;\n\t}\n});\n\njQuery(function ($) {\n\n\t$('#post-content').readingTime({\n\t\treadingTimeAsNumber: true,\n\t\twordsPerMinute: 200,\n\t\tround: false,\n\t\tlang: 'de',\n\t\t\n        success: function(data) {\n\t\t\tconsole.log(data);\n\t\t},\n\t\terror: function(data) {\n\t\t\tconsole.log(data.error);\n\t\t\t$('.reading-time').remove();\n\t\t}\n\t});\n});\n\n<\/script><section id=\"post-content\" class=\"custom-block section-post-content pt-medium pb-medium bg-white text-body\"><div class=\"wrapper-wide\"><div class=\"section-inner\"><div class=\"row g-0\"><div class=\"col-sm-20 offset-sm-2 col-lg-5 offset-lg-2 order-lg-2\"><div class=\"post-sidebar\"><div class=\"post-sidebar-inner pb-medium pb-lg-0\"><\/div><\/div><\/div><div class=\"col-sm-20 offset-sm-2 col-lg-12 offset-lg-2 order-lg-1\"><div id=\"post-content\" class=\"pb-medium\"><div class=\"acf-innerblocks-container\">\n\n<p>Our efforts and passion for ESG and sustainability are with us in whatever we do. Sometimes, however, it makes sense to let the numbers speak for us, for example via our regularly updated Sustainability Report: it features achievements and challenges, as well as guest contributions from people who define our actions and inspire us.<\/p>\n\n\n\n<p class=\"pb-small\">Enjoy the read!<\/p>\n\n\n\n<div id=\"block_56d5b07e63d7e2f08cfc7e7497459ecf'\" class=\"custom-block section-download rounded has-custom-background bg-beige-light\">\n\n\n\t<div class=\"tile-download tile tile-rounded tile-padding-large\">\n\t\t<div class=\"tile-inner bg-beige-light\">\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-24 col-sm-8 col-lg-8 align-self-lg-center\"><div class=\"image-container m-auto mt-4 mb-5 mt-sm-0 mb-sm-0 bg-white image-a4 image-download shadow pointer-events-none\" style=\"max-width:10rem\"><img width=\"640\" height=\"905\" src=\"https:\/\/e3holding.de\/wordpress\/wp-content\/uploads\/2023\/07\/e3-nachhaltigkeitsbericht-2022-cover-1-724x1024.jpg\" class=\"img-fluid shadow-lg\" alt=\"Sustainability Report 2022\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/e3holding.de\/wordpress\/wp-content\/uploads\/2023\/07\/e3-nachhaltigkeitsbericht-2022-cover-1-724x1024.jpg 724w, https:\/\/e3holding.de\/wordpress\/wp-content\/uploads\/2023\/07\/e3-nachhaltigkeitsbericht-2022-cover-1-212x300.jpg 212w, https:\/\/e3holding.de\/wordpress\/wp-content\/uploads\/2023\/07\/e3-nachhaltigkeitsbericht-2022-cover-1-768x1086.jpg 768w, https:\/\/e3holding.de\/wordpress\/wp-content\/uploads\/2023\/07\/e3-nachhaltigkeitsbericht-2022-cover-1.jpg 905w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/div><\/div>\n\t\t\t\t<div class=\"col-24 col-sm-16 col-lg-16 align-self-center\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"download-info\">\n\t\t\t\t\t\t<span class=\"page-title\">pdf<\/span>\n\t\t\t\t\t\t<p class=\"h3 download-title mt-0 mb-1\">Sustainability Report 2022<\/p>\n\t\t\t\t\t\t<p class=\"download-description small muted mb-3\"><i>Available only in German<\/i><\/p>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a class=\"d-block text-center text-sm-start\" target=\"_blank\" title=\"Download Sustainability Report 2022\" href=\"https:\/\/e3holding.de\/wordpress\/wp-content\/uploads\/2023\/07\/E3_Nachhaltigkeitsbericht_2022.pdf\">\n\n\t\t\t\t\t\n\t\t\t\t\t\t<button class=\"button button-background-secondary w-100\">\n\t\t\t\t\t\t\t<i class=\"fa fa-download\"><\/i><span class=\"ms-2 d-inline-block\">Download<\/span>\n\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<\/div><\/div><div class=\"tag-list-container pt-3\"><div class=\"tag-list\"><p class=\"mb-1 small\">Related topics<\/p><ul class=\"tag-list small\"><li><a href=\"https:\/\/e3holding.de\/en\/tag\/esg-en\/\" rel=\"tag\">ESG<\/a><\/li><li><a href=\"https:\/\/e3holding.de\/en\/tag\/reports\/\" rel=\"tag\">Reports<\/a><\/li><li><a href=\"https:\/\/e3holding.de\/en\/tag\/sustainability-en\/\" rel=\"tag\">Sustainability<\/a><\/li><\/ul><\/div><\/div><\/div><\/div><\/div><\/div><\/section>","protected":false},"excerpt":{"rendered":"","protected":false},"author":9,"featured_media":4418,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[40],"tags":[41,44,42],"class_list":["post-3578","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sustainability","tag-esg-en","tag-reports","tag-sustainability-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/posts\/3578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/comments?post=3578"}],"version-history":[{"count":2,"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/posts\/3578\/revisions"}],"predecessor-version":[{"id":4631,"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/posts\/3578\/revisions\/4631"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/media\/4418"}],"wp:attachment":[{"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/media?parent=3578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/categories?post=3578"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/e3holding.de\/en\/wp-json\/wp\/v2\/tags?post=3578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}