View of the new MC aktiv magazine
Global News

MC aktiv 3/2022

In this year’s third issue of our MC aktiv magazine we focus on our MC-FastKick hardening accelerators. And, as usual, we also offer many more news, innovations, inspirations and project reports.

The new MC aktiv 3/22 has been published

16 Dec 2022

In this year’s third issue of our MC aktiv magazine we focus on our MC-FastKick hardening accelerators offering real benefits to the precast industry, in winter construction work, and also in ready-mix concrete production. In addition, our MC aktiv again comes with a mix of interesting and inspiring reports on innovations, projects and internal news from the MC world.

The main feature in this issue focuses on our MC-FastKick hardening accelerators

The main feature in this issue focuses on our MC-FastKick hardening accelerators offering real benefits to the precast industry, in winter construction work, and also in ready-mix concrete production.
©MC-Bauchemie 2026

Our current BIG PICTURE shows around 80 jubilarians who celebrated their 10-, 25- and 40-year milestones

Our current BIG PICTURE shows around 80 jubilarians who celebrated their 10-, 25- and 40-year milestones at MC in the period from 2020 to 2022.
©MC-Bauchemie 2026

MAIN FEATURE: Fast, faster, MC-Fastkick – Boosting concrete compatibility

The main feature in this issue focuses on our MC-FastKick hardening accelerators offering real benefits to the precast industry, in winter construction work, and also in ready-mix concrete production. The decarbonisation of the production process and the drastic rise in raw material and energy costs are putting concrete manufacturers under increasing pressure. With MC-FastKick hardening accelerators, these businesses can not only cut costs but also save time in production – while simultaneously making a contribution to climate protection.

BIG PICTURE: Grand gala for 80 long-serving employees

Our current BIG PICTURE shows around 80 jubilarians who celebrated their 10-, 25- and 40-year milestones at MC in the period from 2020 to 2022. The management of MC-Bauchemie invited the jubilarians to a gala celebration in the GOP Varieté Theatre in Essen. You can find the complete press release here.

INNOVATION & INSPIRATION by MC

In our INNOVATON section we inform you about some new products: From the new Type 1 potable water mortar MC-RIM PW 111 to the new environmentally friendly release agent Ortolan Extra 795 as well as the climate render Elegant MRP

 

In our INSPIRATION, we show which worlds of wonder you can create with MC-RockMortar. With the modelling mortar from MC-Bauchemie, you can create amazingly beautiful backdrops and landscapes with boulders, walls, trees, exotic buildings, temples and sculptures that look deceptively real.

BEST PRACTICE: Projects, projects, projects

In the BEST PRACTICE section we again offer a large selection of interesting projects where our product systems contributed to the success of the construction projects. From the Kuala Lumpur International Airport 2, to the Toyota car showroom in Vietnam and the Mandarin Oriental Project in Tel Aviv. Furthermore, MC products were also in demand in the refurbishing of the floor in a high-bay warehouse in Switzerland and in upgrading for Europe’s largest liquefied gas tanks.

SUSTAINABILITY

MC has once again participated in the EMAS eco-audit conducted by an EMAS-licensed environmental verifi er as per the relevant European standard, and has been additionally certifi ed according to ISO 14001. In addition we show the EFC concrete (Earth Friendly Concrete), which was developed by the WAGNERS company in Australia and MC-Bauchemie.  

 

As usual, we round off our recent issue with internal topics and personalia.

 

Have we aroused your interest?

Then, take a look at our current issue:

>> Link to the issue ... 


You want to subcribe for it?  

>> Then click here …

pageImpression = pageImpression + 1; }); barba.init({ preventRunning: true, timeout: 5000, /* for debuggin usi this parameters debug: false, logLevel: 'debug', */ /*sync: true,*/ // define a custom function that will prevent Barba // from working on links that contains a `prevent` CSS class prevent: ({ el, event, href }) => { if (!el) { return false; } if (el.href && el.href.includes('landingpages')) { return true; } if (el.classList && el.classList.contains('prevent')) { return true; } return false; }, preventScroll: true, scroll: false, views: [], transitions: [ { name: 'header-transition', sync: false, from: { custom: ({ trigger }) => { if (trigger.classList && trigger.classList.contains('headerFlip')) { transistionImage = trigger.getElementsByClassName("transitionImage")[0]; if (typeof transistionImage == "undefined") { return false; } transisitionEffect = getRandomInt(1); return true; } return false; } }, async leave(data) { if (transistionImage === null) return; // can be null, return if null to not throw an error if ( transisitionEffect == 0) { const done = this.async(); let element = transistionImage; let state = Flip.getState(element); let headerImage = document.getElementById('headerImage'); headerImage.removeChild(headerImage.getElementsByTagName('img')[0]); let headerContent = document.querySelector('.headerContent'); gsap.to(headerContent, { opacity: 0, }); let content = document.querySelector('.content'); gsap.to(content, { opacity: 0, }); headerImage.appendChild(element); scroll(0,0); Flip.from(state, {duration:0.9, ease: "power1.inOut", scale: true, absolute:true,}); await delay(900); // Der await Operator wird genutzt, um auf einen Promise zu warten. Er kann nur in einer async Funktion benutzt werden. done(); } }, enter(data) { window.scrollTop = '0'; let content = data.next.container.querySelector('.content'); gsap.from(content, { opacity: 0, }); let headerContent = data.next.container.querySelector('.headerContent'); gsap.from(headerContent, { opacity: 0, delay: 0.5, }); }, after(data) { } }, { name: 'microsites_sliding_scroll', sync: true, from: { custom: (data) => { const { trigger, current, next } = data; function getParent(pathname) { const parts = pathname.split('/').filter(part => part !== '') return parts.length > 1 ? parts[parts.length - 2] : parts[0] || null } if (trigger === 'popstate' || trigger === 'back' || trigger === 'forward') { return false; } if(trigger.classList.contains('microsites_sliding_scroll') || trigger.classList.contains('sliding_scroll')){ return true; } if(current.namespace == 'template_138' && next.namespace == 'template_138') { return getParent(current.url.path) === getParent(next.url.path) } return false; } }, to: { namespace: [ 'template_120', 'template_138', ] },async leave({ current, next, trigger }) { const debug = window.debug; if (debug) console.log('Debug mode enabled'); const done = this.async(); const menuindexCurrent = +current.container.querySelector('[data-menuindex]').dataset.menuindex; const menuindexNext = +next.container.querySelector('[data-menuindex]').dataset.menuindex; const nextContent = next.container.querySelector('.content'); const currentContent = current.container.querySelector('.content'); let xPerc = menuindexCurrent < menuindexNext ? 100 : -100; const navbarHeight = document.querySelector('.navbar').offsetHeight; const pageHeight = document.querySelector('.header').offsetHeight; const nextContentHeight = nextContent.offsetHeight; const totalHeight = nextContentHeight + navbarHeight + pageHeight; document.body.style.minHeight = `${totalHeight}px`; const targetScrollY = trigger.classList.contains('microsites_sliding_scroll') ? pageHeight - navbarHeight : pageHeight + navbarHeight; const top = trigger.classList.contains('microsites_sliding_scroll') ? '0px' : '116px'; gsap.set(next.container, { xPercent: xPerc, position: 'absolute', top: top, left: 0, display: 'block' }); const tl = gsap.timeline({ onComplete: () => { gsap.set(current.container, { display: "none" }); gsap.set(next.container, { clearProps: 'position,top,left,xPercent' }); gsap.set(nextContent, { clearProps: 'xPercent' }); document.body.style.minHeight = ''; done(); } }); tl.to(currentContent, { xPercent: -xPerc, duration: debug ? 5 : 0.5, ease: "power1.inOut", }, 0); tl.to(nextContent, { xPercent: -xPerc, duration: debug ? 5 : 0.5, ease: "power1.inOut" }, 0); tl.to(window, { scrollTo: { y: targetScrollY }, duration: debug ? 5 : 0.5, ease: "power1.inOut" }, 0); }, enter({ next }) { gsap.from(next.container, { opacity: 0, }); } }, { name: 'microsites_sliding', sync: true, from: { custom: ({ trigger }) => { if (trigger === 'popstate' || trigger === 'back' || trigger === 'forward') { return false; } if(trigger.classList.contains('microsites_sliding')){ return true; } return false; } }, to: { namespace: [ 'template_120', ] }, async leave({current, next}) { const done = this.async(); const tl = gsap.timeline({onComplete: ()=>{ gsap.set(next.container, {clearProps: 'all'}) gsap.set(next.container.querySelector('.content'), {clearProps: 'all'}) }}) const currentContent = current.container.querySelector('.content') const nextContent = next.container.querySelector('.content') const currentH1 = document.querySelector('.currentPagetitle') const currentIntrotext = document.querySelector('.currentIntrotext') const nextH1 = next.container.querySelector('.pageTitle') const nextIntrotext = next.container.querySelector('.introtext') gsap.set(next.container, { xPercent: 100, position: 'absolute', top: 0, left: 0 }) tl.to(currentContent, {xPercent: -100, opacity: 0, duration: 1, ease: "power1.inOut", onComplete: () => { gsap.set(current.container, { display: "none" }); }}, 0) .to([currentH1, currentIntrotext], { opacity: 0, duration: 0.5, ease: "power1.inOut", onComplete: () => { currentH1.innerText = nextH1.innerText; currentIntrotext.innerText = nextIntrotext.innerText; }}, 0) .to([currentH1, currentIntrotext], { opacity: 1, duration: 0.5, ease: "power1.inOut" }, 0.5) .to(nextContent, {xPercent: -100, duration: 1, ease: "power1.inOut"}, 0) await delay(1000); done(); }, enter({next}){ gsap.from(next.container, { opacity: 0, }); } }, { name: 'default', sync: false, async leave(data) { const done = this.async(); gsap.to(data.current.container, { opacity: 0, duration: 0.5, }); await delay(500); // Der await Operator wird genutzt, um auf einen Promise zu warten. Er kann nur in einer async Funktion benutzt werden. scroll(0,0); done(); }, enter(data) { window.scrollTop = '0'; gsap.from(data.next.container, { opacity: 0, duration: 0.5, }); }, after(data) { // START: Ankur - 15062023 - For Scroll Position History if(scrollHistory[data.next.url.href]) { let scroll = scrollHistory[data.next.url.href]; window.scrollTo({top: scroll.y, behavior: 'instant'}); } // END: Ankur } }, { name: 'self', enter() { }, } ] }); });