:root {
    --bg: #f4f4f4;
    --pr: #ffffff;
    --ac: #00637d;
    --ac-d: #015064;
    --txt: #747474;
    --border-clr: #868686;
    --mw: 1200px;
    --site-padding: 0 20px;
    --section-padding: 3em 20px;
    --radius: 10px;
    --small-radius: 5px;
    --transition: all .3s;
    --shadow: 0 8px 16px rgba(0,0,0,0.12);
}



html,
body {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style: none;
    outline: none;
    font-family: 'main-font', sans-serif;
}


@font-face {
    font-family: 'main-font';
    src: url("../fonts/BreeSerif-Regular.ttf");
}


body{
    background-color: var(--bg);
}

.mw{
    width: 100%;
    max-width: var(--mw);
}

.column{
    display: flex;
    flex-direction: column;
}
.row{
    display: flex;
    flex-direction: row;
}
.row-reverse{
    display: flex;
    flex-direction: row-reverse;
}

.row-gap{
    display: flex;
    flex-direction: column;
    gap: 3em;
}



section{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3em;
}


p{
    font-size: 1.2rem;
    line-height: 1.8;
    color: var(--txt);
}
span{
    font-size: .9rem;
}

.btn{
    width: max-content;
    border: 1px solid var(--ac);
    border-radius: var(--small-radius);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 10px;
    background: transparent;
    cursor: pointer;
    transition: all .3s;
}
.btn svg,
.btn img{
    width: 30px;
    height: auto;
}
.btn p{
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--ac);
}
.btn:hover{
    background-color: var(--ac);
}
.btn:hover > p{
    color: var(--pr);
}
.btn:hover > svg path{
    fill: var(--pr) !important;
}


/* banner Überschrift */
.banner-heading{
    position: absolute;
    left: -11px;
    width: max-content;
    height: max-content;
    display: flex;
    flex-direction: column;
}
.card .banner-heading{
    top: 16px;
    left: -11px;
}
.banner-heading h5{
    font-size: 1.4rem;
    color: var(--pr);
    background-color: var(--ac);
    box-shadow: var(--shadow);
    padding: 5px 12px;
    font-weight: 500;
}
.banner-triangle{
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    width: 11px;
    height: 11px;
    background-color: var(--ac-d);
}
.small h5{
    font-size: 1rem !important;
}


/* Underline Überschrift */
.heading{
    width: 100%;
    display: flex;
    justify-content: center;
    height: max-content;
}
.heading h4{
    font-size: 2.5rem;
    font-weight: 500;
    color: var(--ac);
    position: relative;
    margin-bottom: 20px;
    white-space: nowrap;
}
.heading h4::after{
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    aspect-ratio: 1000/66;
    background-image: url(../img/underline.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}


/* cards */
.card{
    width: 100%;
    background-color: var(--pr);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 1em;
    position: relative;
    height: max-content;
}

.card-sec-padding{
    padding: var(--section-padding);
}

.first-on-site{
    margin-top: 2em;
}


.border-txt-card{
    padding: 72px 1em 1em;
    gap: 1em;
}
.border-txt-card.has-image{
    align-items: center;
    justify-content: space-between;
}

.border-txt-card .side-info{
    position: absolute;
    top: 1em;
    right: 1em;
    display: flex;
    align-items: center;
    gap: 5px;
}
.border-txt-card .side-info p{
    color: var(--ac);
}
.border-txt-card .side-info img{
    height: 23px;
    width: auto;
    transform: translateY(1px);
}

.border-txt-card .txt-holder{
    display: flex;
    flex-direction: column;
    padding: 10px;
    border: solid 1px var(--border-clr);
    border-radius: var(--small-radius);
    height: max-content;
    width: 100%;
}
.border-txt-card .txt-holder .highlighted{
    color: black;
    font-size: 1.2rem;
}
.border-txt-card .txt-holder h6{
    color: var(--ac);
    margin-bottom: 3px;
    font-size: .9rem;
}

.txt-block{
    display: flex;
    flex-direction: column;
    gap: 1em;
}
.txt-block .btn{
    margin-top: 1em;
}

.ac{
    color: var(--ac) !important;
}

.border-txt-card .card-img{
    min-width: 200px;
    min-height: 200px;
    max-width: 200px;
    max-height: 200px;
    object-fit: cover;
    border-radius: 50%;
}


@media(max-width: 600px){
    .border-txt-card{
        flex-direction: column !important;
    }
    .border-txt-card .side-info p{
        font-size: .8rem !important;
    }
    .border-txt-card .card-img{
        align-self: end;
    }
}

@media(max-width: 500px){
    .heading h4{
        font-size: 2.2rem;
    }



    .border-txt-card .side-info{
        position: static;
        align-self: start;
    }
}

@media(max-width: 370px){
    .border-txt-card .txt-holder .btn svg{
        display: none;
    }

    p,
    .txt-block .highlighted{
        font-size: 1.05rem !important;
    }
}

.spenden-btn{
    background-color: var(--pr);
    padding: 5px 10px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 100;
    border-radius: var(--small-radius);
    box-shadow: var(--shadow);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    width: max-content;
    transition: var(--transition);
}
.spenden-btn img{
    height: 20px;
    width: auto;
}
.spenden-btn p{
    font-size: 1rem !important;
    color: var(--ac) !important;
}
.spenden-btn:hover{
    transform: translateY(-4px) scale(1.02);
}