:root { --primary-color: #2c5f2d; --secondary-color: #97bc62; --accent-color: #ff8c00; } /* Custom Bootstrap Theme Colors */ .bg-primary { background-color: var(--primary-color) !important; } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); } .btn-primary:hover { background-color: #234a24; border-color: #234a24; } .text-primary { color: var(--primary-color) !important; } .btn-outline-primary { color: var(--primary-color); border-color: var(--primary-color); } .btn-outline-primary:hover { background-color: var(--primary-color); border-color: var(--primary-color); } /* Header Styling */ .navbar-brand { font-size: 1.5rem; } .navbar-logo { height: 50px; width: auto; max-width: 200px; object-fit: contain; } .contact-bar a:hover { color: var(--primary-color) !important; } /* Hero Section mit Parallax */ .hero-section { position: relative; min-height: 500px; background-image: url('../images/banner_home-sm.jpg'); background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; display: flex; align-items: center; } /* Responsive Banner Bilder */ @media (min-width: 768px) { .hero-section { background-image: url('../images/banner_home-md.jpg'); } } @media (min-width: 1200px) { .hero-section { background-image: url('../images/banner_home-lg.jpg'); } } @media (min-width: 1920px) { .hero-section { background-image: url('../images/banner_home-xl.jpg'); } } /* Parallax auf mobilen Geräten deaktivieren für bessere Performance */ @media (max-width: 768px) { .hero-section { background-attachment: scroll; min-height: 400px; } } .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(44, 95, 45, 0.7); z-index: 1; } .hero-section .container { z-index: 2; } /* Card Styling */ .hover-card { transition: transform 0.3s ease, box-shadow 0.3s ease; } .hover-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important; } .card-header { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); } .preis-box { padding: 1rem; background-color: #f8f9fa; border-radius: 0.5rem; margin-top: 1rem; } /* Besonderheiten Liste */ .list-unstyled li { padding: 0.3rem 0; } /* Specs Badges */ .specs .badge { font-size: 0.85rem; font-weight: normal; padding: 0.5rem 0.75rem; } /* CTA Section */ .cta-section { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); } /* Footer */ footer h5 { font-weight: 600; } footer a:hover { color: var(--secondary-color) !important; } /* Kontaktformular */ .form-control:focus, .form-select:focus { border-color: var(--primary-color); box-shadow: 0 0 0 0.25rem rgba(44, 95, 45, 0.25); } .contact-info-box { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); color: white; padding: 2rem; border-radius: 0.5rem; height: 100%; } .contact-info-box h4 { margin-bottom: 1.5rem; } .contact-info-box .info-item { margin-bottom: 1.5rem; } .contact-info-box .info-item i { font-size: 1.5rem; margin-right: 1rem; } .contact-info-box a { color: white; text-decoration: none; } .contact-info-box a:hover { text-decoration: underline; } /* Impressum / Datenschutz */ .content-section { max-width: 900px; } .content-section h2 { color: var(--primary-color); margin-top: 2rem; margin-bottom: 1rem; font-size: 1.5rem; } .content-section h3 { color: var(--primary-color); margin-top: 1.5rem; margin-bottom: 0.75rem; font-size: 1.25rem; } .content-section h4 { color: #333; margin-top: 1rem; margin-bottom: 0.5rem; font-size: 1.1rem; } /* Responsive */ @media (max-width: 768px) { .navbar-brand { font-size: 1.2rem; } .hero-section h1 { font-size: 2rem; } .contact-bar { font-size: 0.9rem; } } /* Scroll to Top Button (optional) */ .scroll-to-top { position: fixed; bottom: 2rem; right: 2rem; display: none; width: 3rem; height: 3rem; background-color: var(--primary-color); color: white; border-radius: 50%; text-align: center; line-height: 3rem; cursor: pointer; z-index: 1000; transition: all 0.3s ease; } .scroll-to-top:hover { background-color: var(--secondary-color); transform: translateY(-5px); } /* Loading Animation (optional) */ .loading { text-align: center; padding: 3rem; } .spinner-border { color: var(--primary-color); }