/* ========== Typografie & Basis ========== */ .hero-section { width: 100%; text-align: center; padding: 0 1rem; } .hero-title { font-size: clamp(1.8rem, 4vw, 4rem); font-weight: 400; line-height: 1.2; color: #046e6e; word-break: normal; hyphens: none; } .text-center { text-align: center; } .text-justify { text-align: justify; } /* ========== Vereinheitlichte Section-Abstände ========== */ section { margin-bottom: 0; } .section { padding-top: 90px; padding-bottom: 90px; margin-top: 80px; margin-bottom: 80px; } /* Spezielle Section-Anpassungen */ #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; background-size: cover; background-position: center 50%; @media (max-width: 991px) { background-size: 120% auto; background-position: center 40%; } @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 ========== */ .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 ========== */ .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 + Cards (ohne Link-Gefühl, mit Icon-Animation) ========== */ .why-grid { display: grid; gap: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } @media (max-width: 991.98px) { .why-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 575.98px) { .why-grid { grid-template-columns: 1fr; } } .service-card { position: relative; display: flex; flex-direction: column; height: 100%; background: #fff; padding: 1.65rem 1.5rem; border-radius: 14px; box-shadow: 0 4px 12px rgba(0,0,0,.05); transition: box-shadow .25s ease; text-align: center; cursor: default; /* kein Hand-Cursor -> kein Link-Feeling */ } /* dezentes Hover-Feedback */ .service-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(120% 100% at 50% 0%, rgba(245,166,35,.10), rgba(245,166,35,0) 60%); opacity: 0; transition: opacity .25s ease; pointer-events: none; } .service-card:hover { box-shadow: 0 10px 28px rgba(0,0,0,.08); } .service-card:hover::after { opacity: .04; /* sehr dezent */ } /* Icon */ .service-icon { width: 56px; height: 56px; object-fit: contain; margin: 0 auto .85rem auto; display: block; transform-origin: center; } /* Titel & Text */ .service-card-title { font-weight: 700; margin: .25rem 0 .5rem; color: #F5A623; /* CI-Orange bleibt */ } .service-card-description { line-height: 1.65; margin: 0; color: #333; } /* 1) Beim Einblenden (AOS setzt .aos-animate) kurzer, sauberer Pop-in */ @keyframes amp-pop { 0% { transform: scale(.92); opacity: 0; } 60% { transform: scale(1.02); opacity: 1; } 100% { transform: scale(1); } } .service-card.aos-animate .service-icon { animation: amp-pop .45s cubic-bezier(.2,.9,.2,1) both; } /* 2) Dezentes „Atmen“ (idle), startet erst nach dem Pop-in */ @keyframes amp-breathe { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2.5px); } } .service-card.aos-animate .service-icon { /* zweite Animation hängt sich hinten dran */ animation: amp-pop .45s cubic-bezier(.2,.9,.2,1) both, amp-breathe 7s ease-in-out .45s infinite; } /* Reduced motion respektieren */ @media (prefers-reduced-motion: reduce) { .service-card, .service-card::after { transition: none !important; } .service-card .service-icon { animation: none !important; } } /* ========== Container & Layout ========== */ .my-container { width: 80%; margin: 0 auto; } .custom-container { max-width: 1800px; margin: 0 auto; padding-left: 30px; padding-right: 30px; } .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; } } .about-cta { color: #046e6e; /* Türkis */ font-weight: 700; text-decoration: none; border-bottom: 2px solid transparent; transition: color 0.2s ease, border-color 0.2s ease; } .about-cta:hover, .about-cta:focus { color: #F5A623; /* Orange */ border-bottom-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; } } /* ========== Logo Animation ========== */ .logo-container { width: 80%; margin: 0 auto; display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 20px; } .frame1 { flex: 0 0 40%; display: flex; justify-content: center; align-items: center; } .frame2 { flex: 0 0 60%; display: flex; justify-content: center; align-items: center; } .banner-logo { max-width: 100%; height: auto; opacity: 0; } /* Animationen */ .frame1 .banner-logo { animation: moveIn 1s forwards; } .frame2 .banner-logo { animation: moveIn 1s 0.5s forwards; } @keyframes moveIn { from { transform: translateX(50px); opacity: 0; } to { transform: translateX(0); opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fade-in-title { opacity: 0; animation: fadeTitle 1.5s forwards 1s; } @keyframes fadeTitle { to { opacity: 1; } } @media (max-width: 768px) { .logo-container { flex-direction: column; width: 90%; } .frame1, .frame2 { flex: 0 0 auto; width: 100%; margin-bottom: 20px; } } /* ========== Body Base (aus style.scss) ========== */ body { font-family: Arial, sans-serif; text-align: center; background-color: #ffffff; margin: 0; padding: 20px; } /* Orange-Hover für Section-Grid (zoom-Variante) */ #leistungen-fokusthemen .service-item { position: relative; } #leistungen-fokusthemen .service-item .overlay-text { transition: color 0.25s ease; } #leistungen-fokusthemen .service-item:hover .overlay-text { color: #F5A623; /* Akzentfarbe */ } /* Abstand zwischen den beiden Grids */ #leistungen-fokusthemen .grid-spacer { height: 4rem; } @media (max-width: 992px) { #leistungen-fokusthemen .grid-spacer { height: 2.5rem; } } /* Bild unterhalb von "Darum AMPERION" */ .darum-image-wrapper { margin-top: 4rem; } /* ===== Über AMPERION Section ===== */ /* Hintergrundfarbe */ .bg-light-grey { background-color: #f3f3f3; } /* Grundlayout der Zeile */ #about .about-row { min-height: 400px; } /* Bildbereich */ #about .about-image-wrap { width: 100%; display: flex; align-items: flex-end; /* Bild unten ausrichten */ padding-top: 30px; } #about .about-image { width: 100%; max-width: clamp(200px, 38vw, 300px); height: auto; object-fit: contain; margin-left: auto; /* rechtsbündig in Spalte */ } /* Textbereich Abstände */ #about .text-left p { margin-bottom: 1rem; } /* Link-Styling: Standard Türkis, Hover Orange */ /* -> auch wenn in oder gewrappt */ #about .text-left a, #about .text-left b a, #about .text-left strong a { color: var(--amp-primary) !important; /* Türkis */ font-weight: 700; text-decoration: none; border-bottom: 2px solid transparent; transition: color 0.2s ease, border-color 0.2s ease; } #about .text-left a:hover, #about .text-left b a:hover, #about .text-left strong a:hover, #about .text-left a:focus { color: var(--amp-accent) !important; /* Orange */ border-bottom-color: var(--amp-accent); } #about .text-left a:focus-visible, #about .text-left b a:focus-visible, #about .text-left strong a:focus-visible { outline: 2px dashed var(--amp-accent); outline-offset: 2px; } /* ===== Affiliations unter "Darum AMPERION" ===== */ .darum-aff-row{ display:flex; align-items:center; justify-content:center; gap:clamp(1.25rem, 3vw, 3.5rem); flex-wrap:wrap; /* bricht sauber um */ margin-top:clamp(4rem, 4vw, 6rem); } .aff-group{ display:flex; align-items:center; gap:clamp(.75rem, 2vw, 1.25rem); } /* Linker Block */ .aff-caption{ margin:0 0 .5rem 0; font-size:clamp(.9rem, 1.2vw, 1rem); color:#6b7280; text-align:left; } .aff-logos{ display:flex; align-items:center; gap:clamp(.5rem, 1.2vw, 1rem); flex-wrap:wrap; } .aff-logos img{ max-height:clamp(100px, 3.2vw, 180px); width:auto; height:auto; display:block; } /* Rechter Block (PV Austria + Text) */ .aff-right{ text-decoration:none; color:inherit; align-items:center; } .aff-right .aff-pva-logo{ max-height:clamp(80px, 6vw, 140px); width:auto; height:auto; display:block; } .aff-text{ margin:0; font-size:clamp(.95rem, 1.4vw, 1.1rem); line-height:1.5; max-width:42ch; /* gute Lesbarkeit */ color:#374151; } /* Dezente Trennlinie zwischen links/rechts (nur Desktop) */ @media (min-width: 900px){ .aff-right{ padding-left:clamp(1rem, 2.5vw, 3rem); border-left:1px solid #e5e7eb; } } /* Kleine Verfeinerungen */ .aff-right:focus-visible{ outline:2px dashed var(--amp-accent); outline-offset:4px; } /* ===== CTA – Flat Section (ohne Card), groß + Orange-Hover ===== */ .cta { --cta-primary: #046e6e; /* Türkis */ --cta-accent: #F5A623; /* Orange */ /* Button-Preset (hier zentral Größe steuern) */ --btn-py: clamp(1.8rem, 2.8vw, 2.5rem); /* oben/unten -> Höhe */ --btn-px: clamp(1.8rem, 2.8vw, 2.5rem); /* links/rechts -> Breite (em skaliert mit Schriftgröße) */ --btn-fs: clamp(1.8rem, 2.8vw, 2.5rem); /* Schriftgröße */ position: relative; overflow: hidden; padding: clamp(6rem, 10vw, 12rem) 0; /* Section höher wie „Standard-Sektion“ */ } .cta .my-container { position: relative; z-index: 1; } .cta__wrap { text-align: center; max-width: 72rem; margin: 0 auto; padding: 0 clamp(1rem, 3vw, 2rem); } /* Große Typografie */ .cta__title { margin: 0; color: var(--cta-primary); font-weight: 700; letter-spacing: .2px; font-size: clamp(2.2rem, 4.8vw, 3.6rem); } .cta__lead { margin: .9rem auto 0; color: #0f172a; font-size: clamp(1.2rem, 2.8vw, 1.7rem); line-height: 1.55; max-width: 58rem; } .cta__accent { color: var(--cta-accent); font-weight: 700; } /* Buttons – deutlich größer */ .cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(1rem, 2.4vw, 1.6rem); margin-top: clamp(1.4rem, 3vw, 2.2rem); } .cta__btn { display: inline-flex; align-items: center; gap: .7rem; padding: var(--btn-py) var(--btn-px); border-radius: 9999px; background: #fff; color: var(--cta-primary); border: 1px solid rgba(0,0,0,.06); box-shadow: 0 1px 3px rgba(0,0,0,.06); text-decoration: none; font-weight: 700; font-size: var(--btn-fs); transition: background .15s ease, color .15s ease, box-shadow .2s ease, transform .04s ease; } .cta__btn:hover { background: var(--cta-accent); /* Hover = Orange */ color: #fff; box-shadow: 0 8px 22px rgba(245,166,35,.35); } .cta__btn:active { transform: translateY(1px); } .cta__btn:focus-visible { outline: 2px dashed var(--cta-accent); outline-offset: 3px; } /* Social-Icons (etwas größer, Teal-Hover) */ .cta__social { display: flex; justify-content: center; gap: clamp(.9rem, 2vw, 1.2rem); margin-top: clamp(1.2rem, 2.4vw, 1.6rem); } .cta__social-link { width: clamp(65px, 10vw, 70px); height: clamp(65px, 10vw, 70px); display: inline-flex; align-items: center; justify-content: center; background: #fff; border-radius: 9999px; box-shadow: 0 1px 3px rgba(0,0,0,.06); transition: background .2s ease, box-shadow .2s ease, transform .04s ease; text-decoration: none; } .cta__social-link:hover { background: var(--cta-accent); box-shadow: 0 6px 16px rgba(4,110,110,.25); } .cta__social-link:active { transform: translateY(1px); } .cta__social-link img { width: clamp(24px, 3vw, 28px); height: auto; display: block; transition: filter .2s ease; } .cta__social-link:hover img { filter: invert(1); }