eis-website/css/style.css
2026-06-11 16:12:20 +02:00

376 lines
No EOL
5.9 KiB
CSS
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.

/* ================================
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;
}