Referenz Karlsruhe, Weststadt
Ein Auftrag, vom vollen Keller bis zum leeren Raum
Vierundzwanzig Aufnahmen aus einem abgeschlossenen Einsatz. Wir räumen, trennen, entsorgen und übergeben besenrein.
/* Divi/Elementor-Container dürfen das Karussell nicht abschneiden */
.et_pb_module .gsa-car,
.elementor-widget-container .gsa-car{ overflow: visible !important; }
.gsa-car,
.gsa-car *{ float: none !important; }
.gsa-car{
–ink:#241C18; –ink-2:#6E625B; –paper:#FBF9F6;
–brick:#8C3B2A; –ember:#C86A2E; –hair:#E6DED4;
–r:4px; –gap:clamp(8px,1.2vw,14px); –pad:clamp(16px,4vw,36px); –nav:44px;
display:block !important;
position:relative;
box-sizing:border-box;
max-width:1280px;
margin:0 auto !important;
padding:clamp(28px,5vw,64px) var(–pad) !important;
background:var(–paper);
color:var(–ink);
font-family:-apple-system,BlinkMacSystemFont,“Segoe UI“,Roboto,“Helvetica Neue“,Arial,sans-serif;
font-size:16px; line-height:1.5;
text-align:left !important;
-webkit-font-smoothing:antialiased;
}
.gsa-car *,.gsa-car *::before,.gsa-car *::after{ box-sizing:border-box; }
.gsa-car p,.gsa-car h2,.gsa-car div{ margin:0; padding:0; }
.gsa-car br{ display:none !important; }
.gsa-car__head{ max-width:60ch; margin:0 0 clamp(20px,3vw,34px) 0 !important; }
.gsa-car__kicker{
display:flex !important; align-items:baseline; gap:10px;
font-size:12px !important; line-height:1.4 !important; letter-spacing:.14em;
text-transform:uppercase; color:var(–ink-2) !important; margin:0 0 13px 0 !important;
}
.gsa-car__kicker span{ color:var(–brick) !important; font-weight:700; padding-right:10px; border-right:1px solid var(–hair); }
.gsa-car .gsa-car__title{
font-size:clamp(1.4rem,1rem + 2vw,2.25rem) !important;
line-height:1.14 !important; font-weight:700 !important; letter-spacing:-.022em;
margin:0 0 11px 0 !important; padding:0 !important; color:var(–ink) !important;
}
.gsa-car .gsa-car__lead{
font-size:clamp(.94rem,.9rem + .16vw,1.02rem) !important;
line-height:1.68 !important; color:var(–ink-2) !important; margin:0 !important;
}
.gsa-car__stage{ position:relative; display:flex !important; align-items:center; gap:clamp(6px,1.2vw,14px); }
.gsa-car .gsa-car__nav{
flex:0 0 auto;
display:flex !important; align-items:center; justify-content:center;
width:var(–nav) !important; height:var(–nav) !important;
min-width:0 !important; min-height:0 !important;
padding:0 !important; margin:0 !important;
border:1px solid var(–hair) !important; border-radius:50% !important;
background:#fff !important; background-image:none !important;
color:var(–ink) !important; font-size:0 !important;
box-shadow:0 1px 2px rgba(36,28,24,.05) !important;
text-shadow:none !important; text-transform:none !important;
letter-spacing:0 !important; cursor:pointer;
transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;
-webkit-tap-highlight-color:transparent; -webkit-appearance:none; appearance:none;
}
.gsa-car .gsa-car__nav::before,
.gsa-car .gsa-car__nav::after{ content:none !important; display:none !important; }
.gsa-car .gsa-car__nav svg{
width:19px; height:19px; display:block;
fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}
.gsa-car .gsa-car__nav:hover{ background:var(–brick) !important; border-color:var(–brick) !important; color:#fff !important; transform:scale(1.06); }
.gsa-car .gsa-car__nav:active{ transform:scale(.96); }
.gsa-car .gsa-car__nav:focus-visible{ outline:2px solid var(–ember); outline-offset:3px; }
@media (max-width:640px){ .gsa-car{ –nav:40px; } .gsa-car__stage{ gap:6px; } }
.gsa-car__track{
flex:1 1 auto; min-width:0;
display:flex !important; gap:var(–gap);
overflow-x:auto !important; overflow-y:hidden !important;
overscroll-behavior-x:contain;
scroll-snap-type:x mandatory; scroll-behavior:smooth;
scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch;
padding:2px 0 4px !important; margin:0 !important; outline:none;
}
.gsa-car__track::-webkit-scrollbar{ width:0; height:0; display:none; }
.gsa-car__track:focus-visible{ outline:2px solid var(–ember); outline-offset:4px; border-radius:var(–r); }
.gsa-car .gsa-car__slide{
flex:0 0 auto; scroll-snap-align:start;
width:82%; margin:0 !important; padding:0 !important;
list-style:none !important; border:0 !important; background:none !important;
}
@media (min-width:700px){ .gsa-car .gsa-car__slide{ width:calc((100% – 2*var(–gap))/3); } }
@media (min-width:1040px){ .gsa-car .gsa-car__slide{ width:calc((100% – 3*var(–gap))/4); } }
.gsa-car .gsa-car__link{
display:block !important; position:relative;
border:0 !important; outline:0; background:none !important; box-shadow:none !important;
padding:0 !important; margin:0 !important;
text-decoration:none !important; color:inherit;
border-radius:var(–r); overflow:hidden; cursor:zoom-in;
-webkit-tap-highlight-color:transparent;
}
.gsa-car .gsa-car__link:hover,.gsa-car .gsa-car__link:focus{ text-decoration:none !important; }
.gsa-car .gsa-car__link::after{
content:““; position:absolute; top:0; right:0; bottom:0; left:0; z-index:2;
border-radius:var(–r); pointer-events:none; opacity:1;
background:linear-gradient(to top,rgba(36,28,24,.34) 0%,rgba(36,28,24,0) 48%),
linear-gradient(140deg,rgba(140,59,42,.28),rgba(200,106,46,.10) 55%,transparent);
transition:opacity .55s ease;
}
.gsa-car .gsa-car__link::before{
content:““; position:absolute; top:0; right:0; bottom:0; left:0; z-index:3;
border-radius:var(–r); pointer-events:none;
box-shadow:inset 0 0 0 1px rgba(36,28,24,.09);
}
.gsa-car .gsa-car__frame{
display:block !important; position:relative;
width:100% !important; height:0 !important;
padding:0 0 125% 0 !important; margin:0 !important;
overflow:hidden; background:#EFE9E1; border-radius:var(–r);
}
.gsa-car .gsa-car__frame > img,
.gsa-car .gsa-car__frame > img.gsa-img{
position:absolute !important; top:0 !important; left:0 !important;
display:block !important;
width:100% !important; height:100% !important;
max-width:none !important; max-height:none !important; min-width:0 !important;
margin:0 !important; padding:0 !important;
border:0 !important; border-radius:0 !important; box-shadow:none !important;
object-fit:cover !important; object-position:center !important;
transform:scale(1.02); filter:saturate(.94);
transition:transform .7s cubic-bezier(.16,.7,.24,1),filter .5s ease;
}
@media (hover:hover) and (pointer:fine){
.gsa-car .gsa-car__link:hover::after{ opacity:.16; }
.gsa-car .gsa-car__link:hover .gsa-car__frame > img{ transform:scale(1.075); filter:saturate(1.04); }
}
@media (hover:none){ .gsa-car .gsa-car__link::after{ opacity:.5; } }
.gsa-car .gsa-car__link:focus-visible{ outline:2px solid var(–ember); outline-offset:3px; }
.gsa-car__dots{
display:flex !important; flex-wrap:wrap; justify-content:center; align-items:center;
gap:8px; margin:clamp(18px,2.5vw,26px) 0 0 0 !important; padding:0 var(–nav) !important;
}
.gsa-car .gsa-car__dot{
display:block !important; width:7px !important; height:7px !important;
min-width:0 !important; min-height:0 !important;
padding:0 !important; margin:0 !important; font-size:0 !important;
border:0 !important; border-radius:50% !important;
background:#D8CEC2 !important; background-image:none !important;
box-shadow:none !important; cursor:pointer;
-webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent;
transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}
.gsa-car .gsa-car__dot::before,.gsa-car .gsa-car__dot::after{ content:none !important; }
.gsa-car .gsa-car__dot:hover{ background:#BCAC9C !important; }
.gsa-car .gsa-car__dot[aria-selected=“true“]{
background:var(–brick) !important; transform:scale(1.5);
box-shadow:0 0 0 3px rgba(140,59,42,.14) !important;
}
.gsa-car .gsa-car__dot:focus-visible{ outline:2px solid var(–ember); outline-offset:3px; }
/* Großansicht */
.gsa-lb{
position:fixed !important; top:0; right:0; bottom:0; left:0; z-index:999999;
display:flex !important; align-items:center; justify-content:center;
gap:clamp(2px,1.5vw,20px); padding:clamp(14px,3vw,44px);
background:rgba(20,15,12,.95);
-webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
animation:gsa-lb-in .22s ease; box-sizing:border-box;
}
.gsa-lb[hidden]{ display:none !important; }
.gsa-lb *{ box-sizing:border-box; }
@keyframes gsa-lb-in{ from{opacity:0} to{opacity:1} }
.gsa-lb__stage{ display:flex; flex-direction:column; align-items:center; gap:15px; min-width:0; max-height:100%; }
.gsa-lb__stage img{
display:block !important; max-width:100% !important; max-height:76vh !important;
width:auto !important; height:auto !important; margin:0 !important;
object-fit:contain; border-radius:3px; box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.gsa-lb__meta{
margin:0 !important; font-size:12px !important; letter-spacing:.12em;
text-transform:uppercase; color:rgba(255,255,255,.6) !important;
font-variant-numeric:tabular-nums;
}
.gsa-lb__arrow,.gsa-lb__x{
flex:0 0 auto; display:flex !important; align-items:center; justify-content:center;
background:rgba(255,255,255,.07) !important; background-image:none !important;
color:#fff !important; border:1px solid rgba(255,255,255,.16) !important;
border-radius:50% !important; padding:0 !important; margin:0 !important;
line-height:1; cursor:pointer; text-shadow:none !important;
-webkit-appearance:none; appearance:none;
transition:background .2s ease,border-color .2s ease;
}
.gsa-lb__arrow::before,.gsa-lb__arrow::after,
.gsa-lb__x::before,.gsa-lb__x::after{ content:none !important; }
.gsa-lb__arrow{ width:50px !important; height:50px !important; font-size:0 !important; }
.gsa-lb__arrow svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.gsa-lb__x{ position:absolute; top:18px; right:18px; width:42px !important; height:42px !important; font-size:15px !important; }
.gsa-lb__arrow:hover,.gsa-lb__x:hover{ background:rgba(255,255,255,.16) !important; border-color:rgba(255,255,255,.3) !important; }
@media (max-width:700px){
.gsa-lb__arrow{ position:absolute; bottom:22px; width:44px !important; height:44px !important; }
.gsa-lb__arrow–p{ left:22px; } .gsa-lb__arrow–n{ right:22px; }
.gsa-lb__stage img{ max-height:66vh !important; }
}
@media (prefers-reduced-motion:reduce){
.gsa-car__track{ scroll-behavior:auto; }
.gsa-car *,.gsa-lb,.gsa-lb *{ transition:none !important; animation:none !important; }
}
(function () {
„use strict“;
function boot() {
var root = document.getElementById(„gsa-car“);
if (!root || root.getAttribute(„data-gsa-ready“) === „1“) return;
var track = document.getElementById(„gsa-track“);
var dots = document.getElementById(„gsa-dots“);
var prev = document.getElementById(„gsa-prev“);
var next = document.getElementById(„gsa-next“);
var lb = document.getElementById(„gsa-lb“);
if (!track || !prev || !next) return;
root.setAttribute(„data-gsa-ready“, „1“);
/* — Lazy-Load-Plugins rückgängig machen (Smush, Divi, Caching) — */
function unlazy(scope) {
var imgs = scope.querySelectorAll(„img“);
for (var i = 0; i < imgs.length; i++) {
var im = imgs[i];
var real = im.getAttribute(„data-src“) || im.getAttribute(„data-lazy-src“)
|| im.getAttribute(„data-original“) || im.getAttribute(„data-echo“);
var cur = im.getAttribute(„src“) || „“;
if (real && (!cur || cur.indexOf(„data:image“) === 0 || cur !== real)) {
im.setAttribute(„src“, real);
}
var rs = im.getAttribute(„data-srcset“) || im.getAttribute(„data-lazy-srcset“);
if (rs) im.setAttribute(„srcset“, rs);
im.classList.remove(„lazyload“, „lazyloading“, „smush-lazy“);
im.setAttribute(„loading“, „eager“);
im.style.opacity = „1“;
}
}
unlazy(track);
setTimeout(function () { unlazy(track); }, 800);
setTimeout(function () { unlazy(track); }, 2500);
var slides = Array.prototype.slice.call(track.querySelectorAll(„.gsa-car__slide“));
var N = slides.length;
if (!N) return;
var reduce = window.matchMedia && window.matchMedia(„(prefers-reduced-motion: reduce)“).matches;
var perView = 1, pages = N, page = 0, lock = false;
function step() {
if (N 0 ? d : (slides[0].offsetWidth || 1);
}
function measure() {
var s = step();
perView = Math.max(1, Math.round(track.clientWidth / s));
if (perView > N) perView = N;
pages = Math.max(1, Math.ceil(N / perView));
if (page > pages – 1) page = pages – 1;
buildDots();
}
function buildDots() {
if (!dots) return;
if (dots.children.length !== pages) {
dots.innerHTML = „“;
for (var i = 0; i < pages; i++) {
var b = document.createElement(„button“);
b.type = „button“;
b.className = „gsa-car__dot“;
b.setAttribute(„role“, „tab“);
b.setAttribute(„aria-label“, „Zu Bild “ + (i * perView + 1));
(function (n) { b.addEventListener(„click“, function (e) { e.preventDefault(); go(n); }); })(i);
dots.appendChild(b);
}
}
sync();
}
function go(p) {
page = ((p % pages) + pages) % pages;
var target = Math.min(page * perView, N – perView);
if (target < 0) target = 0;
var x = slides[target].offsetLeft – slides[0].offsetLeft;
lock = true;
if (reduce || !track.scrollTo) {
track.scrollLeft = x;
} else {
try { track.scrollTo({ left: x, behavior: „smooth“ }); }
catch (err) { track.scrollLeft = x; }
}
sync();
setTimeout(function () { lock = false; }, 550);
}
function sync() {
if (!dots) return;
for (var i = 0; i < dots.children.length; i++) {
dots.children[i].setAttribute(„aria-selected“, i === page ? „true“ : „false“);
}
}
prev.addEventListener(„click“, function (e) { e.preventDefault(); e.stopPropagation(); go(page – 1); });
next.addEventListener(„click“, function (e) { e.preventDefault(); e.stopPropagation(); go(page + 1); });
var raf = false;
track.addEventListener(„scroll“, function () {
if (lock || raf) return;
raf = true;
requestAnimationFrame(function () {
var p = Math.round(track.scrollLeft / (step() * perView));
page = Math.max(0, Math.min(pages – 1, p));
sync();
raf = false;
});
}, { passive: true });
track.addEventListener(„keydown“, function (e) {
if (e.key === „ArrowLeft“) { e.preventDefault(); go(page – 1); }
if (e.key === „ArrowRight“) { e.preventDefault(); go(page + 1); }
if (e.key === „Home“) { e.preventDefault(); go(0); }
if (e.key === „End“) { e.preventDefault(); go(pages – 1); }
});
var rt;
window.addEventListener(„resize“, function () {
clearTimeout(rt);
rt = setTimeout(function () { measure(); go(page); }, 160);
});
window.addEventListener(„load“, function () { unlazy(track); measure(); });
measure();
/* — Großansicht — */
if (!lb) return;
if (lb.parentNode !== document.body) document.body.appendChild(lb);
var links = [];
for (var i = 0; i < slides.length; i++) links.push(slides[i].querySelector(„.gsa-car__link“));
var img = document.getElementById(„gsa-lb-img“);
var meta = document.getElementById(„gsa-lb-meta“);
var bx = document.getElementById(„gsa-lb-x“);
var bp = document.getElementById(„gsa-lb-p“);
var bn = document.getElementById(„gsa-lb-n“);
var cur = 0, opener = null;
function render(i) {
cur = ((i % N) + N) % N;
var a = links[cur];
if (!a) return;
var t = a.querySelector(„img“);
img.setAttribute(„src“, a.getAttribute(„href“));
img.alt = t ? t.alt : „“;
meta.textContent = („0″ + (cur + 1)).slice(-2) + “ / “ + N;
}
function open(i, trigger) {
opener = trigger || null;
render(i);
lb.hidden = false;
document.documentElement.style.overflow = „hidden“;
document.body.style.overflow = „hidden“;
bx.focus();
}
function close() {
lb.hidden = true;
img.removeAttribute(„src“);
document.documentElement.style.overflow = „“;
document.body.style.overflow = „“;
if (opener) opener.focus();
}
for (var j = 0; j 50) render(cur + (dx < 0 ? 1 : -1));
sx = null;
}, { passive: true });
}
if (document.readyState === „loading“) {
document.addEventListener(„DOMContentLoaded“, boot);
} else {
boot();
}
window.addEventListener(„load“, boot);
if (window.jQuery) {
jQuery(window).on(„elementor/frontend/init et_pb_after_init_modules“, boot);
}
})();























