AMPERION_Webpage/assets/scss/custom.scss
2025-08-29 19:13:51 +02:00

1217 lines
25 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* ========== 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;
}
/* ========== Vereinheitlichte Section-Abstände ========== */
section {
margin-bottom: 0;
}
.section {
padding-top: 90px;
padding-bottom: 90px;
margin-top: 80px;
margin-bottom: 80px;
}
/* ========== 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-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 ========== */
.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;
}
.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 {
max-width: 200ch;
hyphens: auto;
-webkit-hyphens: auto;
overflow-wrap: anywhere;
margin-bottom: 1rem;
}
#about-intro .intro-text p,
#about-intro .intro-text li {
margin-bottom: 1rem;
}
/* ========== 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 <b> oder <strong> 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 (Ingenieurbüros etc.) */
.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: Nur Logo (klickbar) */
.aff-right{
display:flex; /* zentriert das Logo im Link */
align-items:center;
justify-content:center;
text-decoration:none;
color:inherit;
}
.aff-right .aff-pva-logo{
max-height:clamp(60px, 6vw, 120px); /* Logo-Größe hier steuern */
width:auto;
height:auto;
display:block;
}
/* 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;
}
}
/* Mobil: keine Trennlinie / kein Einzug */
@media (max-width: 899.98px){
.aff-right{
border-left:0;
padding-left:0;
}
}
/* Fokus-Style für Tastaturbedienung */
.aff-right:focus-visible{
outline:2px dashed var(--amp-accent);
outline-offset:4px;
}
/* ========================================
CTA SECTION - HYBRID DESIGN
======================================== */
.cta {
--cta-primary: #046e6e; /* Türkis */
--cta-accent: #F5A623; /* Orange */
/* Button-Preset (hier zentral Größe steuern) */
/* ÄNDERUNG: deutlich kleinere Buttons (Höhe, Breite, Schrift) */
--btn-py: clamp(0.9rem, 1.2vw, 1rem); /* vorher 1.82.5rem -> jetzt kompakter */
--btn-px: clamp(0.9rem, 1.6vw, 1rem); /* vorher 1.82.5rem -> schmaler */
--btn-fs: clamp(0.9rem, 1.6vw, 1.5rem);/* vorher 1.82.5rem -> p-nahe Größe */
position: relative;
overflow: hidden;
padding: clamp(6rem, 10vw, 12rem) 0; /* belassen; nur Buttons werden kleiner */
background: #ffffff00;
}
/* ===== HINTERGRUND ANIMATIONEN ===== */
.cta__bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
/* Energie-Linien Container */
.cta__energy-lines {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0.6;
}
/* Horizontale Energie-Linie */
.energy-line-h {
position: absolute;
height: 1px;
background: linear-gradient(90deg,
transparent 0%,
var(--cta-accent) 10%,
var(--cta-accent) 90%,
transparent 100%);
width: 200px;
animation: energyFlowH 8s linear infinite;
&::after {
content: '';
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 3px;
background: var(--cta-accent);
box-shadow: 0 0 10px var(--cta-accent), 0 0 20px var(--cta-accent);
border-radius: 50%;
}
&.energy-line-h1 { top: 20%; animation-duration: 6s; }
&.energy-line-h2 { top: 40%; animation-duration: 7s; animation-delay: 2s; }
&.energy-line-h3 { top: 60%; animation-duration: 8s; animation-delay: 4s; }
&.energy-line-h4 { top: 80%; animation-duration: 6.5s; animation-delay: 1s; }
}
@keyframes energyFlowH {
0% { left: -200px; opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { left: 100%; opacity: 0; }
}
/* Vertikale Energie-Linie */
.energy-line-v {
position: absolute;
width: 1px;
background: linear-gradient(180deg,
transparent 0%,
var(--cta-accent) 10%,
var(--cta-accent) 90%,
transparent 100%);
height: 150px;
animation: energyFlowV 10s linear infinite;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 3px;
height: 20px;
background: var(--cta-accent);
box-shadow: 0 0 10px var(--cta-accent), 0 0 20px var(--cta-accent);
border-radius: 50%;
}
&.energy-line-v1 { left: 15%; animation-duration: 7s; animation-delay: 1s; }
&.energy-line-v2 { left: 35%; animation-duration: 9s; animation-delay: 3s; }
&.energy-line-v3 { left: 65%; animation-duration: 8s; animation-delay: 2s; }
&.energy-line-v4 { left: 85%; animation-duration: 7.5s; animation-delay: 4s; }
}
@keyframes energyFlowV {
0% { top: -150px; opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { top: 100%; opacity: 0; }
}
/* Energie-Knoten (Kreuzungspunkte) */
.energy-node {
position: absolute;
width: 6px;
height: 6px;
background: var(--cta-accent);
border-radius: 50%;
box-shadow: 0 0 10px var(--cta-accent);
animation: nodePulse 2s ease-in-out infinite;
&.energy-node1 { top: 20%; left: 15%; animation-delay: 0s; }
&.energy-node2 { top: 40%; left: 35%; animation-delay: 0.5s; }
&.energy-node3 { top: 60%; left: 65%; animation-delay: 1s; }
&.energy-node4 { top: 80%; left: 85%; animation-delay: 1.5s; }
&.energy-node5 { top: 30%; left: 50%; animation-delay: 0.25s; }
&.energy-node6 { top: 70%; left: 25%; animation-delay: 0.75s; }
}
@keyframes nodePulse {
0%, 100% { transform: scale(1); opacity: 0.6; }
50% { transform: scale(1.5); opacity: 1; }
}
/* ===== CONTENT STYLES ===== */
.cta .my-container {
position: relative;
z-index: 1;
/* NEU: zentral breiter Container für diese Section
-> mehr Zeilenbreite, damit die H1 ab Desktop in 1 Zeile bleibt */
width: 100%;
max-width: 1360px; /* vorher kein Limit hier jetzt groß/“breit in der Mitte“ */
margin-inline: auto; /* zentriert */
padding-inline: clamp(16px, 3vw, 24px); /* etwas Innenabstand links/rechts */
}
.cta__wrap {
text-align: center;
/* ÄNDERUNG: mehr Inhaltsbreite, H1 bekommt mehr Platz */
max-width: 90rem; /* vorher 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;
position: center;
z-index: 2;
/* NEU: ab Desktop nicht umbrechen -> bleibt einzeilig, wenn Platz da ist */
@media (min-width: 1200px) {
white-space: nowrap; /* einzeilig erzwingen */
}
}
.cta__lead {
margin: .9rem auto 0;
color: #0f172a;
line-height: 1.55;
/* optional etwas breiter, wenn du willst hier schon groß genug */
max-width: 58rem;
position: relative;
z-index: 2;
}
.cta__accent {
color: var(--cta-accent);
font-weight: 700;
display: block;
margin-top: 0.5rem;
}
/* Buttons */
.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);
position: relative;
z-index: 2;
}
.cta__btn,
button.cta__btn{
display:inline-flex; align-items:center; gap:.7rem;
padding:var(--btn-py,12px) var(--btn-px,22px);
border-radius:9999px;
background:#fff;
color:var(--cta-primary,#0a8f8d);
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,1rem);
transition:background .15s ease, color .15s ease, box-shadow .2s ease, transform .04s ease;
position:relative; overflow:hidden;
-webkit-appearance:none; appearance:none; /* wichtig bei <button> */
}
.cta__btn::before{
content:""; position:absolute; top:50%; left:50%;
width:0; height:0; border-radius:50%;
background:var(--cta-accent,#F5A623);
transform:translate(-50%,-50%);
transition:width .6s ease, height .6s ease; z-index:-1;
}
.cta__btn:hover{ background:var(--cta-accent,#F5A623); color:#fff; box-shadow:0 8px 22px rgba(245,166,35,.35) }
.cta__btn:hover::before{ width:300%; height:300% }
.cta__btn:active{ transform:translateY(1px) }
.cta__btn:focus-visible{ outline:2px dashed var(--cta-accent,#F5A623); 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);
position: relative;
z-index: 2;
}
.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;
position: relative;
overflow: hidden;
&::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: 50%;
background: var(--cta-accent);
transform: translate(-50%, -50%);
transition: width 0.4s ease, height 0.4s ease;
z-index: -1;
}
&:hover {
background: var(--cta-accent);
box-shadow: 0 6px 16px rgba(4,110,110,.25);
transform: translateY(-2px);
&::before { width: 100%; height: 100%; }
img { filter: invert(1); }
}
&:active { transform: translateY(1px); }
img {
width: clamp(24px, 3vw, 28px);
height: auto;
display: block;
transition: filter .2s ease;
position: relative;
z-index: 1;
}
}
/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
.energy-line-h2,
.energy-line-h4,
.energy-line-v2,
.energy-line-v4,
.energy-node4,
.energy-node5,
.energy-node6 {
display: none;
}
}
/* Weniger Abstand zur vorherigen Überschrift */
#about-intro.section.section-tight {
padding-top: 28px; /* statt 90px */
padding-bottom: 60px;
}
/* Keine eigene Schriftgröße erbt globales p-Design */
#about-intro .intro-text { font-size: inherit; line-height: inherit; }
#about-intro .intro-text p { margin-bottom: .8rem; }
/* Badges vereinheitlichen */
#about-intro .intro-badge {
font-size: 1rem;
padding: .45em .9em;
background: #006464;
border-radius: 999px;
}
/* About-Intro: Video ohne abgerundete Ecken */
.intro-video {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 12px; /* Weiche Kanten */
}
.intro-media {
overflow: hidden; /* sorgt dafür, dass der Radius auch das Video schneidet */
border-radius: 12px; /* gleicher Radius wie Video */
}
/* ========================================
ABOUT PAGE STYLES
======================================== */
/* 1) Intro: Bild rechts, Text links, konsistente Abstände */
#about-intro {
.intro-content {
/* nutzt globale Typo; nur Abstände angleichen */
.article-copy {
p { margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }
strong { font-weight: 700; }
}
}
.intro-image-wrapper {
position: relative;
}
.intro-image {
display: block;
width: 100%;
height: auto;
border-radius: .75rem; /* wie Cards */
box-shadow: 0 6px 30px rgba(0,0,0,.05);
object-fit: cover;
}
}
/* ===========================
Mission / Vision / Ziel
=========================== */
.mission-section {
/* Wrapper sauber mittig + schmaler */
.mission-tabs-wrapper{
max-width: 920px;
margin-inline: auto;
}
/* Tabs */
.mission-tabs {
border-bottom: 1px solid #eaeaea;
margin-bottom: 1rem;
text-align: center; // Tabs mittig
.nav-link{
border: 0;
padding: .45rem .9rem;
color: #046e6e;
opacity: .7;
background: transparent;
cursor: pointer;
transition: all .2s ease;
&:hover{
opacity: 1;
color: #F5A623; /* Hover Orange */
border-bottom: 2px solid #F5A623;
}
&.active{
opacity: 1;
color: #046e6e; /* aktiv Türkis */
border-bottom: 2px solid #046e6e;
}
}
}
/* Inhalt sofortiger Wechsel, p-Standard */
.mission-tab-content{
.tab-pane{ display:none; }
.tab-pane.active{ display:block; }
.tab-inner{
background:#fff;
border:1px solid #eee;
border-radius:.75rem;
padding:1.25rem;
box-shadow:0 8px 24px rgba(0,0,0,.04);
p:last-child{ margin-bottom:0; }
}
}
}
/* Kleinere Bildschirme: etwas kompakter */
@media (max-width: 576px){
.mission-section{
.mission-tabs .nav-link{ padding:.4rem .7rem; }
.mission-tabs-wrapper{ max-width: 100%; }
}
}
/* 4) Team-Block: Karten & Bild */
.team-image {
display: block;
width: 100%;
height: auto;
border-radius: .75rem;
box-shadow: 0 6px 30px rgba(0,0,0,.05);
object-fit: cover;
}
.founder-card {
background: #fff;
border: 1px solid #eee;
border-radius: .75rem;
padding: 1.25rem;
height: 100%;
box-shadow: 0 8px 24px rgba(0,0,0,.04);
.founder-name {
margin-bottom: .5rem;
font-weight: 700;
}
.founder-description {
p { margin-bottom: .8rem; }
p:last-child { margin-bottom: 0; }
}
}
/* 5) Utilities: Badge-Row unter Intro-Text */
#about-intro .badge {
border: 1px solid #eaeaea;
background: #fafafa;
font-weight: 600;
}
/* 6) Harmonisierung der Section-Spacings für About */
#about-intro.section { padding-top: 90px; padding-bottom: 90px; }
.mission-section.section { padding-top: 0; padding-bottom: 90px; }
/* ABOUT Intro schmal & Blocksatz */
#about-intro .intro-text.article-copy {
max-width: 100ch; /* schmaler Textblock */
margin: 0 auto;
text-align: justify; /* „blocksartig“ */
text-justify: inter-word;
hyphens: auto;
-webkit-hyphens: auto;
overflow-wrap: anywhere;
}
#about-intro .intro-text.article-copy p {
margin-bottom: .9rem; /* etwas kompakter als Standard */
}
/* H2 optisch sauber zentrieren/ausbalancieren */
#about-intro h2 {
text-wrap: balance;
margin-bottom: 4rem;
}