diff --git a/css/main.css b/css/main.css index 60ad909..7077513 100644 --- a/css/main.css +++ b/css/main.css @@ -1,5 +1,5 @@ /* ========================= - Allgemeine Einstellungen + Modernes Responsive Design ========================= */ * { @@ -8,27 +8,29 @@ box-sizing: border-box; } -html { - font-size: 16px; - scroll-behavior: smooth; +:root { + + /* Farbpalette */ + --primary: #2563eb; + --primary-dark: #1d4ed8; + --background: #f5f7fb; + --surface: #ffffff; + --text: #1e293b; + --text-light: #64748b; + --border: #e2e8f0; + + /* Schatten */ + --shadow: 0 8px 25px rgba(0,0,0,0.08); + + /* Rundungen */ + --radius: 16px; } body { - font-family: Arial, Helvetica, sans-serif; + font-family: "Segoe UI", Arial, sans-serif; + background: var(--background); + color: var(--text); line-height: 1.6; - background-color: #f4f6f9; - color: #222; -} - -/* ========================= - Layout -========================= */ - -.container { - width: 90%; - max-width: 1200px; - margin: auto; - padding: 20px; } /* ========================= @@ -36,47 +38,110 @@ body { ========================= */ header { - background: #1e3a5f; - color: white; - padding: 20px 0; - text-align: center; + background: var(--surface); + box-shadow: 0 2px 10px rgba(0,0,0,0.05); + position: sticky; + top: 0; + z-index: 1000; } -header h1 { - font-size: 2rem; +.header-container { + max-width: 1200px; + margin: auto; + padding: 16px 24px; + + display: flex; + justify-content: space-between; + align-items: center; + gap: 20px; +} + +/* Logo */ + +.logo { + font-size: 1.5rem; + font-weight: 700; + color: var(--primary); } /* ========================= Navigation ========================= */ -nav { - background: #16324f; -} - nav ul { list-style: none; - display: flex; - justify-content: center; - flex-wrap: wrap; -} -nav li { - margin: 0; + display: flex; + align-items: center; + gap: 18px; } nav a { - display: block; - padding: 15px 20px; - color: white; text-decoration: none; - transition: background 0.3s ease; + color: var(--text); + font-weight: 500; + transition: 0.25s ease; + padding: 8px 14px; + border-radius: 10px; } nav a:hover, nav a:focus { - background: #28527a; + background: #eff6ff; + color: var(--primary); +} + +/* ========================= + Suchfeld +========================= */ + +.search-box { + display: flex; + gap: 10px; +} + +.search-box input { + padding: 10px 14px; + border: 1px solid var(--border); + border-radius: 10px; outline: none; + min-width: 220px; +} + +.search-box input:focus { + border-color: var(--primary); +} + +/* ========================= + Buttons +========================= */ + +.btn { + padding: 10px 18px; + border-radius: 10px; + text-decoration: none; + font-weight: 600; + transition: 0.25s ease; + border: none; + cursor: pointer; +} + +.btn-primary { + background: var(--primary); + color: white; +} + +.btn-primary:hover { + background: var(--primary-dark); +} + +.btn-secondary { + background: #eff6ff; + color: var(--primary); +} + +.btn-secondary:hover { + background: #dbeafe; } /* ========================= @@ -84,81 +149,69 @@ nav a:focus { ========================= */ main { - padding: 40px 0; + max-width: 1200px; + margin: 50px auto; + padding: 0 24px; } -/* Flexbox-Layout */ +/* Hero Section */ -.content { - display: flex; - gap: 20px; - align-items: stretch; - flex-wrap: wrap; +.hero { + background: linear-gradient( + 135deg, + #2563eb, + #3b82f6 + ); + + color: white; + padding: 80px 40px; + border-radius: var(--radius); + text-align: center; + box-shadow: var(--shadow); + + margin-bottom: 50px; +} + +.hero h1 { + font-size: 3rem; + margin-bottom: 20px; +} + +.hero p { + max-width: 800px; + margin: auto; + font-size: 1.1rem; +} + +/* ========================= + Karten / Inhalte +========================= */ + +.content-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 24px; } .card { - flex: 1 1 300px; - background: white; - padding: 20px; - border-radius: 10px; - box-shadow: 0 3px 10px rgba(0,0,0,0.1); + background: var(--surface); + border-radius: var(--radius); + padding: 28px; + box-shadow: var(--shadow); + transition: 0.3s ease; } -/* ========================= - Bilder / Medien -========================= */ - -img, -video { - max-width: 100%; - height: auto; - border-radius: 8px; +.card:hover { + transform: translateY(-5px); } -/* ========================= - Tabellen -========================= */ - -.table-wrapper { - overflow-x: auto; +.card h2 { + margin-bottom: 14px; + color: var(--primary); } -table { - width: 100%; - border-collapse: collapse; - background: white; -} - -th, -td { - padding: 12px; - border: 1px solid #ccc; - text-align: left; -} - -th { - background-color: #1e3a5f; - color: white; -} - -/* ========================= - Buttons -========================= */ - -button, -.btn { - background-color: #1e3a5f; - color: white; - border: none; - padding: 12px 18px; - border-radius: 6px; - cursor: pointer; - transition: background 0.3s ease; -} - -button:hover, -.btn:hover { - background-color: #28527a; +.card p { + color: var(--text-light); } /* ========================= @@ -166,11 +219,30 @@ button:hover, ========================= */ footer { - background: #1e3a5f; - color: white; - text-align: center; - padding: 20px; - margin-top: 40px; + margin-top: 80px; + background: var(--surface); + border-top: 1px solid var(--border); +} + +.footer-container { + max-width: 1200px; + margin: auto; + padding: 24px; + + display: flex; + justify-content: center; + gap: 30px; + flex-wrap: wrap; +} + +footer a { + text-decoration: none; + color: var(--text-light); + transition: 0.25s ease; +} + +footer a:hover { + color: var(--primary); } /* ========================= @@ -178,8 +250,9 @@ footer { ========================= */ a:focus, -button:focus { - outline: 3px solid #ffbf47; +button:focus, +input:focus { + outline: 3px solid #93c5fd; outline-offset: 2px; } @@ -187,66 +260,61 @@ button:focus { Responsive Design ========================= */ -/* Tablets */ +/* Tablet */ -@media (max-width: 992px) { +@media (max-width: 900px) { - header h1 { - font-size: 1.7rem; + .header-container { + flex-direction: column; + align-items: stretch; } nav ul { justify-content: center; + flex-wrap: wrap; } - .content { - flex-direction: column; + .search-box { + justify-content: center; + } + + .hero h1 { + font-size: 2.3rem; } } -/* Smartphones */ +/* Smartphone */ @media (max-width: 600px) { - body { - font-size: 15px; + .hero { + padding: 50px 25px; } - header { - padding: 15px 10px; + .hero h1 { + font-size: 2rem; } - header h1 { - font-size: 1.4rem; + .hero p { + font-size: 1rem; } nav ul { flex-direction: column; + gap: 10px; } - nav a { + .search-box { + flex-direction: column; + } + + .search-box input { + width: 100%; + min-width: unset; + } + + .btn { + width: 100%; text-align: center; - border-top: 1px solid rgba(255,255,255,0.1); - } - - .container { - width: 95%; - } - - .card { - padding: 15px; - } -} - -/* Große Bildschirme */ - -@media (min-width: 1400px) { - - body { - font-size: 18px; - } - - .container { - max-width: 1400px; } } \ No newline at end of file