AMPERION_Webpage/layouts/index.html

354 lines
No EOL
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{ define "main" }}
<header id="mainHeader">
{{ with .Params.banner }}
{{ if .enable }}
<!-- HERO / SLIDER -->
<section id="hero" class="slider {{ if .bg_overlay }}overly{{ end }} gif-background"
style="min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative;">
<div class="my-container" style="position: relative; z-index: 2;">
<!-- Logo-Zeile mit zwei Frames -->
<div class="logo-container">
<div class="frame1">
<img src="{{ .logo_image1 | relURL }}" alt="Logo Frame 1" class="banner-logo">
</div>
<div class="frame2">
<img src="{{ .logo_image2 | relURL }}" alt="Logo Frame 2" class="banner-logo">
</div>
</div>
<!-- Haupttitel + Button -->
<div class="hero-section" style="margin-top: 10rem;">
{{ with .title }}
<h2 class="hero-title fade-in-title">{{ . | markdownify }}</h2>
{{ end }}
{{ with .button }}
{{ if .enable }}
<div class="scrolldown" onclick="document.getElementById('service').scrollIntoView({ behavior: 'smooth' });"
style="--color: rgb(0, 0, 0); cursor: pointer;">
<div class="chevrons">
<div class='chevrondown'></div>
<div class='chevrondown'></div>
</div>
</div>
{{ end }}
{{ end }}
</div>
</div>
</section>
{{ end }}
{{ end }}
</header>
<!-- Scroll/Hide Header -->
<script>
document.addEventListener('DOMContentLoaded', function () {
const hero = document.getElementById('hero');
const targetSection = document.getElementById('leistungen-fokusthemen');
const scrolldown = document.querySelector('.scrolldown');
const header = document.getElementById('mainHeader');
let lastScroll = window.scrollY;
let autoScrollDone = false;
let isAutoScrolling = false;
const offset = 120;
function scrollToTarget() {
if (!targetSection || isAutoScrolling) return;
isAutoScrolling = true;
const y = targetSection.getBoundingClientRect().top + window.pageYOffset - offset;
window.scrollTo({ top: y, behavior: 'smooth' });
setTimeout(() => {
isAutoScrolling = false;
autoScrollDone = true;
}, 1000);
}
// Click handler für Scrolldown
scrolldown?.addEventListener('click', (e) => {
e.preventDefault();
e.stopPropagation();
scrollToTarget();
});
// Wheel handler für Auto-Scroll am Ende der Hero-Section
let wheelTimeout;
window.addEventListener('wheel', function (e) {
if (autoScrollDone || isAutoScrolling || e.deltaY <= 0 || !hero || !targetSection) return;
clearTimeout(wheelTimeout);
wheelTimeout = setTimeout(() => {
const heroBottom = hero.getBoundingClientRect().bottom;
const threshold = 50;
if (heroBottom <= window.innerHeight + threshold && heroBottom > 0) {
scrollToTarget();
}
}, 50);
}, { passive: true });
// Scroll handler für Header und Chevron
let scrollTimeout;
window.addEventListener('scroll', function () {
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(() => {
// Chevron ausblenden
if (window.scrollY > 100) {
scrolldown?.classList.add('hide');
} else {
scrolldown?.classList.remove('hide');
}
// Header verstecken beim Runterscrollen
const currentScroll = window.scrollY;
if (!isAutoScrolling) {
header.style.top = (currentScroll > lastScroll && currentScroll > 100) ? '-100vh' : '0';
if (currentScroll === 0) header.style.top = '0';
lastScroll = currentScroll;
}
// Reset Auto-Scroll wenn zurück im Hero
const heroTop = hero.getBoundingClientRect().top;
const heroBottom = hero.getBoundingClientRect().bottom;
if (heroTop >= -10 && heroBottom > window.innerHeight * 0.8) {
autoScrollDone = false;
}
}, 10);
});
// Reset beim Seitenwechsel
window.addEventListener('beforeunload', () => {
window.scrollTo(0, 0);
});
});
</script>
<!-- KOMBINIERTE SECTION: Leistungen & Fokusthemen -->
<section id="leistungen-fokusthemen" class="section combined-services " style="background-color:#f3f3f3;">
<div class="my-container">
<div class="grid-section services-grid" data-aos="fade-up" data-aos-delay="50">
{{ partial "section-grid.html" (dict "page" "/service" "type" "zoom" "hideSection" true) }}
</div>
<div class="grid-spacer" aria-hidden="true"></div>
<div class="grid-section focus-grid" data-aos="fade-up" data-aos-delay="100">
{{ partial "section-grid.html" (dict "page" "/focustopic" "type" "zoom" "hideSection" true) }}
</div>
</div>
</section>
<!-- DARUM AMPERION -->
<section class="whyamperion section">
<div class="container my-container">
<!-- Titelblock -->
<div class="row">
<div class="text-center" data-aos="fade-up" data-aos-delay="100">
<h2>Darum AMPERION</h2>
<h3><em>Kompetenz, auf die Sie bauen können von der Idee bis zur Inbetriebnahme.</em></h3>
</div>
</div>
<!-- Karten -->
<div class="why-grid mt-5">
{{ $delay := 0 }}
{{ $delayStep := 100 }}
<article class="service-card text-center" data-aos="zoom-in" data-aos-delay="{{ $delay = add $delay $delayStep }}">
<img src="icons/file-badge.svg" alt="Technische Planungskompetenz Icon" class="service-icon mb-3">
<h4 class="service-card-title">Technische Planungskompetenz</h4>
<p class="service-card-description">
<strong>Langjährige Erfahrung mit komplexer Energieplanung </strong> normgerecht, effizient &amp; zukunftssicher.
</p>
</article>
<article class="service-card text-center" data-aos="zoom-in" data-aos-delay="{{ $delay = add $delay $delayStep }}">
<img src="icons/plug-zap.svg" alt="Intelligente Energiesysteme Icon" class="service-icon mb-3">
<h4 class="service-card-title">Intelligente Energiesysteme</h4>
<p class="service-card-description">
<strong>Von PV bis Speicher und Lastmanagement </strong> für maximale Eigenversorgung und Netzverträglichkeit.
</p>
</article>
<article class="service-card text-center" data-aos="zoom-in" data-aos-delay="{{ $delay = add $delay $delayStep }}">
<img src="icons/headset.svg" alt="Persönliche Betreuung Icon" class="service-icon mb-3">
<h4 class="service-card-title">Persönliche Betreuung</h4>
<p class="service-card-description">
<strong>Kurze Wege, schnelle Antworten </strong> direkte Ansprechpartner, auch nach Projektabschluss.
</p>
</article>
<article class="service-card text-center" data-aos="zoom-in" data-aos-delay="{{ $delay = add $delay $delayStep }}">
<img src="icons/hard-hat.svg" alt="Reibungslose Projektabwicklung Icon" class="service-icon mb-3">
<h4 class="service-card-title">Reibungslose Projektabwicklung</h4>
<p class="service-card-description">
<strong>Wir übernehmen die technische Koordination </strong> von Einreichung bis Ausschreibung.
</p>
</article>
<article class="service-card text-center" data-aos="zoom-in" data-aos-delay="{{ $delay = add $delay $delayStep }}">
<img src="icons/network.svg" alt="Vernetzte Energiezukunft Icon" class="service-icon mb-3">
<h4 class="service-card-title">Vernetzte Energiezukunft</h4>
<p class="service-card-description">
<strong>Wir denken Energie ganzheitlich </strong> modular, digital und wachstumsfähig geplant.
</p>
</article>
<article class="service-card text-center" data-aos="zoom-in" data-aos-delay="{{ $delay = add $delay $delayStep }}">
<img src="icons/circuit-board.svg" alt="Präzise Systemplanung Icon" class="service-icon mb-3">
<h4 class="service-card-title">Präzise Systemplanung</h4>
<p class="service-card-description">
<strong>Alle Komponenten exakt abgestimmt </strong> wirtschaftlich und regelkonform.
</p>
</article>
</div>
</div>
<!-- Affiliations / Verbände unterhalb der Cards -->
<div class="darum-aff-row" data-aos="fade-up" data-aos-delay="100">
<!-- Linker Block: Ingenieurbüros + Co. -->
<div class="aff-group aff-left">
<div class="aff-logos">
<a href="https://www.ingenieurbueros.at/"
target="_blank"
rel="noopener external nofollow"
aria-label="Ingenieurbüros Österreich Website öffnen"
title="Ingenieurbüros Österreich">
<img src="images/logo-fusszeile-mitglieder-2018.webp" alt="Ingenieurbüros Österreich">
</a>
</div>
<!-- Rechter Block: Elektriker Österreich (klickbar, NUR Logo) -->
<a class="aff-group aff-right"
href="https://elektrikeroesterreich.at/"
target="_blank"
rel="noopener external nofollow"
aria-label="Elektriker Österreich Website öffnen"
title="Elektriker Österreich">
<img src="/images/logoelektrikeroedachmarke.png"
alt="Mitglied bei Elektriker Österreich"
class="aff-pva-logo">
</a>
</div>
</div>
</section>
<!-- ÜBER AMPERION -->
{{ with .Params.about }}
{{ if .enable }}
<section id="about" class="about section" style="background-color:#f3f3f3">
<div class="container">
<!-- Titelbereich -->
<div class="row">
<div class="col-12 text-center" data-aos="fade-up" data-aos-delay="100">
<h2>Über AMPERION</h2>
{{ with .description }}<h3>{{ . | markdownify }}</h3>{{ end }}
</div>
</div>
<!-- Inhalt -->
<div class="row mt-4 d-flex align-items-stretch about-row">
<!-- Textbereich -->
<div class="col-md-7 col-sm-12 d-flex h-1000" data-aos="fade-right" data-aos-delay="200">
<div class="text-left w-100 my-auto">
{{ with .content }}{{ . | markdownify }}{{ end }}
</div>
<a href="/about/" class="about-cta">MEHR ÜBER UNS</a>
</div>
<!-- Bildbereich -->
<div class="col-md-5 col-sm-12 d-flex h-10" data-aos="zoom-in" data-aos-delay="300">
<div class="about-image-wrap">
<img src="{{ .image | relURL }}" class="about-image" alt="Über AMPERION Bild">
</div>
</div>
</div>
</div>
</section>
{{ end }}
{{ end }}
<!-- CALL TO ACTION -->
{{ $impressum := site.GetPage "page" "impressum" }}
{{ if .Params.cta.enable }}
<section id="cta" class="cta">
<!-- Animierter Hintergrund -->
<div class="cta__bg" aria-hidden="true">
<!-- Grid Pattern -->
<div class="cta__grid"></div>
<!-- Energie-Linien -->
<div class="cta__energy-lines">
<!-- Horizontale Linien -->
<div class="energy-line-h energy-line-h2"></div>
<div class="energy-line-h energy-line-h3"></div>
<!-- Vertikale Linien -->
<div class="energy-line-v energy-line-v1"></div>
<div class="energy-line-v energy-line-v2"></div>
<!-- Energie-Knoten -->
<div class="energy-node energy-node1"></div>
<div class="energy-node energy-node2"></div>
</div>
<!-- Gradient Overlays -->
<div class="cta__gradient-top"></div>
<div class="cta__gradient-bottom"></div>
</div>
<!-- Content -->
<div class="my-container">
<div class="cta__wrap">
<h3 class="cta__title">
Lassen Sie uns Ihre Vision mit unserer Expertise zur Realität machen.
</h3>
<p class="cta__lead">
Bereit für Ihr Energieprojekt?
<span class="cta__accent">Kostenfreie Erstberatung sichern!</span>
</p>
<div class="cta__actions">
<a class="cta__btn" href="mailto:{{ $impressum.Params.email }}">
<span aria-hidden="true">✉️</span><span>E-Mail senden</span>
</a>
<a class="cta__btn" href="tel:{{ $impressum.Params.telefon }}">
<span aria-hidden="true">📞</span><span>Anrufen</span>
</a>
</div>
<div class="cta__social">
<a class="cta__social-link" href="https://www.instagram.com/amperion.at/" target="_blank" rel="noopener" aria-label="Instagram">
<img src="/images/social/instagram.svg" alt="">
</a>
<a class="cta__social-link" href="https://www.linkedin.com/company/amperion-gmbh/" target="_blank" rel="noopener" aria-label="LinkedIn">
<img src="/images/social/linkedin.svg" alt="">
</a>
<a class="cta__social-link" href="https://www.facebook.com/share/1CZ7xm6cdw/?mibextid=wwXIfr" target="_blank" rel="noopener" aria-label="Facebook">
<img src="/images/social/facebook.svg" alt="">
</a>
</div>
</div>
</div>
</section>
{{ end }}
{{ end }}