.pt-def {
    margin-top: 12px;
    padding-top: calc(var(--bs-gutter-x) * 0.5);
    padding-bottom: calc(var(--bs-gutter-x) * 0.5);
}
.card {
    overflow: hidden;
    border-radius: var(--bs-border-radius, 0);
    border: 1px solid transparent;
    border-radius: 8px;
    width: 100%;
}
.card.color-orange {
    border: 1px solid var(--color-orange);
}
.card.color-green {
    border: 1px solid var(--color-green);
}
.card.color-black {
    border: 1px solid var(--color-black);
}
.card.color-yellow {
    border: 1px solid var(--color-yellow);
}
.card figure,
.card a {
    margin: 0;
    text-decoration: none;
    max-height: 100%;
}
.card-title, .card h3 {
    max-width: 85%;
    font-size: 1.55rem;
    letter-spacing: -0.01em;
    line-height: 1;
    font-family: var(--secondary-font-family);
    padding: 0px 6px;
}
.card h3 {
    max-width: 85%;
    font-size: 1.25rem;
}
.card-title span {
    display: inline;
    text-transform: uppercase;
    padding: 1px 0px;
    box-decoration-break: clone;
}
.card-title span:nth-of-type(2)::before {
    content: "";
    display: block;
}
.card-title span.fett {
     font-weight: bold;
}
.card-title span.small {
    font-weight: normal;
}

.card div.bodytext.color-black p,
.card-title.color-black span,
.card a.color-black  {
     background-color: var(--color-trans-white);
    color: var(--color-black);
}

.card div.bodytext.color-white p,
.card-title.color-white span,
.card span.color-white,
.card a.color-white  {
    color: var(--color-white);
}

.card div.bodytext.color-orange p,
.card-title.color-orange span,
.card span.color-orange,
.card a.color-orange {
    color: var(--color-orange);
}
.card div.bodytext.color-green p,
.card-title.color-green  span,
.card span.color-green  {
    color: var(--color-green );
}
.card div.bodytext.color-black p,
.card-title.color-black span,
.card span.color-black,
.card a.color-black {
    color: var(--color-black)!important;
}

.layout-2 a .card-title span {
    font-size: 1.6rem;
    line-height: 1.3;
}
.card span.more {
    font-size: 1.05rem;
    white-space: nowrap;
    margin-top: auto;
}
.card a.more {
    font-size: 1.05rem;
    white-space: nowrap;
    margin-top: auto;
}
body.text-increased-1 .card span.more {
    zoom: 1.1;
}
body.text-increased-2 .card span.more {
    zoom: 1.2;
}
.card span.more:after {
    content: ">";
}
.ggg_cta .ratio-4x1 {
    --bs-aspect-ratio: calc(1 / 3.5 * 100%);
}
.card div.bodytext {
    width: 100%;
    font-size: 1rem;
    padding: 6px 6px;
    display: block;
}
.card div.bodytext p {
    font-size: 1.1rem;
    margin-bottom: 0;
}
.card div.bodytext p + p {
    margin-top: 1em;
}
@media (min-width: 576px) {
    .card-title {
        font-size: 1.65rem;
    }
}
@media (min-width: 768px) {
    .ggg_cta .ratio-4x1 {
        --bs-aspect-ratio: calc(1 / 3.5 * 100%);
    }
    .card-title {
        font-size: 1.35rem;
    }
    .layout-1 .card-title {
        font-size: 1.95rem;
    }
}
@media (min-width: 992px) {
    .card-title {
        font-size: 1.55rem;
    }
    .layout-1 .card-title {
        font-size: 2.2rem;
    }
    .card div.bodytext p,
    .card div.bodytext ul {
        break-inside: avoid;
    }
}
@media (min-width: 1024px) {
    .card-title {
        font-size: 1.65rem;
    }
}
@media (min-width: 1200px) {
    .card-title {
        font-size: 1.75rem;
    }
}
@media (min-width: 1300px) {
    .card-title {
        font-size: 1.9rem;
    }
}
@media (min-width: 1400px) {
    .card-title {
        font-size: 2.05rem;
    }
}
body.text-increased-1 .card-title {
    zoom: 1.1;
}
body.text-increased-2 .card-title {
    zoom: 1.2;
}
.cta .small,
.cta .fett {
    font-size: 1em!important;
}

body.contrast-high .card {
    border: 1px solid white;
}
body.contrast-high .max-card {
    border: 1px solid black;
}
