Website-fabianschieder/503.php

173 lines
4.5 KiB
PHP

<?php
http_response_code(503);
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dienst nicht verfügbar · Fabian Schieder</title>
<!-- Favicons: mehrere Größen + /favicon.ico Fallback (Browser-Caching) -->
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="icon" href="/icons/favicon.png" type="image/png" sizes="16x16">
<link rel="icon" href="/icons/favicon.png" type="image/png" sizes="32x32">
<link rel="icon" href="/icons/favicon.png" type="image/png" sizes="48x48">
<link rel="apple-touch-icon" href="/icons/favicon.png" sizes="180x180">
<link rel="stylesheet" href="/style.css">
<style>
body {
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 2rem 1rem;
}
.error-wrap {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 1.5rem;
max-width: 480px;
width: 100%;
}
.error-code {
font-size: clamp(6rem, 20vw, 10rem);
font-weight: 800;
line-height: 1;
background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 60%, #a855f7 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
letter-spacing: -4px;
user-select: none;
}
.error-icon {
font-size: 3rem;
animation: float 3s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
.error-title {
font-size: 1.4rem;
font-weight: 700;
color: var(--text);
-webkit-text-fill-color: var(--text);
background: none;
}
.error-desc {
color: var(--text-muted);
font-size: 0.95rem;
line-height: 1.6;
}
.error-divider {
width: 48px;
height: 3px;
border-radius: 99px;
background: linear-gradient(90deg, #6366f1, #0ea5e9);
border: none;
margin: 0;
}
.error-actions {
display: flex;
gap: 0.75rem;
flex-wrap: wrap;
justify-content: center;
}
.btn {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.65rem 1.4rem;
border-radius: 10px;
font-size: 0.9rem;
font-weight: 600;
text-decoration: none;
transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
cursor: pointer;
}
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0,0,0,0.35);
}
.btn:active {
transform: translateY(0);
}
.btn-primary {
background: linear-gradient(135deg, #6366f1, #0ea5e9);
color: #fff;
}
.btn-secondary {
background: var(--surface);
border: 1px solid var(--border);
color: var(--text);
}
.btn-secondary:hover {
border-color: rgba(255,255,255,0.2);
}
/* Glow hinter der 404 */
.glow {
position: fixed;
width: 500px;
height: 500px;
border-radius: 50%;
background: radial-gradient(circle, rgba(99,102,241,0.12) 0%, transparent 70%);
top: 50%;
left: 50%;
transform: translate(-50%, -60%);
pointer-events: none;
z-index: -1;
}
</style>
</head>
<body>
<div class="background-blur"></div>
<div class="glow"></div>
<div class="error-wrap">
<div class="error-icon">🔍</div>
<div class="error-code">503</div>
<hr class="error-divider">
<h1 class="error-title">Dienst nicht verfügbar</h1>
<p class="error-desc">
Die Seite die du öffnen willst ist gerade nicht verfügbar<br>
</p>
<div class="error-actions">
<a href="/" class="btn btn-primary">
← Zurück zur Startseite
</a>
<a href="javascript:history.back()" class="btn btn-secondary">
Zurück
</a>
</div>
</div>
</body>
</html>