Files
my2/docs/design-examples/design-example1.html
2025-10-30 10:49:18 +01:00

765 lines
16 KiB
HTML
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.
<!doctype html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Jahreskarte verlängert | experimenta</title>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet" />
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
width: 100%;
overflow-x: hidden;
}
body {
font-family: 'Roboto', sans-serif;
background: linear-gradient(135deg, #2e1065 0%, #1a0a3a 50%, #0f051d 100%);
background-attachment: fixed;
background-repeat: no-repeat;
background-size: cover;
color: white;
line-height: 1.6;
min-height: 100vh;
width: 100%;
overflow-x: hidden;
margin: 0;
padding: 0;
}
/* Simplified Header */
.header-wrapper {
background: rgba(46, 16, 101, 0.95);
backdrop-filter: blur(10px);
position: relative;
z-index: 100;
padding: 30px 0;
}
.header-content {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
display: flex;
justify-content: center;
align-items: center;
}
.logo {
display: flex;
align-items: center;
text-decoration: none;
color: white;
transition: all 0.3s ease;
}
.logo:hover {
transform: scale(1.05);
}
.logo-svg {
width: 300px;
height: auto;
filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}
/* Main Content */
.main-content {
max-width: 800px;
margin: 0 auto;
padding: 40px 20px;
text-align: center;
width: 100%;
box-sizing: border-box;
}
.success-message {
background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
backdrop-filter: blur(15px);
border-radius: 20px;
padding: 60px 40px;
margin: 40px 0;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
width: 100%;
box-sizing: border-box;
}
.success-icon {
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
background-color: #46c74a;
width: 100px;
height: 100px;
border-radius: 100%;
font-size: 4rem;
color: #fff;
margin-bottom: 30px;
animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
}
h1 {
font-size: 36px;
margin-bottom: 30px;
color: white;
font-weight: 300;
letter-spacing: -1px;
}
.success-text {
font-size: 18px;
margin-bottom: 25px;
color: rgba(255, 255, 255, 0.9);
line-height: 1.7;
}
/* Progress Bar Styles */
.progress-container {
margin: 40px 0;
padding: 30px;
background: rgba(255, 255, 255, 0.08);
border-radius: 15px;
border-left: 4px solid #f59d24;
}
.progress-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
flex-wrap: wrap;
gap: 10px;
}
.progress-title {
font-size: 20px;
font-weight: 500;
color: #f59d24;
margin: 0;
}
.progress-stats {
font-size: 18px;
color: rgba(255, 255, 255, 0.9);
font-weight: 400;
}
.progress-bar-wrapper {
position: relative;
width: 100%;
height: 30px;
background: rgba(255, 255, 255, 0.1);
border-radius: 15px;
overflow: hidden;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}
.progress-bar {
height: 100%;
background: linear-gradient(90deg, #46c74a 0%, #66d96a 50%, #46c74a 100%);
border-radius: 15px;
transition: width 0s ease-out;
position: relative;
width: 0%;
background-size: 200% 100%;
animation: shimmer 3s ease-in-out infinite;
}
@keyframes shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
.progress-percentage {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 16px;
font-weight: 600;
color: white;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
z-index: 2;
width: 100%;
text-align: center;
}
.card-info {
background: rgba(255, 255, 255, 0.08);
border-radius: 12px;
padding: 30px;
margin: 30px 0;
border-left: 4px solid #f59d24;
}
.card-info h3 {
color: #f59d24;
margin-bottom: 15px;
font-size: 18px;
}
.card-info p {
font-size: 18px;
color: rgba(255, 255, 255, 0.9);
}
.contact-info {
background: rgba(255, 255, 255, 0.08);
border-radius: 12px;
padding: 40px 30px;
margin: 30px 0;
text-align: center;
border-left: 4px solid #f59d24;
}
.contact-info p {
font-size: 18px;
color: rgba(255, 255, 255, 0.9);
margin-bottom: 30px;
line-height: 1.6;
}
.contact-item {
margin: 0;
padding: 0;
background: none;
border: none;
}
.contact-item strong {
color: #f59d24;
display: block;
margin-bottom: 12px;
font-size: 18px;
font-weight: 600;
letter-spacing: 0.5px;
}
.contact-item a {
color: white;
text-decoration: none;
font-size: 18px;
font-weight: 400;
transition: color 0.3s ease;
word-break: break-all;
overflow-wrap: break-word;
}
.contact-item a:hover {
color: #ffb347;
}
.info-section {
background: rgba(255, 255, 255, 0.08);
border-radius: 12px;
padding: 30px;
margin: 30px 0;
text-align: center;
border-left: 4px solid #f59d24;
}
.info-section p {
font-size: 18px;
color: rgba(255, 255, 255, 0.9);
margin: 0;
line-height: 1.6;
}
.info-section a {
color: #f59d24;
text-decoration: underline;
font-weight: 500;
font-size: 18px;
transition: color 0.3s ease;
}
.info-section a:hover {
color: #ff4081;
}
.back-button {
background: #e6007e;
background-image: linear-gradient(to left, #e6007e, #e6007e, #e40521, #e6007e);
background-size: 300%;
color: #ffffff;
padding: 10px 30px;
border: none;
border-radius: 25px;
font-size: 18px;
font-weight: 500;
cursor: pointer;
transition:
background-position 1s,
all 0.3s ease;
text-decoration: none;
display: inline-block;
margin-top: 30px;
text-transform: none;
line-height: 1.7em;
position: relative;
outline: 0;
border-width: 0px;
}
.back-button:hover {
background-position: 100%;
}
/* Simplified Footer */
.footer {
background: linear-gradient(135deg, #1a0a3a 0%, #0f051d 100%);
margin-top: 80px;
position: relative;
}
.footer-content {
max-width: 1200px;
margin: 0 auto;
padding: 60px 20px 30px;
}
.footer-main {
display: grid;
grid-template-columns: 2.5fr 1fr 1fr 1.5fr;
gap: 50px;
margin-bottom: 50px;
}
.footer-section h3 {
color: #e91e63;
margin-bottom: 20px;
font-size: 1.1rem;
font-weight: 500;
}
.footer-section p {
margin-bottom: 15px;
color: rgba(255, 255, 255, 0.8);
line-height: 1.6;
font-size: 14px;
}
.footer-links {
list-style: none;
}
.footer-links li {
margin-bottom: 8px;
}
.footer-links a {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
font-size: 14px;
transition: color 0.3s ease;
}
.footer-links a:hover {
color: #ff4081;
}
.footer-logo {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.footer-logo-svg {
width: 200px;
height: auto;
}
.partner-section {
margin: 30px 0;
}
.partner-logos {
display: flex;
gap: 20px;
align-items: center;
flex-wrap: wrap;
margin-top: 15px;
}
.partner-logo {
background: rgba(255, 255, 255, 0.1);
padding: 15px 20px;
border-radius: 6px;
color: rgba(255, 255, 255, 0.7);
font-size: 12px;
text-align: center;
min-width: 120px;
transition: all 0.3s ease;
}
.partner-logo:hover {
background: rgba(255, 255, 255, 0.15);
}
.social-links {
display: flex;
gap: 12px;
margin-top: 20px;
}
.social-links a {
width: 40px;
height: 40px;
background: rgba(233, 30, 99, 0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
text-decoration: none;
transition: all 0.3s ease;
font-size: 18px;
}
.social-links a:hover {
background: #e91e63;
transform: translateY(-3px);
}
.footer-bottom {
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 30px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 20px;
}
.footer-bottom p {
color: rgba(255, 255, 255, 0.8);
font-size: 16px;
font-weight: normal;
margin: 0;
}
.footer-bottom-links {
display: flex;
gap: 30px;
}
.footer-bottom-links a {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
font-size: 16px;
font-weight: bold;
transition: color 0.3s ease;
}
.footer-bottom-links a:hover {
color: #ff4081;
}
.recognition-section {
text-align: center;
margin: 40px 0;
padding: 30px;
background: rgba(255, 255, 255, 0.03);
border-radius: 8px;
}
.recognition-section h4 {
color: #e91e63;
margin-bottom: 15px;
font-size: 1.1rem;
}
/* Responsive Design */
@media (max-width: 768px) {
body {
background-attachment: scroll;
}
.header-content {
padding: 0 15px;
width: 100%;
box-sizing: border-box;
}
.logo-svg {
width: 250px;
max-width: 90%;
}
.main-content {
padding: 40px 15px;
max-width: 100%;
}
.success-message {
padding: 40px 20px;
margin: 20px 0;
border-radius: 15px;
}
h1 {
font-size: 28px;
line-height: 1.2;
}
.progress-container {
padding: 25px 20px;
margin: 20px 0;
}
.progress-header {
flex-direction: column;
align-items: flex-start;
gap: 15px;
}
.progress-title {
font-size: 18px;
}
.progress-stats {
font-size: 16px;
}
.progress-bar-wrapper {
height: 25px;
}
.progress-percentage {
font-size: 14px;
}
.card-info,
.contact-info,
.info-section {
margin: 20px 0;
padding: 25px 20px;
border-radius: 12px;
}
.card-info h3 {
font-size: 16px;
}
.card-info p,
.contact-info p,
.info-section p,
.contact-item a,
.contact-item strong,
.info-section a {
font-size: 16px;
}
.success-text {
font-size: 16px;
}
.footer-main {
grid-template-columns: 1fr;
text-align: center;
}
.footer-bottom {
flex-direction: column;
text-align: center;
gap: 15px;
}
.footer-bottom p,
.footer-bottom-links a {
font-size: 14px;
}
.footer-bottom-links {
gap: 20px;
}
.footer-logo-svg {
width: 180px;
}
}
@media (max-width: 480px) {
html,
body {
width: 100%;
overflow-x: hidden;
}
.logo-svg {
width: 200px;
max-width: 85%;
}
h1 {
font-size: 24px;
line-height: 1.2;
margin-bottom: 20px;
}
.main-content {
padding: 30px 10px;
}
.success-message {
padding: 30px 15px;
margin: 15px 0;
border-radius: 12px;
}
.progress-container {
padding: 20px 15px;
margin: 15px 0;
}
.progress-title {
font-size: 16px;
}
.progress-stats {
font-size: 14px;
}
.progress-bar-wrapper {
height: 20px;
}
.progress-percentage {
font-size: 12px;
}
.card-info,
.contact-info,
.info-section {
padding: 20px 15px;
margin: 15px 0;
}
.card-info h3 {
font-size: 14px;
}
.card-info p,
.contact-info p,
.info-section p,
.contact-item a,
.contact-item strong,
.info-section a {
font-size: 14px;
}
.success-text {
font-size: 14px;
}
.success-icon {
font-size: 3rem;
}
.back-button {
padding: 8px 24px;
font-size: 16px;
margin-top: 20px;
}
.footer-bottom p,
.footer-bottom-links a {
font-size: 12px;
}
.footer-bottom-links {
gap: 15px;
}
}
</style>
</head>
<body>
<!-- Simplified Header -->
<header class="header-wrapper">
<div class="header-content">
<a href="https://www.experimenta.science/" class="logo">
<img src="https://www.experimenta.science/wp-content/uploads/2024/09/logo_experimenta_white.svg"
alt="experimenta Logo" class="logo-svg">
</a>
</div>
</header>
<!-- Main Content -->
<main class="main-content">
<div class="success-message">
<div class="success-icon"></div>
<h1>Jahreskarten-Verlängerungen</h1>
<!-- Progress Bar Section -->
<div class="progress-container">
<div class="progress-header">
<h3 class="progress-title">Verlängerungsfortschritt</h3>
<div class="progress-stats">{{payload.count}} / {{payload.total}}</div>
</div>
<div class="progress-bar-wrapper">
<div class="progress-bar" id="progressBar"></div>
<div class="progress-percentage" id="progressPercentage">{{payload.perc}}%</div>
</div>
</div>
<a href="https://www.experimenta.science/" class="back-button">Zur experimenta Startseite</a>
</div>
</main>
<!-- Footer -->
<footer class="footer">
<div class="footer-content">
<div class="footer-bottom">
<p>© 2025 experimenta gGmbH Das Science Center. Alle Rechte vorbehalten.</p>
<div class="footer-bottom-links">
<a href="https://www.experimenta.science/kontakt/">Kontakt</a>
<a href="https://www.experimenta.science/impressum/">Impressum</a>
<a href="https://www.experimenta.science/datenschutz/">Datenschutz</a>
</div>
</div>
</div>
</footer>
<script>
// Wait for page to load, then animate progress bar
document.addEventListener('DOMContentLoaded', function () {
// Get the percentage value from the template variable
const percentage = parseFloat('{{payload.perc}}') || 0
const progressBar = document.getElementById('progressBar')
// Animate the progress bar after a short delay
setTimeout(function () {
progressBar.style.width = percentage + '%'
}, 0)
})
</script>
</body>
</html>