Files
chriz 1448f058d8
Build and Push Container Image / Build & Push to Gitea Package Registry (push) Canceled after 0s
Link footer adresses.
2026-10-26 21:52:53 +01:00

583 lines
37 KiB
PHP
Raw Permalink 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.
<?php
/* @var string $action */
/* @var string $content */
/* @var array $config */
/* @var Session $session */
/* @var string $lang */
$currentLang = isset($lang) ? $lang : Helper::getLang();
$isEn = ($currentLang === 'en');
$titlesDe = [
'main' => 'Dialysezentrum Berlin-Mahlsdorf | Praxis für Nephrologie & Dialyse',
'leistungen' => 'Leistungen & Schwerpunkte | Dialysezentrum Berlin-Mahlsdorf',
'praxis' => 'Praxisausstattung & Öffnungszeiten | Dialysezentrum Berlin-Mahlsdorf',
'team' => 'Unser Ärzteteam & Mitarbeiter | Dialysezentrum Berlin-Mahlsdorf',
'ersttermin' => 'Informationen zum 1. Termin & Formulare | Dialysezentrum Berlin-Mahlsdorf',
'kontakt' => 'Kontakt & Anfahrt | Dialysezentrum Berlin-Mahlsdorf',
'kontakt-formular' => 'Kontaktanfrage | Dialysezentrum Berlin-Mahlsdorf',
'impressum' => 'Impressum | Dialysezentrum Berlin-Mahlsdorf',
'datenschutz' => 'Datenschutzerklärung | Dialysezentrum Berlin-Mahlsdorf',
'404' => 'Seite nicht gefunden (404) | Dialysezentrum Berlin-Mahlsdorf',
];
$titlesEn = [
'main' => 'Dialysis Center Berlin-Mahlsdorf | Nephrology & Dialysis Practice',
'leistungen' => 'Services & Specialties | Dialysis Center Berlin-Mahlsdorf',
'praxis' => 'Practice Equipment & Opening Hours | Dialysis Center Berlin-Mahlsdorf',
'team' => 'Our Medical Team & Staff | Dialysis Center Berlin-Mahlsdorf',
'ersttermin' => 'First Appointment Information & Forms | Dialysis Center Berlin-Mahlsdorf',
'kontakt' => 'Contact & Directions | Dialysis Center Berlin-Mahlsdorf',
'kontakt-formular' => 'Contact Request | Dialysis Center Berlin-Mahlsdorf',
'impressum' => 'Legal Notice (Impressum) | Dialysis Center Berlin-Mahlsdorf',
'datenschutz' => 'Privacy Policy | Dialysis Center Berlin-Mahlsdorf',
'404' => 'Page Not Found (404) | Dialysis Center Berlin-Mahlsdorf',
];
$descriptionsDe = [
'main' => 'Dialysezentrum Berlin-Mahlsdorf & Marzahn: Individuelle Hämodialyse, Online-HDF, nephrologische Ambulanz und ganzjährige Feriendialysen in Berlin.',
'leistungen' => 'Leistungen im Dialysezentrum Berlin-Mahlsdorf: Nephrologische Ambulanz, Hämodialyse, Online-HDF mit Nikkiso Haemo-Master, Fresenius BCM & Sonographie.',
'praxis' => 'Praxisausstattung, Dialyse-Schichten & Ambulanz-Sprechzeiten: 16 Plätze in Berlin-Mahlsdorf, 18 Plätze in Berlin-Marzahn und moderne Nikkiso-Dialysetechnik.',
'team' => 'Lernen Sie unser Ärzteteam kennen: Dr. med. Bianca Bischoff, Dr. med. Juliane Hoffzimmer, Dr. med. Claudia Körner und 23 engagierte Pflege- & Servicekräfte.',
'ersttermin' => 'Checkliste und interaktive Formulare für Ihren 1. Termin im Dialysezentrum Berlin-Mahlsdorf: Anamnesebogen, Datenschutz & Patientenunterlagen online ausfüllen.',
'kontakt' => 'Kontakt & Anfahrt zum Dialysezentrum Berlin-Mahlsdorf (Thorner Str. 1, 12623 Berlin) und zur Satellitendialyse Marzahn (Blumberger Damm 130, 12685 Berlin).',
'kontakt-formular' => 'Senden Sie uns Ihre Anfrage bequem online über das Kontaktformular des Dialysezentrums Berlin-Mahlsdorf für Termine, Feriendialysen oder allgemeine Fragen.',
'impressum' => 'Impressum und Pflichtangaben der Berufsausübungsgemeinschaft Dr. med. Bianca Bischoff & Dr. med. Juliane Hoffzimmer – Dialysezentrum Berlin-Mahlsdorf.',
'datenschutz' => 'Datenschutzerklärung und Informationen zum Schutz Ihrer personenbezogenen Daten gemäß DSGVO im Dialysezentrum Berlin-Mahlsdorf.',
'404' => 'Die angeforderte Seite wurde leider nicht gefunden. Zurück zur Startseite des Dialysezentrums Berlin-Mahlsdorf.',
];
$descriptionsEn = [
'main' => 'Dialysis Center Berlin-Mahlsdorf & Marzahn: Personalized hemodialysis, Online-HDF, nephrology outpatient clinic, and year-round holiday dialysis in Berlin.',
'leistungen' => 'Medical services at Dialysis Center Berlin-Mahlsdorf: Nephrology clinic, hemodialysis, Online-HDF with Nikkiso Haemo-Master, Fresenius BCM & ultrasound.',
'praxis' => 'Practice equipment, dialysis shifts & clinic hours: 16 stations in Berlin-Mahlsdorf, 18 stations in Berlin-Marzahn, and modern Nikkiso dialysis technology.',
'team' => 'Meet our medical team: Dr. med. Bianca Bischoff, Dr. med. Juliane Hoffzimmer, Dr. med. Claudia Körner, and 23 dedicated nursing and service staff.',
'ersttermin' => 'Checklist and interactive forms for your first appointment at Dialysis Center Berlin-Mahlsdorf: medical history, privacy consent & patient forms.',
'kontakt' => 'Contact & directions to Dialysis Center Berlin-Mahlsdorf (Thorner Str. 1, 12623 Berlin) and Satellite Dialysis Marzahn (Blumberger Damm 130, 12685 Berlin).',
'kontakt-formular' => 'Send us your inquiry online via the contact form of Dialysis Center Berlin-Mahlsdorf for appointments, holiday dialysis, or general questions.',
'impressum' => 'Legal notice (Impressum) and mandatory disclosures of the joint medical practice Dr. med. Bianca Bischoff & Dr. med. Juliane Hoffzimmer in Berlin-Mahlsdorf.',
'datenschutz' => 'Privacy policy and GDPR information on how personal data is processed at Dialysis Center Berlin-Mahlsdorf.',
'404' => 'The requested page could not be found. Return to the homepage of Dialysis Center Berlin-Mahlsdorf.',
];
$titles = $isEn ? $titlesEn : $titlesDe;
$descriptions = $isEn ? $descriptionsEn : $descriptionsDe;
$currentAction = isset($action) ? $action : 'main';
$pageTitle = isset($titles[$currentAction]) ? $titles[$currentAction] : ($isEn ? 'Dialysis Center Berlin-Mahlsdorf' : 'Dialysezentrum Berlin-Mahlsdorf');
$pageDescription = isset($descriptions[$currentAction]) ? $descriptions[$currentAction] : $descriptions['main'];
$baseUrl = 'https://www.dialyse-berlin.net';
$routePath = ($currentAction === 'main' || $currentAction === '404') ? '/' : ('/' . $currentAction . '.html');
$deUrl = $baseUrl . Helper::url($routePath, 'de');
$enUrl = $baseUrl . Helper::url($routePath, 'en');
if ($currentAction === '404') {
$robotsMeta = 'noindex, nofollow';
$canonicalUrl = null;
} elseif (in_array($currentAction, ['impressum', 'datenschutz', 'kontakt-formular'], true)) {
$robotsMeta = 'noindex, follow';
$canonicalUrl = $isEn ? $enUrl : $deUrl;
} else {
$robotsMeta = 'index, follow';
$canonicalUrl = $isEn ? $enUrl : $deUrl;
}
$schemaGraph = [
[
'@type' => 'MedicalClinic',
'@id' => $baseUrl . '/#organization',
'name' => 'Dialysezentrum Berlin-Mahlsdorf',
'alternateName' => 'Zentrum für Nephrologie und Dialyse – Dr. med. Bianca Bischoff & Dr. med. Juliane Hoffzimmer',
'url' => $baseUrl . '/',
'logo' => $baseUrl . '/img/logo_dialysezentrum.png',
'image' => $baseUrl . '/img/gallery/praxis1.jpg',
'description' => $descriptions['main'],
'availableLanguage' => ['de', 'en'],
'medicalSpecialty' => 'https://schema.org/Nephrology',
'telephone' => '+49-30-5662484',
'email' => 'kontakt@dialyse-berlin.net',
'address' => [
'@type' => 'PostalAddress',
'streetAddress' => 'Thorner Straße 1',
'postalCode' => '12623',
'addressLocality' => 'Berlin',
'addressRegion' => 'Berlin',
'addressCountry' => 'DE',
],
'geo' => [
'@type' => 'GeoCoordinates',
'latitude' => 52.5078291,
'longitude' => 13.6092903,
],
'hasMap' => 'https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf/@52.5078291,13.6092903,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9c57f7f:0xad4486f559442067!8m2!3d52.5078291!4d13.6092903!16s%2Fg%2F1tdqghgn',
'openingHoursSpecification' => [
[
'@type' => 'OpeningHoursSpecification',
'dayOfWeek' => ['Monday', 'Wednesday', 'Friday'],
'opens' => '07:00',
'closes' => '20:00',
],
[
'@type' => 'OpeningHoursSpecification',
'dayOfWeek' => ['Tuesday', 'Thursday', 'Saturday'],
'opens' => '07:00',
'closes' => '13:00',
],
],
'department' => [
'@type' => 'MedicalClinic',
'name' => 'Dialysezentrum Berlin-Mahlsdorf – Satellitendialyse Marzahn',
'medicalSpecialty' => 'https://schema.org/Nephrology',
'telephone' => '+49-30-5662484',
'email' => 'kontakt@dialyse-berlin.net',
'address' => [
'@type' => 'PostalAddress',
'streetAddress' => 'Blumberger Damm 130 (Eingang: Pritzhagener Weg 21)',
'postalCode' => '12685',
'addressLocality' => 'Berlin',
'addressRegion' => 'Berlin',
'addressCountry' => 'DE',
],
'geo' => [
'@type' => 'GeoCoordinates',
'latitude' => 52.5428128,
'longitude' => 13.5716785,
],
'hasMap' => 'https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf+LC/@52.5428128,13.5716785,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9d5111b:0xda0b4785760166c5!8m2!3d52.5428128!4d13.5716785!16s%2Fg%2F1ts_5mmj',
],
'employee' => [
[
'@type' => 'Physician',
'name' => 'Dr. med. Bianca Bischoff',
'jobTitle' => 'Fachärztin für Innere Medizin und Nephrologie',
'medicalSpecialty' => 'https://schema.org/Nephrology',
],
[
'@type' => 'Physician',
'name' => 'Dr. med. Juliane Hoffzimmer',
'jobTitle' => 'Fachärztin für Innere Medizin und Nephrologie',
'medicalSpecialty' => 'https://schema.org/Nephrology',
],
[
'@type' => 'Physician',
'name' => 'Dr. med. Claudia Körner',
'jobTitle' => 'Fachärztin für Innere Medizin',
],
],
],
];
if ($canonicalUrl && $currentAction !== 'main') {
$schemaGraph[] = [
'@type' => 'BreadcrumbList',
'itemListElement' => [
[
'@type' => 'ListItem',
'position' => 1,
'name' => $isEn ? 'Home' : 'Startseite',
'item' => $baseUrl . Helper::url('/', $currentLang),
],
[
'@type' => 'ListItem',
'position' => 2,
'name' => trim(explode('|', $pageTitle)[0]),
'item' => $canonicalUrl,
],
],
];
}
?>
<!DOCTYPE html>
<html lang="<?=htmlspecialchars($currentLang)?>">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?=htmlspecialchars($pageTitle)?></title>
<meta name="description" content="<?=htmlspecialchars($pageDescription)?>">
<meta name="robots" content="<?=htmlspecialchars($robotsMeta)?>">
<?php if($canonicalUrl): ?>
<link rel="canonical" href="<?=htmlspecialchars($canonicalUrl)?>">
<link rel="alternate" hreflang="de" href="<?=htmlspecialchars($deUrl)?>">
<link rel="alternate" hreflang="en" href="<?=htmlspecialchars($enUrl)?>">
<link rel="alternate" hreflang="x-default" href="<?=htmlspecialchars($deUrl)?>">
<?php endif; ?>
<!-- Open Graph / Link Preview Meta Tags -->
<meta property="og:type" content="website">
<meta property="og:locale" content="<?=$isEn ? 'en_US' : 'de_DE'?>">
<meta property="og:locale:alternate" content="<?=$isEn ? 'de_DE' : 'en_US'?>">
<meta property="og:site_name" content="Dialysezentrum Berlin-Mahlsdorf">
<meta property="og:title" content="<?=htmlspecialchars($pageTitle)?>">
<meta property="og:description" content="<?=htmlspecialchars($pageDescription)?>">
<?php if($canonicalUrl): ?>
<meta property="og:url" content="<?=htmlspecialchars($canonicalUrl)?>">
<?php endif; ?>
<meta property="og:image" content="<?=$baseUrl?>/img/gallery/praxis1.jpg">
<meta property="og:image:width" content="1024">
<meta property="og:image:height" content="768">
<meta property="og:image:alt" content="<?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf – Practice building at Thorner Straße 1' : 'Dialysezentrum Berlin-Mahlsdorf – Praxisgebäude in der Thorner Straße 1'?>">
<!-- Schema.org Structured Data (JSON-LD) -->
<script type="application/ld+json"><?=json_encode(['@context' => 'https://schema.org', '@graph' => $schemaGraph], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)?></script>
<link rel="icon" href="/img/favicon.ico?v=<?=filemtime(__DIR__ . '/../img/favicon.ico')?>" type="image/x-icon">
<link rel="icon" href="/img/favicon.png?v=<?=filemtime(__DIR__ . '/../img/favicon.png')?>" type="image/png">
<link rel="apple-touch-icon" href="/img/apple-touch-icon.png?v=<?=filemtime(__DIR__ . '/../img/apple-touch-icon.png')?>">
<!-- Theme Initialization (prevents FOUC) -->
<script type="text/javascript">
(function() {
try {
if (localStorage.getItem('theme') === 'dark') {
document.documentElement.setAttribute('data-theme', 'dark');
}
} catch (e) {}
})();
</script>
<!-- Modern Stylesheets -->
<link href="/css/frontend.css?v=<?=filemtime(__DIR__ . '/../css/frontend.css')?>" rel="stylesheet" media="screen">
<link href="/css/lightbox.min.css" rel="stylesheet" media="screen">
<!-- Modern Libraries (Updated) -->
<script src="/js/jquery-3.7.1.min.js" type="text/javascript"></script>
<script src="/js/lightbox.min.js" type="text/javascript"></script>
</head>
<body>
<a href="#main-content" class="skip-link"><?=$isEn ? 'Skip to main content' : 'Zum Hauptinhalt springen'?></a>
<div id="outer-container">
<!-- Top Info Bar -->
<div class="top-bar">
<div class="container top-bar-inner">
<div class="top-bar-left">
<a href="https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf/@52.5078291,13.6092903,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9c57f7f:0xad4486f559442067!8m2!3d52.5078291!4d13.6092903!16s%2Fg%2F1tdqghgn" target="_blank" rel="noopener noreferrer" class="top-bar-item top-bar-addr-main" title="<?=$isEn ? 'Open Main Dialysis Center Berlin-Mahlsdorf in Google Maps' : 'Zentrumsdialyse Berlin-Mahlsdorf in Google Maps öffnen'?>" aria-label="<?=$isEn ? 'Main Center: Thorner Str. 1, 12623 Berlin (open in Google Maps)' : 'Zentrumsdialyse: Thorner Str. 1, 12623 Berlin (in Google Maps öffnen)'?>">
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>
<span>Thorner Str. 1, 12623 Berlin</span>
</a>
<a href="https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf+LC/@52.5428128,13.5716785,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9d5111b:0xda0b4785760166c5!8m2!3d52.5428128!4d13.5716785!16s%2Fg%2F1ts_5mmj" target="_blank" rel="noopener noreferrer" class="top-bar-item top-bar-addr-satellite" title="<?=$isEn ? 'Open Satellite Dialysis Marzahn in Google Maps' : 'Satellitendialyse Marzahn in Google Maps öffnen'?>" aria-label="<?=$isEn ? 'Satellite Unit: Blumberger Damm 130, 12685 Berlin (open in Google Maps)' : 'Satellitendialyse: Blumberger Damm 130, 12685 Berlin (in Google Maps öffnen)'?>">
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>
<span><?=$isEn ? 'Satellite: Blumberger Damm 130, 12685 Berlin' : 'Satellit: Blumberger Damm 130, 12685 Berlin'?></span>
</a>
</div>
<div class="top-bar-right">
<a href="tel:0305662484" title="<?=$isEn ? 'Phone Dialysis' : 'Telefon Dialyse'?>">
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
<?=$isEn ? 'Dialysis:' : 'Dialyse:'?> 030 / 566 24 84
</a>
<a href="tel:0305662539" title="<?=$isEn ? 'Phone Outpatient Clinic' : 'Telefon Ambulanz'?>">
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
<?=$isEn ? 'Clinic:' : 'Ambulanz:'?> 030 / 566 25 39
</a>
<a href="javascript:void(0);" class="mail-obf" data-usr="kontakt" data-dom="dialyse-berlin" data-tld="net" title="<?=$isEn ? 'Send Email' : 'E-Mail schreiben'?>" style="font-weight: 600;">
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
<span class="mail-val c-rev">net.nilreb-esylaid&#64;tkatnok</span>
</a>
</div>
</div>
</div>
<!-- Main Navigation Header -->
<header class="site-header">
<div class="container header-inner">
<a href="<?=Helper::url('/')?>" class="site-logo" title="<?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf – Home' : 'Dialysezentrum Berlin-Mahlsdorf – Startseite'?>">
<img src="/img/logo_dialysezentrum.png?v=<?=filemtime(__DIR__ . '/../img/logo_dialysezentrum.png')?>"
alt="<?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf – Center for Nephrology & Dialysis' : 'Dialysezentrum Berlin-Mahlsdorf – Zentrum für Nephrologie & Dialyse'?>"
width="915" height="199"
class="site-logo-img site-logo-light">
<img src="/img/logo_dialysezentrum_dark.png?v=<?=filemtime(__DIR__ . '/../img/logo_dialysezentrum_dark.png')?>"
alt="<?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf – Center for Nephrology & Dialysis' : 'Dialysezentrum Berlin-Mahlsdorf – Zentrum für Nephrologie & Dialyse'?>"
width="915" height="199"
class="site-logo-img site-logo-dark">
</a>
<!-- Navigation Menu -->
<nav id="siteNav" aria-label="<?=$isEn ? 'Main Navigation' : 'Hauptnavigation'?>">
<?php include('view/navigation.php'); ?>
</nav>
<!-- Actions, Language Switcher & Mobile Toggle -->
<div class="header-actions">
<div class="lang-switch" role="group" aria-label="<?=$isEn ? 'Language selection' : 'Sprachauswahl'?>">
<a href="<?=htmlspecialchars(Helper::url($routePath, 'de'))?>" class="lang-link <?=!$isEn ? 'active' : ''?>" lang="de" hreflang="de" <?=!$isEn ? 'aria-current="true"' : ''?> title="Deutsch">DE</a>
<a href="<?=htmlspecialchars(Helper::url($routePath, 'en'))?>" class="lang-link <?=$isEn ? 'active' : ''?>" lang="en" hreflang="en" <?=$isEn ? 'aria-current="true"' : ''?> title="English">EN</a>
</div>
<a href="<?=Helper::url('/kontakt.html')?>" class="header-cta-btn">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
<span><?=$isEn ? 'Contact / Appointment' : 'Kontakt / Termin'?></span>
</a>
<button class="nav-toggle" id="navToggle" aria-label="<?=$isEn ? 'Open menu' : 'Menü öffnen'?>" aria-expanded="false" aria-controls="navMenu">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24" id="toggleIcon"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
</button>
</div>
</div>
</header>
<!-- Holiday / Announcement Dialog (if configured) -->
<?php if(Helper::isHoliday($config) && $session->get('dialog') != 'dismissed'): ?>
<div id="holiday-wrapper" class="holiday-notice-banner" role="region" aria-label="<?=$isEn ? 'Current Practice Notice' : 'Aktueller Praxishinweis'?>">
<div class="container holiday-notice-inner">
<div class="holiday-notice-content">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg>
<div><?=Helper::parseHolidays($config, $currentLang)?></div>
</div>
<button type="button" class="holiday-dismiss-btn" data-dismiss="dialog">
<span aria-hidden="true">&#x2715;</span> <span><?=$isEn ? 'Close' : 'Schließen'?></span>
</button>
</div>
</div>
<?php endif; ?>
<!-- Hero / Motto Banner on Homepage -->
<?php if($currentAction === 'main'): ?>
<section class="hero-banner" aria-label="<?=$isEn ? 'Welcome Section' : 'Willkommensbereich'?>">
<div class="container">
<div class="hero-content">
<div class="hero-badge">
<span aria-hidden="true">&#x2714;</span> <?=$isEn ? '&ldquo;Personalized dialysis in Berlin&rsquo;s green belt&rdquo;' : '&bdquo;Die individuelle Dialyse im grünen Gürtel von Berlin&ldquo;'?>
</div>
<h1 class="hero-title"><?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf' : 'Dialysezentrum Berlin-Mahlsdorf'?></h1>
<div class="hero-subtitle">
Dr. med. Bianca Bischoff &bull; Dr. med. Juliane Hoffzimmer
</div>
<div class="hero-doctors">
<?=$isEn ? 'Board-Certified Specialists in Internal Medicine and Nephrology' : 'Fachärztinnen für Innere Medizin und Nephrologie'?>
</div>
<div class="hero-actions">
<a href="<?=Helper::url('/leistungen.html')?>" class="btn btn-primary"><?=$isEn ? 'Our Services' : 'Unsere Leistungen'?></a>
<a href="<?=Helper::url('/praxis.html')?>" class="btn btn-secondary"><?=$isEn ? 'Practice &amp; Hours' : 'Praxis &amp; Öffnungszeiten'?></a>
<a href="<?=Helper::url('/kontakt.html')?>" class="btn btn-outline"><?=$isEn ? 'Get in Touch' : 'Kontakt aufnehmen'?></a>
<a href="<?=Helper::url('/ersttermin.html')?>" class="btn btn-outline"><?=$isEn ? 'First Appointment Info' : 'Infos zum 1. Termin'?></a>
</div>
</div>
</div>
<div class="hero-wave" aria-hidden="true">
<svg aria-hidden="true" focusable="false" viewBox="0 0 1000 100" preserveAspectRatio="none">
<path class="shape-fill" d="M421.9,6.5c22.6-2.5,51.5,0.4,75.5,5.3c23.6,4.9,70.9,23.5,100.5,35.7c75.8,32.2,133.7,44.5,192.6,49.7 c23.6,2.1,48.7,3.5,103.4-2.5c54.7-6,106.2-25.6,106.2-25.6V100H0V30.3c0,0,72,32.6,158.4,30.5c39.2-0.7,92.8-6.7,134-22.4 c21.2-8.1,52.2-18.2,79.7-24.2C399.3,7.9,411.6,7.5,421.9,6.5z"></path>
</svg>
</div>
</section>
<?php else: ?>
<div class="page-banner">
<div class="container page-banner-inner">
<div>
<nav class="breadcrumb" aria-label="<?=$isEn ? 'Breadcrumb Navigation' : 'Brotkrumennavigation'?>">
<a href="<?=Helper::url('/')?>"><?=$isEn ? 'Home' : 'Startseite'?></a> <span aria-hidden="true">&rsaquo;</span>
<span aria-current="page"><?=htmlspecialchars(trim(explode('|', $pageTitle)[0]))?></span>
</nav>
</div>
</div>
</div>
<?php endif; ?>
<!-- Main Content Area -->
<main id="main-content" class="site-main" tabindex="-1">
<div class="container">
<div class="content-card">
<?=$content?>
</div>
</div>
</main>
<!-- Modern Multi-Column Footer -->
<footer class="site-footer">
<div class="container footer-grid">
<!-- Col 1: About Praxis -->
<div>
<div class="footer-col-title"><?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf' : 'Dialysezentrum Berlin-Mahlsdorf'?></div>
<p class="footer-desc">
<?php if($isEn): ?>
Center for Nephrology and Dialysis.<br>
Dr. med. Bianca Bischoff and Dr. med. Juliane Hoffzimmer.<br>
Personalized nephrological care and year-round holiday dialysis with modern medical technology.
<?php else: ?>
Zentrum für Nephrologie und Dialyse.<br>
Dr. med. Bianca Bischoff und Dr. med. Juliane Hoffzimmer.<br>
Individuelle nephrologische Betreuung und ganzjährige Feriendialysen mit moderner Medizintechnik.
<?php endif; ?>
</p>
<a href="https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf/@52.5078291,13.6092903,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9c57f7f:0xad4486f559442067!8m2!3d52.5078291!4d13.6092903!16s%2Fg%2F1tdqghgn" target="_blank" rel="noopener noreferrer" class="footer-contact-item" title="<?=$isEn ? 'Open Main Dialysis Center Berlin-Mahlsdorf in Google Maps' : 'Zentrumsdialyse Berlin-Mahlsdorf in Google Maps öffnen'?>" aria-label="<?=$isEn ? 'Main Center: Thorner Straße 1, 12623 Berlin (open in Google Maps)' : 'Zentrumsdialyse: Thorner Straße 1, 12623 Berlin (in Google Maps öffnen)'?>">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>
<span><strong><?=$isEn ? 'Main Center:' : 'Zentrumsdialyse:'?></strong> Thorner Straße 1, 12623 Berlin</span>
</a>
<a href="https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf+LC/@52.5428128,13.5716785,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9d5111b:0xda0b4785760166c5!8m2!3d52.5428128!4d13.5716785!16s%2Fg%2F1ts_5mmj" target="_blank" rel="noopener noreferrer" class="footer-contact-item" title="<?=$isEn ? 'Open Satellite Dialysis Marzahn in Google Maps' : 'Satellitendialyse Marzahn in Google Maps öffnen'?>" aria-label="<?=$isEn ? 'Satellite Unit: Blumberger Damm 130, 12685 Berlin (open in Google Maps)' : 'Satellitendialyse: Blumberger Damm 130, 12685 Berlin (in Google Maps öffnen)'?>">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>
<span><strong><?=$isEn ? 'Satellite Unit:' : 'Satellitendialyse:'?></strong> Blumberger Damm 130, 12685 Berlin</span>
</a>
</div>
<!-- Col 2: Navigation Links -->
<div>
<div class="footer-col-title"><?=$isEn ? 'Navigation' : 'Navigation'?></div>
<ul class="footer-links">
<li><a href="<?=Helper::url('/')?>"><span aria-hidden="true">&rsaquo;</span> <?=$isEn ? 'Home' : 'Startseite'?></a></li>
<li><a href="<?=Helper::url('/leistungen.html')?>"><span aria-hidden="true">&rsaquo;</span> <?=$isEn ? 'Services' : 'Leistungen'?></a></li>
<li><a href="<?=Helper::url('/praxis.html')?>"><span aria-hidden="true">&rsaquo;</span> <?=$isEn ? 'Practice Equipment' : 'Praxisausstattung'?></a></li>
<li><a href="<?=Helper::url('/team.html')?>"><span aria-hidden="true">&rsaquo;</span> <?=$isEn ? 'Our Team' : 'Unser Team'?></a></li>
<li><a href="<?=Helper::url('/ersttermin.html')?>"><span aria-hidden="true">&rsaquo;</span> <?=$isEn ? 'First Appointment Info' : 'Infos zum 1. Termin'?></a></li>
<li><a href="<?=Helper::url('/kontakt.html')?>"><span aria-hidden="true">&rsaquo;</span> <?=$isEn ? 'Contact &amp; Directions' : 'Kontakt &amp; Anfahrt'?></a></li>
<li><a href="<?=Helper::url('/kontakt-formular.html')?>"><span aria-hidden="true">&rsaquo;</span> <?=$isEn ? 'Contact Form' : 'Kontaktformular'?></a></li>
</ul>
</div>
<!-- Col 3: Contact & Opening info -->
<div>
<div class="footer-col-title"><?=$isEn ? 'Contact &amp; Availability' : 'Kontakt &amp; Erreichbarkeit'?></div>
<a href="tel:0305662484" class="footer-contact-item" title="<?=$isEn ? 'Phone Dialysis' : 'Telefon Dialyse'?>">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
<span><?=$isEn ? 'Dialysis:' : 'Dialyse:'?> <strong>030 / 566 24 84</strong></span>
</a>
<a href="tel:0305662539" class="footer-contact-item" title="<?=$isEn ? 'Phone Outpatient Clinic' : 'Telefon Ambulanz'?>">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
<span><?=$isEn ? 'Outpatient Clinic:' : 'Ambulanz:'?> <strong>030 / 566 25 39</strong></span>
</a>
<div class="footer-contact-item">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
<span><?=$isEn ? 'Email:' : 'E-Mail:'?> <a href="javascript:void(0);" class="mail-obf" data-usr="kontakt" data-dom="dialyse-berlin" data-tld="net" style="color: #cbd5e1; font-weight:600;"><span class="mail-val c-rev">net.nilreb-esylaid&#64;tkatnok</span></a></span>
</div>
<div class="footer-contact-item">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/></svg>
<span><a href="/files/dialyse_flyer.pdf" target="_blank" rel="noopener" style="color: #38bdf8; font-weight:600;"><span aria-hidden="true">&raquo;</span> <?=$isEn ? 'Download Practice Flyer (PDF)' : 'Praxis-Flyer herunterladen (PDF)'?></a></span>
</div>
</div>
</div>
<!-- Footer Bottom Bar -->
<div class="container footer-bottom">
<div>
&copy; <?=date('Y')?> <?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf &bull; All rights reserved.' : 'Dialysezentrum Berlin-Mahlsdorf &bull; Alle Rechte vorbehalten.'?>
</div>
<div class="footer-bottom-links">
<a href="<?=Helper::url('/impressum.html')?>"><?=$isEn ? 'Legal Notice' : 'Impressum'?></a>
<a href="<?=Helper::url('/datenschutz.html')?>"><?=$isEn ? 'Privacy Policy' : 'Datenschutz'?></a>
<a href="<?=Helper::url('/kontakt.html')?>"><?=$isEn ? 'Contact' : 'Kontakt'?></a>
<button type="button" id="themeToggle" class="theme-toggle-btn" aria-pressed="false" title="<?=$isEn ? 'Toggle color scheme (Dark / Light)' : 'Farbschema umschalten (Dunkel / Hell)'?>">
<svg class="theme-icon-moon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26 5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z"/></svg>
<svg class="theme-icon-sun" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.76 4.84l-1.8-1.79-1.41 1.41 1.79 1.79 1.42-1.41zM4 10.5H1v2h3v-2zm9-9.95h-2V3.5h2V.55zm7.45 3.91l-1.41-1.41-1.79 1.79 1.41 1.41 1.79-1.79zm-3.21 13.7l1.79 1.8 1.41-1.41-1.8-1.79-1.4 1.4zM20 10.5v2h3v-2h-3zm-8-5c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm-1 16.95h2V19.5h-2v2.95zm-7.45-3.91l1.41 1.41 1.79-1.8-1.41-1.41-1.79 1.8z"/></svg>
<span id="themeToggleLabel"><?=$isEn ? 'Dark Mode' : 'Dunkelmodus'?></span>
</button>
</div>
</div>
</footer>
</div>
<!-- Interactive Scripts -->
<script type="text/javascript">
$(document).ready(function() {
var isEn = document.documentElement.lang === 'en';
var labelOpen = isEn ? 'Open menu' : 'Menü öffnen';
var labelClose = isEn ? 'Close menu' : 'Menü schließen';
// Unobtrusive Footer Dark Mode Toggle
var $themeToggle = $('#themeToggle');
var $themeLabel = $('#themeToggleLabel');
function syncThemeButton() {
var isDark = document.documentElement.getAttribute('data-theme') === 'dark';
$themeToggle.attr('aria-pressed', isDark ? 'true' : 'false');
$themeLabel.text(isDark ? (isEn ? 'Light Mode' : 'Hellmodus') : (isEn ? 'Dark Mode' : 'Dunkelmodus'));
}
syncThemeButton();
$themeToggle.on('click', function() {
var isDark = document.documentElement.getAttribute('data-theme') === 'dark';
if (isDark) {
document.documentElement.removeAttribute('data-theme');
try { localStorage.setItem('theme', 'light'); } catch (e) {}
} else {
document.documentElement.setAttribute('data-theme', 'dark');
try { localStorage.setItem('theme', 'dark'); } catch (e) {}
}
syncThemeButton();
});
// Anti-Spam Email De-Obfuscation
$('.mail-obf').each(function() {
var $el = $(this);
var u = $el.attr('data-usr') || $el.data('usr');
var d = $el.attr('data-dom') || $el.data('dom');
var t = $el.attr('data-tld') || $el.data('tld');
if (u && d && t) {
var email = u + '@' + d + '.' + t;
$el.attr('href', 'mailto:' + email);
var $val = $el.find('.mail-val');
if ($val.length) {
$val.removeClass('c-rev').text(email);
}
}
});
$('.mail-obf-text').each(function() {
var $el = $(this);
var u = $el.attr('data-usr') || $el.data('usr');
var d = $el.attr('data-dom') || $el.data('dom');
var t = $el.attr('data-tld') || $el.data('tld');
if (u && d && t) {
var email = u + '@' + d + '.' + t;
var $val = $el.find('.mail-val');
if ($val.length) {
$val.removeClass('c-rev').text(email);
} else {
$el.text(email);
}
}
});
// Mobile Navigation Toggle
var $navToggle = $('#navToggle');
var $navMenu = $('#navMenu');
$navToggle.on('click', function(e) {
e.stopPropagation();
var isOpen = $navMenu.hasClass('is-open');
$navMenu.toggleClass('is-open');
$navToggle.attr('aria-expanded', !isOpen);
$navToggle.attr('aria-label', !isOpen ? labelClose : labelOpen);
// Toggle hamburger icon to X
if(!isOpen) {
$('#toggleIcon').html('<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>');
} else {
$('#toggleIcon').html('<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/>');
}
});
// Close menu on click outside
$(document).on('click', function(e) {
if (!$(e.target).closest('#siteNav, #navToggle').length) {
if ($navMenu.hasClass('is-open')) {
$navMenu.removeClass('is-open');
$navToggle.attr('aria-expanded', 'false').attr('aria-label', labelOpen);
$('#toggleIcon').html('<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/>');
}
}
});
// Close on ESC
$(document).on('keydown', function(e) {
if (e.key === 'Escape' && $navMenu.hasClass('is-open')) {
$navMenu.removeClass('is-open');
$navToggle.attr('aria-expanded', 'false').attr('aria-label', labelOpen).trigger('focus');
$('#toggleIcon').html('<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/>');
}
});
// Holiday Notice Dismissal
$('[data-dismiss="dialog"]').on('click', function(e) {
e.preventDefault();
$.ajax({
url: '/api.php?action=dialog',
type: 'get',
success: function(response) {
$('#holiday-wrapper').slideUp(250);
}
});
});
});
</script>
</body>
</html>