Update020920252221

This commit is contained in:
Markus 2025-09-02 22:21:50 +02:00
parent 6c64da0884
commit 6828c3f835
7 changed files with 130 additions and 77 deletions

View file

@ -30,9 +30,8 @@
.stack{display:grid;gap:16px}
.stack-lg{display:grid;gap:24px}
.info-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.info-item{display:flex;gap:.75rem;align-items:flex-start; justify-content:center; text-align:center}
.info-item .ico{flex:0 0 auto;line-height:0}
.info-item .txt a{ text-decoration:none;color:inherit; }
.info-item{display:flex;gap:.75rem;align-items:flex-start}
.info-item .ico{flex:0 0 auto;line-height:0;color:#F5A623}
/* CTA-Buttons & Socials: nutzt eure bestehenden Klassen nur Layout-Hooks */
.cta__actions{display:flex;gap:.75rem;flex-wrap:wrap}
@ -51,8 +50,8 @@
}
textarea.form-control{min-height:160px;resize:vertical}
.form-control:focus{border-color:#F5A623;box-shadow:0 0 0 3px rgba(245,166,35,.18)}
.form-legal{margin:0;opacity:.9}
.card h3{margin:0 0 .5rem}
.form-legal{margin:0;opacity:.9} /* p-Standardgröße bleibt erhalten */
.card h3{margin:0 0 .5rem} /* nur Abstand, Typo kommt global von h3 */
</style>
<section class="contact-wrap">
@ -64,41 +63,34 @@
<div class="card card-pad stack-lg">
<div class="stack">
<h3>Kontakt</h3>
<ul class="info-list">
{{ with $addr }}
<li class="info-item">
<span class="ico" aria-hidden="true">📍</span>
<div class="txt">{{ . | markdownify }}</div>
</li>
{{ end }}
{{ with $email }}
<li class="info-item">
<span class="ico" aria-hidden="true">📧</span>
<div class="txt">
<a href="mailto:{{ . | safeURL }}">{{ . }}</a>
</div>
</li>
{{ end }}
{{ with $phone1 }}
<li class="info-item">
<span class="ico" aria-hidden="true">📞</span>
<div class="txt">
<a href="tel:{{ . | safeURL }}">{{ . }}</a>
</div>
</li>
{{ end }}
{{ with $phone2 }}
<li class="info-item">
<span class="ico" aria-hidden="true">📱</span>
<div class="txt">
<a href="tel:{{ . | safeURL }}">{{ . }}</a>
</div>
</li>
{{ end }}
</ul>
<ul class="info-list" style="display:grid;gap:12px;justify-items:center;text-align:center">
📍{{ with $addr }}
<li class="info-item">
<div class="txt">{{ . | markdownify }}</div>
</li>
{{ end }}
📧{{ with $email }}
<li class="info-item">
<div class="txt">
<a href="mailto:{{ . | safeURL }}" style="text-decoration:none;color:inherit;">{{ . }}</a>
</div>
</li>
{{ end }}
📞{{ with $phone1 }}
<li class="info-item">
<div class="txt">
<a href="tel:{{ . | safeURL }}" style="text-decoration:none;color:inherit;">{{ . }}</a>
</div>
</li>
{{ end }}
{{ with $phone2 }}
<li class="info-item">
<div class="txt">
<a href="tel:{{ . | safeURL }}" style="text-decoration:none;color:inherit;">{{ . }}</a>
</div>
</li>
{{ end }}
</ul>
</div>
<div class="stack">
@ -120,7 +112,7 @@
<!-- ===== Formular ===== -->
<div class="col-lg-7" data-reveal>
<form method="POST" action="/send.php" class="card card-pad stack" novalidate>
<form method="POST" action="/send.php" class="card card-pad stack">
<div class="form-grid">
<div class="form-group">
<label for="name" class="visually-hidden">Name</label>
@ -146,25 +138,17 @@
<label for="message" class="visually-hidden">Ihre Nachricht</label>
<textarea id="message" name="message" class="form-control" rows="6" placeholder="Ihre Nachricht …" required></textarea>
</div>
<!-- hCaptcha wird nach Consent via Tarteaucitron gerendert -->
<!-- hCaptcha -->
<div class="form-group full">
<div class="h-captcha" data-sitekey="15a25108-bbc0-4d02-913c-4ada005ebd20" data-theme="dark"></div>
<noscript>
<div style="color:#b00020;font-size:13px;margin-top:6px;">
Hinweis: Bitte aktivieren Sie JavaScript, um das Captcha zu laden.
</div>
</noscript>
</div>
</div>
<p class="form-legal">
<label for="legal-consent">
<input id="legal-consent" name="legal_consented" type="checkbox" required>
Ich bin mit der Verarbeitung meiner Daten zum Zweck der Kontaktaufnahme einverstanden. (Datenschutzhinweise beachten)
</label>
</p>
<div>
<button class="cta__btn" type="submit" style="--btn-fs:1.5rem; --btn-py:14px; --btn-px:26px;">
<span aria-hidden="true"></span><span>Nachricht senden</span>
@ -172,13 +156,28 @@
</div>
</form>
</div>
</div>
</div>
</section>
{{/* Reveal Init (falls global nicht vorhanden) */}}
<script>
(function(){
if (window.__contactRevealInit) return; window.__contactRevealInit = true;
var els = document.querySelectorAll("[data-reveal]");
if (!('IntersectionObserver' in window)){ els.forEach(e=>e.classList.add('is-visible')); return; }
var io = new IntersectionObserver(function(entries){
entries.forEach(function(entry){
if(entry.isIntersecting){
entry.target.classList.add('is-visible');
io.unobserve(entry.target);
}
});
}, {threshold:.12});
els.forEach(e=>io.observe(e));
})();
</script>
<!-- hCaptcha-Skript -->
<script>
(function(){
if (window.__contactRevealInit) return; window.__contactRevealInit = true;
var els = document.querySelectorAll("[data-reveal]");
@ -194,4 +193,4 @@
els.forEach(function(e){io.observe(e)});
})();
</script>
{{ end }}
{{ end }}

View file

@ -75,3 +75,21 @@
<!-- Hugo SCSS Pipeline mit Template-Parsing -->
{{- $scss := resources.Get "scss/style.scss" | resources.ExecuteAsTemplate "scss/style.scss" . | toCSS (dict "targetPath" "css/style.css") | minify -}}
<link rel="stylesheet" href="{{ $scss.RelPermalink }}">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//matomo.amperion.at/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->

View file

@ -131,11 +131,10 @@ tarteaucitron.init({
<!-- Matomo + hCaptcha in die Queue (NACH init) -->
<script>
tarteaucitron.user.matomoId = 2;
tarteaucitron.user.matomoHost = 'https://matomo.amperion.at/';
tarteaucitron.user.matomoDontTrackPageView = false; // bei Bedarf true
tarteaucitron.user.matomoFullTracking = true; // bei Bedarf false
(tarteaucitron.job = tarteaucitron.job || []).push('matomocloud');
(tarteaucitron.job = tarteaucitron.job || []).push('hcaptcha');
</script>
<script>
tarteaucitron.user.matomoId = SITE_ID;
(tarteaucitron.job = tarteaucitron.job || []).push('matomo');
</script>