AMPERION_Webpage/assets/scss/custom.scss

411 lines
No EOL
6.8 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 ========== */
.title-custom {
color: #046e6e;
}
.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-size: cover;
background-position: center 50%;
background-repeat: no-repeat;
position: relative;
&::after {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background-color: rgba(255, 255, 255, 0.8);
}
}
/* ========== 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;
}
}