Bootstrap-Website komplett: Parallax Hero, Logo, PHPMailer, responsive Banner-Bilder und neue Baumaschinen (CAT 906, Volvo ZL 302)

This commit is contained in:
2026-02-11 17:54:01 +01:00
parent 1bf30b23a3
commit a5dce8673c
43 changed files with 11484 additions and 0 deletions

262
css/style.css Normal file
View File

@@ -0,0 +1,262 @@
: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);
}