Din webbläsare stöds ej. För bästa upplevelsen rekommenderas en nyare version eller en annan webbläsare.
Din sökning pågav inga träffar. Var vänlig försök med annat sökord.
Sökning måste bestå av minsttecken.
Betalningsvillkor
Du kan välja att betala kontant på plats hos oss eller via faktura. Vid fakturabetalning är betalningsvillkoret 20 dagar netto för alla fakturor, om inget annat är överenskommet.
Du kan välja mellan att få din faktura på epost, på lådan eller som brev. Epost är gratis och för utskriven kopia utgår en miljöavgift på 45kr.
Vid beställning över 25 000kr faktureras 20% av orderns värde som deposition vid beställning. Resterande del enligt överenskommelse.
Vid beställning över 100 000kr faktureras 25% av orderns värde som deposition vid beställning och 25% före leverans. Resterande del enligt överenskommelse.
Vid beställning över 500 000kr faktureras 50% av orderns värde som deposition vid beställning och 25% före leverans. Resterande del enligt överenskommelse.
Vid Leasing krävs signerat leasingkontrakt vid beställning.
Skulle betalning ej vara fullgjord vid förfallodatum utgår påminnelse med avgift på 45kr samt dröjsmålsränta om referensränta + 8% enligt §6 Räntelagen.
Skulle betalning ej vara fullgjord efter påminnelse lämnas fakturan över till inkasso och därmed associerade kostnader tillkommer utöver fakturabeloppet.
document.addEventListener("DOMContentLoaded", function () {
/* =====================================================
TABS
===================================================== */
const tabs = document.querySelectorAll(".ns-tab");
const panels = document.querySelectorAll(".ns-panel");
if (tabs.length && panels.length) {
tabs.forEach(function (tab) {
tab.addEventListener("click", function () {
tabs.forEach(function (t) {
t.classList.remove("active");
});
panels.forEach(function (p) {
p.classList.remove("active");
});
this.classList.add("active");
const target = this.dataset.tab;
const panel = document.querySelector('.ns-panel[data-content="' + target + '"]');
if (panel) {
panel.classList.add("active");
}
});
});
}
/* =====================================================
FAQ ACCORDION
===================================================== */
const faqItems = document.querySelectorAll(".ns-faq-item");
if (faqItems.length) {
faqItems.forEach(function (item) {
const button = item.querySelector(".ns-faq-question");
if (!button) return;
button.addEventListener("click", function () {
faqItems.forEach(function (other) {
if (other !== item) {
other.classList.remove("active");
}
});
item.classList.toggle("active");
});
});
}
/* =====================================================
GENERIC IMAGE SLIDERS (2 mobile / 3 desktop)
===================================================== */
const sliders = document.querySelectorAll("[data-slider]");
sliders.forEach(function (slider) {
const track = slider.querySelector(".slider-track");
const slides = slider.querySelectorAll(".slide");
const prev = slider.querySelector(".slider-btn.prev");
const next = slider.querySelector(".slider-btn.next");
if (!track || !slides.length || !prev || !next) return;
let index = 0;
function updateSlider() {
const slideWidth = slides[0].offsetWidth;
const gap = parseInt(getComputedStyle(track).gap, 10) || 0;
const step = slideWidth + gap;
const visible = window.innerWidth >= 1024 ? 3 : 2;
const maxIndex = Math.max(0, slides.length - visible);
index = Math.max(0, Math.min(index, maxIndex));
track.style.transform = "translateX(-" + (index * step) + "px)";
prev.disabled = index === 0;
next.disabled = index >= maxIndex;
}
prev.addEventListener("click", function () {
index--;
updateSlider();
});
next.addEventListener("click", function () {
index++;
updateSlider();
});
window.addEventListener("resize", updateSlider);
updateSlider();
});
/* =====================================================
INSPIRATION SLIDER (2 mobile / 4 desktop)
===================================================== */
const inspiration = document.querySelector(".inspiration-slider");
if (inspiration) {
const track = inspiration.querySelector(".slider-track");
const slides = inspiration.querySelectorAll(".slide");
const prev = inspiration.querySelector(".slider-arrow.prev");
const next = inspiration.querySelector(".slider-arrow.next");
if (track && slides.length && prev && next) {
let index = 0;
function updateInspiration() {
const slideWidth = slides[0].offsetWidth;
const gap = parseInt(getComputedStyle(track).gap, 10) || 0;
const step = slideWidth + gap;
const visible = window.innerWidth >= 1024 ? 4 : 2;
const maxIndex = Math.max(0, slides.length - visible);
index = Math.max(0, Math.min(index, maxIndex));
track.style.transform = "translateX(-" + (index * step) + "px)";
}
prev.addEventListener("click", function () {
index--;
updateInspiration();
});
next.addEventListener("click", function () {
index++;
updateInspiration();
});
window.addEventListener("resize", updateInspiration);
updateInspiration();
}
}
/* =====================================================
LOMBARD HERO SLIDER
===================================================== */
const lombardTrack = document.getElementById("lombard-slider-track");
const lombardSlides = lombardTrack ? lombardTrack.children : [];
const lombardPrev = document.querySelector(".lombard-slider-prev");
const lombardNext = document.querySelector(".lombard-slider-next");
if (lombardTrack && lombardSlides.length && lombardPrev && lombardNext) {
let lombardIndex = 0;
function updateLombardSlider() {
lombardTrack.style.transform = "translateX(-" + (lombardIndex * 100) + "%)";
}
lombardPrev.addEventListener("click", function () {
lombardIndex = (lombardIndex - 1 + lombardSlides.length) % lombardSlides.length;
updateLombardSlider();
});
lombardNext.addEventListener("click", function () {
lombardIndex = (lombardIndex + 1) % lombardSlides.length;
updateLombardSlider();
});
updateLombardSlider();
}
/* =====================================================
VIDEO AUTOPLAY FIX (mobile)
===================================================== */
const videos = document.querySelectorAll("video");
videos.forEach(function (video) {
video.setAttribute("muted", "");
video.setAttribute("playsinline", "");
video.setAttribute("webkit-playsinline", "");
const playPromise = video.play();
if (playPromise !== undefined) {
playPromise.catch(function () {});
}
});
/* =====================================================
SMOOTH SCROLL FOR HASH LINKS
===================================================== */
document.querySelectorAll('a[href^="#"]').forEach(function (anchor) {
anchor.addEventListener("click", function (e) {
const id = this.getAttribute("href");
if (!id || id === "#") return;
const target = document.querySelector(id);
if (!target) return;
e.preventDefault();
target.scrollIntoView({
behavior: "smooth",
block: "start"
});
});
});
/* =====================================================
PRODUCT USP CONTENT
===================================================== */
function findProductTitleElement() {
const selectors = [
".product-title h1",
".product-name h1",
".product-title",
".product-name",
"[class*='product-title'] h1",
"[class*='product-name'] h1",
"[class*='product-title']",
"[class*='product-name']",
"h1"
];
for (let i = 0; i < selectors.length; i++) {
const elements = document.querySelectorAll(selectors[i]);
for (let j = 0; j < elements.length; j++) {
const el = elements[j];
if (el && el.textContent && el.textContent.trim().length > 0) {
return el;
}
}
}
return null;
}
function findUSPSource() {
return document.querySelector(".product-usp-source");
}
function findUSPContent(sourceEl) {
if (!sourceEl) return null;
const content = sourceEl.querySelector(".product-usp-content");
if (content) return content;
const wrapper = document.createElement("div");
wrapper.className = "product-usp-content";
wrapper.innerHTML = sourceEl.innerHTML;
return wrapper;
}
function removeUnwantedLines(titleEl) {
if (!titleEl) return;
titleEl.style.borderBottom = "none";
titleEl.style.boxShadow = "none";
let current = titleEl.parentElement;
let steps = 0;
while (current && steps < 5) {
current.style.borderBottom = "none";
current.style.borderTop = "none";
current.style.boxShadow = "none";
steps++;
current = current.parentElement;
}
}
function insertUSPBelowTitle(titleEl, sourceEl) {
if (!titleEl || !sourceEl) return;
if (document.querySelector(".product-usp-content--moved")) return;
const content = findUSPContent(sourceEl);
if (!content) return;
const movedContent = content.cloneNode(true);
movedContent.classList.add("product-usp-content--moved");
titleEl.insertAdjacentElement("afterend", movedContent);
}
function initProductUSPContent() {
const titleEl = findProductTitleElement();
const sourceEl = findUSPSource();
if (!titleEl || !sourceEl) return;
insertUSPBelowTitle(titleEl, sourceEl);
removeUnwantedLines(titleEl);
}
initProductUSPContent();
});