Which car do you want to drive?
17 cars
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '12');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 12 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sedan MANUAL
Sedan MANUAL
Dacia Logan Turbo
or Similar Sedan
80 KM (€41)
/ per Day
5
Manual
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '11');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 11 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sedan MANUAL
Sedan MANUAL
Dacia Sandero M-Line
or Similar Sedan
75 KM (€38)
/ per Day
5
Manual
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '10');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 10 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sports MANUAL
Sports MANUAL
Hyundai i30 N
or Similar Sports
71 KM (€36)
/ per Day
5
Manual
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '7');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 7 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Limousine AUTOMATIC
Limousine AUTOMATIC
Mercedes V-Class
or Similar Limousine
320 KM (€164)
/ per Day
7
Automatic
5 5+
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '1');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 1 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
SUV AUTOMATIC
SUV AUTOMATIC
SEAT Arona
or Similar SUV
90 KM (€46)
/ per Day
5
Automatic
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '17');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 17 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Mini MANUAL
Mini MANUAL
SEAT Mii
or Similar Mini
35 KM (€18)
/ per Day
4
Manual
3 2
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '2');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 2 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sedan MANUAL
Sedan MANUAL
Škoda Fabia
or Similar Sedan
68 KM (€35)
/ per Day
5
Manual
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '16');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 16 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sedan AUTOMATIC
Sedan AUTOMATIC
Škoda Fabia DSG
or Similar Sedan
78 KM (€40)
/ per Day
5
Automatic
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '19');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 19 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sedan AUTOMATIC
Sedan AUTOMATIC
Škoda Octavia Combi
or Similar Sedan
120 KM (€61)
/ per Day
5
Automatic
5 5
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '6');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 6 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sports AUTOMATIC
Sports AUTOMATIC
Volkswagen Golf 7.5 R-Line
or Similar Sports
120 KM (€61)
/ per Day
5
Automatic
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '4');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 4 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sedan MANUAL
Sedan MANUAL
Volkswagen Polo
or Similar Sedan
75 KM (€38)
/ per Day
5
Manual
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '14');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 14 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sedan MANUAL
Sedan MANUAL
Volkswagen Polo Comfortline
or Similar Sedan
60 KM (€31)
/ per Day
5
Manual
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '15');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 15 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sports MANUAL
Sports MANUAL
Volkswagen Polo R-Line
or Similar Sports
71 KM (€36)
/ per Day
5
Manual
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '5');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 5 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
SUV AUTOMATIC
SUV AUTOMATIC
Volkswagen T-Roc
or Similar SUV
190 KM (€97)
/ per Day
5
Automatic
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '3');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 3 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Mini MANUAL
Mini MANUAL
Volkswagen UP
or Similar Mini
35 KM (€18)
/ per Day
4
Manual
5 2
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '9');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 9 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
Sedan AUTOMATIC
Sedan AUTOMATIC
VW Golf 8
or Similar Sedan
160 KM (€82)
/ per Day
5
Automatic
5 3
Unlimited Kilometers
No Deposit
{
const isDesktop = window.innerWidth >= 1024;
const el = document.getElementById((isDesktop ? 'expand-d-' : 'expand-m-') + '8');
if (!el) return;
// Keep scroll position stable after DOM reflow
if (window.scrollY !== startY) window.scrollTo(0, startY);
const rect = el.getBoundingClientRect();
const elTopAbs = rect.top + window.scrollY;
const viewportH = window.innerHeight;
let target;
if (isDesktop) {
// Vertically center expanded in viewport
target = elTopAbs + rect.height / 2 - viewportH / 2;
} else {
// Mobile: align top of expanded ~100px from viewport top
target = elTopAbs - 100;
}
const maxScroll = document.documentElement.scrollHeight - viewportH;
target = Math.max(0, Math.min(target, maxScroll));
const distance = target - startY;
if (Math.abs(distance) < 8) return;
// Gentle: pace ~1px per ms, clamped
const duration = Math.min(1800, Math.max(800, Math.abs(distance) * 1.3));
const startTime = performance.now();
const easeInOutSine = t => -(Math.cos(Math.PI * t) - 1) / 2;
const step = now => {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
window.scrollTo(0, startY + distance * easeInOutSine(progress));
if (progress < 1) requestAnimationFrame(step);
};
requestAnimationFrame(step);
});
}
"
:class="selectedCar === 8 ? 'border-primary ring-2 ring-primary/20' : 'border-gray-200 hover:border-primary/50'"
class="bg-white rounded-2xl border-2 overflow-hidden cursor-pointer transition-all duration-200">
SUV AUTOMATIC
SUV AUTOMATIC
VW Tiguan
or Similar SUV
150 KM (€77)
/ per Day
5
Automatic
5 3
Unlimited Kilometers
No Deposit