AMPERION_Webpage/assets/scss/custom.scss
2025-08-12 11:05:32 +02:00

1279 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) */
--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 */
--btn-fs: clamp(1.8rem, 2.8vw, 2.5rem); /* Schriftgröße */
position: relative;
overflow: hidden;
padding: clamp(6rem, 10vw, 12rem) 0;
background: #ffffff00;
}
/* ===== HINTERGRUND ANIMATIONEN ===== */
.cta__bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
/* Subtiles Grid */
.cta__grid {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: transparent; /* Explizit transparent */
background-image:
linear-gradient(rgba(4, 110, 110, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(4, 110, 110, 0.03) 1px, transparent 1px);
background-size: 50px 50px;
animation: gridMove 20s linear infinite;
}
@keyframes gridMove {
0% { transform: translate(0, 0); }
100% { transform: translate(50px, 50px); }
}
/* 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-primary) 10%,
var(--cta-primary) 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-primary);
box-shadow: 0 0 10px var(--cta-primary), 0 0 20px var(--cta-primary);
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-primary) 10%,
var(--cta-primary) 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-primary);
box-shadow: 0 0 10px var(--cta-primary), 0 0 20px var(--cta-primary);
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-primary);
border-radius: 50%;
box-shadow: 0 0 10px var(--cta-primary);
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;
}
.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);
position: relative;
z-index: 2;
}
.cta__lead {
margin: .9rem auto 0;
color: #0f172a;
line-height: 1.55;
max-width: 58rem;
position: relative;
z-index: 2;
}
.cta__accent {
color: var(--cta-accent);
font-weight: 700;
display: block;
margin-top: 0.5rem;
}
/* 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);
position: relative;
z-index: 2;
}
.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;
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.6s ease, height 0.6s ease;
z-index: -1;
}
&:hover {
background: var(--cta-accent);
color: #fff;
box-shadow: 0 8px 22px rgba(245,166,35,.35);
&::before {
width: 300%;
height: 300%;
}
}
&:active {
transform: translateY(1px);
}
&: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);
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 */
.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;
}
/* ========================================
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;
}