/* ============================================ Custom Styles für Traidendorf Webseite ============================================ */ :root { --primary-color: #2c5f2d; --secondary-color: #6c757d; --success-color: #4a7c4e; --info-color: #5b9aa9; --warning-color: #d4a574; --danger-color: #c44536; --light-color: #f8f9fa; --dark-color: #212529; --accent-color: #7d9b76; } /* ============================================ Global Styles ============================================ */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: var(--dark-color); } html { scroll-behavior: smooth; } /* ============================================ Hero Section ============================================ */ .hero-section { background: url('../img/Banner/IMG_2630.JPEG') center center no-repeat; background-size: cover; background-attachment: fixed; color: white; padding: 100px 0 80px; position: relative; overflow: hidden; } .hero-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.4); z-index: 0; } .hero-section h1, .hero-section p, .hero-section .btn { position: relative; z-index: 1; } .min-vh-75 { min-height: 75vh; } /* ============================================ Cards ============================================ */ .card { border: none; border-radius: 15px; transition: all 0.3s ease; } .hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; } .hover-lift:hover { transform: translateY(-10px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important; } .icon-box { width: 80px; height: 80px; margin: 0 auto; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.03); border-radius: 50%; transition: all 0.3s ease; } .card:hover .icon-box { transform: scale(1.1); background: rgba(0, 0, 0, 0.05); } /* ============================================ Navigation ============================================ */ .navbar { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; } .navbar-brand { font-size: 1.5rem; transition: transform 0.3s ease; } .navbar-brand:hover { transform: scale(1.05); } .nav-link { position: relative; transition: color 0.3s ease; } .nav-link::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; background: white; transition: all 0.3s ease; transform: translateX(-50%); } .nav-link:hover::after, .nav-link.active::after { width: 80%; } /* ============================================ Buttons ============================================ */ .btn { border-radius: 50px; padding: 12px 30px; font-weight: 500; transition: all 0.3s ease; border: 2px solid transparent; } .btn-primary { background: #2c5f2d; border: none; } .btn-primary:hover { background: #3d7a3f; transform: translateY(-2px); box-shadow: 0 5px 20px rgba(44, 95, 45, 0.5); } .btn-outline-primary { border: 2px solid white; color: white; background: transparent; } .btn-outline-primary:hover { background: white; color: var(--primary-color); transform: translateY(-2px); } .btn-outline-light { border: 2px solid white; color: white; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(5px); } .btn-outline-light:hover { background: white; color: var(--primary-color); transform: translateY(-2px); border-color: white; } /* ============================================ Sections ============================================ */ section { padding: 80px 0; } section h2 { position: relative; display: inline-block; } /* ============================================ Animations ============================================ */ @keyframes fadeIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-in { animation: fadeIn 1s ease-out; } .animate-fade-in-delay { animation: fadeIn 1s ease-out 0.3s both; } .animate-fade-in-delay-2 { animation: fadeIn 1s ease-out 0.6s both; } /* ============================================ Footer ============================================ */ footer { margin-top: auto; } footer a { transition: color 0.3s ease; } footer a:hover { color: var(--info-color) !important; } /* ============================================ Responsive Styles ============================================ */ @media (max-width: 768px) { .hero-section { padding: 60px 0 40px; } .hero-section h1 { font-size: 2.5rem; } section { padding: 50px 0; } .display-5 { font-size: 2rem; } } @media (max-width: 576px) { .btn-lg { padding: 10px 20px; font-size: 1rem; } .icon-box { width: 60px; height: 60px; } .icon-box i { font-size: 2rem !important; } } /* ============================================ Utility Classes ============================================ */ .text-shadow { text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); } .bg-gradient-primary { background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%); } /* ============================================ Scrollbar Styling ============================================ */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: var(--light-color); } ::-webkit-scrollbar-thumb { background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%); border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: var(--accent-color); } /* ============================================ Back to Top Button ============================================ */ .back-to-top { position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px; background: var(--primary-color); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; text-decoration: none; opacity: 0; visibility: hidden; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); z-index: 1000; } .back-to-top.show { opacity: 1; visibility: visible; } .back-to-top:hover { background: var(--accent-color); transform: translateY(-5px); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3); color: white; } @media (max-width: 768px) { .back-to-top { bottom: 20px; right: 20px; width: 45px; height: 45px; font-size: 1.3rem; } }