/* CMS layout-base overrides */
:root {
    /* Vertikaler Rhythmus (page.css .content, layout.css .dto-html-text) */
    --dw-space-paragraph: 1.25em;
    --dw-space-after-h1: 0.888em;
    --dw-space-after-h2: 1em;
    --dw-space-after-h3: 0.6em;
    --dw-space-after-h4: 0.5em;
    --dw-space-before-h1: 2em;
    --dw-space-before-h2: 2em;
    --dw-space-before-h3: 1.6em;
    --dw-space-before-h4: 1.5em;
    --dw-space-blockquote: 1.6em;
    --dw-space-hr: 3em;
    --dw-space-table: 2em;
    /* release-todo: nach migrate:css-root in Defaults.cssRoot; folgende 2 Zeilen entfernen */
    --dw-font-weight-heading: 600;
    --dw-fs-h1: 2.1rem;
    /* Finessen */
    --dw-image-border-radius: 0.5rem;
    --dw-image-box-shadow: initial;
    --dw-card-border-radius: 0.5rem;
    --dw-card-box-shadow: rgba(0, 0, 0, 0.25) 5px 5px 15px -3px;
    --dw-button-border-radius: 0.3rem;
    --dw-border-radius: 0.3rem;
    --dw-box-shadow: rgba(0, 0, 0, 0.25) 5px 5px 15px -3px;
}

.dw-nav-link {
    display: inline;
    border-radius: var(--dw-border-radius);
}

@media (width > 64rem) {
    .dto-nav > div {
        padding-top: 1rem;
        padding-bottom: 1rem;
        text-align: center;
        flex: 1;
    }
    .dto-nav > div:first-child {
        padding-left: 0.5rem;
    }
    .dto-nav > div:last-child {
        padding-right: 0.5rem;
    }
}

.page-header .dws-topbar {
    background-color: var(--dw-header-bg-color);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: right;
    padding-right: 1rem;
    @media (width < 64rem) {
        display: none;
    }
}
.page-header .dws-topbar .dw-col > div a {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    @media (width < 1120px) {
        font-size: 90%;
    }
}

.page-header .dws-topbar .dw-col > div:nth-child(n+4) {
    border-left: 1px solid var(--dw-body-bg-color);
}

a.link-custom-1 {
    background: hsla(41, 26%, 78%, .8);
    border: .2rem solid #f9f4ea;
    border-radius: .5rem;
    color: #f9f4ea;
    font-size: 2.3rem;
    padding: .4rem 1rem;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

a.link-custom-2::before {
    font-family: 'FontAwesome';
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin-right: 0.25rem;
}

#dto-link-153 a::before,
#dto-link-200 a::before {
    content: "";
}
#dto-link-154 a::before,
#dto-link-201 a::before {
    content: "";
}
#dto-link-155 a::before,
#dto-link-202 a::before {
    content: "";
}
#dto-link-156 a::before,
#dto-link-203 a::before {
    content: "";
}
#dto-link-157 a::before,
#dto-link-204 a::before {
    content: "";
}
#dto-link-158 a::before,
#dto-link-205 a::before {
    content: "";
}

#dto-link-159 a::before,
#dto-link-206 a::before {
    content: "";
}

/* clip-path: url(#banner-curve); */

.page-footer {
    position: relative;
    padding-top: 3rem;
    background-color: var(--dw-footer-bg-color);

    clip-path: url(#footer-curve-mobile);
    @media (min-width: 1150px) {

        clip-path:url(#footer-curve)
    }
}

.page-footer a {
    text-decoration: none;
}
.page-footer .page-footer-1 {
    margin-bottom: 0;
}
.page-footer .page-footer-1 a:hover {
    text-decoration: underline;
}
.page-footer .dw-col .dto-image:first-child img {
    margin-top: 0;
}
@media (width >= 48rem) {
    .page-footer .dw-image {
        margin-left: auto;
        max-width: 80%;
    }
}
.page-footer .footer-default .dw-link {
    font-weight: normal;
}

.flex-custom-1 p .fa {
    display: inline-block;
    padding: .4em;
    font-size: 32px;
    width: 60px;
    height: 60px;
    text-align: center;
    text-decoration: none;
    color: var(--dw-body-bg-color);
    border: 1px solid var(--dw-body-bg-color);
}

.flex-custom-1 p .fa:hover {
    opacity: 0.75;
    text-decoration: none !important;
}

/* CMS custom object styles */
.dws-hero {
    clip-path: url(#banner-curve);
}

.dws-hero .embla__dots {
    top: .75rem;
    bottom: auto;
}

.dws-hero img {
    margin: 0;
    width: 100%;
}

.dws-hero-overlay .grid-md-responsive {
    justify-items: center;
    justify-content: center;
    gap: 1rem;
}

.dws-hero-overlay {
    @media (width < 64rem) {
        display: none;
    }
    position: relative;
    z-index: 1;
    margin-top: -11.5rem;
    margin-bottom: 7.9rem;
}

.dws-team-liste .dw-grid {
    @media (width >= 40rem) {
        grid-template-columns: repeat(2, minmax(0, auto));
    }
    @media (width >= 48rem) {
        grid-template-columns: repeat(3, minmax(0, auto));
    }
    @media (width >= 64rem) {
        grid-template-columns: repeat(4, minmax(0, auto));
    }
}
.trainer-card .item-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.trainer-card img {
    margin-top: 0;
    margin-bottom: 0;
}
.trainer-card .description {
    background-color: var(--dw-body-bg-color);
    padding: 1rem 1.6rem;
    text-align: center;
    flex-grow: 1;
}
.trainer-card a {
    text-decoration: none;
}
.trainer-card h3 {
    font-family: var(--dw-font-family-primary);

}
.trainer-card p {
    margin-bottom: 0;
}
.trainer-card .slogan {
    margin-top: 0.75em;
    font-style: italic;
    font-size: 0.85em;
}

.trainer figure.image {
    margin-top: 0;
}

/* Bild-Block: Bildunterschrift als zentriertes Overlay */
.dw-image-figure.image-custom-1 {
    position: relative;
    display: inline-block;
    border-radius: .25rem;
    overflow: hidden;
}

/* text overlay */
.dw-image-figure.image-custom-1 figcaption,
.dw-image-figure.image-custom-2 figcaption {
    position: absolute;
    bottom: 20%;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    text-align: center;
    padding: 0.5rem 0.75rem;
    pointer-events: none;
    font-family: var(--dw-font-family-tertiary);
    font-size: 4.2rem;
    line-height: 1.1;
    text-shadow:
    -1px 0 1px rgba(0, 0, 0, 0.1),
    2px 0 1px rgba(0, 0, 0, 0.2),
    0 -2px 1px rgba(0, 0, 0, 0.2),
    0  1px 1px rgba(0, 0, 0, 0.1);
}

/* unterstrich */
.dw-image-figure.image-custom-1 figcaption:after {
    background: currentColor;
    bottom: .3rem;
    content: "";
    display: inline-block;
    height: .4rem;
    left: 50%;
    position: absolute;
    transform: translate3d(-50%, 0, 0);
    width: 7rem;
    box-shadow:
    -1px 0 1px rgba(0, 0, 0, 0.1),
    1px 0 1px rgba(0, 0, 0, 0.2),
    0 -1px 1px rgba(0, 0, 0, 0.2),
    0  1px 1px rgba(0, 0, 0, 0.1);
}

.dw-image-figure.image-custom-2 figcaption {
    position: absolute;
    bottom: 10%;
    font-size: 2.8rem;
}


/* Galerie */
.embla__dot.is-active {
    background: var(--dw-tertiary-color);
}

/* Zitat */
blockquote {
    font-family: var(--dw-font-family-tertiary);
    font-weight: 400;
    font-style: normal;
    color: var(--dw-quote-color);
    font-size: 3rem;
    line-height: 4rem;
    text-align: center;
    @media (width >= 1120px) {
        font-size: 5rem;
        line-height: 6rem;
    }
}
