new version
This commit is contained in:
40
CLAUDE.md
Normal file
40
CLAUDE.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project
|
||||
|
||||
Static website for **Dr. med. Carina Kautsch**, Ärztin für Allgemeinmedizin, 1160 Wien.
|
||||
Served via `nginx:alpine` in Docker. No build step, no framework, no CMS.
|
||||
|
||||
Full project context (infrastructure, design decisions, open items) is in `meineordi-project-summary.md`.
|
||||
|
||||
## Architecture
|
||||
|
||||
Everything is a single file: `index.html` contains all HTML, CSS, and JavaScript inline.
|
||||
`logo.png` and `favicon.svg` are served as static assets alongside it.
|
||||
|
||||
The only dynamic behaviour is client-side JavaScript:
|
||||
- **`SCHLIESSZEITEN` array** — at the very top of `<body>`, the sole place to edit holiday closures. `renderClosures()` reads it and builds cards; empty array shows a "no closures" message automatically.
|
||||
- **Today's hours** — populated on load from a hardcoded day→time map.
|
||||
- **Font size toggle** — switches `body.large-font` class (18px → 22px), persisted in `localStorage`.
|
||||
- **Hamburger menu** — toggles `.open` class on mobile nav.
|
||||
|
||||
## Deployment
|
||||
|
||||
Changes go live by:
|
||||
1. Commit & push to `https://git.stranto.com/cgasser/web_meineordi` (branch: `master`)
|
||||
2. Portainer → Stacks → `meineordi` → **Pull and redeploy**
|
||||
|
||||
Portainer builds the Docker image directly from the repo (via `build: .` in `docker-compose.yml`).
|
||||
The container joins `nginx_internal_network` (shared with Nginx Proxy Manager).
|
||||
NPM routes `new.meineordi.at` → container `meineordi-web` port `80`.
|
||||
|
||||
## Key constraints
|
||||
|
||||
- **No external CSS/JS files** — everything must stay embedded in `index.html`.
|
||||
- **No framework, no npm, no build step** — plain HTML/CSS/JS only.
|
||||
- **`logo.png` must exist** in the repo root — it is `COPY`'d into the image by the Dockerfile. Missing it breaks the Docker build.
|
||||
- **Primary color is `#C8102E`** — do not change, it is extracted from the practice logo.
|
||||
- **Base font size is 18px** — deliberately large for older patients; large mode is 22px.
|
||||
- Google Maps embed uses a no-API-key URL. If Google blocks it, switch to the official Maps Embed API (`/maps/embed/v1/place?key=...`).
|
||||
@@ -1,4 +1,5 @@
|
||||
FROM nginx:alpine
|
||||
COPY index.html /usr/share/nginx/html/index.html
|
||||
COPY impressum.html /usr/share/nginx/html/impressum.html
|
||||
COPY logo.png /usr/share/nginx/html/logo.png
|
||||
COPY favicon.svg /usr/share/nginx/html/favicon.svg
|
||||
|
||||
511
impressum.html
Normal file
511
impressum.html
Normal file
@@ -0,0 +1,511 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="Impressum und Datenschutzerklärung – Dr. med. Carina Kautsch, Ärztin für Allgemeinmedizin, 1160 Wien." />
|
||||
<title>Impressum – Dr. Carina Kautsch</title>
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=DM+Sans:wght@400;500;600&display=swap" rel="stylesheet" />
|
||||
<style>
|
||||
/* ─── Reset & Base ─────────────────────────────────────── */
|
||||
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
html { scroll-behavior: smooth; }
|
||||
body {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 18px;
|
||||
color: #222;
|
||||
background: #fff;
|
||||
line-height: 1.6;
|
||||
}
|
||||
a { color: inherit; text-decoration: none; }
|
||||
img { display: block; max-width: 100%; }
|
||||
|
||||
/* ─── Variables ─────────────────────────────────────────── */
|
||||
:root {
|
||||
--red: #C8102E;
|
||||
--red-dk: #a00d24;
|
||||
--bg-alt: #f7f7f7;
|
||||
--shadow: 0 6px 28px rgba(0,0,0,.14);
|
||||
--radius: 12px;
|
||||
}
|
||||
|
||||
/* ─── Header / Nav ──────────────────────────────────────── */
|
||||
header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #eee;
|
||||
box-shadow: 0 2px 12px rgba(0,0,0,.07);
|
||||
}
|
||||
nav {
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
padding: 0 24px;
|
||||
height: 68px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 16px;
|
||||
}
|
||||
.nav-logo img { height: 42px; width: auto; }
|
||||
.nav-links {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 28px;
|
||||
list-style: none;
|
||||
}
|
||||
.nav-links a {
|
||||
font-size: 15px;
|
||||
font-weight: 500;
|
||||
color: #444;
|
||||
transition: color .2s;
|
||||
}
|
||||
.nav-links a:hover { color: var(--red); }
|
||||
.nav-phone {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
background: var(--red);
|
||||
color: #fff;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
padding: 9px 18px;
|
||||
border-radius: 8px;
|
||||
white-space: nowrap;
|
||||
transition: background .2s;
|
||||
}
|
||||
.nav-phone:hover { background: var(--red-dk); }
|
||||
|
||||
/* Hamburger */
|
||||
.hamburger {
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
cursor: pointer;
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 4px;
|
||||
}
|
||||
.hamburger span {
|
||||
display: block;
|
||||
width: 26px;
|
||||
height: 2px;
|
||||
background: #333;
|
||||
border-radius: 2px;
|
||||
transition: all .3s;
|
||||
}
|
||||
.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
|
||||
.hamburger.open span:nth-child(2) { opacity: 0; }
|
||||
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
|
||||
|
||||
.mobile-menu {
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
background: #fff;
|
||||
border-top: 1px solid #eee;
|
||||
padding: 16px 24px 20px;
|
||||
gap: 16px;
|
||||
}
|
||||
.mobile-menu.open { display: flex; }
|
||||
.mobile-menu a {
|
||||
font-size: 17px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
padding: 6px 0;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
.mobile-menu a:last-child { border-bottom: none; }
|
||||
.mobile-menu .nav-phone {
|
||||
margin-top: 4px;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
/* ─── Font Size Toggle ──────────────────────────────────── */
|
||||
.font-toggle-wrap {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.font-toggle-wrap button {
|
||||
background: none;
|
||||
border: 2px solid #ddd;
|
||||
border-radius: 7px;
|
||||
cursor: pointer;
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-weight: 700;
|
||||
color: #666;
|
||||
line-height: 1;
|
||||
transition: all .2s;
|
||||
padding: 5px 9px;
|
||||
}
|
||||
.font-toggle-wrap button.active {
|
||||
border-color: var(--red);
|
||||
color: var(--red);
|
||||
background: #fff0f2;
|
||||
}
|
||||
.font-toggle-wrap button:first-child { font-size: 14px; }
|
||||
.font-toggle-wrap button:last-child { font-size: 18px; }
|
||||
|
||||
/* Large font overrides */
|
||||
body.large-font { font-size: 22px; }
|
||||
body.large-font .nav-links a { font-size: 17px; }
|
||||
body.large-font .nav-phone { font-size: 17px; }
|
||||
|
||||
/* ─── Section Helpers ───────────────────────────────────── */
|
||||
section { padding: 72px 24px; }
|
||||
section.alt { background: var(--bg-alt); }
|
||||
.section-inner {
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.section-title {
|
||||
font-family: 'Cormorant Garamond', serif;
|
||||
font-size: clamp(2rem, 4vw, 2.8rem);
|
||||
font-weight: 700;
|
||||
color: var(--red);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.section-sub {
|
||||
font-size: 16px;
|
||||
color: #666;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
/* ─── Impressum / Datenschutz ──────────────────────────── */
|
||||
.legal-section h3 {
|
||||
font-family: 'Cormorant Garamond', serif;
|
||||
font-size: 1.4rem;
|
||||
font-weight: 700;
|
||||
color: var(--red);
|
||||
margin: 32px 0 10px;
|
||||
}
|
||||
.legal-section h3:first-of-type { margin-top: 0; }
|
||||
.legal-section p, .legal-section li {
|
||||
font-size: 16px;
|
||||
color: #444;
|
||||
line-height: 1.7;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.legal-section ul {
|
||||
padding-left: 20px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.legal-section a { color: var(--red); text-decoration: underline; }
|
||||
.legal-section .legal-box {
|
||||
background: #fff;
|
||||
border-radius: var(--radius);
|
||||
border-left: 4px solid var(--red);
|
||||
padding: 20px 24px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
body.large-font .legal-section p,
|
||||
body.large-font .legal-section li { font-size: 18px; }
|
||||
|
||||
/* ─── Back link ─────────────────────────────────────────── */
|
||||
.back-link {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
color: var(--red);
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
margin-bottom: 32px;
|
||||
text-decoration: none;
|
||||
transition: color .2s;
|
||||
}
|
||||
.back-link:hover { color: var(--red-dk); }
|
||||
|
||||
/* ─── Footer ────────────────────────────────────────────── */
|
||||
footer {
|
||||
background: #1a1a1a;
|
||||
color: #aaa;
|
||||
padding: 36px 24px;
|
||||
text-align: center;
|
||||
}
|
||||
.footer-inner {
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
}
|
||||
footer img { height: 38px; filter: brightness(0) invert(1); opacity: .7; }
|
||||
footer p { font-size: 14px; }
|
||||
footer a { color: #ccc; }
|
||||
footer a:hover { color: #fff; }
|
||||
|
||||
/* ─── Responsive ────────────────────────────────────────── */
|
||||
@media (max-width: 768px) {
|
||||
.nav-links, .nav-phone { display: none; }
|
||||
.hamburger { display: flex; }
|
||||
}
|
||||
@media (max-width: 540px) {
|
||||
section { padding: 52px 16px; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- ─── Header ───────────────────────────────────────────── -->
|
||||
<header>
|
||||
<nav>
|
||||
<a class="nav-logo" href="/">
|
||||
<img src="/logo.png" alt="meineOrdi Logo" />
|
||||
</a>
|
||||
<ul class="nav-links">
|
||||
<li><a href="/#oeffnungszeiten">Öffnungszeiten</a></li>
|
||||
<li><a href="/#leistungen">Leistungen</a></li>
|
||||
<li><a href="/#aktuelles">Aktuelles</a></li>
|
||||
<li><a href="/#kontakt">Kontakt</a></li>
|
||||
</ul>
|
||||
<div class="font-toggle-wrap" aria-label="Schriftgröße">
|
||||
<button id="font-normal" title="Normale Schriftgröße">A</button>
|
||||
<button id="font-large" title="Große Schriftgröße">A+</button>
|
||||
</div>
|
||||
<a class="nav-phone" href="tel:+4314931773">
|
||||
📞 +43 1 493 17 73
|
||||
</a>
|
||||
<button class="hamburger" id="hamburger" aria-label="Menü öffnen">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</nav>
|
||||
<div class="mobile-menu" id="mobile-menu">
|
||||
<a href="/#oeffnungszeiten">Öffnungszeiten</a>
|
||||
<a href="/#leistungen">Leistungen</a>
|
||||
<a href="/#aktuelles">Aktuelles</a>
|
||||
<a href="/#kontakt">Kontakt</a>
|
||||
<a class="nav-phone" href="tel:+4314931773">📞 +43 1 493 17 73</a>
|
||||
<div class="font-toggle-wrap" style="justify-content:center;">
|
||||
<button id="font-normal-mobile" title="Normale Schriftgröße">A</button>
|
||||
<button id="font-large-mobile" title="Große Schriftgröße">A+</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- ─── Impressum ────────────────────────────────────────── -->
|
||||
<section id="impressum">
|
||||
<div class="section-inner legal-section">
|
||||
<a class="back-link" href="/">← Zurück zur Startseite</a>
|
||||
<h2 class="section-title">Impressum</h2>
|
||||
<p class="section-sub">Angaben gemäß §5 ECG und §25 MedienG</p>
|
||||
|
||||
<h3>Diensteanbieter</h3>
|
||||
<div class="legal-box">
|
||||
<p>
|
||||
<strong>Dr. med. Carina Kautsch</strong><br>
|
||||
Ärztin für Allgemeinmedizin<br>
|
||||
Pfenninggeldgasse 1B/3<br>
|
||||
A-1160 Wien<br>
|
||||
Österreich
|
||||
</p>
|
||||
<p>
|
||||
Telefon: <a href="tel:+4314931773">+43 / 1 / 493 17 73</a><br>
|
||||
E-Mail: <a href="mailto:info@meineordi.at">info@meineordi.at</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h3>Berufsbezeichnung und Berufsrecht</h3>
|
||||
<p>
|
||||
Berufsbezeichnung: <strong>Ärztin für Allgemeinmedizin</strong><br>
|
||||
Verliehen in: Österreich<br>
|
||||
Berufsrecht: Ärztegesetz 1998 (ÄrzteG 1998) –
|
||||
<a href="https://www.ris.bka.gv.at" target="_blank" rel="noopener">www.ris.bka.gv.at</a>
|
||||
</p>
|
||||
|
||||
<h3>Aufsichtsbehörde / Kammer</h3>
|
||||
<p>
|
||||
Ärztekammer Wien<br>
|
||||
Weihburggasse 10–12, 1010 Wien<br>
|
||||
<a href="https://www.aekwien.at" target="_blank" rel="noopener">www.aekwien.at</a>
|
||||
</p>
|
||||
|
||||
<h3>Haftungsausschluss</h3>
|
||||
<p>
|
||||
Die Inhalte dieser Website wurden mit größtmöglicher Sorgfalt erstellt. Für die Richtigkeit,
|
||||
Vollständigkeit und Aktualität der Inhalte wird jedoch keine Gewähr übernommen.
|
||||
Diese Website enthält keine medizinischen Diagnosen oder Therapieempfehlungen.
|
||||
Im Krankheitsfall wenden Sie sich bitte an eine Ärztin oder einen Arzt.
|
||||
</p>
|
||||
|
||||
<h3>Urheberrecht</h3>
|
||||
<p>
|
||||
Die durch den Seitenbetreiber erstellten Inhalte und Werke auf dieser Website unterliegen
|
||||
dem österreichischen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und
|
||||
jede Art der Verwertung außerhalb der Grenzen des Urheberrechts bedürfen der schriftlichen
|
||||
Zustimmung des jeweiligen Autors bzw. Erstellers.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ─── Datenschutz ───────────────────────────────────────── -->
|
||||
<section id="datenschutz" class="alt">
|
||||
<div class="section-inner legal-section">
|
||||
<h2 class="section-title">Datenschutzerklärung</h2>
|
||||
<p class="section-sub">Gemäß DSGVO (EU 2016/679) und DSG 2018</p>
|
||||
|
||||
<h3>Verantwortlicher</h3>
|
||||
<div class="legal-box">
|
||||
<p>
|
||||
<strong>Dr. med. Carina Kautsch</strong><br>
|
||||
Pfenninggeldgasse 1B/3, A-1160 Wien<br>
|
||||
E-Mail: <a href="mailto:info@meineordi.at">info@meineordi.at</a><br>
|
||||
Telefon: <a href="tel:+4314931773">+43 / 1 / 493 17 73</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h3>Allgemeines zur Datenverarbeitung</h3>
|
||||
<p>
|
||||
Wir nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Diese Website erhebt und
|
||||
verarbeitet personenbezogene Daten nur im technisch notwendigen Umfang und ausschließlich
|
||||
auf Basis der geltenden Rechtsvorschriften (DSGVO, DSG 2018).
|
||||
</p>
|
||||
|
||||
<h3>Server-Logfiles</h3>
|
||||
<p>
|
||||
Beim Aufruf dieser Website werden durch den Webserver automatisch folgende Daten
|
||||
in sogenannten Server-Logfiles gespeichert:
|
||||
</p>
|
||||
<ul>
|
||||
<li>IP-Adresse des anfragenden Geräts</li>
|
||||
<li>Datum und Uhrzeit des Zugriffs</li>
|
||||
<li>Name und URL der abgerufenen Datei</li>
|
||||
<li>Browsertyp und -version, Betriebssystem</li>
|
||||
<li>Referrer-URL (zuvor besuchte Seite)</li>
|
||||
</ul>
|
||||
<p>
|
||||
<strong>Rechtsgrundlage:</strong> Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse
|
||||
an der Sicherheit und dem ordnungsgemäßen Betrieb der Website).<br>
|
||||
<strong>Speicherdauer:</strong> Die Logfiles werden nach spätestens 30 Tagen gelöscht.
|
||||
</p>
|
||||
|
||||
<h3>Kontaktaufnahme</h3>
|
||||
<p>
|
||||
Wenn Sie uns per Telefon oder E-Mail kontaktieren, werden Ihre übermittelten Daten
|
||||
(Name, E-Mail-Adresse, Inhalt Ihrer Anfrage) zum Zweck der Bearbeitung Ihrer Anfrage
|
||||
und für den Fall von Anschlussfragen gespeichert.<br>
|
||||
<strong>Rechtsgrundlage:</strong> Art. 6 Abs. 1 lit. b DSGVO (Vertragsanbahnung bzw.
|
||||
berechtigtes Interesse). Die Daten werden nach abschließender Bearbeitung gelöscht,
|
||||
sofern keine gesetzliche Aufbewahrungspflicht besteht.
|
||||
</p>
|
||||
|
||||
<h3>Google Maps</h3>
|
||||
<p>
|
||||
Diese Website verwendet Google Maps zur Darstellung einer interaktiven Karte.
|
||||
Anbieter ist Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland.<br>
|
||||
Bei Nutzung von Google Maps werden Daten (insbesondere Ihre IP-Adresse) an Google-Server
|
||||
übertragen, die sich in den USA befinden können. Google ist unter dem EU-US Data Privacy
|
||||
Framework zertifiziert.<br>
|
||||
<strong>Rechtsgrundlage:</strong> Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse
|
||||
an einer benutzerfreundlichen Standortdarstellung).<br>
|
||||
Weitere Informationen finden Sie in der Datenschutzerklärung von Google:
|
||||
<a href="https://policies.google.com/privacy" target="_blank" rel="noopener">policies.google.com/privacy</a>
|
||||
</p>
|
||||
|
||||
<h3>Lokaler Speicher (localStorage)</h3>
|
||||
<p>
|
||||
Diese Website speichert Ihre Schriftgrößen-Einstellung (normal/groß) im lokalen Speicher
|
||||
(localStorage) Ihres Browsers. Dabei werden keine personenbezogenen Daten erfasst oder
|
||||
an Server übertragen. Der Eintrag kann jederzeit über die Browser-Einstellungen gelöscht
|
||||
werden. Es werden keine Cookies gesetzt.
|
||||
</p>
|
||||
|
||||
<h3>Ihre Rechte</h3>
|
||||
<p>Sie haben gemäß DSGVO folgende Rechte:</p>
|
||||
<ul>
|
||||
<li><strong>Auskunft</strong> (Art. 15 DSGVO) — Recht auf Auskunft über Ihre gespeicherten Daten</li>
|
||||
<li><strong>Berichtigung</strong> (Art. 16 DSGVO) — Recht auf Korrektur unrichtiger Daten</li>
|
||||
<li><strong>Löschung</strong> (Art. 17 DSGVO) — Recht auf Löschung Ihrer Daten</li>
|
||||
<li><strong>Einschränkung</strong> (Art. 18 DSGVO) — Recht auf Einschränkung der Verarbeitung</li>
|
||||
<li><strong>Widerspruch</strong> (Art. 21 DSGVO) — Recht auf Widerspruch gegen die Verarbeitung</li>
|
||||
<li><strong>Datenübertragbarkeit</strong> (Art. 20 DSGVO) — Recht auf Erhalt Ihrer Daten in maschinenlesbarem Format</li>
|
||||
</ul>
|
||||
<p>
|
||||
Zur Ausübung Ihrer Rechte wenden Sie sich bitte an:
|
||||
<a href="mailto:info@meineordi.at">info@meineordi.at</a>
|
||||
</p>
|
||||
|
||||
<h3>Beschwerderecht bei der Aufsichtsbehörde</h3>
|
||||
<p>
|
||||
Sie haben das Recht, eine Beschwerde bei der österreichischen Datenschutzbehörde einzureichen:<br>
|
||||
<strong>Datenschutzbehörde</strong><br>
|
||||
Barichgasse 40–42, 1030 Wien<br>
|
||||
Telefon: +43 1 52 152-0<br>
|
||||
E-Mail: <a href="mailto:dsb@dsb.gv.at">dsb@dsb.gv.at</a><br>
|
||||
<a href="https://www.dsb.gv.at" target="_blank" rel="noopener">www.dsb.gv.at</a>
|
||||
</p>
|
||||
|
||||
<h3>Aktualität dieser Datenschutzerklärung</h3>
|
||||
<p>
|
||||
Diese Datenschutzerklärung ist aktuell gültig und hat den Stand März 2025.
|
||||
Durch die Weiterentwicklung unserer Website kann eine Anpassung notwendig werden.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ─── Footer ────────────────────────────────────────────── -->
|
||||
<footer>
|
||||
<div class="footer-inner">
|
||||
<img src="/logo.png" alt="meineOrdi" />
|
||||
<p>
|
||||
© <span id="footer-year"></span> Dr. med. Carina Kautsch ·
|
||||
Ärztin für Allgemeinmedizin · 1160 Wien
|
||||
</p>
|
||||
<p style="font-size:13px;">
|
||||
<a href="/impressum.html#impressum">Impressum</a> · <a href="/impressum.html#datenschutz">Datenschutz</a>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- ─── Scripts ───────────────────────────────────────────── -->
|
||||
<script>
|
||||
// Hamburger menu
|
||||
const hamburger = document.getElementById('hamburger');
|
||||
const mobileMenu = document.getElementById('mobile-menu');
|
||||
hamburger.addEventListener('click', () => {
|
||||
hamburger.classList.toggle('open');
|
||||
mobileMenu.classList.toggle('open');
|
||||
});
|
||||
mobileMenu.querySelectorAll('a').forEach(a => {
|
||||
a.addEventListener('click', () => {
|
||||
hamburger.classList.remove('open');
|
||||
mobileMenu.classList.remove('open');
|
||||
});
|
||||
});
|
||||
|
||||
// Footer year
|
||||
document.getElementById('footer-year').textContent = new Date().getFullYear();
|
||||
|
||||
// Font size toggle
|
||||
(function() {
|
||||
const body = document.body;
|
||||
const btnNorm = document.getElementById('font-normal');
|
||||
const btnLrg = document.getElementById('font-large');
|
||||
const btnNormM = document.getElementById('font-normal-mobile');
|
||||
const btnLrgM = document.getElementById('font-large-mobile');
|
||||
|
||||
function setSize(large) {
|
||||
body.classList.toggle('large-font', large);
|
||||
btnNorm.classList.toggle('active', !large);
|
||||
btnLrg.classList.toggle('active', large);
|
||||
btnNormM.classList.toggle('active', !large);
|
||||
btnLrgM.classList.toggle('active', large);
|
||||
localStorage.setItem('fontSize', large ? 'large' : 'normal');
|
||||
}
|
||||
|
||||
setSize(localStorage.getItem('fontSize') === 'large');
|
||||
|
||||
btnNorm.addEventListener('click', () => setSize(false));
|
||||
btnLrg.addEventListener('click', () => setSize(true));
|
||||
btnNormM.addEventListener('click', () => setSize(false));
|
||||
btnLrgM.addEventListener('click', () => setSize(true));
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
221
index.html
221
index.html
@@ -415,36 +415,6 @@
|
||||
footer a { color: #ccc; }
|
||||
footer a:hover { color: #fff; }
|
||||
|
||||
/* ─── Impressum / Datenschutz ──────────────────────────── */
|
||||
.legal-section h3 {
|
||||
font-family: 'Cormorant Garamond', serif;
|
||||
font-size: 1.4rem;
|
||||
font-weight: 700;
|
||||
color: var(--red);
|
||||
margin: 32px 0 10px;
|
||||
}
|
||||
.legal-section h3:first-of-type { margin-top: 0; }
|
||||
.legal-section p, .legal-section li {
|
||||
font-size: 16px;
|
||||
color: #444;
|
||||
line-height: 1.7;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.legal-section ul {
|
||||
padding-left: 20px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.legal-section a { color: var(--red); text-decoration: underline; }
|
||||
.legal-section .legal-box {
|
||||
background: #fff;
|
||||
border-radius: var(--radius);
|
||||
border-left: 4px solid var(--red);
|
||||
padding: 20px 24px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
body.large-font .legal-section p,
|
||||
body.large-font .legal-section li { font-size: 18px; }
|
||||
|
||||
/* ─── Font Size Toggle ──────────────────────────────────── */
|
||||
.font-toggle-wrap {
|
||||
display: flex;
|
||||
@@ -682,12 +652,12 @@ const SCHLIESSZEITEN = [
|
||||
<div class="leistung-card">
|
||||
<div class="leistung-icon">💊</div>
|
||||
<div class="leistung-title">Rezepte & Überweisungen</div>
|
||||
<div class="leistung-desc">Ausstellung von Rezepten, Überweisungen und ärztlichen Attesten.</div>
|
||||
<div class="leistung-desc">Ausstellung von Rezepten und Überweisungen.</div>
|
||||
</div>
|
||||
<div class="leistung-card">
|
||||
<div class="leistung-icon">🩸</div>
|
||||
<div class="leistung-title">Laboruntersuchungen</div>
|
||||
<div class="leistung-desc">Blutabnahme und Auswertung gängiger Laborparameter direkt in der Ordination.</div>
|
||||
<div class="leistung-desc">Blutabnahme und Befundbesprechung in der Ordination.</div>
|
||||
</div>
|
||||
<div class="leistung-card">
|
||||
<div class="leistung-icon">❤️</div>
|
||||
@@ -789,165 +759,6 @@ const SCHLIESSZEITEN = [
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ─── Impressum ────────────────────────────────────────── -->
|
||||
<section id="impressum">
|
||||
<div class="section-inner legal-section">
|
||||
<h2 class="section-title">Impressum</h2>
|
||||
<p class="section-sub">Angaben gemäß §5 ECG und §25 MedienG</p>
|
||||
|
||||
<h3>Diensteanbieter</h3>
|
||||
<div class="legal-box">
|
||||
<p>
|
||||
<strong>Dr. med. Carina Kautsch</strong><br>
|
||||
Ärztin für Allgemeinmedizin<br>
|
||||
Pfenninggeldgasse 1B/3<br>
|
||||
A-1160 Wien<br>
|
||||
Österreich
|
||||
</p>
|
||||
<p>
|
||||
Telefon: <a href="tel:+4314931773">+43 / 1 / 493 17 73</a><br>
|
||||
E-Mail: <a href="mailto:info@meineordi.at">info@meineordi.at</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h3>Berufsbezeichnung und Berufsrecht</h3>
|
||||
<p>
|
||||
Berufsbezeichnung: <strong>Ärztin für Allgemeinmedizin</strong><br>
|
||||
Verliehen in: Österreich<br>
|
||||
Berufsrecht: Ärztegesetz 1998 (ÄrzteG 1998) –
|
||||
<a href="https://www.ris.bka.gv.at" target="_blank" rel="noopener">www.ris.bka.gv.at</a>
|
||||
</p>
|
||||
|
||||
<h3>Aufsichtsbehörde / Kammer</h3>
|
||||
<p>
|
||||
Ärztekammer Wien<br>
|
||||
Weihburggasse 10–12, 1010 Wien<br>
|
||||
<a href="https://www.aekwien.at" target="_blank" rel="noopener">www.aekwien.at</a>
|
||||
</p>
|
||||
|
||||
<h3>Haftungsausschluss</h3>
|
||||
<p>
|
||||
Die Inhalte dieser Website wurden mit größtmöglicher Sorgfalt erstellt. Für die Richtigkeit,
|
||||
Vollständigkeit und Aktualität der Inhalte wird jedoch keine Gewähr übernommen.
|
||||
Diese Website enthält keine medizinischen Diagnosen oder Therapieempfehlungen.
|
||||
Im Krankheitsfall wenden Sie sich bitte an eine Ärztin oder einen Arzt.
|
||||
</p>
|
||||
|
||||
<h3>Urheberrecht</h3>
|
||||
<p>
|
||||
Die durch den Seitenbetreiber erstellten Inhalte und Werke auf dieser Website unterliegen
|
||||
dem österreichischen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und
|
||||
jede Art der Verwertung außerhalb der Grenzen des Urheberrechts bedürfen der schriftlichen
|
||||
Zustimmung des jeweiligen Autors bzw. Erstellers.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ─── Datenschutz ───────────────────────────────────────── -->
|
||||
<section id="datenschutz" class="alt">
|
||||
<div class="section-inner legal-section">
|
||||
<h2 class="section-title">Datenschutzerklärung</h2>
|
||||
<p class="section-sub">Gemäß DSGVO (EU 2016/679) und DSG 2018</p>
|
||||
|
||||
<h3>Verantwortlicher</h3>
|
||||
<div class="legal-box">
|
||||
<p>
|
||||
<strong>Dr. med. Carina Kautsch</strong><br>
|
||||
Pfenninggeldgasse 1B/3, A-1160 Wien<br>
|
||||
E-Mail: <a href="mailto:info@meineordi.at">info@meineordi.at</a><br>
|
||||
Telefon: <a href="tel:+4314931773">+43 / 1 / 493 17 73</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h3>Allgemeines zur Datenverarbeitung</h3>
|
||||
<p>
|
||||
Wir nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Diese Website erhebt und
|
||||
verarbeitet personenbezogene Daten nur im technisch notwendigen Umfang und ausschließlich
|
||||
auf Basis der geltenden Rechtsvorschriften (DSGVO, DSG 2018).
|
||||
</p>
|
||||
|
||||
<h3>Server-Logfiles</h3>
|
||||
<p>
|
||||
Beim Aufruf dieser Website werden durch den Webserver automatisch folgende Daten
|
||||
in sogenannten Server-Logfiles gespeichert:
|
||||
</p>
|
||||
<ul>
|
||||
<li>IP-Adresse des anfragenden Geräts</li>
|
||||
<li>Datum und Uhrzeit des Zugriffs</li>
|
||||
<li>Name und URL der abgerufenen Datei</li>
|
||||
<li>Browsertyp und -version, Betriebssystem</li>
|
||||
<li>Referrer-URL (zuvor besuchte Seite)</li>
|
||||
</ul>
|
||||
<p>
|
||||
<strong>Rechtsgrundlage:</strong> Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse
|
||||
an der Sicherheit und dem ordnungsgemäßen Betrieb der Website).<br>
|
||||
<strong>Speicherdauer:</strong> Die Logfiles werden nach spätestens 30 Tagen gelöscht.
|
||||
</p>
|
||||
|
||||
<h3>Kontaktaufnahme</h3>
|
||||
<p>
|
||||
Wenn Sie uns per Telefon oder E-Mail kontaktieren, werden Ihre übermittelten Daten
|
||||
(Name, E-Mail-Adresse, Inhalt Ihrer Anfrage) zum Zweck der Bearbeitung Ihrer Anfrage
|
||||
und für den Fall von Anschlussfragen gespeichert.<br>
|
||||
<strong>Rechtsgrundlage:</strong> Art. 6 Abs. 1 lit. b DSGVO (Vertragsanbahnung bzw.
|
||||
berechtigtes Interesse). Die Daten werden nach abschließender Bearbeitung gelöscht,
|
||||
sofern keine gesetzliche Aufbewahrungspflicht besteht.
|
||||
</p>
|
||||
|
||||
<h3>Google Maps</h3>
|
||||
<p>
|
||||
Diese Website verwendet Google Maps zur Darstellung einer interaktiven Karte.
|
||||
Anbieter ist Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland.<br>
|
||||
Bei Nutzung von Google Maps werden Daten (insbesondere Ihre IP-Adresse) an Google-Server
|
||||
übertragen, die sich in den USA befinden können. Google ist unter dem EU-US Data Privacy
|
||||
Framework zertifiziert.<br>
|
||||
<strong>Rechtsgrundlage:</strong> Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse
|
||||
an einer benutzerfreundlichen Standortdarstellung).<br>
|
||||
Weitere Informationen finden Sie in der Datenschutzerklärung von Google:
|
||||
<a href="https://policies.google.com/privacy" target="_blank" rel="noopener">policies.google.com/privacy</a>
|
||||
</p>
|
||||
|
||||
<h3>Lokaler Speicher (localStorage)</h3>
|
||||
<p>
|
||||
Diese Website speichert Ihre Schriftgrößen-Einstellung (normal/groß) im lokalen Speicher
|
||||
(localStorage) Ihres Browsers. Dabei werden keine personenbezogenen Daten erfasst oder
|
||||
an Server übertragen. Der Eintrag kann jederzeit über die Browser-Einstellungen gelöscht
|
||||
werden. Es werden keine Cookies gesetzt.
|
||||
</p>
|
||||
|
||||
<h3>Ihre Rechte</h3>
|
||||
<p>Sie haben gemäß DSGVO folgende Rechte:</p>
|
||||
<ul>
|
||||
<li><strong>Auskunft</strong> (Art. 15 DSGVO) — Recht auf Auskunft über Ihre gespeicherten Daten</li>
|
||||
<li><strong>Berichtigung</strong> (Art. 16 DSGVO) — Recht auf Korrektur unrichtiger Daten</li>
|
||||
<li><strong>Löschung</strong> (Art. 17 DSGVO) — Recht auf Löschung Ihrer Daten</li>
|
||||
<li><strong>Einschränkung</strong> (Art. 18 DSGVO) — Recht auf Einschränkung der Verarbeitung</li>
|
||||
<li><strong>Widerspruch</strong> (Art. 21 DSGVO) — Recht auf Widerspruch gegen die Verarbeitung</li>
|
||||
<li><strong>Datenübertragbarkeit</strong> (Art. 20 DSGVO) — Recht auf Erhalt Ihrer Daten in maschinenlesbarem Format</li>
|
||||
</ul>
|
||||
<p>
|
||||
Zur Ausübung Ihrer Rechte wenden Sie sich bitte an:
|
||||
<a href="mailto:info@meineordi.at">info@meineordi.at</a>
|
||||
</p>
|
||||
|
||||
<h3>Beschwerderecht bei der Aufsichtsbehörde</h3>
|
||||
<p>
|
||||
Sie haben das Recht, eine Beschwerde bei der österreichischen Datenschutzbehörde einzureichen:<br>
|
||||
<strong>Datenschutzbehörde</strong><br>
|
||||
Barichgasse 40–42, 1030 Wien<br>
|
||||
Telefon: +43 1 52 152-0<br>
|
||||
E-Mail: <a href="mailto:dsb@dsb.gv.at">dsb@dsb.gv.at</a><br>
|
||||
<a href="https://www.dsb.gv.at" target="_blank" rel="noopener">www.dsb.gv.at</a>
|
||||
</p>
|
||||
|
||||
<h3>Aktualität dieser Datenschutzerklärung</h3>
|
||||
<p>
|
||||
Diese Datenschutzerklärung ist aktuell gültig und hat den Stand März 2025.
|
||||
Durch die Weiterentwicklung unserer Website kann eine Anpassung notwendig werden.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ─── Footer ────────────────────────────────────────────── -->
|
||||
<footer>
|
||||
<div class="footer-inner">
|
||||
@@ -957,7 +768,7 @@ const SCHLIESSZEITEN = [
|
||||
Ärztin für Allgemeinmedizin · 1160 Wien
|
||||
</p>
|
||||
<p style="font-size:13px;">
|
||||
<a href="#impressum">Impressum</a> · <a href="#datenschutz">Datenschutz</a>
|
||||
<a href="/impressum.html">Impressum</a> · <a href="/impressum.html#datenschutz">Datenschutz</a>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -990,9 +801,33 @@ const SCHLIESSZEITEN = [
|
||||
4: '13:00 – 17:00',
|
||||
5: '09:00 – 12:00',
|
||||
};
|
||||
|
||||
// Check if today falls within any defined closure period
|
||||
function isClosureDay() {
|
||||
const today = new Date();
|
||||
today.setHours(0, 0, 0, 0);
|
||||
for (const c of SCHLIESSZEITEN) {
|
||||
// Parse date strings like "30.3." from "30.3. – 3.4."
|
||||
const parts = c.dates.split('–');
|
||||
if (parts.length !== 2) continue;
|
||||
function parseDate(s) {
|
||||
const p = s.trim().replace(/\.$/, '').split('.');
|
||||
const d = parseInt(p[0]), m = parseInt(p[1]) - 1;
|
||||
let start = new Date(today.getFullYear(), m, d);
|
||||
return start;
|
||||
}
|
||||
const start = parseDate(parts[0]);
|
||||
const end = parseDate(parts[1]);
|
||||
// Handle year wrap (e.g. 28.12. – 3.1.)
|
||||
if (end < start) end.setFullYear(end.getFullYear() + 1);
|
||||
if (today >= start && today <= end) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const day = new Date().getDay(); // 0=Sun, 1=Mon, …
|
||||
const el = document.getElementById('todays-hours');
|
||||
el.textContent = hours[day] || 'Geschlossen';
|
||||
el.textContent = isClosureDay() ? 'Geschlossen' : (hours[day] || 'Geschlossen');
|
||||
})();
|
||||
|
||||
// Render closure cards
|
||||
|
||||
Reference in New Issue
Block a user