@font-face {
    font-family: "font";
    src: url("font.woff2")format("woff2");
}

.font {font-family: font;
        margin-bottom: 0;}
.margin_bottom {margin-bottom: 0.1rem;}
.bigger {font-size: 4rem;}

/* ---------------------- Farben ----------------------- */
:root {
    color-scheme: light dark;
    --save-color:#5E848F;
    --base-farbe: #30828a;
    --nav-a-color: #ffffff;
}
@media (prefers-color-scheme: light) {
    :root {
        --base-schrift: #000000;
        --box-shadow: #0000004d;
        --background: #ffffff;
    }
}
@media (prefers-color-scheme: dark) {
    :root {
        --base-schrift: #ffffff;
        --box-shadow: #ffffff4d;
        --background: #1e1e2f;
    }
}

/* ---------------------------- Allgemein ----------------------------- */
* { box-sizing: border-box; }
body {
    display: flex;
    align-items: center;
    flex-direction: column;
    font-family: system-ui;
    margin: 0;
    min-height: 100vh;
    background-color: var(--background);
    hyphens: auto;
}
p {
    margin-top: 0;
    margin-bottom: 0.5rem;
    text-align: center;
    width: 100%;
}
h1 {
    font-family: font;
    width: 100%;
    text-align: center;
    color: var(--base-farbe);
}
h2,h3 {
    width: 100%;
    text-align: center;
    color: var(--base-schrift);
}
a {
    color: var(--base-schrift);
    text-decoration: none;
}
a:hover {
    color: var(--save-color);
}
address {
    width: 50%;
    font-style: normal;
}
.filler {
    flex-grow: 1;
}
ul {
    padding-inline-start: 20px;
}

img {width: 100%;}



/* ---------------------- Header mit Navigation ----------------------- */
.header {
    position: sticky;
    top: 0;
    width: 100%;
    height: 0;
    z-index: 2;
}

.nav_bar {
    list-style-type: none;
    margin: 0;
    padding: 40px 0 0;
    background-color: var(--base-farbe);
}

.nav_link {
    padding: 0 0.2rem 0.1rem;
    display: block;
    padding: 0.5rem 1rem;
    text-decoration: none;
    color: var(--nav-a-color);
}
.nav_link:hover {
    color: var(--save-color);
}

.header_part {
    position: absolute;
    right: 0;
    width: 200px;
    clip-path: circle(62px at 102% 7px);
    transition: clip-path 0.375s;
}
.header_part:hover {
    transition-timing-function: ease-out;
    transition-duration: 0.75s;
    clip-path: circle(390px at 150px 24px);
    background-color: var(--base-farbe);
}

.header_icon {
    height: 40px;
    padding: 8px 10px 0 14px;
    float: right;
    z-index: 2;
    fill: var(--base-schrift);
}

/* ---------------------- Hauptinhalt ----------------------- */
main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}
section {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    width: 100%;
    padding: 50px 10px 10px;
}
.erste_section {
    min-height: 100vh;
}

.section-logo {
    max-width: 100%;
}
.container_1 {
    width: 100%;
    padding: 45px 20px 20px;
}
.container_2 {
    width: 100%;
    padding: 0 20px;
}
.container_3 {
    width: 100%;
    padding: 45px 20px 20px;
    box-shadow: 0 0 2px 0 var(--box-shadow);
}
.container_4 {
    width: 100%;
    padding: 20px;
    box-shadow: 0 0 2px 0 var(--box-shadow);
}
.container_5 {
    width: 100%;
    padding: 20px;
}
.pic {
    width: 50%;
}
.icon_klein {
    height:  2rem;
    padding: 3px;
    border-radius: 50%;
    box-sizing: content-box;
}
.icon_container {
    left: calc(50% - 18px - 15px);
    top: 29px;
    position: relative;
    height: 36px;
    background-color: var(--base-farbe);
    padding: 15px;
    border-radius: 30%;
    box-sizing: content-box;
    fill: var(--base-schrift);
    
}

.adresse {
    display: inline-flex;
    align-items: center;
}

.header_container {
    background-color: var(--base-farbe);
    justify-content: center;
    border-radius: 20px;
    padding: 5px 10px;
}




/* ---------------------- Footer ----------------------- */
footer {
    display: flex;
    justify-content: center;
    width: 100%;
}

.footer_nav {
    display: flex;
    flex-direction: row;
    width: 100%;
}
.footer_link {
    padding: 10px;
}
.footer_link:hover {
    color: var(--save-color);
}




/* ---------------------- SVG ----------------------- */
.base{fill: var(--base-farbe);}
.base2 {
    fill: var(--base-schrift);
}
.ergo:hover .base{
    fill: var(--save-color);
}
.ergo:hover .base2{
    fill: var(--save-color);
}
.physio:hover .base{
    fill: var(--save-color);
}
.physio:hover .base2{
    fill: var(--save-color);
}
.symbol{fill: var(--base-schrift);}


/* ---------------------- Display ----------------------- */
/* --- Small devices (landscape phones, 576px and up) --- */
@media (min-width: 576px) {
    .footer_nav,
    .head_container,
    main {
        max-width: 500px;
    }
}

/* ------- Medium devices (tablets, 768px and up) ------- */
@media (min-width: 768px) {
    .footer_nav,
    .head_container,
    main {
        max-width: 600px;
    }
    .container_1,
    .container_2,
    .container_5 {
        width: 50%;
    }
}

/* ------- Large devices (desktops, 992px and up) ------- */
@media (min-width: 992px) {
    .footer_nav,
    .head_container,
    main {
        max-width: 800px;
    }
}

/* --- X-Large devices (large desktops, 1200px and up) -- */
@media (min-width: 1200px) {
    .footer_nav,
    .head_container,
    main {
        max-width: 1140px;
    }
    .container_1,
    .container_2,
    .container_5 {
        width: 33%;
    }
}
/* - XX-Large devices (larger desktops, 1400px and up) - */
@media (min-width: 1400px) {
    .footer_nav,
    .head_container,
    main {
        max-width: 1240px;
    }
}
