/* ========== Typografie & Basis ========== */ .hero-section { width: 100%; text-align: center; padding: 0 1rem; } .hero-title { font-size: clamp(2.5rem, 4vw, 4rem); // skaliert stark bei kleinen Screens font-weight: 400; line-height: 1.2; color: #046e6e; word-break: normal; hyphens: none; } .text-center { text-align: center; } .text-justify { text-align: justify; } section { margin-bottom: 0; } /* ========== Sektionen Padding (Intro etc.) ========== */ #welcome.section, #service.section { padding-top: 90px; padding-bottom: 4px; } .section-spacing { padding-top: 4rem; padding-bottom: 4rem; margin-top: 5rem; } /* ========== Beschreibung ========== */ .description { font-size: 22px; line-height: 1.5; padding-top: 90px; padding-bottom: 1px; @media (max-width: 768px) { font-size: 18px; padding-top: 70px; } @media (max-width: 480px) { font-size: 16px; padding-top: 50px; } } /* ========== Fakten ========== */ .facts .fact-item { padding: 15px; } .fact-image { height: 250px; width: auto; object-fit: contain; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } /* ========== Hintergründe ========== */ .custom-background { background-size: cover; background-position: center; background-repeat: no-repeat; } .gif-background { background-image: url('/images/BackgroundAnimation.svg'); background-repeat: no-repeat; position: relative; // Desktop background-size: cover; background-position: center 50%; // Tablet @media (max-width: 991px) { background-size: 120% auto; background-position: center 40%; } // Mobile @media (max-width: 575px) { background-size: 180% auto; background-position: center 50%; } &::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(255, 255, 255, 0.8); @media (max-width: 575px) { background-color: rgba(255, 255, 255, 0.5); } } } /* ========== Service-Layout (Kacheln / Pfeile) ========== */ .service-arrow .block { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-radius: 100px; color: #8a0909; } .service-content { flex: 1; } .service-icon, .service-image { margin: 0; } .service-image img { max-width: 600px; height: auto; display: block; } /* Farbvarianten für Services */ .bg-service1, .bg-service3, .bg-service5, .bg-service7 { background-color: #8bcfd6; } .bg-service2, .bg-service4, .bg-service6, .bg-service8 { background-color: #6baeb5; } /* Service-Gitter */ .service-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); justify-content: center; align-items: stretch; margin: 0 auto; max-width: 1200px; padding: 0 1rem; } .service-item-fixed { width: 100%; border-radius: 10px; overflow: hidden; position: relative; } .zoom-wrap { transition: transform 0.3s ease; width: 100%; height: 100%; position: relative; &:hover { transform: scale(1.06); } img { width: 100%; height: 100%; object-fit: cover; display: block; } a { display: block; text-decoration: none; color: inherit; } .overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0, 0, 0, 0.4); z-index: 1; } } .overlay-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 2.3em; font-weight: bold; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8); z-index: 2; } /* ========== Zusatz-Layouts für Leistungen & Fokusthemen ========== */ .spacer-lg { height: 0px; } .service-item { position: relative; overflow: hidden; border-radius: 8px; img { width: 100%; display: block; } .overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); } .overlay-text { font-size: clamp(2rem, 2vw, 3rem); } } .info-card { text-align: center; padding: 1rem; i { font-size: 2rem; margin-bottom: 0.5rem; } h3 { font-weight: 600; margin-top: 0.5rem; margin-bottom: 0.25rem; font-size: 1.2rem; color: #046e6e; } p { font-size: 1rem; color: #333; } } /* --- WHY AMPERION: Grid-Layout mit gleich hohen Karten --- */ .why-grid { display: grid; gap: 2rem; /* Desktop: 3 Spalten => 3×2 */ grid-template-columns: repeat(3, minmax(0, 1fr)); /* Jede Zeile passt sich der höchsten Karte an */ align-items: stretch; } /* Tablet: 2 Spalten => 2×3 */ @media (max-width: 991.98px) { .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } /* Mobil: 1 Spalte => 1×6 */ @media (max-width: 575.98px) { .why-grid { grid-template-columns: 1fr; } } /* Karten sollen die Zellen voll ausfüllen */ .service-card { display: flex; flex-direction: column; height: 100%; /* gleiche Höhe pro Zeile */ background: #fff; padding: 1.5rem; border-radius: 10px; box-shadow: 0 4px 10px rgba(0,0,0,.05); transition: transform .25s ease, box-shadow .25s ease; text-align: center; } /* Icon einheitlich */ .service-icon { width: 56px; height: 56px; object-fit: contain; margin: 0 auto .75rem auto; display: block; } /* Titel & Copy nutzen deine Basis-Typo, nur kleine Anpassungen */ .service-card-title { font-weight: 600; margin: .25rem 0 .5rem; } .service-card-description { line-height: 1.6; margin: 0; } /* ========== Container & Layout-Hilfen ========== */ .my-container { width: 80%; margin: 0 auto; } .fixed-width { max-width: 1200px; margin: 0 auto; } .fixed-text { max-width: 600px; margin-right: 15px; } /* ========== Titel mit Hintergrund ========== */ .page-title::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #ffffff; z-index: -1; } /* ========== Bildkomponenten & Icons ========== */ .custom-image { width: 100px; max-width: 70%; height: auto; } .custom-title { color: #046e6e; } /* ========== Hover Links ========== */ .hover-link { transition: color 0.3s ease; &:hover { color: #F5A623; } } /* ========== Mehrwerte ========== */ .mehrwerte-grid { display: grid; gap: 0; grid-template-columns: repeat(1, 1fr); @media (min-width: 768px) { grid-template-columns: repeat(2, 1fr); } @media (min-width: 1200px) { grid-template-columns: repeat(4, 1fr); } } .mehrwerte-box { display: flex; flex-direction: column; justify-content: space-between; height: 100%; padding: 30px; border-radius: 8px; transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; &:hover { background-color: lighten(#004d4d, 10%); transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); h4, p { color: #000 !important; } } h4, p { color: #000 !important; transition: color 0.3s ease; } } .mehrwert-icon { filter: invert(74%) sepia(39%) saturate(2198%) hue-rotate(344deg) brightness(101%) contrast(92%); } /* ========== Gründerteam & Intro-Text ========== */ .container-fluid { max-width: 100%; padding-left: 5vw; padding-right: 5vw; } #about-intro .intro-text { font-size: 1.25rem; line-height: 1.85; max-width: 200ch; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; margin-bottom: 1rem; p, li { margin-bottom: 1rem; } @media (min-width: 992px) { font-size: 1.35rem; } }