Impressum und Datenschutzbestimmung hinzugefügt

This commit is contained in:
2025-01-04 14:08:01 +01:00
parent 117a89ab05
commit 0fcadab0db
5 changed files with 664 additions and 366 deletions

View File

@@ -1,252 +1,198 @@
:root {
/* Farben */
--primary-color: #0066cc;
--secondary-color: #00a86b;
--text-color: #333333;
--background-color: #ffffff;
--accent-color: #ff6b6b;
/* Schriftarten */
--font-primary: 'Roboto', sans-serif;
--font-secondary: 'Open Sans', sans-serif;
/* Abstände und Größen */
--spacing-small: 0.5rem;
--spacing-medium: 1rem;
--spacing-large: 2rem;
/* Schatten und Übergänge */
--box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
--transition: all 0.3s ease;
--primary: #2563eb;
--secondary: #1e40af;
--text: #1f2937;
--background: #ffffff;
--accent: #dbeafe;
}
/* Globale Stile */
body {
font-family: var(--font-primary);
color: var(--text-color);
line-height: 1.6;
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: system-ui, -apple-system, sans-serif;
}
body {
color: var(--text);
line-height: 1.6;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-medium);
padding: 0 2rem;
}
h1, h2, h3 {
font-family: var(--font-secondary);
}
h1 {
font-size: clamp(2rem, 5vw, 3.5rem);
}
h2 {
font-size: clamp(1.5rem, 4vw, 2.5rem);
}
h3 {
font-size: clamp(1.2rem, 3vw, 1.8rem);
}
/* Header und Navigation */
header {
background-color: var(--background-color);
box-shadow: var(--box-shadow);
background: var(--background);
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
position: fixed;
width: 100%;
z-index: 1000;
top: 0;
z-index: 100;
}
nav ul {
nav {
display: flex;
justify-content: space-around;
list-style-type: none;
padding: 0;
justify-content: space-between;
align-items: center;
height: 80px;
}
nav a {
color: var(--text-color);
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary);
}
.nav-links a {
margin-left: 2rem;
text-decoration: none;
padding: var(--spacing-small) var(--spacing-medium);
transition: var(--transition);
color: var(--text);
}
nav a:hover {
color: var(--primary-color);
}
/* Hero Section */
.hero {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
color: var(--background-color);
text-align: center;
padding: calc(var(--spacing-large) * 3) var(--spacing-medium);
padding: 160px 0 80px;
background: linear-gradient(135deg, var(--accent), var(--background));
}
.cta-button {
.hero h1 {
font-size: 3.5rem;
margin-bottom: 1rem;
line-height: 1.2;
}
.hero p {
font-size: 1.25rem;
margin-bottom: 2rem;
color: #4b5563;
}
.btn {
display: inline-block;
background-color: var(--accent-color);
color: var(--background-color);
padding: var(--spacing-medium) var(--spacing-large);
border-radius: 30px;
padding: 1rem 2rem;
background: var(--primary);
color: white;
text-decoration: none;
transition: var(--transition);
border-radius: 8px;
transition: background 0.3s;
}
.cta-button:hover {
background-color: darken(var(--accent-color), 10%);
transform: translateY(-2px);
.btn:hover {
background: var(--secondary);
}
/* Services Section */
.service-grid {
.features {
padding: 80px 0;
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--spacing-large);
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-top: 3rem;
}
.service-card {
background-color: rgba(255, 255, 255, 0.8);
backdrop-filter: blur(10px);
border-radius: 10px;
padding: var(--spacing-large);
box-shadow: var(--box-shadow);
transition: var(--transition);
.feature-card {
padding: 2rem;
background: white;
border-radius: 12px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
transition: transform 0.3s;
}
.service-card:hover {
.feature-card:hover {
transform: translateY(-5px);
}
.service-card img {
max-width: 60px;
margin-bottom: var(--spacing-medium);
.feature-card h3 {
margin: 1rem 0;
color: var(--primary);
}
/* About Section */
.about {
background-color: #f8f8f8;
padding: var(--spacing-large) 0;
.contact {
padding: 80px 0;
background: var(--accent);
}
.usp-list {
list-style-type: none;
padding-left: 0;
}
.usp-list li::before {
content: "✓";
color: var(--secondary-color);
margin-right: var(--spacing-small);
}
/* Case Studies Section */
.case-study-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--spacing-large);
}
.case-study-card {
background-color: var(--background-color);
border-radius: 10px;
padding: var(--spacing-large);
box-shadow: var(--box-shadow);
}
/* Contact Form */
.contact form {
display: grid;
gap: var(--spacing-medium);
max-width: 600px;
margin: 0 auto;
}
.contact input,
.contact textarea {
.form-group {
margin-bottom: 1.5rem;
}
.form-group label {
display: block;
margin-bottom: 0.5rem;
}
.form-group input,
.form-group textarea {
width: 100%;
padding: var(--spacing-small);
border: 1px solid #ddd;
border-radius: 5px;
padding: 0.75rem;
border: 1px solid #e5e7eb;
border-radius: 6px;
}
.contact button {
background-color: var(--primary-color);
color: var(--background-color);
border: none;
padding: var(--spacing-medium);
border-radius: 5px;
cursor: pointer;
transition: var(--transition);
}
.contact button:hover {
background-color: darken(var(--primary-color), 10%);
}
/* Footer */
footer {
background-color: var(--text-color);
color: var(--background-color);
text-align: center;
padding: var(--spacing-medium);
}
/* Responsive Design */
@media (max-width: 768px) {
nav ul {
flex-direction: column;
align-items: center;
}
nav li {
margin-bottom: var(--spacing-small);
}
}
/* Dark Mode */
@media (prefers-color-scheme: dark) {
:root {
--text-color: #ffffff;
--background-color: #1a1a1a;
}
.service-card,
.case-study-card {
background-color: rgba(255, 255, 255, 0.1);
}
}
/* Accessibility */
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
.contact-info {
list-style-type: none;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
margin-top: 2rem;
}
/* Animations */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
.contact-info li {
margin-bottom: 1rem;
font-size: 1.1rem;
}
.fade-in {
animation: fadeIn 1s ease-out;
.contact-info a {
color: var(--primary);
text-decoration: none;
transition: color 0.3s;
}
/* Lazy Loading */
img.lazy {
opacity: 0;
transition: opacity 0.3s;
.contact-info a:hover {
color: var(--secondary);
}
img.lazy.loaded {
opacity: 1;
@media (max-width: 768px) {
.hero h1 {
font-size: 2.5rem;
}
.nav-links {
display: none;
}
}
.impressum {
padding: 160px 0 80px;
background: linear-gradient(135deg, var(--accent), var(--background));
}
/* Footer styles */
footer {
background: #005281;
color: #fff;
text-align: center;
padding: 20px 0;
}
footer nav ul {
padding: 0;
list-style: none;
}
footer nav ul li {
display: inline;
margin: 0 10px;
}
footer nav ul li a {
color: #fff;
text-decoration: none;
}