AMPERION_Webpage/assets/scss/custom.scss
astosic 30fb9c0827 Refactor SCSS styles in common and about templates
- Removed unused styles and nested selectors from _common.scss to streamline the code.
- Cleaned up the .about section in _about.scss by eliminating redundant styles for headings and paragraphs.
- Improved overall readability and maintainability of the SCSS files.
2025-08-02 01:31:47 +02:00

448 lines
7.4 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(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;
}
}