/* Ausrichtung wie Bootstrap-Container (Nav nutzt .container mit --bs-gutter-x) */
:root {
    --content-gutter: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
}

.block-heading a {
    color: #000 !important;
}

.h1 {
    font-size: 70px;
}

@media (max-width: 991.9px) {
    .h1 {
        font-size: 50px;
        margin-bottom: 10px !important;
    }
}

/* Layout Padding Classes */

/* Kein Abstand */
.colum_padding_top_none {
    padding-top: 0;
}

.colum_padding_bottom_none {
    padding-bottom: 0;
}

/* Mittel Abstand */
.colum_padding_top_small {
    padding-top: clamp(10px, 5vw, 50px);
}

.colum_padding_bottom_small {
    padding-bottom: clamp(10px, 5vw, 50px);
}

/* Gross Abstand */
.colum_padding_top_large {
    padding-top: clamp(20px, 10vw, 100px);
}

.colum_padding_bottom_large {
    padding-bottom: clamp(20px, 10vw, 100px);
}

/* Layout-Darstellung: Spalten (Ganzflächig, 2er, 3er, 1:2, 2:1, 4er, 1:3, 3:1) */
.layout-section {
    width: 100%;
    box-sizing: border-box;
}

.layout-row {
    display: grid;
    gap: 1.5rem;
    align-items: start;
}

/* Ganzflächig (1/1) */
.layout-cols-1-1 .layout-row {
    grid-template-columns: 1fr;
}

/* 2er (1/2, 1/2) */
.layout-cols-1-2-1-2 .layout-row {
    grid-template-columns: 1fr 1fr;
}

/* 3er (1/3, 1/3, 1/3) */
.layout-cols-1-3-1-3-1-3 .layout-row {
    grid-template-columns: 1fr 1fr 1fr;
}

/* 1:2 (1/3, 2/3) */
.layout-cols-1-3-2-3 .layout-row {
    grid-template-columns: 1fr 2fr;
}

/* 2:1 (2/3, 1/3) */
.layout-cols-2-3-1-3 .layout-row {
    grid-template-columns: 2fr 1fr;
}

/* 4er (1/4, 1/4, 1/4, 1/4) */
.layout-cols-1-4-1-4-1-4-1-4 .layout-row {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

/* 1:3 (1/4, 3/4) */
.layout-cols-1-4-3-4 .layout-row {
    grid-template-columns: 1fr 3fr;
}

/* 3:1 (3/4, 1/4) */
.layout-cols-3-4-1-4 .layout-row {
    grid-template-columns: 3fr 1fr;
}

/* Spalten auf kleinen Bildschirmen untereinander */
@media (max-width: 991.9px) {
    .layout-row {
        grid-template-columns: 1fr !important;
    }
}

/* Background Color - Weißer Hintergrund mit schwarzer Schrift */
.bg-gradient-very-light-gray {
    background-color: #fff;
    color: #000;
}

/* Blocks innerhalb des weißen Hintergrunds - schwarze Schrift (automatisch basierend auf Layout) */
.bg-gradient-very-light-gray .block-heading,
.bg-gradient-very-light-gray .block-heading-wrapper .block-heading,
.bg-gradient-very-light-gray .block-text,
.bg-gradient-very-light-gray .block-text-wrapper .block-text,
.bg-gradient-very-light-gray .block-list,
.bg-gradient-very-light-gray .block-list-wrapper .block-list,
.bg-gradient-very-light-gray .block-quote,
.bg-gradient-very-light-gray .block-quote-text,
.bg-gradient-very-light-gray .block-quote-footer {
    color: #000 !important;
}

/* Alle Text-Elemente innerhalb der Blocks */
.bg-gradient-very-light-gray .block-text p,
.bg-gradient-very-light-gray .block-text strong,
.bg-gradient-very-light-gray .block-text em,
.bg-gradient-very-light-gray .block-list p,
.bg-gradient-very-light-gray .block-list li,
.bg-gradient-very-light-gray .block-heading h1,
.bg-gradient-very-light-gray .block-heading h2,
.bg-gradient-very-light-gray .block-heading h3,
.bg-gradient-very-light-gray .block-heading h4,
.bg-gradient-very-light-gray .block-heading h5,
.bg-gradient-very-light-gray .block-heading h6 {
    color: #000 !important;
}

.bg-gradient-very-light-gray .block-image-caption {
    color: #000 !important;
    opacity: 0.7;
}

/* Links innerhalb des weißen Hintergrunds */
.bg-gradient-very-light-gray .block-text a,
.bg-gradient-very-light-gray .block-list a,
.bg-gradient-very-light-gray .block-quote a {
    color: #000 !important;
    text-decoration: underline;
}

.bg-gradient-very-light-gray .block-text a:hover,
.bg-gradient-very-light-gray .block-list a:hover,
.bg-gradient-very-light-gray .block-quote a:hover {
    opacity: 0.7;
}

.content-block-container {
    max-width: 1200px;
    width: 100%;
    min-width: 0;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 50px;
}

.navbar .nav-link.active {
    color: #fff;
}

.card-title {
    margin-top: 20px;
    padding-top: 20px;
    margin-bottom: 10px !important;
    font-size: 1.25rem !important;
}

.mb-card-top {
    margin-top: 20px;
}

.mg-card {
    margin-top: 10px;
}

.lh-card {
    line-height: 1.3 !important;
}

.experiences-card h3 {
    font-size: 1.25rem !important;
}

@media (max-width: 1399.9px) {
    .content-block-container {
        padding: 0 150px;
    }
}

@media (max-width: 1199.9px) {
    .content-block-container {
        padding: 0 225px;
    }
}

@media (max-width: 1024px) {
    .content-block-container {
        padding: 0 135px;
    }
}

@media (max-width: 992px) {
    .content-block-container {
        padding: 0 125px;
    }
}

@media (max-width: 768px) {
    .content-block-container {
        padding: 0 80px;
    }
}

@media (max-width: 565.9px) {
    .content-block-container {
        padding: 0 50px;
    }
}