Before we take off creatively,

we always build a runway.

SCROLL

Cases

Of course, the result is what matters most in every task.
But before you can see, hear, or touch something finished, there is always a creation process. And that is often truly insightful – because it shows how we approach and implement things.

If you like both – the solutions and our way of getting there – then why not give us the next exciting task!
We are ready. In any case.

Development of an anniversary book

Updating the Communication Presence

MinTec Product Launch

ALPLA Compaintion

ALPLA Sustainability

Launch Campaign “Kleines Helles”

Image Campaign 2019/2020

ALPLA Employer Branding Campaign

We have the knowledge, you have the certainty.

All our competencies.

Care for a
coffee?

Stop by for a relaxed visit.

Our most exciting project?

Always the one at hand!

.bg-shift { transition: background-color .8s ease; } .bg-shift.in-view { background-color: #410d00 !important; } document.addEventListener('DOMContentLoaded', function() { new IntersectionObserver(function(entries) { entries.forEach(function(e) { if (e.isIntersecting) { e.target.classList.add('in-view'); } else if (e.boundingClientRect.top > 0) { // nur entfernen wenn Element noch unterhalb des Viewports ist (also nach oben rausgescrollt) e.target.classList.remove('in-view'); } }); }, { threshold: 0.5 }).observe(document.querySelector('.bg-shift')); });
.sticky-label { position: fixed; left: 50px; top: 50%; transform: translateX(-50%) translateY(-50%) rotate(-90deg); transform-origin: center center; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; transition: color .5s ease, opacity .4s ease; pointer-events: none; z-index: 200; white-space: nowrap; } @media (max-width: 768px) { .sticky-label { left: 5%; top: 50%; font-size: 9px; } }
Curious?
(function() { function initStickyLabel() { const label = document.getElementById('stickyLabel'); if (!label || label.dataset.init) return; label.dataset.init = 'true'; label.textContent = 'Neugierig?'; label.style.color = '#ffffff'; const sections = [ { id: 'section-projekt', label: 'Neugierig?', color: '#ffffff' }, { id: 'section-kontakt', label: 'Ein gemeinsames Projekt?', color: '#ffffff' }, { id: 'section-kaffee', label: 'Ein gemeinsames Projekt?', color: '#FF4C08' }, { id: 'section-start', label: 'Fundament, Konzeption, kein abgedrehter Quatsch.', color: '#FF4C08' }, { id: 'section-alle-cases', label: 'Viel Spaß beim Stöbern!', color: '#FF4C08' }, { id: 'section-kompetenzen', label: '360° Kommunikation', color: '#ffffff' } ]; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (!entry.isIntersecting) return; const match = sections.find(s => s.id === entry.target.id); if (!match) return; label.textContent = match.label; label.style.color = match.color; }); }, { threshold: 0 }); sections.forEach(s => { const el = document.getElementById(s.id); if (el) observer.observe(el); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initStickyLabel); } else { initStickyLabel(); } window.addEventListener('elementor/frontend/init', initStickyLabel); setTimeout(initStickyLabel, 500); setTimeout(initStickyLabel, 1500); })();

Double Gold

for Weiss-Gold!