diff --git a/.gitignore b/.gitignore index 418fe5d..0029b67 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ *.swp *~ .DS_Store - +venv/ diff --git a/app.py b/app.py new file mode 100644 index 0000000..d9ff89d --- /dev/null +++ b/app.py @@ -0,0 +1,10 @@ +from flask import Flask + +app = Flask(__name__) + +@app.route("/") +def hello(): + return "Willkommen in unserem Escape Room!" + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=9006) # 90 + Raumnummer diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..64e2efb --- /dev/null +++ b/css/style.css @@ -0,0 +1,376 @@ +/* ================================ + EIS PROJEKT – STYLE (CLEAN) +================================ */ + +*, *::before, *::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +:root { + --pink: #f9a8c9; + --rose: #e8679a; + --violet: #9b59b6; + --cream: #fff8f3; + --text: #2d1a2e; + --muted: #7a5c7e; +} + +/* ================================ + BASE +================================ */ + +body { + font-family: 'DM Sans', sans-serif; + background: var(--cream); + color: var(--text); + min-height: 100vh; + overflow-x: hidden; +} + +/* ================================ + NAVIGATION +================================ */ + +nav { + position: sticky; + top: 0; + z-index: 100; + background: rgba(255, 248, 243, 0.85); + backdrop-filter: blur(12px); + border-bottom: 1px solid rgba(232, 103, 154, 0.15); + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 2.5rem; + height: 64px; +} + +.nav-logo { + font-family: 'Playfair Display', serif; + font-size: 1.3rem; + color: var(--rose); +} + +.nav-links { + display: flex; + gap: 2rem; + list-style: none; +} + +.nav-links a { + text-decoration: none; + font-size: 0.9rem; + font-weight: 500; + color: var(--muted); + transition: 0.2s; +} + +.nav-links a:hover { + color: var(--rose); +} + +/* ================================ + HERO +================================ */ + +.hero { + position: relative; + display: grid; + grid-template-columns: 1fr 1fr; + align-items: center; + min-height: 88vh; + padding: 4rem 2.5rem; + gap: 3rem; +} + +.hero::before { + content: ''; + position: absolute; + inset: 0; + background: + radial-gradient(ellipse 70% 60% at 80% 50%, rgba(249,168,201,0.25), transparent), + radial-gradient(ellipse 50% 50% at 10% 80%, rgba(155,89,182,0.1), transparent); +} + +.hero-content { + position: relative; + z-index: 1; +} + +.hero-tag { + display: inline-flex; + font-size: 0.78rem; + padding: 6px 14px; + background: rgba(232,103,154,0.1); + border: 1px solid rgba(232,103,154,0.2); + border-radius: 100px; + color: var(--rose); + margin-bottom: 1rem; +} + +.hero h1 { + font-family: 'Playfair Display', serif; + font-size: 3rem; + line-height: 1.1; +} + +.hero h1 span { + background: linear-gradient(135deg, var(--rose), var(--violet)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.hero p { + color: var(--muted); + margin-top: 1rem; + max-width: 420px; +} + +/* ================================ + BUTTONS +================================ */ + +.btn-group { + margin-top: 2rem; + display: flex; + gap: 1rem; +} + +.btn-primary { + background: linear-gradient(135deg, var(--rose), var(--violet)); + color: white; + padding: 13px 26px; + border-radius: 50px; + text-decoration: none; +} + +.btn-ghost { + border: 1px solid rgba(232,103,154,0.4); + color: var(--rose); + padding: 13px 26px; + border-radius: 50px; + text-decoration: none; +} + +/* ================================ + HERO IMAGE +================================ */ + +.hero-visual { + display: flex; + justify-content: center; +} + +.img-frame { + position: relative; + max-width: 420px; +} + +.img-frame img { + width: 100%; + border-radius: 20px; +} + +.img-badge { + position: absolute; + bottom: -16px; + left: 24px; + background: white; + padding: 10px 18px; + border-radius: 14px; +} + +/* ================================ + SECTIONS +================================ */ + +section { + padding: 5rem 2.5rem; + max-width: 1100px; + margin: auto; +} + +.section-label { + font-size: 0.75rem; + color: var(--rose); + text-transform: uppercase; +} + +.section-title { + font-family: 'Playfair Display'; + margin: 1rem 0; +} + +.section-sub { + color: var(--muted); + max-width: 600px; +} + +/* ================================ + STATS +================================ */ + +.stats-row { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1.5rem; + margin-top: 2rem; +} + +.stat-card { + background: white; + padding: 2rem; + border-radius: 20px; + text-align: center; +} + +.stat-num { + font-size: 2rem; + color: var(--rose); +} + +/* ================================ + GALLERY +================================ */ + +.gallery-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1rem; +} + +.gallery-card { + position: relative; + overflow: hidden; + border-radius: 16px; + background: #f0e8ef; +} + +.gallery-card img { + width: 100%; + height: 240px; + object-fit: cover; +} + +/* ================================ + CTA +================================ */ + +.info-strip { + background: linear-gradient(135deg, var(--rose), var(--violet)); + padding: 3rem; + border-radius: 24px; + display: flex; + justify-content: space-between; + color: white; +} + +/* ================================ + FOOTER +================================ */ + +footer { + text-align: center; + padding: 2rem; + background: var(--text); + color: white; +} + +/* ================================ + RESPONSIVE +================================ */ + +@media (max-width: 768px) { + .hero { + grid-template-columns: 1fr; + } + + .gallery-grid { + grid-template-columns: 1fr; + } + + .stats-row { + grid-template-columns: 1fr; + } +} + +input#punkteInput { + padding: 12px 16px; + border-radius: 12px; + border: 2px solid rgba(0,0,0,0.1); + margin: 15px 0; + width: 220px; + font-size: 1rem; +} + +#ergebnis { + margin-top: 15px; + font-weight: 600; +} + +.progress-container { + width: 100%; + max-width: 300px; + height: 14px; + background: #eee; + border-radius: 20px; + overflow: hidden; + margin-top: 15px; +} + +#progressBar { + height: 100%; + width: 0%; + transition: width 0.4s ease; + background: green; + border-radius: 20px; +} + +/* ================================ + DARK MODE (WICHTIG: AUSSERHALB MEDIA QUERY) +================================ */ + + +body.dark { + background-color: #1e293b; + color: #e2e8f0; + --cream: #120d14; + --text: #f5e9f2; + --muted: #c7b2c9; +} + +body.dark nav { + background-color: #0f172a; + border-color: #334155; +} + +body.dark a { + color: #60a5fa; +} + + + + + + + + + + + + +body.dark .stat-card, +body.dark .gallery-card { + background: #1b141d; +} + +body.dark .img-badge { + background: #1b141d; + color: var(--text); +} + +body.dark footer { + background: #0d0a10; +} \ No newline at end of file diff --git a/eis_projekt.html b/eis_projekt.html index d5fd461..c2fb688 100644 --- a/eis_projekt.html +++ b/eis_projekt.html @@ -7,7 +7,7 @@